This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi David,
Oops, you've been trying to replicate the wrong file. The THREDDS page I
pointed you to has 3 access methods: OPENDAP, NetcdfSubset, and HTTPServer. I
meant for you to download from the HTTPServer service, not NetcdfSubset. My
fault, I should have been more clear.
The original H.2.1.1.nc file, which HTTPServer will return to you unaltered,
uses the Orthogonal multidimensional array representation of time series [1].
The NetcdfSubset service rewrote the original file to be in Indexed ragged
array representation [2].
Orthogonal is what you want. For clarity, I'll go ahead and paste the ncdump of
the correct file:
netcdf C:/Users/cwardgar/Desktop/H.2.1.1.nc {
dimensions:
station = 10;
time = 5;
name_strlen = 3;
variables:
float humidity(station=10, time=5);
:standard_name = "specific_humidity";
:coordinates = "time lat lon alt";
double time(time=5);
:standard_name = "time";
:long_name = "time of measurement";
:units = "days since 1970-01-01 00:00:00";
float lon(station=10);
:standard_name = "longitude";
:long_name = "station longitude";
:units = "degrees_east";
float lat(station=10);
:standard_name = "latitude";
:long_name = "station latitude";
:units = "degrees_north";
float alt(station=10);
:long_name = "vertical distance above the surface";
:standard_name = "height";
:units = "m";
:positive = "up";
:axis = "Z";
char station_name(station=10, name_strlen=3);
:long_name = "station name";
:cf_role = "timeseries_id";
// global attributes:
:featureType = "timeSeries";
:Conventions = "CF-1.6";
}
If you can get your dataset to look like that, you'll be good to go. You may
wonder about the "station_name" variable and its "cf_role" attribute. From the
CF docs [3]:
"It is strongly recommended that there should be a station variable (which may
be of any type) with the attribute cf_role=”timeseries_id”, whose values
uniquely identify the stations."
So, the values needn't be names or even strings, but they ought to be unique.
Cheers,
Christian
[1]
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/cf-conventions.html#idm43165546432
[2]
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/cf-conventions.html#idm43165513616
[3]
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/cf-conventions.html#time-series-data
Ticket Details
===================
Ticket ID: WON-355400
Department: Support netCDF Java
Priority: Normal
Status: Closed