Hi Don,
Yes you need to register into the system, because some datasets are
restricted. If you want to access please sign-up
http://meteo.unican.es/udg-tap/
and let me know. I can provide you a temporal access.
Although the dataset it's encoded in GRIB1 format, it's been exposed as
one "netcdf" entity, with all variables and coordinates. Attached you
can find the resulting CDL for the "netcdf" entity.
For this dataset the realization coordinate was not recognized by the
netcdf-java I have had to impose it and create all aggreagtions, also on
the runtime coordinate.
If you want a Guide about encoding products you may be find interesting
this guide:
https://confluence.ecmwf.int/display/COPSRV/Guide+to+NetCDF+encoding+for+C3S+providers
Let me know if that helps
Regards
Antonio
On 22/4/20 22:28, Don Murray via netcdf-java wrote:
Thanks, Antonio. With GRIB it seems straight forward. I have netCDF
files that I'm trying to use and am tryint to figure out how to
structure them. Are any of the datasets on your site backed by netCDF
instead of GRIB? Looks like I need a user/pass to get in to see the
details.
Don
On 4/22/20 1:17 PM, Antonio S. Cofiño wrote:
Hi Don,
On 4/22/20 5:24 PM, Don Murray via netcdf-java wrote:
Hi All-
I'm looking at storing forecast model data (NMME and GEFS) in netCDF
format and am wondering if anyone out there is doing that and using
netcdf-java to access and subset.
Yes. You can take a look at:
https://meteo.unican.es/trac/wiki/udg/ecoms/dataserver/catalog
In particular System4, CFSv2 and glosea5 datasets which corresponds
to different seasonal forecasts systems.
For GRIB data, netcdf-java/THREDDS uses a 2D time dimension with
dimensions (reftime, time, ens, lat, lon) where time is stored as
time(reftime, time). I'm looking for examples that use netCDF as the
storage format, particularly if they are served up via THREDDS. I'm
using the ucar.nc2.dt.grid classes to read netCDF files at the present.
In particular we are using netcdf-java for accessing data from client
side and TDS from server side to aggregate data in common datasets.
In the attached files you can find the opendap info for on of the
datasets which includes "realization" coordinate and 2D time, among
level, lat and lon coordinates (level it's a particular case).
https://www.unidata.ucar.edu/software/netcdf-java/v4.3/v4.2/javadocAll/ucar/nc2/ft/grid/Grid.html#makeSubset(ucar.ma2.Range,%20ucar.ma2.Range,%20ucar.ma2.Range,%20ucar.ma2.Range,%20ucar.ma2.Range,%20ucar.ma2.Range)
The client use de makeSubset method from the Grid object which allows
to subset along the realization coordinate and 2D time:
https://www.unidata.ucar.edu/software/netcdf-java/v4.3/v4.2/javadocAll/ucar/nc2/ft/grid/Grid.html
The dataset are the original GRIB1 files aggregated using netcdf-java
ncml aggregation and published it by TDS.
This is been used from a different R packages we developed, but in
particular the central part it's the loadeR which interacts directly
with the netcdf-java API (by rJava):
https://github.com/SantanderMetGroup/loadeR
You have some academic reference and use cases there.
Please, let me know if you need more info.
Regards
Antonio
--
Antonio S. Cofiño
Dep. de Matemática Aplicada y
Ciencias de la Computación
Universidad de Cantabria
http://www.meteo.unican.es
_______________________________________________
NOTE: All exchanges posted to Unidata maintained email lists are
recorded in the Unidata inquiry tracking system and made publicly
available through the web. Users who post to any of the lists we
maintain are reminded to remove any personal information that they
do not want to be made public.
netcdf-java mailing list
netcdf-java@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
https://www.unidata.ucar.edu/mailing_lists/
netcdf
dods://meteo.unican.es/tds5/dodsC/system4/System4_Seasonal_15Members.ncml {
dimensions:
lat = 241;
lon = 480;
member = 15;
run = 360;
time12 = 431;
isobaric3 = 1;
isobaric4 = 1;
isobaric1 = 1;
isobaric5 = 1;
isobaric6 = 1;
isobaric7 = 1;
time00 = 1;
time24 = 216;
time06 = 861;
time34 = 216;
variables:
float lat(lat=241);
:units = "degrees_north";
:standard_name = "latitude";
:long_name = "latitude";
:_CoordinateAxisType = "Lat";
float lon(lon=480);
:units = "degrees_east";
:standard_name = "longitude";
:long_name = "longitude";
:_CoordinateAxisType = "Lon";
String member(member=15);
:standard_name = "realization";
:_CoordinateAxisType = "Ensemble";
:ref = "http://www.uncertml.org/samples/realisation";
int run(run=360);
:long_name = "Run time for ForecastModelRunCollection";
:standard_name = "forecast_reference_time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "RunTime";
float z1000mb(run=360, member=15, time12=431, isobaric3=1, lat=241,
lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric3 lat lon";
float z700mb(run=360, member=15, time12=431, isobaric4=1, lat=241, lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric4 lat lon";
float z850mb(run=360, member=15, time12=431, isobaric1=1, lat=241, lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric1 lat lon";
float z500mb(run=360, member=15, time12=431, isobaric5=1, lat=241, lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric5 lat lon";
float z300mb(run=360, member=15, time12=431, isobaric6=1, lat=241, lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric6 lat lon";
float z200mb(run=360, member=15, time12=431, isobaric7=1, lat=241, lon=480);
:long_name = "Geopotential @ Isobaric surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time12 isobaric7 lat lon";
float t1000mb(run=360, member=15, time12=431, isobaric3=1, lat=241,
lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric3 lat lon";
float t700mb(run=360, member=15, time12=431, isobaric4=1, lat=241, lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric4 lat lon";
float t850mb(run=360, member=15, time12=431, isobaric1=1, lat=241, lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric1 lat lon";
float t500mb(run=360, member=15, time12=431, isobaric5=1, lat=241, lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric5 lat lon";
float t300mb(run=360, member=15, time12=431, isobaric6=1, lat=241, lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric6 lat lon";
float t200mb(run=360, member=15, time12=431, isobaric7=1, lat=241, lon=480);
:long_name = "Temperature @ Isobaric surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-130_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 130; // int
:Grib1_Parameter_Name = "T";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time12 isobaric7 lat lon";
float u1000mb(run=360, member=15, time12=431, isobaric3=1, lat=241,
lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric3 lat lon";
float u700mb(run=360, member=15, time12=431, isobaric4=1, lat=241, lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric4 lat lon";
float u850mb(run=360, member=15, time12=431, isobaric1=1, lat=241, lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric1 lat lon";
float u500mb(run=360, member=15, time12=431, isobaric5=1, lat=241, lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric5 lat lon";
float u300mb(run=360, member=15, time12=431, isobaric6=1, lat=241, lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric6 lat lon";
float u200mb(run=360, member=15, time12=431, isobaric7=1, lat=241, lon=480);
:long_name = "U velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-131_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 131; // int
:Grib1_Parameter_Name = "U";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time12 isobaric7 lat lon";
float v1000mb(run=360, member=15, time12=431, isobaric3=1, lat=241,
lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric3 lat lon";
float v700mb(run=360, member=15, time12=431, isobaric4=1, lat=241, lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric4 lat lon";
float v850mb(run=360, member=15, time12=431, isobaric1=1, lat=241, lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric1 lat lon";
float v500mb(run=360, member=15, time12=431, isobaric5=1, lat=241, lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric5 lat lon";
float v300mb(run=360, member=15, time12=431, isobaric6=1, lat=241, lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric6 lat lon";
float v200mb(run=360, member=15, time12=431, isobaric7=1, lat=241, lon=480);
:long_name = "V velocity @ Isobaric surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-132_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 132; // int
:Grib1_Parameter_Name = "V";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time12 isobaric7 lat lon";
float q1000mb(run=360, member=15, time12=431, isobaric3=1, lat=241,
lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric3 lat lon";
float q700mb(run=360, member=15, time12=431, isobaric4=1, lat=241, lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric4 lat lon";
float q850mb(run=360, member=15, time12=431, isobaric1=1, lat=241, lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric1 lat lon";
float q500mb(run=360, member=15, time12=431, isobaric5=1, lat=241, lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric5 lat lon";
float q300mb(run=360, member=15, time12=431, isobaric6=1, lat=241, lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric6 lat lon";
float q200mb(run=360, member=15, time12=431, isobaric7=1, lat=241, lon=480);
:long_name = "Specific humidity @ Isobaric surface";
:units = "kg.kg-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-133_L100";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 133; // int
:Grib1_Parameter_Name = "Q";
:Grib1_Level_Type = 100; // int
:Grib1_Level_Desc = "Isobaric surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "specific_humidity";
:coordinates = "run member time12 isobaric7 lat lon";
float zsfc(run=360, member=15, time00=1, lat=241, lon=480);
:long_name = "Geopotential @ Ground or water surface";
:units = "m2.s-2";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-129_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 129; // int
:Grib1_Parameter_Name = "Z";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "geopotential";
:coordinates = "run member time00 lat lon";
float ssrd(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Surface solar radiation downwards @ Ground or water
surface";
:units = "W.m-2.s";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-169_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 169; // int
:Grib1_Parameter_Name = "SSRD";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "surface_downwelling_shortwave_flux_in_air";
:coordinates = "run member time24 lat lon";
float strd(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Surface thermal radiation downwards @ Ground or water
surface";
:units = "W.m-2.s";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-175_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 175; // int
:Grib1_Parameter_Name = "STRD";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "surface_downwelling_longwave_flux_in_air";
:coordinates = "run member time24 lat lon";
float tcc(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "Total cloud cover @ Ground or water surface";
:units = "(0.-.1)";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-164_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 164; // int
:Grib1_Parameter_Name = "TCC";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "cloud_area_fraction";
:coordinates = "run member time06 lat lon";
float u10m(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "10 metre U wind component @ Ground or water surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-165_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 165; // int
:Grib1_Parameter_Name = "10U";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "eastward_wind";
:coordinates = "run member time06 lat lon";
float v10m(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "10 metre V wind component @ Ground or water surface";
:units = "m.s-1";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-166_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 166; // int
:Grib1_Parameter_Name = "10V";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "northward_wind";
:coordinates = "run member time06 lat lon";
float dpt2m(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "2 metre dewpoint temperature @ Ground or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-168_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 168; // int
:Grib1_Parameter_Name = "2D";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "dew_point_temperature";
:coordinates = "run member time06 lat lon";
float t2m(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "2 metre temperature @ Ground or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-167_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 167; // int
:Grib1_Parameter_Name = "2T";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time06 lat lon";
float mean2t24(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Mean temperature at 2 metres since last 24 hours @ Ground
or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-55_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 55; // int
:Grib1_Parameter_Name = "MEAN2T24";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time24 lat lon";
float sst(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Sea surface temperature @ Ground or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-34_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 34; // int
:Grib1_Parameter_Name = "SSTK";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "sea_surface_temperature";
:coordinates = "run member time24 lat lon";
float mx2t24(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Maximum temperature at 2 metres since last 24 hours @
Ground or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-51_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 51; // int
:Grib1_Parameter_Name = "MX2T24";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time24 lat lon";
float mn2t24(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Minimum temperature at 2 metres since last 24 hours @
Ground or water surface";
:units = "K";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-52_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 52; // int
:Grib1_Parameter_Name = "MN2T24";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_temperature";
:coordinates = "run member time24 lat lon";
float sd(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Snow depth @ Ground or water surface";
:units = "m.of.water.equivalent";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-141_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 141; // int
:Grib1_Parameter_Name = "SD";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "lwe_thickness_of_surface_snow_amount";
:coordinates = "run member time24 lat lon";
float sf(run=360, member=15, time24=216, lat=241, lon=480);
:long_name = "Snowfall @ Ground or water surface";
:units = "m.of.water.equivalent";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-144_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 144; // int
:Grib1_Parameter_Name = "SF";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "lwe_thickness_of_snowfall_amount";
:coordinates = "run member time24 lat lon";
float tp(run=360, member=15, time34=216, lat=241, lon=480);
:long_name = "Total precipitation @ Ground or water surface";
:units = "m";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-228_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 228; // int
:Grib1_Parameter_Name = "TP";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "thickness_of_rainfall_amount";
:coordinates = "run member time34 lat lon";
float mslp(run=360, member=15, time06=861, lat=241, lon=480);
:long_name = "Mean sea level pressure @ Ground or water surface";
:units = "Pa";
:missing_value = NaNf; // float
:Grib_Variable_Id = "VAR_98-0-128-151_L1";
:Grib1_Center = 98; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 128; // int
:Grib1_Parameter = 151; // int
:Grib1_Parameter_Name = "MSL";
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
:ref = "http://www.uncertml.org/samples/realisation";
:standard_name = "air_pressure_at_sea_level";
:coordinates = "run member time06 lat lon";
double time00(run=360, time00=1);
:long_name = "Forecast time for ForecastModelRunCollection";
:standard_name = "time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "Time";
double time34(run=360, time34=216);
:long_name = "Forecast time for ForecastModelRunCollection";
:standard_name = "time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "Time";
double time24(run=360, time24=216);
:long_name = "Forecast time for ForecastModelRunCollection";
:standard_name = "time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "Time";
double time12(run=360, time12=431);
:long_name = "Forecast time for ForecastModelRunCollection";
:standard_name = "time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "Time";
double time06(run=360, time06=861);
:long_name = "Forecast time for ForecastModelRunCollection";
:standard_name = "time";
:units = "hours since 1981-01-01T00:00:00";
:_CoordinateAxisType = "Time";
float isobaric3(isobaric3=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
float isobaric4(isobaric4=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
float isobaric5(isobaric5=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
float isobaric6(isobaric6=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
float isobaric7(isobaric7=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
float isobaric1(isobaric1=1);
:standard_name = "air_pressure";
:long_name = "Isobaric surface";
:_CoordinateAxisType = "GeoZ";
:_CoordinateAxes = "lev";
:units = "hPa";
:GRIB1_level_code = 100; // int
// global attributes:
:Originating_or_generating_Center = "European Centre for Medium Range Weather
Forecasts (ECMWF) (RSMC)";
:Originating_or_generating_Subcenter = "0";
:Conventions = "CF-1.6, _Coordinates, UW-1.0";
:history = "Read using CDM IOSP Grib1Collection";
:featureType = "GRID";
:file_format = "GRIB-1";
:primary_variables = "z1000mb, z700mb, z850mb, z500mb, z300mb, z200mb,
t1000mb, t700mb, t850mb, t500mb, t300mb, t200mb, u1000mb, u700mb, u850mb,
u500mb, u300mb, u200mb, v1000mb, v700mb, v850mb, v500mb, v300mb, v200mb,
q1000mb, q700mb, q850mb, q500mb, q300mb, q200mb, zsfc, ssrd, strd, tcc, u10m,
v10m, dpt2m, t2m, mean2t24, mx2t24, mn2t24, sd, sf, tp, mslp";
:svn_id = "$Id: System4_Seasonal_15Members.ncml 1625 2019-10-02 17:03:20Z
zequi $";
}