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

Compare with Current View Page History

« Previous Version 41 Next »

WARNING

Some modifications have been made in this page since the meeting at C3S General Assembly at Toulouse
More details about those changes, and the final netCDF examples following the guide are expected to be made available around the 7th April 2017

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 from 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

CMIP6 Data Request: MIP variables search

ACDD convention

 

NOTES about tables color coding

Along this document some issues are still at some level under discussion. To mark that it has been followed the following color coding scheme

Items to be discussed with EQC / Waiting for a proposal from EQC
Items under discussion within C3S seasonal forecast team

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  C3S-0.1 [Other convention] :..."CF-1.6 C3S-0.1"

Multiple conventions may be included (separated by blank spaces)

title

"<short institution name> seasonal forecast model output prepared for C3S"

CF: Free text

ACDD (highly recommended)

"ECMWF seasonal forecast model output prepared for C3S"
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
<short institution name> is the first element of the comma-separated list of values of the corresponding "institution" attribute
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

Controlled Vocabulary:

"ECMWF, European Centre for Medium-Range Weather Forecasts, Reading, United Kingdom"

"Met Office, Exeter, United Kingdom"

"Météo-France, Toulouse, France"

"DWD, Deutscher Wetterdienst, Offenbach, Germany"

"CMCC, Centro Euro-Mediterraneo sui Cambiamenti Climatici, Bologna, Italy"

CF: Free text

 

"Météo-France, Toulouse, France"

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

NOTE: The first element of the comma-separated list of values will be used as a shortened version of this attribute in some of the other global attributes ('summary', 'title')

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". The name "creation_date" has been used following SPECS convention.

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



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

Controlled Vocabulary:
"Seasonal Forecast data produced by <short institution name> as its contribution to the seasonal forecast activity of the Copernicus Climate Change Service (C3S). The data has global coverage with a 1-degree horizontal resolution and spans for around 6 months since the start date"

ACDD (highly recommended)

"Seasonal Forecast data produced by DWD as its contribution to the seasonal forecast activity of the Copernicus Climate Change Service (C3S). The data has global coverage with a 1-degree horizontal resolution and spans for around 6 months since the start date"

A short paragraph describing the dataset

 

<short institution name> is the first element of the comma-separated list of values of the corresponding "institution" attribute

keywords

Fixed string

"Seasonal Forecasts, C3S, ECMWF, Copernicus, Climate Change, Climate Services, Earth Science Services, Environmental Advisories, Climate Advisories"

ACDD (highly recommended)

 

A comma separated list of key words and phrases.

NOTE: This attribute is likely to be modified in the future, once the contents of the Thesaurus for CDS faceting will be defined

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 that 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_bnds

Values (1x1deg grid) prescribed:
center of 1-degree cells
dimension lat=180

[-89.5, -88.5 , ..., -0.5, 0.5 ... 89.5]

doublelonlonXlongitudelongitudedegrees_eastN/A0.360.lon_bndsValues (1x1deg grid) prescribed:
center of 1-degree cells
dimension lon=360

[0.5 , 1.5 , ..., 358.5, 359.5]

doubleplevplevZair_pressurepressure

Pa

downN/AN/A 

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_bndsOnly used for soil model levels
NOTE: Number and depth of levels is not prescribed by C3S
doubleheight(scalar auxiliary coordinate)Zheightheightmup 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

 

 realizationstr31=31


E realizationrealization1N/AN/AN/A 

members are not a physical quantity. Realization is a discrete coordinate and the members its categorical values (ordered or non-ordered ones)

SPECS approach: rXXiYYpZZ

Note about interpolation, etc

Time Coordinates

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

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

leadtime_bnds

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

Boundaries not needed when this time coordinate is used for instantaneous values (note that "time:point" is used as cell_method in those cases)

doubletimeleadtimeN/A

time

"Verification time of the forecast"gregorian

SPECS: "days since 1850-01-01"

C3S: requested units can be relaxed to equivalent time units

time_bnds

Time for which the forecast is valid

Boundaries not needed when this time coordinate is used for instantaneous values (note that "time:point" is used as cell_method in those cases)

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"

 


"leadtime" has been selected as dimension (instead of "time") for both time and leadtime. That means "leadtime" is the coordinate and "time" is an auxiliary coordinate

  • This diverges from SPECS (where "time" was the name of the dimension and the coordinate, and "leadtime" was an auxiliary coordinate)
  • Here it has been done like that because
    1. both reftime and leadtime are the relevant (let's say "orthogonal") coordinates as time = reftime + leadtime
    2. doing like that has some advantages when merging netcdf files ("leadtime" can be easily shared by different variables in a merged file, while "time" not)

 

 

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_bndstime, bnds
  • 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?

leadtime_bnds
lat_bndslat, bndsValues (1x1deg grid) prescribed:
[-90., 89.], [-89., -88.], ... [89., 90.]
lon_bndslon, bnds

Values (1x1deg grid) prescribed:

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

depth_bndsdepth,bndsShould 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 hcrs ;
    hcrs:grid_mapping_name = "latitude_longitude" ;

Variables

Common attributes

The following attributes must be included in all the variables

attribute
name
value
grid_mappinghcrs
_FillValue1.0e20
missing_value1.0e20


Static Fields

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

"lat lon"

 

 


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

Surface Fields (defined at a given height level)

  attributes 
name
(CMIP5/6&C3S)
dimensionsstandard_namelong_name
(CMIP5/6&C3S)
unitscoordinatescell_methodsNOTES
tastime,lat,lonair_temperature"Near-Surface Air Temperature"K

"height time lat lon"

 

 

"time: point"

C3S: required 
CF:
recommended


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: interval is required.
CF:
interval is optional

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: interval is required.
CF:
interval is optional

height is usually 2m

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

tdpstime,lat,londew_point_temperature"2m dewpoint temperature"K"height time lat lon""time: point"

C3S: required 
CF:
recommended

height is usually 2m

 

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

C3S: required 
CF:
recommended

height is usually 10m

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

C3S: required 
CF:
recommended

height is usually 10m

wsgmax

 

N/A in CMIP

time,lat,lonwind_speed_of_gust

"Maximum Wind Speed of Gust"

 

N/A in CMIP

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

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/6&C3S)
dimensionsstandard_namelong_name
(CMIP5/6&C3S)
unitscoordinatescell_methodsNOTES
psltime,lat,lonair_pressure_at_sea_level"Sea Level Pressure"Pa "time: point"

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

 

