From 4409c4103521bc872fad3b140033fd25d0fddeaa Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Wed, 3 Jun 2015 16:04:04 +0100 Subject: [PATCH 1/7] Undo temporary change to README --- README | 1 - 1 file changed, 1 deletion(-) diff --git a/README b/README index 3991d9051..961d7d586 100644 --- a/README +++ b/README @@ -1,5 +1,4 @@ ecCodes is the ECMWF encoding/decoding software for GRIB and BUFR. --- Documentation can be found here: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home From 2372e6e6523f69806f1e4dab1eea7f3130b9e973 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Wed, 3 Jun 2015 16:04:50 +0100 Subject: [PATCH 2/7] Add new error code CODES_OUT_OF_RANGE --- fortran/eccodes_constants.h | 1 + src/eccodes.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/fortran/eccodes_constants.h b/fortran/eccodes_constants.h index 975f2d8f8..94daa6603 100644 --- a/fortran/eccodes_constants.h +++ b/fortran/eccodes_constants.h @@ -1,3 +1,4 @@ + integer, parameter,public :: CODES_OUT_OF_RANGE = -65 integer, parameter,public :: CODES_UNSUPPORTED_EDITION = -64 integer, parameter,public :: CODES_ATTRIBUTE_NOT_FOUND = -63 integer, parameter,public :: CODES_TOO_MANY_ATTRIBUTES = -62 diff --git a/src/eccodes.h b/src/eccodes.h index 9745678ff..e45d06293 100644 --- a/src/eccodes.h +++ b/src/eccodes.h @@ -1250,6 +1250,8 @@ Error codes returned by the eccodes functions. #define CODES_ATTRIBUTE_NOT_FOUND GRIB_ATTRIBUTE_NOT_FOUND /** Edition not supported. */ #define CODES_UNSUPPORTED_EDITION GRIB_UNSUPPORTED_EDITION +/** Value out of coding range */ +#define CODES_OUT_OF_RANGE GRIB_OUT_OF_RANGE /*! @}*/ From 773726b56fa166ab3f0f5ac17e737e420bdaad92 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 4 Jun 2015 10:38:22 +0100 Subject: [PATCH 3/7] GRIB-764: Add mean rate parameters for ERA5 (Part 1) --- .../grib2/localConcepts/ecmf/cfVarName.def | 98 +++++++++++++++++++ definitions/grib2/localConcepts/ecmf/name.def | 98 +++++++++++++++++++ .../grib2/localConcepts/ecmf/paramId.def | 98 +++++++++++++++++++ .../grib2/localConcepts/ecmf/shortName.def | 98 +++++++++++++++++++ .../grib2/localConcepts/ecmf/units.def | 98 +++++++++++++++++++ 5 files changed, 490 insertions(+) diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def index 5d92d00ad..381322039 100644 --- a/definitions/grib2/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def @@ -9239,6 +9239,104 @@ parameterCategory = 228 ; parameterNumber = 255 ; } +#Mean temperature tendency due to parametrized short-wave radiation +'ttsrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 1 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation +'tttrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 2 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized short-wave radiation, clear sky +'ttsrcm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 3 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation, clear sky +'tttrcm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 4 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrizations +'ttpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 5 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean specific humidity tendency due to parametrizations +'qtpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 6 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean eastward wind tendency due to parametrizations +'utpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 7 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean northward wind tendency due to parametrizations +'vtpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 8 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught mass flux due to parametrized convection +'umfm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 9 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught mass flux due to parametrized convection +'dmfm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 10 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught detrainment rate due to parametrized convection +'udrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 11 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught detrainment rate due to parametrized convection +'ddrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 12 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean total precipitation rate +'tprm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 13 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean turbulent diffusion coefficient for heat +'tdchm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 14 ; + typeOfStatisticalProcessing = 0 ; + } #Flood alert levels 'p240010' = { discipline = 192 ; diff --git a/definitions/grib2/localConcepts/ecmf/name.def b/definitions/grib2/localConcepts/ecmf/name.def index f95759b65..4c0179706 100644 --- a/definitions/grib2/localConcepts/ecmf/name.def +++ b/definitions/grib2/localConcepts/ecmf/name.def @@ -9239,6 +9239,104 @@ parameterCategory = 228 ; parameterNumber = 255 ; } +#Mean temperature tendency due to parametrized short-wave radiation +'Mean temperature tendency due to parametrized short-wave radiation' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 1 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation +'Mean temperature tendency due to parametrized long-wave radiation' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 2 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized short-wave radiation, clear sky +'Mean temperature tendency due to parametrized short-wave radiation, clear sky' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 3 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation, clear sky +'Mean temperature tendency due to parametrized long-wave radiation, clear sky' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 4 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrizations +'Mean temperature tendency due to parametrizations' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 5 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean specific humidity tendency due to parametrizations +'Mean specific humidity tendency due to parametrizations' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 6 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean eastward wind tendency due to parametrizations +'Mean eastward wind tendency due to parametrizations' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 7 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean northward wind tendency due to parametrizations +'Mean northward wind tendency due to parametrizations' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 8 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught mass flux due to parametrized convection +'Mean updraught mass flux due to parametrized convection' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 9 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught mass flux due to parametrized convection +'Mean downdraught mass flux due to parametrized convection' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 10 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught detrainment rate due to parametrized convection +'Mean updraught detrainment rate due to parametrized convection' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 11 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught detrainment rate due to parametrized convection +'Mean downdraught detrainment rate due to parametrized convection' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 12 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean total precipitation rate +'Mean total precipitation rate' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 13 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean turbulent diffusion coefficient for heat +'Mean turbulent diffusion coefficient for heat' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 14 ; + typeOfStatisticalProcessing = 0 ; + } #Flood alert levels 'Flood alert levels' = { discipline = 192 ; diff --git a/definitions/grib2/localConcepts/ecmf/paramId.def b/definitions/grib2/localConcepts/ecmf/paramId.def index c73b05f29..1a18276cc 100644 --- a/definitions/grib2/localConcepts/ecmf/paramId.def +++ b/definitions/grib2/localConcepts/ecmf/paramId.def @@ -9239,6 +9239,104 @@ parameterCategory = 228 ; parameterNumber = 255 ; } +#Mean temperature tendency due to parametrized short-wave radiation +'235001' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 1 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation +'235002' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 2 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized short-wave radiation, clear sky +'235003' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 3 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation, clear sky +'235004' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 4 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrizations +'235005' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 5 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean specific humidity tendency due to parametrizations +'235006' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 6 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean eastward wind tendency due to parametrizations +'235007' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 7 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean northward wind tendency due to parametrizations +'235008' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 8 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught mass flux due to parametrized convection +'235009' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 9 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught mass flux due to parametrized convection +'235010' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 10 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught detrainment rate due to parametrized convection +'235011' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 11 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught detrainment rate due to parametrized convection +'235012' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 12 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean total precipitation rate +'235013' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 13 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean turbulent diffusion coefficient for heat +'235014' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 14 ; + typeOfStatisticalProcessing = 0 ; + } #Flood alert levels '240010' = { discipline = 192 ; diff --git a/definitions/grib2/localConcepts/ecmf/shortName.def b/definitions/grib2/localConcepts/ecmf/shortName.def index 593603c61..c052255f9 100644 --- a/definitions/grib2/localConcepts/ecmf/shortName.def +++ b/definitions/grib2/localConcepts/ecmf/shortName.def @@ -9239,6 +9239,104 @@ parameterCategory = 228 ; parameterNumber = 255 ; } +#Mean temperature tendency due to parametrized short-wave radiation +'ttsrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 1 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation +'tttrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 2 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized short-wave radiation, clear sky +'ttsrcm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 3 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation, clear sky +'tttrcm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 4 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrizations +'ttpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 5 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean specific humidity tendency due to parametrizations +'qtpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 6 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean eastward wind tendency due to parametrizations +'utpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 7 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean northward wind tendency due to parametrizations +'vtpmm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 8 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught mass flux due to parametrized convection +'umfm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 9 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught mass flux due to parametrized convection +'dmfm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 10 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught detrainment rate due to parametrized convection +'udrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 11 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught detrainment rate due to parametrized convection +'ddrm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 12 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean total precipitation rate +'tprm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 13 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean turbulent diffusion coefficient for heat +'tdchm' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 14 ; + typeOfStatisticalProcessing = 0 ; + } #Flood alert levels 'flal' = { discipline = 192 ; diff --git a/definitions/grib2/localConcepts/ecmf/units.def b/definitions/grib2/localConcepts/ecmf/units.def index cd3adc65d..d872873dd 100644 --- a/definitions/grib2/localConcepts/ecmf/units.def +++ b/definitions/grib2/localConcepts/ecmf/units.def @@ -9239,6 +9239,104 @@ parameterCategory = 228 ; parameterNumber = 255 ; } +#Mean temperature tendency due to parametrized short-wave radiation +'K s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 1 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation +'K s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 2 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized short-wave radiation, clear sky +'K s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 3 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrized long-wave radiation, clear sky +'K s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 4 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean temperature tendency due to parametrizations +'K s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 5 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean specific humidity tendency due to parametrizations +'kg kg**-1 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 6 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean eastward wind tendency due to parametrizations +'m s**-2' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 7 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean northward wind tendency due to parametrizations +'m s**-2' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 8 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught mass flux due to parametrized convection +'kg m**-2 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 9 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught mass flux due to parametrized convection +'kg m**-2 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 10 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean updraught detrainment rate due to parametrized convection +'kg m**-3 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 11 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean downdraught detrainment rate due to parametrized convection +'kg m**-3 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 12 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean total precipitation rate +'kg m**-2 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 13 ; + typeOfStatisticalProcessing = 0 ; + } +#Mean turbulent diffusion coefficient for heat +'m**2 s**-1' = { + discipline = 192 ; + parameterCategory = 235 ; + parameterNumber = 14 ; + typeOfStatisticalProcessing = 0 ; + } #Flood alert levels 'Integer' = { discipline = 192 ; From 33ce1d4c3a53855bc8d608e31f967212eadcd3a5 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 4 Jun 2015 17:26:34 +0100 Subject: [PATCH 4/7] GRIB-764: GRIB1 concepts --- .../grib1/localConcepts/ecmf/cfVarName.def | 242 ++++++++++++++++++ definitions/grib1/localConcepts/ecmf/name.def | 240 +++++++++++++++++ .../grib1/localConcepts/ecmf/paramId.def | 240 +++++++++++++++++ .../grib1/localConcepts/ecmf/shortName.def | 240 +++++++++++++++++ .../grib1/localConcepts/ecmf/units.def | 240 +++++++++++++++++ 5 files changed, 1202 insertions(+) diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def index 0f737e4d3..06ea94acc 100644 --- a/definitions/grib1/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib1/localConcepts/ecmf/cfVarName.def @@ -9274,6 +9274,248 @@ table2Version = 230 ; indicatorOfParameter = 251 ; } + +#Mean surface runoff rate +'p235020' = { + table2Version = 235 ; + indicatorOfParameter = 20 ; + } +#Mean sub-surface runoff rate +'p235021' = { + table2Version = 235 ; + indicatorOfParameter = 21 ; + } +#Mean surface photosynthetically active radiation flux, clear sky +'p235022' = { + table2Version = 235 ; + indicatorOfParameter = 22 ; + } +#Mean snow evaporation rate +'p235023' = { + table2Version = 235 ; + indicatorOfParameter = 23 ; + } +#Mean snowmelt rate +'p235024' = { + table2Version = 235 ; + indicatorOfParameter = 24 ; + } +#Mean magnitude of surface stress +'p235025' = { + table2Version = 235 ; + indicatorOfParameter = 25 ; + } +#Mean large-scale precipitation fraction +'p235026' = { + table2Version = 235 ; + indicatorOfParameter = 26 ; + } +#Mean surface downward UV radiation flux +'p235027' = { + table2Version = 235 ; + indicatorOfParameter = 27 ; + } +#Mean surface photosynthetically active radiation flux +'p235028' = { + table2Version = 235 ; + indicatorOfParameter = 28 ; + } +#Mean large-scale precipitation rate +'p235029' = { + table2Version = 235 ; + indicatorOfParameter = 29 ; + } +#Mean convective precipitation rate +'p235030' = { + table2Version = 235 ; + indicatorOfParameter = 30 ; + } +#Mean snowfall rate +'p235031' = { + table2Version = 235 ; + indicatorOfParameter = 31 ; + } +#Mean boundary layer dissipation +'p235032' = { + table2Version = 235 ; + indicatorOfParameter = 32 ; + } +#Mean surface sensible heat flux +'p235033' = { + table2Version = 235 ; + indicatorOfParameter = 33 ; + } +#Mean surface latent heat flux +'p235034' = { + table2Version = 235 ; + indicatorOfParameter = 34 ; + } +#Mean surface downward short-wave radiation flux +'p235035' = { + table2Version = 235 ; + indicatorOfParameter = 35 ; + } +#Mean surface downward long-wave radiation flux +'p235036' = { + table2Version = 235 ; + indicatorOfParameter = 36 ; + } +#Mean surface net short-wave radiation flux +'p235037' = { + table2Version = 235 ; + indicatorOfParameter = 37 ; + } +#Mean surface net long-wave radiation flux +'p235038' = { + table2Version = 235 ; + indicatorOfParameter = 38 ; + } +#Mean top net short-wave radiation flux +'p235039' = { + table2Version = 235 ; + indicatorOfParameter = 39 ; + } +#Mean top net long-wave radiation flux +'p235040' = { + table2Version = 235 ; + indicatorOfParameter = 40 ; + } +#Mean eastward turbulent surface stress +'p235041' = { + table2Version = 235 ; + indicatorOfParameter = 41 ; + } +#Mean northward turbulent surface stress +'p235042' = { + table2Version = 235 ; + indicatorOfParameter = 42 ; + } +#Mean evaporation rate +'p235043' = { + table2Version = 235 ; + indicatorOfParameter = 43 ; + } +#Sunshine duration fraction +'p235044' = { + table2Version = 235 ; + indicatorOfParameter = 44 ; + } +#Mean eastward gravity wave surface stress +'p235045' = { + table2Version = 235 ; + indicatorOfParameter = 45 ; + } +#Mean northward gravity wave surface stress +'p235046' = { + table2Version = 235 ; + indicatorOfParameter = 46 ; + } +#Mean gravity wave dissipation +'p235047' = { + table2Version = 235 ; + indicatorOfParameter = 47 ; + } +#Mean runoff rate +'p235048' = { + table2Version = 235 ; + indicatorOfParameter = 48 ; + } +#Mean top net short-wave radiation flux, clear sky +'p235049' = { + table2Version = 235 ; + indicatorOfParameter = 49 ; + } +#Mean top net long-wave radiation flux, clear sky +'p235050' = { + table2Version = 235 ; + indicatorOfParameter = 50 ; + } +#Mean surface net short-wave radiation flux, clear sky +'p235051' = { + table2Version = 235 ; + indicatorOfParameter = 51 ; + } +#Mean surface net long-wave radiation flux, clear sky +'p235052' = { + table2Version = 235 ; + indicatorOfParameter = 52 ; + } +#Mean top downward short-wave radiation flux +'p235053' = { + table2Version = 235 ; + indicatorOfParameter = 53 ; + } +#Mean vertically integrated moisture divergence +'p235054' = { + table2Version = 235 ; + indicatorOfParameter = 54 ; + } +#Mean total precipitation rate +'p235055' = { + table2Version = 235 ; + indicatorOfParameter = 55 ; + } +#Mean convective snowfall rate +'p235056' = { + table2Version = 235 ; + indicatorOfParameter = 56 ; + } +#Mean large-scale snowfall rate +'p235057' = { + table2Version = 235 ; + indicatorOfParameter = 57 ; + } +#Mean surface direct short-wave radiation flux +'p235058' = { + table2Version = 235 ; + indicatorOfParameter = 58 ; + } +#Mean surface direct short-wave radiation flux, clear sky +'p235059' = { + table2Version = 235 ; + indicatorOfParameter = 59 ; + } +#Mean surface diffuse short-wave radiation flux +'p235060' = { + table2Version = 235 ; + indicatorOfParameter = 60 ; + } +#Mean surface diffuse short-wave radiation flux, clear sky +'p235061' = { + table2Version = 235 ; + indicatorOfParameter = 61 ; + } +#Mean carbon dioxide net ecosystem exchange flux +'p235062' = { + table2Version = 235 ; + indicatorOfParameter = 62 ; + } +#Mean carbon dioxide gross primary production flux +'p235063' = { + table2Version = 235 ; + indicatorOfParameter = 63 ; + } +#Mean carbon dioxide ecosystem respiration flux +'p235064' = { + table2Version = 235 ; + indicatorOfParameter = 64 ; + } +#Mean rain rate +'p235065' = { + table2Version = 235 ; + indicatorOfParameter = 65 ; + } +#Mean convective rain rate +'p235066' = { + table2Version = 235 ; + indicatorOfParameter = 66 ; + } +#Mean large-scale rain rate +'p235067' = { + table2Version = 235 ; + indicatorOfParameter = 67 ; + } + #K index 'kx' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/name.def b/definitions/grib1/localConcepts/ecmf/name.def index f81eef019..d8614eaed 100644 --- a/definitions/grib1/localConcepts/ecmf/name.def +++ b/definitions/grib1/localConcepts/ecmf/name.def @@ -9274,6 +9274,246 @@ table2Version = 230 ; indicatorOfParameter = 251 ; } +#Mean surface runoff rate +'Mean surface runoff rate' = { + table2Version = 235 ; + indicatorOfParameter = 20 ; + } +#Mean sub-surface runoff rate +'Mean sub-surface runoff rate' = { + table2Version = 235 ; + indicatorOfParameter = 21 ; + } +#Mean surface photosynthetically active radiation flux, clear sky +'Mean surface photosynthetically active radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 22 ; + } +#Mean snow evaporation rate +'Mean snow evaporation rate' = { + table2Version = 235 ; + indicatorOfParameter = 23 ; + } +#Mean snowmelt rate +'Mean snowmelt rate' = { + table2Version = 235 ; + indicatorOfParameter = 24 ; + } +#Mean magnitude of surface stress +'Mean magnitude of surface stress' = { + table2Version = 235 ; + indicatorOfParameter = 25 ; + } +#Mean large-scale precipitation fraction +'Mean large-scale precipitation fraction' = { + table2Version = 235 ; + indicatorOfParameter = 26 ; + } +#Mean surface downward UV radiation flux +'Mean surface downward UV radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 27 ; + } +#Mean surface photosynthetically active radiation flux +'Mean surface photosynthetically active radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 28 ; + } +#Mean large-scale precipitation rate +'Mean large-scale precipitation rate' = { + table2Version = 235 ; + indicatorOfParameter = 29 ; + } +#Mean convective precipitation rate +'Mean convective precipitation rate' = { + table2Version = 235 ; + indicatorOfParameter = 30 ; + } +#Mean snowfall rate +'Mean snowfall rate' = { + table2Version = 235 ; + indicatorOfParameter = 31 ; + } +#Mean boundary layer dissipation +'Mean boundary layer dissipation' = { + table2Version = 235 ; + indicatorOfParameter = 32 ; + } +#Mean surface sensible heat flux +'Mean surface sensible heat flux' = { + table2Version = 235 ; + indicatorOfParameter = 33 ; + } +#Mean surface latent heat flux +'Mean surface latent heat flux' = { + table2Version = 235 ; + indicatorOfParameter = 34 ; + } +#Mean surface downward short-wave radiation flux +'Mean surface downward short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 35 ; + } +#Mean surface downward long-wave radiation flux +'Mean surface downward long-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 36 ; + } +#Mean surface net short-wave radiation flux +'Mean surface net short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 37 ; + } +#Mean surface net long-wave radiation flux +'Mean surface net long-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 38 ; + } +#Mean top net short-wave radiation flux +'Mean top net short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 39 ; + } +#Mean top net long-wave radiation flux +'Mean top net long-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 40 ; + } +#Mean eastward turbulent surface stress +'Mean eastward turbulent surface stress' = { + table2Version = 235 ; + indicatorOfParameter = 41 ; + } +#Mean northward turbulent surface stress +'Mean northward turbulent surface stress' = { + table2Version = 235 ; + indicatorOfParameter = 42 ; + } +#Mean evaporation rate +'Mean evaporation rate' = { + table2Version = 235 ; + indicatorOfParameter = 43 ; + } +#Sunshine duration fraction +'Sunshine duration fraction' = { + table2Version = 235 ; + indicatorOfParameter = 44 ; + } +#Mean eastward gravity wave surface stress +'Mean eastward gravity wave surface stress' = { + table2Version = 235 ; + indicatorOfParameter = 45 ; + } +#Mean northward gravity wave surface stress +'Mean northward gravity wave surface stress' = { + table2Version = 235 ; + indicatorOfParameter = 46 ; + } +#Mean gravity wave dissipation +'Mean gravity wave dissipation' = { + table2Version = 235 ; + indicatorOfParameter = 47 ; + } +#Mean runoff rate +'Mean runoff rate' = { + table2Version = 235 ; + indicatorOfParameter = 48 ; + } +#Mean top net short-wave radiation flux, clear sky +'Mean top net short-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 49 ; + } +#Mean top net long-wave radiation flux, clear sky +'Mean top net long-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 50 ; + } +#Mean surface net short-wave radiation flux, clear sky +'Mean surface net short-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 51 ; + } +#Mean surface net long-wave radiation flux, clear sky +'Mean surface net long-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 52 ; + } +#Mean top downward short-wave radiation flux +'Mean top downward short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 53 ; + } +#Mean vertically integrated moisture divergence +'Mean vertically integrated moisture divergence' = { + table2Version = 235 ; + indicatorOfParameter = 54 ; + } +#Mean total precipitation rate +'Mean total precipitation rate' = { + table2Version = 235 ; + indicatorOfParameter = 55 ; + } +#Mean convective snowfall rate +'Mean convective snowfall rate' = { + table2Version = 235 ; + indicatorOfParameter = 56 ; + } +#Mean large-scale snowfall rate +'Mean large-scale snowfall rate' = { + table2Version = 235 ; + indicatorOfParameter = 57 ; + } +#Mean surface direct short-wave radiation flux +'Mean surface direct short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 58 ; + } +#Mean surface direct short-wave radiation flux, clear sky +'Mean surface direct short-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 59 ; + } +#Mean surface diffuse short-wave radiation flux +'Mean surface diffuse short-wave radiation flux' = { + table2Version = 235 ; + indicatorOfParameter = 60 ; + } +#Mean surface diffuse short-wave radiation flux, clear sky +'Mean surface diffuse short-wave radiation flux, clear sky' = { + table2Version = 235 ; + indicatorOfParameter = 61 ; + } +#Mean carbon dioxide net ecosystem exchange flux +'Mean carbon dioxide net ecosystem exchange flux' = { + table2Version = 235 ; + indicatorOfParameter = 62 ; + } +#Mean carbon dioxide gross primary production flux +'Mean carbon dioxide gross primary production flux' = { + table2Version = 235 ; + indicatorOfParameter = 63 ; + } +#Mean carbon dioxide ecosystem respiration flux +'Mean carbon dioxide ecosystem respiration flux' = { + table2Version = 235 ; + indicatorOfParameter = 64 ; + } +#Mean rain rate +'Mean rain rate' = { + table2Version = 235 ; + indicatorOfParameter = 65 ; + } +#Mean convective rain rate +'Mean convective rain rate' = { + table2Version = 235 ; + indicatorOfParameter = 66 ; + } +#Mean large-scale rain rate +'Mean large-scale rain rate' = { + table2Version = 235 ; + indicatorOfParameter = 67 ; + } #K index 'K index' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/paramId.def b/definitions/grib1/localConcepts/ecmf/paramId.def index 585a5fbb6..d12fe3a33 100644 --- a/definitions/grib1/localConcepts/ecmf/paramId.def +++ b/definitions/grib1/localConcepts/ecmf/paramId.def @@ -9274,6 +9274,246 @@ table2Version = 230 ; indicatorOfParameter = 251 ; } +#Mean surface runoff rate +'235020' = { + table2Version = 235 ; + indicatorOfParameter = 20 ; + } +#Mean sub-surface runoff rate +'235021' = { + table2Version = 235 ; + indicatorOfParameter = 21 ; + } +#Mean surface photosynthetically active radiation flux, clear sky +'235022' = { + table2Version = 235 ; + indicatorOfParameter = 22 ; + } +#Mean snow evaporation rate +'235023' = { + table2Version = 235 ; + indicatorOfParameter = 23 ; + } +#Mean snowmelt rate +'235024' = { + table2Version = 235 ; + indicatorOfParameter = 24 ; + } +#Mean magnitude of surface stress +'235025' = { + table2Version = 235 ; + indicatorOfParameter = 25 ; + } +#Mean large-scale precipitation fraction +'235026' = { + table2Version = 235 ; + indicatorOfParameter = 26 ; + } +#Mean surface downward UV radiation flux +'235027' = { + table2Version = 235 ; + indicatorOfParameter = 27 ; + } +#Mean surface photosynthetically active radiation flux +'235028' = { + table2Version = 235 ; + indicatorOfParameter = 28 ; + } +#Mean large-scale precipitation rate +'235029' = { + table2Version = 235 ; + indicatorOfParameter = 29 ; + } +#Mean convective precipitation rate +'235030' = { + table2Version = 235 ; + indicatorOfParameter = 30 ; + } +#Mean snowfall rate +'235031' = { + table2Version = 235 ; + indicatorOfParameter = 31 ; + } +#Mean boundary layer dissipation +'235032' = { + table2Version = 235 ; + indicatorOfParameter = 32 ; + } +#Mean surface sensible heat flux +'235033' = { + table2Version = 235 ; + indicatorOfParameter = 33 ; + } +#Mean surface latent heat flux +'235034' = { + table2Version = 235 ; + indicatorOfParameter = 34 ; + } +#Mean surface downward short-wave radiation flux +'235035' = { + table2Version = 235 ; + indicatorOfParameter = 35 ; + } +#Mean surface downward long-wave radiation flux +'235036' = { + table2Version = 235 ; + indicatorOfParameter = 36 ; + } +#Mean surface net short-wave radiation flux +'235037' = { + table2Version = 235 ; + indicatorOfParameter = 37 ; + } +#Mean surface net long-wave radiation flux +'235038' = { + table2Version = 235 ; + indicatorOfParameter = 38 ; + } +#Mean top net short-wave radiation flux +'235039' = { + table2Version = 235 ; + indicatorOfParameter = 39 ; + } +#Mean top net long-wave radiation flux +'235040' = { + table2Version = 235 ; + indicatorOfParameter = 40 ; + } +#Mean eastward turbulent surface stress +'235041' = { + table2Version = 235 ; + indicatorOfParameter = 41 ; + } +#Mean northward turbulent surface stress +'235042' = { + table2Version = 235 ; + indicatorOfParameter = 42 ; + } +#Mean evaporation rate +'235043' = { + table2Version = 235 ; + indicatorOfParameter = 43 ; + } +#Sunshine duration fraction +'235044' = { + table2Version = 235 ; + indicatorOfParameter = 44 ; + } +#Mean eastward gravity wave surface stress +'235045' = { + table2Version = 235 ; + indicatorOfParameter = 45 ; + } +#Mean northward gravity wave surface stress +'235046' = { + table2Version = 235 ; + indicatorOfParameter = 46 ; + } +#Mean gravity wave dissipation +'235047' = { + table2Version = 235 ; + indicatorOfParameter = 47 ; + } +#Mean runoff rate +'235048' = { + table2Version = 235 ; + indicatorOfParameter = 48 ; + } +#Mean top net short-wave radiation flux, clear sky +'235049' = { + table2Version = 235 ; + indicatorOfParameter = 49 ; + } +#Mean top net long-wave radiation flux, clear sky +'235050' = { + table2Version = 235 ; + indicatorOfParameter = 50 ; + } +#Mean surface net short-wave radiation flux, clear sky +'235051' = { + table2Version = 235 ; + indicatorOfParameter = 51 ; + } +#Mean surface net long-wave radiation flux, clear sky +'235052' = { + table2Version = 235 ; + indicatorOfParameter = 52 ; + } +#Mean top downward short-wave radiation flux +'235053' = { + table2Version = 235 ; + indicatorOfParameter = 53 ; + } +#Mean vertically integrated moisture divergence +'235054' = { + table2Version = 235 ; + indicatorOfParameter = 54 ; + } +#Mean total precipitation rate +'235055' = { + table2Version = 235 ; + indicatorOfParameter = 55 ; + } +#Mean convective snowfall rate +'235056' = { + table2Version = 235 ; + indicatorOfParameter = 56 ; + } +#Mean large-scale snowfall rate +'235057' = { + table2Version = 235 ; + indicatorOfParameter = 57 ; + } +#Mean surface direct short-wave radiation flux +'235058' = { + table2Version = 235 ; + indicatorOfParameter = 58 ; + } +#Mean surface direct short-wave radiation flux, clear sky +'235059' = { + table2Version = 235 ; + indicatorOfParameter = 59 ; + } +#Mean surface diffuse short-wave radiation flux +'235060' = { + table2Version = 235 ; + indicatorOfParameter = 60 ; + } +#Mean surface diffuse short-wave radiation flux, clear sky +'235061' = { + table2Version = 235 ; + indicatorOfParameter = 61 ; + } +#Mean carbon dioxide net ecosystem exchange flux +'235062' = { + table2Version = 235 ; + indicatorOfParameter = 62 ; + } +#Mean carbon dioxide gross primary production flux +'235063' = { + table2Version = 235 ; + indicatorOfParameter = 63 ; + } +#Mean carbon dioxide ecosystem respiration flux +'235064' = { + table2Version = 235 ; + indicatorOfParameter = 64 ; + } +#Mean rain rate +'235065' = { + table2Version = 235 ; + indicatorOfParameter = 65 ; + } +#Mean convective rain rate +'235066' = { + table2Version = 235 ; + indicatorOfParameter = 66 ; + } +#Mean large-scale rain rate +'235067' = { + table2Version = 235 ; + indicatorOfParameter = 67 ; + } #K index '260121' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/shortName.def b/definitions/grib1/localConcepts/ecmf/shortName.def index df8049fe5..4bc897a73 100644 --- a/definitions/grib1/localConcepts/ecmf/shortName.def +++ b/definitions/grib1/localConcepts/ecmf/shortName.def @@ -9274,6 +9274,246 @@ table2Version = 230 ; indicatorOfParameter = 251 ; } +#Mean surface runoff rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 20 ; + } +#Mean sub-surface runoff rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 21 ; + } +#Mean surface photosynthetically active radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 22 ; + } +#Mean snow evaporation rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 23 ; + } +#Mean snowmelt rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 24 ; + } +#Mean magnitude of surface stress +'~' = { + table2Version = 235 ; + indicatorOfParameter = 25 ; + } +#Mean large-scale precipitation fraction +'~' = { + table2Version = 235 ; + indicatorOfParameter = 26 ; + } +#Mean surface downward UV radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 27 ; + } +#Mean surface photosynthetically active radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 28 ; + } +#Mean large-scale precipitation rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 29 ; + } +#Mean convective precipitation rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 30 ; + } +#Mean snowfall rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 31 ; + } +#Mean boundary layer dissipation +'~' = { + table2Version = 235 ; + indicatorOfParameter = 32 ; + } +#Mean surface sensible heat flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 33 ; + } +#Mean surface latent heat flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 34 ; + } +#Mean surface downward short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 35 ; + } +#Mean surface downward long-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 36 ; + } +#Mean surface net short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 37 ; + } +#Mean surface net long-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 38 ; + } +#Mean top net short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 39 ; + } +#Mean top net long-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 40 ; + } +#Mean eastward turbulent surface stress +'~' = { + table2Version = 235 ; + indicatorOfParameter = 41 ; + } +#Mean northward turbulent surface stress +'~' = { + table2Version = 235 ; + indicatorOfParameter = 42 ; + } +#Mean evaporation rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 43 ; + } +#Sunshine duration fraction +'~' = { + table2Version = 235 ; + indicatorOfParameter = 44 ; + } +#Mean eastward gravity wave surface stress +'~' = { + table2Version = 235 ; + indicatorOfParameter = 45 ; + } +#Mean northward gravity wave surface stress +'~' = { + table2Version = 235 ; + indicatorOfParameter = 46 ; + } +#Mean gravity wave dissipation +'~' = { + table2Version = 235 ; + indicatorOfParameter = 47 ; + } +#Mean runoff rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 48 ; + } +#Mean top net short-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 49 ; + } +#Mean top net long-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 50 ; + } +#Mean surface net short-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 51 ; + } +#Mean surface net long-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 52 ; + } +#Mean top downward short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 53 ; + } +#Mean vertically integrated moisture divergence +'~' = { + table2Version = 235 ; + indicatorOfParameter = 54 ; + } +#Mean total precipitation rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 55 ; + } +#Mean convective snowfall rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 56 ; + } +#Mean large-scale snowfall rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 57 ; + } +#Mean surface direct short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 58 ; + } +#Mean surface direct short-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 59 ; + } +#Mean surface diffuse short-wave radiation flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 60 ; + } +#Mean surface diffuse short-wave radiation flux, clear sky +'~' = { + table2Version = 235 ; + indicatorOfParameter = 61 ; + } +#Mean carbon dioxide net ecosystem exchange flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 62 ; + } +#Mean carbon dioxide gross primary production flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 63 ; + } +#Mean carbon dioxide ecosystem respiration flux +'~' = { + table2Version = 235 ; + indicatorOfParameter = 64 ; + } +#Mean rain rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 65 ; + } +#Mean convective rain rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 66 ; + } +#Mean large-scale rain rate +'~' = { + table2Version = 235 ; + indicatorOfParameter = 67 ; + } #K index 'kx' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/units.def b/definitions/grib1/localConcepts/ecmf/units.def index 59c15548c..6194632d9 100644 --- a/definitions/grib1/localConcepts/ecmf/units.def +++ b/definitions/grib1/localConcepts/ecmf/units.def @@ -9274,6 +9274,246 @@ table2Version = 230 ; indicatorOfParameter = 251 ; } +#Mean surface runoff rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 20 ; + } +#Mean sub-surface runoff rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 21 ; + } +#Mean surface photosynthetically active radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 22 ; + } +#Mean snow evaporation rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 23 ; + } +#Mean snowmelt rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 24 ; + } +#Mean magnitude of surface stress +'N m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 25 ; + } +#Mean large-scale precipitation fraction +'Proportion' = { + table2Version = 235 ; + indicatorOfParameter = 26 ; + } +#Mean surface downward UV radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 27 ; + } +#Mean surface photosynthetically active radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 28 ; + } +#Mean large-scale precipitation rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 29 ; + } +#Mean convective precipitation rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 30 ; + } +#Mean snowfall rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 31 ; + } +#Mean boundary layer dissipation +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 32 ; + } +#Mean surface sensible heat flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 33 ; + } +#Mean surface latent heat flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 34 ; + } +#Mean surface downward short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 35 ; + } +#Mean surface downward long-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 36 ; + } +#Mean surface net short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 37 ; + } +#Mean surface net long-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 38 ; + } +#Mean top net short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 39 ; + } +#Mean top net long-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 40 ; + } +#Mean eastward turbulent surface stress +'N m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 41 ; + } +#Mean northward turbulent surface stress +'N m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 42 ; + } +#Mean evaporation rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 43 ; + } +#Sunshine duration fraction +'Proportion' = { + table2Version = 235 ; + indicatorOfParameter = 44 ; + } +#Mean eastward gravity wave surface stress +'N m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 45 ; + } +#Mean northward gravity wave surface stress +'N m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 46 ; + } +#Mean gravity wave dissipation +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 47 ; + } +#Mean runoff rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 48 ; + } +#Mean top net short-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 49 ; + } +#Mean top net long-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 50 ; + } +#Mean surface net short-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 51 ; + } +#Mean surface net long-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 52 ; + } +#Mean top downward short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 53 ; + } +#Mean vertically integrated moisture divergence +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 54 ; + } +#Mean total precipitation rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 55 ; + } +#Mean convective snowfall rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 56 ; + } +#Mean large-scale snowfall rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 57 ; + } +#Mean surface direct short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 58 ; + } +#Mean surface direct short-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 59 ; + } +#Mean surface diffuse short-wave radiation flux +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 60 ; + } +#Mean surface diffuse short-wave radiation flux, clear sky +'W m**-2' = { + table2Version = 235 ; + indicatorOfParameter = 61 ; + } +#Mean carbon dioxide net ecosystem exchange flux +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 62 ; + } +#Mean carbon dioxide gross primary production flux +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 63 ; + } +#Mean carbon dioxide ecosystem respiration flux +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 64 ; + } +#Mean rain rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 65 ; + } +#Mean convective rain rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 66 ; + } +#Mean large-scale rain rate +'kg m**-2 s**-1' = { + table2Version = 235 ; + indicatorOfParameter = 67 ; + } #K index 'K' = { table2Version = 228 ; From 066cf45eea82d084b4347a07fc7b402d17a5540b Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 4 Jun 2015 17:49:31 +0100 Subject: [PATCH 5/7] GRIB-764: GRIB1 local table --- definitions/Makefile.am | 1 + definitions/grib1/2.98.235.table | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 definitions/grib1/2.98.235.table diff --git a/definitions/Makefile.am b/definitions/Makefile.am index dd8a254a8..3e2de7e20 100644 --- a/definitions/Makefile.am +++ b/definitions/Makefile.am @@ -7050,6 +7050,7 @@ dist_definitionsgrib1_DATA = \ grib1/2.98.220.table\ grib1/2.98.228.table\ grib1/2.98.230.table\ + grib1/2.98.235.table\ grib1/2.table\ grib1/3.233.table\ grib1/3.82.table\ diff --git a/definitions/grib1/2.98.235.table b/definitions/grib1/2.98.235.table new file mode 100644 index 000000000..e5d790154 --- /dev/null +++ b/definitions/grib1/2.98.235.table @@ -0,0 +1,49 @@ +# This file was automatically generated by ./param.pl +20 20 - Mean surface runoff rate (kg m**-2 s**-1) +21 21 - Mean sub-surface runoff rate (kg m**-2 s**-1) +22 22 - Mean surface photosynthetically active radiation flux, clear sky (W m**-2) +23 23 - Mean snow evaporation rate (kg m**-2 s**-1) +24 24 - Mean snowmelt rate (kg m**-2 s**-1) +25 25 - Mean magnitude of surface stress (N m**-2) +26 26 - Mean large-scale precipitation fraction (Proportion) +27 27 - Mean surface downward UV radiation flux (W m**-2) +28 28 - Mean surface photosynthetically active radiation flux (W m**-2) +29 29 - Mean large-scale precipitation rate (kg m**-2 s**-1) +30 30 - Mean convective precipitation rate (kg m**-2 s**-1) +31 31 - Mean snowfall rate (kg m**-2 s**-1) +32 32 - Mean boundary layer dissipation (W m**-2) +33 33 - Mean surface sensible heat flux (W m**-2) +34 34 - Mean surface latent heat flux (W m**-2) +35 35 - Mean surface downward short-wave radiation flux (W m**-2) +36 36 - Mean surface downward long-wave radiation flux (W m**-2) +37 37 - Mean surface net short-wave radiation flux (W m**-2) +38 38 - Mean surface net long-wave radiation flux (W m**-2) +39 39 - Mean top net short-wave radiation flux (W m**-2) +40 40 - Mean top net long-wave radiation flux (W m**-2) +41 41 - Mean eastward turbulent surface stress (N m**-2) +42 42 - Mean northward turbulent surface stress (N m**-2) +43 43 - Mean evaporation rate (kg m**-2 s**-1) +44 44 - Sunshine duration fraction (Proportion) +45 45 - Mean eastward gravity wave surface stress (N m**-2) +46 46 - Mean northward gravity wave surface stress (N m**-2) +47 47 - Mean gravity wave dissipation (W m**-2) +48 48 - Mean runoff rate (kg m**-2 s**-1) +49 49 - Mean top net short-wave radiation flux, clear sky (W m**-2) +50 50 - Mean top net long-wave radiation flux, clear sky (W m**-2) +51 51 - Mean surface net short-wave radiation flux, clear sky (W m**-2) +52 52 - Mean surface net long-wave radiation flux, clear sky (W m**-2) +53 53 - Mean top downward short-wave radiation flux (W m**-2) +54 54 - Mean vertically integrated moisture divergence (kg m**-2 s**-1) +55 55 - Mean total precipitation rate (kg m**-2 s**-1) +56 56 - Mean convective snowfall rate (kg m**-2 s**-1) +57 57 - Mean large-scale snowfall rate (kg m**-2 s**-1) +58 58 - Mean surface direct short-wave radiation flux (W m**-2) +59 59 - Mean surface direct short-wave radiation flux, clear sky (W m**-2) +60 60 - Mean surface diffuse short-wave radiation flux (W m**-2) +61 61 - Mean surface diffuse short-wave radiation flux, clear sky (W m**-2) +62 62 - Mean carbon dioxide net ecosystem exchange flux (kg m**-2 s**-1) +63 63 - Mean carbon dioxide gross primary production flux (kg m**-2 s**-1) +64 64 - Mean carbon dioxide ecosystem respiration flux (kg m**-2 s**-1) +65 65 - Mean rain rate (kg m**-2 s**-1) +66 66 - Mean convective rain rate (kg m**-2 s**-1) +67 67 - Mean large-scale rain rate (kg m**-2 s**-1) From 92d7990367fc0d5c4a0b213e1d54a1cb3351a220 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 8 Jun 2015 11:16:55 +0100 Subject: [PATCH 6/7] GRIB samples for rotated gaussian grids --- samples/reduced_rotated_gg_ml_grib1.tmpl | Bin 0 -> 982 bytes samples/reduced_rotated_gg_ml_grib2.tmpl | Bin 0 -> 1055 bytes samples/reduced_rotated_gg_pl_1024_grib1.tmpl | Bin 0 -> 4214 bytes samples/reduced_rotated_gg_pl_1024_grib2.tmpl | Bin 0 -> 4304 bytes samples/reduced_rotated_gg_pl_1280_grib1.tmpl | Bin 0 -> 5238 bytes samples/reduced_rotated_gg_pl_1280_grib2.tmpl | Bin 0 -> 5328 bytes samples/reduced_rotated_gg_pl_128_grib1.tmpl | Bin 0 -> 630 bytes samples/reduced_rotated_gg_pl_128_grib2.tmpl | Bin 0 -> 720 bytes samples/reduced_rotated_gg_pl_160_grib1.tmpl | Bin 0 -> 758 bytes samples/reduced_rotated_gg_pl_160_grib2.tmpl | Bin 0 -> 848 bytes samples/reduced_rotated_gg_pl_2000_grib1.tmpl | Bin 0 -> 8118 bytes samples/reduced_rotated_gg_pl_2000_grib2.tmpl | Bin 0 -> 8208 bytes samples/reduced_rotated_gg_pl_200_grib1.tmpl | Bin 0 -> 918 bytes samples/reduced_rotated_gg_pl_200_grib2.tmpl | Bin 0 -> 1008 bytes samples/reduced_rotated_gg_pl_256_grib1.tmpl | Bin 0 -> 1142 bytes samples/reduced_rotated_gg_pl_256_grib2.tmpl | Bin 0 -> 1232 bytes samples/reduced_rotated_gg_pl_320_grib1.tmpl | Bin 0 -> 1398 bytes samples/reduced_rotated_gg_pl_320_grib2.tmpl | Bin 0 -> 1488 bytes samples/reduced_rotated_gg_pl_32_grib1.tmpl | Bin 0 -> 246 bytes samples/reduced_rotated_gg_pl_32_grib2.tmpl | Bin 0 -> 336 bytes samples/reduced_rotated_gg_pl_400_grib1.tmpl | Bin 0 -> 1718 bytes samples/reduced_rotated_gg_pl_400_grib2.tmpl | Bin 0 -> 1808 bytes samples/reduced_rotated_gg_pl_48_grib1.tmpl | Bin 0 -> 310 bytes samples/reduced_rotated_gg_pl_48_grib2.tmpl | Bin 0 -> 400 bytes samples/reduced_rotated_gg_pl_512_grib1.tmpl | Bin 0 -> 2166 bytes samples/reduced_rotated_gg_pl_512_grib2.tmpl | Bin 0 -> 2256 bytes samples/reduced_rotated_gg_pl_640_grib1.tmpl | Bin 0 -> 2678 bytes samples/reduced_rotated_gg_pl_640_grib2.tmpl | Bin 0 -> 2768 bytes samples/reduced_rotated_gg_pl_80_grib1.tmpl | Bin 0 -> 438 bytes samples/reduced_rotated_gg_pl_80_grib2.tmpl | Bin 0 -> 528 bytes samples/reduced_rotated_gg_pl_96_grib1.tmpl | Bin 0 -> 502 bytes samples/reduced_rotated_gg_pl_96_grib2.tmpl | Bin 0 -> 592 bytes samples/reduced_rotated_gg_pl_grib1.tmpl | Bin 0 -> 246 bytes samples/reduced_rotated_gg_pl_grib2.tmpl | Bin 0 -> 319 bytes samples/reduced_rotated_gg_sfc_grib1.tmpl | Bin 0 -> 246 bytes samples/reduced_rotated_gg_sfc_grib2.tmpl | Bin 0 -> 319 bytes samples/reduced_rotated_gg_sfc_jpeg_grib2.tmpl | Bin 0 -> 508 bytes samples/rotated_gg_ml_grib1.tmpl | Bin 0 -> 854 bytes samples/rotated_gg_ml_grib2.tmpl | Bin 0 -> 927 bytes samples/rotated_gg_pl_grib1.tmpl | Bin 0 -> 118 bytes samples/rotated_gg_pl_grib2.tmpl | Bin 0 -> 191 bytes samples/rotated_gg_sfc_grib1.tmpl | Bin 0 -> 118 bytes samples/rotated_gg_sfc_grib2.tmpl | Bin 0 -> 191 bytes src/grib_api.h | 4 ++-- src/grib_util.c | 11 ++++++++++- 45 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 samples/reduced_rotated_gg_ml_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_ml_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_1024_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_1024_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_1280_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_1280_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_128_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_128_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_160_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_160_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_2000_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_2000_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_200_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_200_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_256_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_256_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_320_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_320_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_32_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_32_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_400_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_400_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_48_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_48_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_512_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_512_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_640_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_640_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_80_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_80_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_96_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_96_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_pl_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_pl_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_sfc_grib1.tmpl create mode 100644 samples/reduced_rotated_gg_sfc_grib2.tmpl create mode 100644 samples/reduced_rotated_gg_sfc_jpeg_grib2.tmpl create mode 100644 samples/rotated_gg_ml_grib1.tmpl create mode 100644 samples/rotated_gg_ml_grib2.tmpl create mode 100644 samples/rotated_gg_pl_grib1.tmpl create mode 100644 samples/rotated_gg_pl_grib2.tmpl create mode 100644 samples/rotated_gg_sfc_grib1.tmpl create mode 100644 samples/rotated_gg_sfc_grib2.tmpl diff --git a/samples/reduced_rotated_gg_ml_grib1.tmpl b/samples/reduced_rotated_gg_ml_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..1e59eef7e5048bdf9e6d3b342a90e7c6156b75ea GIT binary patch literal 982 zcmc&xX-Je&6n)cZ8kwoh*l2?~?u|<`>NMjv-<|JWmvI|YQc|-LwM^5{iripIq0%HJ zkqAoBLaYRfRx1kwwN29^5i&y2aETgZ8hg-)oQW>VCe%0hKsu}*zU7Rgu^ z#WOZzp^OXf1LGSw%!HU%F-arE%wd@WQ=4{`xjW^?jHV+-PGIY_#S z!OgW9yaX}eTlX3QZtej#e=|fp7D9YQJfz&yL8gxu@`glEc)k_NGNYl&GY#s7OQ9iC z3N5#d;6_Ie+%GVOC!K5H`NaenSnP+P!BO}iS%9%O8(?zE6Fz4ig4qxk_%07&u*GmsE}#Kg#;$@U);03{uO zm;ofiYP0b>h|SOnWQcm%uK@`Hxe6dL1Q216W>8_!V9;eSVz2?~_F(X42w;c;!UTpC zh8!TQ0K*0b(jY_^NPh~@B#?OlK$AUyHrN1d(goV60<>9#fq|Kcg<%KSJ^vek6eEb4 z2_nG006Q7vsTB@&N543{NxtIf*HPuT+F!tl{rny$zdtQbGeU1T-OP(~7WS+{l}Hxsn%8b zT!O0=%Qe@)XBS+vi)_To zYl2&!oPgUT%MWf-A4<5*Wan_3J%5JV+hfCQ#*8URUum=bIARtU8*~OV>rrxti^(wLC+;_rqlDUT!|G@&QX0cCJ z_rA@uHZ}0J?!Gj``n;BbjR<>#jnDfMn=V-?o2^H_*}O_{uoX#KZENvb-8R|clWpf+ z0o$c{6Ks!kT(Etf*kQ*m`NmFW)*L&NKnpv+Xdk<*i!F97PlD{GHfY%`7g=VvvuK{( znUqO(_cs~XeKw7XJZ59R#tX%AOHaRg+W39 literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_1024_grib1.tmpl b/samples/reduced_rotated_gg_pl_1024_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..3bf123e1b1398fc3b8ee8abe216ab9489f8aada9 GIT binary patch literal 4214 zcmeI#KWGzS7{~G7dv|Fr=`}eD4h4rBORX4-#SRuuhpLngS_kRUAT4xosEc)Jd6hzy zI&^927$}Hi5eGLzaVXLuI9YJ04y7(4*r`i=-n+c_CzngEaHSyL2QInGks(~}eZIHv z-@OI%DFd$YN3ZJq#f*BC&lv{jjMy%?FW#OpMPsE>>8dzm4&YLuUf0250tZ zQN6B-gV5HCK3M3-Wenj4Y}_H^xQ8i}$z$@2ERq$hVFMNN-cdyryZB1Jli%bIP8e8$ zSdKw9$ZW?P^DVFi#>pC4XWI=sOgQiyvSW6vfLv^_72iX}^+a)Tg)1+WEl*7e+E;$L zR1hm*KrKfstG=q*Y){=&k0cEZBU-arEr@H&dL@(r3M;99k&nl32<~pK@*F5yQ&+ zUgs0*wo^6J9rmF+0RtTk8*#YN*;^x`=SoU=&nXnlGcsCe=S?9+MWm)wOs-NqZ(oWj zGV$NP^b4eUZ_sz0_q|>@#Xqx@+VcQuKBwrr+C39T&*({Po@PCuYg1Z>qAMJo>AW)X z*mZTdq+K!y2hRMTXldPC=;-P+;jr7%sY%kej^eWn{x!0&*OpsUnxZ#ld&(BI1AQu+mHJh5EIahN_Q2`f9j|-Woet*I!=j7*N}g+! zvuJ3`A-Wnkp~@DmEt*@j_bydY9=^!Doc*^Kt9i%Q13}LW_NaWM;H;J`GDi@jH@i`y#IHu z-@bXZS_Ox*85P>~Fx&$)F#Ss=n{^N16bB<*WrafFB4A7?!1$R@oZ(!m8s31k^ONF; zcK6z*^WX`6)AMlWwRjRxYcDN#-ROmhKAguOF2lkNGKO22M3LMlkH}-Ph-IvzMBX~e zC}Rts$v5(w{J|mpxjAAw2G{_z95c)}$L5$#mdOg+sM%z~o@bvOumetS5kFmHao-*8 zdca*axA`-^?y2ygUH;3ZfS3XON-<=rhBg{f(pq_=3191_5MZU6nMeucIP`RcaXpHy*IU!2iXQe;cckgFTr-=FXDKax zOgEK56U9s%^BL(wriBhfFgtuNI%4az5;fIX?_FmMS+q5jjbdlpdzB68x{wgN>j-kj zF&W9V@-mm8JQ7pL$5+aqw4Ho{4E*;my#q;pHt4lZ`m55IJK{THn=~+2jF2$TiXTA9q?nFyp!_#iXn}ydJrer&Eo*s{wz|(Q& zcRI(N_M3Hp6(|MNR|GwB>!MYEltR5SN)=;xO#{Dl=sUN5f<3h1b&_4zPt&2k8kX%P zTa5Oi%^G{H9H_a4Q0oZ8}6(1BX=EqP0bHi}v243NP1+yhLrjN|nCo z^t$MF(eFhvNku>Aw7o@@KS;ITN7dhpZUATHErIHDdPKhhn4h(f#0j*eQsR)NU!v_V2!xPR literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_1280_grib1.tmpl b/samples/reduced_rotated_gg_pl_1280_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..97099bc78562b785383f36a5a663986def172f5b GIT binary patch literal 5238 zcmeI$KS&#K6u|NKyStc6Jd-n~1;OD)v6iM%sY8Wp5!>R_+Cj1yih@H2U1}HQT7;&w zLxv8HfkNpRq(e6k=}?M8=v1MDb`ZOi4o*@?-|u&SllxsR#(;r(A27*zDg?~E_r3e@ z{vF6ZB>*>!$FFL}iv{s0nNSqKGxWG*J-A;95hRk!<*w5+*%7#ss@0M}=JWLR^Z9&i z?W9(V(HC_`1_nWcVYmuoa0_&}hi2dbj59Vhv!ibWk!q3A!g%YjJV%s+)|AP{faX(*p}tiyp}CrWsU@J6cSO^6OPY`5J}+D zlAbromh|c!u+Z!I)Ehy8CdQQ@Luu}V;?sAnO-5g&lzJwUsi60%Q%OV1a%rA&x?SJW zTq=avSI{{PH@Vtb!D_*32bIcj$7 zUICrFhvDyvxM!Z<-5mdN$c(|CNbqdCGftU1Gv!*Ix!`ou99|uq2q(`pW2(_pEMC#( zjO?GY@p<#9+~7>|<4q=ih}s+Q``(tZ(1EQ*Z*4=utGumBe0cDz})GaI41^=!yCE=OUxCo6_B0HAMRr?O5c{?OOX- zxpv&~bYUJKdUH?P$L% hpgb168P@i6tbAiw`-ZXl4dUViiVSdD1w3xz@ej=En+X5_ literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_1280_grib2.tmpl b/samples/reduced_rotated_gg_pl_1280_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..5e77aab32f110038446c41c6d409fc63d9a32f15 GIT binary patch literal 5328 zcmeI$KS/{~G7dw0ntF(xr;i{KDCS+O(~qz;uHMQn>*S{+0>greZkL7||Fas}I_ zw1Yzj$3UTU4AP;SK{^z12%T!_pdF-LN(Uz?*ynxkPcFGjF2;a?dLKy6+{H*Fx%c_r zesK5J@i8Qbt*c0P-3*U_0GRqM9E}?{lNnz=9`WnzRDFaWp2PKBf!DIIZM8q@s zk-)>Hd*X*@wA20M;uL?7ze4$zL=RHv!xaqT1~l9uxU}{lPJo5(d}+(}YnrXIo^P&enuHvuv>~wr4wFhwMX_941GAu|2 zUE;FRTT@YT+Ld;t-<%8~C0qLCjLWKAQjja{$UE{+ivrWIQfXFk(iKBqDYvO?DnCjB z^zShx0^C@IT%eYX0QcP~2nQ|bWirSW{HdWTCe&(l)oEQd6jirhst|%{K2)DqA;Wga zLl_=1VLvNj%cpP^5&EQgNJUCsN9xk1HNi|<$;UPyQPeOLbY*l}g4e89bzAl_Qe+T}* zccAq@nVs3jzIEtXt@=G$Xxg;`&Af)u@AA23p54`)Ub)H|!+S+Sk2bo-$$74s(si%7 zaI)1Lo$X!`j+|qB$L}m(9$2 z)!BNY$}}GGpXBKbW9s+n0h*&2z}XULpZA50nhhdXQ7pzp$4J;+1EtzQd%S;?7m>VK zO7yaRGVAIq!&ZB-S`6LuHdEPa3XYny>S{e1x!-O-qn?NR00vYS`ltYErmVvBYon`5J9IpYm2CBzs&ea$Rw z`=Yz?{#Gz+T#mZj8sVL8*{pWF-(|=&6}@rM_B5(|gH-$asQUHL-~?P!=!S2{FX@I} j1el@w=Q$n>c``(IfJaB*rVi*~egbX5AU_mPuhaGq)Fi)X literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_128_grib1.tmpl b/samples/reduced_rotated_gg_pl_128_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..de382055eaad9a2c6e73ac6d16876fb40a08b189 GIT binary patch literal 630 zcmchVu}Z^G6o&s36|96J1&3}94n-@(BDgq2DX3d<6uL+Uht5V2;nvNqOFR1r9ejY$ zsgK~;F5>9m)aCl0o7<4k-Sa_`d*O1=`M+G<-drMh6yVg{zghFz+xXt8gdw=2wU@o} zr%13VQ52o%PH>2$s2L^6yR8G1%CDKV85b6Mw0l;0u&{)gh7 z{LVUA?{J>?KP}BQkx@Rg&cDi{oKQQ@PIJr>)ocOg>=R#j12fu4y%}{hcD@YFslPr= cs?Uyd8`E-&wi~owM-2$KP32-&e~B~JAO9MMTL1t6 literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_128_grib2.tmpl b/samples/reduced_rotated_gg_pl_128_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..3739f85b3c44f40e089bae14a6b3f1451cd5afda GIT binary patch literal 720 zcmchVu}i~17{%Xrwkd@oSP0lnM5IE6*u_P#NI~6-=wdhNAX;$LMaZJy)}@{MCv@-+ zD4jYwic`BdJ2-WT@4j3^Lw4^6xyyYy^4)vy^y2&^ieR9_d~oswH$Waz_$ro4aRD0! zLQGDAAUFWbXv%GhM~Mj~l%At6qZAWa zGLtOdV)1vD&;~{$<1?0R T4>%4PpQ8KP^K6>(g+q=%vlpm` literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_160_grib1.tmpl b/samples/reduced_rotated_gg_pl_160_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..19ac6cdc537bf04a1c709947a6e1f9f1b74f9b47 GIT binary patch literal 758 zcmdUtF-yZx6ot=yDp(0c3J!%14h{t?#3HyjL@B6SaVkPV#KEDv4i=s+#jQ&_cXsOF z4+x$56C7(NM?rDu63=~!Aw>Ux_k%p%gYc4bzT>mgBbYA%_Uz?jWFM}U-qs492cGC` z#7p`VG0Won{;r;wCu|p^NCIikb${QUuiWtfBi&`Egfg~J#SZE?K!6j{#5uV@2e+gP ziyrzI^5qep9U($Y@j_n7JNdvuAVsq2s7Z~t$28MgIF+fBa>TOQNFr{A9&7o8c@;c9Ld2mO;{hb`iId?WvLWr(MRaYQMmO zZENS+y*ei>Ojhdk`VL@TGaM?{MzEO+mJ1M1x9S_`^m)r3bH@j_^Z25RTo~EKcqpNa4OFp> z2KM0Lh_rA<&e6dw>B2`3eGIvEgeS`c6U^{NKFBBe!h%;_A#0YJ)WnNu%2k3JQGC+3 z3}hTLm5{k4`IZR7mYGTl&n(k6X?*j)NZ-Hx$6tD>PE@o%zrEs|?BP7>>@@E6SO!r7 znnjpOGN)#opJo}Rs`&y7rmdN4_UgclHcTQj)R7@=>Cu|5^`}FV)Tfqp%cErt+E%4? qWt0G{XE|sE4;*+raLM_8q{3QdT}Pz{_I79o&!E82^qNW$f`-jsD z?$xGj){`Oclv@O%5Q9EA2Lo^!T}PvE6DA>n?xFj<6?lv`&=#c7Yf&1AJ@~>qf}iLY zoKipqQH(l^Sl%3!vrH{h9JRsQq;^CfDB@6bO#LQkKwTo1mfWEQOSFKai6s3(l%bUl z=pONeocM;ztZjgoD#E44DZD!ZK z>;9@#2MTPRp4)Xq+KR_(V8Wx1^C)e51R0OocMs1CqD8N@b+6=;SHlMy37@%DpX8%Y zmmhS*{F0}BOZ99CX6kd^)|&``fx&AY6lqV7Oqz!F(@+HiW=JJfxNi z+4DK15(bUKu)`W#bv$bv`0+j;YG&gmUYORk;UUCF&llCOuGf5Rz;a=ya zS!vrdG$?F3hiB`|_?(_2;`eE$mFjsWzPC3CO=)JRaf_)d*qPnpIr$Uc;euzzVY3-D z9xG^~t(=A9YonPtrIUeS5Zo)Zl2wbU zlF)P*(AFBO?{{!bf#a%7~?DJFh=+29;{UplW%odKexT%9&nMV-?j6 zlsyh#lSXIO@KUPcH^O(ou-pYfYK8bL)I()Y+>tvYm)9R>HGOhOD3?;l#Anhq)vYtF zD4}bbPMTo)<&GK?%Bs{^>4UufnvuI~lJB&fSZ$ZYihD=yx~$xKvHJ=Im^zl5uuzDl zUc4z5WDaZcvZ5}}iN%?;=NR9i0Zy?>lQw-Mmg+seTc_oYox-NQ#rJK}xmU#MP5O5N gO=1xr<=Z%E>ivF{(ho3veY2xLv~SAC2hS&Hw-a literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_2000_grib2.tmpl b/samples/reduced_rotated_gg_pl_2000_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..0cb0be23245ec07314a8a9228a81189d82faa890 GIT binary patch literal 8208 zcmeI%O-K}B7{KvoW_EUVb#>R(Ro9OkI++x0f+UnQbg)7XmK{VwmQaxBpb!{>G6$;- zJ9tp>xDiB0kq$wJmg*oOv~~uCV0%V0WFFU1boR_xWGC zcID#U9?&3dd<36j6x;-0f#N;|Lm~M9)X+d7+D9c4i8BCgiwscb-iK%kPWboC8$dWs z-b#+JH{Se~KIR_2h~1g)COZMRth7^mh(a8AXopkK3Fpye)CX5#7?S8Vx+|H12WSB; zLmE9-WPn(QkCJWpfqud+{@B%sr%ob4GEVKAqNXU3T97PJtBThYv8C9dei1ZYCb~r- z(5fL?Hc87wnn=-46j@qtlm0GaK*BSs4kl?b$Lz~6MjOlq^Ht>oNw?2v%%>;%RI5I{ zS3cs4ip5_5MT8}K4brTWHFk~ttmg+E!EfcdpUAl30yYLYYa*w&!pX9n(Kk*K0L4VW z-F!gxE?^P_lVs4@Y*6(!XsH4$@D-{@6|O3U0*qGfdr|2i1U9-tMqAZ+l z4yq%0>#5H5wAzC(xJZPJ(qV5tgbgBKvK1+^ntBV1HF=4GXPId6{Eb?wO&v@f1zt%Wah(=7#R z?Jp@>W-{Z0#^s=VJbBel>bzU{&(SlaxrJfn!=a+Ei zVK-;N{dvx84mKI8O<7NxaBuOZSsBkWG{|o{hi6;N_=-J8#LqKLD~tT3YE@xIvP0&?0(DyieO&Xn3!%G{AU$4{wBU%>(wH4yCTo3gCp6Q4=fG`7x+u7u8+I%$&W&^jtFmsPd1(wjN`HLG>ml+i0J~VFNt@nQO7*(b ztutE3PGi$vmijj7+%rn`CjC2!hOvnENo|}o@=mPf?O4s@7*zm{`|yEmdk^t}BCkgA g`F@%Ncaq#8#*%0ca6tqRgX9F<{C;wX<<8>v527RiTmS$7 literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_200_grib1.tmpl b/samples/reduced_rotated_gg_pl_200_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..cd92ddffa55495b70804b6a3087bfcda97622e2a GIT binary patch literal 918 zcmdUuJx{_=6o%h(tBDvw42c5?1A_yJm{ejSgF|)kYr=^*5Mme@*l`eZb)jxd%qIK+ z27f@q#K@={F2u>0=)_XbX`!}Net_pm+MGKyJ?DMy@x|#8j2;1d`s%^e_jTiKJ&{a; zPoy^eSMVfKD`cAHuACTW*iN}Fb*WmC{;pbDy}5N=jHC-!8X0UMj~x_o01GF~Im)<1 z4RthejW#qo=%R;5=E=i>!=HL)UYQT(6Egy(n4Cv}3S`Y`&<`yVH2;~;fEEl%n1q

