Issue with netcdf classic format


Hello All,

I have been attempting to use the netcdf classic format , but encounter the diagnostic message "One or more variable sizes violate format constraints" when the dimension "chars" is defined. It doesn't seem to me that the constraint of the classic format have been violated. The same works with the netcdf-2 format (but analysis tools don't).

Can anyone identify where I've gone wrong based on the "ncdump -h"
output below?


Thanks much,

- Richard Hedges


--

netcdf fv3347_ee18_1927mv99ATone.cam2.i.0000-09-03-00000 {
dimensions:
        lat = 768 ;
        lon = 1152 ;
        slat = 767 ;
        slon = 1152 ;
        lev = 26 ;
        ilev = 27 ;
        isccp_prs = 7 ;
        isccp_tau = 7 ;
        isccp_prstau = 49 ;
        time = UNLIMITED ; // (1 currently)
        tbnd = 2 ;
        chars = 8 ;
variables:
        double P0 ;
                P0:long_name = "reference pressure" ;
                P0:units = "Pa" ;
        double lat(lat) ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;
        double lon(lon) ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
        double slat(slat) ;
                slat:long_name = "staggered latitude" ;
                slat:units = "degrees_north" ;
        double slon(slon) ;
                slon:long_name = "staggered longitude" ;
                slon:units = "degrees_east" ;
        double w_stag(slat) ;
                w_stag:long_name = "staggered latitude weights" ;
        double lev(lev) ;
                lev:long_name = "hybrid level at midpoints (1000*(A+B))" ;
                lev:units = "level" ;
                lev:positive = "down" ;
lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
                lev:formula_terms = "a: hyam b: hybm p0: P0 ps: PS" ;
        double ilev(ilev) ;
                ilev:long_name = "hybrid level at interfaces (1000*(A+B))" ;
                ilev:units = "level" ;
                ilev:positive = "down" ;
ilev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
                ilev:formula_terms = "a: hyai b: hybi p0: P0 ps: PS" ;
        double isccp_prs(isccp_prs) ;
                isccp_prs:long_name = "Mean ISCCP pressure" ;
                isccp_prs:units = "mb" ;
isccp_prs:isccp_prs_bnds = 0., 180., 310., 440., 560., 680., 800., 1000. ;
        double isccp_tau(isccp_tau) ;
                isccp_tau:long_name = "Mean ISCCP optical depth" ;
                isccp_tau:units = "unitless" ;
isccp_tau:isccp_tau_bnds = 0., 0.3, 1.3, 3.6, 9.4, 23., 60., 379. ;
        double isccp_prstau(isccp_prstau) ;
isccp_prstau:long_name = "Mean pressure (mb).mean optical depth (unitless)/1000" ;
                isccp_prstau:units = "mixed" ;
        double time(time) ;
                time:long_name = "time" ;
                time:units = "days since 0000-09-01 00:00:00" ;
                time:calendar = "noleap" ;
                time:bounds = "time_bnds" ;
        double time_bnds(time, tbnd) ;
                time_bnds:long_name = "time interval endpoints" ;
        char date_written(time, chars) ;
        char time_written(time, chars) ;
        int ntrm ;
                ntrm:long_name = "spectral truncation parameter M" ;
        int ntrn ;
                ntrn:long_name = "spectral truncation parameter N" ;
        int ntrk ;
                ntrk:long_name = "spectral truncation parameter K" ;
        int ndbase ;
                ndbase:long_name = "base day" ;
        int nsbase ;
                nsbase:long_name = "seconds of base day" ;
        int nbdate ;
                nbdate:long_name = "base date (YYYYMMDD)" ;
        int nbsec ;
                nbsec:long_name = "seconds of base date" ;
        int mdt ;
                mdt:long_name = "timestep" ;
                mdt:units = "s" ;
        double hyai(ilev) ;
                hyai:long_name = "hybrid A coefficient at layer interfaces" ;
        double hybi(ilev) ;
                hybi:long_name = "hybrid B coefficient at layer interfaces" ;
        double hyam(lev) ;
                hyam:long_name = "hybrid A coefficient at layer midpoints" ;
        double hybm(lev) ;
                hybm:long_name = "hybrid B coefficient at layer midpoints" ;
        double gw(lat) ;
                gw:long_name = "gauss weights" ;
        int ndcur(time) ;
                ndcur:long_name = "current day (from base day)" ;
        int nscur(time) ;
                nscur:long_name = "current seconds of current day" ;
        int date(time) ;
                date:long_name = "current date (YYYYMMDD)" ;
        double co2vmr(time) ;
                co2vmr:long_name = "co2 volume mixing ratio" ;
        int datesec(time) ;
                datesec:long_name = "current seconds of current date" ;
        int nsteph(time) ;
                nsteph:long_name = "current timestep" ;
        double CLDICE(time, lev, lat, lon) ;
                CLDICE:units = "kg/kg" ;
                CLDICE:long_name = "Grid box averaged ice condensate amount" ;
        double CLDLIQ(time, lev, lat, lon) ;
                CLDLIQ:units = "kg/kg" ;
CLDLIQ:long_name = "Grid box averaged liquid condensate amount" ;
        double CLOUD(time, lev, lat, lon) ;
                CLOUD:units = "fraction" ;
                CLOUD:long_name = "Cloud fraction" ;
        double CONCLD(time, lev, lat, lon) ;
                CONCLD:units = "fraction" ;
                CONCLD:long_name = "Convective cloud fraction" ;
        double CUSH(time, lat, lon) ;
                CUSH:units = "m" ;
                CUSH:long_name = "Convective Scale Height" ;
        double DELP(time, lev, lat, lon) ;
                DELP:units = "Pa" ;
                DELP:long_name = "Del-pressure between level interfaces" ;
        double ICEFRAC(time, lat, lon) ;
                ICEFRAC:units = "fraction" ;
                ICEFRAC:long_name = "Fraction of sfc area covered by sea-ice" ;
        double KVH(time, ilev, lat, lon) ;
                KVH:units = "m2/s" ;
KVH:long_name = "Vertical diffusion diffusivities (heat/moisture)" ;
        double KVM(time, ilev, lat, lon) ;
                KVM:units = "m2/s" ;
                KVM:long_name = "Vertical diffusion diffusivities (momentum)" ;
        double LCWAT(time, lev, lat, lon) ;
                LCWAT:units = "kg/kg" ;
                LCWAT:long_name = "Cloud water (ice + liq" ;
        double PBLH(time, lat, lon) ;
                PBLH:units = "m" ;
                PBLH:long_name = "PBL height" ;
        double PS(time, lat, lon) ;
                PS:units = "Pa" ;
                PS:long_name = "Surface pressure" ;
        double Q(time, lev, lat, lon) ;
                Q:units = "kg/kg" ;
                Q:long_name = "Specific humidity" ;
        double QCWAT(time, lev, lat, lon) ;
                QCWAT:units = "kg/kg" ;
                QCWAT:long_name = "q associated with cloud water" ;
        double QPERT(time, lat, lon) ;
                QPERT:units = "kg/kg" ;
QPERT:long_name = "Perturbation specific humidity (eddies in PBL)" ;
        double SICTHK(time, lat, lon) ;
                SICTHK:units = "m" ;
                SICTHK:long_name = "Sea ice thickness" ;
        double SNOWHICE(time, lat, lon) ;
                SNOWHICE:units = "m" ;
                SNOWHICE:long_name = "Water equivalent snow depth" ;
        double T(time, lev, lat, lon) ;
                T:units = "K" ;
                T:long_name = "Temperature" ;
        double TBOT(time, lat, lon) ;
                TBOT:units = "K" ;
                TBOT:long_name = "Lowest model level temperature" ;
        double TCWAT(time, lev, lat, lon) ;
                TCWAT:units = "kg/kg" ;
                TCWAT:long_name = "T associated with cloud water" ;
        double TKE(time, ilev, lat, lon) ;
                TKE:units = "m2/s2" ;
                TKE:long_name = "Turbulent Kinetic Energy" ;
        double TPERT(time, lat, lon) ;
                TPERT:units = "K" ;
                TPERT:long_name = "Perturbation temperature (eddies in PBL)" ;
        double TS1(time, lat, lon) ;
                TS1:units = "K" ;
                TS1:long_name = "TS1      subsoil temperature" ;
        double TS2(time, lat, lon) ;
                TS2:units = "K" ;
                TS2:long_name = "TS2      subsoil temperature" ;
        double TS3(time, lat, lon) ;                :Version = "$Name$" ;
                TS3:units = "K" ;
                TS3:long_name = "TS3      subsoil temperature" ;
        double TS4(time, lat, lon) ;
                TS4:units = "K" ;
                TS4:long_name = "TS4      subsoil temperature" ;
        double TSICE(time, lat, lon) ;
                TSICE:units = "K" ;
                TSICE:long_name = "Ice temperature" ;
        double TSICERAD(time, lat, lon) ;
                TSICERAD:units = "K" ;
                TSICERAD:long_name = "Radiatively equivalent ice temperature" ;
        double TSOCN(time, lat, lon) ;
                TSOCN:units = "m" ;
                TSOCN:long_name = "Ocean tempertare" ;
        double US(time, lev, slat, lon) ;
                US:units = "m/s" ;
                US:long_name = "Zonal wind, staggered" ;
        double VS(time, lev, lat, slon) ;
                VS:units = "m/s" ;
                VS:long_name = "Meridional wind, staggered" ;

// global attributes:
                :Conventions = "CF-1.0" ;
                :source = "CAM" ;
                :case = "fv3347_ee18_1927mv99ATone" ;
                :title = "" ;
                :logname = "mirin" ;
                :host = "atlas44" ;
                :Version = "$Name$" ;
                :revision_Id = "$Id$" ;
:initial_file = "/p/lscratchb/mirin/cam2data/inputdata/atm/cam/inic/fv/cami_0000-09-01_0.23x0.31_L26_c06110
6.nc" ;
:topography_file = "/p/lscratchb/mirin/cam2data/inputdata/atm/cam/topo/USGS_gtopo30_0.23x0.31_remap_c061107
.nc" ;
:landfrac_file = "/p/lscratchb/mirin/cam2data/inputdata/atm/cam/topo/USGS_gtopo30_0.23x0.31_remap_c061107.n
c" ;
:sst_file = "/p/lscratchb/mirin/cam2data/inputdata/atm/cam/sst/sst_HadOIBl_bc_0.23x0.31_clim_c061106.nc" ;
}



===================================================

Richard Hedges
Scalable I/O Project
Development Environment Group - Livermore Computing
Lawrence Livermore National Laboratory
7000 East Avenue, MS L-557
Livermore, CA   94551

v:      (925) 423-2699
f:      (925) 423-6961
E:      richard-hedges@xxxxxxxx

==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================