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

Re: 19990813: NCSNC problem with netCDF v3.4



Carlie,

>Date: Mon, 16 Aug 1999 18:30:18 -0400 (EDT)
>From: Carlie Coats <address@hidden>
>Organization: MCNC/NCSC Environmental Programs
>To: address@hidden (Steve Emmerson)
>Subject: Re: 19990813: NCSNC problem with netCDF v3.4
>Keywords: 199908101517.JAA21345

In the above message, you wrote:

> We can also give you the following information:
> 
>       1.  The problem does not reproduce when the consumer Q runs 
>             under Solaris (we've checked combinations with NFS and 
>             locally mounted, and both Solaris and IRIX producers.

That's good to know.  I've made my testbed and it worked under Solaris.
I'll be testing it under IRIX64 now.

One of the things I found is that the netCDF file must be created by P
and opened by Q with the NC_SHARE mode-bit turned on; otherwise, it
won't work.  Do you know if your P and Q both set that bit?

>         2.  The problem does not reproduce with NFS-mounted files:
>             a.  If the producer P is NFS-mounting the file, which
>                 is local for the consumer Q, the problem does not
>                 happen.
>             b.  Similarly, if the file is local for P and NFS for Q,
>                 the problem does not happen.
>             c.  Running producer P and consumer Q on the same machine,
>                 with  file on a NSF-mounted disk, the problem does not
>                 happen.
>             d.  Running producer P and consumer Q on the same machine,
>                 with file on a locally-mounted disk, the problem
>                 happens.

Good to know.  I'll be testing on local disk.

> 
> cut below here for partial ncdump for the first file we noticed this 
> problem with...
> (Solaris "vi" barfs over "line too long" on some of the trailing 
> CHARACTER attributes 
> 
> ----------------------------------------
> netcdf CHEM_CONC_3D_G1 {
> dimensions:
>       TSTEP = UNLIMITED ; // (4 currently)
>       DATE-TIME = 2 ;
>       LAY = 30 ;
>       VAR = 37 ;
>       ROW = 47 ;
>       COL = 57 ;
> variables:
>       int TFLAG(TSTEP, VAR, DATE-TIME) ;
>               TFLAG:units = "<YYYYDDD,HHMMSS>" ;
>               TFLAG:long_name = "TFLAG           " ;
>               TFLAG:var_desc = "Timestep-valid flags:  (1) YYYYDDD or (2) 
> HHMMSS                                " ;
>       float NO(TSTEP, LAY, ROW, COL) ;
>               NO:long_name = "NO              " ;
>               NO:units = "PPMV            " ;
>               NO:var_desc = "Variable NO               output from RT-MAQSIP  
>                                " ;
>       float NO2(TSTEP, LAY, ROW, COL) ;
>               NO2:long_name = "NO2             " ;
>               NO2:units = "PPMV            " ;
>               NO2:var_desc = "Variable NO2              output from RT-MAQSIP 
>                                 " ;
>       float NO3(TSTEP, LAY, ROW, COL) ;
>               NO3:long_name = "NO3             " ;
>               NO3:units = "PPMV            " ;
>               NO3:var_desc = "Variable NO3              output from RT-MAQSIP 
>                                 " ;
>       float N2O5(TSTEP, LAY, ROW, COL) ;
>               N2O5:long_name = "N2O5            " ;
>               N2O5:units = "PPMV            " ;
>               N2O5:var_desc = "Variable N2O5             output from 
> RT-MAQSIP                                 " ;
>       float HONO(TSTEP, LAY, ROW, COL) ;
>               HONO:long_name = "HONO            " ;
>               HONO:units = "PPMV            " ;
>               HONO:var_desc = "Variable HONO             output from 
> RT-MAQSIP                                 " ;
>       float HNO3(TSTEP, LAY, ROW, COL) ;
>               HNO3:long_name = "HNO3            " ;
>               HNO3:units = "PPMV            " ;
>               HNO3:var_desc = "Variable HNO3             output from 
> RT-MAQSIP                                 " ;
>       float HNO4(TSTEP, LAY, ROW, COL) ;
>               HNO4:long_name = "HNO4            " ;
>               HNO4:units = "PPMV            " ;
>               HNO4:var_desc = "Variable HNO4             output from 
> RT-MAQSIP                                 " ;
>       float O1D(TSTEP, LAY, ROW, COL) ;
>               O1D:long_name = "O1D             " ;
>               O1D:units = "PPMV            " ;
>               O1D:var_desc = "Variable O1D              output from RT-MAQSIP 
>                                 " ;
>       float O3P(TSTEP, LAY, ROW, COL) ;
>               O3P:long_name = "O3P             " ;
>               O3P:units = "PPMV            " ;
>               O3P:var_desc = "Variable O3P              output from RT-MAQSIP 
>                                 " ;
>       float HO(TSTEP, LAY, ROW, COL) ;
>               HO:long_name = "HO              " ;
>               HO:units = "PPMV            " ;
>               HO:var_desc = "Variable HO               output from RT-MAQSIP  
>                                " ;
>       float O3(TSTEP, LAY, ROW, COL) ;
>               O3:long_name = "O3              " ;
>               O3:units = "PPMV            " ;
>               O3:var_desc = "Variable O3               output from RT-MAQSIP  
>                                " ;
>       float HO2(TSTEP, LAY, ROW, COL) ;
>               HO2:long_name = "HO2             " ;
>               HO2:units = "PPMV            " ;
>               HO2:var_desc = "Variable HO2              output from RT-MAQSIP 
>                                 " ;
>       float H2O2(TSTEP, LAY, ROW, COL) ;
>               H2O2:long_name = "H2O2            " ;
>               H2O2:units = "PPMV            " ;
>               H2O2:var_desc = "Variable H2O2             output from 
> RT-MAQSIP                                 " ;
>       float CO(TSTEP, LAY, ROW, COL) ;
>               CO:long_name = "CO              " ;
>               CO:units = "PPMV            " ;
>               CO:var_desc = "Variable CO               output from RT-MAQSIP  
>                                " ;
>       float FORM(TSTEP, LAY, ROW, COL) ;
>               FORM:long_name = "FORM            " ;
>               FORM:units = "PPMV            " ;
>               FORM:var_desc = "Variable FORM             output from 
> RT-MAQSIP                                 " ;
>       float ALD2(TSTEP, LAY, ROW, COL) ;
>               ALD2:long_name = "ALD2            " ;
>               ALD2:units = "PPMV            " ;
>               ALD2:var_desc = "Variable ALD2             output from 
> RT-MAQSIP                                 " ;
>       float C2O3(TSTEP, LAY, ROW, COL) ;
>               C2O3:long_name = "C2O3            " ;
>               C2O3:units = "PPMV            " ;
>               C2O3:var_desc = "Variable C2O3             output from 
> RT-MAQSIP                                 " ;
>       float PAN(TSTEP, LAY, ROW, COL) ;
>               PAN:long_name = "PAN             " ;
>               PAN:units = "PPMV            " ;
>               PAN:var_desc = "Variable PAN              output from RT-MAQSIP 
>                                 " ;
>       float PAR(TSTEP, LAY, ROW, COL) ;
>               PAR:long_name = "PAR             " ;
>               PAR:units = "PPMV            " ;
>               PAR:var_desc = "Variable PAR              output from RT-MAQSIP 
>                                 " ;
>       float ROR(TSTEP, LAY, ROW, COL) ;
>               ROR:long_name = "ROR             " ;
>               ROR:units = "PPMV            " ;
>               ROR:var_desc = "Variable ROR              output from RT-MAQSIP 
>                                 " ;
>       float OLE(TSTEP, LAY, ROW, COL) ;
>               OLE:long_name = "OLE             " ;
>               OLE:units = "PPMV            " ;
>               OLE:var_desc = "Variable OLE              output from RT-MAQSIP 
>                                 " ;
>       float ETH(TSTEP, LAY, ROW, COL) ;
>               ETH:long_name = "ETH             " ;
>               ETH:units = "PPMV            " ;
>               ETH:var_desc = "Variable ETH              output from RT-MAQSIP 
>                                 " ;
>       float TOL(TSTEP, LAY, ROW, COL) ;
>               TOL:long_name = "TOL             " ;
>               TOL:units = "PPMV            " ;
>               TOL:var_desc = "Variable TOL              output from RT-MAQSIP 
>                                 " ;
>       float CRES(TSTEP, LAY, ROW, COL) ;
>               CRES:long_name = "CRES            " ;
>               CRES:units = "PPMV            " ;
>               CRES:var_desc = "Variable CRES             output from 
> RT-MAQSIP                                 " ;
>       float TO2(TSTEP, LAY, ROW, COL) ;
>               TO2:long_name = "TO2             " ;
>               TO2:units = "PPMV            " ;
>               TO2:var_desc = "Variable TO2              output from RT-MAQSIP 
>                                 " ;
>       float CRO(TSTEP, LAY, ROW, COL) ;
>               CRO:long_name = "CRO             " ;
>               CRO:units = "PPMV            " ;
>               CRO:var_desc = "Variable CRO              output from RT-MAQSIP 
>                                 " ;
>       float OPEN(TSTEP, LAY, ROW, COL) ;
>               OPEN:long_name = "OPEN            " ;
>               OPEN:units = "PPMV            " ;
>               OPEN:var_desc = "Variable OPEN             output from 
> RT-MAQSIP                                 " ;
>       float XYL(TSTEP, LAY, ROW, COL) ;
>               XYL:long_name = "XYL             " ;
>               XYL:units = "PPMV            " ;
>               XYL:var_desc = "Variable XYL              output from RT-MAQSIP 
>                                 " ;
>       float MGLY(TSTEP, LAY, ROW, COL) ;
>               MGLY:long_name = "MGLY            " ;
>               MGLY:units = "PPMV            " ;
>               MGLY:var_desc = "Variable MGLY             output from 
> RT-MAQSIP                                 " ;
>       float ISOP(TSTEP, LAY, ROW, COL) ;
>               ISOP:long_name = "ISOP            " ;
>               ISOP:units = "PPMV            " ;
>               ISOP:var_desc = "Variable ISOP             output from 
> RT-MAQSIP                                 " ;
>       float XO2(TSTEP, LAY, ROW, COL) ;
>               XO2:long_name = "XO2             " ;
>               XO2:units = "PPMV            " ;
>               XO2:var_desc = "Variable XO2              output from RT-MAQSIP 
>                                 " ;
>       float XO2N(TSTEP, LAY, ROW, COL) ;
>               XO2N:long_name = "XO2N            " ;
>               XO2N:units = "PPMV            " ;
>               XO2N:var_desc = "Variable XO2N             output from 
> RT-MAQSIP                                 " ;
>       float SO2(TSTEP, LAY, ROW, COL) ;
>               SO2:long_name = "SO2             " ;
>               SO2:units = "PPMV            " ;
>               SO2:var_desc = "Variable SO2              output from RT-MAQSIP 
>                                 " ;
>       float SULF(TSTEP, LAY, ROW, COL) ;
>               SULF:long_name = "SULF            " ;
>               SULF:units = "PPMV            " ;
>               SULF:var_desc = "Variable SULF             output from 
> RT-MAQSIP                                 " ;
>       float NH3(TSTEP, LAY, ROW, COL) ;
>               NH3:long_name = "NH3             " ;
>               NH3:units = "PPMV            " ;
>               NH3:var_desc = "Variable NH3              output from RT-MAQSIP 
>                                 " ;
>       float CH4(TSTEP, LAY, ROW, COL) ;
>               CH4:long_name = "CH4             " ;
>               CH4:units = "PPMV            " ;
>               CH4:var_desc = "Variable CH4              output from RT-MAQSIP 
>                                 " ;
>       float ISPD(TSTEP, LAY, ROW, COL) ;
>               ISPD:long_name = "ISPD            " ;
>               ISPD:units = "PPMV            " ;
>               ISPD:var_desc = "Variable ISPD             output from 
> RT-MAQSIP                                 " ;
> 
> // global attributes:
>               :IOAPI_VERSION = "1.0 1997349 (Dec. 15, 1997)" ;
>               :EXEC_ID = "Coats:  Private Testing                             
>                             " ;
>               :FTYPE = 1 ;
>               :CDATE = 1999225 ;
>               :CTIME = 33021 ;
>               :WDATE = 1999225 ;
>               :WTIME = 33021 ;
>               :SDATE = 1999224 ;
>               :STIME = 0 ;
>               :TSTEP = 10000 ;
>               :NTHIK = 1 ;
>               :NCOLS = 57 ;
>               :NROWS = 47 ;
>               :NLAYS = 30 ;
>               :NVARS = 37 ;
>               :GDTYP = 2 ;
>               :P_ALP = 30. ;
>               :P_BET = 60. ;
>               :P_GAM = -95. ;
>               :XCENT = -95. ;
>               :YCENT = 39. ;
>               :XORIG = -787500. ;
>               :YORIG = -1552500. ;
>               :XCELL = 45000. ;
>               :YCELL = 45000. ;
>               :VGTYP = 2 ;
>               :VGTOP = 100.f ;
>               :VGLVLS = 1.f, 0.9919998f, 0.9800002f, 0.9659999f, 0.9500001f, 
> 0.934f, 0.918f, 0.9019999f, 0.8860001f, 0.8659999f, 0.8420001f, 0.814f, 
> 0.78f, 0.7399999f, 0.6940001f, 0.6479999f, 0.6000001f, 0.5559999f, 
> 0.5100001f, 0.4639999f, 0.418f, 0.372f, 0.326f, 0.282f, 0.24f, 0.198f, 
> 0.156f, 0.114f, 0.074f, 0.036f, 0.f ;
>               :GDNAM = "RTIME01T45_CRO  " ;
>               :UPNAM = "DRIVER          " ;
>               :VAR-LIST = "NO              NO2             NO3             
> N2O5            HONO            HNO3            HNO4            O1D           
>   O3P             HO              O3              HO2             H2O2        
>     CO              FORM            ALD2            C2O3            PAN       
>       PAR             ROR             OLE             ETH             TOL     
>         CRES            TO2             CRO             OPEN            XYL   
>           MGLY            ISOP            XO2             XO2N            SO2 
>             SULF            NH3             CH4             ISPD            " 
> ;

--------
Steve Emmerson   <http://www.unidata.ucar.edu>