[Thread Prev][Thread Next][Index]

[ferret_users] Re:(pas de sujet)



Hi Xavier,
(Ferret_users, I asked Xavier to send me the header from his finite element netcdf file, which is attached below)

We do not yet support this kind of file, but are moving towards the CF standard for netcdf files; they call this concept cell boundaries. We have implemented the 1-D cell boundaries they describe, but not the ones for multi-dimensional variables. The CF document is at

http://www.cgd.ucar.edu/cms/eaton/cf-metadata/CF-1.0.html

And the description of cell boundaries can be found in that document at

http://www.cgd.ucar.edu/cms/eaton/cf-metadata/CF-1.0.html#int

I am glad to get your header as an example of how this kind of description is implemented in practice. The organization of the header and some attribute names are different, but in general it looks similar to what the CF standard describes.

For your data file, you might be able to use Ferret now. If the lat and lon variables describe a rectangular grid, then it should be possible to use the variables lat, lon, time, and depth to define a grid and regrid the variables to that grid.Some of the attribute names might need to be changed to those that the CF standard uses. This could be done with NCO tools: http://nco.sourceforge.net/

Ansey

Xavier Couvelard wrote:

hi
Thanks for your answer.
I was having a new computer, so i d to stop my work for few days.

the header file is:

dimensions:
M = 9146 ;
N = 17526 ;
P = 3 ;
Z = 31 ;
ZI = 3 ;
ZI1 = 2 ;
T = UNLIMITED ; // (620 currently)
variables:
double time(T) ;
time:units = "seconds" ;
time:calendar = "gregorian" ;
time:long_name = "Time elasped in seconds since time_origin" ;
time:title = "Time" ;
time:time_origin = "1950-JAN-01 00:00:00" ;
double lon(M) ;
lon:units = "degrees_east" ;
lon:valid_min = -180. ;
lon:valid_max = 180. ;
lon:long_name = "longitude" ;
lon:standard_name = "longitude" ;
lon:subgrid = "point" ;
lon:axis = "M" ;
double lat(M) ;
lat:units = "degrees_north" ;
lat:valid_min = -90. ;
lat:valid_max = 90. ;
lat:long_name = "latitude" ;
lat:standard_name = "latitude" ;
lat:subgrid = "point" ;
lat:axis = "M" ;
int element(N, P) ;
element:long_name = "element_connectivity" ;
element:standard_name = "element" ;
element:subgrid = "cell" ;
element:axis = "NP" ;
float depth(M) ;
depth:long_name = "model_positive_depth_node" ;
depth:short_name = "depthv" ;
depth:units = "m" ;
depth:scale_factor = 1. ;
depth:add_offset = 0. ;
depth:associate = "lon lat" ;
depth:subgrid = "point" ;
depth:axis = "M" ;
float sigma(M, Z) ;
sigma:long_name = "generalized sigma coordinate at nodes" ;
sigma:standard_name = "general_ocean_sigma_coordinate_node" ;
sigma:short_name = "sigma" ;
sigma:units = "1" ;
sigma:scale_factor = 1. ;
sigma:add_offset = 0. ;
sigma:associate = "lon lat" ;
sigma:subgrid = "point" ;
sigma:axis = "MZ" ;
sigma:positive = "up" ;
short surfelev(T, M) ;
surfelev:standard_name = "surface_elevation_node" ;
surfelev:long_name = "surface elevation node" ;
surfelev:short_name = "surfelevv" ;
surfelev:units = "m" ;
surfelev:scale_factor = 0.001 ;
surfelev:add_offset = 0. ;
surfelev:associate = "lon lat" ;
surfelev:subgrid = "point" ;
surfelev:axis = "M" ;
short ubar(T, M) ;
ubar:standard_name = "eastward_sea_water_barotropic_velocity" ;
ubar:long_name = "eastward sea water barotropic velocity" ;
ubar:short_name = "ubar" ;
ubar:units = "m/s" ;
ubar:scale_factor = 0.001 ;
ubar:add_offset = 0. ;
ubar:associate = "time lon lat" ;
ubar:subgrid = "point" ;
ubar:axis = "TM" ;
short vbar(T, M) ;
vbar:standard_name = "northward_sea_water_barotropic_velocity" ;
vbar:long_name = "northward sea water barotropic velocity" ;
vbar:short_name = "vbar" ;
vbar:units = "m/s" ;
vbar:scale_factor = 0.001 ;
vbar:add_offset = 0. ;
vbar:associate = "time lon lat" ;
vbar:subgrid = "point" ;
vbar:axis = "TM" ;
short U(T, M, Z) ;
U:standard_name = "eastward_sea_water_velocity" ;
U:long_name = "eastward sea water velocity" ;
U:short_name = "U" ;
U:units = "m/s" ;
U:scale_factor = 0.001 ;
U:add_offset = 0. ;
U:associate = "time lon lat sigma" ;
U:axis = "TMZ" ;
U:subgrid = "point" ;
U:_FillValue = -32768s ;
U:missing_value = -32768s ;
short V(T, M, Z) ;
V:standard_name = "northward_sea_water_velocity" ;
V:long_name = "northward sea water velocity" ;
V:short_name = "V" ;
V:units = "m/s" ;
V:scale_factor = 0.001 ;
V:add_offset = 0. ;
V:associate = "time lon lat sigma" ;
V:axis = "TMZ" ;
V:subgrid = "point" ;
V:_FillValue = -32768s ;
V:missing_value = -32768s ;
short W(T, M, Z) ;
W:standard_name = "sea_water_true_vertical_velocity" ;
W:long_name = "sea water true vertical velocity" ;
W:short_name = "W" ;
W:units = "m/s" ;
W:scale_factor = 1.e-05 ;
W:add_offset = 0. ;
W:associate = "time lon lat sigma" ;
W:axis = "TMZ" ;
W:subgrid = "point" ;
W:_FillValue = -32768s ;
W:missing_value = -32768s ;
short T(T, M, Z) ;
T:standard_name = "potential_sea_water_temperature" ;
T:long_name = "potential sea water temperature" ;
T:short_name = "T" ;
T:units = "C" ;
T:scale_factor = 0.001 ;
T:add_offset = 20. ;
T:associate = "time lon lat sigma" ;
T:axis = "TMZ" ;
T:subgrid = "point" ;
T:_FillValue = -32768s ;
T:missing_value = -32768s ;
short S(T, M, Z) ;
S:standard_name = "sea_water_sanility" ;
S:long_name = "sea water sanility" ;
S:short_name = "S" ;
S:units = "PSU" ;
S:scale_factor = 0.001 ;
S:add_offset = 32. ;
S:associate = "time lon lat sigma" ;
S:axis = "TMZ" ;
S:subgrid = "point" ;
S:_FillValue = -32768s ;
S:missing_value = -32768s ;
short RHO(T, M, Z) ;
RHO:standard_name = "sea_water_density" ;
RHO:long_name = "sea water density" ;
RHO:short_name = "RHO" ;
RHO:units = "kg/m3" ;
RHO:scale_factor = 0.001 ;
RHO:add_offset = 1025. ;
RHO:associate = "time lon lat sigma" ;
RHO:axis = "TMZ" ;
RHO:subgrid = "point" ;
RHO:_FillValue = -32768s ;
RHO:missing_value = -32768s ;

// global attributes:
:Conventions = "CF 1.0" ;
:grid_type = "FE" ;
:Topic = "mog3d archive" ;
:file_name = "archive.nc" ;
:production = "POC 2004" ;
:history = " " ;


when i try to read it with ferret :
yes? use archive-2000.01.nc
*** NOTE: unsupported ordering of axes in variable U
*** NOTE: The default ordering will be used
*** NOTE: unsupported ordering of axes in variable V
*** NOTE: The default ordering will be used
*** NOTE: unsupported ordering of axes in variable W
*** NOTE: The default ordering will be used
*** NOTE: unsupported ordering of axes in variable T
*** NOTE: The default ordering will be used
*** NOTE: unsupported ordering of axes in variable S
*** NOTE: The default ordering will be used
*** NOTE: unsupported ordering of axes in variable RHO
*** NOTE: The default ordering will be used


regards
Xavier








[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement