mirror of https://github.com/ecmwf/eccodes.git
refactoring section 4 postprocessing templates and concepts
This commit is contained in:
parent
64ab288e89
commit
53d48ba0e5
|
@ -62,14 +62,6 @@ concept efas_post_proc {
|
||||||
"unknown" = { dummy = 1; }
|
"unknown" = { dummy = 1; }
|
||||||
} : hidden;
|
} : hidden;
|
||||||
|
|
||||||
#Domain. Missing, local or global
|
|
||||||
#codetable[1] efasDomain "grib2/tables/local/ecmf/efas_domain.table" = 255 : dump, string_type;
|
|
||||||
#unsigned[1] efas_domain = missing() : can_be_missing, dump;
|
|
||||||
#concept efasDomain(unknown) {
|
|
||||||
# "local" = { efas_domain = 0; }
|
|
||||||
# "global" = { efas_domain = 1; }
|
|
||||||
#} : hidden;
|
|
||||||
|
|
||||||
# Model Cycle Date/Time
|
# Model Cycle Date/Time
|
||||||
# This is the date of the new official implementation of the EFAS cycle.
|
# This is the date of the new official implementation of the EFAS cycle.
|
||||||
unsigned[2] yearOfModelVersion = 0 : dump;
|
unsigned[2] yearOfModelVersion = 0 : dump;
|
||||||
|
@ -80,22 +72,3 @@ unsigned[1] minuteOfModelVersion = 0 : dump;
|
||||||
constant secondOfModelVersion = 0;
|
constant secondOfModelVersion = 0;
|
||||||
meta dateOfModelVersion g2date(yearOfModelVersion, monthOfModelVersion, dayOfModelVersion) : dump;
|
meta dateOfModelVersion g2date(yearOfModelVersion, monthOfModelVersion, dayOfModelVersion) : dump;
|
||||||
meta timeOfModelVersion time (hourOfModelVersion, minuteOfModelVersion, secondOfModelVersion) : dump;
|
meta timeOfModelVersion time (hourOfModelVersion, minuteOfModelVersion, secondOfModelVersion) : dump;
|
||||||
|
|
||||||
# Note: the key inputOriginatingCentre is in the PDTNs 70, 71, 72 and 73
|
|
||||||
#concept efas_forecast {
|
|
||||||
# "griddedobs" = { inputOriginatingCentre=98; marsType = "an"; }
|
|
||||||
# # "reanalysis" = { inputOriginatingCentre=98; marsType = "an"; }
|
|
||||||
#
|
|
||||||
# "hres" = { inputOriginatingCentre=98; marsType = "fc"; } # deterministic
|
|
||||||
# "ens" = { inputOriginatingCentre=98; marsType = "pf"; } # ensemble
|
|
||||||
# "ens" = { inputOriginatingCentre=98; marsType = "cf"; } # ensemble
|
|
||||||
#
|
|
||||||
# DWD rules
|
|
||||||
# "global" = { inputOriginatingCentre=78; inputProcessIdentifier = 1; }
|
|
||||||
# "lam" = { inputOriginatingCentre=78; inputProcessIdentifier = 2; }
|
|
||||||
#
|
|
||||||
# TODO: For now anything coming from cnmc (COSMO) is local area
|
|
||||||
# "lam" = { inputOriginatingCentre=80; }
|
|
||||||
#
|
|
||||||
# "unknown" = { dummy = 1; }
|
|
||||||
#} : hidden;
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
"unknown" = { typeOfPostProcessing = 0; }
|
||||||
|
"lisflood" = { typeOfPostProcessing = 1; }
|
||||||
|
"lisflood_eric" = { typeOfPostProcessing = 2; }
|
||||||
|
"lisflood_season" = { typeOfPostProcessing = 3; }
|
||||||
|
"lisflood_merged" = { typeOfPostProcessing = 4; }
|
||||||
|
"lisflood_global" = { typeOfPostProcessing = 5; }
|
||||||
|
"geff" = { typeOfPostProcessing = 10; }
|
||||||
|
"ericha" = { typeOfPostProcessing = 51; }
|
||||||
|
"htessel_lisflood" = { typeOfPostProcessing = 101; }
|
||||||
|
"htessel_eric" = { typeOfPostProcessing = 102; }
|
||||||
|
"htessel_camaflood" = { typeOfPostProcessing = 103; }
|
||||||
|
"epic" = { typeOfPostProcessing = 152; }
|
||||||
|
"jules_mrm" = { typeOfPostProcessing = 201; }
|
||||||
|
"htessel_mrm" = { typeOfPostProcessing = 202; }
|
||||||
|
"mhm_mrm" = { typeOfPostProcessing = 203; }
|
||||||
|
"pcrg_mrm" = { typeOfPostProcessing = 204; }
|
||||||
|
"meteogrid" = { typeOfPostProcessing = 205; }
|
||||||
|
|
|
@ -10,3 +10,5 @@ codetable[2] inputOriginatingCentre 'common/c-11.table' : dump,edition_specific,
|
||||||
|
|
||||||
# This identifies which post-processing technique was used. This is defined by the originating centre
|
# This identifies which post-processing technique was used. This is defined by the originating centre
|
||||||
unsigned[1] typeOfPostProcessing : dump,edition_specific;
|
unsigned[1] typeOfPostProcessing : dump,edition_specific;
|
||||||
|
|
||||||
|
concept postProcessing (unknown,"postProcessingConcept.def",conceptsDir2,conceptsDir1):no_copy;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# EFAS control forecast
|
# EFAS control forecast
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# EFAS forecast
|
# EFAS forecast
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -10,6 +10,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.anoffset=anoffset;
|
alias mars.anoffset=anoffset;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -14,6 +14,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.anoffset=anoffset;
|
alias mars.anoffset=anoffset;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -3,6 +3,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -11,6 +11,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.anoffset=anoffset;
|
alias mars.anoffset=anoffset;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# EFAS climatology control forecast
|
# EFAS climatology control forecast
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# EFAS climatology forecast
|
# EFAS climatology forecast
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -9,6 +9,6 @@ alias mars.hdate = dataDate;
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -4,8 +4,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -10,6 +10,6 @@ alias mars.hdate = dataDate;
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# EFAS reforecast control
|
# EFAS reforecast control
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -3,8 +3,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -3,6 +3,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -3,8 +3,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -10,6 +10,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.anoffset=anoffset;
|
alias mars.anoffset=anoffset;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -3,6 +3,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -10,6 +10,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.anoffset=anoffset;
|
alias mars.anoffset=anoffset;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# GLOFAS climatology
|
# GLOFAS climatology
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# GLOFAS climatology
|
# GLOFAS climatology
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -4,8 +4,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -9,6 +9,6 @@ alias mars.hdate = dataDate;
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
alias mars.origin = inputOriginatingCentre;
|
alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -4,8 +4,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
|
@ -3,6 +3,6 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
|
@ -4,8 +4,8 @@ alias mars.origin = inputOriginatingCentre;
|
||||||
|
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.number = perturbationNumber;
|
||||||
|
|
||||||
# We need this because 'efas_post_proc' is defined later
|
# We need this because 'postProcessing' is defined later
|
||||||
meta efas_model sprintf("%s", efas_post_proc) : no_copy;
|
meta efas_model sprintf("%s", postProcessing) : no_copy;
|
||||||
alias mars.model = efas_model;
|
alias mars.model = efas_model;
|
||||||
|
|
||||||
alias mars.date = dateOfModelVersion;
|
alias mars.date = dateOfModelVersion;
|
||||||
|
|
Loading…
Reference in New Issue