sitemptop

 

N/A in CMIP

time,lat,lonsea_ice_temperature

"Surface temperature of sea ice"

N/A in CMIP

K "time: point"

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

 

 

N/A in CMIP

time,depth,lat,lonmass_content_of_water_in_soil_layer

 

N/A in CMIP

kg m-2 "time: point"

C3S: required 
CF:
recommended

 

lwesnw

 

N/A in CMIP

time,lat,lonlwe_thickness_of_surface_snow_amount

"Liquid Water Equivalent of Surface Snow Amount"

N/A in CMIP

m "time: point"

C3S: required 
CF:
recommended

 

rhosn

 

N/A in CMIP

time,lat,lonsnow_density

"Snow density"

 

N/A in CMIP

kg m-3 "time: point"

C3S: required 
CF:
recommended

 

lweprs

 

N/A in CMIP

time,lat,lonlwe_thickness_of_stratiform_precipitation_amount"Liquid Water Equivalent of Stratiform Precipitation Amount"

 

N/A in CMIP

m "time: sum"

 
 

lweprc

 

N/A in CMIP

time,lat,lonlwe_thickness_of_convective_precipitation_amount"Liquid Water Equivalent of Convective Precipitation Amount"

 

N/A in CMIP

m "time: sum"

 
 

lwepr

 

N/A in CMIP

time,lat,lonlwe_thickness_of_precipitation_amount"Liquid Water Equivalent of Total Precipitation Amount"

 

N/A in CMIP

m "time: sum"

   
 
lweprsn

 

N/A in CMIP

time,lat,lonlwe_thickness_of_snowfall_amount"Liquid Water Equivalent of Snowfall Amount"

 

N/A in CMIP

m "time: sum"

 
 
hfsstime,lat,lonsurface_upward_sensible_heat_flux"Surface Upward Sensible Heat Flux"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
hflstime,lat,lonsurface_upward_latent_heat_flux"Surface Upward Latent Heat Flux"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
rsdstime,lat,lonsurface_downwelling_shortwave_flux_in_air"Surface Downwelling Shortwave Radiation"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
rldstime,lat,lonsurface_downwelling_longwave_flux_in_air"Surface Downwelling Longwave Radiation"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
rsstime,lat,lonsurface_net_downward_shortwave_flux"Net Shortwave Surface Radiation"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
rlstime,lat,lonsurface_net_downward_longwave_flux"Net Longwave Surface Radiation"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 

rst

 

N/A in CMIP

time,lat,lontoa_net_downward_shortwave_flux

"TOA Net Shortwave Radiation"

N/A in CMIP

W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 

rlt

 

N/A in CMIP

time,lat,lontoa_net_downward_longwave_flux

"TOA Net Longwave Radiation"

N/A in CMIP

W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is r equired.
CF:
interval is optional
 
rsdttime,lat,lontoa_incoming_shortwave_flux"TOA Incident Shortwave Radiation"W m-2 "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
tauutime,lat,lonsurface_downward_eastward_stress"Surface Downward Eastward Wind Stress"Pa "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 
tauvtime,lat,lonsurface_downward_northward_stress"Surface Downward Northward Wind Stress"Pa "time: mean (interval: <value> <unit>)"
C3S: interval is required.
CF:
interval is optional
 

lwee

 

N/A in CMIP

time,lat,lonlwe_thickness_of_water_evaporation_amount

"Liquid Water Equivalent of Evaporation Amount"

N/A in CMIP

m "time: sum"

 
 

 

N/A in CMIP

time,lat,lonrunoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

 
 

 

N/A in CMIP

time,lat,lonsurface_runoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

 
 

 

N/A in CMIP

time,lat,lonsubsurface_runoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

 
 

Pressure Level Fields

  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatescell_methodsNOTES
zgtime,plev,lat,longeopotential_height"Geopotential Height"m "time: point"

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

 

 

N/A in CMIP

time,plev,lat,lonatmosphere_relative_vorticity

 

N/A in CMIP

s-1 "time: point"

C3S: required 
CF:
recommended

 

 

N/A in CMIP

time,plev,lat,londivergence_of_wind

 

N/A in CMIP

s-1 "time: point"

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

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

C3S: required 
CF:
recommended

 

 

 

 

 

  • No labels