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