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