[Previous]
[Next]
NAME:
FileInfo
PURPOSE:
Obtain info about open file
CALLING SEQUENCE:
subroutine FileInfo(iU,cFile)
INPUTS:
iU integer logical unit number of open file
OUTPUTS:
None
CALLS: ***
AskChar, BadI4, iSearch, itrim
CALLED BY:
Pandora
INCLUDE:
include 'filparts.h'
PROCEDURE:
> Calls INQUIRE to obtain information about the file and prints it on
the screen. The program is paused until user hits any key.
> If iU .ne. FIL__NOUNIT it is used in an `inquire by unit number'.
> If iU .eq. FIL__NOUNIT then FILE is used in an `inquire by file name' (if the
file exists).
MODIFICATION HISTORY:
JAN-1995, Paul Hick (UCSD)
[Previous]
[Next]
NAME:
FileSelection
PURPOSE:
Set wildcards for locating data files
CATEGORY:
I/O
CALLING SEQUENCE:
subroutine FileSelection(cStr,cWild)
INPUTS:
cStr character*(*) info from which to construct wildcard
OUTPUTS:
cWild character*(*) file name (incl. directory) with wildcard
CALLS: ***
LocFirst, LocFirstLen, Say, Str2Flt, iCheckDirectory, iFilePath, iGetFileSpec
iGetLogical [1], iGetLogical [2], iPutFileSpec, iSetFileSpec, itrim
CALLED BY:
BListAll, ForeignFile
INCLUDE:
include 'dirspec.h'
include 'filparts.h'
PROCEDURE:
> The directory information cStr has the following format,
filename.type,root,sub1,sub2,....
All except the first part (the filename) are optional
'filename.type' is used to determine the file name including a wildcard.
'root' is used to set a directory name. 'root' can be a logical (it's
translation is substituted), a relative directory name (the working directory
is prepended) or an absolute directory name.
'root' is concatenated with 'sub1', 'sub2',... to form the final directory.
This directory must exist. If it does not then program execution stops.
'filename.type' can contain any number of substrings of the form '(n)' or '[n]' where n
is an integer. Each substring '(n)' is replaced with n single wildcharacters.
> If '(n)' is omitted then 'filename.type(4)' is assumed, i.e.
four wild characters are appended to the file type.
E.g. 'nagoya' becomes 'nagoya.????'
> If 'root' is omitted then 'filename' and 'type' are checked for
a non-zero-length prefix, and 'root'='$dat,prefix' is assumed.
E.g. 'nagoya.????' becomes 'nagoya.????,$dat,nagoya'
'????.srf' becomes '????.srf,$dat,srf'
> Examples: (for logical $dat = /mnt/work/dat/)
nagoya --> /mnt/work/dat/nagoya/nagoya.????
nagoya,dat,yearly --> /mnt/work/dat/nagoya/yearly/nagoya.????
wind_(4).hravg,dat,insitu --> /mnt/work/dat/insitu/wind_????.hravg
If tmp is not defined as a logical
nagoya,tmp,somewhere,sub --> ./somewhere/sub/nagoya.????
where the leading dot is replaced by the working directory.
MODIFICATION HISTORY:
JUL-2000, Paul Hick (UCSD/CASS)
APR-2002, Paul Hick (UCSD/CASS)
Added option to specify multiple wildcard patterns
MAY-2002, Paul Hick (UCSD/CASS)
Added option to use square brackets instead of round brackets for
wildcard specification. Round brackets will cause problems in
bash unless explicit quotes are used.
AUG-2003, Paul Hick (UCSD/CASS, pphick@ucsd.edu)
Added option to replace (0) by single wildcard *.
[Previous]
[Next]
NAME:
FillMap
PURPOSE:
Fills maps at a given longitude with an average of the data from
the other longitudes. Found a big mistake 10/30/00 BVJ. IP and IM
were taking data from the wrong place.
CATEGORY:
Data processing
CALLING SEQUENCE:
subroutine FillMap(Mode,XCbeg,XCend,nLng,nLat,Const,DMap)
INPUTS:
Mode integer 0 - only bad values are processed
1 - all values are processed
2 - only good values are processed, all weighted equally
3 - make all 90 deg. longitudes the same value
4 - make all valid 90 deg. longitudes the same value
5 - make all 90 deg. longitudes the same value if equatorial longitudes are valid
XCbeg real Beginning rotation values
XCend real Ending rotation value
nLng integer # Longitude points
nLat integer # Latitude points
Const real Longitude filter constant (in terms of the numbers of intervals in one rotation)
DMap(nLng,nLat) real Input map
OUTPUTS:
DMap(nLng,nLat) real Output map
CALLS: ***
BadR4
CALLED BY:
ipsd
PROCEDURE:
Bad values (indicated by BadR4()) are processed
MODIFICATION HISTORY:
MAY, 1999 B. Jackson (STEL,UCSD)
JUN-2001, Paul Hick (UCSD/CASS)
Renamed the subroutine from FillMapL to FillMap.
Both tomography programs (ipsd and ipsdt call this subroutine).
[Previous]
[Next]
NAME:
FillMapL
PURPOSE:
To fill maps at a given longitude with an average of the data from
the other longitudes. Found a big mistake 10/30/00 BVJ. IP and IM
were taking data from the wrong place.
CATEGORY:
Data processing
CALLING SEQUENCE:
call FillMapL(Mode,XCbeg,XCend,nLng,nLat,Const,DMap)
INPUTS:
Mode integer 0 - only bad values are processed
1 - all values are processed
2 - only good values are processed, all weighted equally
3 - make all 90 deg. longitudes the same value
4 - make all valid 90 deg. longitudes the same value
5 - make all 90 deg. longitudes the same value if equatorial longitudes are valid
XCbeg real Beginning rotation values
XCend real Ending rotation value
nLng integer # Longitude points
nLat integer # Latitude points
Const real Longitude filter constant (in terms of the numbers of intervals in one rotation)
DMap(nLng,nLat) real Input map
OUTPUTS:
DMap(nLng,nLat) real Output map
CALLS: ***
BadR4
CALLED BY:
FillMaptN, ipsdt
PROCEDURE:
Bad values (indicated by BadR4()) are processed
MODIFICATION HISTORY:
MAY, 1999 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
FillMapOLS
PURPOSE:
To fill maps at opposite the region of interest with a smooth average of the
data from the other nearby longitudes.
CATEGORY:
Data processing
CALLING SEQUENCE:
call FillMapOLS(Mo,XCbe,XCint,nLng,nLat,nT,N,nTmax,RRS,Speed,Const,AEmax,AEmin,AEang,DMap)
INPUTS:
Mo integer 1 - Smooth/interpolate region most distant from Earth
2 - Limit values farthest from Earth
XCbe(2,nT) real Boundary values of time maps
XCint(NTmax) real Start and end times of intervals
nLng integer # Longitude points
nLat integer # Latitude points
nT integer # Time points
N integer Map time value
nTmax integer Total # of map time values
RRS real Deconvolution source surface distance
Speed real Average speed used for data analysis
Const real Longitude filter constant (in terms of the numbers of intervals in one rotation)
AEmax real Anti-Earth maximum value
AEmin real Anti-Earth minimum value
AEang real Angle from Earth to begin longitude limit
DMap(nLng,nLat,nT) real Input map
OUTPUTS:
DMap(nLng,nLat,nT) real Output map
CALLS: ***
BadR4
CALLED BY:
ipsdt
PROCEDURE:
Bad values (indicated by BadR4()) are processed
MODIFICATION HISTORY:
MAY, 1999 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
FillMaptN
PURPOSE:
To fill maps at a given time with an average of the data from
the other time maps from the same longitude and latitude.
Error found in this subroutine 10/15/00 B. Jackson (improper
DMNT initalization)
CATEGORY:
Data processing
CALLING SEQUENCE:
call FillMaptN(nTTVa,XCbe,nLng,nLat,nT,CONST,DMap,DMp)
INPUTS:
nTTVa integer 0 - cycle through all values of nT
>0 - use nTTVa as the one and only value of nT to correct
XCbe real Beginning (and ending) rotation values
nLng integer # Longitude points
nLat integer # Latitude points
nT integer # DMap times
CONST real Time filter constant (in terms of the time interval)
DMap(nLng,nLat,nT) real Input map
OUTPUTS:
DMap(nLng,nLat,nT) real Output map
SCRATCH ARRAY:
DMp(nLng) real NOT USED (pph)
CALLS: ***
BadR4, FLINT, FillMapL
CALLED BY:
FillWholeT, ipsdt
PROCEDURE:
Bad values (indicated by BadR4()) are not processed
MODIFICATION HISTORY:
MAY, 1999 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
FillWholeT
PURPOSE:
To fill Whole T Maps from maps at the other times
CATEGORY:
Data processing
CALLING SEQUENCE:
subroutine FillWholeT(Mode,Nit,NiterT,XCbe,nLng,nLat,NT,nLngLat,ConsTM,DMap,DDD)
INPUTS:
Mode integer 0 - density
1 - velocity
Nit integer iteration number
NiterT integer Total number of iterations
XCbe(2,NT) real Beginning (and ending) rotation values
nLng integer # of Longitudes
nLat integer # of Latitudes
nT integer # of times
ConsTM real Longitude filter constant (in terms of the numbers of intervals in one rotation)
DMap(nLng,nLat,NT) real Input map
SCRATCH ARRAY:
DDD(nLng)
OUTPUTS:
DMap(nLng,nLat) real Output map
CALLS: ***
ArrR4GetMinMax, BadR4, FillMaptN
CALLED BY:
ipsdt
PROCEDURE:
Bad values (indicated by BadR4()) are processed
MODIFICATION HISTORY:
MAY, 1999 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
filparts
PURPOSE:
Defines named constant for use with SetFileSpec, PutFileSpec and GetFileSpec
to avoid having to use the integer values themselves.
CALLING SEQUENCE:
include 'filparts.h'
INCLUDED BY:
Average, BField_Get, BListAll, BList_NSO_NOAA, BList_WSO, BList_WSO_NOAA, BRead_WSO
Connect, Dust, FileInfo, FileSelection, ForeignArgFind, ForeignArgSet, HERDISK
HOSRunningMean, MapReadTimes, NODAT, NicHdr, OGetRecord, OSExitCmd, ParseRepair, Peep
ReadVIPS, ReadVIPSn, SD, SD_TREE, Say, SetGipsy, SetLog2Dir, SetRotations, SortIPS
T3D_marker, T3D_marker_num, TheFit, Time2smei_eph, UlyssesOrbit, WR2DARR, bAskChar
bCompressNic, bGetLun, bHOSName, bOSFind, bOpenFile, bTempFile, bUncompressNic
bWriteNic, dailyips [1], dailyips [2], iAskChar, iCheckDirectory, iDir2File
iFile2Dir, iFilePath, iFltArr, iGetDefaultDir, iGetLogical [1], iGetLun, iHOSInfo
iHideLogical, iOSCheckDirectory, iOSCopyFile, iOSgunzip, iPutFileSpec, iSearch
iSetDefaultDir, iSetFileSpec, iUniqueName, ice_write, jpl_state, rice
smei_Time2Split, smei_base, smei_cal, smei_cal_build, smei_cal_c3mask
smei_cal_get, smei_cal_group, smei_cal_read, smei_cal_write, smei_foreign
smei_frm_base, smei_frm_fts, smei_frm_fts_base, smei_frm_get, smei_frm_getfirst
smei_frm_getlist, smei_frm_getnext, smei_frm_path, smei_frm_ped_guess
smei_frm_read, smei_frm_write, smei_get_glare, smei_get_lsff, smei_get_starmask
smei_orb, smei_orb_get, smei_orb_read, smei_orb_write, smei_orbit_info2
smei_sky_iread, smei_sky_read, smei_skyd, smei_skyd_combine, smei_skyd_fill
smei_skyd_go, smei_skyd_scan, smei_skyd_size, smei_skyd_sky, sprint
PROCEDURE:
[Previous]
[Next]
NAME:
FixModel
PURPOSE:
To determine the change needed for the various lines of sight (LOS)
[g = m/<m> ==> dm = <m> dg]
CATEGORY:
Data processing
CALLING SEQUENCE:
subroutine FixModel(ID,NL,OBSV,MODV,PW,NBS,SIG,FIXR,SSIG,RAT)
INPUTS:
ID integer 1: Fix V model
2: Fix G model
NL integer # data points
OBSV(NL) real Observed values
MODV(NL) real Model values
SIG real previous convergence criteria
PW real Power of G
NBS(NL) integer Bad source
OUTPUTS:
SIG real new convergence criteria
FIXR(NL) real Ratio of observed to model values ????
SSIG(NL) real deviation from mean ????
RAT real Ratio by which to multiply DEN1AU (G only)
CALLS: ***
Say, itrim
CALLED BY:
ipsd
PROCEDURE:
MODIFICATION HISTORY:
NOV, 1995 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
FixModeltdn
PURPOSE:
To determine the change needed for the various lines of sight (LOS)
[g = m/<m> ==> dm = <m> dg]
CATEGORY:
Data processing
CALLING SEQUENCE:
call FixModeltdn(ID,NL,OBSV,MODV,PW,NBS,SIG,FIX,SSIG,RAT)
INPUTS:
ID integer 1: Fix V model
2: Fix G model
NL integer # data points
OBSV(NL) real Observed values
MODV(NL) real Model values
SIG real previous convergence criteria
PW real Power of G
NBS(NL) integer Bad source
OUTPUTS:
SIG real new convergence criteria
FIX(NL) real Ratio of observed to model values ????
SSIG(NL) real deviation from mean ????
RAT real Ratio by which to multiply DEN1AU (G only)
CALLS: ***
Say, itrim
CALLED BY:
ipsdt
PROCEDURE:
MODIFICATION HISTORY:
NOV, 1995 B. Jackson (STEL,UCSD)
[Previous]
[Next]
NAME:
FLINT
PURPOSE:
Linear interpolation in N dimensions
CALLING SEQUENCE:
function FLINT(NN,ND,F,P,EPS)
INPUTS:
NN integer N=abs(NN): # dimensions. If NN<0 then values in F equal
to BadR4() are considered 'invalid' (see PROCEDURE).
ND(N) integer size of each dimension. Up to 10 degenerate dimensions
of 1 element are allowed (e.g. F(10,1,10,1,10))
F(*) real array with function values on which to interpolate
P(N) real point in N-dim cube, using the array indices as coordinate axes
EPS real controls interpolation very close to grid lines (see PROCEDURE)
OUTPUTS:
Result real the interpolated value
CALLS: ***
ArrI4Copy, ArrR4Copy, BadR4
CALLED BY:
BuildSourceSurface, CopyDtoDVN, CopyVtoVDN, CosdLookup, ExtractMap, FillMaptN
GaussLookup, Get2Dval, Get3DTval, Get3Dval, Get4Dval, GetLOSValue, MkShift, MkShiftdn
SW_Model_Kinematic, SindLookup, Write3D_bb, Write3D_bb_UT, Write3D_bb_XC
Write3D_bbtt, Write3D_nv, Write3D_nv_UT, Write3D_nv_XC, shift_MOD [1]
shift_MOD [2], sim_MOD, surf_MOD
SEE ALSO:
FLINT8
RESTRICTIONS:
> The coordinate values of P are best kept inside the range for each
dimension: 1<=P(i)<=ND(i), i.e. the point should lie 'inside'
the 'volume' covered by the array F.
Strictly speaking extrapolation is possible for one unit in each index:
as long as 0<=P(i)<=ND(i)+1 the result will be useful.
(in particular, for P(I)<0 the calculation of the principal corner
will not work properly). In this case the value BadR4() is returned.
> Currently 10 degerate dimensions are allowed. This is set as parameter N1MAX.
If there are more than N1MAX degenerate dimensions then the value BadR4()
is returned.
PROCEDURE:
> The interpolating function is a linear function in all dimensions which
matches the function values F in all corners of the N-dimensional cube.
1-dim: f = a+bx
2-dim: f = a+bx+cy+dxy
3-dim: f = a+bx+cy+dz+exy+fyz+gxz+hxyz
etc.
The constants are uniquely determined by the condition that the
function values in the corners must be matched:
1-dim: f = (1-wx)F(0)+wx*F(1)
2-dim: f = (1-wx)(1-wy)F(0,0)+(1-wx)wy*F(0,1)+
wx*(1-wy)F(1,0)+ wx*wy*F(1,1)
3-dim: f = (1-wx)(1-wy)(1-wz)F(0,0,0)+
(1-wx)(1-wy) wz*F(0,0,1)+
(1-wx) wy*(1-wz)F(0,1,0)+
(1-wx) wy* wz*F(0,1,1)+
wx*(1-wy)(1-wz)F(1,0,0)+
wx*(1-wy) wz*F(1,0,1)+
wx* wy*(1-wz)F(1,1,0)+
wx* wy* wz*F(1,1,1)
etc. for higher dimensions.
> The array F is declared in the calling program as
real F(ND(1),ND(2),..,ND(N))
> The array P defines a point in the N-dim cube where the interpolated
function value is needed.
> The principal corner NP is the array element nearest to P.
with all indices smaller than the coordinate values of P.
> The weights W are defined as P-NP. By definition W >= 0.
> Array NP selects an element in the N-dim array F:
F(NP(1) ,NP(2) ,..,NP(N))
This is one corner (the principal corner) of an N-dimensional cube.
The other corners are:
F(NP(1)+n1,NP(2)+n2,..,NP(N)+nn)
where n1,n2,..,nn take on values 0 and 1 (the principal corner
has n1=n2=..=nn=0). The N-dimensional cube has a total of 2^N corners.
Use the array indices as coordinate system:
Point (1,1,..,1) has function value F(1,1,..,1).
Point (ND(1),ND(2),..,ND(N)) has function value F(ND(1),ND(2),..,ND(N)).
etc. for all other elements in array F.
The weights W define a point P inside the N-dimensional cube.
P(NP(1)+W(1),NP(2)+W(P),..,NP(N)+W(N))
i.e. the weights W are the distances of P to the principal corner
along each of the coordinate axes.
> If NN<0 then, if one or more of the corners of the N-dim cube contain
the value BadR4() (defined in math.h), then the value BadR4() is
returned. Typically BadR4() is used to flag entries in F as 'invalid'.
> For degenerate dimensions the corresponding coordinate in P is ignored.
> If the condition 0 <= P(i) <= ND(i)+1 is violated on any of the
non-degenerate dimensions (ND(i) > 1) than the result BadR4() is
returned.
> The constant EPS influences how interpolation near grid lines is done.
If the point P is closer than EPS to a side of an N-dim cube
then P is assumed to lie exactly on the side of the cube.
This argument was added primarily to handle differences between
compilers (specifically Absoft and G77) when P is close to the side
of a cube. Typically EPS will be no larger than the machine precision,
e.g. as returned by TinyR4. In all cases I have seen so far
setting EPS to a non-zero small value was unnecessary, and could have
been avoided with a little bit of careful coding. Preferably EPS is
set to zero.
MODIFICATION HISTORY:
APR-1996, Paul Hick (UCSD/CASS)
MAY-1997, Paul Hick (UCSD/CASS)
added BadR4() check
DEC-1999, Paul Hick (UCSD/CASS)
added capacity to deal with degenerate dimensions; added FLINT8
DEC-2000, Paul Hick (UCSD/CASS)
removed stop statement used to stop execution if there are more
then N1MAX degenerate dimensions. Now the value BadR4() is returned.
AUG-2001, Paul Hick (UCSD/CASS)
added a check for zero weight of any of the corners involved in the
interpolation. If the weight is zero the corner now is ignored if
the function value is bad (previously a bad corner would result in
a bad return value). As a result if the point P is on a face of the
N-dim cube only the corners of the face matter (i.e. an (N-1)-dim
interpolation is done); if P is on an edge of the N-dim cube then an
(N-2)-dim interpolation is done; etc.
AUG-2001, Paul Hick (UCSD/CASS)
A bad value would be returned if any of the coordinates P(I) was
more than one unit outside the range [1,ND(I)], even for degenerate
dimensions. Now the coordinate P(I) for a degerate dimension is
completely ignored (effectively it is set to P(I) = 1; the value is
not explicitly used in the calculation).
SEP-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added argument EPS
[Previous]
[Next]
NAME:
FLINT8
PURPOSE:
Linear interpolation in N dimensions.
CALLING SEQUENCE:
double precision function FLINT8(NN,ND,F,P,EPS)
CALLS: ***
ArrI4Copy, ArrR8Copy, BadR8
CALLED BY:
AdjustJDCar, ExtractInsitu, JD_SYNC, ReadVIPS, ReadVIPSLOSCheck, ReadVIPSLOSCheckn
ReadVIPSn, SetGrid, Write3D_bb_UT, Write3D_nv_UT, ipsd
SEE ALSO:
FLINT
PROCEDURE:
Double precision version of FLINT.
Same syntax as FLINT, but uses double precision
instead of real*4 arguments.
MODIFICATION HISTORY:
SEP-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
FlipFlop
PURPOSE:
Rearrange 2D array
CALLING SEQUENCE:
subroutine FlipFlop(N,NX,NY,Z)
INPUTS:
N integer 0,1,2,3
NX integer horizontal array dim
NY integer vertical array dim
Z(NX,NY) real 2D array
OUTPUTS:
Z(NX,NY) real rearranged array
CALLED BY:
iFltArr
PROCEDURE:
> N = 1 : produces a mirror image (map 1,..,NX to NX,..,1)
> N = 2 : flips array upside down (map 1,..,NY to NY,..,1)
> N = 3 : mirror image and upside down
> All other values: array unchanged
MODIFICATION HISTORY:
JUL-1995, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
Flt2Str
PURPOSE:
Convert floating point number to string
CATEGORY:
Strings: write floating point number to string
CALLING SEQUENCE:
integer function Flt2Str(Fin,Nin,cFlt)
INPUTS:
Fin real floating point number to be converted
Nin integer (see PROCEDURE)
OUTPUTS:
cFlt character*(*) resulting string
Flt2Str integer number of useful characters in cFlt
CALLED BY:
AskR4, BList_NSO_NOAA, BList_WSO_NOAA, BuildSourceSurface, CheckMass
IPSConstraints, LOSTweak, MAP_TZERO, Peep, ReadVIPS, ReadVIPSLOSCheck
ReadVIPSLOSCheckn, ReadVIPSn, T3D_fill_global, T3D_fill_time, T3D_get, T3D_get_all
T3D_get_grid, T3D_get_mode, T3D_header, T3D_iget, T3D_iset, T3D_set, T3D_set_mode
TheFit, XCvarFormat, cFlt2Str, iFltArr, ice_write, ipsd, ipsdt, ipsg2, ipsg2s, ipsg2t
smei_cal_add, smei_cal_build, smei_cal_write, smei_frm_base, smei_skyd_combine
smei_skyd_fill, smei_skyd_flush, smei_skyd_fts, smei_skyd_init, smei_skyd_make
smei_skyd_size, smei_skyd_sky, smei_skyd_sort
INCLUDE:
include 'str2str_inc.h'
CALLS: ***
Int2Str, Int2StrSet, LocFirst, icompress
SEE ALSO:
Int2Str, Str2Str, cFlt2Str
PROCEDURE:
> Round-off is done properly (I think)
> Maximum number of digits behind the decimal point is 8
> ndig=mod(Nin,100) is the number of digits behind the decimal point
> The output string is made as short as possible. Trailing zero's in the
decimal fraction are dropped (unless ndig < 0). A zero decimal fraction
is dropped, including decimal point.
> If ndig < 0 then trailing zero's in the decimal fraction are retained
(this implies that a zero fraction is not automatically dropped)
> nexp = abs(Nin)/100 determines the range of numbers printed in F
format: 0.1 <= Fin < 10^nexp is printed in F format. Numbers outside
this range are printed in E format.
MODIFICATION HISTORY:
AUG-1995, Paul Hick (UCSD)
[Previous]
[Next]
NAME:
fncWZ
PURPOSE:
Sampel function to be supplied to iFltArr
CALLING SEQUENCE:
function fncWZ(Z1,Z2)
INPUTS:
Z1 real
Z2 real
OUTPUTS:
R real Z1+Z2
CALLED BY:
ExpandSW, MKVTRACE, READ_HOS, iReadProxyMap, iReadProxyMapN
EXTERNAL BY:
ExpandSW, MKVTRACE, READ_HOS
MODIFICATION HISTORY:
SEP-2007, Paul Hick (UCSD/CASS)
Extracted from ifltarr.f
[Previous]
[Next]
NAME:
ForeignArg
PURPOSE:
Get input from DCL command line invoking main program executable
CATEGORY:
Command line processing
CALLING SEQUENCE:
subroutine ForeignArg(cSep,iVar,cVar,cArg)
INPUTS:
cSep character*1 Separator character used to delimit individual
arguments on command line
iVar integer maximum # of (cSep-separated) entries read
from command line into cVar
OUTPUTS:
iVar integer actual number of entries read into cVar
(after argument switches have been removed for
ForeignArg and ForeignArgs)
cVar character(iVar)*(*)
values of valid entries
cArg character*(*) values of argument switches (single string)
CALLED BY:
ForeignArgs, HERDISK, Peep, SD, Time2Time, dailyips [1], dailyips [2], ipsd, ipsdt, ipsg2
ipsg2s, ipsg2t, mkenv, rice, smei_foreign, sprint
SEE ALSO:
ForeignArgs, ForeignInput
CALLS: ***
LocFirstLen, Say, cInt2Str, iOSGetForeign, itrim, uppercase
INCLUDE:
include 'dirspec.h'
RESTRICTIONS:
>>> The separator character cSep must be only one character long.
At most 500 characters are read from the DCL command line.
> The function iOSGetForeign is a system dependent function.
Currently versions are available for VMS, NT and Unix/Linux.
> Only the first iVar elements of cVar and the first iArg elements of
cArg contain valid entries.
> No warning is given if # arguments on the command line exceed the
input values of iVar or iArg, or if they do not fit into the cArg
string (they will simply be ignored).
PROCEDURE:
> iOSGetForeign is used to read the argument list into the character*200
string. The string is interpreted using the cSep character as delimiter.
> A switch begins at the character '/' and ends at the next cSep, blank or
'/'. All switches are concatenated and returned in cArg in the form
'/switch1/switch2/switch3'. Only non-zero length switches are stored.
> Non-switches are stored in the cVar array.
MODIFICATION HISTORY:
MAR-1995, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added check for cSwitch followed by numeric char to escape
minus signs on Linux.
[Previous]
[Next]
NAME:
ForeignArgFind
PURPOSE:
Check keyword arguments for consistency
(internal use only)
CALLING SEQUENCE:
subroutine ForeignArgFind(id,cStr,cName,i,k)
INPUTS:
id integer if id=0 search for keyword followed
by equal sign.
if id=1 search for keyword alone
cStr*(*) character full list of keywords
cName*(*) character keyword to search for
OUTPUTS:
i integer location in cStr where cName
(possibly abbreviated) was
found. i=0 if keyword cName was
not found.
k integer if cName was found (i NOT equal zero)
this is the position in cStr after the
(possibly abbreviated) keyword cName
For id=0 it is the position after the
equal sign.
CALLED BY:
ForeignArgSet, ForeignI2ArgN, ForeignI4ArgN, ForeignR4ArgN, ForeignR8ArgN
ForeignStrArg
INCLUDE:
include 'filparts.h'
include 'dirspec.h'
CALLS: ***
LocFirst, Say, itrim
PROCEDURE:
If the keyword (or one of its abbreviations is found, but is not
unique then the program is aborted.
MODIFICATION HISTORY:
FEB-2005, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added documentation.
[Previous]
[Next]
NAME:
ForeignArgs
PURPOSE:
Get input from DCL command line invoking main program executable
Split off argument switches
CATEGORY:
Command line processing
CALLING SEQUENCE:
subroutine ForeignArgs(cSep,iVar,cVar,iArg,cArg)
INPUTS:
cSep character*1 Separator character used to delimit individual
arguments on command line
iVar integer maximum # of (cSep-separated) entries read
from command line into cVar
iArg integer maximum # of argument switches extracted from
cVar array
OUTPUTS:
iVar integer actual number of entries read into cVar
(after argument switches have been removed for
ForeignArg and ForeignArgs)
cVar character(iVar)*(*)
values of valid entries
iArg integer actual number of argument switches found
cArg character(iArg)*(*)
values of argument switches (array of strings)
SEE ALSO:
ForeignInput
CALLS: ***
ForeignArg, LocFirstLen, itrim
INCLUDE:
include 'dirspec.h'
RESTRICTIONS:
>>> The separator character cSep must be only one character long.
At most 500 characters are read from the DCL command line.
> Only the first iVar elements of cVar and the first iArg elements of
cArg contain valid entries.
> No warning is given if # arguments on the command line exceed the
input values of iVar or iArg, or if they do not fit into the cArg
string (they will simply be ignored).
PROCEDURE:
> iOSGetForeign is used to read the argument list into the character*200
string cStr. cStr is interpreted using the cSep character as delimiter.
> A switch begins at the character '/' and ends at the next cSep, blank or
'/'. Switches are returned in the cArg array with each element in the form
'/switch'. Only non-zero length switches are stored.
MODIFICATION HISTORY:
MAR-1995, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
ForeignArgSet
PURPOSE:
CALLING SEQUENCE:
logical function ForeignArgSet(cStr,cName)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
OUTPUTS:
ForeignArgSet logical .TRUE. if keyword is set
.FALSE if keyword is NOT set.
CALLED BY:
smei_base, smei_cal, smei_foreign, smei_frm_ok, smei_orb, smei_skyd, smei_skyd_fts
smei_skyd_init, smei_skyd_make, smei_skyd_sky
INCLUDE:
include 'dirspec.h'
include 'filparts.h'
CALLS: ***
ForeignArgFind, LocFirst, itrim
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
ForeignFile
PURPOSE:
Select a directory using foreign input information
CATEGORY:
Environment
CALLING SEQUENCE:
subroutine ForeignFile(nVar,cVar,cKey,cWild)
INPUTS:
nVar integer # valid entries in cVar
setting the 1st argument to -nVar-1 < 0
prevents setting cWild to the default if the
key is not found; instead cWild=' ' is returned.
cVar(*)*(*) character foreign input array
(these two arguments typically are output
arguments from a call to ForeignInput)
cKey*(*) character key string to select entry in cVar
OUTPUTS:
cWild*(*) character directory and file selection
CALLS: ***
FileSelection, LocFirst, itrim, lowercase, uppercase
CALLED BY:
BField_Choose, BField_Get, ipsd, ipsdt, ipsg2, ipsg2s, ipsg2t
SEE ALSO:
ForeignInput
PROCEDURE:
All entries in cVar are searched for the string cKey with the equal
sign appended. If found than part of the cVar entry trailing the
equal sign is processed using FileSelection.
If no match is found then the string cKey,,daily is processed.
EXAMPLE:
If cVar(1) = 'nagoya=nagoya,dat,nagoya,yearly' then
call SetForeignDir(1,cVar,'nagoya',cWild)
will return
cWild = /mnt/work/dat/nagoya/yearly
if 'dat' is defined as a logical pointing to /mnt/work/dat
The same is accomplished using the shorthand
cVar(1) = 'nagoya=nagoya,,yearly'
MODIFICATION HISTORY:
AUG-2000, Paul Hick (UCSD/CASS)
JUN-2003, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added option to input negative nVar.
[Previous]
[Next]
NAME:
ForeignI2Arg
PURPOSE:
Extract integer*2 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignI2Arg(cStr,cName,Def,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def integer*2 value assigned if keyword not present
OUTPUTS:
Val integer*2 value of keyword
CALLS: ***
ForeignI2ArgN
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Old ForeignI2Arg was used to make ForeignI2ArgN.
New ForeignI2Arg is one-line interface to ForeignI2ArgN
[Previous]
[Next]
NAME:
ForeignI2ArgN
PURPOSE:
Extract multiple integer*2 values from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignI2ArgN(cStr,cName,Def,nVal,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def integer*2 value assigned if keyword not present
nVal integer max nr of values extracted
OUTPUTS:
nVal integer actual nr of values extracted
(if more than nVal numbers were extracted
then the negative of the input nVal is
returned; see Str2Flt)
Val(nVal) integer*2 value of keyword
If less then the input nVal are found then
the remaining values are set to the default
CALLED BY:
ForeignI2Arg
INCLUDE:
include 'dirspec.h'
CALLS: ***
ForeignArgFind, LocFirstLen, Str2Int, itrim
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Modified to skip past cSwitch when it is followed by a
numeric char (123456789.). This allows negative value to be
specified on Linux
[Previous]
[Next]
NAME:
ForeignI4Arg
PURPOSE:
Extract integer*4 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignI4Arg(cStr,cName,Def,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def integer value assigned if keyword not present
OUTPUTS:
Val integer value of keyword
CALLS: ***
ForeignI4ArgN
CALLED BY:
smei_base, smei_foreign, smei_frm_ok, smei_orb, smei_skyd, smei_skyd_fts
smei_skyd_init, smei_skyd_make, smei_skyd_sky
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Old ForeignI4Arg was used to make ForeignI4ArgN.
New ForeignI4Arg is one-line interface to ForeignI4ArgN
[Previous]
[Next]
NAME:
ForeignI4ArgN
PURPOSE:
Extract multiple integer*4 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignI4ArgN(cStr,cName,Def,nVal,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def integer value assigned if keyword not present
nVal integer max nr of values extracted
OUTPUTS:
nVal integer actual nr of values extracted
(if more than nVal numbers were extracted
then the negative of the input nVal is
returned; see Str2Flt)
Val integer value of keyword
If less then the input nVal are found then
the remaining values are set to the default
CALLED BY:
ForeignI4Arg
INCLUDE:
include 'dirspec.h'
CALLS: ***
ForeignArgFind, LocFirstLen, Str2Int, itrim
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Modified to skip past cSwitch when it is followed by a
numeric char (123456789.). This allows negative value to be
specified on Linux
[Previous]
[Next]
NAME:
ForeignInput
PURPOSE:
Get input from DCL command line invoking main program executable
CATEGORY:
Command line processing
CALLING SEQUENCE:
subroutine ForeignInput(cSep,iVar,cVar)
INPUTS:
cSep character*1 Separator character used to delimit individual
arguments on command line
iVar integer maximum # of (cSep-separated) entries read
from command line into cVar
OUTPUTS:
iVar integer actual number of entries read into cVar
cVar character(iVar)*(*)
values of valid entries
CALLED BY:
HOSPlot, libarg, timer
SEE ALSO:
ForeignArg, ForeignArgs
CALLS: ***
LocFirstLen, iOSGetForeign, uppercase
INCLUDE:
include 'dirspec.h'
RESTRICTIONS:
>>> The separator character cSep must be only one character long.
At most 500 characters are read from the DCL command line.
> The function iOSGetForeign is a system dependent function.
Currently versions are available for VMS, NT and Unix/Linux.
> Only the first iVar elements of cVar contain valid entries.
> No warning is given if # arguments on the command line exceed the
input values of iVar or iArg, or if they do not fit into the cArg
string (they will simply be ignored).
PROCEDURE:
iOSGetForeign is used to read the argument list into the character*200
string. The cStr is split at every cSep and every space. The separate
components are returned in cVar.
MODIFICATION HISTORY:
MAR-1995, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
ForeignR4Arg
PURPOSE:
Extract single real*4 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignR4Arg(cStr,cName,Def,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def real value assigned if keyword not present
OUTPUTS:
Val real value of keyword
CALLS: ***
ForeignR4ArgN
CALLED BY:
smei_base
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Old ForeignR4Arg was used to make ForeignR4ArgN.
New ForeignR4Arg is one-line interface to ForeignR4ArgN
[Previous]
[Next]
NAME:
ForeignR4ArgN
PURPOSE:
Extract multiple real*4 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignR4ArgN(cStr,cName,Def,nVal,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def real value assigned if keyword not present
nVal integer max nr of values extracted
OUTPUTS:
nVal integer actual nr of values extracted
(if more than nVal numbers were extracted
then the negative of the input nVal is
returned; see Str2Flt)
Val real value of keyword
If less then the input nVal are found then
the remaining values are set to the default
CALLED BY:
ForeignR4Arg
INCLUDE:
include 'dirspec.h'
CALLS: ***
ForeignArgFind, LocFirstLen, Str2Flt, itrim
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Modified to skip past cSwitch when it is followed by a
numeric char (123456789.). This allows negative value to be
specified on Linux
[Previous]
[Next]
NAME:
ForeignR8Arg
PURPOSE:
Extract single real*8 value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignR8Arg(cStr,cName,Def,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def double precision value assigned if keyword not present
OUTPUTS:
Val double precision value of keyword
CALLS: ***
ForeignR8ArgN
CALLED BY:
smei_foreign, smei_skyd_fts, smei_skyd_init, smei_skyd_make, smei_skyd_sky
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Old ForeignR8Arg was used to make ForeignR8ArgN.
New ForeignR8Arg is one-line interface to ForeignR8ArgN
[Previous]
[Next]
NAME:
ForeignR8ArgN
PURPOSE:
Extract multiple double precision value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignR8ArgN(cStr,cName,Def,nVal,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def double precision value assigned if keyword not present
nVal integer max nr of values to be assigned
OUTPUTS:
nVal integer actual nr of values assigned
(if more than nVal numbers were extracted
then the negative of the input nVal is
returned; see Str2Dbl)
Val(nVal) double precision value of keyword
If less then the input nVal are found then
the remaining values are set to the default
CALLED BY:
ForeignR8Arg, smei_frm_ok
INCLUDE:
include 'dirspec.h'
CALLS: ***
ForeignArgFind, LocFirstLen, Str2Dbl, itrim
PROCEDURE:
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added nVal argument to be able to read more than one number.
Modified to skip past cSwitch when it is followed by a
numeric char (123456789.). This allows negative value to be
specified on Linux
[Previous]
[Next]
NAME:
ForeignStrArg
PURPOSE:
Extract string value from keyword/value pair
CALLING SEQUENCE:
subroutine ForeignStrArg(cStr,cName,Def,Val)
INPUTS:
cStr character*(*) string with keywords
cName character*(*) name of keyword
Def character*(*) value assigned if keyword not present
OUTPUTS:
Val character*(*) value of keyword
CALLED BY:
smei_foreign
INCLUDE:
include 'dirspec.h'
CALLS: ***
ForeignArgFind, LocFirstLen, itrim
MODIFICATION HISTORY:
NOV-2004, Paul Hick (UCSD/CASS)
JUN-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Modified to skip past cSwitch when it is followed by a
numeric char (123456789.). This allows negative value to be
specified on Linux
[Previous]
[Next]
NAME:
fortime
PURPOSE:
Include file for fortime.f library
CATEGORY:
gen/for/h
CALLING SEQUENCE:
include 'fortime.h'
INCLUDED BY:
Time2Carrington, Time2CarringtonT0, Time2ChangeUnits, Time2GetOrigin, Time2Split
Time2Standardize, Time2Str, Time2Time, Time2Units
PROCEDURE:
Julian days are sometimes specified after subtracting some large
offset e.g. NBIG = 2400000, 2440000 or 2450000
The corresponding time origin is [-2451545+NBIG,43200000], i.e.
T0=[-51545,43200000] for NBIG = 2400000
T0=[-51544, 0] for NBIG = 2400000.5 (Modified Julian Day)
T0=[-11545,43200000] for NBIG = 2440000
T0=[-11544, 0] for NBIG = 2440000.5
T0=[- 1545,43200000] for NBIG = 2450000
T0=[- 1544, 0] for NBIG = 2450000.5
MODIFICATION HISTORY:
NOV-2003, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
FTCLOS
PURPOSE:
Closes a fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTCLOS(iU, iStatus)
INPUTS:
iU integer logical unit number
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
CALLED BY:
BList_NSO_NOAA, BList_WSO_NOAA, BRead_WSO, smei_cal_read, smei_cal_write
smei_frm_fts, smei_frm_read, smei_frm_read_get_sdark, smei_frm_write
smei_get_glare, smei_get_lsff, smei_get_starmask, smei_orb, smei_orb_cal_name
smei_orb_camera, smei_orb_min_name, smei_orb_min_number, smei_orb_name
smei_orb_number, smei_orb_read, smei_orb_time, smei_orb_version, smei_orb_write
smei_sky_iread, smei_sky_read, smei_skyd_fts, smei_skyd_go, smei_skyd_init
smei_skyd_make, smei_skyd_sky
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTCRHD
PURPOSE:
Create (append) a new empty HDU following the last extension that
has been previously accessed by the program.
CALLING SEQUENCE:
call FTCRHD(unit, iStatus)
INPUTS:
iU integer logical unit number
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
CALLED BY:
smei_cal_write, smei_orb_write, smei_skyd_fts, smei_skyd_init, smei_skyd_make
smei_skyd_sky
PROCEDURE:
This will overwrite any extensions in an existing FITS file if the
program has not already moved to that (or a later) extension using
the FTMAHD or FTMRHD routines.
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGISZ
PURPOSE:
Get the size of all the dimensions of the image
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTGISZ(iU, nMax, nDim, iStatus)
INPUTS:
iU integer logical unit number
nMax integer Max. # dimensions allowed
iStatus integer must be initialized to zero
OUTPUTS:
nDim(nMax) integer array with dimensions
iStatus integer non-zero value indicates error
CALLED BY:
BRead_WSO, smei_cal_read, smei_frm_read, smei_frm_read_get_sdark, smei_frm_write
smei_get_glare, smei_get_lsff, smei_get_starmask, smei_orb_cal_name
smei_orb_camera, smei_orb_min_name, smei_orb_min_number, smei_orb_name
smei_orb_number, smei_orb_read, smei_orb_time, smei_orb_version, smei_sky_iread
smei_sky_read
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGKN_JEDLS
PURPOSE:
Reads an array of keyword values from a Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTGKN[JEDLS](iU, cName, iStart, iMax, ArrV, nFnd, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword root name (e.g. 'NAXIS')
iStart integer start number
iMax integer max. number of keys
iStatus integer must be initialized to zero
OUTPUTS:
ArrV(nFound) [JEDLS] array with keyword values
nFound integer # keys found
iStatus integer non-zero value indicates error
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGKND
CALLED BY:
smei_frm_read, smei_frm_read_get_sdark
SEE ALSO:
FTGKN_JEDLS
[Previous]
[Next]
NAME:
FTGKNE
SEE ALSO:
FTGKN_JEDLS
[Previous]
[Next]
NAME:
FTGKNJ
SEE ALSO:
FTGKN_JEDLS
[Previous]
[Next]
NAME:
FTGKNL
SEE ALSO:
FTGKN_JEDLS
[Previous]
[Next]
NAME:
FTGKNS
CALLED BY:
smei_cal_read
SEE ALSO:
FTGKN_JEDLS
[Previous]
[Next]
NAME:
FTGKY_JEDLS
PURPOSE:
Reads a single keyword value from Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTGKY[JEDLS](iU, cName, iValue, Comment, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword name
iStatus integer must be initialized to zero
OUTPUTS:
Value [JEDLS] value of keyword
Comment character*(*) Comment string (following backslash)
iStatus integer non-zero value indicates error
PROCEDURE:
J - integer (I*4)
E - real floating point (R*4)
D - double precision real floating-point (R*8)
L - logical (L*4)
S - character string
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGKYD
CALLED BY:
smei_cal_read, smei_frm_read, smei_frm_read_get_sdark, smei_orb_cal_name
smei_orb_camera, smei_orb_min_name, smei_orb_min_number, smei_orb_name
smei_orb_number, smei_orb_read, smei_orb_time, smei_orb_version, smei_sky_read
smei_skyd_go
SEE ALSO:
FTGKY_JEDLS
[Previous]
[Next]
NAME:
FTGKYE
CALLED BY:
BList_NSO_NOAA, BList_WSO_NOAA, smei_cal_read, smei_get_glare
SEE ALSO:
FTGKY_JEDLS
[Previous]
[Next]
NAME:
FTGKYJ
CALLED BY:
BRead_WSO, smei_cal_read, smei_frm_read, smei_frm_read_get_sdark
smei_orb_cal_name, smei_orb_camera, smei_orb_min_name, smei_orb_min_number
smei_orb_name, smei_orb_number, smei_orb_read, smei_orb_time, smei_orb_version
SEE ALSO:
FTGKY_JEDLS
[Previous]
[Next]
NAME:
FTGKYL
CALLED BY:
smei_cal_read, smei_orb_cal_name, smei_orb_camera, smei_orb_min_name
smei_orb_min_number, smei_orb_name, smei_orb_number, smei_orb_read
smei_orb_time, smei_orb_version
SEE ALSO:
FTGKY_JEDLS
[Previous]
[Next]
NAME:
FTGKYS
CALLED BY:
BList_NSO_NOAA, BList_WSO_NOAA, smei_cal_read, smei_frm_read
smei_frm_read_get_sdark, smei_orb_cal_name, smei_orb_camera, smei_orb_min_name
smei_orb_min_number, smei_orb_name, smei_orb_number, smei_orb_read
smei_orb_time, smei_orb_version, smei_sky_iread, smei_sky_read
SEE ALSO:
FTGKY_JEDLS
[Previous]
[Next]
NAME:
FTGMSG
PURPOSE:
Return top message from internal FITSIO error stack.
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTGMSG(cStr)
OUTPUTS:
cStr character*(*) name of fits file
CALLED BY:
say_fts
PROCEDURE:
Return the top (oldest) 80-character error message from the
internal FITSIO stack of error messages and shift any remaining
messages on the stack up one level.
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGPV_BIJED
PURPOSE:
Reads the data area from a Fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTGPV[BIJED](iU, iGroup, iFPix, nBuf, NullVal, ZBuf, AnyF, iStatus)
INPUTS:
iU integer logical unit number
iGroup integer sequence number of data group
(set to zero usually).
iFPix integer 1st pixel to read
nBuf integer # values to read
NullVal [BIJED] undefined array elements are set to
NullVal. If NullVal=0 no such check is
performed.
iStatus integer must be initialized to zero
OUTPUTS:
ZBuf(nBuf) real data array
AnyF logical set to .TRUE. if any ZBuf elements are
undefined.
iStatus integer non-zero value indicates error
PROCEDURE:
B - character*1 (unsigned byte)
I - short integer (I*2)
J - integer (I*4)
E - real floating point (R*4)
D - double precision real floating-point (R*8)
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTGPVB
SEE ALSO:
FTGPV_BIJED
[Previous]
[Next]
NAME:
FTGPVD
SEE ALSO:
FTGPV_BIJED
[Previous]
[Next]
NAME:
FTGPVE
CALLED BY:
BRead_WSO, smei_cal_read, smei_frm_read, smei_frm_read_get_sdark, smei_frm_write
smei_get_glare, smei_get_lsff, smei_orb_cal_name, smei_orb_camera
smei_orb_min_name, smei_orb_min_number, smei_orb_name, smei_orb_number
smei_orb_read, smei_orb_time, smei_orb_version, smei_sky_read
SEE ALSO:
FTGPV_BIJED
[Previous]
[Next]
NAME:
FTGPVI
SEE ALSO:
FTGPV_BIJED
[Previous]
[Next]
NAME:
FTGPVJ
CALLED BY:
smei_get_starmask, smei_sky_iread
SEE ALSO:
FTGPV_BIJED
[Previous]
[Next]
NAME:
FTINIT
PURPOSE:
Open a new fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTINIT(iu, cFile, blocksize, iStatus)
INPUTS:
iU integer logical unit number
cFile character*(*) name of fits file
blocksize integer block size (set to 1)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
CALLED BY:
smei_cal_write, smei_frm_fts, smei_orb_write, smei_skyd_fts, smei_skyd_init
smei_skyd_make, smei_skyd_sky
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTMAHD
PURPOSE:
Move to a specified (absolute) HDU in the FITS file
(nhdu = 1 for the FITS primary array)
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTMAHD(iu, nhdu, > hdutype, status)
INPUTS:
iU integer logical unit number
nhdu integer index of HDU (1 for primary array)
iStatus integer must be initialized to zero
OUTPUTS:
hdutype integer type of HDU:
0 = primary array or IMAGE
1 = ASCII table
2 = binary table
-1 = unknown
iStatus integer non-zero value indicates error
CALLED BY:
smei_cal_read, smei_get_starmask, smei_sky_iread, smei_sky_read
MODIFICATION HISTORY:
Part of FITSIO package
[Previous]
[Next]
NAME:
FTMRHD
PURPOSE:
Move to a new (existing) HDU forward or backwards relative
to the current HDU (CHDU)
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTMRHD(iu, nmove, > hdutype, status)
INPUTS:
iU integer logical unit number
nmove integer number of HDU to move
iStatus integer must be initialized to zero
OUTPUTS:
hdutype integer type of HDU:
0 = primary array or IMAGE
1 = ASCII table
2 = binary table
-1 = unknown
iStatus integer non-zero value indicates error
MODIFICATION HISTORY:
Part of FITSIO package
[Previous]
[Next]
NAME:
FTNOPN
PURPOSE:
Open an existing fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTNOPN(iU, cFile, Mode, iStatus)
INPUTS:
iU integer logical unit number
cFile character*(*) name of fits file
Mode integer FTS__READONLY: read - only mode
FTS__WRITE: write mode
(parameters in include file ftspar.h)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
CALLED BY:
BList_NSO_NOAA, BList_WSO_NOAA, BRead_WSO, smei_cal_read, smei_frm_read
smei_frm_read_get_sdark, smei_frm_write, smei_get_glare, smei_get_lsff
smei_get_starmask, smei_orb, smei_orb_cal_name, smei_orb_camera
smei_orb_min_name, smei_orb_min_number, smei_orb_name, smei_orb_number
smei_orb_read, smei_orb_time, smei_orb_version, smei_sky_iread, smei_sky_read
smei_skyd_go
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPHPR
PURPOSE:
Writes basic Fits header to a Fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPHPR(iU, bSimple, iBitPix, 2, nAxes, 0, 1, bExtend, iStatus)
INPUTS:
iU integer logical unit number
bSimple logical set .TRUE.
iBitPix integer # bits per value (8,16,32,-32,-64)
nAxis integer # dimensions
nAxis(nAxis) integer size of each dimension
pCount integer set 0
gCount integer set 1
bExtend logical set .TRUE.
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
CALLED BY:
smei_cal_write, smei_frm_fts, smei_orb_write, smei_skyd_fts, smei_skyd_init
smei_skyd_make, smei_skyd_sky
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPKN_EDFG
PURPOSE:
Put numbered sequence of keyword into header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPKN[EDFG](iU,cKeyroot,iStartNr,iNr,Keyvals,Decimals,Comments,iStatus)
INPUTS:
iU integer logical unit number
cKeyRoot character*(*) root name of the sequence
iStartNr integer start number of the sequence (usually 1)
iNr integer # keys in the sequence
Keyvals(iNr) J: int*2, L: int*4, S:character
array of sequence values
Decimals integer # decimal points
Comment(iNr) character*(*) comment strings
(add '&' to first elements to use only the first
comment for all sequence elements)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
E - real exponential floating point (R*4)
F - real fixed-format floating point (R*4)
D - double precision real floating-point (R*8)
G - double precision fixed-format floating point (R*8)
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPKN_JLS
PURPOSE:
Put numbered sequence of keyword into header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPKN[JLS](iU, cKeyRoot, startno, no_keys, keyvals, comments, iStatus)
INPUTS:
iU integer logical unit number
cKeyRoot character*(*) root name of the sequence
iStartNr integer start number of the sequence (usually 1)
iNr integer # keys in the sequence
Keyvals(iNr) J: int*2, L: int*4, S:character
array of sequence values
Comment(iNr) character*(*) comment strings
(add '&' to first elements to use only the first
comment for all sequence elements)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPKND
CALLED BY:
smei_frm_fts
SEE ALSO:
FTPKN_EDFG
[Previous]
[Next]
NAME:
FTPKNE
SEE ALSO:
FTPKN_EDFG
[Previous]
[Next]
NAME:
FTPKNF
SEE ALSO:
FTPKN_EDFG
[Previous]
[Next]
NAME:
FTPKNG
SEE ALSO:
FTPKN_EDFG
[Previous]
[Next]
NAME:
FTPKNJ
SEE ALSO:
FTPKN_JLS
[Previous]
[Next]
NAME:
FTPKNL
SEE ALSO:
FTPKN_JLS
[Previous]
[Next]
NAME:
FTPKNS
CALLED BY:
smei_cal_write
SEE ALSO:
FTPKN_JLS
[Previous]
[Next]
NAME:
FTPKY_EDFG
PURPOSE:
Writes a single keyword value from Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPKY[EDFG](iU, cName, Value, iDecimals, Comment, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword name
Value [JEDLS] value of keyword
iDecimals integer number of digits
Comment character*(*) Comment string (following backslash)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
E - real exponential floating point (R*4)
F - real fixed-format floating point (R*4)
D - double precision real floating-point (R*8)
G - double precision fixed-format real floating-point (R*8)
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPKY_JLS
PURPOSE:
Writes a single keyword value from Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPKY[JLS](iU, cName, Value, Comment, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword name
Value [JEDLS] value of keyword
Comment character*(*) Comment string (following backslash)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
J - integer (I*4)
L - logical (L*4)
S - character string
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPKYD
CALLED BY:
smei_frm_fts
SEE ALSO:
FTPKY_EDFG
[Previous]
[Next]
NAME:
FTPKYE
CALLED BY:
smei_cal_write, smei_orb_write
SEE ALSO:
FTPKY_EDFG
[Previous]
[Next]
NAME:
FTPKYF
SEE ALSO:
FTPKY_EDFG
[Previous]
[Next]
NAME:
FTPKYG
CALLED BY:
smei_orb_write, smei_skyd_fts, smei_skyd_init, smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPKY_EDFG
[Previous]
[Next]
NAME:
FTPKYJ
CALLED BY:
smei_cal_write, smei_frm_fts, smei_orb_write, smei_skyd_fts, smei_skyd_init
smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPKY_JLS
[Previous]
[Next]
NAME:
FTPKYL
CALLED BY:
smei_cal_write, smei_skyd_fts, smei_skyd_init, smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPKY_JLS
[Previous]
[Next]
NAME:
FTPKYS
CALLED BY:
smei_cal_write, smei_frm_fts, smei_orb_write, smei_skyd_fts, smei_skyd_init
smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPKY_JLS
[Previous]
[Next]
NAME:
FTPPR_BIJED
PURPOSE:
Writes the data area to a Fits file
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTPPR[BIJED](iU, iGroup, iFPix, nBuf, ZBuf, iStatus)
INPUTS:
iU integer logical unit number
iGroup integer sequence number of data group
(set to zero usually).
iFPix integer 1st pixel to write
nBuf integer # values to write
ZBuf(nBuf) real data array
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
B - character*1 (unsigned byte)
I - short integer (I*2)
J - integer (I*4)
E - real floating point (R*4)
D - double precision real floating-point (R*8)
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTPPRB
CALLED BY:
smei_skyd_fts, smei_skyd_init, smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPPR_BIJED
[Previous]
[Next]
NAME:
FTPPRD
SEE ALSO:
FTPPR_BIJED
[Previous]
[Next]
NAME:
FTPPRE
CALLED BY:
smei_cal_write, smei_frm_fts, smei_orb_write, smei_skyd_fts, smei_skyd_init
smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPPR_BIJED
[Previous]
[Next]
NAME:
FTPPRI
CALLED BY:
smei_frm_fts
SEE ALSO:
FTPPR_BIJED
[Previous]
[Next]
NAME:
FTPPRJ
CALLED BY:
smei_frm_fts, smei_skyd_fts, smei_skyd_init, smei_skyd_make, smei_skyd_sky
SEE ALSO:
FTPPR_BIJED
[Previous]
[Next]
NAME:
ftspar
PURPOSE:
Include file for use with FITS routines
CATEGORY:
gen/for/h
CALLING SEQUENCE:
include 'ftspar.h'
INCLUDED BY:
BList_NSO_NOAA, BList_WSO_NOAA, BRead_WSO, smei_cal_read, smei_cal_write
smei_frm_read, smei_frm_write, smei_get_glare, smei_get_lsff, smei_get_starmask
smei_orb, smei_orb_read, smei_sky_iread, smei_sky_read, smei_skyd_go
PROCEDURE:
MODIFICATION HISTORY:
NOV-2003, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
FTUKY_EDFG
PURPOSE:
Updates a single keyword value from Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTUKY[EDFG](iU, cName, Value, iDecimals, Comment, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword name
Value [EDFG] value of keyword
iDecimals integer number of digits
Comment character*(*) Comment string (following backslash)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
E - real exponential floating point (R*4)
F - real fixed-format floating point (R*4)
D - double precision real floating-point (R*8)
G - double precision fixed-format real floating-point (R*8)
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTUKY_JLS
PURPOSE:
Updates a single keyword value from Fits header
CATEGORY:
gen/for
CALLING SEQUENCE:
call FTUKY[JLS](iU, cName, Value, Comment, iStatus)
INPUTS:
iU integer logical unit number
cName character*8 keyword name
Value [JLS] value of keyword
Comment character*(*) Comment string (following backslash)
iStatus integer must be initialized to zero
OUTPUTS:
iStatus integer non-zero value indicates error
PROCEDURE:
J - integer (I*4)
L - logical (L*4)
S - character string
MODIFICATION HISTORY:
Part of FITSIO packeage
[Previous]
[Next]
NAME:
FTUKYD
CALLED BY:
smei_frm_fts_axis, smei_frm_fts_base, smei_frm_fts_eph
SEE ALSO:
FTUKY_EDFG
[Previous]
[Next]
NAME:
FTUKYE
SEE ALSO:
FTUKY_EDFG
[Previous]
[Next]
NAME:
FTUKYF
SEE ALSO:
FTUKY_EDFG
[Previous]
[Next]
NAME:
FTUKYG
CALLED BY:
smei_frm_fts_base
SEE ALSO:
FTUKY_EDFG
[Previous]
[Next]
NAME:
FTUKYJ
CALLED BY:
smei_frm_fts_base
SEE ALSO:
FTUKY_JLS
[Previous]
[Next]
NAME:
FTUKYL
SEE ALSO:
FTUKY_JLS
[Previous]
[Next]
NAME:
FTUKYS
CALLED BY:
smei_frm_fts_base, smei_orb
SEE ALSO:
FTUKY_JLS