[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
[Previous]
[Next]
NAME:
hardcopy
PURPOSE:
Provisional hardcopy procedure to replace the SSW hardcopy
procdure (used by the 'stepper' procedure)
CALLS: ***
CONGRID
[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
[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 $
[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)
[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