HammerAitoff $SMEI/ucsd/sat/idl/toolbox/math/hammeraitoff.pro
[Previous] [Next]
 NAME:
	HammerAitoff
 PURPOSE:
	Transforms latitude and longitude to X and Y coordinates in the
	Hammer-Aitoff map projection.
 CALLING SEQUENCE:
	FUNCTION HammerAitoff, Pos  , $
	    degrees	= degrees   , $
	    dabg	= dabg	    , $
	    zero_phase	= zero_phase
 INPUTS:
	Pos	    array[2,n]; type: float
			n locations in the sky
			Pos[0,n]    longitudes
			Pos[1,n]    latitudes in [-90.,90.]
 OPTIONAL INPUT PARAMETERS:
	/degrees    if set then all angles are in degrees (default: radians)

	dabg	    array[3]; type: float; default: none
			Euler angles for a rotation to be applied to
			'Pos' prior to the Hammer-Aitoff projection.
			(see FishEye)
	zero_phase  scalar; type: float; default: none
			Additional offset applied to phase angle
			(see FishEye)
 OUTPUTS:
	Pos	    array[2,n]; type: float
			X,Y Cartesian coordinates (same structure as input array)
 INCLUDE:
	@compile_opt.pro	; On error, return to caller
 CALLS: ***
	AngleRange, EulerRotate, IsType, SyncDims, ToRadians
 CALLED BY:
	ColorSkybox, GetColors [2], GetColors [3], PlotEarthSkymap [1]
	PlotEarthSkymap [2], PlotEarthSkymap [3], PlotEarthSkymap [4], PlotEloTimeMap
	PlotPolarSkymap, projfig, vu_thomson_antifish, vu_thomson_hammer
 RESTRICTIONS:
 PROCEDURE:
	The Hammer-Aitoff projection is the format used at NOAA SEL; for
	details, see the book Introduction to Map Projections by Porter W.
	McDonnell Jr.

	Pos[0,*] > 0 has X > 0	Pos[1,*] > 0 has Y > 0
	Pos[0,*] < 0 has X < 0	Pos[1,*] < 0 has Y < 0

	The returned coordinates will be in the range -sqrt(2),+sqrt(2) in the vertical
	(latitudinal) direction and -2*sqrt(2),+2*sqrt(2) in the horizontal (longitudinal
	direction).
 MODIFICATION HISTORY:
	NOV-1992, Tom Davidson (UCSD)
	MAR-1999, Paul Hick (UCSD/CASS); added /degrees keyword)
	JAN-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
	    Added 'dabg' keyword


hardcopy $SMEI/idl_override/hardcopy.pro
[Previous] [Next]
 NAME:
	hardcopy
 PURPOSE:
	Provisional hardcopy procedure to replace the SSW hardcopy
	procdure (used by the 'stepper' procedure)
 CALLS: ***
	CONGRID


haystack_2006 $SMEI/user/pphick/idl/haystack_2006.pro
[Previous] [Next]
 NAME:
	haystack_2006
 CALLING SEQUENCE:
	PRO haystack_2006
 INCLUDE:
	@compile_opt.pro
 CALLS: ***
	AngleUnits, CV_COORD, CvSky, EarthSky3DLoc, IntegrateLOS, InterpolateHeliosphere
	REVERSE, SubArray, SuperArray, TimeSet, jpl_body, jpl_eph, scalarproduct


