[CF-metadata] Getting back to ensembles

Francisco Doblas-Reyes Francisco.Doblas-Reyes at ecmwf.int
Mon Jan 8 05:13:47 MST 2007


Hi Jamie,

Following the pragmatic option, we have already started producing some 
files. A preliminary set using DEMETER seasonal hindcasts has been 
stored in the ENSEMBLES OPeNDAP server:
http://ensembles.ecmwf.int/thredds/catalogServices?catalog=http://ensembles.ecmwf.int/thredds/variables.xml

However, I feel happier with the headers of a slightly different set of 
ensemble seasonal and interannual forecasts that will be stored very 
soon in the same server. An example of the typical headers can be found 
in the attachment. Of course, I used a minimal number of variables to 
describe the metadata. More variables might be needed in a true 
operational setup, as I suggested in my original posting.

Until the Met Office and BADC make their files available, I'm more than 
happy to carry on working on the ENSEMBLES OPeNDAP server at ECMWF and 
make any changes that will be necessary following the discussions in the 
CF list. Furthermore, we already have some users that can test the files 
I'm producing and give feedback.

Best regards,
Paco



Kettleborough, Jamie wrote:
> Hello Paco,
> 
> how are you going to label these variables in the NetCDF file? - as per
> your original proposal, or something different?
> 
> We are going to want to start to producing ensemble based files fairly
> soon, probably in the late spring or early summer.  We (CF community)
> seem to be a bit stuck at the moment on how to represent these in a CF
> way - whether to use 'standard_name', 'structure_element', or
> 'standard_metadata'.  Given the current timescales I think we may have
> to produce files with support for ensemble meta data that is not covered
> by CF - our (in practice BADC's) tooling will have to support that
> extension.  Any advice on this welcome - is this a reasonable
> approach?  
> 
> Of course the Met Office Ensemble data and BADC data delivery tools
> could be seen as a possible test implementation for a representation of
> ensembles. 
> 
> Jamie
> 
> (please don't read this as a sulk that the meta data issue has not been
> resolved - I just want to try and be pragmatic and future proof
> ourselves so when we have figured out how to represent ensembles within
> CF we can do it with minimal effort).
> 
> On Fri, 2007-01-05 at 10:05 +0000, Francisco Doblas-Reyes wrote:
>> We intend to make the string-valued metadata self-describing, and a
>> web 
>> site will be provided with additional information. The use of a table 
>> specifying a string-valued "vocabulary" with attributes of the
>> auxiliary 
>> coordinate variables may require some additional experience and,
>> surely, 
>> the participation of more forecast institutions.
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://www.cgd.ucar.edu/mailman/listinfo/cf-metadata

-- 
________________________________________

Francisco J. Doblas-Reyes
European Centre for Medium-Range
Weather Forecasting (ECMWF)
Shinfield Park, RG2 9AX
Reading, UK

Tel: +44 (0)118 9499 655
Fax: +44 (0)118 9869 450
f.doblas-reyes at ecmwf.int
_______________________________________
-------------- next part --------------
netcdf MM_129_mon_2001 {
dimensions:
        longitude = 144 ;
        latitude = 71 ;
        level = 5 ;
        time = 21 ;
        time_bnd = 2 ;
        ensemble = 36 ;
        string4 = 4 ;
        string15 = 15 ;
        string50 = 50 ;
variables:
	float longitude(longitude) ;
		longitude:data_type = "float" ;
		longitude:units = "degrees_east" ;
		longitude:axis = "X" ;
		longitude:standard_name = "longitude" ;
		longitude:topology = "circular" ;
		longitude:modulo = 360 ;
		longitude:valid_min = 0. ;
		longitude:valid_max = 359. ;
	float latitude(latitude) ;
		latitude:data_type = "float" ;
		latitude:units = "degrees_north" ;
		latitude:axis = "Y" ;
		latitude:standard_name = "latitude" ;
		latitude:valid_min = -89. ;
		latitude:valid_max = 89. ;
	float reftime(time) ;
		reftime:units = "days since 1950-01-01 00:00:00" ;
		reftime:standard_name = "forecast_reference_time" ;
		reftime:long_name = "forecast reference time" ;
	int leadtime(time) ;
		leadtime:units = "days" ;
		leadtime:standard_name = "forecast_period" ;
		leadtime:long_name = "Time elapsed since the start of the forecast" ;
		leadtime:bounds = "time_bnd" ;
	int time_bnd(time, time_bnd) ;
		time_bnd:units = "days" ;
	int realization(ensemble) ;
		realization:standard_name = "realization" ;
		realization:long_name = "Number of the simulation in the ensemble" ;
	char experiment_id(ensemble, string4) ;
		experiment_id:standard_name = "experiment_id" ;
		experiment_id:long_name = "Experiment identifier" ;
	char source(ensemble, string50) ;
		source:standard_name = "source" ;
		source:long_name = "Method of production of the data" ;
	char institution(ensemble, string15) ;
		institution:standard_name = "institution" ;
		institution:long_name = "Institution responsible for the forecast system" ;
	float sc ;
		sc:data_type = "float" ;
		sc:units = "m" ;
		sc:axis = "Z" ;
		sc:standard_name = "height" ;
		sc:positive = "up" ;
    float level(level) ;
		level:data_type = "float" ;
		level:units = "hPa" ;
		level:axis = "Z" ;
		level:standard_name = "air_pressure" ;
		level:positive = "up" ;
	float geopotential(time, ensemble, level, latitude, longitude) ;
		geopotential:data_type = "float" ;
		geopotential:units = "m2 s-2" ;
		geopotential:unit_long = "square_meter_per_square_second" ;
		geopotential:standard_name = "geopotential" ;
		geopotential:long_name = "geopotential" ;
		geopotential:cell_methods = "leadtime: mean (interval 1 day)" ;
		geopotential:coordinates = "reftime leadtime experiment_id source realization institution" ;
		geopotential:_FillValue = 1.e+12f ;

// global attributes:
		:Conventions = "CF-1.0" ;
		:Generator = "SeasPy v1.1" ;
		:Created = "Mon Dec 18 12:57:27 2006" ;
		:Title = "ENSEMBLES project" ;
		:References = "http://www.ecmwf.int/research/EU_projects/ENSEMBLES/index.html, http://www.ecmwf.int/research/EU_projects/ENSEMBLES/experiments/index.html" ;
		:Comment = "Data interpolated from original model grid into a regular grid. Data restrictions: none" ;
data:

 longitude = 0, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25, 27.5, 30, 
    32.5, 35, 37.5, 40, 42.5, 45, 47.5, 50, 52.5, 55, 57.5, 60, 62.5, 65, 
    67.5, 70, 72.5, 75, 77.5, 80, 82.5, 85, 87.5, 90, 92.5, 95, 97.5, 100, 
    102.5, 105, 107.5, 110, 112.5, 115, 117.5, 120, 122.5, 125, 127.5, 130, 
    132.5, 135, 137.5, 140, 142.5, 145, 147.5, 150, 152.5, 155, 157.5, 160, 
    162.5, 165, 167.5, 170, 172.5, 175, 177.5, 180, 182.5, 185, 187.5, 190, 
    192.5, 195, 197.5, 200, 202.5, 205, 207.5, 210, 212.5, 215, 217.5, 220, 
    222.5, 225, 227.5, 230, 232.5, 235, 237.5, 240, 242.5, 245, 247.5, 250, 
    252.5, 255, 257.5, 260, 262.5, 265, 267.5, 270, 272.5, 275, 277.5, 280, 
    282.5, 285, 287.5, 290, 292.5, 295, 297.5, 300, 302.5, 305, 307.5, 310, 
    312.5, 315, 317.5, 320, 322.5, 325, 327.5, 330, 332.5, 335, 337.5, 340, 
    342.5, 345, 347.5, 350, 352.5, 355, 357.5 ;

 latitude = 87.5, 85, 82.5, 80, 77.5, 75, 72.5, 70, 67.5, 65, 62.5, 60, 57.5, 
    55, 52.5, 50, 47.5, 45, 42.5, 40, 37.5, 35, 32.5, 30, 27.5, 25, 22.5, 20, 
    17.5, 15, 12.5, 10, 7.5, 5, 2.5, 0, -2.5, -5, -7.5, -10, -12.5, -15, 
    -17.5, -20, -22.5, -25, -27.5, -30, -32.5, -35, -37.5, -40, -42.5, -45, 
    -47.5, -50, -52.5, -55, -57.5, -60, -62.5, -65, -67.5, -70, -72.5, -75, 
    -77.5, -80, -82.5, -85, -87.5 ;

 reftime = 18748, 18748, 18748, 18748, 18748, 18748, 18748, 18932, 18932, 
    18932, 18932, 18932, 18932, 18932, 18932, 18932, 18932, 18932, 18932, 
    18932, 18932 ;

 leadtime = 15, 46, 76, 107, 138, 168, 199, 15, 45, 76, 107, 135, 166, 196, 
    227, 257, 288, 319, 349, 380, 410 ;

 time_bnd =
  0, 31,
  31, 61,
  61, 92,
  92, 123,
  123, 153,
  153, 184,
  184, 214,
  0, 30,
  30, 61,
  61, 92,
  92, 120,
  120, 151,
  151, 181,
  181, 212,
  212, 242,
  242, 273,
  273, 304,
  304, 334,
  334, 365,
  365, 395,
  395, 426 ;

 realization = 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 
    3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8 ;

 experiment_id =
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1004",
  "1000",
  "1000",
  "1000",
  "1000",
  "1000",
  "1000",
  "1000",
  "1000",
  "1000",
  "1001",
  "1001",
  "1001",
  "1001",
  "1001",
  "1001",
  "1001",
  "1001",
  "1001" ;

 source =
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 1                           ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 1, Method 10                          ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           ",
  "IFS, System 0, Method 1                           " ;

 institution =
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          ",
  "ECMWF          " ;

 level = 850, 500, 200, 100, 50 ;

 geopotential =


More information about the CF-metadata mailing list