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