Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleWARNING

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 before 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.

...

Info
titleNOTES 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

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

...

1819089 90bounds?
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_boundsbnds

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_boundsbndsValues (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_boundsbndsOnly used for soil model levels
NOTE: Number and depth of levels is not prescribed by C3S
doubleheightheight(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)
doubleleadtimetimeleadtimeN/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_boundsbnds

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)

doubletimetimeleadtimeN/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_boundsbnds

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: 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.


Warning

"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.

Info

To represent cells

Info

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_boundsbndstime, boundsbnds
  • 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_boundsbnds
lat_boundsbndslat, boundsbndsValues (1x1deg grid) prescribed:
[-90., 89.], [-89., -88.], ... [89., 90.]
lon_boundsbndslon, boundsbnds

Values (1x1deg grid) prescribed:

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

depth_boundsbndsdepth,boundsbndsShould define the full vertical extent of the soil model layers
plev_bounds  
 model layers

Grid mapping

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

Info
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.
Code Block
char 

...

hcrs ;
    

...

hcrs:grid_mapping_name = "latitude_longitude" ;

Different name (e.g. CRS as in CF examples)

Variables

Common attributes

The following attributes must be included in all the variables

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

Variables

Generic issues about attributes of data variablesattribute(s)Notes

 _FillValue

missing_value

 

should both of them be used?

what values?

grid_mappingname of grid_mapping variablecoordinatesinclude all the auxiliary coordinates, coordinates and dimensions


Static Fields

latitude_longitude
  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" 

Surface Fields (defined at a given height level)

latitude_longitude
  attributes 
name
(CMIP5/6&C3S)
dimensionsstandard_namelong_name
(CMIP5/6&C3S)
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: interval is 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: interval is required.
CF:
interval is optional
latitude_longitude

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

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

latitude_longitudelatitude_longitudelatitude_longitudelatitude_longitudelatitude_longitudelatitude_longitudelatitude_longitude
  attributes 
name
(CMIP5/6&C3S)
dimensionsstandard_namelong_name
(CMIP5/6&C3S)
unitscoordinatescell_methodsgrid_mappingmethodsNOTES
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

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 

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

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

C3S: required 
CF:
recommended

latitude_longitude 

 

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

latitude_longitude 

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"

C3S: required 
CF:
recommended


 

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"

C3S: required 
CF:
recommended

latitude_longitude 

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"

C3S: required 
CF:
recommended

latitude_longitude 
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"

C3S: required 
CF:
recommended

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

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
latitude_longitude 

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

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"

C3S: required 
CF:
recommended


 

 

N/A in CMIP

time,lat,lonrunoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

C3S: required 
CF:
recommended

latitude_longitude 

 

N/A in CMIP

time,lat,lonsurface_runoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

C3S: required 
CF:
recommended


 

 

N/A in CMIP

time,lat,lonsubsurface_runoff_amount

 

N/A in CMIP

kg m-2 "time: sum"

C3S: required 
CF:
recommended


 

Pressure Level Fields

latitude_longitudelatitude_longitude
  attributes 
name
(CMIP5)
dimensionsstandard_namelong_name
(CMIP5)
unitscoordinatescell_methodsgrid_mappingNOTES
zgtime,plev,lat,longeopotential_height"Geopotential Height"m "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 

 

N/A in CMIP

time,plev,lat,lonatmosphere_relative_vorticity

 

N/A in CMIP

s-1 "time: point"

C3S: required 
CF:
recommended

latitude_longitude 

 

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

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

C3S: required 
CF:
recommended