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

Re: 20010409: cdl files for gribtonc



On Mon, 9 Apr 2001, Unidata Support wrote:

> 
> ------- Forwarded Message
> 
> >To: address@hidden
> >From: Todd Fake <address@hidden>
> >Subject: cdl files
> >Organization: UCAR/Unidata
> >Keywords: 200104091942.f39JgcL05476
> 
> 
> what cdl files do I use to decode grib files from the ETA model output
> from june to august of year 2000?


Todd,

I would use the eta.cdl file that's in the ftp/pub/decoders/  directory.
The cdl in the directory are later than the distribution, cdls change more
often then the code.  If you have a problem, let me know.  I also attached
the latest eta.cdl


> 
> Todd Fake
> 
> 
> 
> -- 
> ********************************************************************
> * Todd Fake                    Direct:      (860) 405-9067         * 
> * Dept of Marine Sciences      Admin Asst:  (860) 405-9151 or 9152 *
> * University of Connecticut    FAX:         (860) 405-9153         * 
> * 1084 Shennecossett Road      E-mail: address@hidden   *
> * Groton, CT  06340            Web: marinet.dms.uconn.edu          *
> ********************************************************************
> 
> 
> ------- End of Forwarded Message
> 
> 

===============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
===============================================================================
netcdf eta {            // ETA 80km model on Lambert conformal CONUS grid

dimensions:

        record = UNLIMITED ;    // (reference time, forecast time)
        level = 19 ;            // isobaric levels for most parameters
        level_c = 5 ;           // isobaric levels for absolute vorticity
        fhg = 2 ;               // fixed height above ground levels
        lpdg = 5 ;              // boundary layer levels
        lpdg_bndry = 1 ;        // boundary layer
        lpdg_bndry30 = 1 ;      // boundary layer 0-30
        ls_sfc = 1 ;            // surface layer
        lfhg = 1 ;              // layer between 2 heights above ground
        x =  93 ;
        y =  65 ;
        datetime_len = 21 ;     // string length for datetime strings
        nmodels = 3 ;           // both 80km and 48km models
        accum = 2 ;             // time range for accumulations
        nav = 1 ;               // For navigation.  Variables that use
                                // this dimension define a mapping between
                                // (x,y) indices and (lat,lon) coords.

        nav_len = 100 ;         // max length for navigation character strings


variables:

        double  reftime(record) ;       // reference time of the model
                reftime:long_name = "reference time" ;
                reftime:units = "hours since 1992-1-1" ;

        double  valtime(record) ;       // forecast time ("valid" time)
                valtime:long_name = "valid time" ;
                valtime:units = "hours since 1992-1-1" ;

        :record = "reftime, valtime" ;  // "dimension attribute" -- means
                                        // (reftime, valtime) uniquely
                                        // determine record

        char    datetime(record, datetime_len) ; // derived from reftime
                datetime:long_name = "reference date and time" ;
                // units YYYY-MM-DD hh:mm:ssZ  (ISO 8601)

        float   valtime_offset(record) ; // derived as valtime-reftime
                valtime_offset:long_name = "hours from reference time" ;
                valtime_offset:units = "hours" ;

        float   level(level) ;
                level:long_name = "level" ;
                level:units = "hectopascals" ;

        float   level_c(level_c) ;
                level_c:long_name = "level subset" ;
                level_c:units = "hectopascals" ;

        float   fhg(fhg) ;              // fixed height above ground
                fhg:long_name = "fixed height above ground" ;
                fhg:units = "meters" ;

        :lpdg = "lpdg_bot, lpdg_top" ;
                
        float   lpdg_bot(lpdg) ;
                lpdg_bot:long_name = "bottom level of layer between 2 presure 
levels" ;
                lpdg_bot:units = "hPa" ;
                
        float   lpdg_top(lpdg) ;
                lpdg_top:long_name = "top level of layer between 2 presure 
levels" ;
                lpdg_top:units = "hPa" ;

        :lpdg_bndry = "lpdg_bndry_bot, lpdg_bndry_top" ;
                
        float   lpdg_bndry_bot(lpdg_bndry) ;
                lpdg_bndry_bot:long_name = "bottom level of boundary layer 
between 2 pressure levels" ;
                lpdg_bndry_bot:units = "hPa" ;
                
        float   lpdg_bndry_top(lpdg_bndry) ;
                lpdg_bndry_top:long_name = "top level of boundary layer between 
2 pressure levels" ;
                lpdg_bndry_top:units = "hPa" ;

        :lpdg_bndry30 = "lpdg_bndry30_bot, lpdg_bndry30_top" ;
                
        float   lpdg_bndry30_bot(lpdg_bndry30) ;
                lpdg_bndry30_bot:long_name = "bottom level of boundary layer 
between 2 pressure levels" ;
                lpdg_bndry30_bot:units = "hPa" ;
                
        float   lpdg_bndry30_top(lpdg_bndry30) ;
                lpdg_bndry30_top:long_name = "top level of boundary layer 
between 2 pressure levels" ;
                lpdg_bndry30_top:units = "hPa" ;

        :ls_sfc = "ls_sfc_bot, ls_sfc_top" ;
                
        float   ls_sfc_bot(ls_sfc) ;
                ls_sfc_bot:long_name = "bottom level of surface layer between 2 
sigma levels" ;
                ls_sfc_bot:units = "" ;    // dimensionless
                
        float   ls_sfc_top(ls_sfc) ;
                ls_sfc_top:long_name = "top level of surface layer between 2 
sigma levels" ;
                ls_sfc_top:units = "" ;

        :lfhg = "lfhg_bot, lfhg_top" ;
                
        float   lfhg_bot(lfhg) ;
                lfhg_bot:long_name = "bottom level of layer between 2 fixed 
heights above ground" ;
                lfhg_bot:units = "meters" ;
                
        float   lfhg_top(lfhg) ;
                lfhg_top:long_name = "top level of layer between 2 fixed 
heights above ground" ;
                lfhg_top:units = "meters" ;

        int     model_id(nmodels) ;
                model_id:long_name = "generating process ID number" ;

        // navigation variables all use nav dimension

        char    nav_model(nav, nav_len) ;        // navigation parameterization
                nav_model:long_name = "navigation model name" ;

        int     grid_type_code(nav) ;
                grid_type_code:long_name = "GRIB-1 GDS data representation 
type" ;

        char    grid_type(nav, nav_len) ;
                grid_type:long_name = "GRIB-1 grid type" ;

        char    grid_name(nav, nav_len) ;
                grid_name:long_name = "grid name" ;

        int     grid_center(nav) ;
                grid_center:long_name = "GRIB-1 originating center ID" ;

        int     grid_number(nav) ;
                grid_number:long_name = "GRIB-1 catalogued grid number" ;

        char    earth_shape(nav, nav_len) ;
                earth_shape:long_name = "assumed earth shape" ;

        char    x_dim(nav, nav_len) ;
                x_dim:long_name = "x dimension name" ;

        char    y_dim(nav, nav_len) ;
                y_dim:long_name = "y dimension name" ;

        int     Nx(nav) ;
                Nx:long_name = "number of points along x-axis" ;

        int     Ny(nav) ;
                Ny:long_name =  "number of points along y-axis" ;

        float   La1(nav) ;
                La1:long_name = "latitude of first grid point" ;
                La1:units = "degrees_north" ;

        float   Lo1(nav) ;
                Lo1:long_name = "longitude of first grid point" ;
                Lo1:units = "degrees_east" ;

        byte    ResCompFlag(nav) ;
                ResCompFlag:long_name = "resolution and component flags" ;

        float   Lov(nav) ;
                Lov:long_name = "orientation of the grid" ;
                Lov:units = "degrees_east" ;

        float   Dx(nav) ;
                Dx:long_name = "x-direction grid length" ;
                Dx:units = "meters" ;

        float   Dy(nav) ;
                Dy:long_name = "y-direction grid length" ;
                Dy:units = "meters" ;

        byte    ProjFlag(nav) ;
                ProjFlag:long_name = "projection center flag" ;

        float   Latin1(nav) ;
                Latin1:long_name = "first intersecting latitude" ;
                Latin1:units = "degrees_north" ;

        float   Latin2(nav) ;
                Latin2:long_name = "second intersecting latitude" ;
                Latin2:units = "degrees_north" ;

        float   SpLat(nav) ;
                SpLat:long_name = "latitude of the southern pole" ;
                SpLat:units = "degrees_north" ;

        float   SpLon(nav) ;
                SpLon:long_name = "longitude of the southern pole" ;
                SpLon:units = "degrees_east" ;

        // end of navigation variables

// global attributes:
                :history = "created by gribtonc from HDS broadcast" ;
                :title = "NCEP Global Product Set" ;
                :Conventions = "NUWG" ;
                :version = 0.0 ;                // still just a draft

        float   LI4_lpdg(record, lpdg_bndry, y, x) ;
                LI4_lpdg:long_name = "best (4 layer) lifted index" ;
                LI4_lpdg:units = "degK" ;
                LI4_lpdg:_FillValue = -9999.f ;
                LI4_lpdg:navigation = "nav" ;

        float   pli_lpdg(record, lpdg_bndry30, y, x) ;
                pli_lpdg:long_name = "parcel lifted index(to 500 hPa)" ;
                pli_lpdg:units = "degK" ;
                pli_lpdg:_FillValue = -9999.f ;
                pli_lpdg:navigation = "nav" ;

        float   PRECIP(record, y, x) ;
                PRECIP:long_name = "total precipitation over accumulation 
interval" ;
                PRECIP:units = "kg/m2" ;
                PRECIP:_FillValue = -9999.f ;
                PRECIP:navigation = "nav" ;

        float   PRECIP_accum_times(record, accum) ;
                PRECIP_accum_times:long_name = "precipitation accumulation 
interval" ;
                PRECIP_accum_times:units = "hours" ;
                PRECIP_accum_times:_FillValue = -9999.f ;

        float   P_sfc(record, y, x) ;
                P_sfc:long_name = "pressure at surface" ;
                P_sfc:units = "Pa" ;
                P_sfc:_FillValue = -9999.f ;
                P_sfc:navigation = "nav" ;

        float   Psl_et(record, y, x) ;
                Psl_et:long_name = "mean sea level pressure (ETA model 
reduction)" ;
                Psl_et:units = "Pa" ;
                Psl_et:_FillValue = -9999.f ;
                Psl_et:navigation = "nav" ;

        float   RH(record, level, y, x) ;
                RH:long_name = "relative humidity" ;
                RH:units = "percent" ;
                RH:_FillValue = -9999.f ;
                RH:navigation = "nav" ;

        float   T(record, level, y, x) ;
                T:long_name = "temperature" ;
                T:units = "degK" ;
                T:_FillValue = -9999.f ;
                T:navigation = "nav" ;

        float   Z(record, level, y, x) ;
                Z:long_name = "geopotential height" ;
                Z:units = "gp m" ;
                Z:_FillValue = -9999.f ;
                Z:navigation = "nav" ;

        float   Z_sfc(y, x) ;
                Z_sfc:long_name = "terrain" ;
                Z_sfc:units = "gp m" ;
                Z_sfc:_FillValue = -9999.f ;
                Z_sfc:navigation = "nav" ;

        float   omega(record, level, y, x) ;
                omega:long_name = "pressure vertical velocity" ;
                omega:units = "Pa/s" ;
                omega:_FillValue = -9999.f ;
                omega:navigation = "nav" ;

        float   precip_cn(record, y, x) ;
                precip_cn:long_name = "convective precipitation over 
