2 ! Print information about a grib1 file.
3 ! Usage: "g1print [-v] [-V] filename"
5 ! Originally from gribscan.
10 subroutine parse_args(err, a1, h1, i1, l1, a2, h2, i2, l2,&
11 a3, h3, i3, l3, hlast)
13 character(len=*) , optional :: a1, a2, a3
14 character(len=*), optional :: h1, h2, h3
15 integer , optional :: i1, i2, i3
16 logical, optional :: l1, l2, l3
17 character(len=*), optional :: hlast
18 end subroutine parse_args
21 character(len=120) :: flnm
22 character(len=30) :: hopt
23 real, allocatable, dimension(:) :: datarray
24 integer :: ierr, igherr
26 character(len=100) :: fmt = '(I4,1X, &
29 & 2(1x,I4),2x,I4.4,2("-",I2.2),"_",I2.2,":",&
30 & I2.2, 1x, "+", i3.2)'
31 logical :: ivb = .FALSE.
32 logical :: idb = .FALSE.
34 character(len=5) :: field
38 ! ec_rec_len = 26214508
40 call parse_args(ierr, a1='v', l1=ivb, a2='V', l2=idb, hlast=flnm)
43 write(*,'(//,"Usage: ", A, " [-v] [-V] file",/)') trim(hopt)
44 write(*,'(" -v : Print more information about the GRIB records")')
45 write(*,'(" -V : Print way too much information about the GRIB&
47 write(*,'(" file : GRIB file to read"//)')
54 call c_open(idum, munit, flnm, 1, ierr, 1)
58 write(*,'(" rec GRIB GRIB Lvl Lvl Lvl Time Fcst")')
59 write(*,'(" Num Code name Code one two hour")')
64 call gribget(munit, ierr, ec_rec_len)
67 call gribheader(0,igherr, ec_rec_len)
70 call gribget(munit, ierr, ec_rec_len)
74 call fieldname(sec1(2), sec1(3), sec1(4), sec1(7), sec1(24), field)
82 if (sec2(4).eq.50) then
83 ndat = (infogrid(1)+1)*(infogrid(2)+1)
85 ndat = (infogrid(1)*infogrid(2))
87 allocate(datarray(ndat))
88 call gribdata(datarray, ndat)
92 if (datarray(j).gt.fldmax) fldmax=datarray(j)
93 if (datarray(j).lt.fldmin) fldmin=datarray(j)
96 write(*,*) " ",field," : "
97 write(*,'(5x,"Minimum Data Value ",t45,":",g14.5)') fldmin
98 write(*,'(5x,"Maximum Data Value ",t45,":",g14.5)') fldmax
99 write(*,'(//,70("*"))')
101 print*, 'Datarray = ', Datarray
106 year = (cc-1)*100 + sec1(11)
107 if ( sec1(16) .eq. 254) then
108 ifcst = sec1(17)/3600.
112 write(*,FMT) irec, sec1(7), field, sec1(8:10), year,sec1(12:15),ifcst
117 call gribget(munit, ierr, ec_rec_len)
119 if (ierr.eq.1) write(*,'(/,"***** End-Of-File on C unit ", I3,/)') munit
120 call c_close( munit, 0, ierr)
124 subroutine parse_args(err, a1, h1, i1, l1, a2, h2, i2, l2, a3, h3, i3, l3, &
127 character(len=*) , optional :: a1, a2, a3
128 character(len=*), optional :: h1, h2, h3
129 integer , optional :: i1, i2, i3
130 logical, optional :: l1, l2, l3
131 character(len=*), optional :: hlast
133 character(len=100) :: hold
136 if (present(hlast)) then
146 LOOP : do while ( i <= numarg)
149 if (present(i1)) then
150 call checkiarg(i, a1, i1, ierr)
151 elseif (present(h1)) then
152 call checkharg(i, a1, h1, ierr)
153 elseif (present(l1)) then
154 call checklarg(i, a1, l1, ierr)
156 if (ierr.eq.0) cycle LOOP
158 if (present(i2)) then
159 call checkiarg(i, a2, i2, ierr)
160 elseif (present(h2)) then
161 call checkharg(i, a2, h2, ierr)
162 elseif (present(l2)) then
163 call checklarg(i, a2, l2, ierr)
165 if (ierr.eq.0) cycle LOOP
167 if (present(i3)) then
168 call checkiarg(i, a3, i3, ierr)
169 elseif (present(h3)) then
170 call checkharg(i, a3, h3, ierr)
171 elseif (present(l3)) then
172 call checklarg(i, a3, l3, ierr)
174 if (ierr.eq.0) cycle LOOP
178 write(*, '("arg = ", A)') trim(hold)
184 if (present(hlast)) then
188 call getarg(narg, hlast)
193 subroutine checkiarg(c, a, i, ierr)
195 character(len=*) :: a
198 character(len=100) :: hold
203 if ('-'//a.eq.trim(hold)) then
209 elseif ('-'//a .eq. hold(1:len_trim(a)+1)) then
210 hold = hold(len_trim(a)+2: len(hold))
216 end subroutine checkiarg
217 subroutine checkharg(c, a, h, ierr)
219 character(len=*) :: a
220 character(len=*) :: h
222 character(len=100) :: hold
227 if ('-'//a.eq.trim(hold)) then
233 elseif ('-'//a .eq. hold(1:len_trim(a)+1)) then
234 hold = hold(len_trim(a)+2: len(hold))
240 end subroutine checkharg
242 subroutine checklarg(c, a, l, ierr)
244 character(len=*) :: a
247 character(len=100) :: hold
251 if ('-'//a.eq.trim(hold)) then
257 end subroutine checklarg
259 end subroutine parse_args
261 subroutine fieldname(ptv, centerid, procid, param, subc, field)
263 ! This routine contains the tables for the various grib parameters
264 ! Each individual parameter contains the info to identify itself.
265 ! We don't have the complete tables here, just enough for normal wrf use.
266 ! wgrib has more complete NCEP tables. (look in WRFV3/external/io_grib1/WGRIB)
268 ! ptv - parameter table version
269 ! centerid - id number ofthe originating center
270 ! procid - process id
271 ! param - parameter number
273 ! field - 5-character field name (returned)
275 integer, intent(in) :: ptv, centerid, procid, param, subc
276 logical :: first=.true.
277 character (len=5), intent(out) :: field
278 character(len=5) :: table2(255), table129(255), afwa(255), ecmwf(255), &
279 table130(255), table131(255), table132(255)
280 common /paramids/ table2, table129, table130, table131, table132, afwa, ecmwf
283 if (first) call init_tables
285 if ( centerid .eq. 7 .and. ptv .eq. 2 ) then
286 field = table2(param)
287 else if ( centerid .eq. 7 .and. ptv .eq. 129 ) then
288 field = table129(param)
289 else if ( centerid .eq. 7 .and. ptv .eq. 130 ) then
290 field = table130(param)
291 else if ( centerid .eq. 7 .and. ptv .eq. 131 ) then
292 field = table131(param)
293 else if ( centerid .eq. 7 .and. ptv .eq. 132 ) then
294 field = table132(param)
295 else if ( centerid .eq. 57 ) then
297 else if ( centerid .eq. 58 .and. ptv .eq. 2 ) then ! navysst
298 field = table2(param)
299 else if ( centerid .eq. 59 .and. ptv .eq. 2 ) then ! GSD
300 field = table2(param)
301 else if ( centerid .eq. 59 .and. ptv .eq. 129 ) then
302 field = table129(param)
303 else if ( centerid .eq. 98 .and. ptv .eq. 128 ) then ! ECMWF
305 else if ( ptv .eq. 2 ) then ! previous default behavior - assume table 2 is ncep table 2
306 field = table2(param)
311 end subroutine fieldname
313 subroutine init_tables
314 character(len=5) :: table2(255), table129(255), afwa(255), ecmwf(255), &
315 table130(255), table131(255), table132(255)
316 common /paramids/ table2, table129, table130, table131, table132, afwa, ecmwf
363 ! from http://www.ecmwf.int/services/archive/d/parameters/order=grib_parameter/table=128/
503 end subroutine init_tables
506 character(len=5) :: table2(255), table129(255), afwa(255), ecmwf(255), &
507 table130(255), table131(255), table132(255)
508 common /paramids/ table2, table129, table130, table131, table132, afwa, ecmwf
510 data table2 /'PRES','PRMSL','PTEND','PVORT','ICAHT','GP','HGT','DIST',&
511 'HSTDV','TOZNE','TMP','VTMP','POT','EPOT','T MAX','T MIN','DPT',&
512 'DEPR','LAPR','VIS','RDSP1','RDSP2','RDSP3','PLI','TMP A','PRESA',&
513 'GP A','WVSP1','WVSP2','WVSP3','WDIR','WIND','U GRD','V GRD','STRM',&
514 'V POT','MNTSF','SGCVV','V VEL','DZDT','ABS V','ABD D','REL V','REL D',&
515 'VUCSH','VVCSG','DIR C','SP C','UOGRD','VOGRD','SPF H','R H','MIXR',&
516 'P WAT','VAPP','SAT D','EVP','C ICE','PRATE','TSTM','A PCP','NCPCP',&
517 'ACPCP','SRWEQ','WEASD','SNO D','MIXHT','TTHDP','MTHD','MTH A','T CDC',&
518 'CDCON','L CDC','M CDC','H CDC','C WAT','BLI','SNO C','SNO L','WTMP',&
519 'LAND','DSL M','SFC R','ALBDO','TSOIL','SOILM','VEG','SALTY','DEN',&
520 'WATR','ICE C','ICETK','DICED','SICED','U ICE','V ICE','ICE G','ICE D',&
521 'SNO M','HTSGW','WVDIR','WVHGT','WVPER','SWDIR','SWELL','SWPER','DIRPW',&
522 'PERPW','DIRSW','PERSW','NSWRS','NLWRS','NSWRT','NLWRT','LWAVR','SWAVR',&
523 'GRAD','BRTMP','LWRAD','SWRAD','LHTFL','SHTFL','BLYDP','U FLX','V FLX',&
525 ! 128-254 for use by originating center. NWS/NCEP Table 2 is coded here.
526 'MSLSA','MSLMA','MSLET','LFT X','4LFTX','K X','S X','MCONV','VW SH',&
527 'TSLSA','BVF 2','PV MW','CRAIN','CFRZR','CICEP','CSNOW','SOILW',&
528 'PEVPR','CWORK','U-GWD','V-GWD','PV','COVMZ','COVTZ','COVTM','CLWMR',&
529 'O3MR','GFLUX','CIN','CAPE','TKE','CONDP','CSUSF','CSDSF','CSULF',&
530 'CSDLF','CFNSF','CFNLF','VBDSF','VDDSF','NBDSF','NDDSF','RWMR',&
531 'SNMR','M FLX','LMH','LMV','MLYNO','NLAT','ELON','ICMR','GRMR','GUST',&
532 'LPS X','LPS Y','HGT X','HGT Y','TPFI','TIPD','LTNG','RDRIP','VPTMP','HLCY',&
533 'PROB','PROBN','POP','CPOFP','CPOZP','USTM','VSTM','NCIP','EVBS','EVCW',&
534 'ICWAT','CWDI','VAFTD','DSWRF','DLWRF','UVI','MSTAV','SFEXC','MIXLY','TRANS',&
535 'USWRF','ULWRF','CDLYR','CPRAT','TTDIA','TTRAD','TTPHY','PREIX','TSD1D',&
536 'NLGSP','HPBL','5WAVH','CNWAT','SOTYP','VGTYP','BMIXL','AMIXL','PEVAP',&
537 'SNOHF','5WAVA','MFLUX','DTRF','UTRF','BGRUN','SSRUN','SIPD','O3TOT',&
538 'SNOWC','SNOT','COVTW','LRGHR','CNVHR','CNVMR','SHAHR','SHAMR','VDFHR',&
539 'VDFUA','VDFVA','VDFMR','SWHR','LWHR','CD','FRICV','RI',' '/
540 data table129 /'PRES','PRMSL','PTEND','PVORT','ICAHT','GP','HGT','DIST',&
541 'HSTDV','TOZNE','TMP','VTMP','POT','EPOT','T MAX','T MIN','DPT',&
542 'DEPR','LAPR','VIS','RDSP1','RDSP2','RDSP3','PLI','TMP A','PRESA',&
543 'GP A','WVSP1','WVSP2','WVSP3','WDIR','WIND','U GRD','V GRD','STRM',&
544 'V POT','MNTSF','SGCVV','V VEL','DZDT','ABS V','ABD D','REL V','REL D',&
545 'VUCSH','VVCSG','DIR C','SP C','UOGRD','VOGRD','SPF H','R H','MIXR',&
546 'P WAT','VAPP','SAT D','EVP','C ICE','PRATE','TSTM','A PCP','NCPCP',&
547 'ACPCP','SRWEQ','WEASD','SNO D','MIXHT','TTHDP','MTHD','MTH A','T CDC',&
548 'CDCON','L CDC','M CDC','H CDC','C WAT','BLI','SNO C','SNO L','WTMP',&
549 'LAND','DSL M','SFC R','ALBDO','TSOIL','SOILM','VEG','SALTY','DEN',&
550 'WATR','ICE C','ICETK','DICED','SICED','U ICE','V ICE','ICE G','ICE D',&
551 'SNO M','HTSGW','WVDIR','WVHGT','WVPER','SWDIR','SWELL','SWPER','DIRPW',&
552 'PERPW','DIRSW','PERSW','NSWRS','NLWRS','NSWRT','NLWRT','LWAVR','SWAVR',&
553 'GRAD','BRTMP','LWRAD','SWRAD','LHTFL','SHTFL','BLYDP','U FLX','V FLX',&
555 ! All NCEP tables use the Table 2 values for the first 127 entries
556 ! 128-254 for Table129
557 'PAOT','PAOP','CWR','FRAIN','FICE','FRIME','CUEFI','TCOND','TCOLW',&
558 'TCOLI','TCOLR','TCOLS','TCOLC','PLPL','HLPL','CEMS','COPD',&
559 'PSIZ','TCWAT','TCICE','WDIF','WSTP','PTAN','PTNN','PTBN','PPAN',&
560 'PPNN','PPBN','PMTC','PMTF','AETMP','AEDPT','AESPH','AEUWD','AEVWD',&
561 'LPMTF','LIPMF','REFZR','REFZI','REFZC','TCLSW','TCOLM','ELRDI',&
562 'TSEC','TSECA','NUM','AEPRS','ICSEV','ICPRB','LAVNI','HAVNI','FLGHT','OZCON',&
563 'OZCAT','VEDH','SIGV','EWGT','CICEL','CIVIS','CIFLT','LAVV','LOVV','USCT',&
564 'VSCT','LAUV','LOUV','TCHP','DBSS','ODHA','OHC','SSHG','SLTFL','DUVB',&
565 'CDUVB','THFLX','UVAR','VVAR','UVVCC','MCLS','LAPP','LOPP',' ','REFO',&
566 'REFD','REFC','SBT22','SBT23','SBT24','SBT25','MINRH','MAXRH','CEIL',&
567 'PBLRE','SBC23','SBC24','RPRAT','SPRAT','FPRAT','IPRAT','UPHL','SURGE',&
568 'ETSRG','RHPW','OZMAX1','OZMAX8','PDMAX1','PDMAX24','MAXREF','MXUPHL','MAXUVV',&
569 'MAXDVV','MAXVIG','RETOP','VRATE','TCSRG20','TCSRG30','TCSRG40','TCSRG50','TCSRG60',&
570 'TCSRG70','TCSRG80','TCSRG90','HINDX','DIFTEN','PSPCP','MAXUW','MAXVW','255'/
571 data table130 /'PRES','PRMSL','PTEND','PVORT','ICAHT','GP','HGT','DIST',&
572 'HSTDV','TOZNE','TMP','VTMP','POT','EPOT','T MAX','T MIN','DPT',&
573 'DEPR','LAPR','VIS','RDSP1','RDSP2','RDSP3','PLI','TMP A','PRESA',&
574 'GP A','WVSP1','WVSP2','WVSP3','WDIR','WIND','U GRD','V GRD','STRM',&
575 'V POT','MNTSF','SGCVV','V VEL','DZDT','ABS V','ABD D','REL V','REL D',&
576 'VUCSH','VVCSG','DIR C','SP C','UOGRD','VOGRD','SPF H','R H','MIXR',&
577 'P WAT','VAPP','SAT D','EVP','C ICE','PRATE','TSTM','A PCP','NCPCP',&
578 'ACPCP','SRWEQ','WEASD','SNO D','MIXHT','TTHDP','MTHD','MTH A','T CDC',&
579 'CDCON','L CDC','M CDC','H CDC','C WAT','BLI','SNO C','SNO L','WTMP',&
580 'LAND','DSL M','SFC R','ALBDO','TSOIL','SOILM','VEG','SALTY','DEN',&
581 'WATR','ICE C','ICETK','DICED','SICED','U ICE','V ICE','ICE G','ICE D',&
582 'SNO M','HTSGW','WVDIR','WVHGT','WVPER','SWDIR','SWELL','SWPER','DIRPW',&
583 'PERPW','DIRSW','PERSW','NSWRS','NLWRS','NSWRT','NLWRT','LWAVR','SWAVR',&
584 'GRAD','BRTMP','LWRAD','SWRAD','LHTFL','SHTFL','BLYDP','U FLX','V FLX',&
587 ! 128-143 not yet assigned
588 ' ',' ',' ',' ',' ',' ',' ',' ',' ',&
589 ' ',' ',' ',' ',' ',' ',' ','SOILW',&
590 'PEVPR','VEGT ','BARET','AVSFT','RADT','SSTOR','LSOIL','EWATR',' ',&
591 'LSPA ','GFLUX','CIN','CAPE','TKE','MXSAL','SOILL','ASNOW','ARAIN',&
592 'GWREC','QREC ','SNOWT','VBDSF','VDDSF','NBDSF','NDDSF','SNFALB',&
593 'RLYRS','M FLX',' ',' ',' ','NLAT','ELON','FLDCAP','ACOND','SNOAG',&
594 'CCOND','LAI','SFCRH','SALBD',' ',' ','NDVI','DRIP','VBSALB','VWSALB',&
595 'NBSALB','NWSALB','FRZR','FROZR','TSNOW','MTERH',' ','SBSNO','EVBS','EVCW',&
596 'VTCIN','VTCAPE','RSMIN','DSWRF','DLWRF',' ','MSTAV','SFEXC',' ','TRANS',&
597 'USWRF','ULWRF',' ',' ',' ',' ',' ',' ','WILT',&
598 'FLDCP','HPBL','SLTYP','CNWAT','SOTYP','VGTYP','BMIXL','AMIXL','PEVAP',&
599 'SNOHF','SMREF','SMDRY',' ',' ','BGRUN','SSRUN',' ',' ',&
600 'SNOWC','SNOT','POROS','SBT112','SBT113','SBT114','SBT115',' ','RCS',&
601 'RCT','RCQ','RCSOL',' ',' ','CD','FRICV','RI',' '/
602 data table131 /'PRES','PRMSL','PTEND','PVORT','ICAHT','GP','HGT','DIST',&
603 'HSTDV','TOZNE','TMP','VTMP','POT','EPOT','T MAX','T MIN','DPT',&
604 'DEPR','LAPR','VIS','RDSP1','RDSP2','RDSP3','PLI','TMP A','PRESA',&
605 'GP A','WVSP1','WVSP2','WVSP3','WDIR','WIND','U GRD','V GRD','STRM',&
606 'V POT','MNTSF','SGCVV','V VEL','DZDT','ABS V','ABD D','REL V','REL D',&
607 'VUCSH','VVCSG','DIR C','SP C','UOGRD','VOGRD','SPF H','R H','MIXR',&
608 'P WAT','VAPP','SAT D','EVP','C ICE','PRATE','TSTM','A PCP','NCPCP',&
609 'ACPCP','SRWEQ','WEASD','SNO D','MIXHT','TTHDP','MTHD','MTH A','T CDC',&
610 'CDCON','L CDC','M CDC','H CDC','C WAT','BLI','SNO C','SNO L','WTMP',&
611 'LAND','DSL M','SFC R','ALBDO','TSOIL','SOILM','VEG','SALTY','DEN',&
612 'WATR','ICE C','ICETK','DICED','SICED','U ICE','V ICE','ICE G','ICE D',&
613 'SNO M','HTSGW','WVDIR','WVHGT','WVPER','SWDIR','SWELL','SWPER','DIRPW',&
614 'PERPW','DIRSW','PERSW','NSWRS','NLWRS','NSWRT','NLWRT','LWAVR','SWAVR',&
615 'GRAD','BRTMP','LWRAD','SWRAD','LHTFL','SHTFL','BLYDP','U FLX','V FLX',&
618 'MSLSA',' ','MSLET','LFT X','4LFTX',' ','PRESN','MCONV','VW SH',&
619 ' ',' ','PVMWW','CRAIN','CFRZR','CICEP','CSNOW','SOILW',&
620 'PEVPR','VEGT ','BARET','AVSFT','RADT','SSTOR','LSOIL','EWATR','CLWMR',&
621 ' ','GFLUX','CIN','CAPE','TKE','MXSAL','SOILL','ASNOW','ARAIN',&
622 'GWREC','QREC ','SNOWT','VBDSF','VDDSF','NBDSF','NDDSF','SNFAL',&
623 'RLYRS','M FLX','LMH','LMV','MLYNO','NLAT','ELON','ICMR','ACOND','SNOAG',&
624 'CCOND','LAI ','SFCRH','SALBD',' ',' ','NDVI','DRIP','LANDN','HLCY',&
625 'NLATN','ELONN',' ','CPOFP',' ','USTM','VSTM','SBSNO','EVBS','EVCW',&
626 ' ','APCPN','RSMIN','DSWRF','DLWRF','ACPCP','MSTAV','SFEXC',' ','TRANS',&
627 'USWRF','ULWRF','CDLYR','CPRAT',' ','TTRAD',' ','HGTN ','WILT ',&
628 'FLDCP','HPBL','SLTYP','CNWAT','SOTYP','VGTYP','BMIXL','AMIXL','PEVAP',&
629 'SNOHF','SMREF','SMDRY','WVINC','WCINC','BGRUN','SSRUN',' ','WVCON',&
630 'SNOWC','SNOT','POROS','WCCON','WVUFL','WVVFL','WCUFL','WCVFL','RCS ',&
631 'RCT','RCQ','RCSOL','SWHR','LWHR','CD','FRICV','RI',' '/
632 data table132 /'PRES','PRMSL','PTEND','PVORT','ICAHT','GP','HGT','DIST',&
633 'HSTDV','TOZNE','TMP','VTMP','POT','EPOT','T MAX','T MIN','DPT',&
634 'DEPR','LAPR','VIS','RDSP1','RDSP2','RDSP3','PLI','TMP A','PRESA',&
635 'GP A','WVSP1','WVSP2','WVSP3','WDIR','WIND','U GRD','V GRD','STRM',&
636 'V POT','MNTSF','SGCVV','V VEL','DZDT','ABS V','ABD D','REL V','REL D',&
637 'VUCSH','VVCSG','DIR C','SP C','UOGRD','VOGRD','SPF H','R H','MIXR',&
638 'P WAT','VAPP','SAT D','EVP','C ICE','PRATE','TSTM','A PCP','NCPCP',&
639 'ACPCP','SRWEQ','WEASD','SNO D','MIXHT','TTHDP','MTHD','MTH A','T CDC',&
640 'CDCON','L CDC','M CDC','H CDC','C WAT','BLI','SNO C','SNO L','WTMP',&
641 'LAND','DSL M','SFC R','ALBDO','TSOIL','SOILM','VEG','SALTY','DEN',&
642 'WATR','ICE C','ICETK','DICED','SICED','U ICE','V ICE','ICE G','ICE D',&
643 'SNO M','HTSGW','WVDIR','WVHGT','WVPER','SWDIR','SWELL','SWPER','DIRPW',&
644 'PERPW','DIRSW','PERSW','NSWRS','NLWRS','NSWRT','NLWRT','LWAVR','SWAVR',&
645 'GRAD','BRTMP','LWRAD','SWRAD','LHTFL','SHTFL','BLYDP','U FLX','V FLX',&
647 ! Table 132 NCEP2 originally the same as table 2, but they diverged.
648 'MSLSA','MSLMA','MSLET','LFT X','4LFTX','K X','S X','MCONV','VW SH',&
649 'TSLSA','BVF 2','PV MW','CRAIN','CFRZR','CICEP','CSNOW','SOILW',&
650 'PEVPR','CWORK','U-GWD','V-GWD','PV',' ',' ',' ','MFXDV',&
651 ' ','GFLUX','CIN','CAPE','TKE','CONDP','CSUSF','CSDSF','CSULF',&
652 'CSDLF','CFNSF','CFNLF','VBDSF','VDDSF','NBDSF','NDDSF','USTR',&
653 'VSTR','M FLX','LMH','LMV','SGLYR','NLAT','ELON','UMAS','VMAS','XPRATE',&
654 'LPS X','LPS Y','HGT X','HGT Y','STDZ','STDU','STDV','STDQ','STDTP','CBUW',&
655 'CBVW','CBUQN','CBVQ','CBTW ','CBQW ','CBMZW','CBTZW','CBTMW','STDRH','SDTZ',&
656 'ICWAT','SDTU','SDTV','DSWRF','DLWRF','SDTQ','MSTAV','SFEXC','MIXLY','SDTT',&
657 'USWRF','ULWRF','CDLYR','CPRAT','TTDIA','TTRAD','TTPHY','PREIX','TSD1D',&
658 'NLGSP','SDTRH','5WAVH','CNWAT','PLTRS','RHCLD','BMIXL','AMIXL','PEVAP',&
659 'SNOHF','SNOEV','MFLUX','DTRF','UTRF','BGRUN','SSRUN',' ','O3TOT',&
660 'SNOWC','SNOT','GLCR ','LRGHR','CNVHR','CNVMR','SHAHR','SHAMR','VDFHR',&
661 'VDFUA','VDFVA','VDFMR','SWHR','LWHR','CD','FRICV','RI',' '/