From d6562ddcd6a29f5bcc0d945e10893be622d65b34 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Wed, 8 May 2024 15:55:54 +0000 Subject: [PATCH 1/4] ECC-1823: GRIB2: Add climatological albedo local ECMWF parameter to pseudocentre ERA6 --- definitions/grib2/localConcepts/era6/cfName.def | 8 ++++++++ definitions/grib2/localConcepts/era6/name.def | 8 ++++++++ definitions/grib2/localConcepts/era6/paramId.def | 8 ++++++++ definitions/grib2/localConcepts/era6/shortName.def | 8 ++++++++ definitions/grib2/localConcepts/era6/units.def | 8 ++++++++ 5 files changed, 40 insertions(+) diff --git a/definitions/grib2/localConcepts/era6/cfName.def b/definitions/grib2/localConcepts/era6/cfName.def index b4593411b..04675741a 100644 --- a/definitions/grib2/localConcepts/era6/cfName.def +++ b/definitions/grib2/localConcepts/era6/cfName.def @@ -42,6 +42,14 @@ typeOfFirstFixedSurface = 1 ; typeOfSecondFixedSurface = 8 ; } +#Albedo (climatological) +'surface_albedo' = { + localTablesVersion = 1 ; + discipline = 0 ; + parameterCategory = 19 ; + parameterNumber = 193 ; + typeOfGeneratingProcess = 9 ; + } #Evaporation 'lwe_thickness_of_water_evaporation_amount' = { localTablesVersion = 1 ; diff --git a/definitions/grib2/localConcepts/era6/name.def b/definitions/grib2/localConcepts/era6/name.def index a716f4abd..b5c4fefb8 100644 --- a/definitions/grib2/localConcepts/era6/name.def +++ b/definitions/grib2/localConcepts/era6/name.def @@ -124,6 +124,14 @@ typeOfFirstFixedSurface = 1 ; typeOfSecondFixedSurface = 8 ; } +#Albedo (climatological) +'Albedo (climatological)' = { + localTablesVersion = 1 ; + discipline = 0 ; + parameterCategory = 19 ; + parameterNumber = 193 ; + typeOfGeneratingProcess = 9 ; + } #Evaporation 'Evaporation' = { localTablesVersion = 1 ; diff --git a/definitions/grib2/localConcepts/era6/paramId.def b/definitions/grib2/localConcepts/era6/paramId.def index 48ebc11f2..85dc31997 100644 --- a/definitions/grib2/localConcepts/era6/paramId.def +++ b/definitions/grib2/localConcepts/era6/paramId.def @@ -124,6 +124,14 @@ typeOfFirstFixedSurface = 1 ; typeOfSecondFixedSurface = 8 ; } +#Albedo (climatological) +'174' = { + localTablesVersion = 1 ; + discipline = 0 ; + parameterCategory = 19 ; + parameterNumber = 193 ; + typeOfGeneratingProcess = 9 ; + } #Evaporation '182' = { localTablesVersion = 1 ; diff --git a/definitions/grib2/localConcepts/era6/shortName.def b/definitions/grib2/localConcepts/era6/shortName.def index 02efcff3c..0b9c836b9 100644 --- a/definitions/grib2/localConcepts/era6/shortName.def +++ b/definitions/grib2/localConcepts/era6/shortName.def @@ -124,6 +124,14 @@ typeOfFirstFixedSurface = 1 ; typeOfSecondFixedSurface = 8 ; } +#Albedo (climatological) +'al' = { + localTablesVersion = 1 ; + discipline = 0 ; + parameterCategory = 19 ; + parameterNumber = 193 ; + typeOfGeneratingProcess = 9 ; + } #Evaporation 'e' = { localTablesVersion = 1 ; diff --git a/definitions/grib2/localConcepts/era6/units.def b/definitions/grib2/localConcepts/era6/units.def index 828da275e..699b0c19a 100644 --- a/definitions/grib2/localConcepts/era6/units.def +++ b/definitions/grib2/localConcepts/era6/units.def @@ -124,6 +124,14 @@ typeOfFirstFixedSurface = 1 ; typeOfSecondFixedSurface = 8 ; } +#Albedo (climatological) +'(0 - 1)' = { + localTablesVersion = 1 ; + discipline = 0 ; + parameterCategory = 19 ; + parameterNumber = 193 ; + typeOfGeneratingProcess = 9 ; + } #Evaporation 'm of water equivalent' = { localTablesVersion = 1 ; From 9d53a9e120b3468128f59f24d1bc8253f607bf0a Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 10 May 2024 12:35:43 +0100 Subject: [PATCH 2/4] Compiler warnings re sprintf --- fortran/grib_fortran.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fortran/grib_fortran.c b/fortran/grib_fortran.c index 3cb17739a..f5427df83 100644 --- a/fortran/grib_fortran.c +++ b/fortran/grib_fortran.c @@ -986,7 +986,7 @@ void grib_f_write_on_fail(int* gid) { file_count++; GRIB_MUTEX_UNLOCK(&handle_mutex) - sprintf(filename,"%ld_%d_error.grib",(long)pid,file_count); + snprintf(filename, sizeof(filename), "%ld_%d_error.grib",(long)pid,file_count); h=get_handle(*gid); if (h) grib_write_message(h,filename,"w"); @@ -1249,7 +1249,7 @@ int grib_f_keys_iterator_get_name_(int* iterid,char* name,int len) fort_char_clean(name, len); - sprintf(buf,"%s",grib_keys_iterator_get_name(kiter)); + snprintf(buf, sizeof(buf), "%s",grib_keys_iterator_get_name(kiter)); lsize = strlen(buf); if (input_len < lsize) return GRIB_ARRAY_TOO_SMALL; @@ -1321,7 +1321,7 @@ int codes_f_bufr_keys_iterator_get_name_(int* iterid, char* name, int len) fort_char_clean(name, len); - sprintf(buf, "%s", codes_bufr_keys_iterator_get_name(kiter)); + snprintf(buf, sizeof(buf), "%s", codes_bufr_keys_iterator_get_name(kiter)); lsize = strlen(buf); if (input_len < lsize) return GRIB_ARRAY_TOO_SMALL; From 769d5dcbfec381d1e42fb3792d13138861d95dba Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 13 May 2024 10:57:39 +0100 Subject: [PATCH 3/4] ECC-1709: GRIB2: Rename indicatorOfUnitOfTimeRange to indicatorOfUnitForForecastTime --- definitions/grib2/template.4.20.def | 40 +++++++++---------- .../grib2/template.4.forecast_time.def | 4 +- .../grib2/template.4.forecast_time_44.def | 4 +- definitions/grib2/template.4.localtime.def | 4 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/definitions/grib2/template.4.20.def b/definitions/grib2/template.4.20.def index b739bf6bb..882691250 100644 --- a/definitions/grib2/template.4.20.def +++ b/definitions/grib2/template.4.20.def @@ -1,60 +1,60 @@ # (C) Copyright 2005- ECMWF. # TEMPLATE 4.20, Radar product -codetable[1] parameterCategory ('4.1.[discipline:l].table',masterDir,localDir) : dump; +codetable[1] parameterCategory('4.1.[discipline:l].table',masterDir,localDir) : dump; # Parameter number -codetable[1] parameterNumber ('4.2.[discipline:l].[parameterCategory:l].table',masterDir,localDir) : dump; +codetable[1] parameterNumber('4.2.[discipline:l].[parameterCategory:l].table',masterDir,localDir) : dump; meta parameterUnits codetable_units(parameterNumber) : dump; meta parameterName codetable_title(parameterNumber) : dump; -codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump; +codetable[1] typeOfGeneratingProcess('4.3.table',masterDir,localDir) : dump; # Number of radar sites used -unsigned[1] numberOfRadarSitesUsed : dump; +unsigned[1] numberOfRadarSitesUsed : dump; -codetable[1] indicatorOfUnitOfTimeRange ('4.4.table',masterDir,localDir) : dump; -alias indicatorOfUnitForForecastTime = indicatorOfUnitOfTimeRange; +codetable[1] indicatorOfUnitForForecastTime('4.4.table',masterDir,localDir) : dump; +alias indicatorOfUnitOfTimeRange = indicatorOfUnitForForecastTime; include "grib2/stepUnits.def" # Site latitude (in microdegrees) -unsigned[4] siteLatitude : dump; +unsigned[4] siteLatitude : dump; # Site longitude (in microdegrees) -unsigned[4] siteLongitude : dump; +unsigned[4] siteLongitude : dump; # Site elevation (meters) -unsigned[2] siteElevation : dump; +unsigned[2] siteElevation : dump; # Site ID (alphanumeric) -unsigned[4] siteId : dump; +unsigned[4] siteId : dump; # Site ID (numeric) -unsigned[2] siteId : dump; +unsigned[2] siteId : dump; # Operating mode -codetable[1] operatingMode ('4.12.table',masterDir,localDir) : dump; +codetable[1] operatingMode('4.12.table',masterDir,localDir) : dump; # Reflectivity calibration constant (tenths of dB) -unsigned[1] reflectivityCalibrationConstant : dump; +unsigned[1] reflectivityCalibrationConstant : dump; # Quality control indicator -codetable[1] qualityControlIndicator ('4.13.table',masterDir,localDir) : dump; +codetable[1] qualityControlIndicator('4.13.table',masterDir,localDir) : dump; # Clutter filter indicator -codetable[1] clutterFilterIndicator ('4.14.table',masterDir,localDir) : dump; +codetable[1] clutterFilterIndicator('4.14.table',masterDir,localDir) : dump; # Constant antenna elevation angle (tenths of degree true) -unsigned[1] constantAntennaElevationAngle : dump; +unsigned[1] constantAntennaElevationAngle : dump; # Accumulation interval (minutes) -unsigned[2] accumulationInterval : dump; +unsigned[2] accumulationInterval : dump; # Reference reflectivity for echo top (dB) -unsigned[1] referenceReflectivityForEchoTop : dump; +unsigned[1] referenceReflectivityForEchoTop : dump; # Range bin spacing (meters) -unsigned[3] rangeBinSpacing : dump; +unsigned[3] rangeBinSpacing : dump; # Radial angular spacing (tenths of degree true) -unsigned[2] radialAngularSpacing : dump; +unsigned[2] radialAngularSpacing : dump; diff --git a/definitions/grib2/template.4.forecast_time.def b/definitions/grib2/template.4.forecast_time.def index c12da70e3..e1c2822d9 100644 --- a/definitions/grib2/template.4.forecast_time.def +++ b/definitions/grib2/template.4.forecast_time.def @@ -9,8 +9,8 @@ unsigned[1] minutesAfterDataCutoff = missing() : edition_specific,can_be_missin alias minutesAfterReferenceTimeOfDataCutoff=minutesAfterDataCutoff; # Indicator of unit for forecastTime (ECC-1709) -codetable[1] indicatorOfUnitOfTimeRange ('4.4.table',masterDir,localDir) : dump; -alias indicatorOfUnitForForecastTime = indicatorOfUnitOfTimeRange; +codetable[1] indicatorOfUnitForForecastTime ('4.4.table',masterDir,localDir) : dump; +alias indicatorOfUnitOfTimeRange = indicatorOfUnitForForecastTime; include "grib2/stepUnits.def" diff --git a/definitions/grib2/template.4.forecast_time_44.def b/definitions/grib2/template.4.forecast_time_44.def index 0b4ad445b..30723622e 100644 --- a/definitions/grib2/template.4.forecast_time_44.def +++ b/definitions/grib2/template.4.forecast_time_44.def @@ -11,8 +11,8 @@ unsigned[1] minutesAfterDataCutoff = missing() : edition_specific,can_be_missin alias minutesAfterReferenceTimeOfDataCutoff=minutesAfterDataCutoff; # Indicator of unit for forecastTime (ECC-1709) -codetable[1] indicatorOfUnitOfTimeRange ('4.4.table',masterDir,localDir) : dump; -alias indicatorOfUnitForForecastTime = indicatorOfUnitOfTimeRange; +codetable[1] indicatorOfUnitForForecastTime ('4.4.table',masterDir,localDir) : dump; +alias indicatorOfUnitOfTimeRange = indicatorOfUnitForForecastTime; include "grib2/stepUnits.def" diff --git a/definitions/grib2/template.4.localtime.def b/definitions/grib2/template.4.localtime.def index 96d655d68..336d90068 100644 --- a/definitions/grib2/template.4.localtime.def +++ b/definitions/grib2/template.4.localtime.def @@ -34,7 +34,7 @@ localTimeForecastList list(numberOfForecastsUsedInLocalTime) unsigned[1] secondOfForecastUsedInLocalTime=0 : dump, edition_specific; # Indicator of unit of time for ForecastTime - codetable[1] indicatorOfUnitForForecastTime ('4.4.table',masterDir,localDir)=1 : dump; + codetable[1] indicatorOfUnitForForecastTime('4.4.table',masterDir,localDir)=1 : dump; # Length of the time range over which statistical processing is done, in units defined by the previous octet unsigned[4] forecastTime=0 : dump; @@ -43,7 +43,7 @@ localTimeForecastList list(numberOfForecastsUsedInLocalTime) unsigned[1] numberOfTimeIncrementsOfForecastsUsedInLocalTime=1 : dump; # Indicator of unit of time for the increment between the successive steps used - codetable[1] indicatorOfUnitForTimeIncrement ('4.4.table',masterDir,localDir)=255 : dump; + codetable[1] indicatorOfUnitForTimeIncrement('4.4.table',masterDir,localDir)=255 : dump; # Time increment between successive fields, in units defined by the previous octet unsigned[4] timeIncrement=0 : dump; From 501dc2c125296fa5b2746df01da6e49e16d9dbbf Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 13 May 2024 11:17:11 +0000 Subject: [PATCH 4/4] ECC-1824: GRIB2: Correct shortName for recently added time-mean parameters --- definitions/grib2/cfVarName.def | 70 +++++++++---------- .../grib2/localConcepts/cerise/cfVarName.def | 10 +-- .../grib2/localConcepts/cerise/shortName.def | 10 +-- .../grib2/localConcepts/ecmf/cfVarName.def | 10 +-- .../grib2/localConcepts/ecmf/shortName.def | 10 +-- definitions/grib2/shortName.def | 70 +++++++++---------- tests/grib_ecc-1806.sh | 4 +- 7 files changed, 92 insertions(+), 92 deletions(-) diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def index 33c22592d..0893cd19c 100644 --- a/definitions/grib2/cfVarName.def +++ b/definitions/grib2/cfVarName.def @@ -4795,28 +4795,28 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean snow density -'mrsn' = { +'avg_rsn' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 61 ; typeOfStatisticalProcessing = 0 ; } #Time-mean low vegetation cover -'mcvl' = { +'avg_cvl' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 53 ; typeOfStatisticalProcessing = 0 ; } #Time-mean high vegetation cover -'mcvh' = { +'avg_cvh' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 54 ; typeOfStatisticalProcessing = 0 ; } #Time-mean sea ice area fraction -'mci' = { +'avg_ci' = { discipline = 10 ; parameterCategory = 2 ; parameterNumber = 0 ; @@ -4824,7 +4824,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean sea surface temperature -'msst' = { +'avg_sst' = { discipline = 10 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -4832,21 +4832,21 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean leaf area index, low vegetation -'mlai_lv' = { +'avg_lai_lv' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 55 ; typeOfStatisticalProcessing = 0 ; } #Time-mean leaf area index, high vegetation -'mlai_hv' = { +'avg_lai_hv' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 56 ; typeOfStatisticalProcessing = 0 ; } #Time-mean total column liquid water -'mtclw' = { +'avg_tclw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 69 ; @@ -4855,7 +4855,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean total column cloud ice water -'mtciw' = { +'avg_tciw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 70 ; @@ -4864,7 +4864,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre specific humidity -'m2sh' = { +'avg_2sh' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 0 ; @@ -4875,7 +4875,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean lake mix-layer temperature -'mlmlt' = { +'avg_lmlt' = { discipline = 1 ; parameterCategory = 2 ; parameterNumber = 1 ; @@ -4884,7 +4884,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean lake mix-layer depth -'mlmld' = { +'avg_lmld' = { discipline = 1 ; parameterCategory = 2 ; parameterNumber = 0 ; @@ -4893,7 +4893,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre relative humidity -'m2r' = { +'avg_2r' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 1 ; @@ -4903,70 +4903,70 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean fraction of snow cover -'mfscov' = { +'avg_fscov' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 121 ; typeOfStatisticalProcessing = 0 ; } #Time-mean soil temperature -'msot' = { +'avg_sot' = { discipline = 2 ; parameterCategory = 3 ; parameterNumber = 18 ; typeOfStatisticalProcessing = 0 ; } #Time-mean snow depth -'msde' = { +'avg_sde' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 11 ; typeOfStatisticalProcessing = 0 ; } #Time-mean snow cover -'msnowc' = { +'avg_snowc' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 42 ; typeOfStatisticalProcessing = 0 ; } #Time-mean geopotential -'mz' = { +'avg_z' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 4 ; typeOfStatisticalProcessing = 0 ; } #Time-mean temperature -'mt' = { +'avg_t' = { discipline = 0 ; parameterCategory = 0 ; parameterNumber = 0 ; typeOfStatisticalProcessing = 0 ; } #Time-mean U component of wind -'mu' = { +'avg_u' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 2 ; typeOfStatisticalProcessing = 0 ; } #Time-mean V component of wind -'mv' = { +'avg_v' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 3 ; typeOfStatisticalProcessing = 0 ; } #Time-mean specific humidity -'mq' = { +'avg_q' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 0 ; typeOfStatisticalProcessing = 0 ; } #Time-mean surface pressure -'msp' = { +'avg_sp' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -4974,14 +4974,14 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean vertical velocity -'mw' = { +'avg_w' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 8 ; typeOfStatisticalProcessing = 0 ; } #Time-mean total column water -'mtcw' = { +'avg_tcw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 51 ; @@ -4990,7 +4990,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean total column vertically-integrated water vapour -'mtcwv' = { +'avg_tcwv' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 64 ; @@ -4999,7 +4999,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean mean sea level pressure -'mmsl' = { +'avg_msl' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -5007,21 +5007,21 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean relative humidity -'mr' = { +'avg_r' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 1 ; typeOfStatisticalProcessing = 0 ; } #Time-mean boundary layer height -'mblh' = { +'avg_blh' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 18 ; typeOfStatisticalProcessing = 0 ; } #Time-mean 10 metre U wind component -'m10u' = { +'avg_10u' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 2 ; @@ -5031,7 +5031,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 10 metre V wind component -'m10v' = { +'avg_10v' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 3 ; @@ -5041,7 +5041,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre dewpoint temperature -'m2d' = { +'avg_2d' = { discipline = 0 ; parameterCategory = 0 ; parameterNumber = 6 ; @@ -5051,14 +5051,14 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean temperature of snow layer -'mtsn' = { +'avg_tsn' = { discipline = 2 ; parameterCategory = 3 ; parameterNumber = 28 ; typeOfStatisticalProcessing = 0 ; } #Time-mean forecast surface roughness -'mfsr' = { +'avg_fsr' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 1 ; @@ -5066,7 +5066,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast logarithm of surface roughness for heat -'mflsr' = { +'avg_flsr' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 54 ; diff --git a/definitions/grib2/localConcepts/cerise/cfVarName.def b/definitions/grib2/localConcepts/cerise/cfVarName.def index 0ccc6c90f..dfb69cc17 100644 --- a/definitions/grib2/localConcepts/cerise/cfVarName.def +++ b/definitions/grib2/localConcepts/cerise/cfVarName.def @@ -153,7 +153,7 @@ typeOfStatisticalProcessing = 1 ; } #Time-mean snow depth -'msd_m' = { +'avg_sd_m' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 1 ; @@ -161,7 +161,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean low cloud cover -'mlcc_frac' = { +'avg_lcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -169,7 +169,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean medium cloud cover -'mmcc_frac' = { +'avg_mcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -177,7 +177,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean high cloud cover -'mhcc_frac' = { +'avg_hcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -185,7 +185,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast albedo -'mfal_frac' = { +'avg_fal_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 19 ; diff --git a/definitions/grib2/localConcepts/cerise/shortName.def b/definitions/grib2/localConcepts/cerise/shortName.def index 0ccc6c90f..dfb69cc17 100644 --- a/definitions/grib2/localConcepts/cerise/shortName.def +++ b/definitions/grib2/localConcepts/cerise/shortName.def @@ -153,7 +153,7 @@ typeOfStatisticalProcessing = 1 ; } #Time-mean snow depth -'msd_m' = { +'avg_sd_m' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 1 ; @@ -161,7 +161,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean low cloud cover -'mlcc_frac' = { +'avg_lcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -169,7 +169,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean medium cloud cover -'mmcc_frac' = { +'avg_mcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -177,7 +177,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean high cloud cover -'mhcc_frac' = { +'avg_hcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -185,7 +185,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast albedo -'mfal_frac' = { +'avg_fal_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 19 ; diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def index 6794b74a6..7efe686a0 100644 --- a/definitions/grib2/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def @@ -13832,7 +13832,7 @@ typeOfStatisticalProcessing = 1 ; } #Time-mean snow depth -'msd_m' = { +'avg_sd_m' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 1 ; @@ -13840,7 +13840,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean low cloud cover -'mlcc_frac' = { +'avg_lcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13848,7 +13848,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean medium cloud cover -'mmcc_frac' = { +'avg_mcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13856,7 +13856,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean high cloud cover -'mhcc_frac' = { +'avg_hcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13864,7 +13864,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast albedo -'mfal_frac' = { +'avg_fal_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 19 ; diff --git a/definitions/grib2/localConcepts/ecmf/shortName.def b/definitions/grib2/localConcepts/ecmf/shortName.def index b476da6d8..b7e53c29d 100644 --- a/definitions/grib2/localConcepts/ecmf/shortName.def +++ b/definitions/grib2/localConcepts/ecmf/shortName.def @@ -13832,7 +13832,7 @@ typeOfStatisticalProcessing = 1 ; } #Time-mean snow depth -'msd_m' = { +'avg_sd_m' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 1 ; @@ -13840,7 +13840,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean low cloud cover -'mlcc_frac' = { +'avg_lcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13848,7 +13848,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean medium cloud cover -'mmcc_frac' = { +'avg_mcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13856,7 +13856,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean high cloud cover -'mhcc_frac' = { +'avg_hcc_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 6 ; @@ -13864,7 +13864,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast albedo -'mfal_frac' = { +'avg_fal_frac' = { localTablesVersion = 1 ; discipline = 0 ; parameterCategory = 19 ; diff --git a/definitions/grib2/shortName.def b/definitions/grib2/shortName.def index fbecc6945..fb3e581c8 100644 --- a/definitions/grib2/shortName.def +++ b/definitions/grib2/shortName.def @@ -4795,28 +4795,28 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean snow density -'mrsn' = { +'avg_rsn' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 61 ; typeOfStatisticalProcessing = 0 ; } #Time-mean low vegetation cover -'mcvl' = { +'avg_cvl' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 53 ; typeOfStatisticalProcessing = 0 ; } #Time-mean high vegetation cover -'mcvh' = { +'avg_cvh' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 54 ; typeOfStatisticalProcessing = 0 ; } #Time-mean sea ice area fraction -'mci' = { +'avg_ci' = { discipline = 10 ; parameterCategory = 2 ; parameterNumber = 0 ; @@ -4824,7 +4824,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean sea surface temperature -'msst' = { +'avg_sst' = { discipline = 10 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -4832,21 +4832,21 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean leaf area index, low vegetation -'mlai_lv' = { +'avg_lai_lv' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 55 ; typeOfStatisticalProcessing = 0 ; } #Time-mean leaf area index, high vegetation -'mlai_hv' = { +'avg_lai_hv' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 56 ; typeOfStatisticalProcessing = 0 ; } #Time-mean total column liquid water -'mtclw' = { +'avg_tclw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 69 ; @@ -4855,7 +4855,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean total column cloud ice water -'mtciw' = { +'avg_tciw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 70 ; @@ -4864,7 +4864,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre specific humidity -'m2sh' = { +'avg_2sh' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 0 ; @@ -4875,7 +4875,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean lake mix-layer temperature -'mlmlt' = { +'avg_lmlt' = { discipline = 1 ; parameterCategory = 2 ; parameterNumber = 1 ; @@ -4884,7 +4884,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean lake mix-layer depth -'mlmld' = { +'avg_lmld' = { discipline = 1 ; parameterCategory = 2 ; parameterNumber = 0 ; @@ -4893,7 +4893,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre relative humidity -'m2r' = { +'avg_2r' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 1 ; @@ -4903,70 +4903,70 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean fraction of snow cover -'mfscov' = { +'avg_fscov' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 121 ; typeOfStatisticalProcessing = 0 ; } #Time-mean soil temperature -'msot' = { +'avg_sot' = { discipline = 2 ; parameterCategory = 3 ; parameterNumber = 18 ; typeOfStatisticalProcessing = 0 ; } #Time-mean snow depth -'msde' = { +'avg_sde' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 11 ; typeOfStatisticalProcessing = 0 ; } #Time-mean snow cover -'msnowc' = { +'avg_snowc' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 42 ; typeOfStatisticalProcessing = 0 ; } #Time-mean geopotential -'mz' = { +'avg_z' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 4 ; typeOfStatisticalProcessing = 0 ; } #Time-mean temperature -'mt' = { +'avg_t' = { discipline = 0 ; parameterCategory = 0 ; parameterNumber = 0 ; typeOfStatisticalProcessing = 0 ; } #Time-mean U component of wind -'mu' = { +'avg_u' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 2 ; typeOfStatisticalProcessing = 0 ; } #Time-mean V component of wind -'mv' = { +'avg_v' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 3 ; typeOfStatisticalProcessing = 0 ; } #Time-mean specific humidity -'mq' = { +'avg_q' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 0 ; typeOfStatisticalProcessing = 0 ; } #Time-mean surface pressure -'msp' = { +'avg_sp' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -4974,14 +4974,14 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean vertical velocity -'mw' = { +'avg_w' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 8 ; typeOfStatisticalProcessing = 0 ; } #Time-mean total column water -'mtcw' = { +'avg_tcw' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 51 ; @@ -4990,7 +4990,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean total column vertically-integrated water vapour -'mtcwv' = { +'avg_tcwv' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 64 ; @@ -4999,7 +4999,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean mean sea level pressure -'mmsl' = { +'avg_msl' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 0 ; @@ -5007,21 +5007,21 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean relative humidity -'mr' = { +'avg_r' = { discipline = 0 ; parameterCategory = 1 ; parameterNumber = 1 ; typeOfStatisticalProcessing = 0 ; } #Time-mean boundary layer height -'mblh' = { +'avg_blh' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 18 ; typeOfStatisticalProcessing = 0 ; } #Time-mean 10 metre U wind component -'m10u' = { +'avg_10u' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 2 ; @@ -5031,7 +5031,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 10 metre V wind component -'m10v' = { +'avg_10v' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 3 ; @@ -5041,7 +5041,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean 2 metre dewpoint temperature -'m2d' = { +'avg_2d' = { discipline = 0 ; parameterCategory = 0 ; parameterNumber = 6 ; @@ -5051,14 +5051,14 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean temperature of snow layer -'mtsn' = { +'avg_tsn' = { discipline = 2 ; parameterCategory = 3 ; parameterNumber = 28 ; typeOfStatisticalProcessing = 0 ; } #Time-mean forecast surface roughness -'mfsr' = { +'avg_fsr' = { discipline = 2 ; parameterCategory = 0 ; parameterNumber = 1 ; @@ -5066,7 +5066,7 @@ typeOfStatisticalProcessing = 0 ; } #Time-mean forecast logarithm of surface roughness for heat -'mflsr' = { +'avg_flsr' = { discipline = 0 ; parameterCategory = 2 ; parameterNumber = 54 ; diff --git a/tests/grib_ecc-1806.sh b/tests/grib_ecc-1806.sh index fcd4684f2..e08f667a6 100755 --- a/tests/grib_ecc-1806.sh +++ b/tests/grib_ecc-1806.sh @@ -42,11 +42,11 @@ test_conversion() test_conversion 174098 262000 sithick test_conversion 151163 262104 t20d test_conversion 151145 262124 zos -test_conversion 130232 235135 mw +test_conversion 130232 235135 avg_w test_conversion 172146 235033 msshf test_conversion 172147 235034 mslhf test_conversion 55 228004 mean2t -test_conversion 56 235168 m2d +test_conversion 56 235168 avg_2d test_conversion 172169 235035 msdwswrf test_conversion 172175 235036 msdwlwrf test_conversion 172176 235037 msnswrf