accumulation interval" ;
                precip_cn:units = "kg/m2" ;
                precip_cn:_FillValue = -9999.f ;
                precip_cn:navigation = "nav" ;

        float   precip_cn_accum_times(record, accum) ;
                precip_cn_accum_times:long_name = "convective precipitation 
accumulation interval" ;
                precip_cn_accum_times:units = "hours" ;
                precip_cn_accum_times:_FillValue = -9999.f ;

        float   u(record, level, y, x) ;
                u:long_name = "u-component of wind" ;
                u:units = "meters/second" ;
                u:_FillValue = -9999.f ;
                u:navigation = "nav" ;

        float   v(record, level, y, x) ;
                v:long_name = "v-component of wind" ;
                v:units = "meters/second" ;
                v:_FillValue = -9999.f ;
                v:navigation = "nav" ;

        float   absvor(record, level_c, y, x) ;
                absvor:long_name = "absolute vorticity" ;
                absvor:units = "1/s" ;
                absvor:_FillValue = -9999.f ;
                absvor:navigation = "nav" ;

        float   pr_water_atm(record, y, x) ; // entire atmosphere as single 
layer
                pr_water_atm:long_name = "precipitable water" ;
                pr_water_atm:units = "kg/m2" ;
                pr_water_atm:_FillValue = -9999.f ;
                pr_water_atm:navigation = "nav" ;

        float   u_fhg(record, fhg, y, x) ;
                u_fhg:long_name = "u-component of wind at fixed height above 
