From 5af33b3ef6ab7094f30baedb9b4a7372a2e503c3 Mon Sep 17 00:00:00 2001 From: Robert Osinski Date: Fri, 8 Mar 2024 08:14:19 +0000 Subject: [PATCH 1/5] extended and modified stepTypeForConversion --- .../ecmf/stepTypeForConversion.def | 203 ++++++++++++++++-- 1 file changed, 184 insertions(+), 19 deletions(-) diff --git a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def index c649d29a6..a0f508ebe 100644 --- a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def +++ b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def @@ -7,31 +7,196 @@ "accum" = {timeRangeIndicator=1;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;} "accum" = {timeRangeIndicator=10;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;} +# sro +"accum"={gribTablesVersionNo=128;indicatorOfParameter=8;centre=98;} +# ssro +"accum"={gribTablesVersionNo=128;indicatorOfParameter=9;centre=98;} +# parcs +"accum"={gribTablesVersionNo=128;indicatorOfParameter=20;centre=98;} +# es +"accum"={gribTablesVersionNo=128;indicatorOfParameter=44;centre=98;} +# smlt +"accum"={gribTablesVersionNo=128;indicatorOfParameter=45;centre=98;} +# dsrp +"accum"={gribTablesVersionNo=128;indicatorOfParameter=47;centre=98;} +# 10fg +"max"={gribTablesVersionNo=128;indicatorOfParameter=49;centre=98;} +# lspf +"accum"={gribTablesVersionNo=128;indicatorOfParameter=50;centre=98;} +# mx2t24 +"max"={gribTablesVersionNo=128;indicatorOfParameter=51;centre=98;} +# mn2t24 +"min"={gribTablesVersionNo=128;indicatorOfParameter=52;centre=98;} +# uvb +"accum"={gribTablesVersionNo=128;indicatorOfParameter=57;centre=98;} +# par +"accum"={gribTablesVersionNo=128;indicatorOfParameter=58;centre=98;} +# mx2t6 +"max"={gribTablesVersionNo=128;indicatorOfParameter=121;centre=98;} +# mn2t6 +"min"={gribTablesVersionNo=128;indicatorOfParameter=122;centre=98;} +# lsp +"accum"={gribTablesVersionNo=128;indicatorOfParameter=142;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=142;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=142;centre=98;} +# cp +"accum"={gribTablesVersionNo=128;indicatorOfParameter=143;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=143;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=143;centre=98;} +# sf +"accum"={gribTablesVersionNo=128;indicatorOfParameter=144;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=144;centre=98;} +# bld +"accum"={gribTablesVersionNo=128;indicatorOfParameter=145;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=145;centre=98;} # sshf -"accum" = {indicatorOfParameter=146;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=146;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=146;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=146;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=146;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=146;centre=98;} # slhf -"accum" = {indicatorOfParameter=147;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=147;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=147;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=147;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=147;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=147;centre=98;} +# snr +"accum"={gribTablesVersionNo=128;indicatorOfParameter=149;centre=98;} +# tnr +"accum"={gribTablesVersionNo=128;indicatorOfParameter=150;centre=98;} # ssrd -"accum" = {indicatorOfParameter=169;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=169;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=169;centre=98;} # strd -"accum" = {indicatorOfParameter=175;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=175;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=175;centre=98;} # ssr -"accum" = {indicatorOfParameter=176;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=176;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=176;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=176;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=176;centre=98;} # str -"accum" = {indicatorOfParameter=177;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=177;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=177;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=177;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=177;centre=98;} +# tsr +"accum"={gribTablesVersionNo=128;indicatorOfParameter=178;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=178;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=178;centre=98;} # ttr -"accum" = {indicatorOfParameter=179;gribTablesVersionNo=128;centre=98;} -# sund -"accum" = {indicatorOfParameter=189;gribTablesVersionNo=128;centre=98;} -# runoff -"accum" = {indicatorOfParameter=205;gribTablesVersionNo=128;centre=98;} -# sro -"accum" = {indicatorOfParameter=8;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=179;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=179;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=179;centre=98;} +# ewss +"accum"={gribTablesVersionNo=128;indicatorOfParameter=180;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=180;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=180;centre=98;} +# nsss +"accum"={gribTablesVersionNo=128;indicatorOfParameter=181;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=181;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=181;centre=98;} # e -"accum" = {indicatorOfParameter=182;gribTablesVersionNo=128;centre=98;} -# lsp -"accum" = {indicatorOfParameter=142;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=128;indicatorOfParameter=182;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=182;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=182;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=182;centre=98;} +# sund +"accum"={gribTablesVersionNo=128;indicatorOfParameter=189;centre=98;} +# lgws +"accum"={gribTablesVersionNo=128;indicatorOfParameter=195;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=195;centre=98;} +# mgws +"accum"={gribTablesVersionNo=128;indicatorOfParameter=196;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=196;centre=98;} +# gwd +"accum"={gribTablesVersionNo=128;indicatorOfParameter=197;centre=98;} +"accum"={gribTablesVersionNo=160;indicatorOfParameter=197;centre=98;} +# mx2t +"max"={gribTablesVersionNo=128;indicatorOfParameter=201;centre=98;} +"max"={gribTablesVersionNo=170;indicatorOfParameter=201;centre=98;} +"max"={gribTablesVersionNo=190;indicatorOfParameter=201;centre=98;} +# mn2t +"min"={gribTablesVersionNo=128;indicatorOfParameter=202;centre=98;} +"min"={gribTablesVersionNo=170;indicatorOfParameter=202;centre=98;} +"min"={gribTablesVersionNo=190;indicatorOfParameter=202;centre=98;} +# ro +"accum"={gribTablesVersionNo=128;indicatorOfParameter=205;centre=98;} +"accum"={gribTablesVersionNo=180;indicatorOfParameter=205;centre=98;} +# tsrc +"accum"={gribTablesVersionNo=128;indicatorOfParameter=208;centre=98;} +# ttrc +"accum"={gribTablesVersionNo=128;indicatorOfParameter=209;centre=98;} +# ssrc +"accum"={gribTablesVersionNo=128;indicatorOfParameter=210;centre=98;} +# strc +"accum"={gribTablesVersionNo=128;indicatorOfParameter=211;centre=98;} +# tisr +"accum"={gribTablesVersionNo=128;indicatorOfParameter=212;centre=98;} +# vimd +"accum"={gribTablesVersionNo=128;indicatorOfParameter=213;centre=98;} +# tp +"accum"={gribTablesVersionNo=160;indicatorOfParameter=228;centre=98;} +"accum"={gribTablesVersionNo=170;indicatorOfParameter=228;centre=98;} +"accum"={gribTablesVersionNo=190;indicatorOfParameter=228;centre=98;} +# csf +"accum"={gribTablesVersionNo=128;indicatorOfParameter=239;centre=98;} +# lsf +"accum"={gribTablesVersionNo=128;indicatorOfParameter=240;centre=98;} +# fdir +"accum"={gribTablesVersionNo=228;indicatorOfParameter=21;centre=98;} +# cdir +"accum"={gribTablesVersionNo=228;indicatorOfParameter=22;centre=98;} +# mx2t3 +"max"={gribTablesVersionNo=228;indicatorOfParameter=26;centre=98;} +# mn2t3 +"min"={gribTablesVersionNo=228;indicatorOfParameter=27;centre=98;} +# 10fg3 +"max"={gribTablesVersionNo=228;indicatorOfParameter=28;centre=98;} +# litota1 +""={gribTablesVersionNo=228;indicatorOfParameter=51;centre=98;} +# licga1 +""={gribTablesVersionNo=228;indicatorOfParameter=53;centre=98;} +# ssrdc +"accum"={gribTablesVersionNo=228;indicatorOfParameter=129;centre=98;} +# strdc +"accum"={gribTablesVersionNo=228;indicatorOfParameter=130;centre=98;} +# fzra +"accum"={gribTablesVersionNo=228;indicatorOfParameter=216;centre=98;} +# mxtpr +"max"={gribTablesVersionNo=228;indicatorOfParameter=226;centre=98;} +# mntpr +"min"={gribTablesVersionNo=228;indicatorOfParameter=227;centre=98;} # pev -"accum" = {indicatorOfParameter=251;gribTablesVersionNo=228;centre=98;} -# uvb -"accum" = {indicatorOfParameter=57;gribTablesVersionNo=128;centre=98;} +"accum"={gribTablesVersionNo=228;indicatorOfParameter=251;centre=98;} +# srta +"accum"={gribTablesVersionNo=162;indicatorOfParameter=100;centre=98;} +# trta +"accum"={gribTablesVersionNo=162;indicatorOfParameter=101;centre=98;} +# srtca +"accum"={gribTablesVersionNo=162;indicatorOfParameter=102;centre=98;} +# trtca +"accum"={gribTablesVersionNo=162;indicatorOfParameter=103;centre=98;} +# umfa +"accum"={gribTablesVersionNo=162;indicatorOfParameter=104;centre=98;} +# dmfa +"accum"={gribTablesVersionNo=162;indicatorOfParameter=105;centre=98;} +# udra +"accum"={gribTablesVersionNo=162;indicatorOfParameter=106;centre=98;} +# ddra +"accum"={gribTablesVersionNo=162;indicatorOfParameter=107;centre=98;} +# tpfa +"accum"={gribTablesVersionNo=162;indicatorOfParameter=108;centre=98;} +# tdcha +"accum"={gribTablesVersionNo=162;indicatorOfParameter=109;centre=98;} +# ttpha +"accum"={gribTablesVersionNo=162;indicatorOfParameter=110;centre=98;} +# qtpha +"accum"={gribTablesVersionNo=162;indicatorOfParameter=111;centre=98;} +# utpha +"accum"={gribTablesVersionNo=162;indicatorOfParameter=112;centre=98;} +# vtpha +"accum"={gribTablesVersionNo=162;indicatorOfParameter=113;centre=98;} +# sf +"accum"={gribTablesVersionNo=228;indicatorOfParameter=144;centre=98;} From 83fe7591e52f577cef5ee15b1df906b313f2baa3 Mon Sep 17 00:00:00 2001 From: Robert Osinski Date: Fri, 8 Mar 2024 09:38:59 +0000 Subject: [PATCH 2/5] extended grib1 section 1 for min/max stepTypeForConversion --- definitions/grib1/section.1.def | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def index 500b7de8f..859b20e35 100644 --- a/definitions/grib1/section.1.def +++ b/definitions/grib1/section.1.def @@ -321,6 +321,22 @@ if (stepTypeForConversion is "accum" ) { alias productDefinitionTemplateNumber=eight; } } +if (stepTypeForConversion is "max" ) { + if (productDefinitionTemplateNumber == 1) { + alias productDefinitionTemplateNumber=eleven; + } + else { + alias productDefinitionTemplateNumber=eight; + } +} +if (stepTypeForConversion is "min" ) { + if (productDefinitionTemplateNumber == 1) { + alias productDefinitionTemplateNumber=eleven; + } + else { + alias productDefinitionTemplateNumber=eight; + } +} meta md5Section1 md5(offsetSection1,section1Length); # md5(start,length,blacklisted1,blacklisted2,...); From bf6ffb6790b11a2cb88c8bbca06e21d1fc506acc Mon Sep 17 00:00:00 2001 From: Robert Osinski Date: Fri, 8 Mar 2024 10:00:14 +0000 Subject: [PATCH 3/5] Add missing entries stepTypeForConversion.def --- .../grib1/localConcepts/ecmf/stepTypeForConversion.def | 4 ++-- definitions/grib1/section.1.def | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def index a0f508ebe..07ec7ae41 100644 --- a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def +++ b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def @@ -155,9 +155,9 @@ # 10fg3 "max"={gribTablesVersionNo=228;indicatorOfParameter=28;centre=98;} # litota1 -""={gribTablesVersionNo=228;indicatorOfParameter=51;centre=98;} +"avg"={gribTablesVersionNo=228;indicatorOfParameter=51;centre=98;} # licga1 -""={gribTablesVersionNo=228;indicatorOfParameter=53;centre=98;} +"avg"={gribTablesVersionNo=228;indicatorOfParameter=53;centre=98;} # ssrdc "accum"={gribTablesVersionNo=228;indicatorOfParameter=129;centre=98;} # strdc diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def index 859b20e35..32ac08292 100644 --- a/definitions/grib1/section.1.def +++ b/definitions/grib1/section.1.def @@ -337,6 +337,14 @@ if (stepTypeForConversion is "min" ) { alias productDefinitionTemplateNumber=eight; } } +if (stepTypeForConversion is "avg" ) { + if (productDefinitionTemplateNumber == 1) { + alias productDefinitionTemplateNumber=eleven; + } + else { + alias productDefinitionTemplateNumber=eight; + } +} meta md5Section1 md5(offsetSection1,section1Length); # md5(start,length,blacklisted1,blacklisted2,...); From d21279d85757b8a78f2a925334153c68d4b5c04c Mon Sep 17 00:00:00 2001 From: Robert Osinski Date: Fri, 8 Mar 2024 10:30:15 +0000 Subject: [PATCH 4/5] remove stepTypeForConversion for not produced parameter --- definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def | 2 -- 1 file changed, 2 deletions(-) diff --git a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def index 07ec7ae41..e74860061 100644 --- a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def +++ b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def @@ -198,5 +198,3 @@ "accum"={gribTablesVersionNo=162;indicatorOfParameter=112;centre=98;} # vtpha "accum"={gribTablesVersionNo=162;indicatorOfParameter=113;centre=98;} -# sf -"accum"={gribTablesVersionNo=228;indicatorOfParameter=144;centre=98;} From 63d7f7ffae25ddd87e66197585a41749ff135c3a Mon Sep 17 00:00:00 2001 From: Robert Osinski Date: Mon, 11 Mar 2024 11:33:53 +0000 Subject: [PATCH 5/5] Merging multiple if clauses into a single one --- definitions/grib1/section.1.def | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def index 32ac08292..2bda52ec7 100644 --- a/definitions/grib1/section.1.def +++ b/definitions/grib1/section.1.def @@ -313,31 +313,7 @@ alias time.stepType=stepType; # ECC-457: GRIB1 to GRIB2 conversion concept_nofail stepTypeForConversion (unknown, "stepTypeForConversion.def", conceptsDir2, conceptsDir1); -if (stepTypeForConversion is "accum" ) { - if (productDefinitionTemplateNumber == 1) { - alias productDefinitionTemplateNumber=eleven; - } - else { - alias productDefinitionTemplateNumber=eight; - } -} -if (stepTypeForConversion is "max" ) { - if (productDefinitionTemplateNumber == 1) { - alias productDefinitionTemplateNumber=eleven; - } - else { - alias productDefinitionTemplateNumber=eight; - } -} -if (stepTypeForConversion is "min" ) { - if (productDefinitionTemplateNumber == 1) { - alias productDefinitionTemplateNumber=eleven; - } - else { - alias productDefinitionTemplateNumber=eight; - } -} -if (stepTypeForConversion is "avg" ) { +if (stepTypeForConversion is "accum" || stepTypeForConversion is "max" || stepTypeForConversion is "min" || stepTypeForConversion is "avg") { if (productDefinitionTemplateNumber == 1) { alias productDefinitionTemplateNumber=eleven; }