diff --git a/definitions/mars/grib.edmm.4v.def b/definitions/mars/grib.edmm.4v.def index a67edbf4e..c65e6f447 100644 --- a/definitions/mars/grib.edmm.4v.def +++ b/definitions/mars/grib.edmm.4v.def @@ -3,4 +3,9 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : r meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + alias mars.number=perturbationNumber; diff --git a/definitions/mars/grib.edmm.fc.def b/definitions/mars/grib.edmm.fc.def index d158c9cbb..d2e08a576 100644 --- a/definitions/mars/grib.edmm.fc.def +++ b/definitions/mars/grib.edmm.fc.def @@ -3,6 +3,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class e4 # constant six = 6; diff --git a/definitions/mars/grib.edmo.4v.def b/definitions/mars/grib.edmo.4v.def index 74b72a81f..94d7f0d9e 100644 --- a/definitions/mars/grib.edmo.4v.def +++ b/definitions/mars/grib.edmo.4v.def @@ -3,6 +3,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : r meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + unalias mars.time; unalias mars.step; diff --git a/definitions/mars/grib.edmo.fc.def b/definitions/mars/grib.edmo.fc.def index f928b621e..d0744e69a 100644 --- a/definitions/mars/grib.edmo.fc.def +++ b/definitions/mars/grib.edmo.fc.def @@ -1,9 +1,14 @@ # assert(local=1) -meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : read_only; +meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : read_only; meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; alias mars.step = endStep; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class 3 is "er" which is 15 year re-analysis (ERA15) # Only ERA15 has time and step if(class != 3) { diff --git a/definitions/mars/grib.ewmm.fc.def b/definitions/mars/grib.ewmm.fc.def index 041665d0a..4234a0ace 100644 --- a/definitions/mars/grib.ewmm.fc.def +++ b/definitions/mars/grib.ewmm.fc.def @@ -3,6 +3,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # # See GRIB-422, GRIB-497, GRIB-766, GRIB-833 # diff --git a/definitions/mars/grib.ewmo.fc.def b/definitions/mars/grib.ewmo.fc.def index f928b621e..d0744e69a 100644 --- a/definitions/mars/grib.ewmo.fc.def +++ b/definitions/mars/grib.ewmo.fc.def @@ -1,9 +1,14 @@ # assert(local=1) -meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : read_only; +meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : read_only; meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; alias mars.step = endStep; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class 3 is "er" which is 15 year re-analysis (ERA15) # Only ERA15 has time and step if(class != 3) { diff --git a/definitions/mars/grib.mnth.4v.def b/definitions/mars/grib.mnth.4v.def index 2c0567bb1..73fc6cf01 100644 --- a/definitions/mars/grib.mnth.4v.def +++ b/definitions/mars/grib.mnth.4v.def @@ -2,3 +2,8 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : read_only; meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; + +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); diff --git a/definitions/mars/grib.mnth.fc.def b/definitions/mars/grib.mnth.fc.def index 8898af6cd..47b5c83f5 100644 --- a/definitions/mars/grib.mnth.fc.def +++ b/definitions/mars/grib.mnth.fc.def @@ -3,6 +3,10 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); # # See GRIB-497, GRIB-766, GRIB-833 # diff --git a/definitions/mars/grib.mnth.ssd.def b/definitions/mars/grib.mnth.ssd.def index 4d4ca9a40..eb577f46e 100644 --- a/definitions/mars/grib.mnth.ssd.def +++ b/definitions/mars/grib.mnth.ssd.def @@ -3,6 +3,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class e4 # constant six = 6; alias mars.step = startStep; diff --git a/definitions/mars/grib.moda.4v.def b/definitions/mars/grib.moda.4v.def index dd11a5997..36702cebf 100644 --- a/definitions/mars/grib.moda.4v.def +++ b/definitions/mars/grib.moda.4v.def @@ -3,5 +3,10 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : r meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + unalias mars.time; unalias mars.step; diff --git a/definitions/mars/grib.moda.fc.def b/definitions/mars/grib.moda.fc.def index 5c38769b9..ad96bb391 100644 --- a/definitions/mars/grib.moda.fc.def +++ b/definitions/mars/grib.moda.fc.def @@ -4,6 +4,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : r meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class 3 is "er" which is 15 year re-analysis (ERA15) # Only ERA15 has time and step if(class != 3) { diff --git a/definitions/mars/grib.wamd.fc.def b/definitions/mars/grib.wamd.fc.def index 1a53683d0..5a6bcc987 100644 --- a/definitions/mars/grib.wamd.fc.def +++ b/definitions/mars/grib.wamd.fc.def @@ -5,6 +5,11 @@ meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; alias mars.step = startStep; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # class 3 is "er" which is 15 year re-analysis (ERA15) # Only ERA15 has time and step if(class != 3) { diff --git a/definitions/mars/grib.wamo.fc.def b/definitions/mars/grib.wamo.fc.def index 8898af6cd..9e87ba96f 100644 --- a/definitions/mars/grib.wamo.fc.def +++ b/definitions/mars/grib.wamo.fc.def @@ -3,6 +3,11 @@ meta verificationDate g1verificationdate(dataDate, dataTime, endStep) : meta monthlyVerificationDate g1monthlydate(verificationDate) : dump,no_copy; alias mars.date = monthlyVerificationDate; +meta verificationYear evaluate(verificationDate/10000); +meta monthlyVerificationYear evaluate(monthlyVerificationDate/10000); +meta verificationMonth evaluate( (verificationDate/100)%100 ); +meta monthlyVerificationMonth evaluate( (monthlyVerificationDate/100)%100 ); + # # See GRIB-497, GRIB-766, GRIB-833 #