[MITgcm-devel] netcdf units in diagnostics pkg

Jean-Michel Campin jmc at ocean.mit.edu
Tue Apr 22 14:53:27 EDT 2008


Hi Martin,

As long as the changes you plan to do are not changing the
binary (MDS) output, it's fine with me.

Just few remaks:
pt 1) not sure, I vaguely remember that the option to select which
levels to get in the output file was (part of) the issue.
pt 2) certainly.
pt 3) I never liked this 1.e+15 stuff ; there had been already 
long discussions (emails) on this subject. And I remember bringing the
argument that for variable at U,V or W point, this special value
is not only depending on the mask (e.g., wVel(k) should be zero and 
not undef if maskC(k) = 0 & maskC(k-1) = 1 ; but the vertical diffusion 
at the same location should be undef, and vertical viscosity which 
is/could be used for bottom friction is fully defined).
And regarding SI_Thick, the special value is "logic" here, since the
"area weighted average Sea-Ice thickness" is not defined where
there is no sea-ice area.
pt 4) Does a special value per file (instead of per field) make sense ?
Would be easier to add in data.diagnostics

Cheers,
Jean-Michel

On Tue, Apr 22, 2008 at 10:39:10AM +0200, Martin Losch wrote:
> Hi,
> is there a reason (other than "hasn't been done yet"), why the netcdf  
> output of the diagnostics package has the following issues?
> 
> 1. there are no "coordinate variables" for the vertical dimension,  
> Xp1 and Yp1, only for time, x, and y:  T(T), X(X), Y(Y). One could  
> easily have Xp1(Xp1), Yp1(Yp1) and Zmd??????(Zmd?????) etc. for all  
> vertical coordinate dimensions. That would make the netcdf files only  
> slightly larger (1D data arrays), but much easier to handle (by third  
> party software and the user).
> 2. X(X) and Y(Y) don't have any attributes (such as long names and  
> units). I suggest to supply long names such as "X/Y-coordinate of C- 
> points" and units "m" for cartesian grids, "Longitute/Latitude of C- 
> points" and "degE/N" for spherical grids and "i/j-index" and "no  
> units" for curvilinear grids.
> 3. some diagnostics fill land points (or zeros in general) with 1e 
> +15  (e.g. SI_Thick), but there is no "fill value" attribute (by  
> COADS conventions "_FillValue" or "missing_value"), that makes these  
> variable very difficult to read and process (just zero would be  
> simpler than 1e+15). Also for SI_Thick not only land values are  
> filled with 1e+15 but also places of zero thickness, which does not  
> seem right to me. We do have land-sea masks in the code.
> 4. in general, there could be an attribute _FillValue for each  
> variable in netcdf files and land points could be filled with  
> _FillValue. It would require a loop like this
> where ( maskC == 0. ) field = fillvalue
> before "field" is passed to the actual writing routine. Is that too  
> expensive?
> 
> I have not had a close look at the combination of mnc and  
> diagnostics, but maybe it's very simple to make these changes. But I  
> don't know if there are any principle reasons for not having these  
> features in there in the first place (such as disagreement which  
> convention to follow ...)
> 
> Martin
> 
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel



More information about the MITgcm-devel mailing list