Hello ferreters,
I checked out the ferret documentation website about discrete geometries ../../documentation/users-guide/working-with-special-data-sets/DSG_datasets.html, especially about the attribute 'sample_dimension'.
Based on http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html#_contiguous_ragged_array_representation_of_time_series, I made a simple dataset, see attachments, containing the 'sample_dimension' attribute.
When I load this simple example into ferret, I don't get the observations on the X axis and the instance axis ('station') in E direction as described on the ferret website above, but rather two X grids instead, see output below.
Any idea why? Is the 'dsg_file.nc' dataset used in the ferret example available somewhere to better understand the structure?
I am not sure if 'obs' should be the sum of all observations of all stations which 'rowsize' will then divide up per station, or if 'obs' should be the maximum length per 'station'.
Thanks in advance!
Best wishes,
Hella
on FERRET v7.022 (beta/debug)
yes? use ragged.nc
yes? sh da
currently SET data sets:
1> ./ragged.nc (default)
name title I J K L
LON station longitude 1:3 ... ... ...
LAT station latitude 1:3 ... ... ...
ROWSIZE number of observations for this 1:3 ... ... ...
TEMP temperature 1:11 ... ... ...
yes? sh grid temp
GRID GNN2
name axis # pts start end subset
OBS X 11 r 1 11 full
normal Y
normal Z
normal T
yes? sh grid rowsize
GRID GNN1
name axis # pts start end subset
STATION X 3 r 1 3 full
normal Y
normal Z
normal T
Attachment:
ragged.nc
Description: Cdf file
netcdf ragged {
dimensions:
station = 3 ;
obs = 11 ;
variables:
float lon(station) ;
lon:long_name = "station longitude";
lon:units = "degrees_east";
float lat(station) ;
lat:long_name = "station latitude" ;
lat:units = "degrees_north" ;
int rowsize(station) ;
rowsize:long_name = "number of observations for this station" ;
rowsize:sample_dimension = "obs" ;
float temp(obs) ;
temp:long_name = "temperature" ;
temp:units = "Celsius" ;
temp:coordinates = "time lat lon alt" ;
temp:_FillValue = -999.9;
data:
lon = 10., 20., 30. ;
lat = 40., 50., 60. ;
rowsize = 4, 5, 2 ;
temp = 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11. ;
}