[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: Re: [Fwd: Re: Motherlode clone.]]



Chris and Mike,

it's been awhile since we last talked. since then we have started
using tomcat 5.5.17 and Java 1.5.  i know, i said to use early versions of
tomcat and java but there was some good performance improvements. it will
probably be better to upgrade now verses later. I'll attach the
conf/server.xml file, that should help will the tomcat configurations.
also, we been using java jdk1.5.0_07.

On Wed, 28 Jun 2006, Chris Herbster wrote:

> Rob,
>
> Mike says we are ready for the next part (the xml files).


actually the catalogs are shipped with the TDS war file but the top
catalog doesn't have an entry for them. i attached the top catalog
(catalog.xml) that goes in the content/thredds/ directory under tomcat,
ie. /opt/apache-tomcat-5.5.17/content/thredds/catalog.xml  now the idd
data should all be available.

there will be a new TDS release in a couple of days if you wanted to wait.

let me know if you need any help.
robb...

>
> Thanks!!!!
>
> CH
>
> -------- Original Message --------
> Subject:      Re: [Fwd: Re: Motherlode clone.]
> Date:         Tue, 27 Jun 2006 14:42:19 -0400
> From:         Mike Masscotte <address@hidden>
> To:   Chris Herbster <address@hidden>
> References:   <address@hidden>
>
>
>
> This part is done. We now need the xml files for the data tree.
>
> -Mike
>
> Chris Herbster wrote:
>
> > A second time, with HTML markup which may help the cut-n-paste efforts.
> >
> > CH
> >
> > -------- Original Message --------
> > Subject:    Re: Motherlode clone.
> > Date:       Wed, 31 May 2006 11:29:55 -0600 (MDT)
> > From:       Robb Kambic <address@hidden>
> > Organization:       UCAR/Unidata
> > To:         Chris Herbster <address@hidden>
> > CC:         Mike Masscotte <address@hidden>, support-thredds
> > <address@hidden>, decoders
> > <address@hidden>
> > References:         <address@hidden> <address@hidden>
> > <address@hidden>
> > <address@hidden>
> > <address@hidden>
> > <address@hidden>
> >
> >
> >
> >Chris and Mike,
> >
> >sorry for the delay in getting back to you about the pqacts, etc.
> >
> >there are three thredd pqacts that i'll attach: pqact.thredds
> >pqact.threddsconduit  pqact.threddsradar that need to be place in ~ldm/etc
> >directory. also the etc/ldmd.conf file needs to have these three line
> >added to reference the pqacts.
> >
> >exec    "pqact -f ANY-CONDUIT-NNEXRAD-CRAFT /opt/ldm/etc/pqact.thredds"
> >exec    "pqact -f CONDUIT|SPARE /opt/ldm/etc/pqact.threddsconduit"
> >exec    "pqact -f NNEXRAD|CRAFT /opt/ldm/etc/pqact.threddsradar"
> >
> >
> >i believe the only extra s/w needed is the netCDF decoders package, it's
> >available at: http://www.unidata.ucar.edu/software/decoders/
> >
> >the binaries from the build go into the ~ldm/decoders directory and the
> >etc files from the build go into the ~ldm/etc directory.
> >
> >if you want to bypass this step, comment out the pqact
> >entries that have the PIPE actions then you can come back later to install
> >them.
> >
> >
> >there is a new perl script used to scour the directory structure called
> >manageFilesDirs.pl and it goes into the ~ldm/util directory. i'll attach
> >the script too.  also there is a manageFilesDirs.conf file to configure it
> >that goes into the ~ldm/etc direction, i'll attach too.  the conf file
> >should be set correctly, so no mods will be needed unless you change the
> >directory structure in the pqacts. i suggest that you don't change them
> >because all the thredds configure file exepect that dir structure.
> >
> >it is run once a day from cron, ie
> >
> >#
> ># files/dirs managing script
> >30 21 * * *  util/manageFilesDirs.pl -f
> >/local/ldm/etc/manageFilesDirs.conf > /data/ldm/logs/manageFilesDirs.log
> >#
> >
> >
> >after this is setup, then we can start on the thredds configurations.
> >
> >robb...
> >
> >
> >On Tue, 23 May 2006, Chris Herbster wrote:
> >
> >> Rob,
> >>
> >> We seem to be ready on this end for a set of pqact entries to populate
> >> the catalog.  Please work with Mike to see if he needs any other parts
> >> besides these.  I think he said something about needing some XML pieces 
> >> too.
> >>
> >> Thanks!
> >>
> >> CH
> >>
> >> Robb Kambic wrote:
> >>
> >> >Sounds good to me, let me know when help is needed?
> >> >
> >> >robb...
> >> >
> >> >
> >> >
> >> >
> >> >On Mon, 24 Apr 2006, Chris Herbster wrote:
> >> >
> >> >
> >> >
> >> >>Hi Robb,
> >> >>
> >> >>As always, another good time in Boulder!  (-;
> >> >>
> >> >>Off hand, I'd say, "Let's do everything that you do."  However, I'll
> >> >>defer on this to Mike Masscotte.  He has done a great job of getting
> >> >>things cleaned up from when I tried to run things and he might have some
> >> >>suggestions (or just say "Let's do it!")
> >> >>
> >> >>We have the LDM up and running.  We'll need to do the next piece to get
> >> >>ready....  I'll let Mike set the pace on this end.
> >> >>
> >> >>CH
> >> >>
> >> >>Robb Kambic wrote:
> >> >>
> >> >>
> >> >>
> >> >>>Hey Chris,
> >> >>>
> >> >>>It was really good to sit down and talk with you at usercomm diner. I
> >> >>>haven't had that much fun in awhile. Anyway, if you are still interested
> >> >>>in doing a motherlode clone we can start on it. Could you list the data
> >> >>>products that you are interested in receiving? or are you interested in
> >> >>>receiving all products just like motherlode?
> >> >>>
> >> >>>
> >> >>>Once the initial setup is done, then upgrades should be easy. The 2 main
> >> >>>external programs are the LDM and Jakarta-Tomcat. If you could get your
> >> >>>system admin to install these with users ldm and tomcat then stage 
> >> >>>would be
> >> >>>set. The tomcat version we are using is jakarta-tomcat-5.0.28, i know
> >> >>>there are newer ones released but this is the version that we have 
> >> >>>tested
> >> >>>the s/w.  At this point do you want to install the s/w, there are 
> >> >>>on-line
> >> >>>documentation or do you want me to install it and do the initial
> >> >>>configuration?
> >> >>>
> >> >>>The documentation is located at:
> >> >>>
> >> >>>http://motherlode.ucar.edu:8080/thredds/docs/
> >> >>>
> >> >>>
> >> >>>Take care,
> >> >>>
> >> >>>robb...
> >> >>>
> >> >>>
> >> >>>
> >> >>>===============================================================================
> >> >>>Robb Kambic                                Unidata Program Center
> >> >>>Software Engineer III                      Univ. Corp for Atmospheric 
> >> >>>Research
> >> >>>address@hidden             WWW: http://www.unidata.ucar.edu/
> >> >>>===============================================================================
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>--
> >> >>
> >> >> Dr. Christopher G. Herbster
> >> >> Associate Professor
> >> >> Director of Science and Technology
> >> >> for the ERAU Weather Center
> >> >> Applied Aviation Sciences
> >> >> Embry-Riddle Aeronautical Univ.
> >> >> 600 S. Clyde Morris Blvd.
> >> >> Daytona Beach, FL 32114-3900
> >> >>
> >> >> 386.226.6444 Office
> >> >> 386.226.6446 Weather Center
> >> >> http://wx.erau.edu/
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >> >===============================================================================
> >> >Robb Kambic                                  Unidata Program Center
> >> >Software Engineer III                        Univ. Corp for Atmospheric 
> >> >Research
> >> >address@hidden               WWW: http://www.unidata.ucar.edu/
> >> >===============================================================================
> >> >
> >> >
> >> >
> >>
> >> --
> >>
> >>  Dr. Christopher G. Herbster
> >>  Associate Professor
> >>  Director of Science and Technology
> >>  for the ERAU Weather Center
> >>  Applied Aviation Sciences
> >>  Embry-Riddle Aeronautical Univ.
> >>  600 S. Clyde Morris Blvd.
> >>  Daytona Beach, FL 32114-3900
> >>
> >>  386.226.6444 Office
> >>  386.226.6446 Weather Center
> >>  http://wx.erau.edu/
> >>
> >>
> >>
> >
> >===============================================================================
> >Robb Kambic                             Unidata Program Center
> >Software Engineer III                           Univ. Corp for Atmospheric 
> >Research
> >address@hidden                  WWW: http://www.unidata.ucar.edu/
> >===============================================================================
> >
> >
> >
> >--
> >
> > Dr. Christopher G. Herbster
> > Associate Professor
> > Director of Science and Technology
> > for the ERAU Weather Center
> > Applied Aviation Sciences
> > Embry-Riddle Aeronautical Univ.
> > 600 S. Clyde Morris Blvd.
> > Daytona Beach, FL 32114-3900
> >
> > 386.226.6444 Office
> > 386.226.6446 Weather Center
> > http://wx.erau.edu/
> >
> >
> >
> >------------------------------------------------------------------------
> >
> >#
> ># This pqact defines the directory structure expected by the THREDDS Data 
> >Server
> ># default configuration.  It includes the pqact entries using decoders and 
> >FILE
> ># actions to create the structure. If this pqact is implemented then the
> ># THREDDS Data Server should work without doing any data structure
> ># configurations. Default configuration starting at the ~ldm/data directory:
> >#
> ># pub
> ># pub/native
> >#
> ># data/pub/native/surface/metar/{day}/{station}
> ># data/pub/native/surface/synoptic/{day}/{station} commented out
> ># data/pub/native/surface/buoy/{day}/{station} commented out
> ># data/pub/native/surface/zone/{day}/{station} commented out
> ># data/pub/native/nwstg/text/{day}
> ># data/pub/native/upperair/{day}/{station} commented out
> >#
> ># pub/native/satellite/{band}/{product}_{resolution}/{day}
> >#
> ># pub/native/profiler/wind/06min/{day}
> ># pub/native/profiler/wind/01hr/{day}
> ># pub/native/profiler/RASS/06min/{day}
> ># pub/native/profiler/RASS/01hr/{day}
> ># pub/native/profiler/bufr/{day}  commented out
> >#
> ># pub/native/radar/10km_mosaic/{day}
> ># pub/native/radar/composite/{product}/{resolution}/{day}
> ># pub/native/radar/level2/{station}/{day}
> ># pub/native/radar/level3/{product}/{station}/{day}
> >#
> ># pub/native/grid/NCEP/DGEX/Alaska_12km
> ># pub/native/grid/NCEP/DGEX/CONUS_12km //Downscaled GFS with Eta 
> >Extension(DGEX)
> ># pub/native/grid/NCEP/GFS/Alaska_191km
> ># pub/native/grid/NCEP/GFS/CONUS_80km
> ># pub/native/grid/NCEP/GFS/CONUS_95km
> ># pub/native/grid/NCEP/GFS/CONUS_191km
> ># pub/native/grid/NCEP/GFS/Ensemble_1p25deg
> ># pub/native/grid/NCEP/GFS/Extended_5p0deg
> ># pub/native/grid/NCEP/GFS/Global_0p5deg
> ># pub/native/grid/NCEP/GFS/Global_onedeg
> ># pub/native/grid/NCEP/GFS/Global_2p5deg
> ># pub/native/grid/NCEP/GFS/Global_1p0deg_Ensemble
> ># pub/native/grid/NCEP/GFS/Global_2p5deg_Ensemble
> ># pub/native/grid/NCEP/GFS/Hawaii_160km
> ># pub/native/grid/NCEP/GFS/N_Hemisphere_381km
> ># pub/native/grid/NCEP/GFS/Puerto_Rico_191km
> ># pub/native/grid/NCEP/GFS/Spectral_1p25deg
> ># pub/native/grid/NCEP/NAM/Alaska_11km
> ># pub/native/grid/NCEP/NAM/Alaska_22km
> ># pub/native/grid/NCEP/NAM/Alaska_45km/conduit
> ># pub/native/grid/NCEP/NAM/Alaska_45km/noaaport
> ># pub/native/grid/NCEP/NAM/Alaska_95km
> ># pub/native/grid/NCEP/NAM/CONUS_12km
> ># pub/native/grid/NCEP/NAM/CONUS_20km/noaaport
> ># pub/native/grid/NCEP/NAM/CONUS_20km/surface
> ># pub/native/grid/NCEP/NAM/CONUS_20km/selectsurface
> ># pub/native/grid/NCEP/NAM/CONUS_40km/noaaport
> ># pub/native/grid/NCEP/NAM/CONUS_40km/conduit
> ># pub/native/grid/NCEP/NAM/CONUS_80km
> ># pub/native/grid/NCEP/NAM/DGEX/Alaska_12km
> ># pub/native/grid/NCEP/NAM/DGEX/CONUS_12km
> ># pub/native/grid/NCEP/NAM/Polar_90km
> ># pub/native/grid/NCEP/NDFD/CONUS_5km
> ># pub/native/grid/NCEP/OCEAN/Global_2x2deg
> ># pub/native/grid/NCEP/RUC/CONUS_40km
> ># pub/native/grid/NCEP/RUC/CONUS_80km
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/hybrid
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/pressure
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/surface
> ># pub/native/grid/NCEP/SPECTRAL/Global_5x2p5deg
> ># pub/native/grid/ECMWF/model?
> ># pub/native/grid/UKMET/thin
> ># pub/native/grid/CMC/GEM                // Canadian grid
> ># pub/native/grid/FNMOC/NOGAPS             // FNMOC grid
> ># pub/native/grid/FNMOC/COAMPS             // FNMOC grid
> ># pub/native/grid/UNIDATA/WSETA
> ># pub/native/grid/{center}/WRF
> >#
> ># grids off of nwstg binary channel, entered above in correct model location
> ># pub/native/grid/NCEP/NAM/CONUS_12km
> ># pub/native/grid/NCEP/NAM/Alaska_11km
> ># pub/native/grid/NCEP/DGEX/CONUS_12km //Downscaled GFS with Eta 
> >Extension(DGEX)
> ># pub/native/grid/NCEP/DGEX/Alaska_12km
> ># pub/native/grid/NCEP/NDFD/CONUS_5km
> ># pub/native/grid/NCEP/GFS/CONUS_191km
> >#
> ># Decoded data
> >#
> ># pub/decoded/netcdf/surface/metar
> ># pub/decoded/netcdf/surface/synoptic
> ># pub/decoded/netcdf/surface/buoy
> ># pub/decoded/netcdf/upperair
> ># pub/decoded/netcdf/grid/{center}
> ># pub/decoded/netcdf/grid/NCEP/GFS/CONUS_80km
> ># pub/decoded/netcdf/grid/NCEP/GFS/Global_5x2p5deg
> ># pub/decoded/netcdf/grid/NCEP/GFS/Global_5x5deg
> ># pub/decoded/netcdf/grid/NCEP/NAM/CONUS_80km
> ># pub/decoded/netcdf/grid/NCEP/NGM/CONUS_80km
> ># pub/decoded/netcdf/grid/NCEP/OCEAN/Global_5x2p5deg
> ># pub/decoded/netcdf/grid/NCEP/RUC/CONUS_80km
> ># pub/decoded/netcdf/grid/NCEP/RUC2/CONUS_40km
> ># pub/decoded/netcdf/grid/NCEP/SST/Global_2x2deg
> ># pub/decoded/netcdf/grid/NCEP/SST/Global_5x2p5deg
> >#
> >#
> ># Restricted data
> >#
> ># ucar_only/native/ACARS/{day}
> >#
> >#-------------------------------------------------------------------------------
> >#
> ># Surface test data
> >#
> ># All aviation reports including metar tests, broken/written to stn files
> >DDS|IDS      ^S(A....|P....|XUS8.) .... ([0-3][0-9])
> >     PIPE    decoders/metarWriter
> >     data/pub/native/surface/metar
> >     (\2:yyyy)(\2:mm)
> >#
> ># Synoptic reports, broken/written to stn files
> >#DDS|IDS     ^SM.... .... ([0-3][0-9])
> >#    PIPE    decoders/synopticWriter
> >#    data/pub/native/surface/synoptic
> >#    (\1:yyyy)(\1:mm)
> >#
> ># buoy reports, broken/written to stn or WMO ID numbers files
> >#DDS|IDS     ^S[NS].... .... ([0-3][0-9])
> >#    PIPE    decoders/buoyWriter
> >#    data/pub/native/surface/buoy
> >#    (\1:yyyy)(\1:mm)
> >#
> ># zone reports, broken/written to zone files
> >#DDS|IDS     ^FOUS5. .... ([0-3][0-9])
> >#    PIPE    decoders/surface/zoneWriter
> >#    data/pub/native/zone
> >#    (\1:yyyy)(\1:mm)
> >#
> ># all of DDS/PPS/IDS | NOAAPORT textual data
> >DDPLUS|IDS   ^[^\-]
> >     FILE
> >     data/pub/native/nwstg/text/%Y%m%d/SURFACE_DDPLUS_%Y%m%d_%H00.txt
> >#
> ># upper air reports, broken/written to stn files
> >#DDS|IDS     ^U[ABDEFGHIJKLMPQRSTXZ].... .... ([0-3][0-9])
> >#    PIPE    decoders/upperairWriter
> >#    data/pub/native/upperair
> >#    (\1:yyyy)(\1:mm)
> >#
> >#
> ># NOAAPORT GINI Images
> >#
> ># PNG compressed NOAAPORT GINI Images
> >#NIMAGE      ^sat/ch[0-9]/.*/(.*)/([12][0-9][0-9][0-9][01][0-9][0-3][0-9]) 
> >([0-2][0-9])([0-5][0-9])/(.*)/(.*km)/
> >#    FILE
> >#    data/pub/native/satellite/\1/\5_\6/\2/\5_\6_\1_\2_\3\4.gini
> >#
> >#    PIPE    -close
> >#    util/pngg2gini -vl logs/ldm-mcidas.log
> >#
> ># Zlib compressed NOAAPORT GOES-East/West GINI Images -- FILE
> >NIMAGE       ^satz/ch[0-9]/.*/(.*)/([12][0-9][0-9][0-9][01][0-9][0-3][0-9]) 
> >([0-2][0-9])([0-5][0-9])/(.*)/(.*km)/
> >     PIPE    -close
> >     util/ldmfile.sh 
> > data/pub/native/satellite/\1/\5_\6/\2/\5_\6_\1_\2_\3\4.gini
> >#
> ># FSL hourly summary and 6-minute wind profiler data %Y%m%d_%H00
> >FSL2 ^FSL\.NetCDF\.NOAAnet\.windprofiler\.(01hr|06min)\.(....)(...)(..)
> >     FILE
> >     data/pub/native/profiler/wind/\1/\2%m%d/PROFILER_wind_\1_\2%m%d_\400.nc
> >#
> ># FSL hourly summary and 6-minute RASS profiler data %Y%m%d_%H00
> ># FSL.NetCDF.NOAAnet.RASS.06min.20052731424
> >FSL2 ^FSL\.NetCDF\.NOAAnet\.RASS\.(01hr|06min)\.(....)(...)(..)
> >     FILE
> >     data/pub/native/profiler/RASS/\1/\2%m%d/PROFILER_RASS_\1_\2%m%d_\400.nc
> >#
> ># profiler data in BUFR format
> >HRS  ^(IUPT0[1-4]|IUAK01) .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler/PROFILER_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> >#
> ># profiler data in BUFR format
> >HRS  ^IUPT41 KBOU ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler1/PROFILER_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># profiler data in BUFR format
> >HRS  ^IUPT42 KBOU ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler2/PROFILER_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># profiler data in BUFR format
> >HRS  ^IUPT43 KBOU ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler3/PROFILER_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># profiler data in BUFR format
> >HRS  ^ISAT.. KBOU ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler4/PROFILER_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># profiler data in BUFR format
> >HRS  ^IUPC0[12] .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/profiler/bufr/profiler5/PROFILER_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># RADAR grid products
> >#
> >HRS  ^HAXA00 K... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/radar/10km_mosaic/(\1:yyyy)(\1:mm)\1/RADAR_10km_mosaic_(\1:yyyy)(\1:mm)\1_\2\3.grib1
> >#
> ># DPA (SDUS8.)
> >HRS  ^SDUS8. (....) ([0-3][0-9])([0-2][0-9])([0-9][0-9]).*/pDPA
> >     FILE
> >     
> > data/pub/native/radar/level3/DPA/\1/Level3_\1_DPA_(\2:yyyy)(\2:mm)\2_0000.dpa
> >#    
> >data/pub/native/radar/level3/DPA/\1/(\2:yyyy)(\2:mm)\2/Level3_\1_DPA_(\2:yyyy)(\2:mm)\2_0000.dpa
> >#
> ># RCM (SDUS4.)
> >#HRS ^SDUS4. (....) ([0-3][0-9])([0-2][0-9])([0-9][0-9]).*/pRCM
> >#    FILE
> >#    
> >data/pub/native/radar/level3/RCM/\1/Level3_\1_RCM_(\2:yyyy)(\2:mm)\2_0000.rcm
> >#    
> >data/pub/native/radar/level3/RCM/\1/(\2:yyyy)(\2:mm)\2/Level3_\1_RCM_(\2:yyyy)(\2:mm)\2_0000.rcm
> >#
> ># 1 km Regional N0R Composite - Creates PNG-compressed AREA for FNEXRAD feed
> >#FNEXRAD     ^radar_mosaic_regional_(...)
> >#    PIPE    -close
> >#    util/mcgribdec \1 
> >/data/ldm/pub/native/radar/national/radar_regional.grib1 6100
> >#
> ># 6 km National N0R Composite - Creates PNG-compressed AREA for FNEXRAD feed
> >#FNEXRAD     ^radar_mosaic_national
> >#    PIPE    -close
> >#    util/mcgribdec NAT 
> >/data/ldm/pub/native/radar/national/radar_national.grib1 6200
> >#
> ># 10 km National RCM Composite - Creates PNG-compressed AREA for FNEXRAD feed
> >#HRS ^HAXA00 K...
> >#    PIPE    -close
> >#    util/mcgribdec RCM 
> >/data/ldm/pub/native/radar/national/radar_national_rcm.grib1
> >#
> >#
> ># Model files in grib1 format
> >#
> ># GFS/AVN grid output
> ># Grid #201 N. Hemisphere 381km: ^Y.A... KWBC.*/m(AVN|GFS|SSIAVN|SSIGFS)
> ># Grid #202 CONUS         191km: ^Y.I... KWBC.*/m(AVN|GFS|SSIAVN|SSIGFS)
> ># Grid #203 Alaska        191km: ^Y.J... KWBC.*/m(AVN|GFS|SSIAVN|SSIGFS)
> ># Grid #211 CONUS          80km: ^Y.Q... KWBC.*/m(AVN|GFS|SSIAVN|SSIGFS)
> ># Grid #213 CONUS          95km: ^Y.H... KWBC.*/m(AVN|GFS|SSIAVN|SSIGFS)
> ># Select any/all grids desired from [QAIJH]
> >#
> >HRS  ^[YZ].(A)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(AVN|GFS|SSIAVN|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/N_Hemisphere_381km/GFS_N_Hemisphere_381km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(I)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(AVN|GFS|SSIAVN|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/CONUS_191km/GFS_CONUS_191km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(J)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(AVN|GFS|SSIAVN|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Alaska_191km/GFS_Alaska_191km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(Q)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(AVN|GFS|SSIAVN|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/CONUS_80km/GFS_CONUS_80km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(H)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(AVN|GFS|SSIAVN|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/CONUS_95km/GFS_CONUS_95km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >#
> ># GFS grid on thinned grids, global 1.25 regular grid
> >HRS  ^H.[I-P]... KWB. (..)(..).*/m(AVN|SSIAVN|GFS|SSIGFS)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Global_1p25deg/GFS_Global_1p25deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># Spectral Global grid - made up of grids I-P that are thinned grids
> >HRS  ^H.[I-P]... KWB[^K] ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Spectral_1p25deg/GFS_Spectral_1p25deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> >#Ensemble members
> >HRS  ^H.[I-P]... KWBK ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Ensemble_1p25deg/GFS_Ensemble_1p25deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># Grid #204 Hawaii        160km: ^Y.K... KWBH
> ># Grid #205 Puerto Rico   191km: ^Y.L... KWBH
> >#
> >HRS  ^[YZ].(K)... KWBH ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Hawaii_160km/GFS_Hawaii_160km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(L)... KWBH ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Puerto_Rico_191km/GFS_Puerto_Rico_191km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >#
> >#  GFS grid - Extended range grids E and F
> >#
> >HRS  ^H.[EF][A-Z][0-9][0-9] KWB. ([0-3][0-9])([0-2][0-9])..
> >     FILE
> >     
> > data/pub/native/grid/NCEP/GFS/Extended_Global_5p0deg/GFS_Extended_Global_5p0deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># ETA/NAM grids
> ># Grid #207 95km Alaska:   ^[YZ].N.*/m(ETA|NAM)
> ># Grid #211 80km CONUS:    ^[YZ].Q.*/m(ETA|NAM)
> ># Grid #212 40km CONUS:    ^[YZ].R.*/m(ETA|NAM)
> ># Grid #215 20km CONUS:    ^[YZ].U.*/m(ETA|NAM)
> ># Grid #216 45km Alaska:   ^[YZ].V.*/m(ETA|NAM)
> ># Grid #217 22km Alaska:   ^[YZ].Y.*/m(ETA|NAM)
> ># Select any/all grids desired from [QRUT]
> >HRS  ^[YZ].(N)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/Alaska_95km/NAM_Alaska_95km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(Q)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/CONUS_80km/NAM_CONUS_80km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(R)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/CONUS_40km/noaaport/NAM_CONUS_40km_noaaport_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(U)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/CONUS_20km/noaaport/NAM_CONUS_20km_noaaport_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(V)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/Alaska_45km/noaaport/NAM_Alaska_45km_noaaport_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(Y)... KWB. ([0-3][0-9])([0-2][0-9]).*/m(ETA|NAM)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/NAM/Alaska_22km/NAM_Alaska_22km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >#
> ># RUC grid output
> ># Grid #211 CONUS   80km: ^[YZ].Q.*/mRUC
> ># Grid #236 CONUS   40km: ^[YZ].W.*/mRUC
> >#
> >HRS  ^[YZ].(Q)... KWB. ([0-3][0-9])([0-2][0-9]).*/mRUC
> >     FILE
> >     
> > data/pub/native/grid/NCEP/RUC/CONUS_80km/RUC_CONUS_80km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >HRS  ^[YZ].(W)... KWB. ([0-3][0-9])([0-2][0-9]).*/mRUC
> >     FILE
> >     
> > data/pub/native/grid/NCEP/RUC/CONUS_40km/RUC_CONUS_40km_(\2:yyyy)(\2:mm)\2_\300.grib1
> >#
> ># RUC2 grid on Lambert conformal CONUS grid
> >HRS  ^Y.W... KWB. (..)(..).*/mRUC2
> >     FILE
> >     
> > data/pub/native/grid/NCEP/RUC2/CONUS_40km/RUC2_CONUS_40km_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># Spectral Global grid - made up of grids A,B,C,D Forecasts (wind, waves, 
> >temp)
> >HRS  ^H[A-Z][ABCD][A-Z][0-9][0-9] KWB. ([0-3][0-9])([0-2][0-9])..
> >     FILE
> >     
> > data/pub/native/grid/NCEP/SPECTRAL/Global_5x2p5deg/SPECTRAL_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># ocean grid
> >#
> >HRS  ^H[HKLTUV][T-W][ACEIK]93 KWB. ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     
> > data/pub/native/grid/NCEP/OCEAN/Global_2x2deg/OCEAN_Global_2x2deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># NOW and PWAV grids on global 5.0 x 2.5 degree grids
> >HRS  ^H.[A-D]... .... (..)(..).*(/mNOW|/mPWAV)
> >     FILE
> >     
> > data/pub/native/grid/NCEP/OCEAN/Global_5x2p5deg/OCEAN_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># SST grid on global 5.0 x 2.5 degree grids
> >HRS  ^H.[A-D]... .... (..)(..).*/mSST
> >     FILE
> >     
> > data/pub/native/grid/NCEP/SST/Global_5x2p5deg/SST_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># SST grid on global 2.0 x 2.0 degree grid
> >HRS  ^H.[T-W]... .... (..)(..).*/mSST
> >     FILE
> >     
> > data/pub/native/grid/NCEP/SST/Global_2x2deg/SST_Global_2x2deg_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># ECMWF grid on global 2.5 x 2.5 degree grid
> >HRS  ^H.[A-L]... ECMF (..)(..)
> >     FILE
> >     
> > data/pub/native/grid/ECMWF/Global_2p5/ECMWF_Global_2p5_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># ECMWF GRIB products, decode into yymmdd_ecmf#.gem (e1=global,e2=+/-35lat)
> >#
> >#HRS ^H[RHPT][A-L][A-Z][0-9][0-9] ECMF ([0-3][0-9])([0-2][0-9])
> >#    FILE
> >#    data/pub/native/grid/ECMWF/model_xx/ECMWF1_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> >#HRS ^H[UV][A-L][A-Z][0-9][0-9] ECMF ([0-3][0-9])([0-2][0-9])
> >#    FILE
> >#    data/pub/native/grid/ECMWF/model_xx/ECMWF2_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># Global UKMet thinned grids
> >HRS  ^H.[I-P]... EGRR ([0-3][0-9])([0-2][0-9])
> >     FILE
> >     data/pub/native/grid/UKMET/thin/UKMET_(\1:yyyy)(\1:mm)\1_\200.grib1
> >#
> ># other soundings and surface products in BUFR format
> >#
> ># NCEP NAM MODEL BUFR SOUNDING
> ># JUSA41 JUSA42 JUSB43 JUSB44 JUSB45 JUSB46 JUSX47 ? JUSX48 JUSX49 KWNO
> >HRS  ^JUS.41 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM41/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.42 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM42/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.43 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM43/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.44 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM44/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.45 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM45/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.46 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM46/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.47 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM47/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.48 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM48/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >HRS  ^JUS.49 KWNO ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/soundings/NAM49/SoundingNAM_(\1:yyyy)(\1:mm)\1_\200.bufr
> >#
> ># NCEP GFS MODEL BUFR SOUNDING
> ># JUSA41 JUSA42 JUSB43 JUSB44 JUSB45 JUSB46 JUSX47 JUSX48 JUSX49 KWBC
> >HRS  ^JUS.4. KWBC ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/GFS/SoundingVerticalGFS_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Surface data (satellite)
> >#
> >HRS  ^ISXT.. KBOU ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/surface/satellite/SurfaceSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Surface data (satellite)
> >#
> >HRS  ^(ISXX0.|FPAK79|SXUS..|SFUS41|SACN..|PEIK98) .... 
> >([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/surface/satellite1/SurfaceSatellite_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> ># Surface data (satellite)
> >#
> >HRS  ^ISZ.59 .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/surface/satellite2/SurfaceSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Surface data (satellite)
> >#
> >HRS  ^ISXA.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/surface/satellite3/SurfaceSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Surface data (satellite)
> >#
> >HRS  ^(ISXX0.|FPAK79|SXUS..|SFUS41|SACN..|PEIK98) .... 
> >([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/surface/satellite1/SurfaceSatellite_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> ># Single level upper-air data (other than satellite)
> >#
> >HRS  ^IUA... (CWAO|EGRR) ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/singlelevel/aircraft/SoundingSingleLevelAircraft_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> ># Vertical soundings (other than satellite)
> >HRS  ^IUS[TX].[68] KWBC ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/radiosonde8/SoundingVerticalRadiosonde_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Vertical soundings (other than satellite)
> >HRS  ^IUS[TX].2 KWBC ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/radiosonde2/SoundingVerticalRadiosonde_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Vertical soundings (other than satellite)
> >HRS  ^IUS[TX].[13] KWBC ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/radiosonde3/SoundingVerticalRadiosonde_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Vertical soundings (other than satellite)
> >HRS  ^IUS[TX].4 KWBC ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/radiosonde4/SoundingVerticalRadiosonde_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Single level upper-air data (satellite)
> >HRS  ^J.CX.1 KNES ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/singlelevel/satellite/SoundingSingleLevelSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Single level upper-air data (satellite)
> >HRS  ^(IUCN[45678]|IUCS[5678]|JHCX1|JRCX7). .... 
> >([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/singlelevel/satellite1/SoundingSingleLevelSatellite_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> ># Surface data - land
> >#
> >HRS  ^JSAT.. KKCI ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/surface/land/SurfaceLand_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Vertical soundings (satellite)
> >HRS  ^JUTX.. KNES ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/satellite/SoundingVerticalSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >#
> ># Vertical soundings (satellite)
> >HRS  ^IUTX.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/satellite1/SoundingVerticalSatellite_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Vertical soundings (other than satellite)
> >HRS  ^IXUS68 PACR ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/soundings/vertical/wind_profiler/SoundingVerticalWindProfiler_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 7
> >HRS  ^JUVE.. KKCI ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature7/SynopticFeature7_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 6
> >HRS  ^JUCE.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature6/SynopticFeature6_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 5
> >HRS  ^JUFE.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature5/SynopticFeature5_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 4
> >HRS  ^(YUZI96 KWBC|JUBE99 ....) ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature4/SynopticFeature4_(\2:yyyy)(\2:mm)\2_0000.bufr
> >#
> ># Synoptic data feature 3
> >HRS  ^JUVE.. EGRR ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature3/SynopticFeature3_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 2
> >HRS  ^JUTE.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature2/SynopticFeature2_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Synoptic data feature 1
> >HRS  ^JUWE.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     
> > data/pub/native/synoptic/feature1/SynopticFeature1_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >HRS  ^JUVE.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/other/JUV/JUV_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >HRS  ^IUPC0. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/other/IUPC/IUPC_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >HRS  ^JSMT.. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/other/JSMT/JSMT_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >HRS  ^JU[JOMN]E00 .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/other/JUE/JUE_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> >HRS  ^JSML1. .... ([0-3][0-9])([0-2][0-9])([0-9][0-9])
> >     FILE
> >     data/pub/native/other/JSML1/JSML1_(\1:yyyy)(\1:mm)\1_0000.bufr
> >#
> ># Other NMC assorted binary products
> >HRS  ^_ELSE_$
> >     FILE
> >     data/pub/native/other/hrs/%Y%m%d_%H_HRS.wmo
> >#
> ># CMC GEM grid data
> >CMC  
> >CMC_GEM_reg_.*_.*_([12][0-9][0-9][0-9])([0-1][0-9])([0-3][0-9])([0-2][0-9])_(.*).grib
> >     FILE    data/pub/native/grid/CMC/GEM/GEM_\1\2\3_\400.grib1
> >#
> ># FNMOC data available via IDD (NOGAPS & COAMPS grids)
> ># -------------------------
> >FNMOC        ^US058....-.......(0058)_...._.........(....)(..)(..)(..)_(.*)
> >     FILE    data/pub/native/grid/FNMOC/NOGAPS/NOGAPS_\2\3\4_\5_\1_\6
> >FNMOC        
> >^US058....-.......([^0]...|0[^0]..|00[^5].|005[^8])_...._.........(....)(..)(..)(..)_(.*)
> >     FILE    data/pub/native/grid/FNMOC/COAMPS/COAMPS_\2\3\4_\5_\1_\6
> >#
> ># WSETA
> >SPARE        ^(20........)/(model_center.dat)
> >     FILE    -close  data/pub/native/grid/UNIDATA/WSETA/\1_\2
> >SPARE        ^rad/floater/(..........)/(n0r_........_....)
> >     FILE    -close  data/pub/native/grid/UNIDATA/WSETA/n0r/\1/WSETA_\2
> >#
> >#
> ># NPORT
> >#
> >NPORT        ^[LM].B... KWBE ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >     FILE    
> > data/pub/native/grid/NCEP/NAM/CONUS_12km/NAM_CONUS_12km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >NPORT        ^[LM].S... KWBE ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >     FILE    
> > data/pub/native/grid/NCEP/NAM/Alaska_11km/NAM_Alaska_11km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >NPORT        ^[LM].E... KWBD ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >     FILE    
> > data/pub/native/grid/NCEP/DGEX/CONUS_12km/DGEX_CONUS_12km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >NPORT        ^[LM].F... KWBD ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >     FILE    
> > data/pub/native/grid/NCEP/DGEX/Alaska_12km/DGEX_Alaska_12km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >NPORT        ^[LM].U... KWBN ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >     FILE    
> > data/pub/native/grid/NCEP/NDFD/CONUS_5km/NDFD_CONUS_5km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >#NPORT       ^[LM].I... KWBJ ([0-3][0-9])([0-2][0-9])([0-6][0-9])
> >#    FILE    
> >data/pub/native/grid/NCEP/NCEP/GFS/CONUS_191km/GFS_CONUS_191km_(\1:yyyy)(\1:mm)\1_\200.grib2
> >#
> >#
> ># surface data in netCDF format
> >#
> ># metar decoder, creates NetCDF files formated Surface_METAR_yyyymmdd_hh00.nc
> ># All aviation reports including metar tests. old netcdf file format
> >DDS|IDS      ^S(A....|P....|XUS8.) .... ([0-3][0-9])
> >     PIPE    decoders/metar2nc
> >     etc/metar.cdl
> >     data/pub/decoded/netcdf/surface/metarold
> >#
> ># metar decoder, creates NetCDF files with new CDL format on a daily basis
> ># formated data/decoded/yyyymmdd_metar.nc
> >DDS|IDS      ^S(A....|P....|XUS8.) .... ([0-3][0-9])
> >     PIPE    decoders/metar2nc.new1
> >     etc/metar.cdl.new1
> >     data/pub/decoded/netcdf/surface/metar
> >#
> ># upper air perl decoder
> >DDS|IDS      ^U[ABDEFGHIJKLMPQRSTXZ].... .... ([0-3][0-9])
> >     PIPE    decoders/ua2nc
> >     etc/raob.cdl
> >     data/pub/decoded/netcdf/upperair
> >#
> ># buoy reports in yymmddhh_buoy.nc decoded into NetCDF format
> >DDS|IDS      ^S[NS].... .... ([0-3][0-9])
> >     PIPE    decoders/buoy2nc
> >     e,cdl
> >     data/pub/decoded/netcdf/surface/buoy
> >#
> ># Synoptic reports in yymmddhh_syn.nc decoded into NetCDF format
> >DDS|IDS      ^SM.... .... ([0-3][0-9])
> >     PIPE    decoders/syn2nc
> >     etc/syn.cdl
> >     data/pub/decoded/netcdf/surface/synoptic
> >#
> ># grid data in netCDF format
> >#
> ># GFS grid on Lambert conformal CONUS grid replacing avn-q
> >HRS  ^Y.Q... KWB. (..)(..).*/m(AVN|SSIAVN|GFS|SSIGFS)
> >     PIPE    decoders/gribtonc
> >     etc/gfs_211.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/GFS/CONUS_80km/GFS_CONUS_80km_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># GFS grid on thinned grids, interpolated to global 5.0 x 2.5 regular grid
> >HRS  ^H.[I-P]... KWB. (..)(..).*/m(AVN|SSIAVN|GFS|SSIGFS)
> >     PIPE    decoders/gribtonc
> >     -q "lin,dlat=2.5,dlon=5.0" etc/gfs_37-44.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/GFS/Global_5x2p5deg/GFS_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># ECMWF grid on global 2.5 x 2.5 degree grid
> >HRS  ^H.[A-L]... ECMF (..)(..)
> >     PIPE    decoders/gribtonc
> >     etc/ecmwf_1-12.cdl
> >     
> > data/pub/decoded/netcdf/grid/ECMWF/Global_2p5/ECMWF_Global_2p5_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># ETA grid on Lambert conformal CONUS grid
> >HRS  ^[YZ].Q... KWB. (..)(..).*/m(ETA|NAM)
> >     PIPE    decoders/gribtonc
> >     etc/eta_211.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/NAM/CONUS_80km/NAM_CONUS_80km_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># GFS grid on global 5.0 x 5.0 degree grid
> >HRS  ^H.[EF]... KWB. (..)(..)
> >     PIPE    decoders/gribtonc
> >     etc/gfs_25-26.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/GFS/Extended_Global_5p0deg/GFS_Extended_Global_5p0deg_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># NGM grid on Lambert conformal CONUS grid
> >#HRS ^Y.Q... KWB. (..)(..).*/mNGM
> >#    PIPE    decoders/gribtonc
> >#    etc/ngm_211.cdl
> >#    
> >data/pub/decoded/netcdf/grid/NCEP/NGM/CONUS_80km/NGM_CONUS_80km_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># NOW and PWAV grids on global 5.0 x 2.5 degree grids
> >HRS  ^H.[A-D]... .... (..)(..).*(/mNOW|/mPWAV)
> >     PIPE    decoders/gribtonc
> >     etc/ocean_21-24.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/OCEAN/Global_5x2p5deg/OCEAN_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># RUC grid on Lambert conformal CONUS grid
> >HRS  ^[YZ].Q... KWB. (..)(..).*/mRUC
> >     PIPE    decoders/gribtonc
> >     etc/ruc_211.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/RUC/CONUS_80km/RUC_CONUS_80km_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># RUC2 grid on Lambert conformal CONUS grid
> >HRS  ^Y.W... KWB. (..)(..).*/mRUC2
> >     PIPE    decoders/gribtonc
> >     etc/ruc2_236.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/RUC2/CONUS_40km/RUC2_CONUS_40km_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># SST grid on global 5.0 x 2.5 degree grids
> >HRS  ^H.[A-D]... .... (..)(..).*/mSST
> >     PIPE    decoders/gribtonc
> >     etc/sst_21-24.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/SST/Global_5x2p5deg/SST_Global_5x2p5deg_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># SST grid on global 2.0 x 2.0 degree grid
> >HRS  ^H.[T-W]... .... (..)(..).*/mSST
> >     PIPE    decoders/gribtonc
> >     etc/sst_61-64.cdl
> >     
> > data/pub/decoded/netcdf/grid/NCEP/SST/Global_2x2deg/SST_Global_2x2deg_(\1:yyyy)(\1:mm)\1_\200.nc
> >#
> ># png compressed NEXRAD Level III radar composites in GINI format
> >#FNEXRAD             ^rad/NEXRCOMP/(...)/(...)_(........)_(....)
> >#            FILE
> >#            
> >data/pub/native/radar/composite/\2/\1/\3/Level3_Composite_\2_\1_\3_\4.gini
> >#
> >#
> ># NOAAPORT GINI Images
> >#
> ># png compressed NEXRAD Level III radar composites in GINI format
> >FNEXRAD      ^rad/NEXRCOMP/(...)/(...)_(........)_(....)
> >     PIPE    -close
> >     util/pngg2gini -vl logs/ldm-mcidas.log
> >     
> > data/pub/native/radar/composite/\2/\1/\3/Level3_Composite_\2_\1_\3_\4.gini
> >#
> ># end of pqact.thredds
> >#
> >#
> >#PCWS        ^FSL\.NetCDF\.ACARS\.QC\.(...........)
> >#    FILE    -close  data/ucar_only/decoded/netcdf/acars/\1/\1.nc
> >
> >
> >------------------------------------------------------------------------
> >
> ># CONDUIT data directory structure
> >#
> ># pub
> ># pub/native
> ># pub/native/grid
> ># pub/native/grid/NCEP
> >#
> ># pub/native/grid/NCEP/GFS/Global_0p5deg
> ># pub/native/grid/NCEP/GFS/Global_onedeg
> ># pub/native/grid/NCEP/GFS/Global_2p5deg
> >#
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/hybrid
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/pressure
> ># pub/native/grid/NCEP/RUC2/CONUS_20km/surface
> >#
> ># pub/native/grid/NCEP/NAM/Alaska_45km/conduit
> ># pub/native/grid/NCEP/NAM/CONUS_20km/selectsurface
> ># pub/native/grid/NCEP/NAM/CONUS_20km/surface
> ># pub/native/grid/NCEP/NAM/CONUS_40km/conduit
> ># pub/native/grid/NCEP/NAM/Polar_90km
> >#
> ># pub/native/grid/NCEP/GFS/Global_1p0deg_Ensemble
> ># pub/native/grid/NCEP/GFS/Global_2p5deg_Ensemble
> >#
> ># CONDUIT Data actions
> >#
> ># GFS grids
> ># example product
> >#/afs/.nwstg.nws.noaa.gov/ftp/SL.us008001/ST.opnl/MT.gfs_CY.12/RD.20041213/PT.grid_DF.gr1/fh.0078_tl.press_gr.onedeg
> >#!grib2/ncep/AVN/#000/200412131200/F6900/RELH/3300-10000 SGMA!
> >#
> ># GFS grids Global_0p5, Global_onedeg, and Global_2p5 grids
> >CONDUIT              
> >MT.gfs_CY.(..)/RD.(........)/PT.grid_DF.gr([12])/(fh.....)_tl.press_gr.(......)
> >     FILE    -close  
> > data/pub/native/grid/NCEP/GFS/Global_\5/GFS_Global_\5_\2_\100.grib\3
> >#
> ># RUC2 grids
> >#
> ># hybrid
> >CONDUIT              
> >MT.ruc_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.bgrib20
> >     FILE    -close  
> > data/pub/native/grid/NCEP/RUC2/CONUS_20km/hybrid/RUC2_CONUS_20km_hybrid_\2_\100.grib1
> >#
> ># surface
> >CONDUIT              
> >MT.ruc_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.sgrib20
> >     FILE    -close  
> > data/pub/native/grid/NCEP/RUC2/CONUS_20km/surface/RUC2_CONUS_20km_surface_\2_\100.grib1
> >#
> ># pressure
> >CONDUIT              
> >MT.ruc_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.us20km
> >     FILE    -close  
> > data/pub/native/grid/NCEP/RUC2/CONUS_20km/pressure/RUC2_CONUS_20km_pressure_\2_\100.grib1
> >#
> ># NAM grids
> >#
> ># example product
> >#/afs/.nwstg.nws.noaa.gov/ftp/SL.us008001/ST.opnl/MT.nam_CY.12/RD.20050813/PT.grid_DF.gr1/fh.0027_tl.press_gr.awipak
> > !grib/ncep/ETA_84/#216/200508131200/F027/HGT/sfc! 000009
> >#
> ># Alaska_45km
> >CONDUIT              
> >MT.nam_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.(......) 
> >!grib/ncep/ETA_84/#216
> >     FILE    -close  
> > data/pub/native/grid/NCEP/NAM/Alaska_45km/conduit/NAM_Alaska_45km_conduit_\2_\100.grib1
> >#
> ># selectsurface
> >CONDUIT              
> >MT.nam_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.icwf20 
> >!grib/ncep/ETA_84/#215
> >     FILE    -close  
> > data/pub/native/grid/NCEP/NAM/CONUS_20km/selectsurface/NAM_CONUS_20km_selectsurface_\2_\100.grib1
> >#
> ># surface
> >CONDUIT              
> >MT.nam_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.awip20 
> >!grib/ncep/ETA_84/#215
> >     FILE    -close  
> > data/pub/native/grid/NCEP/NAM/CONUS_20km/surface/NAM_CONUS_20km_surface_\2_\100.grib1
> >#
> ># conduit feed
> >CONDUIT              
> >MT.nam_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.(......) 
> >!grib/ncep/ETA_84/#212
> >     FILE    -close  
> > data/pub/native/grid/NCEP/NAM/CONUS_40km/conduit/NAM_CONUS_40km_conduit_\2_\100.grib1
> >#
> ># Polar_90km
> >CONDUIT              
> >MT.nam_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.....)_tl.press_gr.(......) 
> >!grib/ncep/ETA_84/#104
> >     FILE    -close  
> > data/pub/native/grid/NCEP/NAM/Polar_90km/NAM_Polar_90km_\2_\100.grib1
> >#
> ># MRF Ensemble grids
> >#
> ># example products
> >#/afs/.nwstg.nws.noaa.gov/ftp/SL.us008001/ST.opnl/MT.ensg_CY.12/RD.20050812/PT.grid_DF.gr1/fh.xxxx_tl.press_pa.z1000
> > !grib/ncep/AVN/#002/200508121200/F300/HGT/1000_mb! 000040
> >#  
> >/afs/.nwstg.nws.noaa.gov/ftp/SL.us008001/ST.opnl/MT.ensg_CY.12/RD.20050812/PT.grid_DF.gr1/fh.xxxx_tl.press_pa.z1000
> > !grib/ncep/SPEC_62_MRF/#002/200508121200/F006/HGT/1000_mb! 000049
> >#
> ># Global_1p0deg_Ensemble
> >CONDUIT              
> >MT.ensg_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.xxxxhr)_tl.press_pa.(.*) 
> >!grib
> >     FILE    -close  
> > data/pub/native/grid/NCEP/GFS/Global_1p0deg_Ensemble/GFS_Global_1p0deg_Ensemble_\2_\100.grib1
> >#
> ># Global_2p5deg_Ensemble
> >CONDUIT              
> >MT.ensg_CY.(..)/RD.(........)/PT.grid_DF.gr1/(fh.xxxx)_tl.press_pa.(.*) !grib
> >     FILE    -close  
> > data/pub/native/grid/NCEP/GFS/Global_2p5deg_Ensemble/GFS_Global_2p5deg_Ensemble_\2_\100.grib1
> >#
> >#
> >#NMC2|SPARE  ^.status\.(.*) [0-9][0-9][0-9][0-9][0-9][0-9]
> >#    FILE    -close  data/pub/native/other/conduit/status/\1
> >#
> ># Soundings Products
> >#
> ># GFS soundings
> >#CONDUIT             
> >MT.gfs_CY.(..)/RD.(........)/PT.sndn_DF.bufr/(fh.....)_tl.press_gr.(......)
> >#    FILE    -close  
> >data/pub/native/grid/NCEP/GFS/Global_\5/GFS_Global_\5_\2_\100.grib\3
> >
> >
> >------------------------------------------------------------------------
> >
> >#
> ># This pqact defines the directory structure expected by the THREDDS Data 
> >Server
> ># default configuration.  It includes the pqact entries using decoders and 
> >FILE
> ># actions to create the structure. If this pqact is implemented then the
> ># THREDDS Data Server should work without doing any data structure
> ># configurations. Default configuration starting at the ~ldm/data directory:
> >#
> ># pub
> ># pub/native
> ># pub/native/radar/level2/{station}/{day}
> ># pub/native/radar/level3/{day}/{station}/{product}
> >#
> >#
> ># level2 radar from CRAFT  feed
> >#
> >CRAFT        
> >^L2-BZIP2/(....)/([0-9][0-9][0-9][0-9][0-1][0-9][0-3][0-9])([0-2][0-9][0-5][0-9])([0-9][0-9])
> >     FILE    data/pub/native/radar/level2/\1/\2/Level2_\1_\2_\3.ar2v
> >#
> ># level3 radar from NEXRAD feedtype
> >#
> >NNEXRAD      ^SDUS[2357]. .... 
> >([0-3][0-9])([0-2][0-9])([0-6][0-9]).*/p(...)(...)
> >     FILE    -close  
> > data/pub/native/radar/level3/\4/\5/(\1:yyyy)(\1:mm)\1/Level3_\5_\4_(\1:yyyy)(\1:mm)\1_\2\3.nids
> >#
> >
> >
> >------------------------------------------------------------------------
> >
> >#
> ># Configuration file for "manageFilesDirs.pl" utility.
> >#
> ># This utility manages the number of files in a directory structure.
> >#
> ># @param  startdir the directory where to start managing
> ># @param  pattern  the pattern to match files or directories, yyyymmdd is a
> >#      place holder for year, month, day directories
> ># @param  number  the number of days of data to keep
> >#
> ># Once the script matches the pattern, it deletes the files or directories 
> >and
> ># then returns to the directory up one level. It skips files or directories
> ># that are links and prints out a message on files or directories that no
> ># action was taken on it.
> >#
> ># Each line consists of a directory, a pattern, and the number of days to 
> >retain.
> >#
> ># Directory                                          pattern         days
> >#
> >/data/ldm/pub/native/surface/metar                   yyyymmdd        7
> >/data/ldm/pub/native/surface/land                    bufr            7
> >/data/ldm/pub/native/surface/satellite                       bufr            
> >7
> >/data/ldm/pub/native/surface/satellite1                      bufr            
> >7
> >/data/ldm/pub/native/surface/satellite2                      bufr            
> >7
> >/data/ldm/pub/native/surface/satellite3                      bufr            
> >7
> >/data/ldm/pub/native/soundings                               bufr            
> >7
> >/data/ldm/pub/native/synoptic                                bufr            
> >7
> >/data/ldm/pub/native/profiler/bufr                   bufr            7
> >/data/ldm/pub/native/satellite                               yyyymmdd        
> >7
> >/data/ldm/pub/native/radar/level2                    yyyymmdd        7
> >/data/ldm/pub/native/radar/level3                    yyyymmdd        7
> >/data/ldm/pub/native/radar/level3/DPA                        dpa             
> >7
> >/data/ldm/pub/native/radar/composite                 yyyymmdd        7
> >/data/ldm/pub/native/radar/10km_mosaic                       yyyymmdd        
> >7
> >/data/ldm/pub/native/profiler/RASS                   yyyymmdd        7
> >/data/ldm/pub/native/profiler/wind                   yyyymmdd        7
> >/data/ldm/pub/native/nwstg/text                              yyyymmdd        
> >7
> >/data/ldm/pub/native/other/hrs                               HRS.wmo         
> >7
> >/data/ldm/pub/native/other                           bufr            7
> >/data/ldm/pub/native/conduit                         RD.20           2
> >/data/ldm/pub/native/grid/CMC                                grib.$          
> >7
> >/data/ldm/pub/native/grid/ECMWF                              grib.$          
> >7
> >/data/ldm/pub/native/grid/NCEP                               grib.$          
> >7
> >/data/ldm/pub/native/grid/UKMET                              grib.$          
> >7
> >/data/ldm/pub/native/grid/UNIDATA/WSETA/n0r          yyyymmdd        7
> >#
> >/data/ldm/pub/decoded/netcdf/surface                 Surface         7
> >/data/ldm/pub/decoded/netcdf/upperair                        Upperair        
> >7
> >/data/ldm/pub/decoded/netcdf/grid                    nc$             7
> >#
> >
> >
> >------------------------------------------------------------------------
> >
> >#!/usr/bin/perl
> >#
> ># Name:      manageFileDirs.pl
> >#
> ># Author:    Robb Kambic
> ># Date  :    Sept 2, 2005
> >#
> ># Purpose:   manage files in a directory sturcture.
> >#
> ># Description:
> >#
> ># @param  startdir the directory where to start managing
> ># @param  pattern  the pattern to match files or directories, yyyymmdd is a
> >#      place holder for year, month, day directories
> ># @param  number  the number of days to keep
> >#
> ># @param  configuration file that has the above parameters on one line.
> >#
> ># Once the script matches the pattern, it deletes the files or directories 
> >and
> ># then returns to the directory up one level. It skips files or directories
> ># that are links and prints out a message on files or directories that no
> ># action was taken on it.
> >#
> ># process command line switches
> >
> >while ($_ = $ARGV[0], /^-/) {
> >      shift;
> >       last if /^--$/;
> >           /^-D(.*)/ && ($debug = $1);
> >          /^(-v)/ && $verbose++;
> >          /^(-d)/ && ( $startDir = shift ) ;
> >          /^(-p)/ && ( $pattern = shift ) ;
> >          /^(-n)/ && ( $number = shift ) ;
> >          /^(-f)/ && ( $conf = shift ) ;
> >}
> ># configuration file given to process
> >if( defined( $conf ) ) {
> >     print "Start ", `/bin/date`;
> >     open( CONF, "$conf" ) || die "cannot open $conf $!";
> >     while( <CONF> ) {
> >             next if( /^#/ );
> >             chop();
> >             ( $startDir, $pattern, $number ) = split( /\s+/, $_ );
> >             next if( $pattern eq "" || $number eq "" );
> >             startChecking();
> >     }
> >     close CONF;
> >     print "End ", `/bin/date`;
> >} else {
> >     exit 1 if( $pattern eq "" || $number eq "" );
> >     print "Start ", `/bin/date`;
> >     startChecking();
> >     print "End ", `/bin/date`;
> >}
> >
> >sub startChecking {
> >
> >if( ! -d $startDir ) {
> >     print "$startDir doesn't exist\n";
> >     return;
> >}
> >chdir( $startDir );
> >if( $pattern =~ /yyyymmdd/i ) {
> >     $pattern = "^\\d{8}"; # pattern set to 8 digits
> >}
> >opendir( TOP, $startDir ) || die "cannot open $startDir $!";
> >( @TOP ) = readdir( TOP );
> >closedir( TOP );
> >checkDirs( @TOP );
> >
> >} # end startChecking
> >
> ># checkDirs is a recursive routine used to walk the directory structure in a
> ># depth first search for the designated pattern. Once the pattern is found, 
> >it
> ># removes the files/directories in excess of the days to keep.  After 
> >deleting
> ># files or directories matching the pattern, the routine returns up one
> ># directory level.
> >#
> >sub checkDirs{
> >
> >my ( @INODES ) = @_;
> >local( $i, $j, $delete, @subINODES );
> >
> >#print "currently in ", `pwd`;
> >for( $i = 0; $i <= $#INODES; $i++ ) {
> >     # skip ., .., and links
> >     next if( $INODES[ $i ] =~ /^\.$|^\.\.$/ || -l $INODES[ $i ] );
> >     if( $INODES[ $i ] =~ /$pattern/ ) {
> >             print `/bin/date`;
> >             print "currently in ", `pwd`;
> >             # just manage files/dirs matching pattern
> >             $delete = "";
> >             for( $j = 0; $j <= $#INODES; $j++ ) {
> >                     next if( $INODES[ $j ] =~ /^\.$|^\.\.$/ || -l $INODES[ 
> > $j ] );
> >                     next unless ( $INODES[ $j ] =~ /$pattern/ && -M 
> > $INODES[ $j ] > $number );
> >                     $delete = $delete . " $INODES[ $j ]";
> >                     # if grib file delete gbx index and inventory too
> >                     if( $INODES[ $j ] =~ /grib.$/ ) {
> >                             $delete = $delete . " $INODES[ $j ]" . ".gbx";
> >                             $delete = $delete . " $INODES[ $j ]" . 
> > ".fmrInv.xml";
> >                     }
> >                     # if bufr file delete bfx index too
> >                     if( $INODES[ $j ] =~ /bufr$/ ) {
> >                             $delete = $delete . " $INODES[ $j ]" . ".bfx";
> >                     }
> >             }
> >             if( $delete ne "" ) {
> >                     print "`/bin/rm -r $delete`\n";
> >                     `/bin/rm -r $delete`;
> >             }
> >             #print "currently in ", `pwd`;
> >             return;
> >     } elsif( -d $INODES[ $i ] ) {
> >             opendir( DIR, $INODES[ $i ] ) ||
> >                     die "cannot open $INODES[ $i ] $!";
> >             ( @subINODES ) = readdir( DIR );
> >             closedir( DIR );
> >             chdir( $INODES[ $i ] );
> >             #print "currently in ", `pwd`;
> >             checkDirs( @subINODES );
> >             chdir( ".." );
> >             #print "currently in ", `pwd`;
> >     } elsif( $INODES[ $i ] =~ /\.scour/ ) {
> >             print "`/bin/rm $INODES[ $i ]`\n";
> >             `/bin/rm $INODES[ $i ]`;
> >     } else {
> >             print "currently in ", `pwd`;
> >             print "No action taken on $INODES[ $i ]\n";
> >     }
> >}
> >} # end checkDirs
> >
> >
>
>
> --
>
>  Dr. Christopher G. Herbster
>  Associate Professor
>  Director of Science and Technology
>  for the ERAU Weather Center
>  Applied Aviation Sciences
>  Embry-Riddle Aeronautical Univ.
>  600 S. Clyde Morris Blvd.
>  Daytona Beach, FL 32114-3900
>
>  386.226.6444 Office
>  386.226.6446 Weather Center
>  http://wx.erau.edu/
>
>
>

===============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
===============================================================================
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
     parent-child relationships with each other -->

<!-- A "Server" is a singleton element that represents the entire JVM,
     which may contain one or more "Service" instances.  The Server
     listens for a shutdown command on the indicated port.

     Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" or "Loggers" at this level.
 -->

<Server port="8005" shutdown="SHUTDOWN">

  <!-- Comment these entries out to disable JMX MBeans support used for the 
       administration web application -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener 
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener 
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <!-- Global JNDI resources -->
  <GlobalNamingResources>

    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" (and therefore the web applications visible
       within that Container).  Normally, that Container is an "Engine",
       but this is not required.

       Note:  A "Service" is not itself a "Container", so you may not
       define subcomponents such as "Valves" or "Loggers" at this level.
   -->

  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Catalina">

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned.  Each Connector passes requests on to the
         associated "Container" (normally an Engine) for processing.

         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
         You can also enable an SSL HTTP/1.1 Connector on port 8443 by
         following the instructions below and uncommenting the second Connector
         entry.  SSL support requires the following steps (see the SSL Config
         HOWTO in the Tomcat 5 documentation bundle for more detailed
         instructions):
         * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
           later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
         * Execute:
             %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
             $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
           with a password value of "changeit" for both the certificate and
           the keystore itself.

         By default, DNS lookups are enabled when a web application calls
         request.getRemoteHost().  This can have an adverse impact on
         performance, so you can disable it by setting the
         "enableLookups" attribute to "false".  When DNS lookups are disabled,
         request.getRemoteHost() will return the String version of the
         IP address of the remote client.
    -->

    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
     to 0 -->
        
        <!-- Note : To use gzip compression you could set the following 
properties :
        
                           compression="on" 
                           compressionMinSize="2048" 
                           noCompressionUserAgents="gozilla, traviata" 
                           compressableMimeType="text/html,text/xml"
        -->

    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <Connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               keystoreFile="/opt/tomcat/conf/keystore-tomcat"
               clientAuth="false" sslProtocol="TLS" />
   

    <!-- Define an AJP 1.3 Connector on port 8009  -->
    <!--
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    -->

    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082" 
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" acceptCount="100" connectionTimeout="20000"
               proxyPort="80" disableUploadTimeout="true" />
    -->

    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host). -->

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">         
    --> 
         
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">

      <Valve className="org.apache.catalina.valves.RemoteAddrValve" 
deny="18.83.0.150,69.25.71.12,218.62.41.106" />

      <!-- The request dumper valve dumps useful debugging information about
           the request headers and cookies that were received, and the response
           headers and cookies that were sent, for all requests received by
           this instance of Tomcat.  If you care only about requests to a
           particular virtual host, or a particular application, nest this
           element inside the corresponding <Host> or <Context> entry instead.

           For a similar mechanism that is portable to all Servlet 2.4
           containers, check out the "RequestDumperFilter" Filter in the
           example application (the source for this filter may be found in
           "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").

           Request dumping is disabled by default.  Uncomment the following
           element to enable it. -->
      <!--
      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
      -->

      <!-- Because this Realm is here, an instance will be shared globally -->

      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <!-- Comment out the old realm but leave here for now in case we
           need to go back quickly -->
      <!--
      <Realm className="org.apache.catalina.realm.MemoryRealm" />
      -->

      <!-- Replace the above Realm with one of the following to get a Realm
           stored in a database and accessed via JDBC -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm"
             driverName="org.gjt.mm.mysql.Driver"
          connectionURL="jdbc:mysql://localhost/authority"
         connectionName="test" connectionPassword="test"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm"
             driverName="oracle.jdbc.driver.OracleDriver"
          connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
         connectionName="scott" connectionPassword="tiger"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!--
      <Realm  className="org.apache.catalina.realm.JDBCRealm"
             driverName="sun.jdbc.odbc.JdbcOdbcDriver"
          connectionURL="jdbc:odbc:CATALINA"
              userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />
      -->

      <!-- Define the default virtual host
           Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Realm className="org.apache.catalina.realm.MemoryRealm" digest="SHA" />

        <!-- Defines a cluster for this node,
             By defining this element, means that every manager will be changed.
             So when running a cluster, only make sure that you have webapps in 
there
             that need to be clustered and remove the other ones.
             A cluster has the following parameters:

             className = the fully qualified name of the cluster class

             clusterName = a descriptive name for your cluster, can be anything

             mcastAddr = the multicast address, has to be the same for all the 
nodes

             mcastPort = the multicast port, has to be the same for all the 
nodes
             
             mcastBindAddress = bind the multicast socket to a specific address
             
             mcastTTL = the multicast TTL if you want to limit your broadcast
             
             mcastSoTimeout = the multicast readtimeout 

             mcastFrequency = the number of milliseconds in between sending a 
"I'm alive" heartbeat

             mcastDropTime = the number a milliseconds before a node is 
considered "dead" if no heartbeat is received

             tcpThreadCount = the number of threads to handle incoming 
replication requests, optimal would be the same amount of threads as nodes 

             tcpListenAddress = the listen address (bind address) for TCP 
cluster request on this host, 
                                in case of multiple ethernet cards.
                                auto means that address becomes
                                InetAddress.getLocalHost().getHostAddress()

             tcpListenPort = the tcp listen port

             tcpSelectorTimeout = the timeout (ms) for the Selector.select() 
method in case the OS
                                  has a wakup bug in java.nio. Set to 0 for no 
timeout

             printToScreen = true means that managers will also print to std.out

             expireSessionsOnShutdown = true means that 

             useDirtyFlag = true means that we only replicate a session after 
setAttribute,removeAttribute has been called.
                            false means to replicate the session after each 
request.
                            false means that replication would work for the 
following piece of code: (only for SimpleTcpReplicationManager)
                            <%
                            HashMap map = (HashMap)session.getAttribute("map");
                            map.put("key","value");
                            %>
             replicationMode = can be either 'pooled', 'synchronous' or 
'asynchronous'.
                               * Pooled means that the replication happens 
using several sockets in a synchronous way. Ie, the data gets replicated, then 
the request return. This is the same as the 'synchronous' setting except it 
uses a pool of sockets, hence it is multithreaded. This is the fastest and 
safest configuration. To use this, also increase the nr of tcp threads that you 
have dealing with replication.
                               * Synchronous means that the thread that 
executes the request, is also the
                               thread the replicates the data to the other 
nodes, and will not return until all
                               nodes have received the information.
                               * Asynchronous means that there is a specific 
'sender' thread for each cluster node,
                               so the request thread will queue the replication 
request into a "smart" queue,
                               and then return to the client.
                               The "smart" queue is a queue where when a 
session is added to the queue, and the same session
                               already exists in the queue from a previous 
request, that session will be replaced
                               in the queue instead of replicating two 
requests. This almost never happens, unless there is a 
                               large network delay.
        -->             
        <!--
            When configuring for clustering, you also add in a valve to catch 
all the requests
            coming in, at the end of the request, the session may or may not be 
replicated.
            A session is replicated if and only if all the conditions are met:
            1. useDirtyFlag is true or setAttribute or removeAttribute has been 
called AND
            2. a session exists (has been created)
            3. the request is not trapped by the "filter" attribute

            The filter attribute is to filter out requests that could not 
modify the session,
            hence we don't replicate the session after the end of this request.
            The filter is negative, ie, anything you put in the filter, you 
mean to filter out,
            ie, no replication will be done on requests that match one of the 
filters.
            The filter attribute is delimited by ;, so you can't escape out ; 
even if you wanted to.

            filter=".*\.gif;.*\.js;" means that we will not replicate the 
session after requests with the URI
            ending with .gif and .js are intercepted.
            
            The deployer element can be used to deploy apps cluster wide.
            Currently the deployment only deploys/undeploys to working members 
in the cluster
            so no WARs are copied upons startup of a broken node.
            The deployer watches a directory (watchDir) for WAR files when 
watchEnabled="true"
            When a new war file is added the war gets deployed to the local 
instance,
            and then deployed to the other instances in the cluster.
            When a war file is deleted from the watchDir the war is undeployed 
locally 
            and cluster wide
        -->
        
        <!--
        <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true"
                 notifyListenersOnReplication="true">

            <Membership 
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>

            <Receiver 
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="auto"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>

            <Sender
                
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"
                waitForAck="true"/>

            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
                   
            <Deployer 
className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>
                      
            <ClusterListener 
className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>
        -->        



        <!-- Normally, users must authenticate themselves to each web app
             individually.  Uncomment the following entry if you would like
             a user to be authenticated the first time they encounter a
             resource protected by a security constraint, and then have that
             user identity maintained across *all* web applications contained
             in this virtual host. -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all requests for this virtual host.  By
             default, log files are created in the "logs" directory relative to
             $CATALINA_HOME.  If you wish, you can specify a different
             directory with the "directory" attribute.  Specify either a 
relative
             (to $CATALINA_HOME) or absolute path to the desired directory.
        -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        -->

        <!-- Access log processes all requests for this virtual host.  By
             default, log files are created in the "logs" directory relative to
             $CATALINA_HOME.  If you wish, you can specify a different
             directory with the "directory" attribute.  Specify either a 
relative
             (to $CATALINA_HOME) or absolute path to the desired directory.
             This access log implementation is optimized for maximum 
performance,
             but is hardcoded to support only the "common" and "combined" 
patterns.
        -->
        <!--
        <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        -->

      </Host>

    </Engine>

  </Service>

</Server>
<?xml version="1.0" encoding="UTF-8"?>

<catalog xmlns="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; name="Unidata THREDDS Data Server" 
version="1.0.1">

  <dataset name="Realtime data from IDD">

    <catalogRef xlink:href="idd/models.xml" xlink:title="NCEP Model Data" 
name="" />
    <catalogRef xlink:href="idd/radars.xml" xlink:title="NEXRAD Radar" name="" 
/>

    <catalogRef xlink:href="idd/obsData.xml" xlink:title="Station Data" name="" 
/>

    <catalogRef xlink:href="idd/satellite.xml" xlink:title="Satellite Data" 
name="" />

    <catalogRef xlink:href="galeon/catalog.xml" xlink:title="Unidata GALEON 
Experimental Web Coverage Service (WCS) datasets" name="" />

    <catalogRef xlink:href="idd/derived.xml" xlink:title="Processed (netcdf) 
model data" name="" />

  </dataset>

</catalog>