EDR : Environmental Data Records
1. Radiance files:
"io_measur.pro"
; read in header (ReadRadHdr: 7 elements)
readu,iu, nMeasurData
readu,iu, nchan
readu,iu, nPosScan, nScanLines
readu,iu, nqc
readu,iu, cfreq
readu,iu, polar
; read in body (ReadRad : 13 elements)
readu,iu, lat(iprof), lon(iprof), RelAziAngle(iprof), SolZenAngle(iprof),
readu,iu, direc(iprof), iscanPos(iprof), iscanLine(iprof), Year(iprof), Day(iprof), time(iprof),
readu,iu, angle(iprof,0:nchan-1)
readu,iu, tb(iprof,0:nchan-1)
readu,iu, qc(iprof,0:nqc-1)=qc0(0:nqc-1)
; Anonymous data structure
;======================================================================================
;---Set Up the Rad structure
Rad={ $
;----Header
nfilesRad : nfilesRad, $ ;Number of files
nProf : nprof, $ ;Number of profiles
nchan : nchan, $ ;Number of channels
nPosScan : nPosScan, $ ;Number of scan positions
nScanLines : nScanLines, $ ;Number of scan lines
nqc : fltarr(nfilesRad), $ ;Size of QC vector
Cfreq : cfreq, $ ;Central frequencies
Polarity : polar, $ ;Polarizations
tb : fltarr(nfilesRad,nProf,nchan), $ ;Array of TBs
Angle : fltarr(nfilesRad,nProf,nchan), $ ;Array of viewing angles
RelAziAngle : fltarr(nfilesRad,nProf), $ ;Array of relative azimuth angles
SolZenAngle : fltarr(nfilesRad,nProf), $ ;Array of solar zenith angles
Lat : fltarr(nfilesRad,nProf), $ ;Array of latitude
Lon : fltarr(nfilesRad,nProf), $ ;Array of longitude
Direc : intarr(nfilesRad,nProf), $ ;Array of orbot mode flags
ScanPos : intarr(nfilesRad,nProf), $ ;Scan positions
ScanLine : intarr(nfilesRad,nProf), $ ;Scan lines
Year : lonarr(nfilesRad,nProf), $ ;Year
Day : lonarr(nfilesRad,nProf), $ ;Day
Time : fltarr(nfilesRad,nProf), $ ;UTC Time
Hours : fltarr(nfilesRad,nProf), $ ;Hours (extended from Time)
Mins : fltarr(nfilesRad,nProf), $ ;Minutes (extended from Time)
Secs : fltarr(nfilesRad,nProf), $ ;Seconds (extended from Time)
qc : intarr(nfilesRad,nProf,14) $ ;QC information
}
2. EDR format (scene files )
Scene={
;----Header
algSN:algSN, readu,iu,algSN
iTyp:iTyp, readu,iu,iTyp
nProf:nPrf, readu,iu,nPrf
nProfsProcessed:0L, not from scene file, Num of profs read successfully nLay:nLay, readu,iu,nLay
nLev:nLev, readu,iu,nLev
nChan:nChan, readu,iu,nChan
nScanPos:nPosScan, readu,iu,nPosScan
nScanLines:nScanLines, readu,iu,nScanLines
nAbsorb:nAbsorb, readu,iu,nAbsorb
nParmCLW:nParmCLW, readu,iu,nParmCLW
nParmRain:nParmRain, readu,iu,nParmRain
nParmSnow:nParmSnow, readu,iu,nParmSnow
nParmIce:nParmIce, readu,iu,nParmIce
nParmGrpl:nParmGrpl, readu,iu,nParmGrpl
absorbID:absorbID2use4Declaration, A AbsorbID=lonarr(nAbsorb), readu,iu,absorbID
cFreq:cFreq, A cfreq=fltarr(nChan), readu,iu,cFreq
polarity:polar, A polar=lonarr(nChan), readu,iu,polar
nQC:nQC, readu,iu,nQC
declarN_Prf:nPrf, duplicate value nPrf
;----Body of Scene file ( all FOVs )
profIndxVec: intarr(nPrf), A readu,iu, profIndx
PresLayVec: fltarr(nPrf,nLay), AA fltarr(Nlay), readu,iu, pressLay
presLevVec: fltarr(nPrf,nLev), AA fltarr(nLev), readu,iu, pressLev
tempLayVec: fltarr(nPrf,nLay), AA fltarr(Nlay), readu,iu, tempLay
absorbLayVec: fltarr(nPrf,nLay,2), AA fltarr(nAbsorb), readu,iu,absorbents
tpwVec: fltarr(nPrf), A DERIVED. !!!
rhVec: fltarr(nPrf,nLay), A DERIVED. !!!
clwLayVec: fltarr(nPrf,nParmCLW)AA fltarr(nParmCLW), readu,iu, xCLW
clwVec: fltarr(nPrf), A DERIVED. !!!
rwpVec: fltarr(nPrf), A DERIVED !!!
iwpVec: fltarr(nPrf), A NOT SET !!!
gwpVec: fltarr(nPrf), A DERIVED !!!
swpVec: fltarr(nPrf), A NOT SET !!!
rainLayVec: fltarr(nPrf,nParmRain),AA fltarr(nParmRain), readu,iu, xRain
snowLayVec: fltarr(nPrf,nParmSnow),AA 0.0 (hard-coded)
IceLayVec: fltarr(nPrf,nParmIce), AA 0.0 (hard-coded)
grplLayVec: fltarr(nPrf,nParmGrpl),AA fltarr(Scene.nParmGrpl), readu,iu, xGrpl
anglVec: fltarr(nPrf), A readu,iu, angl
relAziAnglVec:fltarr(nPrf), A readu,iu, relAziAngl
solZenAnglVec:fltarr(nPrf), A readu,iu, solZenAngl
emissVec: fltarr(nPrf,nChan), AA fltarr(Scene.nchan), readu,iu, emiss
reflVec: fltarr(nPrf,nChan), AA NOT SET !!!
windSpVec: fltarr(nPrf), A readu,iu, windSp
windUVec: fltarr(nPrf), A readu,iu, windU
windVVec: fltarr(nPrf), A readu,iu, windV
tskinVec: fltarr(nPrf), A readu,iu, tSkin
snowDepthVec: fltarr(nPrf), A readu,iu, snowDepth
sfcPressVec: fltarr(nPrf), A readu,iu, sfcPress
sfcTypVec: intarr(nPrf), A readu,iu, sfcTyp
QC: intarr(nPrf,nqc), AA intarr(Scene.nqc), readu,iu, qc
lat: fltarr(nPrf), A readu,iu, lat
lon: fltarr(nPrf), A readu,iu, lon
direc: intarr(nPrf), A readu,iu, node (asc, desc)
time: fltarr(nPrf), A readu,iu, scanUTC
year: intarr(nPrf), A readu,iu, scanYear
day: intarr(nPrf), A readu,iu, scanDay
hours: fltarr(nPrf), DERIVED A fix(scanUTC/3600.) !!!
mins: fltarr(nPrf), DERIVED A fix( ( time - fix(Hours) * 3600. )/60.) !!!
secs: fltarr(nPrf), DERIVED A (Time - Hours*3600. - Mins*60.) !!!
nAttempt: intarr(nPrf), COD A readu,iu, nAtt
nIter: intarr(nPrf), COD A readu,iu, nIter
chiSq: fltarr(nPrf), COD A readu,iu, chiSq
yFwd: fltarr(nPrf,nChan),COD AA fltarr(Scene.nchan), readu,iu,yFwd
chanSel: lonarr(nPrf,nChan),COD AA lonarr(Scene.nchan), readu,iu,chanSel
ym: fltarr(nPrf,nChan),COD AA fltarr(Scene.nchan), readu,iu,ym
ymCorr: fltarr(nPrf,nChan),cOD AA fltarr(Scene.nchan), readu,iu,ymCorr
scanPos: lonarr(nPrf), A readu,iu, iScanPos
scanLine: lonarr(nPrf) A readu,iu, iScanLine
}
NOTE:
1. Condition : COD
COD: if Scene.iTyp eq 1
No comments:
Post a Comment