From 6682b880043035691f0df8442ffdd17d710a57a3 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Thu, 12 Nov 2020 16:28:01 +0000 Subject: [PATCH 01/31] adding OceanModelLevel as typeOfLevel --- definitions/grib2/typeOfLevelConcept.def | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/definitions/grib2/typeOfLevelConcept.def b/definitions/grib2/typeOfLevelConcept.def index 550fe2d1c..a81461235 100644 --- a/definitions/grib2/typeOfLevelConcept.def +++ b/definitions/grib2/typeOfLevelConcept.def @@ -39,7 +39,9 @@ 'generalVerticalLayer' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; typeOfSecondFixedSurface=150; NV=6;} 'depthBelowSea' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} 'oceanSurface' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} -'oceanLayer' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} +'oceanDepthLayer' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} +'oceanModelLevel' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} +'oceanModelLayer' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} 'entireAtmosphere' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} 'entireOcean' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} 'snow' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} From 2b66b4a8f320127c35b9dc7343450b3de9f01265 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 13 Nov 2020 10:43:32 +0000 Subject: [PATCH 02/31] label properly typeOfLevel for ocean. --- definitions/grib2/tables/24/4.5.table | 28 +++++++++++++++++---------- definitions/grib2/tables/25/4.5.table | 8 ++++---- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/definitions/grib2/tables/24/4.5.table b/definitions/grib2/tables/24/4.5.table index 97795d3cc..a50c4065c 100644 --- a/definitions/grib2/tables/24/4.5.table +++ b/definitions/grib2/tables/24/4.5.table @@ -13,9 +13,9 @@ 11 11 Cumulonimbus (CB) base (m) 12 12 Cumulonimbus (CB) top (m) 13 13 Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover) (%) -14 14 Level of free convection (LFC) -15 15 Convective condensation level (CCL) -16 16 Level of neutral buoyancy or equilibrium level (LNB) +14 14 Level of free convection (LFC) (-) +15 15 Convective condensation level (CCL) (-) +16 16 Level of neutral buoyancy or equilibrium level (LNB) (-) # 17-19 Reserved 20 20 Isothermal level (K) 21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3) @@ -23,7 +23,14 @@ 23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3) 24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3) 25 25 Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity) (dBZ) -# 26-99 Reserved +# 26-29 Reserved +30 30 Specified radius from the center of the Sun (m) +31 31 Solar photosphere +32 32 Ionospheric D-region level +33 33 Ionospheric E-region level +34 34 Ionospheric F1-region level +35 35 Ionospheric F2-region level +# 36-99 Reserved 100 pl Isobaric surface (Pa) 101 sfc Mean sea level 102 102 Specific altitude above mean sea level (m) @@ -38,7 +45,7 @@ 111 111 Eta level (-) 112 112 Reserved 113 113 Logarithmic hybrid level -114 114 Snow level (Numeric) +114 sol Snow level (Numeric) 115 115 Sigma height level # 116 Reserved 117 117 Mixed layer depth (m) @@ -47,8 +54,9 @@ # 120-149 Reserved 150 150 Generalized vertical height coordinate 151 sol Soil level (Numeric) -# 152-159 Reserved -160 160 Depth below sea level (m) +152 sol Sea ice level (Numeric) +# 153-159 Reserved +160 o2d Depth below sea level (m) 161 161 Depth below water surface (m) 162 162 Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -56,9 +64,9 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 166 Mixing layer (-) 167 167 Bottom of root zone (-) -168 168 Ocean model level (Numeric) -169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) +168 o3d Ocean model level (Numeric) +169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved 174 174 Top surface of ice on sea, lake or river 175 175 Top surface of ice, under snow cover, on sea, lake or river diff --git a/definitions/grib2/tables/25/4.5.table b/definitions/grib2/tables/25/4.5.table index bf8473c40..a50c4065c 100644 --- a/definitions/grib2/tables/25/4.5.table +++ b/definitions/grib2/tables/25/4.5.table @@ -56,7 +56,7 @@ 151 sol Soil level (Numeric) 152 sol Sea ice level (Numeric) # 153-159 Reserved -160 160 Depth below sea level (m) +160 o2d Depth below sea level (m) 161 161 Depth below water surface (m) 162 162 Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -64,9 +64,9 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 166 Mixing layer (-) 167 167 Bottom of root zone (-) -168 168 Ocean model level (Numeric) -169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) +168 o3d Ocean model level (Numeric) +169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved 174 174 Top surface of ice on sea, lake or river 175 175 Top surface of ice, under snow cover, on sea, lake or river From 51f618eb3a7099653b4eef76f1173af47ae26072 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Mon, 8 Feb 2021 09:45:04 +0000 Subject: [PATCH 03/31] adding o2d/o3d to more type of level in tables 27 --- definitions/grib2/tables/27/4.5.table | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/definitions/grib2/tables/27/4.5.table b/definitions/grib2/tables/27/4.5.table index 3a9861bcb..c06624bff 100644 --- a/definitions/grib2/tables/27/4.5.table +++ b/definitions/grib2/tables/27/4.5.table @@ -19,7 +19,7 @@ 17 sfc Departure level of the most unstable parcel of air (MUDL) 18 sfc Departure level of a mixed layer parcel of air with specified layer depth (Pa) # 19 Reserved -20 20 Isothermal level (K) +20 o2d Isothermal level (K) 21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3) 22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3) 23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3) @@ -58,7 +58,7 @@ 151 sol Soil level (Numeric) 152 sol Sea ice level (Numeric) # 153-159 Reserved -160 160 Depth below sea level (m) +160 o2d Depth below sea level (m) 161 161 Depth below water surface (m) 162 162 Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -66,12 +66,12 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 166 Mixing layer (-) 167 167 Bottom of root zone (-) -168 168 Ocean model level (Numeric) -169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) +168 o3d Ocean model level (Numeric) +169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved -174 174 Top surface of ice on sea, lake or river -175 175 Top surface of ice, under snow cover, on sea, lake or river +174 o2d Top surface of ice on sea, lake or river +175 o2d Top surface of ice, under snow cover, on sea, lake or river 176 176 Bottom surface (underside) ice on sea, lake or river 177 sfc Deep soil (of indefinite depth) # 178 Reserved From 584095e8d58a14a508a8eb4b16c66c3411d9d363 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 11 Jun 2021 12:50:16 +0100 Subject: [PATCH 04/31] add new stream for ocean --- definitions/mars/stream.table | 2 ++ 1 file changed, 2 insertions(+) diff --git a/definitions/mars/stream.table b/definitions/mars/stream.table index 8f6075db7..ad212c29e 100644 --- a/definitions/mars/stream.table +++ b/definitions/mars/stream.table @@ -110,6 +110,8 @@ 1250 ewla Ensemble Wave Long window data Assimilation 1251 wamd Wave monthly means of daily means 1252 gfas Global fire assimilation system +1253 ocda Ocean Data Assimilation +1254 olda Ocean Long window Data Assimilation 2231 cnrm Meteo France climate centre 2232 mpic Max Plank Institute 2233 ukmo UKMO climate centre From 95b0e291bdf6e6c3414a2709d6d378331cfc801f Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 11 Jun 2021 12:51:40 +0100 Subject: [PATCH 05/31] GRIB2: Prevent error when setting localDefinitionNumber --- src/grib_accessor_class_local_definition.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/grib_accessor_class_local_definition.c b/src/grib_accessor_class_local_definition.c index 1fa55e09c..bd27b4e3d 100644 --- a/src/grib_accessor_class_local_definition.c +++ b/src/grib_accessor_class_local_definition.c @@ -333,8 +333,8 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len) break; default: - grib_context_log(a->context, GRIB_LOG_ERROR, "Invalid localDefinitionNumber %d", localDefinitionNumber); - return GRIB_ENCODING_ERROR; + grib_context_log(a->context, GRIB_LOG_WARNING, "Set localDefinitionNumber: keeping the same PDTN"); + productDefinitionTemplateNumberNew = productDefinitionTemplateNumber; break; } From 1a94df09156e69e9279ff0fc64ccb502cbe21ea8 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Wed, 23 Jun 2021 16:27:29 +0100 Subject: [PATCH 06/31] getting rid of is_efas, is_uerra, is_tigge and is_s2s, part 1 --- definitions/grib2/boot.def | 6 +++--- definitions/grib2/section.1.def | 14 +++++++------- definitions/grib2/section.4.def | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def index d20772ace..03f0ee66c 100644 --- a/definitions/grib2/boot.def +++ b/definitions/grib2/boot.def @@ -16,9 +16,9 @@ constant tablesVersionLatest = 27 : edition_specific; constant million = 1000000 : hidden; constant grib2divider = 1000000; alias extraDimensionPresent=zero; -alias is_tigge = zero; -alias is_s2s = zero; -transient is_efas = 0; +#alias is_tigge = zero; +#alias is_s2s = zero; +#transient is_efas = 0; transient angleSubdivisions=grib2divider; # micro degrees meta gts_header gts_header() : no_copy,hidden,read_only; diff --git a/definitions/grib2/section.1.def b/definitions/grib2/section.1.def index 62a94ccd8..cbd10c07c 100644 --- a/definitions/grib2/section.1.def +++ b/definitions/grib2/section.1.def @@ -116,13 +116,13 @@ if ( ((section1Length > 21) or setCalendarId > 0) and deleteCalendarId == 0) { template calendarIdentification "grib2/template.1.[calendarIdentificationTemplateNumber:l].def"; } -concept is_uerra(zero) { - '1' = {productionStatusOfProcessedData=10;} - '1' = {productionStatusOfProcessedData=11;} - '1' = {productionStatusOfProcessedData=9;} - '1' = {productionStatusOfProcessedData=8;} - '0' = {dummy=1;} -} +#concept is_uerra(zero) { +# '1' = {productionStatusOfProcessedData=10;} +# '1' = {productionStatusOfProcessedData=11;} +# '1' = {productionStatusOfProcessedData=9;} +# '1' = {productionStatusOfProcessedData=8;} +# '0' = {dummy=1;} +#} constant conceptsMasterDir="grib2" : hidden; constant conceptsLocalDirAll="grib2/localConcepts/[centre:s]" : hidden; diff --git a/definitions/grib2/section.4.def b/definitions/grib2/section.4.def index 7e6ebccac..b49b235ce 100644 --- a/definitions/grib2/section.4.def +++ b/definitions/grib2/section.4.def @@ -23,6 +23,25 @@ if (centre==7 || centre==46) { alias disableGrib1LocalSection=one; } +concept datasetForLocal(unknown) { + "tigge" = {productionStatusOfProcessedData=4;} + "tigge" = {productionStatusOfProcessedData=5;} + "s2s" = {productionStatusOfProcessedData=6;} + "s2s" = {productionStatusOfProcessedData=7;} + "hydro" = {marsClass="ce";} # EFAS/GLOFAS + "hydro" = {marsClass="ul";} #ULYSSES + "uerra" = {productionStatusOfProcessedData=8;} # UERRA + "uerra" = {productionStatusOfProcessedData=9;} # UERRA + "uerra" = {productionStatusOfProcessedData=10;} # CARRA/CERRA + "uerra" = {productionStatusOfProcessedData=11;} # CARRA/CERRA + "unknown" = { dummy=1; } +} + +if (!(datasetForLocal is "unknown")) { +constant conceptsDir1 = "grib2/localConcepts/[datasetForLocal]": hidden; +constant conceptsDir2 = "grib2": hidden; +} + codetable[2] productDefinitionTemplateNumber('4.0.table',masterDir,localDir) : dump; if (section2Used == 1) { From 8be460a9c58c7e472e675b77b0c8ce13ada25298 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Thu, 24 Jun 2021 09:09:21 +0100 Subject: [PATCH 07/31] adding uerra specific concepts --- .../grib2/localConcepts/uerra/cfVarName.def | 37 +++++++++++++++++++ .../grib2/localConcepts/uerra/name.def | 37 +++++++++++++++++++ .../grib2/localConcepts/uerra/paramId.def | 37 +++++++++++++++++++ .../grib2/localConcepts/uerra/shortName.def | 37 +++++++++++++++++++ .../grib2/localConcepts/uerra/units.def | 37 +++++++++++++++++++ 5 files changed, 185 insertions(+) create mode 100644 definitions/grib2/localConcepts/uerra/cfVarName.def create mode 100644 definitions/grib2/localConcepts/uerra/name.def create mode 100644 definitions/grib2/localConcepts/uerra/paramId.def create mode 100644 definitions/grib2/localConcepts/uerra/shortName.def create mode 100644 definitions/grib2/localConcepts/uerra/units.def diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def new file mode 100644 index 000000000..1501b921d --- /dev/null +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -0,0 +1,37 @@ +#Wind speed +'ws' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + } +#10 metre wind gust since previous post-processing +'fg10' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 10 ; + typeOfStatisticalProcessing = 2 ; + typeOfFirstFixedSurface = 103 ; + } +#Maximum temperature at 2 metres since previous post-processing +'mx2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 2 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'mn2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfStatisticalProcessing = 3 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 2 ; + } diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def new file mode 100644 index 000000000..6910cb990 --- /dev/null +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -0,0 +1,37 @@ +#Wind speed +'Wind speed' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + } +#10 metre wind gust since previous post-processing +'10 metre wind gust since previous post-processing' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Maximum temperature at 2 metres since previous post-processing +'Maximum temperature at 2 metres since previous post-processing' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'Minimum temperature at 2 metres since previous post-processing' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 3 ; + } diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def new file mode 100644 index 000000000..97c17a41c --- /dev/null +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -0,0 +1,37 @@ +#Wind speed +'10' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + } +#10 metre wind gust since previous post-processing +'49' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Maximum temperature at 2 metres since previous post-processing +'201' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'202' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 3 ; + } diff --git a/definitions/grib2/localConcepts/uerra/shortName.def b/definitions/grib2/localConcepts/uerra/shortName.def new file mode 100644 index 000000000..593aa762d --- /dev/null +++ b/definitions/grib2/localConcepts/uerra/shortName.def @@ -0,0 +1,37 @@ +#Wind speed +'ws' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + } +#10 metre wind gust since previous post-processing +'10fg' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Maximum temperature at 2 metres since previous post-processing +'mx2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'mn2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 3 ; + } diff --git a/definitions/grib2/localConcepts/uerra/units.def b/definitions/grib2/localConcepts/uerra/units.def new file mode 100644 index 000000000..9be44fc19 --- /dev/null +++ b/definitions/grib2/localConcepts/uerra/units.def @@ -0,0 +1,37 @@ +#Wind speed +'m s**-1' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + } +#10 metre wind gust since previous post-processing +'m s**-1' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Maximum temperature at 2 metres since previous post-processing +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 3 ; + } From 3107c5a36d41df5aa0c5cea1d43283b41db5d401 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Mon, 19 Jul 2021 15:59:56 +0100 Subject: [PATCH 08/31] more work on removing is_XXX --- definitions/grib2/cfVarName.def | 68 ----------- definitions/grib2/local.98.41.def | 4 +- definitions/grib2/localConcepts/cnmc/name.def | 19 ---- .../grib2/localConcepts/cnmc/paramId.def | 19 ---- .../grib2/localConcepts/cnmc/shortName.def | 19 ---- .../grib2/localConcepts/cnmc/units.def | 19 ---- .../grib2/localConcepts/egrr/cfVarName.def | 22 ---- definitions/grib2/localConcepts/egrr/name.def | 22 ---- .../grib2/localConcepts/egrr/paramId.def | 22 ---- .../grib2/localConcepts/egrr/shortName.def | 22 ---- .../grib2/localConcepts/egrr/units.def | 22 ---- .../grib2/localConcepts/hydro/cfVarName.def | 20 ++++ .../grib2/localConcepts/hydro/name.def | 20 ++++ .../grib2/localConcepts/hydro/paramId.def | 20 ++++ .../grib2/localConcepts/hydro/shortName.def | 20 ++++ .../grib2/localConcepts/hydro/units.def | 20 ++++ definitions/grib2/localConcepts/s2s/name.def | 17 +++ .../grib2/localConcepts/s2s/paramId.def | 17 +++ .../grib2/localConcepts/s2s/shortName.def | 17 +++ definitions/grib2/localConcepts/s2s/units.def | 17 +++ .../grib2/localConcepts/tigge/cfVarName.def | 24 ++++ .../grib2/localConcepts/tigge/name.def | 24 ++++ .../grib2/localConcepts/tigge/paramId.def | 24 ++++ .../grib2/localConcepts/tigge/shortName.def | 24 ++++ .../grib2/localConcepts/tigge/units.def | 24 ++++ definitions/grib2/name.def | 106 ------------------ definitions/grib2/paramId.def | 106 ------------------ definitions/grib2/products_s2s.def | 2 +- definitions/grib2/products_tigge.def | 2 +- definitions/grib2/shortName.def | 106 ------------------ definitions/grib2/units.def | 106 ------------------ 31 files changed, 292 insertions(+), 682 deletions(-) create mode 100644 definitions/grib2/localConcepts/hydro/cfVarName.def create mode 100644 definitions/grib2/localConcepts/hydro/name.def create mode 100644 definitions/grib2/localConcepts/hydro/paramId.def create mode 100644 definitions/grib2/localConcepts/hydro/shortName.def create mode 100644 definitions/grib2/localConcepts/hydro/units.def create mode 100644 definitions/grib2/localConcepts/s2s/name.def create mode 100644 definitions/grib2/localConcepts/s2s/paramId.def create mode 100644 definitions/grib2/localConcepts/s2s/shortName.def create mode 100644 definitions/grib2/localConcepts/s2s/units.def create mode 100644 definitions/grib2/localConcepts/tigge/cfVarName.def create mode 100644 definitions/grib2/localConcepts/tigge/name.def create mode 100644 definitions/grib2/localConcepts/tigge/paramId.def create mode 100644 definitions/grib2/localConcepts/tigge/shortName.def create mode 100644 definitions/grib2/localConcepts/tigge/units.def diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def index ed457d2fb..084ddade4 100644 --- a/definitions/grib2/cfVarName.def +++ b/definitions/grib2/cfVarName.def @@ -121,7 +121,6 @@ typeOfFirstFixedSurface = 103 ; scaledValueOfFirstFixedSurface = 100 ; scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; } #Wind speed 'ws' = { @@ -131,7 +130,6 @@ typeOfFirstFixedSurface = 103 ; scaledValueOfFirstFixedSurface = 200 ; scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; } #Unbalanced component of temperature 'uctp' = { @@ -193,7 +191,6 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 10 ; typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; typeOfFirstFixedSurface = 103 ; } #Specific rain water content @@ -275,18 +272,6 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 2 ; typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'mn2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfFirstFixedSurface = 2 ; } #Ozone mass mixing ratio 'o3' = { @@ -1107,7 +1092,6 @@ discipline = 0 ; parameterCategory = 2 ; parameterNumber = 22 ; - is_uerra = 0 ; typeOfFirstFixedSurface = 103 ; scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 10 ; @@ -1901,7 +1885,6 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; indicatorOfUnitForTimeRange = 1 ; - is_uerra = 0 ; } #Evaporation in the last 24 hours 'eva24' = { @@ -1912,29 +1895,6 @@ typeOfFirstFixedSurface = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; - is_uerra = 0 ; - } -#Total precipitation in the last 6 hours -'tp06' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - is_efas = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; - indicatorOfUnitForTimeRange = 1 ; - } -#Total precipitation in the last 24 hours -'tp24' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - lengthOfTimeRange = 24 ; - indicatorOfUnitForTimeRange = 1 ; - is_efas = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; } #Fraction of snow cover 'fscov' = { @@ -2702,7 +2662,6 @@ discipline = 0 ; parameterCategory = 0 ; parameterNumber = 0 ; - is_uerra = 0 ; typeOfStatisticalProcessing = 2 ; typeOfFirstFixedSurface = 103 ; scaleFactorOfFirstFixedSurface = 0 ; @@ -2715,7 +2674,6 @@ discipline = 0 ; parameterCategory = 0 ; parameterNumber = 0 ; - is_uerra = 0 ; typeOfFirstFixedSurface = 103 ; typeOfStatisticalProcessing = 3 ; scaleFactorOfFirstFixedSurface = 0 ; @@ -4773,38 +4731,12 @@ parameterCategory = 0 ; parameterNumber = 22 ; } -#Soil Moisture -'sm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfSecondFixedSurface = 106 ; - typeOfFirstFixedSurface = 106 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Soil Temperature 'st' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } -#Soil Temperature -'st' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - scaledValueOfFirstFixedSurface = 0 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - typeOfFirstFixedSurface = 106 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_tigge = 1 ; - } #Snow depth water equivalent 'sd' = { discipline = 0 ; diff --git a/definitions/grib2/local.98.41.def b/definitions/grib2/local.98.41.def index 48df66e8b..93c4ec4da 100644 --- a/definitions/grib2/local.98.41.def +++ b/definitions/grib2/local.98.41.def @@ -35,8 +35,8 @@ unsigned[2] anoffsetLast = missing(): dump, can_be_missing; unsigned[2] anoffsetFrequency = missing(): dump, can_be_missing; # Boolean -remove is_efas; -transient is_efas = 1; +#remove is_efas; +#transient is_efas = 1; transient lsdate_bug = 1: hidden; # See ECC-707 # Note: the key typeOfPostProcessing is in the PDTNs 70, 71, 72 and 73 diff --git a/definitions/grib2/localConcepts/cnmc/name.def b/definitions/grib2/localConcepts/cnmc/name.def index 43a9b0f0b..bdabd3447 100644 --- a/definitions/grib2/localConcepts/cnmc/name.def +++ b/definitions/grib2/localConcepts/cnmc/name.def @@ -5,14 +5,6 @@ parameterCategory = 2 ; parameterNumber = 0 ; } -#Sea ice area fraction -'Sea ice area fraction' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #2 metre dewpoint temperature '2 metre dewpoint temperature' = { discipline = 0 ; @@ -22,17 +14,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#2 metre dewpoint temperature -'2 metre dewpoint temperature' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #Pressure (S) (not reduced) 'Pressure (S) (not reduced)' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/paramId.def b/definitions/grib2/localConcepts/cnmc/paramId.def index a0a324fe6..6721c08d6 100644 --- a/definitions/grib2/localConcepts/cnmc/paramId.def +++ b/definitions/grib2/localConcepts/cnmc/paramId.def @@ -5,14 +5,6 @@ parameterCategory = 2 ; parameterNumber = 0 ; } -#Sea ice area fraction -'31' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #2 metre dewpoint temperature '168' = { discipline = 0 ; @@ -22,17 +14,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#2 metre dewpoint temperature -'168' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #Pressure (S) (not reduced) '500000' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/shortName.def b/definitions/grib2/localConcepts/cnmc/shortName.def index 2d0496ee2..71bcf2db5 100644 --- a/definitions/grib2/localConcepts/cnmc/shortName.def +++ b/definitions/grib2/localConcepts/cnmc/shortName.def @@ -5,14 +5,6 @@ parameterCategory = 2 ; parameterNumber = 0 ; } -#Sea ice area fraction -'ci' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #2 metre dewpoint temperature '2d' = { discipline = 0 ; @@ -22,17 +14,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#2 metre dewpoint temperature -'2d' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #Pressure (S) (not reduced) 'ps' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/units.def b/definitions/grib2/localConcepts/cnmc/units.def index 177655a57..37051c5aa 100644 --- a/definitions/grib2/localConcepts/cnmc/units.def +++ b/definitions/grib2/localConcepts/cnmc/units.def @@ -5,14 +5,6 @@ parameterCategory = 2 ; parameterNumber = 0 ; } -#Sea ice area fraction -'(0 - 1)' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #2 metre dewpoint temperature 'K' = { discipline = 0 ; @@ -22,17 +14,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#2 metre dewpoint temperature -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - is_s2s = 1 ; - } #Pressure (S) (not reduced) 'Pa' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/egrr/cfVarName.def b/definitions/grib2/localConcepts/egrr/cfVarName.def index 99a9945ed..432101fc9 100644 --- a/definitions/grib2/localConcepts/egrr/cfVarName.def +++ b/definitions/grib2/localConcepts/egrr/cfVarName.def @@ -1,26 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Maximum temperature at 2 metres since previous post-processing -'mx2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'mn2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/egrr/name.def b/definitions/grib2/localConcepts/egrr/name.def index f1ce0156a..b1b4c5700 100644 --- a/definitions/grib2/localConcepts/egrr/name.def +++ b/definitions/grib2/localConcepts/egrr/name.def @@ -1,26 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Maximum temperature at 2 metres since previous post-processing -'Maximum temperature at 2 metres since previous post-processing' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - is_uerra = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - scaleFactorOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 2 ; - typeOfFirstFixedSurface = 103 ; - } -#Minimum temperature at 2 metres since previous post-processing -'Minimum temperature at 2 metres since previous post-processing' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - scaledValueOfFirstFixedSurface = 15 ; - scaleFactorOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 3 ; - typeOfFirstFixedSurface = 103 ; - is_uerra = 1 ; - } #Maximum temperature at 2 metres in the last 6 hours 'Maximum temperature at 2 metres in the last 6 hours' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/egrr/paramId.def b/definitions/grib2/localConcepts/egrr/paramId.def index 561ef8625..a3ccb82c4 100644 --- a/definitions/grib2/localConcepts/egrr/paramId.def +++ b/definitions/grib2/localConcepts/egrr/paramId.def @@ -1,26 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Maximum temperature at 2 metres since previous post-processing -'201' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - scaledValueOfFirstFixedSurface = 15 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'202' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - is_uerra = 1 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - typeOfStatisticalProcessing = 3 ; - } #Maximum temperature at 2 metres in the last 6 hours '121' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/egrr/shortName.def b/definitions/grib2/localConcepts/egrr/shortName.def index 3a824a001..93aedfec9 100644 --- a/definitions/grib2/localConcepts/egrr/shortName.def +++ b/definitions/grib2/localConcepts/egrr/shortName.def @@ -1,26 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Maximum temperature at 2 metres since previous post-processing -'mx2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'mn2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/egrr/units.def b/definitions/grib2/localConcepts/egrr/units.def index 8e1c3f3ad..9847903a6 100644 --- a/definitions/grib2/localConcepts/egrr/units.def +++ b/definitions/grib2/localConcepts/egrr/units.def @@ -1,26 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Maximum temperature at 2 metres since previous post-processing -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - is_uerra = 1 ; - scaledValueOfFirstFixedSurface = 15 ; - scaleFactorOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 2 ; - typeOfFirstFixedSurface = 103 ; - } -#Minimum temperature at 2 metres since previous post-processing -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - scaledValueOfFirstFixedSurface = 15 ; - scaleFactorOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 3 ; - typeOfFirstFixedSurface = 103 ; - is_uerra = 1 ; - } #Maximum temperature at 2 metres in the last 6 hours 'K' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/hydro/cfVarName.def b/definitions/grib2/localConcepts/hydro/cfVarName.def new file mode 100644 index 000000000..40d4a9c61 --- /dev/null +++ b/definitions/grib2/localConcepts/hydro/cfVarName.def @@ -0,0 +1,20 @@ +#Total precipitation in the last 6 hours +'tp06' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + indicatorOfUnitForTimeRange = 1 ; + } +#Total precipitation in the last 24 hours +'tp24' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + lengthOfTimeRange = 24 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 1 ; + } diff --git a/definitions/grib2/localConcepts/hydro/name.def b/definitions/grib2/localConcepts/hydro/name.def new file mode 100644 index 000000000..29be30ae1 --- /dev/null +++ b/definitions/grib2/localConcepts/hydro/name.def @@ -0,0 +1,20 @@ +#Total precipitation in the last 6 hours +'Total precipitation in the last 6 hours' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Total precipitation in the last 24 hours +'Total precipitation in the last 24 hours' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/hydro/paramId.def b/definitions/grib2/localConcepts/hydro/paramId.def new file mode 100644 index 000000000..a73020f4a --- /dev/null +++ b/definitions/grib2/localConcepts/hydro/paramId.def @@ -0,0 +1,20 @@ +#Total precipitation in the last 6 hours +'260267' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Total precipitation in the last 24 hours +'260268' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/hydro/shortName.def b/definitions/grib2/localConcepts/hydro/shortName.def new file mode 100644 index 000000000..2f3ea9f11 --- /dev/null +++ b/definitions/grib2/localConcepts/hydro/shortName.def @@ -0,0 +1,20 @@ +#Total precipitation in the last 6 hours +'tp06' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Total precipitation in the last 24 hours +'tp24' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/hydro/units.def b/definitions/grib2/localConcepts/hydro/units.def new file mode 100644 index 000000000..25290e5ad --- /dev/null +++ b/definitions/grib2/localConcepts/hydro/units.def @@ -0,0 +1,20 @@ +#Total precipitation in the last 6 hours +'kg m**-2' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Total precipitation in the last 24 hours +'kg m**-2' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 52 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/s2s/name.def b/definitions/grib2/localConcepts/s2s/name.def new file mode 100644 index 000000000..3bb3ed9a5 --- /dev/null +++ b/definitions/grib2/localConcepts/s2s/name.def @@ -0,0 +1,17 @@ +#Sea ice area fraction +'Sea ice area fraction' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + } +#2 metre dewpoint temperature +'2 metre dewpoint temperature' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + } diff --git a/definitions/grib2/localConcepts/s2s/paramId.def b/definitions/grib2/localConcepts/s2s/paramId.def new file mode 100644 index 000000000..f2bcf79bf --- /dev/null +++ b/definitions/grib2/localConcepts/s2s/paramId.def @@ -0,0 +1,17 @@ +#Sea ice area fraction +'31' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + } +#2 metre dewpoint temperature +'168' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + } diff --git a/definitions/grib2/localConcepts/s2s/shortName.def b/definitions/grib2/localConcepts/s2s/shortName.def new file mode 100644 index 000000000..6d210a750 --- /dev/null +++ b/definitions/grib2/localConcepts/s2s/shortName.def @@ -0,0 +1,17 @@ +#Sea ice area fraction +'ci' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + } +#2 metre dewpoint temperature +'2d' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + } diff --git a/definitions/grib2/localConcepts/s2s/units.def b/definitions/grib2/localConcepts/s2s/units.def new file mode 100644 index 000000000..2b0a562ab --- /dev/null +++ b/definitions/grib2/localConcepts/s2s/units.def @@ -0,0 +1,17 @@ +#Sea ice area fraction +'(0 - 1)' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + } +#2 metre dewpoint temperature +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + } diff --git a/definitions/grib2/localConcepts/tigge/cfVarName.def b/definitions/grib2/localConcepts/tigge/cfVarName.def new file mode 100644 index 000000000..d6762bcdc --- /dev/null +++ b/definitions/grib2/localConcepts/tigge/cfVarName.def @@ -0,0 +1,24 @@ +#Soil Moisture +'sm' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } +#Soil Temperature +'st' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + scaledValueOfFirstFixedSurface = 0 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + typeOfFirstFixedSurface = 106 ; + scaleFactorOfFirstFixedSurface = 0 ; + } diff --git a/definitions/grib2/localConcepts/tigge/name.def b/definitions/grib2/localConcepts/tigge/name.def new file mode 100644 index 000000000..b79c43cef --- /dev/null +++ b/definitions/grib2/localConcepts/tigge/name.def @@ -0,0 +1,24 @@ +#Soil Moisture +'Soil Moisture' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } +#Soil Temperature +'Soil Temperature' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; +} diff --git a/definitions/grib2/localConcepts/tigge/paramId.def b/definitions/grib2/localConcepts/tigge/paramId.def new file mode 100644 index 000000000..0d906699f --- /dev/null +++ b/definitions/grib2/localConcepts/tigge/paramId.def @@ -0,0 +1,24 @@ +#Soil Moisture +'228039' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } +#Soil Temperature +'228139' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } diff --git a/definitions/grib2/localConcepts/tigge/shortName.def b/definitions/grib2/localConcepts/tigge/shortName.def new file mode 100644 index 000000000..16ddd8763 --- /dev/null +++ b/definitions/grib2/localConcepts/tigge/shortName.def @@ -0,0 +1,24 @@ +#Soil Moisture +'sm' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } +#Soil Temperature +'st' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } diff --git a/definitions/grib2/localConcepts/tigge/units.def b/definitions/grib2/localConcepts/tigge/units.def new file mode 100644 index 000000000..2971af794 --- /dev/null +++ b/definitions/grib2/localConcepts/tigge/units.def @@ -0,0 +1,24 @@ +#Soil Moisture +'kg m**-3' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } +#Soil Temperature +'K' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + } diff --git a/definitions/grib2/name.def b/definitions/grib2/name.def index 335d681ba..74bb8a210 100644 --- a/definitions/grib2/name.def +++ b/definitions/grib2/name.def @@ -113,26 +113,6 @@ parameterCategory = 2 ; parameterNumber = 1 ; } -#Wind speed -'Wind speed' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 100 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } -#Wind speed -'Wind speed' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 200 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } #Unbalanced component of temperature 'Unbalanced component of temperature' = { discipline = 0 ; @@ -185,17 +165,6 @@ typeOfSecondFixedSurface = 255 ; typeOfStatisticalProcessing = 1 ; } -#10 metre wind gust since previous post-processing -'10 metre wind gust since previous post-processing' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } #Specific rain water content 'Specific rain water content' = { discipline = 0 ; @@ -266,28 +235,6 @@ parameterCategory = 2 ; parameterNumber = 37 ; } -#Maximum temperature at 2 metres since previous post-processing -'Maximum temperature at 2 metres since previous post-processing' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'Minimum temperature at 2 metres since previous post-processing' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - } #Ozone mass mixing ratio 'Ozone mass mixing ratio' = { discipline = 0 ; @@ -1113,7 +1060,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 3 ; - is_uerra = 0 ; } #Relative humidity with respect to water 'Relative humidity with respect to water' = { @@ -1901,7 +1847,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Evaporation in the last 24 hours 'Evaporation in the last 24 hours' = { @@ -1912,29 +1857,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; - is_uerra = 0 ; - } -#Total precipitation in the last 6 hours -'Total precipitation in the last 6 hours' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; - is_efas = 1 ; - } -#Total precipitation in the last 24 hours -'Total precipitation in the last 24 hours' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; - is_efas = 1 ; } #Fraction of snow cover 'Fraction of snow cover' = { @@ -2708,7 +2630,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Minimum temperature at 2 metres in the last 6 hours 'Minimum temperature at 2 metres in the last 6 hours' = { @@ -2721,7 +2642,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Geopotential 'Geopotential' = { @@ -4773,38 +4693,12 @@ parameterCategory = 0 ; parameterNumber = 22 ; } -#Soil Moisture -'Soil Moisture' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Soil Temperature 'Soil Temperature' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } -#Soil Temperature -'Soil Temperature' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Snow depth water equivalent 'Snow depth water equivalent' = { discipline = 0 ; diff --git a/definitions/grib2/paramId.def b/definitions/grib2/paramId.def index 56f9a4544..c81359224 100644 --- a/definitions/grib2/paramId.def +++ b/definitions/grib2/paramId.def @@ -113,26 +113,6 @@ parameterCategory = 2 ; parameterNumber = 1 ; } -#Wind speed -'10' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 100 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } -#Wind speed -'10' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 200 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } #Unbalanced component of temperature '21' = { discipline = 0 ; @@ -185,17 +165,6 @@ typeOfSecondFixedSurface = 255 ; typeOfStatisticalProcessing = 1 ; } -#10 metre wind gust since previous post-processing -'49' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } #Specific rain water content '75' = { discipline = 0 ; @@ -266,28 +235,6 @@ parameterCategory = 2 ; parameterNumber = 37 ; } -#Maximum temperature at 2 metres since previous post-processing -'201' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'202' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - } #Ozone mass mixing ratio '203' = { discipline = 0 ; @@ -1113,7 +1060,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 3 ; - is_uerra = 0 ; } #Relative humidity with respect to water '228030' = { @@ -1901,7 +1847,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Evaporation in the last 24 hours '260266' = { @@ -1912,29 +1857,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; - is_uerra = 0 ; - } -#Total precipitation in the last 6 hours -'260267' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; - is_efas = 1 ; - } -#Total precipitation in the last 24 hours -'260268' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; - is_efas = 1 ; } #Fraction of snow cover '260289' = { @@ -2708,7 +2630,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Minimum temperature at 2 metres in the last 6 hours '122' = { @@ -2721,7 +2642,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Geopotential '129' = { @@ -4773,38 +4693,12 @@ parameterCategory = 0 ; parameterNumber = 22 ; } -#Soil Moisture -'228039' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Soil Temperature '228139' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } -#Soil Temperature -'228139' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Snow depth water equivalent '228141' = { discipline = 0 ; diff --git a/definitions/grib2/products_s2s.def b/definitions/grib2/products_s2s.def index 48d09e587..99e686f73 100644 --- a/definitions/grib2/products_s2s.def +++ b/definitions/grib2/products_s2s.def @@ -3,7 +3,7 @@ # S2S constant marsClass = 's2'; constant marsModel = 'glob'; -alias is_s2s = one; +#alias is_s2s = one; alias parameter.paramId=paramId; alias parameter.shortName=shortName; diff --git a/definitions/grib2/products_tigge.def b/definitions/grib2/products_tigge.def index 9a3a4ae81..adf79db7f 100644 --- a/definitions/grib2/products_tigge.def +++ b/definitions/grib2/products_tigge.def @@ -3,7 +3,7 @@ # Tigge constant marsClass = 'ti'; constant marsModel = 'glob'; -alias is_tigge = one; +#alias is_tigge = one; alias tigge_short_name=shortName; alias short_name=shortName; diff --git a/definitions/grib2/shortName.def b/definitions/grib2/shortName.def index 70b7ebeea..239871d9a 100644 --- a/definitions/grib2/shortName.def +++ b/definitions/grib2/shortName.def @@ -113,26 +113,6 @@ parameterCategory = 2 ; parameterNumber = 1 ; } -#Wind speed -'ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 100 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } -#Wind speed -'ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 200 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } #Unbalanced component of temperature 'uctp' = { discipline = 0 ; @@ -185,17 +165,6 @@ typeOfSecondFixedSurface = 255 ; typeOfStatisticalProcessing = 1 ; } -#10 metre wind gust since previous post-processing -'10fg' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } #Specific rain water content 'crwc' = { discipline = 0 ; @@ -266,28 +235,6 @@ parameterCategory = 2 ; parameterNumber = 37 ; } -#Maximum temperature at 2 metres since previous post-processing -'mx2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'mn2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - } #Ozone mass mixing ratio 'o3' = { discipline = 0 ; @@ -1113,7 +1060,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 3 ; - is_uerra = 0 ; } #Relative humidity with respect to water 'rhw' = { @@ -1901,7 +1847,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Evaporation in the last 24 hours 'eva24' = { @@ -1912,29 +1857,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; - is_uerra = 0 ; - } -#Total precipitation in the last 6 hours -'tp06' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; - is_efas = 1 ; - } -#Total precipitation in the last 24 hours -'tp24' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; - is_efas = 1 ; } #Fraction of snow cover 'fscov' = { @@ -2708,7 +2630,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Minimum temperature at 2 metres in the last 6 hours 'mn2t6' = { @@ -2721,7 +2642,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Geopotential 'z' = { @@ -4773,38 +4693,12 @@ parameterCategory = 0 ; parameterNumber = 22 ; } -#Soil Moisture -'sm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Soil Temperature 'st' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } -#Soil Temperature -'st' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Snow depth water equivalent 'sd' = { discipline = 0 ; diff --git a/definitions/grib2/units.def b/definitions/grib2/units.def index e5fc404be..e96670959 100644 --- a/definitions/grib2/units.def +++ b/definitions/grib2/units.def @@ -113,26 +113,6 @@ parameterCategory = 2 ; parameterNumber = 1 ; } -#Wind speed -'m s**-1' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 100 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } -#Wind speed -'m s**-1' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 200 ; - scaleFactorOfFirstFixedSurface = 0 ; - is_uerra = 1 ; - } #Unbalanced component of temperature 'K' = { discipline = 0 ; @@ -185,17 +165,6 @@ typeOfSecondFixedSurface = 255 ; typeOfStatisticalProcessing = 1 ; } -#10 metre wind gust since previous post-processing -'m s**-1' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } #Specific rain water content 'kg kg**-1' = { discipline = 0 ; @@ -266,28 +235,6 @@ parameterCategory = 2 ; parameterNumber = 37 ; } -#Maximum temperature at 2 metres since previous post-processing -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 2 ; - is_uerra = 1 ; - } -#Minimum temperature at 2 metres since previous post-processing -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - typeOfStatisticalProcessing = 3 ; - is_uerra = 1 ; - } #Ozone mass mixing ratio 'kg kg**-1' = { discipline = 0 ; @@ -1113,7 +1060,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 3 ; - is_uerra = 0 ; } #Relative humidity with respect to water '%' = { @@ -1901,7 +1847,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Evaporation in the last 24 hours 'kg m**-2' = { @@ -1912,29 +1857,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; - is_uerra = 0 ; - } -#Total precipitation in the last 6 hours -'kg m**-2' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; - is_efas = 1 ; - } -#Total precipitation in the last 24 hours -'kg m**-2' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; - is_efas = 1 ; } #Fraction of snow cover 'Proportion' = { @@ -2708,7 +2630,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Minimum temperature at 2 metres in the last 6 hours 'K' = { @@ -2721,7 +2642,6 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 6 ; - is_uerra = 0 ; } #Geopotential 'm**2 s**-2' = { @@ -4773,38 +4693,12 @@ parameterCategory = 0 ; parameterNumber = 22 ; } -#Soil Moisture -'kg m**-3' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Soil Temperature 'K' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } -#Soil Temperature -'K' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - is_tigge = 1 ; - } #Snow depth water equivalent 'kg m**-2' = { discipline = 0 ; From d4a46e1049840dab02ef4153ee6d1c506a5d488b Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Thu, 22 Jul 2021 13:24:28 +0100 Subject: [PATCH 09/31] switch mars levtype to be assigned from a concept --- definitions/grib2/marsLevtypeConcept.def | 62 +++++++++++++++++++++ definitions/grib2/template.4.horizontal.def | 3 +- 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 definitions/grib2/marsLevtypeConcept.def diff --git a/definitions/grib2/marsLevtypeConcept.def b/definitions/grib2/marsLevtypeConcept.def new file mode 100644 index 000000000..ccfbfea4c --- /dev/null +++ b/definitions/grib2/marsLevtypeConcept.def @@ -0,0 +1,62 @@ +# Concept marsLevtype +'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} +#'entireAtmosphere' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} +#'entireOcean' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} +#'cloudBase' = {typeOfFirstFixedSurface=2; typeOfSecondFixedSurface=255;} +#'cloudTop' = {typeOfFirstFixedSurface=3; typeOfSecondFixedSurface=255;} +#'isothermZero' = {typeOfFirstFixedSurface=4; typeOfSecondFixedSurface=255;} +#'adiabaticCondensation' = {typeOfFirstFixedSurface=5; typeOfSecondFixedSurface=255;} +#'maxWind' = {typeOfFirstFixedSurface=6; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} +#'seaBottom' = {typeOfFirstFixedSurface=9; typeOfSecondFixedSurface=255;} +# Note: We already had 'entireAtmosphere' mapped before adding this one so had to choose another name +#'atmosphere' = {typeOfFirstFixedSurface=10; typeOfSecondFixedSurface=255;} +#'mostUnstableParcel' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} +#'mixedLayerParcel' = {typeOfFirstFixedSurface=18; typeOfSecondFixedSurface=255;} +#'isothermal' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} +'pl' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=255;} +#'isobaricInhPa' = {typeOfFirstFixedSurface=100; pressureUnits='hPa'; typeOfSecondFixedSurface=255;} +#'isobaricLayer' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=100;} +'sfc' = {typeOfFirstFixedSurface=101; typeOfSecondFixedSurface=255;} +#'heightAboveSea' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=255;} +#'heightAboveSeaLayer' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=102;} +'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=103;} +#'sigma' = {typeOfFirstFixedSurface=104; typeOfSecondFixedSurface=255;} +#'sigmaLayer' = {typeOfFirstFixedSurface=104; typeOfSecondFixedSurface=104;} +#'hybrid' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} +#'hybridHeight' = {typeOfFirstFixedSurface=118; typeOfSecondFixedSurface=255;} +'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=105;} +'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=106;} +'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=255;} +'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=107;} +#'pressureFromGround' = {typeOfFirstFixedSurface=108; typeOfSecondFixedSurface=255;} +#'pressureFromGroundLayer' = {typeOfFirstFixedSurface=108; typeOfSecondFixedSurface=108;} +'pv' = {typeOfFirstFixedSurface=109; typeOfSecondFixedSurface=255;} +#'eta' = {typeOfFirstFixedSurface=111; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} +#'snowLayer' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=114;} +#'genericMixedLayerDepth' = {typeOfFirstFixedSurface=117; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=151;} +'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=152;} +# In the case of Generalized vertical height coordinates, NV must be 6 +#'generalVertical' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; NV=6;} +#'generalVerticalLayer' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; typeOfSecondFixedSurface=150; NV=6;} +#'depthBelowSea' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=9;} +'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} +'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} +'o2d' = {typeOfFirstFixedSurface=169; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=170; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=171; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=176; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=176;} +'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=176;} diff --git a/definitions/grib2/template.4.horizontal.def b/definitions/grib2/template.4.horizontal.def index 071ae07b0..9f26273cb 100755 --- a/definitions/grib2/template.4.horizontal.def +++ b/definitions/grib2/template.4.horizontal.def @@ -74,7 +74,8 @@ if (extraDim) { alias mars.levelist = level; } } - alias mars.levtype = typeOfFirstFixedSurface; + #alias mars.levtype = typeOfFirstFixedSurface; + concept mars.levtype (unknown,"marsLevtypeConcept.def",conceptsDir2,conceptsDir1); # GRIB-372: levelist alias does not pertain to surface parameters if (levtype is "sfc") { unalias mars.levelist; From ac05da089c8bef8ce4f4c56325ed7f2061de6584 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 23 Jul 2021 10:04:16 +0100 Subject: [PATCH 10/31] cleanup new marsLevtype concept --- definitions/grib2/marsLevtypeConcept.def | 51 +++++++----------------- 1 file changed, 14 insertions(+), 37 deletions(-) diff --git a/definitions/grib2/marsLevtypeConcept.def b/definitions/grib2/marsLevtypeConcept.def index ccfbfea4c..0d9517e6f 100644 --- a/definitions/grib2/marsLevtypeConcept.def +++ b/definitions/grib2/marsLevtypeConcept.def @@ -1,55 +1,31 @@ # Concept marsLevtype -'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} -#'entireAtmosphere' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} -#'entireOcean' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} -#'cloudBase' = {typeOfFirstFixedSurface=2; typeOfSecondFixedSurface=255;} -#'cloudTop' = {typeOfFirstFixedSurface=3; typeOfSecondFixedSurface=255;} -#'isothermZero' = {typeOfFirstFixedSurface=4; typeOfSecondFixedSurface=255;} -#'adiabaticCondensation' = {typeOfFirstFixedSurface=5; typeOfSecondFixedSurface=255;} -#'maxWind' = {typeOfFirstFixedSurface=6; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} -#'seaBottom' = {typeOfFirstFixedSurface=9; typeOfSecondFixedSurface=255;} -# Note: We already had 'entireAtmosphere' mapped before adding this one so had to choose another name -#'atmosphere' = {typeOfFirstFixedSurface=10; typeOfSecondFixedSurface=255;} -#'mostUnstableParcel' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} -#'mixedLayerParcel' = {typeOfFirstFixedSurface=18; typeOfSecondFixedSurface=255;} -#'isothermal' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=18; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=20; scaleFactorOfFirstFixedSurface=-2; scaledValueOfFirstFixedSurface=29315; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} 'pl' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=255;} -#'isobaricInhPa' = {typeOfFirstFixedSurface=100; pressureUnits='hPa'; typeOfSecondFixedSurface=255;} -#'isobaricLayer' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=100;} 'sfc' = {typeOfFirstFixedSurface=101; typeOfSecondFixedSurface=255;} -#'heightAboveSea' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=255;} -#'heightAboveSeaLayer' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=102;} 'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=103;} -#'sigma' = {typeOfFirstFixedSurface=104; typeOfSecondFixedSurface=255;} -#'sigmaLayer' = {typeOfFirstFixedSurface=104; typeOfSecondFixedSurface=104;} -#'hybrid' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} -#'hybridHeight' = {typeOfFirstFixedSurface=118; typeOfSecondFixedSurface=255;} -'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=105;} +'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=106;} 'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=255;} -'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=107;} -#'pressureFromGround' = {typeOfFirstFixedSurface=108; typeOfSecondFixedSurface=255;} -#'pressureFromGroundLayer' = {typeOfFirstFixedSurface=108; typeOfSecondFixedSurface=108;} 'pv' = {typeOfFirstFixedSurface=109; typeOfSecondFixedSurface=255;} -#'eta' = {typeOfFirstFixedSurface=111; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} -#'snowLayer' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=114;} -#'genericMixedLayerDepth' = {typeOfFirstFixedSurface=117; typeOfSecondFixedSurface=255;} +'hhl' = {typeOfFirstFixedSurface=118; typeOfSecondFixedSurface=255;} +'hpl' = {typeOfFirstFixedSurface=119; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=151;} 'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=152;} -# In the case of Generalized vertical height coordinates, NV must be 6 -#'generalVertical' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; NV=6;} -#'generalVerticalLayer' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; typeOfSecondFixedSurface=150; NV=6;} -#'depthBelowSea' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} 'o2d' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} 'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} 'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=9;} +'sfc' = {typeOfFirstFixedSurface=162; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=166; typeOfSecondFixedSurface=255;} 'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} 'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} 'o2d' = {typeOfFirstFixedSurface=169; typeOfSecondFixedSurface=255;} @@ -60,3 +36,4 @@ 'o2d' = {typeOfFirstFixedSurface=176; typeOfSecondFixedSurface=255;} 'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=176;} 'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=176;} +'sfc' = {typeOfFirstFixedSurface=177; typeOfSecondFixedSurface=255;} From 56bb84d35b2b271fb5e543308b294c3981778eab Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 23 Jul 2021 15:34:47 +0100 Subject: [PATCH 11/31] adding missing levtype concept --- definitions/grib2/marsLevtypeConcept.def | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/definitions/grib2/marsLevtypeConcept.def b/definitions/grib2/marsLevtypeConcept.def index 0d9517e6f..2d431259f 100644 --- a/definitions/grib2/marsLevtypeConcept.def +++ b/definitions/grib2/marsLevtypeConcept.def @@ -1,5 +1,7 @@ # Concept marsLevtype 'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} +'o2d' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} 'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} @@ -8,9 +10,11 @@ 'o2d' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} 'pl' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=101; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=255;} 'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=106;typeOfSecondFixedSurface=106;} 'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=255;} 'pv' = {typeOfFirstFixedSurface=109; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} From b680da06f8defeeb84c04b5df6c539f13a1ec2e7 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 23 Jul 2021 15:46:09 +0100 Subject: [PATCH 12/31] MARS levtype: fix broken tests --- definitions/grib2/template.4.horizontal.def | 2 +- tests/grib_indexing.sh | 4 ++-- tests/grib_set.sh | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/definitions/grib2/template.4.horizontal.def b/definitions/grib2/template.4.horizontal.def index 9f26273cb..771e6847d 100755 --- a/definitions/grib2/template.4.horizontal.def +++ b/definitions/grib2/template.4.horizontal.def @@ -75,7 +75,7 @@ if (extraDim) { } } #alias mars.levtype = typeOfFirstFixedSurface; - concept mars.levtype (unknown,"marsLevtypeConcept.def",conceptsDir2,conceptsDir1); + concept mars.levtype (unknown,"marsLevtypeConcept.def",conceptsDir2,conceptsDir1):no_copy; # GRIB-372: levelist alias does not pertain to surface parameters if (levtype is "sfc") { unalias mars.levelist; diff --git a/tests/grib_indexing.sh b/tests/grib_indexing.sh index 86abd7708..0dcd3e879 100755 --- a/tests/grib_indexing.sh +++ b/tests/grib_indexing.sh @@ -94,8 +94,8 @@ diff $tempRef $tempOut ${tools_dir}/grib_index_build -N -k mars.levtype -o $tempIndex ${data_dir}/tigge_cf_ecmwf.grib2 |\ grep -q "mars.levtype = { sfc, pl, pv, pt }" -${tools_dir}/grib_index_build -N -k mars.levtype:i -o $tempIndex ${data_dir}/tigge_cf_ecmwf.grib2 |\ - grep -q "mars.levtype = { 103, 1, 106, 100, 101, 8, 109, 107 }" +#${tools_dir}/grib_index_build -N -k mars.levtype:i -o $tempIndex ${data_dir}/tigge_cf_ecmwf.grib2 |\ +# grep -q "mars.levtype = { 103, 1, 106, 100, 101, 8, 109, 107 }" echo "grib_compare with index files..." # ------------------------------------ diff --git a/tests/grib_set.sh b/tests/grib_set.sh index 325d4168e..4930214f5 100755 --- a/tests/grib_set.sh +++ b/tests/grib_set.sh @@ -25,8 +25,8 @@ levtype=`${tools_dir}/grib_get -p levtype $outfile` centre=`${tools_dir}/grib_get -p centre $outfile` [ $centre = "cnmc" ] -levtype=`${tools_dir}/grib_get -p levtype:l $outfile` -[ $levtype -eq 100 ] +#levtype=`${tools_dir}/grib_get -p levtype:l $outfile` +#[ $levtype -eq 100 ] centre=`${tools_dir}/grib_get -p centre:l $outfile` [ $centre -eq 80 ] @@ -38,7 +38,7 @@ outfile=${data_dir}/set.grib2 rm -f $outfile -${tools_dir}/grib_set -v -p levtype:l,centre:s -s levtype:l=100,centre:s=cnmc $infile $outfile >$REDIRECT +${tools_dir}/grib_set -v -p levtype:l,centre:s -s levtype=pl,centre:s=cnmc $infile $outfile >$REDIRECT levtype=`${tools_dir}/grib_get -p levtype $outfile` [ $levtype = "pl" ] @@ -46,8 +46,8 @@ levtype=`${tools_dir}/grib_get -p levtype $outfile` centre=`${tools_dir}/grib_get -p centre $outfile` [ $centre = "cnmc" ] -levtype=`${tools_dir}/grib_get -p levtype:l $outfile` -[ $levtype -eq 100 ] +#levtype=`${tools_dir}/grib_get -p levtype:l $outfile` +#[ $levtype -eq 100 ] centre=`${tools_dir}/grib_get -p centre:l $outfile` [ $centre -eq 80 ] From 98be1aec7ef7fd6102dc7cf1a7a871f502b9281c Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 3 Sep 2021 18:00:07 +0100 Subject: [PATCH 13/31] ECC-1270: clean up spaces --- definitions/grib2/marsLevtypeConcept.def | 78 ++++++++++++------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/definitions/grib2/marsLevtypeConcept.def b/definitions/grib2/marsLevtypeConcept.def index 2d431259f..5ad13fad2 100644 --- a/definitions/grib2/marsLevtypeConcept.def +++ b/definitions/grib2/marsLevtypeConcept.def @@ -1,43 +1,43 @@ -# Concept marsLevtype -'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} -'o2d' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} -'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=18; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=20; scaleFactorOfFirstFixedSurface=-2; scaledValueOfFirstFixedSurface=29315; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} -'pl' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=101; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=255;} -'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=255;} -'sfc' = {typeOfFirstFixedSurface=106;typeOfSecondFixedSurface=106;} -'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=255;} -'pv' = {typeOfFirstFixedSurface=109; typeOfSecondFixedSurface=255;} -'sol' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} -'hhl' = {typeOfFirstFixedSurface=118; typeOfSecondFixedSurface=255;} +# Concept marsLevtype +'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} +'o2d' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} +'sfc' = {typeOfFirstFixedSurface=7; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=8; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=17; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=18; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=20; scaleFactorOfFirstFixedSurface=-2; scaledValueOfFirstFixedSurface=29315; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=20; typeOfSecondFixedSurface=255;} +'pl' = {typeOfFirstFixedSurface=100; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=101; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=102; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=103; typeOfSecondFixedSurface=255;} +'ml' = {typeOfFirstFixedSurface=105; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=106; typeOfSecondFixedSurface=255;} +'sfc' = {typeOfFirstFixedSurface=106;typeOfSecondFixedSurface=106;} +'pt' = {typeOfFirstFixedSurface=107; typeOfSecondFixedSurface=255;} +'pv' = {typeOfFirstFixedSurface=109; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} +'hhl' = {typeOfFirstFixedSurface=118; typeOfSecondFixedSurface=255;} 'hpl' = {typeOfFirstFixedSurface=119; typeOfSecondFixedSurface=255;} -'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=255;} -'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=151;} -'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=255;} -'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=152;} -'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} -'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=9;} +'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=151; typeOfSecondFixedSurface=151;} +'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=255;} +'sol' = {typeOfFirstFixedSurface=152; typeOfSecondFixedSurface=152;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} +'o2d' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=9;} 'sfc' = {typeOfFirstFixedSurface=162; typeOfSecondFixedSurface=255;} 'sfc' = {typeOfFirstFixedSurface=166; typeOfSecondFixedSurface=255;} -'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} -'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} -'o2d' = {typeOfFirstFixedSurface=169; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=170; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=171; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=176; typeOfSecondFixedSurface=255;} -'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=176;} -'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=176;} +'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} +'o3d' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} +'o2d' = {typeOfFirstFixedSurface=169; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=170; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=171; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=176; typeOfSecondFixedSurface=255;} +'o2d' = {typeOfFirstFixedSurface=174; typeOfSecondFixedSurface=176;} +'o2d' = {typeOfFirstFixedSurface=175; typeOfSecondFixedSurface=176;} 'sfc' = {typeOfFirstFixedSurface=177; typeOfSecondFixedSurface=255;} From f5b10d4c75330daf3903ebf5670b91bf8037b961 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 17 Sep 2021 11:33:17 +0100 Subject: [PATCH 14/31] keeping only changes to remove is_efas and is_uerra --- definitions/grib2/boot.def | 4 +- definitions/grib2/cfVarName.def | 64 ++++++++----------- definitions/grib2/localConcepts/cnmc/name.def | 19 ++++++ .../grib2/localConcepts/cnmc/paramId.def | 19 ++++++ .../grib2/localConcepts/cnmc/shortName.def | 19 ++++++ .../grib2/localConcepts/cnmc/units.def | 19 ++++++ definitions/grib2/localConcepts/s2s/name.def | 17 ----- .../grib2/localConcepts/s2s/paramId.def | 17 ----- .../grib2/localConcepts/s2s/shortName.def | 17 ----- definitions/grib2/localConcepts/s2s/units.def | 17 ----- .../grib2/localConcepts/tigge/cfVarName.def | 24 ------- .../grib2/localConcepts/tigge/name.def | 24 ------- .../grib2/localConcepts/tigge/paramId.def | 24 ------- .../grib2/localConcepts/tigge/shortName.def | 24 ------- .../grib2/localConcepts/tigge/units.def | 24 ------- definitions/grib2/name.def | 26 ++++++++ definitions/grib2/paramId.def | 26 ++++++++ definitions/grib2/products_s2s.def | 2 +- definitions/grib2/products_tigge.def | 2 +- definitions/grib2/section.4.def | 8 +-- definitions/grib2/shortName.def | 26 ++++++++ definitions/grib2/tables/24/4.5.table | 28 +++----- definitions/grib2/tables/25/4.5.table | 8 +-- definitions/grib2/tables/27/4.5.table | 14 ++-- definitions/grib2/typeOfLevelConcept.def | 4 +- definitions/grib2/units.def | 26 ++++++++ 26 files changed, 236 insertions(+), 266 deletions(-) delete mode 100644 definitions/grib2/localConcepts/s2s/name.def delete mode 100644 definitions/grib2/localConcepts/s2s/paramId.def delete mode 100644 definitions/grib2/localConcepts/s2s/shortName.def delete mode 100644 definitions/grib2/localConcepts/s2s/units.def delete mode 100644 definitions/grib2/localConcepts/tigge/cfVarName.def delete mode 100644 definitions/grib2/localConcepts/tigge/name.def delete mode 100644 definitions/grib2/localConcepts/tigge/paramId.def delete mode 100644 definitions/grib2/localConcepts/tigge/shortName.def delete mode 100644 definitions/grib2/localConcepts/tigge/units.def diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def index 03f0ee66c..a3fea39f1 100644 --- a/definitions/grib2/boot.def +++ b/definitions/grib2/boot.def @@ -16,8 +16,8 @@ constant tablesVersionLatest = 27 : edition_specific; constant million = 1000000 : hidden; constant grib2divider = 1000000; alias extraDimensionPresent=zero; -#alias is_tigge = zero; -#alias is_s2s = zero; +alias is_tigge = zero; +alias is_s2s = zero; #transient is_efas = 0; transient angleSubdivisions=grib2divider; # micro degrees diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def index 084ddade4..589beb2bc 100644 --- a/definitions/grib2/cfVarName.def +++ b/definitions/grib2/cfVarName.def @@ -113,24 +113,6 @@ parameterCategory = 2 ; parameterNumber = 1 ; } -#Wind speed -'ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 100 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Wind speed -'ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 200 ; - scaleFactorOfFirstFixedSurface = 0 ; - } #Unbalanced component of temperature 'uctp' = { discipline = 0 ; @@ -183,16 +165,6 @@ typeOfSecondFixedSurface = 255 ; typeOfStatisticalProcessing = 1 ; } -#10 metre wind gust since previous post-processing -'fg10' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfFirstFixedSurface = 10 ; - typeOfStatisticalProcessing = 2 ; - typeOfFirstFixedSurface = 103 ; - } #Specific rain water content 'crwc' = { discipline = 0 ; @@ -263,16 +235,6 @@ parameterCategory = 2 ; parameterNumber = 37 ; } -#Maximum temperature at 2 metres since previous post-processing -'mx2t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfFirstFixedSurface = 2 ; - typeOfStatisticalProcessing = 2 ; - } #Ozone mass mixing ratio 'o3' = { discipline = 0 ; @@ -4731,12 +4693,38 @@ parameterCategory = 0 ; parameterNumber = 22 ; } +#Soil Moisture +'sm' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Soil Temperature 'st' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } +#Soil Temperature +'st' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + scaledValueOfFirstFixedSurface = 0 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + typeOfFirstFixedSurface = 106 ; + scaleFactorOfFirstFixedSurface = 0 ; + is_tigge = 1 ; + } #Snow depth water equivalent 'sd' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/name.def b/definitions/grib2/localConcepts/cnmc/name.def index bdabd3447..43a9b0f0b 100644 --- a/definitions/grib2/localConcepts/cnmc/name.def +++ b/definitions/grib2/localConcepts/cnmc/name.def @@ -5,6 +5,14 @@ parameterCategory = 2 ; parameterNumber = 0 ; } +#Sea ice area fraction +'Sea ice area fraction' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #2 metre dewpoint temperature '2 metre dewpoint temperature' = { discipline = 0 ; @@ -14,6 +22,17 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } +#2 metre dewpoint temperature +'2 metre dewpoint temperature' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #Pressure (S) (not reduced) 'Pressure (S) (not reduced)' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/paramId.def b/definitions/grib2/localConcepts/cnmc/paramId.def index 6721c08d6..a0a324fe6 100644 --- a/definitions/grib2/localConcepts/cnmc/paramId.def +++ b/definitions/grib2/localConcepts/cnmc/paramId.def @@ -5,6 +5,14 @@ parameterCategory = 2 ; parameterNumber = 0 ; } +#Sea ice area fraction +'31' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #2 metre dewpoint temperature '168' = { discipline = 0 ; @@ -14,6 +22,17 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } +#2 metre dewpoint temperature +'168' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #Pressure (S) (not reduced) '500000' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/shortName.def b/definitions/grib2/localConcepts/cnmc/shortName.def index 71bcf2db5..2d0496ee2 100644 --- a/definitions/grib2/localConcepts/cnmc/shortName.def +++ b/definitions/grib2/localConcepts/cnmc/shortName.def @@ -5,6 +5,14 @@ parameterCategory = 2 ; parameterNumber = 0 ; } +#Sea ice area fraction +'ci' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #2 metre dewpoint temperature '2d' = { discipline = 0 ; @@ -14,6 +22,17 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } +#2 metre dewpoint temperature +'2d' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #Pressure (S) (not reduced) 'ps' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/cnmc/units.def b/definitions/grib2/localConcepts/cnmc/units.def index 37051c5aa..177655a57 100644 --- a/definitions/grib2/localConcepts/cnmc/units.def +++ b/definitions/grib2/localConcepts/cnmc/units.def @@ -5,6 +5,14 @@ parameterCategory = 2 ; parameterNumber = 0 ; } +#Sea ice area fraction +'(0 - 1)' = { + discipline = 10 ; + parameterCategory = 2 ; + parameterNumber = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #2 metre dewpoint temperature 'K' = { discipline = 0 ; @@ -14,6 +22,17 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } +#2 metre dewpoint temperature +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 6 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + subCentre = 102 ; + is_s2s = 1 ; + } #Pressure (S) (not reduced) 'Pa' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/s2s/name.def b/definitions/grib2/localConcepts/s2s/name.def deleted file mode 100644 index 3bb3ed9a5..000000000 --- a/definitions/grib2/localConcepts/s2s/name.def +++ /dev/null @@ -1,17 +0,0 @@ -#Sea ice area fraction -'Sea ice area fraction' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - } -#2 metre dewpoint temperature -'2 metre dewpoint temperature' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - } diff --git a/definitions/grib2/localConcepts/s2s/paramId.def b/definitions/grib2/localConcepts/s2s/paramId.def deleted file mode 100644 index f2bcf79bf..000000000 --- a/definitions/grib2/localConcepts/s2s/paramId.def +++ /dev/null @@ -1,17 +0,0 @@ -#Sea ice area fraction -'31' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - } -#2 metre dewpoint temperature -'168' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - } diff --git a/definitions/grib2/localConcepts/s2s/shortName.def b/definitions/grib2/localConcepts/s2s/shortName.def deleted file mode 100644 index 6d210a750..000000000 --- a/definitions/grib2/localConcepts/s2s/shortName.def +++ /dev/null @@ -1,17 +0,0 @@ -#Sea ice area fraction -'ci' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - } -#2 metre dewpoint temperature -'2d' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - } diff --git a/definitions/grib2/localConcepts/s2s/units.def b/definitions/grib2/localConcepts/s2s/units.def deleted file mode 100644 index 2b0a562ab..000000000 --- a/definitions/grib2/localConcepts/s2s/units.def +++ /dev/null @@ -1,17 +0,0 @@ -#Sea ice area fraction -'(0 - 1)' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - subCentre = 102 ; - } -#2 metre dewpoint temperature -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - subCentre = 102 ; - } diff --git a/definitions/grib2/localConcepts/tigge/cfVarName.def b/definitions/grib2/localConcepts/tigge/cfVarName.def deleted file mode 100644 index d6762bcdc..000000000 --- a/definitions/grib2/localConcepts/tigge/cfVarName.def +++ /dev/null @@ -1,24 +0,0 @@ -#Soil Moisture -'sm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfSecondFixedSurface = 106 ; - typeOfFirstFixedSurface = 106 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil Temperature -'st' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - scaledValueOfFirstFixedSurface = 0 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - typeOfFirstFixedSurface = 106 ; - scaleFactorOfFirstFixedSurface = 0 ; - } diff --git a/definitions/grib2/localConcepts/tigge/name.def b/definitions/grib2/localConcepts/tigge/name.def deleted file mode 100644 index b79c43cef..000000000 --- a/definitions/grib2/localConcepts/tigge/name.def +++ /dev/null @@ -1,24 +0,0 @@ -#Soil Moisture -'Soil Moisture' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil Temperature -'Soil Temperature' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; -} diff --git a/definitions/grib2/localConcepts/tigge/paramId.def b/definitions/grib2/localConcepts/tigge/paramId.def deleted file mode 100644 index 0d906699f..000000000 --- a/definitions/grib2/localConcepts/tigge/paramId.def +++ /dev/null @@ -1,24 +0,0 @@ -#Soil Moisture -'228039' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil Temperature -'228139' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } diff --git a/definitions/grib2/localConcepts/tigge/shortName.def b/definitions/grib2/localConcepts/tigge/shortName.def deleted file mode 100644 index 16ddd8763..000000000 --- a/definitions/grib2/localConcepts/tigge/shortName.def +++ /dev/null @@ -1,24 +0,0 @@ -#Soil Moisture -'sm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil Temperature -'st' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } diff --git a/definitions/grib2/localConcepts/tigge/units.def b/definitions/grib2/localConcepts/tigge/units.def deleted file mode 100644 index 2971af794..000000000 --- a/definitions/grib2/localConcepts/tigge/units.def +++ /dev/null @@ -1,24 +0,0 @@ -#Soil Moisture -'kg m**-3' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil Temperature -'K' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } diff --git a/definitions/grib2/name.def b/definitions/grib2/name.def index 74bb8a210..62d3ff6ac 100644 --- a/definitions/grib2/name.def +++ b/definitions/grib2/name.def @@ -4693,12 +4693,38 @@ parameterCategory = 0 ; parameterNumber = 22 ; } +#Soil Moisture +'Soil Moisture' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Soil Temperature 'Soil Temperature' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } +#Soil Temperature +'Soil Temperature' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Snow depth water equivalent 'Snow depth water equivalent' = { discipline = 0 ; diff --git a/definitions/grib2/paramId.def b/definitions/grib2/paramId.def index c81359224..5baf2aeae 100644 --- a/definitions/grib2/paramId.def +++ b/definitions/grib2/paramId.def @@ -4693,12 +4693,38 @@ parameterCategory = 0 ; parameterNumber = 22 ; } +#Soil Moisture +'228039' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Soil Temperature '228139' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } +#Soil Temperature +'228139' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Snow depth water equivalent '228141' = { discipline = 0 ; diff --git a/definitions/grib2/products_s2s.def b/definitions/grib2/products_s2s.def index 99e686f73..48d09e587 100644 --- a/definitions/grib2/products_s2s.def +++ b/definitions/grib2/products_s2s.def @@ -3,7 +3,7 @@ # S2S constant marsClass = 's2'; constant marsModel = 'glob'; -#alias is_s2s = one; +alias is_s2s = one; alias parameter.paramId=paramId; alias parameter.shortName=shortName; diff --git a/definitions/grib2/products_tigge.def b/definitions/grib2/products_tigge.def index adf79db7f..9a3a4ae81 100644 --- a/definitions/grib2/products_tigge.def +++ b/definitions/grib2/products_tigge.def @@ -3,7 +3,7 @@ # Tigge constant marsClass = 'ti'; constant marsModel = 'glob'; -#alias is_tigge = one; +alias is_tigge = one; alias tigge_short_name=shortName; alias short_name=shortName; diff --git a/definitions/grib2/section.4.def b/definitions/grib2/section.4.def index b49b235ce..c40755c2e 100644 --- a/definitions/grib2/section.4.def +++ b/definitions/grib2/section.4.def @@ -24,10 +24,10 @@ if (centre==7 || centre==46) { } concept datasetForLocal(unknown) { - "tigge" = {productionStatusOfProcessedData=4;} - "tigge" = {productionStatusOfProcessedData=5;} - "s2s" = {productionStatusOfProcessedData=6;} - "s2s" = {productionStatusOfProcessedData=7;} +# "tigge" = {productionStatusOfProcessedData=4;} +# "tigge" = {productionStatusOfProcessedData=5;} +# "s2s" = {productionStatusOfProcessedData=6;} +# "s2s" = {productionStatusOfProcessedData=7;} "hydro" = {marsClass="ce";} # EFAS/GLOFAS "hydro" = {marsClass="ul";} #ULYSSES "uerra" = {productionStatusOfProcessedData=8;} # UERRA diff --git a/definitions/grib2/shortName.def b/definitions/grib2/shortName.def index 239871d9a..1392bd480 100644 --- a/definitions/grib2/shortName.def +++ b/definitions/grib2/shortName.def @@ -4693,12 +4693,38 @@ parameterCategory = 0 ; parameterNumber = 22 ; } +#Soil Moisture +'sm' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Soil Temperature 'st' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } +#Soil Temperature +'st' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Snow depth water equivalent 'sd' = { discipline = 0 ; diff --git a/definitions/grib2/tables/24/4.5.table b/definitions/grib2/tables/24/4.5.table index 65e7052e8..a6840e55e 100644 --- a/definitions/grib2/tables/24/4.5.table +++ b/definitions/grib2/tables/24/4.5.table @@ -13,9 +13,9 @@ 11 11 Cumulonimbus (CB) base (m) 12 12 Cumulonimbus (CB) top (m) 13 13 Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover) (%) -14 14 Level of free convection (LFC) (-) -15 15 Convective condensation level (CCL) (-) -16 16 Level of neutral buoyancy or equilibrium level (LNB) (-) +14 14 Level of free convection (LFC) +15 15 Convective condensation level (CCL) +16 16 Level of neutral buoyancy or equilibrium level (LNB) # 17-19 Reserved 20 20 Isothermal level (K) 21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3) @@ -23,14 +23,7 @@ 23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3) 24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3) 25 25 Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity) (dBZ) -# 26-29 Reserved -30 30 Specified radius from the center of the Sun (m) -31 31 Solar photosphere -32 32 Ionospheric D-region level -33 33 Ionospheric E-region level -34 34 Ionospheric F1-region level -35 35 Ionospheric F2-region level -# 36-99 Reserved +# 26-99 Reserved 100 pl Isobaric surface (Pa) 101 sfc Mean sea level 102 102 Specific altitude above mean sea level (m) @@ -45,7 +38,7 @@ 111 111 Eta level (-) 112 112 Reserved 113 113 Logarithmic hybrid level -114 sol Snow level (Numeric) +114 114 Snow level (Numeric) 115 115 Sigma height level # 116 Reserved 117 117 Mixed layer depth (m) @@ -54,9 +47,8 @@ # 120-149 Reserved 150 150 Generalized vertical height coordinate 151 sol Soil level (Numeric) -152 sol Sea ice level (Numeric) -# 153-159 Reserved -160 o2d Depth below sea level (m) +# 152-159 Reserved +160 160 Depth below sea level (m) 161 161 Depth below water surface (m) 162 sfc Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -64,9 +56,9 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 sfc Mixing layer (-) 167 167 Bottom of root zone (-) -168 o3d Ocean model level (Numeric) -169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) +168 168 Ocean model level (Numeric) +169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved 174 sfc Top surface of ice on sea, lake or river 175 175 Top surface of ice, under snow cover, on sea, lake or river diff --git a/definitions/grib2/tables/25/4.5.table b/definitions/grib2/tables/25/4.5.table index 65e7052e8..98d6308ac 100644 --- a/definitions/grib2/tables/25/4.5.table +++ b/definitions/grib2/tables/25/4.5.table @@ -56,7 +56,7 @@ 151 sol Soil level (Numeric) 152 sol Sea ice level (Numeric) # 153-159 Reserved -160 o2d Depth below sea level (m) +160 160 Depth below sea level (m) 161 161 Depth below water surface (m) 162 sfc Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -64,9 +64,9 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 sfc Mixing layer (-) 167 167 Bottom of root zone (-) -168 o3d Ocean model level (Numeric) -169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) +168 168 Ocean model level (Numeric) +169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved 174 sfc Top surface of ice on sea, lake or river 175 175 Top surface of ice, under snow cover, on sea, lake or river diff --git a/definitions/grib2/tables/27/4.5.table b/definitions/grib2/tables/27/4.5.table index f040f8bca..c3d56dfb6 100644 --- a/definitions/grib2/tables/27/4.5.table +++ b/definitions/grib2/tables/27/4.5.table @@ -19,7 +19,7 @@ 17 sfc Departure level of the most unstable parcel of air (MUDL) 18 sfc Departure level of a mixed layer parcel of air with specified layer depth (Pa) # 19 Reserved -20 o2d Isothermal level (K) +20 20 Isothermal level (K) 21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3) 22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3) 23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3) @@ -58,7 +58,7 @@ 151 sol Soil level (Numeric) 152 sol Sea-ice level (Numeric) # 153-159 Reserved -160 o2d Depth below sea level (m) +160 160 Depth below sea level (m) 161 161 Depth below water surface (m) 162 sfc Lake or river bottom (-) 163 163 Bottom of sediment layer (-) @@ -66,12 +66,12 @@ 165 165 Bottom of sediment layer penetrated by thermal wave (-) 166 sfc Mixing layer (-) 167 167 Bottom of root zone (-) -168 o3d Ocean model level (Numeric) -169 o2d Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) -170 o2d Ocean level defined by water potential temperature difference from near-surface to level (K) +168 168 Ocean model level (Numeric) +169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3) +170 170 Ocean level defined by water potential temperature difference from near-surface to level (K) # 171-173 Reserved -174 o2d Top surface of ice on sea, lake or river -175 o2d Top surface of ice, under snow cover, on sea, lake or river +174 sfc Top surface of ice on sea, lake or river +175 175 Top surface of ice, under snow cover, on sea, lake or river 176 176 Bottom surface (underside) ice on sea, lake or river 177 sfc Deep soil (of indefinite depth) # 178 Reserved diff --git a/definitions/grib2/typeOfLevelConcept.def b/definitions/grib2/typeOfLevelConcept.def index 2ab82bfc8..f39a33095 100644 --- a/definitions/grib2/typeOfLevelConcept.def +++ b/definitions/grib2/typeOfLevelConcept.def @@ -41,9 +41,7 @@ 'generalVerticalLayer' = {genVertHeightCoords=1; typeOfFirstFixedSurface=150; typeOfSecondFixedSurface=150; NV=6;} 'depthBelowSea' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=255;} 'oceanSurface' = {typeOfFirstFixedSurface=160; scaleFactorOfFirstFixedSurface=0; scaledValueOfFirstFixedSurface=0; typeOfSecondFixedSurface=255;} -'oceanDepthLayer' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} -'oceanModelLevel' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=255;} -'oceanModelLayer' = {typeOfFirstFixedSurface=168; typeOfSecondFixedSurface=168;} +'oceanLayer' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=160;} 'entireAtmosphere' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=8;} 'entireOcean' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=9;} 'snow' = {typeOfFirstFixedSurface=114; typeOfSecondFixedSurface=255;} diff --git a/definitions/grib2/units.def b/definitions/grib2/units.def index e96670959..5134eefe2 100644 --- a/definitions/grib2/units.def +++ b/definitions/grib2/units.def @@ -4693,12 +4693,38 @@ parameterCategory = 0 ; parameterNumber = 22 ; } +#Soil Moisture +'kg m**-3' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Soil Temperature 'K' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 2 ; } +#Soil Temperature +'K' = { + discipline = 2 ; + parameterCategory = 0 ; + parameterNumber = 2 ; + typeOfFirstFixedSurface = 106 ; + typeOfSecondFixedSurface = 106 ; + scaledValueOfFirstFixedSurface = 0 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfSecondFixedSurface = 2 ; + scaleFactorOfSecondFixedSurface = 1 ; + is_tigge = 1 ; + } #Snow depth water equivalent 'kg m**-2' = { discipline = 0 ; From e13118ef9ccfc1e4e55d16af3302159f031d0213 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Sat, 18 Sep 2021 22:52:21 +0100 Subject: [PATCH 15/31] Remove the transients is_efas and is_uerra --- definitions/grib2/boot.def | 1 - definitions/grib2/local.98.41.def | 2 -- definitions/grib2/section.1.def | 8 -------- 3 files changed, 11 deletions(-) diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def index a3fea39f1..44cf284ae 100644 --- a/definitions/grib2/boot.def +++ b/definitions/grib2/boot.def @@ -18,7 +18,6 @@ constant grib2divider = 1000000; alias extraDimensionPresent=zero; alias is_tigge = zero; alias is_s2s = zero; -#transient is_efas = 0; transient angleSubdivisions=grib2divider; # micro degrees meta gts_header gts_header() : no_copy,hidden,read_only; diff --git a/definitions/grib2/local.98.41.def b/definitions/grib2/local.98.41.def index 810fde8a9..5619b7b47 100644 --- a/definitions/grib2/local.98.41.def +++ b/definitions/grib2/local.98.41.def @@ -38,8 +38,6 @@ unsigned[2] anoffsetLast = missing(): dump, can_be_missing; unsigned[2] anoffsetFrequency = missing(): dump, can_be_missing; # Boolean -#remove is_efas; -#transient is_efas = 1; transient lsdate_bug = 1: hidden; # See ECC-707 # Note: the key typeOfPostProcessing is in the PDTNs 70, 71, 72 and 73 diff --git a/definitions/grib2/section.1.def b/definitions/grib2/section.1.def index cbd10c07c..a9bca14ce 100644 --- a/definitions/grib2/section.1.def +++ b/definitions/grib2/section.1.def @@ -116,14 +116,6 @@ if ( ((section1Length > 21) or setCalendarId > 0) and deleteCalendarId == 0) { template calendarIdentification "grib2/template.1.[calendarIdentificationTemplateNumber:l].def"; } -#concept is_uerra(zero) { -# '1' = {productionStatusOfProcessedData=10;} -# '1' = {productionStatusOfProcessedData=11;} -# '1' = {productionStatusOfProcessedData=9;} -# '1' = {productionStatusOfProcessedData=8;} -# '0' = {dummy=1;} -#} - constant conceptsMasterDir="grib2" : hidden; constant conceptsLocalDirAll="grib2/localConcepts/[centre:s]" : hidden; constant conceptsLocalDirECMF="grib2/localConcepts/ecmf" : hidden; From 2d4923435ada085a2e209027ecea59868f51eca0 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Sat, 18 Sep 2021 23:04:31 +0100 Subject: [PATCH 16/31] Remove test grib_ecc-1255.sh (not relevant anymore) --- tests/CMakeLists.txt | 1 - tests/grib_ecc-1255.sh | 43 ------------------------------------------ 2 files changed, 44 deletions(-) delete mode 100755 tests/grib_ecc-1255.sh diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c5716238e..685557296 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -84,7 +84,6 @@ if( HAVE_BUILD_TOOLS ) grib_ecc-1195 grib_ecc-1212 grib_ecc-1230 - grib_ecc-1255 grib_ecc-1258 grib_ecc-1260 grib_ecc-1261 diff --git a/tests/grib_ecc-1255.sh b/tests/grib_ecc-1255.sh deleted file mode 100755 index e5fb1dfe3..000000000 --- a/tests/grib_ecc-1255.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# (C) Copyright 2005- ECMWF. -# -# This software is licensed under the terms of the Apache Licence Version 2.0 -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -# -# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by -# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. -# - -. ./include.sh -set -u - -label="grib_ecc-1255-test" -tempGrib=temp.$label.grib -tempFilt1=temp.1.$label.filt -tempFilt2=temp.2.$label.filt -sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl - -# Non-EFAS GRIB -# ----------------- -cat > $tempFilt1 < $tempFilt2 < Date: Sat, 18 Sep 2021 23:05:00 +0100 Subject: [PATCH 17/31] Remove tests for transients is_efas --- tests/grib_efas.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/tests/grib_efas.sh b/tests/grib_efas.sh index 6e2d563d5..4124974ca 100755 --- a/tests/grib_efas.sh +++ b/tests/grib_efas.sh @@ -22,31 +22,28 @@ temp3=temp3.$label.grib # Create a starting GRIB with a basic local definition for MARS ${tools_dir}/grib_set -s tablesVersion=19,setLocalDefinition=1,stream=efas $ECCODES_SAMPLES_PATH/GRIB2.tmpl $sample -# Check is_efas key -grib_check_key_equals $sample is_efas 0 - # Test a non-ensemble, instantaneous field ${tools_dir}/grib_set -s productDefinitionTemplateNumber=0 $sample $temp1 ${tools_dir}/grib_set -s setLocalDefinition=1,localDefinitionNumber=41 $temp1 $temp2 -grib_check_key_equals $temp2 is_efas,productDefinitionTemplateNumber '1 70' +grib_check_key_equals $temp2 productDefinitionTemplateNumber '70' grib_check_key_exists $temp2 isFillup,dateOfForecast,timeOfForecast,anoffset # Test an ensemble, instantaneous field ${tools_dir}/grib_set -s productDefinitionTemplateNumber=1,number=13 $sample $temp1 ${tools_dir}/grib_set -s setLocalDefinition=1,localDefinitionNumber=41 $temp1 $temp2 -grib_check_key_equals $temp2 is_efas,number,productDefinitionTemplateNumber '1 13 71' +grib_check_key_equals $temp2 number,productDefinitionTemplateNumber '13 71' # Test a non-ensemble, non-instantaneous field ${tools_dir}/grib_set -s productDefinitionTemplateNumber=8,stepType=accum $sample $temp1 ${tools_dir}/grib_set -s setLocalDefinition=1,localDefinitionNumber=41 $temp1 $temp2 -grib_check_key_equals $temp2 is_efas,productDefinitionTemplateNumber,typeOfStatisticalProcessing '1 72 1' +grib_check_key_equals $temp2 productDefinitionTemplateNumber,typeOfStatisticalProcessing '72 1' # Test an ensemble, non-instantaneous field (plus mars.origin tests) ${tools_dir}/grib_set -s productDefinitionTemplateNumber=11,stepType=accum $sample $temp1 ${tools_dir}/grib_set -s \ setLocalDefinition=1,localDefinitionNumber=41,type=pf,inputOriginatingCentre=ecmf,typeOfPostProcessing=1 \ $temp1 $temp2 -grib_check_key_equals $temp2 is_efas,productDefinitionTemplateNumber,typeOfStatisticalProcessing '1 73 1' +grib_check_key_equals $temp2 productDefinitionTemplateNumber,typeOfStatisticalProcessing '73 1' grib_check_key_equals $temp2 mars.origin 'ecmf' grib_check_key_equals $temp2 mars.model 'lisflood' @@ -57,10 +54,10 @@ grib_check_key_equals $temp2 mars.model 'geff' # Parameter tests ${tools_dir}/grib_set -s paramId=260267 $temp2 $temp3 -grib_check_key_equals $temp3 paramId,is_efas,lengthOfTimeRange '260267 1 6' +grib_check_key_equals $temp3 paramId,lengthOfTimeRange '260267 6' ${tools_dir}/grib_set -s paramId=260268 $temp2 $temp3 -grib_check_key_equals $temp3 paramId,is_efas,lengthOfTimeRange '260268 1 24' +grib_check_key_equals $temp3 paramId,lengthOfTimeRange '260268 24' # Use stepType ${tools_dir}/grib_set -s localDefinitionNumber=41,stepType=accum $sample $temp1 From 2fa1ae27a1d7dcb31319a541ea65ac4264939eb8 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Sun, 19 Sep 2021 14:09:47 +0100 Subject: [PATCH 18/31] Fix remaining test (class must be 'ce') --- tests/grib_efas.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tests/grib_efas.sh b/tests/grib_efas.sh index 4124974ca..3c2524188 100755 --- a/tests/grib_efas.sh +++ b/tests/grib_efas.sh @@ -48,7 +48,7 @@ grib_check_key_equals $temp2 mars.origin 'ecmf' grib_check_key_equals $temp2 mars.model 'lisflood' ${tools_dir}/grib_set -s \ - setLocalDefinition=1,localDefinitionNumber=41,type=fc,inputOriginatingCentre=ecmf,typeOfPostProcessing=10 \ + setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=fc,inputOriginatingCentre=ecmf,typeOfPostProcessing=10 \ $temp1 $temp2 grib_check_key_equals $temp2 mars.model 'geff' @@ -60,7 +60,7 @@ ${tools_dir}/grib_set -s paramId=260268 $temp2 $temp3 grib_check_key_equals $temp3 paramId,lengthOfTimeRange '260268 24' # Use stepType -${tools_dir}/grib_set -s localDefinitionNumber=41,stepType=accum $sample $temp1 +${tools_dir}/grib_set -s localDefinitionNumber=41,class=ce,stepType=accum $sample $temp1 ${tools_dir}/grib_set -s paramId=260267 $temp1 $temp2 # Test anoffset calculation @@ -72,18 +72,22 @@ grib_check_key_equals $temp1 anoffsetFirst,anoffsetLast,anoffsetFrequency "MISSI # MARS step types="sfo fu go" for t in $types; do - ${tools_dir}/grib_set -s setLocalDefinition=1,localDefinitionNumber=41,type=$t,stepType=accum,stepRange=12-36,paramId=260268 \ + ${tools_dir}/grib_set -s \ + setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=$t,stepType=accum,stepRange=12-36 \ $sample $temp1 - grib_check_key_equals $temp1 mars.step 36 # end step (ECC-701) - grib_check_key_exists $temp1 mars.anoffset + ${tools_dir}/grib_set -s paramId=260268 $temp1 $temp2 + grib_check_key_equals $temp2 mars.step 36 # end step (ECC-701) + grib_check_key_exists $temp2 mars.anoffset #${tools_dir}/grib_dump -Da $temp1 | grep mars.step done types="fc pf cf" for t in $types; do - ${tools_dir}/grib_set -s setLocalDefinition=1,localDefinitionNumber=41,type=$t,stepType=accum,stepRange=12-36,paramId=260268 \ + ${tools_dir}/grib_set -s \ + setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=$t,stepType=accum,stepRange=12-36 \ $sample $temp1 - grib_check_key_equals $temp1 mars.step 36 # end step + ${tools_dir}/grib_set -s paramId=260268 $temp1 $temp2 + grib_check_key_equals $temp2 mars.step 36 # end step #${tools_dir}/grib_dump -Da $temp1 | grep mars.step done From 03cd35392530f3b39ca7507427c94ed488534cde Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 20 Sep 2021 13:47:55 +0100 Subject: [PATCH 19/31] Testing: For EFAS sample GRIB class must be 'ce' --- tests/grib_efas.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/grib_efas.sh b/tests/grib_efas.sh index 3c2524188..58aa70273 100755 --- a/tests/grib_efas.sh +++ b/tests/grib_efas.sh @@ -20,7 +20,9 @@ temp3=temp3.$label.grib # Stream EFAS # --------------------------- # Create a starting GRIB with a basic local definition for MARS -${tools_dir}/grib_set -s tablesVersion=19,setLocalDefinition=1,stream=efas $ECCODES_SAMPLES_PATH/GRIB2.tmpl $sample +# The MARS class must be set to categorise the EFAS parameters as 'hydrological' +# See key 'datasetForLocal' +${tools_dir}/grib_set -s tablesVersion=19,setLocalDefinition=1,class=ce,stream=efas $ECCODES_SAMPLES_PATH/GRIB2.tmpl $sample # Test a non-ensemble, instantaneous field ${tools_dir}/grib_set -s productDefinitionTemplateNumber=0 $sample $temp1 @@ -48,7 +50,7 @@ grib_check_key_equals $temp2 mars.origin 'ecmf' grib_check_key_equals $temp2 mars.model 'lisflood' ${tools_dir}/grib_set -s \ - setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=fc,inputOriginatingCentre=ecmf,typeOfPostProcessing=10 \ + setLocalDefinition=1,localDefinitionNumber=41,type=fc,inputOriginatingCentre=ecmf,typeOfPostProcessing=10 \ $temp1 $temp2 grib_check_key_equals $temp2 mars.model 'geff' @@ -60,7 +62,7 @@ ${tools_dir}/grib_set -s paramId=260268 $temp2 $temp3 grib_check_key_equals $temp3 paramId,lengthOfTimeRange '260268 24' # Use stepType -${tools_dir}/grib_set -s localDefinitionNumber=41,class=ce,stepType=accum $sample $temp1 +${tools_dir}/grib_set -s localDefinitionNumber=41,stepType=accum $sample $temp1 ${tools_dir}/grib_set -s paramId=260267 $temp1 $temp2 # Test anoffset calculation @@ -73,7 +75,7 @@ grib_check_key_equals $temp1 anoffsetFirst,anoffsetLast,anoffsetFrequency "MISSI types="sfo fu go" for t in $types; do ${tools_dir}/grib_set -s \ - setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=$t,stepType=accum,stepRange=12-36 \ + setLocalDefinition=1,localDefinitionNumber=41,type=$t,stepType=accum,stepRange=12-36 \ $sample $temp1 ${tools_dir}/grib_set -s paramId=260268 $temp1 $temp2 grib_check_key_equals $temp2 mars.step 36 # end step (ECC-701) @@ -84,7 +86,7 @@ done types="fc pf cf" for t in $types; do ${tools_dir}/grib_set -s \ - setLocalDefinition=1,localDefinitionNumber=41,class=ce,type=$t,stepType=accum,stepRange=12-36 \ + setLocalDefinition=1,localDefinitionNumber=41,type=$t,stepType=accum,stepRange=12-36 \ $sample $temp1 ${tools_dir}/grib_set -s paramId=260268 $temp1 $temp2 grib_check_key_equals $temp2 mars.step 36 # end step From 2a54e418f9648965b131e1b95afd3e79a3597144 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 20 Sep 2021 13:48:11 +0100 Subject: [PATCH 20/31] No need to set conceptsDir2 --- definitions/grib2/section.4.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/definitions/grib2/section.4.def b/definitions/grib2/section.4.def index c40755c2e..05669c86f 100644 --- a/definitions/grib2/section.4.def +++ b/definitions/grib2/section.4.def @@ -38,8 +38,8 @@ concept datasetForLocal(unknown) { } if (!(datasetForLocal is "unknown")) { -constant conceptsDir1 = "grib2/localConcepts/[datasetForLocal]": hidden; -constant conceptsDir2 = "grib2": hidden; + constant conceptsDir1 = "grib2/localConcepts/[datasetForLocal]": hidden; + # conceptsDir2 remains unchanged } codetable[2] productDefinitionTemplateNumber('4.0.table',masterDir,localDir) : dump; From 95b3dc1ac6adfa21d19ab21f7d807ee2e6155c5d Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Tue, 21 Sep 2021 11:45:42 +0100 Subject: [PATCH 21/31] fix uerra localConcept lookup and param --- definitions/grib2/localConcepts/uerra/paramId.def | 10 ++++++++++ definitions/grib2/section.4.def | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def index 97c17a41c..25a4f7af2 100644 --- a/definitions/grib2/localConcepts/uerra/paramId.def +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -4,7 +4,17 @@ parameterCategory = 2 ; parameterNumber = 1 ; typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 100 ; + scaleFactorOfFirstFixedSurface = 0 ; } +'10' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 200 ; + scaleFactorOfFirstFixedSurface = 0 ; + } #10 metre wind gust since previous post-processing '49' = { discipline = 0 ; diff --git a/definitions/grib2/section.4.def b/definitions/grib2/section.4.def index c40755c2e..07737dd08 100644 --- a/definitions/grib2/section.4.def +++ b/definitions/grib2/section.4.def @@ -38,8 +38,8 @@ concept datasetForLocal(unknown) { } if (!(datasetForLocal is "unknown")) { -constant conceptsDir1 = "grib2/localConcepts/[datasetForLocal]": hidden; -constant conceptsDir2 = "grib2": hidden; +constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden; +constant conceptsDir1 = "grib2": hidden; } codetable[2] productDefinitionTemplateNumber('4.0.table',masterDir,localDir) : dump; From 3cad3e9ee7a611b7faddc9d3c225feb576dc4d89 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 21 Sep 2021 11:52:09 +0100 Subject: [PATCH 22/31] Remove MARS streams ocda and olda --- definitions/mars/stream.table | 2 -- 1 file changed, 2 deletions(-) diff --git a/definitions/mars/stream.table b/definitions/mars/stream.table index ad212c29e..8f6075db7 100644 --- a/definitions/mars/stream.table +++ b/definitions/mars/stream.table @@ -110,8 +110,6 @@ 1250 ewla Ensemble Wave Long window data Assimilation 1251 wamd Wave monthly means of daily means 1252 gfas Global fire assimilation system -1253 ocda Ocean Data Assimilation -1254 olda Ocean Long window Data Assimilation 2231 cnrm Meteo France climate centre 2232 mpic Max Plank Institute 2233 ukmo UKMO climate centre From c1afc875d63f6e2413078b0f3fd44fa020786d40 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 21 Sep 2021 15:28:31 +0100 Subject: [PATCH 23/31] Definitions: Clean up --- definitions/grib2/section.4.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/definitions/grib2/section.4.def b/definitions/grib2/section.4.def index 07737dd08..7618e9054 100644 --- a/definitions/grib2/section.4.def +++ b/definitions/grib2/section.4.def @@ -38,8 +38,8 @@ concept datasetForLocal(unknown) { } if (!(datasetForLocal is "unknown")) { -constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden; -constant conceptsDir1 = "grib2": hidden; + constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden; + constant conceptsDir1 = "grib2": hidden; } codetable[2] productDefinitionTemplateNumber('4.0.table',masterDir,localDir) : dump; From 1b4c6dfb41f03daa6e29ef94627ebb548a2af7a4 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Tue, 21 Sep 2021 15:48:21 +0100 Subject: [PATCH 24/31] fix def files for uerra local concepts --- definitions/grib2/localConcepts/uerra/cfVarName.def | 11 +++++++++++ definitions/grib2/localConcepts/uerra/name.def | 11 +++++++++++ definitions/grib2/localConcepts/uerra/shortName.def | 11 +++++++++++ definitions/grib2/localConcepts/uerra/units.def | 11 +++++++++++ 4 files changed, 44 insertions(+) diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def index 1501b921d..7a8d182ac 100644 --- a/definitions/grib2/localConcepts/uerra/cfVarName.def +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -4,7 +4,18 @@ parameterCategory = 2 ; parameterNumber = 1 ; typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 100 ; + scaleFactorOfFirstFixedSurface = 0 ; } +#Wind speed +'ws' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 200 ; + scaleFactorOfFirstFixedSurface = 0 ; + } #10 metre wind gust since previous post-processing 'fg10' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def index 6910cb990..d166f6e8f 100644 --- a/definitions/grib2/localConcepts/uerra/name.def +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -4,7 +4,18 @@ parameterCategory = 2 ; parameterNumber = 1 ; typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 100 ; + scaleFactorOfFirstFixedSurface = 0 ; } +#Wind speed +'Wind speed' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 200 ; + scaleFactorOfFirstFixedSurface = 0 ; + } #10 metre wind gust since previous post-processing '10 metre wind gust since previous post-processing' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/shortName.def b/definitions/grib2/localConcepts/uerra/shortName.def index 593aa762d..95fb6131d 100644 --- a/definitions/grib2/localConcepts/uerra/shortName.def +++ b/definitions/grib2/localConcepts/uerra/shortName.def @@ -4,7 +4,18 @@ parameterCategory = 2 ; parameterNumber = 1 ; typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 100 ; + scaleFactorOfFirstFixedSurface = 0 ; } +#Wind speed +'ws' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 200 ; + scaleFactorOfFirstFixedSurface = 0 ; + } #10 metre wind gust since previous post-processing '10fg' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/units.def b/definitions/grib2/localConcepts/uerra/units.def index 9be44fc19..8f9d45c15 100644 --- a/definitions/grib2/localConcepts/uerra/units.def +++ b/definitions/grib2/localConcepts/uerra/units.def @@ -4,7 +4,18 @@ parameterCategory = 2 ; parameterNumber = 1 ; typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 100 ; + scaleFactorOfFirstFixedSurface = 0 ; } +#Wind speed +'m s**-1' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 200 ; + scaleFactorOfFirstFixedSurface = 0 ; + } #10 metre wind gust since previous post-processing 'm s**-1' = { discipline = 0 ; From 404a854376c53b14c031a0e91047eb89012b6b27 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 21 Sep 2021 16:19:51 +0100 Subject: [PATCH 25/31] Definitions: Add comment line --- definitions/grib2/localConcepts/uerra/paramId.def | 1 + 1 file changed, 1 insertion(+) diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def index 25a4f7af2..9a46f4982 100644 --- a/definitions/grib2/localConcepts/uerra/paramId.def +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -7,6 +7,7 @@ scaledValueOfFirstFixedSurface = 100 ; scaleFactorOfFirstFixedSurface = 0 ; } +#Wind speed '10' = { discipline = 0 ; parameterCategory = 2 ; From c115db8b45b55fcaa2e7b2b7691d2c04f07f19e2 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 24 Sep 2021 10:40:31 +0100 Subject: [PATCH 26/31] fix few uerra parameters regressions --- .../grib2/localConcepts/uerra/cfVarName.def | 34 +++++++++++++++++++ .../grib2/localConcepts/uerra/name.def | 34 +++++++++++++++++++ .../grib2/localConcepts/uerra/paramId.def | 34 +++++++++++++++++++ .../grib2/localConcepts/uerra/shortName.def | 34 +++++++++++++++++++ .../grib2/localConcepts/uerra/units.def | 34 +++++++++++++++++++ 5 files changed, 170 insertions(+) diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def index 7a8d182ac..68611ed2d 100644 --- a/definitions/grib2/localConcepts/uerra/cfVarName.def +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -25,7 +25,21 @@ scaledValueOfFirstFixedSurface = 10 ; typeOfStatisticalProcessing = 2 ; typeOfFirstFixedSurface = 103 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 3 ; } +#10 metre wind gust since previous post-processing +'fg10' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + scaleFactorOfFirstFixedSurface = 0 ; + scaledValueOfFirstFixedSurface = 10 ; + typeOfStatisticalProcessing = 2 ; + typeOfFirstFixedSurface = 103 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 1 ; + } #Maximum temperature at 2 metres since previous post-processing 'mx2t' = { discipline = 0 ; @@ -46,3 +60,23 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 2 ; } +#Evaporation in the last 6 hours +'eva' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + indicatorOfUnitForTimeRange = 1 ; + } +#Evaporation in the last 24 hours +'eva' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def index d166f6e8f..85489bb21 100644 --- a/definitions/grib2/localConcepts/uerra/name.def +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -25,7 +25,21 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 3 ; } +#10 metre wind gust since previous post-processing +'10 metre wind gust since previous post-processing' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 1 ; + } #Maximum temperature at 2 metres since previous post-processing 'Maximum temperature at 2 metres since previous post-processing' = { discipline = 0 ; @@ -46,3 +60,23 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Evaporation +'Evaporation' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Evaporation +'Evaporation' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def index 9a46f4982..0d13f9b6d 100644 --- a/definitions/grib2/localConcepts/uerra/paramId.def +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -25,7 +25,21 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 3 ; } +#10 metre wind gust since previous post-processing +'49' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 1 ; + } #Maximum temperature at 2 metres since previous post-processing '201' = { discipline = 0 ; @@ -46,3 +60,23 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Evaporation +'260259' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Evaporation +'260259' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/uerra/shortName.def b/definitions/grib2/localConcepts/uerra/shortName.def index 95fb6131d..4b1914432 100644 --- a/definitions/grib2/localConcepts/uerra/shortName.def +++ b/definitions/grib2/localConcepts/uerra/shortName.def @@ -25,7 +25,21 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 3 ; } +#10 metre wind gust since previous post-processing +'10fg' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 1 ; + } #Maximum temperature at 2 metres since previous post-processing 'mx2t' = { discipline = 0 ; @@ -46,3 +60,23 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Evaporation +'eva' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Evaporation +'eva' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } diff --git a/definitions/grib2/localConcepts/uerra/units.def b/definitions/grib2/localConcepts/uerra/units.def index 8f9d45c15..fd8b277f6 100644 --- a/definitions/grib2/localConcepts/uerra/units.def +++ b/definitions/grib2/localConcepts/uerra/units.def @@ -25,7 +25,21 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 3 ; } +#10 metre wind gust since previous post-processing +'m s**-1' = { + discipline = 0 ; + parameterCategory = 2 ; + parameterNumber = 22 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 10 ; + scaleFactorOfFirstFixedSurface = 0 ; + typeOfStatisticalProcessing = 2 ; + indicatorOfUnitForTimeRange = 1 ; + lengthOfTimeRange = 1 ; + } #Maximum temperature at 2 metres since previous post-processing 'K' = { discipline = 0 ; @@ -46,3 +60,23 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Evaporation +'kg m**-2' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 6 ; + } +#Evaporation +'kg m**-2' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 79 ; + typeOfFirstFixedSurface = 1 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 1 ; + lengthOfTimeRange = 24 ; + } From deb5d3da5edc8a1f82d7757af2676a2a73d89527 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 24 Sep 2021 12:00:59 +0100 Subject: [PATCH 27/31] Definitions: fix comments --- definitions/grib2/localConcepts/uerra/cfVarName.def | 4 ++-- definitions/grib2/localConcepts/uerra/name.def | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def index 68611ed2d..d314e4c86 100644 --- a/definitions/grib2/localConcepts/uerra/cfVarName.def +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -60,7 +60,7 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 2 ; } -#Evaporation in the last 6 hours +#Evaporation 'eva' = { discipline = 0 ; parameterCategory = 1 ; @@ -70,7 +70,7 @@ lengthOfTimeRange = 6 ; indicatorOfUnitForTimeRange = 1 ; } -#Evaporation in the last 24 hours +#Evaporation 'eva' = { discipline = 0 ; parameterCategory = 1 ; diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def index 85489bb21..218f87fa2 100644 --- a/definitions/grib2/localConcepts/uerra/name.def +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -70,7 +70,7 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 6 ; } -#Evaporation +#Evaporation 'Evaporation' = { discipline = 0 ; parameterCategory = 1 ; From f44f7b8d6692dd24673f1f4b0914f3f4a91e169d Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Fri, 24 Sep 2021 14:00:23 +0100 Subject: [PATCH 28/31] fixing more uerra regression --- .../grib2/localConcepts/uerra/cfVarName.def | 18 ++++++++++++++++++ definitions/grib2/localConcepts/uerra/name.def | 18 ++++++++++++++++++ .../grib2/localConcepts/uerra/paramId.def | 18 ++++++++++++++++++ .../grib2/localConcepts/uerra/shortName.def | 18 ++++++++++++++++++ .../grib2/localConcepts/uerra/units.def | 18 ++++++++++++++++++ 5 files changed, 90 insertions(+) diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def index d314e4c86..45b7b7419 100644 --- a/definitions/grib2/localConcepts/uerra/cfVarName.def +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -80,3 +80,21 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; } +#2 metre temperature +'t2m' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } +#Surface air relative humidity +'r2' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def index 218f87fa2..5a24c7c87 100644 --- a/definitions/grib2/localConcepts/uerra/name.def +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -80,3 +80,21 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; } +#2 metre temperature +'2 metre temperature' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + } +#Surface air relative humidity +'Surface air relative humidity' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfFirstFixedSurface = 103 ; + } diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def index 0d13f9b6d..35481aef0 100644 --- a/definitions/grib2/localConcepts/uerra/paramId.def +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -80,3 +80,21 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; } +#2 metre temperature +'167' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } +#Surface air relative humidity +'260242' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } diff --git a/definitions/grib2/localConcepts/uerra/shortName.def b/definitions/grib2/localConcepts/uerra/shortName.def index 4b1914432..ba0ad2a57 100644 --- a/definitions/grib2/localConcepts/uerra/shortName.def +++ b/definitions/grib2/localConcepts/uerra/shortName.def @@ -80,3 +80,21 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; } +#2 metre temperature +'2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } +#Surface air relative humidity +'2r' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 1 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + } diff --git a/definitions/grib2/localConcepts/uerra/units.def b/definitions/grib2/localConcepts/uerra/units.def index fd8b277f6..ab9ce1ac0 100644 --- a/definitions/grib2/localConcepts/uerra/units.def +++ b/definitions/grib2/localConcepts/uerra/units.def @@ -80,3 +80,21 @@ typeOfStatisticalProcessing = 1 ; lengthOfTimeRange = 24 ; } +#2 metre temperature +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + } +#Surface air relative humidity +'%' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfFirstFixedSurface = 103 ; + } From 187115eef719e5f910dcefdd71d0cef04748f1a6 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Mon, 27 Sep 2021 14:11:14 +0100 Subject: [PATCH 29/31] hopefully last uerra fix regression --- .../grib2/localConcepts/uerra/cfVarName.def | 20 +++++++++++++++++++ .../grib2/localConcepts/uerra/name.def | 20 +++++++++++++++++++ .../grib2/localConcepts/uerra/paramId.def | 20 +++++++++++++++++++ .../grib2/localConcepts/uerra/shortName.def | 20 +++++++++++++++++++ .../grib2/localConcepts/uerra/units.def | 20 +++++++++++++++++++ 5 files changed, 100 insertions(+) diff --git a/definitions/grib2/localConcepts/uerra/cfVarName.def b/definitions/grib2/localConcepts/uerra/cfVarName.def index 45b7b7419..24926018d 100644 --- a/definitions/grib2/localConcepts/uerra/cfVarName.def +++ b/definitions/grib2/localConcepts/uerra/cfVarName.def @@ -60,6 +60,26 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 2 ; } +#Maximum temperature at 2 metres since previous post-processing +'mx2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'mn2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfStatisticalProcessing = 3 ; + typeOfFirstFixedSurface = 103 ; + scaleFactorOfFirstFixedSurface = 1 ; + scaledValueOfFirstFixedSurface = 15 ; + } #Evaporation 'eva' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/name.def b/definitions/grib2/localConcepts/uerra/name.def index 5a24c7c87..40456ac19 100644 --- a/definitions/grib2/localConcepts/uerra/name.def +++ b/definitions/grib2/localConcepts/uerra/name.def @@ -60,6 +60,26 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Maximum temperature at 2 metres since previous post-processing +'Maximum temperature at 2 metres since previous post-processing' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'Minimum temperature at 2 metres since previous post-processing' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 3 ; + } #Evaporation 'Evaporation' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/paramId.def b/definitions/grib2/localConcepts/uerra/paramId.def index 35481aef0..227c609d1 100644 --- a/definitions/grib2/localConcepts/uerra/paramId.def +++ b/definitions/grib2/localConcepts/uerra/paramId.def @@ -60,6 +60,26 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Maximum temperature at 2 metres since previous post-processing +'201' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'202' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 3 ; + } #Evaporation '260259' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/shortName.def b/definitions/grib2/localConcepts/uerra/shortName.def index ba0ad2a57..836bfce97 100644 --- a/definitions/grib2/localConcepts/uerra/shortName.def +++ b/definitions/grib2/localConcepts/uerra/shortName.def @@ -60,6 +60,26 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Maximum temperature at 2 metres since previous post-processing +'mx2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'mn2t' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 3 ; + } #Evaporation 'eva' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/uerra/units.def b/definitions/grib2/localConcepts/uerra/units.def index ab9ce1ac0..fc9c4cf36 100644 --- a/definitions/grib2/localConcepts/uerra/units.def +++ b/definitions/grib2/localConcepts/uerra/units.def @@ -60,6 +60,26 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } +#Maximum temperature at 2 metres since previous post-processing +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 2 ; + } +#Minimum temperature at 2 metres since previous post-processing +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 15 ; + scaleFactorOfFirstFixedSurface = 1 ; + typeOfStatisticalProcessing = 3 ; + } #Evaporation 'kg m**-2' = { discipline = 0 ; From 90a6fa20b14d68edd8c6da214c25c171096503c3 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 28 Sep 2021 13:35:24 +0100 Subject: [PATCH 30/31] ECC-1270: Remove the old alias --- definitions/grib2/template.4.horizontal.def | 1 - 1 file changed, 1 deletion(-) diff --git a/definitions/grib2/template.4.horizontal.def b/definitions/grib2/template.4.horizontal.def index 771e6847d..4e58946dd 100755 --- a/definitions/grib2/template.4.horizontal.def +++ b/definitions/grib2/template.4.horizontal.def @@ -74,7 +74,6 @@ if (extraDim) { alias mars.levelist = level; } } - #alias mars.levtype = typeOfFirstFixedSurface; concept mars.levtype (unknown,"marsLevtypeConcept.def",conceptsDir2,conceptsDir1):no_copy; # GRIB-372: levelist alias does not pertain to surface parameters if (levtype is "sfc") { From 910048d87f66f19ab1d5f96d813bfe134d5726f3 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 30 Sep 2021 11:12:40 +0100 Subject: [PATCH 31/31] ECC-1287: Added test --- tests/grib_check_param_concepts.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/grib_check_param_concepts.sh b/tests/grib_check_param_concepts.sh index 161733c18..476ae1f1e 100755 --- a/tests/grib_check_param_concepts.sh +++ b/tests/grib_check_param_concepts.sh @@ -18,9 +18,13 @@ # ---------------------------------------------------- $EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/paramId.def $EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/paramId.def +$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/uerra/paramId.def +$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/hydro/paramId.def $EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/shortName.def $EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/shortName.def +$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/uerra/shortName.def +$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/hydro/shortName.def # Check the group: name.def paramId.def shortName.def units.def cfVarName.def @@ -52,6 +56,9 @@ defs_dirs=" $ECCODES_DEFINITION_PATH/grib1/localConcepts/lowm $ECCODES_DEFINITION_PATH/grib1/localConcepts/rjtd + $ECCODES_DEFINITION_PATH/grib2/localConcepts/uerra + $ECCODES_DEFINITION_PATH/grib2/localConcepts/hydro + $ECCODES_DEFINITION_PATH/grib2/localConcepts/egrr $ECCODES_DEFINITION_PATH/grib2/localConcepts/ekmi $ECCODES_DEFINITION_PATH/grib2/localConcepts/eswi