Warning | ||
---|---|---|
| ||
Some modifications have been made in this page since the meeting at C3S General Assembly at Toulouse |
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 | |||
---|---|---|---|
| |||
Along this document some issues are still at some level under discussion. To mark that it has been followed the following color coding scheme
|
...
Type (CMIP5) | Coordinate Name (CMIP5) | Dimension Names (CMIP5) | Axis | standard_name | long_name (CMIP5) | units (CF canonical units) | positive | valid_min (CMIP5) | valid_max (CMIP5) | bounds | Notes | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
double | lat | lat | Y | latitude | latitude | degrees_north | N/A | -90. | 90. | lat_boundsbnds | Values (1x1deg grid) prescribed: | 181180 [- | 9089.5, - | 8988.5 , ..., -0.5, 0.5 .. | 90. 89.5] |
double | lon | lon | X | longitude | longitude | degrees_east | N/A | 0. | 360. | lon_boundsbnds | Values (1x1deg grid) prescribed: center of 1-degree cells dimension lon=360 [0.5 , 1.5 , ..., 358.5, 359.5] | ||||
double | plev | plev | Z | air_pressure | pressure | Pa | down | N/A | N/A | bounds?This is also referred to as isobaric level by some tools [925., 850., 700., 500., 400., 300., 200., 100., 50., 30., 10.] | |||||
double | depth | depth | Z | depth | depth | m | down | N/A | N/A | depth_boundsbnds | Only used for soil model levels NOTE: Number and depth of levels is not prescribed by C3S | ||||
double | heightheight | (scalar auxiliary coordinate) | Z | height | height | m | up or down | CMIP5: 2mtemp: 1. | CMIP5: 2mtemp: 10. | Used for single level fields (height, soil,SST) e.g. 2 m (for Temperature) | |||||
C3S: string
| realization | str31=31 | E | realization | realization | 1 | N/A | N/A | N/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
Type | Coordinate Name | Dimension Names | Axis | standard_name | long_name | calendar | units | bounds | Notes |
---|---|---|---|---|---|---|---|---|---|
double | reftime | N/A | N/A | forecast_reference_time | "Start date of the forecast" | gregorian | UDUNITS time units e.g. "hours since YYYY-MM-DD hh:mm:ss TZhh:TZmm" | N/A | In 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) |
double | leadtime | timeleadtime | N/A | forecast_period | "Time elapsed since the start of the forecast" | N/A | SPECS: days | 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) |
double | timetime | leadtime | N/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
|
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 Name | Dimensions | Comments |
---|---|---|
time_boundsbnds | time, boundsbnds |
e.g.
[0,24] is that convention always valid? |
leadtime_boundsbnds | ||
lat_boundsbnds | lat, boundsbnds | Values (1x1deg grid) prescribed: [-90., 89.], [-89., -88.], ... [89., 90.] |
lon_boundsbnds | lon, boundsbnds | Values (1x1deg grid) prescribed: [0., 1.], [1., 2.], ... [359., 360.] |
depth_boundsbnds | depth,boundsbnds | Should 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_mapping | hcrs |
_FillValue | 1.0e20 |
missing_value | 1.0e20 |
Variables
_FillValue
missing_value
should both of them be used?
what values?
Static Fields
attributes | |||||||
name (CMIP5) | dimensions | standard_name | long_name (CMIP5) | units | coordinatesgrid_mapping | NOTES | |
---|---|---|---|---|---|---|---|
sftlf | lat,lon | land_area_fraction | "Land Area Fraction" | 1 | "lat lon"
| latitude_longitude | |
orog | lat,lon | surface_altitude | "Surface Altitude" | m | "lat lon" | latitude_longitude
Surface Fields (defined at a given height level)
attributes | |||||||||
name (CMIP5/6&C3S) | dimensions | standard_name | long_name (CMIP5/6&C3S) | units | coordinates | cell_methodsgrid_mapping | NOTES | ||
---|---|---|---|---|---|---|---|---|---|
tas | time,lat,lon | air_temperature | "Near-Surface Air Temperature" | K | "height time lat lon"
| "time: point" | latitude_longitude | height is usually 2m | |
tasmax | time,lat,lon | air_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) | |
tasmin | time,lat,lon | air_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) | |
tdps | time,lat,lon | dew_point_temperature | "2m dewpoint temperature" | K | "height time lat lon" | "time: point" C3S: required CF: recommended | latitude_longitude | height is usually 2m
| |
uas | time,lat,lon | x_wind | Eastward Near-Surface Wind | m s-1 | "height time lat lon" | "time: point" C3S: required CF: recommended | latitude_longitude | height is usually 10m | |
vas | time,lat,lon | y_wind | Northward Near-Surface Wind | m s-1 | "height time lat lon" | "time: point" C3S: required CF: recommended | latitude_longitudeheight is usually 10m | ||
wsgmax
N/A in CMIP | time,lat,lon | wind_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)
attributes | ||||||||
name (CMIP5/6&C3S) | dimensions | standard_name | long_name (CMIP5/6&C3S) | units | coordinates | cell_methodsgrid_mappingmethods | NOTES | |
---|---|---|---|---|---|---|---|---|
psl | time,lat,lon | air_pressure_at_sea_level | "Sea Level Pressure" | Pa | "time: point" C3S: required CF: recommended | latitude_longitude|||
clt | time,lat,lon | cloud_area_fraction | "Total Cloud Fraction" | 1 | "time: point" C3S: required CF: recommended | latitude_longitude | ||
tsl | time,lat,lon | soil_temperature | "Temperature of Soil" | K | "time: point" C3S: required CF: recommended | latitude_longitude | ||
tso | time,lat,lon | sea_surface_temperature | "Sea Surface Temperature" | K | "time: point" C3S: required CF: recommended | latitude_longitude | ||
sitemptop
N/A in CMIP | time,lat,lon | sea_ice_temperature | "Surface temperature of sea ice" N/A in CMIP | K | "time: point" C3S: required CF: recommended | latitude_longitude | ||
sic | time,lat,lon | sea_ice_area_fraction | "Sea Ice Area Fraction" | 1 | "time: point" C3S: required CF: recommended | latitude_longitude | ||
N/A in CMIP | time,depth,lat,lon | mass_content_of_water_in_soil_layer |
N/A in CMIP | kg m-2 | "time: point" C3S: required CF: recommended | latitude_longitude|||
lwesnw
N/A in CMIP | time,lat,lon | lwe_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,lon | snow_density | "Snow density"
N/A in CMIP | kg m-3 | "time: point" C3S: required CF: recommended | latitude_longitude|||
lweprs
N/A in CMIP | time,lat,lon | lwe_thickness_of_stratiform_precipitation_amount | "Liquid Water Equivalent of Stratiform Precipitation Amount"
N/A in CMIP | m | "time: sum" C3S: required CF: recommended | latitude_longitude|||
lweprc
N/A in CMIP | time,lat,lon | lwe_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,lon | lwe_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,lon | lwe_thickness_of_snowfall_amount | "Liquid Water Equivalent of Snowfall Amount"
N/A in CMIP | m | "time: sum" C3S: required CF: recommended | latitude_longitude | ||
hfss | time,lat,lon | surface_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 | ||
hfls | time,lat,lon | surface_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 | ||
rsds | time,lat,lon | surface_downwelling_shortwave_flux_in_air | "Surface Downwelling Shortwave Radiation" | W m-2 | "time: mean (interval: <value> <unit>)" C3S: interval is required. latitude_longitudeCF: interval is optional | |||
rlds | time,lat,lon | surface_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 | ||
rss | time,lat,lon | surface_net_downward_shortwave_flux | "Net Shortwave Surface Radiation" | W m-2 | "time: mean (interval: <value> <unit>)" C3S: interval is required. latitude_longitudeCF: interval is optional optional | |||
rls | time,lat,lon | surface_net_downward_longwave_flux | "Net Longwave Surface Radiation" | W m-2 | "time: mean (interval: <value> <unit>)" C3S: interval is required. latitude_longitudeCF: interval is optional | |||
rst
N/A in CMIP | time,lat,lon | toa_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,lon | toa_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 | ||
rsdt | time,lat,lon | toa_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 | ||
tauu | time,lat,lon | surface_downward_eastward_stress | "Surface Downward Eastward Wind Stress" | Pa | "time: mean (interval: <value> <unit>)" C3S: interval is required. CF: interval is optional | latitude_longitude | ||
tauv | time,lat,lon | surface_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,lon | lwe_thickness_of_water_evaporation_amount | "Liquid Water Equivalent of Evaporation Amount" N/A in CMIP | m | "time: sum" C3S: required CF: recommended | latitude_longitude|||
N/A in CMIP | time,lat,lon | runoff_amount |
N/A in CMIP | kg m-2 | "time: sum" C3S: required CF: recommended | latitude_longitude | ||
N/A in CMIP | time,lat,lon | surface_runoff_amount |
N/A in CMIP | kg m-2 | "time: sum" C3S: required CF: recommended | latitude_longitude|||
N/A in CMIP | time,lat,lon | subsurface_runoff_amount |
N/A in CMIP | kg m-2 | "time: sum" C3S: required CF: recommended | latitude_longitude
Pressure Level Fields
attributes | ||||||||
name (CMIP5) | dimensions | standard_name | long_name (CMIP5) | units | coordinates | cell_methods | grid_mapping | NOTES |
---|---|---|---|---|---|---|---|---|
zg | time,plev,lat,lon | geopotential_height | "Geopotential Height" | m | "time: point" C3S: required CF: recommended | latitude_longitude | ||
ta | time,plev,lat,lon | air_temperature | "Air Temperature" | K | "time: point" C3S: required CF: recommended | latitude_longitude | ||
hus | time,plev,lat,lon | specific_humidity | "Specific Humidity" | 1 | "time: point" C3S: required CF: recommended | latitude_longitude | ||
N/A in CMIP | time,plev,lat,lon | atmosphere_relative_vorticity |
N/A in CMIP | s-1 | "time: point" C3S: required CF: recommended | latitude_longitude | ||
N/A in CMIP | time,plev,lat,lon | divergence_of_wind |
N/A in CMIP | s-1 | "time: point" C3S: required CF: recommended | latitude_longitude|||
ua | time,plev,lat,lon | x_wind | "Eastward Wind" | m s-1 | "time: point" C3S: required CF: recommended | latitude_longitude | ||
va | time,plev,lat,lon | y_wind | "Northward Wind" | m s-1 | "time: point" C3S: required CF: recommended | latitude_longitude