ground" ;
                u_fhg:units = "meters/second" ;
                u_fhg:_FillValue = -9999.f ;
                u_fhg:navigation = "nav" ;

        float   v_fhg(record, fhg, y, x) ;
                v_fhg:long_name = "v-component of wind at fixed height above 
ground" ;
                v_fhg:units = "meters/second" ;
                v_fhg:_FillValue = -9999.f ;
                v_fhg:navigation = "nav" ;

        float   RH_fhg(record, fhg, y, x) ;
                RH_fhg:long_name = "relative humidity at fixed height above 
ground" ;
                RH_fhg:units = "percent" ;
                RH_fhg:_FillValue = -9999.f ;
                RH_fhg:navigation = "nav" ;

        float   T_fhg(record, fhg, y, x) ;
                T_fhg:long_name = "temperature at fixed height above ground" ;
                T_fhg:units = "degK" ;
                T_fhg:_FillValue = -9999.f ;
                T_fhg:navigation = "nav" ;

        float   cin_sfc(record, y, x) ;
                cin_sfc:long_name = "surface convective inhibition" ;
                cin_sfc:units = "J/kg" ;
                cin_sfc:_FillValue = -9999.f ;
                cin_sfc:navigation = "nav" ;

        float   cape_sfc(record, y, x) ;
                cape_sfc:long_name = "surface convective available potential 
