From e9cb722ffcd96e78d6a0aef05a994d89de34e809 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Wed, 18 Jun 2014 17:14:01 +0100 Subject: [PATCH] Merge grib api and eccodes - part 1 --- CMakeLists.txt | 14 +- Makefile.am | 14 + data/CMakeLists.txt | 9 +- data/Makefile.am | 2 +- data/download.sh | 13 +- definitions/Makefile.am | 3 + definitions/boot.def | 5 + definitions/grib1/2.98.162.table | 152 +- definitions/grib1/2.98.170.table | 35 +- definitions/grib1/2.98.174.table | 43 +- definitions/grib1/2.98.175.table | 10 +- definitions/grib1/2.98.180.table | 58 +- definitions/grib1/2.98.190.table | 60 +- definitions/grib1/2.98.200.table | 467 +- definitions/grib1/2.98.201.table | 130 +- definitions/grib1/2.98.211.table | 185 +- definitions/grib1/2.98.220.table | 2 +- definitions/grib1/2.98.228.table | 27 +- definitions/grib1/2.98.230.table | 46 +- definitions/grib1/5.table | 4 +- definitions/grib1/data.grid_second_order.def | 20 +- .../data.grid_second_order_constant_width.def | 25 +- .../data.grid_second_order_general_grib1.def | 25 +- definitions/grib1/localConcepts/edzw/name.def | 25 +- .../grib1/localConcepts/edzw/paramId.def | 25 +- .../grib1/localConcepts/edzw/shortName.def | 25 +- .../grib1/localConcepts/edzw/units.def | 25 +- definitions/grib2/cfVarName.def | 24 + definitions/grib2/localConcepts/edzw/name.def | 213 +- .../grib2/localConcepts/edzw/paramId.def | 129 +- .../grib2/localConcepts/edzw/shortName.def | 213 +- .../grib2/localConcepts/edzw/units.def | 213 +- definitions/grib2/name.def | 24 + definitions/grib2/paramId.def | 24 + definitions/grib2/shortName.def | 24 + definitions/grib2/tables/12/4.201.table | 19 +- definitions/grib2/template.3.100.def | 6 +- definitions/grib2/template.4.44.def | 4 +- definitions/grib2/units.def | 24 + definitions/make_makefile_am.pl | 1 + examples/C/CMakeLists.txt | 1 + examples/C/Makefile.am | 7 +- examples/C/box.c | 3 +- examples/C/check_gaussian_grid.c | 184 + examples/C/clone.c | 2 + examples/C/fieldset.c | 89 +- examples/C/get.c | 4 +- examples/C/get_data.c | 3 + examples/C/grib_precipitation.c | 65 +- examples/C/include.sh | 1 + examples/C/iterator.c | 100 +- examples/C/iterator_bitmap.c | 2 +- examples/C/list.c | 125 +- examples/C/mars_param.c | 45 +- examples/C/multi.c | 63 +- examples/C/multi2.c | 73 +- examples/C/multi_write.c | 117 +- examples/C/nearest.c | 111 +- examples/C/points.c | 5 +- examples/C/precision.c | 5 +- examples/C/print_data.c | 79 +- examples/C/sections_copy.c | 118 +- examples/C/sections_copy.sh | 42 +- examples/C/set.c | 110 +- examples/C/set_bitmap.c | 102 +- examples/C/set_data.c | 5 +- examples/C/set_missing.c | 102 +- examples/C/set_pv.c | 86 +- examples/C/values_check.c | 3 +- examples/F90/CMakeLists.txt | 8 +- examples/F90/Makefile.am | 2 +- examples/Makefile.am | 2 +- examples/python/Makefile.am | 3 +- fortran/CMakeLists.txt | 2 +- fortran/Makefile.am | 3 +- ifs_samples/grib1/Makefile.am | 8 + ifs_samples/grib1_mlgrib2/Makefile.am | 8 + ifs_samples/grib1_mlgrib2_ieee32/Makefile.am | 8 + ifs_samples/grib1_mlgrib2_ieee64/Makefile.am | 8 + python/Makefile.am | 6 +- samples/Makefile.am | 2 + src/CMakeLists.txt | 5 +- src/Makefile.am | 4 +- src/grib_accessor_class.h | 1 + src/grib_accessor_class_data_apply_bitmap.c | 18 +- ...ccessor_class_data_apply_boustrophedonic.c | 274 +- ..._class_data_apply_boustrophedonic_bitmap.c | 432 + ..._g1second_order_general_extended_packing.c | 32 +- src/grib_accessor_class_data_simple_packing.c | 33 +- src/grib_accessor_class_g1step_range.c | 12 +- src/grib_accessor_class_global_gaussian.c | 4 +- ...cessor_class_second_order_bits_per_value.c | 139 +- src/grib_accessor_class_statistics.c | 20 +- src/grib_accessor_factory.h | 1 + src/grib_api.h | 3 +- src/grib_api_internal.h | 2 +- src/grib_api_prototypes.h | 1 + src/grib_context.c | 9 + src/grib_errors.c.in | 2 +- src/grib_hash_keys.c | 9403 +++++++++-------- src/grib_iterator_class_gaussian_reduced.c | 174 +- src/grib_nearest_class_regular.c | 20 +- src/grib_parse_utils.c | 23 +- src/grib_value.c | 7 +- src/make_hash_keys.ksh | 4 +- tests/CMakeLists.txt | 27 +- tests/Makefile.am | 2 +- tests/fortran_interface.sh | 2 +- tests/keys | 3030 +++--- tests/local.sh | 2 +- tests/tigge.sh | 12 +- tigge/Makefile.am | 1 + tools/CMakeLists.txt | 14 +- tools/Makefile.am | 1 + windows/msvc/grib_api_lib/grib_api_lib.vcproj | 4 + 115 files changed, 9833 insertions(+), 7964 deletions(-) create mode 100644 examples/C/check_gaussian_grid.c create mode 100644 src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 36fd19bbf..2b147ce2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ option( ENABLE_PYTHON "try to build the GRIB_API Python interface" ON ) option( ENABLE_FORTRAN "try to build the GRIB_API Fortran interface" ON ) if( ENABLE_FORTRAN ) - ecbuild_enable_fortran( REQUIRED MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/fortran/modules ) + ecbuild_enable_fortran( REQUIRED MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/fortran/modules ) endif() option( ENABLE_MEMORY_MANAGEMENT "enable memory management" OFF ) @@ -205,12 +205,12 @@ set( GRIB_API_LIBRARIES grib_api ) get_directory_property( COMPILE_DEFINITIONS GRIB_API_DEFINITIONS ) foreach( _tpl ${GRIB_API_TPLS} ) - string( TOUPPER ${_tpl} TPL ) - if( ${TPL}_FOUND ) - list( APPEND GRIB_API_EXTRA_DEFINITIONS ${${TPL}_DEFINITIONS} ) - list( APPEND GRIB_API_EXTRA_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} ) - list( APPEND GRIB_API_EXTRA_LIBRARIES ${${TPL}_LIBRARIES} ) - endif() + string( TOUPPER ${_tpl} TPL ) + if( ${TPL}_FOUND ) + list( APPEND GRIB_API_EXTRA_DEFINITIONS ${${TPL}_DEFINITIONS} ) + list( APPEND GRIB_API_EXTRA_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} ) + list( APPEND GRIB_API_EXTRA_LIBRARIES ${${TPL}_LIBRARIES} ) + endif() endforeach() ### include directories diff --git a/Makefile.am b/Makefile.am index aa5529db5..4e0f1a6c2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -76,6 +76,7 @@ EXTRA_DIST = README AUTHORS NOTICE LICENSE ChangeLog version.sh html \ data/scan_y_rotated_ll_8_4_good.dump \ data/scan_y_rotated_ll_8_7_good.dump \ data/tigge_pf_ecmwf.grib2 \ + data/tigge_pf_ecmwf.grib2.ref \ data/regular_gaussian_pressure_level.grib1 \ data/regular_gaussian_model_level.grib1 \ data/regular_gaussian_surface.grib1 \ @@ -370,6 +371,19 @@ EXTRA_DIST = README AUTHORS NOTICE LICENSE ChangeLog version.sh html \ data/download.sh \ perf/jmeter.awk \ perf/time.sh \ + CMakeLists.txt \ + project_summary.cmake \ + VERSION.cmake \ + grib_api_config.h.in \ + examples/CMakeLists.txt \ + data/CMakeLists.txt \ + data/tigge/CMakeLists.txt \ + ifs_samples/grib1/CMakeLists.txt \ + ifs_samples/grib1_mlgrib2_ieee64/CMakeLists.txt \ + ifs_samples/grib1_mlgrib2_ieee32/CMakeLists.txt \ + ifs_samples/CMakeLists.txt \ + ifs_samples/grib1_mlgrib2/CMakeLists.txt \ + samples/CMakeLists.txt \ windows/msvc/grib_api.sln \ windows/msvc/grib_api_lib/grib_api_lib.vcproj \ windows/msvc/grib_dump/grib_dump.vcproj \ diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 8cb6cc887..b2d8cd5a0 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -22,13 +22,11 @@ set(files_to_download gen_ext_spd_2.grib gen_ext_spd_3_boust_bitmap.grib gen_ext_spd_3.grib - gep10.t12z.pgrb2af78.grib2 gfs.c255.grib2 gts.grib index.grib jpeg.grib2 lfpw.grib1 - lfpw.grib2 missing_field.grib1 missing.grib2 mixed.grib @@ -103,7 +101,6 @@ endforeach() LIST(APPEND other_files 60_model_levels bitmap.diff - filter_rules ieee_test.good index.ok index_f90.ok @@ -111,15 +108,10 @@ LIST(APPEND other_files list_points local.good.log ls.log - mf.rules multi.ok - multi_level.txt multi_step.txt no_bitmap.diff - perf.ksh read_any.ok - ret.sh - sample_grib.txt scan_x_regular_gg_5_7_good.dump scan_x_regular_ll_5_4_good.dump scan_x_regular_ll_5_7_good.dump @@ -144,6 +136,7 @@ LIST(APPEND other_files step_grib1.filter step_grib1.log typeOfProcessedData.ok + tigge_pf_ecmwf.grib2.ref ) foreach( file ${other_files} ) diff --git a/data/Makefile.am b/data/Makefile.am index 8b1378917..65882a014 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1 +1 @@ - +EXTRA_DIST = CMakeLists.txt diff --git a/data/download.sh b/data/download.sh index e2f0a9f2d..ddb990693 100755 --- a/data/download.sh +++ b/data/download.sh @@ -1,6 +1,7 @@ #!/bin/sh DATA_DIR=$1 +VERBOSE=0 # Check if all downloads are already done DOWNLOADED=${DATA_DIR}/.downloaded @@ -10,6 +11,7 @@ fi files=" bad.grib + in_copy.grib budg constant_field.grib1 constant_width_bitmap.grib @@ -25,13 +27,12 @@ files=" gen_ext_spd_2.grib gen_ext_spd_3_boust_bitmap.grib gen_ext_spd_3.grib - gep10.t12z.pgrb2af78.grib2 gfs.c255.grib2 gts.grib index.grib + grid_ieee.grib jpeg.grib2 lfpw.grib1 - lfpw.grib2 missing_field.grib1 missing.grib2 mixed.grib @@ -336,13 +337,15 @@ files=" download_URL="http://download.ecmwf.org" cd ${DATA_DIR} -#echo "Downloading data files for testing..." +echo "Downloading data files for testing..." for f in $files; do # If we haven't already got the file, download it if [ ! -f "$f" ]; then - wget --no-verbose -q -O $f ${download_URL}/test-data/grib_api/data/$f + wget -nv -q -O $f ${download_URL}/test-data/grib_api/data/$f #chmod 444 $f - #echo "Downloaded $f ..." + if [ $VERBOSE -eq 1 ]; then + echo "Downloaded $f ..." + fi fi done diff --git a/definitions/Makefile.am b/definitions/Makefile.am index 77f80cc5c..7896f2d19 100644 --- a/definitions/Makefile.am +++ b/definitions/Makefile.am @@ -521,6 +521,7 @@ dist_definitionsgrib2_DATA = \ grib2/template.4.horizontal.def\ grib2/template.4.parameter.def\ grib2/template.4.parameter_aerosol.def\ + grib2/template.4.parameter_aerosol_44.def\ grib2/template.4.parameter_aerosol_optical.def\ grib2/template.4.parameter_chemical.def\ grib2/template.4.parameter_partition.def\ @@ -2519,4 +2520,6 @@ dist_definitionstide_DATA = \ tide/section.1.def\ tide/section.4.def +EXTRA_DIST=CMakeLists.txt + include $(DEVEL_RULES) diff --git a/definitions/boot.def b/definitions/boot.def index 231f23fae..67e9eb6f2 100644 --- a/definitions/boot.def +++ b/definitions/boot.def @@ -13,6 +13,11 @@ constant internalVersion=22 : hidden; constant UseEcmfConventions = 1: hidden; constant defaultTypeOfLevel="unknown" : hidden; +# GRIBEX special boustrophedonic mode. See GRIB-472 +# If the environment variable is not defined, the key will be 0 +GRIBEX_boustrophedonic = getenv("GRIB_API_GRIBEX_BOUSTROPHEDONIC","0"); + + constant zero=0 : hidden; constant one=1 : hidden; constant two=1 : hidden; diff --git a/definitions/grib1/2.98.162.table b/definitions/grib1/2.98.162.table index a724c46d4..487e4c4e6 100644 --- a/definitions/grib1/2.98.162.table +++ b/definitions/grib1/2.98.162.table @@ -1,58 +1,60 @@ # This file was automatically generated by ./param.pl -51 51 - Surface geopotential m**2 s**-2 -52 52 - Surface pressure Pa -53 53 - Vertical integral of mass of atmosphere kg m**-2 -54 54 - Vertical integral of temperature K kg m**-2 -55 55 - Vertical integral of water vapour kg m**-2 -56 56 - Vertical integral of cloud liquid water kg m**-2 -57 57 - Vertical integral of cloud frozen water kg m**-2 -58 58 - Vertical integral of ozone kg m**-2 -59 59 - Vertical integral of kinetic energy J m**-2 -60 60 - Vertical integral of thermal energy J m**-2 -61 61 - Vertical integral of potential+internal energy J m**-2 -62 62 - Vertical integral of potential+internal+latent energy J m**-2 -63 63 - Vertical integral of total energy J m**-2 -64 64 - Vertical integral of energy conversion W m**-2 -65 65 - Vertical integral of eastward mass flux kg m**-1 s**-1 -66 66 - Vertical integral of northward mass flux kg m**-1 s**-1 -67 67 - Vertical integral of eastward kinetic energy flux W m**-2 -68 68 - Vertical integral of northward kinetic energy flux W m**-2 -69 69 - Vertical integral of eastward heat flux W m**-2 -70 70 - Vertical integral of northward heat flux W m**-2 -71 71 - Vertical integral of eastward water vapour flux kg m**-1 s**-1 -72 72 - Vertical integral of northward water vapour flux kg m**-1 s**-1 -73 73 - Vertical integral of eastward geopotential flux W m**-2 -74 74 - Vertical integral of northward geopotential flux W m**-2 -75 75 - Vertical integral of eastward total energy flux W m**-2 -76 76 - Vertical integral of northward total energy flux W m**-2 -77 77 - Vertical integral of eastward ozone flux kg m**-1 s**-1 -78 78 - Vertical integral of northward ozone flux kg m**-1 s**-1 -81 81 - Vertical integral of divergence of mass flux kg m**-2 s**-1 -82 82 - Vertical integral of divergence of kinetic energy flux W m**-2 -83 83 - Vertical integral of divergence of thermal energy flux W m**-2 -84 84 - Vertical integral of divergence of moisture flux kg m**-2 s**-1 -85 85 - Vertical integral of divergence of geopotential flux W m**-2 -86 86 - Vertical integral of divergence of total energy flux W m**-2 -87 87 - Vertical integral of divergence of ozone flux kg m**-2 s**-1 +51 51 - Surface geopotential (m**2 s**-2) +52 52 SP Surface pressure (Pa) +53 53 - Vertical integral of mass of atmosphere (kg m**-2) +54 54 - Vertical integral of temperature (K kg m**-2) +55 55 - Vertical integral of water vapour (kg m**-2) +56 56 - Vertical integral of cloud liquid water (kg m**-2) +57 57 - Vertical integral of cloud frozen water (kg m**-2) +58 58 - Vertical integral of ozone (kg m**-2) +59 59 - Vertical integral of kinetic energy (J m**-2) +60 60 - Vertical integral of thermal energy (J m**-2) +61 61 - Vertical integral of potential+internal energy (J m**-2) +62 62 - Vertical integral of potential+internal+latent energy (J m**-2) +63 63 - Vertical integral of total energy (J m**-2) +64 64 - Vertical integral of energy conversion (J m**-2) +65 65 - Vertical integral of eastward mass flux (kg m**-1 s**-1) +66 66 - Vertical integral of northward mass flux (kg m**-1 s**-1) +67 67 - Vertical integral of eastward kinetic energy flux (J m**-2) +68 68 - Vertical integral of northward kinetic energy flux (J m**-2) +69 69 - Vertical integral of eastward heat flux (J m**-2) +70 70 - Vertical integral of northward heat flux (J m**-2) +71 71 - Vertical integral of eastward water vapour flux (kg m**-1 s**-1) +72 72 - Vertical integral of northward water vapour flux (kg m**-1 s**-1) +73 73 - Vertical integral of eastward geopotential flux (J m**-2) +74 74 - Vertical integral of northward geopotential flux (J m**-2) +75 75 - Vertical integral of eastward total energy flux (J m**-2) +76 76 - Vertical integral of northward total energy flux (J m**-2) +77 77 - Vertical integral of eastward ozone flux (kg m**-1 s**-1) +78 78 - Vertical integral of northward ozone flux (kg m**-1 s**-1) +79 79 - Vertical integral of divergence of cloud liquid water flux (kg m**-2 s**-1) +80 80 - Vertical integral of divergence of cloud frozen water flux (kg m**-2 s**-1) +81 81 - Vertical integral of divergence of mass flux (kg m**-2 s**-1) +82 82 - Vertical integral of divergence of kinetic energy flux (J m**-2) +83 83 - Vertical integral of divergence of thermal energy flux (J m**-2) +84 84 - Vertical integral of divergence of moisture flux (kg m**-2 s**-1) +85 85 - Vertical integral of divergence of geopotential flux (J m**-2) +86 86 - Vertical integral of divergence of total energy flux (J m**-2) +87 87 - Vertical integral of divergence of ozone flux (kg m**-2 s**-1) 88 88 - Vertical integral of eastward cloud liquid water flux (kg m**-1 s**-1) 89 89 - Vertical integral of northward cloud liquid water flux (kg m**-1 s**-1) 90 90 - Vertical integral of eastward cloud frozen water flux (kg m**-1 s**-1) 91 91 - Vertical integral of northward cloud frozen water flux (kg m**-1 s**-1) 92 92 - Vertical integral of mass tendency (kg m**-2 s**-1) -100 100 - Tendency of short wave radiation K -101 101 - Tendency of long wave radiation K -102 102 - Tendency of clear sky short wave radiation K -103 103 - Tendency of clear sky long wave radiation K -104 104 - Updraught mass flux kg m**-2 -105 105 - Downdraught mass flux kg m**-2 -106 106 - Updraught detrainment rate kg m**-3 -107 107 - Downdraught detrainment rate kg m**-3 -108 108 - Total precipitation flux kg m**-2 -109 109 - Turbulent diffusion coefficient for heat m**2 -110 110 - Tendency of temperature due to physics K -111 111 - Tendency of specific humidity due to physics kg kg**-1 -112 112 - Tendency of u component due to physics m s**-1 -113 113 - Tendency of v component due to physics m s**-1 +100 100 - Tendency of short wave radiation (K) +101 101 - Tendency of long wave radiation (K) +102 102 - Tendency of clear sky short wave radiation (K) +103 103 - Tendency of clear sky long wave radiation (K) +104 104 - Updraught mass flux (kg m**-2) +105 105 - Downdraught mass flux (kg m**-2) +106 106 - Updraught detrainment rate (kg m**-3) +107 107 - Downdraught detrainment rate (kg m**-3) +108 108 - Total precipitation flux (kg m**-2) +109 109 - Turbulent diffusion coefficient for heat (m**2) +110 110 - Tendency of temperature due to physics (K) +111 111 - Tendency of specific humidity due to physics (kg kg**-1) +112 112 - Tendency of u component due to physics (m s**-1) +113 113 - Tendency of v component due to physics (m s**-1) 114 114 UTENDD U-tendency from dynamics (m s**-1) 115 115 VTENDD V-tendency from dynamics (m s**-1) 116 116 TTENDD T-tendency from dynamics (K) @@ -81,31 +83,31 @@ 139 139 VTENDCS V-tendency from shallow convection (m s**-1) 140 140 TTENDSC T-tendency from shallow convection (K) 141 141 QTENDSC q-tendency from shallow convection (kg kg**-1) -206 206 - Variance of geopotential m**4 s**-4 -207 207 - Covariance of geopotential/temperature m**2 K s**-2 -208 208 - Variance of temperature K**2 -209 209 - Covariance of geopotential/specific humidity m**2 s**-2 -210 210 - Covariance of temperature/specific humidity K +206 206 - Variance of geopotential (m**4 s**-4) +207 207 - Covariance of geopotential/temperature (m**2 K s**-2) +208 208 - Variance of temperature (K**2) +209 209 - Covariance of geopotential/specific humidity (m**2 s**-2) +210 210 - Covariance of temperature/specific humidity (K) 211 211 - Variance of specific humidity -212 212 - Covariance of u component/geopotential M**3 s**-3 -213 213 - Covariance of u component/temperature m s**-1 K -214 214 - Covariance of u component/specific humidity m s**-1 -215 215 - Variance of u component m**2 s**-2 -216 216 - Covariance of v component/geopotential M**3 s**-3 -217 217 - Covariance of v component/temperature m s**-1 K -218 218 - Covariance of v component/specific humidity m s**-1 -219 219 - Covariance of v component/u component m**2 s**-2 -220 220 - Variance of v component m**2 s**-2 -221 221 - Covariance of omega/geopotential m**2 Pa s**-3 -222 222 - Covariance of omega/temperature Pa s**-1 K -223 223 - Covariance of omega/specific humidity Pa s**-1 -224 224 - Covariance of omega/u component m Pa s**-2 -225 225 - Covariance of omega/v component m Pa s**-2 -226 226 - Variance of omega Pa**2 s**-2 -227 227 - Variance of surface pressure Pa**2 -229 229 - Variance of relative humidity dimensionless -230 230 - Covariance of u component/ozone m s**-1 -231 231 - Covariance of v component/ozone m s**-1 -232 232 - Covariance of omega/ozone Pa s**-1 -233 233 - Variance of ozone dimensionless +212 212 - Covariance of u component/geopotential (m**3 s**-3) +213 213 - Covariance of u component/temperature (m s**-1 K) +214 214 - Covariance of u component/specific humidity (m s**-1) +215 215 - Variance of u component (m**2 s**-2) +216 216 - Covariance of v component/geopotential (m**3 s**-3) +217 217 - Covariance of v component/temperature (m s**-1 K) +218 218 - Covariance of v component/specific humidity (m s**-1) +219 219 - Covariance of v component/u component (m**2 s**-2) +220 220 - Variance of v component (m**2 s**-2) +221 221 - Covariance of omega/geopotential (m**2 Pa s**-3) +222 222 - Covariance of omega/temperature (Pa s**-1 K) +223 223 - Covariance of omega/specific humidity (Pa s**-1) +224 224 - Covariance of omega/u component (m Pa s**-2) +225 225 - Covariance of omega/v component (m Pa s**-2) +226 226 - Variance of omega (Pa**2 s**-2) +227 227 - Variance of surface pressure (Pa**2) +229 229 - Variance of relative humidity (dimensionless) +230 230 - Covariance of u component/ozone (m s**-1) +231 231 - Covariance of v component/ozone (m s**-1) +232 232 - Covariance of omega/ozone (Pa s**-1) +233 233 - Variance of ozone (dimensionless) 255 255 - Indicates a missing value diff --git a/definitions/grib1/2.98.170.table b/definitions/grib1/2.98.170.table index ae1048f43..0848268c7 100644 --- a/definitions/grib1/2.98.170.table +++ b/definitions/grib1/2.98.170.table @@ -1,22 +1,33 @@ # This file was automatically generated by ./param.pl 129 129 Z Geopotential (m**2 s**-2) 130 130 T Temperature (K) -131 131 U U velocity (m s**-1) -132 132 V V velocity (m s**-1) +131 131 U U component of wind (m s**-1) +132 132 V V component of wind (m s**-1) 133 133 Q Specific humidity (kg kg**-1) 135 135 W Vertical velocity (Pa s**-1) 138 138 VO Vorticity (relative) (s**-1) 139 139 STL1 Soil temperature level 1 (K) -140 140 SWL1 Soil wetness level 1 (m) -141 141 SD Snow depth m of water equivalent +140 140 SWL1 Soil wetness level 1 (m of water equivalent) +141 141 SD Snow depth (m of water equivalent) 142 142 LSP Large-scale precipitation (m) +143 143 CP Convective precipitation (m) +146 146 SSHF Surface sensible heat flux (J m**-2) +147 147 SLHF Surface latent heat flux (J m**-2) 149 149 TSW Total soil moisture (m) -151 151 MSL Mean sea level pressure Pa -155 155 D Divergence s**-1 -171 171 SWL2 Soil wetness level 2 m -179 179 TTR Top thermal radiation W m-2 -184 184 SWL3 Soil wetness level 3 m -201 201 MX2T Maximum temperature at 2 metres K -202 202 MN2T Minimum temperature at 2 metres K -228 228 TP Total precipitation m +151 151 MSL Mean sea level pressure (Pa) +155 155 D Divergence (s**-1) +157 157 R Relative humidity (%) +164 164 TCC Total cloud cover ((0 - 1)) +171 171 SWL2 Soil wetness level 2 (m) +176 176 SSR Surface net solar radiation (J m**-2) +177 177 STR Surface net thermal radiation (J m**-2) +179 179 TTR Top net thermal radiation (J m**-2) +180 180 EWSS Eastward turbulent surface stress (N m**-2 s) +181 181 NSSS Northward turbulent surface stress (N m**-2 s) +182 182 E Evaporation (m of water equivalent) +184 184 SWL3 Soil wetness level 3 (m of water equivalent) +185 185 CCC Convective cloud cover ((0 - 1)) +201 201 MX2T Maximum temperature at 2 metres since previous post-processing (K) +202 202 MN2T Minimum temperature at 2 metres since previous post-processing (K) +228 228 TP Total precipitation (m) 255 255 - Indicates a missing value diff --git a/definitions/grib1/2.98.174.table b/definitions/grib1/2.98.174.table index f74b19ec7..e55f30bf3 100644 --- a/definitions/grib1/2.98.174.table +++ b/definitions/grib1/2.98.174.table @@ -2,9 +2,9 @@ 6 6 - Total soil moisture (m) 8 8 SRO Surface runoff (kg m**-2) 9 9 SSRO Sub-surface runoff (kg m**-2) -10 10 - Clear-sky II down surface sw flux -13 13 - Clear-sky II up surface sw flux -25 25 - Visibility at 1.5m +10 10 SSWCSDOWN Clear-sky (II) down surface sw flux (W m**-2) +13 13 SSWCSUP Clear-sky (II) up surface sw flux (W m**-2) +25 25 VIS15 Visibility at 1.5m (m) 31 31 - Fraction of sea-ice in sea (0 - 1) 34 34 - Open-sea surface temperature (K) 39 39 - Volumetric soil water layer 1 (m**3 m**-3) @@ -12,42 +12,43 @@ 41 41 - Volumetric soil water layer 3 (m**3 m**-3) 42 42 - Volumetric soil water layer 4 (m**3 m**-3) 49 49 - 10 metre wind gust in the last 24 hours (m s**-1) -50 50 - Minimum temperature at 1.5m since previous post-processing (K) -51 51 - Maximum temperature at 1.5m since previous post-processing (K) -52 52 - Relative humidity at 1.5m +50 50 MN15T Minimum temperature at 1.5m since previous post-processing (K) +51 51 MX15T Maximum temperature at 1.5m since previous post-processing (K) +52 52 RHUM Relative humidity at 1.5m (kg kg**-1) 55 55 - 1.5m temperature - mean in the last 24 hours (K) 83 83 - Net primary productivity (kg C m**-2 s**-1) 85 85 - 10m U wind over land (m s**-1) 86 86 - 10m V wind over land (m s**-1) 87 87 - 1.5m temperature over land (K) 88 88 - 1.5m dewpoint temperature over land (K) -89 89 - Top incoming solar radiation (W m**-2 s) -90 90 - Top outgoing solar radiation (W m**-2 s) +89 89 - Top incoming solar radiation (J m**-2) +90 90 - Top outgoing solar radiation (J m**-2) 94 94 - Mean sea surface temperature (K) 95 95 - 1.5m specific humidity (kg kg**-1) 98 98 - Sea-ice thickness (m) 99 99 - Liquid water potential temperature (K) 110 110 - Ocean ice concentration (0 - 1) 111 111 - Ocean mean ice depth (m) -116 116 - Short wave radiation flux at surface (J m**-2) -117 117 - Short wave radiation flux at top of atmosphere (J m**-2) -137 137 - Total column water vapour (kg m**-2) +116 116 SWRSURF Short wave radiation flux at surface (J m**-2) +117 117 SWRTOP Short wave radiation flux at top of atmosphere (J m**-2) +137 137 TCWVAP Total column water vapour (kg m**-2) 139 139 - Soil temperature layer 1 (K) -142 142 - Large scale rainfall rate -143 143 - Convective rainfall rate +142 142 LSRRATE Large scale rainfall rate (kg m**-2 s**-1) +143 143 CRFRATE Convective rainfall rate (kg m**-2 s**-1) 164 164 - Average potential temperature in upper 293.4m (degrees C) 167 167 - 1.5m temperature (K) 168 168 - 1.5m dewpoint temperature (K) 170 170 - Soil temperature layer 2 (K) -172 172 - Fractional land mask (0 - 1) -175 175 - Average salinity in upper 293.4m psu +172 172 LSM Land-sea mask (0 - 1) +175 175 - Average salinity in upper 293.4m (psu) 183 183 - Soil temperature layer 3 (K) -186 186 - Very low cloud amount +186 186 VLCA Very low cloud amount (0 - 1) 201 201 - 1.5m temperature - maximum in the last 24 hours (K) 202 202 - 1.5m temperature - minimum in the last 24 hours (K) 236 236 - Soil temperature layer 4 (K) -239 239 - Convective snowfall rate -240 240 - Large scale snowfall rate -248 248 - Total cloud amount - random overlap -249 249 - Total cloud amount in lw radiation -255 255 - Indicates a missing value +239 239 CSFRATE Convective snowfall rate (kg m**-2 s**-1) +240 240 LSFRATE Large scale snowfall rate (kg m**-2 s**-1) +248 248 TCCRO Total cloud amount - random overlap (0 - 1) +249 249 TCCLWR Total cloud amount in lw radiation (0 - 1) +255 255 - Indicates a missing value + diff --git a/definitions/grib1/2.98.175.table b/definitions/grib1/2.98.175.table index 7d2a1b373..a64289ad3 100644 --- a/definitions/grib1/2.98.175.table +++ b/definitions/grib1/2.98.175.table @@ -13,17 +13,17 @@ 86 86 - 10m V wind over land (m s**-1) 87 87 - 1.5m temperature over land (K) 88 88 - 1.5m dewpoint temperature over land (K) -89 89 - Top incoming solar radiation (W m**-2 s) -90 90 - Top outgoing solar radiation (W m**-2 s) +89 89 - Top incoming solar radiation (J m**-2) +90 90 - Top outgoing solar radiation (J m**-2) 110 110 - Ocean ice concentration (0 - 1) 111 111 - Ocean mean ice depth (m) 139 139 - Soil temperature layer 1 (K) -164 164 - Average potential temperature in upper 293.4m degrees C +164 164 - Average potential temperature in upper 293.4m (degrees C) 167 167 - 1.5m temperature (K) 168 168 - 1.5m dewpoint temperature (K) 170 170 - Soil temperature layer 2 (K) -172 172 - Fractional land mask (0 - 1) -175 175 - Average salinity in upper 293.4m psu +172 172 lsm Land-sea mask (0 - 1) +175 175 - Average salinity in upper 293.4m (psu) 183 183 - Soil temperature layer 3 (K) 201 201 - 1.5m temperature - maximum in the last 24 hours (K) 202 202 - 1.5m temperature - minimum in the last 24 hours (K) diff --git a/definitions/grib1/2.98.180.table b/definitions/grib1/2.98.180.table index 50cbbad6a..8b5756e11 100644 --- a/definitions/grib1/2.98.180.table +++ b/definitions/grib1/2.98.180.table @@ -1,33 +1,33 @@ # This file was automatically generated by ./param.pl -129 129 Z Geopotential m**2 s**-2 -130 130 T Temperature K -131 131 U U velocity m s**-1 -132 132 V V velocity m s**-1 -133 133 Q Specific humidity kg kg**-1 -134 134 SP Surface pressure Pa -137 137 TCWV Total column water vapour kg m**-2 -138 138 VO Vorticity (relative) s**-1 -141 141 SD Snow depth m of water equivalent -142 142 LSP Large-scale precipitation m -143 143 CP Convective precipitation m -144 144 SF Snowfall m of water equivalent -146 146 SSHF Surface sensible heat flux W m**-2 s -147 147 SLHF Surface latent heat flux W m**-2 s -149 149 TSW Total soil wetness m -151 151 MSL Mean sea level pressure Pa -155 155 D Divergence s**-1 +129 129 Z Geopotential (m**2 s**-2) +130 130 T Temperature (K) +131 131 U U component of wind (m s**-1) +132 132 V V component of wind (m s**-1) +133 133 Q Specific humidity (kg kg**-1) +134 134 SP Surface pressure (Pa) +137 137 TCWV Total column water vapour (kg m**-2) +138 138 VO Vorticity (relative) (s**-1) +141 141 SD Snow depth (m of water equivalent) +142 142 LSP Large-scale precipitation (m) +143 143 CP Convective precipitation (m) +144 144 SF Snowfall (m of water equivalent) +146 146 SSHF Surface sensible heat flux (J m**-2) +147 147 SLHF Surface latent heat flux (J m**-2) +149 149 TSW Total soil wetness (m) +151 151 MSL Mean sea level pressure (Pa) +155 155 D Divergence (s**-1) 164 164 TCC Total cloud cover (0 - 1) -165 165 10U 10 metre U wind component m s**-1 -166 166 10V 10 metre V wind component m s**-1 -167 167 2T 2 metre temperature K -168 168 2D 2 metre dewpoint temperature K +165 165 10U 10 metre U wind component (m s**-1) +166 166 10V 10 metre V wind component (m s**-1) +167 167 2T 2 metre temperature (K) +168 168 2D 2 metre dewpoint temperature (K) 172 172 LSM Land-sea mask (0 - 1) -176 176 SSR Surface solar radiation J m**-2 s -177 177 STR Surface thermal radiation J m**-2 s -178 178 TSR Top solar radiation J m**-2 s -179 179 TTR Top thermal radiation J m**-2 s -180 180 EWSS East-West surface stress N m**-2 s -181 181 NSSS North-South surface stress N m**-2 s -182 182 E Evaporation m of water -205 205 RO Runoff m +176 176 SSR Surface net solar radiation (J m**-2) +177 177 STR Surface net thermal radiation (J m**-2) +178 178 TSR Top net solar radiation (J m**-2) +179 179 TTR Top net thermal radiation (J m**-2) +180 180 EWSS Eastward turbulent surface stress (N m**-2 s) +181 181 NSSS Northward turbulent surface stress (N m**-2 s) +182 182 E Evaporation (m of water equivalent) +205 205 RO Runoff (m) 255 255 - Indicates a missing value diff --git a/definitions/grib1/2.98.190.table b/definitions/grib1/2.98.190.table index 66acd840a..cc22762f1 100644 --- a/definitions/grib1/2.98.190.table +++ b/definitions/grib1/2.98.190.table @@ -1,33 +1,37 @@ # This file was automatically generated by ./param.pl -129 129 Z Geopotential m**2 s**-2 -130 130 T Temperature K -131 131 U U velocity m s**-1 -132 132 V V velocity m s**-1 -133 133 Q Specific humidity kg kg**-1 -139 139 STL1 Soil temperature level 1 K -141 141 SD Snow depth m of water -146 146 SSHF Surface sensible heat flux W m**-2 s -147 147 SLHF Surface latent heat flux W m**-2 s -151 151 MSL Mean sea level pressure Pa +129 129 Z Geopotential (m**2 s**-2) +130 130 T Temperature (K) +131 131 U U component of wind (m s**-1) +132 132 V V component of wind (m s**-1) +133 133 Q Specific humidity (kg kg**-1) +134 134 SP Surface pressure (Pa) +138 138 VO Vorticity (relative) (s**-1) +139 139 STL1 Soil temperature level 1 (K) +141 141 SDSIEN Snow depth (kg m**-2) +146 146 SSHF Surface sensible heat flux (J m**-2) +147 147 SLHF Surface latent heat flux (J m**-2) +151 151 MSL Mean sea level pressure (Pa) +155 155 D Divergence (s**-1) +157 157 R Relative humidity (%) 164 164 TCC Total cloud cover (0 - 1) -165 165 10U 10 metre U wind component m s**-1 -166 166 10V 10 metre V wind component m s**-1 -167 167 2T 2 metre temperature K -168 168 2D 2 metre dewpoint temperature K -169 169 SSRD Downward surface solar radiation W m**-2 s (W m**-2 for monthly means) -170 170 CAP Field capacity ? -171 171 WILT Wilting points ? +165 165 10U 10 metre U wind component (m s**-1) +166 166 10V 10 metre V wind component (m s**-1) +167 167 2T 2 metre temperature (K) +168 168 2D 2 metre dewpoint temperature (K) +169 169 SSRD Surface solar radiation downwards (J m**-2) +170 170 CAP Field capacity (0 - 1) +171 171 WILTSIEN Wilting point (0 - 1) 172 172 LSM Land-sea mask (0 - 1) 173 173 SR Roughness length (0 - 1) 174 174 AL Albedo (0 - 1) -175 175 STRD Downward surface long wave radiation W m**-2 s (W m**-2 for monthly means) -176 176 SSR Surface net solar radiation W m**-2 s (W m**-2 for monthly means) -177 177 STR Surface net long wave radiation W m**-2 s (W m**-2 for monthly means) -178 178 TSR Top net solar radiation W m**-2 s (W m**-2 for monthly means) -179 179 TTR Top net long wave radiation W m**-2 s (W m**-2 for monthly means) -182 182 E Evaporation m (m s**-1 for monthly means) -201 201 MX2T Maximum 2 metre temperature K -202 202 MN2T Minimum 2 metre temperature K -228 228 TP Total precipitation m (m s**-1 for monthly means) -229 229 TSM Total soil moisture m**3 m**-3 -255 255 - Indicates a missing value +175 175 STRD Surface thermal radiation downwards (J m**-2) +176 176 SSR Surface net solar radiation (J m**-2) +177 177 STR Surface net thermal radiation (J m**-2) +178 178 TSR Top net solar radiation (J m**-2) +179 179 TTR Top net thermal radiation (J m**-2) +182 182 E Evaporation (m of water equivalent) +201 201 MX2T Maximum temperature at 2 metres since previous post-processing (K) +202 202 MN2T Minimum temperature at 2 metres since previous post-processing (K) +228 228 TP Total precipitation (m) +229 229 TSM Total soil moisture (m**3 m**-3) +255 255 - Indicates a missing value \ No newline at end of file diff --git a/definitions/grib1/2.98.200.table b/definitions/grib1/2.98.200.table index 591a5ffe1..cd5616825 100644 --- a/definitions/grib1/2.98.200.table +++ b/definitions/grib1/2.98.200.table @@ -1,237 +1,236 @@ # This file was automatically generated by ./param.pl -1 1 STRF Stream function m**2 s**-1 -2 2 VPOT Velocity potential m**2 s**-1 -3 3 PT Potential temperature K -4 4 EQPT Equivalent potential temperature K -5 5 SEPT Saturated equivalent potential temperature K -11 11 UDVW U component of divergent wind m s**-1 -12 12 VDVW V component of divergent wind m s**-1 -13 13 URTW U component of rotational wind m s**-1 -14 14 VRTW V component of rotational wind m s**-1 -21 21 UCTP Unbalanced component of temperature K -22 22 UCLN Unbalanced component of logarithm of surface pressure -23 23 UCDV Unbalanced component of divergence s**-1 -24 24 - Reserved for future unbalanced components -25 25 - Reserved for future unbalanced components -26 26 CL Lake cover (0 - 1) -27 27 CVL Low vegetation cover (0 - 1) -28 28 CVH High vegetation cover (0 - 1) -29 29 TVL Type of low vegetation -30 30 TVH Type of high vegetation -31 31 CI Sea-ice cover (0 - 1) -32 32 ASN Snow albedo (0 - 1) -33 33 RSN Snow density kg m**-3 -34 34 SSTK Sea surface temperature K -35 35 ISTL1 Ice surface temperature layer 1 K -36 36 ISTL2 Ice surface temperature layer 2 K -37 37 ISTL3 Ice surface temperature layer 3 K -38 38 ISTL4 Ice surface temperature layer 4 K -39 39 SWVL1 Volumetric soil water layer 1 m**3 m**-3 -40 40 SWVL2 Volumetric soil water layer 2 m**3 m**-3 -41 41 SWVL3 Volumetric soil water layer 3 m**3 m**-3 -42 42 SWVL4 Volumetric soil water layer 4 m**3 m**-3 -43 43 SLT Soil type -44 44 ES Snow evaporation m of water -45 45 SMLT Snowmelt m of water -46 46 SDUR Solar duration s -47 47 DSRP Direct solar radiation w m**-2 -48 48 MAGSS Magnitude of surface stress N m**-2 s -49 49 10FG 10 metre wind gust m s**-1 -50 50 LSPF Large-scale precipitation fraction s -51 51 MX2T24 Maximum 2 metre temperature K -52 52 MN2T24 Minimum 2 metre temperature K -53 53 MONT Montgomery potential m**2 s**-2 -54 54 PRES Pressure Pa -55 55 MEAN2T24 Mean 2 metre temperature in past 24 hours K -56 56 MN2D24 Mean 2 metre dewpoint temperature in past 24 hours K -57 57 UVB Downward UV radiation at the surface w m**-2 s -58 58 PAR Photosynthetically active radiation at the surface w m**-2 s -59 59 CAPE Convective available potential energy J kg**-1 -60 60 PV Potential vorticity K m**2 kg**-1 s**-1 -61 61 TPO Total precipitation from observations Millimetres*100 + number of stations -62 62 OBCT Observation count -63 63 - Start time for skin temperature difference s -64 64 - Finish time for skin temperature difference s -65 65 - Skin temperature difference K -66 66 - Leaf area index, low vegetation m**2 / m**2 -67 67 - Leaf area index, high vegetation m**2 / m**2 -68 68 - Minimum stomatal resistance, low vegetation s m**-1 -69 69 - Minimum stomatal resistance, high vegetation s m**-1 +1 1 STRFDIFF Stream function difference (m**2 s**-1) +2 2 VPOTDIFF Velocity potential difference (m**2 s**-1) +3 3 PTDIFF Potential temperature difference (K) +4 4 EQPTDIFF Equivalent potential temperature difference (K) +5 5 SEPTDIFF Saturated equivalent potential temperature difference (K) +11 11 UDVWDIFF U component of divergent wind difference (m s**-1) +12 12 VDVWDIFF V component of divergent wind difference (m s**-1) +13 13 URTWDIFF U component of rotational wind difference (m s**-1) +14 14 VRTWDIFF V component of rotational wind difference (m s**-1) +21 21 UCTPDIFF Unbalanced component of temperature difference (K) +22 22 UCLNDIFF Unbalanced component of logarithm of surface pressure difference (~) +23 23 UCDVDIFF Unbalanced component of divergence difference (s**-1) +24 24 - Reserved for future unbalanced components (~) +25 25 - Reserved for future unbalanced components (~) +26 26 CLDIFF Lake cover difference (0 - 1) +27 27 CVLDIFF Low vegetation cover difference (0 - 1) +28 28 CVHDIFF High vegetation cover difference (0 - 1) +29 29 TVLDIFF Type of low vegetation difference (~) +30 30 TVHDIFF Type of high vegetation difference (~) +31 31 SICDIFF Sea-ice cover difference (0 - 1) +32 32 ASNDIFF Snow albedo difference (0 - 1) +33 33 RSNDIFF Snow density difference (kg m**-3) +34 34 SSTDIFF Sea surface temperature difference (K) +35 35 ISTL1DIFF Ice surface temperature layer 1 difference (K) +36 36 ISTL2DIFF Ice surface temperature layer 2 difference (K) +37 37 ISTL3DIFF Ice surface temperature layer 3 difference (K) +38 38 ISTL4DIFF Ice surface temperature layer 4 difference (K) +39 39 SWVL1DIFF Volumetric soil water layer 1 difference (m**3 m**-3) +40 40 SWVL2DIFF Volumetric soil water layer 2 difference (m**3 m**-3) +41 41 SWVL3DIFF Volumetric soil water layer 3 difference (m**3 m**-3) +42 42 SWVL4DIFF Volumetric soil water layer 4 difference (m**3 m**-3) +43 43 SLTDIFF Soil type difference (~) +44 44 ESDIFF Snow evaporation difference (kg m**-2) +45 45 SMLTDIFF Snowmelt difference (kg m**-2) +46 46 SDURDIFF Solar duration difference (s) +47 47 DSRPDIFF Direct solar radiation difference (J m**-2) +48 48 MAGSSDIFF Magnitude of surface stress difference (N m**-2 s) +49 49 10FGDIFF 10 metre wind gust difference (m s**-1) +50 50 LSPFDIFF Large-scale precipitation fraction difference (s) +51 51 MX2T24DIFF Maximum 2 metre temperature difference (K) +52 52 MN2T24DIFF Minimum 2 metre temperature difference (K) +53 53 MONTDIFF Montgomery potential difference (m**2 s**-2) +54 54 PRESDIFF Pressure difference (Pa) +55 55 MEAN2T24DIFF Mean 2 metre temperature in the last 24 hours difference (K) +56 56 MN2D24DIFF Mean 2 metre dewpoint temperature in the last 24 hours difference (K) +57 57 UVBDIFF Downward UV radiation at the surface difference (J m**-2) +58 58 PARDIFF Photosynthetically active radiation at the surface difference (J m**-2) +59 59 CAPEDIFF Convective available potential energy difference (J kg**-1) +60 60 PVDIFF Potential vorticity difference (K m**2 kg**-1 s**-1) +61 61 TPODIFF Total precipitation from observations difference (Millimetres*100 + number of stations) +62 62 OBCTDIFF Observation count difference (~) +63 63 - Start time for skin temperature difference (s) +64 64 - Finish time for skin temperature difference (s) +65 65 - Skin temperature difference (K) +66 66 - Leaf area index, low vegetation (m**2 m**-2) +67 67 - Leaf area index, high vegetation (m**2 m**-2) +68 68 - Minimum stomatal resistance, low vegetation (s m**-1) +69 69 - Minimum stomatal resistance, high vegetation (s m**-1) 70 70 - Biome cover, low vegetation (0 - 1) 71 71 - Biome cover, high vegetation (0 - 1) -78 78 - Total column liquid water kg m**-2 -79 79 - Total column ice water kg m**-2 -80 80 - Experimental product -81 81 - Experimental product -82 82 - Experimental product -83 83 - Experimental product -84 84 - Experimental product -85 85 - Experimental product -86 86 - Experimental product -87 87 - Experimental product -88 88 - Experimental product -89 89 - Experimental product -90 90 - Experimental product -91 91 - Experimental product -92 92 - Experimental product -93 93 - Experimental product -94 94 - Experimental product -95 95 - Experimental product -96 96 - Experimental product -97 97 - Experimental product -98 98 - Experimental product -99 99 - Experimental product -100 100 - Experimental product -101 101 - Experimental product -102 102 - Experimental product -103 103 - Experimental product -104 104 - Experimental product -105 105 - Experimental product -106 106 - Experimental product -107 107 - Experimental product -108 108 - Experimental product -109 109 - Experimental product -110 110 - Experimental product -111 111 - Experimental product -112 112 - Experimental product -113 113 - Experimental product -114 114 - Experimental product -115 115 - Experimental product -116 116 - Experimental product -117 117 - Experimental product -118 118 - Experimental product -119 119 - Experimental product -120 120 - Experimental product -121 121 MX2T6 Maximum temperature at 2 metres K -122 122 MN2T6 Minimum temperature at 2 metres K -123 123 10FG6 10 metre wind gust in the past 6 hours m s**-1 -125 125 - Vertically integrated total energy J m**-2 -126 126 - Generic parameter for sensitive area prediction Various -127 127 AT Atmospheric tide -128 128 BV Budget values -129 129 Z Geopotential m**2 s**-2 -130 130 T Temperature K -131 131 U U velocity m s**-1 -132 132 V V velocity m s**-1 -133 133 Q Specific humidity kg kg**-1 -134 134 SP Surface pressure Pa -135 135 W Vertical velocity Pa s**-1 -136 136 TCW Total column water kg m**-2 -137 137 TCWV Total column water vapour kg m**-2 -138 138 VO Vorticity (relative) s**-1 -139 139 STL1 Soil temperature level 1 K -140 140 SWL1 Soil wetness level 1 m of water -141 141 SD Snow depth m of water equivalent -142 142 LSP Stratiform precipitation (Large-scale precipitation) m -143 143 CP Convective precipitation m -144 144 SF Snowfall (convective + stratiform) m of water equivalent -145 145 BLD Boundary layer dissipation W m**-2 s -146 146 SSHF Surface sensible heat flux W m**-2 s -147 147 SLHF Surface latent heat flux W m**-2 s -148 148 CHNK Charnock -149 149 SNR Surface net radiation W m**-2 s -150 150 TNR Top net radiation -151 151 MSL Mean sea level pressure Pa -152 152 LNSP Logarithm of surface pressure -153 153 SWHR Short-wave heating rate K -154 154 LWHR Long-wave heating rate K -155 155 D Divergence s**-1 -156 156 GH Height m -157 157 R Relative humidity % -158 158 TSP Tendency of surface pressure Pa s**-1 -159 159 BLH Boundary layer height m -160 160 SDOR Standard deviation of orography -161 161 ISOR Anisotropy of sub-gridscale orography -162 162 ANOR Angle of sub-gridscale orography rad -163 163 SLOR Slope of sub-gridscale orography -164 164 TCC Total cloud cover (0 - 1) -165 165 10U 10 metre U wind component m s**-1 -166 166 10V 10 metre V wind component m s**-1 -167 167 2T 2 metre temperature K -168 168 2D 2 metre dewpoint temperature K -169 169 SSRD Surface solar radiation downwards W m**-2 s -170 170 STL2 Soil temperature level 2 K -171 171 SWL2 Soil wetness level 2 m of water -172 172 LSM Land-sea mask (0 - 1) -173 173 SR Surface roughness m -174 174 AL Albedo (0 - 1) -175 175 STRD Surface thermal radiation downwards W m**-2 s -176 176 SSR Surface solar radiation W m**-2 s -177 177 STR Surface thermal radiation W m**-2 s -178 178 TSR Top solar radiation W m**-2 s -179 179 TTR Top thermal radiation W m**-2 s -180 180 EWSS East-West surface stress N m**-2 s -181 181 NSSS North-South surface stress N m**-2 s -182 182 E Evaporation m of water -183 183 STL3 Soil temperature level 3 K -184 184 SWL3 Soil wetness level 3 m of water -185 185 CCC Convective cloud cover (0 - 1) -186 186 LCC Low cloud cover (0 - 1) -187 187 MCC Medium cloud cover (0 - 1) -188 188 HCC High cloud cover (0 - 1) -189 189 SUND Sunshine duration s -190 190 EWOV East-West component of sub-gridscale orographic variance m**2 -191 191 NSOV North-South component of sub-gridscale orographic variance m**2 -192 192 NWOV North-West/South-East component of sub-gridscale orographic variance m**2 -193 193 NEOV North-East/South-West component of sub-gridscale orographic variance m**2 -194 194 BTMP Brightness temperature K -195 195 LGWS Latitudinal component of gravity wave stress N m**-2 s -196 196 MGWS Meridional component of gravity wave stress N m**-2 s -197 197 GWD Gravity wave dissipation W m**-2 s -198 198 SRC Skin reservoir content m of water -199 199 VEG Vegetation fraction (0 - 1) -200 200 VSO Variance of sub-gridscale orography m**2 -201 201 MX2T Maximum temperature at 2 metres since previous post-processing K -202 202 MN2T Minimum temperature at 2 metres since previous post-processing K -203 203 O3 Ozone mass mixing ratio kg kg**-1 -204 204 PAW Precipitation analysis weights -205 205 RO Runoff m -206 206 TCO3 Total column ozone kg m**-2 -207 207 10SI 10 metre wind speed m s**-1 -208 208 TSRC Top net solar radiation, clear sky W m**-2 s -209 209 TTRC Top net thermal radiation, clear sky W m**-2 s -210 210 SSRC Surface net solar radiation, clear sky W m**-2 s -211 211 STRC Surface net thermal radiation, clear sky W m**-2 s -212 212 TISR TOA incident solar radiation W m**-2 s -214 214 DHR Diabatic heating by radiation K -215 215 DHVD Diabatic heating by vertical diffusion K -216 216 DHCC Diabatic heating by cumulus convection K -217 217 DHLC Diabatic heating large-scale condensation K -218 218 VDZW Vertical diffusion of zonal wind m s**-1 -219 219 VDMW Vertical diffusion of meridional wind m s**-1 -220 220 EWGD East-West gravity wave drag tendency m s**-1 -221 221 NSGD North-South gravity wave drag tendency m s**-1 -222 222 CTZW Convective tendency of zonal wind m s**-1 -223 223 CTMW Convective tendency of meridional wind m s**-1 -224 224 VDH Vertical diffusion of humidity kg kg**-1 -225 225 HTCC Humidity tendency by cumulus convection kg kg**-1 -226 226 HTLC Humidity tendency by large-scale condensation kg kg**-1 -227 227 CRNH Change from removal of negative humidity kg kg**-1 -228 228 TP Total precipitation m -229 229 IEWS Instantaneous X surface stress N m**-2 -230 230 INSS Instantaneous Y surface stress N m**-2 -231 231 ISHF Instantaneous surface heat flux W m**-2 -232 232 IE Instantaneous moisture flux kg m**-2 s -233 233 ASQ Apparent surface humidity kg kg**-1 -234 234 LSRH Logarithm of surface roughness length for heat -235 235 SKT Skin temperature K -236 236 STL4 Soil temperature level 4 K -237 237 SWL4 Soil wetness level 4 m -238 238 TSN Temperature of snow layer K -239 239 CSF Convective snowfall m of water equivalent -240 240 LSF Large-scale snowfall m of water equivalent -241 241 ACF Accumulated cloud fraction tendency (-1 to 1) -242 242 ALW Accumulated liquid water tendency (-1 to 1) -243 243 FAL Forecast albedo (0 - 1) -244 244 FSR Forecast surface roughness m -245 245 FLSR Forecast logarithm of surface roughness for heat -246 246 CLWC Cloud liquid water content kg kg**-1 -247 247 CIWC Cloud ice water content kg kg**-1 -248 248 CC Cloud cover (0 - 1) -249 249 AIW Accumulated ice water tendency (-1 to 1) -250 250 ICE Ice age (0 - 1) -251 251 ATTE Adiabatic tendency of temperature K -252 252 ATHE Adiabatic tendency of humidity kg kg**-1 -253 253 ATZE Adiabatic tendency of zonal wind m s**-1 -254 254 ATMW Adiabatic tendency of meridional wind m s**-1 -255 255 - Indicates a missing value +78 78 - Total column liquid water (kg m**-2) +79 79 - Total column ice water (kg m**-2) +80 80 - Experimental product (~) +81 81 - Experimental product (~) +82 82 - Experimental product (~) +83 83 - Experimental product (~) +84 84 - Experimental product (~) +85 85 - Experimental product (~) +86 86 - Experimental product (~) +87 87 - Experimental product (~) +88 88 - Experimental product (~) +89 89 - Experimental product (~) +90 90 - Experimental product (~) +91 91 - Experimental product (~) +92 92 - Experimental product (~) +93 93 - Experimental product (~) +94 94 - Experimental product (~) +95 95 - Experimental product (~) +96 96 - Experimental product (~) +97 97 - Experimental product (~) +98 98 - Experimental product (~) +99 99 - Experimental product (~) +100 100 - Experimental product (~) +101 101 - Experimental product (~) +102 102 - Experimental product (~) +103 103 - Experimental product (~) +104 104 - Experimental product (~) +105 105 - Experimental product (~) +106 106 - Experimental product (~) +107 107 - Experimental product (~) +108 108 - Experimental product (~) +109 109 - Experimental product (~) +110 110 - Experimental product (~) +111 111 - Experimental product (~) +112 112 - Experimental product (~) +113 113 - Experimental product (~) +114 114 - Experimental product (~) +115 115 - Experimental product (~) +116 116 - Experimental product (~) +117 117 - Experimental product (~) +118 118 - Experimental product (~) +119 119 - Experimental product (~) +120 120 - Experimental product (~) +121 121 MX2T6DIFF Maximum temperature at 2 metres difference (K) +122 122 MN2T6DIFF Minimum temperature at 2 metres difference (K) +123 123 10FG6DIFF 10 metre wind gust in the last 6 hours difference (m s**-1) +125 125 - Vertically integrated total energy (J m**-2) +126 126 - Generic parameter for sensitive area prediction (Various) +127 127 ATDIFF Atmospheric tide difference (~) +128 128 BVDIFF Budget values difference (~) +129 129 ZDIFF Geopotential difference (m**2 s**-2) +130 130 TDIFF Temperature difference (K) +131 131 UDIFF U component of wind difference (m s**-1) +132 132 VDIFF V component of wind difference (m s**-1) +133 133 QDIFF Specific humidity difference (kg kg**-1) +134 134 SPDIFF Surface pressure difference (Pa) +135 135 WDIFF Vertical velocity (pressure) difference (Pa s**-1) +136 136 TCWDIFF Total column water difference (kg m**-2) +137 137 TCWVDIFF Total column water vapour difference (kg m**-2) +138 138 VODIFF Vorticity (relative) difference (s**-1) +139 139 STL1DIFF Soil temperature level 1 difference (K) +140 140 SWL1DIFF Soil wetness level 1 difference (kg m**-2) +141 141 SDDIFF Snow depth difference (m of water equivalent) +142 142 LSPDIFF Stratiform precipitation (Large-scale precipitation) difference (m) +143 143 CPDIFF Convective precipitation difference (m) +144 144 SFDIFF Snowfall (convective + stratiform) difference (m of water equivalent) +145 145 BLDDIFF Boundary layer dissipation difference (J m**-2) +146 146 SSHFDIFF Surface sensible heat flux difference (J m**-2) +147 147 SLHFDIFF Surface latent heat flux difference (J m**-2) +148 148 CHNKDIFF Charnock difference (~) +149 149 SNRDIFF Surface net radiation difference (J m**-2) +150 150 TNRDIFF Top net radiation difference (~) +151 151 MSLDIFF Mean sea level pressure difference (Pa) +152 152 LNSPDIFF Logarithm of surface pressure difference (kg m**-2) +153 153 SWHRDIFF Short-wave heating rate difference (K) +154 154 LWHRDIFF Long-wave heating rate difference (K) +155 155 DDIFF Divergence difference (s**-1) +156 156 GHDIFF Height difference (m) +157 157 RDIFF Relative humidity difference (%) +158 158 TSPDIFF Tendency of surface pressure difference (Pa s**-1) +159 159 BLHDIFF Boundary layer height difference (m) +160 160 SDORDIFF Standard deviation of orography difference (~) +161 161 ISORDIFF Anisotropy of sub-gridscale orography difference (~) +162 162 ANORDIFF Angle of sub-gridscale orography difference (radians) +163 163 SLORDIFF Slope of sub-gridscale orography difference (~) +164 164 TCCDIFF Total cloud cover difference (0 - 1) +165 165 10UDIFF 10 metre U wind component difference (m s**-1) +166 166 10VDIFF 10 metre V wind component difference (m s**-1) +167 167 2TDIFF 2 metre temperature difference (K) +168 168 2DDIFF 2 metre dewpoint temperature difference (K) +169 169 SSRDDIFF Surface solar radiation downwards difference (J m**-2) +170 170 STL2DIFF Soil temperature level 2 difference (K) +171 171 SWL2DIFF Soil wetness level 2 difference (kg m**-2) +172 172 LSMDIFF Land-sea mask difference (0 - 1) +173 173 SRDIFF Surface roughness difference (m) +174 174 ALDIFF Albedo difference (0 - 1) +175 175 STRDDIFF Surface thermal radiation downwards difference (J m**-2) +176 176 SSRDIFF Surface net solar radiation difference (J m**-2) +177 177 STRDIFF Surface net thermal radiation difference (J m**-2) +178 178 TSRDIFF Top net solar radiation difference (J m**-2) +179 179 TTRDIFF Top net thermal radiation difference (J m**-2) +180 180 EWSSDIFF East-West surface stress difference (N m**-2 s) +181 181 NSSSDIFF North-South surface stress difference (N m**-2 s) +182 182 EDIFF Evaporation difference (kg m**-2) +183 183 STL3DIFF Soil temperature level 3 difference (K) +184 184 SWL3DIFF Soil wetness level 3 difference (kg m**-2) +185 185 CCCDIFF Convective cloud cover difference (0 - 1) +186 186 LCCDIFF Low cloud cover difference (0 - 1) +187 187 MCCDIFF Medium cloud cover difference (0 - 1) +188 188 HCCDIFF High cloud cover difference (0 - 1) +189 189 SUNDDIFF Sunshine duration difference (s) +190 190 EWOVDIFF East-West component of sub-gridscale orographic variance difference (m**2) +191 191 NSOVDIFF North-South component of sub-gridscale orographic variance difference (m**2) +192 192 NWOVDIFF North-West/South-East component of sub-gridscale orographic variance difference (m**2) +193 193 NEOVDIFF North-East/South-West component of sub-gridscale orographic variance difference (m**2) +194 194 BTMPDIFF Brightness temperature difference (K) +195 195 LGWSDIFF Longitudinal component of gravity wave stress difference (N m**-2 s) +196 196 MGWSDIFF Meridional component of gravity wave stress difference (N m**-2 s) +197 197 GWDDIFF Gravity wave dissipation difference (J m**-2) +198 198 SRCDIFF Skin reservoir content difference (kg m**-2) +199 199 VEGDIFF Vegetation fraction difference (0 - 1) +200 200 VSODIFF Variance of sub-gridscale orography difference (m**2) +201 201 MX2TDIFF Maximum temperature at 2 metres since previous post-processing difference (K) +202 202 MN2TDIFF Minimum temperature at 2 metres since previous post-processing difference (K) +203 203 O3DIFF Ozone mass mixing ratio difference (kg kg**-1) +204 204 PAWDIFF Precipitation analysis weights difference (~) +205 205 RODIFF Runoff difference (m) +206 206 TCO3DIFF Total column ozone difference (kg m**-2) +207 207 10SIDIFF 10 metre wind speed difference (m s**-1) +208 208 TSRCDIFF Top net solar radiation, clear sky difference (J m**-2) +209 209 TTRCDIFF Top net thermal radiation, clear sky difference (J m**-2) +210 210 SSRCDIFF Surface net solar radiation, clear sky difference (J m**-2) +211 211 STRCDIFF Surface net thermal radiation, clear sky difference (J m**-2) +212 212 TISRDIFF TOA incident solar radiation difference (J m**-2) +214 214 DHRDIFF Diabatic heating by radiation difference (K) +215 215 DHVDDIFF Diabatic heating by vertical diffusion difference (K) +216 216 DHCCDIFF Diabatic heating by cumulus convection difference (K) +217 217 DHLCDIFF Diabatic heating large-scale condensation difference (K) +218 218 VDZWDIFF Vertical diffusion of zonal wind difference (m s**-1) +219 219 VDMWDIFF Vertical diffusion of meridional wind difference (m s**-1) +220 220 EWGDDIFF East-West gravity wave drag tendency difference (m s**-1) +221 221 NSGDDIFF North-South gravity wave drag tendency difference (m s**-1) +222 222 CTZWDIFF Convective tendency of zonal wind difference (m s**-1) +223 223 CTMWDIFF Convective tendency of meridional wind difference (m s**-1) +224 224 VDHDIFF Vertical diffusion of humidity difference (kg kg**-1) +225 225 HTCCDIFF Humidity tendency by cumulus convection difference (kg kg**-1) +226 226 HTLCDIFF Humidity tendency by large-scale condensation difference (kg kg**-1) +227 227 CRNHDIFF Change from removal of negative humidity difference (kg kg**-1) +228 228 TPDIFF Total precipitation difference (m) +229 229 IEWSDIFF Instantaneous X surface stress difference (N m**-2) +230 230 INSSDIFF Instantaneous Y surface stress difference (N m**-2) +231 231 ISHFDIFF Instantaneous surface heat flux difference (J m**-2) +232 232 IEDIFF Instantaneous moisture flux difference (kg m**-2 s) +233 233 ASQDIFF Apparent surface humidity difference (kg kg**-1) +234 234 LSRHDIFF Logarithm of surface roughness length for heat difference (~) +235 235 SKTDIFF Skin temperature difference (K) +236 236 STL4DIFF Soil temperature level 4 difference (K) +237 237 SWL4DIFF Soil wetness level 4 difference (m) +238 238 TSNDIFF Temperature of snow layer difference (K) +239 239 CSFDIFF Convective snowfall difference (m of water equivalent) +240 240 LSFDIFF Large scale snowfall difference (m of water equivalent) +241 241 ACFDIFF Accumulated cloud fraction tendency difference ((-1 to 1)) +242 242 ALWDIFF Accumulated liquid water tendency difference ((-1 to 1)) +243 243 FALDIFF Forecast albedo difference (0 - 1) +244 244 FSRDIFF Forecast surface roughness difference (m) +245 245 FLSRDIFF Forecast logarithm of surface roughness for heat difference (~) +246 246 CLWCDIFF Specific cloud liquid water content difference (kg kg**-1) +247 247 CIWCDIFF Specific cloud ice water content difference (kg kg**-1) +248 248 CCDIFF Cloud cover difference (0 - 1) +249 249 AIWDIFF Accumulated ice water tendency difference ((-1 to 1)) +250 250 ICEDIFF Ice age difference (0 - 1) +251 251 ATTEDIFF Adiabatic tendency of temperature difference (K) +252 252 ATHEDIFF Adiabatic tendency of humidity difference (kg kg**-1) +253 253 ATZEDIFF Adiabatic tendency of zonal wind difference (m s**-1) +254 254 ATMWDIFF Adiabatic tendency of meridional wind difference (m s**-1) diff --git a/definitions/grib1/2.98.201.table b/definitions/grib1/2.98.201.table index 0117fff8d..b6c7aa0cd 100644 --- a/definitions/grib1/2.98.201.table +++ b/definitions/grib1/2.98.201.table @@ -1,33 +1,33 @@ # This file was automatically generated by ./param.pl -1 1 - downward shortwave radiant flux density W m**-2 -2 2 - upward shortwave radiant flux density W m**-2 -3 3 - downward longwave radiant flux density W m**-2 -4 4 - upward longwave radiant flux density W m**-2 -5 5 APAB_S downwd photosynthetic active radiant flux density W m**-2 -6 6 - net shortwave flux W m**-2 -7 7 - net longwave flux W m**-2 -8 8 - total net radiative flux density W m**-2 -9 9 - downw shortw radiant flux density, cloudfree part W m**-2 -10 10 - upw shortw radiant flux density, cloudy part W m**-2 -11 11 - downw longw radiant flux density, cloudfree part W m**-2 -12 12 - upw longw radiant flux density, cloudy part W m**-2 -13 13 SOHR_RAD shortwave radiative heating rate K s**-1 -14 14 THHR_RAD longwave radiative heating rate K s**-1 -15 15 - total radiative heating rate W m**-2 -16 16 - soil heat flux, surface W m**-2 -17 17 - soil heat flux, bottom of layer W m**-2 +1 1 - downward shortwave radiant flux density (J m**-2) +2 2 - upward shortwave radiant flux density (J m**-2) +3 3 - downward longwave radiant flux density (J m**-2) +4 4 - upward longwave radiant flux density (J m**-2) +5 5 APAB_S downwd photosynthetic active radiant flux density (J m**-2) +6 6 - net shortwave flux (J m**-2) +7 7 - net longwave flux (J m**-2) +8 8 - total net radiative flux density (J m**-2) +9 9 - downw shortw radiant flux density, cloudfree part (J m**-2) +10 10 - upw shortw radiant flux density, cloudy part (J m**-2) +11 11 - downw longw radiant flux density, cloudfree part (J m**-2) +12 12 - upw longw radiant flux density, cloudy part (J m**-2) +13 13 SOHR_RAD shortwave radiative heating rate (K s**-1) +14 14 THHR_RAD longwave radiative heating rate (K s**-1) +15 15 - total radiative heating rate (J m**-2) +16 16 - soil heat flux, surface (J m**-2) +17 17 - soil heat flux, bottom of layer (J m**-2) 29 29 CLC fractional cloud cover (0-1) 30 30 - cloud cover, grid scale (0-1) -31 31 QC specific cloud water content kg kg**-1 -32 32 - cloud water content, grid scale, vert integrated kg m**-2 -33 33 QI specific cloud ice content, grid scale kg kg**-1 -34 34 - cloud ice content, grid scale, vert integrated kg m**-2 -35 35 - specific rainwater content, grid scale kg kg**-1 -36 36 - specific snow content, grid scale kg kg**-1 -37 37 - specific rainwater content, gs, vert. integrated kg m**-2 -38 38 - specific snow content, gs, vert. integrated kg m**-2 -41 41 TWATER total column water kg m**-2 -42 42 - vert. integral of divergence of tot. water content kg m**-2 +31 31 QC specific cloud water content (kg kg**-1) +32 32 - cloud water content, grid scale, vert integrated (kg m**-2) +33 33 QI specific cloud ice content, grid scale (kg kg**-1) +34 34 - cloud ice content, grid scale, vert integrated (kg m**-2) +35 35 - specific rainwater content, grid scale (kg kg**-1) +36 36 - specific snow content, grid scale (kg kg**-1) +37 37 - specific rainwater content, gs, vert. integrated (kg m**-2) +38 38 - specific snow content, gs, vert. integrated (kg m**-2) +41 41 TWATER total column water (kg m**-2) +42 42 - vert. integral of divergence of tot. water content (kg m**-2) 50 50 CH_CM_CL cloud covers CH_CM_CL (000...888) (0-1) 51 51 - cloud cover CH (0..8) (0-1) 52 52 - cloud cover CM (0..8) (0-1) @@ -36,43 +36,43 @@ 55 55 - fog (0..8) (0-1) 56 56 - fog (0-1) 60 60 - cloud cover, convective cirrus (0-1) -61 61 - specific cloud water content, convective clouds kg kg**-1 -62 62 - cloud water content, conv clouds, vert integrated kg m**-2 -63 63 - specific cloud ice content, convective clouds kg kg**-1 -64 64 - cloud ice content, conv clouds, vert integrated kg m**-2 -65 65 - convective mass flux kg s**-1 m**-2 -66 66 - updraft velocity, convection m s**-1 -67 67 - entrainment parameter, convection m**-1 -68 68 HBAS_CON cloud base, convective clouds (above msl) m -69 69 HTOP_CON cloud top, convective clouds (above msl) m +61 61 - specific cloud water content, convective clouds (kg kg**-1) +62 62 - cloud water content, conv clouds, vert integrated (kg m**-2) +63 63 - specific cloud ice content, convective clouds (kg kg**-1) +64 64 - cloud ice content, conv clouds, vert integrated (kg m**-2) +65 65 - convective mass flux (kg s**-1 m**-2) +66 66 - Updraft velocity, convection (m s**-1) +67 67 - entrainment parameter, convection (m**-1) +68 68 HBAS_CON cloud base, convective clouds (above msl) (m) +69 69 HTOP_CON cloud top, convective clouds (above msl) (m) 70 70 - convective layers (00...77) (BKE) (0-1) -71 71 - KO-index (1) -72 72 BAS_CON convection base index (1) -73 73 TOP_CON convection top index (1) -74 74 DT_CON convective temperature tendency K s**-1 -75 75 DQV_CON convective tendency of specific humidity s**-1 -76 76 - convective tendency of total heat J kg**-1 s**-1 -77 77 - convective tendency of total water s**-1 -78 78 DU_CON convective momentum tendency (X-component) m s**-2 -79 79 DV_CON convective momentum tendency (Y-component) m s**-2 -80 80 - convective vorticity tendency s**-2 -81 81 - convective divergence tendency s**-2 -82 82 HTOP_DC top of dry convection (above msl) m -83 83 - dry convection top index (1) -84 84 HZEROCL height of 0 degree Celsius isotherm above msl m -85 85 SNOWLMT height of snow-fall limit m -99 99 QRS_GSP spec. content of precip. particles kg kg**-1 -100 100 PRR_GSP surface precipitation rate, rain, grid scale kg s**-1 m**-2 -101 101 PRS_GSP surface precipitation rate, snow, grid scale kg s**-1 m**-2 -102 102 RAIN_GSP surface precipitation amount, rain, grid scale kg m**-2 -111 111 PRR_CON surface precipitation rate, rain, convective kg s**-1 m**-2 -112 112 PRS_CON surface precipitation rate, snow, convective kg s**-1 m**-2 -113 113 RAIN_CON surface precipitation amount, rain, convective kg m**-2 -139 139 PP deviation of pressure from reference value Pa -150 150 - coefficient of horizontal diffusion m**2 s**-1 -187 187 VMAX_10M maximum wind velocity m s**-1 -200 200 W_I water content of interception store kg m**-2 -203 203 T_SNOW snow temperature K -215 215 T_ICE ice surface temperature K -241 241 CAPE_CON convective available potential energy J kg**-1 +71 71 - KO-index (dimensionless) +72 72 BAS_CON convection base index (dimensionless) +73 73 TOP_CON convection top index (dimensionless) +74 74 DT_CON convective temperature tendency (K s**-1) +75 75 DQV_CON convective tendency of specific humidity (s**-1) +76 76 - convective tendency of total heat (J kg**-1 s**-1) +77 77 - convective tendency of total water (s**-1) +78 78 DU_CON convective momentum tendency (X-component) (m s**-2) +79 79 DV_CON convective momentum tendency (Y-component) (m s**-2) +80 80 - convective vorticity tendency (s**-2) +81 81 - convective divergence tendency (s**-2) +82 82 HTOP_DC top of dry convection (above msl) (m) +83 83 - dry convection top index (dimensionless) +84 84 HZEROCL height of 0 degree Celsius isotherm above msl (m) +85 85 SNOWLMT height of snow-fall limit (m) +99 99 QRS_GSP spec. content of precip. particles (kg kg**-1) +100 100 PRR_GSP surface precipitation rate, rain, grid scale (kg s**-1 m**-2) +101 101 PRS_GSP surface precipitation rate, snow, grid scale (kg s**-1 m**-2) +102 102 RAIN_GSP surface precipitation amount, rain, grid scale (kg m**-2) +111 111 PRR_CON surface precipitation rate, rain, convective (kg s**-1 m**-2) +112 112 PRS_CON surface precipitation rate, snow, convective (kg s**-1 m**-2) +113 113 RAIN_CON surface precipitation amount, rain, convective (kg m**-2) +139 139 PP deviation of pressure from reference value (Pa) +150 150 - coefficient of horizontal diffusion (m**2 s**-1) +187 187 VMAX_10M Maximum wind velocity (m s**-1) +200 200 W_I water content of interception store (kg m**-2) +203 203 T_SNOW snow temperature (K) +215 215 T_ICE ice surface temperature (K) +241 241 CAPE_CON convective available potential energy (J kg**-1) 255 255 - Indicates a missing value diff --git a/definitions/grib1/2.98.211.table b/definitions/grib1/2.98.211.table index ed4a866ca..2612b8de7 100644 --- a/definitions/grib1/2.98.211.table +++ b/definitions/grib1/2.98.211.table @@ -1,15 +1,172 @@ # This file was automatically generated by ./param.pl -46 46 AERPR Aerosol precursor mixing ratio kg kg**-1 -47 47 AERSM Aerosol small mode mixing ratio kg kg**-1 -48 48 AERLG Aerosol large mode mixing ratio kg kg**-1 -49 49 AODPR Aerosol precursor optical depth dimensionless -50 50 AODSM Aerosol small mode optical depth dimensionless -51 51 AODLG Aerosol large mode optical depth dimensionless -61 61 CO2 Carbon Dioxide kg kg**-1 -62 62 CH4 Methane kg kg**-1 -63 63 N2O Nitrous oxide kg kg**-1 -121 121 NO2 Nitrogen dioxide kg kg**-1 -122 122 SO2 Sulphur dioxide kg kg**-1 -123 123 CO Carbon monoxide kg kg**-1 -124 124 HCHO Formaldehyde kg kg**-1 -203 203 GO3 GEMS Ozone kg kg**-1 +1 1 AERMR01DIFF Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio (kg kg**-1) +2 2 AERMR02DIFF Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio (kg kg**-1) +3 3 AERMR03DIFF Sea Salt Aerosol (5 - 20 um) Mixing Ratio (kg kg**-1) +4 4 AERMR04DIFF Dust Aerosol (0.03 - 0.55 um) Mixing Ratio (kg kg**-1) +5 5 AERMR05DIFF Dust Aerosol (0.55 - 0.9 um) Mixing Ratio (kg kg**-1) +6 6 AERMR06DIFF Dust Aerosol (0.9 - 20 um) Mixing Ratio (kg kg**-1) +7 7 AERMR07DIFF Hydrophobic Organic Matter Aerosol Mixing Ratio (kg kg**-1) +8 8 AERMR08DIFF Hydrophilic Organic Matter Aerosol Mixing Ratio (kg kg**-1) +9 9 AERMR09DIFF Hydrophobic Black Carbon Aerosol Mixing Ratio (kg kg**-1) +10 10 AERMR10DIFF Hydrophilic Black Carbon Aerosol Mixing Ratio (kg kg**-1) +11 11 AERMR11DIFF Sulphate Aerosol Mixing Ratio (kg kg**-1) +12 12 AERMR12DIFF Aerosol type 12 mixing ratio (kg kg**-1) +13 13 AERMR13DIFF Aerosol type 13 mass mixing ratio (kg kg**-1) +14 14 AERMR14DIFF Aerosol type 14 mass mixing ratio (kg kg**-1) +15 15 AERMR15DIFF Aerosol type 15 mass mixing ratio (kg kg**-1) +16 16 AERGN01DIFF Aerosol type 1 source/gain accumulated (kg m**-2) +17 17 AERGN02DIFF Aerosol type 2 source/gain accumulated (kg m**-2) +18 18 AERGN03DIFF Aerosol type 3 source/gain accumulated (kg m**-2) +19 19 AERGN04DIFF Aerosol type 4 source/gain accumulated (kg m**-2) +20 20 AERGN05DIFF Aerosol type 5 source/gain accumulated (kg m**-2) +21 21 AERGN06DIFF Aerosol type 6 source/gain accumulated (kg m**-2) +22 22 AERGN07DIFF Aerosol type 7 source/gain accumulated (kg m**-2) +23 23 AERGN08DIFF Aerosol type 8 source/gain accumulated (kg m**-2) +24 24 AERGN09DIFF Aerosol type 9 source/gain accumulated (kg m**-2) +25 25 AERGN10DIFF Aerosol type 10 source/gain accumulated (kg m**-2) +26 26 AERGN11DIFF Aerosol type 11 source/gain accumulated (kg m**-2) +27 27 AERGN12DIFF Aerosol type 12 source/gain accumulated (kg m**-2) +28 28 AERPR03DIFF SO4 aerosol precursor mass mixing ratio (kg kg**-1) +29 29 AERWV01DIFF Water vapour mixing ratio for hydrophilic aerosols in mode 1 (kg kg**-1) +30 30 AERWV02DIFF Water vapour mixing ratio for hydrophilic aerosols in mode 2 (kg kg**-1) +31 31 AERLS01DIFF Aerosol type 1 sink/loss accumulated (kg m**-2) +32 32 AERLS02DIFF Aerosol type 2 sink/loss accumulated (kg m**-2) +33 33 AERLS03DIFF Aerosol type 3 sink/loss accumulated (kg m**-2) +34 34 AERLS04DIFF Aerosol type 4 sink/loss accumulated (kg m**-2) +35 35 AERLS05DIFF Aerosol type 5 sink/loss accumulated (kg m**-2) +36 36 AERLS06DIFF Aerosol type 6 sink/loss accumulated (kg m**-2) +37 37 AERLS07DIFF Aerosol type 7 sink/loss accumulated (kg m**-2) +38 38 AERLS08DIFF Aerosol type 8 sink/loss accumulated (kg m**-2) +39 39 AERLS09DIFF Aerosol type 9 sink/loss accumulated (kg m**-2) +40 40 AERLS10DIFF Aerosol type 10 sink/loss accumulated (kg m**-2) +41 41 AERLS11DIFF Aerosol type 11 sink/loss accumulated (kg m**-2) +42 42 AERLS12DIFF Aerosol type 12 sink/loss accumulated (kg m**-2) +43 43 EMDMSDIFF DMS surface emission (kg m**-2 s**-1) +44 44 AERWV03DIFF Water vapour mixing ratio for hydrophilic aerosols in mode 3 (kg kg**-1) +45 45 AERWV04DIFF Water vapour mixing ratio for hydrophilic aerosols in mode 4 (kg kg**-1) +46 46 AERPRDIFF Aerosol precursor mixing ratio (kg kg**-1) +47 47 AERSMDIFF Aerosol small mode mixing ratio (kg kg**-1) +48 48 AERLGDIFF Aerosol large mode mixing ratio (kg kg**-1) +49 49 AODPRDIFF Aerosol precursor optical depth (dimensionless) +50 50 AODSMDIFF Aerosol small mode optical depth (dimensionless) +51 51 AODLGDIFF Aerosol large mode optical depth (dimensionless) +52 52 AERDEPDIFF Dust emission potential (kg s**2 m**-5) +53 53 AERLTSDIFF Lifting threshold speed (m s**-1) +54 54 AERSCCDIFF Soil clay content (%) +55 55 - Experimental product (~) +56 56 - Experimental product (~) +61 61 CO2DIFF Carbon Dioxide (kg kg**-1) +62 62 CH4DIFF Methane (kg kg**-1) +63 63 N2ODIFF Nitrous oxide (kg kg**-1) +64 64 TCCO2DIFF Total column Carbon Dioxide (kg m**-2) +65 65 TCCH4DIFF Total column Methane (kg m**-2) +66 66 TCN2ODIFF Total column Nitrous oxide (kg m**-2) +67 67 CO2OFDIFF Ocean flux of Carbon Dioxide (kg m**-2 s**-1) +68 68 CO2NBFDIFF Natural biosphere flux of Carbon Dioxide (kg m**-2 s**-1) +69 69 CO2APFDIFF Anthropogenic emissions of Carbon Dioxide (kg m**-2 s**-1) +70 70 CH4FDIFF Methane Surface Fluxes (kg m**-2 s**-1) +71 71 KCH4DIFF Methane loss rate due to radical hydroxyl (OH) (s**-1) +80 80 CO2FIREDIFF Wildfire flux of Carbon Dioxide (kg m**-2 s**-1) +81 81 COFIREDIFF Wildfire flux of Carbon Monoxide (kg m**-2 s**-1) +82 82 CH4FIREDIFF Wildfire flux of Methane (kg m**-2 s**-1) +83 83 NMHCFIREDIFF Wildfire flux of Non-Methane Hydro-Carbons (kg m**-2 s**-1) +84 84 H2FIREDIFF Wildfire flux of Hydrogen (kg m**-2 s**-1) +85 85 NOXFIREDIFF Wildfire flux of Nitrogen Oxides NOx (kg m**-2 s**-1) +86 86 N2OFIREDIFF Wildfire flux of Nitrous Oxide (kg m**-2 s**-1) +87 87 PM2P5FIREDIFF Wildfire flux of Particulate Matter PM2.5 (kg m**-2 s**-1) +88 88 TPMFIREDIFF Wildfire flux of Total Particulate Matter (kg m**-2 s**-1) +89 89 TCFIREDIFF Wildfire flux of Total Carbon in Aerosols (kg m**-2 s**-1) +90 90 OCFIREDIFF Wildfire flux of Organic Carbon (kg m**-2 s**-1) +91 91 BCFIREDIFF Wildfire flux of Black Carbon (kg m**-2 s**-1) +92 92 CFIREDIFF Wildfire overall flux of burnt Carbon (kg m**-2 s**-1) +93 93 C4FFIREDIFF Wildfire fraction of C4 plants (dimensionless) +94 94 VEGFIREDIFF Wildfire vegetation map index (dimensionless) +95 95 CCFIREDIFF Wildfire Combustion Completeness (dimensionless) +96 96 FLFIREDIFF Wildfire Fuel Load: Carbon per unit area (kg m**-2) +97 97 OFFIREDIFF Wildfire fraction of area observed (dimensionless) +98 98 OAFIREDIFF Wildfire observed area (m**2) +99 99 FRPFIREDIFF Wildfire radiative power (W m**-2) +100 100 CRFIREDIFF Wildfire combustion rate (kg m**-2 s**-1) +101 101 MAXFRPFIREDIFF Wildfire radiative power maximum (W) +102 102 SO2FIREDIFF Wildfire flux of Sulfur Dioxide (kg m**-2 s**-1) +103 103 CH3OHFIREDIFF Wildfire Flux of Methanol (CH3OH) (kg m**-2 s**-1) +104 104 C2H5OHFIREDIFF Wildfire Flux of Ethanol (C2H5OH) (kg m**-2 s**-1) +105 105 C3H8FIREDIFF Wildfire Flux of Propane (C3H8) (kg m**-2 s**-1) +106 106 C2H4FIREDIFF Wildfire Flux of Ethene (C2H4) (kg m**-2 s**-1) +107 107 C3H6FIREDIFF Wildfire Flux of Propene (C3H6) (kg m**-2 s**-1) +108 108 C5H8FIREDIFF Wildfire Flux of Isoprene (C5H8) (kg m**-2 s**-1) +109 109 TERPENESFIREDIFF Wildfire Flux of Terpenes (C5H8)n (kg m**-2 s**-1) +110 110 TOLUENEFIREDIFF Wildfire Flux of Toluene_lump (C7H8+ C6H6 + C8H10) (kg m**-2 s**-1) +111 111 HIALKENESFIREDIFF Wildfire Flux of Higher Alkenes (CnH2n, C>=4) (kg m**-2 s**-1) +112 112 HIALKANESFIREDIFF Wildfire Flux of Higher Alkanes (CnH2n+2, C>=4) (kg m**-2 s**-1) +113 113 CH2OFIREDIFF Wildfire Flux of Formaldehyde (CH2O) (kg m**-2 s**-1) +114 114 C2H4OFIREDIFF Wildfire Flux of Acetaldehyde (C2H4O) (kg m**-2 s**-1) +115 115 C3H6OFIREDIFF Wildfire Flux of Acetone (C3H6O) (kg m**-2 s**-1) +116 116 NH3FIREDIFF Wildfire Flux of Ammonia (NH3) (kg m**-2 s**-1) +117 117 C2H6SFIREDIFF Wildfire Flux of Dimethyl Sulfide (DMS) (C2H6S) (kg m**-2 s**-1) +118 118 C2H6FIREDIFF Wildfire Flux of Ethane (C2H6) (kg m**-2 s**-1) +119 119 ALEDIFF Altitude of emitter (m above sea level) +120 120 APTDIFF Altitude of plume top (m above sea level) +121 121 NO2DIFF Nitrogen dioxide (kg kg**-1) +122 122 SO2DIFF Sulphur dioxide (kg kg**-1) +123 123 CODIFF Carbon monoxide (kg kg**-1) +124 124 HCHODIFF Formaldehyde (kg kg**-1) +125 125 TCNO2DIFF Total column Nitrogen dioxide (kg m**-2) +126 126 TCSO2DIFF Total column Sulphur dioxide (kg m**-2) +127 127 TCCODIFF Total column Carbon monoxide (kg m**-2) +128 128 TCHCHODIFF Total column Formaldehyde (kg m**-2) +129 129 NOXDIFF Nitrogen Oxides (kg kg**-1) +130 130 TCNOXDIFF Total Column Nitrogen Oxides (kg m**-2) +131 131 GRG1DIFF Reactive tracer 1 mass mixing ratio (kg kg**-1) +132 132 TCGRG1DIFF Total column GRG tracer 1 (kg m**-2) +133 133 GRG2DIFF Reactive tracer 2 mass mixing ratio (kg kg**-1) +134 134 TCGRG2DIFF Total column GRG tracer 2 (kg m**-2) +135 135 GRG3DIFF Reactive tracer 3 mass mixing ratio (kg kg**-1) +136 136 TCGRG3DIFF Total column GRG tracer 3 (kg m**-2) +137 137 GRG4DIFF Reactive tracer 4 mass mixing ratio (kg kg**-1) +138 138 TCGRG4DIFF Total column GRG tracer 4 (kg m**-2) +139 139 GRG5DIFF Reactive tracer 5 mass mixing ratio (kg kg**-1) +140 140 TCGRG5DIFF Total column GRG tracer 5 (kg m**-2) +141 141 GRG6DIFF Reactive tracer 6 mass mixing ratio (kg kg**-1) +142 142 TCGRG6DIFF Total column GRG tracer 6 (kg m**-2) +143 143 GRG7DIFF Reactive tracer 7 mass mixing ratio (kg kg**-1) +144 144 TCGRG7DIFF Total column GRG tracer 7 (kg m**-2) +145 145 GRG8DIFF Reactive tracer 8 mass mixing ratio (kg kg**-1) +146 146 TCGRG8DIFF Total column GRG tracer 8 (kg m**-2) +147 147 GRG9DIFF Reactive tracer 9 mass mixing ratio (kg kg**-1) +148 148 TCGRG9DIFF Total column GRG tracer 9 (kg m**-2) +149 149 GRG10DIFF Reactive tracer 10 mass mixing ratio (kg kg**-1) +150 150 TCGRG10DIFF Total column GRG tracer 10 (kg m**-2) +151 151 SFNOXDIFF Surface flux Nitrogen oxides (kg m**-2 s**-1) +152 152 SFNO2DIFF Surface flux Nitrogen dioxide (kg m**-2 s**-1) +153 153 SFSO2DIFF Surface flux Sulphur dioxide (kg m**-2 s**-1) +154 154 SFCO2DIFF Surface flux Carbon monoxide (kg m**-2 s**-1) +155 155 SFHCHODIFF Surface flux Formaldehyde (kg m**-2 s**-1) +156 156 SFGO3DIFF Surface flux GEMS Ozone (kg m**-2 s**-1) +157 157 SFGR1DIFF Surface flux reactive tracer 1 (kg m**-2 s**-1) +158 158 SFGR2DIFF Surface flux reactive tracer 2 (kg m**-2 s**-1) +159 159 SFGR3DIFF Surface flux reactive tracer 3 (kg m**-2 s**-1) +160 160 SFGR4DIFF Surface flux reactive tracer 4 (kg m**-2 s**-1) +161 161 SFGR5DIFF Surface flux reactive tracer 5 (kg m**-2 s**-1) +162 162 SFGR6DIFF Surface flux reactive tracer 6 (kg m**-2 s**-1) +163 163 SFGR7DIFF Surface flux reactive tracer 7 (kg m**-2 s**-1) +164 164 SFGR8DIFF Surface flux reactive tracer 8 (kg m**-2 s**-1) +165 165 SFGR9DIFF Surface flux reactive tracer 9 (kg m**-2 s**-1) +166 166 SFGR10DIFF Surface flux reactive tracer 10 (kg m**-2 s**-1) +181 181 RADIFF Radon (kg kg**-1) +182 182 SF6DIFF Sulphur Hexafluoride (kg kg**-1) +183 183 TCRADIFF Total column Radon (kg m**-2) +184 184 TCSF6DIFF Total column Sulphur Hexafluoride (kg m**-2) +185 185 SF6APFDIFF Anthropogenic Emissions of Sulphur Hexafluoride (kg m**-2 s**-1) +203 203 GO3DIFF GEMS Ozone (kg kg**-1) +206 206 GTCO3DIFF GEMS Total column ozone (kg m**-2) +207 207 AOD550DIFF Total Aerosol Optical Depth at 550nm (~) +208 208 SSAOD550DIFF Sea Salt Aerosol Optical Depth at 550nm (~) +209 209 DUAOD550DIFF Dust Aerosol Optical Depth at 550nm (~) +210 210 OMAOD550DIFF Organic Matter Aerosol Optical Depth at 550nm (~) +211 211 BCAOD550DIFF Black Carbon Aerosol Optical Depth at 550nm (~) +212 212 SUAOD550DIFF Sulphate Aerosol Optical Depth at 550nm (~) +213 213 AOD469DIFF Total Aerosol Optical Depth at 469nm (~) +214 214 AOD670DIFF Total Aerosol Optical Depth at 670nm (~) +215 215 AOD865DIFF Total Aerosol Optical Depth at 865nm (~) +216 216 AOD1240DIFF Total Aerosol Optical Depth at 1240nm (~) diff --git a/definitions/grib1/2.98.220.table b/definitions/grib1/2.98.220.table index c79a13ad2..cd6cafaf9 100644 --- a/definitions/grib1/2.98.220.table +++ b/definitions/grib1/2.98.220.table @@ -1,2 +1,2 @@ # This file was automatically generated by ./param.pl -228 228 TPOC Total precipitation observation count dimensionless +228 228 TPOC Total precipitation observation count (dimensionless) diff --git a/definitions/grib1/2.98.228.table b/definitions/grib1/2.98.228.table index ada36e3f1..e500cb472 100644 --- a/definitions/grib1/2.98.228.table +++ b/definitions/grib1/2.98.228.table @@ -4,7 +4,7 @@ 3 3 ZUST Friction velocity (m s**-1) 4 4 MEAN2T Mean temperature at 2 metres (K) 5 5 MEAN10WS Mean of 10 metre wind speed (m s**-1) -6 6 MEANTCC Mean total cloud cover ((0 - 1)) +6 6 MEANTCC Mean total cloud cover (0 - 1) 7 7 DL Lake depth (m) 8 8 LMLT Lake mix-layer temperature (K) 9 9 LMLD Lake mix-layer depth (m) @@ -26,6 +26,7 @@ 26 26 MX2T3 Maximum temperature at 2 metres in the last 3 hours (K) 27 27 MN2T3 Minimum temperature at 2 metres in the last 3 hours (K) 28 28 10FG3 10 metre wind gust in the last 3 hours (m s**-1) +29 29 I10FG Instantaneous 10 metre wind gust (m s**-1) 39 39 SM Soil Moisture (kg m**-3) 40 40 SWI1 Soil wetness index in layer 1 (dimensionless) 41 41 SWI2 Soil wetness index in layer 2 (dimensionless) @@ -37,12 +38,15 @@ 83 83 FCO2NEE Flux of Carbon Dioxide Net Ecosystem Exchange (kg m**-2 s**-1) 84 84 FCO2GPP Flux of Carbon Dioxide Gross Primary Production (kg m**-2 s**-1) 85 85 FCO2REC Flux of Carbon Dioxide Ecosystem Respiration (kg m**-2 s**-1) +88 88 TCSLW Total column supercooled liquid water (kg m**-2) 89 89 TCRW Total column rain water (kg m**-2) 90 90 TCSW Total column snow water (kg m**-2) -91 91 CCF Canopy cover fraction ((0 - 1)) -92 92 STF Soil texture fraction ((0 - 1)) +91 91 CCF Canopy cover fraction (0 - 1) +92 92 STF Soil texture fraction (0 - 1) 93 93 SWV Volumetric soil moisture (m**3 m**-3) 94 94 IST Ice temperature (K) +121 121 KX K index (K) +123 123 TOTALX Total totals index (K) 129 129 SSRDC Surface solar radiation downward clear-sky (J m**-2) 130 130 STRDC Surface thermal radiation downward clear-sky (J m**-2) 131 131 U10N Neutral wind at 10 m u-component (m s**-1) @@ -50,18 +54,29 @@ 134 134 VTNOWD V-tendency from non-orographic wave drag (m s**-2) 136 136 UTNOWD U-tendency from non-orographic wave drag (m s**-2) 139 139 ST Soil Temperature (K) -141 141 SD Snow depth water equivalent (m) +141 141 SD Snow depth water equivalent (kg m**-2) 144 144 SF Snow Fall water equivalent (kg m**-2) 164 164 TCC Total Cloud Cover (%) 170 170 CAP Field capacity (kg m**-3) 171 171 WILT Wilting point (kg m**-3) +217 217 ILSPF Instantaneous large-scale surface precipitation fraction (0 - 1) +218 218 CRR Convective rain rate (kg m**-2 s**-1) +219 219 LSRR Large scale rain rate (kg m**-2 s**-1) +220 220 CSFR Convective snowfall rate water equivalent (kg m**-2 s**-1) +221 221 LSSFR Large scale snowfall rate water equivalent (kg m**-2 s**-1) +222 222 MXTPR3 Maximum total precipitation rate in the last 3 hours (kg m**-2 s**-1) +223 223 MNTPR3 Minimum total precipitation rate in the last 3 hours (kg m**-2 s**-1) +224 224 MXTPR6 Maximum total precipitation rate in the last 6 hours (kg m**-2 s**-1) +225 225 MNTPR6 Minimum total precipitation rate in the last 6 hours (kg m**-2 s**-1) +226 226 MXTPR Maximum total precipitation rate since previous post-processing (kg m**-2 s**-1) +227 227 MNTPR Minimum total precipitation rate since previous post-processing (kg m**-2 s**-1) 228 228 TP Total Precipitation (kg m**-2) 229 229 SMOS_TB_CDFA SMOS first Brightness Temperature Bias Correction parameter (K) 230 230 SMOS_TB_CDFB SMOS second Brightness Temperature Bias Correction parameter (dimensionless) 242 242 FDIF Surface solar radiation diffuse total sky (J m**-2) 243 243 CDIF Surface solar radiation diffuse clear-sky (J m**-2) -244 244 ALDR Surface albedo of direct radiation ((0 - 1)) -245 245 ALDF Surface albedo of diffuse radiation ((0 - 1)) +244 244 ALDR Surface albedo of direct radiation (0 - 1) +245 245 ALDF Surface albedo of diffuse radiation (0 - 1) 246 246 100U 100 metre U wind component (m s**-1) 247 247 100V 100 metre V wind component (m s**-1) 249 249 100SI 100 metre wind speed (m s**-1) diff --git a/definitions/grib1/2.98.230.table b/definitions/grib1/2.98.230.table index accd1e453..d4d7063fb 100644 --- a/definitions/grib1/2.98.230.table +++ b/definitions/grib1/2.98.230.table @@ -3,36 +3,36 @@ 9 9 SSROVAR Sub-surface runoff (variable resolution) (m) 21 21 FDIRVAR Total sky direct solar radiation at surface (variable resolution) (J m**-2) 22 22 CDIRVAR Clear-sky direct solar radiation at surface (variable resolution) (J m**-2) -44 44 ESVAR Snow evaporation (variable resolution) m of water -45 45 SMLTVAR Snowmelt (variable resolution) m of water +44 44 ESVAR Snow evaporation (variable resolution) (kg m**-2) +45 45 SMLTVAR Snowmelt (variable resolution) (kg m**-2) 46 46 SDURVAR Solar duration (variable resolution) (s) -57 57 UVBVAR Downward UV radiation at the surface (variable resolution) (w m**-2 s) -58 58 PARVAR Photosynthetically active radiation at the surface (variable resolution) (w m**-2 s) +57 57 UVBVAR Downward UV radiation at the surface (variable resolution) (J m**-2) +58 58 PARVAR Photosynthetically active radiation at the surface (variable resolution) (J m**-2) 142 142 LSPVAR Stratiform precipitation (Large-scale precipitation) (variable resolution) (m) 143 143 CPVAR Convective precipitation (variable resolution) (m) -144 144 SFVAR Snowfall (convective + stratiform) (variable resolution) m of water equivalent -145 145 BLDVAR Boundary layer dissipation (variable resolution) (W m**-2 s) -146 146 SSHFVAR Surface sensible heat flux (variable resolution) (W m**-2 s) -147 147 SLHFVAR Surface latent heat flux (variable resolution) (W m**-2 s) -169 169 SSRDVAR Surface solar radiation downwards (variable resolution) (W m**-2 s) -174 174 ALVAR Albedo (variable resolution) ((0 - 1)) -175 175 STRDVAR Surface thermal radiation downwards (variable resolution) (W m**-2 s) -176 176 SSRVAR Surface solar radiation (variable resolution) (W m**-2 s) -177 177 STRVAR Surface thermal radiation (variable resolution) (W m**-2 s) -178 178 TSRVAR Top solar radiation (variable resolution) (W m**-2 s) -179 179 TTRVAR Top thermal radiation (variable resolution) (W m**-2 s) +144 144 SFVAR Snowfall (convective + stratiform) (variable resolution) (m of water equivalent) +145 145 BLDVAR Boundary layer dissipation (variable resolution) (J m**-2) +146 146 SSHFVAR Surface sensible heat flux (variable resolution) (J m**-2) +147 147 SLHFVAR Surface latent heat flux (variable resolution) (J m**-2) +169 169 SSRDVAR Surface solar radiation downwards (variable resolution) (J m**-2) +174 174 ALVAR Albedo (variable resolution) (0 - 1) +175 175 STRDVAR Surface thermal radiation downwards (variable resolution) (J m**-2) +176 176 SSRVAR Surface net solar radiation (variable resolution) (J m**-2) +177 177 STRVAR Surface net thermal radiation (variable resolution) (J m**-2) +178 178 TSRVAR Top net solar radiation (variable resolution) (J m**-2) +179 179 TTRVAR Top net thermal radiation (variable resolution) (J m**-2) 180 180 EWSSVAR East-West surface stress (variable resolution) (N m**-2 s) 181 181 NSSSVAR North-South surface stress (variable resolution) (N m**-2 s) -182 182 EVAR Evaporation (variable resolution) m of water +182 182 EVAR Evaporation (variable resolution) (kg m**-2) 189 189 SUNDVAR Sunshine duration (variable resolution) (s) 195 195 LGWSVAR Longitudinal component of gravity wave stress (variable resolution) (N m**-2 s) 196 196 MGWSVAR Meridional component of gravity wave stress (variable resolution) (N m**-2 s) -197 197 GWDVAR Gravity wave dissipation (variable resolution) (W m**-2 s) -198 198 SRCVAR Skin reservoir content (variable resolution) m of water +197 197 GWDVAR Gravity wave dissipation (variable resolution) (J m**-2) +198 198 SRCVAR Skin reservoir content (variable resolution) (kg m**-2) 205 205 ROVAR Runoff (variable resolution) (m) -208 208 TSRCVAR Top net solar radiation, clear sky (variable resolution) (W m**-2 s) -209 209 TTRCVAR Top net thermal radiation, clear sky (variable resolution) (W m**-2 s) -210 210 SSRCVAR Surface net solar radiation, clear sky (variable resolution) (W m**-2 s) -211 211 STRCVAR Surface net thermal radiation, clear sky (variable resolution) (W m**-2 s) -212 212 TISRVAR TOA incident solar radiation (variable resolution) (W m**-2 s) +208 208 TSRCVAR Top net solar radiation, clear sky (variable resolution) (J m**-2) +209 209 TTRCVAR Top net thermal radiation, clear sky (variable resolution) (J m**-2) +210 210 SSRCVAR Surface net solar radiation, clear sky (variable resolution) (J m**-2) +211 211 STRCVAR Surface net thermal radiation, clear sky (variable resolution) (J m**-2) +212 212 TISRVAR TOA incident solar radiation (variable resolution) (J m**-2) 228 228 TPVAR Total precipitation (variable resolution) (m) diff --git a/definitions/grib1/5.table b/definitions/grib1/5.table index b5e720f26..b1276f068 100644 --- a/definitions/grib1/5.table +++ b/definitions/grib1/5.table @@ -7,8 +7,8 @@ 5 5 Difference (reference time + P2 minus reference time + P1) product considered valid at reference time + P2 6 6 Average (reference time - P1 to reference time - P2) 7 7 Average (reference time - P1 to reference time + P2) -10 10 P1 occupies octets 19 and 20; product valid at reference time + P1 -51 51 Climatological Mean Value: +10 10 P1 occupies octets 19 and 20; product valid at reference time + P1 +51 51 Climatological Mean Value: 113 113 Average of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time. 114 114 Accumulation of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time. 115 115 Average of N forecasts, all with the same reference time; the first has a forecast period of P1, the remaining forecasts follow at intervals of P2. diff --git a/definitions/grib1/data.grid_second_order.def b/definitions/grib1/data.grid_second_order.def index 4c1dcf2b3..d79096bbe 100644 --- a/definitions/grib1/data.grid_second_order.def +++ b/definitions/grib1/data.grid_second_order.def @@ -77,11 +77,21 @@ if(bitmapPresent) { ): read_only; alias data.packedValues = codedValues; - if (boustrophedonicOrdering) { - meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; - meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; - } else { - meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; + if (boustrophedonicOrdering) + { + if (GRIBEX_boustrophedonic) + { + meta preBitmapValues data_apply_boustrophedonic_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor,numberOfRows,numberOfColumns,numberOfPoints): read_only; + } + else + { + meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; + } + meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; + } + else + { + meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; } } else { if (boustrophedonicOrdering) { diff --git a/definitions/grib1/data.grid_second_order_constant_width.def b/definitions/grib1/data.grid_second_order_constant_width.def index 513aa7349..6e4a012af 100644 --- a/definitions/grib1/data.grid_second_order_constant_width.def +++ b/definitions/grib1/data.grid_second_order_constant_width.def @@ -54,13 +54,24 @@ if(bitmapPresent) { groupWidth ): read_only; - alias data.packedValues = codedValues; - if (boustrophedonicOrdering) { - meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; - meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; - } else { - meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; - } + alias data.packedValues = codedValues; + + if (boustrophedonicOrdering) + { + if (GRIBEX_boustrophedonic) + { + meta preBitmapValues data_apply_boustrophedonic_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor,numberOfRows,numberOfColumns,numberOfPoints): read_only; + } + else + { + meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; + } + meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; + } + else + { + meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; + } } else { diff --git a/definitions/grib1/data.grid_second_order_general_grib1.def b/definitions/grib1/data.grid_second_order_general_grib1.def index ca4da19ed..6de38ce5b 100644 --- a/definitions/grib1/data.grid_second_order_general_grib1.def +++ b/definitions/grib1/data.grid_second_order_general_grib1.def @@ -54,13 +54,24 @@ if(bitmapPresent) { groupWidths ): read_only; - alias data.packedValues = codedValues; - if (boustrophedonicOrdering) { - meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; - meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; - } else { - meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; - } + alias data.packedValues = codedValues; + + if (boustrophedonicOrdering) + { + if (GRIBEX_boustrophedonic) + { + meta preBitmapValues data_apply_boustrophedonic_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor,numberOfRows,numberOfColumns,numberOfPoints): read_only; + } + else + { + meta preBitmapValues data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : read_only; + } + meta values data_apply_boustrophedonic(preBitmapValues,numberOfRows,numberOfColumns,numberOfPoints,pl) : dump; + } + else + { + meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump; + } } else { if (boustrophedonicOrdering) { diff --git a/definitions/grib1/localConcepts/edzw/name.def b/definitions/grib1/localConcepts/edzw/name.def index 1bd0242eb..84017a833 100644 --- a/definitions/grib1/localConcepts/edzw/name.def +++ b/definitions/grib1/localConcepts/edzw/name.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'Pressure (S) (not reduced)' = { @@ -262,14 +262,6 @@ indicatorOfParameter = 40 ; } -#paramId: 500033 -#Specific Humidity (S) -'Specific Humidity (S)' = { - table2Version = 2 ; - indicatorOfParameter = 51 ; - indicatorOfTypeOfLevel = 1 ; - } - #paramId: 500034 #Specific Humidity (2m) 'Specific Humidity (2m)' = { @@ -8917,3 +8909,18 @@ indicatorOfParameter = 46 ; } +#paramId: 503076 +#Gravity wave dissipation +'Gravity wave dissipation ' = { + table2Version = 202 ; + indicatorOfParameter = 233 ; + timeRangeIndicator = 3 ; + } + +#paramId: 503078 +#relative humidity over mixed phase +'relative humidity over mixed phase' = { + table2Version = 250 ; + indicatorOfParameter = 20 ; + } + diff --git a/definitions/grib1/localConcepts/edzw/paramId.def b/definitions/grib1/localConcepts/edzw/paramId.def index c3945c5e7..5494ecffb 100644 --- a/definitions/grib1/localConcepts/edzw/paramId.def +++ b/definitions/grib1/localConcepts/edzw/paramId.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE,do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE,do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) '500000' = { @@ -262,14 +262,6 @@ indicatorOfParameter = 40 ; } -#paramId: 500033 -#Specific Humidity (S) -'500033' = { - table2Version = 2 ; - indicatorOfParameter = 51 ; - indicatorOfTypeOfLevel = 1 ; - } - #paramId: 500034 #Specific Humidity (2m) '500034' = { @@ -8917,3 +8909,18 @@ indicatorOfParameter = 46 ; } +#paramId: 503076 +#Gravity wave dissipation +'503076' = { + table2Version = 202 ; + indicatorOfParameter = 233 ; + timeRangeIndicator = 3 ; + } + +#paramId: 503078 +#relative humidity over mixed phase +'503078' = { + table2Version = 250 ; + indicatorOfParameter = 20 ; + } + diff --git a/definitions/grib1/localConcepts/edzw/shortName.def b/definitions/grib1/localConcepts/edzw/shortName.def index 981c31230..a2d77bb22 100644 --- a/definitions/grib1/localConcepts/edzw/shortName.def +++ b/definitions/grib1/localConcepts/edzw/shortName.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'PS' = { @@ -262,14 +262,6 @@ indicatorOfParameter = 40 ; } -#paramId: 500033 -#Specific Humidity (S) -'QV_S' = { - table2Version = 2 ; - indicatorOfParameter = 51 ; - indicatorOfTypeOfLevel = 1 ; - } - #paramId: 500034 #Specific Humidity (2m) 'QV_2M' = { @@ -8917,3 +8909,18 @@ indicatorOfParameter = 46 ; } +#paramId: 503076 +#Gravity wave dissipation +'AVDIS_SSO' = { + table2Version = 202 ; + indicatorOfParameter = 233 ; + timeRangeIndicator = 3 ; + } + +#paramId: 503078 +#relative humidity over mixed phase +'RH_MIX_EC' = { + table2Version = 250 ; + indicatorOfParameter = 20 ; + } + diff --git a/definitions/grib1/localConcepts/edzw/units.def b/definitions/grib1/localConcepts/edzw/units.def index 7e970acf9..9e99af872 100644 --- a/definitions/grib1/localConcepts/edzw/units.def +++ b/definitions/grib1/localConcepts/edzw/units.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'Pa' = { @@ -262,14 +262,6 @@ indicatorOfParameter = 40 ; } -#paramId: 500033 -#Specific Humidity (S) -'kg kg-1' = { - table2Version = 2 ; - indicatorOfParameter = 51 ; - indicatorOfTypeOfLevel = 1 ; - } - #paramId: 500034 #Specific Humidity (2m) 'kg kg-1' = { @@ -8917,3 +8909,18 @@ indicatorOfParameter = 46 ; } +#paramId: 503076 +#Gravity wave dissipation +'W m-2' = { + table2Version = 202 ; + indicatorOfParameter = 233 ; + timeRangeIndicator = 3 ; + } + +#paramId: 503078 +#relative humidity over mixed phase +'%' = { + table2Version = 250 ; + indicatorOfParameter = 20 ; + } + diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def index d3c290240..199542b65 100644 --- a/definitions/grib2/cfVarName.def +++ b/definitions/grib2/cfVarName.def @@ -68,12 +68,36 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 10 ; } +#Relative humidity with respect to water +'rhw' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 93 ; + } +#Relative humidity with respect to ice +'rhi' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 94 ; + } #Snow albedo 'asn' = { discipline = 0 ; parameterCategory = 19 ; parameterNumber = 19 ; } +#Fraction of stratiform precipitation cover +'fspc' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 36 ; + } +#Fraction of convective precipitation cover +'fcpc' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 37 ; + } #Soil moisture top 20 cm 'sm20' = { discipline = 2 ; diff --git a/definitions/grib2/localConcepts/edzw/name.def b/definitions/grib2/localConcepts/edzw/name.def index 5b4d46ee5..0082915a1 100644 --- a/definitions/grib2/localConcepts/edzw/name.def +++ b/definitions/grib2/localConcepts/edzw/name.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'Pressure (S) (not reduced)' = { @@ -312,16 +312,6 @@ parameterNumber = 9 ; } -#paramId: 500033 -#Specific Humidity (S) -'Specific Humidity (S)' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 0 ; - } - #paramId: 500034 #Specific Humidity (2m) 'Specific Humidity (2m)' = { @@ -1244,6 +1234,70 @@ parameterNumber = 6 ; } +#paramId: 500185 +#Direction of combined wind waves and swell +'Direction of combined wind waves and swell' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 14 ; + } + +#paramId: 500187 +#Peak period of total swell +'Peak period of total swell' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 36 ; + } + +#paramId: 500189 +#Peak period of wind waves +'Peak period of wind waves' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 35 ; + } + +#paramId: 500190 +#Peak wave period +'Peak wave period' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 34 ; + } + +#paramId: 500191 +#Mean period of combined wind waves and swell +'Mean period of combined wind waves and swell' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 15 ; + } + +#paramId: 500192 +#Inverse mean wave frequency +'Inverse mean wave frequency' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 25 ; + } + +#paramId: 500193 +#Mean zero-crossing wave period +'Mean zero-crossing wave period' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 28 ; + } + +#paramId: 500194 +#Wave directional width +'Wave directional width' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 31 ; + } + #paramId: 500200 #Standard deviation of sub-grid scale orography 'Standard deviation of sub-grid scale orography' = { @@ -1821,16 +1875,6 @@ constituentType = 30175 ; } -#paramId: 500283 -#Gravity wave dissipation (initialisation) -'Gravity wave dissipation (initialisation)' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 500284 #Gravity wave dissipation (vertical integral) 'Gravity wave dissipation (vertical integral)' = { @@ -3750,6 +3794,14 @@ scaledValueOfFirstFixedSurface = 1 ; } +#paramId: 502397 +#Virtual Temperature +'Virtual Temperature' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 1 ; + } + #paramId: 502693 #Potential temperature 'Potential temperature' = { @@ -3758,14 +3810,6 @@ parameterNumber = 2 ; } -#paramId: 502698 -#Virtual temperature -'Virtual temperature' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } - #paramId: 502700 #Boundary layer dissipation 'Boundary layer dissipation' = { @@ -5597,6 +5641,15 @@ typeOfFirstFixedSurface = 1 ; } +#paramId: 503076 +#Gravity wave dissipation +'Gravity wave dissipation ' = { + discipline = 0 ; + parameterCategory = 3 ; + parameterNumber = 23 ; + typeOfStatisticalProcessing = 0 ; + } + #paramId: 500092 #Solar radiation heating rate 'Solar radiation heating rate' = { @@ -5968,70 +6021,6 @@ parameterNumber = 206 ; } -#paramId: 500185 -#total wave direction -'total wave direction' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } - -#paramId: 500187 -#wind sea peak period -'wind sea peak period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } - -#paramId: 500189 -#swell peak period -'swell peak period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - } - -#paramId: 500190 -#total wave peak period -'total wave peak period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 195 ; - } - -#paramId: 500191 -#total wave mean period -'total wave mean period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 196 ; - } - -#paramId: 500192 -#total Tm1 period -'total Tm1 period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 197 ; - } - -#paramId: 500193 -#total Tm2 period -'total Tm2 period' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } - -#paramId: 500194 -#total directional spread -'total directional spread' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } - #paramId: 500195 #analysis error(standard deviation), geopotential(gpm) 'analysis error(standard deviation), geopotential(gpm)' = { @@ -9644,26 +9633,6 @@ typeOfFirstFixedSurface = 1 ; } -#paramId: 503065 -#u-momentum flux due to SSO-effects (initialisation) -'u-momentum flux due to SSO-effects (initialisation)' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - -#paramId: 503066 -#v-momentum flux due to SSO-effects (initialisation) -'v-momentum flux due to SSO-effects (initialisation)' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 503068 #precipitation, qualified,BRD 'precipitation, qualified,BRD' = { @@ -9726,3 +9695,21 @@ parameterNumber = 193 ; } +#paramId: 503078 +#relative humidity over mixed phase +'relative humidity over mixed phase' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 220 ; + } + +#paramId: 503079 +#soil moisture index (multilayers) +'soil moisture index (multilayers)' = { + discipline = 2 ; + parameterCategory = 3 ; + parameterNumber = 200 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + } + diff --git a/definitions/grib2/localConcepts/edzw/paramId.def b/definitions/grib2/localConcepts/edzw/paramId.def index 9ad1e55c1..4c1d314e0 100644 --- a/definitions/grib2/localConcepts/edzw/paramId.def +++ b/definitions/grib2/localConcepts/edzw/paramId.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) '500000' = { @@ -312,16 +312,6 @@ parameterNumber = 9 ; } -#paramId: 500033 -#Specific Humidity (S) -'500033' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 0 ; - } - #paramId: 500034 #Specific Humidity (2m) '500034' = { @@ -1616,67 +1606,67 @@ } #paramId: 500185 -#total wave direction +#Direction of combined wind waves and swell '500185' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 192 ; + parameterNumber = 14 ; } #paramId: 500187 -#wind sea peak period +#Peak period of total swell '500187' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 193 ; + parameterNumber = 36 ; } #paramId: 500189 -#swell peak period +#Peak period of wind waves '500189' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 194 ; + parameterNumber = 35 ; } #paramId: 500190 -#total wave peak period +#Peak wave period '500190' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 195 ; + parameterNumber = 34 ; } #paramId: 500191 -#total wave mean period +#Mean period of combined wind waves and swell '500191' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 196 ; + parameterNumber = 15 ; } #paramId: 500192 -#total Tm1 period +#Inverse mean wave frequency '500192' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 197 ; + parameterNumber = 25 ; } #paramId: 500193 -#total Tm2 period +#Mean zero-crossing wave period '500193' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 198 ; + parameterNumber = 28 ; } #paramId: 500194 -#total directional spread +#Wave directional width '500194' = { discipline = 10 ; parameterCategory = 0 ; - parameterNumber = 199 ; + parameterNumber = 31 ; } #paramId: 500195 @@ -5243,7 +5233,7 @@ } #paramId: 500583 -# +#Min 2m Temperature (i) Initialisation '500583' = { discipline = 0 ; parameterCategory = 0 ; @@ -5363,7 +5353,7 @@ } #paramId: 500600 -# +#Prob Windboeen > 25 kn '500600' = { discipline = 0 ; parameterCategory = 2 ; @@ -5372,7 +5362,7 @@ } #paramId: 500601 -# +#Prob Windboeen > 27 kn '500601' = { discipline = 0 ; parameterCategory = 2 ; @@ -5381,7 +5371,7 @@ } #paramId: 500602 -# +#Prob Sturmboeen > 33 kn '500602' = { discipline = 0 ; parameterCategory = 2 ; @@ -5390,7 +5380,7 @@ } #paramId: 500603 -# +#Prob Sturmboeen > 40 kn '500603' = { discipline = 0 ; parameterCategory = 2 ; @@ -5399,7 +5389,7 @@ } #paramId: 500604 -# +#Prob Schwere Sturmboeen > 47 kn '500604' = { discipline = 0 ; parameterCategory = 2 ; @@ -5408,7 +5398,7 @@ } #paramId: 500605 -# +#Prob Orkanartige Boeen > 55 kn '500605' = { discipline = 0 ; parameterCategory = 2 ; @@ -5417,7 +5407,7 @@ } #paramId: 500606 -# +#Prob Orkanboeen > 63 kn '500606' = { discipline = 0 ; parameterCategory = 2 ; @@ -5426,7 +5416,7 @@ } #paramId: 500607 -# +#Prob Oberoertliche Orkanboeen > 75 kn '500607' = { discipline = 0 ; parameterCategory = 2 ; @@ -5435,7 +5425,7 @@ } #paramId: 500608 -# +#Prob Starkregen > 10 mm '500608' = { discipline = 0 ; parameterCategory = 1 ; @@ -5444,7 +5434,7 @@ } #paramId: 500609 -# +#Prob Heftiger Starkregen > 25 mm '500609' = { discipline = 0 ; parameterCategory = 1 ; @@ -5453,7 +5443,7 @@ } #paramId: 500610 -# +#Prob Extrem Heftiger Starkregen > 50 mm '500610' = { discipline = 0 ; parameterCategory = 1 ; @@ -5462,7 +5452,7 @@ } #paramId: 500611 -# +#Prob Leichter Schneefall > 0,1 mm '500611' = { discipline = 0 ; parameterCategory = 1 ; @@ -5471,7 +5461,7 @@ } #paramId: 500612 -# +#Prob Leichter Schneefall > 0,1 cm '500612' = { discipline = 0 ; parameterCategory = 1 ; @@ -5480,7 +5470,7 @@ } #paramId: 500613 -# +#Prob Leichter Schneefall > 0,5 cm '500613' = { discipline = 0 ; parameterCategory = 1 ; @@ -5489,7 +5479,7 @@ } #paramId: 500614 -# +#Prob Leichter Schneefall > 1 cm '500614' = { discipline = 0 ; parameterCategory = 1 ; @@ -5498,7 +5488,7 @@ } #paramId: 500615 -# +#Prob Schneefall > 5 cm '500615' = { discipline = 0 ; parameterCategory = 1 ; @@ -5507,7 +5497,7 @@ } #paramId: 500616 -# +#Prob Starker Schneefall > 10 cm '500616' = { discipline = 0 ; parameterCategory = 1 ; @@ -5516,7 +5506,7 @@ } #paramId: 500617 -# +#Prob Extrem starker Schneefall > 25 cm '500617' = { discipline = 0 ; parameterCategory = 1 ; @@ -5525,7 +5515,7 @@ } #paramId: 500618 -# +#Prob Frost '500618' = { discipline = 0 ; parameterCategory = 0 ; @@ -5534,7 +5524,7 @@ } #paramId: 500619 -# +#Prob Strenger Frost '500619' = { discipline = 0 ; parameterCategory = 0 ; @@ -8209,6 +8199,14 @@ parameterNumber = 226 ; } +#paramId: 502397 +#Virtual Temperature +'502397' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 1 ; + } + #paramId: 502693 #Potential temperature '502693' = { @@ -8217,14 +8215,6 @@ parameterNumber = 2 ; } -#paramId: 502698 -#Virtual temperature -'502698' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } - #paramId: 502700 #Boundary layer dissipation '502700' = { @@ -10235,3 +10225,30 @@ typeOfFirstFixedSurface = 1 ; } +#paramId: 503076 +#Gravity wave dissipation +'503076' = { + discipline = 0 ; + parameterCategory = 3 ; + parameterNumber = 23 ; + typeOfStatisticalProcessing = 0 ; + } + +#paramId: 503078 +#relative humidity over mixed phase +'503078' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 220 ; + } + +#paramId: 503079 +#soil moisture index (multilayers) +'503079' = { + discipline = 2 ; + parameterCategory = 3 ; + parameterNumber = 200 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + } + diff --git a/definitions/grib2/localConcepts/edzw/shortName.def b/definitions/grib2/localConcepts/edzw/shortName.def index 636e4f1ed..dba908709 100644 --- a/definitions/grib2/localConcepts/edzw/shortName.def +++ b/definitions/grib2/localConcepts/edzw/shortName.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'PS' = { @@ -312,16 +312,6 @@ parameterNumber = 9 ; } -#paramId: 500033 -#Specific Humidity (S) -'QV_S' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 0 ; - } - #paramId: 500034 #Specific Humidity (2m) 'QV_2M' = { @@ -1244,6 +1234,70 @@ parameterNumber = 6 ; } +#paramId: 500185 +#Direction of combined wind waves and swell +'MWD' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 14 ; + } + +#paramId: 500187 +#Peak period of total swell +'PPWW' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 36 ; + } + +#paramId: 500189 +#Peak period of wind waves +'PPPS' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 35 ; + } + +#paramId: 500190 +#Peak wave period +'PP1D' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 34 ; + } + +#paramId: 500191 +#Mean period of combined wind waves and swell +'TM10' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 15 ; + } + +#paramId: 500192 +#Inverse mean wave frequency +'TM01' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 25 ; + } + +#paramId: 500193 +#Mean zero-crossing wave period +'TM02' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 28 ; + } + +#paramId: 500194 +#Wave directional width +'SPRD' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 31 ; + } + #paramId: 500200 #Standard deviation of sub-grid scale orography 'SSO_STDH' = { @@ -1821,16 +1875,6 @@ constituentType = 30175 ; } -#paramId: 500283 -#Gravity wave dissipation (initialisation) -'AVDIS_SSO' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 500284 #Gravity wave dissipation (vertical integral) 'VDIS_SSO' = { @@ -3750,6 +3794,14 @@ scaledValueOfFirstFixedSurface = 1 ; } +#paramId: 502397 +#Virtual Temperature +'' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 1 ; + } + #paramId: 502693 #Potential temperature 'PT' = { @@ -3758,14 +3810,6 @@ parameterNumber = 2 ; } -#paramId: 502698 -#Virtual temperature -'VTMP' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } - #paramId: 502700 #Boundary layer dissipation 'BLD' = { @@ -5597,6 +5641,15 @@ typeOfFirstFixedSurface = 1 ; } +#paramId: 503076 +#Gravity wave dissipation +'AVDIS_SSO' = { + discipline = 0 ; + parameterCategory = 3 ; + parameterNumber = 23 ; + typeOfStatisticalProcessing = 0 ; + } + #paramId: 500092 #Solar radiation heating rate 'SOHR_RAD' = { @@ -5968,70 +6021,6 @@ parameterNumber = 206 ; } -#paramId: 500185 -#total wave direction -'MWD' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } - -#paramId: 500187 -#wind sea peak period -'PPWW' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } - -#paramId: 500189 -#swell peak period -'PPPS' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - } - -#paramId: 500190 -#total wave peak period -'PP1D' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 195 ; - } - -#paramId: 500191 -#total wave mean period -'TM10' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 196 ; - } - -#paramId: 500192 -#total Tm1 period -'TM01' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 197 ; - } - -#paramId: 500193 -#total Tm2 period -'TM02' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } - -#paramId: 500194 -#total directional spread -'SPRD' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } - #paramId: 500195 #analysis error(standard deviation), geopotential(gpm) 'ANA_ERR_FI' = { @@ -9644,26 +9633,6 @@ typeOfFirstFixedSurface = 1 ; } -#paramId: 503065 -#u-momentum flux due to SSO-effects (initialisation) -'AUSTR_SSO' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - -#paramId: 503066 -#v-momentum flux due to SSO-effects (initialisation) -'AVSTR_SSO' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 503068 #precipitation, qualified,BRD 'RADAR_RQ' = { @@ -9726,3 +9695,21 @@ parameterNumber = 193 ; } +#paramId: 503078 +#relative humidity over mixed phase +'RH_MIX_EC' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 220 ; + } + +#paramId: 503079 +#soil moisture index (multilayers) +'SMI' = { + discipline = 2 ; + parameterCategory = 3 ; + parameterNumber = 200 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + } + diff --git a/definitions/grib2/localConcepts/edzw/units.def b/definitions/grib2/localConcepts/edzw/units.def index 0c68d0869..e226506ad 100644 --- a/definitions/grib2/localConcepts/edzw/units.def +++ b/definitions/grib2/localConcepts/edzw/units.def @@ -1,4 +1,4 @@ -# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-02-10 16:05 +# Automatically generated by get_definitions.sql from database PRJ_TDCFDOKU.GRIB_PARAMETER@MIRAKEL.DWD.DE, do not edit! 2014-06-11 07:14 #paramId: 500000 #Pressure (S) (not reduced) 'Pa' = { @@ -312,16 +312,6 @@ parameterNumber = 9 ; } -#paramId: 500033 -#Specific Humidity (S) -'kg kg-1' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 0 ; - } - #paramId: 500034 #Specific Humidity (2m) 'kg kg-1' = { @@ -1244,6 +1234,70 @@ parameterNumber = 6 ; } +#paramId: 500185 +#Direction of combined wind waves and swell +'degree true' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 14 ; + } + +#paramId: 500187 +#Peak period of total swell +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 36 ; + } + +#paramId: 500189 +#Peak period of wind waves +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 35 ; + } + +#paramId: 500190 +#Peak wave period +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 34 ; + } + +#paramId: 500191 +#Mean period of combined wind waves and swell +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 15 ; + } + +#paramId: 500192 +#Inverse mean wave frequency +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 25 ; + } + +#paramId: 500193 +#Mean zero-crossing wave period +'s' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 28 ; + } + +#paramId: 500194 +#Wave directional width +'degree true' = { + discipline = 10 ; + parameterCategory = 0 ; + parameterNumber = 31 ; + } + #paramId: 500200 #Standard deviation of sub-grid scale orography 'm' = { @@ -1821,16 +1875,6 @@ constituentType = 30175 ; } -#paramId: 500283 -#Gravity wave dissipation (initialisation) -'W m-2' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 500284 #Gravity wave dissipation (vertical integral) 'W m-2' = { @@ -3750,6 +3794,14 @@ scaledValueOfFirstFixedSurface = 1 ; } +#paramId: 502397 +#Virtual Temperature +'K' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 1 ; + } + #paramId: 502693 #Potential temperature 'K' = { @@ -3758,14 +3810,6 @@ parameterNumber = 2 ; } -#paramId: 502698 -#Virtual temperature -'K' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } - #paramId: 502700 #Boundary layer dissipation '' = { @@ -5597,6 +5641,15 @@ typeOfFirstFixedSurface = 1 ; } +#paramId: 503076 +#Gravity wave dissipation +'W m-2' = { + discipline = 0 ; + parameterCategory = 3 ; + parameterNumber = 23 ; + typeOfStatisticalProcessing = 0 ; + } + #paramId: 500092 #Solar radiation heating rate 'K s-1' = { @@ -5968,70 +6021,6 @@ parameterNumber = 206 ; } -#paramId: 500185 -#total wave direction -'degree true' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } - -#paramId: 500187 -#wind sea peak period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } - -#paramId: 500189 -#swell peak period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - } - -#paramId: 500190 -#total wave peak period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 195 ; - } - -#paramId: 500191 -#total wave mean period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 196 ; - } - -#paramId: 500192 -#total Tm1 period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 197 ; - } - -#paramId: 500193 -#total Tm2 period -'s' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } - -#paramId: 500194 -#total directional spread -'degree true' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } - #paramId: 500195 #analysis error(standard deviation), geopotential(gpm) 'gpm' = { @@ -9644,26 +9633,6 @@ typeOfFirstFixedSurface = 1 ; } -#paramId: 503065 -#u-momentum flux due to SSO-effects (initialisation) -'N m-2' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - -#paramId: 503066 -#v-momentum flux due to SSO-effects (initialisation) -'N m-2' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 0 ; - typeOfGeneratingProcess = 1 ; - } - #paramId: 503068 #precipitation, qualified,BRD 'kg m-2' = { @@ -9726,3 +9695,21 @@ parameterNumber = 193 ; } +#paramId: 503078 +#relative humidity over mixed phase +'%' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 220 ; + } + +#paramId: 503079 +#soil moisture index (multilayers) +'1' = { + discipline = 2 ; + parameterCategory = 3 ; + parameterNumber = 200 ; + typeOfSecondFixedSurface = 106 ; + typeOfFirstFixedSurface = 106 ; + } + diff --git a/definitions/grib2/name.def b/definitions/grib2/name.def index 440fab657..fa25051f5 100644 --- a/definitions/grib2/name.def +++ b/definitions/grib2/name.def @@ -68,12 +68,36 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; } +#Relative humidity with respect to water +'Relative humidity with respect to water' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 93 ; + } +#Relative humidity with respect to ice +'Relative humidity with respect to ice' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 94 ; + } #Snow albedo 'Snow albedo' = { discipline = 0 ; parameterCategory = 19 ; parameterNumber = 19 ; } +#Fraction of stratiform precipitation cover +'Fraction of stratiform precipitation cover' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 36 ; + } +#Fraction of convective precipitation cover +'Fraction of convective precipitation cover' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 37 ; + } #Soil moisture top 20 cm 'Soil moisture top 20 cm' = { discipline = 2 ; diff --git a/definitions/grib2/paramId.def b/definitions/grib2/paramId.def index 881efc9da..060a750e4 100644 --- a/definitions/grib2/paramId.def +++ b/definitions/grib2/paramId.def @@ -68,12 +68,36 @@ scaleFactorOfFirstFixedSurface = 0 ; scaledValueOfFirstFixedSurface = 10 ; } +#Relative humidity with respect to water +'228030' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 93 ; + } +#Relative humidity with respect to ice +'228031' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 94 ; + } #Snow albedo '228032' = { discipline = 0 ; parameterCategory = 19 ; parameterNumber = 19 ; } +#Fraction of stratiform precipitation cover +'228033' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 36 ; + } +#Fraction of convective precipitation cover +'228034' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 37 ; + } #Soil moisture top 20 cm '228086' = { discipline = 2 ; diff --git a/definitions/grib2/shortName.def b/definitions/grib2/shortName.def index 21db1b0b3..923fea6eb 100644 --- a/definitions/grib2/shortName.def +++ b/definitions/grib2/shortName.def @@ -68,12 +68,36 @@ scaledValueOfFirstFixedSurface = 10 ; typeOfStatisticalProcessing = 2 ; } +#Relative humidity with respect to water +'rhw' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 93 ; + } +#Relative humidity with respect to ice +'rhi' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 94 ; + } #Snow albedo 'asn' = { discipline = 0 ; parameterCategory = 19 ; parameterNumber = 19 ; } +#Fraction of stratiform precipitation cover +'fspc' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 36 ; + } +#Fraction of convective precipitation cover +'fcpc' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 37 ; + } #Soil moisture top 20 cm 'sm20' = { discipline = 2 ; diff --git a/definitions/grib2/tables/12/4.201.table b/definitions/grib2/tables/12/4.201.table index dc3926b3f..2510f2ef7 100644 --- a/definitions/grib2/tables/12/4.201.table +++ b/definitions/grib2/tables/12/4.201.table @@ -1,10 +1,15 @@ # Code table 4.201 - Precipitation type -0 0 Reserved -1 1 Rain -2 2 Thunderstorm -3 3 Freezing rain -4 4 Mixed/ice -5 5 Snow -# 6-191 Reserved +0 0 Reserved +1 1 Rain +2 2 Thunderstorm +3 3 Freezing rain +4 4 Mixed/ice +5 5 Snow +6 6 Wet snow +7 7 Mixture of rain and snow +8 8 Ice pellets +9 9 Graupel +10 10 Hail +# 11-191 Reserved # 192-254 Reserved for local use 255 255 Missing diff --git a/definitions/grib2/template.3.100.def b/definitions/grib2/template.3.100.def index e867f6cd4..49cea3a69 100644 --- a/definitions/grib2/template.3.100.def +++ b/definitions/grib2/template.3.100.def @@ -7,7 +7,6 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # - # TEMPLATE 3.100, Triangular grid based on an icosahedron (see Attachment I.2-GRIB-Att.) # n2 - exponent of 2 for the number of intervals on main triangle sides @@ -25,14 +24,15 @@ alias numberOfDiamonds=nd; # Latitude of the pole point of the icosahedron on the sphere signed[4] latitudeOfThePolePoint : dump ; +meta geography.latitudeOfThePolePointInDegrees scale(latitudeOfThePolePoint,one,grib2divider,truncateDegrees) : dump; # Longitude of the pole point of the icosahedron on the sphere unsigned[4] longitudeOfThePolePoint : dump ; -meta longitudeOfThePolePointInDegrees g2lon(longitudeOfThePolePoint); +meta geography.longitudeOfThePolePointInDegrees g2lon(longitudeOfThePolePoint); # Longitude of the centre line of the first diamond of the icosahedron on the sphere unsigned[4] longitudeOfFirstDiamondCenterLine : dump ; -meta longitudeOfFirstDiamondCenterLineInDegrees g2lon(longitudeOfFirstDiamondCenterLine); +meta geography.longitudeOfFirstDiamondCenterLineInDegrees g2lon(longitudeOfFirstDiamondCenterLine); # Grid point position codetable[1] gridPointPosition ('3.8.table',masterDir,localDir); diff --git a/definitions/grib2/template.4.44.def b/definitions/grib2/template.4.44.def index 17a7b0ed2..6fef244ef 100644 --- a/definitions/grib2/template.4.44.def +++ b/definitions/grib2/template.4.44.def @@ -9,6 +9,8 @@ # TEMPLATE 4.44, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter_aerosol.def"; +# GRIB-530: Special case for aerosol thanks to WMO error +include "template.4.parameter_aerosol_44.def"; + include "template.4.point_in_time.def"; include "template.4.horizontal.def"; diff --git a/definitions/grib2/units.def b/definitions/grib2/units.def index ab286e78b..a4a7ea8b0 100644 --- a/definitions/grib2/units.def +++ b/definitions/grib2/units.def @@ -68,12 +68,36 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; } +#Relative humidity with respect to water +'%' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 93 ; + } +#Relative humidity with respect to ice +'%' = { + discipline = 0 ; + parameterCategory = 1 ; + parameterNumber = 94 ; + } #Snow albedo '%' = { discipline = 0 ; parameterCategory = 19 ; parameterNumber = 19 ; } +#Fraction of stratiform precipitation cover +'Proportion' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 36 ; + } +#Fraction of convective precipitation cover +'Proportion' = { + discipline = 0 ; + parameterCategory = 6 ; + parameterNumber = 37 ; + } #Soil moisture top 20 cm 'kg m**-3' = { discipline = 2 ; diff --git a/definitions/make_makefile_am.pl b/definitions/make_makefile_am.pl index 5b9e7abcb..215b162bd 100755 --- a/definitions/make_makefile_am.pl +++ b/definitions/make_makefile_am.pl @@ -8,6 +8,7 @@ foreach my $d ( sort @sub ) { process($d) unless $d =~ /bufr/; } +print "EXTRA_DIST=CMakeLists.txt\n\n"; print "include \$(DEVEL_RULES)\n"; sub navigate { diff --git a/examples/C/CMakeLists.txt b/examples/C/CMakeLists.txt index b16c4a874..406e9b8f0 100644 --- a/examples/C/CMakeLists.txt +++ b/examples/C/CMakeLists.txt @@ -30,6 +30,7 @@ list( APPEND test_bins iterator_bitmap large_grib1 clone + check_gaussian_grid ) foreach( tool ${test_bins} ) ecbuild_add_executable( TARGET ${tool} diff --git a/examples/C/Makefile.am b/examples/C/Makefile.am index 79ee95670..fd780dc96 100644 --- a/examples/C/Makefile.am +++ b/examples/C/Makefile.am @@ -6,7 +6,8 @@ TESTS = iterator.sh get.sh print_data.sh set.sh keys_iterator.sh multi.sh multi_ noinst_PROGRAMS = nearest set_bitmap iterator get print_data set set_missing keys_iterator \ set_data mars_param values_check box multi multi2 multi_write precision \ - set_pv list sections_copy large_grib1 get_data iterator_bitmap clone + set_pv list sections_copy large_grib1 get_data iterator_bitmap clone new_sample \ + check_gaussian_grid bin_PROGRAMS = points box_SOURCES = box.c @@ -32,11 +33,13 @@ sections_copy_SOURCES = sections_copy.c large_grib1_SOURCES = large_grib1.c get_data_SOURCES = get_data.c clone_SOURCES = clone.c +new_sample_SOURCES = new_sample.c +check_gaussian_grid_SOURCES = check_gaussian_grid.c INCLUDES = -I$(top_builddir)/src LDADD = $(top_builddir)/src/libgrib_api.la DEPENDENCIES = $(LDADD) -EXTRA_DIST =$(TESTS) include.sh +EXTRA_DIST =$(TESTS) include.sh CMakeLists.txt include.ctest.sh.in diff --git a/examples/C/box.c b/examples/C/box.c index c7ae48550..af1e1a347 100644 --- a/examples/C/box.c +++ b/examples/C/box.c @@ -10,7 +10,8 @@ #include "grib_api.h" -int main(int argc, char* argv[]) { +int main(int argc, char* argv[]) +{ FILE* f; int err=0; char infile[]="../../data/reduced_gaussian_model_level.grib1"; diff --git a/examples/C/check_gaussian_grid.c b/examples/C/check_gaussian_grid.c new file mode 100644 index 000000000..0697317c4 --- /dev/null +++ b/examples/C/check_gaussian_grid.c @@ -0,0 +1,184 @@ +/* + * Copyright 2005-2014 ECMWF. + * + * This software is licensed under the terms of the Apache Licence Version 2.0 + * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + * + * In applying this licence, ECMWF does not waive the privileges and immunities granted to it by + * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. + */ + +/* + * + * Description: Check the geometry of a global GRIB field + * with a Gaussian Grid (reduced or regular) + * + */ +#include +#include +#include +#include +#include "grib_api.h" + +#define STR_EQUAL(s1, s2) (strcmp((s1), (s2)) == 0) + +int DBL_EQUAL(double d1, double d2, double tolerance) +{ + return fabs(d1-d2) <= tolerance; +} + +void usage(const char* prog) +{ + printf("usage: %s file\n",prog); + exit(1); +} + +void error(const char* fmt, ...) +{ + char msg[1024]; + va_list list; + va_start(list,fmt); + vsprintf(msg, fmt, list); + va_end(list); + + fprintf(stderr,msg); + exit(1); +} + +double get_precision(long edition) +{ + if (edition == 1) return 1.0/1000.0; /* milli degrees */ + if (edition == 2) return 1.0/1000000.0; /* micro degrees */ + assert(!"Invalid edition"); + return 0.0; +} + +int main(int argc, char** argv) +{ + int err = 0, msg_num = 0; + FILE* in = NULL; + char* filename = NULL; + grib_handle *h = NULL; + + if (argc != 2) { + usage(argv[0]); + return 1; + } + filename = argv[1]; + in = fopen(filename,"r"); + if(!in) { + error("ERROR: unable to open input file %s\n",filename); + } + + while ((h = grib_handle_new_from_file(0,in,&err)) != NULL ) { + int is_reduced = 0, is_regular = 0, grid_ok = 0; + long edition = 0, N = 0, Nj = 0, numberOfDataPoints; + size_t len = 0, numberOfValues = 0; + double *lats = NULL; + long *pl = NULL; + char gridType[32] = {0,}; + double angular_tolerance, lat1, lon1, lat2, lon2, expected_lon2; + double iDirectionIncrementInDegrees; + + if (err != GRIB_SUCCESS) GRIB_CHECK(err,0); + ++msg_num; + printf("Processing GRIB message #%d\n", msg_num); + + len = 32; + GRIB_CHECK(grib_get_string(h,"gridType",gridType,&len),0); + is_regular = STR_EQUAL(gridType, "regular_gg"); + is_reduced = STR_EQUAL(gridType, "reduced_gg"); + grid_ok = is_regular || is_reduced; + if( !grid_ok ) { + error("ERROR: gridType should be Reduced or Regular Gaussian Grid!\n"); + } + + GRIB_CHECK(grib_get_long(h,"edition",&edition),0); + GRIB_CHECK(grib_get_long(h,"N",&N),0); + GRIB_CHECK(grib_get_long(h,"Nj",&Nj),0); + GRIB_CHECK(grib_get_long(h,"numberOfDataPoints",&numberOfDataPoints),0); + GRIB_CHECK(grib_get_double(h,"latitudeOfFirstGridPointInDegrees", &lat1),0); + GRIB_CHECK(grib_get_double(h,"longitudeOfFirstGridPointInDegrees",&lon1),0); + GRIB_CHECK(grib_get_double(h,"latitudeOfLastGridPointInDegrees", &lat2),0); + GRIB_CHECK(grib_get_double(h,"longitudeOfLastGridPointInDegrees", &lon2),0); + GRIB_CHECK(grib_get_double(h,"iDirectionIncrementInDegrees",&iDirectionIncrementInDegrees),0); + + angular_tolerance = get_precision(edition); + + if ( Nj != 2*N ) { + error("ERROR: Nj is %ld but should be 2*N (%ld)!\n", Nj, 2*N); + } + + if (is_reduced) { + int pl_sum = 0; + size_t i = 0, pl_len = 0; + int is_missing = grib_is_missing(h, "Ni", &err); + assert(err == GRIB_SUCCESS); + if (!is_missing) { + error("ERROR: Ni should be missing!\n"); + } + + GRIB_CHECK(grib_get_size(h, "pl", &pl_len),0); + if (pl_len != 2*N) { + error("ERROR: Length of pl array is %ld but should be 2*N (%ld)!\n", pl_len, 2*N); + } + pl = malloc(pl_len*sizeof(long)); + assert(pl); + GRIB_CHECK(grib_get_long_array(h, "pl", pl, &pl_len),0); + + /* Check pl is symmetric */ + for(i=0; i angular_tolerance) { + error("ERROR: longitudeOfLastGridPointInDegrees=%f but should be %f!\n", lon2, expected_lon2); + } + + /* Check first and last latitudes */ + if (lat1 != -lat2) { + error("First latitude must be = last latitude but opposite in sign: lat1=%f, lat2=%f\n", + lat1, lat2); + } + lats = (double*)malloc(sizeof(double)*Nj); + GRIB_CHECK(grib_get_gaussian_latitudes(N,lats), 0); + + if (!DBL_EQUAL(lats[0], lat1, angular_tolerance)) { + error("First latitude %f must be %f\n", lat1, lats[0]); + } + if (!DBL_EQUAL(lats[Nj-1], lat2, angular_tolerance)) { + error("Last latitude %f must be %f\n", lat2, lats[Nj-1]); + } + + GRIB_CHECK(grib_get_size(h, "values", &numberOfValues),0); + if (numberOfValues != numberOfDataPoints) { + error("Number of data points %d different from number of values %d\n", + numberOfDataPoints, numberOfValues); + } + + free(lats); + grib_handle_delete(h); + } + fclose(in); + printf("\nFile %s OK\n", filename); + return 0; +} diff --git a/examples/C/clone.c b/examples/C/clone.c index e8a2b4559..d4ff00099 100644 --- a/examples/C/clone.c +++ b/examples/C/clone.c @@ -42,6 +42,8 @@ int main(int argc, char *argv[]) if (!in || !out) { perror("ERROR: unable to open files"); + fclose(out); + fclose(in); return 1; } diff --git a/examples/C/fieldset.c b/examples/C/fieldset.c index ac0f586fb..101c71c99 100644 --- a/examples/C/fieldset.c +++ b/examples/C/fieldset.c @@ -22,60 +22,61 @@ #include "grib_api.h" void usage(char* prog) { - printf("Usage: %s order_by grib_file grib_file ...\n",prog); - exit(1); + printf("Usage: %s order_by grib_file grib_file ...\n",prog); + exit(1); } -int main(int argc, char** argv) { - int err = 0; - long step,levelType; - char** filenames; - size_t nkeys,nfiles; - int i=0; - char* keys[]={"step","date","param","levelType"}; - grib_fieldset* set; - grib_handle* h; - char param[20]={0,}; - char date[10]={0,}; - size_t datelen=10; - size_t len=20; - char* order_by=0; +int main(int argc, char** argv) +{ + int err = 0; + long step,levelType; + char** filenames; + size_t nkeys,nfiles; + int i=0; + char* keys[]={"step","date","param","levelType"}; + grib_fieldset* set; + grib_handle* h; + char param[20]={0,}; + char date[10]={0,}; + size_t datelen=10; + size_t len=20; + char* order_by=0; - if (argc != 3) usage(argv[0]); + if (argc != 3) usage(argv[0]); - nkeys=sizeof(keys)/sizeof(*keys); - order_by=strdup(argv[1]); + nkeys=sizeof(keys)/sizeof(*keys); + order_by=strdup(argv[1]); - nfiles=argc-2; - filenames=(char**)malloc(sizeof(char*)*nfiles); - for (i=0;i #include "grib_api.h" -int main(int argc, char** argv) { +int main(int argc, char** argv) +{ int err = 0; double *values = NULL; size_t values_len= 0; @@ -118,7 +119,6 @@ int main(int argc, char** argv) { } grib_handle_delete(h); - fclose(in); return 0; } diff --git a/examples/C/get_data.c b/examples/C/get_data.c index 4dca1d2e9..aa8654a39 100644 --- a/examples/C/get_data.c +++ b/examples/C/get_data.c @@ -54,11 +54,14 @@ int main (int argc, char **argv) lons = (double *) malloc (numberOfPoints * sizeof (double)); if (!lons) { printf ("unable to allocate %ld bytes\n", (long) (numberOfPoints * sizeof (double))); + free (lats); return 1; } values = (double *) malloc (numberOfPoints * sizeof (double)); if (!values) { printf ("unable to allocate %ld bytes\n", (long) (numberOfPoints * sizeof (double))); + free (lats); + free (lons); return 1; } diff --git a/examples/C/grib_precipitation.c b/examples/C/grib_precipitation.c index 336c5ba99..c80536d51 100644 --- a/examples/C/grib_precipitation.c +++ b/examples/C/grib_precipitation.c @@ -25,49 +25,50 @@ #include "grib_api.h" -void usage(char* prog) { - printf("usage: %s filename\n",prog); - exit(1); +void usage(const char* prog) { + printf("usage: %s filename\n",prog); + exit(1); } -int main(int argc, char** argv) { - int err = 0,i; - double *values = NULL; - double max,min,average; - size_t values_len= 0; +int main(int argc, char** argv) +{ + int err = 0,i; + double *values = NULL; + double max,min,average; + size_t values_len= 0; - FILE* in = NULL; - char* filename ; - grib_handle *h = NULL; + FILE* in = NULL; + char* filename ; + grib_handle *h = NULL; - if (argc<2) usage(argv[0]); - filename=argv[1]; + if (argc<2) usage(argv[0]); + filename=argv[1]; - in = fopen(filename,"r"); - if(!in) { - printf("ERROR: unable to open file %s\n",filename); - return 1; - } + in = fopen(filename,"r"); + if(!in) { + printf("ERROR: unable to open file %s\n",filename); + return 1; + } - /* create new handle from a message in a file*/ - while((h = grib_handle_new_from_file(0,f,&err)) != NULL) { + /* create new handle from a message in a file*/ + while((h = grib_handle_new_from_file(0,f,&err)) != NULL) { - /* get the size of the values array*/ - GRIB_CHECK(grib_get_size(h,"values",&values_len),0); + /* get the size of the values array*/ + GRIB_CHECK(grib_get_size(h,"values",&values_len),0); - values = malloc(values_len*sizeof(double)); + values = malloc(values_len*sizeof(double)); - /* get data values*/ - GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); + /* get data values*/ + GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); - for(i = 0; i < values_len; i++) - printf("%d %.10e\n",i+1,values[i]); + for(i = 0; i < values_len; i++) + printf("%d %.10e\n",i+1,values[i]); - free(values); + free(values); - grib_handle_delete(h); - } + grib_handle_delete(h); + } - fclose(in); - return 0; + fclose(in); + return 0; } diff --git a/examples/C/include.sh b/examples/C/include.sh index 40b471954..1101d8f77 100644 --- a/examples/C/include.sh +++ b/examples/C/include.sh @@ -21,6 +21,7 @@ else then cd ../../ cpath=`pwd` + proj_dir=$cpath GRIB_DEFINITION_PATH=$cpath/definitions export GRIB_DEFINITION_PATH GRIB_SAMPLES_PATH=$cpath/samples diff --git a/examples/C/iterator.c b/examples/C/iterator.c index 0479aaa41..909b1f372 100644 --- a/examples/C/iterator.c +++ b/examples/C/iterator.c @@ -21,66 +21,66 @@ #include "grib_api.h" -void usage(char* prog) { - printf("Usage: %s grib_file\n",prog); - exit(1); +void usage(const char* prog) { + printf("Usage: %s grib_file\n",prog); + exit(1); } -int main(int argc, char** argv) { - FILE* in = NULL; - int err = 0; - double lat,lon,value,missingValue=0; - int n=0; - char* filename = NULL; +int main(int argc, char** argv) +{ + FILE* in = NULL; + int err = 0; + double lat,lon,value,missingValue=0; + int n=0; + char* filename = NULL; - /* Message handle. Required in all the grib_api calls acting on a message.*/ - grib_handle *h = NULL; - /* Iterator on lat/lon/values.*/ - grib_iterator* iter=NULL; - - if (argc != 2) usage(argv[0]); + /* Message handle. Required in all the grib_api calls acting on a message.*/ + grib_handle *h = NULL; + /* Iterator on lat/lon/values.*/ + grib_iterator* iter=NULL; - filename=strdup(argv[1]); + if (argc != 2) usage(argv[0]); - in = fopen(filename,"r"); - if(!in) { - printf("ERROR: unable to open file %s\n",filename); - return 1; - } + filename=argv[1]; - /* Loop on all the messages in a file.*/ - while ((h = grib_handle_new_from_file(0,in,&err)) != NULL ) { - /* Check of errors after reading a message. */ - if (err != GRIB_SUCCESS) GRIB_CHECK(err,0); - - /* Get the double representing the missing value in the field. */ - GRIB_CHECK(grib_get_double(h,"missingValue",&missingValue),0); - - /* A new iterator on lat/lon/values is created from the message handle h. */ - iter=grib_iterator_new(h,0,&err); - if (err != GRIB_SUCCESS) GRIB_CHECK(err,0); - - n = 0; - /* Loop on all the lat/lon/values. */ - while(grib_iterator_next(iter,&lat,&lon,&value)) { - /* You can now print lat and lon, */ - printf("- %d - lat=%f lon=%f value=",n,lat,lon); - /* decide what to print if a missing value is found. */ - if (value == missingValue ) printf("missing\n"); - /* and print the value if is not missing. */ - else printf("%f\n",value); - n++; + in = fopen(filename,"r"); + if(!in) { + printf("ERROR: unable to open file %s\n", filename); + return 1; } - /* At the end the iterator is deleted to free memory. */ - grib_iterator_delete(iter); + /* Loop on all the messages in a file.*/ + while ((h = grib_handle_new_from_file(0,in,&err)) != NULL ) { + /* Check of errors after reading a message. */ + if (err != GRIB_SUCCESS) GRIB_CHECK(err,0); - /* At the end the grib_handle is deleted to free memory. */ - grib_handle_delete(h); - } + /* Get the double representing the missing value in the field. */ + GRIB_CHECK(grib_get_double(h,"missingValue",&missingValue),0); + /* A new iterator on lat/lon/values is created from the message handle h. */ + iter=grib_iterator_new(h,0,&err); + if (err != GRIB_SUCCESS) GRIB_CHECK(err,0); - fclose(in); + n = 0; + /* Loop on all the lat/lon/values. */ + while(grib_iterator_next(iter,&lat,&lon,&value)) { + /* You can now print lat and lon, */ + printf("- %d - lat=%f lon=%f value=",n,lat,lon); + /* decide what to print if a missing value is found. */ + if (value == missingValue ) printf("missing\n"); + /* and print the value if is not missing. */ + else printf("%f\n",value); + n++; + } - return 0; + /* At the end the iterator is deleted to free memory. */ + grib_iterator_delete(iter); + + /* At the end the grib_handle is deleted to free memory. */ + grib_handle_delete(h); + } + + fclose(in); + + return 0; } diff --git a/examples/C/iterator_bitmap.c b/examples/C/iterator_bitmap.c index ce5241bb0..c90aa26de 100644 --- a/examples/C/iterator_bitmap.c +++ b/examples/C/iterator_bitmap.c @@ -41,7 +41,7 @@ int main(int argc, char** argv) grib_iterator* iter=NULL; if (argc != 2) usage(argv[0]); - filename=strdup(argv[1]); + filename=argv[1]; in = fopen(filename,"r"); if(!in) { fprintf(stderr, "ERROR: unable to open file %s\n",filename); diff --git a/examples/C/list.c b/examples/C/list.c index 525b0a320..d4ba465c8 100644 --- a/examples/C/list.c +++ b/examples/C/list.c @@ -20,82 +20,83 @@ #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0; +int main(int argc, char** argv) +{ + int err = 0; - size_t i = 0; - size_t count; - size_t size; + size_t i = 0; + size_t count; + size_t size; - long numberOfContributingSpectralBands; - long values[1024]; - long new_values[1024]; + long numberOfContributingSpectralBands; + long values[1024]; + long new_values[1024]; - FILE* in = NULL; - char* filename = "../../data/satellite.grib"; - grib_handle *h = NULL; + FILE* in = NULL; + char* filename = "../../data/satellite.grib"; + grib_handle *h = NULL; - in = fopen(filename,"r"); - if(!in) { - printf("ERROR: unable to open input file %s\n",filename); - return 1; - } + in = fopen(filename,"r"); + if(!in) { + printf("ERROR: unable to open input file %s\n",filename); + return 1; + } - /* create new handle from a message in a file*/ - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",filename); - } - - GRIB_CHECK(grib_get_long(h,"numberOfContributingSpectralBands",&numberOfContributingSpectralBands),0); - assert(numberOfContributingSpectralBands == 3); + /* create new handle from a message in a file*/ + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",filename); + } - /* Shrink NB to 2 */ - numberOfContributingSpectralBands = 2; - GRIB_CHECK(grib_set_long(h,"numberOfContributingSpectralBands",numberOfContributingSpectralBands),0); + GRIB_CHECK(grib_get_long(h,"numberOfContributingSpectralBands",&numberOfContributingSpectralBands),0); + assert(numberOfContributingSpectralBands == 3); - /* Expand NB to 9 */ - numberOfContributingSpectralBands = 9; - GRIB_CHECK(grib_set_long(h,"numberOfContributingSpectralBands",numberOfContributingSpectralBands),0); + /* Shrink NB to 2 */ + numberOfContributingSpectralBands = 2; + GRIB_CHECK(grib_set_long(h,"numberOfContributingSpectralBands",numberOfContributingSpectralBands),0); - /* get as a long*/ - GRIB_CHECK(grib_get_long(h,"numberOfContributingSpectralBands",&numberOfContributingSpectralBands),0); - printf("numberOfContributingSpectralBands=%ld\n",numberOfContributingSpectralBands); + /* Expand NB to 9 */ + numberOfContributingSpectralBands = 9; + GRIB_CHECK(grib_set_long(h,"numberOfContributingSpectralBands",numberOfContributingSpectralBands),0); - /* get as a long*/ - GRIB_CHECK(grib_get_size(h,"scaledValueOfCentralWaveNumber",&count),0); - printf("count=%ld\n",(long)count); + /* get as a long*/ + GRIB_CHECK(grib_get_long(h,"numberOfContributingSpectralBands",&numberOfContributingSpectralBands),0); + printf("numberOfContributingSpectralBands=%ld\n",numberOfContributingSpectralBands); - assert(count < sizeof(values)/sizeof(values[0])); + /* get as a long*/ + GRIB_CHECK(grib_get_size(h,"scaledValueOfCentralWaveNumber",&count),0); + printf("count=%ld\n",(long)count); - size = count; - GRIB_CHECK(grib_get_long_array(h,"scaledValueOfCentralWaveNumber",values,&size),0); - assert(size == count); + assert(count < sizeof(values)/sizeof(values[0])); - for(i=0;i paramId= "); - while (list) { - printf("%s ",list->value); - list2=grib_util_get_param_id("130.128"); - printf("mars.param=11.2 -> paramId= "); - while (list2) { - printf("%s ",list2->value); - list2=list2->next; - } - list=list->next; - } - printf("\n"); - printf("\n"); + list=grib_util_get_param_id("11.2"); + printf("mars.param=11.2 -> paramId= "); + while (list) { + printf("%s ",list->value); + list2=grib_util_get_param_id("130.128"); + printf("mars.param=11.2 -> paramId= "); + while (list2) { + printf("%s ",list2->value); + list2=list2->next; + } + list=list->next; + } + printf("\n"); + printf("\n"); - printf("paramId=130 -> mars.param= "); - list=grib_util_get_mars_param("130"); - while (list) { + printf("paramId=130 -> mars.param= "); + list=grib_util_get_mars_param("130"); + while (list) { printf("%s ",list->value); list=list->next; } - printf("\n"); + printf("\n"); - return 0; + return 0; } diff --git a/examples/C/multi.c b/examples/C/multi.c index a6f50b1e0..66b2f6032 100644 --- a/examples/C/multi.c +++ b/examples/C/multi.c @@ -23,46 +23,47 @@ #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0; - long parameterCategory=0,parameterNumber=0,discipline=0; - FILE* in = NULL; - char* filename = "../../data/multi.grib2"; - grib_handle *h = NULL; +int main(int argc, char** argv) +{ + int err = 0; + long parameterCategory=0,parameterNumber=0,discipline=0; + FILE* in = NULL; + char* filename = "../../data/multi.grib2"; + grib_handle *h = NULL; - /* turn on support for multi fields messages */ - grib_multi_support_on(0); + /* turn on support for multi fields messages */ + grib_multi_support_on(0); - /* turn off support for multi fields messages */ - /* grib_multi_support_off(0); */ + /* turn off support for multi fields messages */ + /* grib_multi_support_off(0); */ - in = fopen(filename,"r"); - if(!in) { - printf("ERROR: unable to open file %s\n",filename); - return 1; - } + in = fopen(filename,"r"); + if(!in) { + printf("ERROR: unable to open file %s\n",filename); + return 1; + } - while ((h = grib_handle_new_from_file(0,in,&err)) != NULL ) { + while ((h = grib_handle_new_from_file(0,in,&err)) != NULL ) { - GRIB_CHECK(err,0); + GRIB_CHECK(err,0); - GRIB_CHECK(grib_get_long(h,"discipline",&discipline),0); - printf("discipline=%ld\n",discipline); + GRIB_CHECK(grib_get_long(h,"discipline",&discipline),0); + printf("discipline=%ld\n",discipline); - GRIB_CHECK(grib_get_long(h,"parameterCategory",¶meterCategory),0); - printf("parameterCategory=%ld\n",parameterCategory); + GRIB_CHECK(grib_get_long(h,"parameterCategory",¶meterCategory),0); + printf("parameterCategory=%ld\n",parameterCategory); - GRIB_CHECK(grib_get_long(h,"parameterNumber",¶meterNumber),0); - printf("parameterNumber=%ld\n",parameterNumber); + GRIB_CHECK(grib_get_long(h,"parameterNumber",¶meterNumber),0); + printf("parameterNumber=%ld\n",parameterNumber); - if ( discipline == 0 && parameterCategory==2) { - if (parameterNumber == 2) printf("-------- u -------\n"); - if (parameterNumber == 3) printf("-------- v -------\n"); - } - grib_handle_delete(h); - } + if ( discipline == 0 && parameterCategory==2) { + if (parameterNumber == 2) printf("-------- u -------\n"); + if (parameterNumber == 3) printf("-------- v -------\n"); + } + grib_handle_delete(h); + } - fclose(in); - return 0; + fclose(in); + return 0; } diff --git a/examples/C/multi2.c b/examples/C/multi2.c index 650330ec9..d34f9a949 100644 --- a/examples/C/multi2.c +++ b/examples/C/multi2.c @@ -27,47 +27,48 @@ const int NUM_FIELDS = 4; const int COUNT = 20; const char* file_path = "../../data/multi_created.grib2"; -int main(int argc, char** argv) { - int i; +int main(int argc, char** argv) +{ + int i; - /* turn on support for multi fields messages */ - grib_multi_support_on(0); + /* turn on support for multi fields messages */ + grib_multi_support_on(0); - for(i=1; i #include "grib_api.h" -void usage(char* prog) { - printf("usage: %s in.grib out.grib\n",prog); - exit(1); +void usage(const char* prog) { + printf("usage: %s in.grib out.grib\n",prog); + exit(1); } -int main(int argc, char** argv) { - int err = 0; - FILE* in = NULL; - FILE* of = NULL; - long edition, step; - char* filename=NULL; - char* ofilename=NULL; - grib_handle *h = NULL; - grib_multi_handle *mh=NULL; - const int start_section = 4; /* Grib2 Product Definition Section */ +int main(int argc, char** argv) +{ + int err = 0; + FILE* in = NULL; + FILE* of = NULL; + long edition, step; + char* filename=NULL; + char* ofilename=NULL; + grib_handle *h = NULL; + grib_multi_handle *mh=NULL; + const int start_section = 4; /* Grib2 Product Definition Section */ - if (argc < 3) usage(argv[0]); - filename=argv[1]; - ofilename=argv[2]; + if (argc < 3) usage(argv[0]); + filename=argv[1]; + ofilename=argv[2]; - /* open input file */ - in = fopen(filename,"r"); - if(!in) { - fprintf(stderr, "ERROR: unable to open input file %s\n",filename); - return 1; - } + /* open input file */ + in = fopen(filename,"r"); + if(!in) { + fprintf(stderr, "ERROR: unable to open input file %s\n",filename); + return 1; + } - /* new grib handle from input file */ - h = grib_handle_new_from_file(0,in,&err); - GRIB_CHECK(err,0); - GRIB_CHECK(grib_get_long(h,"edition",&edition),0); - if (edition != 2) { - fprintf(stderr, "ERROR: Input grib must be edition 2 for multi fields\n"); - exit(1); - } - - /* create a new empty multi field handle */ - mh=grib_multi_handle_new(0); - if (!mh) { - fprintf(stderr,"ERROR: Unable to create multi field handle\n"); - exit(1); - } + /* new grib handle from input file */ + h = grib_handle_new_from_file(0,in,&err); + GRIB_CHECK(err,0); + GRIB_CHECK(grib_get_long(h,"edition",&edition),0); + if (edition != 2) { + fprintf(stderr, "ERROR: Input grib must be edition 2 for multi fields\n"); + exit(1); + } - for (step=12;step<=120;step+=12) { - /* set step */ - grib_set_long(h,"step",step); - /* append h to mh repeating from section 4 */ - /* i.e. starting from section 4 all the sections to the end of the message will be copied */ - grib_multi_handle_append(h, start_section, mh); - } + /* create a new empty multi field handle */ + mh=grib_multi_handle_new(0); + if (!mh) { + fprintf(stderr,"ERROR: Unable to create multi field handle\n"); + exit(1); + } - /* open output file */ - of=fopen(ofilename,"w"); - if(!of) { - fprintf(stderr, "ERROR: unable to open output file %s\n",ofilename); - exit(1); - } + for (step=12;step<=120;step+=12) { + /* set step */ + grib_set_long(h,"step",step); + /* append h to mh repeating from section 4 */ + /* i.e. starting from section 4 all the sections to the end of the message will be copied */ + grib_multi_handle_append(h, start_section, mh); + } - /* write multi fields handle to output file */ - grib_multi_handle_write(mh,of); - fclose(of); + /* open output file */ + of=fopen(ofilename,"w"); + if(!of) { + fprintf(stderr, "ERROR: unable to open output file %s\n",ofilename); + exit(1); + } - /* release memory */ - grib_handle_delete(h); - grib_multi_handle_delete(mh); + /* write multi fields handle to output file */ + grib_multi_handle_write(mh,of); + fclose(of); - fclose(in); - return 0; + /* release memory */ + grib_handle_delete(h); + grib_multi_handle_delete(mh); + + fclose(in); + return 0; } diff --git a/examples/C/nearest.c b/examples/C/nearest.c index 8afd7c611..7c463a1e0 100644 --- a/examples/C/nearest.c +++ b/examples/C/nearest.c @@ -20,70 +20,71 @@ #include "grib_api.h" -void usage(char* prog) { - printf("Usage: %s grib_file grib_file ...\n",prog); - exit(1); +void usage(const char* prog) { + printf("Usage: %s grib_file grib_file ...\n",prog); + exit(1); } -int main(int argc, char** argv) { - int err = 0; - long step=0; - size_t nfiles; - int i=0; - grib_fieldset* set=NULL; - grib_handle* h=NULL; - char param[20]={0,}; - size_t len=20; - double lats[4]={0,}; - double lons[4]={0,}; - double values[4]={0,}; - double distances[4]={0,}; - int indexes[4]={0,}; - char* order_by="param,step"; +int main(int argc, char** argv) +{ + int err = 0; + long step=0; + size_t nfiles; + int i=0; + grib_fieldset* set=NULL; + grib_handle* h=NULL; + char param[20]={0,}; + size_t len=20; + double lats[4]={0,}; + double lons[4]={0,}; + double values[4]={0,}; + double distances[4]={0,}; + int indexes[4]={0,}; + char* order_by="param,step"; - size_t size=4; - double lat=-40,lon=15; - int mode=0; - int count; - char** filenames; - grib_nearest* nearest=NULL; + size_t size=4; + double lat=-40,lon=15; + int mode=0; + int count; + char** filenames; + grib_nearest* nearest=NULL; - if (argc < 2) usage(argv[0]); + if (argc < 2) usage(argv[0]); - nfiles=argc-1; - filenames=(char**)malloc(sizeof(char*)*nfiles); - for (i=0;i maxv ) maxv=values2[i]; if ( values2[i] < minv ) minv=values2[i]; if ( values2[i] !=0 ) r=fabs((values2[i]-values1[i])/values2[i]); diff --git a/examples/C/print_data.c b/examples/C/print_data.c index 5973f9c86..19e488025 100644 --- a/examples/C/print_data.c +++ b/examples/C/print_data.c @@ -19,60 +19,61 @@ #include "grib_api.h" -void usage(char* prog) { - printf("usage: %s filename\n",prog); - exit(1); +void usage(const char* prog) { + printf("usage: %s filename\n",prog); + exit(1); } -int main(int argc, char** argv) { - int err = 0,i; - double *values = NULL; - double max,min,average; - size_t values_len= 0; +int main(int argc, char** argv) +{ + int err = 0,i; + double *values = NULL; + double max,min,average; + size_t values_len= 0; - FILE* in = NULL; - char* filename ; - grib_handle *h = NULL; + FILE* in = NULL; + char* filename ; + grib_handle *h = NULL; - if (argc<2) usage(argv[0]); - filename=argv[1]; + if (argc<2) usage(argv[0]); + filename=argv[1]; - in = fopen(filename,"r"); - if(!in) { - printf("ERROR: unable to open file %s\n",filename); - return 1; - } + in = fopen(filename,"r"); + if(!in) { + printf("ERROR: unable to open file %s\n",filename); + return 1; + } - /* create new handle from a message in a file*/ - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",filename); - } + /* create new handle from a message in a file*/ + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",filename); + } - /* get the size of the values array*/ - GRIB_CHECK(grib_get_size(h,"values",&values_len),0); + /* get the size of the values array*/ + GRIB_CHECK(grib_get_size(h,"values",&values_len),0); - values = malloc(values_len*sizeof(double)); + values = malloc(values_len*sizeof(double)); - /* get data values*/ - GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); + /* get data values*/ + GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); - for(i = 0; i < values_len; i++) - printf("%d %.10e\n",i+1,values[i]); + for(i = 0; i < values_len; i++) + printf("%d %.10e\n",i+1,values[i]); - free(values); + free(values); - GRIB_CHECK(grib_get_double(h,"max",&max),0); - GRIB_CHECK(grib_get_double(h,"min",&min),0); - GRIB_CHECK(grib_get_double(h,"average",&average),0); + GRIB_CHECK(grib_get_double(h,"max",&max),0); + GRIB_CHECK(grib_get_double(h,"min",&min),0); + GRIB_CHECK(grib_get_double(h,"average",&average),0); - printf("%d values found in %s\n",(int)values_len,filename); - printf("max=%.10e min=%.10e average=%.10e\n",max,min,average); + printf("%d values found in %s\n",(int)values_len,filename); + printf("max=%.10e min=%.10e average=%.10e\n",max,min,average); - grib_handle_delete(h); + grib_handle_delete(h); - fclose(in); - return 0; + fclose(in); + return 0; } diff --git a/examples/C/sections_copy.c b/examples/C/sections_copy.c index 0e385fbba..cba9396b3 100644 --- a/examples/C/sections_copy.c +++ b/examples/C/sections_copy.c @@ -8,54 +8,98 @@ * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. */ #include "grib_api.h" +#include void usage(char* prog) { - printf("usage: %s in1.grib in2.grib out.grib\n",prog); - printf("in1.grib\t The grib in whose sections we are interested, i.e. the source of the sections (read-only)\n"); - printf("in2.grib\t The input grib (read-only)\n"); - printf("out.grib\t The output file\n"); - exit(1); + printf("usage: %s in1.grib in2.grib what out.grib\n",prog); + printf("in1.grib The grib in whose sections we are interested, i.e. the source of the sections (read-only)\n"); + printf("in2.grib The input grib (read-only)\n"); + printf("what The section(s) to copy: p(Product), g(Grid), l(Local), d(Data), b(Bitmap)\n"); + printf("out.grib The output file\n"); + exit(1); } -int main ( int argc, char* argv[]) { - grib_handle *hfrom,*hto,*h; - FILE *in; - char *in_name,*in_name1,*out_name; - int err=0; - int what=0; +int main ( int argc, char* argv[]) +{ + grib_handle *hfrom,*hto,*h; + FILE *in; + char *in_name1, *in_name2, *what_str, *out_name; + int i, err=0, what=0; - if (argc<4) usage(argv[0]); + if (argc<5) usage(argv[0]); - in_name=argv[1]; - in_name1=argv[2]; - out_name=argv[3]; + in_name1=argv[1]; + in_name2=argv[2]; + what_str=argv[3]; + out_name=argv[4]; - in=fopen(in_name,"r"); - if (!in) { - perror(in_name); - exit(1); - } + in=fopen(in_name1,"r"); + if (!in) { + perror(in_name1); + exit(1); + } - hfrom=grib_handle_new_from_file(0,in,&err); - GRIB_CHECK(err,0); - fclose(in); + hfrom=grib_handle_new_from_file(0,in,&err); + GRIB_CHECK(err,0); + fclose(in); - in=fopen(in_name1,"r"); - if (!in) { - perror(in_name1); - exit(1); - } + in=fopen(in_name2,"r"); + if (!in) { + perror(in_name2); + exit(1); + } - hto=grib_handle_new_from_file(0,in,&err); - GRIB_CHECK(err,0); - fclose(in); + hto=grib_handle_new_from_file(0,in,&err); + GRIB_CHECK(err,0); + fclose(in); - /*what=GRIB_SECTION_PRODUCT | GRIB_SECTION_LOCAL;*/ - what=GRIB_SECTION_GRID; - h=grib_util_sections_copy(hfrom,hto,what,&err); - GRIB_CHECK(err,0); + /* The sections for the "what" argument are: + * GRIB_SECTION_PRODUCT + * GRIB_SECTION_GRID + * GRIB_SECTION_LOCAL + * GRIB_SECTION_DATA + * GRIB_SECTION_BITMAP + * One can bitwise-OR them to have more than one section copied + * E.g. what = GRIB_SECTION_PRODUCT | GRIB_SECTION_LOCAL; + */ + for(i=0; i/dev/null + +# Now the output should have a regular grid # but its date should be the same as the Gaussian grid sample -grid_tmpl=`${tools_dir}grib_get -p gridDefinitionTemplateNumber,date $OUTPUT` -[ "$grid_tmpl" = "0 20100912" ] +grid_tmpl=`${tools_dir}grib_get -p gridType,date $OUTPUT` +[ "$grid_tmpl" = "regular_ll 20100912" ] -${examples_dir}sections_copy $GAUSS_GRID_FILE $REGUL_GRID_FILE $OUTPUT -# Now the output should have a reduced gaussian grid i.e. gridDefinitionTemplateNumber==40 -# but its date should be the same as the Regular grid sample -grid_tmpl=`${tools_dir}grib_get -p gridDefinitionTemplateNumber,date $OUTPUT` -[ "$grid_tmpl" = "40 20070323" ] +################## +# Copy the GRID section from GAUSS_GRID_FILE +${examples_dir}sections_copy $GAUSS_GRID_FILE $REGUL_GRID_FILE g $OUTPUT >/dev/null + +# Now the output should have a gaussian grid +# but its date should be the same as the regular grid +grid_tmpl=`${tools_dir}grib_get -p gridType,date $OUTPUT` +[ "$grid_tmpl" = "reduced_gg 20070323" ] + + +################## +# Copy both the PRODUCT and GRID sections from REGUL_GRID_FILE +${examples_dir}sections_copy $REGUL_GRID_FILE $GAUSS_GRID_FILE gp $OUTPUT >/dev/null + +# Now the output should have a regular grid +# and its date should be the same as the regular latlon +grid_tmpl=`${tools_dir}grib_get -p gridType,date $OUTPUT` +[ "$grid_tmpl" = "regular_ll 20070323" ] + + +################## +# Copy all sections from REGUL_GRID_FILE (use commas) +${examples_dir}sections_copy $REGUL_GRID_FILE $GAUSS_GRID_FILE p,l,g,d,b $OUTPUT >/dev/null + +# Now the output should be identical to the regular grib +${tools_dir}grib_compare $REGUL_GRID_FILE $OUTPUT rm -f $OUTPUT diff --git a/examples/C/set.c b/examples/C/set.c index 5b8a9607a..01e36a13e 100644 --- a/examples/C/set.c +++ b/examples/C/set.c @@ -19,71 +19,71 @@ #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0; - long centre=80; - long long_value=0; - char string_value[100]; - size_t len = sizeof(string_value)/sizeof(char); - size_t size=0; +int main(int argc, char** argv) +{ + int err = 0; + long centre=80; + long long_value=0; + char string_value[100]; + size_t len = sizeof(string_value)/sizeof(char); + size_t size=0; - FILE* in = NULL; - char* infile = "../../data/regular_latlon_surface.grib1"; - FILE* out = NULL; - char* outfile = "out.grib1"; - grib_handle *h = NULL; - const void* buffer = NULL; - size_t str_len = 0; /* See the call to grib_set_string later */ + FILE* in = NULL; + char* infile = "../../data/regular_latlon_surface.grib1"; + FILE* out = NULL; + char* outfile = "out.grib1"; + grib_handle *h = NULL; + const void* buffer = NULL; + size_t str_len = 0; /* See the call to grib_set_string later */ - in = fopen(infile,"r"); - if(!in) { - printf("ERROR: unable to open file %s\n",infile); - return 1; - } + in = fopen(infile,"r"); + if(!in) { + printf("ERROR: unable to open file %s\n",infile); + return 1; + } - out = fopen(outfile,"w"); - if(!out) { - printf("ERROR: unable to open file %s\n",outfile); - return 1; - } + out = fopen(outfile,"w"); + if(!out) { + printf("ERROR: unable to open file %s\n",outfile); + fclose(in); + return 1; + } - /* create a new handle from a message in a file */ - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",infile); - } + /* create a new handle from a message in a file */ + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",infile); + } - /* set centre as a long */ - GRIB_CHECK(grib_set_long(h,"centre",centre),0); - - /* set paramId and shortName - normally you would do one or the other */ - GRIB_CHECK(grib_set_long(h,"paramId", 500004),0); - /* the value of str_len is not used, it can be anything! */ - GRIB_CHECK(grib_set_string(h,"shortName", "fis", &str_len),0); + /* set centre as a long */ + GRIB_CHECK(grib_set_long(h,"centre",centre),0); - /* get centre as a long */ - GRIB_CHECK(grib_get_long(h,"centre",&long_value),0); - printf("centre long value=%ld\n",long_value); + /* set paramId and shortName - normally you would do one or the other */ + GRIB_CHECK(grib_set_long(h,"paramId", 500004),0); + /* the value of str_len is not used, it can be anything! */ + GRIB_CHECK(grib_set_string(h,"shortName", "fis", &str_len),0); - /* get centre as a string */ - GRIB_CHECK(grib_get_string(h,"centre",string_value,&len),0); - printf("centre string value=%s\n",string_value); + /* get centre as a long */ + GRIB_CHECK(grib_get_long(h,"centre",&long_value),0); + printf("centre long value=%ld\n",long_value); - /* get the coded message in a buffer */ - GRIB_CHECK(grib_get_message(h,&buffer,&size),0); + /* get centre as a string */ + GRIB_CHECK(grib_get_string(h,"centre",string_value,&len),0); + printf("centre string value=%s\n",string_value); - /* write the buffer in a file*/ - if(fwrite(buffer,1,size,out) != size) - { - perror(argv[1]); - exit(1); - } + /* get the coded message in a buffer */ + GRIB_CHECK(grib_get_message(h,&buffer,&size),0); - /* delete handle */ - grib_handle_delete(h); + /* write the buffer in a file*/ + if(fwrite(buffer,1,size,out) != size) + { + perror(argv[1]); + exit(1); + } - fclose(in); - fclose(out); + grib_handle_delete(h); + fclose(in); + fclose(out); - return 0; + return 0; } diff --git a/examples/C/set_bitmap.c b/examples/C/set_bitmap.c index 7f18f0f72..5b8dde760 100644 --- a/examples/C/set_bitmap.c +++ b/examples/C/set_bitmap.c @@ -21,70 +21,72 @@ #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0; - size_t size=0; +int main(int argc, char** argv) +{ + int err = 0; + size_t size=0; - FILE* in = NULL; - char* infile = "../../data/regular_latlon_surface.grib1"; - FILE* out = NULL; - char* outfile = "out.grib1"; - grib_handle *h = NULL; - const void* buffer = NULL; - size_t values_len; - double* values; - double missing=9999; - int i=0; + FILE* in = NULL; + char* infile = "../../data/regular_latlon_surface.grib1"; + FILE* out = NULL; + char* outfile = "out.grib1"; + grib_handle *h = NULL; + const void* buffer = NULL; + size_t values_len; + double* values; + double missing=9999; + int i=0; - in = fopen(infile,"r"); - if(!in) { - printf("ERROR: unable to open input file %s\n",infile); - return 1; - } + in = fopen(infile,"r"); + if(!in) { + printf("ERROR: unable to open input file %s\n",infile); + return 1; + } - out = fopen(outfile,"w"); - if(!out) { - printf("ERROR: unable to open output file %s\n",outfile); - return 1; - } + out = fopen(outfile,"w"); + if(!out) { + printf("ERROR: unable to open output file %s\n",outfile); + fclose(in); + return 1; + } - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",infile); - } + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",infile); + } - GRIB_CHECK(grib_set_double(h,"missingValue",missing),0); + GRIB_CHECK(grib_set_double(h,"missingValue",missing),0); - /* get the size of the values array*/ - GRIB_CHECK(grib_get_size(h,"values",&values_len),0); + /* get the size of the values array*/ + GRIB_CHECK(grib_get_size(h,"values",&values_len),0); - values = malloc(values_len*sizeof(double)); + values = malloc(values_len*sizeof(double)); - /* get data values*/ - GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); + /* get data values*/ + GRIB_CHECK(grib_get_double_array(h,"values",values,&values_len),0); - GRIB_CHECK(grib_set_long(h,"bitmapPresent",1),0); + GRIB_CHECK(grib_set_long(h,"bitmapPresent",1),0); - for(i = 0; i < 10; i++) - values[i]=missing; + for(i = 0; i < 10; i++) + values[i]=missing; - GRIB_CHECK(grib_set_double_array(h,"values",values,values_len),0); + GRIB_CHECK(grib_set_double_array(h,"values",values,values_len),0); - /* get the coded message in a buffer */ - GRIB_CHECK(grib_get_message(h,&buffer,&size),0); + /* get the coded message in a buffer */ + GRIB_CHECK(grib_get_message(h,&buffer,&size),0); - /* write the buffer in a file*/ - if(fwrite(buffer,1,size,out) != size) - { - perror(outfile); - exit(1); - } + /* write the buffer in a file*/ + if(fwrite(buffer,1,size,out) != size) + { + perror(outfile); + exit(1); + } - /* delete handle */ - grib_handle_delete(h); + /* delete handle */ + grib_handle_delete(h); - fclose(in); - fclose(out); + fclose(in); + fclose(out); - return 0; + return 0; } diff --git a/examples/C/set_data.c b/examples/C/set_data.c index a028e07c9..5b888bca4 100644 --- a/examples/C/set_data.c +++ b/examples/C/set_data.c @@ -19,7 +19,7 @@ #include "grib_api.h" -void usage(char* prog) +void usage(const char* prog) { printf("usage: %s out.grib\n",prog); exit(1); @@ -32,6 +32,9 @@ int main(int argc, char** argv) size_t values_len= 0; /* Note: the full name of the sample file is "regular_ll_pl_grib1.tmpl" */ + /* Sample files are stored in the samples directory (use grib_info to */ + /* see where that is). The default sample path can be changed by */ + /* setting the environment variable GRIB_SAMPLES_PATH */ const char* sample_filename = "regular_ll_pl_grib1"; grib_handle *h = NULL; double d,e; diff --git a/examples/C/set_missing.c b/examples/C/set_missing.c index 4a437f59b..14fed4058 100644 --- a/examples/C/set_missing.c +++ b/examples/C/set_missing.c @@ -19,64 +19,66 @@ #include #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0, is_missing = 0; +int main(int argc, char** argv) +{ + int err = 0, is_missing = 0; - FILE* in = NULL; - char* infile = "../../data/reduced_gaussian_pressure_level.grib2"; - FILE* out = NULL; - char* outfile = "out_surface_level.grib2"; - grib_handle *h = NULL; - const void* buffer = NULL; - size_t size=0; - char str[]="sfc"; - size_t str_len=3; - long Ni = 0; + FILE* in = NULL; + char* infile = "../../data/reduced_gaussian_pressure_level.grib2"; + FILE* out = NULL; + char* outfile = "out_surface_level.grib2"; + grib_handle *h = NULL; + const void* buffer = NULL; + size_t size=0; + char str[]="sfc"; + size_t str_len=3; + long Ni = 0; - in = fopen(infile,"r"); - if(!in) { - printf("ERROR: unable to open input file %s\n",infile); - return 1; - } + in = fopen(infile,"r"); + if(!in) { + printf("ERROR: unable to open input file %s\n",infile); + return 1; + } - out = fopen(outfile,"w"); - if(!out) { - printf("ERROR: unable to open output file %s\n",outfile); - return 1; - } + out = fopen(outfile,"w"); + if(!out) { + printf("ERROR: unable to open output file %s\n",outfile); + fclose(in); + return 1; + } - /* create a new handle from a message in a file */ - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",infile); - } + /* create a new handle from a message in a file */ + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",infile); + } - GRIB_CHECK(grib_set_string(h,"typeOfFirstFixedSurface",str,&str_len),0); - GRIB_CHECK(grib_set_missing(h,"scaleFactorOfFirstFixedSurface"),0); - GRIB_CHECK(grib_set_missing(h,"scaledValueOfFirstFixedSurface"),0); - - /* See GRIB-490 */ - GRIB_CHECK(grib_get_long(h,"Ni",&Ni),0); - is_missing = grib_is_missing(h, "Ni", &err); - GRIB_CHECK(err,0); - assert(is_missing == 1); - GRIB_CHECK(grib_set_long(h,"Ni", Ni),0); + GRIB_CHECK(grib_set_string(h,"typeOfFirstFixedSurface",str,&str_len),0); + GRIB_CHECK(grib_set_missing(h,"scaleFactorOfFirstFixedSurface"),0); + GRIB_CHECK(grib_set_missing(h,"scaledValueOfFirstFixedSurface"),0); - /* get the coded message in a buffer */ - GRIB_CHECK(grib_get_message(h,&buffer,&size),0); + /* See GRIB-490 */ + GRIB_CHECK(grib_get_long(h,"Ni",&Ni),0); + is_missing = grib_is_missing(h, "Ni", &err); + GRIB_CHECK(err,0); + assert(is_missing == 1); + GRIB_CHECK(grib_set_long(h,"Ni", Ni),0); - /* write the buffer in a file*/ - if(fwrite(buffer,1,size,out) != size) - { - perror(argv[1]); - exit(1); - } + /* get the coded message in a buffer */ + GRIB_CHECK(grib_get_message(h,&buffer,&size),0); - /* delete handle */ - grib_handle_delete(h); + /* write the buffer in a file*/ + if(fwrite(buffer,1,size,out) != size) + { + perror(argv[1]); + exit(1); + } - fclose(in); - fclose(out); + /* delete handle */ + grib_handle_delete(h); - return 0; + fclose(in); + fclose(out); + + return 0; } diff --git a/examples/C/set_pv.c b/examples/C/set_pv.c index c68659394..accfdf05a 100644 --- a/examples/C/set_pv.c +++ b/examples/C/set_pv.c @@ -19,58 +19,58 @@ #include "grib_api.h" -int main(int argc, char** argv) { - int err = 0; - long PVPresent=1; - size_t size=0; - double pv[4]={1,2,3,4}; - size_t pvsize=4; +int main(int argc, char** argv) +{ + int err = 0; + long PVPresent=1; + size_t size=0; + double pv[4]={1,2,3,4}; + size_t pvsize=4; - FILE* in = NULL; - char* infile = "../../data/regular_latlon_surface.grib1"; - FILE* out = NULL; - char* outfile = "out.grib1"; - grib_handle *h = NULL; - const void* buffer = NULL; + FILE* in = NULL; + char* infile = "../../data/regular_latlon_surface.grib1"; + FILE* out = NULL; + char* outfile = "out.grib1"; + grib_handle *h = NULL; + const void* buffer = NULL; - in = fopen(infile,"r"); - if(!in) { - printf("ERROR: unable to open input file %s\n",infile); - return 1; - } + in = fopen(infile,"r"); + if(!in) { + printf("ERROR: unable to open input file %s\n",infile); + return 1; + } - out = fopen(outfile,"w"); - if(!out) { - printf("ERROR: unable to open output file %s\n",outfile); - return 1; - } + out = fopen(outfile,"w"); + if(!out) { + printf("ERROR: unable to open output file %s\n",outfile); + fclose(in); + return 1; + } - /* create a new handle from a message in a file */ - h = grib_handle_new_from_file(0,in,&err); - if (h == NULL) { - printf("Error: unable to create handle from file %s\n",infile); - } + /* create a new handle from a message in a file */ + h = grib_handle_new_from_file(0,in,&err); + if (h == NULL) { + printf("Error: unable to create handle from file %s\n",infile); + } - GRIB_CHECK(grib_set_long(h,"PVPresent",PVPresent),0); + GRIB_CHECK(grib_set_long(h,"PVPresent",PVPresent),0); - GRIB_CHECK(grib_set_double_array(h,"pv",pv,pvsize),0); + GRIB_CHECK(grib_set_double_array(h,"pv",pv,pvsize),0); - /* get the coded message in a buffer */ - GRIB_CHECK(grib_get_message(h,&buffer,&size),0); + /* get the coded message in a buffer */ + GRIB_CHECK(grib_get_message(h,&buffer,&size),0); - /* write the buffer in a file*/ - if(fwrite(buffer,1,size,out) != size) - { - perror(argv[1]); - exit(1); - } + /* write the buffer in a file*/ + if(fwrite(buffer,1,size,out) != size) + { + perror(argv[1]); + exit(1); + } - /* delete handle */ - grib_handle_delete(h); + grib_handle_delete(h); + fclose(in); + fclose(out); - fclose(in); - fclose(out); - - return 0; + return 0; } diff --git a/examples/C/values_check.c b/examples/C/values_check.c index 36d222169..a652b3e6b 100644 --- a/examples/C/values_check.c +++ b/examples/C/values_check.c @@ -9,7 +9,8 @@ */ #include "grib_api.h" -int main(int argc, char* argv[]) { +int main(int argc, char* argv[]) +{ FILE* f; int err=0; char infile[]="../../data/reduced_gaussian_model_level.grib1"; diff --git a/examples/F90/CMakeLists.txt b/examples/F90/CMakeLists.txt index d5f8338c9..5e2875d44 100644 --- a/examples/F90/CMakeLists.txt +++ b/examples/F90/CMakeLists.txt @@ -46,7 +46,7 @@ foreach( tool ${tests} ) ecbuild_add_executable( TARGET f_${tool} NOINSTALL SOURCES ${tool}.f90 - CONDITION ENABLE_FORTRAN + CONDITION ENABLE_FORTRAN LINKER_LANGUAGE Fortran LIBS grib_api_f90 grib_api ) @@ -64,21 +64,21 @@ endforeach() ecbuild_add_executable( TARGET f_new_from_file NOINSTALL SOURCES new_from_file.f90 - CONDITION ENABLE_FORTRAN + CONDITION ENABLE_FORTRAN LINKER_LANGUAGE Fortran LIBS grib_api_f90 grib_api ) ecbuild_add_executable( TARGET f_copy_namespace NOINSTALL SOURCES copy_namespace.f90 - CONDITION ENABLE_FORTRAN + CONDITION ENABLE_FORTRAN LINKER_LANGUAGE Fortran LIBS grib_api_f90 grib_api ) ecbuild_add_executable( TARGET f_set_gvc NOINSTALL SOURCES set_gvc.f90 - CONDITION ENABLE_FORTRAN + CONDITION ENABLE_FORTRAN LINKER_LANGUAGE Fortran LIBS grib_api_f90 grib_api ) diff --git a/examples/F90/Makefile.am b/examples/F90/Makefile.am index 09e732f7b..185b27837 100644 --- a/examples/F90/Makefile.am +++ b/examples/F90/Makefile.am @@ -42,5 +42,5 @@ AM_FCFLAGS = $(F90_MODULE_FLAG)$(top_builddir)/fortran LDADD = $(top_builddir)/fortran/libgrib_api_f90.la $(top_builddir)/src/libgrib_api.la DEPENDENCIES = $(LDADD) -EXTRA_DIST =$(TESTS) include.sh +EXTRA_DIST =$(TESTS) include.sh CMakeLists.txt include.ctest.sh.in diff --git a/examples/Makefile.am b/examples/Makefile.am index 4149957bd..dcab98001 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -33,5 +33,5 @@ INCLUDES = -I$(top_builddir)/src LDADD = $(top_builddir)/src/libgrib_api.la DEPENDENCIES = $(LDADD) -EXTRA_DIST =$(TESTS) include.sh +EXTRA_DIST =$(TESTS) include.sh CMakeLists.txt diff --git a/examples/python/Makefile.am b/examples/python/Makefile.am index 29a7504af..b64d35276 100644 --- a/examples/python/Makefile.am +++ b/examples/python/Makefile.am @@ -15,5 +15,6 @@ LDADD = $(top_builddir)/src/libgrib_api.la DEPENDENCIES = $(LDADD) EXTRA_DIST = $(TESTS) include.sh clone.py count_messages.py get.py index.py iterator.py keys_iterator.py multi_write.py \ - nearest.py print_data.py samples.py set.py set_missing.py binary_message.py set_pv.py set_bitmap.py + nearest.py print_data.py samples.py set.py set_missing.py binary_message.py set_pv.py set_bitmap.py \ + CMakeLists.txt include.ctest.sh.in endif diff --git a/fortran/CMakeLists.txt b/fortran/CMakeLists.txt index 8f1210f04..00027c1d5 100644 --- a/fortran/CMakeLists.txt +++ b/fortran/CMakeLists.txt @@ -1,5 +1,5 @@ if( ENABLE_FORTRAN ) - + set( srcdir ${CMAKE_CURRENT_SOURCE_DIR} ) set( bindir ${CMAKE_CURRENT_BINARY_DIR} ) diff --git a/fortran/Makefile.am b/fortran/Makefile.am index fd2b3caa7..a2d4cccb7 100644 --- a/fortran/Makefile.am +++ b/fortran/Makefile.am @@ -36,7 +36,8 @@ EXTRA_DIST= grib_fortran_prototypes.h grib_api_constants.h grib_api_externals.h grib_api_visibility.h grib_types.f90 create_grib_f90.sh \ grib_f90_head.f90 grib_f90_tail.f90 grib_f90_int.f90 grib_f90_long_int.f90 \ grib_f90_int_size_t.f90 grib_f90_long_size_t.f90 \ - same_int_long.f90 same_int_size_t.f90 grib_fortran_kinds.c + same_int_long.f90 same_int_size_t.f90 grib_fortran_kinds.c \ + CMakeLists.txt grib_f90.f90: grib_f90_head.f90 grib_f90_tail.f90 grib_f90_int.f90 grib_f90_long_int.f90 grib_f90_int_size_t.f90 grib_f90_long_size_t.f90 same_int_long same_int_size_t grib_kinds.h ./create_grib_f90.sh diff --git a/ifs_samples/grib1/Makefile.am b/ifs_samples/grib1/Makefile.am index 2e78c8012..409784be0 100644 --- a/ifs_samples/grib1/Makefile.am +++ b/ifs_samples/grib1/Makefile.am @@ -23,6 +23,8 @@ nodist_grib1_DATA = \ reduced_gg_ml_grib2.tmpl \ reduced_gg_pl_1024_grib1.tmpl \ reduced_gg_pl_1024_grib2.tmpl \ + reduced_gg_pl_1280_grib1.tmpl \ + reduced_gg_pl_1280_grib2.tmpl \ reduced_gg_pl_128_grib1.tmpl \ reduced_gg_pl_128_grib2.tmpl \ reduced_gg_pl_160_grib1.tmpl \ @@ -114,6 +116,12 @@ reduced_gg_pl_1024_grib1.tmpl: ../../samples/reduced_gg_pl_1024_grib1.tmpl reduced_gg_pl_1024_grib2.tmpl: ../../samples/reduced_gg_pl_1024_grib2.tmpl cp -f ../../samples/reduced_gg_pl_1024_grib2.tmpl . +reduced_gg_pl_1280_grib1.tmpl: ../../samples/reduced_gg_pl_1280_grib1.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib1.tmpl . + +reduced_gg_pl_1280_grib2.tmpl: ../../samples/reduced_gg_pl_1280_grib2.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib2.tmpl . + reduced_gg_pl_128_grib1.tmpl: ../../samples/reduced_gg_pl_128_grib1.tmpl cp -f ../../samples/reduced_gg_pl_128_grib1.tmpl . diff --git a/ifs_samples/grib1_mlgrib2/Makefile.am b/ifs_samples/grib1_mlgrib2/Makefile.am index 3d12cc788..7a2d0298d 100644 --- a/ifs_samples/grib1_mlgrib2/Makefile.am +++ b/ifs_samples/grib1_mlgrib2/Makefile.am @@ -23,6 +23,8 @@ nodist_grib1_mlgrib2_DATA = \ reduced_gg_ml_grib2.tmpl \ reduced_gg_pl_1024_grib1.tmpl \ reduced_gg_pl_1024_grib2.tmpl \ + reduced_gg_pl_1280_grib1.tmpl \ + reduced_gg_pl_1280_grib2.tmpl \ reduced_gg_pl_128_grib1.tmpl \ reduced_gg_pl_128_grib2.tmpl \ reduced_gg_pl_160_grib1.tmpl \ @@ -114,6 +116,12 @@ reduced_gg_pl_1024_grib1.tmpl: ../../samples/reduced_gg_pl_1024_grib1.tmpl reduced_gg_pl_1024_grib2.tmpl: ../../samples/reduced_gg_pl_1024_grib2.tmpl cp -f ../../samples/reduced_gg_pl_1024_grib2.tmpl . +reduced_gg_pl_1280_grib1.tmpl: ../../samples/reduced_gg_pl_1280_grib1.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib1.tmpl . + +reduced_gg_pl_1280_grib2.tmpl: ../../samples/reduced_gg_pl_1280_grib2.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib2.tmpl . + reduced_gg_pl_128_grib1.tmpl: ../../samples/reduced_gg_pl_128_grib1.tmpl cp -f ../../samples/reduced_gg_pl_128_grib1.tmpl . diff --git a/ifs_samples/grib1_mlgrib2_ieee32/Makefile.am b/ifs_samples/grib1_mlgrib2_ieee32/Makefile.am index bde839398..6b2eb5b56 100644 --- a/ifs_samples/grib1_mlgrib2_ieee32/Makefile.am +++ b/ifs_samples/grib1_mlgrib2_ieee32/Makefile.am @@ -22,6 +22,8 @@ nodist_grib1_mlgrib2_ieee32_DATA = \ reduced_gg_ml_grib2.tmpl \ reduced_gg_pl_1024_grib1.tmpl \ reduced_gg_pl_1024_grib2.tmpl \ + reduced_gg_pl_1280_grib1.tmpl \ + reduced_gg_pl_1280_grib2.tmpl \ reduced_gg_pl_128_grib1.tmpl \ reduced_gg_pl_128_grib2.tmpl \ reduced_gg_pl_160_grib1.tmpl \ @@ -110,6 +112,12 @@ reduced_gg_pl_1024_grib1.tmpl: ../../samples/reduced_gg_pl_1024_grib1.tmpl reduced_gg_pl_1024_grib2.tmpl: ../../samples/reduced_gg_pl_1024_grib2.tmpl cp -f ../../samples/reduced_gg_pl_1024_grib2.tmpl . +reduced_gg_pl_1280_grib1.tmpl: ../../samples/reduced_gg_pl_1280_grib1.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib1.tmpl . + +reduced_gg_pl_1280_grib2.tmpl: ../../samples/reduced_gg_pl_1280_grib2.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib2.tmpl . + reduced_gg_pl_128_grib1.tmpl: ../../samples/reduced_gg_pl_128_grib1.tmpl cp -f ../../samples/reduced_gg_pl_128_grib1.tmpl . diff --git a/ifs_samples/grib1_mlgrib2_ieee64/Makefile.am b/ifs_samples/grib1_mlgrib2_ieee64/Makefile.am index 60c408604..f6133a363 100644 --- a/ifs_samples/grib1_mlgrib2_ieee64/Makefile.am +++ b/ifs_samples/grib1_mlgrib2_ieee64/Makefile.am @@ -23,6 +23,8 @@ nodist_grib1_mlgrib2_ieee64_DATA = \ reduced_gg_ml_grib2.tmpl \ reduced_gg_pl_1024_grib1.tmpl \ reduced_gg_pl_1024_grib2.tmpl \ + reduced_gg_pl_1280_grib1.tmpl \ + reduced_gg_pl_1280_grib2.tmpl \ reduced_gg_pl_128_grib1.tmpl \ reduced_gg_pl_128_grib2.tmpl \ reduced_gg_pl_160_grib1.tmpl \ @@ -114,6 +116,12 @@ reduced_gg_pl_1024_grib1.tmpl: ../../samples/reduced_gg_pl_1024_grib1.tmpl reduced_gg_pl_1024_grib2.tmpl: ../../samples/reduced_gg_pl_1024_grib2.tmpl cp -f ../../samples/reduced_gg_pl_1024_grib2.tmpl . +reduced_gg_pl_1280_grib1.tmpl: ../../samples/reduced_gg_pl_1280_grib1.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib1.tmpl . + +reduced_gg_pl_1280_grib2.tmpl: ../../samples/reduced_gg_pl_1280_grib2.tmpl + cp -f ../../samples/reduced_gg_pl_1280_grib2.tmpl . + reduced_gg_pl_128_grib1.tmpl: ../../samples/reduced_gg_pl_128_grib1.tmpl cp -f ../../samples/reduced_gg_pl_128_grib1.tmpl . diff --git a/python/Makefile.am b/python/Makefile.am index 96127d789..96a845d16 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -30,7 +30,8 @@ EXTRA_DIST = grib_interface.h \ swig_wrap_array.c \ swig_wrap_numpy.c \ swig_wrap_array.py \ - swig_wrap_numpy.py + swig_wrap_numpy.py \ + CMakeLists.txt # What else I want installed pkgpyexec_DATA = \ @@ -69,7 +70,8 @@ EXTRA_DIST = setup.py.in \ swig_wrap_array.c \ swig_wrap_numpy.c \ swig_wrap_array.py \ - swig_wrap_numpy.py + swig_wrap_numpy.py \ + CMakeLists.txt # What I want installed pdir = $(libdir)/python$(PYTHON_VERSION)/site-packages/grib_api diff --git a/samples/Makefile.am b/samples/Makefile.am index 8bf2f0257..d3622d603 100644 --- a/samples/Makefile.am +++ b/samples/Makefile.am @@ -53,6 +53,8 @@ dist_samples_DATA = \ reduced_gg_pl_640_grib2.tmpl \ reduced_gg_pl_1024_grib1.tmpl \ reduced_gg_pl_1024_grib2.tmpl \ + reduced_gg_pl_1280_grib1.tmpl \ + reduced_gg_pl_1280_grib2.tmpl \ reduced_gg_pl_2000_grib1.tmpl \ reduced_gg_pl_2000_grib2.tmpl \ reduced_gg_pl_80_grib1.tmpl \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9ec571f91..2c30fdbf4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -163,6 +163,7 @@ list( APPEND grib_api_srcs grib_accessor_class_g2grid.c grib_accessor_class_data_apply_bitmap.c grib_accessor_class_data_apply_boustrophedonic.c + grib_accessor_class_data_apply_boustrophedonic_bitmap.c grib_accessor_class_data_secondary_bitmap.c grib_accessor_class_data_g1secondary_bitmap.c grib_accessor_class_data_g2secondary_bitmap.c @@ -280,7 +281,6 @@ list( APPEND grib_api_srcs grib_accessor_class.h grib_accessor_factory.h grib_api.h - grib_api_fortran.h grib_api_internal.h grib_api_prototypes.h grib_box_class.h @@ -295,9 +295,6 @@ list( APPEND grib_api_srcs grib_nearest_factory.h grib_templates.h grib_yacc.h - jgribapi_GribFile.h - jgribapi_GribHandle.h - jgribapi_GribIterator.h md5.h md5.c # Ship our generated lex/yacc C files diff --git a/src/Makefile.am b/src/Makefile.am index 6b79c290a..e778ae704 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -177,6 +177,7 @@ libgrib_api_la_prototypes= \ grib_accessor_class_g2grid.c \ grib_accessor_class_data_apply_bitmap.c \ grib_accessor_class_data_apply_boustrophedonic.c \ + grib_accessor_class_data_apply_boustrophedonic_bitmap.c \ grib_accessor_class_data_secondary_bitmap.c \ grib_accessor_class_data_g1secondary_bitmap.c \ grib_accessor_class_data_g2secondary_bitmap.c \ @@ -334,7 +335,8 @@ EXTRA_DIST= dummy.am griby.y gribl.l grib_accessor_classes_hash.c \ grib_bits_fast_big_endian_vector.c grib_bits_any_endian_vector.c \ grib_bits_fast_big_endian_simple.c grib_bits_any_endian_simple.c \ grib_bits_fast_big_endian_omp.c grib_bits_any_endian_omp.c \ - encode_double_array.c grib_bits_ibmpow.c grib_bits_ibmpow_opt.c minmax_val.c + encode_double_array.c grib_bits_ibmpow.c grib_bits_ibmpow_opt.c minmax_val.c \ + CMakeLists.txt grib_api_version.c.in include $(DEVEL_RULES) diff --git a/src/grib_accessor_class.h b/src/grib_accessor_class.h index a5a2922ea..7e24ff1af 100644 --- a/src/grib_accessor_class.h +++ b/src/grib_accessor_class.h @@ -25,6 +25,7 @@ extern grib_accessor_class* grib_accessor_class_data_2order_packing; extern grib_accessor_class* grib_accessor_class_data_2order_packing_count; extern grib_accessor_class* grib_accessor_class_data_apply_bitmap; extern grib_accessor_class* grib_accessor_class_data_apply_boustrophedonic; +extern grib_accessor_class* grib_accessor_class_data_apply_boustrophedonic_bitmap; extern grib_accessor_class* grib_accessor_class_data_apply_gdsnotpresent; extern grib_accessor_class* grib_accessor_class_data_complex_packing; extern grib_accessor_class* grib_accessor_class_data_constant_field; diff --git a/src/grib_accessor_class_data_apply_bitmap.c b/src/grib_accessor_class_data_apply_bitmap.c index ed3aea4d0..704f74481 100644 --- a/src/grib_accessor_class_data_apply_bitmap.c +++ b/src/grib_accessor_class_data_apply_bitmap.c @@ -155,7 +155,6 @@ static void dump(grib_accessor* a, grib_dumper* dumper) grib_dump_values(dumper,a); } - static int value_count(grib_accessor* a,long* count) { grib_accessor_data_apply_bitmap *self =(grib_accessor_data_apply_bitmap*)a; @@ -172,8 +171,7 @@ static int value_count(grib_accessor* a,long* count) return ret; } - -static int unpack_double(grib_accessor* a, double* val, size_t *len) +static int unpack_double(grib_accessor* a, double* val, size_t *len) { grib_accessor_data_apply_bitmap* self = (grib_accessor_data_apply_bitmap*)a; @@ -183,9 +181,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len) long nn=0; int err=0; size_t coded_n_vals = 0; - double* coded_vals = NULL; - double missing_value = 0; err=grib_value_count(a,&nn); @@ -201,8 +197,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len) if((err = grib_get_double_internal(a->parent->h,self->missing_value,&missing_value)) != GRIB_SUCCESS) return err; - if(*len < n_vals) - { + if(*len < n_vals) { *len = n_vals; return GRIB_ARRAY_TOO_SMALL; } @@ -230,7 +225,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len) } grib_context_log(a->parent->h->context, GRIB_LOG_DEBUG, - "grib_accessor_data_simple_packing_bitmap : unpack_double : creating %s, %d values", + "grib_accessor_class_data_apply_bitmap: unpack_double : creating %s, %d values", a->name, n_vals); for(i=0;i < n_vals;i++) @@ -245,7 +240,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len) { grib_context_free(a->parent->h->context,coded_vals); grib_context_log(a->parent->h->context, GRIB_LOG_ERROR, - "grib_accessor_data_simple_packing_bitmap [%s]:" + "grib_accessor_class_data_apply_bitmap [%s]:" " unpack_double : number of coded values does not match bitmap %ld %ld", a->name,coded_n_vals,n_vals); @@ -260,7 +255,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len) return err; } -static int unpack_double_element(grib_accessor* a, size_t idx,double* val) +static int unpack_double_element(grib_accessor* a, size_t idx,double* val) { grib_accessor_data_apply_bitmap* self = (grib_accessor_data_apply_bitmap*)a; int err = 0,i=0; @@ -297,7 +292,6 @@ static int unpack_double_element(grib_accessor* a, size_t idx,double* val) grib_context_free(a->parent->h->context,bvals); return grib_get_double_element_internal(a->parent->h,self->coded_values,cidx,val); - } static int pack_double(grib_accessor* a, const double* val, size_t *len) @@ -357,7 +351,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t *len) return err; } -static int get_native_type(grib_accessor* a) +static int get_native_type(grib_accessor* a) { /* grib_accessor_data_apply_bitmap* self = (grib_accessor_data_apply_bitmap*)a; return grib_accessor_get_native_type(grib_find_accessor(a->parent->h,self->coded_values));*/ diff --git a/src/grib_accessor_class_data_apply_boustrophedonic.c b/src/grib_accessor_class_data_apply_boustrophedonic.c index 73ed77470..41cce699e 100644 --- a/src/grib_accessor_class_data_apply_boustrophedonic.c +++ b/src/grib_accessor_class_data_apply_boustrophedonic.c @@ -136,199 +136,195 @@ static void init_class(grib_accessor_class* c) static void init(grib_accessor* a,const long v, grib_arguments* args) { - int n=0; - grib_accessor_data_apply_boustrophedonic *self =(grib_accessor_data_apply_boustrophedonic*)a; + int n=0; + grib_accessor_data_apply_boustrophedonic *self =(grib_accessor_data_apply_boustrophedonic*)a; - self->values = grib_arguments_get_name(a->parent->h,args,n++); - self->numberOfRows = grib_arguments_get_name(a->parent->h,args,n++); - self->numberOfColumns = grib_arguments_get_name(a->parent->h,args,n++); - self->numberOfPoints = grib_arguments_get_name(a->parent->h,args,n++); - self->pl = grib_arguments_get_name(a->parent->h,args,n++); + self->values = grib_arguments_get_name(a->parent->h,args,n++); + self->numberOfRows = grib_arguments_get_name(a->parent->h,args,n++); + self->numberOfColumns = grib_arguments_get_name(a->parent->h,args,n++); + self->numberOfPoints = grib_arguments_get_name(a->parent->h,args,n++); + self->pl = grib_arguments_get_name(a->parent->h,args,n++); - a->length = 0; + a->length = 0; } static void dump(grib_accessor* a, grib_dumper* dumper) { - grib_dump_values(dumper,a); + grib_dump_values(dumper,a); } - static int value_count(grib_accessor* a, long* numberOfPoints) { - grib_accessor_data_apply_boustrophedonic *self =(grib_accessor_data_apply_boustrophedonic*)a; - int ret=0; + grib_accessor_data_apply_boustrophedonic *self =(grib_accessor_data_apply_boustrophedonic*)a; + int ret=0; - *numberOfPoints=0; - ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,numberOfPoints); - - return ret; + *numberOfPoints=0; + ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,numberOfPoints); + return ret; } - -static int unpack_double(grib_accessor* a, double* val, size_t *len) +static int unpack_double(grib_accessor* a, double* val, size_t *len) { - grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a; - size_t plSize=0; - long *pl=0; - double *values=0; - double *pvalues=0; - double *pval=0; - size_t valuesSize=0; - long i,j; - int ret; - long numberOfPoints,numberOfRows,numberOfColumns; + grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a; + size_t plSize=0; + long *pl=0; + double *values=0; + double *pvalues=0; + double *pval=0; + size_t valuesSize=0; + long i,j; + int ret; + long numberOfPoints,numberOfRows,numberOfColumns; - ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); + if (ret) return ret; - if(*len < numberOfPoints) { - *len = numberOfPoints; - return GRIB_ARRAY_TOO_SMALL; - } + if(*len < numberOfPoints) { + *len = numberOfPoints; + return GRIB_ARRAY_TOO_SMALL; + } - ret=grib_get_size(a->parent->h,self->values,&valuesSize); - if (ret) return ret; + ret=grib_get_size(a->parent->h,self->values,&valuesSize); + if (ret) return ret; - /* constant field */ - if (valuesSize==0) return 0; + /* constant field */ + if (valuesSize==0) return 0; - if (valuesSize!=numberOfPoints) { - grib_context_log(a->parent->h->context,GRIB_LOG_ERROR,"boustrophedonic ordering error: ( %s=%ld ) != (sizeOf(%s)=%ld)", - self->numberOfPoints,numberOfPoints,self->values,(long)valuesSize); - return GRIB_DECODING_ERROR; - } + if (valuesSize!=numberOfPoints) { + grib_context_log(a->parent->h->context,GRIB_LOG_ERROR,"boustrophedonic ordering error: ( %s=%ld ) != (sizeOf(%s)=%ld)", + self->numberOfPoints,numberOfPoints,self->values,(long)valuesSize); + return GRIB_DECODING_ERROR; + } - values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*numberOfPoints); - ret=grib_get_double_array_internal(a->parent->h,self->values,values,&valuesSize); - if (ret) return ret; + values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*numberOfPoints); + ret=grib_get_double_array_internal(a->parent->h,self->values,values,&valuesSize); + if (ret) return ret; - pvalues=values; - pval=val; + pvalues=values; + pval=val; - ret=grib_get_long_internal(a->parent->h,self->numberOfRows,&numberOfRows); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfRows,&numberOfRows); + if (ret) return ret; - ret=grib_get_long_internal(a->parent->h,self->numberOfColumns,&numberOfColumns); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfColumns,&numberOfColumns); + if (ret) return ret; - if (grib_get_size(a->parent->h,self->pl,&plSize) == GRIB_SUCCESS) { - Assert(plSize==numberOfRows); - pl=grib_context_malloc_clear(a->parent->h->context,sizeof(long)*plSize); - ret=grib_get_long_array_internal(a->parent->h,self->pl,pl,&plSize); - if (ret) return ret; + if (grib_get_size(a->parent->h,self->pl,&plSize) == GRIB_SUCCESS) { + Assert(plSize==numberOfRows); + pl=grib_context_malloc_clear(a->parent->h->context,sizeof(long)*plSize); + ret=grib_get_long_array_internal(a->parent->h,self->pl,pl,&plSize); + if (ret) return ret; - for (j=0;jparent->h->context,pl); + grib_context_free(a->parent->h->context,pl); - } else { + } else { - for (j=0;jparent->h->context,values); + grib_context_free(a->parent->h->context,values); - return GRIB_SUCCESS; + return GRIB_SUCCESS; } -static int unpack_double_element(grib_accessor* a, size_t idx,double* val) +static int unpack_double_element(grib_accessor* a, size_t idx,double* val) { - return GRIB_NOT_IMPLEMENTED; + return GRIB_NOT_IMPLEMENTED; } static int pack_double(grib_accessor* a, const double* val, size_t *len) { - grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a; - size_t plSize=0; - long *pl=0; - double *values=0; - double *pvalues=0; - double *pval=0; - size_t valuesSize=0; - long i,j; - int ret; - long numberOfPoints,numberOfRows,numberOfColumns; + grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a; + size_t plSize=0; + long *pl=0; + double *values=0; + double *pvalues=0; + double *pval=0; + size_t valuesSize=0; + long i,j; + int ret; + long numberOfPoints,numberOfRows,numberOfColumns; - ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); + if (ret) return ret; - if(*len < numberOfPoints) { - *len = numberOfPoints; - return GRIB_ARRAY_TOO_SMALL; - } + if(*len < numberOfPoints) { + *len = numberOfPoints; + return GRIB_ARRAY_TOO_SMALL; + } - valuesSize=numberOfPoints; + valuesSize=numberOfPoints; - values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*numberOfPoints); + values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*numberOfPoints); - pvalues=values; - pval=(double*)val; + pvalues=values; + pval=(double*)val; - ret=grib_get_long_internal(a->parent->h,self->numberOfRows,&numberOfRows); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfRows,&numberOfRows); + if (ret) return ret; - ret=grib_get_long_internal(a->parent->h,self->numberOfColumns,&numberOfColumns); - if (ret) return ret; + ret=grib_get_long_internal(a->parent->h,self->numberOfColumns,&numberOfColumns); + if (ret) return ret; - if (grib_get_size(a->parent->h,self->pl,&plSize) == GRIB_SUCCESS) { - Assert(plSize==numberOfRows); - pl=grib_context_malloc_clear(a->parent->h->context,sizeof(long)*plSize); - ret=grib_get_long_array_internal(a->parent->h,self->pl,pl,&plSize); - if (ret) return ret; + if (grib_get_size(a->parent->h,self->pl,&plSize) == GRIB_SUCCESS) { + Assert(plSize==numberOfRows); + pl=grib_context_malloc_clear(a->parent->h->context,sizeof(long)*plSize); + ret=grib_get_long_array_internal(a->parent->h,self->pl,pl,&plSize); + if (ret) return ret; - for (j=0;jparent->h->context,pl); + grib_context_free(a->parent->h->context,pl); - } else { + } else { - for (j=0;jparent->h,self->values,values,valuesSize); - if (ret) return ret; + } + ret=grib_set_double_array_internal(a->parent->h,self->values,values,valuesSize); + if (ret) return ret; - grib_context_free(a->parent->h->context,values); + grib_context_free(a->parent->h->context,values); - - return ret; + return ret; } -static int get_native_type(grib_accessor* a) +static int get_native_type(grib_accessor* a) { - return GRIB_TYPE_DOUBLE; + return GRIB_TYPE_DOUBLE; } diff --git a/src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c b/src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c new file mode 100644 index 000000000..f518c9d95 --- /dev/null +++ b/src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c @@ -0,0 +1,432 @@ +/* + * Copyright 2005-2014 ECMWF. + * + * This software is licensed under the terms of the Apache Licence Version 2.0 + * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + * + * In applying this licence, ECMWF does not waive the privileges and immunities granted to it by + * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. + */ + +#include "grib_api_internal.h" + +/* + This is used by make_class.pl + + START_CLASS_DEF + CLASS = accessor + SUPER = grib_accessor_class_gen + IMPLEMENTS = init + IMPLEMENTS = unpack_double;unpack_double_element + IMPLEMENTS = pack_double + IMPLEMENTS = value_count + IMPLEMENTS = dump;get_native_type + MEMBERS=const char* coded_values + MEMBERS=const char* bitmap + MEMBERS=const char* missing_value + MEMBERS=const char* binary_scale_factor + MEMBERS=const char* numberOfRows + MEMBERS=const char* numberOfColumns + MEMBERS=const char* numberOfPoints + + END_CLASS_DEF + */ + +/* START_CLASS_IMP */ + +/* + +Don't edit anything between START_CLASS_IMP and END_CLASS_IMP +Instead edit values between START_CLASS_DEF and END_CLASS_DEF +or edit "accessor.class" and rerun ./make_class.pl + +*/ + +static int get_native_type(grib_accessor*); +static int pack_double(grib_accessor*, const double* val,size_t *len); +static int unpack_double(grib_accessor*, double* val,size_t *len); +static int value_count(grib_accessor*,long*); +static void dump(grib_accessor*, grib_dumper*); +static void init(grib_accessor*,const long, grib_arguments* ); +static void init_class(grib_accessor_class*); +static int unpack_double_element(grib_accessor*,size_t i, double* val); + +typedef struct grib_accessor_data_apply_boustrophedonic_bitmap { + grib_accessor att; +/* Members defined in gen */ +/* Members defined in data_apply_boustrophedonic_bitmap */ + const char* coded_values; + const char* bitmap; + const char* missing_value; + const char* binary_scale_factor; + const char* numberOfRows; + const char* numberOfColumns; + const char* numberOfPoints; +} grib_accessor_data_apply_boustrophedonic_bitmap; + +extern grib_accessor_class* grib_accessor_class_gen; + +static grib_accessor_class _grib_accessor_class_data_apply_boustrophedonic_bitmap = { + &grib_accessor_class_gen, /* super */ + "data_apply_boustrophedonic_bitmap", /* name */ + sizeof(grib_accessor_data_apply_boustrophedonic_bitmap), /* size */ + 0, /* inited */ + &init_class, /* init_class */ + &init, /* init */ + 0, /* post_init */ + 0, /* free mem */ + &dump, /* describes himself */ + 0, /* get length of section */ + 0, /* get length of string */ + &value_count, /* get number of values */ + 0, /* get number of bytes */ + 0, /* get offset to bytes */ + &get_native_type, /* get native type */ + 0, /* get sub_section */ + 0, /* grib_pack procedures long */ + 0, /* grib_pack procedures long */ + 0, /* grib_pack procedures long */ + 0, /* grib_unpack procedures long */ + &pack_double, /* grib_pack procedures double */ + &unpack_double, /* grib_unpack procedures double */ + 0, /* grib_pack procedures string */ + 0, /* grib_unpack procedures string */ + 0, /* grib_pack procedures bytes */ + 0, /* grib_unpack procedures bytes */ + 0, /* pack_expression */ + 0, /* notify_change */ + 0, /* update_size */ + 0, /* preferred_size */ + 0, /* resize */ + 0, /* nearest_smaller_value */ + 0, /* next accessor */ + 0, /* compare vs. another accessor */ + &unpack_double_element, /* unpack only ith value */ + 0, /* unpack a subarray */ + 0, /* clear */ +}; + + +grib_accessor_class* grib_accessor_class_data_apply_boustrophedonic_bitmap = &_grib_accessor_class_data_apply_boustrophedonic_bitmap; + + +static void init_class(grib_accessor_class* c) +{ + c->next_offset = (*(c->super))->next_offset; + c->string_length = (*(c->super))->string_length; + c->byte_count = (*(c->super))->byte_count; + c->byte_offset = (*(c->super))->byte_offset; + c->sub_section = (*(c->super))->sub_section; + c->pack_missing = (*(c->super))->pack_missing; + c->is_missing = (*(c->super))->is_missing; + c->pack_long = (*(c->super))->pack_long; + c->unpack_long = (*(c->super))->unpack_long; + c->pack_string = (*(c->super))->pack_string; + c->unpack_string = (*(c->super))->unpack_string; + c->pack_bytes = (*(c->super))->pack_bytes; + c->unpack_bytes = (*(c->super))->unpack_bytes; + c->pack_expression = (*(c->super))->pack_expression; + c->notify_change = (*(c->super))->notify_change; + c->update_size = (*(c->super))->update_size; + c->preferred_size = (*(c->super))->preferred_size; + c->resize = (*(c->super))->resize; + c->nearest_smaller_value = (*(c->super))->nearest_smaller_value; + c->next = (*(c->super))->next; + c->compare = (*(c->super))->compare; + c->unpack_double_subarray = (*(c->super))->unpack_double_subarray; + c->clear = (*(c->super))->clear; +} + +/* END_CLASS_IMP */ + +static void init(grib_accessor* a,const long v, grib_arguments* args) +{ + int n=0; + grib_accessor_data_apply_boustrophedonic_bitmap *self =(grib_accessor_data_apply_boustrophedonic_bitmap*)a; + + self->coded_values = grib_arguments_get_name(a->parent->h,args,n++); + self->bitmap = grib_arguments_get_name(a->parent->h,args,n++); + self->missing_value = grib_arguments_get_name(a->parent->h,args,n++); + self->binary_scale_factor = grib_arguments_get_name(a->parent->h,args,n++); + + self->numberOfRows = grib_arguments_get_name(a->parent->h,args,n++); + self->numberOfColumns = grib_arguments_get_name(a->parent->h,args,n++); + self->numberOfPoints = grib_arguments_get_name(a->parent->h,args,n++); + + a->length = 0; +} +static void dump(grib_accessor* a, grib_dumper* dumper) +{ + grib_dump_values(dumper,a); +} + +static int value_count(grib_accessor* a,long* count) +{ + grib_accessor_data_apply_boustrophedonic_bitmap *self =(grib_accessor_data_apply_boustrophedonic_bitmap*)a; + size_t len = 0; + int ret = 0; + + /* This accessor is for data with a bitmap after all */ + Assert(grib_find_accessor(a->parent->h, self->bitmap)); + + ret = grib_get_size(a->parent->h, self->bitmap, &len); + *count=len; + return ret; +} + +static int unpack_double(grib_accessor* a, double* val, size_t *len) +{ + grib_accessor_data_apply_boustrophedonic_bitmap* self = (grib_accessor_data_apply_boustrophedonic_bitmap*)a; + + size_t i = 0, j = 0, n_vals = 0, irow = 0; + long nn=0; + int err=0; + size_t coded_n_vals = 0; + double* coded_vals = NULL; + double missing_value = 0; + long numberOfPoints, numberOfRows, numberOfColumns; + + err=grib_value_count(a,&nn); + n_vals=nn; + if (err) return err; + + err=grib_get_long_internal(a->parent->h,self->numberOfRows,&numberOfRows); + if (err) return err; + err=grib_get_long_internal(a->parent->h,self->numberOfColumns,&numberOfColumns); + if (err) return err; + err=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); + if (err) return err; + Assert(nn == numberOfPoints); + + if(!grib_find_accessor(a->parent->h,self->bitmap)) + return grib_get_double_array_internal(a->parent->h,self->coded_values,val,len); + + if((err = grib_get_size(a->parent->h,self->coded_values,&coded_n_vals)) != GRIB_SUCCESS) + return err; + + if((err = grib_get_double_internal(a->parent->h,self->missing_value,&missing_value)) + != GRIB_SUCCESS) return err; + + if(*len < n_vals) { + *len = n_vals; + return GRIB_ARRAY_TOO_SMALL; + } + + if (coded_n_vals==0) { + for(i=0;i < n_vals;i++) + val[i] = missing_value; + + *len=n_vals; + return GRIB_SUCCESS; + } + + if((err = grib_get_double_array_internal(a->parent->h,self->bitmap,val,&n_vals)) + != GRIB_SUCCESS) + return err; + + coded_vals = grib_context_malloc(a->parent->h->context,coded_n_vals*sizeof(double)); + if(coded_vals == NULL) return GRIB_OUT_OF_MEMORY; + + if((err = grib_get_double_array_internal(a->parent->h,self->coded_values,coded_vals,&coded_n_vals)) + != GRIB_SUCCESS) + { + grib_context_free(a->parent->h->context,coded_vals); + return err; + } + + grib_context_log(a->parent->h->context, GRIB_LOG_DEBUG, + "grib_accessor_class_data_apply_boustrophedonic_bitmap: unpack_double : creating %s, %d values", + a->name, n_vals); + + /* Boustrophedonic ordering (See GRIB-472): + * Values on even rank lines (the initial line scanned having rank 1) are swapped + */ + for(irow=0; irowcoded_n_vals) + { + grib_context_free(a->parent->h->context,coded_vals); + grib_context_log(a->parent->h->context, GRIB_LOG_ERROR, + "grib_accessor_class_data_apply_boustrophedonic_bitmap [%s]:" + " unpack_double : number of coded values does not match bitmap %ld %ld", + a->name,coded_n_vals,n_vals); + + return GRIB_ARRAY_TOO_SMALL; + } + } + } + + *len = n_vals; + + grib_context_free(a->parent->h->context,coded_vals); + return err; +} + +static int unpack_double_element(grib_accessor* a, size_t idx,double* val) +{ + grib_accessor_data_apply_boustrophedonic_bitmap* self = (grib_accessor_data_apply_boustrophedonic_bitmap*)a; + int err = 0,i=0; + size_t cidx=0; + double missing_value = 0; + double* bvals=NULL; + size_t n_vals = 0; + long nn=0; + + err=grib_value_count(a,&nn); + n_vals=nn; + if (err) return err; + + if(!grib_find_accessor(a->parent->h,self->bitmap)) + return grib_get_double_element_internal(a->parent->h,self->coded_values,idx,val); + + if((err = grib_get_double_internal(a->parent->h,self->missing_value,&missing_value)) != GRIB_SUCCESS) + return err; + + if((err = grib_get_double_element_internal(a->parent->h,self->bitmap,idx,val)) != GRIB_SUCCESS) + return err; + + if (*val == 0) {*val=missing_value;return GRIB_SUCCESS;} + + bvals = grib_context_malloc(a->parent->h->context,n_vals*sizeof(double)); + if(bvals == NULL) return GRIB_OUT_OF_MEMORY; + + if((err = grib_get_double_array_internal(a->parent->h,self->bitmap,bvals,&n_vals)) != GRIB_SUCCESS) + return err; + + cidx=0; + for (i=0;iparent->h->context,bvals); + + return grib_get_double_element_internal(a->parent->h,self->coded_values,cidx,val); +} + +static int pack_double(grib_accessor* a, const double* val, size_t *len) +{ + grib_accessor_data_apply_boustrophedonic_bitmap* self = (grib_accessor_data_apply_boustrophedonic_bitmap*)a; + int err = 0; + size_t bmaplen = *len; + size_t irow = 0; + long coded_n_vals = 0; + double* coded_vals = NULL; + double *values=0; + long i = 0; + long j = 0; + long numberOfPoints, numberOfRows, numberOfColumns; + double missing_value = 0; + + if (*len ==0) return GRIB_NO_VALUES; + + if(!grib_find_accessor(a->parent->h,self->bitmap)){ + err = grib_set_double_array_internal(a->parent->h,self->coded_values,val,*len); + /*printf("SETTING TOTAL number_of_data_points %s %ld\n",self->number_of_data_points,*len);*/ + /*if(self->number_of_data_points) + grib_set_long_internal(a->parent->h,self->number_of_data_points,*len);*/ + return err; + } + + if((err = grib_get_double_internal(a->parent->h,self->missing_value,&missing_value)) != GRIB_SUCCESS) + return err; + + err=grib_get_long_internal(a->parent->h,self->numberOfRows, &numberOfRows); + if (err) return err; + err=grib_get_long_internal(a->parent->h,self->numberOfColumns, &numberOfColumns); + if (err) return err; + err=grib_get_long_internal(a->parent->h,self->numberOfPoints,&numberOfPoints); + if (err) return err; + Assert(numberOfPoints == bmaplen); + + /* Create a copy of the incoming 'val' array because we're going to change it */ + values = grib_context_malloc_clear(a->parent->h->context, sizeof(double)*numberOfPoints); + if (!values) return GRIB_OUT_OF_MEMORY; + for(i=0; iparent->h,self->bitmap,values,bmaplen)) != GRIB_SUCCESS) + return err; + + grib_context_free(a->parent->h->context,values); + + coded_n_vals = *len; + + if(coded_n_vals < 1){ + err = grib_set_double_array_internal(a->parent->h,self->coded_values,NULL,0); + return err; + } + + coded_vals = grib_context_malloc_clear(a->parent->h->context,coded_n_vals*sizeof(double)); + if(!coded_vals) return GRIB_OUT_OF_MEMORY; + + for(i=0; i<*len ; i++) + { + /* To set the coded values, look at 'val' (the original array) */ + /* NOT 'values' (bitmap) which we swapped about */ + if(val[i] != missing_value) { + coded_vals[j++] = val[i]; + } + } + + err = grib_set_double_array_internal(a->parent->h,self->coded_values,coded_vals,j); + if (j==0) { + /*if (self->number_of_values) + err=grib_set_long_internal(a->parent->h,self->number_of_values,0);*/ + if (self->binary_scale_factor) + err=grib_set_long_internal(a->parent->h,self->binary_scale_factor,0); + } + + grib_context_free(a->parent->h->context,coded_vals); + + return err; +} + +static int get_native_type(grib_accessor* a) +{ + /* grib_accessor_data_apply_boustrophedonic_bitmap* self = (grib_accessor_data_apply_boustrophedonic_bitmap*)a; + return grib_accessor_get_native_type(grib_find_accessor(a->parent->h,self->coded_values));*/ + + return GRIB_TYPE_DOUBLE; +} diff --git a/src/grib_accessor_class_data_g1second_order_general_extended_packing.c b/src/grib_accessor_class_data_g1second_order_general_extended_packing.c index 9839334e5..9302cbb0f 100644 --- a/src/grib_accessor_class_data_g1second_order_general_extended_packing.c +++ b/src/grib_accessor_class_data_g1second_order_general_extended_packing.c @@ -19,6 +19,7 @@ IMPLEMENTS = init IMPLEMENTS = pack_double IMPLEMENTS = unpack_double + IMPLEMENTS = unpack_double_element IMPLEMENTS = value_count IMPLEMENTS = destroy MEMBERS=const char* half_byte @@ -67,6 +68,7 @@ static int value_count(grib_accessor*,long*); static void destroy(grib_context*,grib_accessor*); static void init(grib_accessor*,const long, grib_arguments* ); static void init_class(grib_accessor_class*); +static int unpack_double_element(grib_accessor*,size_t i, double* val); typedef struct grib_accessor_data_g1second_order_general_extended_packing { grib_accessor att; @@ -151,7 +153,7 @@ static grib_accessor_class _grib_accessor_class_data_g1second_order_general_exte 0, /* nearest_smaller_value */ 0, /* next accessor */ 0, /* compare vs. another accessor */ - 0, /* unpack only ith value */ + &unpack_double_element, /* unpack only ith value */ 0, /* unpack a subarray */ 0, /* clear */ }; @@ -185,7 +187,6 @@ static void init_class(grib_accessor_class* c) c->nearest_smaller_value = (*(c->super))->nearest_smaller_value; c->next = (*(c->super))->next; c->compare = (*(c->super))->compare; - c->unpack_double_element = (*(c->super))->unpack_double_element; c->unpack_double_subarray = (*(c->super))->unpack_double_subarray; c->clear = (*(c->super))->clear; } @@ -204,10 +205,15 @@ static unsigned long nbits[32]={ 0x40000000, 0x80000000 }; -GRIB_INLINE static long number_of_bits(unsigned long x) { +static long number_of_bits(unsigned long x) { unsigned long *n=nbits; + const int count = sizeof(nbits)/sizeof(nbits[0]); long i=0; - while (x>=*n) {n++;i++;} + while (x>=*n) { + n++; + i++; + Assert(iparent->h,"values",&size); + if (err) return err; + if (idx > size) return GRIB_INVALID_NEAREST; + + values=grib_context_malloc_clear(a->parent->h->context,size*sizeof(double)); + err=grib_get_double_array(a->parent->h,"values",values,&size); + if (err) return err; + *val=values[idx]; + grib_context_free(a->parent->h->context,values); + return err; +} + static int unpack_double(grib_accessor* a, double* values, size_t *len) { grib_accessor_data_g1second_order_general_extended_packing* self = (grib_accessor_data_g1second_order_general_extended_packing*)a; diff --git a/src/grib_accessor_class_data_simple_packing.c b/src/grib_accessor_class_data_simple_packing.c index aff0615a1..f1229c6bb 100644 --- a/src/grib_accessor_class_data_simple_packing.c +++ b/src/grib_accessor_class_data_simple_packing.c @@ -167,7 +167,6 @@ static void init(grib_accessor* a,const long v, grib_arguments* args) self->decimal_scale_factor = grib_arguments_get_name(a->parent->h,args,self->carg++); a->flags |= GRIB_ACCESSOR_FLAG_DATA; self->dirty=1; - } static unsigned long nbits[32]={ @@ -179,14 +178,22 @@ static unsigned long nbits[32]={ 0x40000000, 0x80000000 }; -GRIB_INLINE static long number_of_bits(unsigned long x) { +static int number_of_bits(unsigned long x, long* result) +{ + int err = 0; + const int count = sizeof(nbits)/sizeof(nbits[0]); unsigned long *n=nbits; - long i=0; - while (x>=*n) {n++;i++;} - return i; + *result=0; + while (x >= *n) { + n++; + (*result)++; + if (*result >= count) { + return GRIB_ENCODING_ERROR; + } + } + return GRIB_SUCCESS; } - static int value_count(grib_accessor* a,long* number_of_values) { grib_accessor_data_simple_packing* self = (grib_accessor_data_simple_packing*)a; @@ -195,7 +202,7 @@ static int value_count(grib_accessor* a,long* number_of_values) return grib_get_long_internal(a->parent->h,self->number_of_values,number_of_values); } -static int unpack_double_element(grib_accessor* a, size_t idx, double* val) +static int unpack_double_element(grib_accessor* a, size_t idx, double* val) { grib_accessor_data_simple_packing* self = (grib_accessor_data_simple_packing*)a; @@ -281,7 +288,6 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val) lvalue |= buf[o++] ; } *val = (double) (((lvalue*s)+reference_value)*d); - } return err; @@ -303,7 +309,6 @@ static int _unpack_double(grib_accessor* a, double* val, size_t *len,unsigned c double units_factor=1.0; double units_bias=0.0; - if(*len < n_vals) { *len = (long) n_vals; @@ -571,7 +576,14 @@ static int pack_double(grib_accessor* a, const double* val, size_t *len) max*=decimal; /* bits_per_value=(long)ceil(log((double)(imax-imin+1))/log(2.0)); */ - bits_per_value=number_of_bits((unsigned long)fabs(max-min)); + /* See GRIB-540 for why we use ceil */ + err = number_of_bits( (unsigned long)ceil(fabs(max-min)), &bits_per_value ); + if (err) { + grib_context_log(a->parent->h->context,GRIB_LOG_ERROR, + "Range of values too large. Try a smaller value for decimal precision (less than %d)", + decimal_scale_factor); + return err; + } /*printf("bits_per_value=%ld\n",bits_per_value);*/ if((err = grib_set_long_internal(a->parent->h,self->bits_per_value, bits_per_value)) != GRIB_SUCCESS) @@ -649,6 +661,5 @@ static int pack_double(grib_accessor* a, const double* val, size_t *len) != GRIB_SUCCESS) return err; - return GRIB_SUCCESS; } diff --git a/src/grib_accessor_class_g1step_range.c b/src/grib_accessor_class_g1step_range.c index 6b4e23e5c..1ea46c1ce 100644 --- a/src/grib_accessor_class_g1step_range.c +++ b/src/grib_accessor_class_g1step_range.c @@ -268,7 +268,7 @@ int grib_g1_step_get_steps(grib_accessor* a,long* start,long* theEnd) if (u2s1[unit] == u2s[step_unit] || (*start==0 && *theEnd==0) ) return 0; newstart = (*start) * u2s1[unit]; - newend = (*theEnd) * u2s1[unit]; + newend = (*theEnd) * u2s1[unit]; if (newstart<0 || newend<0) { factor=60; @@ -286,7 +286,7 @@ int grib_g1_step_get_steps(grib_accessor* a,long* start,long* theEnd) return GRIB_DECODING_ERROR; } else { *start = newstart/u2sf_step_unit; - *theEnd = newend/u2sf_step_unit; + *theEnd = newend/u2sf_step_unit; } return 0; @@ -348,10 +348,10 @@ static int unpack_string(grib_accessor* a, char* val, size_t *len) } else if( (strcmp(stepType,"accum") == 0) || - (strcmp(stepType,"avg") == 0) || - (strcmp(stepType,"min") == 0) || - (strcmp(stepType,"max") == 0) || - (strcmp(stepType,"rms") == 0) || + (strcmp(stepType,"avg") == 0) || + (strcmp(stepType,"min") == 0) || + (strcmp(stepType,"max") == 0) || + (strcmp(stepType,"rms") == 0) || (strcmp(stepType,"diff") == 0) || (strcmp(stepType,"avgas") == 0) || (strcmp(stepType,"avgad") == 0) || diff --git a/src/grib_accessor_class_global_gaussian.c b/src/grib_accessor_class_global_gaussian.c index fe9d83c59..610945e1a 100644 --- a/src/grib_accessor_class_global_gaussian.c +++ b/src/grib_accessor_class_global_gaussian.c @@ -181,8 +181,8 @@ static int unpack_long(grib_accessor* a, long* val, size_t *len) if((ret = grib_get_long_internal(a->parent->h, self->subdivision,&subdivision)) != GRIB_SUCCESS) return ret; - if ((basic_angle!=0 && basic_angle!=GRIB_MISSING_LONG) || - ( subdivision !=0 && subdivision == GRIB_MISSING_LONG)) { + if ( (basic_angle !=0 && basic_angle != GRIB_MISSING_LONG) || + ( subdivision !=0 && subdivision != GRIB_MISSING_LONG) ) { *val=0; return ret; } diff --git a/src/grib_accessor_class_second_order_bits_per_value.c b/src/grib_accessor_class_second_order_bits_per_value.c index 4963ef742..70c2c2fe1 100644 --- a/src/grib_accessor_class_second_order_bits_per_value.c +++ b/src/grib_accessor_class_second_order_bits_per_value.c @@ -135,93 +135,98 @@ static void init_class(grib_accessor_class* c) /* END_CLASS_IMP */ static unsigned long nbits[32]={ - 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, - 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, - 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, - 0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, - 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, - 0x40000000, 0x80000000 + 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, + 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, + 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, + 0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, + 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, + 0x40000000, 0x80000000 }; -GRIB_INLINE static long number_of_bits(unsigned long x) { +static long number_of_bits(unsigned long x) { unsigned long *n=nbits; + const int count = sizeof(nbits)/sizeof(nbits[0]); long i=0; - while (x>=*n) {n++;i++;} + while (x>=*n) { + n++; + i++; + Assert(ivalues = grib_arguments_get_name(a->parent->h,c,n++); - self->binaryScaleFactor = grib_arguments_get_name(a->parent->h,c,n++); - self->decimalScaleFactor = grib_arguments_get_name(a->parent->h,c,n++); - self->bitsPerValue=0; - - a->length=0; + int n=0; + grib_accessor_second_order_bits_per_value* self = (grib_accessor_second_order_bits_per_value*)a; + self->values = grib_arguments_get_name(a->parent->h,c,n++); + self->binaryScaleFactor = grib_arguments_get_name(a->parent->h,c,n++); + self->decimalScaleFactor = grib_arguments_get_name(a->parent->h,c,n++); + self->bitsPerValue=0; + + a->length=0; } static int pack_long(grib_accessor* a, const long* val,size_t *len) { - grib_accessor_second_order_bits_per_value* self = (grib_accessor_second_order_bits_per_value*)a; - self->bitsPerValue=(long)*val; - *len=1; + grib_accessor_second_order_bits_per_value* self = (grib_accessor_second_order_bits_per_value*)a; + self->bitsPerValue=(long)*val; + *len=1; - return 0; + return 0; } static int unpack_long(grib_accessor* a, long* val, size_t *len) { - int ret=GRIB_SUCCESS; - size_t size=0; - size_t i; - double max,min,d,b; - double *values=0; - long binaryScaleFactor,decimalScaleFactor; + int ret=GRIB_SUCCESS; + size_t size=0; + size_t i; + double max,min,d,b; + double *values=0; + long binaryScaleFactor,decimalScaleFactor; - grib_accessor_second_order_bits_per_value* self = (grib_accessor_second_order_bits_per_value*)a; - if (self->bitsPerValue) { - *val=self->bitsPerValue; - return GRIB_SUCCESS; - } + grib_accessor_second_order_bits_per_value* self = (grib_accessor_second_order_bits_per_value*)a; + if (self->bitsPerValue) { + *val=self->bitsPerValue; + return GRIB_SUCCESS; + } - if((ret = grib_get_size(a->parent->h, self->values,&size)) != GRIB_SUCCESS) { - *val=self->bitsPerValue; - return GRIB_SUCCESS; - } + if((ret = grib_get_size(a->parent->h, self->values,&size)) != GRIB_SUCCESS) { + *val=self->bitsPerValue; + return GRIB_SUCCESS; + } + + if((ret = grib_get_long(a->parent->h, self->binaryScaleFactor,&binaryScaleFactor)) != GRIB_SUCCESS) + return ret; + + if((ret = grib_get_long_internal(a->parent->h, self->decimalScaleFactor,&decimalScaleFactor)) != GRIB_SUCCESS) + return ret; + + values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*size); + if (!values) { + grib_context_log(a->parent->h->context,GRIB_LOG_FATAL,"%s unable to allocate %ld bytes", + a->name,(long)size); + return GRIB_OUT_OF_MEMORY; + } + if((ret = grib_get_double_array_internal(a->parent->h, self->values,values,&size)) != GRIB_SUCCESS) + return ret; + + max=values[0]; + min=max; + for (i=1;ivalues[i]) min=values[i]; + } + + d=grib_power(decimalScaleFactor,10); + b=grib_power(-binaryScaleFactor,2); + + /* self->bitsPerValue=(long)ceil(log((double)((max-min)*d+1))/log(2.0))-binaryScaleFactor; */ + /* See GRIB-540 for why we use ceil */ + self->bitsPerValue=number_of_bits( (unsigned long)ceil((fabs(max-min)*b*d)) ); + *val=self->bitsPerValue; + + grib_context_free(a->parent->h->context,values); - if((ret = grib_get_long(a->parent->h, self->binaryScaleFactor,&binaryScaleFactor)) != GRIB_SUCCESS) return ret; - - if((ret = grib_get_long_internal(a->parent->h, self->decimalScaleFactor,&decimalScaleFactor)) != GRIB_SUCCESS) - return ret; - - values=grib_context_malloc_clear(a->parent->h->context,sizeof(double)*size); - if (!values) { - grib_context_log(a->parent->h->context,GRIB_LOG_FATAL,"%s unable to allocate %ld bytes", - a->name,(long)size); - return GRIB_OUT_OF_MEMORY; - } - if((ret = grib_get_double_array_internal(a->parent->h, self->values,values,&size)) != GRIB_SUCCESS) - return ret; - - max=values[0]; - min=max; - for (i=1;ivalues[i]) min=values[i]; - } - - d=grib_power(decimalScaleFactor,10); - b=grib_power(-binaryScaleFactor,2); - - /* self->bitsPerValue=(long)ceil(log((double)((max-min)*d+1))/log(2.0))-binaryScaleFactor; */ - self->bitsPerValue=number_of_bits((unsigned long)(fabs(max-min)*b*d)); - *val=self->bitsPerValue; - - grib_context_free(a->parent->h->context,values); - - return ret; } - diff --git a/src/grib_accessor_class_statistics.c b/src/grib_accessor_class_statistics.c index cfa7bb933..24e880dc2 100644 --- a/src/grib_accessor_class_statistics.c +++ b/src/grib_accessor_class_statistics.c @@ -265,18 +265,18 @@ static int compare(grib_accessor* a, grib_accessor* b) double *aval=0; double *bval=0; - size_t alen = 0; - size_t blen = 0; - int err=0; - long count=0; + size_t alen = 0; + size_t blen = 0; + int err=0; + long count=0; - err=grib_value_count(a,&count); - if (err) return err; - alen=count; + err=grib_value_count(a,&count); + if (err) return err; + alen=count; - err=grib_value_count(b,&count); - if (err) return err; - blen=count; + err=grib_value_count(b,&count); + if (err) return err; + blen=count; if (alen != blen) return GRIB_COUNT_MISMATCH; diff --git a/src/grib_accessor_factory.h b/src/grib_accessor_factory.h index 65ec7b4d1..4d4f30666 100644 --- a/src/grib_accessor_factory.h +++ b/src/grib_accessor_factory.h @@ -25,6 +25,7 @@ { "data_2order_packing_count", &grib_accessor_class_data_2order_packing_count, }, { "data_apply_bitmap", &grib_accessor_class_data_apply_bitmap, }, { "data_apply_boustrophedonic", &grib_accessor_class_data_apply_boustrophedonic, }, +{ "data_apply_boustrophedonic_bitmap", &grib_accessor_class_data_apply_boustrophedonic_bitmap, }, { "data_apply_gdsnotpresent", &grib_accessor_class_data_apply_gdsnotpresent, }, { "data_complex_packing", &grib_accessor_class_data_complex_packing, }, { "data_constant_field", &grib_accessor_class_data_constant_field, }, diff --git a/src/grib_api.h b/src/grib_api.h index bb4e5d91e..94740be5b 100644 --- a/src/grib_api.h +++ b/src/grib_api.h @@ -1196,6 +1196,8 @@ void grib_multi_support_off(grib_context* c); * @param f : the file pointer */ void grib_multi_support_reset_file(grib_context* c, FILE* f); + +char* grib_samples_path(const grib_context *c); /*! @} */ /** @@ -1242,7 +1244,6 @@ grib_keys_iterator* grib_keys_iterator_new(grib_handle* h,unsigned long filter_f int grib_keys_iterator_next(grib_keys_iterator *kiter); - /*! get the key name from the iterator * @param kiter : valid grib_keys_iterator * @return key name diff --git a/src/grib_api_internal.h b/src/grib_api_internal.h index 59431489b..4458b3bea 100644 --- a/src/grib_api_internal.h +++ b/src/grib_api_internal.h @@ -271,7 +271,7 @@ typedef int (*accessor_clear_proc) (grib_accessor*); typedef void (*accessor_init_class_proc) (grib_accessor_class*); typedef int (*accessor_compare_proc) (grib_accessor*, grib_accessor*); -typedef size_t (*accessor_string_proc) (grib_accessor*); +typedef size_t (*accessor_string_proc) (grib_accessor*); typedef int (*accessor_value_with_ret_proc) (grib_accessor*,long*); typedef long (*accessor_value_proc) (grib_accessor*); typedef void (*accessor_dump_proc) (grib_accessor*, grib_dumper*); diff --git a/src/grib_api_prototypes.h b/src/grib_api_prototypes.h index 3cfae2c5c..8371b3cae 100644 --- a/src/grib_api_prototypes.h +++ b/src/grib_api_prototypes.h @@ -429,6 +429,7 @@ second_order_packed *grib_get_second_order_groups(grib_context *c, const unsigne /* grib_accessor_class_data_apply_bitmap.c */ /* grib_accessor_class_data_apply_boustrophedonic.c */ +/* grib_accessor_class_data_apply_boustrophedonic_bitmap.c */ /* grib_accessor_class_data_secondary_bitmap.c */ diff --git a/src/grib_context.c b/src/grib_context.c index acff763cb..6e26584f7 100644 --- a/src/grib_context.c +++ b/src/grib_context.c @@ -230,6 +230,9 @@ void grib_print_api_version(FILE* out) GRIB_API_MAJOR_VERSION, GRIB_API_MINOR_VERSION, GRIB_API_REVISION_VERSION); + if (GRIB_API_MAJOR_VERSION < 1) { + printf(" PRE-RELEASE"); + } } static grib_context default_grib_context = { @@ -581,6 +584,12 @@ char *grib_context_full_defs_path(grib_context* c,const char* basename) return NULL; } +char* grib_samples_path(const grib_context *c) +{ + if (!c) c=grib_context_get_default(); + return c->grib_samples_path; +} + void grib_context_free(const grib_context* c, void* p) { if (!c) c=grib_context_get_default(); diff --git a/src/grib_errors.c.in b/src/grib_errors.c.in index 597fe1467..67172dfa8 100644 --- a/src/grib_errors.c.in +++ b/src/grib_errors.c.in @@ -35,7 +35,7 @@ void grib_check(const char* call,const char* file,int line,int e,const char* ms } } -void grib_fail(const char* expr,const char* file,int line) { +void grib_fail(const char* expr,const char* file,int line) { fprintf(stderr,"%s at line %d: assertion failure Assert(%s)\n",file,line,expr); abort(); } diff --git a/src/grib_hash_keys.c b/src/grib_hash_keys.c index c226714f4..eda06bb32 100644 --- a/src/grib_hash_keys.c +++ b/src/grib_hash_keys.c @@ -1,6 +1,6 @@ -/* C code produced by gperf version 3.0.2 */ +/* C code produced by gperf version 3.0.4 */ /* Command-line: gperf -I -t -G -H hash_keys -N grib_keys_hash_get -m 3 ../tests/keys */ -/* Computed positions: -k'1-6,8-15,20,23,25,27,$' */ +/* Computed positions: -k'1-15,20,23,25,27,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ @@ -36,12 +36,12 @@ error "gperf generated tables don't work with this execution character set. Plea struct grib_keys_hash { char* name; int id;}; #include -#define TOTAL_KEYWORDS 1434 +#define TOTAL_KEYWORDS 1606 #define MIN_WORD_LENGTH 1 #define MAX_WORD_LENGTH 74 #define MIN_HASH_VALUE 8 -#define MAX_HASH_VALUE 13681 -/* maximum key range = 13674, duplicates = 0 */ +#define MAX_HASH_VALUE 14206 +/* maximum key range = 14199, duplicates = 0 */ #ifdef __GNUC__ @@ -57,32 +57,32 @@ hash_keys (str, len) { static unsigned short asso_values[] = { - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 1, 2, 13682, 1, 13682, 13682, 3, 1296, - 1027, 1628, 977, 133, 153, 119, 213, 9, 1, 13682, - 13682, 13682, 13682, 13682, 13682, 1523, 1656, 489, 88, 925, - 625, 1283, 687, 1301, 406, 27, 850, 803, 842, 184, - 104, 105, 1643, 257, 241, 1478, 1487, 379, 40, 94, - 6, 13682, 13682, 13682, 13682, 198, 260, 3, 111, 33, - 15, 2, 35, 76, 404, 21, 897, 1149, 47, 9, - 4, 1, 3, 1970, 5, 1, 1, 9, 372, 1736, - 832, 318, 2115, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, 13682, - 13682, 13682, 13682, 13682, 13682, 13682, 13682 + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 1, 14207, 14207, 1, 14207, 14207, 25, 1437, + 1232, 1033, 818, 149, 138, 4, 148, 5, 2, 14207, + 14207, 14207, 14207, 14207, 14207, 1823, 1159, 485, 97, 932, + 421, 1526, 277, 818, 77, 30, 722, 1189, 1732, 46, + 215, 44, 865, 70, 401, 1991, 1878, 178, 106, 543, + 2, 14207, 14207, 14207, 14207, 1037, 1, 7, 129, 51, + 36, 2, 63, 144, 507, 4, 1280, 2285, 2, 10, + 4, 23, 4, 874, 5, 1, 1, 121, 1452, 1338, + 2217, 254, 1589, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, 14207, + 14207, 14207, 14207, 14207, 14207, 14207, 14207 }; register int hval = len; @@ -133,8 +133,10 @@ hash_keys (str, len) hval += asso_values[(unsigned char)str[7]]; /*FALLTHROUGH*/ case 7: + hval += asso_values[(unsigned char)str[6]]; + /*FALLTHROUGH*/ case 6: - hval += asso_values[(unsigned char)str[5]+1]; + hval += asso_values[(unsigned char)str[5]]; /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; @@ -158,3851 +160,4648 @@ hash_keys (str, len) static struct grib_keys_hash wordlist[] = { {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 775 "../tests/keys" - {"nt",770}, -#line 755 "../tests/keys" - {"n",750}, -#line 427 "../tests/keys" - {"eps",422}, - {""}, -#line 901 "../tests/keys" - {"one",896}, - {""}, -#line 1270 "../tests/keys" - {"step",1265}, - {""}, {""}, {""}, {""}, {""}, -#line 905 "../tests/keys" - {"oper",900}, -#line 1250 "../tests/keys" - {"spare",1245}, -#line 1031 "../tests/keys" - {"present",1026}, -#line 687 "../tests/keys" - {"mars",682}, -#line 758 "../tests/keys" - {"name",753}, -#line 762 "../tests/keys" - {"names",757}, - {""}, -#line 356 "../tests/keys" - {"date",351}, -#line 433 "../tests/keys" - {"error",428}, - {""}, {""}, -#line 1279 "../tests/keys" - {"stream",1274}, - {""}, -#line 1156 "../tests/keys" - {"sd",1151}, -#line 406 "../tests/keys" - {"ed",401}, -#line 422 "../tests/keys" - {"enorm",417}, -#line 763 "../tests/keys" - {"nd",758}, -#line 992 "../tests/keys" - {"param",987}, -#line 1020 "../tests/keys" - {"points",1015}, -#line 1322 "../tests/keys" - {"time",1317}, -#line 911 "../tests/keys" - {"opttime",906}, -#line 732 "../tests/keys" - {"min",727}, -#line 1382 "../tests/keys" - {"units",1377}, - {""}, -#line 197 "../tests/keys" - {"Xo",192}, - {""}, -#line 301 "../tests/keys" - {"const",296}, -#line 325 "../tests/keys" - {"core",320}, -#line 198 "../tests/keys" - {"Xp",193}, -#line 532 "../tests/keys" - {"ident",527}, - {""}, {""}, {""}, -#line 1041 "../tests/keys" - {"process",1036}, -#line 338 "../tests/keys" - {"count",333}, -#line 66 "../tests/keys" - {"K",61}, -#line 1042 "../tests/keys" - {"product",1037}, -#line 712 "../tests/keys" - {"masterDir",707}, -#line 1278 "../tests/keys" - {"stepZero",1273}, -#line 563 "../tests/keys" - {"iteration",558}, -#line 394 "../tests/keys" - {"domain",389}, -#line 1057 "../tests/keys" - {"radius",1052}, -#line 299 "../tests/keys" - {"consensus",294}, - {""}, -#line 1157 "../tests/keys" - {"second",1152}, - {""}, {""}, {""}, {""}, {""}, -#line 380 "../tests/keys" - {"dimension",375}, - {""}, -#line 1175 "../tests/keys" - {"section",1170}, - {""}, -#line 407 "../tests/keys" - {"edition",402}, -#line 1072 "../tests/keys" - {"rectime",1067}, - {""}, -#line 1002 "../tests/keys" - {"parameters",997}, -#line 1078 "../tests/keys" - {"refdate",1073}, -#line 995 "../tests/keys" - {"parameter",990}, - {""}, {""}, {""}, -#line 1027 "../tests/keys" - {"precision",1022}, - {""}, {""}, {""}, -#line 734 "../tests/keys" - {"minute",729}, -#line 250 "../tests/keys" - {"centre",245}, - {""}, -#line 874 "../tests/keys" - {"offset",869}, -#line 262 "../tests/keys" - {"class",257}, - {""}, {""}, -#line 1269 "../tests/keys" - {"statistics",1264}, -#line 443 "../tests/keys" - {"false",438}, - {""}, -#line 1062 "../tests/keys" - {"range",1057}, -#line 200 "../tests/keys" - {"Yo",195}, -#line 1017 "../tests/keys" - {"pl",1012}, - {""}, {""}, -#line 201 "../tests/keys" - {"Yp",196}, -#line 385 "../tests/keys" - {"direction",380}, - {""}, -#line 1332 "../tests/keys" - {"total",1327}, - {""}, {""}, {""}, {""}, {""}, -#line 448 "../tests/keys" - {"file",443}, - {""}, {""}, -#line 30 "../tests/keys" - {"Dstart",25}, - {""}, {""}, {""}, -#line 1018 "../tests/keys" - {"platform",1013}, - {""}, {""}, -#line 1283 "../tests/keys" - {"stuff",1278}, - {""}, {""}, {""}, {""}, -#line 745 "../tests/keys" - {"model",740}, -#line 1158 "../tests/keys" - {"secondDimension",1153}, - {""}, {""}, -#line 1079 "../tests/keys" - {"reference",1074}, - {""}, -#line 22 "../tests/keys" - {"Di",17}, - {""}, {""}, -#line 916 "../tests/keys" - {"origin",911}, -#line 494 "../tests/keys" - {"grid",489}, - {""}, {""}, {""}, {""}, -#line 927 "../tests/keys" - {"padding",922}, - {""}, {""}, -#line 1161 "../tests/keys" - {"secondLatitude",1156}, - {""}, {""}, -#line 776 "../tests/keys" - {"number",771}, - {""}, {""}, {""}, -#line 690 "../tests/keys" - {"marsDomain",685}, -#line 228 "../tests/keys" - {"band",223}, -#line 244 "../tests/keys" - {"categories",239}, - {""}, {""}, {""}, {""}, {""}, -#line 731 "../tests/keys" - {"million",726}, - {""}, {""}, {""}, -#line 1307 "../tests/keys" - {"targetCompressionRatio",1302}, - {""}, {""}, -#line 1065 "../tests/keys" - {"rdbtime",1060}, - {""}, -#line 462 "../tests/keys" - {"flags",457}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1159 "../tests/keys" - {"secondDimensionCoordinateValueDefinition",1154}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 640 "../tests/keys" - {"local",635}, - {""}, -#line 910 "../tests/keys" - {"optionalData",905}, -#line 655 "../tests/keys" - {"longitude",650}, -#line 680 "../tests/keys" - {"longitudes",675}, - {""}, {""}, {""}, -#line 537 "../tests/keys" - {"ifsParam",532}, - {""}, {""}, {""}, -#line 1129 "../tests/keys" - {"scaledDirections",1124}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 154 "../tests/keys" - {"P",149}, - {""}, {""}, +#line 890 "../tests/keys" + {"nt",885}, +#line 868 "../tests/keys" + {"n",863}, #line 1148 "../tests/keys" - {"scanPosition",1143}, - {""}, {""}, {""}, -#line 1306 "../tests/keys" - {"tablesVersion",1301}, - {""}, {""}, {""}, -#line 378 "../tests/keys" - {"diagnostic",373}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1080 "../tests/keys" - {"referenceDate",1075}, - {""}, {""}, -#line 372 "../tests/keys" - {"defaultParameter",367}, - {""}, -#line 343 "../tests/keys" - {"dataDate",338}, - {""}, {""}, -#line 1210 "../tests/keys" - {"sectionPosition",1205}, - {""}, -#line 1160 "../tests/keys" - {"secondDimensionPhysicalSignificance",1155}, - {""}, -#line 1296 "../tests/keys" - {"suiteName",1291}, -#line 457 "../tests/keys" - {"flag",452}, -#line 1037 "../tests/keys" - {"probPoint",1032}, - {""}, {""}, {""}, -#line 446 "../tests/keys" - {"fgDate",441}, -#line 877 "../tests/keys" - {"offsetAfterData",872}, - {""}, {""}, {""}, -#line 473 "../tests/keys" - {"forecastperiod",468}, - {""}, {""}, {""}, -#line 1177 "../tests/keys" - {"section0Pointer",1172}, -#line 1351 "../tests/keys" - {"tubeDomain",1346}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 703 "../tests/keys" - {"marsParam",698}, - {""}, {""}, {""}, -#line 409 "../tests/keys" - {"efiOrder",404}, - {""}, -#line 1264 "../tests/keys" - {"startStep",1259}, -#line 1043 "../tests/keys" - {"productDefinition",1038}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1304 "../tests/keys" - {"tableCode",1299}, - {""}, -#line 1070 "../tests/keys" - {"realPart",1065}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1315 "../tests/keys" - {"tiggeCentre",1310}, - {""}, {""}, {""}, -#line 559 "../tests/keys" - {"isSens",554}, - {""}, {""}, -#line 1267 "../tests/keys" - {"statisticalProcess",1262}, - {""}, -#line 707 "../tests/keys" - {"marsStep",702}, - {""}, -#line 486 "../tests/keys" - {"global",481}, -#line 487 "../tests/keys" - {"globalDomain",482}, - {""}, {""}, -#line 1268 "../tests/keys" - {"statisticalProcessesList",1263}, - {""}, {""}, -#line 1202 "../tests/keys" - {"section7",1197}, -#line 1044 "../tests/keys" - {"productDefinitionTemplateNumber",1039}, - {""}, -#line 906 "../tests/keys" - {"operStream",901}, -#line 1090 "../tests/keys" - {"representationType",1085}, + {"pl",1143}, +#line 476 "../tests/keys" + {"eps",471}, {""}, {""}, {""}, {""}, -#line 1025 "../tests/keys" - {"preProcessing",1020}, -#line 708 "../tests/keys" - {"marsStream",703}, -#line 838 "../tests/keys" - {"numberOfPoints",833}, +#line 1416 "../tests/keys" + {"step",1411}, {""}, {""}, -#line 351 "../tests/keys" - {"dataStream",346}, -#line 346 "../tests/keys" - {"dataOrigin",341}, -#line 872 "../tests/keys" - {"oceanStream",867}, -#line 418 "../tests/keys" - {"endStep",413}, - {""}, -#line 808 "../tests/keys" - {"numberOfDiamonds",803}, - {""}, -#line 496 "../tests/keys" - {"gridDefinition",491}, - {""}, -#line 1355 "../tests/keys" - {"type",1350}, - {""}, {""}, {""}, {""}, -#line 1197 "../tests/keys" - {"section5",1192}, - {""}, -#line 1434 "../tests/keys" - {"year",1429}, -#line 1223 "../tests/keys" - {"setDecimalPrecision",1218}, -#line 1379 "../tests/keys" - {"unitOfTime",1374}, - {""}, {""}, -#line 1301 "../tests/keys" - {"system",1296}, - {""}, #line 879 "../tests/keys" - {"offsetAfterPadding",874}, - {""}, {""}, -#line 884 "../tests/keys" - {"offsetBeforeData",879}, - {""}, {""}, {""}, {""}, -#line 467 "../tests/keys" - {"forecastPeriod",462}, - {""}, {""}, -#line 1285 "../tests/keys" - {"subDefinitions",1280}, -#line 1009 "../tests/keys" - {"periodOfTime",1004}, + {"nnn",874}, {""}, -#line 1045 "../tests/keys" - {"productDefinitionTemplateNumberInternal",1040}, +#line 777 "../tests/keys" + {"m",772}, {""}, -#line 1088 "../tests/keys" - {"reportType",1083}, - {""}, {""}, -#line 1026 "../tests/keys" - {"preProcessingParameter",1021}, - {""}, -#line 360 "../tests/keys" - {"dateOfReference",355}, - {""}, {""}, {""}, -#line 809 "../tests/keys" - {"numberOfDirections",804}, - {""}, {""}, {""}, {""}, -#line 917 "../tests/keys" - {"originalParameterNumber",912}, -#line 1200 "../tests/keys" - {"section6",1195}, - {""}, -#line 1327 "../tests/keys" - {"timeOfReference",1322}, - {""}, {""}, -#line 1335 "../tests/keys" - {"totalNumber",1330}, -#line 899 "../tests/keys" - {"offsetSection8",894}, - {""}, -#line 1261 "../tests/keys" - {"standardParallelInMicrodegrees",1256}, - {""}, -#line 1199 "../tests/keys" - {"section5Pointer",1194}, -#line 1260 "../tests/keys" - {"standardParallel",1255}, - {""}, {""}, {""}, -#line 1346 "../tests/keys" - {"truncateDegrees",1341}, -#line 1403 "../tests/keys" - {"varno",1398}, -#line 289 "../tests/keys" - {"coefsSecond",284}, -#line 350 "../tests/keys" - {"dataSelection",345}, - {""}, {""}, -#line 294 "../tests/keys" - {"computeStatistics",289}, - {""}, -#line 1084 "../tests/keys" - {"referenceStep",1079}, -#line 376 "../tests/keys" - {"deleteLocalDefinition",371}, -#line 165 "../tests/keys" - {"SecondLatitude",160}, -#line 1252 "../tests/keys" - {"spatialProcessing",1247}, -#line 558 "../tests/keys" - {"isSatellite",553}, -#line 1110 "../tests/keys" - {"satelliteSeries",1105}, - {""}, -#line 654 "../tests/keys" - {"local_use",649}, -#line 1076 "../tests/keys" - {"rectimeSecond",1071}, -#line 500 "../tests/keys" - {"gridPointPosition",495}, - {""}, {""}, -#line 1048 "../tests/keys" - {"productionStatusOfProcessedData",1043}, - {""}, {""}, -#line 805 "../tests/keys" - {"numberOfDataPoints",800}, -#line 398 "../tests/keys" - {"dummyc",393}, - {""}, {""}, -#line 416 "../tests/keys" - {"endOfProduct",411}, - {""}, {""}, -#line 1013 "../tests/keys" - {"phase",1008}, -#line 1313 "../tests/keys" - {"three",1308}, -#line 545 "../tests/keys" - {"instrument",540}, -#line 1292 "../tests/keys" - {"subSetK",1287}, - {""}, -#line 447 "../tests/keys" - {"fgTime",442}, - {""}, {""}, -#line 519 "../tests/keys" - {"hour",514}, - {""}, {""}, -#line 897 "../tests/keys" - {"offsetSection6",892}, -#line 511 "../tests/keys" - {"hdate",506}, - {""}, {""}, {""}, -#line 411 "../tests/keys" - {"eleven",406}, - {""}, {""}, {""}, -#line 729 "../tests/keys" - {"method",724}, -#line 1402 "../tests/keys" - {"values",1397}, - {""}, {""}, {""}, -#line 896 "../tests/keys" - {"offsetSection5",891}, - {""}, {""}, -#line 649 "../tests/keys" - {"localSection",644}, - {""}, {""}, -#line 993 "../tests/keys" - {"paramId",988}, -#line 733 "../tests/keys" - {"minimum",728}, -#line 579 "../tests/keys" - {"laplacianOperator",574}, -#line 260 "../tests/keys" - {"char",255}, - {""}, {""}, -#line 586 "../tests/keys" - {"latitude",581}, -#line 611 "../tests/keys" - {"latitudes",606}, - {""}, {""}, {""}, -#line 1320 "../tests/keys" - {"tigge_name",1315}, - {""}, {""}, -#line 1206 "../tests/keys" - {"section8Pointer",1201}, -#line 471 "../tests/keys" - {"forecastSteps",466}, -#line 430 "../tests/keys" - {"epsStatistics",425}, -#line 754 "../tests/keys" - {"mybits",749}, - {""}, {""}, {""}, -#line 265 "../tests/keys" - {"climateDateTo",260}, - {""}, {""}, -#line 472 "../tests/keys" - {"forecastTime",467}, - {""}, -#line 280 "../tests/keys" - {"clusteringDomain",275}, -#line 624 "../tests/keys" - {"levels",619}, - {""}, -#line 1302 "../tests/keys" - {"systemNumber",1297}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 499 "../tests/keys" - {"gridDescriptionSectionPresent",494}, -#line 898 "../tests/keys" - {"offsetSection7",893}, - {""}, -#line 1319 "../tests/keys" - {"tiggeSection",1314}, -#line 525 "../tests/keys" - {"hundred",520}, -#line 1204 "../tests/keys" - {"section8",1199}, -#line 1038 "../tests/keys" - {"probProductDefinition",1033}, -#line 1069 "../tests/keys" - {"rdbtimeSecond",1064}, - {""}, {""}, {""}, {""}, -#line 444 "../tests/keys" - {"fcmonth",439}, - {""}, {""}, {""}, -#line 1217 "../tests/keys" - {"section_7",1212}, - {""}, {""}, -#line 484 "../tests/keys" - {"generatingProcessIdentifier",479}, -#line 410 "../tests/keys" - {"eight",405}, -#line 856 "../tests/keys" - {"numberOfSection",851}, - {""}, -#line 1071 "../tests/keys" - {"realPartOf00",1066}, - {""}, {""}, -#line 287 "../tests/keys" - {"codedValues",282}, -#line 483 "../tests/keys" - {"generatingProcessIdentificationNumber",478}, - {""}, -#line 902 "../tests/keys" - {"oneConstant",897}, - {""}, {""}, -#line 620 "../tests/keys" - {"level",615}, - {""}, -#line 426 "../tests/keys" - {"ensembleStandardDeviation",421}, - {""}, {""}, -#line 715 "../tests/keys" - {"matrixBitmapsPresent",710}, -#line 688 "../tests/keys" - {"marsClass",683}, - {""}, -#line 225 "../tests/keys" - {"avg",220}, - {""}, {""}, {""}, -#line 1215 "../tests/keys" - {"section_5",1210}, - {""}, -#line 555 "../tests/keys" - {"isConstant",550}, -#line 258 "../tests/keys" - {"channel",253}, - {""}, -#line 1383 "../tests/keys" - {"unitsBias",1378}, -#line 164 "../tests/keys" - {"SPD",159}, - {""}, {""}, -#line 67 "../tests/keys" - {"KS",62}, - {""}, {""}, -#line 428 "../tests/keys" - {"epsContinous",423}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1305 "../tests/keys" - {"tableReference",1300}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 420 "../tests/keys" - {"endTimeStep",415}, -#line 1312 "../tests/keys" - {"thousand",1307}, -#line 431 "../tests/keys" - {"epsStatisticsContinous",426}, -#line 505 "../tests/keys" - {"groupWidths",500}, -#line 463 "../tests/keys" - {"floatVal",458}, -#line 706 "../tests/keys" - {"marsStartStep",701}, -#line 638 "../tests/keys" - {"listOfParametersUsedForClustering",633}, -#line 540 "../tests/keys" - {"indicatorOfParameter",535}, -#line 730 "../tests/keys" - {"methodNumber",725}, - {""}, -#line 1216 "../tests/keys" - {"section_6",1211}, -#line 710 "../tests/keys" - {"mars_labeling",705}, - {""}, {""}, -#line 432 "../tests/keys" - {"epsStatisticsPoint",427}, -#line 300 "../tests/keys" - {"consensusCount",295}, - {""}, -#line 469 "../tests/keys" - {"forecastPeriodTo",464}, - {""}, {""}, -#line 704 "../tests/keys" - {"marsQuantile",699}, - {""}, {""}, -#line 997 "../tests/keys" - {"parameterCode",992}, - {""}, {""}, {""}, -#line 417 "../tests/keys" - {"endOfRange",412}, -#line 210 "../tests/keys" - {"aerosolType",205}, -#line 497 "../tests/keys" - {"gridDefinitionSection",492}, - {""}, {""}, {""}, {""}, {""}, +#line 1480 "../tests/keys" + {"time",1475}, #line 10 "../tests/keys" {"7777",5}, -#line 241 "../tests/keys" - {"bottomLevel",236}, - {""}, -#line 857 "../tests/keys" - {"numberOfSingularVectorsComputed",852}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 764 "../tests/keys" - {"neitherPresent",759}, - {""}, {""}, {""}, {""}, -#line 653 "../tests/keys" - {"local_padding",648}, - {""}, -#line 1056 "../tests/keys" - {"radialAngularSpacing",1051}, -#line 1012 "../tests/keys" - {"perturbedType",1007}, -#line 1227 "../tests/keys" - {"shortName",1222}, - {""}, {""}, {""}, {""}, {""}, -#line 747 "../tests/keys" - {"modelIdentifier",742}, -#line 1047 "../tests/keys" - {"productType",1042}, - {""}, {""}, {""}, {""}, {""}, -#line 1284 "../tests/keys" - {"subCentre",1279}, - {""}, {""}, {""}, -#line 172 "../tests/keys" - {"TScalc",167}, -#line 384 "../tests/keys" - {"dimensionType",379}, - {""}, {""}, -#line 1391 "../tests/keys" - {"unpackedSubsetPrecision",1386}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 1362 "../tests/keys" - {"typeOfGrid",1357}, - {""}, -#line 1343 "../tests/keys" - {"totalNumberOfdimensions",1338}, -#line 400 "../tests/keys" - {"dy",395}, - {""}, {""}, -#line 866 "../tests/keys" - {"numberingOrderOfDiamonds",861}, -#line 364 "../tests/keys" - {"day",359}, - {""}, {""}, -#line 213 "../tests/keys" - {"analysisOffsets",208}, -#line 913 "../tests/keys" - {"orderOfSpatialDifferencing",908}, - {""}, -#line 1036 "../tests/keys" - {"probContinous",1031}, - {""}, -#line 1358 "../tests/keys" - {"typeOfCompressionUsed",1353}, -#line 1257 "../tests/keys" - {"spectralType",1252}, - {""}, {""}, {""}, {""}, {""}, -#line 1438 "../tests/keys" - {"yearOfReference",1433}, -#line 1144 "../tests/keys" - {"scaledValueOfStandardDeviation",1139}, -#line 1019 "../tests/keys" - {"plusOneinOrdersOfSPD",1014}, - {""}, {""}, -#line 536 "../tests/keys" - {"ieeeFloats",531}, - {""}, -#line 912 "../tests/keys" - {"orderOfSPD",907}, -#line 881 "../tests/keys" - {"offsetBSection5",876}, - {""}, -#line 203 "../tests/keys" - {"_T",198}, -#line 395 "../tests/keys" - {"dummy",390}, - {""}, {""}, -#line 1145 "../tests/keys" - {"scaledValueOfStandardDeviationInTheCluster",1140}, -#line 1259 "../tests/keys" - {"standardDeviation",1254}, - {""}, -#line 671 "../tests/keys" - {"longitudeOfStretchingPole",666}, - {""}, -#line 357 "../tests/keys" - {"dateOfAnalysis",352}, - {""}, {""}, -#line 1218 "../tests/keys" - {"section_8",1213}, - {""}, -#line 799 "../tests/keys" - {"numberOfComponents",794}, - {""}, -#line 1229 "../tests/keys" - {"short_name",1224}, -#line 1370 "../tests/keys" - {"typeOfProcessedData",1365}, - {""}, -#line 672 "../tests/keys" - {"longitudeOfStretchingPoleInDegrees",667}, - {""}, -#line 1326 "../tests/keys" - {"timeOfAnalysis",1321}, -#line 904 "../tests/keys" - {"oneThousand",899}, - {""}, -#line 726 "../tests/keys" - {"md5Section7",721}, - {""}, {""}, -#line 495 "../tests/keys" - {"gridCoordinate",490}, - {""}, -#line 580 "../tests/keys" - {"laplacianOperatorIsSet",575}, - {""}, {""}, -#line 515 "../tests/keys" - {"hideThis",510}, - {""}, -#line 508 "../tests/keys" - {"gts_ddhh00",503}, - {""}, {""}, {""}, -#line 882 "../tests/keys" - {"offsetBSection6",877}, - {""}, -#line 1060 "../tests/keys" - {"radiusOfClusterDomain",1055}, - {""}, {""}, {""}, -#line 34 "../tests/keys" - {"Dy",29}, - {""}, {""}, {""}, -#line 861 "../tests/keys" - {"numberOfTimeSteps",856}, - {""}, {""}, {""}, -#line 724 "../tests/keys" - {"md5Section5",719}, - {""}, {""}, {""}, {""}, -#line 920 "../tests/keys" - {"originatingCentre",915}, - {""}, {""}, {""}, -#line 922 "../tests/keys" - {"originatingCentrer",917}, -#line 798 "../tests/keys" - {"numberOfColumns",793}, -#line 1336 "../tests/keys" - {"totalNumberOfClusters",1331}, -#line 304 "../tests/keys" - {"controlForecastCluster",299}, -#line 1323 "../tests/keys" - {"timeCoordinateDefinition",1318}, - {""}, -#line 1051 "../tests/keys" - {"pv",1046}, - {""}, {""}, -#line 509 "../tests/keys" - {"gts_header",504}, - {""}, {""}, -#line 833 "../tests/keys" - {"numberOfOctetsSPD",828}, - {""}, -#line 171 "../tests/keys" - {"TS",166}, - {""}, -#line 1082 "../tests/keys" - {"referenceOfWidths",1077}, - {""}, {""}, {""}, -#line 522 "../tests/keys" - {"hourOfReference",517}, - {""}, {""}, -#line 831 "../tests/keys" - {"numberOfOctectsForNumberOfPoints",826}, - {""}, {""}, -#line 789 "../tests/keys" - {"numberOfCategories",784}, - {""}, {""}, {""}, {""}, -#line 725 "../tests/keys" - {"md5Section6",720}, -#line 794 "../tests/keys" - {"numberOfClusters",789}, -#line 1059 "../tests/keys" - {"radiusOfCentralCluster",1054}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1074 "../tests/keys" - {"rectimeHour",1069}, - {""}, {""}, {""}, {""}, {""}, -#line 888 "../tests/keys" - {"offsetFromOriginToInnerBound",883}, -#line 476 "../tests/keys" - {"freeFormData",471}, - {""}, {""}, {""}, -#line 801 "../tests/keys" - {"numberOfControlForecastTube",796}, -#line 619 "../tests/keys" - {"lev",614}, - {""}, -#line 221 "../tests/keys" - {"average",216}, - {""}, {""}, {""}, -#line 1291 "../tests/keys" - {"subSetJ",1286}, -#line 1073 "../tests/keys" - {"rectimeDay",1068}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 64 "../tests/keys" - {"J",59}, - {""}, {""}, -#line 344 "../tests/keys" - {"dataFlag",339}, - {""}, -#line 1281 "../tests/keys" - {"stretchingFactor",1276}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 256 "../tests/keys" - {"changeDecimalPrecision",251}, -#line 748 "../tests/keys" - {"month",743}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 887 "../tests/keys" - {"offsetFreeFormData",882}, - {""}, {""}, {""}, {""}, -#line 793 "../tests/keys" - {"numberOfClusterLowResolution",788}, - {""}, {""}, -#line 247 "../tests/keys" - {"centralClusterDefinition",242}, -#line 1262 "../tests/keys" - {"startOfHeaders",1257}, - {""}, {""}, -#line 675 "../tests/keys" - {"longitudeOfTangencyPoint",670}, - {""}, {""}, {""}, {""}, {""}, -#line 146 "../tests/keys" - {"Nr",141}, - {""}, {""}, -#line 812 "../tests/keys" - {"numberOfForcasts",807}, - {""}, {""}, {""}, {""}, -#line 80 "../tests/keys" - {"Lap",75}, - {""}, -#line 811 "../tests/keys" - {"numberOfFloats",806}, -#line 1369 "../tests/keys" - {"typeOfPreProcessing",1364}, - {""}, -#line 1396 "../tests/keys" - {"upperLimit",1391}, - {""}, {""}, {""}, {""}, {""}, -#line 1089 "../tests/keys" - {"representationMode",1084}, - {""}, -#line 1067 "../tests/keys" - {"rdbtimeHour",1062}, - {""}, {""}, {""}, {""}, {""}, -#line 1282 "../tests/keys" - {"stretchingFactorScaled",1277}, -#line 264 "../tests/keys" - {"climateDateFrom",259}, - {""}, {""}, {""}, -#line 144 "../tests/keys" - {"Ni",139}, -#line 1058 "../tests/keys" - {"radiusInMetres",1053}, -#line 85 "../tests/keys" - {"Latin",80}, - {""}, {""}, {""}, {""}, {""}, -#line 1066 "../tests/keys" - {"rdbtimeDay",1061}, -#line 1142 "../tests/keys" - {"scaledValueOfSecondSize",1137}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 617 "../tests/keys" - {"lengthOfHeaders",612}, -#line 143 "../tests/keys" - {"Nf",138}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1075 "../tests/keys" - {"rectimeMinute",1070}, -#line 65 "../tests/keys" - {"JS",60}, -#line 1256 "../tests/keys" - {"spectralMode",1251}, -#line 503 "../tests/keys" - {"groupSplitting",498}, - {""}, {""}, {""}, {""}, -#line 702 "../tests/keys" - {"marsModel",697}, -#line 452 "../tests/keys" - {"firstLatitude",447}, -#line 658 "../tests/keys" - {"longitudeOfCenterPoint",653}, - {""}, {""}, {""}, {""}, -#line 999 "../tests/keys" - {"parameterName",994}, - {""}, {""}, -#line 907 "../tests/keys" - {"operatingMode",902}, - {""}, {""}, -#line 371 "../tests/keys" - {"defaultName",366}, - {""}, -#line 367 "../tests/keys" - {"dayOfReference",362}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 204 "../tests/keys" - {"_TS",199}, -#line 557 "../tests/keys" - {"isEps",552}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 423 "../tests/keys" - {"ensembleForecastNumbers",418}, -#line 504 "../tests/keys" - {"groupWidth",499}, - {""}, -#line 621 "../tests/keys" - {"levelIndicator",616}, - {""}, {""}, {""}, {""}, -#line 468 "../tests/keys" - {"forecastPeriodFrom",463}, -#line 719 "../tests/keys" - {"md5Headers",714}, -#line 613 "../tests/keys" - {"leadtime",608}, -#line 585 "../tests/keys" - {"latLonValues",580}, - {""}, {""}, -#line 474 "../tests/keys" - {"formatVersionMajorNumber",469}, -#line 659 "../tests/keys" - {"longitudeOfCentralPointInClusterDomain",654}, -#line 535 "../tests/keys" - {"identifier",530}, - {""}, {""}, -#line 1432 "../tests/keys" - {"yFirst",1427}, - {""}, -#line 700 "../tests/keys" - {"marsLevelist",695}, - {""}, {""}, {""}, -#line 647 "../tests/keys" - {"localExtensionPadding",642}, -#line 424 "../tests/keys" - {"ensembleForecastNumbersList",419}, -#line 1356 "../tests/keys" - {"typeOfAnalysis",1351}, - {""}, -#line 876 "../tests/keys" - {"offsetAfterCentreLocalSection",871}, - {""}, -#line 1435 "../tests/keys" - {"yearOfAnalysis",1430}, -#line 475 "../tests/keys" - {"formatVersionMinorNumber",470}, - {""}, -#line 616 "../tests/keys" - {"legNumber",611}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 699 "../tests/keys" - {"marsLevel",694}, - {""}, -#line 701 "../tests/keys" - {"marsLongitude",696}, - {""}, -#line 1068 "../tests/keys" - {"rdbtimeMinute",1063}, -#line 445 "../tests/keys" - {"fcperiod",440}, -#line 245 "../tests/keys" - {"categoryType",240}, -#line 689 "../tests/keys" - {"marsDir",684}, -#line 858 "../tests/keys" - {"numberOfSingularVectorsEvolved",853}, -#line 1234 "../tests/keys" - {"siteLongitude",1229}, -#line 429 "../tests/keys" - {"epsPoint",424}, - {""}, {""}, {""}, {""}, {""}, -#line 547 "../tests/keys" - {"instrumentType",542}, - {""}, -#line 806 "../tests/keys" - {"numberOfDataSubsets",801}, -#line 878 "../tests/keys" - {"offsetAfterLocalSection",873}, - {""}, {""}, {""}, {""}, -#line 78 "../tests/keys" - {"LaD",73}, -#line 673 "../tests/keys" - {"longitudeOfSubSatellitePoint",668}, - {""}, {""}, -#line 1341 "../tests/keys" - {"totalNumberOfIterations",1336}, - {""}, {""}, {""}, {""}, -#line 698 "../tests/keys" - {"marsLatitude",693}, -#line 674 "../tests/keys" - {"longitudeOfSubSatellitePointInDegrees",669}, -#line 251 "../tests/keys" - {"centreForLocal",246}, - {""}, -#line 449 "../tests/keys" - {"firstDimension",444}, - {""}, {""}, -#line 1233 "../tests/keys" - {"siteLatitude",1228}, -#line 224 "../tests/keys" - {"averagingPeriod",219}, -#line 393 "../tests/keys" - {"distinctLongitudes",388}, - {""}, {""}, {""}, {""}, -#line 829 "../tests/keys" - {"numberOfModels",824}, -#line 1378 "../tests/keys" - {"unitOfOffsetFromReferenceTime",1373}, -#line 1209 "../tests/keys" - {"sectionNumber",1204}, - {""}, -#line 408 "../tests/keys" - {"editionNumber",403}, - {""}, {""}, -#line 834 "../tests/keys" - {"numberOfOperationalForecastTube",829}, -#line 1004 "../tests/keys" - {"patch_precip_fp",999}, - {""}, -#line 1366 "../tests/keys" - {"typeOfLevel",1361}, -#line 142 "../tests/keys" - {"Nb",137}, - {""}, -#line 1063 "../tests/keys" - {"rangeBinSpacing",1058}, - {""}, {""}, {""}, -#line 1333 "../tests/keys" - {"totalInitialConditions",1328}, -#line 1390 "../tests/keys" - {"unpackedError",1385}, -#line 646 "../tests/keys" - {"localDir",641}, - {""}, {""}, -#line 564 "../tests/keys" - {"iterationNumber",559}, - {""}, {""}, {""}, -#line 157 "../tests/keys" - {"PLPresent",152}, -#line 277 "../tests/keys" - {"clusterMember9",272}, - {""}, {""}, -#line 743 "../tests/keys" - {"mixedCoordinateDefinition",738}, -#line 281 "../tests/keys" - {"clusteringMethod",276}, -#line 791 "../tests/keys" - {"numberOfChars",786}, -#line 382 "../tests/keys" - {"dimensionNumber",377}, -#line 520 "../tests/keys" - {"hourOfAnalysis",515}, - {""}, {""}, {""}, -#line 379 "../tests/keys" - {"diagnosticNumber",374}, -#line 1344 "../tests/keys" - {"treatmentOfMissingData",1339}, -#line 795 "../tests/keys" - {"numberOfCodedValues",790}, -#line 1000 "../tests/keys" - {"parameterNumber",995}, -#line 1109 "../tests/keys" - {"satelliteNumber",1104}, - {""}, -#line 740 "../tests/keys" - {"missingDataFlag",735}, - {""}, {""}, {""}, {""}, -#line 660 "../tests/keys" - {"longitudeOfFirstDiamondCenterLine",655}, -#line 662 "../tests/keys" - {"longitudeOfFirstGridPoint",657}, - {""}, {""}, {""}, {""}, -#line 790 "../tests/keys" - {"numberOfCharacters",785}, - {""}, -#line 661 "../tests/keys" - {"longitudeOfFirstDiamondCenterLineInDegrees",656}, - {""}, -#line 601 "../tests/keys" - {"latitudeOfStretchingPole",596}, - {""}, -#line 639 "../tests/keys" - {"listOfScaledFrequencies",634}, - {""}, -#line 663 "../tests/keys" - {"longitudeOfFirstGridPointInDegrees",658}, -#line 828 "../tests/keys" - {"numberOfMissingValues",823}, -#line 837 "../tests/keys" - {"numberOfParametersUsedForClustering",832}, -#line 386 "../tests/keys" - {"directionNumber",381}, -#line 278 "../tests/keys" - {"clusterNumber",273}, -#line 919 "../tests/keys" - {"originalSubCentreIdentifier",914}, - {""}, {""}, {""}, {""}, -#line 1347 "../tests/keys" - {"truncateLaplacian",1342}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 415 "../tests/keys" - {"endOfInterval",410}, -#line 377 "../tests/keys" - {"derivedForecast",372}, - {""}, -#line 1318 "../tests/keys" - {"tiggeModel",1313}, -#line 825 "../tests/keys" - {"numberOfMembersInCluster",820}, - {""}, {""}, {""}, {""}, -#line 744 "../tests/keys" - {"mixedCoordinateFieldFlag",739}, - {""}, {""}, {""}, {""}, {""}, -#line 402 "../tests/keys" - {"eastLongitudeOfCluster",397}, -#line 531 "../tests/keys" - {"iScansPositively",526}, - {""}, {""}, {""}, -#line 669 "../tests/keys" - {"longitudeOfSouthernPole",664}, - {""}, {""}, -#line 827 "../tests/keys" - {"numberOfMissingInStatisticalProcess",822}, - {""}, {""}, {""}, {""}, {""}, -#line 923 "../tests/keys" - {"originatingSubCentreSubCenter",918}, - {""}, {""}, -#line 713 "../tests/keys" - {"masterTableNumber",708}, -#line 577 "../tests/keys" - {"kurt",572}, -#line 670 "../tests/keys" - {"longitudeOfSouthernPoleInDegrees",665}, - {""}, -#line 353 "../tests/keys" - {"dataTime",348}, - {""}, -#line 215 "../tests/keys" - {"angleMultiplier",210}, - {""}, -#line 578 "../tests/keys" - {"kurtosis",573}, - {""}, {""}, -#line 1433 "../tests/keys" - {"yLast",1428}, - {""}, {""}, {""}, {""}, -#line 401 "../tests/keys" - {"earthIsOblate",396}, -#line 644 "../tests/keys" - {"localDefinition",639}, -#line 826 "../tests/keys" - {"numberOfMissing",821}, -#line 1321 "../tests/keys" - {"tigge_short_name",1316}, - {""}, -#line 337 "../tests/keys" - {"correction4Part",332}, - {""}, {""}, {""}, {""}, -#line 645 "../tests/keys" - {"localDefinitionNumber",640}, - {""}, {""}, {""}, -#line 590 "../tests/keys" - {"latitudeOfCenterPoint",585}, -#line 1293 "../tests/keys" - {"subSetM",1288}, - {""}, {""}, {""}, -#line 804 "../tests/keys" - {"numberOfDataMatrices",799}, -#line 677 "../tests/keys" - {"longitudeOfThePolePoint",672}, - {""}, {""}, {""}, {""}, {""}, -#line 530 "../tests/keys" - {"iScansNegatively",525}, - {""}, {""}, {""}, {""}, {""}, -#line 17 "../tests/keys" - {"CDFstr",12}, -#line 816 "../tests/keys" - {"numberOfForecastsInTube",811}, -#line 1138 "../tests/keys" - {"scaledValueOfLowerLimit",1133}, -#line 678 "../tests/keys" - {"longitudeOfThePolePointInDegrees",673}, -#line 1186 "../tests/keys" - {"section2Present",1181}, -#line 691 "../tests/keys" - {"marsEndStep",686}, - {""}, -#line 437 "../tests/keys" - {"expver",432}, - {""}, {""}, {""}, {""}, -#line 481 "../tests/keys" - {"g2grid",476}, -#line 1196 "../tests/keys" - {"section4Pointer",1191}, -#line 908 "../tests/keys" - {"operationalForecastCluster",903}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 333 "../tests/keys" - {"correction2Part",328}, - {""}, -#line 539 "../tests/keys" - {"incrementOfLengths",534}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 668 "../tests/keys" - {"longitudeOfSouthEastCornerOfArea",663}, - {""}, {""}, {""}, {""}, {""}, -#line 1436 "../tests/keys" - {"yearOfCentury",1431}, - {""}, {""}, {""}, -#line 718 "../tests/keys" - {"maximum",713}, - {""}, {""}, -#line 282 "../tests/keys" - {"clutterFilterIndicator",277}, - {""}, -#line 924 "../tests/keys" - {"packedValues",919}, - {""}, -#line 895 "../tests/keys" - {"offsetSection4",890}, - {""}, {""}, {""}, {""}, {""}, -#line 369 "../tests/keys" - {"decimalPrecision",364}, - {""}, -#line 1140 "../tests/keys" - {"scaledValueOfRadiusOfSphericalEarth",1135}, - {""}, -#line 1185 "../tests/keys" - {"section2Pointer",1180}, - {""}, {""}, {""}, {""}, -#line 121 "../tests/keys" - {"Model_Additional_Information",116}, - {""}, -#line 1081 "../tests/keys" - {"referenceOfLengths",1076}, - {""}, -#line 1091 "../tests/keys" - {"representativeMember",1086}, - {""}, {""}, {""}, -#line 381 "../tests/keys" - {"dimensionCategory",376}, -#line 442 "../tests/keys" - {"extraValues",437}, -#line 276 "../tests/keys" - {"clusterMember8",271}, - {""}, {""}, -#line 1011 "../tests/keys" - {"perturbationNumber",1006}, - {""}, -#line 1271 "../tests/keys" - {"stepForClustering",1266}, -#line 996 "../tests/keys" - {"parameterCategory",991}, - {""}, {""}, -#line 810 "../tests/keys" - {"numberOfEffectiveValues",805}, - {""}, {""}, {""}, {""}, -#line 286 "../tests/keys" - {"codedNumberOfGroups",281}, -#line 512 "../tests/keys" - {"headersOnly",507}, - {""}, {""}, {""}, -#line 141 "../tests/keys" - {"Nassigned",136}, -#line 403 "../tests/keys" - {"eastLongitudeOfDomainOfTubing",398}, - {""}, {""}, {""}, {""}, -#line 113 "../tests/keys" - {"MS",108}, - {""}, -#line 1340 "../tests/keys" - {"totalNumberOfGridPoints",1335}, - {""}, -#line 746 "../tests/keys" - {"modelErrorType",741}, - {""}, -#line 370 "../tests/keys" - {"decimalScaleFactor",365}, -#line 139 "../tests/keys" - {"NT",134}, -#line 824 "../tests/keys" - {"numberOfLogicals",819}, - {""}, -#line 918 "../tests/keys" - {"originalParameterTableNumber",913}, -#line 1052 "../tests/keys" - {"pvlLocation",1047}, - {""}, {""}, {""}, -#line 760 "../tests/keys" - {"nameOfFirstFixedSurface",755}, - {""}, -#line 695 "../tests/keys" - {"marsIdent",690}, -#line 1272 "../tests/keys" - {"stepInHours",1267}, - {""}, {""}, -#line 694 "../tests/keys" - {"marsGrid",689}, - {""}, -#line 392 "../tests/keys" - {"distinctLatitudes",387}, - {""}, -#line 274 "../tests/keys" - {"clusterMember6",269}, -#line 1029 "../tests/keys" - {"predefined_grid",1024}, -#line 605 "../tests/keys" - {"latitudeOfTangencyPoint",600}, -#line 1030 "../tests/keys" - {"predefined_grid_values",1025}, - {""}, -#line 1232 "../tests/keys" - {"siteId",1227}, -#line 453 "../tests/keys" - {"firstLatitudeInDegrees",448}, - {""}, -#line 1428 "../tests/keys" - {"yCoordinateOfSubSatellitePoint",1423}, - {""}, -#line 342 "../tests/keys" - {"dataCategory",337}, - {""}, {""}, {""}, -#line 273 "../tests/keys" - {"clusterMember5",268}, -#line 387 "../tests/keys" - {"directionScalingFactor",382}, - {""}, {""}, {""}, {""}, -#line 1195 "../tests/keys" - {"section4Padding",1190}, - {""}, -#line 383 "../tests/keys" - {"dimensionTableNumber",378}, - {""}, {""}, {""}, {""}, -#line 599 "../tests/keys" - {"latitudeOfSouthernPole",594}, -#line 1324 "../tests/keys" - {"timeIncrement",1319}, -#line 288 "../tests/keys" - {"coefsFirst",283}, - {""}, -#line 1386 "../tests/keys" - {"unitsFactor",1381}, - {""}, -#line 623 "../tests/keys" - {"levelist",618}, -#line 1231 "../tests/keys" - {"siteElevation",1226}, - {""}, -#line 1427 "../tests/keys" - {"yCoordinateOfOriginOfSectorImage",1422}, -#line 903 "../tests/keys" - {"oneMillionConstant",898}, -#line 665 "../tests/keys" - {"longitudeOfLastGridPoint",660}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 581 "../tests/keys" - {"laplacianScalingFactor",576}, - {""}, -#line 502 "../tests/keys" - {"groupLengths",497}, - {""}, {""}, {""}, -#line 405 "../tests/keys" - {"easternLongitudeOfDomain",400}, - {""}, {""}, {""}, -#line 275 "../tests/keys" - {"clusterMember7",270}, - {""}, -#line 1132 "../tests/keys" - {"scaledValueOfDistanceFromEnsembleMean",1127}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1184 "../tests/keys" - {"section2Padding",1179}, -#line 1384 "../tests/keys" - {"unitsDecimalScaleFactor",1379}, - {""}, -#line 529 "../tests/keys" - {"iIncrement",524}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 534 "../tests/keys" - {"identificationOfOriginatingGeneratingCentre",529}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 767 "../tests/keys" - {"northLatitudeOfCluster",762}, -#line 1244 "../tests/keys" - {"southLatitudeOfCluster",1239}, -#line 1176 "../tests/keys" - {"section0Length",1171}, - {""}, {""}, -#line 404 "../tests/keys" - {"easternLongitudeOfClusterDomain",399}, -#line 498 "../tests/keys" - {"gridDefinitionTemplateNumber",493}, - {""}, -#line 1108 "../tests/keys" - {"satelliteIdentifier",1103}, - {""}, -#line 1359 "../tests/keys" - {"typeOfEnsembleForecast",1354}, - {""}, {""}, -#line 998 "../tests/keys" - {"parameterIndicator",993}, - {""}, -#line 1077 "../tests/keys" - {"reducedGrid",1072}, - {""}, {""}, -#line 592 "../tests/keys" - {"latitudeOfFirstGridPoint",587}, - {""}, -#line 470 "../tests/keys" - {"forecastProbabilityNumber",465}, - {""}, {""}, {""}, -#line 891 "../tests/keys" - {"offsetSection0",886}, -#line 1162 "../tests/keys" - {"secondLatitudeInDegrees",1157}, - {""}, {""}, -#line 603 "../tests/keys" - {"latitudeOfSubSatellitePoint",598}, -#line 607 "../tests/keys" - {"latitudeOfThePolePoint",602}, - {""}, -#line 657 "../tests/keys" - {"longitudeLastInDegrees",652}, -#line 667 "../tests/keys" - {"longitudeOfNorthWestCornerOfArea",662}, - {""}, {""}, {""}, -#line 1352 "../tests/keys" - {"tubeNumber",1347}, -#line 604 "../tests/keys" - {"latitudeOfSubSatellitePointInDegrees",599}, -#line 813 "../tests/keys" - {"numberOfForecastsInCluster",808}, - {""}, -#line 214 "../tests/keys" - {"angleDivisor",209}, - {""}, {""}, {""}, {""}, -#line 259 "../tests/keys" - {"channelNumber",254}, -#line 150 "../tests/keys" - {"Ny",145}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 818 "../tests/keys" - {"numberOfGroups",813}, -#line 589 "../tests/keys" - {"latitudeLongitudeValues",584}, -#line 434 "../tests/keys" - {"expandBy",429}, -#line 821 "../tests/keys" - {"numberOfInts",816}, -#line 832 "../tests/keys" - {"numberOfOctetsExtraDescriptors",827}, - {""}, {""}, -#line 1377 "../tests/keys" - {"typeOfWavelengthInterval",1372}, - {""}, {""}, -#line 1277 "../tests/keys" - {"stepUnits",1272}, - {""}, -#line 1425 "../tests/keys" - {"xFirst",1420}, - {""}, -#line 219 "../tests/keys" - {"applicationIdentifier",214}, -#line 1143 "../tests/keys" - {"scaledValueOfSecondWavelength",1138}, -#line 480 "../tests/keys" - {"functionCode",475}, - {""}, {""}, {""}, -#line 331 "../tests/keys" - {"correction1Part",326}, - {""}, -#line 641 "../tests/keys" - {"localDecimalScaleFactor",636}, -#line 1046 "../tests/keys" - {"productIdentifier",1041}, - {""}, {""}, -#line 248 "../tests/keys" - {"centralLongitude",243}, - {""}, {""}, {""}, {""}, {""}, -#line 49 "../tests/keys" - {"FirstLatitude",44}, - {""}, {""}, {""}, {""}, -#line 1087 "../tests/keys" - {"reflectivityCalibrationConstant",1082}, - {""}, -#line 576 "../tests/keys" - {"kindOfProduct",571}, - {""}, {""}, -#line 513 "../tests/keys" - {"heightOrPressureOfLevel",508}, -#line 242 "../tests/keys" - {"boustrophedonic",237}, -#line 822 "../tests/keys" - {"numberOfIterations",817}, -#line 1141 "../tests/keys" - {"scaledValueOfSecondFixedSurface",1136}, - {""}, -#line 587 "../tests/keys" - {"latitudeFirstInDegrees",582}, - {""}, -#line 246 "../tests/keys" - {"ccccIdentifiers",241}, - {""}, -#line 526 "../tests/keys" - {"iDirectionIncrement",521}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 227 "../tests/keys" - {"backgroundProcess",222}, - {""}, -#line 1182 "../tests/keys" - {"section1Pointer",1177}, - {""}, {""}, {""}, -#line 1203 "../tests/keys" - {"section7Length",1198}, -#line 196 "../tests/keys" - {"WMO",191}, -#line 451 "../tests/keys" - {"firstDimensionPhysicalSignificance",446}, - {""}, -#line 249 "../tests/keys" - {"centralLongitudeInMicrodegrees",244}, - {""}, {""}, -#line 24 "../tests/keys" - {"DiInDegrees",19}, -#line 1361 "../tests/keys" - {"typeOfGeneratingProcess",1356}, - {""}, {""}, {""}, {""}, {""}, -#line 1198 "../tests/keys" - {"section5Length",1193}, - {""}, -#line 1393 "../tests/keys" - {"unsignedIntegers",1388}, - {""}, -#line 556 "../tests/keys" - {"isEPS",551}, - {""}, {""}, {""}, {""}, -#line 1337 "../tests/keys" - {"totalNumberOfDirections",1332}, - {""}, {""}, -#line 648 "../tests/keys" - {"localFlag",643}, -#line 572 "../tests/keys" - {"keyData",567}, -#line 1404 "../tests/keys" - {"verificationDate",1399}, -#line 781 "../tests/keys" - {"numberIncludedInAverage",776}, - {""}, {""}, {""}, -#line 1001 "../tests/keys" - {"parameterUnits",996}, -#line 1201 "../tests/keys" - {"section6Length",1196}, - {""}, {""}, -#line 267 "../tests/keys" - {"clusterIdentifier",262}, - {""}, {""}, {""}, {""}, {""}, -#line 388 "../tests/keys" - {"dirty_statistics",383}, - {""}, -#line 768 "../tests/keys" - {"northLatitudeOfDomainOfTubing",763}, -#line 1245 "../tests/keys" - {"southLatitudeOfDomainOfTubing",1240}, - {""}, {""}, -#line 283 "../tests/keys" - {"codeFigure",278}, - {""}, -#line 1003 "../tests/keys" - {"parametersVersion",998}, - {""}, -#line 158 "../tests/keys" - {"PUnset",153}, - {""}, -#line 112 "../tests/keys" - {"M",107}, - {""}, {""}, {""}, {""}, -#line 820 "../tests/keys" - {"numberOfIntegers",815}, - {""}, {""}, {""}, -#line 741 "../tests/keys" - {"missingValue",736}, -#line 549 "../tests/keys" - {"integerScalingFactorAppliedToDirections",544}, -#line 550 "../tests/keys" - {"integerScalingFactorAppliedToFrequencies",545}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 571 "../tests/keys" - {"julianDay",566}, -#line 1049 "../tests/keys" - {"projectionCenterFlag",1044}, - {""}, {""}, -#line 1050 "../tests/keys" - {"projectionCentreFlag",1045}, - {""}, {""}, {""}, -#line 341 "../tests/keys" - {"countTotal",336}, - {""}, {""}, -#line 1310 "../tests/keys" - {"thisMarsStream",1305}, - {""}, -#line 608 "../tests/keys" - {"latitudeOfTheSouthernPoleOfProjection",603}, -#line 1360 "../tests/keys" - {"typeOfFirstFixedSurface",1355}, - {""}, {""}, -#line 355 "../tests/keys" - {"dataValues",350}, - {""}, {""}, -#line 1205 "../tests/keys" - {"section8Length",1200}, - {""}, -#line 1239 "../tests/keys" - {"sourceOfGridDefinition",1234}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 692 "../tests/keys" - {"marsExpver",687}, - {""}, {""}, {""}, {""}, -#line 492 "../tests/keys" - {"gribMasterTablesVersionNumber",487}, - {""}, {""}, -#line 243 "../tests/keys" - {"boustrophedonicOrdering",238}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 782 "../tests/keys" - {"numberMissingFromAveragesOrAccumulations",777}, -#line 491 "../tests/keys" - {"grib2divider",486}, - {""}, {""}, {""}, -#line 1392 "../tests/keys" - {"unpackedValues",1387}, -#line 717 "../tests/keys" - {"max",712}, - {""}, -#line 399 "../tests/keys" - {"dx",394}, - {""}, -#line 1181 "../tests/keys" - {"section1Padding",1176}, - {""}, -#line 124 "../tests/keys" - {"N",119}, - {""}, {""}, -#line 1380 "../tests/keys" - {"unitOfTimeIncrement",1375}, - {""}, {""}, {""}, {""}, -#line 1426 "../tests/keys" - {"xLast",1421}, - {""}, {""}, -#line 681 "../tests/keys" - {"longitudinalDirectionGridLength",676}, -#line 438 "../tests/keys" - {"extendedFlag",433}, - {""}, {""}, {""}, -#line 257 "../tests/keys" - {"changingPrecision",252}, -#line 551 "../tests/keys" - {"integerValues",546}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 679 "../tests/keys" - {"longitudeOfTheSouthernPoleOfProjection",674}, - {""}, {""}, {""}, -#line 1010 "../tests/keys" - {"periodOfTimeIntervals",1005}, - {""}, -#line 1085 "../tests/keys" - {"referenceValue",1080}, -#line 1136 "../tests/keys" - {"scaledValueOfFirstSize",1131}, -#line 159 "../tests/keys" - {"PVPresent",154}, -#line 1032 "../tests/keys" - {"pressureLevel",1027}, - {""}, -#line 373 "../tests/keys" - {"defaultShortName",368}, - {""}, -#line 815 "../tests/keys" - {"numberOfForecastsInTheCluster",810}, -#line 626 "../tests/keys" - {"libraryVersion",621}, - {""}, {""}, {""}, {""}, -#line 676 "../tests/keys" - {"longitudeOfThePoleOfStretching",671}, - {""}, {""}, -#line 865 "../tests/keys" - {"numberOfVerticalPoints",860}, - {""}, {""}, -#line 863 "../tests/keys" - {"numberOfValues",858}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1353 "../tests/keys" - {"two",1348}, - {""}, -#line 1374 "../tests/keys" - {"typeOfStatisticalProcessing",1369}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1034 "../tests/keys" - {"primaryBitmap",1029}, -#line 652 "../tests/keys" - {"localUsePresent",647}, - {""}, -#line 31 "../tests/keys" - {"Dx",26}, -#line 1253 "../tests/keys" - {"spatialSmoothingOfProduct",1248}, -#line 1334 "../tests/keys" - {"totalLength",1329}, - {""}, {""}, {""}, {""}, -#line 546 "../tests/keys" - {"instrumentIdentifier",541}, - {""}, -#line 1131 "../tests/keys" - {"scaledValueOfCentralWaveNumber",1126}, - {""}, {""}, {""}, -#line 774 "../tests/keys" - {"northernLatitudeOfDomain",769}, -#line 1247 "../tests/keys" - {"southernLatitudeOfDomain",1242}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 637 "../tests/keys" - {"listOfModelIdentifiers",632}, -#line 374 "../tests/keys" - {"definitionFilesVersion",369}, - {""}, {""}, -#line 1266 "../tests/keys" - {"startTimeStep",1261}, - {""}, -#line 1400 "../tests/keys" - {"validityDate",1395}, - {""}, {""}, -#line 1135 "../tests/keys" - {"scaledValueOfFirstFixedSurface",1130}, -#line 1105 "../tests/keys" - {"roundedMarsLatitude",1100}, - {""}, -#line 926 "../tests/keys" - {"packingType",921}, -#line 191 "../tests/keys" - {"Total_Number_Members_Used",186}, -#line 1092 "../tests/keys" - {"reserved",1087}, -#line 50 "../tests/keys" - {"GDSPresent",45}, - {""}, -#line 880 "../tests/keys" - {"offsetBBitmap",875}, - {""}, {""}, -#line 800 "../tests/keys" - {"numberOfContributingSpectralBands",795}, - {""}, -#line 1388 "../tests/keys" - {"unitsOfSecondFixedSurface",1383}, - {""}, {""}, {""}, {""}, -#line 345 "../tests/keys" - {"dataLength",340}, - {""}, {""}, {""}, -#line 773 "../tests/keys" - {"northernLatitudeOfClusterDomain",768}, -#line 1246 "../tests/keys" - {"southernLatitudeOfClusterDomain",1241}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 847 "../tests/keys" - {"numberOfPointsUsed",842}, - {""}, {""}, {""}, -#line 465 "../tests/keys" - {"forecastMonth",460}, - {""}, {""}, {""}, -#line 128 "../tests/keys" - {"NC",123}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 16 "../tests/keys" - {"CDF",11}, -#line 23 "../tests/keys" - {"DiGiven",18}, - {""}, -#line 1107 "../tests/keys" - {"roundedMarsLongitude",1102}, - {""}, -#line 239 "../tests/keys" - {"bitsPerValue",234}, - {""}, -#line 606 "../tests/keys" - {"latitudeOfThePoleOfStretching",601}, -#line 1064 "../tests/keys" - {"rdb_key",1059}, -#line 506 "../tests/keys" - {"gts_CCCC",501}, -#line 335 "../tests/keys" - {"correction3Part",330}, +#line 841 "../tests/keys" + {"min",836}, +#line 1395 "../tests/keys" + {"spare",1390}, +#line 1161 "../tests/keys" + {"present",1156}, +#line 780 "../tests/keys" + {"mars",775}, +#line 871 "../tests/keys" + {"name",866}, #line 875 "../tests/keys" - {"offsetAfterBitmap",870}, -#line 1016 "../tests/keys" - {"physicalMeaningOfVerticalCoordinate",1011}, -#line 1303 "../tests/keys" - {"table2Version",1298}, -#line 375 "../tests/keys" - {"deleteExtraLocalSection",370}, -#line 986 "../tests/keys" - {"padding_sec1_loc",981}, - {""}, -#line 686 "../tests/keys" - {"mBasicAngle",681}, - {""}, -#line 347 "../tests/keys" - {"dataRepresentation",342}, -#line 1273 "../tests/keys" - {"stepRange",1268}, -#line 696 "../tests/keys" - {"marsKeywords",691}, - {""}, -#line 1149 "../tests/keys" - {"scanningMode",1144}, - {""}, {""}, -#line 35 "../tests/keys" - {"DyInDegrees",30}, -#line 1263 "../tests/keys" - {"startOfRange",1258}, - {""}, -#line 737 "../tests/keys" - {"minuteOfReference",732}, - {""}, -#line 705 "../tests/keys" - {"marsRange",700}, -#line 189 "../tests/keys" - {"Total_Number_Members_Missing",184}, -#line 784 "../tests/keys" - {"numberOfBits",779}, - {""}, -#line 1133 "../tests/keys" - {"scaledValueOfEarthMajorAxis",1128}, -#line 1421 "../tests/keys" - {"xCoordinateOfSubSatellitePoint",1416}, + {"names",870}, + {""}, {""}, {""}, +#line 1025 "../tests/keys" + {"one",1020}, +#line 1380 "../tests/keys" + {"sort",1375}, {""}, {""}, {""}, {""}, {""}, -#line 229 "../tests/keys" - {"baseDateEPS",224}, -#line 1357 "../tests/keys" - {"typeOfAuxiliaryInformation",1352}, +#line 1491 "../tests/keys" + {"total",1486}, +#line 1425 "../tests/keys" + {"stream",1420}, +#line 1029 "../tests/keys" + {"oper",1024}, +#line 1151 "../tests/keys" + {"points",1146}, + {""}, {""}, +#line 1489 "../tests/keys" + {"timerepres",1484}, +#line 1119 "../tests/keys" + {"param",1114}, {""}, -#line 352 "../tests/keys" - {"dataSubCategory",347}, -#line 190 "../tests/keys" - {"Total_Number_Members_Possible",185}, +#line 482 "../tests/keys" + {"error",477}, {""}, -#line 1314 "../tests/keys" - {"thresholdIndicator",1309}, +#line 406 "../tests/keys" + {"date",401}, +#line 594 "../tests/keys" + {"ident",589}, +#line 1035 "../tests/keys" + {"opttime",1030}, +#line 1129 "../tests/keys" + {"parameters",1124}, {""}, -#line 1192 "../tests/keys" - {"section3Pointer",1187}, +#line 1122 "../tests/keys" + {"parameter",1117}, {""}, -#line 850 "../tests/keys" - {"numberOfRadials",845}, +#line 471 "../tests/keys" + {"enorm",466}, +#line 840 "../tests/keys" + {"million",835}, +#line 77 "../tests/keys" + {"K",72}, + {""}, +#line 284 "../tests/keys" + {"cat",279}, +#line 629 "../tests/keys" + {"iteration",624}, #line 1134 "../tests/keys" - {"scaledValueOfEarthMinorAxis",1129}, -#line 26 "../tests/keys" - {"Dj",21}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 614 "../tests/keys" - {"legBaseDate",609}, -#line 533 "../tests/keys" - {"identificationNumber",528}, -#line 1420 "../tests/keys" - {"xCoordinateOfOriginOfSectorImage",1415}, -#line 1407 "../tests/keys" - {"verticalCoordinate",1402}, - {""}, -#line 1309 "../tests/keys" - {"thisMarsClass",1304}, -#line 851 "../tests/keys" - {"numberOfRemaininChars",846}, -#line 885 "../tests/keys" - {"offsetBeforePL",880}, - {""}, -#line 21 "../tests/keys" - {"Date_E4",16}, -#line 1339 "../tests/keys" - {"totalNumberOfFrequencies",1334}, -#line 738 "../tests/keys" - {"minutesAfterDataCutoff",733}, -#line 1146 "../tests/keys" - {"scaledValueOfUpperLimit",1141}, -#line 1033 "../tests/keys" - {"pressureUnits",1028}, -#line 206 "../tests/keys" - {"accumulationInterval",201}, - {""}, {""}, {""}, {""}, -#line 765 "../tests/keys" - {"normAtFinalTime",760}, -#line 845 "../tests/keys" - {"numberOfPointsAlongXAxis",840}, -#line 598 "../tests/keys" - {"latitudeOfSouthEastCornerOfArea",593}, - {""}, -#line 1408 "../tests/keys" - {"verticalCoordinateDefinition",1403}, -#line 664 "../tests/keys" - {"longitudeOfIcosahedronPole",659}, -#line 693 "../tests/keys" - {"marsForecastMonth",688}, -#line 836 "../tests/keys" - {"numberOfParallelsBetweenAPoleAndTheEquator",831}, - {""}, -#line 1311 "../tests/keys" - {"thisMarsType",1306}, + {"partitions",1129}, {""}, {""}, -#line 12 "../tests/keys" - {"BOX",7}, - {""}, {""}, -#line 1325 "../tests/keys" - {"timeIncrementBetweenSuccessiveFields",1320}, +#line 308 "../tests/keys" + {"class",303}, {""}, -#line 169 "../tests/keys" - {"Sub-Experiment_Identifier",164}, - {""}, -#line 807 "../tests/keys" - {"numberOfDataValues",802}, - {""}, -#line 216 "../tests/keys" - {"angleOfRotation",211}, -#line 1125 "../tests/keys" - {"scaleFactorOfStandardDeviation",1120}, -#line 548 "../tests/keys" - {"integerPointValues",543}, +#line 1188 "../tests/keys" + {"radials",1183}, +#line 1424 "../tests/keys" + {"stepZero",1419}, {""}, #line 291 "../tests/keys" - {"complexPacking",286}, -#line 439 "../tests/keys" - {"extraDimensionPresent",434}, -#line 293 "../tests/keys" - {"computeLaplacianOperator",288}, - {""}, {""}, {""}, {""}, -#line 488 "../tests/keys" - {"grib1divider",483}, + {"centre",286}, +#line 687 "../tests/keys" + {"leadtime",682}, +#line 1295 "../tests/keys" + {"sd",1290}, +#line 455 "../tests/keys" + {"ed",450}, +#line 503 "../tests/keys" + {"file",498}, +#line 876 "../tests/keys" + {"nd",871}, {""}, -#line 612 "../tests/keys" - {"latitudinalDirectionGridLength",607}, -#line 1126 "../tests/keys" - {"scaleFactorOfStandardDeviationInTheCluster",1121}, -#line 627 "../tests/keys" - {"listMembersMissing",622}, - {""}, {""}, {""}, -#line 19 "../tests/keys" - {"Date_E2",14}, - {""}, {""}, {""}, {""}, -#line 716 "../tests/keys" - {"matrixOfValues",711}, #line 855 "../tests/keys" - {"numberOfSecondOrderPackedValues",850}, -#line 7 "../tests/keys" - {"************_EXPERIMENT_************",2}, -#line 1368 "../tests/keys" - {"typeOfPacking",1363}, -#line 1401 "../tests/keys" - {"validityTime",1396}, -#line 466 "../tests/keys" - {"forecastOrSingularVectorNumber",461}, -#line 329 "../tests/keys" - {"corr4Data",324}, + {"model",850}, {""}, -#line 622 "../tests/keys" - {"levelType",617}, +#line 496 "../tests/keys" + {"false",491}, +#line 1415 "../tests/keys" + {"statistics",1410}, +#line 1206 "../tests/keys" + {"rectime",1201}, +#line 456 "../tests/keys" + {"edition",451}, +#line 349 "../tests/keys" + {"const",344}, +#line 374 "../tests/keys" + {"core",369}, {""}, -#line 846 "../tests/keys" - {"numberOfPointsAlongYAxis",841}, -#line 1174 "../tests/keys" - {"secondsOfReference",1169}, -#line 778 "../tests/keys" - {"numberInMixedCoordinateDefinition",773}, - {""}, {""}, {""}, {""}, {""}, -#line 254 "../tests/keys" - {"centuryOfReference",249}, +#line 624 "../tests/keys" + {"isSens",619}, {""}, {""}, -#line 1375 "../tests/keys" - {"typeOfTimeIncrement",1370}, +#line 716 "../tests/keys" + {"local",711}, {""}, -#line 266 "../tests/keys" - {"climatologicalRegime",261}, - {""}, {""}, {""}, {""}, -#line 413 "../tests/keys" - {"endMark",408}, -#line 1280 "../tests/keys" - {"streamOfAnalysis",1275}, +#line 443 "../tests/keys" + {"domain",438}, +#line 1172 "../tests/keys" + {"process",1167}, {""}, -#line 1224 "../tests/keys" - {"setLocalDefinition",1219}, +#line 1316 "../tests/keys" + {"section",1311}, {""}, {""}, {""}, -#line 1397 "../tests/keys" - {"upperThreshold",1392}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 358 "../tests/keys" - {"dateOfForecastRun",353}, - {""}, -#line 1095 "../tests/keys" - {"reservedOctet",1090}, - {""}, -#line 218 "../tests/keys" - {"angleOfRotationOfProjection",213}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1389 "../tests/keys" - {"unknown",1384}, - {""}, -#line 327 "../tests/keys" - {"corr2Data",322}, +#line 431 "../tests/keys" + {"dimension",426}, +#line 1343 "../tests/keys" + {"section7",1338}, {""}, {""}, -#line 1191 "../tests/keys" - {"section3Padding",1186}, -#line 217 "../tests/keys" - {"angleOfRotationInDegrees",212}, +#line 1409 "../tests/keys" + {"startStep",1404}, {""}, -#line 814 "../tests/keys" - {"numberOfForecastsInEnsemble",809}, - {""}, {""}, {""}, {""}, -#line 1193 "../tests/keys" - {"section4",1188}, - {""}, {""}, {""}, {""}, -#line 570 "../tests/keys" - {"jScansPositively",565}, - {""}, {""}, {""}, {""}, {""}, -#line 1165 "../tests/keys" - {"secondOrderValuesDifferentWidths",1160}, +#line 28 "../tests/keys" + {"Di",23}, {""}, -#line 594 "../tests/keys" - {"latitudeOfIcosahedronPole",589}, +#line 623 "../tests/keys" + {"isSatellite",618}, {""}, -#line 1053 "../tests/keys" - {"qc",1048}, - {""}, {""}, {""}, {""}, {""}, -#line 1008 "../tests/keys" - {"percentileValue",1003}, +#line 1157 "../tests/keys" + {"precision",1152}, +#line 804 "../tests/keys" + {"marsStep",799}, {""}, {""}, {""}, -#line 735 "../tests/keys" - {"minuteOfAnalysis",730}, -#line 859 "../tests/keys" - {"numberOfStepsUsedForClustering",854}, -#line 636 "../tests/keys" - {"listOfEnsembleForecastNumbers",631}, - {""}, -#line 336 "../tests/keys" - {"correction4",331}, +#line 224 "../tests/keys" + {"Xp",219}, {""}, {""}, -#line 153 "../tests/keys" - {"Original_Parameter_Identifier",148}, - {""}, {""}, {""}, -#line 482 "../tests/keys" - {"generalExtended2ordr",477}, -#line 756 "../tests/keys" - {"n2",751}, - {""}, -#line 823 "../tests/keys" - {"numberOfLocalDefinitions",818}, - {""}, {""}, {""}, -#line 261 "../tests/keys" - {"charValues",256}, +#line 36 "../tests/keys" + {"Dstart",31}, {""}, {""}, {""}, {""}, -#line 615 "../tests/keys" - {"legBaseTime",610}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 985 "../tests/keys" - {"padding_local_7_1",980}, +#line 439 "../tests/keys" + {"discipline",434}, +#line 1212 "../tests/keys" + {"refdate",1207}, + {""}, {""}, {""}, {""}, +#line 467 "../tests/keys" + {"endStep",462}, {""}, {""}, -#line 441 "../tests/keys" - {"extraLocalSectionPresent",436}, +#line 1149 "../tests/keys" + {"platform",1144}, + {""}, {""}, {""}, +#line 1551 "../tests/keys" + {"units",1546}, +#line 805 "../tests/keys" + {"marsStream",800}, + {""}, +#line 597 "../tests/keys" + {"identifier",592}, +#line 784 "../tests/keys" + {"marsDir",779}, + {""}, +#line 434 "../tests/keys" + {"direction",429}, + {""}, {""}, +#line 813 "../tests/keys" + {"masterDir",808}, +#line 1213 "../tests/keys" + {"reference",1208}, + {""}, +#line 1030 "../tests/keys" + {"operStream",1025}, +#line 843 "../tests/keys" + {"minute",838}, + {""}, {""}, {""}, +#line 223 "../tests/keys" + {"Xo",218}, +#line 75 "../tests/keys" + {"J",70}, + {""}, {""}, {""}, +#line 1296 "../tests/keys" + {"second",1291}, +#line 997 "../tests/keys" + {"offset",992}, + {""}, +#line 479 "../tests/keys" + {"epsStatistics",474}, + {""}, +#line 607 "../tests/keys" + {"instrument",602}, +#line 276 "../tests/keys" + {"bitmap",271}, +#line 401 "../tests/keys" + {"dataStream",396}, + {""}, +#line 393 "../tests/keys" + {"dataDate",388}, +#line 1194 "../tests/keys" + {"range",1189}, + {""}, {""}, +#line 78 "../tests/keys" + {"KS",73}, +#line 257 "../tests/keys" + {"anoffset",252}, + {""}, {""}, +#line 458 "../tests/keys" + {"efiOrder",453}, + {""}, {""}, {""}, +#line 842 "../tests/keys" + {"minimum",837}, +#line 1189 "../tests/keys" + {"radius",1184}, +#line 785 "../tests/keys" + {"marsDomain",780}, +#line 1247 "../tests/keys" + {"satelliteSeries",1242}, +#line 653 "../tests/keys" + {"latitude",648}, +#line 684 "../tests/keys" + {"latitudes",679}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1040 "../tests/keys" + {"origin",1035}, + {""}, +#line 1199 "../tests/keys" + {"rdbtime",1194}, + {""}, {""}, +#line 1034 "../tests/keys" + {"optionalData",1029}, + {""}, +#line 803 "../tests/keys" + {"marsStartStep",798}, + {""}, +#line 995 "../tests/keys" + {"oceanStream",990}, +#line 723 "../tests/keys" + {"localDir",718}, + {""}, +#line 387 "../tests/keys" + {"count",382}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 268 "../tests/keys" + {"band",263}, + {""}, +#line 347 "../tests/keys" + {"consensus",342}, +#line 76 "../tests/keys" + {"JS",71}, + {""}, {""}, +#line 801 "../tests/keys" + {"marsQuantile",796}, +#line 517 "../tests/keys" + {"flags",512}, + {""}, {""}, {""}, +#line 400 "../tests/keys" + {"dataSelection",395}, {""}, #line 554 "../tests/keys" - {"isAccumulation",549}, + {"grid",549}, +#line 1220 "../tests/keys" + {"referenceStep",1215}, {""}, -#line 1061 "../tests/keys" - {"radiusOfTheEarth",1056}, +#line 500 "../tests/keys" + {"fcperiod",495}, {""}, -#line 1294 "../tests/keys" - {"subcentreOfAnalysis",1289}, -#line 1342 "../tests/keys" - {"totalNumberOfTubes",1337}, -#line 1153 "../tests/keys" - {"scanningMode7",1148}, +#line 481 "../tests/keys" + {"epsStatisticsPoint",476}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 529 "../tests/keys" + {"forecastperiod",524}, {""}, -#line 1258 "../tests/keys" - {"sphericalHarmonics",1253}, -#line 440 "../tests/keys" - {"extraLocalSectionNumber",435}, +#line 527 "../tests/keys" + {"forecastSteps",522}, +#line 391 "../tests/keys" + {"crcrlf",386}, + {""}, {""}, +#line 1173 "../tests/keys" + {"product",1168}, + {""}, +#line 285 "../tests/keys" + {"categories",280}, + {""}, +#line 1204 "../tests/keys" + {"realPart",1199}, + {""}, {""}, +#line 731 "../tests/keys" + {"localSection",726}, +#line 341 "../tests/keys" + {"conceptDir",336}, +#line 1214 "../tests/keys" + {"referenceDate",1209}, + {""}, +#line 504 "../tests/keys" + {"firstDimension",499}, + {""}, {""}, +#line 478 "../tests/keys" + {"epsPoint",473}, + {""}, {""}, +#line 1297 "../tests/keys" + {"secondDimension",1292}, +#line 1516 "../tests/keys" + {"type",1511}, + {""}, {""}, {""}, {""}, +#line 396 "../tests/keys" + {"dataOrigin",391}, + {""}, {""}, {""}, {""}, +#line 1606 "../tests/keys" + {"year",1601}, + {""}, {""}, {""}, {""}, +#line 891 "../tests/keys" + {"number",886}, + {""}, {""}, +#line 1449 "../tests/keys" + {"system",1444}, +#line 800 "../tests/keys" + {"marsParam",795}, + {""}, +#line 1267 "../tests/keys" + {"scaledDirections",1262}, + {""}, {""}, +#line 721 "../tests/keys" + {"localDefinition",716}, + {""}, {""}, {""}, {""}, {""}, +#line 646 "../tests/keys" + {"laplacianOperator",641}, +#line 1299 "../tests/keys" + {"secondDimensionPhysicalSignificance",1294}, + {""}, +#line 722 "../tests/keys" + {"localDefinitionNumber",717}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1210 "../tests/keys" + {"rectimeSecond",1205}, + {""}, {""}, {""}, +#line 480 "../tests/keys" + {"epsStatisticsContinous",475}, +#line 546 "../tests/keys" + {"global",541}, + {""}, +#line 1429 "../tests/keys" + {"stuff",1424}, +#line 730 "../tests/keys" + {"localSecond",725}, + {""}, +#line 645 "../tests/keys" + {"landtype",640}, + {""}, +#line 501 "../tests/keys" + {"fgDate",496}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 599 "../tests/keys" + {"ifsParam",594}, + {""}, {""}, {""}, {""}, {""}, +#line 429 "../tests/keys" + {"diagnostic",424}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1298 "../tests/keys" + {"secondDimensionCoordinateValueDefinition",1293}, + {""}, {""}, {""}, {""}, +#line 739 "../tests/keys" + {"longitude",734}, +#line 769 "../tests/keys" + {"longitudes",764}, + {""}, {""}, {""}, {""}, +#line 1287 "../tests/keys" + {"scanPosition",1282}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1351 "../tests/keys" + {"sectionPosition",1346}, + {""}, +#line 1405 "../tests/keys" + {"standardParallel",1400}, +#line 512 "../tests/keys" + {"flag",507}, + {""}, {""}, {""}, +#line 647 "../tests/keys" + {"laplacianOperatorIsSet",642}, +#line 834 "../tests/keys" + {"md5Section7",829}, +#line 1341 "../tests/keys" + {"section6",1336}, + {""}, {""}, +#line 335 "../tests/keys" + {"coefsSecond",330}, +#line 1413 "../tests/keys" + {"statisticalProcess",1408}, +#line 292 "../tests/keys" + {"centreDescription",287}, + {""}, {""}, {""}, {""}, {""}, +#line 278 "../tests/keys" + {"bitmapSectionPresent",273}, +#line 1414 "../tests/keys" + {"statisticalProcessesList",1409}, + {""}, {""}, {""}, +#line 1050 "../tests/keys" + {"padding",1045}, + {""}, {""}, {""}, +#line 1345 "../tests/keys" + {"section8",1340}, +#line 1440 "../tests/keys" + {"subSetK",1435}, +#line 1338 "../tests/keys" + {"section5",1333}, + {""}, {""}, {""}, {""}, +#line 622 "../tests/keys" + {"isHindcast",617}, + {""}, +#line 277 "../tests/keys" + {"bitmapPresent",272}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 867 "../tests/keys" + {"mybits",862}, + {""}, {""}, +#line 247 "../tests/keys" + {"aerosolbinnumber",242}, +#line 1406 "../tests/keys" + {"standardParallelInMicrodegrees",1401}, + {""}, +#line 1512 "../tests/keys" + {"tubeDomain",1507}, + {""}, {""}, {""}, {""}, {""}, +#line 1168 "../tests/keys" + {"probPoint",1163}, + {""}, {""}, {""}, +#line 1203 "../tests/keys" + {"rdbtimeSecond",1198}, +#line 993 "../tests/keys" + {"obstype",988}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 163 "../tests/keys" + {"P",158}, +#line 556 "../tests/keys" + {"gridDefinition",551}, + {""}, +#line 545 "../tests/keys" + {"gg",540}, + {""}, {""}, {""}, {""}, +#line 340 "../tests/keys" + {"computeStatistics",335}, +#line 1205 "../tests/keys" + {"realPartOf00",1200}, + {""}, {""}, +#line 1540 "../tests/keys" + {"typicalDate",1535}, + {""}, +#line 475 "../tests/keys" + {"ensembleStandardDeviation",470}, +#line 1318 "../tests/keys" + {"section0Pointer",1313}, + {""}, +#line 1218 "../tests/keys" + {"referenceOfWidths",1213}, + {""}, {""}, {""}, {""}, {""}, +#line 523 "../tests/keys" + {"forecastPeriod",518}, +#line 718 "../tests/keys" + {"localDecimalScaleFactor",713}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1364 "../tests/keys" + {"setDecimalPrecision",1359}, + {""}, +#line 1020 "../tests/keys" + {"offsetSection6",1015}, + {""}, +#line 1476 "../tests/keys" + {"tiggeSection",1471}, + {""}, +#line 547 "../tests/keys" + {"globalDomain",542}, +#line 1407 "../tests/keys" + {"startOfHeaders",1402}, + {""}, {""}, {""}, {""}, +#line 1021 "../tests/keys" + {"offsetSection7",1016}, +#line 1022 "../tests/keys" + {"offsetSection8",1017}, +#line 598 "../tests/keys" + {"ieeeFloats",593}, + {""}, +#line 403 "../tests/keys" + {"dataTime",398}, + {""}, {""}, {""}, +#line 174 "../tests/keys" + {"SPD",169}, + {""}, {""}, +#line 1439 "../tests/keys" + {"subSetJ",1434}, + {""}, {""}, {""}, +#line 1397 "../tests/keys" + {"spatialProcessing",1392}, + {""}, {""}, {""}, +#line 1150 "../tests/keys" + {"plusOneinOrdersOfSPD",1145}, + {""}, {""}, {""}, {""}, {""}, +#line 825 "../tests/keys" + {"md5DataSection",820}, + {""}, +#line 1553 "../tests/keys" + {"unitsDecimalScaleFactor",1548}, + {""}, {""}, +#line 602 "../tests/keys" + {"indicatorOfParameter",597}, +#line 1226 "../tests/keys" + {"representationType",1221}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1208 "../tests/keys" + {"rectimeHour",1203}, + {""}, {""}, {""}, {""}, +#line 1507 "../tests/keys" + {"truncateDegrees",1502}, + {""}, +#line 1469 "../tests/keys" + {"three",1464}, +#line 727 "../tests/keys" + {"localHour",722}, +#line 1411 "../tests/keys" + {"startTimeStep",1406}, + {""}, +#line 1144 "../tests/keys" + {"phase",1139}, +#line 781 "../tests/keys" + {"marsClass",776}, + {""}, {""}, +#line 557 "../tests/keys" + {"gridDefinitionSection",552}, + {""}, {""}, +#line 977 "../tests/keys" + {"numberOfSection",972}, +#line 827 "../tests/keys" + {"md5Headers",822}, + {""}, {""}, +#line 447 "../tests/keys" + {"dummyc",442}, +#line 1156 "../tests/keys" + {"preProcessingParameter",1151}, + {""}, +#line 619 "../tests/keys" + {"isConstant",614}, +#line 189 "../tests/keys" + {"TS",184}, +#line 1041 "../tests/keys" + {"originalParameterNumber",1036}, + {""}, +#line 449 "../tests/keys" + {"dy",444}, + {""}, {""}, {""}, {""}, +#line 469 "../tests/keys" + {"endTimeStep",464}, + {""}, +#line 235 "../tests/keys" + {"Yp",230}, +#line 414 "../tests/keys" + {"day",409}, + {""}, {""}, +#line 616 "../tests/keys" + {"interpretationOfNumberOfPoints",611}, + {""}, {""}, +#line 572 "../tests/keys" + {"hdate",567}, +#line 1174 "../tests/keys" + {"productDefinition",1169}, + {""}, {""}, {""}, {""}, {""}, +#line 1026 "../tests/keys" + {"oneConstant",1021}, + {""}, +#line 1347 "../tests/keys" + {"section8Pointer",1342}, +#line 1340 "../tests/keys" + {"section5Pointer",1335}, + {""}, {""}, {""}, {""}, {""}, +#line 760 "../tests/keys" + {"longitudeOfStretchingPole",755}, + {""}, {""}, +#line 306 "../tests/keys" + {"char",301}, + {""}, {""}, {""}, +#line 334 "../tests/keys" + {"coefsFirst",329}, +#line 528 "../tests/keys" + {"forecastTime",523}, + {""}, +#line 304 "../tests/keys" + {"channel",299}, + {""}, +#line 761 "../tests/keys" + {"longitudeOfStretchingPoleInDegrees",756}, + {""}, {""}, +#line 234 "../tests/keys" + {"Yo",229}, + {""}, +#line 251 "../tests/keys" + {"analysisOffsets",246}, + {""}, +#line 673 "../tests/keys" + {"latitudeOfStretchingPole",668}, + {""}, +#line 926 "../tests/keys" + {"numberOfDiamonds",921}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1124 "../tests/keys" + {"parameterCode",1119}, + {""}, {""}, +#line 40 "../tests/keys" + {"Dy",35}, + {""}, +#line 1019 "../tests/keys" + {"offsetSection5",1014}, +#line 1037 "../tests/keys" + {"orderOfSpatialDifferencing",1032}, + {""}, {""}, {""}, +#line 1140 "../tests/keys" + {"periodOfTime",1135}, + {""}, +#line 465 "../tests/keys" + {"endOfProduct",460}, +#line 596 "../tests/keys" + {"identificationOfOriginatingGeneratingCentre",591}, +#line 326 "../tests/keys" + {"clusteringDomain",321}, +#line 559 "../tests/keys" + {"gridDescriptionSectionPresent",554}, + {""}, +#line 838 "../tests/keys" + {"method",833}, +#line 422 "../tests/keys" + {"defaultParameter",417}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1201 "../tests/keys" + {"rdbtimeHour",1196}, +#line 989 "../tests/keys" + {"numberingOrderOfDiamonds",984}, + {""}, +#line 502 "../tests/keys" + {"fgTime",497}, + {""}, {""}, {""}, {""}, +#line 833 "../tests/keys" + {"md5Section6",828}, + {""}, +#line 190 "../tests/keys" + {"TScalc",185}, + {""}, {""}, {""}, +#line 959 "../tests/keys" + {"numberOfPoints",954}, +#line 311 "../tests/keys" + {"climateDateTo",306}, +#line 543 "../tests/keys" + {"generatingProcessIdentifier",538}, #line 390 "../tests/keys" - {"discipline",385}, + {"countTotal",385}, + {""}, +#line 353 "../tests/keys" + {"controlForecastCluster",348}, +#line 310 "../tests/keys" + {"climateDateFrom",305}, + {""}, {""}, {""}, +#line 714 "../tests/keys" + {"listOfParametersUsedForClustering",709}, + {""}, +#line 1555 "../tests/keys" + {"unitsFactor",1550}, +#line 735 "../tests/keys" + {"localYear",730}, +#line 542 "../tests/keys" + {"generatingProcessIdentificationNumber",537}, + {""}, +#line 832 "../tests/keys" + {"md5Section5",827}, + {""}, {""}, +#line 532 "../tests/keys" + {"freeFormData",527}, + {""}, +#line 459 "../tests/keys" + {"eight",454}, +#line 580 "../tests/keys" + {"hour",575}, +#line 425 "../tests/keys" + {"definitionFilesVersion",420}, + {""}, +#line 1548 "../tests/keys" + {"unitOfTime",1543}, +#line 1036 "../tests/keys" + {"orderOfSPD",1031}, + {""}, +#line 1133 "../tests/keys" + {"partitionTable",1128}, + {""}, +#line 173 "../tests/keys" + {"SOH",168}, +#line 1179 "../tests/keys" + {"productionStatusOfProcessedData",1174}, + {""}, {""}, {""}, {""}, +#line 1421 "../tests/keys" + {"stepType",1416}, + {""}, {""}, {""}, +#line 927 "../tests/keys" + {"numberOfDirections",922}, + {""}, +#line 819 "../tests/keys" + {"matchSort",814}, +#line 477 "../tests/keys" + {"epsContinous",472}, + {""}, {""}, {""}, +#line 444 "../tests/keys" + {"dummy",439}, + {""}, {""}, +#line 1604 "../tests/keys" + {"yFirst",1599}, +#line 808 "../tests/keys" + {"marsType",803}, + {""}, {""}, +#line 1207 "../tests/keys" + {"rectimeDay",1202}, +#line 1456 "../tests/keys" + {"tableCode",1451}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 717 "../tests/keys" + {"localDay",712}, + {""}, {""}, {""}, {""}, +#line 738 "../tests/keys" + {"logTransform",733}, + {""}, +#line 656 "../tests/keys" + {"latitudeFirstInDegrees",651}, +#line 1224 "../tests/keys" + {"reportType",1219}, + {""}, {""}, +#line 1175 "../tests/keys" + {"productDefinitionTemplateNumber",1170}, + {""}, {""}, {""}, {""}, +#line 1176 "../tests/keys" + {"productDefinitionTemplateNumberInternal",1171}, +#line 404 "../tests/keys" + {"dataType",399}, + {""}, {""}, {""}, {""}, +#line 328 "../tests/keys" + {"clutterFilterIndicator",323}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 923 "../tests/keys" + {"numberOfDataPoints",918}, + {""}, {""}, +#line 246 "../tests/keys" + {"aerosolType",241}, + {""}, {""}, +#line 86 "../tests/keys" + {"Lap",81}, +#line 1461 "../tests/keys" + {"targetCompressionRatio",1456}, + {""}, {""}, +#line 1468 "../tests/keys" + {"thousand",1463}, + {""}, {""}, +#line 91 "../tests/keys" + {"Latin",86}, +#line 1402 "../tests/keys" + {"spectralType",1397}, + {""}, {""}, {""}, {""}, +#line 1545 "../tests/keys" + {"typicalTime",1540}, +#line 586 "../tests/keys" + {"hundred",581}, + {""}, +#line 958 "../tests/keys" + {"numberOfPartitions",953}, + {""}, {""}, {""}, {""}, +#line 1430 "../tests/keys" + {"subCentre",1425}, +#line 506 "../tests/keys" + {"firstDimensionPhysicalSignificance",501}, +#line 1196 "../tests/keys" + {"rdbSubtype",1191}, +#line 433 "../tests/keys" + {"dimensionType",428}, +#line 1542 "../tests/keys" + {"typicalHour",1537}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 394 "../tests/keys" + {"dataFlag",389}, + {""}, {""}, {""}, {""}, {""}, +#line 330 "../tests/keys" + {"codeType",325}, + {""}, +#line 715 "../tests/keys" + {"listOfScaledFrequencies",710}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1532 "../tests/keys" + {"typeOfProcessedData",1527}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1472 "../tests/keys" + {"tiggeCentre",1467}, + {""}, +#line 1200 "../tests/keys" + {"rdbtimeDay",1195}, + {""}, {""}, +#line 725 "../tests/keys" + {"localFlag",720}, + {""}, {""}, {""}, {""}, {""}, +#line 762 "../tests/keys" + {"longitudeOfSubSatellitePoint",757}, + {""}, +#line 1481 "../tests/keys" + {"timeCoordinateDefinition",1476}, +#line 329 "../tests/keys" + {"codeFigure",324}, + {""}, {""}, {""}, +#line 560 "../tests/keys" + {"gridPointPosition",555}, + {""}, +#line 763 "../tests/keys" + {"longitudeOfSubSatellitePointInDegrees",758}, + {""}, {""}, {""}, +#line 536 "../tests/keys" + {"functionCode",531}, + {""}, {""}, {""}, {""}, +#line 978 "../tests/keys" + {"numberOfSingularVectorsComputed",973}, +#line 288 "../tests/keys" + {"centralClusterDefinition",283}, + {""}, {""}, +#line 1197 "../tests/keys" + {"rdbType",1192}, +#line 1167 "../tests/keys" + {"probContinous",1162}, + {""}, {""}, +#line 525 "../tests/keys" + {"forecastPeriodTo",520}, + {""}, {""}, {""}, {""}, {""}, +#line 929 "../tests/keys" + {"numberOfFloats",924}, + {""}, {""}, +#line 524 "../tests/keys" + {"forecastPeriodFrom",519}, + {""}, {""}, +#line 555 "../tests/keys" + {"gridCoordinate",550}, + {""}, {""}, {""}, +#line 561 "../tests/keys" + {"gridType",556}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 420 "../tests/keys" + {"decimalScaleFactor",415}, + {""}, {""}, {""}, {""}, {""}, +#line 1044 "../tests/keys" + {"originatingCentre",1039}, + {""}, {""}, {""}, +#line 1046 "../tests/keys" + {"originatingCentrer",1041}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1565 "../tests/keys" + {"upperLimit",1560}, + {""}, +#line 877 "../tests/keys" + {"neitherPresent",872}, +#line 609 "../tests/keys" + {"instrumentType",604}, + {""}, {""}, +#line 791 "../tests/keys" + {"marsIdent",786}, + {""}, {""}, {""}, {""}, {""}, +#line 1131 "../tests/keys" + {"partitionItems",1126}, + {""}, {""}, +#line 1547 "../tests/keys" + {"unitOfOffsetFromReferenceTime",1542}, +#line 1373 "../tests/keys" + {"siteId",1368}, + {""}, +#line 930 "../tests/keys" + {"numberOfForcasts",925}, + {""}, +#line 1169 "../tests/keys" + {"probProductDefinition",1164}, +#line 1403 "../tests/keys" + {"sphericalHarmonics",1398}, + {""}, {""}, +#line 591 "../tests/keys" + {"iIncrement",586}, + {""}, {""}, +#line 1178 "../tests/keys" + {"productType",1173}, +#line 1374 "../tests/keys" + {"siteLatitude",1369}, +#line 685 "../tests/keys" + {"latitudesList",680}, +#line 611 "../tests/keys" + {"integerScaleFactor",606}, + {""}, {""}, {""}, {""}, +#line 659 "../tests/keys" + {"latitudeOfCenterPoint",654}, +#line 1303 "../tests/keys" + {"secondOrderFlags",1298}, + {""}, +#line 83 "../tests/keys" + {"LaD",78}, + {""}, +#line 1482 "../tests/keys" + {"timeIncrement",1477}, + {""}, +#line 1120 "../tests/keys" + {"paramId",1115}, +#line 795 "../tests/keys" + {"marsLatitude",790}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 472 "../tests/keys" + {"ensembleForecastNumbers",467}, +#line 1191 "../tests/keys" + {"radiusOfCentralCluster",1186}, +#line 749 "../tests/keys" + {"longitudeOfFirstGridPoint",744}, + {""}, {""}, +#line 660 "../tests/keys" + {"latitudeOfCenterPointInDegrees",655}, + {""}, +#line 1541 "../tests/keys" + {"typicalDay",1536}, + {""}, +#line 473 "../tests/keys" + {"ensembleForecastNumbersList",468}, +#line 621 "../tests/keys" + {"isEps",616}, + {""}, {""}, {""}, {""}, +#line 750 "../tests/keys" + {"longitudeOfFirstGridPointInDegrees",745}, + {""}, {""}, {""}, +#line 747 "../tests/keys" + {"longitudeOfFirstDiamondCenterLine",742}, + {""}, +#line 662 "../tests/keys" + {"latitudeOfFirstGridPoint",657}, + {""}, {""}, {""}, {""}, +#line 1519 "../tests/keys" + {"typeOfCompressionUsed",1514}, +#line 748 "../tests/keys" + {"longitudeOfFirstDiamondCenterLineInDegrees",743}, + {""}, +#line 302 "../tests/keys" + {"changeDecimalPrecision",297}, + {""}, +#line 917 "../tests/keys" + {"numberOfComponents",912}, + {""}, +#line 1125 "../tests/keys" + {"parameterIndicator",1120}, + {""}, {""}, {""}, {""}, {""}, +#line 348 "../tests/keys" + {"consensusCount",343}, + {""}, {""}, {""}, +#line 1143 "../tests/keys" + {"perturbedType",1138}, + {""}, +#line 507 "../tests/keys" + {"firstLatitude",502}, +#line 744 "../tests/keys" + {"longitudeOfCenterPoint",739}, + {""}, {""}, {""}, {""}, {""}, +#line 1192 "../tests/keys" + {"radiusOfClusterDomain",1187}, +#line 1605 "../tests/keys" + {"yLast",1600}, + {""}, {""}, {""}, +#line 1508 "../tests/keys" + {"truncateLaplacian",1503}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 982 "../tests/keys" + {"numberOfTimeSteps",977}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 22 "../tests/keys" + {"CDFstr",17}, +#line 274 "../tests/keys" + {"binaryScaleFactor",269}, + {""}, {""}, +#line 1186 "../tests/keys" + {"quantile",1181}, + {""}, {""}, {""}, +#line 746 "../tests/keys" + {"longitudeOfCentralPointInClusterDomain",741}, +#line 378 "../tests/keys" + {"corr4Data",373}, +#line 1245 "../tests/keys" + {"satelliteIdentifier",1240}, + {""}, +#line 954 "../tests/keys" + {"numberOfOperationalForecastTube",949}, + {""}, {""}, +#line 566 "../tests/keys" + {"groupWidths",561}, + {""}, {""}, {""}, {""}, +#line 1419 "../tests/keys" + {"stepRange",1414}, + {""}, {""}, {""}, +#line 1244 "../tests/keys" + {"satelliteID",1239}, + {""}, +#line 907 "../tests/keys" + {"numberOfCategories",902}, +#line 1032 "../tests/keys" + {"operationalForecastCluster",1027}, + {""}, {""}, {""}, +#line 563 "../tests/keys" + {"groupSplitting",558}, + {""}, {""}, {""}, +#line 802 "../tests/keys" + {"marsRange",797}, +#line 861 "../tests/keys" + {"month",856}, + {""}, {""}, +#line 258 "../tests/keys" + {"applicationIdentifier",253}, +#line 916 "../tests/keys" + {"numberOfColumns",911}, + {""}, +#line 608 "../tests/keys" + {"instrumentIdentifier",603}, + {""}, {""}, {""}, {""}, +#line 1458 "../tests/keys" + {"tablesLocalDir",1453}, + {""}, +#line 952 "../tests/keys" + {"numberOfOctectsForNumberOfPoints",947}, +#line 1043 "../tests/keys" + {"originalSubCentreIdentifier",1038}, + {""}, {""}, +#line 508 "../tests/keys" + {"firstLatitudeInDegrees",503}, +#line 912 "../tests/keys" + {"numberOfClusters",907}, + {""}, {""}, {""}, {""}, +#line 1375 "../tests/keys" + {"siteLongitude",1370}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 786 "../tests/keys" + {"marsEndStep",781}, +#line 1300 "../tests/keys" + {"secondLatitude",1295}, +#line 397 "../tests/keys" + {"dataRepresentation",392}, + {""}, +#line 587 "../tests/keys" + {"iDirectionIncrement",582}, + {""}, +#line 857 "../tests/keys" + {"modelIdentifier",852}, + {""}, +#line 798 "../tests/keys" + {"marsLongitude",793}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 601 "../tests/keys" + {"incrementOfLengths",596}, + {""}, {""}, {""}, {""}, {""}, +#line 919 "../tests/keys" + {"numberOfControlForecastTube",914}, + {""}, {""}, +#line 693 "../tests/keys" + {"lengthOfHeaders",688}, + {""}, +#line 1531 "../tests/keys" + {"typeOfPreProcessing",1526}, + {""}, {""}, {""}, {""}, +#line 911 "../tests/keys" + {"numberOfClusterLowResolution",906}, + {""}, {""}, {""}, {""}, {""}, +#line 1485 "../tests/keys" + {"timeOfReference",1480}, + {""}, {""}, {""}, +#line 1263 "../tests/keys" + {"scaleFactorOfStandardDeviation",1258}, +#line 1470 "../tests/keys" + {"threshold",1465}, + {""}, +#line 573 "../tests/keys" + {"headersOnly",568}, + {""}, {""}, {""}, +#line 849 "../tests/keys" + {"missingDataFlag",844}, + {""}, {""}, {""}, {""}, +#line 1358 "../tests/keys" + {"section_7",1353}, +#line 1264 "../tests/keys" + {"scaleFactorOfStandardDeviationInTheCluster",1259}, + {""}, {""}, {""}, +#line 427 "../tests/keys" + {"deleteLocalDefinition",422}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1137 "../tests/keys" + {"pentagonalResolutionParameterK",1132}, +#line 410 "../tests/keys" + {"dateOfReference",405}, + {""}, +#line 1217 "../tests/keys" + {"referenceOfLengths",1212}, +#line 287 "../tests/keys" + {"ccccIdentifiers",282}, +#line 182 "../tests/keys" + {"SecondLatitude",177}, +#line 1010 "../tests/keys" + {"offsetFreeFormData",1005}, + {""}, +#line 1408 "../tests/keys" + {"startOfRange",1403}, + {""}, +#line 286 "../tests/keys" + {"categoryType",281}, + {""}, {""}, {""}, {""}, +#line 913 "../tests/keys" + {"numberOfCodedValues",908}, +#line 303 "../tests/keys" + {"changingPrecision",298}, + {""}, +#line 1566 "../tests/keys" + {"upperRange",1561}, + {""}, +#line 671 "../tests/keys" + {"latitudeOfSouthernPole",666}, +#line 499 "../tests/keys" + {"fcmonth",494}, +#line 743 "../tests/keys" + {"longitudeLastInDegrees",738}, + {""}, +#line 1028 "../tests/keys" + {"oneThousand",1023}, +#line 166 "../tests/keys" + {"PLPresent",161}, + {""}, {""}, +#line 1261 "../tests/keys" + {"scaleFactorOfSecondSize",1256}, + {""}, +#line 1315 "../tests/keys" + {"secondsOfReference",1310}, + {""}, {""}, +#line 466 "../tests/keys" + {"endOfRange",461}, + {""}, {""}, +#line 30 "../tests/keys" + {"DiInDegrees",25}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 254 "../tests/keys" + {"angleOfRotation",249}, + {""}, {""}, +#line 1136 "../tests/keys" + {"pentagonalResolutionParameterJ",1131}, + {""}, +#line 770 "../tests/keys" + {"longitudesList",765}, + {""}, {""}, {""}, +#line 191 "../tests/keys" + {"TT",186}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1457 "../tests/keys" + {"tableReference",1452}, + {""}, {""}, +#line 942 "../tests/keys" + {"numberOfInts",937}, +#line 313 "../tests/keys" + {"clusterIdentifier",308}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 386 "../tests/keys" + {"correction4Part",381}, +#line 312 "../tests/keys" + {"climatologicalRegime",307}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1417 "../tests/keys" + {"stepForClustering",1412}, + {""}, {""}, +#line 392 "../tests/keys" + {"dataCategory",387}, +#line 1337 "../tests/keys" + {"section4Pointer",1332}, + {""}, {""}, {""}, {""}, {""}, +#line 377 "../tests/keys" + {"corr3Data",372}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 677 "../tests/keys" + {"latitudeOfTangencyPoint",672}, + {""}, {""}, +#line 860 "../tests/keys" + {"molarMass",855}, + {""}, +#line 737 "../tests/keys" + {"local_use",732}, +#line 664 "../tests/keys" + {"latitudeOfIcosahedronPole",659}, + {""}, +#line 442 "../tests/keys" + {"distinctLongitudes",437}, +#line 1599 "../tests/keys" + {"yCoordinateOfOriginOfSectorImage",1594}, + {""}, +#line 675 "../tests/keys" + {"latitudeOfSubSatellitePoint",670}, + {""}, +#line 764 "../tests/keys" + {"longitudeOfTangencyPoint",759}, + {""}, {""}, +#line 241 "../tests/keys" + {"accumulationInterval",236}, +#line 1418 "../tests/keys" + {"stepInHours",1413}, + {""}, {""}, +#line 676 "../tests/keys" + {"latitudeOfSubSatellitePointInDegrees",671}, + {""}, +#line 846 "../tests/keys" + {"minuteOfReference",841}, + {""}, +#line 1177 "../tests/keys" + {"productIdentifier",1172}, + {""}, +#line 1011 "../tests/keys" + {"offsetFromOriginToInnerBound",1006}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 799 "../tests/keys" + {"marsModel",794}, +#line 679 "../tests/keys" + {"latitudeOfThePolePoint",674}, + {""}, +#line 1018 "../tests/keys" + {"offsetSection4",1013}, +#line 256 "../tests/keys" + {"angleOfRotationOfProjection",251}, + {""}, {""}, +#line 1225 "../tests/keys" + {"representationMode",1220}, + {""}, {""}, +#line 957 "../tests/keys" + {"numberOfParametersUsedForClustering",952}, +#line 620 "../tests/keys" + {"isEPS",615}, + {""}, {""}, {""}, {""}, +#line 245 "../tests/keys" + {"additionalFlagPresent",240}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1552 "../tests/keys" + {"unitsBias",1547}, + {""}, {""}, {""}, {""}, +#line 612 "../tests/keys" + {"integerScalingFactorAppliedToDirections",607}, +#line 613 "../tests/keys" + {"integerScalingFactorAppliedToFrequencies",608}, + {""}, {""}, {""}, +#line 972 "../tests/keys" + {"numberOfRemaininChars",967}, + {""}, +#line 497 "../tests/keys" + {"falseEasting",492}, + {""}, +#line 971 "../tests/keys" + {"numberOfRadials",966}, + {""}, {""}, {""}, {""}, +#line 120 "../tests/keys" + {"MS",115}, + {""}, {""}, {""}, +#line 873 "../tests/keys" + {"nameOfFirstFixedSurface",868}, + {""}, +#line 1401 "../tests/keys" + {"spectralMode",1396}, + {""}, +#line 1123 "../tests/keys" + {"parameterCategory",1118}, +#line 658 "../tests/keys" + {"latitudeLongitudeValues",653}, +#line 55 "../tests/keys" + {"FirstLatitude",50}, + {""}, +#line 293 "../tests/keys" + {"centreForLocal",288}, + {""}, +#line 399 "../tests/keys" + {"dataRepresentationType",394}, + {""}, +#line 625 "../tests/keys" + {"is_tigge",620}, +#line 255 "../tests/keys" + {"angleOfRotationInDegrees",250}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1259 "../tests/keys" + {"scaleFactorOfRadiusOfSphericalEarth",1254}, + {""}, +#line 943 "../tests/keys" + {"numberOfIterations",938}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1427 "../tests/keys" + {"stretchingFactor",1422}, + {""}, {""}, +#line 1478 "../tests/keys" + {"tigge_name",1473}, + {""}, {""}, +#line 1562 "../tests/keys" + {"unsignedIntegers",1557}, + {""}, {""}, +#line 1505 "../tests/keys" + {"treatmentOfMissingData",1500}, +#line 451 "../tests/keys" + {"eastLongitudeOfCluster",446}, +#line 1610 "../tests/keys" + {"yearOfReference",1605}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 468 "../tests/keys" + {"endStepInHours",463}, + {""}, {""}, {""}, {""}, +#line 1514 "../tests/keys" + {"two",1509}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 909 "../tests/keys" + {"numberOfChars",904}, + {""}, {""}, {""}, +#line 1428 "../tests/keys" + {"stretchingFactorScaled",1423}, + {""}, {""}, +#line 351 "../tests/keys" + {"constantFieldHalfByte",346}, + {""}, +#line 1357 "../tests/keys" + {"section_6",1352}, + {""}, {""}, +#line 1209 "../tests/keys" + {"rectimeMinute",1204}, + {""}, +#line 1493 "../tests/keys" + {"totalInitialConditions",1488}, + {""}, {""}, {""}, {""}, {""}, +#line 728 "../tests/keys" + {"localMinute",723}, +#line 16 "../tests/keys" + {"BOX",11}, +#line 752 "../tests/keys" + {"longitudeOfLastGridPoint",747}, + {""}, +#line 726 "../tests/keys" + {"localFlagLatestVersion",721}, + {""}, {""}, {""}, +#line 21 "../tests/keys" + {"CDF",16}, +#line 1359 "../tests/keys" + {"section_8",1354}, + {""}, +#line 1356 "../tests/keys" + {"section_5",1351}, + {""}, {""}, +#line 1371 "../tests/keys" + {"significanceOfReferenceTime",1366}, +#line 941 "../tests/keys" + {"numberOfIntegers",936}, + {""}, {""}, +#line 688 "../tests/keys" + {"legBaseDate",683}, +#line 41 "../tests/keys" + {"DyInDegrees",36}, + {""}, +#line 934 "../tests/keys" + {"numberOfForecastsInTube",929}, + {""}, +#line 384 "../tests/keys" + {"correction3Part",379}, + {""}, +#line 376 "../tests/keys" + {"corr2Data",371}, + {""}, {""}, +#line 908 "../tests/keys" + {"numberOfCharacters",903}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1333 "../tests/keys" + {"section3Pointer",1328}, + {""}, {""}, +#line 345 "../tests/keys" + {"conceptsMasterDir",340}, + {""}, +#line 1031 "../tests/keys" + {"operatingMode",1026}, + {""}, {""}, +#line 216 "../tests/keys" + {"WMO",211}, +#line 1360 "../tests/keys" + {"selectStepTemplateInstant",1355}, + {""}, {""}, +#line 1141 "../tests/keys" + {"periodOfTimeIntervals",1136}, +#line 696 "../tests/keys" + {"level",691}, +#line 700 "../tests/keys" + {"levels",695}, +#line 1361 "../tests/keys" + {"selectStepTemplateInterval",1356}, + {""}, +#line 576 "../tests/keys" + {"hideThis",571}, +#line 945 "../tests/keys" + {"numberOfLogicals",940}, + {""}, +#line 460 "../tests/keys" + {"eleven",455}, +#line 699 "../tests/keys" + {"levelist",694}, + {""}, {""}, {""}, +#line 417 "../tests/keys" + {"dayOfReference",412}, + {""}, {""}, {""}, +#line 1288 "../tests/keys" + {"scanningMode",1283}, + {""}, {""}, {""}, {""}, +#line 1344 "../tests/keys" + {"section7Length",1339}, +#line 776 "../tests/keys" + {"ls_labeling",771}, +#line 1292 "../tests/keys" + {"scanningMode7",1287}, +#line 1164 "../tests/keys" + {"primaryBitmap",1159}, +#line 755 "../tests/keys" + {"longitudeOfReferencePoint",750}, + {""}, {""}, {""}, +#line 1483 "../tests/keys" + {"timeIncrementBetweenSuccessiveFields",1478}, + {""}, {""}, {""}, {""}, {""}, +#line 296 "../tests/keys" + {"centuryOfReference",291}, + {""}, {""}, +#line 756 "../tests/keys" + {"longitudeOfReferencePointInDegrees",751}, + {""}, {""}, {""}, +#line 1317 "../tests/keys" + {"section0Length",1312}, + {""}, +#line 811 "../tests/keys" + {"mars_labeling",806}, + {""}, {""}, +#line 736 "../tests/keys" + {"local_padding",731}, + {""}, +#line 1608 "../tests/keys" + {"yearOfCentury",1603}, +#line 1477 "../tests/keys" + {"tiggeSuiteID",1472}, +#line 674 "../tests/keys" + {"latitudeOfStretchingPoleInDegrees",669}, +#line 1575 "../tests/keys" + {"varno",1570}, + {""}, {""}, {""}, +#line 1202 "../tests/keys" + {"rdbtimeMinute",1197}, + {""}, +#line 668 "../tests/keys" + {"latitudeOfReferencePoint",663}, + {""}, {""}, +#line 1336 "../tests/keys" + {"section4Padding",1331}, + {""}, +#line 648 "../tests/keys" + {"laplacianScalingFactor",643}, +#line 931 "../tests/keys" + {"numberOfForecastsInCluster",926}, + {""}, {""}, {""}, {""}, {""}, +#line 1600 "../tests/keys" + {"yCoordinateOfSubSatellitePoint",1595}, + {""}, {""}, +#line 565 "../tests/keys" + {"groupWidth",560}, +#line 323 "../tests/keys" + {"clusterMember9",318}, + {""}, +#line 450 "../tests/keys" + {"earthIsOblate",445}, +#line 269 "../tests/keys" + {"baseDateEPS",264}, + {""}, {""}, +#line 1422 "../tests/keys" + {"stepTypeInternal",1417}, + {""}, +#line 1228 "../tests/keys" + {"reserved",1223}, + {""}, {""}, +#line 1549 "../tests/keys" + {"unitOfTimeIncrement",1544}, + {""}, {""}, {""}, {""}, +#line 402 "../tests/keys" + {"dataSubCategory",397}, +#line 899 "../tests/keys" + {"numberOfBits",894}, +#line 1475 "../tests/keys" + {"tiggeModel",1470}, +#line 678 "../tests/keys" + {"latitudeOfThePoleOfStretching",673}, + {""}, {""}, {""}, +#line 686 "../tests/keys" + {"latitudinalDirectionGridLength",681}, + {""}, {""}, {""}, {""}, {""}, +#line 751 "../tests/keys" + {"longitudeOfIcosahedronPole",746}, + {""}, +#line 436 "../tests/keys" + {"directionScalingFactor",431}, +#line 1521 "../tests/keys" + {"typeOfFirstFixedSurface",1516}, +#line 253 "../tests/keys" + {"angleMultiplier",248}, + {""}, {""}, {""}, +#line 1400 "../tests/keys" + {"spectralDataRepresentationType",1395}, + {""}, {""}, +#line 238 "../tests/keys" + {"_TS",233}, + {""}, +#line 1327 "../tests/keys" + {"section2Present",1322}, + {""}, {""}, +#line 1268 "../tests/keys" + {"scaledFrequencies",1263}, + {""}, {""}, {""}, {""}, +#line 866 "../tests/keys" + {"multiplicationFactorForLatLong",861}, +#line 1574 "../tests/keys" + {"values",1569}, + {""}, {""}, {""}, {""}, {""}, +#line 953 "../tests/keys" + {"numberOfOctetsExtraDescriptors",948}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 327 "../tests/keys" + {"clusteringMethod",322}, +#line 539 "../tests/keys" + {"g2grid",534}, + {""}, +#line 1370 "../tests/keys" + {"short_name",1365}, +#line 364 "../tests/keys" + {"coordinate2Start",359}, + {""}, {""}, {""}, +#line 1260 "../tests/keys" + {"scaleFactorOfSecondFixedSurface",1255}, + {""}, +#line 1546 "../tests/keys" + {"typicalYearOfCentury",1541}, + {""}, {""}, {""}, +#line 1231 "../tests/keys" + {"reservedOctet",1226}, + {""}, +#line 1342 "../tests/keys" + {"section6Length",1337}, + {""}, {""}, {""}, {""}, {""}, +#line 260 "../tests/keys" + {"average",255}, + {""}, {""}, +#line 232 "../tests/keys" + {"YY",227}, +#line 1346 "../tests/keys" + {"section8Length",1341}, +#line 1339 "../tests/keys" + {"section5Length",1334}, + {""}, {""}, +#line 1567 "../tests/keys" + {"upperThreshold",1562}, + {""}, +#line 790 "../tests/keys" + {"marsGrid",785}, +#line 533 "../tests/keys" + {"frequency",528}, + {""}, +#line 382 "../tests/keys" + {"correction2Part",377}, + {""}, +#line 928 "../tests/keys" + {"numberOfEffectiveValues",923}, + {""}, {""}, +#line 1611 "../tests/keys" + {"zero",1606}, + {""}, +#line 950 "../tests/keys" + {"numberOfModels",945}, +#line 375 "../tests/keys" + {"corr1Data",370}, + {""}, {""}, {""}, +#line 1326 "../tests/keys" + {"section2Pointer",1321}, + {""}, {""}, {""}, +#line 1007 "../tests/keys" + {"offsetBeforeData",1002}, + {""}, +#line 1543 "../tests/keys" + {"typicalMinute",1538}, + {""}, {""}, {""}, {""}, {""}, +#line 297 "../tests/keys" + {"centuryOfReferenceTimeOfData",292}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 408 "../tests/keys" + {"dateOfForecastRun",403}, + {""}, {""}, {""}, +#line 320 "../tests/keys" + {"clusterMember6",315}, + {""}, {""}, {""}, +#line 766 "../tests/keys" + {"longitudeOfThePolePoint",761}, + {""}, {""}, +#line 1537 "../tests/keys" + {"typeOfTimeIncrement",1532}, + {""}, +#line 864 "../tests/keys" + {"monthOfReference",859}, +#line 321 "../tests/keys" + {"clusterMember7",316}, +#line 322 "../tests/keys" + {"clusterMember8",317}, + {""}, {""}, {""}, +#line 562 "../tests/keys" + {"groupLengths",557}, + {""}, {""}, {""}, +#line 767 "../tests/keys" + {"longitudeOfThePolePointInDegrees",762}, + {""}, {""}, +#line 835 "../tests/keys" + {"meanSize",830}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1309 "../tests/keys" + {"secondaryBitmaps",1304}, +#line 1330 "../tests/keys" + {"section3Flags",1325}, +#line 1307 "../tests/keys" + {"secondaryBitmap",1302}, + {""}, +#line 452 "../tests/keys" + {"eastLongitudeOfDomainOfTubing",447}, + {""}, +#line 419 "../tests/keys" + {"decimalPrecision",414}, +#line 1311 "../tests/keys" + {"secondaryBitmapsSize",1306}, +#line 1308 "../tests/keys" + {"secondaryBitmapPresent",1303}, +#line 1310 "../tests/keys" + {"secondaryBitmapsCount",1305}, + {""}, {""}, {""}, +#line 670 "../tests/keys" + {"latitudeOfSouthEastCornerOfArea",665}, + {""}, {""}, {""}, {""}, +#line 792 "../tests/keys" + {"marsKeywords",787}, +#line 701 "../tests/keys" + {"levtype",696}, +#line 1250 "../tests/keys" + {"scaleFactorOfDistanceFromEnsembleMean",1245}, + {""}, {""}, +#line 1334 "../tests/keys" + {"section4",1329}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 742 "../tests/keys" + {"longitudeFirstInDegrees",737}, + {""}, {""}, +#line 882 "../tests/keys" + {"northLatitudeOfCluster",877}, + {""}, +#line 153 "../tests/keys" + {"Ni",148}, +#line 1332 "../tests/keys" + {"section3Padding",1327}, +#line 155 "../tests/keys" + {"Nr",150}, + {""}, {""}, +#line 689 "../tests/keys" + {"legBaseTime",684}, + {""}, {""}, +#line 264 "../tests/keys" + {"avg",259}, +#line 681 "../tests/keys" + {"latitudeOfTheSouthernPoleOfProjection",676}, + {""}, {""}, {""}, +#line 183 "../tests/keys" + {"SecondOfModelVersion",178}, + {""}, +#line 570 "../tests/keys" + {"gts_header",565}, +#line 1291 "../tests/keys" + {"scanningMode6",1286}, + {""}, {""}, +#line 352 "../tests/keys" + {"constituentType",347}, +#line 252 "../tests/keys" + {"angleDivisor",247}, +#line 583 "../tests/keys" + {"hourOfReference",578}, +#line 970 "../tests/keys" + {"numberOfRadarSitesUsed",965}, + {""}, {""}, {""}, {""}, {""}, +#line 949 "../tests/keys" + {"numberOfMissingValues",944}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1005 "../tests/keys" + {"offsetBSection6",1000}, +#line 1293 "../tests/keys" + {"scanningMode8",1288}, {""}, #line 1290 "../tests/keys" - {"subLocalDefinitions",1285}, -#line 574 "../tests/keys" - {"keySubtype",569}, - {""}, -#line 783 "../tests/keys" - {"numberOfAnalysis",778}, -#line 269 "../tests/keys" - {"clusterMember10",264}, + {"scanningMode5",1285}, +#line 856 "../tests/keys" + {"modelErrorType",851}, + {""}, {""}, +#line 1014 "../tests/keys" + {"offsetSection0",1009}, {""}, {""}, {""}, {""}, {""}, -#line 886 "../tests/keys" - {"offsetBeforePV",881}, - {""}, {""}, {""}, {""}, -#line 456 "../tests/keys" - {"firstOrderValues",451}, -#line 1151 "../tests/keys" - {"scanningMode5",1146}, +#line 1027 "../tests/keys" + {"oneMillionConstant",1022}, +#line 1195 "../tests/keys" + {"rangeBinSpacing",1190}, + {""}, {""}, +#line 768 "../tests/keys" + {"longitudeOfTheSouthernPoleOfProjection",763}, +#line 1033 "../tests/keys" + {"optimisationTime",1028}, {""}, {""}, {""}, -#line 1289 "../tests/keys" - {"subLocalDefinitionNumber",1284}, -#line 1179 "../tests/keys" - {"section1Flags",1174}, -#line 236 "../tests/keys" - {"bitmap",231}, -#line 1172 "../tests/keys" - {"secondaryMissingValue",1167}, -#line 122 "../tests/keys" - {"Model_Identifier",117}, -#line 909 "../tests/keys" - {"optimisationTime",904}, -#line 1439 "../tests/keys" - {"zero",1434}, +#line 1004 "../tests/keys" + {"offsetBSection5",999}, {""}, -#line 1338 "../tests/keys" - {"totalNumberOfForecastProbabilities",1333}, - {""}, -#line 752 "../tests/keys" - {"monthlyVerificationDate",747}, - {""}, -#line 1130 "../tests/keys" - {"scaledFrequencies",1125}, -#line 87 "../tests/keys" - {"Latin1InDegrees",82}, - {""}, {""}, {""}, {""}, -#line 849 "../tests/keys" - {"numberOfRadarSitesUsed",844}, - {""}, {""}, -#line 1255 "../tests/keys" - {"spectralDataRepresentationType",1250}, -#line 237 "../tests/keys" - {"bitmapPresent",232}, - {""}, -#line 1419 "../tests/keys" - {"wrongPadding",1414}, -#line 230 "../tests/keys" - {"baseDateOfThisLeg",225}, +#line 948 "../tests/keys" + {"numberOfMissingInStatisticalProcess",943}, {""}, {""}, {""}, -#line 493 "../tests/keys" - {"gribTablesVersionNo",488}, -#line 332 "../tests/keys" - {"correction2",327}, - {""}, {""}, -#line 1123 "../tests/keys" - {"scaleFactorOfSecondSize",1118}, - {""}, {""}, -#line 1152 "../tests/keys" - {"scanningMode6",1147}, -#line 1137 "../tests/keys" - {"scaledValueOfFirstWavelength",1132}, -#line 156 "../tests/keys" - {"P2",151}, +#line 1404 "../tests/keys" + {"standardDeviation",1399}, + {""}, {""}, {""}, +#line 1126 "../tests/keys" + {"parameterName",1121}, + {""}, {""}, {""}, {""}, +#line 981 "../tests/keys" + {"numberOfTimeRange",976}, +#line 361 "../tests/keys" + {"coordinate1Start",356}, +#line 385 "../tests/keys" + {"correction4",380}, + {""}, {""}, {""}, {""}, +#line 319 "../tests/keys" + {"clusterMember5",314}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 656 "../tests/keys" - {"longitudeFirstInDegrees",651}, -#line 925 "../tests/keys" - {"packingError",920}, -#line 349 "../tests/keys" - {"dataRepresentationType",344}, +#line 1466 "../tests/keys" + {"thisMarsStream",1461}, +#line 368 "../tests/keys" + {"coordinate4Flag",363}, +#line 1184 "../tests/keys" + {"qualityControl",1179}, +#line 474 "../tests/keys" + {"ensembleSize",469}, + {""}, +#line 922 "../tests/keys" + {"numberOfDataMatrices",917}, + {""}, {""}, {""}, {""}, +#line 221 "../tests/keys" + {"XR",216}, {""}, {""}, -#line 295 "../tests/keys" - {"conceptDir",290}, +#line 237 "../tests/keys" + {"_T",232}, + {""}, {""}, {""}, {""}, +#line 380 "../tests/keys" + {"correction1Part",375}, + {""}, {""}, {""}, {""}, +#line 413 "../tests/keys" + {"datumSize",408}, {""}, -#line 728 "../tests/keys" - {"messageLength",723}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 272 "../tests/keys" - {"clusterMember4",267}, -#line 205 "../tests/keys" - {"_numberOfValues",200}, -#line 1169 "../tests/keys" - {"secondaryBitmaps",1164}, -#line 1167 "../tests/keys" - {"secondaryBitmap",1162}, - {""}, {""}, {""}, {""}, {""}, -#line 1171 "../tests/keys" - {"secondaryBitmapsSize",1166}, -#line 1168 "../tests/keys" - {"secondaryBitmapPresent",1163}, -#line 1170 "../tests/keys" - {"secondaryBitmapsCount",1165}, -#line 1350 "../tests/keys" - {"tsectionNumber5",1345}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 209 "../tests/keys" - {"additionalFlagPresent",204}, - {""}, -#line 1299 "../tests/keys" - {"swapScanningX",1294}, -#line 133 "../tests/keys" - {"NH",128}, - {""}, -#line 914 "../tests/keys" - {"orientationOfTheGrid",909}, -#line 860 "../tests/keys" - {"numberOfTimeRange",855}, -#line 1214 "../tests/keys" - {"section_4",1209}, -#line 464 "../tests/keys" - {"forecastLeadTime",459}, - {""}, {""}, {""}, {""}, {""}, -#line 890 "../tests/keys" - {"offsetICEFieldsUsed",885}, +#line 1386 "../tests/keys" + {"southLatitudeOfCluster",1381}, +#line 271 "../tests/keys" + {"baseTimeEPS",266}, {""}, {""}, {""}, -#line 1230 "../tests/keys" - {"significanceOfReferenceTime",1225}, +#line 1323 "../tests/keys" + {"section1Pointer",1318}, {""}, -#line 830 "../tests/keys" - {"numberOfObservations",825}, -#line 618 "../tests/keys" - {"lengthOfTimeRange",613}, +#line 152 "../tests/keys" + {"Nf",147}, +#line 325 "../tests/keys" + {"clusterSize",320}, {""}, +#line 1447 "../tests/keys" + {"swapScanningX",1442}, + {""}, +#line 1576 "../tests/keys" + {"verificationDate",1571}, +#line 946 "../tests/keys" + {"numberOfMembersInCluster",941}, +#line 657 "../tests/keys" + {"latitudeLastInDegrees",652}, +#line 1463 "../tests/keys" + {"theMessage",1458}, + {""}, {""}, +#line 1211 "../tests/keys" + {"reducedGrid",1206}, + {""}, +#line 298 "../tests/keys" + {"cfName",293}, + {""}, {""}, {""}, {""}, +#line 906 "../tests/keys" + {"numberOfBytesPerInteger",901}, + {""}, {""}, +#line 1572 "../tests/keys" + {"validityDate",1567}, + {""}, +#line 663 "../tests/keys" + {"latitudeOfFirstGridPointInDegrees",658}, +#line 12 "../tests/keys" + {"Adelta",7}, + {""}, {""}, {""}, {""}, {""}, +#line 935 "../tests/keys" + {"numberOfFrequencies",930}, +#line 1444 "../tests/keys" + {"suiteName",1439}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 342 "../tests/keys" + {"conceptsLocalDirAll",337}, + {""}, {""}, {""}, {""}, {""}, +#line 947 "../tests/keys" + {"numberOfMissing",942}, + {""}, {""}, {""}, {""}, {""}, +#line 514 "../tests/keys" + {"flagForIrregularGridCoordinateList",509}, + {""}, {""}, +#line 84 "../tests/keys" + {"LaDInDegrees",79}, + {""}, {""}, {""}, {""}, {""}, +#line 1301 "../tests/keys" + {"secondLatitudeInDegrees",1296}, +#line 1256 "../tests/keys" + {"scaleFactorOfLowerLimit",1251}, + {""}, {""}, {""}, {""}, {""}, +#line 590 "../tests/keys" + {"iDirectionIncrementInDegrees",585}, + {""}, {""}, +#line 951 "../tests/keys" + {"numberOfObservations",946}, + {""}, +#line 1494 "../tests/keys" + {"totalLength",1489}, +#line 461 "../tests/keys" + {"endGridDefinition",456}, +#line 56 "../tests/keys" + {"GDSPresent",51}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1325 "../tests/keys" + {"section2Padding",1320}, + {""}, {""}, +#line 1262 "../tests/keys" + {"scaleFactorOfSecondWavelength",1257}, +#line 615 "../tests/keys" + {"internalVersion",610}, + {""}, +#line 395 "../tests/keys" + {"dataLength",390}, +#line 820 "../tests/keys" + {"matchTimeRepres",815}, + {""}, {""}, {""}, {""}, {""}, +#line 1130 "../tests/keys" + {"parametersVersion",1125}, + {""}, {""}, +#line 826 "../tests/keys" + {"md5GridSection",821}, + {""}, {""}, {""}, {""}, {""}, +#line 1520 "../tests/keys" + {"typeOfEnsembleForecast",1515}, + {""}, {""}, +#line 1486 "../tests/keys" + {"timeRangeIndicator",1481}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 150 "../tests/keys" + {"Nassigned",145}, + {""}, {""}, {""}, {""}, {""}, +#line 904 "../tests/keys" + {"numberOfBytesInLocalDefinition",899}, + {""}, {""}, {""}, {""}, +#line 1523 "../tests/keys" + {"typeOfGrid",1518}, + {""}, +#line 595 "../tests/keys" + {"identificationNumber",590}, + {""}, {""}, +#line 151 "../tests/keys" + {"Nb",146}, +#line 518 "../tests/keys" + {"floatVal",513}, + {""}, {""}, #line 421 "../tests/keys" - {"energyNorm",416}, + {"defaultName",416}, +#line 831 "../tests/keys" + {"md5Section4",826}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 571 "../tests/keys" + {"halfByte",566}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1471 "../tests/keys" + {"thresholdIndicator",1466}, + {""}, {""}, +#line 67 "../tests/keys" + {"GTSstr",62}, + {""}, {""}, {""}, +#line 1423 "../tests/keys" + {"stepUnits",1418}, + {""}, +#line 818 "../tests/keys" + {"matchLandType",813}, + {""}, +#line 1294 "../tests/keys" + {"scanningModeForOneDiamond",1289}, + {""}, {""}, {""}, {""}, +#line 794 "../tests/keys" + {"marsLamModel",789}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 638 "../tests/keys" + {"julianDay",633}, + {""}, {""}, {""}, {""}, +#line 365 "../tests/keys" + {"coordinate3Flag",360}, + {""}, {""}, {""}, {""}, +#line 1495 "../tests/keys" + {"totalNumber",1490}, + {""}, {""}, +#line 745 "../tests/keys" + {"longitudeOfCenterPointInDegrees",740}, + {""}, +#line 933 "../tests/keys" + {"numberOfForecastsInTheCluster",928}, + {""}, {""}, {""}, +#line 1550 "../tests/keys" + {"unitOfTimeRange",1545}, +#line 1128 "../tests/keys" + {"parameterUnits",1123}, + {""}, {""}, {""}, {""}, +#line 428 "../tests/keys" + {"derivedForecast",423}, + {""}, {""}, +#line 837 "../tests/keys" + {"messageLength",832}, + {""}, {""}, +#line 66 "../tests/keys" + {"GTS",61}, + {""}, +#line 870 "../tests/keys" + {"n3",865}, +#line 405 "../tests/keys" + {"dataValues",400}, +#line 1392 "../tests/keys" + {"sp3",1387}, +#line 938 "../tests/keys" + {"numberOfGroups",933}, +#line 1460 "../tests/keys" + {"tablesVersion",1455}, +#line 883 "../tests/keys" + {"northLatitudeOfDomainOfTubing",878}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 757 "../tests/keys" + {"longitudeOfSouthEastCornerOfArea",752}, +#line 263 "../tests/keys" + {"averagingPeriod",258}, + {""}, {""}, {""}, {""}, +#line 457 "../tests/keys" + {"editionNumber",452}, + {""}, {""}, +#line 1012 "../tests/keys" + {"offsetFromReferenceOfFirstTime",1007}, + {""}, {""}, +#line 1398 "../tests/keys" + {"spatialSmoothingOfProduct",1393}, + {""}, {""}, {""}, +#line 990 "../tests/keys" + {"observationDiagnostic",985}, +#line 1246 "../tests/keys" + {"satelliteNumber",1241}, +#line 1350 "../tests/keys" + {"sectionNumber",1345}, +#line 910 "../tests/keys" + {"numberOfClusterHighResolution",905}, + {""}, +#line 932 "../tests/keys" + {"numberOfForecastsInEnsemble",927}, + {""}, {""}, {""}, +#line 1170 "../tests/keys" + {"probabilityType",1165}, + {""}, +#line 1320 "../tests/keys" + {"section1Flags",1315}, +#line 1557 "../tests/keys" + {"unitsOfSecondFixedSurface",1552}, +#line 1171 "../tests/keys" + {"probabilityTypeName",1166}, + {""}, +#line 1591 "../tests/keys" + {"wrongPadding",1586}, + {""}, +#line 418 "../tests/keys" + {"dayOfTheYearDate",413}, +#line 519 "../tests/keys" + {"floatValues",514}, + {""}, {""}, +#line 772 "../tests/keys" + {"lowerLimit",767}, +#line 1127 "../tests/keys" + {"parameterNumber",1122}, + {""}, {""}, {""}, +#line 1462 "../tests/keys" + {"theHindcastMarsStream",1457}, + {""}, +#line 1536 "../tests/keys" + {"typeOfStatisticalProcessing",1531}, + {""}, +#line 630 "../tests/keys" + {"iterationNumber",625}, +#line 698 "../tests/keys" + {"levelType",693}, +#line 1132 "../tests/keys" + {"partitionNumber",1127}, +#line 31 "../tests/keys" + {"DiInMetres",26}, + {""}, +#line 1381 "../tests/keys" + {"sourceOfGridDefinition",1376}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 939 "../tests/keys" + {"numberOfGroupsOfDataValues",934}, + {""}, {""}, +#line 1322 "../tests/keys" + {"section1Padding",1317}, + {""}, +#line 944 "../tests/keys" + {"numberOfLocalDefinitions",939}, + {""}, +#line 270 "../tests/keys" + {"baseDateOfThisLeg",265}, + {""}, {""}, {""}, {""}, +#line 1163 "../tests/keys" + {"pressureUnits",1158}, +#line 896 "../tests/keys" + {"numberIncludedInAverage",891}, + {""}, {""}, +#line 1329 "../tests/keys" + {"section3",1324}, +#line 690 "../tests/keys" + {"legNumber",685}, + {""}, +#line 924 "../tests/keys" + {"numberOfDataSubsets",919}, + {""}, {""}, {""}, {""}, +#line 432 "../tests/keys" + {"dimensionNumber",427}, + {""}, {""}, +#line 333 "../tests/keys" + {"codedValues",328}, +#line 593 "../tests/keys" + {"iScansPositively",588}, +#line 1017 "../tests/keys" + {"offsetSection3",1012}, + {""}, {""}, {""}, +#line 1504 "../tests/keys" + {"totalNumberOfdimensions",1499}, + {""}, {""}, {""}, +#line 564 "../tests/keys" + {"groupSplittingMethodUsed",559}, + {""}, {""}, {""}, {""}, {""}, +#line 614 "../tests/keys" + {"integerValues",609}, +#line 635 "../tests/keys" + {"jIncrement",630}, + {""}, +#line 1387 "../tests/keys" + {"southLatitudeOfDomainOfTubing",1382}, +#line 1573 "../tests/keys" + {"validityTime",1568}, +#line 850 "../tests/keys" + {"missingValue",845}, + {""}, {""}, {""}, +#line 1216 "../tests/keys" + {"referenceForGroupWidths",1211}, + {""}, {""}, {""}, +#line 324 "../tests/keys" + {"clusterNumber",319}, +#line 470 "../tests/keys" + {"energyNorm",465}, + {""}, +#line 694 "../tests/keys" + {"lengthOfTimeRange",689}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 435 "../tests/keys" + {"directionNumber",430}, +#line 1190 "../tests/keys" + {"radiusInMetres",1185}, +#line 430 "../tests/keys" + {"diagnosticNumber",425}, +#line 424 "../tests/keys" + {"defaultTypeOfLevel",419}, +#line 796 "../tests/keys" + {"marsLevel",791}, + {""}, {""}, {""}, +#line 1490 "../tests/keys" + {"topLevel",1485}, + {""}, {""}, +#line 167 "../tests/keys" + {"PUnset",162}, +#line 797 "../tests/keys" + {"marsLevelist",792}, +#line 1221 "../tests/keys" + {"referenceValue",1216}, + {""}, +#line 1465 "../tests/keys" + {"thisMarsClass",1460}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 758 "../tests/keys" + {"longitudeOfSouthernPole",753}, +#line 858 "../tests/keys" + {"modelVersionDate",853}, + {""}, +#line 1484 "../tests/keys" + {"timeOfAnalysis",1479}, +#line 1254 "../tests/keys" + {"scaleFactorOfFirstSize",1249}, +#line 672 "../tests/keys" + {"latitudeOfSouthernPoleInDegrees",667}, + {""}, {""}, +#line 159 "../tests/keys" + {"Ny",154}, +#line 363 "../tests/keys" + {"coordinate2Flag",358}, + {""}, {""}, +#line 383 "../tests/keys" + {"correction3",378}, +#line 1426 "../tests/keys" + {"streamOfAnalysis",1421}, +#line 759 "../tests/keys" + {"longitudeOfSouthernPoleInDegrees",754}, +#line 1502 "../tests/keys" + {"totalNumberOfIterations",1497}, + {""}, {""}, {""}, {""}, {""}, +#line 789 "../tests/keys" + {"marsForecastMonth",784}, + {""}, {""}, {""}, {""}, +#line 618 "../tests/keys" + {"isAccumulation",613}, + {""}, +#line 979 "../tests/keys" + {"numberOfSingularVectorsEvolved",974}, + {""}, {""}, {""}, +#line 407 "../tests/keys" + {"dateOfAnalysis",402}, +#line 1513 "../tests/keys" + {"tubeNumber",1508}, +#line 1496 "../tests/keys" + {"totalNumberOfClusters",1491}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 230 "../tests/keys" + {"YR",225}, +#line 282 "../tests/keys" + {"boustrophedonic",277}, + {""}, {""}, {""}, {""}, {""}, +#line 1365 "../tests/keys" + {"setLocalDefinition",1360}, + {""}, +#line 275 "../tests/keys" + {"bitMapIndicator",270}, +#line 1450 "../tests/keys" + {"systemNumber",1445}, +#line 1569 "../tests/keys" + {"uuidOfHGrid",1564}, + {""}, +#line 142 "../tests/keys" + {"NH",137}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 754 "../tests/keys" + {"longitudeOfNorthWestCornerOfArea",749}, + {""}, {""}, +#line 1368 "../tests/keys" + {"shortName",1363}, + {""}, +#line 1000 "../tests/keys" + {"offsetAfterData",995}, +#line 1335 "../tests/keys" + {"section4Length",1330}, + {""}, +#line 1241 "../tests/keys" + {"roundedMarsLatitude",1236}, + {""}, {""}, +#line 719 "../tests/keys" + {"localDefNumberOne",714}, +#line 1183 "../tests/keys" + {"pvlLocation",1178}, + {""}, {""}, +#line 1138 "../tests/keys" + {"pentagonalResolutionParameterM",1133}, + {""}, {""}, {""}, +#line 713 "../tests/keys" + {"listOfModelIdentifiers",708}, + {""}, {""}, {""}, +#line 1180 "../tests/keys" + {"projectionCenterFlag",1175}, + {""}, +#line 1147 "../tests/keys" + {"physicalMeaningOfVerticalCoordinate",1142}, +#line 1181 "../tests/keys" + {"projectionCentreFlag",1176}, + {""}, {""}, +#line 552 "../tests/keys" + {"gribMasterTablesVersionNumber",547}, +#line 729 "../tests/keys" + {"localMonth",724}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 168 "../tests/keys" + {"PVPresent",163}, + {""}, +#line 940 "../tests/keys" + {"numberOfHorizontalPoints",935}, +#line 1162 "../tests/keys" + {"pressureLevel",1157}, +#line 370 "../tests/keys" + {"coordinate4OfLastGridPoint",365}, +#line 771 "../tests/keys" + {"longitudinalDirectionGridLength",766}, + {""}, +#line 988 "../tests/keys" + {"numberOfVerticalPoints",983}, + {""}, {""}, +#line 441 "../tests/keys" + {"distinctLatitudes",436}, +#line 734 "../tests/keys" + {"localUsePresent",729}, +#line 753 "../tests/keys" + {"longitudeOfLastGridPointInDegrees",748}, + {""}, {""}, {""}, +#line 339 "../tests/keys" + {"computeLaplacianOperator",334}, + {""}, {""}, {""}, {""}, +#line 569 "../tests/keys" + {"gts_ddhh00",564}, +#line 680 "../tests/keys" + {"latitudeOfThePolePointInDegrees",675}, + {""}, +#line 162 "../tests/keys" + {"Original_Parameter_Identifier",157}, + {""}, {""}, +#line 702 "../tests/keys" + {"libraryVersion",697}, +#line 491 "../tests/keys" + {"extraDim",486}, + {""}, +#line 844 "../tests/keys" + {"minuteOfAnalysis",839}, + {""}, +#line 1243 "../tests/keys" + {"roundedMarsLongitude",1238}, +#line 1399 "../tests/keys" + {"spectralDataRepresentationMode",1394}, +#line 631 "../tests/keys" + {"jDirectionIncrement",626}, + {""}, +#line 661 "../tests/keys" + {"latitudeOfCentralPointInClusterDomain",656}, + {""}, {""}, +#line 847 "../tests/keys" + {"minutesAfterDataCutoff",842}, + {""}, {""}, {""}, +#line 362 "../tests/keys" + {"coordinate2End",357}, + {""}, {""}, +#line 119 "../tests/keys" + {"M",114}, +#line 281 "../tests/keys" + {"bottomLevel",276}, +#line 279 "../tests/keys" + {"bitsPerValue",274}, +#line 765 "../tests/keys" + {"longitudeOfThePoleOfStretching",760}, + {""}, +#line 42 "../tests/keys" + {"DyInMetres",37}, + {""}, +#line 488 "../tests/keys" + {"expoffset",483}, +#line 1446 "../tests/keys" + {"swapScanningLon",1441}, + {""}, {""}, +#line 1467 "../tests/keys" + {"thisMarsType",1462}, +#line 987 "../tests/keys" + {"numberOfVerticalGridDescriptors",982}, + {""}, {""}, {""}, +#line 1511 "../tests/keys" + {"tsectionNumber5",1506}, +#line 824 "../tests/keys" + {"maximum",819}, +#line 521 "../tests/keys" + {"forecastMonth",516}, + {""}, #line 8 "../tests/keys" {"************_PRODUCT_***************",3}, {""}, {""}, {""}, -#line 1006 "../tests/keys" - {"pentagonalResolutionParameterK",1001}, - {""}, {""}, -#line 1409 "../tests/keys" - {"waveDomain",1404}, -#line 305 "../tests/keys" - {"coordAveraging0",300}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 867 "../tests/keys" - {"observationDiagnostic",862}, +#line 1442 "../tests/keys" + {"subcentreOfAnalysis",1437}, +#line 773 "../tests/keys" + {"lowerRange",768}, + {""}, +#line 985 "../tests/keys" + {"numberOfValues",980}, +#line 1042 "../tests/keys" + {"originalParameterTableNumber",1037}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 751 "../tests/keys" - {"monthOfReference",746}, - {""}, {""}, {""}, #line 642 "../tests/keys" - {"localDefNumberOne",637}, -#line 459 "../tests/keys" - {"flagForIrregularGridCoordinateList",454}, - {""}, -#line 25 "../tests/keys" - {"DiInMetres",20}, + {"kurt",637}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1154 "../tests/keys" - {"scanningMode8",1149}, -#line 255 "../tests/keys" - {"centuryOfReferenceTimeOfData",250}, - {""}, -#line 326 "../tests/keys" - {"corr1Data",321}, -#line 174 "../tests/keys" - {"TYPE_CF",169}, -#line 573 "../tests/keys" - {"keyMore",568}, - {""}, {""}, {""}, {""}, {""}, -#line 759 "../tests/keys" - {"nameECMF",754}, - {""}, -#line 788 "../tests/keys" - {"numberOfBytesPerInteger",783}, - {""}, -#line 568 "../tests/keys" - {"jIncrement",563}, - {""}, {""}, {""}, -#line 889 "../tests/keys" - {"offsetFromReferenceOfFirstTime",884}, -#line 178 "../tests/keys" - {"TYPE_OF",173}, -#line 180 "../tests/keys" - {"TYPE_PF",175}, - {""}, {""}, {""}, {""}, {""}, -#line 391 "../tests/keys" - {"distanceFromTubeToEnsembleMean",386}, - {""}, {""}, {""}, -#line 238 "../tests/keys" - {"bitmapSectionPresent",233}, - {""}, {""}, {""}, {""}, {""}, -#line 711 "../tests/keys" - {"mask",706}, - {""}, {""}, {""}, {""}, -#line 921 "../tests/keys" - {"originatingCentreOfAnalysis",916}, - {""}, -#line 1212 "../tests/keys" - {"section_2",1207}, - {""}, -#line 643 "../tests/keys" - {"localDefNumberTwo",638}, -#line 1300 "../tests/keys" - {"swapScanningY",1295}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 697 "../tests/keys" + {"levelIndicator",692}, {""}, {""}, -#line 419 "../tests/keys" - {"endStepInHours",414}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 871 "../tests/keys" - {"oceanAtmosphereCoupling",866}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1330 "../tests/keys" - {"timeUnitFlag",1325}, - {""}, {""}, {""}, {""}, -#line 368 "../tests/keys" - {"dayOfTheYearDate",363}, - {""}, {""}, {""}, {""}, -#line 339 "../tests/keys" - {"countOfGroupLengths",334}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 32 "../tests/keys" - {"DxInDegrees",27}, -#line 1207 "../tests/keys" - {"sectionLengthLimitForEnsembles",1202}, - {""}, {""}, {""}, -#line 1275 "../tests/keys" - {"stepType",1270}, -#line 315 "../tests/keys" - {"coordinate2Start",310}, - {""}, {""}, {""}, {""}, -#line 915 "../tests/keys" - {"orientationOfTheGridInDegrees",910}, - {""}, {""}, {""}, {""}, -#line 709 "../tests/keys" - {"marsType",704}, - {""}, -#line 772 "../tests/keys" - {"northWestLongitudeOfVerficationArea",767}, - {""}, -#line 354 "../tests/keys" - {"dataType",349}, -#line 1248 "../tests/keys" - {"spaceUnitFlag",1243}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1381 "../tests/keys" - {"unitOfTimeRange",1376}, - {""}, {""}, -#line 1219 "../tests/keys" - {"selectStepTemplateInstant",1214}, - {""}, {""}, -#line 363 "../tests/keys" - {"datumSize",358}, - {""}, {""}, {""}, -#line 1194 "../tests/keys" - {"section4Length",1189}, -#line 870 "../tests/keys" - {"obstype",865}, - {""}, {""}, {""}, -#line 565 "../tests/keys" - {"jDirectionIncrement",560}, - {""}, {""}, {""}, -#line 284 "../tests/keys" - {"codeType",279}, - {""}, {""}, -#line 723 "../tests/keys" - {"md5Section4",718}, -#line 185 "../tests/keys" - {"Time_Range_One_E4",180}, -#line 984 "../tests/keys" - {"padding_local_35",979}, - {""}, {""}, {""}, -#line 412 "../tests/keys" - {"endGridDefinition",407}, -#line 104 "../tests/keys" - {"Local_Number_Members_Used",99}, - {""}, {""}, {""}, {""}, {""}, -#line 28 "../tests/keys" - {"DjInDegrees",23}, - {""}, {""}, {""}, -#line 366 "../tests/keys" - {"dayOfEndOfOverallTimeInterval",361}, - {""}, {""}, {""}, -#line 181 "../tests/keys" - {"Threshold_Or_Distribution_0_no_1_yes",176}, -#line 290 "../tests/keys" - {"commonBlock",285}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1220 "../tests/keys" - {"selectStepTemplateInterval",1215}, -#line 1189 "../tests/keys" - {"section3Flags",1184}, - {""}, {""}, {""}, -#line 220 "../tests/keys" - {"auxiliary",215}, -#line 1183 "../tests/keys" - {"section2Length",1178}, - {""}, -#line 425 "../tests/keys" - {"ensembleSize",420}, - {""}, {""}, -#line 792 "../tests/keys" - {"numberOfClusterHighResolution",787}, -#line 1164 "../tests/keys" - {"secondOrderOfDifferentWidth",1159}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 183 "../tests/keys" - {"Time_Range_One_E2",178}, - {""}, {""}, {""}, {""}, -#line 1118 "../tests/keys" - {"scaleFactorOfLowerLimit",1113}, -#line 490 "../tests/keys" - {"grib2LocalSectionPresent",485}, - {""}, {""}, -#line 892 "../tests/keys" - {"offsetSection1",887}, - {""}, {""}, -#line 501 "../tests/keys" - {"gridType",496}, -#line 309 "../tests/keys" - {"coordAveragingTims",304}, - {""}, {""}, {""}, -#line 489 "../tests/keys" - {"grib2LocalSectionNumber",484}, - {""}, {""}, {""}, -#line 597 "../tests/keys" - {"latitudeOfNorthWestCornerOfArea",592}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 96 "../tests/keys" - {"Local_Number_Members_Missing",91}, - {""}, {""}, {""}, {""}, -#line 149 "../tests/keys" - {"Nx",144}, -#line 60 "../tests/keys" - {"Hour_E4",55}, - {""}, -#line 602 "../tests/keys" - {"latitudeOfStretchingPoleInDegrees",597}, - {""}, -#line 1288 "../tests/keys" - {"subLocalDefinitionLength",1283}, - {""}, {""}, {""}, -#line 100 "../tests/keys" - {"Local_Number_Members_Possible",95}, - {""}, {""}, {""}, {""}, -#line 721 "../tests/keys" - {"md5Section2",716}, - {""}, -#line 359 "../tests/keys" - {"dateOfIceFieldUsed",354}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 279 "../tests/keys" - {"clusterSize",274}, - {""}, {""}, -#line 1121 "../tests/keys" - {"scaleFactorOfRadiusOfSphericalEarth",1116}, - {""}, -#line 292 "../tests/keys" - {"componentIndex",287}, - {""}, -#line 635 "../tests/keys" - {"listOfContributingSpectralBands",630}, - {""}, -#line 771 "../tests/keys" - {"northWestLongitudeOfLPOArea",766}, -#line 136 "../tests/keys" - {"NL",131}, -#line 742 "../tests/keys" - {"missingValueManagement",737}, - {""}, {""}, {""}, -#line 1155 "../tests/keys" - {"scanningModeForOneDiamond",1150}, -#line 43 "../tests/keys" - {"Ensemble_Identifier",38}, +#line 830 "../tests/keys" + {"md5Section3",825}, {""}, #line 20 "../tests/keys" - {"Date_E3",15}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 58 "../tests/keys" - {"Hour_E2",53}, + {"CCCC",15}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 6 "../tests/keys" - {"************_ENSEMBLE_**************",1}, -#line 36 "../tests/keys" - {"DyInMetres",31}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 631 "../tests/keys" - {"listMembersUsed",626}, - {""}, {""}, {""}, {""}, {""}, -#line 252 "../tests/keys" - {"centreForTable2",247}, - {""}, {""}, {""}, {""}, -#line 1345 "../tests/keys" - {"trueLengthOfLastGroup",1340}, - {""}, -#line 1317 "../tests/keys" - {"tiggeLocalVersion",1312}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 233 "../tests/keys" - {"basicAngleOfTheInitialProductionDomain",228}, -#line 1187 "../tests/keys" - {"section2Used",1182}, - {""}, -#line 328 "../tests/keys" - {"corr3Data",323}, - {""}, {""}, -#line 365 "../tests/keys" - {"dayOfAnalysis",360}, - {""}, {""}, {""}, {""}, {""}, -#line 1005 "../tests/keys" - {"pentagonalResolutionParameterJ",1000}, - {""}, {""}, -#line 163 "../tests/keys" - {"Product_Identifier",158}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 682 "../tests/keys" - {"lowerLimit",677}, - {""}, -#line 145 "../tests/keys" - {"Nj",140}, - {""}, {""}, {""}, {""}, {""}, -#line 1265 "../tests/keys" - {"startStepInHours",1260}, -#line 312 "../tests/keys" - {"coordinate1Start",307}, - {""}, -#line 1021 "../tests/keys" - {"postAuxiliary",1016}, - {""}, -#line 1086 "../tests/keys" - {"referenceValueError",1081}, - {""}, {""}, -#line 1316 "../tests/keys" - {"tiggeLAMName",1311}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1178 "../tests/keys" - {"section1",1173}, - {""}, {""}, {""}, {""}, -#line 1112 "../tests/keys" - {"scaleFactorOfDistanceFromEnsembleMean",1107}, - {""}, -#line 552 "../tests/keys" - {"interpretationOfNumberOfPoints",547}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1251 "../tests/keys" - {"spare2",1246}, - {""}, {""}, {""}, {""}, -#line 786 "../tests/keys" - {"numberOfBytesInLocalDefinition",781}, - {""}, {""}, {""}, {""}, {""}, -#line 485 "../tests/keys" - {"getNumberOfValues",480}, - {""}, {""}, -#line 396 "../tests/keys" - {"dummy1",391}, -#line 330 "../tests/keys" - {"correction1",325}, - {""}, {""}, {""}, {""}, -#line 1331 "../tests/keys" - {"topLevel",1326}, -#line 714 "../tests/keys" - {"masterTablesVersionNumber",709}, -#line 852 "../tests/keys" - {"numberOfRepresentativeMember",847}, -#line 155 "../tests/keys" - {"P1",150}, - {""}, {""}, {""}, {""}, -#line 883 "../tests/keys" - {"offsetBeforeBitmap",878}, - {""}, -#line 1254 "../tests/keys" - {"spectralDataRepresentationMode",1249}, - {""}, -#line 27 "../tests/keys" - {"DjGiven",22}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 588 "../tests/keys" - {"latitudeLastInDegrees",583}, - {""}, {""}, -#line 625 "../tests/keys" - {"levtype",620}, - {""}, {""}, {""}, -#line 1385 "../tests/keys" - {"unitsECMF",1380}, - {""}, {""}, {""}, {""}, {""}, -#line 1180 "../tests/keys" - {"section1Length",1175}, - {""}, {""}, {""}, {""}, -#line 477 "../tests/keys" - {"frequency",472}, - {""}, -#line 89 "../tests/keys" - {"Latin2InDegrees",84}, - {""}, {""}, {""}, -#line 727 "../tests/keys" - {"meaningOfVerticalCoordinate",722}, -#line 362 "../tests/keys" - {"dateSSTFieldUsed",357}, -#line 685 "../tests/keys" - {"mAngleMultiplier",680}, - {""}, -#line 1097 "../tests/keys" - {"resolutionAndComponentFlags",1092}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 761 "../tests/keys" - {"nameOfSecondFixedSurface",756}, - {""}, {""}, {""}, {""}, -#line 348 "../tests/keys" - {"dataRepresentationTemplateNumber",343}, -#line 1406 "../tests/keys" - {"versionNumberOfGribLocalTables",1401}, - {""}, {""}, {""}, {""}, {""}, -#line 1124 "../tests/keys" - {"scaleFactorOfSecondWavelength",1119}, -#line 894 "../tests/keys" - {"offsetSection3",889}, - {""}, {""}, -#line 1363 "../tests/keys" - {"typeOfHorizontalLine",1358}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 514 "../tests/keys" - {"heightPressureEtcOfLevels",509}, - {""}, -#line 666 "../tests/keys" - {"longitudeOfLastGridPointInDegrees",661}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 1122 "../tests/keys" - {"scaleFactorOfSecondFixedSurface",1117}, - {""}, {""}, {""}, {""}, -#line 148 "../tests/keys" - {"Number_Combination_Ensembles_1_none",143}, - {""}, -#line 1208 "../tests/keys" - {"sectionLengthLimitForProbability",1203}, - {""}, {""}, {""}, {""}, -#line 1035 "../tests/keys" - {"primaryMissingValue",1030}, - {""}, {""}, {""}, {""}, {""}, -#line 231 "../tests/keys" - {"baseTimeEPS",226}, - {""}, {""}, -#line 893 "../tests/keys" - {"offsetSection2",888}, - {""}, {""}, -#line 1096 "../tests/keys" - {"resolutionAndComponentFlag",1091}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 538 "../tests/keys" - {"ijDirectionIncrementGiven",533}, - {""}, -#line 1437 "../tests/keys" - {"yearOfEndOfOverallTimeInterval",1432}, -#line 1417 "../tests/keys" - {"widthOfSPD",1412}, -#line 1128 "../tests/keys" - {"scaleValuesBy",1123}, - {""}, {""}, -#line 527 "../tests/keys" - {"iDirectionIncrementGiven",522}, - {""}, {""}, {""}, {""}, {""}, -#line 595 "../tests/keys" - {"latitudeOfLastGridPoint",590}, - {""}, {""}, -#line 817 "../tests/keys" - {"numberOfFrequencies",812}, - {""}, {""}, -#line 600 "../tests/keys" - {"latitudeOfSouthernPoleInDegrees",595}, - {""}, -#line 42 "../tests/keys" - {"Ensemble_Combination_Number",37}, - {""}, {""}, -#line 630 "../tests/keys" - {"listMembersMissing4",625}, -#line 593 "../tests/keys" - {"latitudeOfFirstGridPointInDegrees",588}, - {""}, -#line 226 "../tests/keys" - {"backgroundGeneratingProcessIdentifier",221}, -#line 596 "../tests/keys" - {"latitudeOfLastGridPointInDegrees",591}, - {""}, {""}, {""}, {""}, -#line 528 "../tests/keys" - {"iDirectionIncrementInDegrees",523}, - {""}, -#line 1211 "../tests/keys" - {"section_1",1206}, - {""}, {""}, -#line 1103 "../tests/keys" - {"resolutionAndComponentFlags7",1098}, - {""}, {""}, -#line 523 "../tests/keys" - {"hoursAfterDataCutoff",518}, - {""}, {""}, {""}, {""}, -#line 1367 "../tests/keys" - {"typeOfOriginalFieldValues",1362}, - {""}, {""}, {""}, -#line 582 "../tests/keys" - {"laplacianScalingFactorUnset",577}, - {""}, {""}, {""}, {""}, {""}, -#line 979 "../tests/keys" - {"padding_loc9_1",974}, - {""}, -#line 848 "../tests/keys" - {"numberOfPressureLevelsUsedForClustering",843}, -#line 1411 "../tests/keys" - {"westLongitudeOfCluster",1406}, -#line 319 "../tests/keys" - {"coordinate4Flag",314}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 177 "../tests/keys" - {"TYPE_FX",172}, - {""}, -#line 1221 "../tests/keys" - {"sensitiveAreaDomain",1216}, - {""}, -#line 1055 "../tests/keys" - {"quantile",1050}, -#line 1102 "../tests/keys" - {"resolutionAndComponentFlags6",1097}, -#line 126 "../tests/keys" - {"N2",121}, -#line 628 "../tests/keys" - {"listMembersMissing2",623}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1139 "../tests/keys" - {"scaledValueOfMajorAxisOfOblateSpheroidEarth",1134}, -#line 93 "../tests/keys" - {"Lo2",88}, - {""}, -#line 77 "../tests/keys" - {"La2",72}, - {""}, {""}, {""}, -#line 110 "../tests/keys" - {"Lor2",105}, - {""}, -#line 83 "../tests/keys" - {"Lar2",78}, - {""}, -#line 521 "../tests/keys" - {"hourOfEndOfOverallTimeInterval",516}, - {""}, {""}, {""}, {""}, {""}, -#line 982 "../tests/keys" - {"padding_local1_1",977}, -#line 983 "../tests/keys" - {"padding_local1_31",978}, -#line 544 "../tests/keys" - {"indicatorOfUnitOfTimeRange",539}, -#line 803 "../tests/keys" - {"numberOfDataBinsAlongRadials",798}, - {""}, -#line 1225 "../tests/keys" - {"shapeOfTheEarth",1220}, - {""}, {""}, {""}, {""}, {""}, -#line 314 "../tests/keys" - {"coordinate2Flag",309}, - {""}, -#line 1238 "../tests/keys" - {"skewness",1233}, - {""}, {""}, -#line 518 "../tests/keys" - {"horizontalDimensionProcessed",513}, - {""}, -#line 48 "../tests/keys" - {"Extra_Data_FreeFormat_0_none",43}, -#line 770 "../tests/keys" - {"northWestLatitudeOfVerficationArea",765}, - {""}, -#line 313 "../tests/keys" - {"coordinate2End",308}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 1104 "../tests/keys" - {"resolutionAndComponentFlags8",1099}, -#line 787 "../tests/keys" - {"numberOfBytesOfFreeFormatData",782}, - {""}, {""}, -#line 842 "../tests/keys" - {"numberOfPointsAlongSecondAxis",837}, - {""}, {""}, {""}, -#line 298 "../tests/keys" - {"conceptsMasterDir",293}, - {""}, {""}, -#line 843 "../tests/keys" - {"numberOfPointsAlongTheXAxis",838}, - {""}, {""}, {""}, {""}, -#line 835 "../tests/keys" - {"numberOfPackedValues",830}, -#line 1243 "../tests/keys" - {"southEastLongitudeOfVerficationArea",1238}, - {""}, {""}, -#line 1116 "../tests/keys" - {"scaleFactorOfFirstSize",1111}, - {""}, -#line 1166 "../tests/keys" - {"secondaryBitMap",1161}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 361 "../tests/keys" - {"dateOfSSTFieldUsed",356}, - {""}, {""}, {""}, -#line 978 "../tests/keys" - {"padding_loc7_1",973}, - {""}, -#line 1395 "../tests/keys" - {"updateSequenceNumber",1390}, - {""}, {""}, {""}, {""}, {""}, -#line 263 "../tests/keys" - {"classOfAnalysis",258}, -#line 1298 "../tests/keys" - {"swapScanningLon",1293}, - {""}, {""}, {""}, {""}, -#line 976 "../tests/keys" - {"padding_loc5_1",971}, - {""}, -#line 208 "../tests/keys" - {"addExtraLocalSection",203}, - {""}, {""}, -#line 234 "../tests/keys" - {"binaryScaleFactor",229}, - {""}, {""}, -#line 321 "../tests/keys" - {"coordinate4OfLastGridPoint",316}, -#line 235 "../tests/keys" - {"bitMapIndicator",230}, - {""}, {""}, {""}, {""}, -#line 1007 "../tests/keys" - {"pentagonalResolutionParameterM",1002}, - {""}, -#line 397 "../tests/keys" - {"dummy2",392}, -#line 844 "../tests/keys" - {"numberOfPointsAlongTheYAxis",839}, -#line 1111 "../tests/keys" - {"scaleFactorOfCentralWaveNumber",1106}, - {""}, -#line 977 "../tests/keys" - {"padding_loc6_1",972}, - {""}, -#line 777 "../tests/keys" - {"numberInHorizontalCoordinates",772}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 819 "../tests/keys" - {"numberOfHorizontalPoints",814}, - {""}, -#line 591 "../tests/keys" - {"latitudeOfCentralPointInClusterDomain",586}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1115 "../tests/keys" - {"scaleFactorOfFirstFixedSurface",1110}, - {""}, {""}, -#line 1412 "../tests/keys" - {"westLongitudeOfDomainOfTubing",1407}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1372 "../tests/keys" - {"typeOfSecondFixedSurface",1367}, -#line 780 "../tests/keys" - {"numberInTheGridCoordinateList",775}, - {""}, -#line 720 "../tests/keys" - {"md5Section1",715}, -#line 1190 "../tests/keys" - {"section3Length",1185}, - {""}, {""}, {""}, -#line 223 "../tests/keys" - {"averaging2Flag",218}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 184 "../tests/keys" - {"Time_Range_One_E3",179}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 33 "../tests/keys" - {"DxInMetres",28}, - {""}, {""}, {""}, -#line 232 "../tests/keys" - {"baseTimeOfThisLeg",227}, - {""}, {""}, {""}, {""}, -#line 1039 "../tests/keys" - {"probabilityType",1034}, - {""}, {""}, {""}, -#line 1040 "../tests/keys" - {"probabilityTypeName",1035}, - {""}, {""}, -#line 285 "../tests/keys" - {"codedNumberOfFirstOrderPackedValues",280}, - {""}, {""}, {""}, -#line 1297 "../tests/keys" - {"swapScanningLat",1292}, - {""}, {""}, {""}, -#line 802 "../tests/keys" - {"numberOfCoordinatesValues",797}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 450 "../tests/keys" - {"firstDimensionCoordinateValueDefinition",445}, -#line 1418 "../tests/keys" - {"widthOfWidths",1413}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1113 "../tests/keys" - {"scaleFactorOfEarthMajorAxis",1108}, - {""}, {""}, -#line 1287 "../tests/keys" - {"subLocalDefinition2",1282}, -#line 1242 "../tests/keys" - {"southEastLongitudeOfLPOArea",1237}, - {""}, {""}, {""}, -#line 1414 "../tests/keys" - {"westernLongitudeOfDomain",1409}, - {""}, {""}, {""}, {""}, -#line 161 "../tests/keys" - {"P_TACC",156}, - {""}, {""}, {""}, {""}, -#line 1114 "../tests/keys" - {"scaleFactorOfEarthMinorAxis",1109}, - {""}, {""}, {""}, -#line 29 "../tests/keys" - {"DjInMetres",24}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1163 "../tests/keys" - {"secondOfEndOfOverallTimeInterval",1158}, - {""}, {""}, {""}, {""}, {""}, -#line 59 "../tests/keys" - {"Hour_E3",54}, - {""}, {""}, {""}, -#line 1127 "../tests/keys" - {"scaleFactorOfUpperLimit",1122}, - {""}, -#line 766 "../tests/keys" - {"normAtInitialTime",761}, - {""}, {""}, {""}, {""}, {""}, -#line 1413 "../tests/keys" - {"westernLongitudeOfClusterDomain",1408}, -#line 324 "../tests/keys" - {"coordinateIndexNumber",319}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 516 "../tests/keys" - {"horizontalCoordinateDefinition",511}, - {""}, {""}, {""}, -#line 1364 "../tests/keys" - {"typeOfIntervalForFirstAndSecondSize",1359}, -#line 935 "../tests/keys" - {"padding_grid90_1",930}, - {""}, -#line 736 "../tests/keys" - {"minuteOfEndOfOverallTimeInterval",731}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 517 "../tests/keys" - {"horizontalCoordinateSupplement",512}, - {""}, {""}, {""}, {""}, -#line 311 "../tests/keys" - {"coordinate1Flag",306}, - {""}, -#line 1415 "../tests/keys" - {"widthOfFirstOrderValues",1410}, - {""}, -#line 86 "../tests/keys" - {"Latin1",81}, - {""}, {""}, -#line 1387 "../tests/keys" - {"unitsOfFirstFixedSurface",1382}, - {""}, -#line 980 "../tests/keys" - {"padding_loc9_2",975}, -#line 310 "../tests/keys" - {"coordinate1End",305}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 460 "../tests/keys" - {"flagForNormalOrStaggeredGrid",455}, - {""}, {""}, {""}, {""}, -#line 864 "../tests/keys" - {"numberOfVerticalCoordinateValues",859}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 928 "../tests/keys" - {"padding_grid0_1",923}, - {""}, {""}, {""}, -#line 1328 "../tests/keys" - {"timeRangeIndicator",1323}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 868 "../tests/keys" - {"observationGeneratingProcessIdentifier",863}, - {""}, {""}, {""}, {""}, -#line 757 "../tests/keys" - {"n3",752}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 79 "../tests/keys" - {"LaDInDegrees",74}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 796 "../tests/keys" - {"numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction",791}, -#line 797 "../tests/keys" - {"numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction",792}, -#line 1083 "../tests/keys" - {"referenceReflectivityForEchoTop",1078}, - {""}, {""}, {""}, -#line 650 "../tests/keys" - {"localTablesVersion",645}, - {""}, {""}, {""}, -#line 111 "../tests/keys" - {"Lor2InDegrees",106}, - {""}, -#line 84 "../tests/keys" - {"Lar2InDegrees",79}, -#line 1371 "../tests/keys" - {"typeOfSSTFieldUsed",1366}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1024 "../tests/keys" - {"preBitmapValues",1019}, -#line 651 "../tests/keys" - {"localTablesVersionNumber",646}, - {""}, {""}, {""}, {""}, -#line 435 "../tests/keys" - {"experimentVersionNumber",430}, -#line 211 "../tests/keys" - {"alternativeRowScanning",206}, - {""}, {""}, {""}, {""}, -#line 933 "../tests/keys" - {"padding_grid50_1",928}, - {""}, {""}, {""}, -#line 179 "../tests/keys" - {"TYPE_OR",174}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 302 "../tests/keys" - {"constantAntennaElevationAngle",297}, -#line 1188 "../tests/keys" - {"section3",1183}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 749 "../tests/keys" - {"monthOfAnalysis",744}, -#line 222 "../tests/keys" - {"averaging1Flag",217}, - {""}, {""}, {""}, {""}, {""}, -#line 975 "../tests/keys" - {"padding_loc50_1",970}, -#line 175 "../tests/keys" - {"TYPE_FC",170}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 436 "../tests/keys" - {"experimentVersionNumberOfAnalysis",431}, - {""}, {""}, -#line 334 "../tests/keys" - {"correction3",329}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 1308 "../tests/keys" - {"thisExperimentVersionNumber",1303}, - {""}, {""}, {""}, {""}, {""}, -#line 934 "../tests/keys" - {"padding_grid5_1",929}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 130 "../tests/keys" - {"NC2",125}, - {""}, {""}, {""}, {""}, {""}, #line 610 "../tests/keys" - {"latitudeWhereDxAndDyAreSpecifiedInDegrees",605}, -#line 268 "../tests/keys" - {"clusterMember1",263}, - {""}, -#line 1286 "../tests/keys" - {"subLocalDefinition1",1281}, - {""}, -#line 609 "../tests/keys" - {"latitudeWhereDxAndDyAreSpecified",604}, - {""}, {""}, -#line 541 "../tests/keys" - {"indicatorOfTypeOfLevel",536}, - {""}, -#line 839 "../tests/keys" - {"numberOfPointsAlongAMeridian",834}, - {""}, {""}, -#line 99 "../tests/keys" - {"Local_Number_Members_Missing_E4",94}, - {""}, {""}, -#line 132 "../tests/keys" - {"NG",127}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1117 "../tests/keys" - {"scaleFactorOfFirstWavelength",1112}, + {"integerPointValues",605}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 125 "../tests/keys" - {"N1",120}, +#line 1524 "../tests/keys" + {"typeOfHorizontalLine",1519}, +#line 360 "../tests/keys" + {"coordinate1Flag",355}, +#line 669 "../tests/keys" + {"latitudeOfReferencePointInDegrees",664}, +#line 643 "../tests/keys" + {"kurtosis",638}, {""}, -#line 478 "../tests/keys" - {"frequencyNumber",473}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 91 "../tests/keys" - {"Lo1",86}, - {""}, -#line 75 "../tests/keys" - {"La1",70}, - {""}, {""}, {""}, -#line 108 "../tests/keys" - {"Lor1",103}, - {""}, -#line 81 "../tests/keys" - {"Lar1",76}, - {""}, {""}, -#line 97 "../tests/keys" - {"Local_Number_Members_Missing_E2",92}, -#line 569 "../tests/keys" - {"jPointsAreConsecutive",564}, - {""}, {""}, {""}, {""}, {""}, -#line 1429 "../tests/keys" - {"yDirectionGridLength",1424}, - {""}, {""}, {""}, -#line 785 "../tests/keys" - {"numberOfBitsContainingEachPackedValue",780}, - {""}, -#line 1398 "../tests/keys" - {"upperThresholdValue",1393}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 176 "../tests/keys" - {"TYPE_FF",171}, -#line 840 "../tests/keys" - {"numberOfPointsAlongAParallel",835}, - {""}, {""}, {""}, {""}, {""}, -#line 170 "../tests/keys" - {"TIDE",165}, - {""}, {""}, {""}, {""}, -#line 38 "../tests/keys" - {"ECMWF_s",33}, - {""}, -#line 1106 "../tests/keys" - {"roundedMarsLevelist",1101}, - {""}, {""}, {""}, -#line 103 "../tests/keys" - {"Local_Number_Members_Possible_E4",98}, - {""}, {""}, {""}, {""}, -#line 629 "../tests/keys" - {"listMembersMissing3",624}, -#line 303 "../tests/keys" - {"constituentType",298}, - {""}, {""}, -#line 1094 "../tests/keys" - {"reservedNeedNotBePresent",1089}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 739 "../tests/keys" - {"minutesAfterReferenceTimeOfDataCutoff",734}, - {""}, {""}, -#line 1213 "../tests/keys" - {"section_3",1208}, - {""}, {""}, {""}, {""}, -#line 1241 "../tests/keys" - {"southEastLatitudeOfVerficationArea",1236}, -#line 117 "../tests/keys" - {"Missing_Model_LBC",112}, - {""}, {""}, {""}, {""}, {""}, -#line 316 "../tests/keys" - {"coordinate3Flag",311}, - {""}, {""}, {""}, -#line 88 "../tests/keys" - {"Latin2",83}, - {""}, -#line 1354 "../tests/keys" - {"twoOrdersOfSPD",1349}, - {""}, -#line 152 "../tests/keys" - {"Original_Parameter_Iden_CodeTable2",147}, -#line 101 "../tests/keys" - {"Local_Number_Members_Possible_E2",96}, - {""}, {""}, {""}, -#line 634 "../tests/keys" - {"listMembersUsed4",629}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 109 "../tests/keys" - {"Lor1InDegrees",104}, - {""}, -#line 82 "../tests/keys" - {"Lar1InDegrees",77}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 854 "../tests/keys" - {"numberOfRows",849}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 853 "../tests/keys" - {"numberOfReservedBytes",848}, - {""}, {""}, -#line 340 "../tests/keys" - {"countOfICEFieldsUsed",335}, - {""}, -#line 507 "../tests/keys" - {"gts_TTAAii",502}, - {""}, {""}, {""}, -#line 1365 "../tests/keys" - {"typeOfIntervalForFirstAndSecondWavelength",1360}, - {""}, {""}, {""}, -#line 632 "../tests/keys" - {"listMembersUsed2",627}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 151 "../tests/keys" - {"Original_CodeTable_2_Version_Number",146}, - {""}, {""}, {""}, {""}, -#line 320 "../tests/keys" - {"coordinate4OfFirstGridPoint",315}, -#line 199 "../tests/keys" - {"XpInGridLengths",194}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1015 "../tests/keys" - {"physicalFlag2",1010}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1416 "../tests/keys" - {"widthOfLengths",1411}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 779 "../tests/keys" - {"numberInTheAuxiliaryArray",774}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 414 "../tests/keys" - {"endOfHeadersMaker",409}, - {""}, {""}, {""}, -#line 62 "../tests/keys" - {"IDSAT",57}, - {""}, -#line 1226 "../tests/keys" - {"shapeOfVerificationArea",1221}, - {""}, {""}, {""}, {""}, {""}, -#line 318 "../tests/keys" - {"coordinate3OfLastGridPoint",313}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 202 "../tests/keys" - {"YpInGridLengths",197}, - {""}, {""}, {""}, -#line 479 "../tests/keys" - {"frequencyScalingFactor",474}, -#line 271 "../tests/keys" - {"clusterMember3",266}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 1249 "../tests/keys" - {"spacingOfBinsAlongRadials",1244}, - {""}, {""}, -#line 967 "../tests/keys" - {"padding_loc29_2",962}, - {""}, {""}, {""}, {""}, {""}, -#line 566 "../tests/keys" - {"jDirectionIncrementGiven",561}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 958 "../tests/keys" - {"padding_loc244_2",953}, - {""}, {""}, {""}, {""}, {""}, -#line 1101 "../tests/keys" - {"resolutionAndComponentFlags4",1096}, - {""}, -#line 46 "../tests/keys" - {"Ensemble_Identifier_E4",41}, -#line 722 "../tests/keys" - {"md5Section3",717}, - {""}, {""}, -#line 270 "../tests/keys" - {"clusterMember2",265}, - {""}, -#line 1222 "../tests/keys" - {"setBitsPerValue",1217}, - {""}, {""}, -#line 753 "../tests/keys" - {"multiplicationFactorForLatLong",748}, - {""}, -#line 567 "../tests/keys" - {"jDirectionIncrementInDegrees",562}, -#line 961 "../tests/keys" - {"padding_loc245_2",956}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1276 "../tests/keys" - {"stepTypeInternal",1271}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 769 "../tests/keys" - {"northWestLatitudeOfLPOArea",764}, - {""}, {""}, {""}, {""}, {""}, -#line 683 "../tests/keys" - {"lowerThreshold",678}, -#line 116 "../tests/keys" - {"Minute_E4",111}, - {""}, {""}, -#line 458 "../tests/keys" - {"flagForAnyFurtherInformation",453}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1099 "../tests/keys" - {"resolutionAndComponentFlags2",1094}, - {""}, -#line 44 "../tests/keys" - {"Ensemble_Identifier_E2",39}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 207 "../tests/keys" - {"accuracyMultipliedByFactor",202}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 991 "../tests/keys" - {"padding_sec4_1",986}, - {""}, -#line 1150 "../tests/keys" - {"scanningMode4",1145}, - {""}, {""}, {""}, {""}, {""}, -#line 964 "../tests/keys" - {"padding_loc27_2",959}, - {""}, {""}, {""}, {""}, {""}, -#line 140 "../tests/keys" - {"NV",135}, - {""}, {""}, {""}, {""}, {""}, -#line 389 "../tests/keys" - {"disableGrib1LocalSection",384}, - {""}, {""}, {""}, -#line 94 "../tests/keys" - {"LoV",89}, - {""}, {""}, {""}, {""}, {""}, -#line 212 "../tests/keys" - {"altitudeOfTheCameraFromTheEarthSCenterMeasuredInUnitsOfTheEarth",207}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 37 "../tests/keys" - {"ECMWF",32}, - {""}, {""}, -#line 987 "../tests/keys" - {"padding_sec2_1",982}, -#line 873 "../tests/keys" - {"octetAtWichPackedDataBegins",868}, - {""}, {""}, {""}, {""}, {""}, -#line 114 "../tests/keys" - {"Minute_E2",109}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 1430 "../tests/keys" - {"yDirectionGridLengthInMetres",1425}, - {""}, {""}, -#line 1405 "../tests/keys" - {"verifyingMonth",1400}, - {""}, {""}, {""}, -#line 1349 "../tests/keys" - {"tsectionNumber4",1344}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 969 "../tests/keys" - {"padding_loc2_1",964}, - {""}, {""}, -#line 562 "../tests/keys" - {"isectionNumber4",557}, - {""}, {""}, {""}, -#line 1054 "../tests/keys" - {"qualityControlIndicator",1049}, -#line 994 "../tests/keys" - {"paramIdECMF",989}, - {""}, {""}, -#line 950 "../tests/keys" - {"padding_loc191_2",945}, - {""}, {""}, -#line 182 "../tests/keys" - {"Threshold_Or_Distribution_Units",177}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 129 "../tests/keys" - {"NC1",124}, - {""}, {""}, {""}, -#line 1394 "../tests/keys" - {"unusedBitsInBitmap",1389}, - {""}, {""}, {""}, {""}, -#line 750 "../tests/keys" - {"monthOfEndOfOverallTimeInterval",745}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1431 "../tests/keys" - {"yDirectionGridLengthInMillimetres",1426}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 1023 "../tests/keys" - {"powerOfTenUsedToScaleClimateWeight",1018}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 953 "../tests/keys" - {"padding_loc19_2",948}, - {""}, -#line 1173 "../tests/keys" - {"secondsOfAnalysis",1168}, - {""}, {""}, {""}, {""}, -#line 1422 "../tests/keys" - {"xDirectionGridLength",1417}, - {""}, -#line 253 "../tests/keys" - {"centuryOfAnalysis",248}, - {""}, {""}, {""}, -#line 957 "../tests/keys" - {"padding_loc244_1",952}, - {""}, {""}, {""}, {""}, {""}, -#line 296 "../tests/keys" - {"conceptsLocalDirAll",291}, - {""}, {""}, {""}, {""}, -#line 1028 "../tests/keys" - {"precisionOfTheUnpackedSubset",1023}, - {""}, {""}, -#line 930 "../tests/keys" - {"padding_grid1_2",925}, -#line 461 "../tests/keys" - {"flagShowingPostAuxiliaryArrayInUse",456}, -#line 11 "../tests/keys" - {"At_least__Or_Distribut_Proportion_Of",6}, - {""}, -#line 560 "../tests/keys" - {"isectionNumber2",555}, - {""}, -#line 960 "../tests/keys" - {"padding_loc245_1",955}, - {""}, {""}, -#line 575 "../tests/keys" - {"keyType",570}, - {""}, {""}, {""}, -#line 1022 "../tests/keys" - {"postAuxiliaryArrayPresent",1017}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 981 "../tests/keys" - {"padding_local11_1",976}, - {""}, -#line 841 "../tests/keys" - {"numberOfPointsAlongFirstAxis",836}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 1098 "../tests/keys" - {"resolutionAndComponentFlags1",1093}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 98 "../tests/keys" - {"Local_Number_Members_Missing_E3",93}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 173 "../tests/keys" - {"TYPE_AN",168}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 945 "../tests/keys" - {"padding_loc17_2",940}, -#line 1147 "../tests/keys" - {"scalingFactorForFrequencies",1142}, - {""}, {""}, {""}, {""}, -#line 1228 "../tests/keys" - {"shortNameECMF",1223}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 41 "../tests/keys" - {"Ensemble_Combinat_Number_0_none_E4",36}, - {""}, {""}, -#line 323 "../tests/keys" - {"coordinateFlag2",318}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 137 "../tests/keys" - {"NR",132}, - {""}, {""}, -#line 1373 "../tests/keys" - {"typeOfSizeInterval",1368}, - {""}, {""}, -#line 989 "../tests/keys" - {"padding_sec2_3",984}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 102 "../tests/keys" - {"Local_Number_Members_Possible_E3",97}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 39 "../tests/keys" - {"Ensemble_Combinat_Number_0_none_E2",34}, - {""}, -#line 524 "../tests/keys" - {"hoursAfterReferenceTimeOfDataCutoff",519}, -#line 127 "../tests/keys" - {"NB",122}, -#line 1399 "../tests/keys" - {"uvRelativeToGrid",1394}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1014 "../tests/keys" - {"physicalFlag1",1009}, - {""}, -#line 1119 "../tests/keys" - {"scaleFactorOfMajorAxisOfOblateSpheroidEarth",1114}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 947 "../tests/keys" - {"padding_loc18_2",942}, - {""}, {""}, {""}, -#line 949 "../tests/keys" - {"padding_loc191_1",944}, -#line 188 "../tests/keys" - {"Time_Range_Two_E4",183}, -#line 974 "../tests/keys" - {"padding_loc4_2",969}, - {""}, {""}, {""}, -#line 1120 "../tests/keys" - {"scaleFactorOfMinorAxisOfOblateSpheroidEarth",1115}, -#line 988 "../tests/keys" - {"padding_sec2_2",983}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 542 "../tests/keys" - {"indicatorOfUnitForTimeIncrement",537}, -#line 633 "../tests/keys" - {"listMembersUsed3",628}, - {""}, {""}, -#line 455 "../tests/keys" - {"firstMonthUsedToBuildClimateMonth2",450}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 932 "../tests/keys" - {"padding_grid4_1",927}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1274 "../tests/keys" - {"stepRangeInHours",1269}, - {""}, {""}, {""}, -#line 186 "../tests/keys" - {"Time_Range_Two_E2",181}, -#line 970 "../tests/keys" - {"padding_loc2_2",965}, - {""}, {""}, -#line 954 "../tests/keys" - {"padding_loc20_1",949}, - {""}, {""}, {""}, {""}, {""}, -#line 966 "../tests/keys" - {"padding_loc29_1",961}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 900 "../tests/keys" - {"offsetValuesBy",895}, - {""}, {""}, {""}, -#line 47 "../tests/keys" - {"Experiment_Identifier",42}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 317 "../tests/keys" - {"coordinate3OfFirstGridPoint",312}, - {""}, {""}, {""}, -#line 510 "../tests/keys" - {"halfByte",505}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 138 "../tests/keys" - {"NRj",133}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 307 "../tests/keys" - {"coordAveraging2",302}, - {""}, -#line 972 "../tests/keys" - {"padding_loc30_2",967}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 959 "../tests/keys" - {"padding_loc244_3",954}, - {""}, {""}, -#line 107 "../tests/keys" - {"Local_Number_Members_Used_E4",102}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 1240 "../tests/keys" - {"southEastLatitudeOfLPOArea",1235}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 963 "../tests/keys" - {"padding_loc27_1",958}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1093 "../tests/keys" - {"reserved1",1088}, - {""}, -#line 105 "../tests/keys" - {"Local_Number_Members_Used_E2",100}, - {""}, {""}, -#line 1100 "../tests/keys" - {"resolutionAndComponentFlags3",1095}, - {""}, -#line 45 "../tests/keys" - {"Ensemble_Identifier_E3",40}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 962 "../tests/keys" - {"padding_loc26_1",957}, - {""}, {""}, {""}, {""}, -#line 1423 "../tests/keys" - {"xDirectionGridLengthInMetres",1418}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 123 "../tests/keys" - {"Model_LBC_Member_Identifier",118}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 160 "../tests/keys" - {"P_INST",155}, - {""}, {""}, {""}, -#line 869 "../tests/keys" - {"observationType",864}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 697 "../tests/keys" - {"marsKeywords1",692}, -#line 965 "../tests/keys" - {"padding_loc28_1",960}, - {""}, {""}, {""}, -#line 948 "../tests/keys" - {"padding_loc190_1",943}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 990 "../tests/keys" - {"padding_sec3_1",985}, - {""}, {""}, {""}, -#line 1424 "../tests/keys" - {"xDirectionGridLengthInMillimetres",1419}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1372 "../tests/keys" + {"siteElevation",1367}, +#line 1501 "../tests/keys" + {"totalNumberOfGridPoints",1496}, + {""}, {""}, +#line 73 "../tests/keys" + {"II",68}, +#line 464 "../tests/keys" + {"endOfInterval",459}, {""}, {""}, {""}, +#line 272 "../tests/keys" + {"baseTimeOfThisLeg",267}, +#line 85 "../tests/keys" + {"LaR",80}, #line 454 "../tests/keys" - {"firstMonthUsedToBuildClimateMonth1",449}, - {""}, {""}, {""}, -#line 92 "../tests/keys" - {"Lo1InDegrees",87}, + {"easternLongitudeOfDomain",449}, +#line 34 "../tests/keys" + {"DjInDegrees",29}, {""}, -#line 76 "../tests/keys" - {"La1InDegrees",71}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1253 "../tests/keys" + {"scaleFactorOfFirstFixedSurface",1248}, + {""}, {""}, +#line 1002 "../tests/keys" + {"offsetAfterPadding",997}, +#line 869 "../tests/keys" + {"n2",864}, + {""}, +#line 1391 "../tests/keys" + {"sp2",1386}, + {""}, +#line 453 "../tests/keys" + {"easternLongitudeOfClusterDomain",448}, + {""}, +#line 289 "../tests/keys" + {"centralLongitude",284}, + {""}, +#line 100 "../tests/keys" + {"LoR",95}, + {""}, {""}, +#line 1517 "../tests/keys" + {"typeOfAnalysis",1512}, + {""}, +#line 526 "../tests/keys" + {"forecastProbabilityNumber",521}, +#line 1589 "../tests/keys" + {"widthOfSPD",1584}, + {""}, {""}, {""}, +#line 1607 "../tests/keys" + {"yearOfAnalysis",1602}, +#line 1396 "../tests/keys" + {"spare2",1391}, + {""}, {""}, +#line 898 "../tests/keys" + {"numberOfAnalysis",893}, + {""}, {""}, +#line 918 "../tests/keys" + {"numberOfContributingSpectralBands",913}, {""}, {""}, {""}, #line 973 "../tests/keys" - {"padding_loc3_1",968}, - {""}, {""}, -#line 936 "../tests/keys" - {"padding_loc10_1",931}, - {""}, {""}, {""}, {""}, {""}, -#line 543 "../tests/keys" - {"indicatorOfUnitForTimeRange",538}, + {"numberOfRepresentativeMember",968}, {""}, -#line 951 "../tests/keys" - {"padding_loc191_3",946}, +#line 318 "../tests/keys" + {"clusterMember4",313}, + {""}, {""}, {""}, {""}, +#line 1445 "../tests/keys" + {"swapScanningLat",1440}, + {""}, {""}, +#line 239 "../tests/keys" + {"_leg_number",234}, +#line 1305 "../tests/keys" + {"secondOrderValuesDifferentWidths",1300}, + {""}, {""}, +#line 1304 "../tests/keys" + {"secondOrderOfDifferentWidth",1299}, +#line 1003 "../tests/keys" + {"offsetBBitmap",998}, + {""}, +#line 415 "../tests/keys" + {"dayOfAnalysis",410}, +#line 1331 "../tests/keys" + {"section3Length",1326}, +#line 1223 "../tests/keys" + {"reflectivityCalibrationConstant",1218}, + {""}, +#line 925 "../tests/keys" + {"numberOfDataValues",920}, + {""}, {""}, +#line 290 "../tests/keys" + {"centralLongitudeInMicrodegrees",285}, +#line 956 "../tests/keys" + {"numberOfParallelsBetweenAPoleAndTheEquator",951}, + {""}, +#line 283 "../tests/keys" + {"boustrophedonicOrdering",278}, + {""}, {""}, {""}, {""}, +#line 732 "../tests/keys" + {"localTablesVersion",727}, + {""}, {""}, {""}, {""}, +#line 148 "../tests/keys" + {"NT",143}, +#line 1587 "../tests/keys" + {"widthOfFirstOrderValues",1582}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 905 "../tests/keys" + {"numberOfBytesOfFreeFormatData",900}, + {""}, +#line 367 "../tests/keys" + {"coordinate3OfLastGridPoint",362}, + {""}, {""}, {""}, +#line 1111 "../tests/keys" + {"padding_local_35",1106}, +#line 346 "../tests/keys" + {"conceptsMasterMarsDir",341}, +#line 332 "../tests/keys" + {"codedNumberOfGroups",327}, + {""}, +#line 1539 "../tests/keys" + {"typeOfWavelengthInterval",1534}, + {""}, {""}, +#line 1527 "../tests/keys" + {"typeOfLevel",1522}, + {""}, {""}, +#line 1544 "../tests/keys" + {"typicalMonth",1539}, + {""}, {""}, {""}, {""}, {""}, +#line 219 "../tests/keys" + {"X2",214}, + {""}, {""}, +#line 814 "../tests/keys" + {"masterTableNumber",809}, + {""}, {""}, {""}, {""}, {""}, +#line 359 "../tests/keys" + {"coordinate1End",354}, + {""}, {""}, {""}, {""}, +#line 966 "../tests/keys" + {"numberOfPointsAlongXAxis",961}, +#line 1016 "../tests/keys" + {"offsetSection2",1011}, + {""}, {""}, {""}, +#line 1265 "../tests/keys" + {"scaleFactorOfUpperLimit",1260}, +#line 307 "../tests/keys" + {"charValues",302}, +#line 807 "../tests/keys" + {"marsStream2",802}, +#line 305 "../tests/keys" + {"channelNumber",300}, +#line 839 "../tests/keys" + {"methodNumber",834}, + {""}, {""}, +#line 550 "../tests/keys" + {"grib2LocalSectionPresent",545}, +#line 558 "../tests/keys" + {"gridDefinitionTemplateNumber",553}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 549 "../tests/keys" + {"grib2LocalSectionNumber",544}, + {""}, {""}, {""}, {""}, {""}, +#line 1506 "../tests/keys" + {"trueLengthOfLastGroup",1501}, + {""}, {""}, +#line 974 "../tests/keys" + {"numberOfReservedBytes",969}, +#line 975 "../tests/keys" + {"numberOfRows",970}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 588 "../tests/keys" + {"iDirectionIncrementGiven",583}, +#line 1233 "../tests/keys" + {"resolutionAndComponentFlags",1228}, +#line 520 "../tests/keys" + {"forecastLeadTime",515}, + {""}, {""}, +#line 1239 "../tests/keys" + {"resolutionAndComponentFlags7",1234}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 492 "../tests/keys" + {"extraDimensionPresent",487}, + {""}, +#line 980 "../tests/keys" + {"numberOfStepsUsedForClustering",975}, +#line 381 "../tests/keys" + {"correction2",376}, + {""}, {""}, +#line 655 "../tests/keys" + {"latitude2",650}, + {""}, {""}, {""}, {""}, +#line 498 "../tests/keys" + {"falseNorthing",493}, + {""}, {""}, +#line 505 "../tests/keys" + {"firstDimensionCoordinateValueDefinition",500}, +#line 1597 "../tests/keys" + {"xFirst",1592}, +#line 1193 "../tests/keys" + {"radiusOfTheEarth",1188}, + {""}, +#line 32 "../tests/keys" + {"Dj",27}, + {""}, +#line 733 "../tests/keys" + {"localTablesVersionNumber",728}, + {""}, {""}, +#line 243 "../tests/keys" + {"addEmptySection2",238}, + {""}, +#line 1283 "../tests/keys" + {"scaledValueOfStandardDeviation",1278}, +#line 639 "../tests/keys" + {"keyData",634}, + {""}, {""}, +#line 537 "../tests/keys" + {"g1conceptsLocalDirAll",532}, +#line 1215 "../tests/keys" + {"referenceForGroupLengths",1210}, +#line 1185 "../tests/keys" + {"qualityControlIndicator",1180}, +#line 968 "../tests/keys" + {"numberOfPointsUsed",963}, + {""}, {""}, +#line 579 "../tests/keys" + {"horizontalDimensionProcessed",574}, + {""}, {""}, +#line 1284 "../tests/keys" + {"scaledValueOfStandardDeviationInTheCluster",1279}, +#line 1219 "../tests/keys" + {"referenceReflectivityForEchoTop",1214}, +#line 165 "../tests/keys" + {"P2",160}, + {""}, +#line 720 "../tests/keys" + {"localDefNumberTwo",715}, + {""}, {""}, {""}, {""}, +#line 1410 "../tests/keys" + {"startStepInHours",1405}, + {""}, {""}, {""}, {""}, {""}, +#line 1394 "../tests/keys" + {"spacingOfBinsAlongRadials",1389}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 437 "../tests/keys" + {"dirty_statistics",432}, + {""}, +#line 703 "../tests/keys" + {"listMembersMissing",698}, +#line 137 "../tests/keys" + {"NC",132}, +#line 1583 "../tests/keys" + {"westLongitudeOfCluster",1578}, + {""}, {""}, +#line 665 "../tests/keys" + {"latitudeOfLastGridPoint",660}, +#line 1441 "../tests/keys" + {"subSetM",1436}, +#line 1045 "../tests/keys" + {"originatingCentreOfAnalysis",1040}, +#line 1159 "../tests/keys" + {"predefined_grid",1154}, +#line 522 "../tests/keys" + {"forecastOrSingularVectorNumber",517}, +#line 344 "../tests/keys" + {"conceptsLocalMarsDirAll",339}, + {""}, {""}, +#line 1324 "../tests/keys" + {"section2Length",1319}, + {""}, +#line 1281 "../tests/keys" + {"scaledValueOfSecondSize",1276}, +#line 1248 "../tests/keys" + {"scaleFactorAtReferencePoint",1243}, + {""}, {""}, {""}, +#line 666 "../tests/keys" + {"latitudeOfLastGridPointInDegrees",661}, + {""}, {""}, {""}, +#line 423 "../tests/keys" + {"defaultShortName",418}, + {""}, {""}, {""}, {""}, +#line 880 "../tests/keys" + {"normAtFinalTime",875}, + {""}, {""}, {""}, +#line 1590 "../tests/keys" + {"widthOfWidths",1585}, +#line 1448 "../tests/keys" + {"swapScanningY",1443}, + {""}, {""}, +#line 343 "../tests/keys" + {"conceptsLocalDirECMF",338}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1488 "../tests/keys" + {"timeUnitFlag",1483}, + {""}, +#line 1459 "../tests/keys" + {"tablesMasterDir",1454}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 553 "../tests/keys" + {"gribTablesVersionNo",548}, + {""}, {""}, +#line 1255 "../tests/keys" + {"scaleFactorOfFirstWavelength",1250}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1238 "../tests/keys" + {"resolutionAndComponentFlags6",1233}, +#line 999 "../tests/keys" + {"offsetAfterCentreLocalSection",994}, +#line 1355 "../tests/keys" + {"section_4",1350}, +#line 1232 "../tests/keys" + {"resolutionAndComponentFlag",1227}, + {""}, {""}, +#line 1227 "../tests/keys" + {"representativeMember",1222}, + {""}, +#line 994 "../tests/keys" + {"oceanAtmosphereCoupling",989}, + {""}, +#line 1240 "../tests/keys" + {"resolutionAndComponentFlags8",1235}, +#line 1038 "../tests/keys" + {"orientationOfTheGrid",1033}, + {""}, {""}, {""}, {""}, +#line 578 "../tests/keys" + {"horizontalCoordinateSupplement",573}, +#line 652 "../tests/keys" + {"latLonValues",647}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 1393 "../tests/keys" + {"spaceUnitFlag",1388}, +#line 388 "../tests/keys" + {"countOfGroupLengths",383}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1160 "../tests/keys" + {"predefined_grid_values",1155}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 741 "../tests/keys" + {"longitude2",736}, + {""}, {""}, {""}, {""}, +#line 1112 "../tests/keys" + {"padding_local_7_1",1107}, +#line 315 "../tests/keys" + {"clusterMember10",310}, +#line 535 "../tests/keys" + {"frequencyScalingFactor",530}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 829 "../tests/keys" + {"md5Section2",824}, + {""}, {""}, {""}, +#line 889 "../tests/keys" + {"northernLatitudeOfDomain",884}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 577 "../tests/keys" + {"horizontalCoordinateDefinition",572}, + {""}, {""}, +#line 888 "../tests/keys" + {"northernLatitudeOfClusterDomain",883}, +#line 398 "../tests/keys" + {"dataRepresentationTemplateNumber",393}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1348 "../tests/keys" + {"sectionLengthLimitForEnsembles",1343}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 901 "../tests/keys" + {"numberOfBitsForScaledGroupLengths",896}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 369 "../tests/keys" + {"coordinate4OfFirstGridPoint",364}, +#line 1001 "../tests/keys" + {"offsetAfterLocalSection",996}, + {""}, {""}, +#line 774 "../tests/keys" + {"lowerThreshold",769}, + {""}, {""}, {""}, {""}, +#line 1013 "../tests/keys" + {"offsetICEFieldsUsed",1008}, +#line 581 "../tests/keys" + {"hourOfAnalysis",576}, + {""}, {""}, {""}, +#line 1187 "../tests/keys" + {"radialAngularSpacing",1182}, +#line 1135 "../tests/keys" + {"patch_precip_fp",1130}, +#line 1390 "../tests/keys" + {"sp1",1385}, + {""}, +#line 259 "../tests/keys" + {"auxiliary",254}, + {""}, {""}, {""}, +#line 1306 "../tests/keys" + {"secondaryBitMap",1301}, + {""}, +#line 121 "../tests/keys" + {"MinuteOfModelVersion",116}, + {""}, {""}, +#line 1279 "../tests/keys" + {"scaledValueOfRadiusOfSphericalEarth",1274}, +#line 1515 "../tests/keys" + {"twoOrdersOfSPD",1510}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 446 "../tests/keys" + {"dummy2",441}, + {""}, {""}, +#line 641 "../tests/keys" + {"kindOfProduct",636}, + {""}, {""}, {""}, {""}, {""}, +#line 1182 "../tests/keys" + {"pv",1177}, +#line 695 "../tests/keys" + {"lev",690}, + {""}, {""}, {""}, {""}, +#line 878 "../tests/keys" + {"nlev",873}, + {""}, {""}, +#line 1487 "../tests/keys" + {"timeRangeIndicatorFromStepRange",1482}, + {""}, +#line 1321 "../tests/keys" + {"section1Length",1316}, + {""}, {""}, +#line 865 "../tests/keys" + {"monthlyVerificationDate",860}, + {""}, +#line 574 "../tests/keys" + {"heightOrPressureOfLevel",569}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1432 "../tests/keys" + {"subDefinitions2",1427}, + {""}, {""}, {""}, {""}, +#line 1389 "../tests/keys" + {"southernLatitudeOfDomain",1384}, + {""}, {""}, {""}, +#line 1535 "../tests/keys" + {"typeOfSizeInterval",1530}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1388 "../tests/keys" + {"southernLatitudeOfClusterDomain",1383}, +#line 1598 "../tests/keys" + {"xLast",1593}, + {""}, {""}, {""}, +#line 1581 "../tests/keys" + {"waveDomain",1576}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 691 "../tests/keys" + {"lengthIncrementForTheGroupLengths",686}, + {""}, {""}, +#line 1319 "../tests/keys" + {"section1",1314}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 921 "../tests/keys" + {"numberOfDataBinsAlongRadials",916}, +#line 217 "../tests/keys" + {"X1",212}, + {""}, {""}, +#line 1110 "../tests/keys" + {"padding_local40_1",1105}, + {""}, {""}, {""}, {""}, {""}, +#line 1015 "../tests/keys" + {"offsetSection1",1010}, +#line 265 "../tests/keys" + {"azimuthalWidth",260}, +#line 783 "../tests/keys" + {"marsClass2",778}, +#line 1039 "../tests/keys" + {"orientationOfTheGridInDegrees",1034}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 806 "../tests/keys" + {"marsStream1",801}, +#line 222 "../tests/keys" + {"XRInMetres",217}, + {""}, +#line 1312 "../tests/keys" + {"secondaryMissingValue",1307}, + {""}, {""}, +#line 228 "../tests/keys" + {"Y2",223}, + {""}, +#line 1474 "../tests/keys" + {"tiggeLocalVersion",1469}, + {""}, +#line 817 "../tests/keys" + {"matchAerosolPacking",812}, + {""}, {""}, {""}, +#line 887 "../tests/keys" + {"northWestLongitudeOfVerficationArea",882}, + {""}, {""}, +#line 853 "../tests/keys" + {"mixedCoordinateDefinition",848}, + {""}, {""}, +#line 967 "../tests/keys" + {"numberOfPointsAlongYAxis",962}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 490 "../tests/keys" + {"extendedFlag",485}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1529 "../tests/keys" + {"typeOfOriginalFieldValues",1524}, +#line 1584 "../tests/keys" + {"westLongitudeOfDomainOfTubing",1579}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 886 "../tests/keys" + {"northWestLongitudeOfLPOArea",881}, + {""}, {""}, +#line 379 "../tests/keys" + {"correction1",374}, +#line 90 "../tests/keys" + {"Lar2InDegrees",85}, + {""}, +#line 654 "../tests/keys" + {"latitude1",649}, + {""}, {""}, {""}, {""}, +#line 538 "../tests/keys" + {"g1conceptsMasterDir",533}, + {""}, {""}, {""}, {""}, +#line 1479 "../tests/keys" + {"tigge_short_name",1474}, + {""}, {""}, +#line 551 "../tests/keys" + {"grib2divider",546}, +#line 118 "../tests/keys" + {"Lor2InDegrees",113}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 366 "../tests/keys" + {"coordinate3OfFirstGridPoint",361}, + {""}, +#line 248 "../tests/keys" + {"aerosolpacking",243}, + {""}, {""}, {""}, {""}, +#line 273 "../tests/keys" + {"basicAngleOfTheInitialProductionDomain",268}, + {""}, {""}, +#line 164 "../tests/keys" + {"P1",159}, + {""}, +#line 892 "../tests/keys" + {"numberInHorizontalCoordinates",887}, + {""}, {""}, {""}, {""}, +#line 412 "../tests/keys" + {"dateSSTFieldUsed",407}, +#line 242 "../tests/keys" + {"accuracyMultipliedByFactor",237}, +#line 29 "../tests/keys" + {"DiGiven",24}, + {""}, {""}, {""}, +#line 267 "../tests/keys" + {"backgroundProcess",262}, + {""}, {""}, +#line 1498 "../tests/keys" + {"totalNumberOfDirections",1493}, + {""}, +#line 389 "../tests/keys" + {"countOfICEFieldsUsed",384}, + {""}, +#line 540 "../tests/keys" + {"genVertHeightCoords",535}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1289 "../tests/keys" + {"scanningMode4",1284}, + {""}, +#line 1564 "../tests/keys" + {"updateSequenceNumber",1559}, + {""}, +#line 95 "../tests/keys" + {"Latin2InDegrees",90}, + {""}, {""}, {""}, {""}, {""}, +#line 49 "../tests/keys" + {"Ensemble_Identifier",44}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1497 "../tests/keys" + {"totalNumberOfDataValuesMissingInStatisticalProcess",1492}, + {""}, +#line 1313 "../tests/keys" + {"secondaryMissingValueSubstitute",1308}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1280 "../tests/keys" + {"scaledValueOfSecondFixedSurface",1275}, +#line 976 "../tests/keys" + {"numberOfSecondOrderPackedValues",971}, + {""}, {""}, {""}, +#line 810 "../tests/keys" + {"marsType2",805}, + {""}, {""}, {""}, {""}, {""}, +#line 1222 "../tests/keys" + {"referenceValueError",1217}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 411 "../tests/keys" + {"dateOfSSTFieldUsed",406}, +#line 1049 "../tests/keys" + {"packingType",1044}, + {""}, {""}, {""}, {""}, +#line 145 "../tests/keys" + {"NL",140}, + {""}, {""}, +#line 1286 "../tests/keys" + {"scalingFactorForFrequencies",1281}, + {""}, {""}, +#line 188 "../tests/keys" + {"TIDE",183}, + {""}, {""}, {""}, {""}, {""}, +#line 854 "../tests/keys" + {"mixedCoordinateFieldFlag",849}, + {""}, {""}, {""}, {""}, {""}, +#line 82 "../tests/keys" + {"La2",77}, + {""}, +#line 1354 "../tests/keys" + {"section_3",1349}, +#line 992 "../tests/keys" + {"observationType",987}, + {""}, +#line 1560 "../tests/keys" + {"unpackedSubsetPrecision",1555}, +#line 89 "../tests/keys" + {"Lar2",84}, +#line 634 "../tests/keys" + {"jDirectionIncrementInDegrees",629}, + {""}, +#line 7 "../tests/keys" + {"************_EXPERIMENT_************",2}, + {""}, {""}, +#line 94 "../tests/keys" + {"Latin2",89}, + {""}, {""}, {""}, +#line 99 "../tests/keys" + {"Lo2",94}, + {""}, {""}, {""}, {""}, {""}, +#line 117 "../tests/keys" + {"Lor2",112}, + {""}, +#line 779 "../tests/keys" + {"mBasicAngle",774}, +#line 740 "../tests/keys" + {"longitude1",735}, + {""}, {""}, +#line 1592 "../tests/keys" + {"xCoordinateOfOriginOfSectorImage",1587}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1349 "../tests/keys" + {"sectionLengthLimitForProbability",1344}, + {""}, {""}, {""}, +#line 828 "../tests/keys" + {"md5Section1",823}, + {""}, +#line 1530 "../tests/keys" + {"typeOfPacking",1525}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 848 "../tests/keys" + {"minutesAfterReferenceTimeOfDataCutoff",843}, + {""}, {""}, +#line 603 "../tests/keys" + {"indicatorOfTypeOfLevel",598}, + {""}, {""}, +#line 81 "../tests/keys" + {"La1InDegrees",76}, + {""}, {""}, {""}, {""}, {""}, +#line 88 "../tests/keys" + {"Lar1InDegrees",83}, +#line 575 "../tests/keys" + {"heightPressureEtcOfLevels",570}, + {""}, {""}, {""}, +#line 1270 "../tests/keys" + {"scaledValueOfDistanceFromEnsembleMean",1265}, +#line 667 "../tests/keys" + {"latitudeOfNorthWestCornerOfArea",662}, + {""}, {""}, {""}, +#line 98 "../tests/keys" + {"Lo1InDegrees",93}, + {""}, {""}, {""}, {""}, +#line 548 "../tests/keys" + {"grib1divider",543}, +#line 116 "../tests/keys" + {"Lor1InDegrees",111}, +#line 1522 "../tests/keys" + {"typeOfGeneratingProcess",1517}, + {""}, +#line 900 "../tests/keys" + {"numberOfBitsContainingEachPackedValue",895}, + {""}, {""}, {""}, {""}, +#line 1155 "../tests/keys" + {"preBitmapValues",1150}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1023 "../tests/keys" + {"offsetToEndOf4DvarWindow",1018}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1455 "../tests/keys" + {"table2Version",1450}, +#line 991 "../tests/keys" + {"observationGeneratingProcessIdentifier",986}, + {""}, {""}, +#line 445 "../tests/keys" + {"dummy1",440}, + {""}, {""}, {""}, +#line 589 "../tests/keys" + {"iDirectionIncrementGridLength",584}, +#line 494 "../tests/keys" + {"extraLocalSectionPresent",489}, + {""}, {""}, {""}, {""}, {""}, +#line 373 "../tests/keys" + {"coordinateIndexNumber",368}, + {""}, {""}, {""}, {""}, +#line 93 "../tests/keys" + {"Latin1InDegrees",88}, +#line 493 "../tests/keys" + {"extraLocalSectionNumber",488}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 897 "../tests/keys" + {"numberMissingFromAveragesOrAccumulations",892}, + {""}, {""}, {""}, {""}, +#line 1431 "../tests/keys" + {"subDefinitions1",1426}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 998 "../tests/keys" + {"offsetAfterBitmap",993}, +#line 1252 "../tests/keys" + {"scaleFactorOfEarthMinorAxis",1247}, + {""}, {""}, +#line 1251 "../tests/keys" + {"scaleFactorOfEarthMajorAxis",1246}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 706 "../tests/keys" + {"listMembersMissing4",701}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 317 "../tests/keys" + {"clusterMember3",312}, + {""}, +#line 1533 "../tests/keys" + {"typeOfSSTFieldUsed",1528}, + {""}, {""}, {""}, +#line 1588 "../tests/keys" + {"widthOfLengths",1583}, +#line 787 "../tests/keys" + {"marsExperimentOffset",782}, + {""}, {""}, {""}, +#line 1328 "../tests/keys" + {"section2Used",1323}, +#line 225 "../tests/keys" + {"XpInGridLengths",220}, + {""}, {""}, +#line 1579 "../tests/keys" + {"verticalCoordinate",1574}, +#line 38 "../tests/keys" + {"DxInDegrees",33}, + {""}, +#line 782 "../tests/keys" + {"marsClass1",777}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 35 "../tests/keys" + {"DjInMetres",30}, + {""}, {""}, {""}, {""}, {""}, +#line 584 "../tests/keys" + {"hoursAfterDataCutoff",579}, + {""}, {""}, +#line 226 "../tests/keys" + {"Y1",221}, + {""}, {""}, {""}, +#line 14 "../tests/keys" + {"Azi",9}, +#line 711 "../tests/keys" + {"listOfContributingSpectralBands",706}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1139 "../tests/keys" + {"percentileValue",1134}, + {""}, {""}, {""}, {""}, {""}, +#line 231 "../tests/keys" + {"YRInMetres",226}, +#line 1580 "../tests/keys" + {"verticalCoordinateDefinition",1575}, + {""}, {""}, {""}, +#line 1237 "../tests/keys" + {"resolutionAndComponentFlags4",1232}, + {""}, +#line 637 "../tests/keys" + {"jScansPositively",632}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 534 "../tests/keys" + {"frequencyNumber",529}, + {""}, {""}, +#line 1276 "../tests/keys" + {"scaledValueOfLowerLimit",1271}, + {""}, {""}, +#line 712 "../tests/keys" + {"listOfEnsembleForecastNumbers",707}, + {""}, +#line 146 "../tests/keys" + {"NR",141}, +#line 133 "../tests/keys" + {"N",128}, + {""}, +#line 338 "../tests/keys" + {"componentIndex",333}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1451 "../tests/keys" + {"szipBitsPerPixel",1446}, +#line 872 "../tests/keys" + {"nameECMF",867}, + {""}, {""}, +#line 644 "../tests/keys" + {"lBB",639}, +#line 1282 "../tests/keys" + {"scaledValueOfSecondWavelength",1277}, + {""}, +#line 1568 "../tests/keys" + {"upperThresholdValue",1563}, +#line 1048 "../tests/keys" + {"packingError",1043}, +#line 541 "../tests/keys" + {"generalExtended2ordr",536}, +#line 707 "../tests/keys" + {"listMembersUsed",702}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1559 "../tests/keys" + {"unpackedError",1554}, + {""}, +#line 1593 "../tests/keys" + {"xCoordinateOfSubSatellitePoint",1588}, +#line 821 "../tests/keys" + {"matrixBitmapsPresent",816}, +#line 409 "../tests/keys" + {"dateOfIceFieldUsed",404}, + {""}, {""}, +#line 240 "../tests/keys" + {"_numberOfValues",235}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1242 "../tests/keys" + {"roundedMarsLevelist",1237}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1142 "../tests/keys" + {"perturbationNumber",1137}, +#line 649 "../tests/keys" + {"laplacianScalingFactorUnset",644}, +#line 851 "../tests/keys" + {"missingValueManagement",846}, +#line 511 "../tests/keys" + {"firstOrderValues",506}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1008 "../tests/keys" + {"offsetBeforePL",1003}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 309 "../tests/keys" + {"classOfAnalysis",304}, + {""}, {""}, {""}, +#line 863 "../tests/keys" + {"monthOfEndOfOverallTimeInterval",858}, + {""}, {""}, +#line 836 "../tests/keys" + {"meaningOfVerticalCoordinate",831}, +#line 809 "../tests/keys" + {"marsType1",804}, + {""}, {""}, {""}, {""}, +#line 372 "../tests/keys" + {"coordinateFlag2",367}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 929 "../tests/keys" - {"padding_grid1_1",924}, +#line 1554 "../tests/keys" + {"unitsECMF",1549}, + {""}, {""}, {""}, {""}, +#line 705 "../tests/keys" + {"listMembersMissing3",700}, + {""}, +#line 294 "../tests/keys" + {"centreForTable2",289}, +#line 1353 "../tests/keys" + {"section_2",1348}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 80 "../tests/keys" + {"La1",75}, + {""}, {""}, {""}, {""}, {""}, +#line 87 "../tests/keys" + {"Lar1",82}, + {""}, {""}, {""}, +#line 567 "../tests/keys" + {"gts_CCCC",562}, + {""}, +#line 92 "../tests/keys" + {"Latin1",87}, + {""}, {""}, {""}, +#line 97 "../tests/keys" + {"Lo1",92}, + {""}, {""}, {""}, +#line 1420 "../tests/keys" + {"stepRangeInHours",1415}, + {""}, +#line 115 "../tests/keys" + {"Lor1",110}, + {""}, +#line 27 "../tests/keys" + {"DayOfModelVersion",22}, +#line 43 "../tests/keys" + {"ECMWF",38}, + {""}, {""}, +#line 1366 "../tests/keys" + {"shapeOfTheEarth",1361}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1379 "../tests/keys" + {"skewness",1374}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 240 "../tests/keys" - {"bitsPerValueAndRepack",235}, +#line 1236 "../tests/keys" + {"resolutionAndComponentFlags3",1231}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1314 "../tests/keys" + {"secondsOfAnalysis",1309}, + {""}, {""}, +#line 1577 "../tests/keys" + {"verifyingMonth",1572}, + {""}, +#line 724 "../tests/keys" + {"localExtensionPadding",719}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 936 "../tests/keys" + {"numberOfGridInReference",931}, + {""}, {""}, {""}, {""}, +#line 68 "../tests/keys" + {"HourOfModelVersion",63}, +#line 1009 "../tests/keys" + {"offsetBeforePV",1004}, +#line 489 "../tests/keys" + {"expver",484}, + {""}, {""}, {""}, {""}, {""}, +#line 859 "../tests/keys" + {"modelVersionTime",854}, + {""}, {""}, {""}, {""}, +#line 1500 "../tests/keys" + {"totalNumberOfFrequencies",1495}, + {""}, {""}, {""}, {""}, +#line 606 "../tests/keys" + {"indicatorOfUnitOfTimeRange",601}, + {""}, +#line 102 "../tests/keys" + {"LoVInDegrees",97}, + {""}, {""}, {""}, {""}, +#line 172 "../tests/keys" + {"Product_Identifier",167}, + {""}, {""}, +#line 26 "../tests/keys" + {"Date_E4",21}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 885 "../tests/keys" + {"northWestLatitudeOfVerficationArea",880}, +#line 1510 "../tests/keys" + {"tsectionNumber4",1505}, + {""}, {""}, +#line 628 "../tests/keys" + {"isectionNumber4",623}, +#line 250 "../tests/keys" + {"altitudeOfTheCameraFromTheEarthSCenterMeasuredInUnitsOfTheEarth",245}, +#line 1601 "../tests/keys" + {"yDirectionGridLength",1596}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1266 "../tests/keys" + {"scaleValuesBy",1261}, + {""}, {""}, {""}, +#line 1434 "../tests/keys" + {"subLocalDefinition2",1429}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 300 "../tests/keys" + {"cfVarName",295}, + {""}, +#line 196 "../tests/keys" + {"TYPE_FX",191}, +#line 640 "../tests/keys" + {"keyMore",635}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1274 "../tests/keys" + {"scaledValueOfFirstSize",1269}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 440 "../tests/keys" + {"distanceFromTubeToEnsembleMean",435}, + {""}, {""}, {""}, +#line 1558 "../tests/keys" + {"unknown",1553}, + {""}, +#line 704 "../tests/keys" + {"listMembersMissing2",699}, + {""}, +#line 1586 "../tests/keys" + {"westernLongitudeOfDomain",1581}, + {""}, {""}, {""}, {""}, +#line 316 "../tests/keys" + {"clusterMember2",311}, + {""}, {""}, {""}, {""}, {""}, +#line 1585 "../tests/keys" + {"westernLongitudeOfClusterDomain",1580}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 592 "../tests/keys" + {"iScansNegatively",587}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 233 "../tests/keys" + {"YearOfModelVersion",228}, + {""}, +#line 600 "../tests/keys" + {"ijDirectionIncrementGiven",595}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 236 "../tests/keys" + {"YpInGridLengths",231}, + {""}, {""}, {""}, {""}, +#line 1302 "../tests/keys" + {"secondOfEndOfOverallTimeInterval",1297}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1235 "../tests/keys" + {"resolutionAndComponentFlags2",1230}, + {""}, {""}, {""}, +#line 845 "../tests/keys" + {"minuteOfEndOfOverallTimeInterval",840}, + {""}, {""}, {""}, {""}, +#line 1006 "../tests/keys" + {"offsetBeforeBitmap",1001}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1146 "../tests/keys" + {"physicalFlag2",1141}, + {""}, {""}, +#line 1609 "../tests/keys" + {"yearOfEndOfOverallTimeInterval",1604}, + {""}, {""}, +#line 1570 "../tests/keys" + {"uuidOfVGrid",1565}, + {""}, +#line 1385 "../tests/keys" + {"southEastLongitudeOfVerficationArea",1380}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1165 "../tests/keys" + {"primaryMissingValue",1160}, + {""}, +#line 1113 "../tests/keys" + {"padding_sec1_loc",1108}, + {""}, {""}, +#line 632 "../tests/keys" + {"jDirectionIncrementGiven",627}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 531 "../tests/keys" + {"formatVersionMinorNumber",526}, + {""}, {""}, +#line 530 "../tests/keys" + {"formatVersionMajorNumber",525}, + {""}, {""}, {""}, {""}, {""}, +#line 1384 "../tests/keys" + {"southEastLongitudeOfLPOArea",1379}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 483 "../tests/keys" + {"expandBy",478}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1433 "../tests/keys" + {"subLocalDefinition1",1428}, +#line 6 "../tests/keys" + {"************_ENSEMBLE_**************",1}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 371 "../tests/keys" + {"coordinateFlag1",366}, + {""}, +#line 350 "../tests/keys" + {"constantAntennaElevationAngle",345}, + {""}, {""}, {""}, {""}, {""}, +#line 1499 "../tests/keys" + {"totalNumberOfForecastProbabilities",1494}, +#line 295 "../tests/keys" + {"centuryOfAnalysis",290}, + {""}, {""}, {""}, {""}, {""}, +#line 937 "../tests/keys" + {"numberOfGridUsed",932}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1273 "../tests/keys" + {"scaledValueOfFirstFixedSurface",1268}, + {""}, +#line 1352 "../tests/keys" + {"section_1",1347}, + {""}, {""}, +#line 1198 "../tests/keys" + {"rdb_key",1193}, +#line 1249 "../tests/keys" + {"scaleFactorOfCentralWaveNumber",1244}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 197 "../tests/keys" + {"TYPE_OF",192}, + {""}, {""}, {""}, +#line 426 "../tests/keys" + {"deleteExtraLocalSection",421}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 71 "../tests/keys" + {"Hour_E4",66}, + {""}, {""}, {""}, +#line 862 "../tests/keys" + {"monthOfAnalysis",857}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 513 "../tests/keys" + {"flagForAnyFurtherInformation",508}, + {""}, +#line 136 "../tests/keys" + {"NB",131}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 903 "../tests/keys" + {"numberOfBitsUsedForTheScaledGroupLengths",898}, + {""}, {""}, {""}, {""}, +#line 1234 "../tests/keys" + {"resolutionAndComponentFlags1",1229}, + {""}, {""}, +#line 617 "../tests/keys" + {"intervalBetweenTimes",612}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 262 "../tests/keys" + {"averaging2Flag",257}, + {""}, {""}, {""}, {""}, {""}, +#line 161 "../tests/keys" + {"Original_Parameter_Iden_CodeTable2",156}, + {""}, +#line 1166 "../tests/keys" + {"primaryMissingValueSubstitute",1161}, + {""}, +#line 463 "../tests/keys" + {"endOfHeadersMaker",458}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 585 "../tests/keys" + {"hoursAfterReferenceTimeOfDataCutoff",580}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1285 "../tests/keys" + {"scaledValueOfUpperLimit",1280}, + {""}, {""}, +#line 1063 "../tests/keys" + {"padding_loc13_5",1058}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 25 "../tests/keys" + {"Date_E3",20}, + {""}, +#line 354 "../tests/keys" + {"coordAveraging0",349}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 438 "../tests/keys" + {"disableGrib1LocalSection",433}, + {""}, +#line 1509 "../tests/keys" + {"tsectionNumber3",1504}, + {""}, {""}, +#line 627 "../tests/keys" + {"isectionNumber3",622}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 484 "../tests/keys" + {"experimentVersionNumber",479}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 199 "../tests/keys" + {"TYPE_PF",194}, + {""}, {""}, {""}, {""}, {""}, +#line 135 "../tests/keys" + {"N2",130}, + {""}, {""}, {""}, {""}, +#line 314 "../tests/keys" + {"clusterMember1",309}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 986 "../tests/keys" + {"numberOfVerticalCoordinateValues",981}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 44 "../tests/keys" + {"ECMWF_s",39}, + {""}, {""}, {""}, +#line 495 "../tests/keys" + {"extraValues",490}, + {""}, +#line 487 "../tests/keys" + {"experimentVersionNumberOfAnalysis",482}, + {""}, {""}, {""}, {""}, +#line 920 "../tests/keys" + {"numberOfCoordinatesValues",915}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 710 "../tests/keys" + {"listMembersUsed4",705}, +#line 582 "../tests/keys" + {"hourOfEndOfOverallTimeInterval",577}, +#line 1503 "../tests/keys" + {"totalNumberOfTubes",1498}, + {""}, {""}, {""}, {""}, +#line 884 "../tests/keys" + {"northWestLatitudeOfLPOArea",879}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1362 "../tests/keys" + {"sensitiveAreaDomain",1357}, + {""}, {""}, +#line 544 "../tests/keys" + {"getNumberOfValues",539}, + {""}, +#line 1145 "../tests/keys" + {"physicalFlag1",1140}, + {""}, {""}, +#line 154 "../tests/keys" + {"Nj",149}, + {""}, {""}, +#line 1275 "../tests/keys" + {"scaledValueOfFirstWavelength",1270}, + {""}, {""}, {""}, +#line 261 "../tests/keys" + {"averaging1Flag",256}, + {""}, {""}, {""}, {""}, {""}, +#line 914 "../tests/keys" + {"numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction",909}, +#line 915 "../tests/keys" + {"numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction",910}, + {""}, {""}, {""}, {""}, +#line 961 "../tests/keys" + {"numberOfPointsAlongAParallel",956}, + {""}, {""}, {""}, {""}, +#line 874 "../tests/keys" + {"nameOfSecondFixedSurface",869}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1154 "../tests/keys" + {"powerOfTenUsedToScaleClimateWeight",1149}, + {""}, {""}, {""}, {""}, {""}, +#line 48 "../tests/keys" + {"Ensemble_Combination_Number",43}, + {""}, {""}, {""}, {""}, +#line 1121 "../tests/keys" + {"paramIdECMF",1116}, +#line 39 "../tests/keys" + {"DxInMetres",34}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 960 "../tests/keys" + {"numberOfPointsAlongAMeridian",955}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 683 "../tests/keys" + {"latitudeWhereDxAndDyAreSpecifiedInDegrees",678}, + {""}, {""}, {""}, {""}, +#line 129 "../tests/keys" + {"Model_Additional_Information",124}, +#line 33 "../tests/keys" + {"DjGiven",28}, + {""}, {""}, +#line 822 "../tests/keys" + {"matrixOfValues",817}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1229 "../tests/keys" + {"reserved1",1224}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 682 "../tests/keys" + {"latitudeWhereDxAndDyAreSpecified",677}, +#line 1454 "../tests/keys" + {"szipPixelPerScanLine",1449}, +#line 195 "../tests/keys" + {"TYPE_FF",190}, + {""}, {""}, {""}, {""}, {""}, +#line 515 "../tests/keys" + {"flagForNormalOrStaggeredGrid",510}, + {""}, {""}, {""}, {""}, +#line 1047 "../tests/keys" + {"packedValues",1042}, +#line 815 "../tests/keys" + {"masterTablesVersionNumber",810}, + {""}, +#line 1101 "../tests/keys" + {"padding_loc50_1",1096}, + {""}, {""}, {""}, {""}, +#line 516 "../tests/keys" + {"flagShowingPostAuxiliaryArrayInUse",511}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 605 "../tests/keys" + {"indicatorOfUnitForTimeRange",600}, + {""}, {""}, +#line 604 "../tests/keys" + {"indicatorOfUnitForTimeIncrement",599}, + {""}, {""}, {""}, {""}, +#line 1602 "../tests/keys" + {"yDirectionGridLengthInMetres",1597}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1603 "../tests/keys" + {"yDirectionGridLengthInMillimetres",1598}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1538 "../tests/keys" + {"typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing",1533}, + {""}, {""}, {""}, {""}, {""}, +#line 823 "../tests/keys" + {"max",818}, +#line 19 "../tests/keys" + {"BUFRstr",14}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 193 "../tests/keys" + {"TYPE_CF",188}, + {""}, {""}, {""}, {""}, {""}, +#line 70 "../tests/keys" + {"Hour_E3",65}, + {""}, {""}, {""}, +#line 448 "../tests/keys" + {"dx",443}, + {""}, {""}, {""}, {""}, +#line 244 "../tests/keys" + {"addExtraLocalSection",239}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 709 "../tests/keys" + {"listMembersUsed3",704}, + {""}, {""}, +#line 1367 "../tests/keys" + {"shapeOfVerificationArea",1362}, + {""}, {""}, {""}, {""}, +#line 416 "../tests/keys" + {"dayOfEndOfOverallTimeInterval",411}, + {""}, {""}, {""}, {""}, {""}, +#line 1056 "../tests/keys" + {"padding_grid5_1",1051}, + {""}, {""}, {""}, +#line 101 "../tests/keys" + {"LoV",96}, + {""}, +#line 358 "../tests/keys" + {"coordAveragingTims",353}, + {""}, {""}, {""}, +#line 1492 "../tests/keys" + {"totalAerosolBinsNumbers",1487}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 130 "../tests/keys" + {"Model_Identifier",125}, + {""}, {""}, {""}, {""}, {""}, +#line 194 "../tests/keys" + {"TYPE_FC",189}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 37 "../tests/keys" + {"Dx",32}, + {""}, {""}, +#line 1561 "../tests/keys" + {"unpackedValues",1556}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 24 "../tests/keys" + {"Date_E2",19}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1534 "../tests/keys" + {"typeOfSecondFixedSurface",1529}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 626 "../tests/keys" + {"isectionNumber2",621}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 57 "../tests/keys" + {"GG",52}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 633 "../tests/keys" + {"jDirectionIncrementGridLength",628}, +#line 812 "../tests/keys" + {"mask",807}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 793 "../tests/keys" + {"marsKeywords1",788}, + {""}, {""}, {""}, {""}, +#line 1383 "../tests/keys" + {"southEastLatitudeOfVerficationArea",1378}, + {""}, {""}, {""}, +#line 134 "../tests/keys" + {"N1",129}, + {""}, {""}, +#line 778 "../tests/keys" + {"mAngleMultiplier",773}, + {""}, {""}, {""}, +#line 692 "../tests/keys" + {"lengthOf4DvarWindow",687}, + {""}, +#line 266 "../tests/keys" + {"backgroundGeneratingProcessIdentifier",261}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 220 "../tests/keys" + {"X2InGridLengths",215}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 15 "../tests/keys" + {"BBB",10}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 788 "../tests/keys" + {"marsExpver",783}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 969 "../tests/keys" + {"numberOfPressureLevelsUsedForClustering",964}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1091 "../tests/keys" + {"padding_loc29_3",1086}, + {""}, +#line 1106 "../tests/keys" + {"padding_loc9_2",1101}, + {""}, {""}, +#line 1556 "../tests/keys" + {"unitsOfFirstFixedSurface",1551}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 169 "../tests/keys" + {"P_INST",164}, + {""}, {""}, {""}, +#line 139 "../tests/keys" + {"NC2",134}, +#line 708 "../tests/keys" + {"listMembersUsed2",703}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 187 "../tests/keys" + {"Sub-Experiment_Identifier",182}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 893 "../tests/keys" + {"numberInMixedCoordinateDefinition",888}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 775 "../tests/keys" + {"lowerThresholdValue",770}, +#line 881 "../tests/keys" + {"normAtInitialTime",876}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 962 "../tests/keys" + {"numberOfPointsAlongFirstAxis",957}, + {""}, {""}, {""}, +#line 1152 "../tests/keys" + {"postAuxiliary",1147}, +#line 1563 "../tests/keys" + {"unusedBitsInBitmap",1558}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 200 "../tests/keys" + {"Threshold_Or_Distribution_0_no_1_yes",195}, + {""}, {""}, {""}, {""}, +#line 1363 "../tests/keys" + {"setBitsPerValue",1358}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 72 "../tests/keys" + {"ICEFieldsUsed",67}, + {""}, {""}, {""}, {""}, {""}, +#line 141 "../tests/keys" + {"NG",136}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 963 "../tests/keys" + {"numberOfPointsAlongSecondAxis",958}, +#line 983 "../tests/keys" + {"numberOfUnusedBitsAtEndOfSection3",978}, + {""}, +#line 218 "../tests/keys" + {"X1InGridLengths",213}, + {""}, +#line 249 "../tests/keys" + {"alternativeRowScanning",244}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 955 "../tests/keys" + {"numberOfPackedValues",950}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 125 "../tests/keys" + {"Missing_Model_LBC",120}, +#line 1518 "../tests/keys" + {"typeOfAuxiliaryInformation",1513}, + {""}, +#line 1412 "../tests/keys" + {"startingAzimuth",1407}, +#line 1097 "../tests/keys" + {"padding_loc37_2",1092}, +#line 69 "../tests/keys" + {"Hour_E2",64}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1095 "../tests/keys" + {"padding_loc30_2",1090}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 1272 "../tests/keys" + {"scaledValueOfEarthMinorAxis",1267}, + {""}, {""}, +#line 1271 "../tests/keys" + {"scaledValueOfEarthMajorAxis",1266}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 198 "../tests/keys" + {"TYPE_OR",193}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 157 "../tests/keys" + {"Number_Combination_Ensembles_1_none",152}, + {""}, {""}, +#line 816 "../tests/keys" + {"matchAerosolBinNumber",811}, + {""}, {""}, +#line 895 "../tests/keys" + {"numberInTheGridCoordinateList",890}, + {""}, {""}, {""}, {""}, {""}, +#line 124 "../tests/keys" + {"Minute_E4",119}, + {""}, +#line 170 "../tests/keys" + {"P_TACC",165}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 23 "../tests/keys" + {"DELETE",18}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1378 "../tests/keys" + {"skew",1373}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1443 "../tests/keys" + {"subdivisionsOfBasicAngle",1438}, +#line 52 "../tests/keys" + {"Ensemble_Identifier_E4",47}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1525 "../tests/keys" + {"typeOfIntervalForFirstAndSecondSize",1520}, + {""}, {""}, {""}, +#line 894 "../tests/keys" + {"numberInTheAuxiliaryArray",889}, + {""}, +#line 1436 "../tests/keys" + {"subLocalDefinitionLength2",1431}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1230 "../tests/keys" + {"reservedNeedNotBePresent",1225}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 132 "../tests/keys" + {"MonthOfModelVersion",127}, + {""}, {""}, {""}, +#line 1578 "../tests/keys" + {"versionNumberOfGribLocalTables",1573}, + {""}, {""}, {""}, +#line 229 "../tests/keys" + {"Y2InGridLengths",224}, + {""}, +#line 1087 "../tests/keys" + {"padding_loc27_2",1082}, +#line 1090 "../tests/keys" + {"padding_loc29_2",1085}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1104 "../tests/keys" + {"padding_loc7_1",1099}, +#line 1105 "../tests/keys" + {"padding_loc9_1",1100}, + {""}, {""}, {""}, {""}, {""}, +#line 1108 "../tests/keys" + {"padding_local1_1",1103}, +#line 1109 "../tests/keys" + {"padding_local1_31",1104}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 138 "../tests/keys" + {"NC1",133}, +#line 160 "../tests/keys" + {"Original_CodeTable_2_Version_Number",155}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 1438 "../tests/keys" + {"subLocalDefinitionNumber2",1433}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 1382 "../tests/keys" + {"southEastLatitudeOfLPOArea",1377}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 147 "../tests/keys" + {"NRj",142}, + {""}, {""}, {""}, +#line 211 "../tests/keys" + {"UseEcmfConventions",206}, + {""}, {""}, +#line 53 "../tests/keys" + {"Experiment_Identifier",48}, + {""}, +#line 1054 "../tests/keys" + {"padding_grid4_1",1049}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1024 "../tests/keys" + {"offsetValuesBy",1019}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 51 "../tests/keys" + {"Ensemble_Identifier_E3",46}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 964 "../tests/keys" + {"numberOfPointsAlongTheXAxis",959}, + {""}, +#line 1103 "../tests/keys" + {"padding_loc6_1",1098}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1102 "../tests/keys" + {"padding_loc5_1",1097}, + {""}, {""}, {""}, +#line 996 "../tests/keys" + {"octetAtWichPackedDataBegins",991}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 227 "../tests/keys" + {"Y1InGridLengths",222}, + {""}, +#line 1068 "../tests/keys" + {"padding_loc17_2",1063}, +#line 1076 "../tests/keys" + {"padding_loc19_2",1071}, + {""}, {""}, {""}, {""}, +#line 1096 "../tests/keys" + {"padding_loc37_1",1091}, + {""}, +#line 1258 "../tests/keys" + {"scaleFactorOfMinorAxisOfOblateSpheroidEarth",1253}, + {""}, {""}, +#line 1257 "../tests/keys" + {"scaleFactorOfMajorAxisOfOblateSpheroidEarth",1252}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 156 "../tests/keys" + {"NrInRadiusOfEarth",151}, + {""}, {""}, {""}, +#line 1094 "../tests/keys" + {"padding_loc30_1",1089}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 18 "../tests/keys" - {"DELETE",13}, + {"BUFR",13}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 299 "../tests/keys" + {"cfNameECMF",294}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 636 "../tests/keys" + {"jPointsAreConsecutive",631}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 123 "../tests/keys" + {"Minute_E3",118}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 1052 "../tests/keys" + {"padding_grid1_2",1047}, + {""}, {""}, {""}, {""}, {""}, +#line 1053 "../tests/keys" + {"padding_grid3_1",1048}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1057 "../tests/keys" + {"padding_grid90_1",1052}, + {""}, +#line 50 "../tests/keys" + {"Ensemble_Identifier_E2",45}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1435 "../tests/keys" + {"subLocalDefinitionLength1",1430}, + {""}, {""}, +#line 486 "../tests/keys" + {"experimentVersionNumber2",481}, +#line 1070 "../tests/keys" + {"padding_loc18_2",1065}, + {""}, {""}, {""}, {""}, {""}, +#line 1098 "../tests/keys" + {"padding_loc38_1",1093}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1116 "../tests/keys" + {"padding_sec2_3",1111}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1062 "../tests/keys" + {"padding_loc13_4",1057}, +#line 11 "../tests/keys" + {"AA",6}, + {""}, {""}, +#line 1086 "../tests/keys" + {"padding_loc27_1",1081}, +#line 1089 "../tests/keys" + {"padding_loc29_1",1084}, +#line 510 "../tests/keys" + {"firstMonthUsedToBuildClimateMonth2",505}, + {""}, {""}, {""}, +#line 1107 "../tests/keys" + {"padding_local11_1",1102}, + {""}, +#line 1100 "../tests/keys" + {"padding_loc4_2",1095}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 149 "../tests/keys" + {"NV",144}, + {""}, {""}, {""}, {""}, +#line 1077 "../tests/keys" + {"padding_loc20_1",1072}, + {""}, {""}, +#line 204 "../tests/keys" + {"Time_Range_One_E4",199}, + {""}, {""}, {""}, {""}, {""}, +#line 1526 "../tests/keys" + {"typeOfIntervalForFirstAndSecondWavelength",1521}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 902 "../tests/keys" + {"numberOfBitsUsedForTheGroupWidths",897}, + {""}, +#line 1437 "../tests/keys" + {"subLocalDefinitionNumber1",1432}, + {""}, +#line 58 "../tests/keys" + {"GRIB",53}, + {""}, {""}, {""}, {""}, {""}, +#line 1055 "../tests/keys" + {"padding_grid50_1",1050}, + {""}, {""}, +#line 337 "../tests/keys" + {"complexPacking",332}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1269 "../tests/keys" + {"scaledValueOfCentralWaveNumber",1264}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 852 "../tests/keys" + {"missingValueManagementUsed",847}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 1085 "../tests/keys" + {"padding_loc26_1",1080}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 485 "../tests/keys" + {"experimentVersionNumber1",480}, +#line 1088 "../tests/keys" + {"padding_loc28_1",1083}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 1082 "../tests/keys" + {"padding_loc244_3",1077}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 965 "../tests/keys" + {"numberOfPointsAlongTheYAxis",960}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 568 "../tests/keys" + {"gts_TTAAii",563}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1153 "../tests/keys" + {"postAuxiliaryArrayPresent",1148}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 509 "../tests/keys" + {"firstMonthUsedToBuildClimateMonth1",504}, + {""}, {""}, +#line 1158 "../tests/keys" + {"precisionOfTheUnpackedSubset",1153}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1058 "../tests/keys" + {"padding_loc10_1",1053}, +#line 1594 "../tests/keys" + {"xDirectionGridLength",1589}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 203 "../tests/keys" + {"Time_Range_One_E3",198}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1369 "../tests/keys" + {"shortNameECMF",1364}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 984 "../tests/keys" + {"numberOfVGridUsed",979}, + {""}, +#line 122 "../tests/keys" + {"Minute_E2",117}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1051 "../tests/keys" + {"padding_grid1_1",1046}, + {""}, {""}, {""}, {""}, {""}, +#line 1473 "../tests/keys" + {"tiggeLAMName",1468}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1067 "../tests/keys" + {"padding_loc16_1",1062}, + {""}, {""}, {""}, {""}, {""}, +#line 79 "../tests/keys" + {"LBC_Initial_Conditions",74}, +#line 462 "../tests/keys" + {"endMark",457}, +#line 1084 "../tests/keys" + {"padding_loc245_2",1079}, + {""}, +#line 1069 "../tests/keys" + {"padding_loc18_1",1064}, +#line 1066 "../tests/keys" + {"padding_loc15_1",1061}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1081 "../tests/keys" + {"padding_loc244_2",1076}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 1118 "../tests/keys" + {"padding_sec4_1",1113}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1115 "../tests/keys" + {"padding_sec2_2",1110}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 1093 "../tests/keys" + {"padding_loc2_2",1088}, + {""}, {""}, {""}, +#line 1061 "../tests/keys" + {"padding_loc13_3",1056}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 54 "../tests/keys" + {"Extra_Data_FreeFormat_0_none",49}, + {""}, {""}, +#line 202 "../tests/keys" + {"Time_Range_One_E2",197}, + {""}, {""}, +#line 1571 "../tests/keys" + {"uvRelativeToGrid",1566}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 336 "../tests/keys" + {"commonBlock",331}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1464 "../tests/keys" + {"thisExperimentVersionNumber",1459}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 128 "../tests/keys" + {"Missing_Model_LBC_E4",123}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1083 "../tests/keys" + {"padding_loc245_1",1078}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1080 "../tests/keys" + {"padding_loc244_1",1075}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 1117 "../tests/keys" + {"padding_sec3_1",1112}, + {""}, {""}, {""}, +#line 1065 "../tests/keys" + {"padding_loc14_2",1060}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1099 "../tests/keys" + {"padding_loc3_1",1094}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1074 "../tests/keys" + {"padding_loc191_3",1069}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 331 "../tests/keys" + {"codedNumberOfFirstOrderPackedValues",326}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1237 "../tests/keys" - {"skew",1232}, - {""}, {""}, {""}, {""}, -#line 943 "../tests/keys" - {"padding_loc15_1",938}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 322 "../tests/keys" - {"coordinateFlag1",317}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 944 "../tests/keys" - {"padding_loc16_1",939}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 95 "../tests/keys" - {"LoVInDegrees",90}, +#line 357 "../tests/keys" + {"coordAveraging3",352}, +#line 158 "../tests/keys" + {"Nx",153}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 946 "../tests/keys" - {"padding_loc18_1",941}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 40 "../tests/keys" - {"Ensemble_Combinat_Number_0_none_E3",35}, - {""}, #line 9 "../tests/keys" {"*********_EXTRA_DATA_***************",4}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 952 "../tests/keys" - {"padding_loc192_1",947}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1114 "../tests/keys" + {"padding_sec2_1",1109}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 90 "../tests/keys" - {"Less_Than_Or_To_Overall_Distribution",85}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1060 "../tests/keys" + {"padding_loc13_2",1055}, + {""}, +#line 1092 "../tests/keys" + {"padding_loc2_1",1087}, + {""}, {""}, +#line 17 "../tests/keys" + {"BUDG",12}, {""}, {""}, {""}, -#line 187 "../tests/keys" - {"Time_Range_Two_E3",182}, - {""}, -#line 306 "../tests/keys" - {"coordAveraging1",301}, - {""}, -#line 971 "../tests/keys" - {"padding_loc30_1",966}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1073 "../tests/keys" + {"padding_loc191_2",1068}, {""}, {""}, {""}, {""}, {""}, -#line 931 "../tests/keys" - {"padding_grid3_1",926}, +#line 1075 "../tests/keys" + {"padding_loc192_1",1070}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 210 "../tests/keys" + {"Total_Number_Members_Used",205}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1595 "../tests/keys" + {"xDirectionGridLengthInMetres",1590}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1596 "../tests/keys" + {"xDirectionGridLengthInMillimetres",1591}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 208 "../tests/keys" + {"Total_Number_Members_Missing",203}, + {""}, {""}, +#line 209 "../tests/keys" + {"Total_Number_Members_Possible",204}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 127 "../tests/keys" + {"Missing_Model_LBC_E3",122}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1064 "../tests/keys" + {"padding_loc14_1",1059}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1079 "../tests/keys" + {"padding_loc23_1",1074}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1072 "../tests/keys" + {"padding_loc191_1",1067}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1528 "../tests/keys" + {"typeOfLevelECMF",1523}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 356 "../tests/keys" + {"coordAveraging2",351}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 176 "../tests/keys" + {"SZ_CHIP_OPTION_MASK",171}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 280 "../tests/keys" + {"bitsPerValueAndRepack",275}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 968 "../tests/keys" - {"padding_loc29_3",963}, +#line 201 "../tests/keys" + {"Threshold_Or_Distribution_Units",196}, + {""}, {""}, +#line 1059 "../tests/keys" + {"padding_loc13_1",1054}, + {""}, {""}, +#line 111 "../tests/keys" + {"Local_Number_Members_Used",106}, + {""}, {""}, {""}, {""}, {""}, +#line 1071 "../tests/keys" + {"padding_loc190_1",1066}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 103 "../tests/keys" + {"Local_Number_Members_Missing",98}, + {""}, {""}, +#line 107 "../tests/keys" + {"Local_Number_Members_Possible",102}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, #line 61 "../tests/keys" - {"ICEFieldsUsed",56}, + {"GRIBEX_boustrophedonic",56}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 1278 "../tests/keys" + {"scaledValueOfMinorAxisOfOblateSpheroidEarth",1273}, {""}, {""}, -#line 942 "../tests/keys" - {"padding_loc14_2",937}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 168 "../tests/keys" - {"Show_Combination_Ensem_E4_0_no_1_yes",163}, +#line 1277 "../tests/keys" + {"scaledValueOfMajorAxisOfOblateSpheroidEarth",1272}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 126 "../tests/keys" + {"Missing_Model_LBC_E2",121}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 186 "../tests/keys" + {"Show_Combination_Ensem_E4_0_no_1_yes",181}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 1078 "../tests/keys" + {"padding_loc21_1",1073}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 96 "../tests/keys" + {"Less_Than_Or_To_Overall_Distribution",91}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 355 "../tests/keys" + {"coordAveraging1",350}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 131 "../tests/keys" + {"Model_LBC_Member_Identifier",126}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 74 "../tests/keys" + {"ITERATOR",69}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 59 "../tests/keys" + {"GRIBEXSection1Problem",54}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 185 "../tests/keys" + {"Show_Combination_Ensem_E3_0_no_1_yes",180}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 651 "../tests/keys" + {"lastMonthUsedToBuildClimateMonth2",646}, + {""}, {""}, {""}, {""}, {""}, +#line 47 "../tests/keys" + {"Ensemble_Combinat_Number_0_none_E4",42}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 207 "../tests/keys" + {"Time_Range_Two_E4",202}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 140 "../tests/keys" + {"NEAREST",135}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 301 "../tests/keys" + {"cfVarNameECMF",296}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 184 "../tests/keys" + {"Show_Combination_Ensem_E2_0_no_1_yes",179}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 650 "../tests/keys" + {"lastMonthUsedToBuildClimateMonth1",645}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 46 "../tests/keys" + {"Ensemble_Combinat_Number_0_none_E3",41}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 206 "../tests/keys" + {"Time_Range_Two_E3",201}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 62 "../tests/keys" + {"GRIBEditionNumber",57}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 1452 "../tests/keys" + {"szipOptionsMask",1447}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 106 "../tests/keys" - {"Local_Number_Members_Used_E3",101}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 166 "../tests/keys" - {"Show_Combination_Ensem_E2_0_no_1_yes",161}, -#line 120 "../tests/keys" - {"Missing_Model_LBC_E4",115}, + {"Local_Number_Members_Missing_E4",101}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 862 "../tests/keys" - {"numberOfUnusedBitsAtEndOfSection3",857}, + {""}, {""}, {""}, {""}, {""}, +#line 45 "../tests/keys" + {"Ensemble_Combinat_Number_0_none_E2",40}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 115 "../tests/keys" - {"Minute_E3",110}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 118 "../tests/keys" - {"Missing_Model_LBC_E2",113}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 1329 "../tests/keys" - {"timeRangeIndicatorFromStepRange",1324}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1348 "../tests/keys" - {"tsectionNumber3",1343}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 297 "../tests/keys" - {"conceptsLocalDirECMF",292}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 561 "../tests/keys" - {"isectionNumber3",556}, +#line 205 "../tests/keys" + {"Time_Range_Two_E2",200}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 684 "../tests/keys" - {"lowerThresholdValue",679}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 553 "../tests/keys" - {"intervalBetweenTimes",548}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 63 "../tests/keys" + {"GRIB_DEPTH",58}, {""}, -#line 71 "../tests/keys" - {"LBC_Initial_Conditions",66}, +#line 110 "../tests/keys" + {"Local_Number_Members_Possible_E4",105}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 105 "../tests/keys" + {"Local_Number_Members_Missing_E3",100}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 60 "../tests/keys" + {"GRIBEXShBugPresent",55}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 1453 "../tests/keys" + {"szipPixelPerBlock",1448}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 109 "../tests/keys" + {"Local_Number_Members_Possible_E3",104}, + {""}, +#line 212 "../tests/keys" + {"Used_Model_LBC",207}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 104 "../tests/keys" + {"Local_Number_Members_Missing_E2",99}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 108 "../tests/keys" + {"Local_Number_Members_Possible_E2",103}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 135 "../tests/keys" - {"NINT_RITZ_EXP",130}, +#line 13 "../tests/keys" + {"At_least__Or_Distribut_Proportion_Of",8}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 584 "../tests/keys" - {"lastMonthUsedToBuildClimateMonth2",579}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4013,52 +4812,96 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 15 "../tests/keys" - {"BUFRstr",10}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1295 "../tests/keys" - {"subdivisionsOfBasicAngle",1290}, +#line 171 "../tests/keys" + {"P_TAVG",166}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 192 "../tests/keys" + {"TYPE_AN",187}, + {""}, {""}, {""}, {""}, {""}, +#line 114 "../tests/keys" + {"Local_Number_Members_Used_E4",109}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 941 "../tests/keys" - {"padding_loc14_1",936}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 940 "../tests/keys" - {"padding_loc13_4",935}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 308 "../tests/keys" - {"coordAveraging3",303}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 955 "../tests/keys" - {"padding_loc21_1",950}, - {""}, -#line 162 "../tests/keys" - {"P_TAVG",157}, +#line 178 "../tests/keys" + {"SZ_LSB_OPTION_MASK",173}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, +#line 113 "../tests/keys" + {"Local_Number_Members_Used_E3",108}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 112 "../tests/keys" + {"Local_Number_Members_Used_E2",107}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 938 "../tests/keys" - {"padding_loc13_2",933}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 167 "../tests/keys" - {"Show_Combination_Ensem_E3_0_no_1_yes",162}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 583 "../tests/keys" - {"lastMonthUsedToBuildClimateMonth1",578}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 147 "../tests/keys" - {"NrInRadiusOfEarth",142}, +#line 1582 "../tests/keys" + {"weightAppliedToClimateMonth1",1577}, + {""}, {""}, +#line 179 "../tests/keys" + {"SZ_MSB_OPTION_MASK",174}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4074,693 +4917,51 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 215 "../tests/keys" + {"Used_Model_LBC_E4",210}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 214 "../tests/keys" + {"Used_Model_LBC_E3",209}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 1376 "../tests/keys" - {"typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing",1371}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 13 "../tests/keys" - {"BUDG",8}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 956 "../tests/keys" - {"padding_loc23_1",951}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 192 "../tests/keys" - {"Used_Model_LBC",187}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 937 "../tests/keys" - {"padding_loc13_1",932}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 119 "../tests/keys" - {"Missing_Model_LBC_E3",114}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 131 "../tests/keys" - {"NEAREST",126}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1410 "../tests/keys" - {"weightAppliedToClimateMonth1",1405}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {"sizeOfPostAuxiliaryArray",1371}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 195 "../tests/keys" - {"Used_Model_LBC_E4",190}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 193 "../tests/keys" - {"Used_Model_LBC_E2",188}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 939 "../tests/keys" - {"padding_loc13_3",934}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 14 "../tests/keys" - {"BUFR",9}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 194 "../tests/keys" - {"Used_Model_LBC_E3",189}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 1236 "../tests/keys" - {"sizeOfPostAuxiliaryArrayPlusOne",1231}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, -#line 68 "../tests/keys" - {"LATITUDE",63}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 51 "../tests/keys" - {"GRIB",46}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 1235 "../tests/keys" - {"sizeOfPostAuxiliaryArray",1230}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 54 "../tests/keys" - {"GRIBEditionNumber",49}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 72 "../tests/keys" - {"LONGITUDE",67}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 52 "../tests/keys" - {"GRIBEXSection1Problem",47}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 70 "../tests/keys" - {"LATITUDE2",65}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, -#line 55 "../tests/keys" - {"GRIB_DEPTH",50}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 74 "../tests/keys" - {"LONGITUDE2",69}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 69 "../tests/keys" - {"LATITUDE1",64}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 53 "../tests/keys" - {"GRIBEXShBugPresent",48}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 73 "../tests/keys" - {"LONGITUDE1",68}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, -#line 63 "../tests/keys" - {"ITERATOR",58}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 181 "../tests/keys" + {"SZ_RAW_OPTION_MASK",176}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4770,11 +4971,14 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 134 "../tests/keys" - {"NINT_LOG10_RITZ",129}, +#line 1377 "../tests/keys" + {"sizeOfPostAuxiliaryArrayPlusOne",1372}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, +#line 213 "../tests/keys" + {"Used_Model_LBC_E2",208}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4843,8 +5047,6 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 56 "../tests/keys" - {"GRIB_LATITUDE",51}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4855,6 +5057,9 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 144 "../tests/keys" + {"NINT_RITZ_EXP",139}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4903,6 +5108,9 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 175 "../tests/keys" + {"SZ_ALLOW_K13_OPTION_MASK",170}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -4980,6 +5188,9 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 177 "../tests/keys" + {"SZ_EC_OPTION_MASK",172}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, @@ -5021,12 +5232,286 @@ static struct grib_keys_hash wordlist[] = {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 57 "../tests/keys" - {"GRIB_LONGITUDE",52} + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, +#line 180 "../tests/keys" + {"SZ_NN_OPTION_MASK",175}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 64 "../tests/keys" + {"GRIB_LATITUDE",59}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 65 "../tests/keys" + {"GRIB_LONGITUDE",60}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 143 "../tests/keys" + {"NINT_LOG10_RITZ",138} }; #ifdef __GNUC__ +#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ +#endif #endif struct grib_keys_hash * grib_keys_hash_get (str, len) @@ -5047,7 +5532,7 @@ grib_keys_hash_get (str, len) } return 0; } -/** +/* * Copyright 2005-2014 ECMWF. * * This software is licensed under the terms of the Apache Licence Version 2.0 @@ -5055,7 +5540,7 @@ grib_keys_hash_get (str, len) * * In applying this licence, ECMWF does not waive the privileges and immunities granted to it by * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. -*/ + */ /************************************** * Enrico Fucile diff --git a/src/grib_iterator_class_gaussian_reduced.c b/src/grib_iterator_class_gaussian_reduced.c index f2f27f58b..9970ee6dc 100644 --- a/src/grib_iterator_class_gaussian_reduced.c +++ b/src/grib_iterator_class_gaussian_reduced.c @@ -103,106 +103,116 @@ static int next(grib_iterator* i, double *lat, double *lon, double *val) return 1; } - static int init(grib_iterator* iter,grib_handle* h,grib_arguments* args) { - int ret=GRIB_SUCCESS,j; - double lat_first=0,lon_first=0,lat_last=0,lon_last=0,d=0; - double* lats; - size_t plsize=0; - int l=0; - long* pl; - long nj=0,order=0,ilon_first,ilon_last,i; - long row_count=0; - grib_context* c=h->context; - grib_iterator_gaussian_reduced* self = (grib_iterator_gaussian_reduced*)iter; - const char* slat_first = grib_arguments_get_name(h,args,self->carg++); - const char* slon_first = grib_arguments_get_name(h,args,self->carg++); - const char* slat_last = grib_arguments_get_name(h,args,self->carg++); - const char* slon_last = grib_arguments_get_name(h,args,self->carg++); - const char* sorder = grib_arguments_get_name(h,args,self->carg++); - const char* spl = grib_arguments_get_name(h,args,self->carg++); - const char* snj = grib_arguments_get_name(h,args,self->carg++); + int ret=GRIB_SUCCESS,j; + double lat_first=0,lon_first=0,lat_last=0,lon_last=0,d=0; + double* lats; + size_t plsize=0; + int l=0; + long* pl; + long nj=0,order=0,ilon_first,ilon_last,i; + long row_count=0; + grib_context* c=h->context; + grib_iterator_gaussian_reduced* self = (grib_iterator_gaussian_reduced*)iter; + const char* slat_first = grib_arguments_get_name(h,args,self->carg++); + const char* slon_first = grib_arguments_get_name(h,args,self->carg++); + const char* slat_last = grib_arguments_get_name(h,args,self->carg++); + const char* slon_last = grib_arguments_get_name(h,args,self->carg++); + const char* sorder = grib_arguments_get_name(h,args,self->carg++); + const char* spl = grib_arguments_get_name(h,args,self->carg++); + const char* snj = grib_arguments_get_name(h,args,self->carg++); - if((ret = grib_get_double_internal(h, slat_first,&lat_first)) != GRIB_SUCCESS) - return ret; - if((ret = grib_get_double_internal(h, slon_first,&lon_first)) != GRIB_SUCCESS) - return ret; - if((ret = grib_get_double_internal(h, slat_last,&lat_last)) != GRIB_SUCCESS) - return ret; - if((ret = grib_get_double_internal(h, slon_last,&lon_last)) != GRIB_SUCCESS) - return ret; + if((ret = grib_get_double_internal(h, slat_first,&lat_first)) != GRIB_SUCCESS) + return ret; + if((ret = grib_get_double_internal(h, slon_first,&lon_first)) != GRIB_SUCCESS) + return ret; + if((ret = grib_get_double_internal(h, slat_last,&lat_last)) != GRIB_SUCCESS) + return ret; + if((ret = grib_get_double_internal(h, slon_last,&lon_last)) != GRIB_SUCCESS) + return ret; - if((ret = grib_get_long_internal(h, sorder,&order)) != GRIB_SUCCESS) - return ret; - if((ret = grib_get_long_internal(h, snj,&nj)) != GRIB_SUCCESS) - return ret; + if((ret = grib_get_long_internal(h, sorder,&order)) != GRIB_SUCCESS) + return ret; + if((ret = grib_get_long_internal(h, snj,&nj)) != GRIB_SUCCESS) + return ret; - lats=(double*)grib_context_malloc(h->context,sizeof(double)*order*2); - if((ret = grib_get_gaussian_latitudes(order, lats)) != GRIB_SUCCESS) - return ret; + lats=(double*)grib_context_malloc(h->context,sizeof(double)*order*2); + if (!lats) return GRIB_OUT_OF_MEMORY; + if((ret = grib_get_gaussian_latitudes(order, lats)) != GRIB_SUCCESS) + return ret; - if((ret = grib_get_size(h,spl,&plsize)) != GRIB_SUCCESS) - return ret; + if((ret = grib_get_size(h,spl,&plsize)) != GRIB_SUCCESS) + return ret; - pl=(long*)grib_context_malloc(c,sizeof(long)*plsize); - grib_get_long_array_internal(h,spl,pl, &plsize); + pl=(long*)grib_context_malloc(c,sizeof(long)*plsize); + if (!pl) return GRIB_OUT_OF_MEMORY; - self->las = grib_context_malloc(h->context,iter->nv*sizeof(double)); - self->los = grib_context_malloc(h->context,iter->nv*sizeof(double)); + grib_get_long_array_internal(h,spl,pl, &plsize); - while (lon_last<0) lon_last+=360; - while (lon_first<0) lon_first+=360; + self->las = grib_context_malloc(h->context,iter->nv*sizeof(double)); + if (!self->las) return GRIB_OUT_OF_MEMORY; + self->los = grib_context_malloc(h->context,iter->nv*sizeof(double)); + if (!self->los) return GRIB_OUT_OF_MEMORY; - d=fabs(lats[0]-lats[1]); - if ( (fabs(lat_first-lats[0]) >= d ) || - (fabs(lat_last+lats[0]) >= d ) || - lon_first != 0 || - fabs(lon_last - (360.0-90.0/order)) > 90.0/order - ) { - /*sub area*/ - /*find starting latitude */ - while (fabs(lat_first-lats[l]) > d ) {l++;} - iter->e=0; - for (j=0;jilon_last) ilon_first-=pl[j]; - for (i=ilon_first;i<=ilon_last;i++) { - self->los[iter->e]=((i)*360.0)/pl[j]; - self->las[iter->e]=lats[j+l]; - iter->e++; + while (lon_last<0) lon_last+=360; + while (lon_first<0) lon_first+=360; + + d=fabs(lats[0]-lats[1]); + if ( (fabs(lat_first-lats[0]) >= d ) || + (fabs(lat_last+lats[0]) >= d ) || + lon_first != 0 || + fabs(lon_last - (360.0-90.0/order)) > 90.0/order + ) { + /*sub area*/ + /*find starting latitude */ + while (fabs(lat_first-lats[l]) > d ) {l++;} + iter->e=0; + for (j=0;jilon_last) ilon_first-=pl[j]; + for (i=ilon_first;i<=ilon_last;i++) { +#ifdef DEBUG + Assert(0); + Assert(iter->e < iter->nv); +#endif + self->los[iter->e]=((i)*360.0)/pl[j]; + self->las[iter->e]=lats[j+l]; + iter->e++; + } } - } - } else { - /*global*/ - iter->e=0; - for (j=0;jlos[iter->e]=(i*360.0)/row_count; - self->las[iter->e]=lats[j]; - iter->e++; + } else { + /*global*/ + iter->e=0; + for (j=0;je < iter->nv); +#endif + self->los[iter->e]=(i*360.0)/row_count; + self->las[iter->e]=lats[j]; + iter->e++; + } } - } - } + } - iter->e = -1; - grib_context_free(h->context,lats); - grib_context_free(h->context,pl); + iter->e = -1; + grib_context_free(h->context,lats); + grib_context_free(h->context,pl); - return ret; + return ret; } static int destroy(grib_iterator* i) { - grib_iterator_gaussian_reduced* self = (grib_iterator_gaussian_reduced*)i; - const grib_context *c = i->h->context; + grib_iterator_gaussian_reduced* self = (grib_iterator_gaussian_reduced*)i; + const grib_context *c = i->h->context; - grib_context_free(c,self->las); - grib_context_free(c,self->los); - return 1; + grib_context_free(c,self->las); + grib_context_free(c,self->los); + return 1; } diff --git a/src/grib_nearest_class_regular.c b/src/grib_nearest_class_regular.c index 7e2a12aa6..b693a6c12 100644 --- a/src/grib_nearest_class_regular.c +++ b/src/grib_nearest_class_regular.c @@ -214,7 +214,8 @@ static int find(grib_nearest* nearest, grib_handle* h, static int find(grib_nearest* nearest, grib_handle* h, double inlat, double inlon,unsigned long flags, double* outlats,double* outlons, - double *values,double *distances,int* indexes, size_t *len) { + double *values,double *distances,int* indexes, size_t *len) +{ grib_nearest_regular* self = (grib_nearest_regular*) nearest; int ret=0,kk=0,ii=0,jj=0; size_t nvalues=0; @@ -358,12 +359,29 @@ static int find(grib_nearest* nearest, grib_handle* h, } kk=0; + +/* + * Brute force algorithm: + * First unpack all the values into an array. Then when we need the 4 points + * we just index into this array so no need to call grib_get_double_element_internal + * + * if (nearest->values) grib_context_free(nearest->context,nearest->values); + * nearest->values = grib_context_malloc(h->context,nvalues*sizeof(double)); + * if (!nearest->values) return GRIB_OUT_OF_MEMORY; + * ret = grib_get_double_array(h, self->values_key, nearest->values ,&nvalues); + * if (ret) return ret; + */ + for (jj=0;jj<2;jj++) { for (ii=0;ii<2;ii++) { distances[kk]=self->distances[kk]; outlats[kk]=self->lats[self->j[jj]]; outlons[kk]=self->lons[self->i[ii]]; grib_get_double_element_internal(h,self->values_key,self->k[kk],&(values[kk])); + /* Using the brute force approach described above */ + /* Assert(self->k[kk] < nvalues); */ + /* values[kk]=nearest->values[self->k[kk]]; */ + indexes[kk]=self->k[kk]; kk++; } diff --git a/src/grib_parse_utils.c b/src/grib_parse_utils.c index 882e0fc56..5edee86c9 100644 --- a/src/grib_parse_utils.c +++ b/src/grib_parse_utils.c @@ -99,6 +99,7 @@ int grib_recompose_name(grib_handle* h, grib_accessor *observer, const char* una break; default: grib_context_log(h->context, GRIB_LOG_WARNING,"grib_recompose_name: Problem to recompose filename with : %s, invalid type %d", loc,type); + break; } grib_dependency_add(observer,a); @@ -146,7 +147,7 @@ int grib_recompose_print(grib_handle* h, grib_accessor *observer, const char* un int maxcolsd=8; int maxcols; int mode = -1; - char val[1024]; + char val[1024] = {0,}; char* sval=NULL; char* p=NULL; char* pp=NULL; @@ -303,6 +304,7 @@ int grib_recompose_print(grib_handle* h, grib_accessor *observer, const char* un break; default: loc[mode++]=uname[i]; + break; } } else if(uname[i]=='[') { mode = 0; @@ -317,7 +319,6 @@ int grib_recompose_print(grib_handle* h, grib_accessor *observer, const char* un return ret; } - grib_action_file* grib_find_action_file(const char* fname , grib_action_file_list* afl) { grib_action_file* act = afl->first; @@ -368,7 +369,6 @@ int grib_yywrap() grib_yylineno = stack[top].line; - if(top) { parse_file = stack[top-1].name; @@ -449,14 +449,14 @@ void grib_parser_include(const char* fname) else { /* - c=grib_context_get_default(); - if (c->io_buffer_size) { - if (posix_memalign(&(io_buffer),sysconf(_SC_PAGESIZE),c->io_buffer_size) ) { - grib_context_log(c,GRIB_LOG_FATAL,"grib_parser_include: posix_memalign unable to allocate io_buffer\n"); - } - setvbuf(f,io_buffer,_IOFBF,c->io_buffer_size); - } - */ + c=grib_context_get_default(); + if (c->io_buffer_size) { + if (posix_memalign(&(io_buffer),sysconf(_SC_PAGESIZE),c->io_buffer_size) ) { + grib_context_log(c,GRIB_LOG_FATAL,"grib_parser_include: posix_memalign unable to allocate io_buffer\n"); + } + setvbuf(f,io_buffer,_IOFBF,c->io_buffer_size); + } + */ grib_yyin = f; stack[top].file = f; @@ -633,4 +633,3 @@ int grib_type_to_int(char id) { } return GRIB_TYPE_UNDEFINED; } - diff --git a/src/grib_value.c b/src/grib_value.c index 0b453ee94..8ed9fa460 100644 --- a/src/grib_value.c +++ b/src/grib_value.c @@ -576,7 +576,7 @@ int grib_set_double_array_internal(grib_handle* h, const char* name, const doubl int ret=0; if (h->context->debug==-1) - printf("GRIB_API DEBUG grib_set_double_array_internal %ld values\n",(long)length); + printf("GRIB_API DEBUG grib_set_double_array_internal key=%s %ld values\n",name, (long)length); if (length==0) { grib_accessor* a = grib_find_accessor(h, name); @@ -588,6 +588,7 @@ int grib_set_double_array_internal(grib_handle* h, const char* name, const doubl if (ret!=GRIB_SUCCESS) grib_context_log(h->context,GRIB_LOG_ERROR,"unable to set double array %s (%s)", name,grib_get_error_message(ret)); + /*if (h->context->debug==-1) printf("GRIB_API DEBUG grib_set_double_array_internal key=%s --DONE\n",name);*/ return ret; } @@ -597,7 +598,7 @@ static int __grib_set_double_array(grib_handle* h, const char* name, const doubl int constant,i; if (h->context->debug==-1) - printf("GRIB_API DEBUG grib_set_double_array %ld values\n",(long)length); + printf("GRIB_API DEBUG grib_set_double_array key=%s %ld values\n",name,(long)length); if (length==0) { grib_accessor* a = grib_find_accessor(h, name); @@ -605,7 +606,7 @@ static int __grib_set_double_array(grib_handle* h, const char* name, const doubl } /*second order doesn't have a proper representation for constant fields - the best is not to do the change of packing type if the field is constant + the best is not to do the change of packing type if the field is constant */ if (!strcmp(name,"values") || !strcmp(name,"codedValues")) { double missingValue; diff --git a/src/make_hash_keys.ksh b/src/make_hash_keys.ksh index 0ba46d1aa..c8e6d390b 100755 --- a/src/make_hash_keys.ksh +++ b/src/make_hash_keys.ksh @@ -9,7 +9,9 @@ cd ../src # Editing keys grib_hash_keys.c -gperf -I -t -G -H hash_keys -N grib_keys_hash_get -m 3 ../tests/keys | sed s/__inline//g | sed s/inline//g > grib_hash_keys.c +gperf -I -t -G -H hash_keys -N grib_keys_hash_get -m 3 ../tests/keys |\ + sed '/__attribute__ ((__gnu_inline__))/d' |\ + sed s/__inline//g | sed s/inline//g > grib_hash_keys.c cat grib_itrie_keys.c >> grib_hash_keys.c diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 320644465..8bd168cc8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -14,6 +14,7 @@ list( APPEND test_bins unit_tests gauss_sub ) + foreach( tool ${test_bins} ) # here we use the fact that each tool has only one C file that matches its name ecbuild_add_executable( TARGET ${tool} @@ -62,12 +63,14 @@ list( APPEND tests debug unit_tests ) -foreach (test ${tests}) + +foreach( test ${tests} ) + ecbuild_add_test( TARGET t_${test} TYPE SCRIPT COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${test}.sh RESOURCES include.sh -) + ) endforeach() ########################################### @@ -79,18 +82,16 @@ ecbuild_add_test( TARGET t_lamb_az_eq_area ) # These ones are conditional -if ( ENABLE_NETCDF ) - ecbuild_add_test( TARGET t_grib_to_netcdf +ecbuild_add_test( TARGET t_grib_to_netcdf TYPE SCRIPT + CONDITION ENABLE_NETCDF COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib_to_netcdf.sh RESOURCES include.sh - ) -endif() +) -if( ENABLE_JPG ) - ecbuild_add_test( TARGET t_jpeg - TYPE SCRIPT - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jpeg.sh - RESOURCES include.sh - ) -endif() +ecbuild_add_test( TARGET t_jpeg + TYPE SCRIPT + CONDITION ENABLE_JPG + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jpeg.sh + RESOURCES include.sh +) diff --git a/tests/Makefile.am b/tests/Makefile.am index ff455d1f9..d04b2bbf1 100755 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -37,5 +37,5 @@ LDADD = $(top_builddir)/src/libgrib_api.la $(EMOS_LIB) INCLUDES = -I$(top_builddir)/src EXTRA_DIST = $(TESTS) mf.rules filter_rules include.sh include.ctest.sh.in \ - lamb_az_eq_area.ref + lamb_az_eq_area.ref CMakeLists.txt diff --git a/tests/fortran_interface.sh b/tests/fortran_interface.sh index 19b84646b..38fd57e5b 100755 --- a/tests/fortran_interface.sh +++ b/tests/fortran_interface.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/sh # Copyright 2005-2014 ECMWF. # # This software is licensed under the terms of the Apache Licence Version 2.0 diff --git a/tests/keys b/tests/keys index f8742cd5c..1f8fd2fa5 100644 --- a/tests/keys +++ b/tests/keys @@ -8,1432 +8,1604 @@ struct grib_keys_hash { char* name; int id;}; ************_PRODUCT_***************,3 *********_EXTRA_DATA_***************,4 7777,5 -At_least__Or_Distribut_Proportion_Of,6 -BOX,7 -BUDG,8 -BUFR,9 -BUFRstr,10 -CDF,11 -CDFstr,12 -DELETE,13 -Date_E2,14 -Date_E3,15 -Date_E4,16 -Di,17 -DiGiven,18 -DiInDegrees,19 -DiInMetres,20 -Dj,21 -DjGiven,22 -DjInDegrees,23 -DjInMetres,24 -Dstart,25 -Dx,26 -DxInDegrees,27 -DxInMetres,28 -Dy,29 -DyInDegrees,30 -DyInMetres,31 -ECMWF,32 -ECMWF_s,33 -Ensemble_Combinat_Number_0_none_E2,34 -Ensemble_Combinat_Number_0_none_E3,35 -Ensemble_Combinat_Number_0_none_E4,36 -Ensemble_Combination_Number,37 -Ensemble_Identifier,38 -Ensemble_Identifier_E2,39 -Ensemble_Identifier_E3,40 -Ensemble_Identifier_E4,41 -Experiment_Identifier,42 -Extra_Data_FreeFormat_0_none,43 -FirstLatitude,44 -GDSPresent,45 -GRIB,46 -GRIBEXSection1Problem,47 -GRIBEXShBugPresent,48 -GRIBEditionNumber,49 -GRIB_DEPTH,50 -GRIB_LATITUDE,51 -GRIB_LONGITUDE,52 -Hour_E2,53 -Hour_E3,54 -Hour_E4,55 -ICEFieldsUsed,56 -IDSAT,57 -ITERATOR,58 -J,59 -JS,60 -K,61 -KS,62 -LATITUDE,63 -LATITUDE1,64 -LATITUDE2,65 -LBC_Initial_Conditions,66 -LONGITUDE,67 -LONGITUDE1,68 -LONGITUDE2,69 -La1,70 -La1InDegrees,71 -La2,72 -LaD,73 -LaDInDegrees,74 -Lap,75 -Lar1,76 -Lar1InDegrees,77 -Lar2,78 -Lar2InDegrees,79 -Latin,80 -Latin1,81 -Latin1InDegrees,82 -Latin2,83 -Latin2InDegrees,84 -Less_Than_Or_To_Overall_Distribution,85 -Lo1,86 -Lo1InDegrees,87 -Lo2,88 -LoV,89 -LoVInDegrees,90 -Local_Number_Members_Missing,91 -Local_Number_Members_Missing_E2,92 -Local_Number_Members_Missing_E3,93 -Local_Number_Members_Missing_E4,94 -Local_Number_Members_Possible,95 -Local_Number_Members_Possible_E2,96 -Local_Number_Members_Possible_E3,97 -Local_Number_Members_Possible_E4,98 -Local_Number_Members_Used,99 -Local_Number_Members_Used_E2,100 -Local_Number_Members_Used_E3,101 -Local_Number_Members_Used_E4,102 -Lor1,103 -Lor1InDegrees,104 -Lor2,105 -Lor2InDegrees,106 -M,107 -MS,108 -Minute_E2,109 -Minute_E3,110 -Minute_E4,111 -Missing_Model_LBC,112 -Missing_Model_LBC_E2,113 -Missing_Model_LBC_E3,114 -Missing_Model_LBC_E4,115 -Model_Additional_Information,116 -Model_Identifier,117 -Model_LBC_Member_Identifier,118 -N,119 -N1,120 -N2,121 -NB,122 -NC,123 -NC1,124 -NC2,125 -NEAREST,126 -NG,127 -NH,128 -NINT_LOG10_RITZ,129 -NINT_RITZ_EXP,130 -NL,131 -NR,132 -NRj,133 -NT,134 -NV,135 -Nassigned,136 -Nb,137 -Nf,138 -Ni,139 -Nj,140 -Nr,141 -NrInRadiusOfEarth,142 -Number_Combination_Ensembles_1_none,143 -Nx,144 -Ny,145 -Original_CodeTable_2_Version_Number,146 -Original_Parameter_Iden_CodeTable2,147 -Original_Parameter_Identifier,148 -P,149 -P1,150 -P2,151 -PLPresent,152 -PUnset,153 -PVPresent,154 -P_INST,155 -P_TACC,156 -P_TAVG,157 -Product_Identifier,158 -SPD,159 -SecondLatitude,160 -Show_Combination_Ensem_E2_0_no_1_yes,161 -Show_Combination_Ensem_E3_0_no_1_yes,162 -Show_Combination_Ensem_E4_0_no_1_yes,163 -Sub-Experiment_Identifier,164 -TIDE,165 -TS,166 -TScalc,167 -TYPE_AN,168 -TYPE_CF,169 -TYPE_FC,170 -TYPE_FF,171 -TYPE_FX,172 -TYPE_OF,173 -TYPE_OR,174 -TYPE_PF,175 -Threshold_Or_Distribution_0_no_1_yes,176 -Threshold_Or_Distribution_Units,177 -Time_Range_One_E2,178 -Time_Range_One_E3,179 -Time_Range_One_E4,180 -Time_Range_Two_E2,181 -Time_Range_Two_E3,182 -Time_Range_Two_E4,183 -Total_Number_Members_Missing,184 -Total_Number_Members_Possible,185 -Total_Number_Members_Used,186 -Used_Model_LBC,187 -Used_Model_LBC_E2,188 -Used_Model_LBC_E3,189 -Used_Model_LBC_E4,190 -WMO,191 -Xo,192 -Xp,193 -XpInGridLengths,194 -Yo,195 -Yp,196 -YpInGridLengths,197 -_T,198 -_TS,199 -_numberOfValues,200 -accumulationInterval,201 -accuracyMultipliedByFactor,202 -addExtraLocalSection,203 -additionalFlagPresent,204 -aerosolType,205 -alternativeRowScanning,206 -altitudeOfTheCameraFromTheEarthSCenterMeasuredInUnitsOfTheEarth,207 -analysisOffsets,208 -angleDivisor,209 -angleMultiplier,210 -angleOfRotation,211 -angleOfRotationInDegrees,212 -angleOfRotationOfProjection,213 -applicationIdentifier,214 -auxiliary,215 -average,216 -averaging1Flag,217 -averaging2Flag,218 -averagingPeriod,219 -avg,220 -backgroundGeneratingProcessIdentifier,221 -backgroundProcess,222 -band,223 -baseDateEPS,224 -baseDateOfThisLeg,225 -baseTimeEPS,226 -baseTimeOfThisLeg,227 -basicAngleOfTheInitialProductionDomain,228 -binaryScaleFactor,229 -bitMapIndicator,230 -bitmap,231 -bitmapPresent,232 -bitmapSectionPresent,233 -bitsPerValue,234 -bitsPerValueAndRepack,235 -bottomLevel,236 -boustrophedonic,237 -boustrophedonicOrdering,238 -categories,239 -categoryType,240 -ccccIdentifiers,241 -centralClusterDefinition,242 -centralLongitude,243 -centralLongitudeInMicrodegrees,244 -centre,245 -centreForLocal,246 -centreForTable2,247 -centuryOfAnalysis,248 -centuryOfReference,249 -centuryOfReferenceTimeOfData,250 -changeDecimalPrecision,251 -changingPrecision,252 -channel,253 -channelNumber,254 -char,255 -charValues,256 -class,257 -classOfAnalysis,258 -climateDateFrom,259 -climateDateTo,260 -climatologicalRegime,261 -clusterIdentifier,262 -clusterMember1,263 -clusterMember10,264 -clusterMember2,265 -clusterMember3,266 -clusterMember4,267 -clusterMember5,268 -clusterMember6,269 -clusterMember7,270 -clusterMember8,271 -clusterMember9,272 -clusterNumber,273 -clusterSize,274 -clusteringDomain,275 -clusteringMethod,276 -clutterFilterIndicator,277 -codeFigure,278 -codeType,279 -codedNumberOfFirstOrderPackedValues,280 -codedNumberOfGroups,281 -codedValues,282 -coefsFirst,283 -coefsSecond,284 -commonBlock,285 -complexPacking,286 -componentIndex,287 -computeLaplacianOperator,288 -computeStatistics,289 -conceptDir,290 -conceptsLocalDirAll,291 -conceptsLocalDirECMF,292 -conceptsMasterDir,293 -consensus,294 -consensusCount,295 -const,296 -constantAntennaElevationAngle,297 -constituentType,298 -controlForecastCluster,299 -coordAveraging0,300 -coordAveraging1,301 -coordAveraging2,302 -coordAveraging3,303 -coordAveragingTims,304 -coordinate1End,305 -coordinate1Flag,306 -coordinate1Start,307 -coordinate2End,308 -coordinate2Flag,309 -coordinate2Start,310 -coordinate3Flag,311 -coordinate3OfFirstGridPoint,312 -coordinate3OfLastGridPoint,313 -coordinate4Flag,314 -coordinate4OfFirstGridPoint,315 -coordinate4OfLastGridPoint,316 -coordinateFlag1,317 -coordinateFlag2,318 -coordinateIndexNumber,319 -core,320 -corr1Data,321 -corr2Data,322 -corr3Data,323 -corr4Data,324 -correction1,325 -correction1Part,326 -correction2,327 -correction2Part,328 -correction3,329 -correction3Part,330 -correction4,331 -correction4Part,332 -count,333 -countOfGroupLengths,334 -countOfICEFieldsUsed,335 -countTotal,336 -dataCategory,337 -dataDate,338 -dataFlag,339 -dataLength,340 -dataOrigin,341 -dataRepresentation,342 -dataRepresentationTemplateNumber,343 -dataRepresentationType,344 -dataSelection,345 -dataStream,346 -dataSubCategory,347 -dataTime,348 -dataType,349 -dataValues,350 -date,351 -dateOfAnalysis,352 -dateOfForecastRun,353 -dateOfIceFieldUsed,354 -dateOfReference,355 -dateOfSSTFieldUsed,356 -dateSSTFieldUsed,357 -datumSize,358 -day,359 -dayOfAnalysis,360 -dayOfEndOfOverallTimeInterval,361 -dayOfReference,362 -dayOfTheYearDate,363 -decimalPrecision,364 -decimalScaleFactor,365 -defaultName,366 -defaultParameter,367 -defaultShortName,368 -definitionFilesVersion,369 -deleteExtraLocalSection,370 -deleteLocalDefinition,371 -derivedForecast,372 -diagnostic,373 -diagnosticNumber,374 -dimension,375 -dimensionCategory,376 -dimensionNumber,377 -dimensionTableNumber,378 -dimensionType,379 -direction,380 -directionNumber,381 -directionScalingFactor,382 -dirty_statistics,383 -disableGrib1LocalSection,384 -discipline,385 -distanceFromTubeToEnsembleMean,386 -distinctLatitudes,387 -distinctLongitudes,388 -domain,389 -dummy,390 -dummy1,391 -dummy2,392 -dummyc,393 -dx,394 -dy,395 -earthIsOblate,396 -eastLongitudeOfCluster,397 -eastLongitudeOfDomainOfTubing,398 -easternLongitudeOfClusterDomain,399 -easternLongitudeOfDomain,400 -ed,401 -edition,402 -editionNumber,403 -efiOrder,404 -eight,405 -eleven,406 -endGridDefinition,407 -endMark,408 -endOfHeadersMaker,409 -endOfInterval,410 -endOfProduct,411 -endOfRange,412 -endStep,413 -endStepInHours,414 -endTimeStep,415 -energyNorm,416 -enorm,417 -ensembleForecastNumbers,418 -ensembleForecastNumbersList,419 -ensembleSize,420 -ensembleStandardDeviation,421 -eps,422 -epsContinous,423 -epsPoint,424 -epsStatistics,425 -epsStatisticsContinous,426 -epsStatisticsPoint,427 -error,428 -expandBy,429 -experimentVersionNumber,430 -experimentVersionNumberOfAnalysis,431 -expver,432 -extendedFlag,433 -extraDimensionPresent,434 -extraLocalSectionNumber,435 -extraLocalSectionPresent,436 -extraValues,437 -false,438 -fcmonth,439 -fcperiod,440 -fgDate,441 -fgTime,442 -file,443 -firstDimension,444 -firstDimensionCoordinateValueDefinition,445 -firstDimensionPhysicalSignificance,446 -firstLatitude,447 -firstLatitudeInDegrees,448 -firstMonthUsedToBuildClimateMonth1,449 -firstMonthUsedToBuildClimateMonth2,450 -firstOrderValues,451 -flag,452 -flagForAnyFurtherInformation,453 -flagForIrregularGridCoordinateList,454 -flagForNormalOrStaggeredGrid,455 -flagShowingPostAuxiliaryArrayInUse,456 -flags,457 -floatVal,458 -forecastLeadTime,459 -forecastMonth,460 -forecastOrSingularVectorNumber,461 -forecastPeriod,462 -forecastPeriodFrom,463 -forecastPeriodTo,464 -forecastProbabilityNumber,465 -forecastSteps,466 -forecastTime,467 -forecastperiod,468 -formatVersionMajorNumber,469 -formatVersionMinorNumber,470 -freeFormData,471 -frequency,472 -frequencyNumber,473 -frequencyScalingFactor,474 -functionCode,475 -g2grid,476 -generalExtended2ordr,477 -generatingProcessIdentificationNumber,478 -generatingProcessIdentifier,479 -getNumberOfValues,480 -global,481 -globalDomain,482 -grib1divider,483 -grib2LocalSectionNumber,484 -grib2LocalSectionPresent,485 -grib2divider,486 -gribMasterTablesVersionNumber,487 -gribTablesVersionNo,488 -grid,489 -gridCoordinate,490 -gridDefinition,491 -gridDefinitionSection,492 -gridDefinitionTemplateNumber,493 -gridDescriptionSectionPresent,494 -gridPointPosition,495 -gridType,496 -groupLengths,497 -groupSplitting,498 -groupWidth,499 -groupWidths,500 -gts_CCCC,501 -gts_TTAAii,502 -gts_ddhh00,503 -gts_header,504 -halfByte,505 -hdate,506 -headersOnly,507 -heightOrPressureOfLevel,508 -heightPressureEtcOfLevels,509 -hideThis,510 -horizontalCoordinateDefinition,511 -horizontalCoordinateSupplement,512 -horizontalDimensionProcessed,513 -hour,514 -hourOfAnalysis,515 -hourOfEndOfOverallTimeInterval,516 -hourOfReference,517 -hoursAfterDataCutoff,518 -hoursAfterReferenceTimeOfDataCutoff,519 -hundred,520 -iDirectionIncrement,521 -iDirectionIncrementGiven,522 -iDirectionIncrementInDegrees,523 -iIncrement,524 -iScansNegatively,525 -iScansPositively,526 -ident,527 -identificationNumber,528 -identificationOfOriginatingGeneratingCentre,529 -identifier,530 -ieeeFloats,531 -ifsParam,532 -ijDirectionIncrementGiven,533 -incrementOfLengths,534 -indicatorOfParameter,535 -indicatorOfTypeOfLevel,536 -indicatorOfUnitForTimeIncrement,537 -indicatorOfUnitForTimeRange,538 -indicatorOfUnitOfTimeRange,539 -instrument,540 -instrumentIdentifier,541 -instrumentType,542 -integerPointValues,543 -integerScalingFactorAppliedToDirections,544 -integerScalingFactorAppliedToFrequencies,545 -integerValues,546 -interpretationOfNumberOfPoints,547 -intervalBetweenTimes,548 -isAccumulation,549 -isConstant,550 -isEPS,551 -isEps,552 -isSatellite,553 -isSens,554 -isectionNumber2,555 -isectionNumber3,556 -isectionNumber4,557 -iteration,558 -iterationNumber,559 -jDirectionIncrement,560 -jDirectionIncrementGiven,561 -jDirectionIncrementInDegrees,562 -jIncrement,563 -jPointsAreConsecutive,564 -jScansPositively,565 -julianDay,566 -keyData,567 -keyMore,568 -keySubtype,569 -keyType,570 -kindOfProduct,571 -kurt,572 -kurtosis,573 -laplacianOperator,574 -laplacianOperatorIsSet,575 -laplacianScalingFactor,576 -laplacianScalingFactorUnset,577 -lastMonthUsedToBuildClimateMonth1,578 -lastMonthUsedToBuildClimateMonth2,579 -latLonValues,580 -latitude,581 -latitudeFirstInDegrees,582 -latitudeLastInDegrees,583 -latitudeLongitudeValues,584 -latitudeOfCenterPoint,585 -latitudeOfCentralPointInClusterDomain,586 -latitudeOfFirstGridPoint,587 -latitudeOfFirstGridPointInDegrees,588 -latitudeOfIcosahedronPole,589 -latitudeOfLastGridPoint,590 -latitudeOfLastGridPointInDegrees,591 -latitudeOfNorthWestCornerOfArea,592 -latitudeOfSouthEastCornerOfArea,593 -latitudeOfSouthernPole,594 -latitudeOfSouthernPoleInDegrees,595 -latitudeOfStretchingPole,596 -latitudeOfStretchingPoleInDegrees,597 -latitudeOfSubSatellitePoint,598 -latitudeOfSubSatellitePointInDegrees,599 -latitudeOfTangencyPoint,600 -latitudeOfThePoleOfStretching,601 -latitudeOfThePolePoint,602 -latitudeOfTheSouthernPoleOfProjection,603 -latitudeWhereDxAndDyAreSpecified,604 -latitudeWhereDxAndDyAreSpecifiedInDegrees,605 -latitudes,606 -latitudinalDirectionGridLength,607 -leadtime,608 -legBaseDate,609 -legBaseTime,610 -legNumber,611 -lengthOfHeaders,612 -lengthOfTimeRange,613 -lev,614 -level,615 -levelIndicator,616 -levelType,617 -levelist,618 -levels,619 -levtype,620 -libraryVersion,621 -listMembersMissing,622 -listMembersMissing2,623 -listMembersMissing3,624 -listMembersMissing4,625 -listMembersUsed,626 -listMembersUsed2,627 -listMembersUsed3,628 -listMembersUsed4,629 -listOfContributingSpectralBands,630 -listOfEnsembleForecastNumbers,631 -listOfModelIdentifiers,632 -listOfParametersUsedForClustering,633 -listOfScaledFrequencies,634 -local,635 -localDecimalScaleFactor,636 -localDefNumberOne,637 -localDefNumberTwo,638 -localDefinition,639 -localDefinitionNumber,640 -localDir,641 -localExtensionPadding,642 -localFlag,643 -localSection,644 -localTablesVersion,645 -localTablesVersionNumber,646 -localUsePresent,647 -local_padding,648 -local_use,649 -longitude,650 -longitudeFirstInDegrees,651 -longitudeLastInDegrees,652 -longitudeOfCenterPoint,653 -longitudeOfCentralPointInClusterDomain,654 -longitudeOfFirstDiamondCenterLine,655 -longitudeOfFirstDiamondCenterLineInDegrees,656 -longitudeOfFirstGridPoint,657 -longitudeOfFirstGridPointInDegrees,658 -longitudeOfIcosahedronPole,659 -longitudeOfLastGridPoint,660 -longitudeOfLastGridPointInDegrees,661 -longitudeOfNorthWestCornerOfArea,662 -longitudeOfSouthEastCornerOfArea,663 -longitudeOfSouthernPole,664 -longitudeOfSouthernPoleInDegrees,665 -longitudeOfStretchingPole,666 -longitudeOfStretchingPoleInDegrees,667 -longitudeOfSubSatellitePoint,668 -longitudeOfSubSatellitePointInDegrees,669 -longitudeOfTangencyPoint,670 -longitudeOfThePoleOfStretching,671 -longitudeOfThePolePoint,672 -longitudeOfThePolePointInDegrees,673 -longitudeOfTheSouthernPoleOfProjection,674 -longitudes,675 -longitudinalDirectionGridLength,676 -lowerLimit,677 -lowerThreshold,678 -lowerThresholdValue,679 -mAngleMultiplier,680 -mBasicAngle,681 -mars,682 -marsClass,683 -marsDir,684 -marsDomain,685 -marsEndStep,686 -marsExpver,687 -marsForecastMonth,688 -marsGrid,689 -marsIdent,690 -marsKeywords,691 -marsKeywords1,692 -marsLatitude,693 -marsLevel,694 -marsLevelist,695 -marsLongitude,696 -marsModel,697 -marsParam,698 -marsQuantile,699 -marsRange,700 -marsStartStep,701 -marsStep,702 -marsStream,703 -marsType,704 -mars_labeling,705 -mask,706 -masterDir,707 -masterTableNumber,708 -masterTablesVersionNumber,709 -matrixBitmapsPresent,710 -matrixOfValues,711 -max,712 -maximum,713 -md5Headers,714 -md5Section1,715 -md5Section2,716 -md5Section3,717 -md5Section4,718 -md5Section5,719 -md5Section6,720 -md5Section7,721 -meaningOfVerticalCoordinate,722 -messageLength,723 -method,724 -methodNumber,725 -million,726 -min,727 -minimum,728 -minute,729 -minuteOfAnalysis,730 -minuteOfEndOfOverallTimeInterval,731 -minuteOfReference,732 -minutesAfterDataCutoff,733 -minutesAfterReferenceTimeOfDataCutoff,734 -missingDataFlag,735 -missingValue,736 -missingValueManagement,737 -mixedCoordinateDefinition,738 -mixedCoordinateFieldFlag,739 -model,740 -modelErrorType,741 -modelIdentifier,742 -month,743 -monthOfAnalysis,744 -monthOfEndOfOverallTimeInterval,745 -monthOfReference,746 -monthlyVerificationDate,747 -multiplicationFactorForLatLong,748 -mybits,749 -n,750 -n2,751 -n3,752 -name,753 -nameECMF,754 -nameOfFirstFixedSurface,755 -nameOfSecondFixedSurface,756 -names,757 -nd,758 -neitherPresent,759 -normAtFinalTime,760 -normAtInitialTime,761 -northLatitudeOfCluster,762 -northLatitudeOfDomainOfTubing,763 -northWestLatitudeOfLPOArea,764 -northWestLatitudeOfVerficationArea,765 -northWestLongitudeOfLPOArea,766 -northWestLongitudeOfVerficationArea,767 -northernLatitudeOfClusterDomain,768 -northernLatitudeOfDomain,769 -nt,770 -number,771 -numberInHorizontalCoordinates,772 -numberInMixedCoordinateDefinition,773 -numberInTheAuxiliaryArray,774 -numberInTheGridCoordinateList,775 -numberIncludedInAverage,776 -numberMissingFromAveragesOrAccumulations,777 -numberOfAnalysis,778 -numberOfBits,779 -numberOfBitsContainingEachPackedValue,780 -numberOfBytesInLocalDefinition,781 -numberOfBytesOfFreeFormatData,782 -numberOfBytesPerInteger,783 -numberOfCategories,784 -numberOfCharacters,785 -numberOfChars,786 -numberOfClusterHighResolution,787 -numberOfClusterLowResolution,788 -numberOfClusters,789 -numberOfCodedValues,790 -numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction,791 -numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction,792 -numberOfColumns,793 -numberOfComponents,794 -numberOfContributingSpectralBands,795 -numberOfControlForecastTube,796 -numberOfCoordinatesValues,797 -numberOfDataBinsAlongRadials,798 -numberOfDataMatrices,799 -numberOfDataPoints,800 -numberOfDataSubsets,801 -numberOfDataValues,802 -numberOfDiamonds,803 -numberOfDirections,804 -numberOfEffectiveValues,805 -numberOfFloats,806 -numberOfForcasts,807 -numberOfForecastsInCluster,808 -numberOfForecastsInEnsemble,809 -numberOfForecastsInTheCluster,810 -numberOfForecastsInTube,811 -numberOfFrequencies,812 -numberOfGroups,813 -numberOfHorizontalPoints,814 -numberOfIntegers,815 -numberOfInts,816 -numberOfIterations,817 -numberOfLocalDefinitions,818 -numberOfLogicals,819 -numberOfMembersInCluster,820 -numberOfMissing,821 -numberOfMissingInStatisticalProcess,822 -numberOfMissingValues,823 -numberOfModels,824 -numberOfObservations,825 -numberOfOctectsForNumberOfPoints,826 -numberOfOctetsExtraDescriptors,827 -numberOfOctetsSPD,828 -numberOfOperationalForecastTube,829 -numberOfPackedValues,830 -numberOfParallelsBetweenAPoleAndTheEquator,831 -numberOfParametersUsedForClustering,832 -numberOfPoints,833 -numberOfPointsAlongAMeridian,834 -numberOfPointsAlongAParallel,835 -numberOfPointsAlongFirstAxis,836 -numberOfPointsAlongSecondAxis,837 -numberOfPointsAlongTheXAxis,838 -numberOfPointsAlongTheYAxis,839 -numberOfPointsAlongXAxis,840 -numberOfPointsAlongYAxis,841 -numberOfPointsUsed,842 -numberOfPressureLevelsUsedForClustering,843 -numberOfRadarSitesUsed,844 -numberOfRadials,845 -numberOfRemaininChars,846 -numberOfRepresentativeMember,847 -numberOfReservedBytes,848 -numberOfRows,849 -numberOfSecondOrderPackedValues,850 -numberOfSection,851 -numberOfSingularVectorsComputed,852 -numberOfSingularVectorsEvolved,853 -numberOfStepsUsedForClustering,854 -numberOfTimeRange,855 -numberOfTimeSteps,856 -numberOfUnusedBitsAtEndOfSection3,857 -numberOfValues,858 -numberOfVerticalCoordinateValues,859 -numberOfVerticalPoints,860 -numberingOrderOfDiamonds,861 -observationDiagnostic,862 -observationGeneratingProcessIdentifier,863 -observationType,864 -obstype,865 -oceanAtmosphereCoupling,866 -oceanStream,867 -octetAtWichPackedDataBegins,868 -offset,869 -offsetAfterBitmap,870 -offsetAfterCentreLocalSection,871 -offsetAfterData,872 -offsetAfterLocalSection,873 -offsetAfterPadding,874 -offsetBBitmap,875 -offsetBSection5,876 -offsetBSection6,877 -offsetBeforeBitmap,878 -offsetBeforeData,879 -offsetBeforePL,880 -offsetBeforePV,881 -offsetFreeFormData,882 -offsetFromOriginToInnerBound,883 -offsetFromReferenceOfFirstTime,884 -offsetICEFieldsUsed,885 -offsetSection0,886 -offsetSection1,887 -offsetSection2,888 -offsetSection3,889 -offsetSection4,890 -offsetSection5,891 -offsetSection6,892 -offsetSection7,893 -offsetSection8,894 -offsetValuesBy,895 -one,896 -oneConstant,897 -oneMillionConstant,898 -oneThousand,899 -oper,900 -operStream,901 -operatingMode,902 -operationalForecastCluster,903 -optimisationTime,904 -optionalData,905 -opttime,906 -orderOfSPD,907 -orderOfSpatialDifferencing,908 -orientationOfTheGrid,909 -orientationOfTheGridInDegrees,910 -origin,911 -originalParameterNumber,912 -originalParameterTableNumber,913 -originalSubCentreIdentifier,914 -originatingCentre,915 -originatingCentreOfAnalysis,916 -originatingCentrer,917 -originatingSubCentreSubCenter,918 -packedValues,919 -packingError,920 -packingType,921 -padding,922 -padding_grid0_1,923 -padding_grid1_1,924 -padding_grid1_2,925 -padding_grid3_1,926 -padding_grid4_1,927 -padding_grid50_1,928 -padding_grid5_1,929 -padding_grid90_1,930 -padding_loc10_1,931 -padding_loc13_1,932 -padding_loc13_2,933 -padding_loc13_3,934 -padding_loc13_4,935 -padding_loc14_1,936 -padding_loc14_2,937 -padding_loc15_1,938 -padding_loc16_1,939 -padding_loc17_2,940 -padding_loc18_1,941 -padding_loc18_2,942 -padding_loc190_1,943 -padding_loc191_1,944 -padding_loc191_2,945 -padding_loc191_3,946 -padding_loc192_1,947 -padding_loc19_2,948 -padding_loc20_1,949 -padding_loc21_1,950 -padding_loc23_1,951 -padding_loc244_1,952 -padding_loc244_2,953 -padding_loc244_3,954 -padding_loc245_1,955 -padding_loc245_2,956 -padding_loc26_1,957 -padding_loc27_1,958 -padding_loc27_2,959 -padding_loc28_1,960 -padding_loc29_1,961 -padding_loc29_2,962 -padding_loc29_3,963 -padding_loc2_1,964 -padding_loc2_2,965 -padding_loc30_1,966 -padding_loc30_2,967 -padding_loc3_1,968 -padding_loc4_2,969 -padding_loc50_1,970 -padding_loc5_1,971 -padding_loc6_1,972 -padding_loc7_1,973 -padding_loc9_1,974 -padding_loc9_2,975 -padding_local11_1,976 -padding_local1_1,977 -padding_local1_31,978 -padding_local_35,979 -padding_local_7_1,980 -padding_sec1_loc,981 -padding_sec2_1,982 -padding_sec2_2,983 -padding_sec2_3,984 -padding_sec3_1,985 -padding_sec4_1,986 -param,987 -paramId,988 -paramIdECMF,989 -parameter,990 -parameterCategory,991 -parameterCode,992 -parameterIndicator,993 -parameterName,994 -parameterNumber,995 -parameterUnits,996 -parameters,997 -parametersVersion,998 -patch_precip_fp,999 -pentagonalResolutionParameterJ,1000 -pentagonalResolutionParameterK,1001 -pentagonalResolutionParameterM,1002 -percentileValue,1003 -periodOfTime,1004 -periodOfTimeIntervals,1005 -perturbationNumber,1006 -perturbedType,1007 -phase,1008 -physicalFlag1,1009 -physicalFlag2,1010 -physicalMeaningOfVerticalCoordinate,1011 -pl,1012 -platform,1013 -plusOneinOrdersOfSPD,1014 -points,1015 -postAuxiliary,1016 -postAuxiliaryArrayPresent,1017 -powerOfTenUsedToScaleClimateWeight,1018 -preBitmapValues,1019 -preProcessing,1020 -preProcessingParameter,1021 -precision,1022 -precisionOfTheUnpackedSubset,1023 -predefined_grid,1024 -predefined_grid_values,1025 -present,1026 -pressureLevel,1027 -pressureUnits,1028 -primaryBitmap,1029 -primaryMissingValue,1030 -probContinous,1031 -probPoint,1032 -probProductDefinition,1033 -probabilityType,1034 -probabilityTypeName,1035 -process,1036 -product,1037 -productDefinition,1038 -productDefinitionTemplateNumber,1039 -productDefinitionTemplateNumberInternal,1040 -productIdentifier,1041 -productType,1042 -productionStatusOfProcessedData,1043 -projectionCenterFlag,1044 -projectionCentreFlag,1045 -pv,1046 -pvlLocation,1047 -qc,1048 -qualityControlIndicator,1049 -quantile,1050 -radialAngularSpacing,1051 -radius,1052 -radiusInMetres,1053 -radiusOfCentralCluster,1054 -radiusOfClusterDomain,1055 -radiusOfTheEarth,1056 -range,1057 -rangeBinSpacing,1058 -rdb_key,1059 -rdbtime,1060 -rdbtimeDay,1061 -rdbtimeHour,1062 -rdbtimeMinute,1063 -rdbtimeSecond,1064 -realPart,1065 -realPartOf00,1066 -rectime,1067 -rectimeDay,1068 -rectimeHour,1069 -rectimeMinute,1070 -rectimeSecond,1071 -reducedGrid,1072 -refdate,1073 -reference,1074 -referenceDate,1075 -referenceOfLengths,1076 -referenceOfWidths,1077 -referenceReflectivityForEchoTop,1078 -referenceStep,1079 -referenceValue,1080 -referenceValueError,1081 -reflectivityCalibrationConstant,1082 -reportType,1083 -representationMode,1084 -representationType,1085 -representativeMember,1086 -reserved,1087 -reserved1,1088 -reservedNeedNotBePresent,1089 -reservedOctet,1090 -resolutionAndComponentFlag,1091 -resolutionAndComponentFlags,1092 -resolutionAndComponentFlags1,1093 -resolutionAndComponentFlags2,1094 -resolutionAndComponentFlags3,1095 -resolutionAndComponentFlags4,1096 -resolutionAndComponentFlags6,1097 -resolutionAndComponentFlags7,1098 -resolutionAndComponentFlags8,1099 -roundedMarsLatitude,1100 -roundedMarsLevelist,1101 -roundedMarsLongitude,1102 -satelliteIdentifier,1103 -satelliteNumber,1104 -satelliteSeries,1105 -scaleFactorOfCentralWaveNumber,1106 -scaleFactorOfDistanceFromEnsembleMean,1107 -scaleFactorOfEarthMajorAxis,1108 -scaleFactorOfEarthMinorAxis,1109 -scaleFactorOfFirstFixedSurface,1110 -scaleFactorOfFirstSize,1111 -scaleFactorOfFirstWavelength,1112 -scaleFactorOfLowerLimit,1113 -scaleFactorOfMajorAxisOfOblateSpheroidEarth,1114 -scaleFactorOfMinorAxisOfOblateSpheroidEarth,1115 -scaleFactorOfRadiusOfSphericalEarth,1116 -scaleFactorOfSecondFixedSurface,1117 -scaleFactorOfSecondSize,1118 -scaleFactorOfSecondWavelength,1119 -scaleFactorOfStandardDeviation,1120 -scaleFactorOfStandardDeviationInTheCluster,1121 -scaleFactorOfUpperLimit,1122 -scaleValuesBy,1123 -scaledDirections,1124 -scaledFrequencies,1125 -scaledValueOfCentralWaveNumber,1126 -scaledValueOfDistanceFromEnsembleMean,1127 -scaledValueOfEarthMajorAxis,1128 -scaledValueOfEarthMinorAxis,1129 -scaledValueOfFirstFixedSurface,1130 -scaledValueOfFirstSize,1131 -scaledValueOfFirstWavelength,1132 -scaledValueOfLowerLimit,1133 -scaledValueOfMajorAxisOfOblateSpheroidEarth,1134 -scaledValueOfRadiusOfSphericalEarth,1135 -scaledValueOfSecondFixedSurface,1136 -scaledValueOfSecondSize,1137 -scaledValueOfSecondWavelength,1138 -scaledValueOfStandardDeviation,1139 -scaledValueOfStandardDeviationInTheCluster,1140 -scaledValueOfUpperLimit,1141 -scalingFactorForFrequencies,1142 -scanPosition,1143 -scanningMode,1144 -scanningMode4,1145 -scanningMode5,1146 -scanningMode6,1147 -scanningMode7,1148 -scanningMode8,1149 -scanningModeForOneDiamond,1150 -sd,1151 -second,1152 -secondDimension,1153 -secondDimensionCoordinateValueDefinition,1154 -secondDimensionPhysicalSignificance,1155 -secondLatitude,1156 -secondLatitudeInDegrees,1157 -secondOfEndOfOverallTimeInterval,1158 -secondOrderOfDifferentWidth,1159 -secondOrderValuesDifferentWidths,1160 -secondaryBitMap,1161 -secondaryBitmap,1162 -secondaryBitmapPresent,1163 -secondaryBitmaps,1164 -secondaryBitmapsCount,1165 -secondaryBitmapsSize,1166 -secondaryMissingValue,1167 -secondsOfAnalysis,1168 -secondsOfReference,1169 -section,1170 -section0Length,1171 -section0Pointer,1172 -section1,1173 -section1Flags,1174 -section1Length,1175 -section1Padding,1176 -section1Pointer,1177 -section2Length,1178 -section2Padding,1179 -section2Pointer,1180 -section2Present,1181 -section2Used,1182 -section3,1183 -section3Flags,1184 -section3Length,1185 -section3Padding,1186 -section3Pointer,1187 -section4,1188 -section4Length,1189 -section4Padding,1190 -section4Pointer,1191 -section5,1192 -section5Length,1193 -section5Pointer,1194 -section6,1195 -section6Length,1196 -section7,1197 -section7Length,1198 -section8,1199 -section8Length,1200 -section8Pointer,1201 -sectionLengthLimitForEnsembles,1202 -sectionLengthLimitForProbability,1203 -sectionNumber,1204 -sectionPosition,1205 -section_1,1206 -section_2,1207 -section_3,1208 -section_4,1209 -section_5,1210 -section_6,1211 -section_7,1212 -section_8,1213 -selectStepTemplateInstant,1214 -selectStepTemplateInterval,1215 -sensitiveAreaDomain,1216 -setBitsPerValue,1217 -setDecimalPrecision,1218 -setLocalDefinition,1219 -shapeOfTheEarth,1220 -shapeOfVerificationArea,1221 -shortName,1222 -shortNameECMF,1223 -short_name,1224 -significanceOfReferenceTime,1225 -siteElevation,1226 -siteId,1227 -siteLatitude,1228 -siteLongitude,1229 -sizeOfPostAuxiliaryArray,1230 -sizeOfPostAuxiliaryArrayPlusOne,1231 -skew,1232 -skewness,1233 -sourceOfGridDefinition,1234 -southEastLatitudeOfLPOArea,1235 -southEastLatitudeOfVerficationArea,1236 -southEastLongitudeOfLPOArea,1237 -southEastLongitudeOfVerficationArea,1238 -southLatitudeOfCluster,1239 -southLatitudeOfDomainOfTubing,1240 -southernLatitudeOfClusterDomain,1241 -southernLatitudeOfDomain,1242 -spaceUnitFlag,1243 -spacingOfBinsAlongRadials,1244 -spare,1245 -spare2,1246 -spatialProcessing,1247 -spatialSmoothingOfProduct,1248 -spectralDataRepresentationMode,1249 -spectralDataRepresentationType,1250 -spectralMode,1251 -spectralType,1252 -sphericalHarmonics,1253 -standardDeviation,1254 -standardParallel,1255 -standardParallelInMicrodegrees,1256 -startOfHeaders,1257 -startOfRange,1258 -startStep,1259 -startStepInHours,1260 -startTimeStep,1261 -statisticalProcess,1262 -statisticalProcessesList,1263 -statistics,1264 -step,1265 -stepForClustering,1266 -stepInHours,1267 -stepRange,1268 -stepRangeInHours,1269 -stepType,1270 -stepTypeInternal,1271 -stepUnits,1272 -stepZero,1273 -stream,1274 -streamOfAnalysis,1275 -stretchingFactor,1276 -stretchingFactorScaled,1277 -stuff,1278 -subCentre,1279 -subDefinitions,1280 -subLocalDefinition1,1281 -subLocalDefinition2,1282 -subLocalDefinitionLength,1283 -subLocalDefinitionNumber,1284 -subLocalDefinitions,1285 -subSetJ,1286 -subSetK,1287 -subSetM,1288 -subcentreOfAnalysis,1289 -subdivisionsOfBasicAngle,1290 -suiteName,1291 -swapScanningLat,1292 -swapScanningLon,1293 -swapScanningX,1294 -swapScanningY,1295 -system,1296 -systemNumber,1297 -table2Version,1298 -tableCode,1299 -tableReference,1300 -tablesVersion,1301 -targetCompressionRatio,1302 -thisExperimentVersionNumber,1303 -thisMarsClass,1304 -thisMarsStream,1305 -thisMarsType,1306 -thousand,1307 -three,1308 -thresholdIndicator,1309 -tiggeCentre,1310 -tiggeLAMName,1311 -tiggeLocalVersion,1312 -tiggeModel,1313 -tiggeSection,1314 -tigge_name,1315 -tigge_short_name,1316 -time,1317 -timeCoordinateDefinition,1318 -timeIncrement,1319 -timeIncrementBetweenSuccessiveFields,1320 -timeOfAnalysis,1321 -timeOfReference,1322 -timeRangeIndicator,1323 -timeRangeIndicatorFromStepRange,1324 -timeUnitFlag,1325 -topLevel,1326 -total,1327 -totalInitialConditions,1328 -totalLength,1329 -totalNumber,1330 -totalNumberOfClusters,1331 -totalNumberOfDirections,1332 -totalNumberOfForecastProbabilities,1333 -totalNumberOfFrequencies,1334 -totalNumberOfGridPoints,1335 -totalNumberOfIterations,1336 -totalNumberOfTubes,1337 -totalNumberOfdimensions,1338 -treatmentOfMissingData,1339 -trueLengthOfLastGroup,1340 -truncateDegrees,1341 -truncateLaplacian,1342 -tsectionNumber3,1343 -tsectionNumber4,1344 -tsectionNumber5,1345 -tubeDomain,1346 -tubeNumber,1347 -two,1348 -twoOrdersOfSPD,1349 -type,1350 -typeOfAnalysis,1351 -typeOfAuxiliaryInformation,1352 -typeOfCompressionUsed,1353 -typeOfEnsembleForecast,1354 -typeOfFirstFixedSurface,1355 -typeOfGeneratingProcess,1356 -typeOfGrid,1357 -typeOfHorizontalLine,1358 -typeOfIntervalForFirstAndSecondSize,1359 -typeOfIntervalForFirstAndSecondWavelength,1360 -typeOfLevel,1361 -typeOfOriginalFieldValues,1362 -typeOfPacking,1363 -typeOfPreProcessing,1364 -typeOfProcessedData,1365 -typeOfSSTFieldUsed,1366 -typeOfSecondFixedSurface,1367 -typeOfSizeInterval,1368 -typeOfStatisticalProcessing,1369 -typeOfTimeIncrement,1370 -typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing,1371 -typeOfWavelengthInterval,1372 -unitOfOffsetFromReferenceTime,1373 -unitOfTime,1374 -unitOfTimeIncrement,1375 -unitOfTimeRange,1376 -units,1377 -unitsBias,1378 -unitsDecimalScaleFactor,1379 -unitsECMF,1380 -unitsFactor,1381 -unitsOfFirstFixedSurface,1382 -unitsOfSecondFixedSurface,1383 -unknown,1384 -unpackedError,1385 -unpackedSubsetPrecision,1386 -unpackedValues,1387 -unsignedIntegers,1388 -unusedBitsInBitmap,1389 -updateSequenceNumber,1390 -upperLimit,1391 -upperThreshold,1392 -upperThresholdValue,1393 -uvRelativeToGrid,1394 -validityDate,1395 -validityTime,1396 -values,1397 -varno,1398 -verificationDate,1399 -verifyingMonth,1400 -versionNumberOfGribLocalTables,1401 -verticalCoordinate,1402 -verticalCoordinateDefinition,1403 -waveDomain,1404 -weightAppliedToClimateMonth1,1405 -westLongitudeOfCluster,1406 -westLongitudeOfDomainOfTubing,1407 -westernLongitudeOfClusterDomain,1408 -westernLongitudeOfDomain,1409 -widthOfFirstOrderValues,1410 -widthOfLengths,1411 -widthOfSPD,1412 -widthOfWidths,1413 -wrongPadding,1414 -xCoordinateOfOriginOfSectorImage,1415 -xCoordinateOfSubSatellitePoint,1416 -xDirectionGridLength,1417 -xDirectionGridLengthInMetres,1418 -xDirectionGridLengthInMillimetres,1419 -xFirst,1420 -xLast,1421 -yCoordinateOfOriginOfSectorImage,1422 -yCoordinateOfSubSatellitePoint,1423 -yDirectionGridLength,1424 -yDirectionGridLengthInMetres,1425 -yDirectionGridLengthInMillimetres,1426 -yFirst,1427 -yLast,1428 -year,1429 -yearOfAnalysis,1430 -yearOfCentury,1431 -yearOfEndOfOverallTimeInterval,1432 -yearOfReference,1433 -zero,1434 +AA,6 +Adelta,7 +At_least__Or_Distribut_Proportion_Of,8 +Azi,9 +BBB,10 +BOX,11 +BUDG,12 +BUFR,13 +BUFRstr,14 +CCCC,15 +CDF,16 +CDFstr,17 +DELETE,18 +Date_E2,19 +Date_E3,20 +Date_E4,21 +DayOfModelVersion,22 +Di,23 +DiGiven,24 +DiInDegrees,25 +DiInMetres,26 +Dj,27 +DjGiven,28 +DjInDegrees,29 +DjInMetres,30 +Dstart,31 +Dx,32 +DxInDegrees,33 +DxInMetres,34 +Dy,35 +DyInDegrees,36 +DyInMetres,37 +ECMWF,38 +ECMWF_s,39 +Ensemble_Combinat_Number_0_none_E2,40 +Ensemble_Combinat_Number_0_none_E3,41 +Ensemble_Combinat_Number_0_none_E4,42 +Ensemble_Combination_Number,43 +Ensemble_Identifier,44 +Ensemble_Identifier_E2,45 +Ensemble_Identifier_E3,46 +Ensemble_Identifier_E4,47 +Experiment_Identifier,48 +Extra_Data_FreeFormat_0_none,49 +FirstLatitude,50 +GDSPresent,51 +GG,52 +GRIB,53 +GRIBEXSection1Problem,54 +GRIBEXShBugPresent,55 +GRIBEX_boustrophedonic,56 +GRIBEditionNumber,57 +GRIB_DEPTH,58 +GRIB_LATITUDE,59 +GRIB_LONGITUDE,60 +GTS,61 +GTSstr,62 +HourOfModelVersion,63 +Hour_E2,64 +Hour_E3,65 +Hour_E4,66 +ICEFieldsUsed,67 +II,68 +ITERATOR,69 +J,70 +JS,71 +K,72 +KS,73 +LBC_Initial_Conditions,74 +La1,75 +La1InDegrees,76 +La2,77 +LaD,78 +LaDInDegrees,79 +LaR,80 +Lap,81 +Lar1,82 +Lar1InDegrees,83 +Lar2,84 +Lar2InDegrees,85 +Latin,86 +Latin1,87 +Latin1InDegrees,88 +Latin2,89 +Latin2InDegrees,90 +Less_Than_Or_To_Overall_Distribution,91 +Lo1,92 +Lo1InDegrees,93 +Lo2,94 +LoR,95 +LoV,96 +LoVInDegrees,97 +Local_Number_Members_Missing,98 +Local_Number_Members_Missing_E2,99 +Local_Number_Members_Missing_E3,100 +Local_Number_Members_Missing_E4,101 +Local_Number_Members_Possible,102 +Local_Number_Members_Possible_E2,103 +Local_Number_Members_Possible_E3,104 +Local_Number_Members_Possible_E4,105 +Local_Number_Members_Used,106 +Local_Number_Members_Used_E2,107 +Local_Number_Members_Used_E3,108 +Local_Number_Members_Used_E4,109 +Lor1,110 +Lor1InDegrees,111 +Lor2,112 +Lor2InDegrees,113 +M,114 +MS,115 +MinuteOfModelVersion,116 +Minute_E2,117 +Minute_E3,118 +Minute_E4,119 +Missing_Model_LBC,120 +Missing_Model_LBC_E2,121 +Missing_Model_LBC_E3,122 +Missing_Model_LBC_E4,123 +Model_Additional_Information,124 +Model_Identifier,125 +Model_LBC_Member_Identifier,126 +MonthOfModelVersion,127 +N,128 +N1,129 +N2,130 +NB,131 +NC,132 +NC1,133 +NC2,134 +NEAREST,135 +NG,136 +NH,137 +NINT_LOG10_RITZ,138 +NINT_RITZ_EXP,139 +NL,140 +NR,141 +NRj,142 +NT,143 +NV,144 +Nassigned,145 +Nb,146 +Nf,147 +Ni,148 +Nj,149 +Nr,150 +NrInRadiusOfEarth,151 +Number_Combination_Ensembles_1_none,152 +Nx,153 +Ny,154 +Original_CodeTable_2_Version_Number,155 +Original_Parameter_Iden_CodeTable2,156 +Original_Parameter_Identifier,157 +P,158 +P1,159 +P2,160 +PLPresent,161 +PUnset,162 +PVPresent,163 +P_INST,164 +P_TACC,165 +P_TAVG,166 +Product_Identifier,167 +SOH,168 +SPD,169 +SZ_ALLOW_K13_OPTION_MASK,170 +SZ_CHIP_OPTION_MASK,171 +SZ_EC_OPTION_MASK,172 +SZ_LSB_OPTION_MASK,173 +SZ_MSB_OPTION_MASK,174 +SZ_NN_OPTION_MASK,175 +SZ_RAW_OPTION_MASK,176 +SecondLatitude,177 +SecondOfModelVersion,178 +Show_Combination_Ensem_E2_0_no_1_yes,179 +Show_Combination_Ensem_E3_0_no_1_yes,180 +Show_Combination_Ensem_E4_0_no_1_yes,181 +Sub-Experiment_Identifier,182 +TIDE,183 +TS,184 +TScalc,185 +TT,186 +TYPE_AN,187 +TYPE_CF,188 +TYPE_FC,189 +TYPE_FF,190 +TYPE_FX,191 +TYPE_OF,192 +TYPE_OR,193 +TYPE_PF,194 +Threshold_Or_Distribution_0_no_1_yes,195 +Threshold_Or_Distribution_Units,196 +Time_Range_One_E2,197 +Time_Range_One_E3,198 +Time_Range_One_E4,199 +Time_Range_Two_E2,200 +Time_Range_Two_E3,201 +Time_Range_Two_E4,202 +Total_Number_Members_Missing,203 +Total_Number_Members_Possible,204 +Total_Number_Members_Used,205 +UseEcmfConventions,206 +Used_Model_LBC,207 +Used_Model_LBC_E2,208 +Used_Model_LBC_E3,209 +Used_Model_LBC_E4,210 +WMO,211 +X1,212 +X1InGridLengths,213 +X2,214 +X2InGridLengths,215 +XR,216 +XRInMetres,217 +Xo,218 +Xp,219 +XpInGridLengths,220 +Y1,221 +Y1InGridLengths,222 +Y2,223 +Y2InGridLengths,224 +YR,225 +YRInMetres,226 +YY,227 +YearOfModelVersion,228 +Yo,229 +Yp,230 +YpInGridLengths,231 +_T,232 +_TS,233 +_leg_number,234 +_numberOfValues,235 +accumulationInterval,236 +accuracyMultipliedByFactor,237 +addEmptySection2,238 +addExtraLocalSection,239 +additionalFlagPresent,240 +aerosolType,241 +aerosolbinnumber,242 +aerosolpacking,243 +alternativeRowScanning,244 +altitudeOfTheCameraFromTheEarthSCenterMeasuredInUnitsOfTheEarth,245 +analysisOffsets,246 +angleDivisor,247 +angleMultiplier,248 +angleOfRotation,249 +angleOfRotationInDegrees,250 +angleOfRotationOfProjection,251 +anoffset,252 +applicationIdentifier,253 +auxiliary,254 +average,255 +averaging1Flag,256 +averaging2Flag,257 +averagingPeriod,258 +avg,259 +azimuthalWidth,260 +backgroundGeneratingProcessIdentifier,261 +backgroundProcess,262 +band,263 +baseDateEPS,264 +baseDateOfThisLeg,265 +baseTimeEPS,266 +baseTimeOfThisLeg,267 +basicAngleOfTheInitialProductionDomain,268 +binaryScaleFactor,269 +bitMapIndicator,270 +bitmap,271 +bitmapPresent,272 +bitmapSectionPresent,273 +bitsPerValue,274 +bitsPerValueAndRepack,275 +bottomLevel,276 +boustrophedonic,277 +boustrophedonicOrdering,278 +cat,279 +categories,280 +categoryType,281 +ccccIdentifiers,282 +centralClusterDefinition,283 +centralLongitude,284 +centralLongitudeInMicrodegrees,285 +centre,286 +centreDescription,287 +centreForLocal,288 +centreForTable2,289 +centuryOfAnalysis,290 +centuryOfReference,291 +centuryOfReferenceTimeOfData,292 +cfName,293 +cfNameECMF,294 +cfVarName,295 +cfVarNameECMF,296 +changeDecimalPrecision,297 +changingPrecision,298 +channel,299 +channelNumber,300 +char,301 +charValues,302 +class,303 +classOfAnalysis,304 +climateDateFrom,305 +climateDateTo,306 +climatologicalRegime,307 +clusterIdentifier,308 +clusterMember1,309 +clusterMember10,310 +clusterMember2,311 +clusterMember3,312 +clusterMember4,313 +clusterMember5,314 +clusterMember6,315 +clusterMember7,316 +clusterMember8,317 +clusterMember9,318 +clusterNumber,319 +clusterSize,320 +clusteringDomain,321 +clusteringMethod,322 +clutterFilterIndicator,323 +codeFigure,324 +codeType,325 +codedNumberOfFirstOrderPackedValues,326 +codedNumberOfGroups,327 +codedValues,328 +coefsFirst,329 +coefsSecond,330 +commonBlock,331 +complexPacking,332 +componentIndex,333 +computeLaplacianOperator,334 +computeStatistics,335 +conceptDir,336 +conceptsLocalDirAll,337 +conceptsLocalDirECMF,338 +conceptsLocalMarsDirAll,339 +conceptsMasterDir,340 +conceptsMasterMarsDir,341 +consensus,342 +consensusCount,343 +const,344 +constantAntennaElevationAngle,345 +constantFieldHalfByte,346 +constituentType,347 +controlForecastCluster,348 +coordAveraging0,349 +coordAveraging1,350 +coordAveraging2,351 +coordAveraging3,352 +coordAveragingTims,353 +coordinate1End,354 +coordinate1Flag,355 +coordinate1Start,356 +coordinate2End,357 +coordinate2Flag,358 +coordinate2Start,359 +coordinate3Flag,360 +coordinate3OfFirstGridPoint,361 +coordinate3OfLastGridPoint,362 +coordinate4Flag,363 +coordinate4OfFirstGridPoint,364 +coordinate4OfLastGridPoint,365 +coordinateFlag1,366 +coordinateFlag2,367 +coordinateIndexNumber,368 +core,369 +corr1Data,370 +corr2Data,371 +corr3Data,372 +corr4Data,373 +correction1,374 +correction1Part,375 +correction2,376 +correction2Part,377 +correction3,378 +correction3Part,379 +correction4,380 +correction4Part,381 +count,382 +countOfGroupLengths,383 +countOfICEFieldsUsed,384 +countTotal,385 +crcrlf,386 +dataCategory,387 +dataDate,388 +dataFlag,389 +dataLength,390 +dataOrigin,391 +dataRepresentation,392 +dataRepresentationTemplateNumber,393 +dataRepresentationType,394 +dataSelection,395 +dataStream,396 +dataSubCategory,397 +dataTime,398 +dataType,399 +dataValues,400 +date,401 +dateOfAnalysis,402 +dateOfForecastRun,403 +dateOfIceFieldUsed,404 +dateOfReference,405 +dateOfSSTFieldUsed,406 +dateSSTFieldUsed,407 +datumSize,408 +day,409 +dayOfAnalysis,410 +dayOfEndOfOverallTimeInterval,411 +dayOfReference,412 +dayOfTheYearDate,413 +decimalPrecision,414 +decimalScaleFactor,415 +defaultName,416 +defaultParameter,417 +defaultShortName,418 +defaultTypeOfLevel,419 +definitionFilesVersion,420 +deleteExtraLocalSection,421 +deleteLocalDefinition,422 +derivedForecast,423 +diagnostic,424 +diagnosticNumber,425 +dimension,426 +dimensionNumber,427 +dimensionType,428 +direction,429 +directionNumber,430 +directionScalingFactor,431 +dirty_statistics,432 +disableGrib1LocalSection,433 +discipline,434 +distanceFromTubeToEnsembleMean,435 +distinctLatitudes,436 +distinctLongitudes,437 +domain,438 +dummy,439 +dummy1,440 +dummy2,441 +dummyc,442 +dx,443 +dy,444 +earthIsOblate,445 +eastLongitudeOfCluster,446 +eastLongitudeOfDomainOfTubing,447 +easternLongitudeOfClusterDomain,448 +easternLongitudeOfDomain,449 +ed,450 +edition,451 +editionNumber,452 +efiOrder,453 +eight,454 +eleven,455 +endGridDefinition,456 +endMark,457 +endOfHeadersMaker,458 +endOfInterval,459 +endOfProduct,460 +endOfRange,461 +endStep,462 +endStepInHours,463 +endTimeStep,464 +energyNorm,465 +enorm,466 +ensembleForecastNumbers,467 +ensembleForecastNumbersList,468 +ensembleSize,469 +ensembleStandardDeviation,470 +eps,471 +epsContinous,472 +epsPoint,473 +epsStatistics,474 +epsStatisticsContinous,475 +epsStatisticsPoint,476 +error,477 +expandBy,478 +experimentVersionNumber,479 +experimentVersionNumber1,480 +experimentVersionNumber2,481 +experimentVersionNumberOfAnalysis,482 +expoffset,483 +expver,484 +extendedFlag,485 +extraDim,486 +extraDimensionPresent,487 +extraLocalSectionNumber,488 +extraLocalSectionPresent,489 +extraValues,490 +false,491 +falseEasting,492 +falseNorthing,493 +fcmonth,494 +fcperiod,495 +fgDate,496 +fgTime,497 +file,498 +firstDimension,499 +firstDimensionCoordinateValueDefinition,500 +firstDimensionPhysicalSignificance,501 +firstLatitude,502 +firstLatitudeInDegrees,503 +firstMonthUsedToBuildClimateMonth1,504 +firstMonthUsedToBuildClimateMonth2,505 +firstOrderValues,506 +flag,507 +flagForAnyFurtherInformation,508 +flagForIrregularGridCoordinateList,509 +flagForNormalOrStaggeredGrid,510 +flagShowingPostAuxiliaryArrayInUse,511 +flags,512 +floatVal,513 +floatValues,514 +forecastLeadTime,515 +forecastMonth,516 +forecastOrSingularVectorNumber,517 +forecastPeriod,518 +forecastPeriodFrom,519 +forecastPeriodTo,520 +forecastProbabilityNumber,521 +forecastSteps,522 +forecastTime,523 +forecastperiod,524 +formatVersionMajorNumber,525 +formatVersionMinorNumber,526 +freeFormData,527 +frequency,528 +frequencyNumber,529 +frequencyScalingFactor,530 +functionCode,531 +g1conceptsLocalDirAll,532 +g1conceptsMasterDir,533 +g2grid,534 +genVertHeightCoords,535 +generalExtended2ordr,536 +generatingProcessIdentificationNumber,537 +generatingProcessIdentifier,538 +getNumberOfValues,539 +gg,540 +global,541 +globalDomain,542 +grib1divider,543 +grib2LocalSectionNumber,544 +grib2LocalSectionPresent,545 +grib2divider,546 +gribMasterTablesVersionNumber,547 +gribTablesVersionNo,548 +grid,549 +gridCoordinate,550 +gridDefinition,551 +gridDefinitionSection,552 +gridDefinitionTemplateNumber,553 +gridDescriptionSectionPresent,554 +gridPointPosition,555 +gridType,556 +groupLengths,557 +groupSplitting,558 +groupSplittingMethodUsed,559 +groupWidth,560 +groupWidths,561 +gts_CCCC,562 +gts_TTAAii,563 +gts_ddhh00,564 +gts_header,565 +halfByte,566 +hdate,567 +headersOnly,568 +heightOrPressureOfLevel,569 +heightPressureEtcOfLevels,570 +hideThis,571 +horizontalCoordinateDefinition,572 +horizontalCoordinateSupplement,573 +horizontalDimensionProcessed,574 +hour,575 +hourOfAnalysis,576 +hourOfEndOfOverallTimeInterval,577 +hourOfReference,578 +hoursAfterDataCutoff,579 +hoursAfterReferenceTimeOfDataCutoff,580 +hundred,581 +iDirectionIncrement,582 +iDirectionIncrementGiven,583 +iDirectionIncrementGridLength,584 +iDirectionIncrementInDegrees,585 +iIncrement,586 +iScansNegatively,587 +iScansPositively,588 +ident,589 +identificationNumber,590 +identificationOfOriginatingGeneratingCentre,591 +identifier,592 +ieeeFloats,593 +ifsParam,594 +ijDirectionIncrementGiven,595 +incrementOfLengths,596 +indicatorOfParameter,597 +indicatorOfTypeOfLevel,598 +indicatorOfUnitForTimeIncrement,599 +indicatorOfUnitForTimeRange,600 +indicatorOfUnitOfTimeRange,601 +instrument,602 +instrumentIdentifier,603 +instrumentType,604 +integerPointValues,605 +integerScaleFactor,606 +integerScalingFactorAppliedToDirections,607 +integerScalingFactorAppliedToFrequencies,608 +integerValues,609 +internalVersion,610 +interpretationOfNumberOfPoints,611 +intervalBetweenTimes,612 +isAccumulation,613 +isConstant,614 +isEPS,615 +isEps,616 +isHindcast,617 +isSatellite,618 +isSens,619 +is_tigge,620 +isectionNumber2,621 +isectionNumber3,622 +isectionNumber4,623 +iteration,624 +iterationNumber,625 +jDirectionIncrement,626 +jDirectionIncrementGiven,627 +jDirectionIncrementGridLength,628 +jDirectionIncrementInDegrees,629 +jIncrement,630 +jPointsAreConsecutive,631 +jScansPositively,632 +julianDay,633 +keyData,634 +keyMore,635 +kindOfProduct,636 +kurt,637 +kurtosis,638 +lBB,639 +landtype,640 +laplacianOperator,641 +laplacianOperatorIsSet,642 +laplacianScalingFactor,643 +laplacianScalingFactorUnset,644 +lastMonthUsedToBuildClimateMonth1,645 +lastMonthUsedToBuildClimateMonth2,646 +latLonValues,647 +latitude,648 +latitude1,649 +latitude2,650 +latitudeFirstInDegrees,651 +latitudeLastInDegrees,652 +latitudeLongitudeValues,653 +latitudeOfCenterPoint,654 +latitudeOfCenterPointInDegrees,655 +latitudeOfCentralPointInClusterDomain,656 +latitudeOfFirstGridPoint,657 +latitudeOfFirstGridPointInDegrees,658 +latitudeOfIcosahedronPole,659 +latitudeOfLastGridPoint,660 +latitudeOfLastGridPointInDegrees,661 +latitudeOfNorthWestCornerOfArea,662 +latitudeOfReferencePoint,663 +latitudeOfReferencePointInDegrees,664 +latitudeOfSouthEastCornerOfArea,665 +latitudeOfSouthernPole,666 +latitudeOfSouthernPoleInDegrees,667 +latitudeOfStretchingPole,668 +latitudeOfStretchingPoleInDegrees,669 +latitudeOfSubSatellitePoint,670 +latitudeOfSubSatellitePointInDegrees,671 +latitudeOfTangencyPoint,672 +latitudeOfThePoleOfStretching,673 +latitudeOfThePolePoint,674 +latitudeOfThePolePointInDegrees,675 +latitudeOfTheSouthernPoleOfProjection,676 +latitudeWhereDxAndDyAreSpecified,677 +latitudeWhereDxAndDyAreSpecifiedInDegrees,678 +latitudes,679 +latitudesList,680 +latitudinalDirectionGridLength,681 +leadtime,682 +legBaseDate,683 +legBaseTime,684 +legNumber,685 +lengthIncrementForTheGroupLengths,686 +lengthOf4DvarWindow,687 +lengthOfHeaders,688 +lengthOfTimeRange,689 +lev,690 +level,691 +levelIndicator,692 +levelType,693 +levelist,694 +levels,695 +levtype,696 +libraryVersion,697 +listMembersMissing,698 +listMembersMissing2,699 +listMembersMissing3,700 +listMembersMissing4,701 +listMembersUsed,702 +listMembersUsed2,703 +listMembersUsed3,704 +listMembersUsed4,705 +listOfContributingSpectralBands,706 +listOfEnsembleForecastNumbers,707 +listOfModelIdentifiers,708 +listOfParametersUsedForClustering,709 +listOfScaledFrequencies,710 +local,711 +localDay,712 +localDecimalScaleFactor,713 +localDefNumberOne,714 +localDefNumberTwo,715 +localDefinition,716 +localDefinitionNumber,717 +localDir,718 +localExtensionPadding,719 +localFlag,720 +localFlagLatestVersion,721 +localHour,722 +localMinute,723 +localMonth,724 +localSecond,725 +localSection,726 +localTablesVersion,727 +localTablesVersionNumber,728 +localUsePresent,729 +localYear,730 +local_padding,731 +local_use,732 +logTransform,733 +longitude,734 +longitude1,735 +longitude2,736 +longitudeFirstInDegrees,737 +longitudeLastInDegrees,738 +longitudeOfCenterPoint,739 +longitudeOfCenterPointInDegrees,740 +longitudeOfCentralPointInClusterDomain,741 +longitudeOfFirstDiamondCenterLine,742 +longitudeOfFirstDiamondCenterLineInDegrees,743 +longitudeOfFirstGridPoint,744 +longitudeOfFirstGridPointInDegrees,745 +longitudeOfIcosahedronPole,746 +longitudeOfLastGridPoint,747 +longitudeOfLastGridPointInDegrees,748 +longitudeOfNorthWestCornerOfArea,749 +longitudeOfReferencePoint,750 +longitudeOfReferencePointInDegrees,751 +longitudeOfSouthEastCornerOfArea,752 +longitudeOfSouthernPole,753 +longitudeOfSouthernPoleInDegrees,754 +longitudeOfStretchingPole,755 +longitudeOfStretchingPoleInDegrees,756 +longitudeOfSubSatellitePoint,757 +longitudeOfSubSatellitePointInDegrees,758 +longitudeOfTangencyPoint,759 +longitudeOfThePoleOfStretching,760 +longitudeOfThePolePoint,761 +longitudeOfThePolePointInDegrees,762 +longitudeOfTheSouthernPoleOfProjection,763 +longitudes,764 +longitudesList,765 +longitudinalDirectionGridLength,766 +lowerLimit,767 +lowerRange,768 +lowerThreshold,769 +lowerThresholdValue,770 +ls_labeling,771 +m,772 +mAngleMultiplier,773 +mBasicAngle,774 +mars,775 +marsClass,776 +marsClass1,777 +marsClass2,778 +marsDir,779 +marsDomain,780 +marsEndStep,781 +marsExperimentOffset,782 +marsExpver,783 +marsForecastMonth,784 +marsGrid,785 +marsIdent,786 +marsKeywords,787 +marsKeywords1,788 +marsLamModel,789 +marsLatitude,790 +marsLevel,791 +marsLevelist,792 +marsLongitude,793 +marsModel,794 +marsParam,795 +marsQuantile,796 +marsRange,797 +marsStartStep,798 +marsStep,799 +marsStream,800 +marsStream1,801 +marsStream2,802 +marsType,803 +marsType1,804 +marsType2,805 +mars_labeling,806 +mask,807 +masterDir,808 +masterTableNumber,809 +masterTablesVersionNumber,810 +matchAerosolBinNumber,811 +matchAerosolPacking,812 +matchLandType,813 +matchSort,814 +matchTimeRepres,815 +matrixBitmapsPresent,816 +matrixOfValues,817 +max,818 +maximum,819 +md5DataSection,820 +md5GridSection,821 +md5Headers,822 +md5Section1,823 +md5Section2,824 +md5Section3,825 +md5Section4,826 +md5Section5,827 +md5Section6,828 +md5Section7,829 +meanSize,830 +meaningOfVerticalCoordinate,831 +messageLength,832 +method,833 +methodNumber,834 +million,835 +min,836 +minimum,837 +minute,838 +minuteOfAnalysis,839 +minuteOfEndOfOverallTimeInterval,840 +minuteOfReference,841 +minutesAfterDataCutoff,842 +minutesAfterReferenceTimeOfDataCutoff,843 +missingDataFlag,844 +missingValue,845 +missingValueManagement,846 +missingValueManagementUsed,847 +mixedCoordinateDefinition,848 +mixedCoordinateFieldFlag,849 +model,850 +modelErrorType,851 +modelIdentifier,852 +modelVersionDate,853 +modelVersionTime,854 +molarMass,855 +month,856 +monthOfAnalysis,857 +monthOfEndOfOverallTimeInterval,858 +monthOfReference,859 +monthlyVerificationDate,860 +multiplicationFactorForLatLong,861 +mybits,862 +n,863 +n2,864 +n3,865 +name,866 +nameECMF,867 +nameOfFirstFixedSurface,868 +nameOfSecondFixedSurface,869 +names,870 +nd,871 +neitherPresent,872 +nlev,873 +nnn,874 +normAtFinalTime,875 +normAtInitialTime,876 +northLatitudeOfCluster,877 +northLatitudeOfDomainOfTubing,878 +northWestLatitudeOfLPOArea,879 +northWestLatitudeOfVerficationArea,880 +northWestLongitudeOfLPOArea,881 +northWestLongitudeOfVerficationArea,882 +northernLatitudeOfClusterDomain,883 +northernLatitudeOfDomain,884 +nt,885 +number,886 +numberInHorizontalCoordinates,887 +numberInMixedCoordinateDefinition,888 +numberInTheAuxiliaryArray,889 +numberInTheGridCoordinateList,890 +numberIncludedInAverage,891 +numberMissingFromAveragesOrAccumulations,892 +numberOfAnalysis,893 +numberOfBits,894 +numberOfBitsContainingEachPackedValue,895 +numberOfBitsForScaledGroupLengths,896 +numberOfBitsUsedForTheGroupWidths,897 +numberOfBitsUsedForTheScaledGroupLengths,898 +numberOfBytesInLocalDefinition,899 +numberOfBytesOfFreeFormatData,900 +numberOfBytesPerInteger,901 +numberOfCategories,902 +numberOfCharacters,903 +numberOfChars,904 +numberOfClusterHighResolution,905 +numberOfClusterLowResolution,906 +numberOfClusters,907 +numberOfCodedValues,908 +numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction,909 +numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction,910 +numberOfColumns,911 +numberOfComponents,912 +numberOfContributingSpectralBands,913 +numberOfControlForecastTube,914 +numberOfCoordinatesValues,915 +numberOfDataBinsAlongRadials,916 +numberOfDataMatrices,917 +numberOfDataPoints,918 +numberOfDataSubsets,919 +numberOfDataValues,920 +numberOfDiamonds,921 +numberOfDirections,922 +numberOfEffectiveValues,923 +numberOfFloats,924 +numberOfForcasts,925 +numberOfForecastsInCluster,926 +numberOfForecastsInEnsemble,927 +numberOfForecastsInTheCluster,928 +numberOfForecastsInTube,929 +numberOfFrequencies,930 +numberOfGridInReference,931 +numberOfGridUsed,932 +numberOfGroups,933 +numberOfGroupsOfDataValues,934 +numberOfHorizontalPoints,935 +numberOfIntegers,936 +numberOfInts,937 +numberOfIterations,938 +numberOfLocalDefinitions,939 +numberOfLogicals,940 +numberOfMembersInCluster,941 +numberOfMissing,942 +numberOfMissingInStatisticalProcess,943 +numberOfMissingValues,944 +numberOfModels,945 +numberOfObservations,946 +numberOfOctectsForNumberOfPoints,947 +numberOfOctetsExtraDescriptors,948 +numberOfOperationalForecastTube,949 +numberOfPackedValues,950 +numberOfParallelsBetweenAPoleAndTheEquator,951 +numberOfParametersUsedForClustering,952 +numberOfPartitions,953 +numberOfPoints,954 +numberOfPointsAlongAMeridian,955 +numberOfPointsAlongAParallel,956 +numberOfPointsAlongFirstAxis,957 +numberOfPointsAlongSecondAxis,958 +numberOfPointsAlongTheXAxis,959 +numberOfPointsAlongTheYAxis,960 +numberOfPointsAlongXAxis,961 +numberOfPointsAlongYAxis,962 +numberOfPointsUsed,963 +numberOfPressureLevelsUsedForClustering,964 +numberOfRadarSitesUsed,965 +numberOfRadials,966 +numberOfRemaininChars,967 +numberOfRepresentativeMember,968 +numberOfReservedBytes,969 +numberOfRows,970 +numberOfSecondOrderPackedValues,971 +numberOfSection,972 +numberOfSingularVectorsComputed,973 +numberOfSingularVectorsEvolved,974 +numberOfStepsUsedForClustering,975 +numberOfTimeRange,976 +numberOfTimeSteps,977 +numberOfUnusedBitsAtEndOfSection3,978 +numberOfVGridUsed,979 +numberOfValues,980 +numberOfVerticalCoordinateValues,981 +numberOfVerticalGridDescriptors,982 +numberOfVerticalPoints,983 +numberingOrderOfDiamonds,984 +observationDiagnostic,985 +observationGeneratingProcessIdentifier,986 +observationType,987 +obstype,988 +oceanAtmosphereCoupling,989 +oceanStream,990 +octetAtWichPackedDataBegins,991 +offset,992 +offsetAfterBitmap,993 +offsetAfterCentreLocalSection,994 +offsetAfterData,995 +offsetAfterLocalSection,996 +offsetAfterPadding,997 +offsetBBitmap,998 +offsetBSection5,999 +offsetBSection6,1000 +offsetBeforeBitmap,1001 +offsetBeforeData,1002 +offsetBeforePL,1003 +offsetBeforePV,1004 +offsetFreeFormData,1005 +offsetFromOriginToInnerBound,1006 +offsetFromReferenceOfFirstTime,1007 +offsetICEFieldsUsed,1008 +offsetSection0,1009 +offsetSection1,1010 +offsetSection2,1011 +offsetSection3,1012 +offsetSection4,1013 +offsetSection5,1014 +offsetSection6,1015 +offsetSection7,1016 +offsetSection8,1017 +offsetToEndOf4DvarWindow,1018 +offsetValuesBy,1019 +one,1020 +oneConstant,1021 +oneMillionConstant,1022 +oneThousand,1023 +oper,1024 +operStream,1025 +operatingMode,1026 +operationalForecastCluster,1027 +optimisationTime,1028 +optionalData,1029 +opttime,1030 +orderOfSPD,1031 +orderOfSpatialDifferencing,1032 +orientationOfTheGrid,1033 +orientationOfTheGridInDegrees,1034 +origin,1035 +originalParameterNumber,1036 +originalParameterTableNumber,1037 +originalSubCentreIdentifier,1038 +originatingCentre,1039 +originatingCentreOfAnalysis,1040 +originatingCentrer,1041 +packedValues,1042 +packingError,1043 +packingType,1044 +padding,1045 +padding_grid1_1,1046 +padding_grid1_2,1047 +padding_grid3_1,1048 +padding_grid4_1,1049 +padding_grid50_1,1050 +padding_grid5_1,1051 +padding_grid90_1,1052 +padding_loc10_1,1053 +padding_loc13_1,1054 +padding_loc13_2,1055 +padding_loc13_3,1056 +padding_loc13_4,1057 +padding_loc13_5,1058 +padding_loc14_1,1059 +padding_loc14_2,1060 +padding_loc15_1,1061 +padding_loc16_1,1062 +padding_loc17_2,1063 +padding_loc18_1,1064 +padding_loc18_2,1065 +padding_loc190_1,1066 +padding_loc191_1,1067 +padding_loc191_2,1068 +padding_loc191_3,1069 +padding_loc192_1,1070 +padding_loc19_2,1071 +padding_loc20_1,1072 +padding_loc21_1,1073 +padding_loc23_1,1074 +padding_loc244_1,1075 +padding_loc244_2,1076 +padding_loc244_3,1077 +padding_loc245_1,1078 +padding_loc245_2,1079 +padding_loc26_1,1080 +padding_loc27_1,1081 +padding_loc27_2,1082 +padding_loc28_1,1083 +padding_loc29_1,1084 +padding_loc29_2,1085 +padding_loc29_3,1086 +padding_loc2_1,1087 +padding_loc2_2,1088 +padding_loc30_1,1089 +padding_loc30_2,1090 +padding_loc37_1,1091 +padding_loc37_2,1092 +padding_loc38_1,1093 +padding_loc3_1,1094 +padding_loc4_2,1095 +padding_loc50_1,1096 +padding_loc5_1,1097 +padding_loc6_1,1098 +padding_loc7_1,1099 +padding_loc9_1,1100 +padding_loc9_2,1101 +padding_local11_1,1102 +padding_local1_1,1103 +padding_local1_31,1104 +padding_local40_1,1105 +padding_local_35,1106 +padding_local_7_1,1107 +padding_sec1_loc,1108 +padding_sec2_1,1109 +padding_sec2_2,1110 +padding_sec2_3,1111 +padding_sec3_1,1112 +padding_sec4_1,1113 +param,1114 +paramId,1115 +paramIdECMF,1116 +parameter,1117 +parameterCategory,1118 +parameterCode,1119 +parameterIndicator,1120 +parameterName,1121 +parameterNumber,1122 +parameterUnits,1123 +parameters,1124 +parametersVersion,1125 +partitionItems,1126 +partitionNumber,1127 +partitionTable,1128 +partitions,1129 +patch_precip_fp,1130 +pentagonalResolutionParameterJ,1131 +pentagonalResolutionParameterK,1132 +pentagonalResolutionParameterM,1133 +percentileValue,1134 +periodOfTime,1135 +periodOfTimeIntervals,1136 +perturbationNumber,1137 +perturbedType,1138 +phase,1139 +physicalFlag1,1140 +physicalFlag2,1141 +physicalMeaningOfVerticalCoordinate,1142 +pl,1143 +platform,1144 +plusOneinOrdersOfSPD,1145 +points,1146 +postAuxiliary,1147 +postAuxiliaryArrayPresent,1148 +powerOfTenUsedToScaleClimateWeight,1149 +preBitmapValues,1150 +preProcessingParameter,1151 +precision,1152 +precisionOfTheUnpackedSubset,1153 +predefined_grid,1154 +predefined_grid_values,1155 +present,1156 +pressureLevel,1157 +pressureUnits,1158 +primaryBitmap,1159 +primaryMissingValue,1160 +primaryMissingValueSubstitute,1161 +probContinous,1162 +probPoint,1163 +probProductDefinition,1164 +probabilityType,1165 +probabilityTypeName,1166 +process,1167 +product,1168 +productDefinition,1169 +productDefinitionTemplateNumber,1170 +productDefinitionTemplateNumberInternal,1171 +productIdentifier,1172 +productType,1173 +productionStatusOfProcessedData,1174 +projectionCenterFlag,1175 +projectionCentreFlag,1176 +pv,1177 +pvlLocation,1178 +qualityControl,1179 +qualityControlIndicator,1180 +quantile,1181 +radialAngularSpacing,1182 +radials,1183 +radius,1184 +radiusInMetres,1185 +radiusOfCentralCluster,1186 +radiusOfClusterDomain,1187 +radiusOfTheEarth,1188 +range,1189 +rangeBinSpacing,1190 +rdbSubtype,1191 +rdbType,1192 +rdb_key,1193 +rdbtime,1194 +rdbtimeDay,1195 +rdbtimeHour,1196 +rdbtimeMinute,1197 +rdbtimeSecond,1198 +realPart,1199 +realPartOf00,1200 +rectime,1201 +rectimeDay,1202 +rectimeHour,1203 +rectimeMinute,1204 +rectimeSecond,1205 +reducedGrid,1206 +refdate,1207 +reference,1208 +referenceDate,1209 +referenceForGroupLengths,1210 +referenceForGroupWidths,1211 +referenceOfLengths,1212 +referenceOfWidths,1213 +referenceReflectivityForEchoTop,1214 +referenceStep,1215 +referenceValue,1216 +referenceValueError,1217 +reflectivityCalibrationConstant,1218 +reportType,1219 +representationMode,1220 +representationType,1221 +representativeMember,1222 +reserved,1223 +reserved1,1224 +reservedNeedNotBePresent,1225 +reservedOctet,1226 +resolutionAndComponentFlag,1227 +resolutionAndComponentFlags,1228 +resolutionAndComponentFlags1,1229 +resolutionAndComponentFlags2,1230 +resolutionAndComponentFlags3,1231 +resolutionAndComponentFlags4,1232 +resolutionAndComponentFlags6,1233 +resolutionAndComponentFlags7,1234 +resolutionAndComponentFlags8,1235 +roundedMarsLatitude,1236 +roundedMarsLevelist,1237 +roundedMarsLongitude,1238 +satelliteID,1239 +satelliteIdentifier,1240 +satelliteNumber,1241 +satelliteSeries,1242 +scaleFactorAtReferencePoint,1243 +scaleFactorOfCentralWaveNumber,1244 +scaleFactorOfDistanceFromEnsembleMean,1245 +scaleFactorOfEarthMajorAxis,1246 +scaleFactorOfEarthMinorAxis,1247 +scaleFactorOfFirstFixedSurface,1248 +scaleFactorOfFirstSize,1249 +scaleFactorOfFirstWavelength,1250 +scaleFactorOfLowerLimit,1251 +scaleFactorOfMajorAxisOfOblateSpheroidEarth,1252 +scaleFactorOfMinorAxisOfOblateSpheroidEarth,1253 +scaleFactorOfRadiusOfSphericalEarth,1254 +scaleFactorOfSecondFixedSurface,1255 +scaleFactorOfSecondSize,1256 +scaleFactorOfSecondWavelength,1257 +scaleFactorOfStandardDeviation,1258 +scaleFactorOfStandardDeviationInTheCluster,1259 +scaleFactorOfUpperLimit,1260 +scaleValuesBy,1261 +scaledDirections,1262 +scaledFrequencies,1263 +scaledValueOfCentralWaveNumber,1264 +scaledValueOfDistanceFromEnsembleMean,1265 +scaledValueOfEarthMajorAxis,1266 +scaledValueOfEarthMinorAxis,1267 +scaledValueOfFirstFixedSurface,1268 +scaledValueOfFirstSize,1269 +scaledValueOfFirstWavelength,1270 +scaledValueOfLowerLimit,1271 +scaledValueOfMajorAxisOfOblateSpheroidEarth,1272 +scaledValueOfMinorAxisOfOblateSpheroidEarth,1273 +scaledValueOfRadiusOfSphericalEarth,1274 +scaledValueOfSecondFixedSurface,1275 +scaledValueOfSecondSize,1276 +scaledValueOfSecondWavelength,1277 +scaledValueOfStandardDeviation,1278 +scaledValueOfStandardDeviationInTheCluster,1279 +scaledValueOfUpperLimit,1280 +scalingFactorForFrequencies,1281 +scanPosition,1282 +scanningMode,1283 +scanningMode4,1284 +scanningMode5,1285 +scanningMode6,1286 +scanningMode7,1287 +scanningMode8,1288 +scanningModeForOneDiamond,1289 +sd,1290 +second,1291 +secondDimension,1292 +secondDimensionCoordinateValueDefinition,1293 +secondDimensionPhysicalSignificance,1294 +secondLatitude,1295 +secondLatitudeInDegrees,1296 +secondOfEndOfOverallTimeInterval,1297 +secondOrderFlags,1298 +secondOrderOfDifferentWidth,1299 +secondOrderValuesDifferentWidths,1300 +secondaryBitMap,1301 +secondaryBitmap,1302 +secondaryBitmapPresent,1303 +secondaryBitmaps,1304 +secondaryBitmapsCount,1305 +secondaryBitmapsSize,1306 +secondaryMissingValue,1307 +secondaryMissingValueSubstitute,1308 +secondsOfAnalysis,1309 +secondsOfReference,1310 +section,1311 +section0Length,1312 +section0Pointer,1313 +section1,1314 +section1Flags,1315 +section1Length,1316 +section1Padding,1317 +section1Pointer,1318 +section2Length,1319 +section2Padding,1320 +section2Pointer,1321 +section2Present,1322 +section2Used,1323 +section3,1324 +section3Flags,1325 +section3Length,1326 +section3Padding,1327 +section3Pointer,1328 +section4,1329 +section4Length,1330 +section4Padding,1331 +section4Pointer,1332 +section5,1333 +section5Length,1334 +section5Pointer,1335 +section6,1336 +section6Length,1337 +section7,1338 +section7Length,1339 +section8,1340 +section8Length,1341 +section8Pointer,1342 +sectionLengthLimitForEnsembles,1343 +sectionLengthLimitForProbability,1344 +sectionNumber,1345 +sectionPosition,1346 +section_1,1347 +section_2,1348 +section_3,1349 +section_4,1350 +section_5,1351 +section_6,1352 +section_7,1353 +section_8,1354 +selectStepTemplateInstant,1355 +selectStepTemplateInterval,1356 +sensitiveAreaDomain,1357 +setBitsPerValue,1358 +setDecimalPrecision,1359 +setLocalDefinition,1360 +shapeOfTheEarth,1361 +shapeOfVerificationArea,1362 +shortName,1363 +shortNameECMF,1364 +short_name,1365 +significanceOfReferenceTime,1366 +siteElevation,1367 +siteId,1368 +siteLatitude,1369 +siteLongitude,1370 +sizeOfPostAuxiliaryArray,1371 +sizeOfPostAuxiliaryArrayPlusOne,1372 +skew,1373 +skewness,1374 +sort,1375 +sourceOfGridDefinition,1376 +southEastLatitudeOfLPOArea,1377 +southEastLatitudeOfVerficationArea,1378 +southEastLongitudeOfLPOArea,1379 +southEastLongitudeOfVerficationArea,1380 +southLatitudeOfCluster,1381 +southLatitudeOfDomainOfTubing,1382 +southernLatitudeOfClusterDomain,1383 +southernLatitudeOfDomain,1384 +sp1,1385 +sp2,1386 +sp3,1387 +spaceUnitFlag,1388 +spacingOfBinsAlongRadials,1389 +spare,1390 +spare2,1391 +spatialProcessing,1392 +spatialSmoothingOfProduct,1393 +spectralDataRepresentationMode,1394 +spectralDataRepresentationType,1395 +spectralMode,1396 +spectralType,1397 +sphericalHarmonics,1398 +standardDeviation,1399 +standardParallel,1400 +standardParallelInMicrodegrees,1401 +startOfHeaders,1402 +startOfRange,1403 +startStep,1404 +startStepInHours,1405 +startTimeStep,1406 +startingAzimuth,1407 +statisticalProcess,1408 +statisticalProcessesList,1409 +statistics,1410 +step,1411 +stepForClustering,1412 +stepInHours,1413 +stepRange,1414 +stepRangeInHours,1415 +stepType,1416 +stepTypeInternal,1417 +stepUnits,1418 +stepZero,1419 +stream,1420 +streamOfAnalysis,1421 +stretchingFactor,1422 +stretchingFactorScaled,1423 +stuff,1424 +subCentre,1425 +subDefinitions1,1426 +subDefinitions2,1427 +subLocalDefinition1,1428 +subLocalDefinition2,1429 +subLocalDefinitionLength1,1430 +subLocalDefinitionLength2,1431 +subLocalDefinitionNumber1,1432 +subLocalDefinitionNumber2,1433 +subSetJ,1434 +subSetK,1435 +subSetM,1436 +subcentreOfAnalysis,1437 +subdivisionsOfBasicAngle,1438 +suiteName,1439 +swapScanningLat,1440 +swapScanningLon,1441 +swapScanningX,1442 +swapScanningY,1443 +system,1444 +systemNumber,1445 +szipBitsPerPixel,1446 +szipOptionsMask,1447 +szipPixelPerBlock,1448 +szipPixelPerScanLine,1449 +table2Version,1450 +tableCode,1451 +tableReference,1452 +tablesLocalDir,1453 +tablesMasterDir,1454 +tablesVersion,1455 +targetCompressionRatio,1456 +theHindcastMarsStream,1457 +theMessage,1458 +thisExperimentVersionNumber,1459 +thisMarsClass,1460 +thisMarsStream,1461 +thisMarsType,1462 +thousand,1463 +three,1464 +threshold,1465 +thresholdIndicator,1466 +tiggeCentre,1467 +tiggeLAMName,1468 +tiggeLocalVersion,1469 +tiggeModel,1470 +tiggeSection,1471 +tiggeSuiteID,1472 +tigge_name,1473 +tigge_short_name,1474 +time,1475 +timeCoordinateDefinition,1476 +timeIncrement,1477 +timeIncrementBetweenSuccessiveFields,1478 +timeOfAnalysis,1479 +timeOfReference,1480 +timeRangeIndicator,1481 +timeRangeIndicatorFromStepRange,1482 +timeUnitFlag,1483 +timerepres,1484 +topLevel,1485 +total,1486 +totalAerosolBinsNumbers,1487 +totalInitialConditions,1488 +totalLength,1489 +totalNumber,1490 +totalNumberOfClusters,1491 +totalNumberOfDataValuesMissingInStatisticalProcess,1492 +totalNumberOfDirections,1493 +totalNumberOfForecastProbabilities,1494 +totalNumberOfFrequencies,1495 +totalNumberOfGridPoints,1496 +totalNumberOfIterations,1497 +totalNumberOfTubes,1498 +totalNumberOfdimensions,1499 +treatmentOfMissingData,1500 +trueLengthOfLastGroup,1501 +truncateDegrees,1502 +truncateLaplacian,1503 +tsectionNumber3,1504 +tsectionNumber4,1505 +tsectionNumber5,1506 +tubeDomain,1507 +tubeNumber,1508 +two,1509 +twoOrdersOfSPD,1510 +type,1511 +typeOfAnalysis,1512 +typeOfAuxiliaryInformation,1513 +typeOfCompressionUsed,1514 +typeOfEnsembleForecast,1515 +typeOfFirstFixedSurface,1516 +typeOfGeneratingProcess,1517 +typeOfGrid,1518 +typeOfHorizontalLine,1519 +typeOfIntervalForFirstAndSecondSize,1520 +typeOfIntervalForFirstAndSecondWavelength,1521 +typeOfLevel,1522 +typeOfLevelECMF,1523 +typeOfOriginalFieldValues,1524 +typeOfPacking,1525 +typeOfPreProcessing,1526 +typeOfProcessedData,1527 +typeOfSSTFieldUsed,1528 +typeOfSecondFixedSurface,1529 +typeOfSizeInterval,1530 +typeOfStatisticalProcessing,1531 +typeOfTimeIncrement,1532 +typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing,1533 +typeOfWavelengthInterval,1534 +typicalDate,1535 +typicalDay,1536 +typicalHour,1537 +typicalMinute,1538 +typicalMonth,1539 +typicalTime,1540 +typicalYearOfCentury,1541 +unitOfOffsetFromReferenceTime,1542 +unitOfTime,1543 +unitOfTimeIncrement,1544 +unitOfTimeRange,1545 +units,1546 +unitsBias,1547 +unitsDecimalScaleFactor,1548 +unitsECMF,1549 +unitsFactor,1550 +unitsOfFirstFixedSurface,1551 +unitsOfSecondFixedSurface,1552 +unknown,1553 +unpackedError,1554 +unpackedSubsetPrecision,1555 +unpackedValues,1556 +unsignedIntegers,1557 +unusedBitsInBitmap,1558 +updateSequenceNumber,1559 +upperLimit,1560 +upperRange,1561 +upperThreshold,1562 +upperThresholdValue,1563 +uuidOfHGrid,1564 +uuidOfVGrid,1565 +uvRelativeToGrid,1566 +validityDate,1567 +validityTime,1568 +values,1569 +varno,1570 +verificationDate,1571 +verifyingMonth,1572 +versionNumberOfGribLocalTables,1573 +verticalCoordinate,1574 +verticalCoordinateDefinition,1575 +waveDomain,1576 +weightAppliedToClimateMonth1,1577 +westLongitudeOfCluster,1578 +westLongitudeOfDomainOfTubing,1579 +westernLongitudeOfClusterDomain,1580 +westernLongitudeOfDomain,1581 +widthOfFirstOrderValues,1582 +widthOfLengths,1583 +widthOfSPD,1584 +widthOfWidths,1585 +wrongPadding,1586 +xCoordinateOfOriginOfSectorImage,1587 +xCoordinateOfSubSatellitePoint,1588 +xDirectionGridLength,1589 +xDirectionGridLengthInMetres,1590 +xDirectionGridLengthInMillimetres,1591 +xFirst,1592 +xLast,1593 +yCoordinateOfOriginOfSectorImage,1594 +yCoordinateOfSubSatellitePoint,1595 +yDirectionGridLength,1596 +yDirectionGridLengthInMetres,1597 +yDirectionGridLengthInMillimetres,1598 +yFirst,1599 +yLast,1600 +year,1601 +yearOfAnalysis,1602 +yearOfCentury,1603 +yearOfEndOfOverallTimeInterval,1604 +yearOfReference,1605 +zero,1606 diff --git a/tests/local.sh b/tests/local.sh index 022789314..45e1eabf8 100755 --- a/tests/local.sh +++ b/tests/local.sh @@ -70,7 +70,7 @@ do ${tools_dir}grib_set -s edition=2 loc1.grib1 loc1.grib2 ${tools_dir}grib_get -p localDefinitionNumber loc1.grib1 >> local.log ${tools_dir}grib_get -p localDefinitionNumber loc1.grib2 >> local.log - + for localEps in 1 15 26 30 do ${tools_dir}grib_set -s localDefinitionNumber=$localEps,eps=1,perturbationNumber=2,numberOfForecastsInEnsemble=50 loc1.grib2 eps.grib2 diff --git a/tests/tigge.sh b/tests/tigge.sh index 0e330c6bc..e2a91f95b 100755 --- a/tests/tigge.sh +++ b/tests/tigge.sh @@ -30,14 +30,22 @@ done # Now test non-TIGGE files too. We now expect tigge_check to fail! -set +e # All the grib files in the samples are non-TIGGE for file in ${GRIB_SAMPLES_PATH}/*.tmpl do + set +e ${tigge_dir}tigge_check ${file} 2> $REDIRECT > $REDIRECT - if [ $? -eq 0 ]; then + status=$? + set -e + if [ $status -eq 0 ]; then # should have failed and returned a non-zero exit code exit 1 fi done +# GRIB-531 +TEMP=temp.$$.tigge.txt +${tools_dir}grib_get -nparameter ${data_dir}/tigge_pf_ecmwf.grib2 > $TEMP +diff ${data_dir}/tigge_pf_ecmwf.grib2.ref $TEMP + +rm -f $TEMP diff --git a/tigge/Makefile.am b/tigge/Makefile.am index 7bf10f591..3c8ed16c8 100755 --- a/tigge/Makefile.am +++ b/tigge/Makefile.am @@ -14,3 +14,4 @@ INCLUDES = -I$(top_builddir)/src LDADD = $(top_builddir)/src/libgrib_api.la DEPENDENCIES = $(LDADD) +EXTRA_DIST = CMakeLists.txt diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 07451383a..334ddf149 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,10 +1,10 @@ # tools library ecbuild_add_library( TARGET grib_tools - TYPE STATIC + TYPE STATIC NOINSTALL - SOURCES grib_tools.c grib_options.c grib_tools.h - LIBS grib_api ) + SOURCES grib_tools.c grib_options.c grib_tools.h + LIBS grib_api ) # tools binaries @@ -20,14 +20,14 @@ foreach( tool ${grib_tools_bins} ) # here we use the fact that each tool has only one C file that matches its name ecbuild_add_executable( TARGET ${tool} - SOURCES ${tool}.c - LIBS grib_tools ) + SOURCES ${tool}.c + LIBS grib_tools ) endforeach() ecbuild_add_executable( TARGET grib_list_keys - SOURCES list_keys.c - LIBS grib_tools ) + SOURCES list_keys.c + LIBS grib_tools ) # missing noinst_PROGRAMS diff --git a/tools/Makefile.am b/tools/Makefile.am index 30a4f19f1..a69c60d72 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -82,3 +82,4 @@ grib1to2$(EXEEXT): grib1to2.txt # wingetopt files are for Microsoft Windows Visual Studio support noinst_HEADERS = grib_tools.h wingetopt.h wingetopt.c +EXTRA_DIST= CMakeLists.txt diff --git a/windows/msvc/grib_api_lib/grib_api_lib.vcproj b/windows/msvc/grib_api_lib/grib_api_lib.vcproj index 98977b508..18a038d5a 100644 --- a/windows/msvc/grib_api_lib/grib_api_lib.vcproj +++ b/windows/msvc/grib_api_lib/grib_api_lib.vcproj @@ -524,6 +524,10 @@ RelativePath="..\..\..\src\grib_accessor_class_data_apply_boustrophedonic.c" > + +