You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

Introduction

During these first stages of the proof-of-concept phase of C3S seasonal forecast activity, we have been working in standardise the data provision in netCDF.

The proposal is constrained by the CF convention, and we have tried not to diverge from specifications coming other well established communities: SPECS and CMIP5/6

Additionally ACDD has been also taken into account when defining the data discovery related metadata.

In that sense, the following links are valuable sources of information that have informed the definition of this proposal:

CF convention

CF convention standard names tables

SPECS file content and format, data structure and metadata

CMIP5 list of variables

ACDD convention

Encoding Guide

Global attributes

The following properties are intended to provide information about where the data came from and what has been done to it. This information is mainly for the benefit of human readers and data discovery mechanisms. The attribute values are all character strings. When an attribute appears both globally and as a variable attribute, the variable’s version has precedence.

 

Attribute NameValueExamplesComment
ConventionsCF convention string  [Other convention] :..."CF-1.6"
"CF-1.6 C3S-0.1"

Multiple conventions may be included (separated by blank spaces)

title

A controlled vocabulary will be provided

CF: Free text

ACDD (highly recommended)

"IPSL-CM5A-LR model output prepared for CMIP5 RCP4.5"
A short phrase or sentence describing the dataset. In many discovery systems, the title will be displayed in the results list from a search, and therefore should be human readable and reasonable to display in a list of such names
references

URIs (such as a URL or DOI) for papers or other references. A valid doi is recommended

CF: Free text

"doi:10.5194/gmd-8-1509-2015"
Published or web-based references that describe the data or methods used to produce it.
sourceA methodology to build this attribute will be provided
  • "world model v.0.1"
  • "model-generated, GloSea5-GC2"
  • "IPSL-CM5A-LR (2010) : atmos : LMDZ4 (LMDZ4_v5, 96x95x39); ocean : ORCA2 (NEMOV2_3, 2x2L31); seaIce : LIM2 (NEMOV2_3); ocnBgchem : PISCES (NEMOV2_3); land : ORCHIDEE (orchidee_1_9_4_AR5)"

The method of production of the original data. If it was model-generated, source should name the model and its version, as specifically as it could be useful

institution

A controlled vocabulary will be provided

CF: Free text

 

"Met Office"

Specifies where the original data was produced. The name of the institution principally responsible for originating this data.

contact

Copernicus User Support URI should be used
http://copernicus-support.ecmwf.int

CF: Free text

"http://copernicus-support.ecmwf.int"

 

project

"C3S Seasonal Forecast" should be used

CF: Free text

 

"C3S Seasonal Forecast" 
creation_date

SPECS: YYYY-MM-DDThh:mm:ss<zone>

ISO 8601:2004 extended format

"2011-06-24T02:53:46Z"

The date on which this version of the data was created. Modification of values implies a new version, hence this would be assigned the date of the most recent values modification. Metadata changes are not considered when assigning the creation_date

NOTE: The ACDD 1.3 names this attribute as date_create
SPECS conventions will be followed

commentFree text
  • "Produced by University of Hamburg for DWD at ECMWF HPC facilities"
  • "Run by CMCC at CINECA"
Miscellaneous information about the data, not captured elsewhere.
forecast_type

"forecast" or "hindcast"

"forecast"To identify the type of data
A way of labelling hindcasts and forecasts to match them needs to be devised.
history

Each line should begin with a timestamp indicating the date and time of day when the program was executed

CF: Free Text

  • "Produced using CDS Toolbox on 1/6/2016"
  • "Model raw output postprocessing with modelling environment (IMDI) at DKRZ: URL: http://svn-mad.zmaw.de/svn/mad/Model/IMDI/trunk, REV: 3436 2011-07-17T15:14:45Z CMOR rewrote data to comply with CF standards and CMIP5 requirements."

To record relevant information, such as the command history which led to this file being produced. Provides an audit trail for modifications to the original data.
Well-behaved generic netCDF filters will automatically append their name and the parameters with which they were invoked to the global history attribute of an input netCDF file

 

commit,

iso_lineage or lineage

Free text (ISO Lineage model 19115-2)"Produced using CDS Toolbox v1.0"

Trace of the tools/scripts used.

Either this attribute or the "history" attribute needs to include information about the versioning of the software used to create the data.

This is related with some of the EQC activities (WP4 of QA4SEAS). ISO 19115-2 defines a linage model where this is been considered.

summary

The content will be provided

ACDD (highly recommended): Text, defined phrase

 A short paragraph describing the dataset
keywords

The content will be provided

ACDD (highly recommended) : text, controlled vocabulary

 A comma separated list of key words and phrases.
forecast_reference_time