energy" ;
                cape_sfc:units = "J/kg" ;
                cape_sfc:_FillValue = -9999.f ;
                cape_sfc:navigation = "nav" ;

        float   cin_lpdg(record, lpdg_bndry, y, x) ;
                cin_lpdg:long_name = "boundary convective inhibition" ;
                cin_lpdg:units = "J/kg" ;
                cin_lpdg:_FillValue = -9999.f ;
                cin_lpdg:navigation = "nav" ;

        float   cape_lpdg(record, lpdg_bndry, y, x) ;
                cape_lpdg:long_name = "boundary convective available potential 
energy" ;
                cape_lpdg:units = "J/kg" ;
                cape_lpdg:_FillValue = -9999.f ;
                cape_lpdg:navigation = "nav" ;

        float   helc_lfhg(record, lfhg, y, x) ;
                helc_lfhg:long_name = "helicity" ;
                helc_lfhg:units = "meters2/seconds2" ;
                helc_lfhg:_FillValue = -9999.f ;
                helc_lfhg:navigation = "nav" ;

        float   RH_lpdg(record, lpdg, y, x) ;
                RH_lpdg:long_name = "relative humidity in boundary layer" ;
                RH_lpdg:units = "percent" ;
                RH_lpdg:_FillValue = -9999.f ;
                RH_lpdg:navigation = "nav" ;

        float   u_lpdg(record, lpdg, y, x) ;
                u_lpdg:long_name = "u-component of wind in boundary layer" ;
                u_lpdg:units = "meters/second" ;
                u_lpdg:_FillValue = -9999.f ;
                u_lpdg:navigation = "nav" ;

        float   v_lpdg(record, lpdg, y, x) ;
                v_lpdg:long_name = "v-component of wind in boundary layer" ;
                v_lpdg:units = "meters/second" ;
                v_lpdg:_FillValue = -9999.f ;
                v_lpdg:navigation = "nav" ;

        float   T_lpdg(record, lpdg, y, x) ;
                T_lpdg:long_name = "temperature in boundary layer" ;
                T_lpdg:units = "degK" ;
                T_lpdg:_FillValue = -9999.f ;
                T_lpdg:navigation = "nav" ;

data:

 level = 1000, 950, 900, 850, 800, 750, 700, 650, 600, 550, 
          500, 450, 400, 350, 300, 250, 200, 150, 100 ;
 level_c = 1000, 850, 700, 500, 250 ;
 fhg = 2, 10 ;
 lpdg_top = 30, 60, 90, 120, 150 ;
 lpdg_bot = 0, 30, 60, 90, 120 ;
 lpdg_bndry_top = 180 ;
 lpdg_bndry_bot = 0 ;
 lpdg_bndry30_top = 30 ;
 lpdg_bndry30_bot = 0 ;
 ls_sfc_top = .97 ;
 ls_sfc_bot = .99 ;
 lfhg_top = 3000 ;
 lfhg_bot = 0 ;
 model_id = 83, 84, 89 ;

 // Navigation
 nav_model = "GRIB1" ;
 grid_type_code = 3 ;
 grid_type  = "Lambert conformal" ;
 grid_name = "AWIPS grid 211: Regional CONUS" ;
 grid_center = 7 ;
 grid_number = 211 ;
 earth_shape = "oblate spheroid (IAU 1965)" ;
 x_dim = "x" ;
 y_dim = "y" ;
 Nx = 93 ;
 Ny = 65 ;
 La1 = 12.190 ;
 Lo1 = -133.459 ;
 ResCompFlag = 8 ;
 Lov = -95.0 ;
 Dx = 81271 ;
 Dy = 81271 ;
 ProjFlag = 0 ;
 Latin1 = 25.0 ;
 Latin2 = 25.0 ;
 SpLat = 0.0 ;
 SpLon = 0.0 ;
}