HELPFORM $SMEI/user/pphick/idl/cmsvlib/helpform.pro
[Previous] [Next]
 NAME:
   HELPFORM

 AUTHOR:
   Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770
   craigm@lheamail.gsfc.nasa.gov

 PURPOSE:
   Generate a descriptive string in IDL HELP format

 CALLING SEQUENCE:
   STRINGS = HELPFORM(NAME, VALUE, [/SHORTFORM,] [/SINGLE,] [WIDTH=width])

 DESCRIPTION:

   The HELPFORM function converts an IDL data value into a
   representation very similar to the format produced by the built-in
   command HELP.  Programmers can thus present data types and values
   to users in a format they are familiar with.

   For example, if the variable A is defined in the following manner,
   and HELP is called, then the following transcript will result:

     IDL> a = [1,2]
     IDL> help, a
     A		     INT       = Array[2]

   The same result can be achieved with the HELPFORM function:

     IDL> print, helpform('A', a)
     A		     INT       = Array[2]

   The benefit is that the output of HELPFORM is a string that can be
   outputted or reformatted.  This capability is not available in all
   versions of IDL.

   HELPFORM actually produces *two* forms of output.  The above
   output is considered the "long" form, as it appears in the IDL
   HELP command, and is the default.  A "short" form can also be
   produced, and is very similar to the information that appears in
   certain terse IDL error messages.  It is activated by setting the
   SHORTFORM keyword.

   If the variable name is too long, the HELPFORM may be forced to be
   two lines long to have consistent formatting.  In that case a
   two-element string is returned.  If a single line is desired, use
   the SINGLE keyword, but this comes at the expense of consistent
   output formatting.

 INPUTS:

   NAME - A scalar string containing the name of the IDL variable.
	  An empty string is permitted.  The name is ignored if the
	  SHORTFORM keyword is set.

   VALUE - Any IDL value to be examined.  VALUE is optional if the
	   SIZE keyword is passed and uniquely describes the data.
	   VALUE should be passed for scalars and structures, since
	   the help form for these values requires additional
	   information beyond the SIZE.

 KEYWORDS:

   SIZE - the IDL SIZE descriptor for the value to be printed.
	  Default: information is taken from VALUE.

   SINGLE - if set, then output which would normally
	    appear on two lines for consistent formatting, appears on
	    one single line instead.

   FULL_STRUCT - if set, then a detailed output is printed for
		 structures, similar to HELP, VALUE, /STRUCTURE.


   RECURSIVE_STRUCT - if both this keyword and FULL_STRUCT are set,
		      and if VALUE itself has sub-structures, then
		      print the full contents of those sub-structures
		      as well.	The contents will be slightly indented.

   SHORTFORM - set this keyword for a shorter output format that can
	       be used in error messages.

   WIDTH - the width of the terminal in characters (used for
	   formatting).
	   Default: 80

 RETURNS:

   An array of strings containing the HELPFORM output, which may have
   more than one element depending on the length of NAME, SHORTFORM
   and SINGLE.	The helpforms of pointer- and object-typed values
   does not include the sequence number, but are otherwise correct.

 CALLED BY:
	CMSAVE, CMSAVEDIR
 EXAMPLE:

     IDL> print, helpform('A', size=[1,2,1,2])
     A		     BYTE      = Array[2]
     ;; Do not pass VALUE and instead use SIZE to specify the type

     IDL> print, helpform('A', size=[1,2,1,2], /shortform)
     BYTE     (Array[2])
     ;; Compare to the short form, which is meant to be placed in
     ;; error messages

     IDL> print, helpform('fjsldkfjsldfkjslkdfjslkdfjslkdfjsldkfjk',a)
     fjsldkfjsldfkjslkdfjslkdfjslkdfjsldkfjk
		      INT	= Array[2]
     IDL> print, helpform('fjsldkfjsldfkjslkdfjslkdfjslkdfjsldkfjk',a,/single)
     fjsldkfjsldfkjslkdfjslkdfjslkdfjsldkfjk INT       = Array[2]
     ;; Compare the long and short forms


 SEE ALSO:
	HELP, INPUTFORM
 MODIFICATION HISTORY:
   Written, CM, 13 May 2000
   Documented, 04 Jul 2000
   Improved output for objects, CM, 11 Jan 2001
   Added support for full structure output, CM 08 Feb 2001
   Added forward_function declaration for safety, CM 08 Apr 2001
   Print more info about POINTER type, CM 08 Apr 2001
   Add the RECURSIVE_STRUCT keyword, CM 04 Jan 2009

 $Id: helpform.pro,v 1.6 2009/01/04 09:18:18 craigm Exp $