SPECS: YYYY-MM-DDThh:mm:ssZ

NOTE: This is ISO 8601:2004 extended format, but time zone is required to be UTC

"2011-06-01T00:00:00Z"

time of the analysis from which the forecast was made
Introduced as global attribute to keep compatibility with SPECS
NOTE: This works fine for SPECS data structure, i.e. one variable per start time per file

Spatial Coordinates

Type
(CMIP5)
Coordinate Name
(CMIP5)
Dimension Names
(CMIP5)
Axisstandard_namelong_name
(CMIP5)
units
(CF canonical units)
positivevalid_min
(CMIP5)
valid_max
(CMIP5)
boundsNotes
doublelatlatYlatitudelatitudedegrees_northN/A-90.90.lat_bounds

Values (1x1deg grid) prescribed:
dimension lat=181

[-90. , -89. , ..., 0., ... 90.]

doublelonlonXlongitudelongitudedegrees_eastN/A0.360.lon_boundsValues (1x1deg grid) prescribed:
dimension lon=360

[0. , 1. , ..., 358., 359.]

doubleplevplevZair_pressurepressure

Pa

downN/AN/Abounds?

This is also referred to as isobaric level by some tools
Values prescribed:
dimension plev=11

[925., 850., 700., 500., 400., 300., 200., 100., 50., 30., 10.]
(NOTE: values here written in hPa, they should be Pa)

doubledepthdepthZdepthdepth

m

downN/AN/Adepth_boundsOnly used for soil model levels
NOTE: Number and depth of levels is not prescribed by C3S
doubleheightheightZheightheightmup or down

CMIP5:

2mtemp: 1.
10mu/v: 1.

CMIP5:

2mtemp: 10.
10mu/v: 30.

 

Used for single level fields (height, soil,SST)

e.g. 2 m (for Temperature)

C3S: string

 

 realization

C3S: realization_dim

CF: a different name is needed for dim/variable
(see comment)


E realizationrealization1N/AN/AN/A members are not a physical quantity. Realization is a discrete coordinate and the mebers it categorical values (ordered or non-ordered ones)

Time Coordinates

TypeCoordinate NameDimension NamesAxisstandard_namelong_namecalendarunitsboundsNotes
doublereftimeN/ATforecast_reference_time"Start date of the forecast"gregorianUDUNITS time units
e.g.
"hours since YYYY-MM-DD hh:mm:ss TZhh:TZmm"
bounds?In SPECS it was a "global_attribute"
It has been additionally introduced here as a coordinate variable to ease future netCDF management (e.g. file merging)
doubleleadtimetimeN/Aforecast_period"Time elapsed since the start of the forecast"N/A

SPECS: days
C3S: requested units can be relaxed to equivalent time units

bounds?

The interval of time between the forecast reference time and the valid time

doubletimetimeT

time

"Verification time of the forecast"gregorian

SPECS: "days since 1850-01-01"

C3S: requested units can be relaxed to equivalent time units

time_bounds

Time for which the forecast is valid


NOTE: Definitions for "leadtime" and "time" have been taken from SPECS. The introduction of "reftime" as a variable has been adapted from SPECS global attribute description for the forecast reference time.

NOTE: Even though there are different requested time steps among the variables (6h, 12h, 24h), just one set of time axes has been defined, as that would be enough when applying the requirement of "one variable per file"

Cell boundaries

 As described in section 7.1 Cell Boundaries of CF convention.

To represent cells we add the attribute bounds to the appropriate coordinate variable(s). The value of bounds is the name of the variable that contains the vertices of the cell boundaries. We refer to this type of variable as a "boundary variable." A boundary variable will have one more dimension than its associated coordinate or auxiliary coordinate variable. The additional dimension should be the most rapidly varying one, and its size is the maximum number of cell vertices. Since a boundary variable is considered to be part of a coordinate variable’s metadata, it is not necessary to provide it with attributes such as long_name and units

Bounds NameDimensionsComments
time_boundstime,bounds
  • where to put the time coordinate (beginning, middle, end of the bounds) ?

e.g.
time=20160922 06
timebounds = [20160922 00, 20160922 06]

  • for 24h time steps:

[0,24] is that convention always valid?

lat_boundslat, boundsValues (1x1deg grid) prescribed:
[-90., 89.], [-89., -88.], ... [89., 90.]
lon_boundslon, bounds

Values (1x1deg grid) prescribed:

[0., 1.], [1., 2.], ... [359., 360.]

depth_boundsdepth,boundsShould define the full vertical extent of the soil model layers

Grid mapping

 As described in section 5.6 Grid Mappings and Projections of CF convention.

