[Previous]
[Next]
NAME:
G_H
PURPOSE:
Converts Yohkoh pointing information to heliographic coordinates.
The Yohkoh coordinates are based on quarter resolution SXT pixel
locations.
CALLED BY:
ars2_plan, obs_coord2
Note: the Yohkoh coordinates are positiv towards E and N.
CALLING SEQUENCE:
g_h,yy,xx
INPUTS:
xx = W-E coordinate in SXT quarter resolution image
yy = S-N coordinate in SXT quarter resolution image
KEYWORDS (INPUT):
suncenter = [center_x, center_y]. Sun center position
(in Yohkoh coordinates).
If not supplied, the default [120, 142] will be used.
date = string 'dd-mmm-yy', e.g., '23-feb-92'
If not supplied, today's date will be used.
OUTPUTS:
ll = string. Heliographic coordinates in degrees.
CALLS: ***
anytim2ex [1], anytim2ex [2], get_rb0p [1], get_rb0p [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
If the supplied coordinates are outside the solar disk, then the
region is projected onto the limb.
PROCEDURE:
Uses PB0R to calculate B0 and the solar radius.
MODIFICATION HISTORY:
JPW, March 1992
modified version of YOHKOH2HEL, uses PB0R instead of JHUAPL software.
Derived from gbo_hel to give LWA control of suncenter. 17_April-1992
Changed to a procedure to print result from a function. LWA 4/25/92
Also changed order of yy,xx to get used to NS first. LWA 4/25/92
20-feb-1997 - S.L.Freeland - use "get_rb0p" in place of "pb0r"
[Previous]
[Next]
NAME:
GAIN_PLOT
PURPOSE:
Plots the detector gain and energy resolution for the two
BCS flight detectors from the data contained in gain log.
CALLING SEQUENCE:
.run gain_plot
INPUT:
Reads from table in $DIR_BCS_LOGS:GAIN_LOG.DAT
OUTPUT:
plots can be directed to PS if desired
OPTIONAL OUTPUT:
HISTORY
RDB Nov 1990 with enhancements
RDB 16-Feb-92 General plot unit
RDB 21-Jun-92 Capitalized $DIR_BCS_LOGS for Unix
Used CONCAT_DIR
[Previous]
[Next]
NAME:
GAIN_PLOT4
PURPOSE:
Plots the detector gain and energy resolution for the two
BCS flight detectors from the data contained in gain log.
Plot is a panel of 4 plots with BCS-A resolution and gain on
the (top and bottom) lefthand side, and BCS-B resolution and
gain on the (top and bottom) righthand side.
CALLING SEQUENCE:
.run gain_plot4
INPUT:
Reads from gain log table from the file GAIN_LOG.DAT.
Looks FIRST for this on the current directory, OTHERWISE defaults
to directory defined in logical/environment variable $DIR_BCS_LOGS.
OUTPUT:
plots can be directed to PS if desired
OPTIONAL OUTPUT:
HISTORY
RDB May 92 From GAIN_PLOT.PRO
RDB 7-Jun-92 Added polynomial fit to gain of BCS-A since launch
RDB 21-Jun-92 Capitalzed $DIR_BCS_LOGS for Unix
Used CONCAT_DIR
RDB 04-May-93 Changed limits for line fit plot
RDB 04-Nov-93 Searches current dir for file, else uses default.
Needed after centralizing to isass0::
RDB 13-Jan-94 Also do fit to BCS_B
RDB 23-Jan-94 Changed range of gain of BCS-A and deriv. of ytickv
RDB 02-Nov-95 Changed range of gain, etc for BCS-A and BCS-B
RDB 07-Dec-95 Upped no. of points in arrays...
[Previous]
[Next]
NAME:
GAIN_TEMP_PLOT
PURPOSE:
Plots the relationship of the gain of the BCS detectors against
temperature
CALLING SEQUENCE:
.run GAIN_TEMP_PLOT
INPUTS:
reads data from $DIR_BCS_LOGS:GAIN_TEMP_LOG.DAT
OUTPUTS:
OPTIONAL OUTPUTS:
RESTRICTIONS:
PROCEDURE:
MODIFICATION HISTORY:
RDB 1991
RDB 21-Jun-91 Capitalized $DIR_BCS_LOGS for Unix
Used CONCAT_DIR
[Previous]
[Next]
NAME:
GAMINC
PURPOSE:
Compute the function = exp(X) / X^P * Int[exp(-X)*X^(P-1)dx]
(Int = Integrate from X to Infinity)
CALLING SEQUENCE:
Result = gaminc(P,X) ; X>0
INPUTS:
X and P See expression above for details
RETURNS:
Expression returned is a vector the same length as X.
CALLS: ***
GAMMA, igamma2 [1], igamma2 [2]
CALLED BY:
collexc [1], collexc [2]
HISTORY:
1-sep-93, J.R. Lemen (LPARL), Converted from a very old SMM Fortran program
14-Mar-94, Zarro (ARC) substituted routines from Numerical Recipes
[Previous]
[Next]
NAME:
gauss_2d
CALLING SEQUENCE:
f=gauss_2d(n,r0,rmax=rmax, corner=corner)
PURPOSE:
generates an nXn pixel array, which has the form
of a 2d gaussian with a width of r0 pixels, normalized
to a total of 1.0, unless the corner keyword is set
INPUT:
n = array dimensions
r0 = width of gaussian in pixels
KEYWORDS:
rmax = beyond rmax, set the function to 0.0
corner = if set, the maximum is at (0,0), the
default is to have the max at (n-1)/2
OUTPUT:
f = the 2d gaussian
CALLED BY:
one_ftpt, two_ftpt
HISTORY:
Written Apr 93, by JM
Added corner keyword, 8-9-95, jmm
[Previous]
[Next]
NAME:
GAUSS_FUNCT2
PURPOSE:
EVALUATE THE SUM OF A GAUSSIAN AND A 2ND ORDER POLYNOMIAL
AND OPTIONALLY RETURN THE VALUE OF IT'S PARTIAL DERIVATIVES.
NORMALLY, THIS FUNCTION IS USED BY CURVEFIT TO FIT THE
SUM OF A LINE AND A VARYING BACKGROUND TO ACTUAL DATA.
CATEGORY:
E2 - CURVE AND SURFACE FITTING.
CALLING SEQUENCE:
GAUSS_FUNCT2,X,A,F,PDER
INPUTS:
X = VALUES OF INDEPENDENT VARIABLE.
A = PARAMETERS OF EQUATION DESCRIBED BELOW.
OUTPUTS:
F = VALUE OF FUNCTION AT EACH X(I).
OPTIONAL OUTPUT PARAMETERS:
PDER = (N_ELEMENTS(X),6) ARRAY CONTAINING THE
PARTIAL DERIVATIVES. P(I,J) = DERIVATIVE
AT ITH POINT W/RESPECT TO JTH PARAMETER.
CALLED BY:
FIND_LIMB, FIND_LIMB2, GAUSSFIT [1], GAUSSFIT2, fit_gcross
COMMON BLOCKS:
NONE.
SIDE EFFECTS:
NONE.
RESTRICTIONS:
NONE.
PROCEDURE:
F = A(0)*EXP(-Z^2/2) + A(3) + A(4)*X + A(5)*X^2
Z = (X-A(1))/A(2)
MODIFICATION HISTORY:
WRITTEN, DMS, RSI, SEPT, 1982.
Modified, DMS, Oct 1990. Avoids divide by 0 if A(2) is 0.
Modified, JRL, LPARL, Nov, 1988 - If n_elements(A) is 4 or 5,
then a constant or linear
background term is calculated.
Modified, JRL, LPARL, Aug, 1990 - Allow for no background term
Modified, SLF, ISAS, 4-Sep-92 - Split gaussfit2/gauss_funct2
[Previous]
[Next]
NAME:
GAUSSFIT2
PURPOSE:
Fit y=f(x) where:
F(x) = a0*exp(-z^2/2) + a3 + a4*x + a5*x^2
and z=(x-a1)/a2
a0 = height of exp, a1 = center of exp, a2 = 1/e width,
a3 = constant term, a4 = linear term, a5 = quadratic term.
Estimate the parameters a0,a1,a2,a3 and then call curvefit.
CATEGORY:
?? - fitting
CALLING SEQUENCE:
yfit = gaussfit2(x,y,a)
INPUTS:
x = independent variable, must be a vector.
y = dependent variable, must have the same number of points
as x.
Optional Input parameters:
First_guess = array of first guess parameters. Length should
be 3,4,5, or 6 elements (see description of a).
OUTPUTS:
yfit = fitted function.
OPTIONAL OUTPUT PARAMETERS:
a = coefficients. a six element vector as described above.
Also, if a is defined on entry, and if
n_elements(a) = 6 fit 3rd order background
n_elements(a) = 5 fit 2nd order background
n_elements(a) = 4 fit 1st order background
n_elements(a) = 3 fit no background (assumes 0 background).
CALLS: ***
CURVEFIT, GAUSS_FUNCT2 [1], GAUSS_FUNCT2 [2], POLY_FIT
CALLED BY:
GAUSSFIT [1], fit_gcross, mode_fit
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
The peak or minimum of the gaussian must be the largest
or respectively the smallest point in the Y vector.
PROCEDURE:
If the (max-avg) of Y is larger than (avg-min) then it is assumed
the line is an emission line, otherwise it is assumed there
is an absorbtion line. The estimated center is the max or min
element. The height is (max-avg) or (avg-min) respectively.
The width is foun by searching out from the extrem until
a point is found < the 1/e value.
MODIFICATION HISTORY:
DMS, RSI, Dec, 1983.
JRL, LPARL, Nov, 1988 Fit const or linear background if
N_elements(a) = 4 or 5, respectively.
JRL, LPARL, Aug, 1990 Optionally fit no background. Allow
first guesses to be supplied.
JRL, LPARL, Aug, 1992 changed name to gaussfit2 - calls gauss_funct2
SLF, ISAS, Sep, 1992split gauss_funct2/gaussfit2
[Previous]
[Next]
NAME:
GAUSSFIT_2
PURPOSE:
Fit y=f(x) where:
F(x) = a0*exp(-z^2/2) + a3 + a4*x + a5*x^2
and z=(x-a1)/a2
a0 = height of exp, a1 = center of exp, a2 = 1/e width,
a3 = constant term, a4 = linear term, a5 = quadratic term.
Estimate the parameters a0,a1,a2,a3 and then call curvefit.
Parameters a3, a4, and a5 are optional, depending on the value
of k
CATEGORY:
?? - fitting
CALLING SEQUENCE:
yfit = gaussfit_2(x,y,a,k)
INPUTS:
x = independent variable, must be a vector.
y = dependent variable, must have the same number of points
as x.
OPTIONAL INPUT PARAMETERS:
k = determines the order of polynomial to be fitted in
addition to the gaussian part:
k = 3 : gaussian + a3 + a4*X + a5*X^2
k = 2 : gaussian + a3 + a4*X
k = 1 : gausian + a3
k = 0 or any other k: only gaussian
If k is not defined, it is assumed k=0
OUTPUTS:
yfit = fitted function.
OPTIONAL OUTPUT PARAMETERS:
a = coefficients. a (3+k) element vector as described above.
CALLS: ***
CURVEFIT, POLY_FIT
CALLED BY:
FUNCT
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
The peak or minimum of the gaussian must be the largest
or respectively the smallest point in the Y vector.
PROCEDURE:
If the (max-avg) of Y is larger than (avg-min) then it is assumed
the line is an emission line, otherwise it is assumed there
is an absorbtion line. The estimated center is the max or min
element. The height is (max-avg) or (avg-min) respectively.
The width is foun by searching out from the extrem until
a point is found < the 1/e value.
MODIFICATION HISTORY:
Original gaussfit DMS, RSI, Dec, 1983.
gaussfit_2 AF, MSSL, Nov, 1989 - optional choosing of polynomial order
[Previous]
[Next]
NAME:
GBO_HEL
PURPOSE:
Converts Yohkoh pointing information to heliographic coordinates.
The Yohkoh coordinates are based on quarter resolution SXT pixel
locations.
CALLED BY:
HXA2HEL, obs_coord
Note: the Yohkoh coordinates are positiv towards E and N.
CALLING SEQUENCE:
ll = gbo_hel(xx,yy)
INPUTS:
xx = W-E coordinate in SXT quarter resolution image
yy = S-N coordinate in SXT quarter resolution image
KEYWORDS (INPUT):
suncenter = [center_x, center_y]. Sun center position
(in Yohkoh coordinates).
If not supplied, the default [130, 140] will be used.
date = string 'dd-mmm-yy', e.g., '23-feb-92'.
If not supplied, today's date will be used.
OUTPUTS:
ll = string. Heliographic coordinates in degrees.
CALLS: ***
anytim2ex [1], anytim2ex [2], get_rb0p [1], get_rb0p [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
If the supplied coordinates are outside the solar disk, then the
region is projected onto the limb.
PROCEDURE:
Uses PB0R to calculate B0 and the solar radius.
MODIFICATION HISTORY:
JPW, March 1992
modified version of YOHKOH2HEL, uses PB0R instead of JHUAPL software.
20-feb-1997 - S.L.Freeland - use <get_rb0p> in place of "old" pb0r
[Previous]
[Next]
NAME:
GBO_MASK
PURPOSE:
This function masks over the text in the corners of ground based
images.
CALLING SEQUENCE:
name of variable=GBO_MASK(image)
INPUTS:
ground based full image of sun
OUTPUTS:
processed image without text
DRAWBACKS:
Because there are six different formats of ground based
images, there was not a single algorithm that could be used.
GKI & GKM images are dealt with differently than
GCH & GLH & GHH images. The last three formats may have visible
blocks of masking. GBH images are just different entirely, because
of their size.
CALLED BY:
get1gbo, get_gbo_pfi, halp halphaprep, halpha_prep, lastgbo
HISTORY:
MGC, Dec, 1992.
Feb-93 (MGC) - Expanded to handle BBSO images (not 512x512 images)
22-Feb-93 (MDM) - Added comment marks to the header
- Corrected handling of BBSO images
22-Feb-93 (MGC) - Rearranged whole program.
- Corrected handling of BBSO images
- Changed a constant
6-Mar-95 (MDM) - Protect against a bad/improper image being passed in
- Mask the GB* images a bit more
[Previous]
[Next]
NAME:
gbo_obs_coord
PURPOSE:
To print out the OR table coordinate for a region clicked on
a rescaled GBO image
PROCEDURE
1. If sindex and sdata not passed in then get and display last SFD.
2. Get desired GBO image.
3. If needed rotate or flip GBO image.
4. Determine center and radius of GBO image with CLICKLIMB
5. TVSCL rescaled GBO image onto last SFD.
6. Program calls SXT_OBS_COORD to derive table coordinates.
CALLING SEQUENCE:
gbo_obs_coord, kind, obstime [, data=data, side=side, /grid]
gbo_obs_coord, 'g*h',gbotime='29-nov-94', obstime, side=128 ; 2x2 OR
gbo_obs_coord, 'gbh', obstime, sindex=index, sdata=data, $
window=4, side=[64,128] ; 1x2 OR (NS x EW)
gbo_obs_coord, 'gki', '3-MAY-95 16:40', gboimage
INPUT:
kind - type of GBO image desired, e.g., 'gbh','gkm','g*h, etc.
G_x Ground-Based Observation (GBO) Images (Sites)
Gx_ Ground-Based Observation (GBO) Images (Data Type)
GBC GBO Big Bear Large Scale H-alpha PFI FITS Image
GBH GBO Big Bear H-alpha FITS Image
GBK GBO Big Bear Calcium FITS Image
GBW GBO Big Bear White Light FITS Image
GCH GBO Boulder Colorado H-alpha FITS Image
GGH GBO GSFC H-alpha FITS Image
GHH GBO Holloman H-alpha FITS image
GLH GBO Leamonth Australia H-Alpha FITS Image
GNH GBO NAOJ Japan H-alpha FITS Image
GJH GBO CRL Hiraiso H-alpha FITS Image
GKI GBO Kitt Peak He 10830 FITS Image
GKM GBO Kitt Peak Magnetogram FITS Image
obstime - Time in any format at which coordinates of chosen point
are desired (index, etc)
OPTIONAL OUTPUT:
gboimage - scaled, positioned gbo image without pfi boxes.
KEYWORDS (INPUT):
sindex - index for SXT image (not required if lastsfd is OK).
sdata - SXT image to be displayed (not required if you don't
want to see it or if sindex is set.)
gbotime - Desired time of image of desired GBO image in any format (index, etc)
Default: index of lastsfd image or sindex
window - The window in days +/- the input time which is accecptable
to search for an GBO image. Default = 8.
In this case program searches for the GBO image
nearest in time to the time given by gbotime.
suncenter - Center of sun in full res (IDL) pixels.
Defaults to suncenter=sxt_cen(gbotime)
side - Size of square in FR pixels to draw on image (def = 64). If
side =[N,M], will draw a rectangle that is N (NS) by M (EW)
grid - If set, overlay heliographic coordinate grid
color1 - Color of ROI box (def = 192).
color2 - Color of rotated ROI box (def = 255).
CALLS: ***
CLICKLIMB, CONGRID [1], CONGRID [2], CONGRID [3], SXT_GRID [1], SXT_GRID [2]
SXT_GRID [3], WDEF [1], WDEF [2], XLOADCT [1], XLOADCT [2], XLOADCT [3], fmt_tim [1]
fmt_tim [2], get1gbo, get_rb0p [1], get_rb0p [2], gt_pix_size, gt_res, input [1]
input [2], lastsfd [1], lastsfd [2], sxt_cen [1], sxt_cen [2], sxt_obs_coord [1]
sxt_obs_coord [2], yesnox [1], yesnox [2]
HISTORY:
30-Nov-94 - LWA - Written.
2-May-95 - LWA - renamed variables and arranged to use
sindex and sdata in place of lastsfd if
desired.
4-May-95 - LWA - Added ability to return GBO image, replaced
get_xyrad with clicklimb, and removed HR limitation.
15-May-95 - LWA - Corrected header.
[Previous]
[Next]
NAME:
gbo_paths
PURPOSE:
To return the directory list of where ground based data resides
CALLING SEQUENCE:
dirs = gbo_paths()
CALLS: ***
data_paths2 [1], data_paths2 [2]
CALLED BY:
find_dbo_dir, lastgbo, lastgki, newfiles [1], newfiles [2], newfiles [3]
OPTIONAL KEYWORD INPUT:
gbo_only - If set, only pass back the "standard" gbo directories,
do not pass back things like "DIR_GEN_SYOPTIC"
noshell - if set, avoid shell (from data-paths2) messages
OUTPUT:
returns a string array of the environment variables where
DIR_GBO is defined
RESTRICTIONS:
Currently only works for workstations
HISTORY:
Written 26-Jun-92 by M.Morrison
11-Sep-92 (MDM) - Added DIR_GEN_SYNOPTIC to the derived list
21-Jan-93 (MDM) - Modified to use DATA_PATHS2 routine
27-Jan-93 (MDM) - Added /GBO_ONLY option
12-Apr-94 (SLF) - Add NOSHELL keyword/function; eliminate old garbage
[Previous]
[Next]
NAME: gbo_pfi
PURPOSE: get a matching GBO patch for PFI data
METHOD: Figure PFI corners from INDEX, rotate these to the
time of the GBO image, get section of GBO and rotate
back, finally take exact matching section. The GBO
image is first matched to the location and size of
the full disk coresponding to the PFI.
You can either pass in the GBO image itself, in which
case you MUST also supply the time for it, or a string
with the path/filename of a YS style GBO image file.
The key here is that the extension be .HHMM for the image.
The greater the time difference the less appropriate the
RIGID keyword becomes.
CALLING SEQUENCE: gbo_part=gbo_pfi(gboin,indx[,gbotim][,/rigid)
PARAMETERS: gboin the gbo image data, or a string with
path/filename of gbo image
indx PFI index
gbotim if gboin is data, then this must have
the image's time. Any format acceptable
to ANYTIM2EX is OK.
KEYWORDS: rigid when set does rigid rotation
CALLS: ***
IMGSCL2, RFITS [1], RFITS [2], RFITS [3], anytim2ex [1], anytim2ex [2]
anytim2ints [1], anytim2ints [2], fid2ex [1], fid2ex [2], get_rb0p [1]
get_rb0p [2], get_rect, gt_corner, gt_pix_size, gt_res, gt_shape, int2secarr [1]
int2secarr [2], rect_rot, sol_rot [1], sol_rot [2], sxt_cen [1], sxt_cen [2]
HISTORY: Drafted by A. McAllister, early Mar. 1993
Fixed and released, AMcA 29-Apr-93.
Adjusted the corner, AMcA 12-may-93.
Fixed definition of RES, AMcA 19-may-93.
Replaced direct references to index tags, AMcA 1-jun-93.
Adjusted for new index routines, AMcA 6-jul-93.
[Previous]
[Next]
NAME: gbo_rot_t
PURPOSE: To take a GBO image and rotate it to extrapolate
backward or forward in time.
METHOD: Take the image, map it to heliocentric coordinates, add the
appropriate differential rotation, and map it back. This
version is ment for optical full disk images, and selects the
on disk pixels before doing the rotation. The input images
must be tractable to the limbfinder, or else you may run out
of memory. The pixels are mapped individually and then mapped
back to the disk, so there wil be over writing in the hemisphere
being rotated away from disk center, and gaps on the hemisphere
being rotated towards disk center. Blank pixels are filled in
by simple east-west averaging of the nearest neighbors, but near
the limb everything is blank and no replacement is done.
CALLING SEQUENCE:
out=gbo_rot_t(image,date,delt[,roll=roll])
PARAMETERS: image the image data.
date the time of the image, in standard 7
part form (use fmt_tim(index), etc.).
delt the rotation time, in decimal days.
KEYWORDS: roll optional roll correction. For SXT
images you can use 1.0.
RESTRICTIONS: There is a limit (somewhere between 116,000 and
262,000) to the number of pixels this will handle.
When the number is too high it runs out of memory
in VEC_H2P.
CALLS: ***
TARGET [1], coord_l2v, sol_rot [1], sol_rot [2], target [2]
HISTORY: Drafted by A.McAllister, Feb. 1993.
Made correction to add ROLL in call to SOL_ROT, jun 15, 1993.
[Previous]
[Next]
CALLING SEQUENCE
gbo_scale,haimg,haout,x0,y0,r [,mktv=mktv]
HISTORY
Procedure developed to shrink BBSO Halpha image and
place it correctly in a 512x512 SXT image
Written by L. Acton 7-nov-91
Modified for generality 10-apr-92
PARAMETERS
haimg is the input GBO image
haout is the rescaled output image
x0, y0 are center of SXT image in FR pixels from find_limb
r is radius of SXT image in FR pixels from find_limb
KEYWORDS
if you want the code to put haout on a window set /mktv
CALLS:
[Previous]
[Next]
NAME:
gbo_scale2
PURPOSE:
To take two images of the sun and resize, and repostion
the second one so that it lies on top of the first one.
METHOD: Both images are passed through gen_loc to find the centroid
and the axial diameters, the second is then resized and
reposisitioned to match the first (TARGET).
When the target, or both images, are SXT images set the SXT
keyword to 1 or 2, respectively.
CALLING SEQUENCE:
outimg=gbo_scale2(trgimg,gboimg[,indx1,indx2][,sxt=sxt]
[,mktv=mktv])
indx1 and indx2 are index entries for trgimg and gboimg
respectively. Only needed when these are SXT images. Then
you must also set the SXT keyword (see below).
NOTES:
When working with fits images the top 5 lines or so
should be removed before input. These contain the
header and gum things up.
PARAMETERS:
gboimg the input GBO image.
trgimg the target image to which it is to be matched.
outimg the rescaled output image.
KEYWORDS:
SXT This is the flag indicating wiether the images
are sxt images of not. If the target is an SXT
image set this to 1, if both are SXT images,
set it to two.
MKTV if you want to put outimg on a window set /mktv.
OUTPUT TYPE:
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], GEN_LOC
HISTORY:
Procedure developed to shrink BBSO Halpha image and
place it correctly in a 512x512 SXT image
Written by L. Acton 7-nov-91
Modified for generality 10-apr-92
Added automatic sun finder, A. McA. 16-apr-92
Corrected for different vertical/horizontal scaling A.McA 18-apr-92
Version 2. Rewrote for general sized matrices, using dsk_loc.
changed calling sequence to include target image, A.McA 24-apr-92
Replaced location routine. Can now handle SXT images, A.McA. 6-may-92
Added fractional pixel repositioning, A.McA. 7-may-92
Changed congrid call to use bilinear extrapolation, A.McA. 26-may-92
Output variable type now same as input type, A.McA. 2-dec-92
[Previous]
[Next]
NAME:
GBO_STRUCT
PURPOSE:
Define the following ground Based Observing database structures
* GEV_Data_Rec
* GXR_Data_Rec
* GDR_Data_Rec
* NAV_Data_Rec
* GBO_Version_Rec
* GSN_ObsHeader_rec
* GSN_ObsImage_rec
* GBO_Obs_rec
* BATSE_Event_Rec
* BATSE_LCur_Rec
* Nob_Event_Rec
* Nob_TimSer_Rec
* Uly_FEM_Rec
CALLING SEQUENCE:
GBO_STRUCT
CALLED BY:
GOES__DEFINE, last_lc, mk_gbl, mk_gev [1], mk_gev [2], mk_gx, mk_nar [1], mk_nar [2]
mk_week1_file, mk_week_file [1], mk_week_file [2], rd_gbe_raw, rd_gbl_raw [1]
rd_gbl_raw [2], rd_goes3sec [1], rd_goes3sec [2], rd_goes_fits, rd_guf_ascii
rd_selsis, rd_week_file [1], rd_week_file [2], rd_week_file [3]
rd_week_file [4], weekid [2], ydb_exist [2]
HISTORY:
written by Mons Morrison, Jun-92
slf, 23-sep-92, added GXR_Data_Rec, modified GBO_Version_Rec
slf, 10-oct-92, changed number pad bytes, GXR_Data_Rec
[Previous]
[Next]
NAME: gen_file_id
Purpose: given either a weekly-fileid OR a range of fileids
(which can span n-weeks) generate all valid file ids.
Calling Sequence:
files = gen_file_id(weekids, [range=range, filename=
filename, nocba=nocba, xbd_path=xbd_path]
range input start and stop file id as a two element
vector: e.g. ['920422.0000','920429.1000']
filename if set will return checked list of all possible
file names.
nocda if use with filename will return all files
except cba files.
CALLS: ***
GetRng, PREFIXCK, PTSTR, Rd_TapDir, UNIQ [1], UNIQ [2], UNIQ [3], ck, fid2ex [1]
fid2ex [2], tim2orbit [1], tim2orbit [2], weekid [1], weekid [2], weekid [3]
CALLED BY:
archive_ck [1], archive_ck [2]
History:
written 3-May-94
-------------------------------------------------------------
[Previous]
[Next]
NAME:
gen_fn
PURPOSE:
Given file prefix and/or fileid Generate/Create full
file names.
CALLING SEQUENCE:
fn = gen_fn(hdr, drecs, [wid=wid, wkpre=wkpre,
prefix=prefix, fileids=fileids])
Where:
hdr input header to tape dir. file
drecs input data_recs to tape dir. file
wid optional input Weekid to create hdr and drecs.
wkpre optional input for weekly file prefixes
prefix optional input for reformatted file prefixes
fileids optional input for reformatted fileids
CALLS: ***
PREFIXCK, Rd_TapDir, STR2ARR [1], STR2ARR [2], weekid [1], weekid [2], weekid [3]
CALLED BY:
go_rdtap [1], go_rdtap [2]
Examples:
fn = gen_fn(hdr, drecs, prefix=['spr','sfr'],
fileids=['911205.1207','911206.0424'])
fn = gen_fn(wid='91_49', prefix=['spr'],
fileids=['911206.0424'])
HISTORY:
Written 16-Sept-92, gal
30-Nov, bug fix for null on weeklys, gal
[Previous]
[Next]
NAME: GEN_LOC
PURPOSE:
a general disk locator for all types of image.
METHOD:
for SXT images this calls FIT_LIMB.
for other images it uses DSK_LOCG.
Availablity of ATT files is checked for and when absent
FIT_LIMB is called interactively.
CALLING SEQUENCE:
gen_loc,image,[indx],[KEYWORD=variable,..]
KEYWORDS:
SXT when set indicates SXT data, requires indx.
ROUGH a fast rough fit, may not work well with sxt.
BFRAD RADIUS of best fit circle, use w/ sxt option.
CIR Use to invoke a circle fit to a GBO image.
CENTROID horizontal, vertical centers, floating point pixels.
HORZRAD horizontal DIAMETER, floating point pixels.
VERTRAD vertical DIAMETER, floating point pixels.
EASTLIMB east limb, in pixels.
WESTLIMB west limb, in pixels.
NPOLE north pole, in pixels.
SPOLE south pole, in pixels.
QUIET pass through to DSK_LOCG, no display.
INTER pass through to DSK_LOCG, interactive point edit.
NOTES: When run with /ROUGH, it is much faster, but the results may be
off on the order of a FR pixel (due to round off). There may also
be some error message generation.
It is assumed that elliptical GBO images have the major axis along
the vertical. This may be grneralized in the future.
RETURN TYPE: FLOAT
CALLS: ***
DSK_LOCG, att_exst, fit_limb, gt_res, pnt_exst
CALLED BY:
IMGSCL2, IMG_MATCH, align_cube, gbo_scale2, imgscl, rad_bck, scale_gbo
HISTORY:
drafted by A. McAllister, May 5, 1992.
added evironmental switch for PNT data, A.McA. Dec. 1992.
corrected BFRAD calc for GBO case, AHMcA, mar. 1993.
replaced PNT data check, june. 22, 1993.
added ATT data check, AMcA, jan. 12, 1994.
replaced SXT_CENTER with FIT_LIMB and set kill=5, AMcA, feb. 11, 1994.
added the SUMMED_PIXELS keyword to the FIT_LIMB calls
and removed the resolution corrections, AMcA, feb. 15, 1994.
replaced DSK_LOCB with DSK_LOCG and added QUIET and INTER
keywords, AMcA, aug. 24, 1994.
added CIR keyword, as the test on BFRAD didn't seem to work, nov 2, 1994.
apply INTER keyword to FT_LIMB call as well, AMcA, Apr. 1, 1995.
[Previous]
[Next]
NAME:
GEN_OLD_STRUCT
PURPOSE:
Define the following general database structures
* GEN_2101_Index_Rec
CALLING SEQUENCE:
GEN_OLD_STRUCT
HISTORY:
written by Mons Morrison, Fall 90.
[Previous]
[Next]
NAME:
GEN_STRUCT
PURPOSE:
Define the following general database structures
* Pointer_Rec
* File_Header_Rec
* QS_General1_Rec
* GEN_Index_rec
* GEN2_Index_rec
* MO_Disk_Map_Rec
* MO_Disk_Log_Rec
CALLING SEQUENCE:
GEN_STRUCT
CALLED BY:
GET_SDA, MK_BSC_STR [1], MK_BSC_STR [2], Rd_Pointer [1], Rd_Pointer [2]
Rd_fHeader [1], Rd_fHeader [2], Rd_fHeader [3], kluge_att, mk_att [1], mk_att [2]
mk_evn [1], mk_evn [2], mk_fem_file [1], mk_fem_file [2], mk_gbl, mk_gev [1]
mk_gev [2], mk_gsn_obs, mk_gx, mk_mo_log, mk_nar [1], mk_nar [2], mk_orb_file, mk_pnt
mk_sd2, mk_sdl, mk_sl [1], mk_sl [2], mk_sot, mk_ssl, mk_sxc, mk_sxl, mk_week1_file
mk_week_file [1], mk_week_file [2], pnt2atr, rd_obs, rd_old_obs, rd_roadmap [1]
sav_bda, sav_bsc, sav_hxi, sav_sda [1], sav_sda [2], sav_sda [3], wrtsxtmap
HISTORY:
written by Mons Morrison, Fall 90.
9-Mar-95 (MDM) - Added documentation comments
- (Compression of the data section)
[Previous]
[Next]
NAME:
GenTimes
Purpose:
Create a list of times equal in length to the input
data structure.
CALLING SEQUENCE:
times = GenTimes( a, stru)
Input:
a Structure format for the times values
stru input data structure
Output:
GenTimes returns the just the time infomation
from the input structure.
History:
written 10-Apr-91 by GAL
[Previous]
[Next]
NAME:
get1gbo
PURPOSE:
To get a single GBO image closest to a given time
SAMPLE CALLING SEQUENCE:
img = get1gbo('gkm', '1-sep-92') ;Kitt peak magnetogram
img = get1gbo('g*h', '1-jan-92') ;H-alpha from any site
img = get1gbo(['g*m', 'g*h']) ;latest mag or h-alpha any site
INPUTS:
prefix - The prefixes to use of the GBO file name
OPTIONAL INPUT:
time - The time of interest (want the closest GBO image to that time)
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], FILE_SELTIME, GBO_MASK, RFITS2 [1]
RFITS2 [2], STR2ARR [1], STR2ARR [2], anytim2ints [1], anytim2ints [2]
anytim2weeks [1], anytim2weeks [2], break_file [4], fid2ex [1], fid2ex [2]
file_list [1], file_list [2], get_gol_site, int2secarr [1], int2secarr [2]
ut_time [1], ut_time [2]
CALLED BY:
LAY1GKM, fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], gbo_obs_coord
get_newsoon, mk_sun_mosaic, msok_poi_copy [1], msok_poi_copy [2], sun_today [1]
sun_today [2], sun_today [3]
OPTIONAL KEYWORD INPUT:
correct - If set, then correct the image for limb darkening / plate
scale size.
**** /CORRECT IS NOT AVAILABLE RIGHT NOW ****
window - The window in days +/- the input time which is accecptable
to match on an image
mask - If set, then call GBO_MASK to mask out text written on the
image.
OUTPUT:
img - The image as read from the file. If there is no match on
directories or prefixes, it returns a 0 byte.
OPTIONAL KEYWORD OUTPUT:
file - The GBO file name selected
head - The FITS header for the image
dattim - The date/time of the image selected (structure format)
delta - The number of days between the requested time and the
date/time of the image found
site - Site string
scale - Passed to RFITS to scale the image
HISTORY:
Written 20-Sep-94 by M.Morrison
20-Sep-94 (MDM) - Added SITE output
20-Sep-94 (MDM) - Added SCALE option
29-Sep-94 (MDM) - Expanded to use "gbd_list" instead of
"gbd" alone.
[Previous]
[Next]
NAME:
Get1st
Purpose:
Find and return the first time from a list of times,
using the external format.
CALLING SEQUENCE:
firstTime = Get1st(time)
Input:
time list of times in external format
Returned:
first or earliest time in external format.
CALLED BY:
AdjUsrTim
History:
written 25-Apr-90 by GAL
updated 21-June-91 for SOLAR-A
[Previous]
[Next]
NAME:
GET72
PURPOSE:
To remove line numbers which are attatched to Fortran programs on
mainframe computers.
CALLING SEQUENCE:
get72
get72,infile,outfile
INPUT:
none
OPTIONAL INPUT:
infile - Specify input filename as a first argument.
outfile - Specify output filename as a second argument.
If 'outfile' is not set, then a file infile.72 is
created.
OPTIONAL KEYWORD INPUT:
replace - If set, then infile (=original file) will be
replaced by the outfile.
savelines - If set, then number of output columns of each line
is specified.
fill - If set, then strtrim(*,0) is not performed.
del_space - If set, then trailing space in each line is removed.
OUTPUT:
OPTIONAL KEYWORD OUTPUT:
SIDE EFFECTS:
An output file is written.
HISTORY:
version 1.0 94.08.08 (Mon) T.Sakao written at KSC.
version 1.1 94.09.19 (Mon) Options savelines and fill added.
version 1.2 95.06.09 (Fri) Option del_space was added.
[Previous]
[Next]
Procedure to load the wavelength calibration of SXV bins into
IDL variable. To extend the CMB calibration table to cover all bins
it does a linear fit to the wavelengths and extrapolates out to cover
128 bins. Should only be used for qualitative work eg realistic looking
plots.
Output:
x_15 - array of approximate SXV wavelengths
Use:
IDL> get_15,x_15
CDP Feb 92
RDB 13-Mar-93 Changed $DIR_BCS_CALDAT to $DIR_BCS_CAL
CALLS:
CALLED BY
bcs_survey
[Previous]
[Next]
Procedure to load the wavelength calibration of CaXIX bins into
IDL variable. To extend the CMB calibration table to cover all bins
it does a linear fit to the wavelengths and extrapolates out to cover
128 bins. Should only be used for qualitative work eg realistic looking
plots.
Output:
x_19 - array of approximate CaXIX wavelengths
Use:
IDL> get_19,x_19
CDP Feb 92
RDB 13-Mar-93 Changed $DIR_BCS_CALDAT to $DIR_BCS_CAL
CALLS:
CALLED BY
bcs_survey
[Previous]
[Next]
Procedure to load the wavelength calibration of FeXXV bins into
IDL variable. To extend the CMB calibration table to cover all bins
it does a linear fit to the wavelengths and extrapolates out to cover
256 bins. Should only be used for qualitative work eg realistic looking
plots.
Output:
x_25 - array of approximate FeXXV wavelengths
Use:
IDL> get_25,x_25
CDP Feb 92
RDB 13-Mar-93 Changed $DIR_BCS_CALDAT to $DIR_BCS_CAL
CALLS:
CALLED BY
bcs_survey
[Previous]
[Next]
Procedure to load the wavelength calibration of FeXXVI bins into
IDL variable. To extend the CMB calibration table to cover all bins
it does a linear fit to the wavelengths and extrapolates out to cover
256 bins. Should only be used for qualitative work eg realistic looking
plots.
Output:
x_26 - array of approximate FeXXVI wavelengths
Use:
IDL> get_26,x_26
CDP Feb 92
RDB 13-Mar-93 Changed $DIR_BCS_CALDAT to $DIR_BCS_CAL
CALLS:
CALLED BY
bcs_survey
[Previous]
[Next]
Name:
get_active_reg
Purpose:
search through roadmap and extract only the datasets
that are the same active region
Input:
roadmap - roadmap (or index.sxt)
Input/Output:
iref - starting image to use as a reference
CALLS: ***
Periph, fmt_tim [1], fmt_tim [2]
History:
Written Fall 91 by M.Morrison
[Previous]
[Next]
NAME:
get_ads
PURPOSE:
To read the ADS file from the mainframe
CALLING SEQUENCE:
get_ads, infil
INPUT:
infil - The filename on the mainframe
CALLED BY:
do_ads
Example: "PSK239.SAADF.A9206(T2200003)"
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
file_exist [1], file_exist [3], mail [1], mail [2], rd_tfile [1], rd_tfile [2]
str_replace [1], str_replace [2], tim2dset [1], tim2dset [2]
OPTIONAL KEYWORD INPUT:
outdir - The output directory for the file
odisk - If set, correct infile for Optical Disk conv.
KEYWORD OUTPUT:
fail - Equals 1 if failed (otherwise = 0)
HISTORY:
Written 18-Jul-92 by M.Morrison
27-Aug-92 (MDM) - Added fail keyword
2-Sep-92 (slf) - modified get_ads for FACOM2
added odisk keyword
14-Sep-92 (slf) - added main2 keyword
9-Oct-92 (slf) - change password
20-Oct-92 (slf) - changed name from get_ads2 to get_ads
27-Oct-92 (slf) - chmod 666 for all
10-Nov-92 (slf) - changed account info
13-Nov-92 (slf) - changed account info (dedicated ads account)
force use of 133.74.2.3 (main2 keyword has no effect
change naming convention for old files
25-Nov-92 (slf) - change node due to ISAS HW upgrades
30-Nov-92 (MDM) - changed FTP command to use ' around file name
27-Jan-92 (slf) - modified ftp commands for MTL access
8-Dec-93 (SLF) - change password - add code to mail warning when
password about to expire (once per session via common)
1-Jun-94 (SLF) - update password
18-Nov-94 (SLF) - update password
16-may-95 (slf) - read this from a file
[Previous]
[Next]
NAME:
get_ads
PURPOSE:
To read the ADS file from the mainframe
CALLING SEQUENCE:
get_ads, infil
INPUT:
infil - The filename on the mainframe
CALLED BY:
do_ads
Example: "PSK239.SAADF.A9206(T2200003)"
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], GET_ADS239, concat_dir [4]
str_replace [1], str_replace [2]
OPTIONAL KEYWORD INPUT:
outdir - The output directory for the file
odisk - If set, correct infile for Optical Disk conv.
KEYWORD OUTPUT:
fail - Equals 1 if failed (otherwise = 0)
HISTORY:
Written 18-Jul-92 by M.Morrison
27-Aug-92 (MDM) - Added fail keyword
2-Sep-92 (slf) - modified get_ads for FACOM2
added odisk keyword
14-Sep-92 (slf) - added main2 keyword
9-Oct-92 (slf) - change password
20-Oct-92 (slf) - changed name from get_ads2 to get_ads
27-Oct-92 (slf) - chmod 666 for all
10-Nov-92 (slf) - changed account info
13-Nov-92 (slf) - changed account info (dedicated ads account)
force use of 133.74.2.3 (main2 keyword has no effect
change naming convention for old files
25-Nov-92 (slf) - change node due to ISAS HW upgrades
[Previous]
[Next]
NAME:
get_afile_size
PURPOSE:
Return a list of file sizes for input files.
CALLING SEQUENCE:
fn_sz = get_afile_size(infn [, wid=wid,
xbd_path=xbd_path])
fn_sz list of returned file sizes in bytes
infn input list of file names. Note: Do not
include path with file names.
wid optional output list of weekid's for the
input files.
Optional Input:
xbd_path path to xbd files if $DIR_GEN_XBD is not
defined or used.
hdr header record to tape dir-file
drecs data records to tape dir-file
(Note: if hdr and drecs are defined the weekly IDs
are not recovered and the "infn" list is check against
the given "drecs".)
CALLS: ***
Rd_TapDir, UNIQ [1], UNIQ [2], UNIQ [3], fid2ex [1], fid2ex [2], tim2orbit [1]
tim2orbit [2], weekid [1], weekid [2], weekid [3], yod_sz [1], yod_sz [2]
CALLED BY:
archive_ck [1], archive_ck [2], dbase2disk, flares2disk, go_rdtap [1]
go_rdtap [2], mo_check, mo_patch, prep_week [1], prep_week [2], yo_arch_size
HISTORY:
written 15-Sep-92, gal
minor update 17-Sept-92
minor update 19&20-July-93, gal
[Previous]
[Next]
NAME:
get_ar
PURPOSE:
To list NOAA Active Region data for a specified active region
CALLING SEQUENCE:
nar_data = get_ar(7430)
INPUT:
ar_num - NOAA active region number
OUTPUT:
Structure for nar data
CALLS: ***
RD_NAR, anytim2ints [1], anytim2ints [2], dd792ex, fmt_tim [1], fmt_tim [2]
gt_day [1], gt_day [2], int2secarr [1], int2secarr [2], prstr [1], prstr [2]
HISTORY:
Written 08-Aug-96 by G. Slater
[Previous]
[Next]
NAME:
get_atomic
PURPOSE:
Return a data structure with atomic data parameters
for requested BCS channel.
CALLING SEQUENCE:
ato_data = get_atomic(Chan)
w_wave = get_atomic(Chan,/w_wave) ; Return wavelength of w-line
w_wave = get_atomic(Chan,/z_wave) ; Return wavelength of z-line
INPUTS:
Chan = BCS Channel Number or structure (Must be a scalar)
OPTIONAL INPUT KEYWORDS:
w_wave = If set, only return the wavelength of the w line
Also, x_wave, y_wave, z_wave, q_wave, j_wave, k_wave
atocal = Def=Max value present. Specifies alternative atomic calculation.
If atomic data file has already been read, and atocal is
NOT specified, then previously read data will be returned.
atocal=5 and chan=4 will cause susec5.dat to be read.
atocal=4 and chan=4 will cause susec4.dat to be read, etc.
new = If /new is set, forces a read of the file even if it has been
previously read.
OUTPUTS:
The functional result is structure containing the atomic data parameters
METHOD:
Reads ascii data files contained in $DIR_GEN_SPECTRA
The files have the following names: susec3.dat, casec3.dat, fesec3.dat, f26sec3.dat
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], GT_BSC_CHAN [1], GT_BSC_CHAN [2], STR2ARR [1], STR2ARR [2]
break_file [4], concat_dir [4], rd_atodat [1], rd_atodat [2], str_replace [1]
str_replace [2]
CALLED BY:
bcs_broad [1], bcs_broad [2], bcs_funct, bcs_line, bcs_velres, bsc_bin2w, cal_bsc
MODIFICATION HISTORY:
7-oct-93, J. R. Lemen (LPARL), Written
8-feb-94, JRL, Changed the way the file name is specified via the atocal parameter
11-mar-94, JRL, Added x_wave,y_wave,z_wave,q_wave switches
15-Mar-94, DMZ, changed to avoid file search each time
15-mar-94, JRL, Additional changes to avoid file search
23-mar-94, JRL, Fix bug introduced by concat_dir for VMS
2-jan-96, JRL, Added the /new keyword. Used for debugging purposes.
[Previous]
[Next]
NAME:
get_atr
PURPOSE:
Given a set of input times, return the single ATT data record
closest to that time.
CALLING SEQUENCE:
get_atr, index, atr
get_atr, index, atr, offset=offset
INPUT:
tim_in - The input time(s) in any of the 3 standard formats
CALLS: ***
anytim2ints [1], anytim2ints [2], rd_atr, tim2dset [1], tim2dset [2]
tim2orbit [1], tim2orbit [2]
OPTIONAL KEYWORD INPUT:
OUTPUT:
atr - The ATT data structure
OPTIONAL KEYWORD OUTPUT:
offset - The number of seconds that the matching ATT data is off
from the input time(s)
HISTORY:
Written 11-Aug-93 by M.Morrison (Using GET_PNT as starting point)
13-Sep-93 (MDM) - Modified slightly
9-sep-94 JPW from get_att
[Previous]
[Next]
NAME:
get_att
PURPOSE:
Given a set of input times, return the single ATT data record
closest to that time.
CALLING SEQUENCE:
get_att, index, att
get_att, index, att, offset=offset, min_status=2
INPUT:
tim_in - The input time(s) in any of the 3 standard formats
CALLS: ***
UNIQ [1], UNIQ [2], UNIQ [3], anytim2ints [1], anytim2ints [2], int2secarr [1]
int2secarr [2], rd_att, tim2dset [1], tim2dset [2], tim2orbit [1], tim2orbit [2]
CALLED BY:
Check the ATT database vs the SXC limb fit database to look for bad
get_roll, sxt_cen [1], sxt_cen [2]
OPTIONAL KEYWORD INPUT:
min_status - The minimum acceptable ATT status
ATT.STATUS1 = 1: plain S/C commanded value used, no dejittering with IRU.
= 2: S/C commanded value dejittered with IRU.
= 4: HXA value dejittered with IRU. Standard result, good.
Most of the ATT data should be STATUS1 = 4.
OUTPUT:
att - The ATT data structure
OPTIONAL KEYWORD OUTPUT:
offset - The number of seconds that the matching ATT data is off
from the input time(s)
HISTORY:
Written 11-Aug-93 by M.Morrison (Using GET_PNT as starting point)
13-Sep-93 (MDM) - Modified slightly
19-Nov-93 (MDM) - Added MIN_STATUS option
18-May-95 (MDM) - Modified the logic to not loop through on a
per orbit basis if the time span requested is
4 days or less
- Adjusted code to call TIM2DSET once per orbit
not once per input time (TIM2DSET is called only
once if the time span is less than 4 days)
- Both actions sped up the routine considerably
15-Aug-95 (MDM) - Corrected a bug where there the time span requested
is less than 4 days, but the times are not sent
in in increasing time order. The bug was introduced
18-May-95 while trying to speed up the routine.
[Previous]
[Next]
Name: get_bcs
Purpose: read time selected bda files ->standard struct
Method:
User selects time interval; uses rd_bda for selected records.
Call:
get_bcs,filelist,index,data,dp_sync [channel=4][/all]
Inputs:
filelist - string array of filenames (e.g. from yohkoh_files)
Keyword Input:
channel - channel to use for lightcurve selection (def: 3, Ca XIX)
all - if set, read all records (no selection)
Outputs:
index - standard bda index records
data - standard bda data records
dp_sync - dp_sync records
CALLS: ***
BOX_MESSAGE, FMT_TIMER [1], FMT_TIMER [2], RD_BDA [1], RD_BDA [2], RD_BDA_DP
Rd_Roadmap [2], data_chk [1], data_chk [2], gt_total_cnts [1], gt_total_cnts [2]
plot_lcur [1], plot_lcur [2], rd_roadmap [1]
History:
5-Nov-1999 - R.D.Bentley - standard BCS read routine...
9-Nov-1999 RDB corrected error in reading dp_sync data
24-Nov-1999 RDB return if null filelist supplied
[Previous]
[Next]
NAME:
get_bcscal
PURPOSE:
to find BCS crystal calibration file
CALLING SEQUENCE:
get_bcscal,chan,calfil
INPUTS:
chan - channel number (1-4)
OUTPUTS:
full name of CALFIL for specified channel
OPTIONAL OUTPUT KEYWORDS:
version = version number of CAL file
(this is equal to the file extension)
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], GT_BSC_CHAN [1], GT_BSC_CHAN [2], break_file [4], concat_dir [4]
CALLED BY:
RD_BCSCAL [1], RD_BCSCAL [2]
PROCEDURE:
Return the name of the BCS cal file.
File is assumed to have the form Channel
$DIR_BCS_CAL/bcsa1.ver_number 1
$DIR_BCS_CAL/bcsa2.ver_number 2
$DIR_BCS_CAL/bcsa1.ver_number 3
$DIR_BCS_CAL/bcsa1.ver_number 4
HISTORY:
Written Oct. 1992 by D. Zarro (Applied Research Corp).
Modified Mar'93 (Zarro ARC), to include new DIR_BCS_CAL
Modified May 93 (CDP, RAL), Add $ signs to directory logicals
and trap non-use of version variable.
4-nov-93, J. R. Lemen (LPARL), Rewritten. Changed to aways get
most recent version on $DIR_BCS_CAL
[Previous]
[Next]
NAME:
get_bcsdat
PURPOSE:
Extract the bins associated with a given channel
from the data matrix
CALLING SEQUENCE:
dd = get_bcsdat(index, data, chan)
dd = get_bcsdat(index, data, chan, n)
dd = get_bcsdat(index, data, chan, /lastbin)
INPUT:
index - BDA index
data - BDA data array
chan - Channel number (1,2,3,4) where
1 = Fe XXVI
2 = Fe XXV
3 = Ca XIX
4 = S XV
OPTIONAL INPUT:
lastbin - If present, return the last bin. Default
is not to return the last bin since it is
the "catch-all" for all events of unknown
energy
OPTIONAL OUTPUT:
nbins - the number of bins in the extracted spectra
OUTPUT:
Returns a matrix (or 1-D vector) of the bins
RESTRICTIONS:
Currently restricted to have all of the modes to have
identical modeIDs.
HISTORY:
Written by M.Morrison 7-Mar-92
Modified and renamed from EXT_BCSCHAN by D. Zarro Oct'92.
- to issue warning in event of mode change
- removed REFORM
[Previous]
[Next]
Name: get_boolean_flags
PURPOSE: convert a list of selected indices to a complete
list of boolean flags.
Formal Parameters:
nframes number of frames/flags
idx list of selected frames
Return:
flist a list of flags (nframes long) with
true values for selected indices (idx)
CALLED BY:
comp_sfr_arch
History:
written 12-Oct-95, GAL
[Previous]
[Next]
NAME:
get_box_avg
PURPOSE:
To get the average for a box subset of an image
CALLING SEQUENCE:
out = get_box_avg(data, xc, yc, xwin, ywin)
out = get_box_avg(data, xc, yc, xwin, ywin, ntot=ntot)
INPUT:
data - a data array (2-D or 3-D)
xc - center of window (line #)
yc - center of window (column #)
xwin - box size in pixels
ywin - box size in pixels (if not defined, use xwin)
OUTPUT:
returns a scalar or an array of the averages
OPTIONAL KEYWORD OUTPUT:
ntot - the number of pixels binned (the window might
have gone off the edge of the data array)
CALLED BY:
mk_sot
HISTORY:
Written 20-Apr-92 by M.Morrison
[Previous]
[Next]
NAME:
GET_BSA_ANS
PURPOSE:
get BSA processing options
CALLING SEQUENCE:
bsa_ans=get_bsa_ans(wid=wid)
OUTPUTS:
BSA_ANS - structure with options selected
OPTIONAL INPUT KEYWORDS:
WID - use widget option
CHANS,ACCUM, THRESH - channels, accumulations (secs), thresholds (counts)
CALLS: ***
MATCH [1], MATCH [2], MATCH [3], STR2ARR [1], STR2ARR [2], WBSA [1], WBSA [2]
mk_bsa_ans
CALLED BY:
MK_BSC [1], MK_BSC [2]
HISTORY:
1-Apr-93, written DMZ (ARC)
12-Apr-94, added additional keywords
16-Jun-94, added more error checking of inputs
17-Mar-97, made NO to interpolate deadtime, and YES to compute error the defaults
[Previous]
[Next]
NAME:
GET_BSA_ANS
PURPOSE:
get BSA processing options
CALLING SEQUENCE:
bsa_ans=get_bsa_ans(wid=wid)
OUTPUTS:
BSA_ANS - structure with options selected
OPTIONAL INPUT KEYWORDS:
WID - use widget option
CHANS,ACCUM, THRESH - channels, accumulations (secs), thresholds (counts)
CALLS: ***
MATCH [1], MATCH [2], MATCH [3], STR2ARR [1], STR2ARR [2], WBSA [1], WBSA [2]
mk_bsa_ans
CALLED BY:
MK_BSC [1], MK_BSC [2]
HISTORY:
1-Apr-93, written DMZ (ARC)
12-Apr-94, added additional keywords
16-Jun-94, added more error checking of inputs
[Previous]
[Next]
NAME:
GET_BSC
PURPOSE:
extract specific data products from BSC data
CALLING SEQUENCE:
data=get_bsc(bsc_index,bsc_data)
INPUTS:
bsc_data = bsc_data structure
bsc_index = bsc_index structure
KEYWORDS
chan = channel to extract
tstart = string start time to extract (def = start of data)
tend = string end time to extract (def = start of data)
name of field to extract:
counts = counts (per unit bin)
wave = wavelength array (A)
bin = physical bin positions
error = uncertainties in counts
flux = flux (ph cm-2 s-1 A-1)
eflux = uncertainties in flux
accum = accumulation time of spectrum
time = spectrum time (secs since start of day)
rate = count rate for selected channel
index = usual index
PROCEDURE:
Examines tags in BSC index and data structures.
e.g. to extract the FLUX field from channel 3:
IDL> FLUX=GET_BSC(BSC_INDEX,BSC_DATA,CHAN=3,/FLUX)
CALLS: ***
BSC_CHECK [1], BSC_CHECK [2], CHKARG, GT_BSC_BINCAL [1], GT_BSC_BINCAL [2]
GT_BSC_CRATE, GT_BSC_FLUX, GT_BSC_TIME, GT_BSC_WAVE [1], GT_BSC_WAVE [2], SEL_BSC
RESTRICTIONS:
Only 1-2 field keywords can be set at a time
HISTORY:
Written Apr'93 by D. Zarro (ARC)
6-Oct-94, Zarro, fixed bug in call to SEL_BSC
[Previous]
[Next]
NAME:
get_bsc_anno
PURPOSE:
Return text strings from BSC_INDEX to be used for Plot Annotation
CALLING SEQUENCE:
anno_str_arr = get_bsc_anno(index)
anno_str_arr = get_bsc_anno(index,/atomic) ; Returns just the atomic code information
anno_str_arr = get_bsc_anno(index,/uncert) ; Include uncertainties
INPUTS:
index = BSC index or the AINFO structure from bcs_spec
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], BSC_CHECK [1], BSC_CHECK [2]
DATATYPE [1], DATATYPE [2], DATATYPE [3], GT_BSC_CHAN [1], GT_BSC_CHAN [2]
STR2ARR [1], STR2ARR [2], bcs_broad [1], bcs_broad [2], break_file [4], bsc_vturb
fmt_tim [1], fmt_tim [2]
CALLED BY:
WBSC_LTC_EV [1], WBSC_LTC_EV [2], WBSC_SPC_EV [1], WBSC_SPC_EV [2]
bsc_spec_plot [1], bsc_spec_plot [2]
Note: the index structure must have a length of 1
OPTIONAL INPUT KEYWORDS:
atomic = If set, returns the atomic code information
vunit = If set, return broadening widths in velocity units
uncert = If set, include uncertainty in the fitting parameters
RETURNS:
A string array is returned. If input is the BSC_index, the 0'th element
of the output string array will contain a string with information about the
BCS channel number, the time and accumulation time.
MODIFICATION HISTORY:
7-oct-93, J. R. Lemen, Written
27-oct-93, JRL, Fixed the format for velocity
9 -dec-93, DMZ, added VUNIT switch; changed SHIFT to WSHIFT in output
21-Jun-94, DMZ, further propagated vunit switch
4-Jul-94, JRL, Added the uncertainty option
18-Oct-94, DMZ, made VUNIT apply to blueshifted cmpt
[Previous]
[Next]
NAME:
get_bsc_wtype
PURPOSE:
get widget type
CALLING SEQUENCE:
wtype=get_bsc_wtype(event)
INPUTS:
event = widget event number
OUTPUTS:
wtype=type of widget (base, button, slider, etc)
PROCEDURE
examines tag names in event and widget_id structures
CALLS: ***
WIDG_TYPE
CALLED BY:
WBSC_FIT_EV [1], WBSC_FIT_EV [2], WBSC_FPAR_EV [1], WBSC_FPAR_EV [2]
WBSC_LTC_EV [1], WBSC_LTC_EV [2], WBSC_SPC_EV [1], WBSC_SPC_EV [2]
HISTORY:
Zarro (ARC) - written Oct'93
[Previous]
[Next]
NAME: GET_BSD v0.9
PURPOSE: Read BSD files into IDL
CALLING SEQUENCE: GET_BSD
INPUTS: none - all prompted for
OUTPUTS: Data structures as described in BSD_STRUCT.PRO
bsd_header - header of file
bsd_rdmap - roadmap
bsd_index - record headers
bsd_data - bins/counts/wave
OPTIONAL OUTPUTS: none
RESTRICTIONS:
PROCEDURE: calls in order
bcs_getfile
rd_bsd_header
rd_bsd_rdmap
rd_bsd_data
MODIFICATION HISTORY:
JTM: (24 Oct 91) Blatant ripoff of test_rd
JTM: (13 Jan 92) Fixed so that files with
less than 4 channels can be read
ATP: (13 may 92) Updated to use new structures.
ATP: (6 july 92) changed bcs_getfile.pro
ATP: (7/7/92) Several fixes
[Previous]
[Next]
NAME: GET_BTH v0.9
PURPOSE: Read BTH files into IDL
CALLING SEQUENCE: GET_BTH
INPUTS: none - all prompted for
OUTPUTS: Data structures as described in SPC_STRUCT.PRO
spc_header - header of file
spc_rdmap - roadmap
spc_index - record headers
spc_data - bins/counts/wave
OPTIONAL OUTPUTS: none
RESTRICTIONS: The spc file is expanded into data structures
that parallel the original bsd file. Many of
the entries will be blank, where there are no
fits. header.numthe is actual number of spectra
PROCEDURE: calls in order
bcs_getfile
rd_spc_header
rd_spc_rdmap
rd_spc_data
MODIFICATION HISTORY:
JTM: (24 Oct 91) Blatant ripoff of test_rd
JTM: (13 Jan 92) Fixed so that files with
less than 4 channels can be read
ATP: (13 may 92) Updated to use new structures.
ATP: (6 july 92) changed for SPC files
ATP: (7/7/92) header, fixes, /data_only qualifier
[Previous]
[Next]
CALLED BY
halp halphaprep, halpha_prep
[Previous]
[Next]
NAME:
get_closest
PURPOSE:
for each element of the reference vector, search in vector vec for its
closest value. Returns a vector of indices.
CATEGORY:
CALLING SEQUENCE:
index = get_closest(vec,ref)
INPUTS:
vec = vector to be searched.
ref = reference vector
OUTPUTS:
index = index pointing to vec for each element of ref.
KEYWORDS (Input):
/wrap . With this option, the program uses ref modulo 24*60*60*1000
(-> ref lt 1 day in msec).
CALLED BY:
GETCAL_ATT [1], GETCAL_ATT [2], chk_flares [1], chk_flares [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
PROCEDURE:
MODIFICATION HISTORY:
JPW,
[Previous]
[Next]
Name: get_daily
Purpose: read image from daily_forecast area
Optional Keyword Parameters:
testing - if set, look at test directory (default standard daily direct)
display - if set, display image and header to window
file - explicit file name (default pops up a menu for selection)
select - if set, user menu (default is most recent if file undefined)
Output Paramters
image - daily forecast image (bytarr(512,512))
text - text string (info_array format)
Calling Sequence:
get_daily [image, text, /display , /testing, file=FILENAME]
Calling Examples:
get_daily ; display most receent composite image
get_daily, image, text, /display ; same, but return image and text
get_daily ,/select ; select from menu + display
get_daily, image, text, /testing ; look at test directory instead
get_daily, image, text. file=FILENAME ; user specified file to read
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
file_exist [1], file_exist [3], file_list [1], file_list [2], get_logenv [1]
get_logenv [2], stepper_title [1], stepper_title [2], wmenu_sel [1]
wmenu_sel [2]
History:
23-Jun-1994 (SLF)
26-Jun-1994 (SLF) minor - allow environmental DIR_SITE_FORECAST
28-Jun-1994 (SLF) SELECT kywrd, display if called with no positional
parameters, default is most recent composite
29-Jun-1994 (SLF) modifiy examples to match yesterdays modifications
[Previous]
[Next]
NAME:
get_data_rec
PURPOSE:
Return the proper data structure for the given version
number for ATT and WBS data structures
CALLING SEQUENCE:
data0 = get_data_rec('ada', pointer)
INPUT:
dtype - The data type ('ADA' or 'WBS')
pointer - the pointer stucture for the file
OUTPUT:
Returns the data structure
CALLED BY:
RD_ADA, RD_ADA_DATA
HISTORY:
Written 7-Mar-92 by M.Morrison
[Previous]
[Next]
NAME:
get_dc_image
PURPOSE:
Given an index or roadmap structure, match and
extract the closest dark current image for that exposure
CALLING SEQUENCE:
get_dc_image, index(3), dc_index, dc_data
get_dc_image, roadmap, dc_index, dc_data, imap
get_dc_image, xxx, dc_index, dc_data, times=times, res=res, dpe=dpe
get_dc_image, xxx, dc_index, dc_data, times='1-sep-92 1:00', res=0, dpe=15
unc_data = 1 ;YOU HAVE TO Pass in a defined variable to get uncertainties
get_dc_image, index(3), dc_index, dc_data, unc_data=unc_data
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The dark current index structure
data - The dark current image DECOMPRESSED
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD OUTPUT:
match_qual - The quality of the match. It is a structure with
the following fields.
.dpe = # of DPE levels away from the actual
0 is perfect match, positive means DC
is longer exposure than requested.
.time = the number of days from the requested day.
positive is for DC images taken past
the time of the input image
CALLED BY:
COMPOSITE, GO_FIND_LIM2, dark_sub [1], dark_sub [2], dark_sub [3], mk_desat
mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], sxt_clean [1], sxt_clean [2]
OPTIONAL KEYWORD INPUT:
times - MANUAL METHOD: A list of input times (any of 3 standard
formats)
res - MANUAL METHOD: The resolution required (0=full res,
1=half res, 2=quarter res)
dpe - MANUAL METHOD: The DPE level (exposure level)
nodata - If set, just return the DC_INDEX and IMAP, do not read
the data.
dc_interpolate - If set, then perform interpolation on the dark frame
images to get a better backround subtraction. Deafult is to
take the image closest in exposure.
interpolate - Same as /DC_INTERPOLATE
orbit_correct - Use the orbital correction (must also specify the
interpolate keyword for this to work).
OPTIONAL KEYWORD INPUT/OUTPUT:
unc_data - The uncertainty in the dark current, due to
decompression and interpolation. Note that this will only
be calculated if some non-zero variable is passed in using
this keyword.
METHOD:
The program will try to make an exact match to the exposure
level passed. If it cannot match, it will take the next exposure
larger which is available.
If the images requested for extraction match the images that are
passed in, then the data file is not read again.
GET_DC_IMAGE can be called manually by passing "times", "res"
and "dpe" using the keywords. All three need to be passed, however
it is possible to pass an array of times, but have res or dpe
be a scalar.
HISTORY:
Written 20-Apr-92 by M.Morrison
21-Apr-92 (MDM) - General mods/additions
1-May-92 (MDM) - Fixed trouble with "bad_match" option
15-Oct-92 (MDM) - Added /NODATA option
6-May-93 (MDM) - Modified to work on VMS (call FILE_LIST)
10-Jun-93 (MDM) - Slight modification to the /NODATA option
8-Jul-93 (MDM) - Modified to check DC_ROADMAP variable instead of
DC_INFIL variable to determine if need to read SDC
roadmap
16-Aug-93 (MDM) - Expanded search criteria such that for full resolution
PFI and ORs, it looks to get the FFI image which
will most likely overlap the PFI/OR (this is because
the FFI FR images are taken in 1024x512 strips).
18-Aug-93 (MDM) - Changed to use DIR_SXT_SDC
24-Aug-93 (MDM) - Adjusted criteria for FR search so that it works on
older data when there was only one FR dark image per set
V3.00 24-Aug-93 (MDM) - Extracted much of the selection code into the routine
SEL_DC_IMAGE (allowed cooled and warm to go through
one routine)
- Added TEMP_INPUT option
- Added /INTERPOLATE option
25-Aug-93 (MDM) - Use EXT_SUBIMG3
- Modification since SEL_DC_IMAGE now returns the
MK_DSET_STR structure (speeds up access to data file)
V3.01 1-Sep-93 (MDM) - Corrected code for case where SEL_DC_IMAGE does not
return a proper image
V3.02 7-Sep-93 (MDM) - Corrected error for when it is called for long time
spans. It was using the same image over the whole
span when the characteristics matched.
V3.03 16-Dec-93 (MDM) - Modified SEL_DC_IMAGE to not chose dark images on
the "other side" of 13-Nov-92
- Corrected code for case where no matches are found
V3.04 14-Jan-94 (MDM) - Added code to not crash if no SDC datasets are available
- Added /DC_INTERPOLATE option
- Added QERR
V3.05 3-Jun-94 (MDM) - Modification to not crash when no SDC datasets are
available AND the /INTERPOLATE option is set.
21-Sep-94 (MDM) - Updated documention header
V3.06 30-Nov-94 (MDM) - Updated SEL_DC_IMAGE logic quite a bit
- Logic changed so that the first exposure shorter and
longer than the input exposure is selected during
/DC_INTERPOLATE
- Modification to not perform interpolation if the
DPE of the exposure found matches identically.
Did it by checking MATCH_QUAL.DPE - easy!
V3.07 1-Dec-94 (MDM) - Changed the logic on printing messages about
insufficient DC images available
1-Dec-94 (MDM) - Added /FLOAT option
15-Dec-94 (MDM) - Modified to have /INTERPOLATE option work with
input specified manually
V3.08 15-Dec-94 (MDM) - Modified to have the DC_INDEX DPE/FilterA/ExpDur
updated accordingly if interpolation was used.
V3.09 7-Feb-95 (MDM) - Updated to use GT_EXPDUR with the /SHUTDUR when
finding out exposure factor when doing interpolation.
8-feb-95 (jmm) - Added UNC_DATA keyword, for uncertainty calculation
V3.10 27-Feb-95 (MDM) - Put McTiernan changes on-line
2-Mar-95 (SLF) - protect agains udata0 not defined (why??)
2-Mar-95 (MDM) - Define UDATA0 for case where a scalar dark current
value is used.
V3.11 2-Feb-98 (TRM) - Added tfactor variable to account for the orbital
variation of the dark current.
23-Mar-99 (TRM) - Added tfms to set of criteria which determines if
images can use the same dark frame, when
/orbit_correct is set. This was a bug fix.
Changed the critera to a string from long so that
tfms would fit.
02-Apr-1999 (TRM) Added week id into the val test so that new images
are selected when a week bounday is crossed.
11-Jan-2001 (LWA) [message, 'Interpolation of dark images
enabled', /info] commented out.
3-Dec_2001 (LWA) Commented out "perfect match" print statement.
[Previous]
[Next]
NAME:
get_dc_image
PURPOSE:
Given an index or roadmap structure, match and
extract the closest dark current image for that exposure
CALLING SEQUENCE:
get_dc_image, index(3), dc_index, dc_data
get_dc_image, roadmap, dc_index, dc_data, imap
get_dc_image, xxx, dc_index, dc_data, times=times, res=res, dpe=dpe
get_dc_image, xxx, dc_index, dc_data, times='1-sep-92 1:00', res=0, dpe=15
unc_data = 1 ;YOU HAVE TO Pass in a defined variable to get uncertainties
get_dc_image, index(3), dc_index, dc_data, unc_data=unc_data
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The dark current index structure
data - The dark current image DECOMPRESSED
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD OUTPUT:
match_qual - The quality of the match. It is a structure with
the following fields.
.dpe = # of DPE levels away from the actual
0 is perfect match, positive means DC
is longer exposure than requested.
.time = the number of days from the requested day.
positive is for DC images taken past
the time of the input image
CALLS: ***
DC_ORBIT_CORRECT, RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], ext_subimg3
fmt_tim [1], fmt_tim [2], get_res_offset, gt_corner, gt_day [1], gt_day [2], gt_dpe
gt_expdur [1], gt_expdur [2], gt_pfi_ffi, gt_res, gt_shape, gt_time [1], gt_time [2]
his_index, int2secarr [1], int2secarr [2], sel_dc_image [1], sel_dc_image [2]
sel_dc_image [3], str_copy_tags [1], str_copy_tags [2], str_copy_tags [3]
str_copy_tags [4], sxt_decomp [1], sxt_decomp [2], sxt_uvf_info [1]
sxt_uvf_info [2], sxt_uvf_info [3], tim2weekid, update_dpe
CALLED BY:
COMPOSITE, GO_FIND_LIM2, dark_sub [1], dark_sub [2], dark_sub [3], mk_desat
mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], sxt_clean [1], sxt_clean [2]
OPTIONAL KEYWORD INPUT:
times - MANUAL METHOD: A list of input times (any of 3 standard
formats)
res - MANUAL METHOD: The resolution required (0=full res,
1=half res, 2=quarter res)
dpe - MANUAL METHOD: The DPE level (exposure level)
nodata - If set, just return the DC_INDEX and IMAP, do not read
the data.
dc_interpolate - If set, then perform interpolation on the dark frame
images to get a better backround subtraction. Deafult is to
take the image closest in exposure.
interpolate - Same as /DC_INTERPOLATE
orbit_correct - Use the orbital correction (must also specify the
interpolate keyword for this to work).
OPTIONAL KEYWORD INPUT/OUTPUT:
unc_data - The uncertainty in the dark current, due to
decompression and interpolation. Note that this will only
be calculated if some non-zero variable is passed in using
this keyword.
METHOD:
The program will try to make an exact match to the exposure
level passed. If it cannot match, it will take the next exposure
larger which is available.
If the images requested for extraction match the images that are
passed in, then the data file is not read again.
GET_DC_IMAGE can be called manually by passing "times", "res"
and "dpe" using the keywords. All three need to be passed, however
it is possible to pass an array of times, but have res or dpe
be a scalar.
HISTORY:
Written 20-Apr-92 by M.Morrison
21-Apr-92 (MDM) - General mods/additions
1-May-92 (MDM) - Fixed trouble with "bad_match" option
15-Oct-92 (MDM) - Added /NODATA option
6-May-93 (MDM) - Modified to work on VMS (call FILE_LIST)
10-Jun-93 (MDM) - Slight modification to the /NODATA option
8-Jul-93 (MDM) - Modified to check DC_ROADMAP variable instead of
DC_INFIL variable to determine if need to read SDC
roadmap
16-Aug-93 (MDM) - Expanded search criteria such that for full resolution
PFI and ORs, it looks to get the FFI image which
will most likely overlap the PFI/OR (this is because
the FFI FR images are taken in 1024x512 strips).
18-Aug-93 (MDM) - Changed to use DIR_SXT_SDC
24-Aug-93 (MDM) - Adjusted criteria for FR search so that it works on
older data when there was only one FR dark image per set
V3.00 24-Aug-93 (MDM) - Extracted much of the selection code into the routine
SEL_DC_IMAGE (allowed cooled and warm to go through
one routine)
- Added TEMP_INPUT option
- Added /INTERPOLATE option
25-Aug-93 (MDM) - Use EXT_SUBIMG3
- Modification since SEL_DC_IMAGE now returns the
MK_DSET_STR structure (speeds up access to data file)
V3.01 1-Sep-93 (MDM) - Corrected code for case where SEL_DC_IMAGE does not
return a proper image
V3.02 7-Sep-93 (MDM) - Corrected error for when it is called for long time
spans. It was using the same image over the whole
span when the characteristics matched.
V3.03 16-Dec-93 (MDM) - Modified SEL_DC_IMAGE to not chose dark images on
the "other side" of 13-Nov-92
- Corrected code for case where no matches are found
V3.04 14-Jan-94 (MDM) - Added code to not crash if no SDC datasets are available
- Added /DC_INTERPOLATE option
- Added QERR
V3.05 3-Jun-94 (MDM) - Modification to not crash when no SDC datasets are
available AND the /INTERPOLATE option is set.
21-Sep-94 (MDM) - Updated documention header
V3.06 30-Nov-94 (MDM) - Updated SEL_DC_IMAGE logic quite a bit
- Logic changed so that the first exposure shorter and
longer than the input exposure is selected during
/DC_INTERPOLATE
- Modification to not perform interpolation if the
DPE of the exposure found matches identically.
Did it by checking MATCH_QUAL.DPE - easy!
V3.07 1-Dec-94 (MDM) - Changed the logic on printing messages about
insufficient DC images available
1-Dec-94 (MDM) - Added /FLOAT option
15-Dec-94 (MDM) - Modified to have /INTERPOLATE option work with
input specified manually
V3.08 15-Dec-94 (MDM) - Modified to have the DC_INDEX DPE/FilterA/ExpDur
updated accordingly if interpolation was used.
V3.09 7-Feb-95 (MDM) - Updated to use GT_EXPDUR with the /SHUTDUR when
finding out exposure factor when doing interpolation.
8-feb-95 (jmm) - Added UNC_DATA keyword, for uncertainty calculation
V3.10 27-Feb-95 (MDM) - Put McTiernan changes on-line
2-Mar-95 (SLF) - protect agains udata0 not defined (why??)
2-Mar-95 (MDM) - Define UDATA0 for case where a scalar dark current
value is used.
V3.11 2-Feb-98 (TRM) - Added tfactor variable to account for the orbital
variation of the dark current.
23-Mar-99 (TRM) - Added tfms to set of criteria which determines if
images can use the same dark frame, when
/orbit_correct is set. This was a bug fix.
Changed the critera to a string from long so that
tfms would fit.
02-Apr-1999 (TRM) Added week id into the val test so that new images
are selected when a week bounday is crossed.
11-Jan-2001 (LWA) [message, 'Interpolation of dark images
enabled', /info] commented out.
3-Dec_2001 (LWA) Commented out "perfect match" print statement.
[Previous]
[Next]
NAME:
get_dc_image
PURPOSE:
Given an index or roadmap structure, match and
extract the closest dark current image for that exposure
CALLING SEQUENCE:
get_dc_image, index(3), dc_index, dc_data
get_dc_image, roadmap, dc_index, dc_data, imap
get_dc_image, xxx, dc_index, dc_data, times=times, res=res, dpe=dpe
get_dc_image, xxx, dc_index, dc_data, times='1-sep-92 1:00', res=0, dpe=15
unc_data = 1 ;YOU HAVE TO Pass in a defined variable to get uncertainties
get_dc_image, index(3), dc_index, dc_data, unc_data=unc_data
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The dark current index structure
data - The dark current image DECOMPRESSED
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD OUTPUT:
match_qual - The quality of the match. It is a structure with
the following fields.
.dpe = # of DPE levels away from the actual
0 is perfect match, positive means DC
is longer exposure than requested.
.time = the number of days from the requested day.
positive is for DC images taken past
the time of the input image
CALLS: ***
DC_ORBIT_CORRECT, RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], ext_subimg3
fmt_tim [1], fmt_tim [2], get_res_offset, gt_corner, gt_day [1], gt_day [2], gt_dpe
gt_expdur [1], gt_expdur [2], gt_pfi_ffi, gt_res, gt_shape, gt_time [1], gt_time [2]
his_index, int2secarr [1], int2secarr [2], sel_dc_image [1], sel_dc_image [2]
sel_dc_image [3], str_copy_tags [1], str_copy_tags [2], str_copy_tags [3]
str_copy_tags [4], sxt_decomp [1], sxt_decomp [2], sxt_uvf_info [1]
sxt_uvf_info [2], sxt_uvf_info [3], tim2weekid, update_dpe
CALLED BY:
COMPOSITE, GO_FIND_LIM2, dark_sub [1], dark_sub [2], dark_sub [3], mk_desat
mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], sxt_clean [1], sxt_clean [2]
OPTIONAL KEYWORD INPUT:
times - MANUAL METHOD: A list of input times (any of 3 standard
formats)
res - MANUAL METHOD: The resolution required (0=full res,
1=half res, 2=quarter res)
dpe - MANUAL METHOD: The DPE level (exposure level)
nodata - If set, just return the DC_INDEX and IMAP, do not read
the data.
dc_interpolate - If set, then perform interpolation on the dark frame
images to get a better backround subtraction. Deafult is to
take the image closest in exposure.
interpolate - Same as /DC_INTERPOLATE
orbit_correct - Use the orbital correction (must also specify the
interpolate keyword for this to work).
OPTIONAL KEYWORD INPUT/OUTPUT:
unc_data - The uncertainty in the dark current, due to
decompression and interpolation. Note that this will only
be calculated if some non-zero variable is passed in using
this keyword.
METHOD:
The program will try to make an exact match to the exposure
level passed. If it cannot match, it will take the next exposure
larger which is available.
If the images requested for extraction match the images that are
passed in, then the data file is not read again.
GET_DC_IMAGE can be called manually by passing "times", "res"
and "dpe" using the keywords. All three need to be passed, however
it is possible to pass an array of times, but have res or dpe
be a scalar.
HISTORY:
Written 20-Apr-92 by M.Morrison
21-Apr-92 (MDM) - General mods/additions
1-May-92 (MDM) - Fixed trouble with "bad_match" option
15-Oct-92 (MDM) - Added /NODATA option
6-May-93 (MDM) - Modified to work on VMS (call FILE_LIST)
10-Jun-93 (MDM) - Slight modification to the /NODATA option
8-Jul-93 (MDM) - Modified to check DC_ROADMAP variable instead of
DC_INFIL variable to determine if need to read SDC
roadmap
16-Aug-93 (MDM) - Expanded search criteria such that for full resolution
PFI and ORs, it looks to get the FFI image which
will most likely overlap the PFI/OR (this is because
the FFI FR images are taken in 1024x512 strips).
18-Aug-93 (MDM) - Changed to use DIR_SXT_SDC
24-Aug-93 (MDM) - Adjusted criteria for FR search so that it works on
older data when there was only one FR dark image per set
V3.00 24-Aug-93 (MDM) - Extracted much of the selection code into the routine
SEL_DC_IMAGE (allowed cooled and warm to go through
one routine)
- Added TEMP_INPUT option
- Added /INTERPOLATE option
25-Aug-93 (MDM) - Use EXT_SUBIMG3
- Modification since SEL_DC_IMAGE now returns the
MK_DSET_STR structure (speeds up access to data file)
V3.01 1-Sep-93 (MDM) - Corrected code for case where SEL_DC_IMAGE does not
return a proper image
V3.02 7-Sep-93 (MDM) - Corrected error for when it is called for long time
spans. It was using the same image over the whole
span when the characteristics matched.
V3.03 16-Dec-93 (MDM) - Modified SEL_DC_IMAGE to not chose dark images on
the "other side" of 13-Nov-92
- Corrected code for case where no matches are found
V3.04 14-Jan-94 (MDM) - Added code to not crash if no SDC datasets are available
- Added /DC_INTERPOLATE option
- Added QERR
V3.05 3-Jun-94 (MDM) - Modification to not crash when no SDC datasets are
available AND the /INTERPOLATE option is set.
21-Sep-94 (MDM) - Updated documention header
V3.06 30-Nov-94 (MDM) - Updated SEL_DC_IMAGE logic quite a bit
- Logic changed so that the first exposure shorter and
longer than the input exposure is selected during
/DC_INTERPOLATE
- Modification to not perform interpolation if the
DPE of the exposure found matches identically.
Did it by checking MATCH_QUAL.DPE - easy!
V3.07 1-Dec-94 (MDM) - Changed the logic on printing messages about
insufficient DC images available
1-Dec-94 (MDM) - Added /FLOAT option
15-Dec-94 (MDM) - Modified to have /INTERPOLATE option work with
input specified manually
V3.08 15-Dec-94 (MDM) - Modified to have the DC_INDEX DPE/FilterA/ExpDur
updated accordingly if interpolation was used.
V3.09 7-Feb-95 (MDM) - Updated to use GT_EXPDUR with the /SHUTDUR when
finding out exposure factor when doing interpolation.
8-feb-95 (jmm) - Added UNC_DATA keyword, for uncertainty calculation
V3.10 27-Feb-95 (MDM) - Put McTiernan changes on-line
2-Mar-95 (SLF) - protect agains udata0 not defined (why??)
2-Mar-95 (MDM) - Define UDATA0 for case where a scalar dark current
value is used.
V3.11 2-Feb-98 (TRM) - Added tfactor variable to account for the orbital
variation of the dark current.
23-Mar-99 (TRM) - Added tfms to set of criteria which determines if
images can use the same dark frame, when
/orbit_correct is set. This was a bug fix.
Changed the critera to a string from long so that
tfms would fit.
02-Apr-1999 (TRM) Added week id into the val test so that new images
are selected when a week bounday is crossed.
11-Jan-2001 (LWA) [message, 'Interpolation of dark images
enabled', /info] commented out.
3-Dec_2001 (LWA) Commented out "perfect match" print statement.
[Previous]
[Next]
NAME:
get_dc_rate
PURPOSE:
For a given time(s) return the dark current rate in full res DN/sec
CALLING SEQUENCE:
dc_rate = get_dc_rate(roadmap(0))
dc_rate = get_dc_rate('1-jan-92', /hr)
INPUT:
input1 - The time(s) in any of the 3 standard formats
CALLS: ***
int2secarr [1], int2secarr [2]
CALLED BY:
dark_sub [1], dark_sub [2], dark_sub [3]
OPTIONAL KEYWORD INPUT:
hr - If set, return in HR DN/Sec
qr - If set, return in QR DN/Sec
OUTPUT:
Returns dark current rate in full resolution DN per second
HISTORY:
Written 14-Oct-92 by M.Morrison
[Previous]
[Next]
NAME:
get_dc_warm
PURPOSE:
Given an index structure, match and extract the closest dark
current image for that exposure (look at DPE, resolution, and
temperature)
CALLING SEQUENCE:
get_dc_image, index(3), dc_index, dc_data
INPUT:
struct_in - An index structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
Unlike "get_dc_image", this routine will not
accept the roadmap as input (the temperature is
not stored in the roadmap).
OUTPUT:
index - The dark current index structure
data - The dark current image
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD OUTPUT:
match_qual - The quality of the match. It is a structure with
the following fields.
.dpe = # of DPE levels away from the actual
0 is perfect match, positive means DC
is longer exposure than requested.
.time = the number of days from the requested day.
positive is for DC images taken past
the time of the input image
.temp = the number of degress of the match it is.
METHOD:
The program will try to make an exact match to the exposure
level passed. If it cannot match, it will take the next exposure
larger which is available.
If the images requested for extraction match the images that are
passed in, then the data file is not read again.
CALLS: ***
RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], file_list [1], file_list [2]
gt_dpe, gt_res, gt_temp_ccd, int2secarr [1], int2secarr [2]
CALLED BY:
GO_FIND_LIM2
HISTORY:
Written 26-Apr-92 by M.Morrison (using "get_dc_image" as a start)
1-May-92 (MDM) - Fixed trouble with "bad_match" option
25-Jan-93 (MDM) - Return a zero value when no match is found for
data and for index
6-May-93 (MDM) - Modified to work with VMS (used FILE_LIST)
18-Aug-93 (MDM) - Changed directory to DIR_SXT_SDW
[Previous]
[Next]
NAME:
get_def
PURPOSE:
Returns a string containing a definintion of the variable passed
CATEGORY:
CALLING SEQUENCE:
get_def(var)
INPUTS:
var = variable whose definition is found
OPTIONAL INPUT PARAMETERS:
none
KEYWORD PARAMETERS
str_name_only = Specify only the name of structures in the definition.
This is useful to avoid errors when a structure might
be defined twice.
OUTPUTS:
string containing the definition of the variable
CALLED BY:
BFITS, DO_TEEM, add2str [1], add2str [2], substruc
COMMON BLOCKS:
None
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
Uses the output from the SIZE command to generate the definition,
Structures are defined recursively.
MODIFICATION HISTORY:
TRM 5/91
TRM 11/92 o Returns strings as 'SSSSS' rather than "hello" to account
for spaces which previously got removed.
o Works correctly for arrays of structures now
[Previous]
[Next]
NAME:
get_del_pnt
PURPOSE:
Given a set of input times, find the offset in pointing
due to S/C pointing changes relative to a reference.
SAMPLE CALLING SEQUENCE:
offset = get_del_pnt(index)
INPUT:
times - A set of times in an of the 3 standard formats
OPTIONAL INPUT:
ref - The reference time to use for finding the offsets
relative to. If not passed, it will use the first
time in the input array.
OUTPUT:
returns a vector 3xN of offsets in arcseconds relative to the
reference time of the S/C commanded pointing changes.
(0) = East/West with East negative
(1) = North/South with South negative
(2) = Roll (
It does not take into account the 1 arcminute drift in pointing
generally seen over an orbit. Changes in the pointing bias value
are taken into account.
CALLS: ***
INTERPOL, anytim2ints [1], anytim2ints [2], int2secarr [1], int2secarr [2]
rd_pnt_hist
CALLED BY:
XMOVIE_SFM, sxt_cmd_pnt
HISTORY:
Written 30-Nov-92 by M.Morrison
[Previous]
[Next]
Name: get_dirtree
Purpose: given a dir. path return a list of files from a tree
starting at that point. The list of files have the
fully qualified path.
Calling:
files = get_dirtree(dpath, sizes=sizes, totsize=totsize)
CALLS: ***
file_list [1], file_list [2], file_size [1], file_size [2], get_subdirs [1]
get_subdirs [2]
CALLED BY:
prep_gendat
History: written, 29-Aug-95, GAL
[Previous]
[Next]
NAME:
get_dn_rate
PURPOSE:
Return the Day/night status, rate and saa status for EVENT items
INPUTS:
event = The event structure from op_get_event
OUTPUTS:
dn = Byte array 0: Night, 1: Day
rate = Byte array 0: High, 1: Med
saa = Byte array 0: No SAA, 1: in SAA
CALLS: ***
ADDTIME [1], ADDTIME [2], BSORT [1], BSORT [2], BSORT [3], BSORT [4], Ex2Int [1]
Ex2Int [2], STR2ARR [1], STR2ARR [2], contact_sum, fmt_pass, fmt_tim [1]
fmt_tim [2], input [1], input [2], make_32 [1], make_32 [2], op_saa_med [1]
op_saa_med [2], save_event [1], save_event [2], str_replace [1], str_replace [2]
valid_pass4 [1], valid_pass4 [2]
CALLED BY:
make_32 [2], op_saa_med [1], op_saa_med [2], valid_pass4 [1], valid_pass4 [2]
MODIFICATION HISTORY:
14-jun-94, JRL, Written
24-jun-94, JRL, Fixed a bug which caused rate/saa/dn to be not checked
until after KSC Pass 2
28-feb-97, JRL, Define initial night times as -1
7-mar-97, JRL, Use actual (+55) or disabled DAY OGs (-55) to define Day
[Previous]
[Next]
NAME:
get_dn_rate
PURPOSE:
Return the Day/night status, rate and saa status for EVENT items
INPUTS:
event = The event structure from op_get_event
OUTPUTS:
dn = Byte array 0: Night, 1: Day
rate = Byte array 0: High, 1: Med
saa = Byte array 0: No SAA, 1: in SAA
CALLS: ***
ADDTIME [1], ADDTIME [2], BSORT [1], BSORT [2], BSORT [3], BSORT [4], Ex2Int [1]
Ex2Int [2], STR2ARR [1], STR2ARR [2], contact_sum, fmt_pass, fmt_tim [1]
fmt_tim [2], input [1], input [2], make_32 [1], make_32 [2], op_saa_med [1]
op_saa_med [2], save_event [1], save_event [2], str_replace [1], str_replace [2]
valid_pass4 [1], valid_pass4 [2]
CALLED BY:
make_32 [2], op_saa_med [1], op_saa_med [2], valid_pass4 [1], valid_pass4 [2]
MODIFICATION HISTORY:
14-jun-94, JRL, Written
24-jun-94, JRL, Fixed a bug which caused rate/saa/dn to be not checked
until after KSC Pass 2
[Previous]
[Next]
Name: get_doc
Purpose: retrieve a subset of idl header info. in a standard structure
Input Parameters:
modules - string or string array of idl module names
Output Paramters:
function returns a vector of documentation structures
Optional Keyword Parameters:
quiet - if set, no output (just return documentation structures)
summ - if set, brief output (fmt_doc(doc_str)) - default
full - if set, full header is printed
Method:
calls get1doc for each element of modules
Calling Sequence: docstrs=get_doc(modules)
CALLS:
[Previous]
[Next]
NAME:
get_elapse_time
PURPOSE:
Calls elapse_time to get Non-night times between Yohkoh pases or
non-SAA times between ASCA passes.
CALLING SEQUENCE:
new_use_code = get_elapse_time(pass,use_code,elapse_total,elapse_exclude,$
time_elaps [,/asca,/optomize])
INPUTS:
pass - The DSN pass structure
use_code - Vector describing use of the pass (1=use the pass)
RETURNS:
If the /optomize switch is set, new_use_code is updated, otherwise,
the input use_code is returned with 3 set to 1.
OUTPUTS:
elapse_total - Total time between pases (but not included the pass itself)
elapse_exclude- elapse_total - T_SAA for ASCA or elapse_total - T_Night for Yohkoh
time_elaps - String vector that is used for the output format.
OPTIONAL INPUT PARAMETERS:
asca - If set, will process the ASCA contacts, otherwise, process Yohkoh.
optomize - If set, call dsn_pass_opt to optimize pass slection
MODIFICATION HISTORY:
4-aug-94, J. R. Lemen (LPARL), Written.
[Previous]
[Next]
NAME:
get_elemabun
PURPOSE:
Return elemental abundances. H = 1, He = (approx) .2, etc.
CALLING SEQUENCE:
abun = get_elemabun() ; Return default
abun = get_elemabun(Num,info=info) ; info is an information string
INPUTS:
Num = Number of the abundance values to use. See data statements
below for the descriptions.
OPTIONAL INTPUT KEYWORDS:
verbose = Give some information while running
OPTIONAL OUTPUT KEYWORDS:
Info = Information string
7-Oct-93, J. R. Lemen (LPARL), Written
CALLS:
CALLED BY
bcs_line
[Previous]
[Next]
Purpose: for a given date, and filter combination,
return the file names for all sfcs of that filter
combination in that epoch.
CALLS: ***
BOX_MESSAGE, FILE2TIME, RD_XDA [1], RD_XDA [2], anytim [1], anytim [2], anytim [3]
anytim [4], anytim [5], get_logenv [1], get_logenv [2], get_yo_dates [1]
get_yo_dates [2], get_yo_dates [3], gt_filta, gt_filtb, sel_filetimes [1]
sel_filetimes [2], ssw_time_compare, sxt_cen [1], sxt_cen [2], ut_time [1]
ut_time [2]
History:
Circa Oct 2000 - Phil Shirts
9-Jan-2000 - S.L.Freeland - return null string if no SFC matches
(previous stopped via 'message' )
8-May-2001 - S.L.Freeland - add a sort on output files
(epoch 5 spans millenum = y2K non chronological)
17-jul-2001 - S.L.Freeland - add /POINTING_CONSTRAINT
[Previous]
[Next]
Purpose: for a given date, and filter combination,
return the file names for all sfcs of that filter
combination in that epoch.
CALLS: ***
BOX_MESSAGE, FILE2TIME, RD_XDA [1], RD_XDA [2], anytim [1], anytim [2], anytim [3]
anytim [4], anytim [5], get_logenv [1], get_logenv [2], get_yo_dates [1]
get_yo_dates [2], get_yo_dates [3], gt_filta, gt_filtb, sel_filetimes [1]
sel_filetimes [2], ssw_time_compare, sxt_cen [1], sxt_cen [2], ut_time [1]
ut_time [2]
History:
Circa Oct 2000 - Phil Shirts
9-Jan-2000 - S.L.Freeland - return null string if no SFC matches
(previous stopped via 'message' )
8-May-2001 - S.L.Freeland - add a sort on output files
(epoch 5 spans millenum = y2K non chronological)
17-jul-2001 - S.L.Freeland - add /POINTING_CONSTRAINT
[Previous]
[Next]
Name:
get_expdur
Purpose:
Calculate the actual exposure duration of an image. The
returned value is in millisec.
Input:
index - the SXT index structure (ie: index, not index.sxt)
OPTIONAL INPUT:
shutdur - If this keyword is set, the SHUTTER duration is
returned, not the effective exposure duration
which takes into account the 8% mask.
Output:
returns - the measured exposure duration (in msec)
OPTIONAL OUTPUT:
exp_expdur - the expected exposure duration (in msec)
dpe - DP exposure level
Modification History
Written 1-Oct-91 by M.Morrison
6-Nov-91 (MDM) - Added DPE output option
- Made the check for the 10% mask and adjusted
the exposure duration if present (this option
can be avoided by using the /SHUTDUR switch)
- Removed option to pass "expdur" and "explev"
separately
13-Nov-91 MDM - Removed the routine - should use GT_DPE and
GT_EXPDUR instead.
CALLS:
[Previous]
[Next]
Name:
get_explat
Purpose:
Calculate the actual exposure latency of an image. The
returned value is in millisec.
Input:
explat - the exposure latency measured (from the
SXTE-U mailbox)
OR
the SXT index structure (ie: index, not index.sxt)
Modification History
Written 1-Oct-91 by M.Morrison
CALLED BY
mk_ssl
[Previous]
[Next]
NAME:
GET_FLARE_DISK
PURPOSE:
Find the flareN disk location of a given "infil" as returned
for example by YODAT.
CATEGORY:
Yohkoh
CALLING SEQUENCE:
disk = get_flare_disk(infil)
INPUTS:
string
OPTIONAL (KEYWORD) INPUT PARAMETERS:
ROUTINES CALLED
OUTPUTS:
filespec for HXT data, based on flareN disk names
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
Only does HXT data right now.
Only works at ISAS.
MODIFICATION HISTORY:
HSH, written 5-Aug-95
[Previous]
[Next]
Name:
get_fname
Purpose:
Call IDL findfile routine to get filename given a path.
Inputs:
path = String containing path a pattern for file search
Calling Sequence:
file_name = get_fname(path)
CALLS: ***
input [1], input [2]
Procedure:
Call findfile(path) and then display the results and prompt the
user to enter the index of the desired file.
Modification History:
written, 21-oct-91, JRL
updated, 11-nov-91, JRL; Don't request input if only one selection
[Previous]
[Next]
Name: get_fninfo
Purpose: decode and return fnmap information
Input Parameters:
fn - fnmap containing information for all instr.
Output - function returns array of file names
Output Parameters:
limits = 2D array [number files x 2]
Modification History; revision 1, slf, 10/13/91
CALLS: ***
STR2ARR [1], STR2ARR [2]
CALLED BY:
fnmap2file, mk_dset_str [1], mk_dset_str [2]
Restrictions: need to fill in other instruments
[Previous]
[Next]
NAME:
GET_FRAME_TIME
PURPOSE:
To obtain start or end time for HXT data. Thir program is a upgrade
version of GT_FRAME_TIME.
CALLING SEQUENCE:
xx = GET_FRAME_TIME(index, fr)
xx = GET_FRAME_TIME(index, fr, startfr=startfr, endfr=endfr, $
string_expression=string_expression)
INPUT:
index - HXT index.
CALLS: ***
MAKE_TIMSTR, anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2]
gt_day [1], gt_day [2], gt_dp_mode [1], gt_dp_mode [2], gt_dp_rate [1]
gt_dp_rate [2], gt_time [1], gt_time [2]
CALLED BY:
GT_FRAME_TIME, HXT_TIME2FRAME
OPTIONAL KEYWORD INPUT:
fr - Frame number ID (0,1,2,3) that specifies portion of a single
Major frame during the Flare Mode. Note that this variable
does not work for frames with Quiet mode. If omitted, then
fr = 0 is assumed.
startfr - Dummy option.
endfr - If set, then the accumulation end time will
be returned.
string_expression - If set, then the result is returned with the
string format. Default is to be returned
with then INTS format (i.e., a structure
with .DAY and .TIME).
OUTPUT:
xx - INTS formatted time information.
CATEGORY:
Yohkoh HXT data analysis.
HISTORY:
version 1.0 98.06.25 (Thu) T.Sakao written.
1.1 98.06.26 (Fri) `fr' changed to an optional input.
[Previous]
[Next]
NAME:
get_gbo_pfi
PURPOSE:
Given a SXT PFI index and either the file name of a ground
based image, or the ground based image itself, GET_GBO_PFI will
extract the portion of the GBO image corresponding to the SXT PFI.
SAMPLE CALLING SEQUENCE:
gbo_img = get_gbo_pfi(index, gbo_fullimg, gbo_time)
gbo_img = get_gbo_pfi(index,'/yd5/gbo91_46a/gkm911116.1958')
METHOD/LIMITATIONS:
DSK_LOCB is called to find the center of the sun, so the GBO image must
be a full disk image and have a well defined limb.
INPUTS:
index - The SXT PFI index
input1 - The GBO file name. In this case, the date and time are extracted
from the file header so it must be the Yohkoh format for the file
name.
or
The actual GBO image.
input2 - The GBO date/time (only needed if "input1" is the GBO image
and not the file name).
OPTIONAL KEYWORD INPUTS:
mask - If set, then call GBO_MASK to "clean up" the GBO image
of writing on the image.
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], GBO_MASK, RFITS2 [1], RFITS2 [2]
anytim2ex [1], anytim2ex [2], break_file [4], coal_image, conv_p2h [1]
conv_p2h [2], data_type [1], data_type [2], dsk_locb, fid2ex [1], fid2ex [2]
get_rb0p [1], get_rb0p [2], gt_corner, gt_pix_size, gt_shape, track_h2a [1]
track_h2a [2], track_h2a [3]
HISTORY:
Written 12-Jan-94 by M.Morrison using Alan McAllister's GBO_PFI
routine as the conceptual starting point.
21-Mar-94 (SLF) Doc Header
[Previous]
[Next]
Name: get_goes_defsat
Purpose: return time dependent GOES satellite number
Input Parameters:
start_time - time or start time of range
stop_time - optional stop time (if range)
Output:
function returns time dependent GOES satellite number ("default")
Keyword Parameters:
check_sswdb - (switch) - if set, verify dbase is online
online (output) - boolean - 1 if dbase is available
string_return - (switch) - if set, output is string Sat#
CALLS: ***
anytim [1], anytim [2], anytim [3], anytim [4], anytim [5], reltime [1], reltime [2]
ssw_deltat
CALLED BY:
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
rd_gxd [1], rd_gxd [2], rd_gxd [3]
History:
16-Apr-2003 - S.L.Freeland rd_gxd/plot_goes helper
[Previous]
[Next]
NAME:
get_gol_site
PURPOSE:
Given a GBO Observing Log structure or a string array, return
a the description of site
SAMPLE CALLING SEQUENCE:
a = get_gol_site(gol)
a = get_gol_site('h')
INPUT:
item - The input GOL structure or string
OUTPUT:
a string array the same length as the input with the description
of the site
CALLS: ***
help_prefix
CALLED BY:
get1gbo
HISTORY:
Written 21-Apr-93 by M.Morrison
[Previous]
[Next]
NAME:
get_gol_type
PURPOSE:
Given a GBO Observing Log structure or a string array, return
a the description of the image type
SAMPLE CALLING SEQUENCE:
a = get_gol_type(gol)
a = get_gol_type('h')
INPUT:
item - The input GOL structure or string
OUTPUT:
a string array the same length as the input with the description
of the image type
CALLS: ***
help_prefix
HISTORY:
Written 21-Apr-93 by M.Morrison
[Previous]
[Next]
NAME:
get_helio_dist
PURPOSE:
calculate/ store spot positions
in units of Mm on the solar surface (heliographic coords)
default - use magnetic field/white light data in IDL structure
format, as per standard in Hawaii Stokes/IVM data.
However, can be used with generic white-light image,
with additional information given.
Can remove previous points if necessary, can save image of
where you clicked, etc.
CATEGORY:
data analysis
CALLING SEQUENCE:
disarr=get_helio_dist(mag,year,month,day,hour,bin=bin,image=image,$
/contour,/polarity,/quiet,im_out=im_out,offset=offset)
INPUTS:
mag: magnetic field structure, *with pointing info!*
year: e.g. 1992
month: 0-12
day: 0-31
hour: decimal, eg 1.5 for 01:30
KEYWORD PARAMETERS:
contour = if set, then will contour the white-light (or image specified
with image keyword) - default is to tvscl...
quiet = if set, doesn't print out ephemeris info (default is to print)
origin = if set, then the lat,cmd position of the input image
is at the bottom left corner - else assumed at the center
polarity = if set, returned array includes polarity information:
-1 for negative vertical field, +1 for positive.
mag structure MUST have bz if this input is included
degrees = if set, assumes lat/cmd input in optional 'point' input
are in degrees, not radians (default)
OPTIONAL INPUTS:
image = if named, will bytscl or contour the named image under the grid
instead of the white-light image
bin = if set, the factor by which to bin up for displaying the image
overwritten by zoom.
zoom = if set, interpolates the data up by this factor. The
center of the (contour, spot image) is often better resolved
than the center of the pixel, so this avoids nasty jumps in
output.
point=array of pointing info, if 'mag' is not a magnetic field
structure, but an image. Array=[latitude,cmd,pixel_size]
where latitude and cmd are RADIANS N/W > 0 of either the
center pixel or a known pixel in conjunction with the
'offset' keyword. Pixel size is in arcsec/pixel
e.g. point=[0.3121,-0.0611,5.65]
offset = array telling where the known coordinate is, if not at
image center. must be consistent with frame_trans
at this point (origin at lower right corner.)
OUTPUTS:
disarr = array of spot positions relative to image center
in x,y (units of Mm) (fltarr(7,n) where n=number of
spots clicked upon: disarr(0,*) = point number (starting
at 0), disarr(1,*) = x-position and disarr(2,*) = y-position
if set:disarr(3,*)=spot polarity (+ or -1)
OPTIONAL OUTPUTS:
im_out = if named, returns a tvrd of the contour/image & points
CALLS: ***
GET_HEL_DIS, SIGN, SPECIALCT, SUN [1], SUN [2], frame_trans, set_xform [1]
set_xform [2]
COMMON BLOCKS:
SIDE EFFECTS:
sets color index 1 to red & index 2 to very dark red
RESTRICTIONS:
Needs functions:sign.pro
set_xform.pro
sun.pro
specialct.pro
frame_trans.pro
coord.pro
PROCEDURE:
Click the left button on the image/contour map displayed
to record the position of a feature. Position is indicated
on the image annotated with the point number, and the point
is stored in an array (in units of Mm from heliographic center
Click the middle button (anywhere in the frame) to delete
last point.
Click right button to exit, and array with positions is returned.
To save the image/contour used, the window is preserved
so that the user can save it using tvrd.
MODIFICATION HISTORY:
KDL, written November 1992
KDL, fixed x,y-grid problem 11/28/92
KDL, added delete-last-click feature 2/17/93
KDL, added polarity recording feature 2/17/93
KDL, added im_out, relative options (finally!) 5/3/93
KDL, cleaned up/compacted code (again, finally!) 5/10/93
and added non-mag structure options
KDL, added degrees and made it interpolate (zoom) 7/7/93
KDL, removed relative option, made offset handling better 4/2/94
[Previous]
[Next]
NAME: GET_HXT_CAL_WIDTHS
PURPOSE: Reads the database file giving the PHA channel widths (relative)
for each of 64 channels for each of 64 sensors
CATEGORY: YOHKOH/HXT
CALLING SEQUENCE: Widths = GET_HXT_CAL_WIDTHS()
CALLED BY:
CALLS: ***
BREAK_PATH [1], BREAK_PATH [2], BREAK_PATH [3], LOC_FILE [1], LOC_FILE [2]
LOC_FILE [3]
INPUTS:
none explicit,
OPTIONAL INPUTS:
none
OUTPUTS:
Widths: Result of the function, fltarr(64channels x 64 sensors)
OPTIONAL OUTPUTS:
none
CALLED BY:
HXT_CAL_FIX [1], HXT_CAL_FIX [2]
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
none
PROCEDURE:
none
MODIFICATION HISTORY:
ras, 30-jan-1996
[Previous]
[Next]
NAME:
get_hxt_pos
PURPOSE:
To get the HXT flare position address. The options are
1. To read the $DIR_HXT_CAL/hxt_flare_pos.txt file to
see if the time is in that list.
2. Use the GOES heliocentric location to determine
the address
3. Use an SXT image index to define the address
4. Pass in heliocentric coordinates and convert them
5. Ask for user to specify HXT address directly
The default is to check in the order shown here until matches
are found.
SAMPLE CALLING SEQUENCE:
hxt_pos = get_hxt_pos(times)
hxt_pos = get_hxt_pos('20-dec-92 3:32', helio='N32W23')
hxt_pos = get_hxt_pos(sxt_struct=sxt_struct)
hxt_pos = get_hxt_pos(times, /get_sxt)
hxt_pos = get_hxt_pos(times, /get_goes)
OPTIONAL INPUTS:
times - The times that the HXT address is wanted.
OPTIONAL KEYWORD INPUTS:
get_sxt - If set, then read the SXT observing log, find the PFI
with the closest time, and convert from SXT coordinates
to HXT coordinates.
get_goes - If set, then read the GOES event log and find the
heliocentric coordinates of the flare event. Convert to
HXT address
nouser - If set, then do not ask the user for coordinates
helio - You can pass a heliocentric coordinate and date, and it
will derive the HXT address
sxt_struct - You can pass an SXT roadmap, index, or observing log
entry and it will calculate the HXT address from it.
OPTIONAL KEYWORD OUTPUT:
status - The status of finding the hxt address
-1: did not make a match
1: found it in the HXT flare list
2: found from an SXT image
3: found from the GOES event
4: found from a heliocentric coordinate which was
passed in.
5: user manually entered the value
CALLS: ***
CONV_P2HXT [1], CONV_P2HXT [2], GET_NBYTES, HXT_FLARE_POS, RD_GEV, anytim2ints [1]
anytim2ints [2], conv_h2p [1], conv_h2p [2], fmt_tim [1], fmt_tim [2], gt_center
input [1], input [2], int2secarr [1], int2secarr [2], rd_obs
CALLED BY:
HXT_AUTOIMG
HISTORY:
Written 20-Dec-93 by M.Morrison
[Previous]
[Next]
NAME:
get_index_ver
PURPOSE:
To look at the index structure and return the values for
all ".index_version" fields. It only looks for the field
one level down (ie: index.gen.index_version)
CALLING SEQUENCE:
a = get_index_ver(index)
INPUT:
index - an index structure
OUTPUT:
returns an integer array with the values. It will
be NxM where N is the number of nested structures that
have the field ".index_version" (typically 2) and M is
the number of index structures passed.
CALLS: ***
tag_index [1], tag_index [2]
CALLED BY:
RD_XDA [1], RD_XDA [2], rd_sdl, rd_sld, rd_sls, rd_sot
HISTORY:
Written 21-Mar-92 by M.Morrison
[Previous]
[Next]
NAME:
get_indices
PURPOSE
To return the indices of values in a large vector which
equal the values in a smaller vector. The program matchem
can be used to generate the smaller vector.
CALLING SEQUENCE
ii = get_indices(aa,bb)
INPUT
aa, bb - the two vectors, order not important.
OUTPUT
ii - the desired indice array.
HISTORY
1/24/96, LWA, written.
CALLED BY
conflx_binner
[Previous]
[Next]
Name: get_info
Purpose: decode Yohkoh index or roadmap information into string info_array
Input Paramters:
index - Yohkoh index or roadmap (scaler or vector)
Optional Input Keywords:
noninteractive = If set, does not prompt user, but only returns
the array. If infil is specified, the summary
is written to an output file.
longform = If set, also put out the percentage of the image
which is available, and the heliocentric coord.
itemnumber = If set, will compute the relative item number
from this starting value. If a vector is passed,
CALLS: ***
GET_INFO2, fmt_tim [1], fmt_tim [2], gt_dp_mode [1], gt_dp_mode [2]
gt_dp_rate [1], gt_dp_rate [2], str_is [1], str_is [2], where_arr [1]
where_arr [2]
CALLED BY:
CHECK_FOR_30S, FAXABLE_SFD, PATROL_ORDER, SDC_VERIFY, SFD_TEK, STEPPER [1]
STEPPER [2], STEPPER [5], STEPPER2 [1], STEPPER2 [2], THICK_FFI, XMOVIE_SFM
chk_pointing, cur_teemcursor Te and EM, fl_summary [1], fl_summary [2]
fl_summary [3], fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], get_sfm
lastspd, mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_ssc [1], mk_ssc [2]
pr_teem, search_obs, sel_leak_image [1], sel_leak_image [3], sel_leak_image [4]
sfc_prep [1], sfc_prep [2], show_pix_event [1], show_pix_event [2]
show_pix_event [3], sun_today [1], sun_today [2], sun_today [3]
sxt_get_grill [1], sxt_get_grill [2], sxt_prep [1], sxt_prep [2], sxt_prep [3]
sxt_ssc2sss, sxt_ssn2fits [1], sxt_xsaa, tim2tfss, xsearch_obs, xso_search, xspr [1]
xspr [2], xsxt_prep_event
Restrictions:
just time and DP mode for non-SXT index input currently
Method:
driver (allow more intuitive get_info call to replace get_info2 call)
for sda, just calls get_info2
History: (SLF) 18-May-1993 (people were calling get_info, not get_info2)
16-Oct-93 (MDM) - Modified to recognized non-SXT roadmaps
9-Dec-93 (MDM) - Added /LONGFORM option (to be passed to GET_INFO2)
9-Sep-94 (GAL) - Added itemnumber option (passed to get_info2) and
documented all the optional inputs.
[Previous]
[Next]
NAME:
get_info
PURPOSE:
Decode time and exposure information and return in a string array.
INPUTS:
item = a structure of roadmaps, index, or observing log entries
OPTIONAL INPUT KEYWORDS:
infil = The input SDA file name. If present, the routine
prompts the user about writing an output file.
noninteractive = If set, does not prompt user, but only returns
the array. If infil is specified, the summary
is written to an output file.
longform = If set, also put out the percentage of the image
which is available, and the heliocentric coord.
itemnumber = If set, will compute the relative item number
from this starting value. If a vector is passed,
these values will be used instead of the default
relative item number.
OUTPUTS:
Returned is a string array containing various information.
CALLS: ***
GET_INFO2, fmt_tim [1], fmt_tim [2], gt_center, gt_comp, gt_conv2str [1]
gt_conv2str [2], gt_dp_mode [1], gt_dp_mode [2], gt_dp_rate [1], gt_dp_rate [2]
gt_dpe, gt_expmode, gt_filta, gt_filtb, gt_percentd, gt_percentover, gt_pfi_ffi
gt_res, gt_shape_cmd, tim2orbit [1], tim2orbit [2]
CALLED BY:
CHECK_FOR_30S, FAXABLE_SFD, PATROL_ORDER, SDC_VERIFY, SFD_TEK, STEPPER [1]
STEPPER [2], STEPPER [5], STEPPER2 [1], STEPPER2 [2], THICK_FFI, XMOVIE_SFM
chk_pointing, cur_teemcursor Te and EM, fl_summary [1], fl_summary [2]
fl_summary [3], fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], get_sfm
lastspd, mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_ssc [1], mk_ssc [2]
pr_teem, search_obs, sel_leak_image [1], sel_leak_image [3], sel_leak_image [4]
sfc_prep [1], sfc_prep [2], show_pix_event [1], show_pix_event [2]
show_pix_event [3], sun_today [1], sun_today [2], sun_today [3]
sxt_get_grill [1], sxt_get_grill [2], sxt_prep [1], sxt_prep [2], sxt_prep [3]
sxt_ssc2sss, sxt_ssn2fits [1], sxt_xsaa, tim2tfss, xsearch_obs, xso_search, xspr [1]
xspr [2], xsxt_prep_event
HISTORY:
Written, 18-sep-91, JRL
Updated, 19-sep-91, JRL: Added noninteractive switch.
Updated, 7-Nov-91, MDM: Used a different printed format
Updated, 13-Nov-91, MDM - Used all "GT" routines so that it can be
used with index as well as roadmap
- Added DP_MODE/DP_RATE and changed to use
DPE and printed the duration
17-Apr-92 (MDM) - Added compression in short notation
10-Oct-93 (MDM) - Added /ORIG switch to GT_RES so that this
listing is always listing the original resolution
28-Oct-93 (MDM) - Added /LONGFORM option
9-Dec-93 (MDM) - Added SAA and TIM2NIGHT in the /LONG option
9-Sep-94 (GAL) - Added itemnumber=start_index switch so that the
first number in the listings can be manually set
to values other than the relative item number.
[Previous]
[Next]
NAME:
get_info
PURPOSE:
Decode time and exposure information and return in a string array.
INPUTS:
item = a structure of roadmaps, index, or observing log entries
OPTIONAL INPUT KEYWORDS:
infil = The input SDA file name. If present, the routine
prompts the user about writing an output file.
noninteractive = If set, does not prompt user, but only returns
the array. If infil is specified, the summary
is written to an output file.
OUTPUTS:
Returned is a string array containing various information.
CALLS: ***
GET_INFO3, fmt_tim [1], fmt_tim [2], gt_conv2str [1], gt_conv2str [2]
gt_dp_mode [1], gt_dp_mode [2], gt_dp_rate [1], gt_dp_rate [2], gt_dpe, gt_expmode
gt_filta, gt_filtb, gt_res, gt_shape_cmd
CALLED BY:
CHECK_FOR_30S, FAXABLE_SFD, PATROL_ORDER, SDC_VERIFY, SFD_TEK, STEPPER [1]
STEPPER [2], STEPPER [5], STEPPER2 [1], STEPPER2 [2], THICK_FFI, XMOVIE_SFM
chk_pointing, cur_teemcursor Te and EM, fl_summary [1], fl_summary [2]
fl_summary [3], fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], get_sfm
lastspd, mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_ssc [1], mk_ssc [2]
pr_teem, search_obs, sel_leak_image [1], sel_leak_image [3], sel_leak_image [4]
sfc_prep [1], sfc_prep [2], show_pix_event [1], show_pix_event [2]
show_pix_event [3], sun_today [1], sun_today [2], sun_today [3]
sxt_get_grill [1], sxt_get_grill [2], sxt_prep [1], sxt_prep [2], sxt_prep [3]
sxt_ssc2sss, sxt_ssn2fits [1], sxt_xsaa, tim2tfss, xsearch_obs, xso_search, xspr [1]
xspr [2], xsxt_prep_event
HISTORY:
Written, 18-sep-91, JRL
Updated, 19-sep-91, JRL: Added noninteractive switch.
Updated, 7-Nov-91, MDM: Used a different printed format
Updated, 13-Nov-91, MDM - Used all "GT" routines so that it can be
used with index as well as roadmap
- Added DP_MODE/DP_RATE and changed to use
DPE and printed the duration
[Previous]
[Next]
NAME: GET_INFO_DARK
Purpose Get the time(s) of the dark image(s) used in dark_sub
Calling Sequence get_info_dark, index, dark_time0, dark_time1
dark_index0=1 & dark_data0=1 &
get_info_dark, index, dark_time0, dark_index0=dark_index0,$
dark_data0=dark_data0
Input index: Index of the dark_sub'ed image.
Can be a vector, but too large a vector may be
a problem when the optional outputs are specified.
Output dark_time0: Time of the first dark image. Internal representation.
If no interpolation is used in dark_sub, this represents
the dark image and dark_time1 is invalid.
dark_time1: Time of the second dark image in the case of
dc_interp in dark_sub.
Optional Output dark_index0: The index or indices of the dark image(s)
dark_data0: The dark image(s)
History 7-Aug-97 NN written
CALLED BY
pr_dark_time
[Previous]
[Next]
Name: get_info_lp
Purpose: decode LaPalma index or roadmap information into string info_array
Input Paramters:
index - Yohkoh index or roadmap (scaler or vector)
CALLS: ***
gt_time [1], gt_time [2], str_is [1], str_is [2]
CALLED BY:
STEPPER_LP
Restrictions:
just time and DP mode for non-SXT index input currently
Method:
driver (allow more intuitive get_info call to replace get_info2 call)
for sda, just calls get_info2
History: (SLF) 18-May-1993 (people were calling get_info, not get_info2)
16-Oct-93 (MDM) - Modified to recognized non-SXT roadmaps
9-Dec-93 (MDM) - Added /LONGFORM option (to be passed to GET_INFO2)
17-Jun-94 TS Revised for get_info_lp
[Previous]
[Next]
NAME:
get_ionbal
PURPOSE:
Return interpolated ionization fractions.
CALLING SEQUENCE:
ion_abun = get_ionbal(Z,Te6)
ion_abun = get_ionbal(Z,Te6,stages,ioncal=ioncal)
ion_abun = get_ionbal(Z,Te6,Nel=Nel,Elem=Elem, $
stages=stages1,ion_data=ion_data)
INPUTS:
Z = Atomic Number (e.g., 16 for S, 20 for Ca, 26 for Fe)
Te6 = Vector of electron temperatures in units of 1.e6 K
OPTIONAL INPUTS:
Stages = Vector of ionization stages. (XVIII = 18, etc.)
OPTIONAL INPUT KEYWORDS:
Nel = Number of electrons. Can be used instead of Stages.
For example, Nel=1 is H-like, Nel=He-like, etc.
ioncal = Ionization calculation to use (default is ioncal=0)
OUTPUTS:
The functional result is a 2-d array containing the fractional ion
abundances:
ion_abun = fltarr(N_elements(Te6),N_elements(Stages))
OPTIONAL OUTPUT KEYWORDS:
Element = The element (which is obtained from the last word in Head)
Stages = The ion stages returned
Ion_data = Data structure contain data read from the ascii data
file with the routine rd_ionbal
METHOD:
Reads ascii data files contained in $DIR_GEN_SPECTRA
The files have the following names: subal1.dat, cabal1.dat, febal1.dat
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], concat_dir [4], iionbal [1]
iionbal [2], rd_ionbal [1], rd_ionbal [2]
CALLED BY:
bcs_line
MODIFICATION HISTORY:
7-oct-93, J. R. Lemen (LPARL), Written
[Previous]
[Next]
Name: get_kbrd
Purpose: same as IDL get_kbrd unless SGI ( mabey future additions)
SGI appears to solicit bogus 255 from Xclients
CALLS:
[Previous]
[Next]
NAME:
get_ksc_holiday
PURPOSE:
Read the $DIR_GEN_ORBIT_RAW/ksc_holiday.dat data file
CALLING SEQUENCE:
get_ksc_holiday, start_times, stop_times, spacecraft
get_ksc_holiday, start_times, stop_times, spacecraft, /noasca
get_ksc_holiday, start_times, stop_times, spacecraft, /noasca, /cont
INPUTS:
None.
OUTPUTS:
start_times - Array of start times in Yohkoh internal structure format
stop_times - Array of stop times in Yohkoh internal structure format
spacecraft - Returns a string vector with 'SOLA' or 'ASTD' values.
message_str - Optional message string
OPTIONAL INPUT KEYWORDS:
noasca - If set, don't return ASCA holiday times
cont - If set, don't stop if there is a problem parsing the file.
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DELVARX [1], DELVARX [2]
DELVARX [3], DELVARX [4], FILE_EXIST [2], STR2ARR [1], STR2ARR [2]
anytim2ints [1], anytim2ints [2], concat_dir [4], delvarx [5], file_exist [1]
file_exist [3], fmt_tim [1], fmt_tim [2], int2secarr [1], int2secarr [2]
rd_tfile [1], rd_tfile [2], wc_where [1], wc_where [2]
MODIFICATION HISTORY:
5-aug-94, J. R. Lemen LPARL, Written
[Previous]
[Next]
Name:
get_laser_type
Purpose:
determine what type of machine we are talking to SONY or PANASONIC
CALLED BY:
command_laser, go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, laser_write
Note:
this expects the laser disk player/recorder to have a disk in, and
the motor running.
if it's a SONY, it will set it to frame recording mode
Calling Sequence:
laser_write, buff [,device]
Optional Input Keyword:
device = 0 or 1 for recorder or player (def=0)
(device can also just be a input parameter)
CALLS: ***
laser_init, laser_write
Common Blocks:
LASER
Procedure:
send a command to the laser disk/player-- using C routine to get response.
interpret the response to determine what type of machine we're talking to.
the device_type array is modified in the LASER common block so that
we don't have to do this every time we talk to the device.
this is also a good place to do some initializing of the machines.
Modification History:
feb-1995 - written by L. Shing
[Previous]
[Next]
NAME:
GET_LC
CALLS: ***
BOX_DATA_ALL, exp_norm2, sxt_prep [1], sxt_prep [2], sxt_prep [3]
PROCEDURE:
Get the total intensity of the defined region selected by BOX_DATA_ALL
INPUTS:
data - cubic data
show_data - display data to select defined area with BOX_DATA_ALL
OPTIONAL INPUTS:
index - if data is unnormalized data (byte data), normalize the data
to DN/s before count calcuration.
rebin - the factor to magnify "show_data" in the display.
Only integer factor is allowed.
noscale - If set, use TV instead of TVSCL in the image display.
sxt_prep - If set, use "SXT_PREP.pro" instead of "EXP_NORM2.pro"
to normalize the data.
box - Area (Corner) position of the extracted data lonarr(2,2)
box(0,0)= X0, box(0,1)= Y0
box(1,0)= X1, box(1,1)= Y1
HISTORY:
12 September, 1992 written by T.Shimizu
10 June, 1993 add the 'rebin' option (TS)
10 June, 1993 add the 'noscale' option (TS)
10 June, 1993 add the 'sxt_pre' option (TS)
10 June, 1993 add the 'box' option (TS)
13 June, 1993 revide due to a bag. (TS)
[Previous]
[Next]
NAME:
get_leak_image
PURPOSE:
Given an index or roadmap structure, match and
extract the corresponding leak image
CALLING SEQUENCE:
get_leak_image, index(3), leak_index, leak_data
get_leak_image, roadmap, leak_index, leak_data, imap
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The leak current index structure
data - The leak current image DECOMPRESSED. The exposure of
the output leak image is NOT the exposure of the
reference input image. The image is the proper resolution
and location on the CCD though (LEAK_SUB does the
exposure normalization)
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD PARAMETERS:
leak_index, leak_data - if supplied, use these (dont read leak data)
METHOD:
Can optionally save the last Leak image read to avoid I/O
CALLS: ***
GET_NBYTES, RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], align1img [1]
align1img [2], data_chk [1], data_chk [2], fmt_tim [1], fmt_tim [2], gt_corner
gt_day [1], gt_day [2], gt_pfi_ffi, gt_res, gt_shape, gt_time [1], gt_time [2]
his_index, int2secarr [1], int2secarr [2], sel_leak_image [1]
sel_leak_image [2], sel_leak_image [3], sel_leak_image [4], str_copy_tags [1]
str_copy_tags [2], str_copy_tags [3], str_copy_tags [4]
CALLED BY:
check_sfd_leak, leak_sub [1], leak_sub [2], leak_sub [3], sxt_deleak [1]
sxt_deleak [2]
HISTORY:
Written 27-Aug-93 by M.Morrison (Using GET_DC_IMAGE as template)
4-Jan-94 (MDM) - Modified the header
20-mar-95 (SLF) - allow floating sfc files
15-May-95 (MDM) - Added header info (exposure not normalized)
V4.1 22-Aug-95 (MDM) - Corrected a but which was causing the IMAP to
be off, and to not work when there were more
than 1 filter/resolution type which did not
have a match within the leak database.
10-Jul-98 (SLF) Adde subscript protection(? why needed now)
15-sep-2000 S.L.Freeland - add LEAK_INDEX and LEAK_DATA
30-May-2003 S.L.Freeland - merge LWA Lonword overflow (VAL=...)
per 16-oct-2002 email and removed 10-jul-98 hack
[Previous]
[Next]
NAME:
get_leak_image
PURPOSE:
Given an index or roadmap structure, match and
extract the corresponding leak image
CALLING SEQUENCE:
get_leak_image, index(3), leak_index, leak_data
get_leak_image, roadmap, leak_index, leak_data, imap
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The leak current index structure
data - The leak current image DECOMPRESSED. The exposure of
the output leak image is NOT the exposure of the
reference input image. The image is the proper resolution
and location on the CCD though (LEAK_SUB does the
exposure normalization)
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
KEYWORD PARAMETERS:
leak_index, leak_data - if supplied, use these (dont read leak data)
METHOD:
Can optionally save the last Leak image read to avoid I/O
CALLS: ***
GET_NBYTES, RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], align1img [1]
align1img [2], data_chk [1], data_chk [2], fmt_tim [1], fmt_tim [2], gt_corner
gt_day [1], gt_day [2], gt_pfi_ffi, gt_res, gt_shape, gt_time [1], gt_time [2]
his_index, int2secarr [1], int2secarr [2], sel_leak_image [1]
sel_leak_image [2], sel_leak_image [3], sel_leak_image [4], str_copy_tags [1]
str_copy_tags [2], str_copy_tags [3], str_copy_tags [4]
CALLED BY:
check_sfd_leak, leak_sub [1], leak_sub [2], leak_sub [3], sxt_deleak [1]
sxt_deleak [2]
HISTORY:
Written 27-Aug-93 by M.Morrison (Using GET_DC_IMAGE as template)
4-Jan-94 (MDM) - Modified the header
20-mar-95 (SLF) - allow floating sfc files
15-May-95 (MDM) - Added header info (exposure not normalized)
V4.1 22-Aug-95 (MDM) - Corrected a but which was causing the IMAP to
be off, and to not work when there were more
than 1 filter/resolution type which did not
have a match within the leak database.
10-Jul-98 (SLF) Adde subscript protection(? why needed now)
15-sep-2000 S.L.Freeland - add LEAK_INDEX and LEAK_DATA
[Previous]
[Next]
NAME:
get_leak_image
PURPOSE:
Given an index or roadmap structure, match and
extract the corresponding leak image
CALLING SEQUENCE:
get_leak_image, index(3), leak_index, leak_data
get_leak_image, roadmap, leak_index, leak_data, imap
INPUT:
struct_in - An index or roadmap structure. If the input
is an array, then data will be a matrix and it
is necessary to use the output variable "imap"
to match up which dark frame goes with which input
image. This is done so that unnessary duplication
of the same image is not done.
OUTPUT:
index - The leak current index structure
data - The leak current image DECOMPRESSED. The exposure of
the output leak image is NOT the exposure of the
reference input image. The image is the proper resolution
and location on the CCD though (LEAK_SUB does the
exposure normalization)
imap - A list of indicies telling which image in "data" to
use for each "struct_in" image. The output is an
array the same length as "struct_in" with values that
go from 0 to the number of output images minus one.
METHOD:
Can optionally save the last Leak image read to avoid I/O
CALLS: ***
GET_NBYTES, RD_XDA [1], RD_XDA [2], UNIQ [1], UNIQ [2], UNIQ [3], align1img [1]
align1img [2], data_chk [1], data_chk [2], fmt_tim [1], fmt_tim [2], gt_corner
gt_day [1], gt_day [2], gt_pfi_ffi, gt_res, gt_shape, gt_time [1], gt_time [2]
his_index, int2secarr [1], int2secarr [2], sel_leak_image [1]
sel_leak_image [2], sel_leak_image [3], sel_leak_image [4], str_copy_tags [1]
str_copy_tags [2], str_copy_tags [3], str_copy_tags [4]
CALLED BY:
check_sfd_leak, leak_sub [1], leak_sub [2], leak_sub [3], sxt_deleak [1]
sxt_deleak [2]
HISTORY:
Written 27-Aug-93 by M.Morrison (Using GET_DC_IMAGE as template)
4-Jan-94 (MDM) - Modified the header
20-mar-95 (SLF) - allow floating sfc files
15-May-95 (MDM) - Added header info (exposure not normalized)
V4.1 22-Aug-95 (MDM) - Corrected a but which was causing the IMAP to
be off, and to not work when there were more
than 1 filter/resolution type which did not
have a match within the leak database.
[Previous]
[Next]
NAME:
GET_LIMITS
PURPOSE:
Gets two limits from a plot using cursor
CALLING SEQUENCE:
GET_LIMITS,xlim,ylim
INPUT:
OUTPUT:
xlim Vector containing 1st and 2nd X-limit
ylim Vector containing 1st and 2nd Y-limit
OPTIONAL OUTPUT:
HISTORY
RDB Oct, 1991 Written
[Previous]
[Next]
Name: get_mk3
Purpose: get Mauna Loa MK3 magnetograph
24-sep-1995 (SLF) First Light optional image
01-jun-1998 (PGS) updated ftp site to ftp.hao.ucar.edu
CALLS:
CALLED BY
sxt_mk3 mk3 index data [1], sxt_mk3 mk3 index data [2]
[Previous]
[Next]
Name: get_mk3
Purpose: get Mauna Loa MK3 magnetograph
24-sep-1995 (SLF) First Light optional image
CALLS:
CALLED BY
sxt_mk3 mk3 index data [1], sxt_mk3 mk3 index data [2]
[Previous]
[Next]
NAME:
get_most_comm
PURPOSE:
Find out which value is use the most and return the subscript
of that value
SAMPLE CALLING SEQUENCE:
sub = get_most_comm( vals )
sub = get_most_comm( gt_res(r) + gt_filta(r)*4 + gt_filtb(r)*32
INPUT:
vals - An array of values. It is expected that there are
many repeats of certain values, and the function
returns the subscript of the value which shows up the
most number of times.
OUTPUT:
sub - Returns the subscript of the value repeated the most
times
OPTIONAL OUTPUT:
uvals - An array of the unique values
h - The number of occurances of each of the "uvals" values
CALLS: ***
UNIQ [1], UNIQ [2], UNIQ [3]
CALLED BY:
obs_summary
HISTORY:
Written 1-Oct-93 by M.Morrison
[Previous]
[Next]
NAME:
get_mwlt_roll
PURPOSE:
Read the Mees White Light Telescope roll angle database.
Returns the roll angle for a given date.
CATEGORY:
CALLING SEQUENCE:
roll = get_mwlt_roll(time)
INPUTS:
time = time of MWLT image in any Yohkoh format
KEYWORDS (INPUT):
OUTPUTS:
roll = roll angle of MWLT image, measured eastward from geocentric N.
(in degrees).
KEYWORDS (OUTPUT):
telescope = string. Version of telescope used, either 'old' or 'new'.
CALLS: ***
anytim2ints [1], anytim2ints [2], restgen [1], restgen [2]
CALLED BY:
PP_MWLT2SXT, mk_key_stokes
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
This program is NOT vectorized. The value changes only very
infrequently, and remains constant for months.
PROCEDURE:
MODIFICATION HISTORY:
JPW, 1-apr-94
[Previous]
[Next]
Name: get_newsoon
Purpose: return newest SOON image
Calling Sequence:
newsoon=get_newsoon( [dattim=dattim, head=head, observatory=observatory])
CALLS: ***
FXPAR [1], FXPAR [2], SIGMA_FILTER, data_chk [1], data_chk [2], get1gbo
int2secarr [1], int2secarr [2], rm_darklimb, timegrid, ut_time [1], ut_time [2]
CALLED BY:
fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], sun_today [1], sun_today [2]
sun_today [3]
History:
10-jul-1995 (SLF)
12-jul-1995 (SLF) - made north at TOP
23-sep-1995 (SLF) - add RM_DARKLIMB and SCALE switches
24-sep-1995 (SLF) - change RM_DARKLIMB to RMDARKLIMB
(function name / keyword name conflict)
28-apr-1996 (SLF) - protect agains 1st choice not there
[Previous]
[Next]
NAME:
GET_OFF
PURPOSE:
Coalign a series of images using FFT cross correlation
technique.
CALLING SEQUENCE:
OFFSETS = GET_OFF(DATA, SAMPLE=SAMPLE, MAG_FAC=MAG_FAC)
INPUTS:
DATA = Data cube of images to be coaligned
OPTIONAL KEYWARDS
SAMPLE = Flag to determine whether nearest neighbor or
interpolation is used for expanding subarray prior
to cross correlation
MAG_FAC = Magnification factor for expanding subarray prior
to cross correlation
INTERACT - If set, user may select subregion for correlation
OUTPUTS:
OFFSETS = 2 x n_image array of offsets where n_image is the
CALLS: ***
CC_OFF
CALLED BY:
CUBE_ALIGN
MODIFICATION HISTORY:
Version 1.0 - Mar, 1991, G. L. Slater, LPARL
1.1 - Mar, 1992, slf - added interact keyword
[Previous]
[Next]
NAME:
GET_OFF2
PURPOSE:
Coalign a series of images using FFT cross correlation
technique.
CALLING SEQUENCE:
OFFSETS = GET_OFF(DATA, SAMPLE=SAMPLE, MAG_FAC=MAG_FAC)
INPUTS:
DATA = Data cube of images to be coaligned
OPTIONAL KEYWARDS
SAMPLE = Flag to determine whether nearest neighbor or
interpolation is used for expanding subarray prior
to cross correlation
MAG_FAC = Magnification factor for expanding subarray prior
to cross correlation
OUTPUTS:
OFFSETS = 2 x n_image array of offsets where n_image is the
CALLS: ***
CC_OFF, XWIN [1], XWIN [2], xwin [3]
CALLED BY:
CUBE_ALIGN2
MODIFICATION HISTORY:
Version 1.0 - Mar, 1991, G. L. Slater, LPARL
[Previous]
[Next]
Name:
get_og_lookup
Purpose:
Provide a lookup table for op_first_guess
Inputs:
filein Name of the lookup table
Outputs:
Returns a structure containing a lookup table of og numbers and
og comments.
Proceedure:
Opens an ascii file and reads it.
Lines beginning with ";" are ignored.
Format is op_first_guess index, og number, "Comment"
Example:
55 55 "DAY (SUNRISE)"
Modification History:
5-oct-91, Written, JRL.
[Previous]
[Next]
Name:
get_op_rules
Purpose:
Read a table of "rules" by which to run op_first_guess
Inputs:
filein Name of the ascii file containing rules.
Outputs:
Returns a structure containing a lookup table of rules.
Proceedure:
Opens an ascii file and reads it.
Lines beginning with ";" are ignored.
Format is op_first_guess index, value, "Comment"
Example:
0 -.5 "AOS offset (min)"
Modification History:
5-oct-91, Written, JRL.
12-nov-91, Updated, JRL, Added more rules for DSN, Night aos
10-dec-91, Updated, JRL, Added min_sun rule
13-jan-92, Updated, JRL, Added dsn_los_n/dsn_los_d
23-jan-92, Updated, JRL, Added dsn_switch
14-jun-94, JRL, Added saa_med_rate, saa_min_time
3-feb-96, JRL, Added aaos_ant_ab
[Previous]
[Next]
Name:
get_orb_epoch
Purpose:
Return the orbital epoch of the on-line /ydb/orb_ files containing
the Yohkoh orbital elements.
Calling Sequence:
Result = get_orb_epoch() ; Returns the most recent version
Result= get_orb_epoch('11-jun-92') ; Returns the value closest to 11-jun-92
Result= get_orb_epoch(tim_in,orb_files=orb_files)
Result= get_orb_epoch('*') ; Returns all available cases.
The result is given in dd-mmm-yy hh:mm:ss format.
Inputs:
tim_in = time and date in any format. Vectors O.K.
If tim_in = "*", then all cases will be returned.
Outputs:
Result is the time/date of the orbital element solution.
Optional Output Keywords:
orb_files = Contains the full path of the orbital element solution.
CALLS: ***
anytim2ints [1], anytim2ints [2], fmt_tim [1], fmt_tim [2], int2secarr [1]
int2secarr [2]
Modification History:
11-jun-92, Written, J. R. Lemen
[Previous]
[Next]
Project : SOHO - CDS
Name : GET_ORBIT()
Purpose : Get the SOHO orbit information.
Category : Class3, Orbit
Explanation : Reads orbit information from either the definitive or
predictive orbit file, whichever it can find first.
Syntax : Result = GET_ORBIT( DATE [, TYPE ] )
CALLED BY:
CALC_LOI_ROLL, GET_TIME_DELAY, MK_SOHO_MAP_EARTH, TRACE_MDI_ALIGN
Examples :
Inputs : DATE = The date/time value to get the orbit information for.
Can be in any CDS time format.
Opt. Inputs : None.
Outputs : The result of the function is a structure containing the
spacecraft orbit information. It contains the following tags.
If unable to find this information, zeroes are returned
instead.
Opt. Outputs: TYPE = Returns whether predictive or definitive data was
used to calculate the result. Returned as either
"Definitive" or "Predictive". If the routine fails
to return an answer, then the null string is
returned.
Keywords : RETAIN = If set, then the orbit FITS file will be left open.
This speeds up subsequent reads.
ERRMSG = If defined and passed, then any error messages will
be returned to the user in this parameter rather than
depending on the MESSAGE routine in IDL. If no
errors are encountered, then a null string is
returned. In order to use this feature, ERRMSG must
be defined first, e.g.
ERRMSG = ''
Result = GET_ORBIT( ERRMSG=ERRMSG, ... )
IF ERRMSG NE '' THEN ...
OLD = If set, then files are read in from the subdirectory
"old_samples". This is used to test the software
until real data files are available.
Calls : ***
ANYTIM2CAL, ANYTIM2UTC [1], ANYTIM2UTC [2], CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], FXBCLOSE [1], FXBCLOSE [2], FXBISOPEN [1], FXBISOPEN [2]
FXBOPEN [1], FXBOPEN [2], FXBOPEN [3], FXBREAD [1], FXBREAD [2], FXBREAD [3]
OS_FAMILY, REVERSE, TRIM, concat_dir [4]
Common : Private common block GET_ORBIT is used to keep track of the
orbit file opened when the RETAIN keyword is used.
Restrictions: The orbit entries for the time closest to that requested is
used to calculate the orbit parameters. Since the orbit data
is calculated every 10 minutes, this should be correct within
+/-5 minutes. No attempt is made to interpolate to closer
accuracy than that.
Side effects: None.
Prev. Hist. : None.
History : Version 1, 04-Dec-1995, William Thompson, GSFC
Version 2, 03-Sep-1996, William Thompson, GSFC
Also look for filename with a dollar sign
prepended--this is how VMS treats uppercase filenames.
Version 3, 11-Oct-1996, William Thompson, GSFC
Only prepend $ in VMS. Use in both places where
needed.
Version 4, 22-Nov-1996, William Thompson, GSFC
Fixed bug introduced in version 3, where only
predictive data was being returned in Unix.
Version 5, 22-Jan-1997, William Thompson, GSFC
Modified to reflect reorganization of orbit files.
Version 6, 30-Jan-1997, William Thompson, GSFC
Fixed VMS bug introduced in version 5
Contact : WTHOMPSON
[Previous]
[Next]
NAME:
GET_PA
PURPOSE:
compute position angle of a point
CATEGORY:
Yohkoh analysis
CALLING SEQUENCE:
print, get_pa(index)
INPUTS:
SXT image index (FFI only)
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
CALLS: ***
SXT_RPAXY
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
Assumes you've displayed the image in the current window
MODIFICATION HISTORY:
8-Sep-97, written (HSH)
[Previous]
[Next]
Procedure returns peak count in spectral arrays (avoiding end dump bin).
Values can be decompressed before return if requested.
Input: DATA - array as returned by test_rd
Output: S }
C } 1-d arrays containing the peak value in
F25 } each channel of each spectrum
F26 }
Use:
IDL> get_peak,data,s,c,f25,f26
Limitations: Assumes 256/256/128/128 binning in each spectrum.
CDP Dec 91
CALLS:
CALLED BY
GET_PT
[Previous]
[Next]
NAME: get_pix
PURPOSE: to browse images in the publications and pix_genx directories
and optionally print them.
CALLING SEQUENCE: get_pix,image,r,g,b,text=text,index=index, $
laser=laser,kodak=kodak,dir=dir
KEYWORDS:
text - outputs the image caption to variable
index - outputs the image's index record to variable
laser - prints image on laser printer when set
kodak - prints on kodak printer when set
dir - switches to /yd1/pix_genx directory
(/yd1/publications default)
OUTPUT:
image - variable to store image in (optional)
r,g,b - variables to store color table vectors in (optional)
CALLING EXAMPLES:
get_pix :view images (none saved or printed)
get_pix,/dir :view pix_genx images
get_pix,image :output image
get_pix,image,r,g,b :output image,r,g,b
get_pix,image,r,g,b,text=text,index=index
:output image,r,g,b,text,index
get_pix,/laser :print image on laser
get_pix,/kodak :print image on kodak
get_pix,image,r,g,b,/laser :output image,r,g,b, print on laser
get_pix,image,r,g,b,text=text,index=index,/kodak
:output,image,r,g,b,text,index,
print on kodak
CALLS: ***
hdcopy [1], hdcopy [2], set_logenv [1], set_logenv [2], show_pix [1], show_pix [2]
HISTORY:
28-Jul-1994 (ETB)
[Previous]
[Next]
NAME:
get_pix_coor
PURPOSE:
To convert between various pixel coordinates and resolutions
CALLING SEQUENCE:
a = get_pix_coor(index)
a = get_pix_coor(index, /line)
a = get_pix_coor(index, offset=b)
INPUT:
input1 - Must be an index structure right now
CALLS: ***
gt_res
CALLED BY:
FOV_COORDS, MK_MOSAIC, PICK_PIX, SXT_FOV_CENTER, pr_image, pr_teem
OPTIONAL KEYWORD INPUT:
img - If set, return the CCD column address
line - If set, return the line number
offset - the offset in pixels (pixels out of camera) from the
lower left corner.
OUTPUT:
Defaults to output the column number in full resolution IDL
image array coordinates
RESTRICTIONS:
This routine assumes that BLS is off (non-cal mode)
HISTORY:
Written 6-May-92 by M.Morrison
************** TEMPORARY ROUTINE ***************
[Previous]
[Next]
NAME:
get_pnt
PURPOSE:
Given a set of input times, return the single PNT data record
closest to that time.
CALLING SEQUENCE:
get_pnt, index, pdata
get_pnt, index, pdata, offset=offset
INPUT:
tim_in - The input time(s) in any of the 3 standard formats
OUTPUT:
pdata - The PNT data structure
OPTIONAL KEYWORD OUTPUT:
offset - The number of seconds that the matching PNT data is off
from the input time(s)
CALLS: ***
anytim2ints [1], anytim2ints [2], rd_pnt, tim2dset [1], tim2dset [2]
tim2orbit [1], tim2orbit [2]
CALLED BY:
GET_SSX_SLICE, GET_TRACUBE, plot_ar_pfi, rot_pix2
HISTORY:
Written 10-Jun-92 by M.Morrison
19-Apr-93 (MDM) - Fixed problem which occurs because the PNT orbit
pointer time is for the first ADA data available,
not the start time of the orbit (FID).
[Previous]
[Next]
NAME:
GET_POINT_STR
PURPOSE:
Returns a structure of the pointing information for an index structure
which is suitable for the ideproject.pro routine.
CATEGORY:
CALLING SEQUENCE:
point = get_point_str(index)
INPUTS:
index = index structure
OPTIONAL INPUT PARAMETERS:
KEYWORD PARAMETERS
OUTPUTS:
point = structure with B0, P, LAT, LON tags (all in radians)
and PIX_SIZE and RADIUS tags in arcseconds.
CALLS: ***
get_rb0p [1], get_rb0p [2], gt_center, gt_pix_size, gt_res
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
P is set to zero since the SXT images have solar north up by default.
DOES NOT ACCOUNT FOR THE SXT ROLL ANGLE.
PROCEDURE:
MODIFICATION HISTORY:
T. Metcalf November 1992.
1997-Oct-30 T. Metcalf - Added radius element and changed pix_size
to a 2 element array.
[Previous]
[Next]
NAME:
GET_POINTS
PURPOSE:
To retrieve pointing information from a specified database.
CATEGORY:
Database reading.
CALLING SEQUENCE:
sxtf = get_points(st_date, en_date, /sxtf)
sft = get_points(st_date, en_date, /sft0)
sft = get_points(st_date, en_date, /sft0, sft_dir='/mo0.flare13/yohkoh/sft_new')
INPUTS:
st_date = Starting date; must be in string format.
en_date = Ending date; must be in string format.
KEYWORD PARAMETERS:
Keywords:
/SFT0 -> Get terminator pointings from SFT or DIR database.
/SXTF -> Get FFI pointings from SXTF or DIR database.
/flares -> Get spr flare-mode pointings > 10 minutes apart.
sft_dir - use if a directory other than $DIR_SXT_SFT
OUTPUTS:
Returns an anonymous structure with the following bits:
COORDS: FR coordinates of sun center.
DAY: Same field as for INDEX or ROADMAP.
TIME: Same field as for INDEX or ROADMAP.
FILTA: Filter-A ID number.
FILTB: Filter-B ID number.
CALLS: ***
gt_day [1], gt_day [2], gt_dp_mode [1], gt_dp_mode [2], gt_filta, gt_filtb
gt_time [1], gt_time [2], int2secarr [1], int2secarr [2], pr_sxt_term, rd_obs
sxt_cen [1], sxt_cen [2]
CALLED BY:
UPDATE_TERM
COMMON BLOCKS:
None here.
NOTES:
Both ST_DATE and EN_DATE are >>required<< inputs.
MODIFICATION HISTORY:
M. Weber, February 13, 1995 --- Written.
DATE - (MAW) - Cool modification to your perfect program.
DATE - (MAW) - Another cool idea for an addition.
DATE - (UCP) - UnCool Person destroys the elegant integrity of
your creation with their own code.
21-May-95 LWA, added keyword sft_dir and changed hardwired
SFC selection parameters in SFT section.
25-May-95 LWA, added capability to retrieve flare-mode pointings.
24-Jun-95 DA, fixed error in use of sft0 keyword
17-Nov-95 LWA, Changed DPE filter to Hi=27, Lo=21
Need to modify this to use mk_sfc.param!
[Previous]
[Next]
NAME:
GET_POLAR_COORDS
[Previous]
[Next]
NAME:
GET_POLAR_COORDS
CALLS:
[Previous]
[Next]
NAME: get_rect
PURPOSE: return a rectangular sub-image(s) from input image(cube).
METHOD: the pixels of the sub image are calculated from the edge
values, then the sub-region is returned. The input rows
and columns are INCLUDED.
CALLING SEQUENCE: out=get_rect(data,left,right,bottom,top)
PARAMETERS:
data oringial image(s).
out resultant sub image(s).
left left boundry, in pixels.
right right boundry, in pixels.
bottom bottom edge, in pixels.
top top edge, in pixels.
RETURN TYPE: Same as the input.
CALLS: ***
coord_l2v
CALLED BY:
gbo_pfi
HISTORY: Drafted by A. McAllister, March 1993.
Generalized to handle cubes as well, AMcA, 18-mar-93.
Reworked to allow for memory problems, AMcA, 25-mar-93.
Renamed from GT_RECT to GET_RECT, AMcA, 28-may-93.
[Previous]
[Next]
NAME:
get_res_offset
PURPOSE:
Given an image resolution, return the value of the digital
offset for that resolution.
CALLING SEQUENCE:
x = get_res_offset(index)
x = get_res_offset(roadmap)
x = get_res_offset(indgen(3))
METHOD:
The input can be a structure or a scalar. The structure can
be the index, or roadmap, or observing log. If the input
is non-byte type, it assumes that the bit extraction had
already occurred and the "mask" is not performed on the input.
INPUT:
item - A structure or scalar. It can be an array.
OUTPUT:
returns - The digital offset in DN for that resolution.
CALLS: ***
gt_res
CALLED BY:
change_res, dark_sub [1], dark_sub [2], dark_sub [3], exp_norm [1], exp_norm [2]
exp_norm2, get_dc_image [2], get_dc_image [3]
HISTORY:
Written 12-Nov-91 by M.Morrison
FUTURE OPTIONS TODO:
Optionally look at the exposure duration and adjust the
offset to compensate for dark current buildup. Could even
look at the temperature
[Previous]
[Next]
NAME:
get_roll
PURPOSE:
To return the roll angle of the SXT image (or S/C) relative to solar
north in degrees counter clockwise (this convention is the opposite
of that in the ADS raw database)
SAMPLE CALLING SEQUENCE:
roll = get_roll(times, status=status)
roll = get_roll(/sxt_offset)
roll = get_roll(times, /notsxt)
roll = get_roll(att=att)
INPUT:
times - The set of times that the roll is needed.
CALLS: ***
ROLL_FUNCT, anytim2ints [1], anytim2ints [2], get_att, int2secarr [1]
int2secarr [2]
CALLED BY:
MK_HXI_MAP, MK_SXT_MAP, PP_MWLT2SXT, PP_SXT2ANY, PP_SXT2VLA, gt_sxt_roll, sda2fits
sleazy_rot, sol_rot [2], sswstruct_fill [1], sxt_cen [1], sxt_cen [2]
sxt_prep [1], sxt_prep [2], sxt_prep [3]
OPTIONAL KEYWORD INPUT:
sxt_offset - If set, just return the scalar value which is the offset
the SXT CCD north relative to solar north (for the case
where S/C north and solar north are aligned). The value is
in degress counter clockwise.
notsxt - If set, do not incorporate the SXT offset between CCD north
and S/C north.
predict - If set, then use the coefficients for the fit to the seasonal
changes in the S/C roll.
OPTIONAL KEYWORD INPUT/OUTPUT:
att - An ATT structure can be passed in and the proper value will be
scaled to degrees and the SXT offset optionally incorporated.
OPTIONAL KEYWORD OUTPUT:
status - roll status (0=predicted, 1=processed from ADS)
METHOD:
The default is to incorporate the roll offset between the CCD north
axis and the S/C north axis, such as to return the roll between the
SXT CCD north axis and the solar axis.
If the ATT database is not available, then a function is used which
approximates the seasonal variation of the S/C roll.
The SXT data taken between 1-Sep-92 and 5-Sep-92 can be used to
verify the sign conventions of the roll. Canopus was lost and the S/C
roll was large.
* ATT roll value is 10 degrees (counter clockwise positive)
* ADS raw roll value was -10 degrees (clockwise positive)
* In the SXT image, solar north points to the upper right of
the image for this roll value, so the SXT image needs to be
rotated 10 degrees counter clockwise to put solar north
straight up. CAUTION: The IDL routine ROT takes values
clockwise positive.
* In the SXT image, solar north is 10 degrees CLOCKWISE from
straight up (CCD North) (this is the opposite since we are
using the CCD as the reference)
[Previous]
[Next]
NAME:
GET_SDA
PURPOSE:
Read image data from an SDA file and return as a data cube
CALLING SEQUENCE:
DATA = GET_SDA(FILE=FILE, TIMES, SUBSET=SUBSET, $
IMAGE_VECT = IMAGE_VECT
INPUTS:
FILE = String containing SDA file name
OPTIONAL KEYWORDS:
SUBSET = If nonzero, user will be prompted for a subset of
all images in the SDA file
OUTPUTS:
DATA = Data cube of images extracted from SDA file
OPTIONAL OUTPUTS:
TIMES = Vector of times at which the extracted images were
taken
IMAGE_VECT = Vector of indices of image extracted from SDA
file
CALLS: ***
GEN_STRUCT [1], GEN_STRUCT [2], Int2Ex [1], Int2Ex [2], OBS_STRUCT [1]
OBS_STRUCT [2], RD_SDA [1], RD_SDA [2], RD_SDA [3], RD_SDARMAP, SXT_STRUCT
MODIFICATION HISTORY:
Version 1.0 - Mar, 1991, S. L. Freeland, LPARL
Version 1.1 - Apr, 1991, G. L. Slater, LPARL
[Previous]
[Next]
NAME:
get_sdl_avg
PURPOSE:
To take the data structure from the SDL data files and return
the average and standard deviation for each image
CALLING SEQUENCE:
get_sdl_info, index, data, avg, dev
INPUT:
index
data
OUTPUT:
avg
dev
OPTIONAL KEYWORD OUTPUT:
exp_avg - the EXPECTED average DN level based on exposure duration
and a linear fit
CALLS: ***
GET_SDL_INFO, gt_dpe, gt_res, sxt_decomp [1], sxt_decomp [2]
HISTORY:
Written 20-Apr-92 by M.Morrison
2-Feb-93 (MDM) - Modified to pass BYTE type to SXT_DECOMP
[Previous]
[Next]
NAME:
get_sdm_val
PURPOSE:
To determine if the image is in the SDM accepted list, and
to return the value number in the list if present.
INPUT:
index - the index or roadmap
OUTPUT:
returns -1 if not in the list, otherwise it is the list #
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], concat_dir [4], gt_corner, gt_dpe
gt_expmode, gt_filtb, gt_res, int2secarr [1], int2secarr [2], rd_tfile [1]
rd_tfile [2]
CALLED BY:
mk_sdmi
HISTORY:
Written 9-Mar-95 by M.Morrison
28-Mar-95 (MDM) - Corrected the logic (the WHERE was backwards)
7-Jul-95 (MDM) - Allowed the SDML or SDMI structure to be passed in
14-Jul-95 (MDM) - Removed the stop put in for debugging
[Previous]
[Next]
Name: get_selsis
Purpose: access selsis solar images , anonymous ftp server.
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FIND_GBO_DIR
Month_id [1], Month_id [2], RFITS2 [1], RFITS2 [2], STR2ARR [1], STR2ARR [2]
anytim2ints [1], anytim2ints [2], concat_dir [4], curdir [1], curdir [2]
file_exist [1], file_exist [3], fmt_tim [1], fmt_tim [2], ftp_copy [1]
ftp_copy [2], get_logenv [1], get_logenv [2], gt_day [1], gt_day [2], mail [1]
mail [2], prstr [1], prstr [2], sel_fileinfo, sel_timrange [1], sel_timrange [2]
str2cols [1], str2cols [2], strjustify, timegrid, ut_time [1], ut_time [2]
wmenu_sel [1], wmenu_sel [2]
History:
~20-Mar-1995 (SLF) - prepare for selsis file server reorganization
14-apr-1995 (SLF) - various mods
2-Aug-1995 (MDM) - Added protection for case where the node is
not responding
13-jan-2000 (PGS) - modifed to four year string/new selsis format (y2k)
[Previous]
[Next]
Name:
get_seq_tab
Purpose:
Given a time, return the sequence table serial number that was
used at that time. Also return the filename of the table dump.
Input:
timarr - standard 7 element array with time of exposure
hh, mm, ss, msec, dd, mm, yy
(or)
the sequence table number (a scalar)
Optional Input:
filelist - If present, read the file "filelist" to get the list
of SXT table dumps and the serial number associated
with it. If not present (which is most common), it
looks at the files in the $DIR_SXT_TABLES directory
and figures out the table number that way.
qforcerd - Force the "filelist" or the directory $DIR_SXT_TABLES
to be read again (it holds information in a common block
to avoid to have to read multiple times)
fid - the fileID of the table to extract (string type) instead
of a time or sequence table number
Output:
returns - table number that was used
filnam - file name of table dump
fileid - The fileID of the table dump
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], FILE2TIME, anytim2ints [1]
anytim2ints [2], break_file [4], fid2ex [1], fid2ex [2], file_list [1]
file_list [2], fmt_tim [1], fmt_tim [2], int2secarr [1], int2secarr [2]
CALLED BY:
gtab_file, table_dump
HISTORY:
Written Fall '91 by M.Morrison
13-Mar-92 (MDM) Removed the technique of reading a data file to get
the list of table serial numbers. Only use the
/ys/sxt/tables/tab* files kept on-line.
25-Mar-92 (MDM) Removed bug where the table selection was chosing
the wrong file if the exact time/FID was passed
(gt versus ge problem)
28-Aug-92 (MDM) Modified code to use new time routines available
Used "btb" files instead of "tab" files to generate
the list
8-Mar-93 (MDM) Modified to use the new FILE_LIST routine because there
were too many files in the tables directory
[Previous]
[Next]
Name: get_sfc_info
Purpose: return summary info array for sft / sfc files (any sxt with .his)
Input Parameters:
index - sxt index (must have history record)
CALLS:
CALLED BY
pr_sfc
[Previous]
[Next]
Name: get_sfm
Purpose: return sfm images and index records closest to requested time(s)
Input Parameters:
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], RD_SDA [1], RD_SDA [2], RD_SDA [3]
Rd_Roadmap [2], anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2]
break_file [4], ex2fid [1], ex2fid [2], file_list [1], file_list [2], get_info [1]
get_info [2], get_info [3], get_info [4], mk_dset_str [1], mk_dset_str [2]
rd_roadmap [1], tim2dset [1], tim2dset [2]
CALLED BY:
OBS_PLOT, VIEW_SFM, mk_sun_mosaic, ssw_fov_context, xsxt_prep_event
History:
17-May-1993 (SLF)
8-Jul-1993 (SLF) - changed input time definitions
8-feb-1995 (SLF) - add nodata keyword
6-sep-1995 (SLF) - fix problem when rebin=512
[Previous]
[Next]
NAME:
get_sirius
PURPOSE:
To copy YOHKOH raw telemetry data from SIRIUS to the workstation
INPUT:
flare2 - If set (to 1), use SRSGET on FLARE2
ftp - If set, use SRSFTP2 of FLARE2
OUTPUT:
error - Success information
= 0 is successful
= 5 "jbopen" or similar error - retry?
or "can't create" error, or ABORT
= 9 The user prompt was not what was expected after
starting to run "srsget"
= 10 "srsget" is begin run already on flare1
= 11 Segmentation fault (core dump)
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], Int2Ex [1], Int2Ex [2]
anytim2ints [1], anytim2ints [2], concat_dir [4], get_logenv [1], get_logenv [2]
mail [1], mail [2], set_logenv [1], set_logenv [2], str_replace [1]
str_replace [2]
CALLED BY:
get_sirius_yr, go_get_sirius, yoyo_man2
OPTIONAL KEYWORD INPUT:
nodsn - If set, answer "no" to copying DSN files
HISTORY:
Written Dec-91 by M.Morrison
3-Mar-92 (MDM) - changed default answer for "KSC Temporary Real data"
to yes.
17-Mar-92 (MDM) - Added "flare2" option
20-Mar-92 (MDM) - changed default answer for "KSC Temporary Playback
data" to yes.
19-Apr-92 (MDM) - Changed default answer for Temporary data to no
Added keyword option /TEMP to access the temporary
data
22-Apr-92 (MDM) - Added "outfil" in parameter list
1-May-92 (MDM) - Removed check to see if someone is running SRSGET
since the script handles that.
3-May-92 (MDM) - Added "srsget" option to enable running SRSGET2
30-May-92 (MDM) - Fixed bug with commanding SRSGET=1
18-Jul-92 (MDM) - Added "ftp" option
22-Aug-92 (slf) - Increased wait between flare1 reads to avoid hanging
25-Aug-92 (slf) - Old wait reinstalled execept for $ys host check
(additional 10 second wait inserted)
27-Aug-92 (slf) - Minor mod for srsftp2 output
14-Oct-92 (MDM) - Added "nodsn" option
20-Oct-92 (slf) - Changed flare1 rlogin timings again (20,.1,.1)
Based on benchmarking with test program
11-Jan-93 (MDM) - Added capability to recognize and exit on
segmentations fault (core dump) error
24-wed-93 (slf) - check environ ys_flarewait for rlogin wait
16-Jun-93 (MDM) - Modified to allow any format time range as input
11-Aug-93 (MDM) - Trap on "Connection closed" message which can
occur at the wrong time.
2-apr-94 (SLF) - update for srsgetN_ver2 (wallops/santiago)
backward compat via OLDSRSGET switch
minor logic changes in srsget questions
06-Jul-98 (gls) - Added another 'readf, lun' after call to SRSGET
to make compatible with new 'flare1 (old 'flare21')
which is running nrewer version of SunOS
[Previous]
[Next]
NAME:
get_sirius
PURPOSE:
To copy YOHKOH raw telemetry data from SIRIUS to the workstation
INPUT:
flare2 - If set (to 1), use SRSGET on FLARE2
ftp - If set, use SRSFTP2 of FLARE2
OUTPUT:
error - Success information
= 0 is successful
= 5 "jbopen" or similar error - retry?
or "can't create" error, or ABORT
= 9 The user prompt was not what was expected after
starting to run "srsget"
= 10 "srsget" is begin run already on flare1
= 11 Segmentation fault (core dump)
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], Int2Ex [1], Int2Ex [2]
anytim2ints [1], anytim2ints [2], concat_dir [4], get_logenv [1], get_logenv [2]
mail [1], mail [2], set_logenv [1], set_logenv [2], str_replace [1]
str_replace [2]
CALLED BY:
get_sirius_yr, go_get_sirius, yoyo_man2
OPTIONAL KEYWORD INPUT:
nodsn - If set, answer "no" to copying DSN files
HISTORY:
Written Dec-91 by M.Morrison
3-Mar-92 (MDM) - changed default answer for "KSC Temporary Real data"
to yes.
17-Mar-92 (MDM) - Added "flare2" option
20-Mar-92 (MDM) - changed default answer for "KSC Temporary Playback
data" to yes.
19-Apr-92 (MDM) - Changed default answer for Temporary data to no
Added keyword option /TEMP to access the temporary
data
22-Apr-92 (MDM) - Added "outfil" in parameter list
1-May-92 (MDM) - Removed check to see if someone is running SRSGET
since the script handles that.
3-May-92 (MDM) - Added "srsget" option to enable running SRSGET2
30-May-92 (MDM) - Fixed bug with commanding SRSGET=1
18-Jul-92 (MDM) - Added "ftp" option
22-Aug-92 (slf) - Increased wait between flare1 reads to avoid hanging
25-Aug-92 (slf) - Old wait reinstalled execept for $ys host check
(additional 10 second wait inserted)
27-Aug-92 (slf) - Minor mod for srsftp2 output
14-Oct-92 (MDM) - Added "nodsn" option
20-Oct-92 (slf) - Changed flare1 rlogin timings again (20,.1,.1)
Based on benchmarking with test program
11-Jan-93 (MDM) - Added capability to recognize and exit on
segmentations fault (core dump) error
24-wed-93 (slf) - check environ ys_flarewait for rlogin wait
16-Jun-93 (MDM) - Modified to allow any format time range as input
11-Aug-93 (MDM) - Trap on "Connection closed" message which can
occur at the wrong time.
2-apr-94 (SLF) - update for srsgetN_ver2 (wallops/santiago)
backward compat via OLDSRSGET switch
minor logic changes in srsget questions
[Previous]
[Next]
NAME:
get_sirius_yr
PURPOSE:
Special routine to call GET_SIRIUS for the year boundary cases since
Shuto san does not handle the year tag properly in this case.
INPUT:
Same as GET_SIRIUS
OUTPUT:
Same as GET_SIRIUS
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], FILE_EXIST [2], anytim2ex [1]
anytim2ex [2], break_file [4], file_exist [1], file_exist [3], get_sirius [1]
get_sirius [2]
HISTORY:
Written 10-Jan-94 by M.Morrison
[Previous]
[Next]
NAME:
get_site
PURPOSE:
Returns the site name for the cases of 'ISAS' and 'LPARL'.
OUTPUT PARAMETERS:
Either 'isas' or 'lockheed' returned.
PROCEEDURE:
Spawn a child process and pipe the result back.
CALLS: ***
STR2ARR [1], STR2ARR [2]
CALLED BY:
mk_vcr
HISTORY:
16-feb-96 (GLS) - Written. Based on JRL et al's "get_host".
[Previous]
[Next]
NAME:
get_sony_cmd
PURPOSE:
Return ASCII command code for Sony LVR-5000A laser videodisk commands
CALLING SEQUENCE:
result = get_son_cmd('clear')
result = get_sony_cmd('vid_on')
result = get_sony_cmd('search',frame_no)
result = get_sony_cmd('search',frame_no,speed)
INPUTS:
cmd_name = If undefined will default to ['clear','vid_on','clear']
'clear' = clear command
'frame' = Display frame mode
'vid_on' = Turn video on
'vid_off' = Turn video off
'Search' = Search for frame_no
'Play' = Forward or Reverse play to frame_no
'Step' = F- or R- play to frame_no at Speed of 30/speed sec per frame
'Slow' = F- or R- play at 1/3 normal speed
'Fast' = F- or R- play at 3x normal speed
CALLED BY:
VIDEO_ON, sonyloop [1], sonyloop [2]
Note: If the speed is present, 'Play','Slow', and 'Fast' will all be handled
the same as if 'Step' is provided according to the values given below
(see speed instructions). Thus, it is only ever necessary to use 'Play'.
OPTIONAL INPUTS:
frame_no = Frame number (only has meaning with search, F-Play, R-Play)
Speed = Defines the playing time as: Normal/speed
Values of 1:255 are acceptable.
-1 corresponds to 1/5 speed (slow forward/reverse)
-2 corresponds to 3x normal (fast forward/reverse)
-3 corresponds to normal
If undefined, defaults to 1
OPTIONAL INPUT KEYWORDS:
nostxetx If set, the stx and etx commands are not prefixed/appended
RESTRICTIONS:
cmd_name must include only one SEARCH, PLAY, STEP, FAST, or SLOW command
METHOD:
MODIFICATION HISTORY:
14-Jan-95, G. L. Slater, Written
21-Jan-95, J. R. Lemen, Added Frame, F-play, R-play modes.
Enabled cmd_name to be a vector.
2-Feb-95, JRL, Minor improvements.
[Previous]
[Next]
Name: get_ssc_best
Purpose: return 'index,data' for "best" SSC matching
Input Parameters:
indexin - index/time to match
Output Parameters:
iout, dataout - the corresponding SSC/SSS index,data pair
Keyword Parameters:
maxdt - maximum "acceptable" delta-time in hours
actdt - acutal delta-time from input time
filtb - optional filter b (integer 2: Al1, 3: AlMg)
res - optional resolution (integer: 1: half, 2: quarter)
half - switch, synonym for res=1
quarter - switch, synonym for res=2
expand_days - number of days to allow expanding search
status - 1: match found/returned in iout,dataout
0: no match found with desired constraints
sscfiles - optional list of files to consider
Calling Sequence:
IDL> get_ssc_best, timein, index, data [/half, /quart, filtb=xx]
CALLS: ***
BOX_MESSAGE, RD_XDA [1], RD_XDA [2], Rd_Roadmap [2], data_chk [1], data_chk [2]
last_nelem, rd_roadmap [1], read_sxt, ssc_files [1], ssc_files [2], ssc_files [3]
ssw_deltat, struct_where, time_window
History:
23-Jan-2001 - simplify some auto-context (ssw_fov_context) and SSC work
[Previous]
[Next]
NAME:
get_sscinfo
PURPOSE
To quickly collect the information for the exposures
comprising an SSC or SST.
CALLING SEQUENCE
get_sscinfo,index,sst=sst,sxt1,sxt2 [,sxt3]
INPUT
index, SSC or SST index structure.
OUTPUT
sxt1: array of index structures for the short exposure
sxt2: array of index structures for the long exposure
CALLS: ***
fmt_tim [1], fmt_tim [2], rd_obs
Note: For single-exposure SSCs then sxt1=sxt2.
OPTIONAL OUTPUT
sxt3: for SST, index structures for the super-long exposure.
Note: For double-exposure SSTs then sxt1=sxt2 and sxt3
refers to the super_long exposure.
If sxt3 is asked for when SSC index is input then
sxt3 remains undefined.
HISTORY
Journal File for acton@pachyderm.physics.montana.edu
Working directory: /disk/pd1/acton/movietime
Date: Fri Nov 12 10:23:25 2004 (LWA)
17-Nov-2004 LWA Changed loop indices to longword.
Handle no-short SSCs and SSTs.
18-Mar-2005 LWA Now call rd_obs with fmt_tim(index)
to deal with ms errors in index.time.
[Previous]
[Next]
NAME:
get_sscinfo
PURPOSE
To quickly collect the information for the exposures
comprising an SSC or SST.
CALLING SEQUENCE
get_sscinfo,index,sst=sst,sxt1,sxt2 [,sxt3]
INPUT
index, SSC or SST index structure.
OUTPUT
sxt1: array of index structures for the short exposure
sxt2: array of index structures for the long exposure
OPTIONAL OUTPUT
sxt3: for SST, index structures for the super-long exposure.
HISTORY
Journal File for acton@pachyderm.physics.montana.edu
Working directory: /disk/pd1/acton/movietime
Date: Fri Nov 12 10:23:25 2004 (LWA)
17-Nov-2004 LWA Changed loop indices to longword.
17-Nov-2004 SLF - from get_sscinfo, maybe faster.
[Previous]
[Next]
NAME:
GET_SSX_SLICE
PURPOSE:
CATEGORY:
CALLING SEQUENCE:
INPUTS:
POSITIONAL PARAMETERS:
KEYWORDS PARAMETERS:
OUTPUTS:
POSITIONAL PARAMETERS:
KEYWORDS PARAMETERS:
CALLS: ***
DR_CARR [1], DR_CARR [2], DR_CARR [3], MAKVEC, get_pnt, get_rb0p [1], get_rb0p [2]
gt_hxa, gt_res, gt_shape_cmd, int2secarr [1], int2secarr [2]
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
PROCEDURE:
EXAMPLE:
MODIFICATION HISTORY:
July, 1992. - Written by GLS, LMSC.
4-Dec-92 (GLS) - Modifications to correct for errors when extracting
SSE and SSW
10-Dec-92 (MDM) - Perform the out of range correction properly
19-Jun-93 (MDM) - Modified to add keyword output X0
[Previous]
[Next]
Name: get_string
Purpose: read and return file generated by sav_string
used for Yohkoh !path, documentation, filemaps
Input Parameters:
file - filename of file (written by save_idlpath)
if any keyword is set
Optional Keyword Parameters:
Output:
function returns contents of file
Method:
special files contain a single string (but the string may be long)
in XDR format for transporability among systems
Calling Sequence: string=get_string(file)
Categories:
swmaint, file i/o, gen, util
Notes:
The pair of routines [sav_string/get_string] were developed to allow
saving and restoring of several yohkoh parameters (ex: !path) to help
manage the Yohkoh idl environment but they are generic in nature and
other uses may be considered. They can be used in conjunction with
arr2str and str2arr to allow storing of string 'arrays'
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], concat_dir [4]
History: slf, 30-July-92
slf, 22-Jul-93 (use SITE instead of GEN)
[Previous]
[Next]
NAME:
GET_SUBARR2
PURPOSE:
Extracts sub-array from SDA files specified by INFIL
CALLING SEQUENCE:
subdata = get_subarr2(infil,ys=ys,zs=zs)
INPUTS:
OPTIONAL INPUTS:
OUTPUTS:
CALLS: ***
DATA_PATHS, RD_XDA [1], RD_XDA [2], Rd_Roadmap [2], anytim2ex [1], anytim2ex [2]
anytim2ints [1], anytim2ints [2], gt_res, int2secarr [1], int2secarr [2]
rd_roadmap [1], rot_pix2, sav_sda [1], sav_sda [2], sav_sda [3], tim2orbit [1]
tim2orbit [2], week_loop [1], week_loop [2], week_loop [3]
MODIFICATION HISTORY:
Written, Oct, 1992, G. L. Slater, LPARL
[Previous]
[Next]
NAME:
GET_SUNCENTER
PURPOSE:
Calculate the suncenter position (in SXT pixel coordinates) from
the HXA and IRU info in the PNT files.
Data reflects the spacecraft jitter. Useful to de-jitter SXT images.
CATEGORY:
CALLING SEQUENCE:
sunc = get_suncenter(pnt)
sunc = get_suncenter(index=index)
CALLED BY:
ALIGN_AR, HELIO_FOOT, RD_AR, SXTASEQ, get_suncenter2, term_obs
NOTE:
Most applications will not need to use any keyword parameters except
INDEX.
INPUTS:
pnt = pnt structure. Optional if index keyword supplied. In that
case, the pnt file is read automatically.
KEYWORDS (INPUT):
index = sxt index structure. If supplied, the suncenter position is
calculated only for the times given in the index structure.
In addition, the suncenter coordinates for the optical images
are corrected for the appropriate filter offsets.
/nofilt = do not test and correct for offsets of optical filters.
Useful if INDEX is not a SXT index or roadmap structure.
/noorbit = do not correct for orbital variations of the offset
between HXT and SXT. (fem file not read in this case.)
/nosecular = do not correct for secular variation of the offset
between HXT and SXT.
fem = fem orbital data structure. Optional, fem file read
automatically if not supplied.
sxt_xyt = float(4,*). Reference pixel offsets in sxt pixel units.
Will be used in place of HXA, if supplied.
Same format as SUNC
OUTPUTS:
sunc = suncenter coordinates in SXT full resolution pixels.
sunc(0,*) = x, sunc(1,*) = y, sunc(2,*) = pnt.time,
sunc(3,*) = pnt.day
KEYWORDS (OUTPUT):
code = vector. Indicates the reliability of each sun center position.
0 : error, no result, 1: result may be poor, no IRU correction,
2 : IRU jitter correction done (= normal result).
delta = vector. Time difference (in s) between index time and pnt
time for each sun center position. A value larger than a few
seconds indicates that the suncenter position may not be
reliable.
hxa_out = float(4,*). Returns all hxa data. Same format as SUNC.
Only works if sxt_xyt is NOT supplied.
CALLS: ***
HXA_SUNCENTER, IRU_FILT, IRU_S2Y, SVDFIT, anytim2ints [1], anytim2ints [2]
gt_day [1], gt_day [2], gt_filta, gt_time [1], gt_time [2], rd_pnt, sel_timrange [1]
sel_timrange [2], tbeep [1], tbeep [2], tbeep [3], tim2dset [1], tim2dset [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
The program reads all the pnt data at once, which may be a (memory)
problem for data that covers more than a week or two.
PROCEDURE:
The HXA detectors provide absolute suncenter positions, but with a
relatively coarse resolution. The gyros (IRU) have better resolution
but poor longterm stability. The program fits the gyro data onto
the HXA data to obtain the absolute accuracy of the HXA, and the
high resolution of the gyros. The gyros show a drift which can be
assumed to be linear for time intervals of up to about 10 minutes.
If the covered time period is longer, the program splits the data
into shorter intervals and performs a linear fit for each interval.
MODIFICATION HISTORY:
JPW, Jan. 1993. Evolved out of getcal_att and hxa_suncenter.
JPW, Apr. 1993. Bug fix (def. of tchi)
1-Jun-93 (MDM) - Modification to not crash when having trouble
finding the proper time
4-Jun-93 (MDM) - Similar modification to 1-Jun-93
5-Jun-93 (MDM) - Expanded to use the commanded S/C pointing in the
case that the HXA data is bad.
13-Jul-93 (JPW) Added filter to weed out IRU glitches.
28-Aug-93 (SLF) Add quiet keyword
27-Sep-93 (JPW) Replaced inline filter with call to iru_filt.
27-Sep-93 (JPW) Added call to iru_s2y to correct for iru switch.
9-mar-2005 (SLF) - change svdfit -> yoh_svdfit call
(work around non-backwardly compatible change
in svdfit and avoid ssw-gen side effects
[Previous]
[Next]
NAME:
GET_SUNCENTER
PURPOSE:
Calculate the suncenter position (in SXT pixel coordinates) from
the HXA and IRU info in the PNT files.
Data reflects the spacecraft jitter. Useful to de-jitter SXT images.
CATEGORY:
CALLING SEQUENCE:
sunc = get_suncenter(pnt)
sunc = get_suncenter(index=index)
CALLED BY:
ALIGN_AR, HELIO_FOOT, RD_AR, SXTASEQ, get_suncenter2, term_obs
NOTE:
Most applications will not need to use any keyword parameters except
INDEX.
INPUTS:
pnt = pnt structure. Optional if index keyword supplied. In that
case, the pnt file is read automatically.
KEYWORDS (INPUT):
index = sxt index structure. If supplied, the suncenter position is
calculated only for the times given in the index structure.
In addition, the suncenter coordinates for the optical images
are corrected for the appropriate filter offsets.
/nofilt = do not test and correct for offsets of optical filters.
Useful if INDEX is not a SXT index or roadmap structure.
/noorbit = do not correct for orbital variations of the offset
between HXT and SXT. (fem file not read in this case.)
/nosecular = do not correct for secular variation of the offset
between HXT and SXT.
fem = fem orbital data structure. Optional, fem file read
automatically if not supplied.
sxt_xyt = float(4,*). Reference pixel offsets in sxt pixel units.
Will be used in place of HXA, if supplied.
Same format as SUNC
OUTPUTS:
sunc = suncenter coordinates in SXT full resolution pixels.
sunc(0,*) = x, sunc(1,*) = y, sunc(2,*) = pnt.time,
sunc(3,*) = pnt.day
KEYWORDS (OUTPUT):
code = vector. Indicates the reliability of each sun center position.
0 : error, no result, 1: result may be poor, no IRU correction,
2 : IRU jitter correction done (= normal result).
delta = vector. Time difference (in s) between index time and pnt
time for each sun center position. A value larger than a few
seconds indicates that the suncenter position may not be
reliable.
hxa_out = float(4,*). Returns all hxa data. Same format as SUNC.
Only works if sxt_xyt is NOT supplied.
CALLS: ***
HXA_SUNCENTER, IRU_FILT, IRU_S2Y, SVDFIT, anytim2ints [1], anytim2ints [2]
gt_day [1], gt_day [2], gt_filta, gt_time [1], gt_time [2], rd_pnt, sel_timrange [1]
sel_timrange [2], tbeep [1], tbeep [2], tbeep [3], tim2dset [1], tim2dset [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
The program reads all the pnt data at once, which may be a (memory)
problem for data that covers more than a week or two.
PROCEDURE:
The HXA detectors provide absolute suncenter positions, but with a
relatively coarse resolution. The gyros (IRU) have better resolution
but poor longterm stability. The program fits the gyro data onto
the HXA data to obtain the absolute accuracy of the HXA, and the
high resolution of the gyros. The gyros show a drift which can be
assumed to be linear for time intervals of up to about 10 minutes.
If the covered time period is longer, the program splits the data
into shorter intervals and performs a linear fit for each interval.
MODIFICATION HISTORY:
JPW, Jan. 1993. Evolved out of getcal_att and hxa_suncenter.
JPW, Apr. 1993. Bug fix (def. of tchi)
1-Jun-93 (MDM) - Modification to not crash when having trouble
finding the proper time
4-Jun-93 (MDM) - Similar modification to 1-Jun-93
5-Jun-93 (MDM) - Expanded to use the commanded S/C pointing in the
case that the HXA data is bad.
13-Jul-93 (JPW) Added filter to weed out IRU glitches.
28-Aug-93 (SLF) Add quiet keyword
27-Sep-93 (JPW) Replaced inline filter with call to iru_filt.
27-Sep-93 (JPW) Added call to iru_s2y to correct for iru switch.
[Previous]
[Next]
NAME:
get_suncenter2
PURPOSE:
Given a set of input times, call GET_SUNCENTER and return the
SXT center pixel location. It does the most efficient reading of
the PNT database as possible.
CALLING SEQUENCE:
cen = get_suncenter2(times)
cen = get_suncenter2(index, code=hxacode, fem=fem)
INPUT:
times - The input time(s) in any of the 3 standard formats
OPTIONAL INPUT:
relative- An input time can be passed, and the output will be
an offset in FR pixels relative to the input time.
CALLS: ***
GET_SUNCENTER [1], GET_SUNCENTER [2], UNIQ [1], UNIQ [2], UNIQ [3]
anytim2ints [1], anytim2ints [2], fmt_tim [1], fmt_tim [2], int2secarr [1]
int2secarr [2], rd_pnt, tim2dset [1], tim2dset [2], tim2orbit [1], tim2orbit [2]
CALLED BY:
sxt_cen [1], sxt_cen [2]
OPTIONAL KEYWORD INPUT:
qdebug - If set, print some debugging statements.
pieces - If set, force the extraction on a piece by piece basis
(normally if it is less than 3 days, it will do one read
to the PNT file)
OUTPUT:
cen - The center of the SXT image in FR pixels
OPTIONAL KEYWORD OUTPUT:
code - GET_SUNCENTER code
= 0: error, no result
= 1: result may be poor, no IRU correction,
= 2: IRU jitter correction done (= normal result).
fem - The FEM records for the time period covered
delta - The offset in seconds between the input time and the PNT
data record used for the pointing derivation
HISTORY:
Written 20-Jun-93 by M.Morrison
15-Jul-93 (MDM) - Removed expanding of the time span being read when
doing GET_SUNCENTER in chunks
[Previous]
[Next]
NAME:
get_sunset
PURPOSE:
To run the AOSLOS program and to find the times of sunset to
a higher accuracy than the FEM files provide.
CALLING SEQUENCE:
times = get_sunset(sttim, entim)
prstr, get_sunset('18-aug-93', '20-aug-93')
INPUT:
sttime - The starting time to search for
OPTIONAL INPUT:
entim - The ending time to search for. If entim is not passed,
then entim is set to be "duration" hours after sttim.
CALLS: ***
anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], fmt_tim [1]
fmt_tim [2], int2secarr [1], int2secarr [2], rd_fem, rd_orbit_event, run_dsnfil
CALLED BY:
go_sunset, mk_fem [1], mk_fem [2]
OPTIONAL KEYWORD INPUT:
duration- The number of hours to calculate the sunset time starting
from "sttim". If it is not passed in, and "entim" is not
passed, then duration will default to 12 hours
OUTPUT:
times - The times of the transition from day to night with
a one second accuracy.
OPTIONAL KEYWORD INPUT/OUTPUT:
fem_night- The sunset times as predicted by FEM
HISTORY:
Written 16-Aug-93 by M.Morrison
24-Aug-93 (MDM) - Changed to run AOSLOS program from +/- 120
seconds (instead of +/- 60 sec)
16-Mar-94 (MDM) - Modified to not call RD_FEM if the time is
passed in as FEM_NIGHT (made FEM_NIGHT
optional input as well as output)
13-Dec-94 (LWA) - Added quiet=quiet keyword.
[Previous]
[Next]
NAME:
get_sxa
PURPOSE:
Given a set of input times, return the single SXA data record
closest to that time.
CALLING SEQUENCE:
get_sxa, index, index_s, sxa
get_sxa, index, index_s, sxa, offset=offset
INPUT:
tim_in - The input time(s) in any of the 3 standard formats
OUTPUT:
index_s - The SXA index structure
sxa - The SXA data structure
OPTIONAL KEYWORD OUTPUT:
offset - The number of seconds that the matching SXA data is off
from the input time(s)
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], GET_NBYTES, RD_XDA [1], RD_XDA [2]
Rd_Roadmap [2], anytim2ints [1], anytim2ints [2], concat_dir [4], gt_filtb, gt_res
rd_roadmap [1], str_copy_tags [1], str_copy_tags [2], str_copy_tags [3]
str_copy_tags [4], tim2dset [1], tim2dset [2], tim2orbit [1], tim2orbit [2]
HISTORY:
Written 11-Aug-93 by M.Morrison (Using GET_PNT as starting point)
13-Sep-93 (MDM) - Modified slightly
[Previous]
[Next]
NAME:
get_sxt_dejit
PURPOSE:
Create an x/y dejitter vector for poly_movie, cont_movie, etc. from
an SXT index vector.
CATEGORY:
CALLING SEQUENCE:
xy = get_sxt_dejit(index,ref=ref_index)
INPUTS:
index = SXT index structure
KEYWORDS (INPUT):
ref_image = index of a reference image. Default is to use the first
image of the index.
OUTPUTS:
xy = dejitter array, xy(0,n) = x-jitter, xy(1,n) = y-jitter
KEYWORDS (OUTPUT):
CALLS: ***
gt_corner
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
all images should have same size and resolution. The same limitation
also applies to poly_movie, cont_movie, etc.
PROCEDURE:
MODIFICATION HISTORY:
JPW, 4-apr-94
[Previous]
[Next]
GET_SYN_25
To load the array s25(720,28) with broadened synthetic spectra for the
corresponding temperature, the array s25_synth(720,28) with the raw
synthetic data and to set scale variables.
Note the contents of s25 on return are:
s25(*,0) the wavelengths
s25(9:27,1) the scale factors for each spectrum ie divide by this and
peak in spectrum = 1.0
s25(*,9:27) the synthetic spectra
this is wasteful but at least the spectra can be referenced easily ie
s25(*,22) = spectrum for T=22 MK
Input:
s25 output array as described above
bwid width of Gaussian with which to convolve spectra
(13-17 about right for comparison with BCS data)
s25_synth raw synthetic data from files
Use:
IDL> get_synth,s25,bwid[,s25_synth]
NB The routine fe25_temp calls this routine if it has not been called
previously.
CDP June 92
V2 save s25_synth June 92
CALLS:
CALLED BY
FE25_BSC_TEMP
[Previous]
[Next]
Name: get_tapename
Purpose: return tapename for a given weekid
CALLS: ***
Rd_TapDir
CALLED BY:
modvolume_inf [1], modvolume_inf [2]
History: written, Oct.96, gal
[Previous]
[Next]
NAME:
GET_TIME_LAPSE
PURPOSE:
To convert a given time to a time in millisoconds from a base time.
CALLING SEQUENCE:
time_lapse = GET_TIME_LAPSE(time, base_time)
INPUT:
xx - Time in any format.
base_xx - Base time in any format.
OUTPUT:
time_lapse - Time in milliseconds from base_time.
SIDE EFFECT:
none
CATEGORY:
Yohkoh HXT data analysis.
CALLS: ***
anytim2ints [1], anytim2ints [2]
CALLED BY:
HXT_IMAGE_TIME, HXT_TIME2FRAME
HISTORY:
version 1.0 98.06.26 (Fri) T.Sakao written.
1.1 98.09.22 (Tue) Program modified so that it can
handle input time with any formats.
[Previous]
[Next]
NAME:
GET_TRACUBE
PURPOSE:
Extracts aligned sub-array from SDA files specified by INFIL
CALLING SEQUENCE:
INPUTS:
OPTIONAL INPUTS:
OUTPUTS:
CALLS: ***
BOX_CURSOR, C2S, CRP, DR_PHOTO [1], DR_PHOTO [2], DR_PHOTO [3], HXA_SUNCENTER
RD_XDA [1], RD_XDA [2], Rd_Roadmap [2], S2C [1], S2C [2], anytim2ex [1]
anytim2ex [2], anytim2ints [1], anytim2ints [2], get_pnt, get_rb0p [1]
get_rb0p [2], gt_res, gt_shape_cmd, int2secarr [1], int2secarr [2], rd_roadmap [1]
sav_sda [1], sav_sda [2], sav_sda [3], tim2orbit [1], tim2orbit [2]
MODIFICATION HISTORY:
Written, Feb, 1993, G. L. Slater, LPARL
[Previous]
[Next]
NAME:
GET_TRANGE
PURPOSE:
Selects time range using supplied INDEX as a guide
CATEGORY:
CALLING SEQUENCE:
times = get_trange(index,istart,istop)
INPUTS:
index index structure
OPTIONAL INPUT PARAMETERS:
KEYWORD PARAMETERS:
OUTPUTS:
times string array containing selected start and stop times
OPTIONAL OUTPUT PARAMETERS:
istart first index record after selected start time
istop last index record before selected end time
CALLS: ***
ADDTIME [1], ADDTIME [2], anytim2ex [1], anytim2ex [2], fmt_tim [1], fmt_tim [2]
tim2dset [1], tim2dset [2], yesnox [1], yesnox [2]
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
PROCEDURE:
User is allowed to modify start and stop times that are derived
from supplied index structure.
MODIFICATION HISTORY:
RDB 26-Jan-94 Written
[Previous]
[Next]
Name: get_visible
Purpose: return visible KSC orbit data
Input Parameters:
week - week# (default is current week)
CALLS: ***
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2]
anytim2weekid [1], anytim2weekid [2], concat_dir [4], cont2time [1]
cont2time [2], gt_day [1], gt_day [2]
CALLED BY:
get_utevent [1], get_utevent [2], show_contacts, tim2pass
History:
6-apr-1995 (SLF) - written
8-apr-1995 (SLF) - new visible.dat format (include orbit)
call cont2time to parse contacts/mk_visible output
11-jan-1995 (SLF) - force 2 digit year...
[Previous]
[Next]
NAME:
get_wtype
PURPOSE:
get widget type
CALLING SEQUENCE:
wtype=get_wtype(event)
INPUTS:
event = widget event number
OUTPUTS:
wtype=type of widget (base, button, slider, etc)
PROCEDURE
examines tag names in event and widget_id structures
CALLS: ***
WIDG_TYPE
HISTORY:
Zarro (ARC) - written Oct'93
[Previous]
[Next]
Name:
get_xyrad
Purpose:
Fit a circle to a set of [x,y] pairs. Will determine x0, y0, and
(optionally) r0 = radius if /radius_fix is given.
Calling Sequence:
a = get_xyrad(data [,/radius_fix,/refit])
Inputs:
data = Image array - Given for re-drawing the plot if next.
Outputs:
Returned function = floating vector, length=3:
(0) = x position of the center of the circle
(1) = y position of the center of the circle
(2) = radius of the circle
Optional Input Parameters:
radius_fix = Radius. If specified, routine will not change the radius.
refit = If set, will ask questions to allow refit to be done.
17-oct-91, J. R. Lemen, Written
25-mar-92, JRL, Modified, Changed TVPLOT calls to PLOTS.
CALLS:
CALLED BY
NORH_GRID [1], NORH_GRID [2], SXT_GRID [1], SXT_GRID [2], SXT_GRID [3]
[Previous]
[Next]
Name: get_ydbhelp
Purpose: return one line descriptions about each input prefix
Calling Sequence:
help=get_ydbhelp(prefixs)
Calling Examples:
more,get_ydbhelp(['nar','fem','att'])
CALLS: ***
RD_PREFIX_DOC, data_chk [1], data_chk [2], str_replace [1], str_replace [2]
CALLED BY:
mk_ydbtab, rd_ydbtap
History:
15-Jun-1994 (SLF) - provide help for rd_ydbtap
[Previous]
[Next]
NAME:
get_yo_dates
PURPOSE:
Return significant Yohkoh dates.
CALLING SEQUENCE:
Launch = get_yo_dates(/launch) ; Return launch date
SXT_ent= get_yo_dates(/entrance) ; Date SXT entrance filter failed
SXT_ent= get_yo_dates(/entr,/verbos); Provide additional information
SXT_ent= get_yo_dates(/entr,/ver,/head); Provide additional information with header
SXT_ent= get_yo_dates(/entr,/value) ; Provide values of entrance filter
SC_pnt = get_yo_dates(/pointing) ; Dates of S/C pointing changes
SC_pnt = get_yo_dates(/poi,verbose) ; Provide additional information
SC_pnt = get_yo_dates(/poi,/val) ; Return the values
moon = get_yo_dates(moon=1) ; Get first eclipse date
mercury= get_yo_dates(/mercury) ; Get the mercury date
bakeouts=get_yo_dates(/bakeout) ; bakeout (ranges)
bakeouts=get_yo_dates(/bakeout,/header,/verbos) ; additional info
SC_pnt = get_yo_dates(index,/point) ; Return nominal pointing time of index
no_can = get_yo_dates(/no_canopus) ; dates Canopus (roll ref Star) lost
OPTIONAL INPUTS:
index = Standard Yohkoh index or time in any Yohkoh format
OPTIONAL INPUT KEYWORDS:
launch = Set to return launch date
entrance = Set to return dates when SXT entrance filter transmission changed
Value returned the fractional open area
safehold = Set ot return the dates when SXT was in safehold
pointing = Set to return dates of Yohkoh spacecraft pointing
verbose = Set to return additional information as a string vector
value = Set to return the associated value (rather than the date)
header = If verbose is set, return a header as first element of output
string vector
bakeout = return times of SXT CCD bakeouts (from file)
moon = time ranges for solar eclipses possibly seen by Yohkoh
eclipse = actual SFR image intervals when eclipses were seen
no_canopus = dates when Yohkoh roll reference star Canopus was lost
CALLED BY:
SXT_BAKEOUT_IN, SXT_TEEM2 [1], SXT_TEEM2 [2], SXT_TEEM2 [3], choose_sfc
get_epoch_sfcs [1], get_epoch_sfcs [2], go_lasdisk golaserdisk
go_lasdisk2 golaserdisk, mk_sdcs, mk_sfc [1], mk_sfc [2], mk_sff_pair [1]
mk_sff_pair [2], mk_sft [1], mk_sft [2], mk_ssc [1], mk_ssc [2], mk_syn_sfc [1]
mk_syn_sfc [2], mk_synsfc_coeff [1], mk_synsfc_coeff [2], mk_ydbtab, search_obs
sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], sfc_prep [1]
sfc_prep [2], ssc_files [1], ssc_files [2], ssc_files [3], sxt_chk_era
sxt_eff_area, sxt_etemp, sxt_flux [1], sxt_flux [2], sxt_flux [3]
sxt_get_grill [1], sxt_get_grill [2], sxt_mornint, sxt_mwave, sxt_prep [1]
sxt_prep [2], sxt_prep [3], sxt_uvf_info [1], sxt_uvf_info [3], xdate [1]
xdate [2], xsearch_obs, yo_mkos1_dbase
RESTRICTIONS:
The keywords launch, entrance and pointing are mutually exclusive.
MODIFICATION HISTORY:
25-jan-93, J. R. Lemen LPARL, Written
22-aug-95, S. L. Freeland - second entrance filter failure
13-nov-95, JRL, Added safehold dates; Updated Moon (eclipse) dates
29-aug-96, S.L. Freeland - third entrance filter failterwq!
1-oct-97, S.L. Freeland - add BAKEOUT keyword and function
3-oct-97, S.L. Freeland - fine tune 3rd ent failure per LWA
2-feb-98, S.L.Freeeland - fourth ent filt failure (ESTIMATE!)
2-feb-99, S.L.Freeland - fifth ent filter failure (ESTIMATE!)
19-feb-99, P.G.Shirts - changed 1st ent. failure date from:
13-NOV-92 16:50:00 to 13-NOV-92 18:00:00
5th failure time to 30-Jan-99 22:03:37
24-feb-99, P.G.Shirts - changed fifth ent. failure date from:
30-Jan-99 22:03:37 to 30-JAN-99 23:17
27-feb-99, P.G.Shirts - changed 16 August 1995 filter failure
time from 08:21:02 to 08:04:20, per Acton
5-May-99, S.L.Freeland - declare leak era ~ VERY APPROX 18-apr-99
4-March-00, Zarro - fixed IDL 5.3 syntax error
17-May-00, B.N. Handy - Implement pointing changes. Needs more
history, but this will enable my QUICK
page OP_TERM_SCORE updates.
13-Aug-01, S.L. Freeland - add/modify entrance filter info(1999)
5-nov-02, S.L. Freeland - add end of mission (last sxt image+1sec)
to entrance filter epochs
23-Jul-2003, T. Metcalf - Added a pseudo entrace filter failure at
11-feb-00 13:00:20. This is not a real
failure but the pointing changed and it
changed the leak enough to act like an
entrance filter failure.
17-dec-2004, H. Hudson - added eclipse time ranges and made /moon return strarr(2)
11-jan-2004, H. Hudson - added detailed eclipse times based on manual inspection of SFRs
/eclipse returns strarr(2,n)
1-dec-2005, S. Freeland - add /NO_CANOPUS keyword&function
[Previous]
[Next]
NAME:
get_yo_dates
PURPOSE:
Return significant Yohkoh dates.
CALLING SEQUENCE:
Launch = get_yo_dates(/launch) ; Return launch date
SXT_ent= get_yo_dates(/entrance) ; Date SXT entrance filter failed
SXT_ent= get_yo_dates(/entr,/verbos); Provide additional information
SXT_ent= get_yo_dates(/entr,/ver,/head); Provide additional information with header
SXT_ent= get_yo_dates(/entr,/value) ; Provide values of entrance filter
SC_pnt = get_yo_dates(/pointing) ; Dates of S/C pointing changes
SC_pnt = get_yo_dates(/poi,verbose) ; Provide additional information
SC_pnt = get_yo_dates(/poi,/val) ; Return the values
moon = get_yo_dates(moon=1) ; Get first eclipse date
mercury= get_yo_dates(/mercury) ; Get the mercury date
bakeouts=get_yo_dates(/bakeout) ; bakeout (ranges)
bakeouts=get_yo_dates(/bakeout,/header,/verbos) ; additional info
SC_pnt = get_yo_dates(index,/point) ; Return nominal pointing time of index
OPTIONAL INPUTS:
index = Standard Yohkoh index or time in any Yohkoh format
OPTIONAL INPUT KEYWORDS:
launch = Set to return launch date
entrance = Set to return dates when SXT entrance filter transmission changed
Value returned the fractional open area
safehold = Set ot return the dates when SXT was in safehold
pointing = Set to return dates of Yohkoh spacecraft pointing
verbose = Set to return additional information as a string vector
value = Set to return the associated value (rather than the date)
header = If verbose is set, return a header as first element of output
string vector
bakeout = return times of SXT CCD bakeouts (from file)
CALLED BY:
SXT_BAKEOUT_IN, SXT_TEEM2 [1], SXT_TEEM2 [2], SXT_TEEM2 [3], choose_sfc
get_epoch_sfcs [1], get_epoch_sfcs [2], go_lasdisk golaserdisk
go_lasdisk2 golaserdisk, mk_sdcs, mk_sfc [1], mk_sfc [2], mk_sff_pair [1]
mk_sff_pair [2], mk_sft [1], mk_sft [2], mk_ssc [1], mk_ssc [2], mk_syn_sfc [1]
mk_syn_sfc [2], mk_synsfc_coeff [1], mk_synsfc_coeff [2], mk_ydbtab, search_obs
sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], sfc_prep [1]
sfc_prep [2], ssc_files [1], ssc_files [2], ssc_files [3], sxt_chk_era
sxt_eff_area, sxt_etemp, sxt_flux [1], sxt_flux [2], sxt_flux [3]
sxt_get_grill [1], sxt_get_grill [2], sxt_mornint, sxt_mwave, sxt_prep [1]
sxt_prep [2], sxt_prep [3], sxt_uvf_info [1], sxt_uvf_info [3], xdate [1]
xdate [2], xsearch_obs, yo_mkos1_dbase
RESTRICTIONS:
The keywords launch, entrance and pointing are mutually exclusive.
MODIFICATION HISTORY:
25-jan-93, J. R. Lemen LPARL, Written
22-aug-95, S. L. Freeland - second entrance filter failure
13-nov-95, JRL, Added safehold dates; Updated Moon (eclipse) dates
29-aug-96, S.L. Freeland - third entrance filter failterwq!
1-oct-97, S.L. Freeland - add BAKEOUT keyword and function
3-oct-97, S.L. Freeland - fine tune 3rd ent failure per LWA
2-feb-98, S.L.Freeeland - fourth ent filt failure (ESTIMATE!)
2-feb-99, S.L.Freeland - fifth ent filter failure (ESTIMATE!)
19-feb-99, P.G.Shirts - changed 1st ent. failure date from:
13-NOV-92 16:50:00 to 13-NOV-92 18:00:00
5th failure time to 30-Jan-99 22:03:37
24-feb-99, P.G.Shirts - changed fifth ent. failure date from:
30-Jan-99 22:03:37 to 30-JAN-99 23:17
27-feb-99, P.G.Shirts - changed 16 August 1995 filter failure
time from 08:21:02 to 08:04:20, per Acton
5-May-99, S.L.Freeland - declare leak era ~ VERY APPROX 18-apr-99
4-March-00, Zarro - fixed IDL 5.3 syntax error
17-May-00, B.N. Handy - Implement pointing changes. Needs more
history, but this will enable my QUICK
page OP_TERM_SCORE updates.
13-Aug-2001, S.L.Freeland - add/modify entrance filter info(1999)
5-nov-2002, S.L.Freeland - add end of mission (last sxt image+1sec)
to entrance filter epochs
[Previous]
[Next]
NAME:
GET_YOHKOH_POS
PURPOSE:
locate Yohkoh in space
CATEGORY:
Yohkoh
CALLING SEQUENCE:
whole = get_yohkoh_pos(item)
INPUTS:
time-bearing item
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
structure containing time, date, radial distance, long, and lat
CALLS: ***
DSNFIL_TRIM, ORBIT_INPUT_TIME, gt_day [1], gt_day [2], gt_time [1], gt_time [2]
run_dsnfil
COMMON BLOCKS:
SIDE EFFECTS:
temporarily writes a file *ascii in the working directory. This
file should be automatically deleted, perhaps with all other
files named this way, be careful.
RESTRICTIONS:
Can only be used where the RUN_DSNFIL fortran code works!
MODIFICATION HISTORY:
HSH, written 29-Jan-97
[Previous]
[Next]
NAME:
GETCAL_ATT
PURPOSE:
Determine jitter of SXT flare data cube.
x/y pixel offsets for SXT are deduced from the spacecraft giro's.
The giro data is calibrated by either HXA or by supplied SXT
pixel offsets (e.g., from white light images run through korrel).
CALLED BY:
IRU_OFFS
Note: The procedure only works for rather short image sequences
up to about 15 minutes. For longer sequences, the assumption of
a linear giro drift is no longer valid.
CATEGORY:
CALLING SEQUENCE:
out = getcal_att(data,index,tvec)
INPUTS:
data = data structure of Yohkoh ada* file
index = index structure of Yohkoh ada* file
tvec = time vector for which the x/y pixel offsets are calculated.
The time vector can be either a SXT roadmap structure, or
a SXT index structure, or a plain longword vector with time
in milliseconds.
KEYWORDS (INPUT):
sxt_xyt = float(3,*). Reference pixel offsets in sxt pixel units.
Will be used in place of HXA, if supplied.
sxt_xyt(0,*) : sxt pixel shift in x,
sxt_xyt(1,*) : pixel shift in y,
sxt_xyt(2,*) : time (msec).
reftime = Reference time. Either index or roadmap structure, or
a plain longword (msec). Calibrate output so that
output pixel offsets = 0/0 at reftime.
/aspect_offset = if set, the aspect telescope offset is added to the
x/y pixel offset values. If tvec is a roadmap or index
structure, then only the offsets for images taken through
one of the two white light filters are corrected.
OUTPUTS:
out = float(3,*). Calculated pixel offsets for the supplied times in
tvec. Same format and units as sxt_xyt.
A positive x (y) offset indicates that the image needs to be
shifted to the E (S).
KEYWORDS (OUTPUT):
hxa_out = float(3,*). Returns hxa data. Same format as out.
Only works if sxt_xyt is NOT supplied.
CALLS: ***
FORZONES [1], FORZONES [2], YOH_SVDFIT, get_closest, gt_day [1], gt_day [2]
gt_filta, gt_time [1], gt_time [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
The program assumes that tvec covers less than one orbit.
If HXA is used to calibrate the giro's then the program assumes
that the number of hxa addresses (number of visible fiducial marks)
is constant throughout the period. And, that the solar limb is not
hidden by a fiducial mark.
PROCEDURE:
The giro data shows a linear slope which needs to be taken out
before use. This slope can assumed to be constant over time
intervals of several minutes. The program determines the slope
by comparison with either HXA or supplied calibrations.
MODIFICATION HISTORY:
JPW, Jan. 1992
JPW, May 1992. SXT roadmap or index allowed as tvec,
added /aspect_offset option,
added some HXA diagnostics.
SLF, Mar 2005 - change svdfit references -> yoh_svdfit
Work around non backwardly compatible svdfit
evolution and avoid ssw-gen side effects
[Previous]
[Next]
NAME:
GETCAL_ATT
PURPOSE:
Determine jitter of SXT flare data cube.
x/y pixel offsets for SXT are deduced from the spacecraft giro's.
The giro data is calibrated by either HXA or by supplied SXT
pixel offsets (e.g., from white light images run through korrel).
CALLED BY:
IRU_OFFS
Note: The procedure only works for rather short image sequences
up to about 15 minutes. For longer sequences, the assumption of
a linear giro drift is no longer valid.
CATEGORY:
CALLING SEQUENCE:
out = getcal_att(data,index,tvec)
INPUTS:
data = data structure of Yohkoh ada* file
index = index structure of Yohkoh ada* file
tvec = time vector for which the x/y pixel offsets are calculated.
The time vector can be either a SXT roadmap structure, or
a SXT index structure, or a plain longword vector with time
in milliseconds.
KEYWORDS (INPUT):
sxt_xyt = float(3,*). Reference pixel offsets in sxt pixel units.
Will be used in place of HXA, if supplied.
sxt_xyt(0,*) : sxt pixel shift in x,
sxt_xyt(1,*) : pixel shift in y,
sxt_xyt(2,*) : time (msec).
reftime = Reference time. Either index or roadmap structure, or
a plain longword (msec). Calibrate output so that
output pixel offsets = 0/0 at reftime.
/aspect_offset = if set, the aspect telescope offset is added to the
x/y pixel offset values. If tvec is a roadmap or index
structure, then only the offsets for images taken through
one of the two white light filters are corrected.
OUTPUTS:
out = float(3,*). Calculated pixel offsets for the supplied times in
tvec. Same format and units as sxt_xyt.
A positive x (y) offset indicates that the image needs to be
shifted to the E (S).
KEYWORDS (OUTPUT):
hxa_out = float(3,*). Returns hxa data. Same format as out.
Only works if sxt_xyt is NOT supplied.
CALLS: ***
FORZONES [1], FORZONES [2], YOH_SVDFIT, get_closest, gt_day [1], gt_day [2]
gt_filta, gt_time [1], gt_time [2]
COMMON BLOCKS:
None.
SIDE EFFECTS:
RESTRICTIONS:
The program assumes that tvec covers less than one orbit.
If HXA is used to calibrate the giro's then the program assumes
that the number of hxa addresses (number of visible fiducial marks)
is constant throughout the period. And, that the solar limb is not
hidden by a fiducial mark.
PROCEDURE:
The giro data shows a linear slope which needs to be taken out
before use. This slope can assumed to be constant over time
intervals of several minutes. The program determines the slope
by comparison with either HXA or supplied calibrations.
MODIFICATION HISTORY:
JPW, Jan. 1992
JPW, May 1992. SXT roadmap or index allowed as tvec,
added /aspect_offset option,
added some HXA diagnostics.
[Previous]
[Next]
NAME: getcurstr
Purpose: given ptrs to current values of menu keys assemble
the current key string.
CALLS: ***
ARR2STR [1], Arr2Str [2]
CALLED BY:
wmkkey_event [1], wmkkey_event [2]
History: written 14-jan-92
update 27-Jan-92 for clearing a single key
[Previous]
[Next]
NAME: GetDatDir
PURPOSE: Return the full data to the input archive directory
CALLS: ***
finddir [1], finddir [2]
CALLED BY:
mktap
HISTORY: written 15-Nov-91
update for multiple directories 7-Feb
[Previous]
[Next]
NAME:
GetFnPath
Purpose:
Prompt the user with the file which was not found and
allow the user to specify a path to the file.
CALLING SEQUENCE:
path = GetFnPath([filename=fileNa, idx=idx])
Input/Keyword:
fileNa list of user requested filenames
idx current index value for the filename list.
Returned:
path path to the unlocated file
CALLED BY:
CkFurFiles
History:
written by GAL 26-July-91
NOTE: this routine should be updated with the X-window
equivalent i/o.
[Previous]
[Next]
Name:
GetLast
Purpose:
Find and return the last time from a list of times,
using the external format.
CALLING SEQUENCE:
lastTime = GetLast(time)
Input:
time list of times in external format
Returned:
latest time in list.
CALLED BY:
AdjUsrTim
History:
written 25-Apr-90 by GAL
updated 21-June-91 for SOLAR-A
[Previous]
[Next]
NAME: getm1ans
PURPOSE: get the information for creating a log entry for a
master tape.
Parameters:
dev tape output device number
Optional Output Parameters:
tapename tape name
CALLS: ***
ADDTIME [1], ADDTIME [2], Rd_TapDir, STR2ARR [1], STR2ARR [2], anytim2ex [1]
anytim2ex [2], def_tapd [1], def_tapd [2], def_tapd [3], get_host [1]
get_host [2], input [1], input [2], mt, wrttcplog
History:
19-Dec-96 - GLS - Added tapename output parameter
[Previous]
[Next]
Pro getmax,b,maxb,xpos,ypos
Finds the maximum of a 2-d array, and returns the subscripts of that pixel
Input: b= input array
Output: maxb= max of b
xpos= column of max point
ypos= row of max point
CALLS:
CALLED BY
fort2hxi [1], fort2hxi [2]
[Previous]
[Next]
Name: getmenu
Purpose: Get information for buliding pull-down menus.
Input/keywords:
sxt request for sxt specific menu information
Returned:
.item button label-search key
.labels "pull-down menu" labels for button label
.vals actual value for each "pull-down menu" label
.type type of operation for each "pull-down" label
CALLS: ***
MAKE_STR [1], MAKE_STR [2], gt_expmode, gt_filta, gt_filtb, gt_res
CALLED BY:
wmkkey [1], wmkkey [2]
History: written 6-Jan-92, gal
3-Feb-92, update for adding dpe/time(msec)
4-Feb-92, update for img_max and comp
25-Apr-92, update for gt_dpe....
[Previous]
[Next]
NAME:
GetNarOrb (get nearest orbit)
PURPOSE:
Get the NewOrb_p information and the NewOrb_p-indics
which is nearest in time to the user input times.
CALLING SEQUENCE:
GetNarOrb, fileNa, userTim, NewOrb_p, iNewOrb_p, len
INPUT:
fileNa Observing log file name.
userTim list of user input times. For example,
start and end times (in order). Structure:
userTim = {name, time:long, day:fix}
Output:
NewOrb_p list of NewOrbit times and pointers.
iNewOrb_p list of NewOrb_p-indices corresponding
to input times.
len number of 32-byte logical records
following the last requested neworb_p.
CALLS: ***
BinarySea, GETNARORB, Rd_NewOrb_p [1], Rd_NewOrb_p [2], Rd_fHeader [1]
Rd_fHeader [2], Rd_fHeader [3]
History:
written 1-Apr-91 by GAL
3-Apr-91 added len parameter.
9-Apr-91 len parameter correction after improvements were
made to observing.log access rountines.
[Previous]
[Next]
NAME:
GetObsDat
PURPOSE:
Get the observing log data-vectors for user requested
times and search keys.
CALLING SEQUENCE:
GetObsDat, fileNa, [userTimes=userTim, key=key, which=which,
fid=fid, sxtp=sxtp, sxtf=sxtf, oth3=oth3]
INPUT:
fileNa Observing log file name.
The input can be a vector of names.
userTim list of user input times. For example,
start and end times (in order). format:
userTim = {struct, time:long, day:fix}
key string containing a keyword specifing
search name and value: key = {structure,
name:string, value: string}
which A filter for extracting data: a string
vector containing the entries to
extract: (e.g. sxtp, sxtf, oth3).
Output:
fid data-vector of fileID logical records.
sxtp data-vector of sxt logical records for
partial frame images i.e. PFI.
sxtf data-vector of sxt logical records for
full frame images i.e. FFI.
bcs data-vector of BCS instrument
hxt data-vector of HXT instrument
wbs data-vector of WBS instrument
CALLS: ***
CkTimeNkey, GETNARORB, RdObsDat, TimToOff
HISTORY:
written 1-Apr-91 by GAL
modified 9-Apr-91 for two types of sxt logical records
and a new data format. Other changes include
new interface to observing log access
rountines.
modified 7-May-91, name has been changed from GetObsda.
For each call it returns a map, fid, sxtp, sxtf,
oth3.... Inaddition, if usertim is 0 but a key
specified the whole file will be searched. If both
can be specified: example, time,NaBan.
modified 20-May-91, major upgrade for keyword searches
into the database.
modified 26-July-91, to update documentation and formal
parameters.
modified 20-Aug-91, for hxt and wbs as seperate records.
modified 16-Oct-91 (MDM) to allow a vector of input
filenames. Also initialized the output vectors
so that previous searches are not appended.
[Previous]
[Next]
NAME:
GetObsID
PURPOSE:
Given the beginning date of the Archive week return
the proper file ID for the Observing Log.
CALLING SEQUENCE:
obsFileID = GetObsID(startT = startTime)
INPUT/Keyword:
startTime string giving the start time of
archive week.
RETURNED:
obsFileID string in the format of yy_wka
where,
letter 'a' is an unused option saved
CD archive-- part I and II denoted as
'a' and 'b'.
CALLS: ***
ex2week [1], ex2week [2]
CALLED BY:
TapDir, mk_desat, mk_desat_wl, mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_sfw
mktap_prep
NOTE: the following was dropped with
19-Feb-92 ver.
The file extendsion is the rev. number
of the acrhiving process (e.g. first
time is rev 1 and 2nd is 2 ...etc.)
HISTORY:
written 23-Sep-91 by GAL
updated 19-Feb-92, GAL for MONS ver # within file name.
i.e. dropping the ".1" which was the revno
of the archiving from the fileID.
1-Mar-92 (MDM) Changed "wk" to use I2.2 format statement
(it had trouble with week # < 10)
15-Apr-92 added trap for null input... add to avoid
hanging reformatter.
[Previous]
[Next]
NAME:
GetRng
PURPOSE:
Return a full list of file names (or fileids) given the
start and end of the list.
Calling Sequence:
rangelist = getrng( st_en_date, drecs,
[nearest_time=nearest_time]
some valid examples:
Using filenames to specify range:
fileNames = getrng(['adayymmdd.hhmm','adayymmdd.hhmm'],
drecs)
or Using file ids to specify range:
fileids = getrng(['yymmdd.hhmm','yymmdd.hhmm'], drecs)
Inputs:
st_en_date Two element array with start and
stop date and time in the Yohkoh
file format. If these have a
prefix the returned list also
does. If they DO NOT have a file
prefix then the ret. list is just
a list of fileids.
CALLS: ***
UNIQ [1], UNIQ [2], UNIQ [3], nearest_fid [1], nearest_fid [2]
CALLED BY:
RdTap [1], RdTap [2], RdTap [3], gen_file_id [1], gen_file_id [2]
History:
written 18-Nov-91, gal
updated 5-May-94, gal for either full file names or fids
in formal para. infns
updated 9-May-94, gal for nearest_time search.
[Previous]
[Next]
Name:
GetSDAVec
Purpose:
For each given SDA File Name (SFR or SPR), GetSDAVec
returns an roadmap-index list which corresponds
to the input requested times.
CALLING SEQUENCE:
err = GetSDAVec(fileNa, times, st_idx, [dSet=dSet])
Input:
fileNa SDA file name (spr or sfr)
times list of requested times for input file.
st_idx start value index for the output dset vector
Output/Keyword:
dSet list of roadmap-index values for data-ptrs
GetSDAVec err value:
0 indicates an error occurs
1 indicates that no error occured.
CALLS: ***
BinarySea, Rd_Roadmap [2], rd_roadmap [1]
CALLED BY:
DsetVec
History:
written 12-Mar-1991 by GAL (no error checking added yet)
3-Jul-91, added keyword to returned data-set-vector (dSet).
[Previous]
[Next]
NAME:
GetStrDat
Purpose:
Create a formatted string containning the date:
mn/dd/yr from integer format buffer.
CALLING SEQUENCE:
GetStrDat, timbuf, sDate, len, h=h
Input:
timbuf 2-dimensional day array (days since 79):
timbuf(4:6, ndates)
Output:
stime returned string listing with dates.
len length of string.
Keyword:
h header for date
CALLED BY:
Idx2List, yolist
History:
written 26-Mar-91 by GAL
31-July-91, added optional return header
[Previous]
[Next]
NAME:
GetStrDPmode
Purpose:
Create a formatted string (length=len) containing the
DP_mode information.
CALLING SEQUENCE:
GetStrDPmode, inbuf, strmode, len, h=h
Input:
inbuf byte buffer array with DP_mode information.
Output:
strmode a string array with encoded DP_mode information
len length of string.
Keyword:
h header for DPmode
CALLED BY:
Idx2List, yolist
History:
written 27-Mar-91 by GAL.
31-Jul-91, added optional return header
[Previous]
[Next]
NAME:
GetStrExpLev
Purpose:
Create a formatted string (length=len) containing the
periph information.
CALLING SEQUENCE:
GetStrExpLev, inbuf, per, strexp, len, [conv=conv, h=h]
Input:
inbuf buffer array with ExpLevMode information.
per periph byte to check for 10% mask
conv boolean flag for the conversion to seconds
Output:
strexp returned string array with encoded ExpLevMode
information.
len length of string array.
Keyword:
h returned header for ExpLev
CALLS: ***
ExpLevMode, Periph, mbe2sec
CALLED BY:
Idx2List, yolist
History:
written 27-Mar-91 by GAL.
31-Jul-91, added optional return header
12-Aug-91, call to ExpLevMode via keywords
25-Spe-91, added conv parameter to request exp values
in seconds and per parameter to test for
10% mask.
11-Nov-91, MDM changed variable "mask" to "mask0" to
avoid conflict with function mask
[Previous]
[Next]
Name:
GetStrFOVcen
PURPOSE:
Create a formatted string containning the FOV center
in arcsec from sun center (pitch and yaw).
CALLING SEQUENCE:
GetStrFOVcen, inbuf, strFOV, len, [h=h]
INPUT:
inbuf 2-dimensional integer array with pitch and yaw
values.
OUTPUT:
strFOV returned string listing with FOV_center info.
len lenght of returned string
CALLED BY:
Idx2List, yolist
History:
written 31-July-91 by GAL
[Previous]
[Next]
NAME:
GetStrImgPar
PURPOSE:
Create a formatted string representation of the
information contained within the "imgParam" byte-type
field.
CALLING SEQUENCE:
GetStrImgPar, inbuf, strImgPar, len, [h=h]
INPUT:
inbuf is 1-dimensional vector containning the values
for the byte-type field "imgParam".
OUTPUT:
strImgPar returned string array with encoded
imgParam information.
len length of returned strings
Keyword:
h header for ImgParam
CALLS: ***
ImgParam
CALLED BY:
Idx2List, yolist
HISTORY:
written 31-July-91 by GAL
12-Aug-91, call ImgParam with keywords
[Previous]
[Next]
NAME:
GetStrObsReg
PURPOSE:
Create a formatted string containning the Observing
Region #.
CALLING SEQUENCE:
GetStrObsReg, inbuf, strObsReg, len, [h=h]
INPUT:
inbuf byte array giving the ObsReg. #
OUTPUT:
strObsReg returned string with encoded OR#
len length of returned string
Keyword:
h returned header
CALLED BY:
Idx2List, yolist
History:
written 6-Aug-91 by GAL
[Previous]
[Next]
NAME:
GetStrPeriph
Purpose:
Create a formatted string with the status of aspect,
shutter, and filters.
CALLING SEQUENCE:
GetStrPeriph, inbuf, strPer, len, [h=h]
Input:
inbuf byte buffer with the status of aspect, shutter,
and filters (periph).
Output:
strPer returned string with periph status.
len length of string.
Keyword:
h header for Periph
CALLS: ***
Periph
CALLED BY:
Idx2List, yolist
History:
written 27-Mar-91 by GAL
31-July, added optional return header
12-Aug-91, Periph call via Keywords
[Previous]
[Next]
NAME:
GetStrpfiffi
Purpose:
Create a formatted string (length=len) containing the
pfi_ffi information.
CALLING SEQUENCE:
GetStrpfiffi, inbuf, strpf, len, [h=h]
Input:
inbuf buf array with pfi_ffi information.
Output:
strpf a string array with encoded pfi_ffi information.
len len of string array.
Keyword:
h header for pfiffi information
CALLS: ***
pfi_ffi
CALLED BY:
Idx2List
History:
written 26-Mar-91 by GAL.
updated 24-June-91 -- OR # changed to EXP#
31-July-91, added optional return header
12-Aug-91, pfi_ffi call via keywords
[Previous]
[Next]
NAME:
GETSTRSHPCMD
PURPOSE:
Create a formatted string containning the commanded
image shape nx columns by ny lines.
CALLING SEQUENCE:
GetStrShpCmd, inbuf, strShpCmd, len, [h=h]
Input:
inbuf 2-dimensional integer giving the number of
columns and lines.
Output:
strShpCmd returned string with encoded image
shape.
len length of returned string
Keyword:
h returned header
CALLED BY:
Idx2List, yolist
History:
written 30-Jul-91 by GAL
31-July-91, added optional returned header
[Previous]
[Next]
NAME:
GetStrTim
Purpose:
Create a formatted string containning the time:
hr:mn:ss.mss from integer format (milliseconds are
optional).
CALLING SEQUENCE:
GetStrTim, timbuf, stime, len, [h=h, msec=msec]
Input:
timbuf 2-dimensional time array: timbuf(0:3, ntimes)
Output:
stime return string with times.
len length of returned string.
Keywords:
h header for stime.
msec if present and/or = 1 will include milli-seconds
of the day in output format.
CALLED BY:
Idx2List, yolist
History:
written 26-Mar-91 by GAL
31-Jul-91, added optional return header
[Previous]
[Next]
NAME:
GetT
PURPOSE:
Get the start or end times of the archive from the
times of the files beginning with prefix 'p'.
CALLED BY:
FndDur
history: 15-nov-92,
6-Mar-92, sam filters bad files
[Previous]
[Next]
NAME: getwid
PURPOSE:
Calling Sequence:
wids = getwid(prefix, directory)
prefix a file prefix to get fileIDs for.
dir... the directory to check for files.
CALLS:
CALLED BY
mk_mo_disk2
[Previous]
[Next]
NAME: getwkextlst
PURPOSE: get the list of file extensions for the weekly files that
are archived within the 1st cpio file.
CALLING SEQ:
strlst = getwkextlst(fileID, [archdir])
INPUT:
fileID fileID for all weekly files ex. "yy_wka"
archdir optional list of data directories
RETURNED:
simple intarr containning the weekly file extensions.
(e.g. [01,02,01] for obs,pnt,trn)
NOTES:
return array is loaded into a structure field which
has a maximum of 10 elements.
CALLED BY:
Load_recs
HISTORY:
written 17-Feb-92, GAL
updated 19-Feb-92, new defin. for weekly fileIDs
yy_wka vs yy_wka.1
6-Mar-92, gal *.* findfile
[Previous]
[Next]
NAME: getwkprelst
PURPOSE: get the list of file prefixes for the weekly files that
are archived within the 1st cpio file.
CALLING SEQ:
strlst = getwkprelst(fileID, [archdir])
INPUT:
fileID fileID for all weekly files ex. "yy_wka"
archdir optional list of data directories
RETURNED:
simple string containning the weekly file prefixes.
(e.g. 'obs,pnt,trn')
NOTES:
return string is loaded into a structure field which
has a max length of 40bytes. 10*3+9(',') = 39 bytes.
CALLS: ***
ARR2STR [1], Arr2Str [2]
CALLED BY:
Load_recs
HISTORY:
written 17-Feb-92, GAL
updated 19-Feb-92, new defin. for weekly fileIDs
yy_wka vs yy_wka.1
6-Mar-92, *.* on findfile
24-Apr-95, changed the returned err flag for no files
found to a string(-1 => '').
[Previous]
[Next]
pro gifmovie,datacube,root,rio,gio,bio,reset=reset,fixcolors=fixcolors, $
nomovie=nomovie,quiet=quiet,moviecommand=moviecmd, $
reverse=mreverse,ncolors=ncolors,nosort=nosort,xrange=xrange, $
yrange=yrange,zrange=zrange,add=add,noreordercolors=noreordercolors, $
nocompresscolors=nocompresscolors
NAME:
GIFMOVIE
PURPOSE:
Read a sequence of GIF files and display the images as a movie.
CATEGORY:
CALLING SEQUENCE:
gifmovie,datacube,root,r,g,b
INPUTS:
datacube = data
root = string containing the root GIF filename to display.
Default = 'global'. Ignored if datacube is set on imput and
/reset is not set.
OPTIONAL INPUT PARAMETERS:
KEYWORD PARAMETERS
/fixcolors = Fix the color table. Can be very slow, but fixes problems
when the color table is not consistent from one image to the
next or when there are not enough colors available. It's
best to use /fixcolors whenever you think you might add
more images with the /add keyword.
/nocompresscolors = do not compress the color table. Should not be
used if you expect to add data later with /add.
Slightly faster. Has no effect unless /fixcolors is
set
/reset = read data even if datacube is defined (destroys contents)
/add = add the specified GIF files to the current data cube. If
/fixcolors is NOT set, the color table from the new data will be
used. If /fixcolors is set, the old color table specified in
r,g,b will be merged with the new color table to the extent
possible. If the size of r,g,b is greater than ncolors, only
the low end of the specified color table is used. It's best
to use /add and /fixcolors together.
ncolors = the number of colors to use. Default is !d.table_size which
is the correct value if the movie is to be displayed in
the current idl session.
moviecommand = command to execute to show the movie. The data cube is
in an array called datacube, so the command should be
a string something like 'movie,datacube'.
Default = 'xtmovie,datacube'.
xrange,yrange,zrange = 2 element vectors giving the x, y, and z ranges
of the data cube to use. These only work when
GIF files are read. They have no effect when
a datacube is passed.
/reverse = Make the movie reverse direction at the end of the movie.
Nearly doubles the size of the data cube.
/nosort = Do not sort the file names before reading.
/noreordercolors = do not reorder the color table. Has no effect unless
/fixcolors is set.
/nomovie = do not show the movie, just read in the data.
/quiet = work quietly.
OUTPUTS:
datacube = data
r,g,b = color table
COMMON BLOCKS:
SIDE EFFECTS:
Messes with the color table unless /nomovie is set.
RESTRICTIONS:
Images which are not the same size as the first image are skipped. If
this is a problem, use the xrange and yrange keywords.
The default movie viewer, xtmovie, uses xinteranimate which crashes
the entire IDL session if it runs out of memory. Setting moviecommand
to 'xstepper,datacube,/noscale' is more forgiving, but MUCH slower.
PROCEDURE:
GIF files with file name root+"*" are read in and displayed as a movie.
Calls bisect_order, kill_index, where_arr, xtmovie (xtmovie is not
called if the moviecommand keyword is set)
MODIFICATION HISTORY:
T. Metcalf 1994-12-14
1995-03-14 TRM Fixed a bug in the way the color table was returned
when using /fixcolors.
[Previous]
[Next]
NAME:
GLITCH_TRACKER
PURPOSE:
follow time development of column glitch. Sums Q-res DPE 13
images over glitch columns above row 200. Makes plot.
CATEGORY:
CALLING SEQUENCE:
glitch_tracer, infil, xx=xx
INPUTS:
infil, array of sfr files
OPTIONAL (KEYWORD) INPUT PARAMETERS:
xx, start and stop column numbers to integrate
OUTPUTS:
index, excess
CALLS: ***
RD_XDA [1], RD_XDA [2], Rd_Roadmap [2], UTPLOT [1], UTPLOT [2], UTPLOT [3]
UTPLOT [4], UTPLOT [5], UTPLOT [6], gt_dpe, gt_percentd, gt_res, rd_roadmap [1]
sxt_decomp [1], sxt_decomp [2]
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
MODIFICATION HISTORY:
[Previous]
[Next]
NAME:
gntcleen
PURPOSE:
cleans up the Nobeyama Radioheliograph image allowing for
images which have very bright pixels in them
CATEGORY:
CALLING SEQUENCE:
img = gntcleen(gntimg)
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
img
ROUTINES CALLED:
CALLED BY:
fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], lastgbo, mk_sun_mosaic
sun_today [1], sun_today [2], sun_today [3]
MODIFICATION HISTORY:
DA written 23-May-94
BNH - 1-Jul-94 - Fixed problem that program would crash when
img was LONG rather than BYTE array. HISTOGRAM
offsets when looking at LONG, doesn't for BYTE.
SLF - protect against subscripting with -1
[Previous]
[Next]
type_comp added, PGS 10-Dec-97
cdmax change to 649 PGS 01-27-98
CALLS:
[Previous]
[Next]
NAME: GO_DSN_FINAL
PURPOSE: to produce output text file showing weekly summary
of DSN station-by-station coverage (incl. KSC)
CALLING SEQUENCE: go_dsn_final,indgen(9)+5
This will create a file ~/dsn_summary.txt, showing the
summary of DSN downlinks by station for weeks 5-13
INPUT: week (can be a vector)
OPTIONAL INPUT: outfile
METHOD: apply rd_tfile on solass* and visible files
CALLS: ***
DSN_FINAL, anytim2ex [1], anytim2ex [2], rd_tfile [1], rd_tfile [2]
HISTORY: NVN written 25-may-00
11-jun-00, debugged (HSH) to trap errors resulting from no SOLASS
3-jul-00, replaced Santiago printout with NASA total (HSH)
13-Oct-00, Add Santiago back in (BNH)
14-Oct-00, Re-organize output with Santiago (NVN)
[Previous]
[Next]
NAME: GO_DSN_FINAL
PURPOSE: to produce output text file showing weekly summary
of DSN station-by-station coverage (incl. KSC)
CALLING SEQUENCE: go_dsn_final,indgen(9)+5
This will create a file ~/dsn_summary.txt, showing the
summary of DSN downlinks by station for weeks 5-13
INPUT: week (can be a vector)
OPTIONAL INPUT: outfile
METHOD: apply rd_tfile on solass* and visible files
CALLS: ***
DSN_FINAL, anytim2ex [1], anytim2ex [2], rd_tfile [1], rd_tfile [2]
HISTORY: NVN written 25-may-00
11-jun-00, debugged (HSH) to trap errors resulting from no SOLASS
3-jul-00, replaced Santiago printout with NASA total (HSH)
13-Oct-00, Add Santiago back in (BNH)
14-Oct-00, Re-organize output with Santiago (NVN)
[Previous]
[Next]
NAME:
go_dsnftp
PURPOSE:
Cron job to ftp the DSN schedule files.
HISTORY:
2-Feb-96, J. R. Lemen (LPARL), Written (first ever cron job!)
28-Feb-96, JRL, Update the ASCA mail list
12-mar-96, JRL, Update the ASCA mail list
23-Apr-96, JRL, Update the ASCA mail list
6-May-96, JRL, Update the ASCA mail list
7-Aug-96, JRL, Update the ASCA mail list (Remove Paul and add Ueda san)
28-Aug-96, JRL, Update the ASCA mail list (Remove Ueda san and add Paul)
19-Dec-96, JRL, Update the ASCA mail list (Remove Paul and add Ueda san)
4-Jan-97, JRL, Update the ASCA mail list (Remove Ueda san and add Paul)
24-mar-97, JRL, Update the ASCA mail list (Change to Ueda)
28-mar-97, JRL, Update the ASCA mail list (Change to Ishida)
8-Apr-97, JRL, Update the ASCA mail list (Change to Paul)
18-Jun-97, JRL, Add Hudson to Yohkoh mail list
18-Jul-97, JRL, Update the ASCA mail list (Chage to Ueda)
3-Aug-97, JRL, Update the ASCA mail list (Add Paul again)
8-Aug-97, JRL, Update the ASCA mail list (Change to Paul)
13-Sep-97, JRL, Update the ASCA mail list (Change to Ueda and Ishida)
23-Sep-97, JRL, Update the ASCA mail list (Change to Paul)
8-Jan-98, JRL, Update the ASCA mail list (Change to Ueda)
21-Jan-98, JRL, Update the ASCA mail list (Change to Paul)
[Previous]
[Next]
NAME:
go_dsnftp
PURPOSE:
Cron job to ftp the DSN schedule files.
HISTORY:
2-Feb-96, J. R. Lemen (LPARL), Written (first ever cron job!)
28-Feb-96, JRL, Update the ASCA mail list
12-mar-96, JRL, Update the ASCA mail list
23-Apr-96, JRL, Update the ASCA mail list
6-May-96, JRL, Update the ASCA mail list
7-Aug-96, JRL, Update the ASCA mail list (Remove Paul and add Ueda san)
28-Aug-96, JRL, Update the ASCA mail list (Remove Ueda san and add Paul)
19-Dec-96, JRL, Update the ASCA mail list (Remove Paul and add Ueda san)
4-Jan-96, JRL, Update the ASCA mail list (Remove Ueda san and add Paul)
[Previous]
[Next]
NAME: go_farnik
PURPOSE: Compute the time-profile for the average Te, EM, and
normalized Intensity for an aligned data-cube from
"sxt_prep*".
CALLING SEQUENCE:
go_farnik, index, data, te, em, dte, dem, fl1, fl2, $
[time=time, comments=comments, interp=interp, $
unc_data=unc_data, satpix=satpix, $
noplot=noplot, lc_plot=lc_plot]
INPUT:
index index-data records prepared by "sxt_prep*"
data data cube: decompressed, bkg subtracted,
leak corrected, and aligned via "sxt_prep*".
OUTPUT:
te Log of the electron temperature
em Log of the emission measure
dte Log of the Te errors
dem Log of the em errors
fl1 Normalized Intensity profile for thicker fil. images
fl2 Normalized Intensity profile from thinner fil. images
OPTIONAL INPUT:
interp switch to use spline vs linear interpolation
average always computes average Te over area selected.
FUTURE option--
will make this a switch but is not available yet
unc_data uncertainty data from "sxt_prep*"
sat_pix saturated pixel maps from "sxt_prep*"
noplot switch to turn-off interactive plots
lc_plot switch to request light-curve plots
backsub switch to request interactive background emission
subtraction.
OPTIONAL OUTPUT:
time list of interpolated times
comments User entered notes for each run, also used
as plot titles.
EXAMPLE USAGE:
NOTES and WARNINGS:
HISTORY:
written by GAL summer 93
modified for release Sept. 93
22-Oct-93, added code to handle uncertainty values for
background subtraction and interpolation.
19-Nov-93, J. R. Lemen, Modified to call pprint
15-Nov-94, GAL, modified to hardcopy prints be portrait
7x5in in size; vectorized call to sxt_teem.
04-Apr-96, GLS, Corrected for case of unequal thick and thin
filter frames
[Previous]
[Next]
NAME:
GO_FIND_LIM2
PURPOSE:
Run FIND_LIMB on a data cube and report the results. It also
optionally creates an output file "FIND_LIMB.TXT"
CATEGORY:
Yohkoh/register
CALLING SEQUENCE:
out = go_find_lim2(index, data)
out = go_find_lim2(index, data, /outfil)
INPUT:
index - index structure associated with data
data - data matrix (3-D)
CALLS: ***
FIND_LIMB, fmt_tim [1], fmt_tim [2], get_dc_image [1], get_dc_image [2]
get_dc_image [3], get_dc_warm, gt_filta, gt_res, gt_shape_cmd, gt_temp_ccd
int2secarr [1], int2secarr [2], sxt_decomp [1], sxt_decomp [2]
CALLED BY:
mk_sot
OPTIONAL KEYWORD INPUT:
qplot - if present, make two plots, one of the sun center
positions and one of the radius values as a function
of time
outfil - if preset, create an output file FIND_LIMB.TXT
OUTPUT:
Returns Nx6 element floating array with results of the fit,
where "N" is the number of images passed
(0) = x in 1x1 pixels
(1) = y
(2) = radius
(3) = r_err
(4) = oblateness
(5) = oblateness angle
(6) = "bias"
(7) = brightness
(8) = sig brightness
OPTIONAL KEYWORD OUTPUT:
img - The background subtracted image that was passed to FIND_LIMB.
This should only be used if only one image is being passed
into GO_FIND_LIM2
dc_data - The dark current image used (it is good to use this on the
call since if GO_FIND_LIM2 is being used in a loop, a read
to the DC data file will be prevented.
This should only be used if only one image is being passed
into GO_FIND_LIM2
dc_index- The dark current index
This should only be used if only one image is being passed
into GO_FIND_LIM2
INSTRUCTIONS:
If r_err or other look
out of step with most of the other values, those data are probably
bad for one reason or another. At the time of writing, data taken
in SAA are systematically bad.
MODIFICATION HISTORY
Written by Hugh Hudson, Nov. 1991
19-Nov-91 MDM - Modified the calling sequence and documentation header
Also modified to extract only image (for example when
4x4 image is included in dataset with 2x2 images)
7-Dec-91 MDM - Changed the for loop to use NY (using siz(3) did not
work for a 2-D array)
28-Mar-92 HSH - Added the rest of the FIND_LIMB output parameters
20-Apr-92 MDM - Changed from GO_FIND_LIMB to GO_FIND_LIM2
Modified to do DC background subtraction
Also added the /OUTFIL option (instead of always
creating a FIND_LIMB.TXT file
Reversed the calling sequence to "index, data"
Made it a function instead of a procedure
Added keyword output "img", "dc_data", "dc_index"
20-May-92 MDM - Added GET_DC_WARM for cases where the CCD is not
cooled
19-Aug-92 MDM - Added SIG_BRIGHTNESS
16-Nov-93 MDM - Removed the SXT_DECOMP call for the dark current image
[Previous]
[Next]
NAME:
GO_FIND_LIMB
PURPOSE:
Run FIND_LIMB on a data cube and report the results. It also
creates an output file "FIND_LIMB.TXT"
CATEGORY:
Yohkoh/register
CALLING SEQUENCE:
go_find_limb, data, index, limb_out
INPUT:
data - data matrix (3-D)
index - index structure associated with data
OPTIONAL INPUT:
qplot - if present, make two plots, one of the sun center
positions and one of the radius values as a function
of time
OUTPUT:
limb_out - Nx8 element floating array with results of the fit,
where "N" is the number of images passed
(0) = x in 1x1 pixels
(1) = y
(2) = radius
(3) = r_err
(4) = oblateness
(5) = oblateness angle
(6) = "bias"
(7) = brightness
INSTRUCTIONS:
If r_err or other look
out of step with most of the other values, those data are probably
bad for one reason or another. At the time of writing, data taken
in SAA are systematically bad.
MODIFICATION HISTORY
Written by Hugh Hudson, Nov. 1991
19-Nov-91 MDM - Modified the calling sequence and documentation header
Also modified to extract only image (for example when
4x4 image is included in dataset with 2x2 images)
7-Dec-91 MDM - Changed the for loop to use NY (using siz(3) did not
work for a 2-D array)
28-Mar-92 HSH - Added the rest of the FIND_LIMB output parameters
CALLS:
[Previous]
[Next]
NAME:
go_get_sirius
PURPOSE:
To allow a user to interactively enter a start and end time
to be used to copy data from SIRIUS
OPTIONAL INPUT:
st_timstr- The start time/date in a string format
en_timstr- The end time/date in a string format
noninteractive - If present, do not prompt the user for an
"ok" before calling "get_sirius"
reformat_dir - If present, run the reformatter on the data
file that was copied and put the output in that directory
CALLS: ***
Ex2Int [1], Ex2Int [2], MAKE_STR [1], MAKE_STR [2], fmt_tim [1], fmt_tim [2]
get_sirius [1], get_sirius [2], int2secarr [1], int2secarr [2], reformat [1]
reformat [2], reformat [3], timstr2ex [1], timstr2ex [2], yesnox [1], yesnox [2]
HISTORY:
Written 14-Nov-91 by M.Morrison
19-Apr-92 (MDM) - Added "temp" option to extract temporary
data.
22-Apr-92 (MDM) - Added "reformat_dir" option
[Previous]
[Next]
NAME:
PURPOSE:
track HXT housekeeping temperatures
CATEGORY:
CALLING SEQUENCE:
go_hxt_hk_temps, 'hda97*', temp_id, times, temps, sigs
INPUTS:
file type
temperature channel (see hxt_hk_temp for definitions; 20 is HXT-E
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
times, temps, sigs
CALLS: ***
DATA_PATHS, RD_XDA [1], RD_XDA [2], STDEV, file_list [1], file_list [2], fmt_tim [1]
fmt_tim [2], hxt_hk_temp
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
MODIFICATION HISTORY:
HSH, written 18-Feb-97
[Previous]
[Next]
NAME:
go_lasdisk (go-laser-disk)
PURPOSE:
Either write images to the peritek board on SXT for recording on
a Panasonic laser disk or write "nvs" files and transfer to the
NVS system for recording on a Sony laser disk.
CALLING SEQUENCE:
go_lasdisk
go_lasdisk,/sfd
go_lasdisk,/help ; Get on-line documentation and return
go_lasdisk,initfrm=initfrm,nvsdirfn=nvsdirfn,$
/display,/sfd
OPTIONAL KEYWORD INPUTS:
initFrm = 1st nvs frame # to start recording. If absent, go_nvs5
work out this number for you. It uses the current frame
position + 1.
display = If set to 1 will plot the display in IDL window 0.
The NVS files will be written, but not copied to the NVS.
This is a diagnostic mode. The routine will try to
tell the user what it thinks the current frame number is.
nvsDirfn = Path and file prefix for output file.
(format = /user/nvs0). Default = $HOME/nvs0
sfd = If set to 1, will look for files on $DIR_SXT_SFD.
Will try to read an sfd and sfw file.
nosfw = IF set to 1, will not read and display sfw file.
If not set, code will check dates of sfd files
and compare with entrance filter failure date.
partial = If set to 1, will allow sfd movie restart from any pt.
genx = If set, will read images from a genx file instead.
This technique allows only one image and no title box.
The genx and sfd switches are mutually exclusive.
nobanner = If set, will not display the banner box. Also, will not tvscl.
(This option works with sda file input).
red,green,blue = Color Table vector
help = If set to 1, will more the documentation file to tty.
The routine then returns without doing anything else.
no_center = If set to 1, will not center image within video display,
default is to center image.
no_resize = If set to 1, will not resize image to maximum aspect,
default is to resize image to maximum size keeping aspect
ratio.
no_record = If set to 1, will not record image (option on peritek only).
margin_color color level for margin area around image. Default is 0.
particularly useful for reversed color tables.
*_disk sony and pana logging directories
device unit number of laser disc you are sending commands to
COMMENTS ON USING /genx OPTION:
If called with the /genx option, will not autoscale intensities in the
array.
CALLS: ***
ADDTIME [1], ADDTIME [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DATA_PATHS, GET_INFO2, GO_LASDISK
MK512, MK_MOVIE2, MORE [1], MORE [2], PINIT, PLCT, PMODE, RD_XDA [1], RD_XDA [2]
Rd_Roadmap [2], STRETCH2, anytim2ex [1], anytim2ex [2], break_file [4]
command_laser, concat_dir [4], file_list [1], file_list [2], fmt_tim [1]
fmt_tim [2], get_laser_type, get_logenv [1], get_logenv [2], get_yo_dates [1]
get_yo_dates [2], get_yo_dates [3], hist_scale, input [1], input [2]
rd_roadmap [1], rd_tfile [1], rd_tfile [2], restgen [1], restgen [2], stdct
sxt_decomp [1], sxt_decomp [2], tim2dset [1], tim2dset [2], tim2weekid
wmenu_sel [1], wmenu_sel [2]
MODIFICATION HISTORY:
written by JRL (01-mar-92)
8-May-92, modified to procedure by GAL
14-May-92, GAL, mod to speed up data collection
18-Jun-92, GAL, added option to read from sda files in dirs
other than the sfd... and added safety net for
images less than 512x512 such as pfis. Program
automatically enlarges these images and centers
them within a 512x512 frame.
4-sep-92, JRL, Fixed the loop algorithm (last images sometimes
were not plotted). Changed default answers.
Read status to get initfrm. Corrected spelling errors.
Changed name to go_nvs5. Added /sfd, /genx, /help switchs.
Multiple files can now be processed.
14-nov-92, JRL, Fixed a bug for the /genx case
10-Jan-92, GAL, added nosfw switch
11-Jul-93, MDM, Modification so that 0-212 scaling is only done for SFD
images. The non-SFD SDA files will just do a TV of whatever
is passed in.
11-oct-93, JRL, Added nobanner switch and red,green,blue input keywords.
Changed references of /ys to $ys so backup mode works.
22-dec-93, JRL, Fixed an IDL V3.1 related bug
1-Jul-94, GAL, Major rewrite and merge with peritek verison (go_per2opt).
15-Aug-94, GAL, Minor changes and further merging between peritek and nvs.
23-Aug-94, GAL, change data loop collection from single image to
block of images.
12-Sep-94, GAL, Fixed a problem assoc. with quarter Res images in sfd files.
29-Sep-94, GAL, Fixed a prompt message for charsize and minor change to
keyword use.
4-Oct-94, GAL, V3.0 Modified to work with multi-sfd-file requests, the nosfw
switch is no longer required as it checks against filter
failure date.
19-nov-94, SLF, removed spawns (more and rm) to avoid shell differences
7-jan-95, JRL, V3.1 Fixed previous modification to delete files.
24-Mar-95, GAL, tied the nolog switch to the genx. No logging while
reading from a genx file.
6-Oct-95, GAL, made a name change from go_lasdisk2 back to go_lasdisk.
12-Oct-95, LS , merged code some more. treat the NVS as if it were just
an image card. NVS is not plugged into the SONY anymore,
so command_laser can now be used to operate the SONYs.
- also added device option
- took out increment option. do 1 image at a time.
- fixed a bug. now you can do multiple files, and the
proper file index will be passed to mk_movie2
21-Feb-96, JRL, Allow color table to be 0-31
30-Aug-96, GLS, Changed default 'Optical Disk number and side' to 004A.
8-Jan-97, GAL, changed the default color table at places other than
ISAS to also be red.
[Previous]
[Next]
NAME:
go_lasdisk2 (go-laser-disk)
PURPOSE:
Either write images to the peritek board on SXT for recording on
a Panasonic laser disk or write "nvs" files and transfer to the
NVS system for recording on a Sony laser disk.
CALLING SEQUENCE:
go_lasdisk
go_lasdisk,/sfd
go_lasdisk,/help ; Get on-line documentation and return
go_lasdisk,increment=increment,initfrm=initfrm,nvsdirfn=nvsdirfn, $
/display,/sfd
OPTIONAL KEYWORD INPUTS:
increment = Number of files to write at a time to disk (default=10).
Lower this number to 5 if you want to reduce the impact
to the workstation.
initFrm = 1st nvs frame # to start recording. If absent, go_nvs5
work out this number for you. It uses the current frame
position + 1.
display = If set to 1 will plot the display in IDL window 0.
The NVS files will be written, but not copied to the NVS.
This is a diagnostic mode. The routine will try to
tell the user what it thinks the current frame number is.
nvsDirfn = Path and file prefix for output file.
(format = /user/nvs0). Default = $HOME/nvs0
sfd = If set to 1, will look for files on $DIR_SXT_SFD.
Will try to read an sfd and sfw file.
nosfw = IF set to 1, will not read and display sfw file.
If not set, code will check dates of sfd files
and compare with entrance filter failure date.
partial = If set to 1, will allow sfd movie restart from any pt.
genx = If set, will read images from a genx file instead.
This technique allows only one image and no title box.
The genx and sfd switches are mutually exclusive.
nobanner = If set, will not display the banner box. Also, will not tvscl.
(This option works with sda file input).
red,green,blue = Color Table vector
help = If set to 1, will more the documentation file to tty.
The routine then returns without doing anything else.
no_center = If set to 1, will not center image within video display,
default is to center image.
no_resize = If set to 1, will not resize image to maximum aspect,
default is to resize image to maximum size keeping aspect
ratio.
no_record = If set to 1, will not record image (option on peritek only).
margin_color color level for margin area around image. Default is 0.
particularly useful for reversed color tables.
*_disk sony and pana logging directories
COMMENTS ON USING /genx OPTION:
If called with the /genx option, will not autoscale intensities in the
array.
If number of images in the genx file is large, IDL may run out of core.
In that case, try increment=1.
CALLS: ***
ADDTIME [1], ADDTIME [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DATA_PATHS, GET_INFO2, GO_LASDISK2
MK512, MK_MOVIE2, MORE [1], MORE [2], PINIT, PLCT, PMODE, RD_XDA [1], RD_XDA [2]
Rd_Roadmap [2], STRETCH2, anytim2ex [1], anytim2ex [2], break_file [4]
command_laser, concat_dir [4], data_type [1], data_type [2], dont_use_this [1]
dont_use_this [2], file_list [1], file_list [2], fmt_tim [1], fmt_tim [2]
get_laser_type, get_logenv [1], get_logenv [2], get_yo_dates [1]
get_yo_dates [2], get_yo_dates [3], hist_scale, input [1], input [2], nvsstat
rd_roadmap [1], rd_tfile [1], rd_tfile [2], restgen [1], restgen [2], stdct
sxt_decomp [1], sxt_decomp [2], tim2dset [1], tim2dset [2], tim2weekid
wmenu_sel [1], wmenu_sel [2]
MODIFICATION HISTORY:
written by JRL (01-mar-92)
8-May-92, modified to procedure by GAL
14-May-92, GAL, mod to speed up data collection
18-Jun-92, GAL, added option to read from sda files in dirs
other than the sfd... and added safety net for
images less than 512x512 such as pfis. Program
automatically enlarges these images and centers
them within a 512x512 frame.
4-sep-92, JRL, Fixed the loop algorithm (last images sometimes
were not plotted). Changed default answers.
Read status to get initfrm. Corrected spelling errors.
Changed name to go_nvs5. Added /sfd, /genx, /help switchs.
Multiple files can now be processed.
14-nov-92, JRL, Fixed a bug for the /genx case
10-Jan-92, GAL, added nosfw switch
11-Jul-93, MDM, Modification so that 0-212 scaling is only done for SFD
images. The non-SFD SDA files will just do a TV of whatever
is passed in.
11-oct-93, JRL, Added nobanner switch and red,green,blue input keywords.
Changed references of /ys to $ys so backup mode works.
22-dec-93, JRL, Fixed an IDL V3.1 related bug
1-Jul-94, GAL, Major rewrite and merge with peritek verison (go_per2opt).
15-Aug-94, GAL, Minor changes and further merging between peritek and nvs.
23-Aug-94, GAL, change data loop collection from single image to
block of images.
12-Sep-94, GAL, Fixed a problem assoc. with quarter Res images in sfd files.
29-Sep-94, GAL, Fixed a prompt message for charsize and minor change to
keyword use.
4-Oct-94, GAL, V3.0 Modified to work with multi-sfd-file requests, the nosfw
switch is no longer required as it checks against filter
failure date.
19-nov-94, SLF, removed spawns (more and rm) to avoid shell differences
7-jan-95, JRL, V3.1 Fixed previous modification to delete files.
24-Mar-95, GAL, tied the nolog switch to the genx. No logging while
reading from a genx file.
6-Oct-95, GAL, made this routine obsolete
[Previous]
[Next]
NAME: go_mk_cd
Purpose: Make a cd archive from tape.
Keyword Parameters:
stage_disk Complete Path to stage area on disk. If not
supplied, then default staging area for dumping
and compression will be /sxt8data5/stage_b1
weekid Complete name of tape, e.g., '95_381.01-1.220'
tape_dev tape device: default = 0
mkrootdir passed through to mk_cd.pro. Creates a root
level directory on the cd.
qstop debug flag. Stops execution
of go_mk_cd so the dump script can be
examined. Note: the dump script default
writes the script to the staging area,--
in this cae the script is erased before data
is written to the staging area.
dump_only returns from procedure after dumping files and
before executing mk_cd.pro
scrpt_loc Alternate directory for writing 'my_cd' script
Default directory is the staging area. When
go_mk_cd calls mk_cd, it enforces it causes
mk_cd to write its scripts to the same file
that go_mk_cd does. Note: mk_cd.pro called
by itself has a different default directory
for writing script than go_mk_cd.
uniq_nm Appends year + date to 'dump_week' script
so 'dump_week' is identifiable and will not
be overwritten by calls to go_mk_cd for other
tapes made from the same directory.
Output Parameters:
drecs_st If this keyword is included, then on completion
of go_mk_cd, the structure drecs_comp will
be returned, which contains the XBD files
read from tape, and also from disk. Useful
for examining discrepances in files and file
sizes reported by XBD files.
bad_vects A structure containing an explanatory readme string,
and 6 vectors with value 0 in position index
where no write error was found after dump from disk,
and contain a 1 in the position index where a write
error was found for that type of file, e.g., ada, sfr,...
Some Example Calls:
go_mk_cd, weekid='92_47a.01-1.170'
assumes: tape_dev=0, stage_disk=/sxt8data5/stage_b1'
Will exit on error, AND WILL NOT pass out drecs_st.
go_mk_cd, weekid='92_47a.01-1.170', drecs_st=drecs_st, bad_vects=bad_vects
assumes: tape_dev=0, stage_disk=/sxt8data5/stage_b1'
Will exit on error, AND WILL pass out drecs_st, and bad_vects.
go_mk_cd, weekid='92_47a.01-1.170', /qstop
Halts before tape dump to allow for dump script debugging.
go_mk_cd, weekid='92_47a.01-1.170', tape_dev=1,weekid='97_24',$
scrpt_loc='/sxt8data4/stage_a1'
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], RdTap [1], RdTap [2], RdTap [3]
Rd_TapDir, STR2ARR [1], STR2ARR [2], break_file [4], def_tapd [1], def_tapd [2]
def_tapd [3], file_append [1], file_append [2], file_size [1], file_size [2]
mk_cd [1], mk_cd [2], mtcmd [1], mtcmd [2], weekfiles
Note: different tape device, different location to write dump tape script
History:
PGS 07-Jan-98, modified from prep_week.pro & mk_cd.pro
PGS 05-Feb-98, added mkrootdir, qstop, drecs, error checks.
PGS 10-Feb-98, added name checks, file checks, expanded weekid
input, added bad_vects.
[Previous]
[Next]
ROUTINE:
go_mk_orbit_fil
PURPOSE:
Makes the DSN predictions for +3 to +7 weeks, and
Creates the *16s.ascii file for op_first_guess
CALLING SEQUENCE:
Run it batch from the operating system with this command:
% idl_batch go_mk_orbit_fil
COMMENTS:
This routine should only need to be run if the copy of orbital
elements to the mainframe does not occur for some reason.
However, in this case, an old set of orbital elements will be
generated.
MODIFICATION HISTORY:
Written, 27-oct-92, J. R. Lemen
[Previous]
[Next]
batch driver for mk_spd (after testing, mk_spd is called from go_toban)
[Previous]
[Next]
cron job to generate daily summary data files
[Previous]
[Next]
NAME: go_mktap
PURPOSE: source the mktap.com file from IDL and put it in
the background.
ASSUMES: user is in the directory where "mktap.com" located.
HISTORY:
written by gal, 15-Apr-92
30-Nov-93 (MDM) - Added IDL error log file checking
- Added sending mail when completed
19-Dec-96 (GLS) - Modified mail message
[Previous]
[Next]
NAME: go_mktap1
PURPOSE: source the mktap.com file from IDL and put it in
the background.
ASSUMES: user is in the directory where "mktap1.com" located.
HISTORY:
written by gal, 15-Apr-92
added delay so log file can be written
2-Oct-93 (MDM) - Extended delay from 2 minutes to
8 minutes.
30-Nov-93 (MDM) - Added IDL error log file checking
- Added sending mail when completed
[Previous]
[Next]
NAME:
go_nvs4
PURPOSE:
Create "n" nvs files and display them if requested
FORMAL PARAMETERS:
increment have no more than n-increment" nvs files
on the disk at any given time.
display display and review images before record
initFrm 1st nvs frame # to start recording
nvsDirfn nvs directory and file prefix
format = /yd1/sub/nvs0
CALLS: ***
BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONGRID [1], CONGRID [2]
CONGRID [3], GET_INFO2, MK512, RD_SDA [1], RD_SDA [2], RD_SDA [3], Rd_Roadmap [2]
STEPPER [1], STEPPER [2], STEPPER [3], STEPPER [4], STEPPER [5], STEPPER [6]
STEPPER [7], STR2ARR [1], STR2ARR [2], break_file [4], file_list [1]
file_list [2], input [1], input [2], int2secarr [1], int2secarr [2], mk_close_vec
mk_nvs_movie, rd_roadmap [1], sxt_decomp [1], sxt_decomp [2], wmenu_sel [1]
wmenu_sel [2]
History:
written by JRL (01-mar-92)
8-May-92, modified to procedure by GAL
14-May-92, mod to speed up data collection
18-Jun-92, added option to read from sda files in dirs
other than the sfd... and added safety net for
images less than 512x512 such as pfis. Program
automatically enlarges these images and centers
them within a 512x512 frame.
31-aug-92, Fixed the loop alogorithm (last images sometimes
were not plotted). Changed default answers.
Read status to get initfrm
[Previous]
[Next]
NAME:
go_nvs5
PURPOSE:
Write "nvs" files and transfer to the NVS for recording on laser disk.
CALLING SEQUENCE:
go_nvs5
go_nvs5,/sfd
go_nvs5,/help ; Get on-line documentation and return
go_nvs5,increment=increment,initfrm=initfrm,nvsdirfn=nvsdirfn, $
/display,/sfd
OPTIONAL KEYWORD INPUTS:
increment = Number of files to write at a time to disk (default=10).
Lower this number to 5 if you want to reduce the impact
to the workstation.
initFrm = 1st nvs frame # to start recording. If absent, go_nvs5
work out this number for you. It uses the current frame
position + 1.
display = If set to 1 will plot the display in IDL window 0.
The NVS files will be written, but not copied to the NVS.
This is a diagnostic mode. The routine will try to
tell the user what it thinks the current frame number is.
nvsDirfn = Path and file prefix for output file.
(format = /user/nvs0). Default = ~/nvs0
sfd = If set to 1, will look for files on /yd1/sfd.
Will try to read an sfd and sfw file.
nosfw = IF set to 1, will not read and display sfw file.
partial = If set to 1, will allow sfd movie restart from any pt.
genx = If set, will read images from a genx file instead.
This technique allows only one image and no title box.
The genx and sfd switches are mutually exclusive.
nobanner = If set, will not display the banner box. Also, will not tvscl.
(This option works with sda file input).
red,green,blue = Color Table vector
help = If set to 1, will more the documentation file to tty.
The routine then returns without doing anything else.
COMMENTS ON USING /genx OPTION:
If called with the /genx option, will not autoscale the array.
If number of images in the genx file is large, IDL may run out of core.
In that case, try increment=1.
CALLS: ***
ADDTIME [1], ADDTIME [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
GET_INFO2, MK512, RD_SDA [1], RD_SDA [2], RD_SDA [3], Rd_Roadmap [2], STRETCH2
anytim2ex [1], anytim2ex [2], break_file [4], file_list [1], file_list [2]
fmt_tim [1], fmt_tim [2], hist_scale, input [1], input [2], mk_nvs_movie, nvsstat
rd_roadmap [1], restgen [1], restgen [2], stdct, sxt_decomp [1], sxt_decomp [2]
tim2dset [1], tim2dset [2], wmenu_sel [1], wmenu_sel [2]
MODIFICATION HISTORY:
written by JRL (01-mar-92)
8-May-92, modified to procedure by GAL
14-May-92, GAL, mod to speed up data collection
18-Jun-92, GAL, added option to read from sda files in dirs
other than the sfd... and added safety net for
images less than 512x512 such as pfis. Program
automatically enlarges these images and centers
them within a 512x512 frame.
4-sep-92, JRL, Fixed the loop algorithm (last images sometimes
were not plotted). Changed default answers.
Read status to get initfrm. Corrected spelling errors.
Changed name to go_nvs5. Added /sfd, /genx, /help switchs.
Multiple files can now be processed.
14-nov-92, JRL, Fixed a bug for the /genx case
10-Jan-92, GAL, added nosfw switch
11-Jul-93, MDM, Modification so that 0-212 scaling is only done for SFD
images. The non-SFD SDA files will just do a TV of whatever
is passed in.
11-oct-93, JRL, Added nobanner switch and red,green,blue input keywords.
Changed references of /ys to $ys so backup mode works.
22-dec-93, JRL, Fixed an IDL V3.1 related bug
[Previous]
[Next]
NAME:
go_per2opt
PURPOSE:
Write images from SDA files to the Panasonic optical disk recorder
from the Peritek.
Calling Sequence:
.run go_per2opt (main routine)
The user will be asked to select sda file names. He will then be asked
if he wants to select a set of file names containing secondary images.
For example, sfd and sfw files can be display together this way.
Modification History:
26-may-92, Written, J. R. Lemen (LPARL)
13-Aug-92, modified for two color tables, GAL.
17-Aug-92, modified log, text titles, and prompts, GAL.
27-Aug-92, minor mods, GAL.
27-Jan-93, minor mods to work without SFW files, MDM
02-Jul=93, fixed a few bugs with ff structure. current frame is now
really the current frame
[Previous]
[Next]
NAME :
GO_PFICC
PURPOSE:
Driver to calculate relative displacement of sunspots using CC_OFF2.
CALLING SEQUENCE:
.run go_pficc
INPUTS:
data = PFIs data cube
index = structure of index
OUTPUTS:
SIDE EFFECT:
COMMON BLOCKS:
MODIFICATION HISTORY:
Written May 20, 1992 by Bachtiar Anwar
Modified May 25, 1992 by Bachtiar Anwar, Hugh Hudson
- deleted summation of CC_OFFSETS output
- added iteration for CC
- saving spots position to variable array xyspot(2,*,*)
- allowing to check "error" of CC_OFF2
[Previous]
[Next]
NAME:
GO_QUICK
PURPOSE:
create quick looks at Yohkoh data, software, database diagnostics
to be shown on the $ftp/pub/sxt_co/quick/quick.html display
CATEGORY:
CALLING SEQUENCE:
main program
INPUTS:
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
COMMON BLOCKS:
SIDE EFFECTS:
ROUTINES
runs the "quick" series of programs on this directory (/0p/sxt_co/idl)
RESTRICTIONS:
MODIFICATION HISTORY:
August 1998, written (HSH)
23-Aug-98, added LASTSFD (HSH)
08-Oct-98, added default ftp location, recast in terms of environmentals.
24-Nov-98, added LASTSFD_DIFF (HSH)
06-Jan-99, added FAKE_PATROL, SHOW_CONTACTS. Commented out QUICKLIMB.
(DMcK)
11-Jan-99, added SET_PLOT,'Z' after LATEST_SFDS_GIF, to counter the
explicit set_plot,'x' within that program. (DMcK)
9-Jul-99, revised the terminator display to account for
the new normal pointing installed 2-Jul-99.
Added SXT_COVERAGE_MAP. (HSH)
9-Jul-99, OVER_LINEPLOT (BH)
18-Jul-99, LASTKSC added (HSH)
11-Oct-99, added spawn to 'convert' .gif for isass0/1 login banners (PGS)
17-Oct-99, added quick_dpe, note: reverses color table. (PGS)
12-nov-99, added '/quick' to fake_patrol call. (PGS)
18-Apr-00, added plottrav call. (BNH)
23-AUg-00, wrapped separate activities in 'execute' statements & IF-blocks. (PGS)
09-Jul-01, edited path to 'convert' (DMcK)
28-Aug-01, commented out error message for latest_sfd_gifs. (PGS)
[Previous]
[Next]
NAME:
GO_QUICK
PURPOSE:
create quick looks at Yohkoh data, software, database diagnostics
to be shown on the $ftp/pub/sxt_co/quick/quick.html display
CATEGORY:
CALLING SEQUENCE:
main program
INPUTS:
OPTIONAL (KEYWORD) INPUT PARAMETERS:
OUTPUTS:
COMMON BLOCKS:
SIDE EFFECTS:
ROUTINES
runs the "quick" series of programs on this directory (/0p/sxt_co/idl)
RESTRICTIONS:
MODIFICATION HISTORY:
August 1998, written (HSH)
23-Aug-98, added LASTSFD (HSH)
08-Oct-98, added default ftp location, recast in terms of environmentals.
[Previous]
[Next]
NAME:
go_rasm_files
PURPOSE:
Call mk_rasm_files from the script call_rasm
CALLING SEQUENCE:
IDL go_mk_rasm_files
(This is designed to run IDL in batch mode.)
MODIFICATION HISTORY:
Written, 16-sep-92, J. R. Lemen
[Previous]
[Next]
NAME:
go_rd_obs
PURPOSE:
Front end main program for calling RD_OBS (read observing log)
HISTORY:
Written 23-Nov-92 by M.Morrison
[Previous]
[Next]
NAME:
go_rdtap
PURPOSE:
To read a Yohkoh Archive tape, via menus and point and click.
CALLS: ***
RdTap [1], RdTap [2], RdTap [3], Rd_TapDir, STR2ARR [1], STR2ARR [2], def_tapd [1]
def_tapd [2], def_tapd [3], file_list [1], file_list [2], gen_fn [1], gen_fn [2]
get_afile_size [1], get_afile_size [2], input [1], input [2], mt, mtcmd [1]
mtcmd [2], prt_afile_size [1], prt_afile_size [2], wmenu_sel [1], wmenu_sel [2]
yesnox [1], yesnox [2]
Note: default mode is to read the tape directory files from
disk. The location on the disk is given by the alias or logical
$DIR_GEN_XBD, which must be defined.
CALLING SEQUENCE:
go_rdtap, [dev=dev, tape=tape]
go_rdatp ;defaults to device #0
go_rdtap, dev=1 ;use tape device #1
go_rdtap, dev=1, /tape ;read tape directory from dev #1
go_rdtap, /put_ydb ;restore weeklys to database dirs.
go_rdtap, dev=1, /script ;reads tape from an unix script
;rather than IDL.
NOTE: on ALPHA's /script is default.
noexec option to allow the user to start the script
edit option to allow the user to edit the script
(via vi) before script is started.
INPUT:
dev is the device number 0 or 1 (0 for /dev/nrmt0h...etc)
HISTORY:
Written Mar-92 by M.Morrison
15-Apr-92 (MDM) - changed calling sequence somewhat
24-Apr-92 (GAL) - added menu for dir and weekly files extraction
27-Apr-92 (gal) - Added documentation...for menus
14-May-92 (gal) - added more doc...re-rel 27-Apr ver that
some how disappeared
20-May-92 (gal) - added safty features for those who do not have
xbd files on $DIR_GEN_XBD
26-May-92 (gal) - added mount command for vms use
14-Jun-92 (gal) - minor menu and prompt changes, bug fix for
data extraction.
17-Sep-92 (gal) - added feature to display size of extract
files in Kbytes.
2-Dec-92 (MDM) - Patch to work when extracting only weekly files
and no orbit files (bug introdcued with
17-Sep-92 modification - GET_AFILE_SIZE)
26-Apr-93 (gal) - added put_ydb switch to write weekly files to
the database directory areas (e.g. $DIR_GEN_*).
minor logic change for case of no prefix selected.
28-Apr-93 (gal) - bug fix
20-May-93 (MDM) - Changed call to FINDFILE to be *.* for VMS
19&20-Jul-93 (gal) - mods to get_afile_size call to pass the tape
dir-file information (when reading tape dir-file
from tape).
3-Dec-93 (MDM) - Added /cd switch to FILE_LIST call
26-Jul-94 (MDM) - Added /YDB switch to match /PUT_YDB since
documentation in YAG says /YDB
26-Apr-95 (GAL) - Added script option and made the script option
default on ALPHA's.
8-May-95 (GAL) - Added unload option and made no-unload default.
8-Jun-95 (GAL) - Replaced v.2.7 with v.3.1.
[Previous]
[Next]
NAME:
go_rdtap
PURPOSE:
To read a Yohkoh Archive tape, via menus and point and click.
CALLS: ***
GO_RDTAP2, RDTAP2, Rd_TapDir, STR2ARR [1], STR2ARR [2], def_tapd [1], def_tapd [2]
def_tapd [3], dont_use_this [1], dont_use_this [2], file_list [1], file_list [2]
gen_fn [1], gen_fn [2], get_afile_size [1], get_afile_size [2], input [1]
input [2], mt, mtcmd [1], mtcmd [2], prt_afile_size [1], prt_afile_size [2]
wmenu_sel [1], wmenu_sel [2], yesnox [1], yesnox [2]
Note: default mode is to read the tape directory files from
disk. The location on the disk is given by the alias or logical
$DIR_GEN_XBD, which must be defined.
CALLING SEQUENCE:
go_rdtap, [dev=dev, tape=tape]
go_rdatp ;defaults to device #0
go_rdtap, dev=1 ;use tape device #1
go_rdtap, dev=1, /tape ;read tape directory from dev #1
go_rdtap, /put_ydb ;restore weeklys to database dirs.
go_rdtap, dev=1, /script ;reads tape from an unix script
;rather than IDL.
NOTE: on ALPHA's /script is default.
noexec option to allow the user to start the script
edit option to allow the user to edit the script
(via vi) before script is started.
INPUT:
dev is the device number 0 or 1 (0 for /dev/nrmt0h...etc)
HISTORY:
Written Mar-92 by M.Morrison
15-Apr-92 (MDM) - changed calling sequence somewhat
24-Apr-92 (GAL) - added menu for dir and weekly files extraction
27-Apr-92 (gal) - Added documentation...for menus
14-May-92 (gal) - added more doc...re-rel 27-Apr ver that
some how disappeared
20-May-92 (gal) - added safty features for those who do not have
xbd files on $DIR_GEN_XBD
26-May-92 (gal) - added mount command for vms use
14-Jun-92 (gal) - minor menu and prompt changes, bug fix for
data extraction.
17-Sep-92 (gal) - added feature to display size of extract
files in Kbytes.
2-Dec-92 (MDM) - Patch to work when extracting only weekly files
and no orbit files (bug introdcued with
17-Sep-92 modification - GET_AFILE_SIZE)
26-Apr-93 (gal) - added put_ydb switch to write weekly files to
the database directory areas (e.g. $DIR_GEN_*).
minor logic change for case of no prefix selected.
28-Apr-93 (gal) - bug fix
20-May-93 (MDM) - Changed call to FINDFILE to be *.* for VMS
19&20-Jul-93 (gal) - mods to get_afile_size call to pass the tape
dir-file information (when reading tape dir-file
from tape).
3-Dec-93 (MDM) - Added /cd switch to FILE_LIST call
26-Jul-94 (MDM) - Added /YDB switch to match /PUT_YDB since
documentation in YAG says /YDB
26-Apr-95 (GAL) - Added script option and made the script option
default on ALPHA's.
8-May-95 (GAL) - Added unload option and made no-unload default.
[Previous]
[Next]
NAME:
go_sunset
PURPOSE:
Driver program for GET_SUNSET to return an array of times to
sunset for the sunset immediately following terminator images.
CALLING SEQUENCE:
go_sunset, index, sstimes=sstimes
go_sunset, sttim, sstimes=sstimes, duration=duration, noisy=noisy
INPUT:
sttime - The starting time or time array in any format.
CALLS: ***
get_sunset
OPTIONAL KEYWORD INPUT:
duration- The number of hours to calculate the sunset time starting
from "sttim". If it is not passed in, then duration will
default to 0.5 hours
noisy - Print out messages about sunset times
OUTPUT:
sstimes - The times of the transition from day to night with
a one second accuracy.
HISTORY:
Written 13-Dec-94 by L. Acton
[Previous]
[Next]
Run sxt_align on all the good data currently on the disk. Takes a long
time!!
To run:
IDL> .run go_sxt_align
[Previous]
[Next]
NAME:
go_sxt_etemp
PURPOSE:
Driver to run sxt_etemp.pro which generates the SXT response file
(electrons vs. temp) that is used by sxt_te to compute temperatures.
MODIFICATION HISTORY:
Written, 19-jan-93, J. R. Lemen, LPARL
[Previous]
[Next]
Name: go_sxt_sss2secondary
Purpose: create secondary files (movie/gif/fits) from sss
CALLS: ***
BOX_MESSAGE, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1]
CONCAT_DIR [2], CONCAT_DIR [3], FILE2TIME, REVERSE, SXT_LASTSXT_LINK
SXT_SSN2SECONDARY, TIME2FILE, anytim [1], anytim [2], anytim [3], anytim [4]
anytim [5], break_file [4], concat_dir [4], data_chk [1], data_chk [2]
file_append [1], file_append [2], file_list [1], file_list [2], html_doc
reltime [1], reltime [2], str2html [1], str2html [2], str2html [3]
str_replace [1], str_replace [2]
History:
6-March-2001 - due to relaxation of Yohkoh data moratorium
28-jun-2001 - added call to 'sxt_sxtlast_link'
[Previous]
[Next]
NAME:
go_sxt_teem
PURPOSE:
Main program to run sxt_prep and sxt_teem.
Must previous read in index,data (with yodat)
and define ss1=filter1 indices, ss2=filter2 indices
MODIFICATION HISTORY:
31-mar-93, J. Lemen, written
[Previous]
[Next]
NAME: go_teem
PURPOSE: Compute the time-profile for the average Te, EM, and
normalized Intensity for an aligned data-cube from
"sxt_prep*".
CALLING SEQUENCE:
go_teem, index, data, te, em, dte, dem, fl1, fl2, $
[time=time, comments=comments, interp=interp, $
unc_data=unc_data, satpix=satpix, $
noplot=noplot, lc_plot=lc_plot]
INPUT:
index index-data records prepared by "sxt_prep*"
data data cube: decompressed, bkg subtracted,
leak corrected, and aligned via "sxt_prep*".
OUTPUT:
te Log of the electron temperature
em Log of the emission measure
dte Log of the Te errors
dem Log of the em errors
fl1 Normalized Intensity profile for thicker fil. images
fl2 Normalized Intensity profile from thinner fil. images
OPTIONAL INPUT:
interp switch to use spline vs linear interpolation
average always computes average Te over area selected.
FUTURE option--
will make this a switch but is not available yet
unc_data uncertainty data from "sxt_prep*"
sat_pix saturated pixel maps from "sxt_prep*"
noplot switch to turn-off interactive plots
lc_plot switch to request light-curve plots
backsub switch to request interactive background emission
subtraction.
OPTIONAL OUTPUT:
time list of interpolated times
comments User entered notes for each run, also used
as plot titles.
EXAMPLE USAGE:
NOTES and WARNINGS:
CALLS: ***
SXT_TEEM [1], SXT_TEEM [2], WDEF [1], WDEF [2], anytim2ints [1], anytim2ints [2]
bkg_sub, go_teem_plots, gt_expdur [1], gt_expdur [2], input [1], input [2]
pprint [1], pprint [2], sxt_interp [1], sxt_interp [2], wdefroi [1], wdefroi [2]
wdefroi [3], wdefroi [4], wfilpck
HISTORY:
written by GAL summer 93
modified for release Sept. 93
22-Oct-93, added code to handle uncertainty values for
background subtraction and interpolation.
19-Nov-93, J. R. Lemen, Modified to call pprint
15-Nov-94, GAL, modified to hardcopy prints be portrait
7x5in in size; vectorized call to sxt_teem.
21-Feb-06, T. Wang, modified keywords of unc1 and unc2 in call of
sxt_teem
[Previous]
[Next]
NAME: go_teem
PURPOSE: Compute the time-profile for the average Te, EM, and
normalized Intensity for an aligned data-cube from
"sxt_prep*".
CALLING SEQUENCE:
go_teem, index, data, te, em, dte, dem, fl1, fl2, $
[time=time, comments=comments, interp=interp, $
unc_data=unc_data, satpix=satpix, $
noplot=noplot, lc_plot=lc_plot]
INPUT:
index index-data records prepared by "sxt_prep*"
data data cube: decompressed, bkg subtracted,
leak corrected, and aligned via "sxt_prep*".
OUTPUT:
te Log of the electron temperature
em Log of the emission measure
dte Log of the Te errors
dem Log of the em errors
fl1 Normalized Intensity profile for thicker fil. images
fl2 Normalized Intensity profile from thinner fil. images
OPTIONAL INPUT:
interp switch to use spline vs linear interpolation
average always computes average Te over area selected.
FUTURE option--
will make this a switch but is not available yet
unc_data uncertainty data from "sxt_prep*"
sat_pix saturated pixel maps from "sxt_prep*"
noplot switch to turn-off interactive plots
lc_plot switch to request light-curve plots
backsub switch to request interactive background emission
subtraction.
OPTIONAL OUTPUT:
time list of interpolated times
comments User entered notes for each run, also used
as plot titles.
EXAMPLE USAGE:
NOTES and WARNINGS:
CALLS: ***
SXT_TEEM [1], SXT_TEEM [2], WDEF [1], WDEF [2], anytim2ints [1], anytim2ints [2]
bkg_sub, go_teem_plots, gt_expdur [1], gt_expdur [2], input [1], input [2]
pprint [1], pprint [2], sxt_interp [1], sxt_interp [2], wdefroi [1], wdefroi [2]
wdefroi [3], wdefroi [4], wfilpck
HISTORY:
written by GAL summer 93
modified for release Sept. 93
22-Oct-93, added code to handle uncertainty values for
background subtraction and interpolation.
19-Nov-93, J. R. Lemen, Modified to call pprint
15-Nov-94, GAL, modified to hardcopy prints be portrait
7x5in in size; vectorized call to sxt_teem.
[Previous]
[Next]
NAME: go_teem_nn
PURPOSE: Compute the time-profile for the average Te, EM, and
normalized Intensity for an aligned data-cube from
"sxt_prep*". The only modification from go_teem is
to be able to keep the information on the areas selected.
CALLING SEQUENCE:
go_teem_t, index, data, te, em, dte, dem, fl1, fl2, $
[time=time, comments=comments, interp=interp, $
unc_data=unc_data, satpix=satpix, $
noplot=noplot, lc_plot=lc_plot, area=area]
INPUT:
index index-data records prepared by "sxt_prep*"
data data cube: decompressed, bkg subtracted,
leak corrected, and aligned via "sxt_prep*".
OUTPUT:
te Log of the electron temperature
em Log of the emission measure
dte Log of the Te errors
dem Log of the em errors
fl1 Normalized Intensity profile for thicker fil. images
fl2 Normalized Intensity profile from thinner fil. images
area (NN) Selected areas - bombs if the selected area has more
than 400 pixels or there are more than 100 points
in time.
OPTIONAL INPUT:
interp switch to use spline vs linear interpolation
average always computes average Te over area selected.
FUTURE option--
will make this a switch but is not available yet
unc_data uncertainty data from "sxt_prep*"
sat_pix saturated pixel maps from "sxt_prep*"
noplot switch to turn-off interactive plots
lc_plot switch to request light-curve plots
backsub switch to request interactive background emission
subtraction.
ws the size of the window #3 on which an area is clicked.
default is 512, as determined by wdef.
logscale a log scale image is used at area selection.
disp_reg previously selected regions are displayed.
OPTIONAL OUTPUT:
time list of interpolated times
comments User entered notes for each run, also used
as plot titles.
EXAMPLE USAGE:
NOTES and WARNINGS:
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], PLOT_AREA_NN, SXT_TEEM [1], SXT_TEEM [2]
WDEF [1], WDEF [2], WDEFROI_NN, anytim2ints [1], anytim2ints [2], bkg_sub
go_teem_plots, gt_expdur [1], gt_expdur [2], input [1], input [2], ocontour [1]
ocontour [2], ocontour [3], ocontour [4], ocontour [5], pprint [1], pprint [2]
sxt_interp [1], sxt_interp [2], wfilpck
HISTORY:
written by GAL summer 93
modified for release Sept. 93
22-Oct-93, added code to handle uncertainty values for
background subtraction and interpolation.
19-Nov-93, J. R. Lemen, Modified to call pprint
22-Mar-94, N. Nitta, added a keyword area to remember which
areas are selected.
15-Jan-95, N. Nitta, vectorized sxt_teem call, add ws keyword
so that the display of the image can be made bigger.
[Previous]
[Next]
Name: go_teem_plots
Purpose: make timeseries plots of te, em, Int_filt_1, Int_filt_2
Calling Sequence:
go_teem_plots, comment, index1, index2, te, dte, em, dem, $
emzero, npixs, fl1, fl2, [hardcopy=hardcopy, lc_plot=lc_plot]
index1 is just a single data-index used to label light curve
index2 is the data-index which cooresponds to the times of obs.
CALLS: ***
ERRPLOT [1], ERRPLOT [2], UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
UTPLOT [6], WDEF [1], WDEF [2], gt_filtb, int2secarr [1], int2secarr [2]
CALLED BY:
go_teem [1], go_teem [2], go_teem_nn, go_teem_t
History:
written 14-Sept-93, gal
21-Oct-93, errbars handled for Te and EM
15-Nov-94, defaults to hardware fonts instead of vector.
[Previous]
[Next]
NAME: go_teem_t
PURPOSE: Compute the time-profile for the average Te, EM, and
normalized Intensity for an aligned data-cube from
"sxt_prep*". The only modification from go_teem is
to be able to keep the information on the areas selected.
CALLING SEQUENCE:
go_teem_t, index, data, te, em, dte, dem, fl1, fl2, $
[time=time, comments=comments, interp=interp, $
unc_data=unc_data, satpix=satpix, $
noplot=noplot, lc_plot=lc_plot, area=area]
INPUT:
index index-data records prepared by "sxt_prep*"
data data cube: decompressed, bkg subtracted,
leak corrected, and aligned via "sxt_prep*".
OUTPUT:
te Log of the electron temperature
em Log of the emission measure
dte Log of the Te errors
dem Log of the em errors
fl1 Normalized Intensity profile for thicker fil. images
fl2 Normalized Intensity profile from thinner fil. images
area Selected areas - bombs if an area has more than 400
pixels
OPTIONAL INPUT:
interp switch to use spline vs linear interpolation
average always computes average Te over area selected.
FUTURE option--
will make this a switch but is not available yet
unc_data uncertainty data from "sxt_prep*"
sat_pix saturated pixel maps from "sxt_prep*"
noplot switch to turn-off interactive plots
lc_plot switch to request light-curve plots
backsub switch to request interactive background emission
subtraction.
OPTIONAL OUTPUT:
time list of interpolated times
comments User entered notes for each run, also used
as plot titles.
EXAMPLE USAGE:
NOTES and WARNINGS:
CALLS: ***
CONGRID [1], CONGRID [2], CONGRID [3], SXT_TEEM [1], SXT_TEEM [2], WDEF [1]
WDEF [2], anytim2ints [1], anytim2ints [2], bkg_sub, go_teem_plots, gt_expdur [1]
gt_expdur [2], input [1], input [2], ocontour [1], ocontour [2], ocontour [3]
ocontour [4], ocontour [5], pprint [1], pprint [2], sxt_interp [1], sxt_interp [2]
wdefroi [1], wdefroi [2], wdefroi [3], wdefroi [4], wfilpck
HISTORY:
written by GAL summer 93
modified for release Sept. 93
22-Oct-93, added code to handle uncertainty values for
background subtraction and interpolation.
19-Nov-93, J. R. Lemen, Modified to call pprint
22-Mar-94, N. Nitta, added a keyword area to remember which
areas are selected.
[Previous]
[Next]
NAME:
go_toban
PURPOSE:
To allow the SXT toban to (1) call SRSJCL, (2) call SRSGET,
(3) reformat the data, (4) append to the observing log,
(5) to make the event log, (5) to append to the PNT file, and
(6) make SFD files, (7) submit the DAILY_FORECAST batch job
(8) make SLD and SLS files, (9) update the CCD_SUNC data file
with the center of the sun location, (10) make the SFT files
CALLED BY:
auto_toban, ref_term [2]
RESTRICTIONS:
Only run on FLARE1 or FLARE11
CALLING SEQUENCE:
go_toban
go_toban, /interactive, /dsn
go_toban, /interactive, srsget=2 ;to not interfere with AUTO_TOBAN
go_toban, /interactive, /flare2 ;to not interfere with AUTO_TOBAN
go_toban, /nosrsjcl
go_toban, /nosrsjcl, /nosrsget
go_toban, /journal
go_toban, /mail
OPTIONAL KEYWORD INPUT:
interactive - If set, ask the user which of the "stages" to run
nosrsjcl - If set, do not run the SRSJCL stage
nosrsget - If set, do not run the SRSGET stage
noreformat - If set, do not run the REFORMAT stage
noobs - If set, do not run the OBS stage
noevn - If set, do not run the EVN stage
nopnt - If set, do not run the PNT stage
nosfd - If set, do not run the SFD stage
nosl - If set, do not run the SLS and SLD stage
noccd_sunc - If set, do not run the CCD_SUNC update stage
nosft - If set, do not run the SFT stage
journal - If set, make a journal file. The file name will
be GO_TOBANyymmdd.hhmmss in the ~ directory.
mail - If set, send error/warning/status mail messages.
See the list below for what types of messages
error - The error status. Codes less than 100 are from
GET_SIRIUS.
0 = successful
5 = SRSGET: "jbopen" or similar error
9 = SRSGET: The user prompt was not what was
expected after starting to run "srsget"
10 = SRSGET: "srsget" is begin run already
100 = No ADA files so cannot figure out the
starting time for SRSGET
101 = Calculated SRSGET time span is over
96 hours which should be impossible
110 = No file was created after SRSGET
120 = The file SRSGET created had less than
60 seconds of data, so no new data available
150 = Not enough disk space on any of the listed
disks.
year - Manually define the year since year nibble is not being
defined properly.
st_tim - The start time for SRSGET. If not passed, then the
start time is taken as the time of the last available
data in the last ADA file.
en_tim - The end time for SRSGET. If not passed, then use the
current UT time.
summary_line - A single line summarizing the success of the GO_TOBAN run
copy_cmd - Optionally the command to copy the SRSPAS.NEW file to
SRSPAS.OLD (signifying that data has been processed)
DESCRIPTION:
GO_TOBAN
1. Optionally run SRSJCL.
2. Optionally run SRSGET. It purges the files in raw telemetry
disk keeping the last eight files created (purged by creation
date). The start time is set to the last data available in
the reformatted ADA files. The end time is set to the current
time. For the case when there is no new telemetry available,
SRSGET could still return up to 60 seconds of telemetry
(because of the granularity of the SRSGET command). If this
occurs, that file is deleted and GO_TOBAN will exit.
3. Optionally run REFORMAT. The routine first checks to see that
enough disk space exists. If not, it goes through a list of
disks until it finds enough space, or it reaches the end of the
list. The current list is: /yd3/reformat, /yd1/reformat. When
the reformatting is finished, it will send a mail message the
the users specified in the "MAIL" keyword input parameter. This
is set to "sxt" and "morrison" for calls made from AUTO_TOBAN.
4. Optionally copy SRSPAS.NEW to SRSPAS.OLD
5. Optionally run MK_OBS. It only makes the weekly OBS file for
the week # of the data that was just reformatted. The new
data is appended.
6. Optionally run MK_EVN. It only makes the weekly EVN file for
the week # of the data that was just reformatted. A whole
new file is created.
7. Optionally run MK_PNT. It only makes the weekly PNT file for
the week # of the data that was just reformatted. The new
data is appended.
8. Optionally run MK_SFD. A separate SFD file is created for each
new SFR file available.
9. Optionally submit the DAILY_FORECAST batch job to copy daily
images to various institutions around the country.
10. Optionally run MK_SL for SLS and SLD files. A whole new file is
created.
11. Create SFT files
Environment When they get messages
Variable
$MAIL_TOBAN_STATUS * Successful completion of reformating stage
$MAIL_TOBAN_ERROR * SRSGET Error - someone else running SRSGET
* No ADA files available to determine start
time for SRSGET
* Not enough disk space on a listed disk
* No disk space on ANY of the listed disks
$MAIL_TOBAN_WARN * Down to less than 100 megabytes on primary
disk
* SRSGET Info - less than 60 sec of new data
* SRSGET Info - main frame is off
* SRSGET Info - some other SRSGET error
$MAIL_TOBAN_DEBUG
* Successful completion of all of GO_TOBAN
HISTORY:
Written 14-Oct-92 by M.Morrison using GO_GET_SIRIUS as a start.
15-Oct-92 (MDM) - Added MK_PNT "stage"
16-Oct-92 (MDM) - Made variable "wid" into a scalar since it
caused problems to MK_EVN
20-Oct-92 (MDM) - Added MK_SFD "stage"
21-Oct-92 (MDM) - Added jump capbility to only run MK_SFD (goto statement)
21-Oct-92 (SLF) - Added spawning of srsjcl on flare1
(shuto san program to create sirius Temp data)
added informational messages for each stage
23-Oct-93 (MDM) - Added jump capability to only build the INFIL array
- Added /USEFID to MK_OBS call
26-Oct-92 (MDM) - Changed from a program to a procedure
2-Nov-92 (MDM) - Modified so that if NOSRSGET is set and REFORMAT is set,
then prompt the user for the input file name
3-Nov-92 (MDM) - Modifed 2-Nov patch to use the proper directory name
for flare1 and flare11 use.
5-Nov-92 (MDM) - Modified to prompt the user for the WeekID if
NOREFORMAT is set.
19-Nov-92 (MDM) - Added check of error status from GET_SIRIUS. Stop
GO_TOBAN if there was an error.
25-Nov-92 (SLF) - Added auto purge of raw telemetry disk
Increased number of beeps when reformatter completed
Logic to find raw telemtry disk mount name
(may be machine dependent)
30-Nov-92 (MDM) - Added the /JOURNAL option
- Also printed the options selected
1-Dec-92 (MDM) - Adjusted the logic of the "nosrsjcl" type keywords
3-Dec-92 (MDM) - Added extra check in SRSGET stage to see that the
raw telemetry file had at least more than one minute
of data. This is necessary because if SRSGET was
called a second time when there was no new data, we
will get at least one minute of data. If there is
less than one minute, then delete the file.
- Added check to see that enough disk space exists
for the reformatted data files.
- Added MAIL option to send mail after reformatting
8-Dec-92 (MDM) - Added extensive mail message options for monitoring
progress. The environment variables $MAIL_TOBAN_xxx
were introduced.
8-Dec-92 (MDM) - Added MK_SL stage to make SLS and SLD files (leak
tracking routines).
11-Dec-92 (MDM) - Changed the mail message to print out the time range
covered in the new reformatted data
14-Dec-92 (MDM) - Changed maximum duration that is alowable from 48
hours to 96 hours (since we can have big gaps over
weekends)
1-Jan-93 (MDM) - Removed number of hours check from GET_SIRIUS
4-Jan-93 (MDM) - Added the YEAR keyword for REFORMAT use
5-Jan-93 (MDM) - Changed the error/warning mail messages some for
GET_SIRIUS stage.
8-Jan-93 (MDM) - Modification to MK_SL stage to check that SFR file
exists first.
20-Jan-93 (MDM) - Fixed an error with MK_SL stage. It was not selecting
the files properly since 8-Jan-93 modification.
20-Jan-93 (MDM) - Added ST_TIM and EN_TIM keyword options. Also added
SUMMARY_LINE
26-Jan-93 (MDM) - Fixed up logic for MK_SFD stage. It was crashing if
no SFD files needed to be made.
- Changed format of the SUMMARY_LINE string
2-Feb-93 (MDM) - Changed the "slop" requirement to 125% of raw telemetry
file. If less than that space is free, go to the backup
disk. It used to be 110%.
- Corrected mail message for case where not enough
disk space is free for reformatting (listed wrong disk)
9-Mar-93 (MDM) - Added /AUTODEL switch to REFORMAT call to delete the
files if they already exist
- Changed logic to find the last directory which is
not empty to figure out the reformatted data directory
14-Apr-93 (MDM) - Added /DSN option
- Changed "df" command to be "df -n" to find raw tlm dir
29-May-93 (MDM) - Added update of CCD_SUNC data file with the center of the
sun location
- Added /NOCCD_SUNC switch (and /NOSL since it was missing)
10-Aug-93 (MDM) - Modified the way that CCD_SUNC calculation was being done.
11-Aug-93 (MDM) - Corrected typo of 10-Aug
30-Aug-93 (MDM) - The raw telemetry directory name was not being determined
properly for flare workstations (raw telem files were
not getting purged as a result)
- Modified to save 15 raw telem files (instead of 8)
30-Sep-93 (MDM) - Corrected typo in the mail message "will" vs "with"
7-Oct-93 (MDM) - Changed to use $DIR_SITE_NEWDATA instead of /yd3/reformat
10-Oct-93 (MDM) - Added creation of ATR and ATT (will remove PNT after
confirming ATR/ATT creation is working)
11-Oct-93 (MDM) - Corrected error in CCDSUNC option for the case where
no PNT data is available.
12-Oct-93 (MDM) - Added call to DAILY_FORECAST to copy 4 forecast images to
remote institutions.
14-Oct-93 (MDM) - Modified call to DAILY_FORECAST to keep 20 IDL log files
16-Oct-93 (MDM) - Have DAILY_FORCAST called every time - have it figure if
it sould run or not
11-Nov-93 (MDM) - Added FLARE2 and SRSGET options so that GO_TOBAN can be
used without interfering with AUTO_TOBAN
16-Nov-93 (MDM) - Removed unnecessary code
19-Nov-93 (MDM) - Added MK_SFT stage
2-Dec-93 (MDM) - Added COPY_CMD (copy SRSPAS.NEW to SRSPAS.OLD)
- Added /DAILY_FORECAST option
8-Dec-93 (MDM) - Make DAILY_FORECAST job be submitted right after
MK_SFD stage
- Have alarm at 100 meg or less free (used to
be 50 meg)
14-Dec-93 (MDM) - removed MK_PNT from the set of things done
- Commented out all references to SRSJCL
3-Mar-94 (MDM) - Changed logic so that it would work for the case
where there are no ADA files in the reformat directory
but they aren't needed anyway because "st_tim0"
is passed in
10-May-94 (SLF) - use /noftp switch to idl_batch call (daily_forecast)
12-May-94 (SLF) - replace spawn df with look at /etc/fstab
10-Jul-94 (SLF) - spawn mk_newdata as background task after SFD
24-Sep-94 (SLF) - rsh mk_newdata and daily_forecast to unburden isaas0 (and run faster?)
26-Sep-94 (SLF) - use is_bestnode to select 'best' node for spawned tasks
8-oct-94 (SLF) - spawn mk_spd as another background task
1-nov-94 (SLF) - spawn mk_newdata on local (it spawns subtasks on others)
7-nov-94 (SLF) - use go_batch for mk_newdata
9-Dec-94 (SLF) - remove DATE switch for mk_newdata log
6-Mar-95 (MDM) - Execute "COPY_CMD" for the case where less than 35
major frames are copied during SRSGET
10-Mar-95 (MDM) - Modified so that SUMMARY_LINE is defined for problem cases
11-may-95 (SLF) - submit daily_forecast on isass1
10-jun-95 (SLF) - move forecast to isass0 (cant fix isass1 remotly)
23-aug-95 (SLF) - use temporary SFC area for SFD (entrance filter failure)
9-nov-95 (SLF) - call mk_sfc when mk_sft is run
17-nov-95 (SLF) - rm go_batch for mk_spd
11-jan-96 (SLF) - change get_sirius call - inhibit TEMP if DSN
19-mar-96 (SLF) - reinstated ccd_sunc updates (att instead of pnt)
23-mar-96 (SLF) - divided sxt_cen by 4! (prior to entry into ccd_sunc)
04-apr-96 (GLS) - reversed the sense of the EW coordinate
(prior to entry into ccd_sunc)
22-aug-97 (SLF) - remove /append and /usefid switches in mk_week,'atr'
13-oct-98 (SLF) - spawn go_forecast on local machine
23-mar-99 (GLS) - Added uniq/sort of ada file list
Pass ada file list to mk_att for hxa_scan data
01-apr-99 (PGS) - Modified calls to uniq/sort.
6-Jan-99 (SLF) - simplify mk_sfd / sfr selection (Y2K...)
25-jan-00 (PGS) - y2k fix for purgin raw_tlm filex
8-Aug-2000 - S.L.Freeland - add 'ssc' and 'sss' generation
[Previous]
[Next]
Name: go_yo_prod_batch
Purpose: generate and optionally submit a customized batch job to
produce various Yohkoh archive products (eg, level1, ssc)
Input Paramters:
time0 - start day of desired time range
time1 - stop day of desired time range
Keyword Paramters:
DAYS - vector of one or more days (in leiu of time0/time1 range)
SUBMIT - (switch) - if set, submit the job ~now via ssw_batch
YEAR - do full year (ex: YEAR=1991) in leiu of time range or DAYS
nimages - for testing only, number of images/day to process
(generally used for infrastructure TESTING only)
For example, NIMAGES=5 only does 1st 5 images of each DAY
beta - (switch) - use $YOARCH/ssc_beta instead of $YOARCH/ssc
(only software/yohkoh accounts - ignored for others)
topdir - optional full path for output parents - defaults
derived from $SSW_YOARCH and user info
release - (switch) if set, use 'release' online area instead of
user-personal area
online - (switch) - synonym for /RELEASE (only authorized users allowed)
prefix - optional prefix for output files; default is 'ssc'
JOB_DESCRIPTION - optional descriptive buzzword to innclude in job/log
derived JobNames (used for *pro and *log names)
JobName> USER_yyyymmdd_hhmm + _JOB_DESCRIPTION + {.pro,.log}
| | |^^^^^^^^^^^^^^^
| --Derived------| |-- Optional --|
|user+time of run| | Default=null |
---- common processing control ----
vignette - (switch) if set, ENABLE vignette
destreak - (switch) if set, ENABLE destreak
----------------------------------------------------------
---- sxt_prep processing control ----
float - (switch)
dc_orbit_correct - (switch)
sxt_cleanx - (switch)
noleak - (switch)
second_order_leak - (switch)
----------------------------------------------------------
---- mk_ssc processing control ----
scatter - (switch) if set, ENABLE scatter correction
second - (switch) if set, ENABLE second order leak correction
nonormalize - (switch) if set, DISABLE SSC normalization (DN/S/Pixel)
clean - (switch) if set, ENABLE despiking
----------------------------------------------------------
------ xxx_beta switches for overriding released ydb input dbases
sfc_beta - NN -> version of $SSWDB/ydb_beta/sfc_NN
sdc_beta - NN -> version of $SSWDB/ydb_beta/sdc_NN
att_beta - NN -> version of $SSWDB/ydb_beta/att_NN
fem_beta - NN -> version of $SSWDB/ydb_beta/fem_NN
syncoeff_beta - NN -> version of $SSWDB/ydb_beta/synsfc_NN
----------------------------------------------------------
Calling Sequence:
IDL> go_yo_prod_batch,t0,t1 [,processing flags] [,B-ydb flags] [,SUBMIT]
Calling Examples:
----- defaults for time range & run -----
IDL> go_yo_prod_batch,'1-mar-1997','10-mar-1997',/SUBMIT - all defaults
----- add 2nd order leak, use ydb_beta SFC version 2
IDL> go_yo_prod_batch,'1-mar-1997','10-mar-1997',/SECOND, SFC_BETA=2,/SUB
----- discrete DAYS vector instead of contiguious time range ----
IDL> go_yo_prod__batch,DAYS=['1-sep-2000','15-nov-1999'],/SUBMIT
----- full year run ----
IDL> go_yo_prod__batch,YEAR=1992,/SUBMIT,/SECOND
----- mission long run ----
IDL> go_yo_prod__batch,get_yo_dates(/launch), $
last_nelem(get_yo_dates(/ent)),/sub,/second,job_desc='MISSION'
CALLS: ***
ARR2STR [1], Arr2Str [2], BOX_MESSAGE, CONCAT_DIR [1], CONCAT_DIR [2]
CONCAT_DIR [3], FILE_EXIST [2], POPD, PUSHD, STR2ARR [1], STR2ARR [2], STRTAB2VECT
TIME2FILE, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
concat_dir [4], curdir [1], curdir [2], data_chk [1], data_chk [2]
file_append [1], file_append [2], file_exist [1], file_exist [3], get_logenv [1]
get_logenv [2], get_user [1], get_user [2], is_member [1], is_member [2]
pr_status [1], pr_status [2], rd_tfile [1], rd_tfile [2], reltime [1], reltime [2]
ssw_path, str2cols [1], str2cols [2], str_replace [1], str_replace [2]
ut_time [1], ut_time [2], write_access [1], write_access [2], yesnox [1]
yesnox [2]
History:
5-Mar-2003 - S.L.Freeland
7-Mar-3003 - S.L.Freeland add OUT param to batch cmd spawn
(avoid some kind of frozen pipe on some Linux)
Add YEAR keyword and function
18-Apr-2003 - S.L.Freeland added /ONLINE and /RELEASE (synonyms)
[Previous]
[Next]
NAME:
GOES2DPE
PURPOSE:
Assess the GOES flux level and recommend AEC settings for SXT.
This is meant to be an empirical thing, so please improve the
algorithm if you are getting screwy results.
CATEGORY:
goes2dpe
CALLING SEQUENCE:
INPUTS:
OPTIONAL (KEYWORD) INPUT PARAMETERS:
test samples the most recent actual SXT data
OUTPUTS:
CALLS: ***
FMT_TIMER [1], FMT_TIMER [2], STDEV, anytim2ints [1], anytim2ints [2], gt_dpe
gt_expmode, gt_filtb, gt_res, rd_gxd [1], rd_gxd [2], rd_gxd [3], rd_obs
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
MODIFICATION HISTORY:
HSH, written 27-Jul-97
14-Sep-98, workaround for RD_GXD problem (HSH)
4-Oct-98, merge D.Mckenzie 1-jun mod
tweaked recommended DPE upwards by 4, 01-jun-98
[Previous]
[Next]
Name: goes2str
Purpose: convert goes xray tekplot file into Yohkoh type data structure
Input Parameters:
xrfile - goes xray plot file (assume tektronix format)
loglun - open logical unit to write status info (-1 is terminal)
Output Parameters:
function return value is {gxr_data_rec} array
Keyword Parameters:
plot - if set, tekplot file is displayed during vector generation
History - slf, 8-Sep-92 (digitization code adapted from tekplot.pro
by T. Sakurai)
slf, 9-mar-93 trapped some TEK file corruption problems
send mail to $MAIL_MK_GXT when encountered
slf,10-mar-93 use file_append to log corrupt files
only mail trouble report for new entries
slf,15-oct-93 if file size < 1000 bytes, assume corrupt
append to corrupt file log and exit
slf,25-aug-94 change structure order when goes6 died.
CALLS:
[Previous]
[Next]
Name: goes3sec_copy
Purpose: copy 3 second data from selsis - optionally make week file
Input Parameters:
date0 - start day for copy (default is today or via WEEK keyword)
date1 - stop day for copy (stop day - default is 24 hours from date0)
Keyword Parameters:
week - string of form 'YY_WW' can be used instead of date0/date1
last_24hrs - if set, date0=yesterday, date1=today
Calling Examples:
goes3sec_copy,date ; copy files for date (UT)
goes3sec_copy,week='95_13',/mk_week ; files for week / make gxd file
CALLS: ***
BOX_MESSAGE, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1]
CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2], anytim2ex [1]
anytim2ex [2], anytim2ints [1], anytim2ints [2], break_file [4], concat_dir [4]
ex2fid [1], ex2fid [2], ex2week [1], ex2week [2], fid2ex [1], fid2ex [2]
file_list [1], file_list [2], get_logenv [1], get_logenv [2], gt_day [1]
gt_day [2], int2secarr [1], int2secarr [2], last_nelem, mk_week_file [1]
mk_week_file [2], pr_week2tim [1], pr_week2tim [2], sel_timrange [1]
sel_timrange [2], ssw_deltat, str_perm, timegrid, ut_time [1], ut_time [2]
HISTORY:
Written by M.Morrison
25-Mar-93 (MDM) - Modified to use DECNET "dcp" command instead
of FTP since there were computer problems at Boulder
16-Apr-93 (MDM) - Modified to re-copy when the file size of the existing
file is less than 70,000 bytes (should be 70600 or 70620
when properly copied)
- went back to using FTP
- Added INFIL option
12-May-93 (MDM) - Correct for case where there are no existing files
- Added /MK_WEEK_FILE option
14-May-93 (MDM) - Changed to use $ydb_raw and $ys
16-May-93 (MDM) - The MK_WEEK_FILE option was not working for Saturdays
because it was using the wrong time.
17-May-93 (MDM) - Changed how MK_WEEK_FILE option worked
26-May-93 (MDM0 - Changed to use /ys/site/script instead of /ys/gen/script
19-Aug-93 (MDM) - Removed /self switch from Mail call
4-Jan-94 (MDM) - Modified mailing list
11-apr-95 (SLF) - cleaned up / use GOES3_FTP_NODE env
13-apr-95 (SLF) - major rewrite of date code using timegrid / ftp_copy
dont bother with goes6 after date='17-aug-94'
add WEEK keyword and function - eliminte dcp stuff
29-jun-95 (SLF) - remove software from mailing list
29-aug-95 (SLF) - cleaned up some "ss" logic
30-aug-95 (SLF) - generate 1 and 5 minute average files after GxD.
20-mar-96 (SLF) - add GOES9
27-mar-96 (SLF) - and GOES8
13-aug-96 (SLF) - GOES7 turn-off fixup (14-aug-96)
20-sep-96 (SLF) - fix typo in last_24hrs keyword
21-Jul-98 (SLF) - add GOES10
19-oct-98 (SLF) - inhibit week files for goes10 (mk_week_file prob)
8-apr-2003 (SLF) - add GOES12
[Previous]
[Next]
NAME:
GOES8_READER
PURPOSE:
input GOES-8 temperature response functions from ASCII file
CATEGORY:
Yohkoh
CALLING SEQUENCE:
goes8_reader, goes8
goes8_reader, goes8, /raymond
INPUTS:
OPTIONAL (KEYWORD) INPUT PARAMETERS:
/raymond gets the Raymond calculation (default Mewe) supplied
by Howard Garcia August, 1994
OUTPUTS:
GOES8 contains
line #
ratio of responses
wavelength, A
1-8 A response per 10^44 em
0.5-4 response
WARNING:
makes a plot in whatever window it can find
MODIFICATION HISTORY:
HSH, written 9-Aug-94 based on e-mail from Howard Garcia
HSH, added /raymond 17-aug-94
[Previous]
[Next]
NAME:
Goes_bck0
PURPOSE:
Esitmate of the "true" goes background level, see P.L.Bornmann,
Apj. 356, pg 733. Requires three conditions for the start of
the flare; T must increase, EM must increase, T(flare)>T(background).
Various numbers are tested, the ones that give the highest percentage
for these conditions during the flare rise phase are used. The
start and end times or subscripts of the background must be passed in.
CALLING SEQUENCE:
bck = Goes_bck0(tim_arr, flux, bck_trange, pct_bck=pct_bck, no_bstep=no_bstep, $
preflare=preflare, quiet=quiet)
INPUT:
tim_arr= the times for the GOES data, in Yohkoh formats, or in sec from 1970
flux= the GOES flux, 2 channels
bck_trange = start and end times time or subscripts
OUTPUT:
bck = the background levels for both channels
KEYWORDS:
bck_frac = the "flare" is said to be 1+bck_frac times the preflare flux level
no_bstep = the number of steps in the preflare level that will be tested
to find the true background
preflare = preflare flux level, either chosen by the user or by AUTO_BCK_FIND.
quiet = passed into auto_bck, if needed
CALLS: ***
anytim2ints [1], anytim2ints [2], tim2dset [1], tim2dset [2]
CALLED BY:
goes_teem, goesem_eqn [1], goest_eqn [1]
HISTORY:
From GOES_BCK, 8-feb-96, jmm
[Previous]
[Next]
NAME:
GOES_CONVERTER
CALLING SEQUENCE
goes_converter, data_in, data_out
PURPOSE:
Converts data_in from PLOT_GOES format to W/m^Hz units
WARNING:
Only temporary, really, until the 3-sec data become
available.
CALLED BY:
goes_log
HISTORY:
Written by HSH Jan. 15, 1992
[Previous]
[Next]
Name: goes_gaps
Purpsse: find missing 6 hour perids in goes GXT data
CALLS: ***
anytim2ints [1], anytim2ints [2], file_append [1], file_append [2], fmt_tim [1]
fmt_tim [2], gt_day [1], gt_day [2], rd_gxt, str_replace [1], str_replace [2]
syst2ex [1], syst2ex [2], syst2ex [3]
History:
15-Nov-1993 (SLF) Written
Method - read gxt data in 6 hour chunks (aligned with Tektronix plots)
use status return from rd_week_file (rd_gxt) or nrecs <=1
[Previous]
[Next]
Name: goes_grid
Purpose: draw grid on previously drawn goes plot (assume utplot)
CALLED BY:
goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
History:
1-sep-1992 (circa) (SLF)
7-Dec-1992 (use normalized coords)
13-Sep-1994 added grid_thick to control grid thickness
14-Sep-1994 guard against undefined grid_thick
[Previous]
[Next]
NAME:
goes_log
PURPOSE:
Click on a GOES plot and then return the values of
Goes 6,7 in the low and high bands for the selected time.
CALLING SEQUENCE:
(Run Plot_goes first)
goes_log,/file
goes_log,time1,time2,file=file
goes_log,time1,time2,file=file,/append,/refresh
INPUTS:
None.
OUTPUS:
None.
OPTIONAL OUTPUT KEYWORDS:
file = If set, write out to goes_log.dat
file = file => Write output to given filename
append = If set, append to an existing file
refresh = Refresh the GOES plot
fillsaa = If set, fill in SAA if the GOES plot is refreshed
fillnight = If set, fill in Night if the GOES plot is refreshed
result = A string array of information
CALLS: ***
DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4], FILE_EXIST [2], GETUT [1]
GETUT [2], GOES_CONVERTER, PLOT_GOES, anytim2ints [1], anytim2ints [2]
delvarx [5], evt_grid, file_exist [1], file_exist [3], fmt_tim [1], fmt_tim [2]
rd_gxt, tim2dset [1], tim2dset [2], utcursor [1], utcursor [2]
MODIFICATION HISTORY:
11-dec-93, J. R. Lemen LPARL, Written
[Previous]
[Next]
Name: goes_plot
Purpose: plot goes x-ray data (Yohkoh structure)
Input Parameters:
input1 - user start time or goes xray data record structure array
input2 - user stop time
Optional Keyword Paramters:
fem - if set, overplot Yohko ephemeris grid (call fem_grid)
fillnight - (pass to fem_grid) - polyfill Yohkoh nights
fillsaa - (pass to fem_grid) - polyfill Yohkoh saas
saa - (pass to fem_grid) - show saa events overlay grid
low - if set, only plot low energy
high - if set, only plot high energy
title - user title (appended to default title predicate)
nodeftitle- if set, dont append default title predicate
color - color of lines
ascii - if set, use sec ascii files in $SSWDB/goes/xray/
Calling Sequence:
plot_goes,'5-sep-92' ; start time + 24 hours
plot_goes,'5-sep-92',/three ; same, but use 3 second data
plot_goes,'5-sep-92',6 ; start time + 6 hours
plot_goes,'5-sep-92','7-sep-92' ; start time / stop time
plot_goes,gxtstr ; input goes records from rd_gxt
plot_goes,'5-sep',/fem ; overplot Yohkoh ephemeris grid
plot_goes,'5-sep',/fillnight ; ditto, but fill in Yohkoh nights
plot_goes,'1-jun','30-jul',/low ; only plot low energy
plot_goes,t1,t2,/one_minute ; one minute averages (default)
plot_goes,t1,t2,/five_minute ; five minute averages
plot_goes,t1,t2,/auto ; use environmental goes_auto_range
plot_goes,t1,t2,auto=[.25,1.,5] ; auto range (3 second/1 min/5 min)
plot_goes,t1,t2,/hc or /hardcopy ; PS hardcopy (default orient=landscape)
plot_goes,t1,t2,/portrait ; PS hardcopy (orient=portrait)
History: slf 22-sep-1992
slf 11-oct-1992 - added low and high keywords, add documentation
slf 26-oct-1992 - added nodeftitle keyword
slf 15-mar-1993 - return on no data
mdm 24-Mar-1993 - corrected error due to integer overflow
slf 19-Jul-1993 - implemented LO and HI keyword function
slf 29-jul-1993 - added max_value keyword (pass to utplot)
slf 4-sep-1993 - add charsize, no6, no7 keywords
slf 22-Nov-1993 - added lots of plot keyowords
jrl 1-dec-1993 - added thick, charthick, xtitle keywords
slf 5-dec-1993 - set default xstyle = 1
slf, 7-dec-1993 - a) added three (second) keyword and functions
c) gave up on any and all hopes for clean logic
slf 15-dec-1993 - a) yrange w/gxt input b) check deriv(valid)
cleanup the input logic a little.
ras 17-aug-1994 - no longer use call procedure by setting proc to
'utplot' or 'utplot_io' by just calling utplot and
setting ytype as needed
slf, 19-aug-94 - make no6 default if start time after 17-aug
dmz 21-Aug-1994 - lumped all plot keywords into _EXTRA
so that keyword inheritance will work with
UTPLOT. Also replaced OUTPLOT by OPLOT and
fixed potential bug in DVALID
slf, 25-aug-94 - merged divergent changes (19-aug / 21-aug)
add /fast switch (use saved version if avail)
gal, 13-aug-94 - added grid_thick switch to control goes grids.
mdm, 20-Sep-94 - Added TIMERANGE option
slf, 9-oct-94 - Added NOYLAB keyword
slf, 30-aug-95 - add ONE_MINUTE and FIVE_MINUTE keywords
add auto_ranging (via environ= goes_auto_range)
preferentially use G71 instead of GXT if availble
slf, 26-sep-95 - protect against missing G6
slf, 28-sep-95 - add HC, HARDCOPY, LANDSCAPE, and PORTRAIT switches
slf, 5-oct-95 - add STATUS keyword (1=some data, 0=none)
jmm, 8-aug-96 - Fixed bugs to allow for the plotting of input
data structures, changed a reference to GXR_DATA_REC
to GXD_DATA_REC.
slf, 13-aug-96 - make GOES 9 default after 1-july-1996
(replace GOES 7 , no goes7 after 14-aug-96)
slf, 18-aug-96 - add goes91/95 to the ydb_exist check
slf, 30-Jul-98 - GOES 9 off , make GOES8 the default
slf, 24-apr-99 - enable COLOR
Zarro, 4-Nov-99 - fixed vector bug when plotting input data
slf, 3-Jan-1999 - put wrapper around 'input1/input2' - pseudo Y2K
slf, 16-apr-2003 - add GOES12, get time dependent default sat# from get_goes_defsat.pro
Zarro, 23 Apr-2004 - add check for GXRIN
CALLS: ***
ADDTIME [1], ADDTIME [2], CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], EXIST
FILE_EXIST [2], GETUTBASE [1], GETUTBASE [2], LOADCT, PLOT_GOES, STR2ARR [1]
STR2ARR [2], UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
WDEF [1], WDEF [2], anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
anytim2ints [1], anytim2ints [2], concat_dir [4], data_chk [1], data_chk [2]
deriv_arr [1], deriv_arr [2], fem_grid [1], fem_grid [2], file_exist [1]
file_exist [3], fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fmt_tim [1]
fmt_tim [2], get_goes_defsat [1], get_goes_defsat [2], get_logenv [1]
get_logenv [2], goes_grid [1], goes_grid [2], gt_day [1], gt_day [2]
int2secarr [1], int2secarr [2], pprint [1], pprint [2], prstr [1], prstr [2]
rd_goesx_ascii, rd_gxd [1], rd_gxd [2], rd_gxd [3], rd_gxt, syst2ex [1], syst2ex [2]
syst2ex [3], tbeep [1], tbeep [2], tbeep [3], ut_time [1], ut_time [2]
ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4]
Side Effects:
/fast switch ca