hide_env $SMEI/ucsd/gen/idl/toolbox/files/hide_env.pro
[Previous] [Next]
 NAME:
	hide_env
 PURPOSE:
	Hides explicit directory name
 CATEGORY:
	gen/idl/toolbox/files
 CALLING SEQUENCE:
	FUNCTION hide_env, file_name, env_var=env_var, exclude=exclude, force=force, silent=silent
 INPUTS:
	file_name
 OPTIONAL INPUT PARAMETERS:
	env_var=env_var     array; type: string; default: none
				list of env var definitions in the form name=value
				If not present then the 'set' command is spawned
				to pick up all env vars.
	exclude=exclude     list of env vars to be excluded (if they are defined).
	force=force	    if set then the common block with internally saved
			    env vars and values is rewritten.
 OUTPUTS:
	hidden_name
 INCLUDE:
	@compile_opt.pro	; On error, return to caller
 CALLED BY:
	CheckDir, InsituTimeSeries, do_file, flt_read, forecast, forecast_info, get_page
	grd_read, img_read, mk_flick, mpc_body, qImage, qView, qView_FileFilter
	qView_PickFiles, qsmei_sky_pick, sgp4_eph, sgp4_tle, sgp_body, skyd_cat
	skyd_version, smei_blocked, smei_buf, smei_buf_get, smei_buf_getframe
	smei_buf_gzip, smei_buf_mget, smei_buf_prep, smei_buf_read, smei_findpnt
	smei_fixpnt, smei_frm_cp, smei_frm_read, smei_frm_smoothdark, smei_frm_write
	smei_getfile, smei_hdr_get, smei_hdr_make, smei_hdr_plot, smei_hdr_update
	smei_last_tle, smei_mkbase, smei_mkcal, smei_mkcal_auto, smei_mkdrives
	smei_mkmask, smei_mkorb, smei_mkorb_auto, smei_mksidereal, smei_mksky
	smei_mkzldresidue, smei_plot_timeseries, smei_rewind, smei_sgp4_orbits
	smei_sky_cleanedge_map, smei_sky_getmask, smei_sky_read, smei_sky_testcase
	smei_star_cleanup, smei_star_fit, smei_star_readpnt, smei_star_remove
	smei_star_split, smei_star_test, smei_star_writepnt, smei_www_skymaps
	smei_zld_remove [1], smei_zld_remove [2], txt_read, vox_update, vu_extract
	vu_get_page, vu_header, vu_insitu, vu_insitu_raw, vu_read, vu_select
	vu_update_marker, vu_write, wso_read, www_help_crosslinks, www_help_files
	www_help_get_header, www_help_make, www_help_section, xhcs
 COMMON BLOCKS:
	common hide_env_save, nvar, env_vars, env_values
 CALLS: ***
	CheckDir, FILEPATH, InitVar, IsType, REVERSE, boost, destroyvar
 PROCEDURE:
 >	The env variables and their values are saved internally in a common block.
	The common block is rewritten each time env_var is specified.
 >	If env_var is not defined then the 'set' command is spawned to get
	all env variables. This is done only once (unless /force is set).
 >	PWD and OLDPWD are added to the list of env vars to be excluded
 MODIFICATION HISTORY:
	AUG-2003, Paul Hick (UCSD/CASS; pphick@ucsd.edu)


HOSOrbit $SMEI/ucsd/gen/idl/ephem/hosorbit.pro
[Previous] [Next]
 NAME:
	HOSOrbit
 PURPOSE:
	Calculates the position of a Helios spacecraft at a given time
 CATEGORY:
	smei/gen/idl/ephem
 CALLING SEQUENCE:
	R = HOSOrbit(T,hos=Hos [,/degrees])
 INPUTS:
	T	    array; type: integer or standard time structure
			times (UT)
	hos=Hos     scalar; type: integer; default: 1
			spacecraft (1=Helios A; 2=Helios B)
 OPTIONAL INPUT PARAMETERS:
	/degrees    if set all angles are returned in degrees
 OUTPUTS:
	R	    array[3,*]; type: float
			longitude, latitude, distance
			(longitude and latitude for Equinox 1975.0 ???)
 INCLUDE:
	@compile_opt.pro	; On error, return to caller
 CALLS: ***
	KeplerOrbit, SuperArray, SyncArgs, TimeGet, ToDegrees
 CALLED BY:
	big_eph, ipsv [1], ipsv [2], ipsv [3]
 PROCEDURE:
	The spacecraft orbit is assumed to lie in the ecliptic
	See O. Montenbruck, Practical Ephemeris Calculations, p. 42-45
	Perihelion passages for Helios A:

	year	   doy		 JD		  ecl long perih

	1975	  74.38411   2442486.8841	      257.8521	  !
	1975	 264.5102	2677.0102		 .8493	  !
	1976	  89.6610	2867.1610		 .8570	  !
	1976	 279.7965	3057.2965		 .8478	  !
	1977	 103.9367	3247.4367		 .8448	  !
	1977	 294.0973	3437.5973		 .8496	  !
	1978	 119.2591	3627.7591		 .8517	  !
	1978	 309.4239	3817.9239		 .8518	  !
	1979	 134.5879	4008.0879		 .8530	  !
	1979
	1980	 149.9095	4388.4095		 .8465	  !
	1980	 340.2279	4578.7279		 .8542	  !
	1981	 164.978	4768.729	      257.978
	1981
	1982
	1982
	1983
	1983

	Perihelion passages for Helios B:

	1976	 108.1035    2442885.6035	      294.2079	   !
	1976	 293.7552	3071.2552	      294.2007	   !
	1977	 113.5434	3257.0434	      294.2332	   !
	1977	 299.3565	3442.8565	      294.2353	   !
	1978	 120.2137	3628.7137	      294.2470	   !
	1978	 306.0831	3814.5831	      294.2528	   !
	1979	 126.9678	4000.4678	      294.2577	   !
	1979	 312.8478	4186.3478	      294.2553	   !
 MODIFICATION HISTORY:
	1990, Paul Hick (UCSD)
	1997, Paul Hick (UCSD), replaced explicit orbit calculation by call to KeplerOrbit
	SEP-1999, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
	    added option to set the first argument Yr to a standard time structure