#kZiyw;|8BB7-!LT+@le4RGyqeFL+OzKH+; literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_200_grib2.tmpl b/samples/reduced_rotated_gg_pl_200_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..0ece89d344f712f8b1c5253418be48800b20dd5f GIT binary patch literal 1008 zcmdUuze@sP7{|Zwd;Y+XAi+U!kZ3S4Fqf8~qlSuFY?3C41_x;hY!PlLZF6#J5c~%m z`UAwt(XpBg!ZC!JT(0kPr{KF{&R>7i{y!wF-|OI+a!2ttM5 zBGIV3fDH{rbUo7Xoc;Ny&QmQ$fvRrEUY~_+uZXeesi9cNlx^gNpFZD zfi0x5gB8unNv#Y zmx>ZB)tJ&zGkQuG&M{Kof@Y#f(!dXv$Iczhl^*^$0d9^4kRLS(}mvk%YR#%PYDn4`^=y^_bJWnjgo64L?CC@K$ z&9zSa117XloD?_3(LQbMPR$jEo3yz`tE;rTOv{V3Jx}Y!eUn{~V>hJP6$!)uYz8<; l*pD2zJ@^UKLrWUUX{mTnni4p$04pLdFhU{ewqSUV@dHw4;y(ZY literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_256_grib1.tmpl b/samples/reduced_rotated_gg_pl_256_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..7a57cfd137acb4aafad2c63d2f16578c81730b38 GIT binary patch literal 1142 zcmdUuu}cC`9LK-!y$do#LTCsaZj{TwBxq^4La1o6NgCt`hX&_tD7aG4HYaDnf54$X z;BazqaLi2?af+ZOm+SY=yX!pUsIlJ%?(u%d8{YeUKWA4Lr%>(~aA@AV*yeLt%(r6k zIH)6QXSw)a#<;?=+3bPrC>r(>w#~sxHMxH()ixd`w(XvkEw_@`g^D!xk;5@`oD-KQ z;2H+XsNkM>L<23f(IH+PELa%e&0&fU;u8x7mLODz49hUxA3`wODcsTD0C1Uf>SLOqKk`Q5J5#8Dh}!tq=Q32H(i7bYU|dibHP90 zAkM+bp+iS?s*5;@pp#4ezH1WGSb~mz59GpKIC6LIb1R!`OT8W>bQv9L@&bE+2{H1R z&E@(77?Ti$G=y#2vw*Rs=$rDP6qwHReini$dBohYH}o`T^pZbl-*6{rw!s?51S}LV zgE=g~!78ziGIrsjf+~)Q6V%W^6D{Ieln*WUcVb!wgW%nMmfO6HC#htS3_D zMfux~rP7JAI?37Xr&v5kx$f$m-$uE=3QS-p*p0X=%Yi}cQr{}}3-~14*tw^`z&osRkGM6o6BT1yX}zWb7Xsgte?O*fGL9>T)hi===-5U?RkqY48Agu WH~G>57CperQU_Ni!$aoCJk=Mq%pL~- literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_320_grib1.tmpl b/samples/reduced_rotated_gg_pl_320_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..e324fedc8cad7d4e6eff51604780efc814bbf318 GIT binary patch literal 1398 zcmeH{F-rq67>3_3xq_8aL~sx~bPz1HLKQ&=hf@Rr~%{)J?~|){_6%bbW5{6=)0l^g6=n@3 zY@mu7wz0?T;}~bm1sb>t@Zh0^`+z6B1#}3MX0ibVDv%qnL|YcSv`dOPW6r5*xFyYF z#528X1ei>OE4q|Lh!Qp@;zV2;?nFNi;x$CVkdfY4=-8&Apvt%QqY?s-sx<`C(r9k>Cv}Y zu5!xrR_e2#UHI&Vc=*zryQovTUv}S=X<^xFrW^G&qx%~+nVzF=KL%aDjkR+!EE$7nmt+I9Ux1D=&XX}vi*4i?Gd0*!+EvGFE$yytwpf*IR${AZx4CS&X|`RC Stv8BcAT^+p3q#$3l78p literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_320_grib2.tmpl b/samples/reduced_rotated_gg_pl_320_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..d2ff5559b056bac18f333235a8eaa5cb1c77ce00 GIT binary patch literal 1488 zcmeH{y-QnB9ERU>&b_gM6dK4NIE2!{1_P;!4h1hov89v6K^!EA0S5;+U4%2lk8Un@ z4)h<$(A`U>3=SE!OU)vkN(U#G^!=S&uP0yTALx0=$;~<3OE~v^pVcp)K6EqlbpyOuv0CA6rZYGIZRJ+k2{(1oJ?5Afx&2>T zvIwZiEv8cz(|Chf6fuwYi13ko#u_$J#t!yyNRDudbMg%}{BXpG(Zsc*jlYfu{?(Tx z@0e3_Dsn8VU5^8Gpe#8j7pk7nP{M7>ow^q^k4Vp?MEZ#h-NkC3GkvDNC$w}wH~LQ( zgM_?!qF@T9Jd~>GB{rkEGFRqzF9AFjgV9ui(b%A$dN7{Lz$0Y5{xkjr{4?YA_*1SA zyc_$>o2)#OfJHAU=uHuSNw!8OFYZfeb!e8$OnJdeeg3fvkKNEW1HEabosxd}eX~gm zH@s#>XnEVxT5%6enh? z(Nf~7Q(8;hwMUDUX|pw2P23jIa`Uv^EUh<+Cl3z;Py_@-ArzcsWMpDtG%zqQ1dFU<(B}L9 zpTU7K+ycaJ47Xq{b^!_~fMt;g5e8`n6$T9kT?Qit8wLjk4+d|B0EQ?aOkhZ1$N|C% uFl=BT4MKE*^rrw#0+|;8G}!}agALFoU7(FBK$}Gv7X7|lqe%Z5(5J(10(w_P97eJ1cM+G10xVJu`n7K7#IQtuP_4% z@kdOI44Q2JF#%B00f-quGORWmzk}Eetw4sTm;D-$Adss75<>tH25ANr1`P&X1|tR= zpl%NaZ-xMdC?HH=NMXnU!U`~KU?2@bbb<7z08Ij!7XUQb189Q{&?a4=jVeH!MSu=b tVu8Bme<#p|j37=50|R5*0+55jP8MYac^aasffK5ljSb`*R(5kB007xyP*?x} literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_400_grib1.tmpl b/samples/reduced_rotated_gg_pl_400_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..51ae3cbeb5f8690e9e7a2bd3245c31a29402f9dc GIT binary patch literal 1718 zcmeIzu}d3a7{~G7^S*bXmJou_L2$TH(iBoD)S*LK#41iYNe3HB1S#(6BD^gQ>6RtV z0sny@rE5c`4jCK`I3ys!NgOg|xjyfE*Z1DEhX>NJ?+23HWxIQy@B4Ol>kV?>33#DC zd=1r?y1aS3kk5nf==CJ}vY$l4qe`XnT;Iuk#M43;%7FH-_4VidYybFt7*b1LxoZ(i z2(W@@Sj8*0$+oeBcc`I`BYa}VP-wAJbl5l6V?Ws?8{^KHVMd?=1xA_5R5jM=(9xg< zDQX#Q>c;w{jjRbxX)3^$t*S`uiHH)erZ}@Mgli~<;x-~-1Ts;QwG=1P)syK4av*OK z9;`Jl&4KqP@M zB#5f=yD?mw;aq<%Y?sbNbFNt`F4>+_x2kR4vTmSmAx&%>N2Zm1+s<}eQ^jR%IHf(L z^|-*g#eq@a!-G2=7kg~_tvlXhy6YWwYFe+j`nvr`d4`{U5v;@_Rhsj?*>!f#EO!troe$=go!#4I_Py_a@Z{0`!2k+w zRBHTFCp-lVsPbi^TFn-4O@SB{QKQkg1H^ANQ2q8@5pKnU%LCAf+$t+({oPIXH?R1h z{`|vrISEk5o%GWbrjcM4x3PdF<{|SKt5`=1&#;9T%u85wm_4M-d#1;HVm>pc_~p33 z1;6YhC60NTr>0|>HUrw!CQBX1E_HJbNjUMG(K($f-XJyOX{v%Xm0?xLj@tJetB}6x ztDhMfjzkyC=~fBbI;5w|Inqb^M?nP7VpPUP^fxvt=tgCHj2wo`V1~<|bPU?AG+o zn-K?!3+c?e@x;0E(7SUtx2a{bwgb~{(sFKKadG09B!E4g8~fDxTRh%l#Oo=u=Ui{u z`r`gAPJtGu!78VMWP@bH0;k0+r^Ym<0NjXpk}-J06F&fa3+Qz!fg_QFx{=TV?peT2 O$OSy&Se8uXE|1@?B9hVo literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_48_grib1.tmpl b/samples/reduced_rotated_gg_pl_48_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..39abf6caf0e5bc52b1a197bcc7d4c7840b70afbe GIT binary patch literal 310 zcmZ<{@^oTgG-G67Flk8Y{NK=&!u*1ZlZS@^C;|ea5DHE*GBU9+8W-LkdFpOA>%C3IMvy1MEg4pldaNu9jpF RVPN3lXy9}d0Qtro2mqFQM??Ss literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_48_grib2.tmpl b/samples/reduced_rotated_gg_pl_48_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..9ecfa6396b288eab3986338500b115e66b0ab5a2 GIT binary patch literal 400 zcmZ<{@^t$DpMi-13>YT>DN#m-BnAdn21fQgh7%)g+YTsm%)g^ z1_(VEycq%*qJZY4Fyt^)fMEkeJHrGZTmXk#7+~-K17#3q&K9`Y3&3`@Gc-VL&jGq5 z0qCLtpvyeKZZrbARs-m2Nd^(1Ka^OYp84MiWH5p_DL}ey0m#E(FN?B*0*!&ezJYL2$?@sfAPub?9(*uq{rl9mK^@6dasum%!5^Xtzw_ z81NqmrF#!22ZxLebg+xqr4;Jqa{Yeq$8*W$(fn}iy&xe+T+BV6_lq~Lp2K@DfG6tR z=TLpxvaX6#r4r~4Uk~Cp{VIgCMXgqQ%y+yh9!`g$4Y66|&mT97PNNxyl0WoaGnhpM z^LT_sJR>j3Dqdp)b+UzBd_V&V2Wa95E%G%IAix>Elb_@d`HLF?F-q-lL}pLy z2}PQbwuqeycA;I0YjG_><}_bs)+JMY4&{l~k-fUID}OT!k&2b6T6KecD-&2I=hnG( zm9mjovIlM3dCE?;?YwU`ad4}$!&Z!1&M3Y(u^-NW0&@Jq-QE^rL1AL9H-y-OTH7>9o|`zc5;Ay)_%M<8Itz{MsO2`(v2f>ol0Xmf-J7FKBt1YruJrn3^u z1^%v0>g>@dsjyuW9jzI^_q)q;d> zZb*lUz$?IlaJ~)=4@VuiDIo}HidwDq0B{!!;P&57QsAE5DmK8>Be};~etcJ7yr+}O zn|I566Um(M1i&qfqKa|c#}pnB&xkp^z!K`jYpmfdHlVPLUF^XpK57C4IK~&^JMo+N zgA01u8$?wzDZH3fk+Ck;g(7w}4H0o9nA4OqaW2j!y{sHd@npuLWK;(`@*pLY?KEXm z{$dPhsz%0yQ7>WB$Ow!wPK*=dM}kS;T{CSKSuyh{GofMT`D_vvE@i}GW=rv{UO2QO zzF7rq{;^P0N`xl}ouJ;$h(to?(!>UjN zthV_+RJ)zHYK_O7l_FIUkhRz2NGGNG6J@Jq92R_D^lrMU&pH6ovPjWi2YAtzT# z(sVk>+9Z4F$XQ&L(Lq~^ZXrk!)8QSZU9{L{Cogr@ z7(0wzCeBi~ood$|#pY|oCRF4^c4KDB)zqJpu~FHrzy+C>eaqfu{~nWxgV@SG`FW2_ zy-mj6Aak#g!Ry2l8GTN>ogF_#wjU?!kCOd?JJFs2Xnmk7ngBEiV$0_Z18*5nv3Sz~ S%qTz&@dMOso4YLMA+>)$_5xG@ literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_640_grib1.tmpl b/samples/reduced_rotated_gg_pl_640_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..0d4d52621658920c82f62cf7fcc8c19a3e866748 GIT binary patch literal 2678 zcmeI!ze^io9LMp`^W0tTE(8fe2f^V62T3iYQmBK&wS#TxWbGhbJc@#YgH!FIJS~D2 z7bkHH^dAUq_a4$gibKW<9dr@9ltP_c((iLWp5(dSnb>CN(0f6W3rB_|_x-*fJb82< z#8zNq0 zf=w_#vdlWx*cuaLH_~LW116m)XY7JqaF9{O=c#!f6TI6tf17A=-7)_jGZ68NRL!Uv zLB^)h5gK`pj3eVbWg;gAmk`)X-Q(DQDnB}(rld+Ri*uR|)aFsZTz_1PYk+7=a??6wsu ixFBk|S*kkOcCzs%srJUH`bIDeR2<>ntAdWZbo>G}t2Ork literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_640_grib2.tmpl b/samples/reduced_rotated_gg_pl_640_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ebd4ce9b0ceadf89abf5b6f41e06f5e75314e48e GIT binary patch literal 2768 zcmeH}KWGzC9LK-!-Cgc36p4ilg(8Pj4H04&I|v4csyNklD7qYCp+kp)LtQL4R9orN zsdNko4lV|9_b3iUI%Krs&@M$65$x0@{(kTNq%XZ|QqADt?*sSmy`u0PoEuDR8CGK3#kRE*`NSzOJg1 z=X6khV!q{zfDF{dbTf<*co@S~jN=Azhq#9+JRp2L#sZ!a&#;OOY@$KDSA+<$gU^Zs z{3L$in11X9!c$a5Rn!&pqQjC{5&^NHXo`q!!R)6TiX(9(=>f^nl)6lql@WnF$(no> z(~>%S@<)ULg=ZvGjEdoRv0`)xjVyMJUE^DViI@qqn>kY_FcX@l&IgmQkVDBTS(6zw ztX{mcBEDK01!&X@dCU};@I2VgnM~Wg2<$Aj?1Yw`&v!e;fyScq=d3$ApPasM(FeXe zD3;xPKDq;@i2wXcPhimhFWoQyZCW1KJL~tcLeSr8qgnbYUH^*}zo_*Nbh-*1<#(S} z+M~8Idsxu3_f4PKJDv0NVVWCt@4Vh#*D?TlLeN=~9lbK9k&#T3lvt&lGy`WHp(kK7 z&BmZBHRn#{>O_*cNe0uNGdU}(!xL$~(v|c+rGF)L0WY$H#1-UTmqoNvzgW|}BZzHe zHuaNw>MWz|FzhnoFm;=Kqvc=K~+zf!g+Cl3z;Py_@-ArzcsWMpDtG%zqQ1c@+aF=+Gs z|Ie_1F~$tUZ;UZxt-K8s2mtYrfe?cvg9?KNgD!&^gAIcNg9i`>FhnsVFr+Z#FjN3x z14BE*1R$KoumA|RfZ+j#0}LmC@CFz@WO&H%0R$O=jsrslMs%pd2!Rfaw1qHx(Ct@% zxeek{poAY~4a(hZ3a4FyW=LvVnU z90Ae!2HarzvnCXwW}Y-V-m$&&|4wdiuDmBAM0B7fb=*UYYkzjS-KN1|gcDKAWmz@? z_qwOf^D=UrB>r!xS=p!7iHp&`)jX<5AN;~L^;m?>-_)beF+q{mZVlyHpPqa?YAIRxCnaaqOzW~T!-M5%Y?lU?C6pa|L6IbO J8*%$w@eL&+Cl3z;Py_@-ArzcsWMpDtG%zqQ1c@-NV$kOM z|DWLiW6Ti{zcJkF);9OG;lf!fTF}42mk`_Y7YPa literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_pl_96_grib2.tmpl b/samples/reduced_rotated_gg_pl_96_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..3fc755d3c64b2f7e5b822cb1c4e96e18ce1ed736 GIT binary patch literal 592 zcmb`Ev1-Cl6o&tEYa)UaDr9gI>0rS^bm>xPD1z-496N}J6bE;^6f)RKw@%JJL?6JV z&LiG>vrGKXO|U{8J>QUf@3~3N`A)NSe;dazuwg<5dXMa&Z5$CAj5_Mc7z#R$k zz-v7W@I;<5#ygo{N;e=}0Lvl~A`H?DDhwJ7x(r4PHVh679t_?L0Sr+;1{fW!lqe%Z5(5JZ10(x&c2*vs07&u*GmsE}#Kg#;$@U);03{uO zm;ofiYP0b>h|SOnWQcm%uK@`Hxe6dL1Q216W>8_!V9;eSVz2?~_F(X42w;c;!UTpC zh8!TQ0K*0b(jY_^NPh~@B#?OlK$AUyHrN1d(goV60<>8K=ny3qsB6H^V+3(h7#JAa e7JwWK787L!d76R2z5%KdM6t1fe8b9a4g>(|icJmx literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_sfc_grib1.tmpl b/samples/reduced_rotated_gg_sfc_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ad9700be01c255d53a3353b52416f739d6fae96a GIT binary patch literal 246 zcmZ<{@^oTg_{PYkj2g{&cgttK|mBj!AV9&CKg5m0|P^_$SMYHzW@Ij z92mnbK>WsV3)W&6pnw8c7KspHkY-R}&|uJIFk-M_aA5FY@MZ{Lhyua{h7^VzAglnx v1_sg~L>EYZ3eY5wc>zF^J%BdY0BzC*+Nc7wS%iUshl7E^Q2^v3b07c!&9*0` literal 0 HcmV?d00001 diff --git a/samples/reduced_rotated_gg_sfc_grib2.tmpl b/samples/reduced_rotated_gg_sfc_grib2.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..9a1316375caa984a1c8c293afca97202e1f85d1b GIT binary patch literal 319 zcmZ<{@^t$DpMi-13>fW!lqe%Z5(5JZ10(x&W^o>%07&u*GmsE}#Kg#;$@U);03{uO zm;ofiYP0b>h|SOnWQcm%uK@`Hxe6dL1Q216W>8_!V9;eSVz2?~_F(X42w;c;!UTpC zh8!TQ0K*0b(jY_^NPh~@B#?OlK$AUyHrN1d(goV60<>8K=ny3qsB8W=02z!RPCCe~ cPypnLvVuI#z+m41l7s>_Hjr;v+0B6f0F0Oc6T(}v^g)X$QjUYm1L1v347cHVdV+IN$V{GBhY0*CD1$uxs zy@AUfAc(fTge`*8cP7EWRo}UD?)m?@v)9>giXesv=9^c>;2cQ6q~7D%B^uQE7AMPo z#te!{nFpN>eo&89f0?L^dkUHM*0UO^+G?92jU4hQpoC4-ncczxT%3@)@Nh*MMikl9S8mM)D#^HrUQt#Cu$$)xge zN)F`+MfEUfT0ylr-7Fg;9@b%Y0>5|L4{CP1H*o#HKK6sbW&hf)l&emq>_`Xt;s#cN zKR`~g+PE1G!@ox!uo(5&WxyF1VFdV6vm=ia*}fZnIUCX)KP_D3WHe);LO!a*4>drC As{jB1 literal 0 HcmV?d00001 diff --git a/samples/rotated_gg_ml_grib1.tmpl b/samples/rotated_gg_ml_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ac6a9010bbeddf21c00c52813662e011ea0c01a3 GIT binary patch literal 854 zcmc(c|1Z>W9LGP`5lM1#9NoC{-T8JG*Bx@7*L~hEbhx`>v5?B5L^P+CZ`&1HUu3b& zT3az{rn0H2q*Bv{%9qeGTbeN%r?E`2LQLxi|3Hr)Ua#l#`TFho3XfJX6g!qhQ33j7 z{fhp=DT-ynwl$|#lQp>O>)&LtHW{(RVzFc`VVgC3Sx|ZkSaI@It3MwnH`bxq5+zu> zZa^uZL`wQ$q4KO`O4)NMkKv|`GQznT#{ZR&i4sjS8BhI~%HJ7GSFM;>&NmU8Z4$y4 zEfVJwTH-a#CekV=0&Vw*`d|`C$gU#kI}=F3p=EN7DI~Q$M@Wm&C(<|Zff#hoXn8Un ztz;c&?eH0G96gXH8$|o#Ey!;;hmM=Sp)jW!ofkCdR$hjlic$1hE1+@hR)b@Lz_MIHH zhuNqpF-5g15hE))P?b4=VZ%{KCT}2AS7HdK90OH%QF=g*5=cfLTQBtZx({7m2BP4O z68Uu^J>*S8xv?J_d?Gn2ejIe9U( z-FO)7${L~lgNNx*i&8p%G@m{r7SI*R_vvPXJ3S`<4xHc`ux{uFUb#K+rzIe4&j)w6 zI`Fa9fPdux1T`H6CfgGtUUMPlN(>}E(?aSl6=V(ZAopei6s4-6)H@j}hYO)PRRr}< zjNnmgCp^~~!<)7(@cwoz^e^?n(BK%12p3`e;|`cIc*9I;4$OtR!jFqJuqd^HU%Gi% Z3KYU}u?SXIJd7|;JhKT z!}($O2^ZdlHZJ-lJT7519WITnAuh8v?Qz-m)XwFa**2FSyZ^ZIJJq@>pG$DHV!7rT z`0RpfcCoT+b8v*~#C;a73%)&Y-SE@F_29l8u9s~uxIWE3;QGTn!;SS)gB$-t3pXh@ z2RD`99d7zRKe$<2Epc;OKEo}@O%>)nd}^Hv**unn>+86+q|FG+~zL{aGO7+z-`_>Hn+KA0&cS=?Qol}+2=Ot z?lQODT{GO;FB`ZuI_kKUxVgBcs!eeV4SC?^%Glv%60^old9H(-(3dA}OcPmLpIQdE z9_vqVU0Igl+Gn`KHS>F(tBq2WtFW`3%YEqxmqn%wF7anlTm(d9oL3}0a8}}$bBeec z;czLt$J$>49QL5_9t^-_l3kp6X6ikQRId_C&V45=Cz*R#@gFR(Y8Lxsb?@6eYf}Sn z>+VZ4tj}v1*od$<*!a9JvFVbPve|m%o6V~P2V0S()wUL|)oqh4KG}BO6|h~JH^KHu z#|7Kxi5+(Al5gx}X3eoP3AC{Di}tb0y4YgZ@+8P^YJ-;Da*<_rJB#Mook^KwcYl+C z-DlG%d*(D>dtRL+d$GH<_6liQ_L|#R?2Y!Fu(vK|wRb+mY41HR%s%MvMf=F>kL?o_ zf7+*B5w_2Itz(~`R$^c5s%l@>zR14PRLH)%_^W-brJ{XZizbQAUO&1_l-eM)vE>;ygeBkYormkWc_(22HmAr~oL|0K^VJ z%m9*Mwb}R`#5QOJGDN-X*Dz?k3IXyJK!V6Xi3Q60-vDGVf;cHax@`f(d>~hp6{5|) S0VD|pY;6C5ELL`NAOHYuK`kW! literal 0 HcmV?d00001 diff --git a/samples/rotated_gg_sfc_grib1.tmpl b/samples/rotated_gg_sfc_grib1.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..fb073942cbd8f5f57c17209db0fa02b21a3d0246 GIT binary patch literal 118 zcmZ<{@^oTgC}U(`Flk6?_}|dP$oztxS)7LfC;|ea5DHE*GBU9+8WzbQAUO&1_l-eM)vE>;ygeBkYormkWc_(22HmAr~oL|0K^VJ z%m9*Mwb}R`#5QOJGDN-X*Dz?k3IXyJK!V6Xi3Q60-vDGVf;d2ev26jwd>~hp6{5|) S0VD|pY;6C5ELL`NAOHYbu`I#> literal 0 HcmV?d00001 diff --git a/src/grib_api.h b/src/grib_api.h index b6e802422..39e479f8c 100644 --- a/src/grib_api.h +++ b/src/grib_api.h @@ -1334,8 +1334,8 @@ int grib_points_get_values(grib_handle* h, grib_points* points, double* val); #define GRIB_UTIL_GRID_SPEC_REDUCED_LL 7 #define GRIB_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC 8 -#define GRIB_UTIL_GRID_SPEC_OCTAHEDRAL_GG 9 -#define GRIB_UTIL_GRID_SPEC_ROTATED_OCTAHEDRAL_GG 10 +#define GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG 9 + typedef struct grib_util_grid_spec { diff --git a/src/grib_util.c b/src/grib_util.c index b52425206..110c8a1cf 100644 --- a/src/grib_util.c +++ b/src/grib_util.c @@ -622,6 +622,10 @@ grib_handle* grib_util_set_spec(grib_handle* h, grid_type = "sh"; break; + case GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: + grid_type = "reduced_rotated_gg"; + break; + default: *err = GRIB_NOT_IMPLEMENTED; return NULL; @@ -638,6 +642,7 @@ grib_handle* grib_util_set_spec(grib_handle* h, Assert(grib_get_string(h,"levelType",levtype,&n) == 0); switch (spec->grid_type) { case GRIB_UTIL_GRID_SPEC_REDUCED_GG: + case GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: sprintf(name, "%s_pl_%ld_grib%ld", grid_type,spec->N, editionNumber); break; default : @@ -739,6 +744,8 @@ grib_handle* grib_util_set_spec(grib_handle* h, break; case GRIB_UTIL_GRID_SPEC_REDUCED_GG: + case GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: + COPY_SPEC_LONG (bitmapPresent); if (spec->missingValue) COPY_SPEC_DOUBLE(missingValue); SET_LONG_VALUE("ijDirectionIncrementGiven", 0); @@ -791,10 +798,12 @@ grib_handle* grib_util_set_spec(grib_handle* h, /* Set rotation */ + /* FIXME: Missing angleOfRotationInDegrees */ switch(spec->grid_type) { case GRIB_UTIL_GRID_SPEC_ROTATED_LL: case GRIB_UTIL_GRID_SPEC_ROTATED_GG: + case GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: COPY_SPEC_LONG(uvRelativeToGrid); COPY_SPEC_DOUBLE(latitudeOfSouthernPoleInDegrees); COPY_SPEC_DOUBLE(longitudeOfSouthernPoleInDegrees); @@ -921,7 +930,7 @@ grib_handle* grib_util_set_spec(grib_handle* h, fprintf(stderr," %s %s\n",values[i].name,grib_get_error_message(values[i].error)); goto cleanup; } - if (spec->pl_size!=0 && spec->grid_type==GRIB_UTIL_GRID_SPEC_REDUCED_GG) { + if (spec->pl_size!=0 && (spec->grid_type==GRIB_UTIL_GRID_SPEC_REDUCED_GG || spec->grid_type==GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG)) { *err=grib_set_long_array(outh,"pl",spec->pl,spec->pl_size); if (*err) { fprintf(stderr,"SET_GRID_DATA_DESCRIPTION: Cannot set pl %s\n",grib_get_error_message(*err)); From 59f72563259ed602a0573033aaaf72cf6fc5272f Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 8 Jun 2015 13:20:09 +0100 Subject: [PATCH 7/7] GRIB-776: Add new parameters for CAPE Shear --- .../grib1/localConcepts/ecmf/cfVarName.def | 15 +++++++++++++++ definitions/grib1/localConcepts/ecmf/name.def | 15 +++++++++++++++ definitions/grib1/localConcepts/ecmf/paramId.def | 15 +++++++++++++++ .../grib1/localConcepts/ecmf/shortName.def | 15 +++++++++++++++ definitions/grib1/localConcepts/ecmf/units.def | 15 +++++++++++++++ 5 files changed, 75 insertions(+) diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def index 06ea94acc..fa77a7111 100644 --- a/definitions/grib1/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib1/localConcepts/ecmf/cfVarName.def @@ -3314,6 +3314,16 @@ table2Version = 131 ; indicatorOfParameter = 97 ; } +#Convective available potential energy shear index +'capesi' = { + table2Version = 132 ; + indicatorOfParameter = 44 ; + } +#Convective available potential energy index +'capei' = { + table2Version = 132 ; + indicatorOfParameter = 59 ; + } #Maximum of significant wave height index 'maxswhi' = { table2Version = 132 ; @@ -8989,6 +8999,11 @@ table2Version = 228 ; indicatorOfParameter = 43 ; } +#Convective available potential energy shear +'capes' = { + table2Version = 228 ; + indicatorOfParameter = 44 ; + } #GPP coefficient from Biogenic Flux Adjustment System 'gppbfas' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/name.def b/definitions/grib1/localConcepts/ecmf/name.def index d8614eaed..5f4f89f39 100644 --- a/definitions/grib1/localConcepts/ecmf/name.def +++ b/definitions/grib1/localConcepts/ecmf/name.def @@ -3314,6 +3314,16 @@ table2Version = 131 ; indicatorOfParameter = 97 ; } +#Convective available potential energy shear index +'Convective available potential energy shear index' = { + table2Version = 132 ; + indicatorOfParameter = 44 ; + } +#Convective available potential energy index +'Convective available potential energy index' = { + table2Version = 132 ; + indicatorOfParameter = 59 ; + } #Maximum of significant wave height index 'Maximum of significant wave height index' = { table2Version = 132 ; @@ -8989,6 +8999,11 @@ table2Version = 228 ; indicatorOfParameter = 43 ; } +#Convective available potential energy shear +'Convective available potential energy shear' = { + table2Version = 228 ; + indicatorOfParameter = 44 ; + } #GPP coefficient from Biogenic Flux Adjustment System 'GPP coefficient from Biogenic Flux Adjustment System' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/paramId.def b/definitions/grib1/localConcepts/ecmf/paramId.def index d12fe3a33..14fd8a03d 100644 --- a/definitions/grib1/localConcepts/ecmf/paramId.def +++ b/definitions/grib1/localConcepts/ecmf/paramId.def @@ -3314,6 +3314,16 @@ table2Version = 131 ; indicatorOfParameter = 97 ; } +#Convective available potential energy shear index +'132044' = { + table2Version = 132 ; + indicatorOfParameter = 44 ; + } +#Convective available potential energy index +'132059' = { + table2Version = 132 ; + indicatorOfParameter = 59 ; + } #Maximum of significant wave height index '132216' = { table2Version = 132 ; @@ -8989,6 +8999,11 @@ table2Version = 228 ; indicatorOfParameter = 43 ; } +#Convective available potential energy shear +'228044' = { + table2Version = 228 ; + indicatorOfParameter = 44 ; + } #GPP coefficient from Biogenic Flux Adjustment System '228078' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/shortName.def b/definitions/grib1/localConcepts/ecmf/shortName.def index 4bc897a73..ae1cee3da 100644 --- a/definitions/grib1/localConcepts/ecmf/shortName.def +++ b/definitions/grib1/localConcepts/ecmf/shortName.def @@ -3314,6 +3314,16 @@ table2Version = 131 ; indicatorOfParameter = 97 ; } +#Convective available potential energy shear index +'capesi' = { + table2Version = 132 ; + indicatorOfParameter = 44 ; + } +#Convective available potential energy index +'capei' = { + table2Version = 132 ; + indicatorOfParameter = 59 ; + } #Maximum of significant wave height index 'maxswhi' = { table2Version = 132 ; @@ -8989,6 +8999,11 @@ table2Version = 228 ; indicatorOfParameter = 43 ; } +#Convective available potential energy shear +'capes' = { + table2Version = 228 ; + indicatorOfParameter = 44 ; + } #GPP coefficient from Biogenic Flux Adjustment System 'gppbfas' = { table2Version = 228 ; diff --git a/definitions/grib1/localConcepts/ecmf/units.def b/definitions/grib1/localConcepts/ecmf/units.def index 6194632d9..fa772f5ac 100644 --- a/definitions/grib1/localConcepts/ecmf/units.def +++ b/definitions/grib1/localConcepts/ecmf/units.def @@ -3314,6 +3314,16 @@ table2Version = 131 ; indicatorOfParameter = 97 ; } +#Convective available potential energy shear index +'(-1 to 1)' = { + table2Version = 132 ; + indicatorOfParameter = 44 ; + } +#Convective available potential energy index +'(-1 to 1)' = { + table2Version = 132 ; + indicatorOfParameter = 59 ; + } #Maximum of significant wave height index '(-1 to 1)' = { table2Version = 132 ; @@ -8989,6 +8999,11 @@ table2Version = 228 ; indicatorOfParameter = 43 ; } +#Convective available potential energy shear +'m**2 s**-2' = { + table2Version = 228 ; + indicatorOfParameter = 44 ; + } #GPP coefficient from Biogenic Flux Adjustment System 'dimensionless' = { table2Version = 228 ;