When the coordinate variables for a horizontal grid are longitude and latitude, a grid mapping variable with grid_mapping_name of latitude_longitude may be used to specify the ellipsoid and prime meridian.


char latitude_longitude ;
    latitude_longitude:grid_mapping_name = "latitude_longitude" ;

NOTE: Wouldn't a different name be more appropriate? (e.g. CRS as in CF examples)

Variables

NOTE: coordinates should list first of all the auxiliary coordinate(s) and then all the other coordinates.... SHOULD reftime, leadtime and realization be included as well????

NOTE: type double/real????

Static Fields

  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatesgrid_mappingNOTES
sftlflat,lonland_area_fraction"Land Area Fraction"1

"lat lon"

 

 

latitude_longitude


oroglat,lonsurface_altitude"Surface Altitude"m"lat lon"latitude_longitude 

Surface Fields (defined at a given height level)

  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatescell_methodsgrid_mappingNOTES
tastime,lat,lonair_temperature"Near-Surface Air Temperature"K

"height time lat lon"

 

 

"time: point"

C3S: required 
CF:
recommended


latitude_longitude

height is usually 2m

tasmaxtime,lat,lonair_temperature"Daily Maximum Near-Surface Air Temperature"K

"height time lat lon"

"time: maximum (interval: <value> <unit>)"

C3S: required.
CF:
interval is optional

latitude_longitude

height is usually 2m

C3S: The interval is required to have a value<=3 hours)

tasmintime,lat,lonair_temperature"Daily Minimum Near-Surface Air Temperature"K

"height time lat lon"

"time: minimum (interval: <value> <unit>)"

C3S: required.
CF:
interval is optional
latitude_longitude

height is usually 2m

C3S: The interval is required to have a value<=3 hours)

 time,lat,londew_point_temperature K"height time lat lon""time: point"

C3S: required 
CF:
recommended
latitude_longitude

height is usually 2m

 

uastime,lat,lonx_windEastward Near-Surface Windm s-1"height time lat lon""time: point"

C3S: required 
CF:
recommended
latitude_longitude

height is usually 10m

vastime,lat,lony_windNorthward Near-Surface Windm s-1"height time lat lon""time: point"

C3S: required 
CF:
recommended
latitude_longitude

height is usually 10m

 time,lat,lonwind_speed_of_gust m s-1"height time lat lon" "time: maximum (interval: <value> <unit>)"
C3S: required.
CF:
interval is optional
 
latitude_longitude

height is usually 10m

C3S: The interval is required to have a value<=3 hours)

 

Surface Fields (not defined at a height level)

  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatescell_methodsgrid_mappingNOTES
psltime,lat,lonair_pressure_at_sea_level"Sea Level Pressure"Pa "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
clttime,lat,loncloud_area_fraction"Total Cloud Fraction"1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
tsltime,lat,lonsoil_temperature"Temperature of Soil"K "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
tsotime,lat,lonsea_surface_temperature"Sea Surface Temperature"K "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonsea_ice_temperature K "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
sictime,lat,lonsea_ice_area_fraction"Sea Ice Area Fraction"1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,depth,lat,lonmass_content_of_water_in_soil_layer kg m-2 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_surface_snow_amount m "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonsnow_density kg m-3 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_stratiform_precipitation_amount m "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_convective_precipitation_amount m "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_precipitation_amount m "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_snowfall_amount m "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_downward_sensible_heat_of_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitudeinstantaneous, instead of integral?
does it works with SW rad???
would it work with "instantaneous" 24h mean?
 time,lat,lonintegral_of_surface_downward_latent_heat_of_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_downwelling_shortwave_flux_in_air_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_net_downward_shortwave_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_net_downward_longwave_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_toa_net_downward_shortwave_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_toa_net_downward_longwave_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_toa_incoming_shortwave_flux_wrt_time W s m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_downward_eastward_stress_wrt_time Pa s "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonintegral_of_surface_downward_northward_stress_wrt_time Pa s "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonlwe_thickness_of_water_evaporation_amount m "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonrunoff_amount kg m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonsurface_runoff_amount kg m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 
 time,lat,lonsubsurface_runoff_amount kg m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 

Pressure Level Fields

  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatescell_methodsgrid_mappingNOTES
 time,plev,lat,longeopotential m2 s-2 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
tatime,plev,lat,lonair_temperature"Air Temperature"K "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
hustime,plev,lat,lonspecific_humidity"Specific Humidity"1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,plev,lat,lonatmosphere_relative_vorticity s-1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
 time,plev,lat,londivergence_of_wind s-1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
uatime,plev,lat,lonx_wind"Eastward Wind"m s-1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 
vatime,plev,lat,lony_wind"Northward Wind"m s-1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 

 

 

 

  • No labels