Hello ferreters, I checked out the ferret documentation website about discrete geometries http://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/data-set-basics/2-8-discrete-geometries-datasets-1, 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. ; }