diff --git a/AUTHORS b/AUTHORS
index f21f35fcf..c0f36b955 100755
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,6 +1,7 @@
-Enrico Fucile
Shahram Najm
Eugen Betke
+Enrico Fucile
+Pedro Maciel
Sandor Kertesz
Sebastien Villaume
Florian Rathgeber
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f60682739..2da7bf145 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,17 +73,11 @@ endif()
###############################################################################
# some variables/options of this project
-if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
- ecbuild_add_cxx_flags("-Wno-write-strings")
- ecbuild_add_cxx_flags("-Wno-deprecated")
-elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
- ecbuild_add_cxx_flags("-Wno-write-strings")
- ecbuild_add_cxx_flags("-Wno-deprecated")
- else()
- ecbuild_add_cxx_flags("-Wno-writable-strings")
- endif()
-elseif( CMAKE_CXX_COMPILER_ID STREQUAL "Cray" )
+# ecbuild_add_cxx_flags("-Wno-write-strings" NO_FAIL)
+# ecbuild_add_cxx_flags("-Wno-writable-strings" NO_FAIL)
+# ecbuild_add_cxx_flags("-Wno-deprecated" NO_FAIL)
+
+if( CMAKE_CXX_COMPILER_ID STREQUAL "Cray" )
set(CMAKE_CXX_FLAGS "-hstd=c++11 ${CMAKE_CXX_FLAGS}")
endif()
@@ -201,8 +195,8 @@ ecbuild_add_option( FEATURE INSTALL_ECCODES_SAMPLES
ecbuild_add_option( FEATURE MEMORY_MANAGEMENT DESCRIPTION "Enable memory management" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE ALIGN_MEMORY DESCRIPTION "Enable memory alignment" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE TIMER DESCRIPTION "Enable timer" DEFAULT OFF ADVANCED )
-ecbuild_add_option( FEATURE ECCODES_THREADS DESCRIPTION "Enable POSIX threads" DEFAULT OFF ADVANCED )
-ecbuild_add_option( FEATURE ECCODES_OMP_THREADS DESCRIPTION "Enable OpenMP threads" DEFAULT OFF ADVANCED )
+ecbuild_add_option( FEATURE ECCODES_THREADS DESCRIPTION "Enable thread-safety using POSIX threads" DEFAULT OFF ADVANCED )
+ecbuild_add_option( FEATURE ECCODES_OMP_THREADS DESCRIPTION "Enable thread-safety using OpenMP threads" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE EXTRA_TESTS DESCRIPTION "Enable extended regression testing" DEFAULT OFF ADVANCED )
###############################################################################
diff --git a/INSTALL b/INSTALL
index b75d5b2b5..bccdbc3fb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -33,8 +33,6 @@ However it requires that cmake be installed on your system.
To add the Python3 bindings, use pip3 install from PyPI as follows:
> pip3 install eccodes
- or
- > pip3 install --install-option="--prefix=/path/to/where/you/install/eccodes" eccodes
You can also pass options to the cmake command above. Some typical examples are:
diff --git a/README.md b/README.md
index f63d65384..6859a1f1a 100644
--- a/README.md
+++ b/README.md
@@ -60,11 +60,6 @@ To add the Python3 bindings, use pip3 install from PyPI as follows:
```
pip3 install eccodes
```
- or
- ```
- pip3 install --install-option="--prefix=/path/to/where/you/install/eccodes" eccodes
- ```
-
For more details, please see:
https://confluence.ecmwf.int/display/ECC/ecCodes+installation
diff --git a/VERSION b/VERSION
index 1fb127446..aa5388f63 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.34.3
+2.35.0
diff --git a/bamboo/flags.cmake b/bamboo/flags.cmake
index 2c5a809e2..b434036aa 100644
--- a/bamboo/flags.cmake
+++ b/bamboo/flags.cmake
@@ -1,3 +1,5 @@
-SET(ENABLE_EXTRA_TESTS ON CACHE BOOL "Enable extra tests")
-SET(ENABLE_ECCODES_THREADS ON CACHE BOOL "Enable POSIX threads")
-SET(ENABLE_MEMFS ON CACHE BOOL "Enable MEMFS")
+SET(ENABLE_EXTRA_TESTS ON CACHE BOOL "Enable extra tests")
+SET(ECCODES_INSTALL_EXTRA_TOOLS ON CACHE BOOL "Install extra tools")
+SET(ENABLE_ECCODES_THREADS ON CACHE BOOL "Enable POSIX threads")
+SET(ENABLE_MEMFS ON CACHE BOOL "Enable MEMFS")
+# SET(ENABLE_JPG_LIBOPENJPEG OFF CACHE BOOL "Disable OpenJPEG")
diff --git a/data/julian.out.good b/data/julian.out.good
index c1321285c..c897c9476 100644
--- a/data/julian.out.good
+++ b/data/julian.out.good
@@ -62,4 +62,6 @@ Test2...
- -47120001 -> 6
Test3...
+Test4...
+Test5...
All OK
diff --git a/definitions/boot.def b/definitions/boot.def
index 61a7b7be0..bb8991382 100644
--- a/definitions/boot.def
+++ b/definitions/boot.def
@@ -18,12 +18,12 @@ constant defaultTypeOfLevel="unknown" : hidden;
gribDataQualityChecks = getenv("ECCODES_GRIB_DATA_QUALITY_CHECKS","0") : hidden;
if (gribDataQualityChecks) {
- template LIMITS "param_limits.def";
+ template LIMITS "param_limits.def";
}
# GRIBEX special boustrophedonic mode. See GRIB-472
# If the environment variable is not defined, the key will be 0
-GRIBEX_boustrophedonic = getenv("ECCODES_GRIBEX_BOUSTROPHEDONIC","0") :hidden;
+GRIBEX_boustrophedonic = getenv("ECCODES_GRIBEX_BOUSTROPHEDONIC","0") :hidden;
constant zero=0 : hidden;
constant one=1 : hidden;
@@ -61,65 +61,65 @@ transient produceLargeConstantFields = 0 : hidden;
meta libraryVersion library_version() : hidden;
-lookup[4] kindOfProduct (0,identifier) : hidden;
+lookup[4] kindOfProduct (0,identifier) : hidden;
# grib templates
# `ABCD` is a number, each letter being a byte
if(kindOfProduct == `GRIB`){
- lookup[1] GRIBEditionNumber (7,editionNumber) : edition_specific ;
- template GRIB "grib[GRIBEditionNumber:l]/boot.def" ;
+ lookup[1] GRIBEditionNumber (7,editionNumber) : edition_specific;
+ template GRIB "grib[GRIBEditionNumber:l]/boot.def" ;
}
if(kindOfProduct == `BUDG` ){
- template BUDG "budg/boot.def" ;
+ template BUDG "budg/boot.def" ;
}
if(kindOfProduct == `DIAG`){
- template DIAG "diag/boot.def" ;
+ template DIAG "diag/boot.def" ;
}
if(kindOfProduct == `TIDE`){
- template TIDE "tide/boot.def" ;
+ template TIDE "tide/boot.def" ;
}
if(kindOfProduct == `BUFR`){
- template BUFR "bufr/boot.def" ;
- #constant BUFRstr="BUFR"; #ECC-742
+ template BUFR "bufr/boot.def" ;
+ #constant BUFRstr="BUFR"; #ECC-742
#alias identifier=BUFRstr;
}
if(kindOfProduct == `CDFX`){
- template CDF "cdf/boot.def" ;
- constant CDFstr="netCDF";
+ template CDF "cdf/boot.def" ;
+ constant CDFstr="netCDF";
alias ls.identifier=CDFstr;
}
if(kindOfProduct == 17632522 ){
- template GTS "gts/boot.def" ;
+ template GTS "gts/boot.def" ;
constant GTSstr="GTS";
alias ls.identifier=GTSstr;
}
if(kindOfProduct == `META` ){
- template METAR "metar/boot.def" ;
+ template METAR "metar/boot.def" ;
constant METARstr="METAR";
alias identifier=METARstr;
}
if(kindOfProduct == `TAF ` ){
- template TAF "taf/boot.def" ;
+ template TAF "taf/boot.def" ;
constant TAFstr="TAF";
alias ls.identifier=TAFstr;
}
if(kindOfProduct == 2303214662){
- template HDF5 "hdf5/boot.def" ;
- constant HDF5str="HDF5";
+ template HDF5 "hdf5/boot.def" ;
+ constant HDF5str="HDF5";
alias ls.identifier=HDF5str;
}
if(kindOfProduct == `WRAP`){
- template WRAP "wrap/boot.def" ;
- constant WRAPstr="WRAP";
+ template WRAP "wrap/boot.def" ;
+ constant WRAPstr="WRAP";
alias ls.identifier=WRAPstr;
}
diff --git a/definitions/bufr/section.3.def b/definitions/bufr/section.3.def
index 1d9d8c7f9..d223bbbb2 100644
--- a/definitions/bufr/section.3.def
+++ b/definitions/bufr/section.3.def
@@ -51,7 +51,7 @@ unsigned[2] numberOfSubsets : dump;
alias ls.numberOfSubsets=numberOfSubsets;
if (section2Present && bufrHeaderCentre==98 && section2Length==52) {
- if ( rdbType == 2 || rdbType == 3 || rdbType == 8 || rdbType == 12 ) {
+ if ( rdbType == 2 || rdbType == 3 || rdbType == 8 || rdbType == 12 || rdbType == 30 ) {
transient isSatelliteType=1;
} else {
transient isSatelliteType=0;
diff --git a/definitions/common/c-11.table b/definitions/common/c-11.table
index 6c52dbf48..778001045 100644
--- a/definitions/common/c-11.table
+++ b/definitions/common/c-11.table
@@ -2,19 +2,26 @@
0 0 WMO Secretariat
1 ammc Melbourne (WMC)
2 2 Melbourne (WMC)
+3 3 Melbourne (WMC)
4 rums Moscow (WMC)
5 5 Moscow (WMC)
+6 6 Moscow (WMC)
7 kwbc US National Weather Service - NCEP (WMC)
8 8 US National Weather Service - NWSTG (WMC)
9 9 US National Weather Service - Other (WMC)
10 10 Cairo (RSMC/RAFC)
+11 11 Cairo (RSMC/RAFC)
12 12 Dakar (RSMC/RAFC)
+13 13 Dakar (RSMC/RAFC)
14 14 Nairobi (RSMC/RAFC)
-16 16 Atananarivo (RSMC)
+15 15 Nairobi (RSMC/RAFC)
+16 16 Casablanca (RSMC)
+17 17 Tunis (RSMC)
18 18 Tunis-Casablanca (RSMC)
20 20 Las Palmas (RAFC)
21 21 Algiers (RSMC)
-22 22 Lagos (RSMC)
+22 22 ACMAD
+23 23 Mozambique (NMC)
24 fapr Pretoria (RSMC)
26 26 Khabarovsk (RSMC)
28 vabb New Delhi (IMD)
@@ -23,27 +30,38 @@
32 32 Tashkent (RSMC)
33 33 Jeddah (RSMC)
34 rjtd Japanese Meteorological Agency - Tokyo (RSMC)
-36 36 Bankok
-37 37 Ulan Bator
+36 36 Bangkok
+37 37 Ulaanbaatar
38 babj Beijing (RSMC)
40 rksl Seoul
41 sabm Buenos Aires (RSMC/RAFC)
43 43 Brasilia (RSMC/RAFC)
45 45 Santiago
46 sbsj Brasilian Space Agency - INPE
+47 47 Colombia (NMC)
+48 48 Ecuador (NMC)
+49 49 Peru (NMC)
+50 50 Venezuela (Bolivarian Republic of) (NMC)
51 51 Miami (RSMC/RAFC)
52 52 National Hurricane Center, Miami
53 53 Canadian Meteorological Service - Montreal (RSMC)
54 cwao Canadian Meteorological Service - Montreal (RSMC)
55 55 San Francisco
+56 56 ARINC Centre
57 57 U.S. Air Force - Global Weather Center
58 fnmo US Navy - Fleet Numerical Oceanography Center
59 59 NOAA Forecast Systems Lab, Boulder CO
60 60 National Center for Atmospheric Research (NCAR), Boulder, CO
+61 61 Service ARGOS - Landover
+62 62 US Naval Oceanographic Office
+63 63 International Research Institute for Climate and Society (IRI)
64 64 Honolulu
65 65 Darwin (RSMC)
67 67 Melbourne (RSMC)
69 nzkl Wellington (RSMC/RAFC)
+71 71 Nadi (RSMC)
+72 72 Singapore
+73 73 Malaysia (NMC)
74 egrr U.K. Met Office - Exeter
76 76 Moscow (RSMC/RAFC)
78 edzw Offenbach (RSMC)
@@ -65,9 +83,34 @@
97 97 European Space Agency (ESA)
98 ecmf European Centre for Medium-Range Weather Forecasts
99 99 DeBilt, Netherlands
+100 100 Brazzaville
+101 101 Abidjan
+102 102 Libya (NMC)
+103 103 Madagascar (NMC)
+104 104 Mauritius (NMC)
+105 105 Niger (NMC)
+106 106 Seychelles (NMC)
+107 107 Uganda (NMC)
+108 108 United Republic of Tanzania (NMC)
+109 109 Zimbabwe (NMC)
110 110 Hong-Kong
+145 145 French Guiana
+146 146 Brazilian Navy Hydrographic Centre
+147 147 National Commission on Space Activities (CONAE) - Argentina
+148 148 Brazilian Department of Airspace Control - DECEA
160 160 US NOAA/NESDIS
+161 161 US NOAA Office of Oceanic and Atmospheric Research
173 nasa US National Aeronautics and Space Administration (NASA)
+
+174 174 Integrated Science Data Management/Marine Environmental Data Service (ISDM/MEDS - Canada)
+175 175 University Corporation for Atmospheric Research (UCAR) - United States
+176 176 Cooperative Institute for Meteorological Satellite Studies (CIMSS) - United States
+177 177 NOAA National Ocean Service - United States
+178 178 Spire Global, Inc.
+179 179 GeoOptics, Inc.
+180 180 PlanetiQ
+181 181 Atmospheric and Environmental Research (AER)
+
195 wiix Indonesia (NMC)
204 niwa National Institute of Water and Atmospheric Research (NIWA - New Zealand)
210 210 Frascati (ESA/ESRIN)
@@ -85,6 +128,8 @@
222 222 Albania (NMC)
223 223 Armenia (NMC)
224 lowm Austria
+225 225 Azerbaijan (NMC)
+226 226 Belarus (NMC)
227 ebum Belgium (NMC)
228 228 Bosnia and Herzegovina (NMC)
229 229 Bulgaria (NMC)
@@ -94,6 +139,7 @@
233 eidb Dublin
234 234 Israel (NMC)
235 ingv INGV
+238 238 Lithuania (NMC)
239 crfc CERFAX
240 240 Malta (NMC)
241 241 Monaco
diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def
index 6e19617e2..f652e0ac8 100644
--- a/definitions/grib1/localConcepts/ecmf/cfVarName.def
+++ b/definitions/grib1/localConcepts/ecmf/cfVarName.def
@@ -12659,7 +12659,7 @@
table2Version = 140 ;
indicatorOfParameter = 217 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'hmax' = {
table2Version = 140 ;
indicatorOfParameter = 218 ;
diff --git a/definitions/grib1/localConcepts/ecmf/name.def b/definitions/grib1/localConcepts/ecmf/name.def
index bee6eddab..c6600060a 100644
--- a/definitions/grib1/localConcepts/ecmf/name.def
+++ b/definitions/grib1/localConcepts/ecmf/name.def
@@ -12659,8 +12659,8 @@
table2Version = 140 ;
indicatorOfParameter = 217 ;
}
-#Maximum individual wave height
-'Maximum individual wave height' = {
+#Envelop-maximum individual wave height
+'Envelop-maximum individual wave height' = {
table2Version = 140 ;
indicatorOfParameter = 218 ;
}
diff --git a/definitions/grib1/localConcepts/ecmf/paramId.def b/definitions/grib1/localConcepts/ecmf/paramId.def
index bd07cf762..25b2986ec 100644
--- a/definitions/grib1/localConcepts/ecmf/paramId.def
+++ b/definitions/grib1/localConcepts/ecmf/paramId.def
@@ -12659,7 +12659,7 @@
table2Version = 140 ;
indicatorOfParameter = 217 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'140218' = {
table2Version = 140 ;
indicatorOfParameter = 218 ;
diff --git a/definitions/grib1/localConcepts/ecmf/shortName.def b/definitions/grib1/localConcepts/ecmf/shortName.def
index 54ef51c2b..70ccd9973 100644
--- a/definitions/grib1/localConcepts/ecmf/shortName.def
+++ b/definitions/grib1/localConcepts/ecmf/shortName.def
@@ -12659,7 +12659,7 @@
table2Version = 140 ;
indicatorOfParameter = 217 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'hmax' = {
table2Version = 140 ;
indicatorOfParameter = 218 ;
diff --git a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
index c649d29a6..e74860061 100644
--- a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
+++ b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
@@ -7,31 +7,194 @@
"accum" = {timeRangeIndicator=1;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
"accum" = {timeRangeIndicator=10;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
-# sshf
-"accum" = {indicatorOfParameter=146;gribTablesVersionNo=128;centre=98;}
-# slhf
-"accum" = {indicatorOfParameter=147;gribTablesVersionNo=128;centre=98;}
-# ssrd
-"accum" = {indicatorOfParameter=169;gribTablesVersionNo=128;centre=98;}
-# strd
-"accum" = {indicatorOfParameter=175;gribTablesVersionNo=128;centre=98;}
-# ssr
-"accum" = {indicatorOfParameter=176;gribTablesVersionNo=128;centre=98;}
-# str
-"accum" = {indicatorOfParameter=177;gribTablesVersionNo=128;centre=98;}
-# ttr
-"accum" = {indicatorOfParameter=179;gribTablesVersionNo=128;centre=98;}
-# sund
-"accum" = {indicatorOfParameter=189;gribTablesVersionNo=128;centre=98;}
-# runoff
-"accum" = {indicatorOfParameter=205;gribTablesVersionNo=128;centre=98;}
# sro
-"accum" = {indicatorOfParameter=8;gribTablesVersionNo=128;centre=98;}
-# e
-"accum" = {indicatorOfParameter=182;gribTablesVersionNo=128;centre=98;}
-# lsp
-"accum" = {indicatorOfParameter=142;gribTablesVersionNo=128;centre=98;}
-# pev
-"accum" = {indicatorOfParameter=251;gribTablesVersionNo=228;centre=98;}
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=8;centre=98;}
+# ssro
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=9;centre=98;}
+# parcs
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=20;centre=98;}
+# es
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=44;centre=98;}
+# smlt
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=45;centre=98;}
+# dsrp
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=47;centre=98;}
+# 10fg
+"max"={gribTablesVersionNo=128;indicatorOfParameter=49;centre=98;}
+# lspf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=50;centre=98;}
+# mx2t24
+"max"={gribTablesVersionNo=128;indicatorOfParameter=51;centre=98;}
+# mn2t24
+"min"={gribTablesVersionNo=128;indicatorOfParameter=52;centre=98;}
# uvb
-"accum" = {indicatorOfParameter=57;gribTablesVersionNo=128;centre=98;}
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=57;centre=98;}
+# par
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=58;centre=98;}
+# mx2t6
+"max"={gribTablesVersionNo=128;indicatorOfParameter=121;centre=98;}
+# mn2t6
+"min"={gribTablesVersionNo=128;indicatorOfParameter=122;centre=98;}
+# lsp
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=142;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=142;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=142;centre=98;}
+# cp
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=143;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=143;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=143;centre=98;}
+# sf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=144;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=144;centre=98;}
+# bld
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=145;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=145;centre=98;}
+# sshf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=146;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=146;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=146;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=146;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=146;centre=98;}
+# slhf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=147;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=147;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=147;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=147;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=147;centre=98;}
+# snr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=149;centre=98;}
+# tnr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=150;centre=98;}
+# ssrd
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=169;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=169;centre=98;}
+# strd
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=175;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=175;centre=98;}
+# ssr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=176;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=176;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=176;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=176;centre=98;}
+# str
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=177;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=177;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=177;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=177;centre=98;}
+# tsr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=178;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=178;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=178;centre=98;}
+# ttr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=179;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=179;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=179;centre=98;}
+# ewss
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=180;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=180;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=180;centre=98;}
+# nsss
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=181;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=181;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=181;centre=98;}
+# e
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=182;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=182;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=182;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=182;centre=98;}
+# sund
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=189;centre=98;}
+# lgws
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=195;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=195;centre=98;}
+# mgws
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=196;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=196;centre=98;}
+# gwd
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=197;centre=98;}
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=197;centre=98;}
+# mx2t
+"max"={gribTablesVersionNo=128;indicatorOfParameter=201;centre=98;}
+"max"={gribTablesVersionNo=170;indicatorOfParameter=201;centre=98;}
+"max"={gribTablesVersionNo=190;indicatorOfParameter=201;centre=98;}
+# mn2t
+"min"={gribTablesVersionNo=128;indicatorOfParameter=202;centre=98;}
+"min"={gribTablesVersionNo=170;indicatorOfParameter=202;centre=98;}
+"min"={gribTablesVersionNo=190;indicatorOfParameter=202;centre=98;}
+# ro
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=205;centre=98;}
+"accum"={gribTablesVersionNo=180;indicatorOfParameter=205;centre=98;}
+# tsrc
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=208;centre=98;}
+# ttrc
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=209;centre=98;}
+# ssrc
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=210;centre=98;}
+# strc
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=211;centre=98;}
+# tisr
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=212;centre=98;}
+# vimd
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=213;centre=98;}
+# tp
+"accum"={gribTablesVersionNo=160;indicatorOfParameter=228;centre=98;}
+"accum"={gribTablesVersionNo=170;indicatorOfParameter=228;centre=98;}
+"accum"={gribTablesVersionNo=190;indicatorOfParameter=228;centre=98;}
+# csf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=239;centre=98;}
+# lsf
+"accum"={gribTablesVersionNo=128;indicatorOfParameter=240;centre=98;}
+# fdir
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=21;centre=98;}
+# cdir
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=22;centre=98;}
+# mx2t3
+"max"={gribTablesVersionNo=228;indicatorOfParameter=26;centre=98;}
+# mn2t3
+"min"={gribTablesVersionNo=228;indicatorOfParameter=27;centre=98;}
+# 10fg3
+"max"={gribTablesVersionNo=228;indicatorOfParameter=28;centre=98;}
+# litota1
+"avg"={gribTablesVersionNo=228;indicatorOfParameter=51;centre=98;}
+# licga1
+"avg"={gribTablesVersionNo=228;indicatorOfParameter=53;centre=98;}
+# ssrdc
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=129;centre=98;}
+# strdc
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=130;centre=98;}
+# fzra
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=216;centre=98;}
+# mxtpr
+"max"={gribTablesVersionNo=228;indicatorOfParameter=226;centre=98;}
+# mntpr
+"min"={gribTablesVersionNo=228;indicatorOfParameter=227;centre=98;}
+# pev
+"accum"={gribTablesVersionNo=228;indicatorOfParameter=251;centre=98;}
+# srta
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=100;centre=98;}
+# trta
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=101;centre=98;}
+# srtca
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=102;centre=98;}
+# trtca
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=103;centre=98;}
+# umfa
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=104;centre=98;}
+# dmfa
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=105;centre=98;}
+# udra
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=106;centre=98;}
+# ddra
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=107;centre=98;}
+# tpfa
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=108;centre=98;}
+# tdcha
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=109;centre=98;}
+# ttpha
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=110;centre=98;}
+# qtpha
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=111;centre=98;}
+# utpha
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=112;centre=98;}
+# vtpha
+"accum"={gribTablesVersionNo=162;indicatorOfParameter=113;centre=98;}
diff --git a/definitions/grib1/localConcepts/ecmf/units.def b/definitions/grib1/localConcepts/ecmf/units.def
index c2c79b985..7fe4b06ee 100644
--- a/definitions/grib1/localConcepts/ecmf/units.def
+++ b/definitions/grib1/localConcepts/ecmf/units.def
@@ -12659,7 +12659,7 @@
table2Version = 140 ;
indicatorOfParameter = 217 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'm' = {
table2Version = 140 ;
indicatorOfParameter = 218 ;
diff --git a/definitions/grib1/mars_labeling.4.def b/definitions/grib1/mars_labeling.4.def
index d75df1341..e0984d22b 100644
--- a/definitions/grib1/mars_labeling.4.def
+++ b/definitions/grib1/mars_labeling.4.def
@@ -89,7 +89,7 @@ if (horizontalCoordinateDefinition == 0) {
{
meta coordinateIndexNumber evaluate(coordinate4Flag+coordinate3Flag);
-# levelist latitude longitude
+ # levelist latitude longitude
if (coordinateIndexNumber== 3) {
meta marsLatitude divdouble( coordinate1Start,1000000);
meta marsLongitude divdouble( coordinate2Start,1000000);
@@ -145,15 +145,15 @@ if (horizontalCoordinateDefinition == 0) {
alias mars.range = marsRange;
}
}
-# product
- alias mars.product = coordAveragingTims;
-# date
- if (marsType == TYPE_OR && averaging1Flag == P_INST) {
- #remove mars.date;
- alias mars.date = verificationDate;
- #remove mars.step;
- constant stepZero = 0;
- alias mars.step =stepZero;
- }
+ # product
+ alias mars.product = coordAveragingTims;
+ # date
+ if (marsType == TYPE_OR && averaging1Flag == P_INST) {
+ #remove mars.date;
+ alias mars.date = verificationDate;
+ #remove mars.step;
+ constant stepZero = 0;
+ alias mars.step =stepZero;
+ }
}
}
diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def
index 500b7de8f..2bda52ec7 100644
--- a/definitions/grib1/section.1.def
+++ b/definitions/grib1/section.1.def
@@ -313,7 +313,7 @@ alias time.stepType=stepType;
# ECC-457: GRIB1 to GRIB2 conversion
concept_nofail stepTypeForConversion (unknown, "stepTypeForConversion.def", conceptsDir2, conceptsDir1);
-if (stepTypeForConversion is "accum" ) {
+if (stepTypeForConversion is "accum" || stepTypeForConversion is "max" || stepTypeForConversion is "min" || stepTypeForConversion is "avg") {
if (productDefinitionTemplateNumber == 1) {
alias productDefinitionTemplateNumber=eleven;
}
diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def
index 61f3c000d..d2c44fb74 100644
--- a/definitions/grib2/boot.def
+++ b/definitions/grib2/boot.def
@@ -16,9 +16,9 @@ constant tablesVersionLatest = 32 : edition_specific;
constant false = 0 : hidden;
constant true = 1 : hidden;
constant million = 1000000 : hidden;
-constant grib2divider = 1000000;
-alias extraDimensionPresent=zero;
-transient angleSubdivisions=grib2divider; # micro degrees
+constant grib2divider = 1000000;
+alias extraDimensionPresent = zero;
+transient angleSubdivisions = grib2divider; # micro degrees
transient forceStepUnits = 255 : hidden;
meta gts_header gts_header() : no_copy,hidden,read_only;
@@ -26,8 +26,8 @@ meta gts_TTAAii gts_header(20,6) : no_copy,hidden,read_only;
meta gts_CCCC gts_header(27,4) : no_copy,hidden,read_only;
meta gts_ddhh00 gts_header(32,6) : no_copy,hidden,read_only;
-transient missingValue = 9999;
-constant ieeeFloats = 1 : edition_specific;
+transient missingValue = 9999;
+constant ieeeFloats = 1 : edition_specific;
constant isHindcast = 0;
include "grib2/section.0.def"
@@ -43,3 +43,13 @@ template core "grib2/sections.def";
#}
template section_8 "grib2/section.8.def";
+
+# ECC-1779: Add keys to identify experimental and deprecated templates
+# The low-level transient keys template_is_XXX
+# are set inside the template definition files
+concept isTemplateDeprecated(false) {
+ 1 = { template_is_deprecated = 1; }
+}
+concept isTemplateExperimental(false) {
+ 1 = { template_is_experimental = 1; }
+}
diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def
index 889c839e3..494c41ada 100644
--- a/definitions/grib2/cfVarName.def
+++ b/definitions/grib2/cfVarName.def
@@ -1239,12 +1239,6 @@
parameterCategory = 0 ;
parameterNumber = 52 ;
}
-#Envelope-maximum individual wave height
-'envhmax' = {
- discipline = 10 ;
- parameterCategory = 0 ;
- parameterNumber = 93 ;
- }
#Time domain maximum individual crest height
'tdcmax' = {
discipline = 10 ;
@@ -1305,6 +1299,34 @@
parameterCategory = 0 ;
parameterNumber = 84 ;
}
+#Time-mean mean zero-crossing wave period
+'avg_mp2' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 28 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean significant height of combined wind waves and swell
+'avg_swh' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 3 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean peak wave period
+'avg_pp1d' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 34 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean mean wave period
+'avg_mwp' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 15 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean sea water temperature in the upper 300 m
'mswt300m' = {
discipline = 10 ;
@@ -3786,6 +3808,71 @@
typeOfFirstFixedSurface = 187 ;
typeOfSecondFixedSurface = 185 ;
}
+#Convective snowfall water equivalent
+'csfwe' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 55 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Large-scale snowfall water equivalent
+'lsfwe' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 56 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Lake surface temperature
+'lslt' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ }
+#Surface bulk Richardson number
+'sbrn' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 16 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
+#Time-maximum 2 metre relative humidity
+'mx2r' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 2 ;
+ }
+#Time-minimum 2 metre relative humidity
+'mn2r' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 3 ;
+ }
+#Surface roughness for heat
+'srhe' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 47 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
+#Surface roughness for moisture
+'srmo' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 48 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
#Burned area
'fba' = {
discipline = 2 ;
@@ -4707,6 +4794,236 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Time-mean snow density
+'mrsn' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 61 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low vegetation cover
+'mcvl' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 53 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high vegetation cover
+'mcvh' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 54 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean sea ice area fraction
+'mci' = {
+ discipline = 10 ;
+ parameterCategory = 2 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean sea surface temperature
+'msst' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean leaf area index, low vegetation
+'mlai_lv' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 55 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean leaf area index, high vegetation
+'mlai_hv' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 56 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column liquid water
+'mtclw' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 69 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column cloud ice water
+'mtciw' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 70 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre specific humidity
+'m2sh' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ typeOfSecondFixedSurface = 255 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean lake mix-layer temperature
+'mlmlt' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 166 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean lake mix-layer depth
+'mlmld' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 166 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre relative humidity
+'m2r' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean fraction of snow cover
+'mfscov' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 121 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean soil temperature
+'msot' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 18 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean U component of wind
+'mu' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 2 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean V component of wind
+'mv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 3 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean surface pressure
+'msp' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column water
+'mtcw' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 51 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column vertically-integrated water vapour
+'mtcwv' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 64 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean mean sea level pressure
+'mmsl' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 101 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean relative humidity
+'mr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 10 metre U wind component
+'m10u' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 2 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 10 metre V wind component
+'m10v' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 3 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre dewpoint temperature
+'m2d' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 6 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean temperature of snow layer
+'mtsn' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 28 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast surface roughness
+'mfsr' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast logarithm of surface roughness for heat
+'mflsr' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 54 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Cross sectional area of flow in channel
'chcross' = {
discipline = 1 ;
@@ -6442,6 +6759,13 @@
parameterCategory = 3 ;
parameterNumber = 19 ;
}
+#Leaf Area Index
+'lai' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 28 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
#Accumulated surface upward short-wave radiation flux, clear sky
'auswrf_cs' = {
discipline = 0 ;
@@ -10007,11 +10331,11 @@
parameterCategory = 0 ;
parameterNumber = 23 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'hmax' = {
discipline = 10 ;
parameterCategory = 0 ;
- parameterNumber = 24 ;
+ parameterNumber = 93 ;
}
#Model bathymetry
'wmb' = {
@@ -10518,6 +10842,16 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean of 10 metre wind speed
+'mean10ws' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Lake total depth
'dl' = {
discipline = 1 ;
diff --git a/definitions/grib2/cfVarName.legacy.def b/definitions/grib2/cfVarName.legacy.def
index 38c2868e6..40909c342 100644
--- a/definitions/grib2/cfVarName.legacy.def
+++ b/definitions/grib2/cfVarName.legacy.def
@@ -174,3 +174,9 @@
typeOfSecondFixedSurface = 168 ;
typeOfStatisticalProcessing = 0 ;
}
+#Maximum individual wave height
+'hmax' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 24 ;
+}
diff --git a/definitions/grib2/grib2LocalSectionNumber.98.table b/definitions/grib2/grib2LocalSectionNumber.98.table
index dcb8e84cd..26d0b1ec0 100644
--- a/definitions/grib2/grib2LocalSectionNumber.98.table
+++ b/definitions/grib2/grib2LocalSectionNumber.98.table
@@ -21,6 +21,7 @@
39 39 4DVar model errors for long window 4Dvar system
41 41 The Flood Awareness System
42 42 Lead Centre for Wave Forecast Verification
+43 43 EERIE project MARS labelling
60 60 Ocean data analysis date and analysis time
192 192 Multiple ECMWF local definitions
300 300 Multi-dimensional parameters (deprecated)
diff --git a/definitions/grib2/local.98.28.def b/definitions/grib2/local.98.28.def
index eeb30d063..cf801b6fc 100644
--- a/definitions/grib2/local.98.28.def
+++ b/definitions/grib2/local.98.28.def
@@ -1,4 +1,6 @@
-# Local Definition 28 - COSMO local area EPS
+# (C) Copyright 2005- ECMWF.
+
+# Local definition 28 - COSMO local area EPS
unsigned[4] baseDateEPS : dump;
unsigned[2] baseTimeEPS : dump;
diff --git a/definitions/grib2/local.98.42.def b/definitions/grib2/local.98.42.def
index 1bb73af47..48b891ed9 100644
--- a/definitions/grib2/local.98.42.def
+++ b/definitions/grib2/local.98.42.def
@@ -1,6 +1,6 @@
# (C) Copyright 2005- ECMWF.
-# Definition 42 - WMO Lead Centre for Wave Forecast Verification (LC-WFV)
+# Local definition 42 - WMO Lead Centre for Wave Forecast Verification (LC-WFV)
codetable[2] lcwfvSuiteName "grib2/lcwfv_suiteName.table" : dump;
alias mars.origin = lcwfvSuiteName;
diff --git a/definitions/grib2/local.98.43.def b/definitions/grib2/local.98.43.def
new file mode 100644
index 000000000..3728cd185
--- /dev/null
+++ b/definitions/grib2/local.98.43.def
@@ -0,0 +1,21 @@
+# (C) Copyright 2005- ECMWF.
+
+# Local definition 43 - Class ed EERIE project climate keywords
+
+# CMIP related activity keyword
+codetable[2] activity "grib2/destine_activity.table" ;
+alias mars.activity = activity;
+
+# CMIP related experiment keyword
+codetable[2] experiment "grib2/destine_experiment.table" ;
+alias mars.experiment = experiment;
+
+# Climate run realization keyword, which relates to an initial condition perturbation
+unsigned[1] realization = 255 ;
+alias mars.realization = realization;
+
+# Remove mars domain from this data
+unalias mars.domain;
+
+# Add some padding just in case we want more keys in the future
+pad padding_loc43(30);
diff --git a/definitions/grib2/localConcepts/cerise/cfName.def b/definitions/grib2/localConcepts/cerise/cfName.def
new file mode 100644
index 000000000..741709b44
--- /dev/null
+++ b/definitions/grib2/localConcepts/cerise/cfName.def
@@ -0,0 +1,53 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Snow depth
+'lwe_thickness_of_surface_snow_amount' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'lwe_thickness_of_stratiform_precipitation_amount' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'lwe_thickness_of_convective_precipitation_amount' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'lwe_thickness_of_snowfall_amount' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'cloud_area_fraction' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'lwe_thickness_of_water_evaporation_amount' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+}
diff --git a/definitions/grib2/localConcepts/cerise/cfVarName.def b/definitions/grib2/localConcepts/cerise/cfVarName.def
index 7861181b1..0ccc6c90f 100644
--- a/definitions/grib2/localConcepts/cerise/cfVarName.def
+++ b/definitions/grib2/localConcepts/cerise/cfVarName.def
@@ -1,4 +1,130 @@
# Automatically generated by ./create_def.pl, do not edit
+#Surface runoff
+'sro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Sub-surface runoff
+'ssro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Maximum temperature at 2 metres in the last 24 hours
+'mx2t24' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 2 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Minimum temperature at 2 metres in the last 24 hours
+'mn2t24' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 3 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Snow depth
+'sd' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'lsp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'cp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'sf' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'tcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'e' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Low cloud cover
+'lcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Runoff
+'ro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total precipitation
+'tp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Forecast albedo
+'fal' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
#Mean surface runoff rate
'msror' = {
localTablesVersion = 1 ;
@@ -17,6 +143,73 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Potential evaporation
+'pev' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 200 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Time-mean snow depth
+'msd_m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'mlcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'mmcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'mhcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'mfal_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean large-scale precipitation rate
+'mlsprt' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean convective precipitation rate
+'cprate' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total snowfall rate
'mtsfr' = {
localTablesVersion = 1 ;
@@ -35,6 +228,15 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean runoff rate
+'mrort' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total precipitation rate
'tprate' = {
localTablesVersion = 1 ;
@@ -43,4 +245,14 @@
parameterNumber = 193 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
+ }
+#Mean total cloud cover
+'meantcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
diff --git a/definitions/grib2/localConcepts/cerise/name.def b/definitions/grib2/localConcepts/cerise/name.def
index 7fb9dff6c..cac36cdea 100644
--- a/definitions/grib2/localConcepts/cerise/name.def
+++ b/definitions/grib2/localConcepts/cerise/name.def
@@ -1,4 +1,130 @@
# Automatically generated by ./create_def.pl, do not edit
+#Surface runoff
+'Surface runoff' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Sub-surface runoff
+'Sub-surface runoff' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Maximum temperature at 2 metres in the last 24 hours
+'Maximum temperature at 2 metres in the last 24 hours' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 2 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Minimum temperature at 2 metres in the last 24 hours
+'Minimum temperature at 2 metres in the last 24 hours' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 3 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Snow depth
+'Snow depth' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'Large-scale precipitation' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'Convective precipitation' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'Snowfall' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'Total cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'Evaporation' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Low cloud cover
+'Low cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Runoff
+'Runoff' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total precipitation
+'Total precipitation' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Forecast albedo
+'Forecast albedo' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
#Mean surface runoff rate
'Mean surface runoff rate' = {
localTablesVersion = 1 ;
@@ -17,6 +143,73 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Potential evaporation
+'Potential evaporation' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 200 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Time-mean snow depth
+'Time-mean snow depth' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'Time-mean low cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'Time-mean medium cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'Time-mean high cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'Time-mean forecast albedo' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean large-scale precipitation rate
+'Mean large-scale precipitation rate' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean convective precipitation rate
+'Mean convective precipitation rate' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total snowfall rate
'Mean total snowfall rate' = {
localTablesVersion = 1 ;
@@ -35,6 +228,15 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean runoff rate
+'Mean runoff rate' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total precipitation rate
'Mean total precipitation rate' = {
localTablesVersion = 1 ;
@@ -43,4 +245,14 @@
parameterNumber = 193 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
+ }
+#Mean total cloud cover
+'Mean total cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
diff --git a/definitions/grib2/localConcepts/cerise/paramId.def b/definitions/grib2/localConcepts/cerise/paramId.def
index f905e10e0..c4af1e971 100644
--- a/definitions/grib2/localConcepts/cerise/paramId.def
+++ b/definitions/grib2/localConcepts/cerise/paramId.def
@@ -1,4 +1,130 @@
# Automatically generated by ./create_def.pl, do not edit
+#Surface runoff
+'8' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Sub-surface runoff
+'9' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Maximum temperature at 2 metres in the last 24 hours
+'51' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 2 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Minimum temperature at 2 metres in the last 24 hours
+'52' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 3 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Snow depth
+'141' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'142' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'143' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'144' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'164' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'182' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Low cloud cover
+'186' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Runoff
+'205' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total precipitation
+'228' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Forecast albedo
+'243' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
#Mean surface runoff rate
'172008' = {
localTablesVersion = 1 ;
@@ -17,6 +143,73 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Potential evaporation
+'228251' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 200 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Time-mean snow depth
+'235141' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'235186' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'235187' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'235188' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'235243' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean large-scale precipitation rate
+'172142' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean convective precipitation rate
+'172143' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total snowfall rate
'172144' = {
localTablesVersion = 1 ;
@@ -35,6 +228,15 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean runoff rate
+'172205' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total precipitation rate
'172228' = {
localTablesVersion = 1 ;
@@ -43,4 +245,14 @@
parameterNumber = 193 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
+ }
+#Mean total cloud cover
+'228006' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
diff --git a/definitions/grib2/localConcepts/cerise/shortName.def b/definitions/grib2/localConcepts/cerise/shortName.def
index 7861181b1..0ccc6c90f 100644
--- a/definitions/grib2/localConcepts/cerise/shortName.def
+++ b/definitions/grib2/localConcepts/cerise/shortName.def
@@ -1,4 +1,130 @@
# Automatically generated by ./create_def.pl, do not edit
+#Surface runoff
+'sro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Sub-surface runoff
+'ssro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Maximum temperature at 2 metres in the last 24 hours
+'mx2t24' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 2 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Minimum temperature at 2 metres in the last 24 hours
+'mn2t24' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 3 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Snow depth
+'sd' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'lsp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'cp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'sf' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'tcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'e' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Low cloud cover
+'lcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Runoff
+'ro' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total precipitation
+'tp' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Forecast albedo
+'fal' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
#Mean surface runoff rate
'msror' = {
localTablesVersion = 1 ;
@@ -17,6 +143,73 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Potential evaporation
+'pev' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 200 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Time-mean snow depth
+'msd_m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'mlcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'mmcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'mhcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'mfal_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean large-scale precipitation rate
+'mlsprt' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean convective precipitation rate
+'cprate' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total snowfall rate
'mtsfr' = {
localTablesVersion = 1 ;
@@ -35,6 +228,15 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean runoff rate
+'mrort' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total precipitation rate
'tprate' = {
localTablesVersion = 1 ;
@@ -43,4 +245,14 @@
parameterNumber = 193 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
+ }
+#Mean total cloud cover
+'meantcc' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
diff --git a/definitions/grib2/localConcepts/cerise/units.def b/definitions/grib2/localConcepts/cerise/units.def
index 36ab79310..afc663307 100644
--- a/definitions/grib2/localConcepts/cerise/units.def
+++ b/definitions/grib2/localConcepts/cerise/units.def
@@ -1,4 +1,130 @@
# Automatically generated by ./create_def.pl, do not edit
+#Surface runoff
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Sub-surface runoff
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Maximum temperature at 2 metres in the last 24 hours
+'K' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 2 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Minimum temperature at 2 metres in the last 24 hours
+'K' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ indicatorOfUnitForTimeRange = 1 ;
+ typeOfStatisticalProcessing = 3 ;
+ lengthOfTimeRange = 24 ;
+ }
+#Snow depth
+'m of water equivalent' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ }
+#Large-scale precipitation
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Convective precipitation
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Snowfall
+'m of water equivalent' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ }
+#Evaporation
+'m of water equivalent' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Low cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Runoff
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Total precipitation
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Forecast albedo
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
#Mean surface runoff rate
'm s**-1' = {
localTablesVersion = 1 ;
@@ -17,6 +143,73 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Potential evaporation
+'m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 200 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 1 ;
+ }
+#Time-mean snow depth
+'m of water equivalent' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean large-scale precipitation rate
+'m s**-1' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean convective precipitation rate
+'m s**-1' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total snowfall rate
'm of water equivalent s**-1' = {
localTablesVersion = 1 ;
@@ -35,6 +228,15 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean runoff rate
+'m s**-1' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean total precipitation rate
'm s**-1' = {
localTablesVersion = 1 ;
@@ -43,4 +245,14 @@
parameterNumber = 193 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
+ }
+#Mean total cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def
index 9e62226b7..da85ede9c 100644
--- a/definitions/grib2/localConcepts/ecmf/cfVarName.def
+++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def
@@ -2579,6 +2579,24 @@
parameterCategory = 171 ;
parameterNumber = 122 ;
}
+#Mean surface runoff rate
+'msror' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean sub-surface runoff rate
+'mssror' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Volcanic ash aerosol mixing ratio
'aermr13' = {
discipline = 192 ;
@@ -13825,6 +13843,46 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
+#Time-mean snow depth
+'msd_m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'mlcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'mmcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'mhcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'mfal_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Covariance between 2-metre temperature and volumetric soil water layer 1
'covar_t2m_swvl1' = {
localTablesVersion = 1 ;
@@ -18987,21 +19045,30 @@
}
#Mean large-scale precipitation rate
'mlsprt' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 142 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean convective precipitation rate
'cprate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 143 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean total snowfall rate
'mtsfr' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 144 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Boundary layer dissipation
'bldrate' = {
@@ -19083,9 +19150,12 @@
}
#Evaporation
'erate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 182 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean sunshine duration rate
'msdr' = {
@@ -19113,9 +19183,12 @@
}
#Mean runoff rate
'mrort' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Top net solar radiation, clear sky
'p208.172' = {
@@ -19149,9 +19222,12 @@
}
#Mean total precipitation rate
'tprate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 228 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Convective snowfall
'p239.172' = {
@@ -21841,17 +21917,15 @@
parameterCategory = 220 ;
parameterNumber = 228 ;
}
-#Mean of 10 metre wind speed
-'mean10ws' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 5 ;
- }
#Mean total cloud cover
'meantcc' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 6 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Surface temperature significance
'sts' = {
diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def b/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def
index ab4af4326..93fff7f80 100644
--- a/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def
@@ -1369,3 +1369,33 @@
parameterCategory = 172 ;
parameterNumber = 228 ;
}
+#Mean large-scale precipitation rate
+'mlsprt' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 142 ;
+}
+#Mean convective precipitation rate
+'cprate' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 143 ;
+}
+#Mean runoff rate
+'mrort' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 205 ;
+}
+#Mean total cloud cover
+'meantcc' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 6 ;
+}
+#Mean of 10 metre wind speed
+'mean10ws' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 5 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/name.def b/definitions/grib2/localConcepts/ecmf/name.def
index 30466e4c5..3fd5fdf95 100644
--- a/definitions/grib2/localConcepts/ecmf/name.def
+++ b/definitions/grib2/localConcepts/ecmf/name.def
@@ -2579,6 +2579,24 @@
parameterCategory = 171 ;
parameterNumber = 122 ;
}
+#Mean surface runoff rate
+'Mean surface runoff rate' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean sub-surface runoff rate
+'Mean sub-surface runoff rate' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Volcanic ash aerosol mixing ratio
'Volcanic ash aerosol mixing ratio' = {
discipline = 192 ;
@@ -13825,6 +13843,46 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
+#Time-mean snow depth
+'Time-mean snow depth' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'Time-mean low cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'Time-mean medium cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'Time-mean high cloud cover' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'Time-mean forecast albedo' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Covariance between 2-metre temperature and volumetric soil water layer 1
'Covariance between 2-metre temperature and volumetric soil water layer 1' = {
localTablesVersion = 1 ;
@@ -18987,21 +19045,30 @@
}
#Mean large-scale precipitation rate
'Mean large-scale precipitation rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 142 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean convective precipitation rate
'Mean convective precipitation rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 143 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean total snowfall rate
'Mean total snowfall rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 144 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Boundary layer dissipation
'Boundary layer dissipation' = {
@@ -19083,9 +19150,12 @@
}
#Evaporation
'Evaporation' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 182 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean sunshine duration rate
'Mean sunshine duration rate' = {
@@ -19113,9 +19183,12 @@
}
#Mean runoff rate
'Mean runoff rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Top net solar radiation, clear sky
'Top net solar radiation, clear sky' = {
@@ -19149,9 +19222,12 @@
}
#Mean total precipitation rate
'Mean total precipitation rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 228 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Convective snowfall
'Convective snowfall' = {
@@ -21841,17 +21917,15 @@
parameterCategory = 220 ;
parameterNumber = 228 ;
}
-#Mean of 10 metre wind speed
-'Mean of 10 metre wind speed' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 5 ;
- }
#Mean total cloud cover
'Mean total cloud cover' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 6 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Surface temperature significance
'Surface temperature significance' = {
diff --git a/definitions/grib2/localConcepts/ecmf/name.legacy.def b/definitions/grib2/localConcepts/ecmf/name.legacy.def
index c3e229a57..5881e995d 100644
--- a/definitions/grib2/localConcepts/ecmf/name.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/name.legacy.def
@@ -1369,3 +1369,33 @@
parameterCategory = 172 ;
parameterNumber = 228 ;
}
+#Mean large-scale precipitation rate
+'Mean large-scale precipitation rate' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 142 ;
+}
+#Mean convective precipitation rate
+'Mean convective precipitation rate' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 143 ;
+}
+#Mean runoff rate
+'Mean runoff rate' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 205 ;
+}
+#Mean total cloud cover
+'Mean total cloud cover' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 6 ;
+}
+#Mean of 10 metre wind speed
+'Mean of 10 metre wind speed' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 5 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/paramId.def b/definitions/grib2/localConcepts/ecmf/paramId.def
index 6ba1493c0..4f9498d96 100644
--- a/definitions/grib2/localConcepts/ecmf/paramId.def
+++ b/definitions/grib2/localConcepts/ecmf/paramId.def
@@ -2579,6 +2579,24 @@
parameterCategory = 171 ;
parameterNumber = 122 ;
}
+#Mean surface runoff rate
+'172008' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean sub-surface runoff rate
+'172009' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Volcanic ash aerosol mixing ratio
'210013' = {
discipline = 192 ;
@@ -13825,6 +13843,46 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
+#Time-mean snow depth
+'235141' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'235186' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'235187' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'235188' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'235243' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Covariance between 2-metre temperature and volumetric soil water layer 1
'254001' = {
localTablesVersion = 1 ;
@@ -18987,21 +19045,30 @@
}
#Mean large-scale precipitation rate
'172142' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 142 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean convective precipitation rate
'172143' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 143 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean total snowfall rate
'172144' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 144 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Boundary layer dissipation
'172145' = {
@@ -19083,9 +19150,12 @@
}
#Evaporation
'172182' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 182 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean sunshine duration rate
'172189' = {
@@ -19113,9 +19183,12 @@
}
#Mean runoff rate
'172205' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Top net solar radiation, clear sky
'172208' = {
@@ -19149,9 +19222,12 @@
}
#Mean total precipitation rate
'172228' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 228 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Convective snowfall
'172239' = {
@@ -21841,17 +21917,15 @@
parameterCategory = 220 ;
parameterNumber = 228 ;
}
-#Mean of 10 metre wind speed
-'228005' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 5 ;
- }
#Mean total cloud cover
'228006' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 6 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Surface temperature significance
'234139' = {
diff --git a/definitions/grib2/localConcepts/ecmf/paramId.legacy.def b/definitions/grib2/localConcepts/ecmf/paramId.legacy.def
index aaf6da765..2326cf7b7 100644
--- a/definitions/grib2/localConcepts/ecmf/paramId.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/paramId.legacy.def
@@ -1369,3 +1369,33 @@
parameterCategory = 172 ;
parameterNumber = 228 ;
}
+#Mean large-scale precipitation rate
+'172142' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 142 ;
+}
+#Mean convective precipitation rate
+'172143' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 143 ;
+}
+#Mean runoff rate
+'172205' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 205 ;
+}
+#Mean total cloud cover
+'228006' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 6 ;
+}
+#Mean of 10 metre wind speed
+'228005' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 5 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/shortName.def b/definitions/grib2/localConcepts/ecmf/shortName.def
index 1ec2bca2e..945244df8 100644
--- a/definitions/grib2/localConcepts/ecmf/shortName.def
+++ b/definitions/grib2/localConcepts/ecmf/shortName.def
@@ -2579,6 +2579,24 @@
parameterCategory = 171 ;
parameterNumber = 122 ;
}
+#Mean surface runoff rate
+'msror' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean sub-surface runoff rate
+'mssror' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Volcanic ash aerosol mixing ratio
'aermr13' = {
discipline = 192 ;
@@ -13825,6 +13843,46 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
+#Time-mean snow depth
+'msd_m' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'mlcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'mmcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'mhcc_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'mfal_frac' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Covariance between 2-metre temperature and volumetric soil water layer 1
'covar_t2m_swvl1' = {
localTablesVersion = 1 ;
@@ -18987,21 +19045,30 @@
}
#Mean large-scale precipitation rate
'mlsprt' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 142 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean convective precipitation rate
'cprate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 143 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean total snowfall rate
'mtsfr' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 144 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Boundary layer dissipation
'bldrate' = {
@@ -19083,9 +19150,12 @@
}
#Evaporation
'erate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 182 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean sunshine duration rate
'msdr' = {
@@ -19113,9 +19183,12 @@
}
#Mean runoff rate
'mrort' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Top net solar radiation, clear sky
'~' = {
@@ -19149,9 +19222,12 @@
}
#Mean total precipitation rate
'tprate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 228 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Convective snowfall
'~' = {
@@ -21841,17 +21917,15 @@
parameterCategory = 220 ;
parameterNumber = 228 ;
}
-#Mean of 10 metre wind speed
-'mean10ws' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 5 ;
- }
#Mean total cloud cover
'meantcc' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 6 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Surface temperature significance
'sts' = {
diff --git a/definitions/grib2/localConcepts/ecmf/shortName.legacy.def b/definitions/grib2/localConcepts/ecmf/shortName.legacy.def
index ec7ef430b..69ef9ec96 100644
--- a/definitions/grib2/localConcepts/ecmf/shortName.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/shortName.legacy.def
@@ -1369,3 +1369,33 @@
parameterCategory = 172 ;
parameterNumber = 228 ;
}
+#Mean large-scale precipitation rate
+'mlsprt' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 142 ;
+}
+#Mean convective precipitation rate
+'cprate' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 143 ;
+}
+#Mean runoff rate
+'mrort' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 205 ;
+}
+#Mean total cloud cover
+'meantcc' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 6 ;
+}
+#Mean of 10 metre wind speed
+'mean10ws' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 5 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/units.def b/definitions/grib2/localConcepts/ecmf/units.def
index 506f9c365..d6286a028 100644
--- a/definitions/grib2/localConcepts/ecmf/units.def
+++ b/definitions/grib2/localConcepts/ecmf/units.def
@@ -2579,6 +2579,24 @@
parameterCategory = 171 ;
parameterNumber = 122 ;
}
+#Mean surface runoff rate
+'m s**-1' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Mean sub-surface runoff rate
+'m s**-1' = {
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Volcanic ash aerosol mixing ratio
'kg kg**-1' = {
discipline = 192 ;
@@ -13825,6 +13843,46 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
+#Time-mean snow depth
+'m of water equivalent' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 254 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean medium cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high cloud cover
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast albedo
+'(0 - 1)' = {
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Covariance between 2-metre temperature and volumetric soil water layer 1
'K m**3 m**-3' = {
localTablesVersion = 1 ;
@@ -18987,21 +19045,30 @@
}
#Mean large-scale precipitation rate
'm s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 142 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean convective precipitation rate
'm s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 143 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean total snowfall rate
'm of water equivalent s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 144 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Boundary layer dissipation
'W m**-2' = {
@@ -19083,9 +19150,12 @@
}
#Evaporation
'm of water equivalent s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 182 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Mean sunshine duration rate
's s**-1' = {
@@ -19113,9 +19183,12 @@
}
#Mean runoff rate
'm s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Top net solar radiation, clear sky
'W m**-2' = {
@@ -19149,9 +19222,12 @@
}
#Mean total precipitation rate
'm s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 228 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Convective snowfall
'm of water equivalent s**-1' = {
@@ -21841,17 +21917,15 @@
parameterCategory = 220 ;
parameterNumber = 228 ;
}
-#Mean of 10 metre wind speed
-'m s**-1' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 5 ;
- }
#Mean total cloud cover
'(0 - 1)' = {
- discipline = 192 ;
- parameterCategory = 228 ;
- parameterNumber = 6 ;
+ localTablesVersion = 1 ;
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
}
#Surface temperature significance
'%' = {
diff --git a/definitions/grib2/localConcepts/ecmf/units.legacy.def b/definitions/grib2/localConcepts/ecmf/units.legacy.def
index ca9926f81..36fe4bb79 100644
--- a/definitions/grib2/localConcepts/ecmf/units.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/units.legacy.def
@@ -1369,3 +1369,33 @@
parameterCategory = 172 ;
parameterNumber = 228 ;
}
+#Mean large-scale precipitation rate
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 142 ;
+}
+#Mean convective precipitation rate
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 143 ;
+}
+#Mean runoff rate
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 205 ;
+}
+#Mean total cloud cover
+'(0 - 1)' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 6 ;
+}
+#Mean of 10 metre wind speed
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 5 ;
+}
diff --git a/definitions/grib2/localConcepts/kwbc/cfVarName.def b/definitions/grib2/localConcepts/kwbc/cfVarName.def
new file mode 100644
index 000000000..06c621dd5
--- /dev/null
+++ b/definitions/grib2/localConcepts/kwbc/cfVarName.def
@@ -0,0 +1,1915 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Convective available potential energy
+'cape' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 6 ;
+ }
+#Snow phase change heat flux
+'snohf' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 192 ;
+ }
+#Condensate
+'tcond' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 195 ;
+ }
+#Horizontal moisture convergence
+'mconv' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 197 ;
+ }
+#Categorical rain
+'crain' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 192 ;
+ }
+#Categorical freezing rain
+'cfrzr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ }
+#Categorical ice pellets
+'cicep' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 194 ;
+ }
+#Categorical snow
+'csnow' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ }
+#Convective precipitation rate
+'cprat' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 196 ;
+ }
+#Percent frozen precipitation
+'cpofp' = {
+ discipline = 1 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ }
+#Potential evaporation
+'pevap' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 199 ;
+ }
+#Snow cover
+'snowc' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 201 ;
+ }
+#Rain fraction of total cloud water
+'frain' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 202 ;
+ }
+#Rime factor
+'rime' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 203 ;
+ }
+#Total column integrated rain
+'tcolr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 204 ;
+ }
+#Total column integrated snow
+'tcols' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 205 ;
+ }
+#Water equivalent of accumulated snow depth (deprecated)
+'sdwe' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ }
+#Vertical speed shear
+'vwsh' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 192 ;
+ }
+#Horizontal momentum flux
+'mflx' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 193 ;
+ }
+#U-component storm motion
+'ustm' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 194 ;
+ }
+#V-component storm motion
+'vstm' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 195 ;
+ }
+#Drag coefficient
+'cd' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 196 ;
+ }
+#Frictional velocity
+'fricv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 197 ;
+ }
+#5-wave geopotential height
+'wavh5' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 193 ;
+ }
+#Zonal flux of gravity wave stress
+'u-gwd' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 194 ;
+ }
+#Meridional flux of gravity wave stress
+'v-gwd' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 195 ;
+ }
+#5-wave geopotential height anomaly
+'wava5' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 197 ;
+ }
+#Downward short-wave radiation flux
+'dswrf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 192 ;
+ }
+#Upward short-wave radiation flux
+'uswrf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 193 ;
+ }
+#UV index
+'uvi' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 196 ;
+ }
+#Downward long-wave radiation flux
+'dlwrf' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 192 ;
+ }
+#Upward long-wave radiation flux
+'ulwrf' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 193 ;
+ }
+#Non-convective cloud cover
+'cdlyr' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 192 ;
+ }
+#Cloud work function
+'cwork' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 193 ;
+ }
+#Convective cloud efficiency
+'cuefi' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 194 ;
+ }
+#Total column-integrated cloud water
+'tcolw' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 196 ;
+ }
+#Total column-integrated cloud ice
+'tcoli' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 197 ;
+ }
+#Total column-integrated condensate
+'tcolc' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 198 ;
+ }
+#Ice fraction of total condensate
+'fice' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 199 ;
+ }
+#Surface lifted index
+'lftx' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 192 ;
+ }
+#Best (4-layer) lifted index
+'lftx4' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 193 ;
+ }
+#Ozone mixing ratio
+'o3mr' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 192 ;
+ }
+#Maximum snow albedo
+'mxsalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 192 ;
+ }
+#Snow free albedo
+'snfalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 193 ;
+ }
+#Seconds prior to initial reference time (defined in Section 1)
+'tsec' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 194 ;
+ }
+#Baseflow-groundwater runoff
+'bgrun' = {
+ discipline = 1 ;
+ parameterCategory = 0 ;
+ parameterNumber = 192 ;
+ }
+#Storm surface runoff
+'ssrun' = {
+ discipline = 1 ;
+ parameterCategory = 0 ;
+ parameterNumber = 193 ;
+ }
+#Volumetric soil moisture content
+'soilw' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 192 ;
+ }
+#Ground heat flux
+'gflux' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 193 ;
+ }
+#Moisture availability
+'mstav' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 194 ;
+ }
+#Exchange coefficient
+'sfexc' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 195 ;
+ }
+#Plant canopy surface water
+'cnwat' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 196 ;
+ }
+#Blackadar mixing length scale
+'bmixl' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 197 ;
+ }
+#Canopy conductance
+'ccond' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 199 ;
+ }
+#Minimal stomatal resistance
+'rsmin' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 200 ;
+ }
+#Solar parameter in canopy conductance
+'rcs' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ }
+#Temperature parameter in canopy conductance
+'rct' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 203 ;
+ }
+#Soil moisture parameter in canopy conductance
+'rcsol' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 205 ;
+ }
+#Humidity parameter in canopy conductance
+'rcq' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ }
+#Liquid volumetric soil moisture (non-frozen)
+'soill' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 192 ;
+ }
+#Number of soil layers in root zone
+'rlyrs' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 193 ;
+ }
+#Transpiration stress-onset (soil moisture)
+'smref' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 195 ;
+ }
+#Direct evaporation cease (soil moisture)
+'smdry' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 196 ;
+ }
+#Soil porosity
+'poros' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 197 ;
+ }
+#Temperature tendency by all radiation
+'ttrad' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 193 ;
+ }
+#Relative Error Variance
+'rev' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 194 ;
+ }
+#Large Scale Condensate Heating rate
+'lrghr' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 195 ;
+ }
+#Deep Convective Heating rate
+'cnvhr' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 196 ;
+ }
+#Total Downward Heat Flux at Surface
+'thflx' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 197 ;
+ }
+#Temperature Tendency By All Physics
+'ttdia' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 198 ;
+ }
+#Temperature Tendency By Non-radiation Physics
+'ttphy' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 199 ;
+ }
+#Standard Dev. of IR Temp. over 1x1 deg. area
+'tsd1d' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 200 ;
+ }
+#Shallow Convective Heating rate
+'shahr' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ }
+#Vertical Diffusion Heating rate
+'vdfhr' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 202 ;
+ }
+#Potential temperature at top of viscous sublayer
+'thz0' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 203 ;
+ }
+#Tropical Cyclone Heat Potential
+'tchp' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 204 ;
+ }
+#Minimum Relative Humidity
+'minrh' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 198 ;
+ }
+#Total Icing Potential Diagnostic
+'tipd' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 206 ;
+ }
+#Number concentration for ice particles
+'ncip' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 207 ;
+ }
+#Snow temperature
+'snot' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 208 ;
+ }
+#Total column-integrated supercooled liquid water
+'tclsw' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 209 ;
+ }
+#Total column-integrated melting ice
+'tcolm' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 210 ;
+ }
+#Evaporation - Precipitation
+'emnp' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 211 ;
+ }
+#Sublimation (evaporation from snow)
+'sbsno' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 212 ;
+ }
+#Deep Convective Moistening Rate
+'cnvmr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 213 ;
+ }
+#Shallow Convective Moistening Rate
+'shamr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 214 ;
+ }
+#Vertical Diffusion Moistening Rate
+'vdfmr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 215 ;
+ }
+#Condensation Pressure of Parcali Lifted From Indicate Surface
+'condp' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 216 ;
+ }
+#Large scale moistening rate
+'lrgmr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 217 ;
+ }
+#Specific humidity at top of viscous sublayer
+'qz0' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 218 ;
+ }
+#Maximum specific humidity at 2m
+'qmax' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 219 ;
+ }
+#Minimum specific humidity at 2m
+'qmin' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 220 ;
+ }
+#Liquid precipitation (rainfall)
+'arain' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 221 ;
+ }
+#Snow temperature, depth-avg
+'snowt' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 222 ;
+ }
+#Total precipitation (nearest grid point)
+'apcpn' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 223 ;
+ }
+#Convective precipitation (nearest grid point)
+'acpcpn' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 224 ;
+ }
+#Freezing Rain
+'frzr' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 225 ;
+ }
+#Latitude of U Wind Component of Velocity
+'lauv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 198 ;
+ }
+#Longitude of U Wind Component of Velocity
+'louv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 199 ;
+ }
+#Latitude of V Wind Component of Velocity
+'lavv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 200 ;
+ }
+#Longitude of V Wind Component of Velocity
+'lovv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 201 ;
+ }
+#Latitude of Pressure Point
+'lapp' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 202 ;
+ }
+#Longitude of Pressure Point
+'lopp' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 203 ;
+ }
+#Vertical Eddy Diffusivity Heat exchange
+'vedh' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 204 ;
+ }
+#Covariance between Meridional and Zonal Components of the wind.
+'covmz' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 205 ;
+ }
+#Covariance between Temperature and Zonal Components of the wind.
+'covtz' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 206 ;
+ }
+#Covariance between Temperature and Meridional Components of the wind.
+'covtm' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 207 ;
+ }
+#Vertical Diffusion Zonal Acceleration
+'vdfua' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 208 ;
+ }
+#Vertical Diffusion Meridional Acceleration
+'vdfva' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 209 ;
+ }
+#Gravity wave drag zonal acceleration
+'gwdu' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 210 ;
+ }
+#Gravity wave drag meridional acceleration
+'gwdv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 211 ;
+ }
+#Convective zonal momentum mixing acceleration
+'cnvu' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 212 ;
+ }
+#Convective meridional momentum mixing acceleration
+'cnvv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 213 ;
+ }
+#Tendency of vertical velocity
+'wtend' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 214 ;
+ }
+#Omega (Dp/Dt) divide by density
+'omgalf' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 215 ;
+ }
+#Convective Gravity wave drag zonal acceleration
+'cngwdu' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 216 ;
+ }
+#Convective Gravity wave drag meridional acceleration
+'cngwdv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 217 ;
+ }
+#Velocity Point Model Surface
+'lmv' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 218 ;
+ }
+#Potential Vorticity (Mass-Weighted)
+'pvmww' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 219 ;
+ }
+#MSLP (Eta model reduction)
+'mslet' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 192 ;
+ }
+#MSLP (MAPS System Reduction)
+'mslma' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 198 ;
+ }
+#3-hr pressure tendency (Std. Atmos. Reduction)
+'tslsa' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 199 ;
+ }
+#Pressure of level from which parcel was lifted
+'plpl' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 200 ;
+ }
+#X-gradient of Log Pressure
+'lpsx' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 201 ;
+ }
+#Y-gradient of Log Pressure
+'lpsy' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 202 ;
+ }
+#X-gradient of Height
+'hgtx' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 203 ;
+ }
+#Y-gradient of Height
+'hgty' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 204 ;
+ }
+#Layer Thickness
+'layth' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 205 ;
+ }
+#Natural Log of Surface Pressure
+'nlgsp' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 206 ;
+ }
+#Convective updraft mass flux
+'cnvumf' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 207 ;
+ }
+#Convective downdraft mass flux
+'cnvdmf' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 208 ;
+ }
+#Convective detrainment mass flux
+'cnvdemf' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 209 ;
+ }
+#Mass Point Model Surface
+'lmh' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 210 ;
+ }
+#Geopotential Height (nearest grid point)
+'hgtn' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 211 ;
+ }
+#Pressure (nearest grid point)
+'presn' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 212 ;
+ }
+#UV-B downward solar flux
+'duvb' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 194 ;
+ }
+#Clear sky UV-B downward solar flux
+'cduvb' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 195 ;
+ }
+#Clear Sky Downward Solar Flux
+'csdsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 196 ;
+ }
+#Solar Radiative Heating Rate
+'swhr' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 197 ;
+ }
+#Clear Sky Upward Solar Flux
+'csusf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 198 ;
+ }
+#Cloud Forcing Net Solar Flux
+'cfnsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 199 ;
+ }
+#Visible Beam Downward Solar Flux
+'vbdsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 200 ;
+ }
+#Visible Diffuse Downward Solar Flux
+'vddsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 201 ;
+ }
+#Near IR Beam Downward Solar Flux
+'nbdsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 202 ;
+ }
+#Near IR Diffuse Downward Solar Flux
+'nddsf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 203 ;
+ }
+#Downward Total radiation Flux
+'dtrf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 204 ;
+ }
+#Upward Total radiation Flux
+'utrf' = {
+ discipline = 0 ;
+ parameterCategory = 4 ;
+ parameterNumber = 205 ;
+ }
+#Long-Wave Radiative Heating Rate
+'lwhr' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 194 ;
+ }
+#Clear Sky Upward Long Wave Flux
+'csulf' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 195 ;
+ }
+#Clear Sky Downward Long Wave Flux
+'csdlf' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 196 ;
+ }
+#Cloud Forcing Net Long Wave Flux
+'cfnlf' = {
+ discipline = 0 ;
+ parameterCategory = 5 ;
+ parameterNumber = 197 ;
+ }
+#Convective Cloud Mass Flux
+'mflux' = {
+ discipline = 0 ;
+ parameterCategory = 6 ;
+ parameterNumber = 200 ;
+ }
+#Richardson Number
+'ri' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 194 ;
+ }
+#Convective Weather Detection Index
+'cwdi' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 195 ;
+ }
+#Updraft Helicity
+'uphl' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 197 ;
+ }
+#Leaf Area Index
+'lai' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 198 ;
+ }
+#Particulate matter (coarse)
+'pmtc' = {
+ discipline = 0 ;
+ parameterCategory = 13 ;
+ parameterNumber = 192 ;
+ }
+#Particulate matter (fine)
+'pmtf' = {
+ discipline = 0 ;
+ parameterCategory = 13 ;
+ parameterNumber = 193 ;
+ }
+#Particulate matter (fine)
+'lpmtf' = {
+ discipline = 0 ;
+ parameterCategory = 13 ;
+ parameterNumber = 194 ;
+ }
+#Integrated column particulate matter (fine)
+'lipmf' = {
+ discipline = 0 ;
+ parameterCategory = 13 ;
+ parameterNumber = 195 ;
+ }
+#Ozone Concentration (PPB)
+'ozcon' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 193 ;
+ }
+#Categorical Ozone Concentration
+'ozcat' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 194 ;
+ }
+#Ozone vertical diffusion
+'vdfoz' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 195 ;
+ }
+#Ozone production
+'poz' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 196 ;
+ }
+#Ozone tendency
+'toz' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 197 ;
+ }
+#Ozone production from temperature term
+'pozt' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 198 ;
+ }
+#Ozone production from col ozone term
+'pozo' = {
+ discipline = 0 ;
+ parameterCategory = 14 ;
+ parameterNumber = 199 ;
+ }
+#Derived radar reflectivity backscatter from rain
+'refzr' = {
+ discipline = 0 ;
+ parameterCategory = 16 ;
+ parameterNumber = 192 ;
+ }
+#Derived radar reflectivity backscatter from ice
+'refzi' = {
+ discipline = 0 ;
+ parameterCategory = 16 ;
+ parameterNumber = 193 ;
+ }
+#Derived radar reflectivity backscatter from parameterized convection
+'refzc' = {
+ discipline = 0 ;
+ parameterCategory = 16 ;
+ parameterNumber = 194 ;
+ }
+#Derived radar reflectivity
+'refd' = {
+ discipline = 0 ;
+ parameterCategory = 16 ;
+ parameterNumber = 195 ;
+ }
+#Maximum/Composite radar reflectivity
+'refc' = {
+ discipline = 0 ;
+ parameterCategory = 16 ;
+ parameterNumber = 196 ;
+ }
+#Lightning
+'ltng' = {
+ discipline = 0 ;
+ parameterCategory = 17 ;
+ parameterNumber = 192 ;
+ }
+#Slight risk convective outlook
+'srcono' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 194 ;
+ }
+#Moderate risk convective outlook
+'mrcono' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 195 ;
+ }
+#High risk convective outlook
+'hrcono' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 196 ;
+ }
+#Tornado probability
+'torprob' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 197 ;
+ }
+#Hail probability
+'hailprob' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 198 ;
+ }
+#Wind probability
+'windprob' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 199 ;
+ }
+#Significant Tornado probability
+'storprob' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 200 ;
+ }
+#Significant Hail probability
+'shailpro' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 201 ;
+ }
+#Significant Wind probability
+'swindpro' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 202 ;
+ }
+#Categorical Thunderstorm (1-yes, 0-no)
+'tstmc' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 203 ;
+ }
+#Number of mixed layers next to surface
+'mixly' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 204 ;
+ }
+#Flight Category
+'flght' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 205 ;
+ }
+#Confidence - Ceiling
+'cicel' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 206 ;
+ }
+#Confidence - Visibility
+'civis' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 207 ;
+ }
+#Confidence - Flight Category
+'ciflt' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 208 ;
+ }
+#Low-Level aviation interest
+'lavni' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 209 ;
+ }
+#High-Level aviation interest
+'havni' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 210 ;
+ }
+#Visible, Black Sky Albedo
+'sbsalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 211 ;
+ }
+#Visible, White Sky Albedo
+'swsalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 212 ;
+ }
+#Near IR, Black Sky Albedo
+'nbsalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 213 ;
+ }
+#Near IR, White Sky Albedo
+'nwsalb' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 214 ;
+ }
+#Total Probability of Severe Thunderstorms (Days 2,3)
+'prsvr' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 215 ;
+ }
+#Total Probability of Extreme Severe Thunderstorms (Days 2,3)
+'prsigsvr' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 216 ;
+ }
+#Supercooled Large Droplet (SLD) Potential
+'sipd' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 217 ;
+ }
+#Radiative emissivity
+'epsr' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 218 ;
+ }
+#Turbulence Potential Forecast Index
+'tpfi' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 219 ;
+ }
+#Volcanic Ash Forecast Transport and Dispersion
+'vaftd' = {
+ discipline = 0 ;
+ parameterCategory = 19 ;
+ parameterNumber = 232 ;
+ }
+#Latitude (-90 to +90)
+'nlat' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 192 ;
+ }
+#East Longitude (0 - 360)
+'elon' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 193 ;
+ }
+#Model Layer number (From bottom up)
+'mlyno' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 195 ;
+ }
+#Latitude (nearest neighbor) (-90 to +90)
+'nlatn' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 196 ;
+ }
+#East Longitude (nearest neighbor) (0 - 360)
+'elonn' = {
+ discipline = 0 ;
+ parameterCategory = 191 ;
+ parameterNumber = 197 ;
+ }
+#Probability of Freezing Precipitation
+'cpozp' = {
+ discipline = 1 ;
+ parameterCategory = 1 ;
+ parameterNumber = 192 ;
+ }
+#Probability of precipitation exceeding flash flood guidance values
+'ppffg' = {
+ discipline = 1 ;
+ parameterCategory = 1 ;
+ parameterNumber = 194 ;
+ }
+#Probability of Wetting Rain, exceeding in 0.10 in a given time period
+'cwr' = {
+ discipline = 1 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ }
+#Vegetation Type
+'vgtyp' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 198 ;
+ }
+#Wilting Point
+'wilt' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ }
+#Rate of water dropping from canopy to ground
+'rdrip' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 206 ;
+ }
+#Ice-free water surface
+'icwat' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 207 ;
+ }
+#Surface exchange coefficients for T and Q divided by delta z
+'akhs' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 208 ;
+ }
+#Surface exchange coefficients for U and V divided by delta z
+'akms' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 209 ;
+ }
+#Vegetation canopy temperature
+'vegt' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 210 ;
+ }
+#Surface water storage
+'sstor' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 211 ;
+ }
+#Liquid soil moisture content (non-frozen)
+'lsoil' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 212 ;
+ }
+#Open water evaporation (standing water)
+'ewatr' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 213 ;
+ }
+#Groundwater recharge
+'gwrec' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 214 ;
+ }
+#Flood plain recharge
+'qrec' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 215 ;
+ }
+#Roughness length for heat
+'sfcrh' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 216 ;
+ }
+#Normalized Difference Vegetation Index
+'ndvi' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 217 ;
+ }
+#Land-sea coverage (nearest neighbor) [land=1,sea=0]
+'landn' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 218 ;
+ }
+#Asymptotic mixing length scale
+'amixl' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 219 ;
+ }
+#Water vapor added by precip assimilation
+'wvinc' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 220 ;
+ }
+#Water condensate added by precip assimilation
+'wcinc' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 221 ;
+ }
+#Water Vapor Flux Convergence (Vertical Int)
+'wvconv' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 222 ;
+ }
+#Water Condensate Flux Convergence (Vertical Int)
+'wcconv' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 223 ;
+ }
+#Water Vapor Zonal Flux (Vertical Int)
+'wvuflx' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 224 ;
+ }
+#Water Vapor Meridional Flux (Vertical Int)
+'wvvflx' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 225 ;
+ }
+#Water Condensate Zonal Flux (Vertical Int)
+'wcuflx' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 226 ;
+ }
+#Water Condensate Meridional Flux (Vertical Int)
+'wcvflx' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 227 ;
+ }
+#Aerodynamic conductance
+'acond' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 228 ;
+ }
+#Canopy water evaporation
+'evcw' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 229 ;
+ }
+#Transpiration
+'trans' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 230 ;
+ }
+#Surface Slope Type
+'sltyp' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 194 ;
+ }
+#Direct evaporation from bare soil
+'evbs' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 198 ;
+ }
+#Land Surface Precipitation Accumulation
+'lspa' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 199 ;
+ }
+#Bare soil surface skin temperature
+'baret' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 200 ;
+ }
+#Average surface skin temperature
+'avsft' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 201 ;
+ }
+#Effective radiative skin temperature
+'radt' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 202 ;
+ }
+#Field Capacity
+'fldcp' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 203 ;
+ }
+#Scatterometer Estimated U Wind Component
+'usct' = {
+ discipline = 3 ;
+ parameterCategory = 1 ;
+ parameterNumber = 192 ;
+ }
+#Scatterometer Estimated V Wind Component
+'vsct' = {
+ discipline = 3 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ }
+#Wave Steepness
+'wstp' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 192 ;
+ }
+#Ocean Mixed Layer U Velocity
+'omlu' = {
+ discipline = 10 ;
+ parameterCategory = 1 ;
+ parameterNumber = 192 ;
+ }
+#Ocean Mixed Layer V Velocity
+'omlv' = {
+ discipline = 10 ;
+ parameterCategory = 1 ;
+ parameterNumber = 193 ;
+ }
+#Barotropic U velocity
+'ubaro' = {
+ discipline = 10 ;
+ parameterCategory = 1 ;
+ parameterNumber = 194 ;
+ }
+#Barotropic V velocity
+'vbaro' = {
+ discipline = 10 ;
+ parameterCategory = 1 ;
+ parameterNumber = 195 ;
+ }
+#Storm Surge
+'surge' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 192 ;
+ }
+#Extra Tropical Storm Surge
+'etsrg' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 193 ;
+ }
+#Ocean Surface Elevation Relative to Geoid
+'elevhtml' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 194 ;
+ }
+#Sea Surface Height Relative to Geoid
+'sshg' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 195 ;
+ }
+#Ocean Mixed Layer Potential Density (Reference 2000m)
/dev/null
+${examples_dir}/c_grib_multi_write ${data_dir}/sample.grib2 $tempGrib > /dev/null
-${tools_dir}/grib_get -p step ${data_dir}/multi_sample.grib2 > ${data_dir}/multi_step.test
+${tools_dir}/grib_get -p step $tempGrib > $tempText
-diff ${data_dir}/multi_step.test ${data_dir}/multi_step.txt
-
-step=`${tools_dir}/grib_get -M -p step ${data_dir}/multi_sample.grib2`
+reference=${data_dir}/multi_step.txt
+diff $reference $tempText
+# -M = Turn multi-field support off
+step=`${tools_dir}/grib_get -M -p step $tempGrib`
[ $step -eq 12 ]
-rm -f ${data_dir}/multi_sample.grib2 ${data_dir}/multi_step.test
+# Clean up
+rm -f $tempGrib $tempText
diff --git a/examples/C/grib_precision.c b/examples/C/grib_precision.c
index ae39318b2..4f3657610 100644
--- a/examples/C/grib_precision.c
+++ b/examples/C/grib_precision.c
@@ -116,7 +116,7 @@ int main(int argc, char** argv)
/* write the buffer in a file*/
if (fwrite(buffer, 1, size, out) != size) {
- perror(argv[1]);
+ perror(outfile);
exit(1);
}
diff --git a/examples/C/grib_set_keys.c b/examples/C/grib_set_keys.c
index feea6731a..50aeff372 100644
--- a/examples/C/grib_set_keys.c
+++ b/examples/C/grib_set_keys.c
@@ -78,7 +78,7 @@ int main(int argc, char** argv)
/* write the buffer in a file*/
if (fwrite(buffer, 1, size, out) != size) {
- perror(argv[1]);
+ perror(outfile);
exit(1);
}
diff --git a/examples/C/grib_set_missing.c b/examples/C/grib_set_missing.c
index 82f698975..98395c120 100644
--- a/examples/C/grib_set_missing.c
+++ b/examples/C/grib_set_missing.c
@@ -77,7 +77,7 @@ int main(int argc, char** argv)
/* write the buffer in a file*/
if (fwrite(buffer, 1, size, out) != size) {
- perror(argv[1]);
+ perror(outfile);
exit(1);
}
diff --git a/examples/C/grib_set_pv.c b/examples/C/grib_set_pv.c
index 7ca4c32fe..e279aec8b 100644
--- a/examples/C/grib_set_pv.c
+++ b/examples/C/grib_set_pv.c
@@ -78,7 +78,7 @@ int main(int argc, char** argv)
/* write the buffer in a file*/
if (fwrite(buffer, 1, size, out) != size) {
- perror(argv[1]);
+ perror(outfile);
exit(1);
}
diff --git a/examples/F90/CMakeLists.txt b/examples/F90/CMakeLists.txt
index e4104bd83..30a3de0e9 100644
--- a/examples/F90/CMakeLists.txt
+++ b/examples/F90/CMakeLists.txt
@@ -56,7 +56,6 @@ if( HAVE_BUILD_TOOLS )
grib_clone
grib_ecc-1316
bufr_attributes
- bufr_copy_data
bufr_clone
bufr_expanded
bufr_get_keys
@@ -130,6 +129,12 @@ foreach( atest ${tests_sanity} )
RESOURCES bufr_read_scatterometer_f.ref
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${atest}.sh )
endforeach()
+
+if( HAVE_BUILD_TOOLS AND NOT CMAKE_CXX_COMPILER_ID MATCHES NVHPC )
+ # Test which fails on Leonardo
+ list( APPEND tests_extra bufr_copy_data )
+endif()
+
foreach( atest ${tests_extra} )
ecbuild_add_test( TARGET eccodes_f_${atest}
SOURCES ${atest}.f90
diff --git a/examples/F90/bufr_ecc-1019.f90 b/examples/F90/bufr_ecc-1019.f90
index 5974132e6..8bbceb900 100644
--- a/examples/F90/bufr_ecc-1019.f90
+++ b/examples/F90/bufr_ecc-1019.f90
@@ -18,7 +18,6 @@ program operator_3_test
call codes_bufr_new_from_samples(ibufr,'BUFR4',iret)
if (iret /= CODES_SUCCESS) then
- print *,'ERROR creating BUFR from BUFR4'
stop 1
endif
diff --git a/examples/F90/bufr_ecc-1284.f90 b/examples/F90/bufr_ecc-1284.f90
index 69600a1c7..53b18b7c5 100644
--- a/examples/F90/bufr_ecc-1284.f90
+++ b/examples/F90/bufr_ecc-1284.f90
@@ -22,7 +22,6 @@ program bufr_encode
call codes_bufr_new_from_samples(ibufr,'BUFR4',iret)
if (iret/=CODES_SUCCESS) then
- print *,'ERROR creating BUFR from BUFR4'
stop 1
endif
call codes_set(ibufr,'masterTableNumber',0)
diff --git a/examples/F90/bufr_read_tempf.f90 b/examples/F90/bufr_read_tempf.f90
index 3d37c546e..99a8df742 100644
--- a/examples/F90/bufr_read_tempf.f90
+++ b/examples/F90/bufr_read_tempf.f90
@@ -25,9 +25,9 @@ program bufr_read_tempf
integer :: ibufr
integer :: i, count = 0
integer :: iflag
- integer :: status_id, status_ht, status_time = 0, status_p
- integer :: status_airt, status_dewt
- integer :: status_rsno, status_rssoft, status_balloonwt
+ integer :: status_id, status_bl, status_num, status_ht, status_time = 0, status_p
+ integer :: status_airt, status_dewt, status_wdir, status_wsp
+ integer :: status_rsno, status_rssoft, status_balloonwt, statid_missing
integer(kind=4) :: sizews
integer(kind=4) :: blockNumber, stationNumber
integer(kind=4) :: ymd, hms
@@ -74,9 +74,10 @@ program bufr_read_tempf
IF (status_id /= CODES_SUCCESS) statid = dropid
! call codes_is_missing(ibufr, 'shipOrMobileLandStationIdentifier', statid_missing)
! IF (statid_missing == 1) statid = "MISSING"
- call codes_get(ibufr, 'blockNumber', blockNumber)
- call codes_get(ibufr, 'stationNumber', stationNumber)
- IF (blockNumber <= 99.0 .AND. stationNumber <= 1000) write (statid, '(I2.2,I3.3,3X)') blockNumber, stationNumber
+ blockNumber = 9999
+ call codes_get(ibufr, 'blockNumber', blockNumber, status_bl)
+ call codes_get(ibufr, 'stationNumber', stationNumber, status_num)
+ IF (blockNumber <= 99 .AND. stationNumber <= 1000) write (statid, '(I2.2,I3.3,3X)') blockNumber, stationNumber
call codes_get(ibufr, 'year', year)
call codes_get(ibufr, 'month', month)
@@ -118,8 +119,8 @@ program bufr_read_tempf
call codes_get(ibufr, 'extendedVerticalSoundingSignificance', vssVal)
call codes_get(ibufr, 'airTemperature', tVal, status_airt)
call codes_get(ibufr, 'dewpointTemperature', tdVal, status_dewt)
- call codes_get(ibufr, 'windDirection', wdirVal)
- call codes_get(ibufr, 'windSpeed', wspVal)
+ call codes_get(ibufr, 'windDirection', wdirVal, status_wdir)
+ call codes_get(ibufr, 'windSpeed', wspVal, status_wsp)
! ---- Array sizes (pressure size can be larger - wind shear levels)
sizews = size(wspVal)
@@ -140,13 +141,21 @@ program bufr_read_tempf
allocate(tdVal(sizews))
tdVal(:) = -999999999.0
END IF
+ IF (status_wdir /= CODES_SUCCESS) THEN
+ allocate(wdirVal(sizews))
+ wdirVal(:) = -999999999.0
+ END IF
+ IF (status_wsp /= CODES_SUCCESS) THEN
+ allocate(wspVal(sizews))
+ wspVal(:) = -999999999.0
+ END IF
! ---- Print the values --------------------------------
write (*, '(A,I7,A,A8,I9,I7.6,F9.3,F10.3,2F7.1,I4,I5)') 'Ob: ', count, &
' ', statid, ymd, hms, lat(1), lon(1), htg, htp, INT(sondeType), sizews
IF (status_rsno == CODES_SUCCESS) write (*, '(A,A,A,F7.3)') &
'RS number/software/balloonwt: ', rsnumber, rssoftware, balloonwt
- IF (status_ht == CODES_SUCCESS .AND. SIZE(lat) > 1) write (*, '(A,A,F9.3,F10.3,F7.1)') &
+ IF (status_ht == CODES_SUCCESS .AND. SIZE(lat) > 1) write (*, '(A,A10,F9.3,F10.3,F7.1)') &
'WMO list lat, lon, ht: ', statid, lat(2), lon(2), htec
write (*, '(A)') 'level dtime dlat dlon pressure geopotH airTemp dewPtT windDir windSp signif'
do i = 1, sizews
diff --git a/fortran/grib_fortran.c b/fortran/grib_fortran.c
index e1835ae47..ce9298348 100644
--- a/fortran/grib_fortran.c
+++ b/fortran/grib_fortran.c
@@ -1604,9 +1604,8 @@ int any_f_new_from_loaded_(int* msgid, int* gid)
/*****************************************************************************/
int codes_f_clear_loaded_from_file_(void)
{
- grib_context* c = grib_context_get_default();
/* grib_oarray_delete_content(c,binary_messages); */
- grib_oarray_delete(c, binary_messages);
+ grib_oarray_delete(grib_context_get_default(), binary_messages);
return GRIB_SUCCESS;
}
@@ -1711,10 +1710,10 @@ int grib_f_headers_only_new_from_file_(int* fid, int* gid)
}
/*****************************************************************************/
-int grib_f_new_from_index_(int* iid, int* gid)
+int grib_f_new_from_index_(int* index_id, int* gid)
{
int err = 0;
- grib_index* i = get_index(*iid);
+ grib_index* i = get_index(*index_id);
grib_handle *h = NULL;
if (i) {
@@ -1757,16 +1756,15 @@ int grib_f_index_new_from_file_(char* file, char* keys, int* gid, int lfile, int
}
/*****************************************************************************/
-int grib_f_index_add_file_(int* iid, char* file, int lfile)
+int grib_f_index_add_file_(int* index_id, char* file, int lfile)
{
- grib_index *i = get_index(*iid);
- int err = GRIB_SUCCESS;
+ grib_index *i = get_index(*index_id);
char buf[1024];
if (!i) {
return GRIB_INVALID_INDEX;
} else {
- err = grib_index_add_file(i,cast_char(buf,file,lfile));
+ int err = grib_index_add_file(i,cast_char(buf,file,lfile));
return err;
}
}
@@ -1928,9 +1926,9 @@ int grib_f_get_size_long_(int* gid, char* key, long* val, int len)
}
/*****************************************************************************/
-int grib_f_index_get_size_int_(int* gid, char* key, int* val, int len)
+int grib_f_index_get_size_int_(int* index_id, char* key, int* val, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
int err = GRIB_SUCCESS;
char buf[1024];
size_t tsize = 0;
@@ -1944,19 +1942,18 @@ int grib_f_index_get_size_int_(int* gid, char* key, int* val, int len)
}
}
-int grib_f_index_get_size_long_(int* gid, char* key, long* val, int len)
+int grib_f_index_get_size_long_(int* index_id, char* key, long* val, int len)
{
- grib_index *h = get_index(*gid);
- int err = GRIB_SUCCESS;
+ grib_index *h = get_index(*index_id);
char buf[1024];
size_t tsize = 0;
- if(!h){
+ if (!h){
return GRIB_INVALID_GRIB;
- }else{
- err = grib_index_get_size(h, cast_char(buf,key,len), &tsize);
+ } else{
+ int err = grib_index_get_size(h, cast_char(buf,key,len), &tsize);
*val = tsize;
- return err;
+ return err;
}
}
@@ -2063,9 +2060,9 @@ int grib_f_get_byte_array_(int* gid, char* key, unsigned char *val, int* size, i
}
/*****************************************************************************/
-int grib_f_index_get_string_(int* gid, char* key, char* val, int *eachsize,int* size, int len)
+int grib_f_index_get_string_(int* index_id, char* key, char* val, int *eachsize,int* size, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
int err = GRIB_SUCCESS;
int i;
char buf[1024];
@@ -2104,23 +2101,23 @@ int grib_f_index_get_string_(int* gid, char* key, char* val, int *eachsize,int*
}
/*****************************************************************************/
-int grib_f_index_get_long_(int* gid, char* key, long *val, int* size, int len)
+int grib_f_index_get_long_(int* index_id, char* key, long *val, int* size, int len)
{
- grib_index *h = get_index(*gid);
- int err = GRIB_SUCCESS;
+ int err = 0;
+ grib_index* h = get_index(*index_id);
char buf[1024];
size_t lsize = *size;
- if(!h) return GRIB_INVALID_GRIB;
+ if (!h) return GRIB_INVALID_GRIB;
err = grib_index_get_long(h, cast_char(buf,key,len), val, &lsize);
*size = lsize;
- return err;
+ return err;
}
/*****************************************************************************/
-int grib_f_index_get_int_(int* gid, char* key, int *val, int* size, int len)
+int grib_f_index_get_int_(int* index_id, char* key, int *val, int* size, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
int err = GRIB_SUCCESS;
char buf[1024];
size_t lsize = *size, i = 0;
@@ -2140,17 +2137,17 @@ int grib_f_index_get_int_(int* gid, char* key, int *val, int* size, int len)
}
/*****************************************************************************/
-int grib_f_index_get_real8_(int* gid, char* key, double *val, int* size, int len)
+int grib_f_index_get_real8_(int* index_id, char* key, double *val, int* size, int len)
{
- grib_index *h = get_index(*gid);
- int err = GRIB_SUCCESS;
+ int err = 0;
+ grib_index* h = get_index(*index_id);
char buf[1024];
size_t lsize = *size;
- if(!h) return GRIB_INVALID_GRIB;
+ if (!h) return GRIB_INVALID_GRIB;
err = grib_index_get_double(h, cast_char(buf,key,len), val, &lsize);
*size = lsize;
- return err;
+ return err;
}
/*****************************************************************************/
@@ -2438,9 +2435,9 @@ int grib_f_set_real4_array_(int* gid, char* key, float* val, int* size, int len)
}
/*****************************************************************************/
-int grib_f_index_select_real8_(int* gid, char* key, double* val, int len)
+int grib_f_index_select_real8_(int* index_id, char* key, double* val, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
char buf[1024];
if(!h) return GRIB_INVALID_GRIB;
@@ -2448,9 +2445,9 @@ int grib_f_index_select_real8_(int* gid, char* key, double* val, int len)
}
/*****************************************************************************/
-int grib_f_index_select_string_(int* gid, char* key, char* val, int len, int vallen)
+int grib_f_index_select_string_(int* index_id, char* key, char* val, int len, int vallen)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
char buf[1024];
char bufval[1024];
@@ -2465,9 +2462,9 @@ int grib_f_index_select_string_(int* gid, char* key, char* val, int len, int val
}
/*****************************************************************************/
-int grib_f_index_select_int_(int* gid, char* key, int* val, int len)
+int grib_f_index_select_int_(int* index_id, char* key, int* val, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
long lval = *val;
char buf[1024] = {0,};
@@ -2476,9 +2473,9 @@ int grib_f_index_select_int_(int* gid, char* key, int* val, int len)
}
/*****************************************************************************/
-int grib_f_index_select_long_(int* gid, char* key, long* val, int len)
+int grib_f_index_select_long_(int* index_id, char* key, long* val, int len)
{
- grib_index *h = get_index(*gid);
+ grib_index *h = get_index(*index_id);
char buf[1024] = {0,};
if (!h) return GRIB_INVALID_GRIB;
diff --git a/samples/GRIB2.tmpl b/samples/GRIB2.tmpl
index 5c7b111ce..e2f890a57 100644
Binary files a/samples/GRIB2.tmpl and b/samples/GRIB2.tmpl differ
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f040434b7..97cd81dfc 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -80,6 +80,7 @@ list( APPEND eccodes_src_files
grib_accessor_class_hash_array.cc
grib_accessor_class_decimal_precision.cc
grib_accessor_class_divdouble.cc
+ grib_accessor_class_multdouble.cc
grib_accessor_class_budgdate.cc
grib_accessor_class_validity_date.cc
grib_accessor_class_validity_time.cc
diff --git a/src/action_class_concept.cc b/src/action_class_concept.cc
index 74fb25588..3f42fb9e5 100644
--- a/src/action_class_concept.cc
+++ b/src/action_class_concept.cc
@@ -128,7 +128,7 @@ grib_concept_value* action_concept_get_concept(grib_accessor* a)
int action_concept_get_nofail(grib_accessor* a)
{
- grib_action_concept* self = (grib_action_concept*)a->creator;
+ const grib_action_concept* self = (grib_action_concept*)a->creator;
return self->nofail;
}
@@ -397,9 +397,9 @@ int get_concept_condition_string(grib_handle* h, const char* key, const char* va
grib_concept_condition* concept_condition = concept_value->conditions;
if (strcmp(pValue, concept_value->name) == 0) {
while (concept_condition) {
- grib_expression* expression = concept_condition->expression;
+ //grib_expression* expression = concept_condition->expression;
const char* condition_name = concept_condition->name;
- Assert(expression);
+ //Assert(expression);
if (concept_condition_expression_true(h, concept_condition, exprVal) && strcmp(condition_name, "one") != 0) {
length += snprintf(result + length, 2048, "%s%s=%s",
(length == 0 ? "" : ","), condition_name, exprVal);
diff --git a/src/action_class_hash_array.cc b/src/action_class_hash_array.cc
index b01077870..430fdd92a 100644
--- a/src/action_class_hash_array.cc
+++ b/src/action_class_hash_array.cc
@@ -168,13 +168,14 @@ grib_action* grib_action_create_hash_array(grib_context* context,
a->hash_array = hash_array;
if (hash_array) {
- grib_hash_array_value* ha = hash_array;
- grib_trie* index = grib_trie_new(context);
- while (ha) {
- ha->index = index;
- grib_trie_insert_no_replace(index, ha->name, ha);
- ha = ha->next;
- }
+ grib_context_log(context, GRIB_LOG_FATAL, "%s: 'hash_array_list' not implemented", __func__);
+ // grib_hash_array_value* ha = hash_array;
+ // grib_trie* index = grib_trie_new(context);
+ // while (ha) {
+ // ha->index = index;
+ // grib_trie_insert_no_replace(index, ha->name, ha);
+ // ha = ha->next;
+ // }
}
act->name = grib_context_strdup_persistent(context, name);
@@ -185,17 +186,12 @@ grib_action* grib_action_create_hash_array(grib_context* context,
static void dump(grib_action* act, FILE* f, int lvl)
{
- int i = 0;
-
- for (i = 0; i < lvl; i++)
- grib_context_print(act->context, f, " ");
-
- printf("hash_array(%s) { ", act->name);
- printf("\n");
-
- for (i = 0; i < lvl; i++)
- grib_context_print(act->context, f, " ");
- printf("}\n");
+ // for (int i = 0; i < lvl; i++)
+ // grib_context_print(act->context, f, " ");
+ // printf("hash_array(%s) { \n", act->name);
+ // for (int i = 0; i < lvl; i++)
+ // grib_context_print(act->context, f, " ");
+ // printf("}\n");
}
@@ -203,14 +199,16 @@ static void destroy(grib_context* context, grib_action* act)
{
grib_action_hash_array* self = (grib_action_hash_array*)act;
- grib_hash_array_value* v = self->hash_array;
- if (v)
- grib_trie_delete(v->index);
- while (v) {
- grib_hash_array_value* n = v->next;
- grib_hash_array_value_delete(context, v);
- v = n;
- }
+ // This is currently unset. So assert that it is NULL
+ const grib_hash_array_value* v = self->hash_array;
+ Assert(v == NULL);
+ // if (v)
+ // grib_trie_delete(v->index);
+ // while (v) {
+ // grib_hash_array_value* n = v->next;
+ // grib_hash_array_value_delete(context, v);
+ // v = n;
+ // }
grib_context_free_persistent(context, self->masterDir);
grib_context_free_persistent(context, self->localDir);
@@ -338,6 +336,6 @@ grib_hash_array_value* get_hash_array(grib_handle* h, grib_action* a)
const char* get_hash_array_full_path(grib_action* a)
{
- grib_action_hash_array* self = (grib_action_hash_array*)a;
+ const grib_action_hash_array* self = (grib_action_hash_array*)a;
return self->full_path;
}
diff --git a/src/action_class_list.cc b/src/action_class_list.cc
index 0a4b8a630..163a6da55 100644
--- a/src/action_class_list.cc
+++ b/src/action_class_list.cc
@@ -10,7 +10,6 @@
/***************************************************************************
* Jean Baptiste Filippi - 01.11.2005 *
- * Enrico Fucile *
***************************************************************************/
#include "grib_api_internal.h"
/*
@@ -107,7 +106,7 @@ static int create_accessor(grib_section* p, grib_action* act, grib_loader* h)
long val = 0;
if ((ret = grib_expression_evaluate_long(p->h, a->expression, &val)) != GRIB_SUCCESS) {
- grib_context_log(p->h->context, GRIB_LOG_DEBUG, "List %s creating %d values unable to evaluate long", act->name, val);
+ grib_context_log(p->h->context, GRIB_LOG_DEBUG, "List %s creating %ld values: Unable to evaluate long", act->name, val);
return ret;
}
@@ -161,12 +160,12 @@ static grib_action* reparse(grib_action* a, grib_accessor* acc, int* doit)
{
grib_action_list* self = (grib_action_list*)a;
- int ret = 0;
long val = 0;
- if ((ret = grib_expression_evaluate_long(grib_handle_of_accessor(acc), self->expression, &val)) != GRIB_SUCCESS) {
+ int ret = grib_expression_evaluate_long(grib_handle_of_accessor(acc), self->expression, &val);
+ if (ret != GRIB_SUCCESS) {
grib_context_log(acc->context, GRIB_LOG_ERROR,
- "List %s creating %ld values, unable to evaluate long", acc->name, val);
+ "List %s creating %ld values: Unable to evaluate long", acc->name, val);
}
*doit = (val != acc->loop);
diff --git a/src/action_class_noop.cc b/src/action_class_noop.cc
index a898da06a..aa5196a46 100644
--- a/src/action_class_noop.cc
+++ b/src/action_class_noop.cc
@@ -73,16 +73,15 @@ grib_action* grib_action_create_noop(grib_context* context, const char* fname)
{
char buf[1024];
- grib_action_noop* a;
grib_action_class* c = grib_action_class_noop;
grib_action* act = (grib_action*)grib_context_malloc_clear_persistent(context, c->size);
act->op = grib_context_strdup_persistent(context, "section");
act->cclass = c;
- a = (grib_action_noop*)act;
+ grib_action_noop* a = (grib_action_noop*)act;
act->context = context;
- snprintf(buf, 1024, "_noop%p", (void*)a);
+ snprintf(buf, sizeof(buf), "_noop%p", (void*)a);
act->name = grib_context_strdup_persistent(context, buf);
diff --git a/src/action_class_remove.cc b/src/action_class_remove.cc
index 26ab6760b..40f5079a7 100644
--- a/src/action_class_remove.cc
+++ b/src/action_class_remove.cc
@@ -111,17 +111,13 @@ static void remove_accessor(grib_accessor* a)
a->next->previous = a->previous;
grib_accessor_delete(s->h->context, a);
-
- return;
}
static int create_accessor(grib_section* p, grib_action* act, grib_loader* h)
{
grib_action_remove* a = (grib_action_remove*)act;
- grib_accessor* ga = NULL;
-
- ga = grib_find_accessor(p->h, grib_arguments_get_name(p->h, a->args, 0));
+ grib_accessor* ga = grib_find_accessor(p->h, grib_arguments_get_name(p->h, a->args, 0));
if (ga) {
remove_accessor(ga);
@@ -134,15 +130,15 @@ static int create_accessor(grib_section* p, grib_action* act, grib_loader* h)
static void dump(grib_action* act, FILE* f, int lvl)
{
- grib_action_remove* a = (grib_action_remove*)act;
-
- int i = 0;
-
- for (i = 0; i < lvl; i++)
- grib_context_print(act->context, f, " ");
-
- grib_context_print(act->context, f, "remove %s as %s in %s\n", grib_arguments_get_name(0, a->args, 0), act->name, grib_arguments_get_name(0, a->args, 1));
+ grib_context_log(act->context, GRIB_LOG_ERROR, "%s: dump not implemented", act->name);
+ // grib_action_remove* a = (grib_action_remove*)act;
+ // int i = 0;
+ // for (i = 0; i < lvl; i++)
+ // grib_context_print(act->context, f, " ");
+ // grib_context_print(act->context, f, "remove %s as %s in %s\n",
+ // grib_arguments_get_name(0, a->args, 0), act->name, grib_arguments_get_name(0, a->args, 1));
}
+
static void destroy(grib_context* context, grib_action* act)
{
grib_action_remove* a = (grib_action_remove*)act;
@@ -151,4 +147,3 @@ static void destroy(grib_context* context, grib_action* act)
grib_context_free_persistent(context, act->name);
grib_context_free_persistent(context, act->op);
}
-
diff --git a/src/action_class_set.cc b/src/action_class_set.cc
index 1068181d5..fee2ca406 100644
--- a/src/action_class_set.cc
+++ b/src/action_class_set.cc
@@ -114,8 +114,8 @@ static int execute(grib_action* a, grib_handle* h)
static void dump(grib_action* act, FILE* f, int lvl)
{
- int i = 0;
- grib_action_set* self = (grib_action_set*)act;
+ int i = 0;
+ const grib_action_set* self = (grib_action_set*)act;
for (i = 0; i < lvl; i++)
grib_context_print(act->context, f, " ");
grib_context_print(act->context, f, self->name);
diff --git a/src/action_class_set_darray.cc b/src/action_class_set_darray.cc
index 97211a219..bbf36f1d6 100644
--- a/src/action_class_set_darray.cc
+++ b/src/action_class_set_darray.cc
@@ -98,15 +98,14 @@ grib_action* grib_action_create_set_darray(grib_context* context,
static int execute(grib_action* a, grib_handle* h)
{
- grib_action_set_darray* self = (grib_action_set_darray*)a;
-
+ const grib_action_set_darray* self = (grib_action_set_darray*)a;
return grib_set_double_array(h, self->name, self->darray->v, self->darray->n);
}
static void dump(grib_action* act, FILE* f, int lvl)
{
int i = 0;
- grib_action_set_darray* self = (grib_action_set_darray*)act;
+ const grib_action_set_darray* self = (grib_action_set_darray*)act;
for (i = 0; i < lvl; i++)
grib_context_print(act->context, f, " ");
grib_context_print(act->context, f, self->name);
diff --git a/src/action_class_set_missing.cc b/src/action_class_set_missing.cc
index 84b5fe085..03bd4ffc3 100644
--- a/src/action_class_set_missing.cc
+++ b/src/action_class_set_missing.cc
@@ -8,9 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
-/***************************************************************************
- * Enrico Fucile *
- ***************************************************************************/
#include "grib_api_internal.h"
/*
This is used by make_class.pl
@@ -73,8 +70,7 @@ static void init_class(grib_action_class* c)
}
/* END_CLASS_IMP */
-grib_action* grib_action_create_set_missing(grib_context* context,
- const char* name)
+grib_action* grib_action_create_set_missing(grib_context* context, const char* name)
{
char buf[1024];
@@ -98,19 +94,19 @@ grib_action* grib_action_create_set_missing(grib_context* context,
static int execute(grib_action* a, grib_handle* h)
{
- grib_action_set_missing* self = (grib_action_set_missing*)a;
-
+ const grib_action_set_missing* self = (grib_action_set_missing*)a;
return grib_set_missing(h, self->name);
}
static void dump(grib_action* act, FILE* f, int lvl)
{
- int i = 0;
- grib_action_set_missing* self = (grib_action_set_missing*)act;
- for (i = 0; i < lvl; i++)
- grib_context_print(act->context, f, " ");
- grib_context_print(act->context, f, self->name);
- printf("\n");
+ grib_context_log(act->context, GRIB_LOG_ERROR, "%s %s(): Not implemented", __FILE__, __func__);
+ // int i = 0;
+ // const grib_action_set_missing* self = (grib_action_set_missing*)act;
+ // for (i = 0; i < lvl; i++)
+ // grib_context_print(act->context, f, " ");
+ // grib_context_print(act->context, f, self->name);
+ // printf("\n");
}
static void destroy(grib_context* context, grib_action* act)
diff --git a/src/action_class_set_sarray.cc b/src/action_class_set_sarray.cc
index 3b670aa87..bc51c2475 100644
--- a/src/action_class_set_sarray.cc
+++ b/src/action_class_set_sarray.cc
@@ -72,9 +72,7 @@ static void init_class(grib_action_class* c)
}
/* END_CLASS_IMP */
-grib_action* grib_action_create_set_sarray(grib_context* context,
- const char* name,
- grib_sarray* sarray)
+grib_action* grib_action_create_set_sarray(grib_context* context, const char* name, grib_sarray* sarray)
{
char buf[1024];
@@ -100,14 +98,13 @@ grib_action* grib_action_create_set_sarray(grib_context* context,
static int execute(grib_action* a, grib_handle* h)
{
grib_action_set_sarray* self = (grib_action_set_sarray*)a;
-
return grib_set_string_array(h, self->name, (const char**)self->sarray->v, self->sarray->n);
}
static void dump(grib_action* act, FILE* f, int lvl)
{
- int i = 0;
- grib_action_set_sarray* self = (grib_action_set_sarray*)act;
+ int i = 0;
+ const grib_action_set_sarray* self = (grib_action_set_sarray*)act;
for (i = 0; i < lvl; i++)
grib_context_print(act->context, f, " ");
grib_context_print(act->context, f, self->name);
diff --git a/src/action_class_template.cc b/src/action_class_template.cc
index 8f240ea27..79fd2aeaf 100644
--- a/src/action_class_template.cc
+++ b/src/action_class_template.cc
@@ -10,7 +10,6 @@
/***************************************************************************
* Jean Baptiste Filippi - 01.11.2005 *
- * Enrico Fucile *
***************************************************************************/
#include "grib_api_internal.h"
@@ -115,19 +114,17 @@ static void dump(grib_action* act, FILE* f, int lvl)
grib_context_print(act->context, f, "Template %s %s\n", act->name, a->arg);
}
-grib_action* get_empty_template(grib_context* c, int* err)
+static grib_action* get_empty_template(grib_context* c, int* err)
{
char fname[] = "empty_template.def";
- char* path = 0;
-
- path = grib_context_full_defs_path(c, fname);
+ const char* path = grib_context_full_defs_path(c, fname);
if (path) {
*err = GRIB_SUCCESS;
return grib_parse_file(c, path);
}
else {
*err = GRIB_INTERNAL_ERROR;
- grib_context_log(c, GRIB_LOG_ERROR, "get_empty_template: unable to get template %s", fname);
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to get template %s", __func__, fname);
return NULL;
}
}
diff --git a/src/action_class_transient_darray.cc b/src/action_class_transient_darray.cc
index 9990beb41..673f83502 100644
--- a/src/action_class_transient_darray.cc
+++ b/src/action_class_transient_darray.cc
@@ -122,8 +122,8 @@ static int execute(grib_action* act, grib_handle* h)
static void dump(grib_action* act, FILE* f, int lvl)
{
- int i = 0;
- grib_action_transient_darray* self = (grib_action_transient_darray*)act;
+ int i = 0;
+ const grib_action_transient_darray* self = (grib_action_transient_darray*)act;
for (i = 0; i < lvl; i++)
grib_context_print(act->context, f, " ");
grib_context_print(act->context, f, self->name);
diff --git a/src/bufr_util.cc b/src/bufr_util.cc
index 0b4ffb0e7..95ff8eeb2 100644
--- a/src/bufr_util.cc
+++ b/src/bufr_util.cc
@@ -220,7 +220,7 @@ static int bufr_decode_extra_rdb_keys(const void* message, long offset_section2,
DEBUG_ASSERT(hdr->ecmwfLocalSectionPresent);
- if (hdr->rdbType == 2 || hdr->rdbType == 3 || hdr->rdbType == 8 || hdr->rdbType == 12) {
+ if (hdr->rdbType == 2 || hdr->rdbType == 3 || hdr->rdbType == 8 || hdr->rdbType == 12 || hdr->rdbType == 30) {
isSatelliteType = true;
}
if (isSatelliteType || hdr->numberOfSubsets > 1) {
diff --git a/src/codes_util.cc b/src/codes_util.cc
index 1b73432f8..57613109a 100644
--- a/src/codes_util.cc
+++ b/src/codes_util.cc
@@ -213,6 +213,37 @@ int is_date_valid(long year, long month, long day, long hour, long minute, doubl
return 1;
}
+// Return 1 if input date is valid. Otherwise 0
+// Note: In the 24-hour time notation, the day begins at midnight, 00:00 or 0:00,
+// and the last minute of the day begins at 23:59.
+// Where convenient, the notation 24:00 may also be used to refer to midnight
+// at the end of a given date — that is, 24:00 of one day is the same time
+// as 00:00 of the following day
+int is_time_valid(long number)
+{
+ // Number should be 4 digits i.e., HHMM
+ if (number < 0 || number > 9999) {
+ return 0;
+ }
+
+ // Extract hours and minutes
+ long hours = number / 100; // Get the first two digits as hours
+ long minutes = number % 100; // Get the last two digits as minutes
+
+ // Check if hours are within the valid range (00-24)
+ if (hours < 0 || hours > 24) {
+ return 0;
+ }
+
+ // Check if minutes are within the valid range (00-59)
+ if (minutes < 0 || minutes > 59) {
+ return 0;
+ }
+
+ // All checks pass
+ return 1;
+}
+
static float float_epsilon(void)
{
float floatEps = 1.0;
diff --git a/src/grib_concept_index.cc b/src/deprecated/grib_concept_index.cc
similarity index 66%
rename from src/grib_concept_index.cc
rename to src/deprecated/grib_concept_index.cc
index 9cb8f0d1d..8ca1794a4 100644
--- a/src/grib_concept_index.cc
+++ b/src/deprecated/grib_concept_index.cc
@@ -1,30 +1,49 @@
-/*
- * (C) Copyright 2005- 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: concept index
- *
- */
-
#include "grib_api_internal.h"
+typedef struct grib_concept_index_keys grib_concept_index_keys;
+typedef struct grib_concept_index grib_concept_index;
+typedef struct grib_conditions_tree grib_conditions_tree;
+typedef struct grib_concept_index_entry grib_concept_index_entry;
+typedef struct grib_concept_index_keys grib_concept_index_keys;
+
+struct grib_concept_index_entry {
+ char* name;
+ char* value;
+ int type;
+ grib_concept_index_entry* next;
+};
+
+struct grib_concept_index_keys {
+ char* name;
+ int type;
+ grib_concept_index_keys* next;
+};
+
+struct grib_concept_index {
+ grib_context* context;
+ grib_concept_index_keys* keys;
+ grib_conditions_tree* conditions;
+};
+
+struct grib_conditions_tree {
+ char* value;
+ void* object;
+ grib_conditions_tree* next;
+ grib_conditions_tree* next_key;
+};
+
+
static grib_concept_index_entry* index_entry_new(grib_context* c, grib_concept_index_keys* keys)
{
grib_concept_index_entry* entry = NULL;
+ grib_concept_index_entry* e;
Assert(keys);
if (!c)
c = grib_context_get_default();
- entry = grib_context_malloc_clear(c, sizeof(grib_concept_index_entry));
+ entry = (grib_concept_index_entry*)grib_context_malloc_clear(c, sizeof(grib_concept_index_entry));
if (!entry)
grib_context_log(c, GRIB_LOG_FATAL, "grib_concept_index_entry unable to allocate");
e = entry;
@@ -32,7 +51,7 @@ static grib_concept_index_entry* index_entry_new(grib_context* c, grib_concept_i
while (keys && keys->name) {
e->name = grib_context_strdup(c, keys->name);
e->type = keys->type;
- e->next = grib_context_malloc_clear(c, sizeof(grib_concept_index_entry));
+ e->next = (grib_concept_index_entry*)grib_context_malloc_clear(c, sizeof(grib_concept_index_entry));
if (!e->next)
grib_context_log(c, GRIB_LOG_FATAL, "grib_concept_index_entry unable to allocate");
@@ -65,17 +84,17 @@ static int index_insert_entry(grib_concept_index* index, grib_concept_index_entr
while (keys->name) {
if (!cur) {
- cur = grib_context_malloc_clear_persistent(index->context, sizeof(grib_conditions_tree));
+ cur = (grib_conditions_tree*)grib_context_malloc_clear_persistent(index->context, sizeof(grib_conditions_tree));
if (!cur)
grib_context_log(index->context, GRIB_LOG_FATAL, "index_insert_entry unable to allocate");
prev->next = cur;
}
- value = entry->value ? entry->value : "*";
+ char* value = entry->value ? entry->value : (char*)"*";
while (cur && (!cur->value || (found = !strcmp(cur->value, value)) == 0))
cur = cur->next;
if (!found) {
- cur->next = grib_context_malloc_clear_persistent(index->context, sizeof(grib_conditions_tree));
+ cur->next = (grib_conditions_tree*)grib_context_malloc_clear_persistent(index->context, sizeof(grib_conditions_tree));
Assert(cur->next);
cur = cur->next;
}
@@ -103,6 +122,9 @@ static void index_add_conditions(grib_concept_index* index, grib_concept_conditi
char s[512] = {0,};
grib_concept_index_entry* e;
grib_concept_index_entry* entry = index_entry_new(index->context, index->keys);
+ long lres;
+ double dres;
+ int err = 0;
while (c) {
size_t size = 512;
@@ -136,7 +158,7 @@ static void index_add_conditions(grib_concept_index* index, grib_concept_conditi
e->value = grib_context_strdup(index->context, s);
if (!e->name) {
e->name = grib_context_strdup(index->context, c->name);
- e->next = grib_context_malloc_clear_persistent(index->context, sizeof(grib_concept_index_entry));
+ e->next = (grib_concept_index_entry*)grib_context_malloc_clear_persistent(index->context, sizeof(grib_concept_index_entry));
if (!e->next)
grib_context_log(index->context, GRIB_LOG_FATAL, "index_add_conditions unable to allocate");
}
@@ -156,14 +178,13 @@ grib_concept_index* grib_concept_index_new_from_concept(grib_context* c, grib_co
if (!c)
c = grib_context_get_default();
- index = grib_context_malloc_clear_persistent(c, sizeof(grib_concept_index));
- index->keys = grib_context_malloc_clear_persistent(c, sizeof(grib_concept_index_key));
- index->conditions = grib_context_malloc_clear_persistent(c, sizeof(grib_conditions_tree));
- index->conditions = grib_context_malloc_clear_persistent(c, sizeof(grib_conditions_tree));
+ index = (grib_concept_index*)grib_context_malloc_clear_persistent(c, sizeof(grib_concept_index));
+ index->keys = (grib_concept_index_keys*)grib_context_malloc_clear_persistent(c, sizeof(grib_concept_index_keys));
+ index->conditions = (grib_conditions_tree*)grib_context_malloc_clear_persistent(c, sizeof(grib_conditions_tree));
index->context = c;
while (concept) {
- index_add_conditions(index, concept->conditions, err);
+ index_add_conditions(index, concept->conditions);
concept = concept->next;
}
diff --git a/src/grib_expression_class_column.cc b/src/deprecated/grib_expression_class_column.cc
similarity index 96%
rename from src/grib_expression_class_column.cc
rename to src/deprecated/grib_expression_class_column.cc
index b683b93a5..fefdaca0a 100644
--- a/src/grib_expression_class_column.cc
+++ b/src/deprecated/grib_expression_class_column.cc
@@ -8,11 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
-/**************************************
- * Enrico Fucile
- **************************************/
-
-
#include "grib_api_internal.h"
/*
@@ -89,7 +84,7 @@ static void init_class(grib_expression_class* c)
static const char* get_name(grib_expression* g)
{
- grib_expression_column* e = (grib_expression_column*)g;
+ const grib_expression_column* e = (grib_expression_column*)g;
return e->name;
}
@@ -131,7 +126,6 @@ static void destroy(grib_context* c, grib_expression* g)
grib_context_free_persistent(c, e->name);
}
-
grib_expression* new_column_expression(grib_context* c, const char* name)
{
grib_expression_column* e = grib_context_malloc_clear_persistent(c, sizeof(grib_expression_column));
diff --git a/src/grib_expression_class_constant.cc b/src/deprecated/grib_expression_class_constant.cc
similarity index 87%
rename from src/grib_expression_class_constant.cc
rename to src/deprecated/grib_expression_class_constant.cc
index 7bd817678..bedacd013 100644
--- a/src/grib_expression_class_constant.cc
+++ b/src/deprecated/grib_expression_class_constant.cc
@@ -8,11 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
-/**************************************
- * Enrico Fucile
- **************************************/
-
-
#include "grib_api_internal.h"
/*
@@ -22,7 +17,7 @@
CLASS = expression
IMPLEMENTS = destroy
IMPLEMENTS = native_type
- IMPLEMENTS = evaluate;print
+ IMPLEMENTS = print
IMPLEMENTS = add_dependency
MEMBERS = long value
END_CLASS_DEF
@@ -83,15 +78,9 @@ static void init_class(grib_expression_class* c)
}
/* END_CLASS_IMP */
-static long evaluate(grib_expression* g, grib_handle* h)
-{
- grib_expression_constant* e = (grib_expression_constant*)g;
- return e->value;
-}
-
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_constant* e = (grib_expression_constant*)g;
+ const grib_expression_constant* e = (grib_expression_constant*)g;
printf("constant(%ld)", e->value);
}
@@ -100,7 +89,6 @@ static void destroy(grib_context* c, grib_expression* g)
/* grib_expression_constant* e = (grib_expression_constant*)g; */
}
-
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
/* grib_expression_constant* e = (grib_expression_constant*)g; */
diff --git a/src/grib_loader_from_array.cc b/src/deprecated/grib_loader_from_array.cc
similarity index 100%
rename from src/grib_loader_from_array.cc
rename to src/deprecated/grib_loader_from_array.cc
diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h
index 307f29330..e98ae83c2 100644
--- a/src/eccodes_prototypes.h
+++ b/src/eccodes_prototypes.h
@@ -1,3 +1,13 @@
+/*
+ * (C) Copyright 2005- 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.
+ */
+
#pragma once
#ifdef ECCODES_ON_WINDOWS
@@ -26,90 +36,80 @@ grib_action* grib_action_create_if(grib_context* context, grib_expression* expre
grib_action* grib_action_create_switch(grib_context* context, grib_arguments* args, grib_case* Case, grib_action* Default);
grib_case* grib_case_new(grib_context* c, grib_arguments* values, grib_action* action);
-/* grib_accessor_class_g1fcperiod.cc */
-
-/* grib_accessor_class_g1end_of_interval_monthly.cc */
-
-/* grib_accessor_class_mars_param.cc */
-
-/* action_class_section.cc */
-
-/* action_class_list.cc*/
+/* action_class_list.cc */
grib_action* grib_action_create_list(grib_context* context, const char* name, grib_expression* expression, grib_action* block);
-/* action_class_while.cc*/
+/* action_class_while.cc */
grib_action* grib_action_create_while(grib_context* context, grib_expression* expression, grib_action* block);
-/* action_class_put.cc*/
+/* action_class_put.cc */
grib_action* grib_action_create_put(grib_context* context, const char* name, grib_arguments* args);
-/* action_class_meta.cc*/
+/* action_class_meta.cc */
grib_action* grib_action_create_meta(grib_context* context, const char* name, const char* op, grib_arguments* params, grib_arguments* default_value, unsigned long flags, const char* name_space);
-/* action_class_remove.cc*/
+/* action_class_remove.cc */
grib_action* grib_action_create_remove(grib_context* context, grib_arguments* args);
-/* action_class_rename.cc*/
+/* action_class_rename.cc */
grib_action* grib_action_create_rename(grib_context* context, char* the_old, char* the_new);
-/* action_class_assert.cc*/
+/* action_class_assert.cc */
grib_action* grib_action_create_assert(grib_context* context, grib_expression* expression);
-/* action_class_template.cc*/
+/* action_class_template.cc */
grib_action* grib_action_create_template(grib_context* context, int nofail, const char* name, const char* arg1);
-grib_action* get_empty_template(grib_context* c, int* err);
-/* action_class_trigger.cc*/
+/* action_class_trigger.cc */
grib_action* grib_action_create_trigger(grib_context* context, grib_arguments* args, grib_action* block);
-/* action_class_when.cc*/
+/* action_class_when.cc */
grib_action* grib_action_create_when(grib_context* context, grib_expression* expression, grib_action* block_true, grib_action* block_false);
-/* action_class_concept.cc*/
+/* action_class_concept.cc */
grib_concept_value* action_concept_get_concept(grib_accessor* a);
int action_concept_get_nofail(grib_accessor* a);
grib_action* grib_action_create_concept(grib_context* context, const char* name, grib_concept_value* concept_value, const char* basename, const char* name_space, const char* defaultkey, const char* masterDir, const char* localDir, const char* ecmfDir, int flags, int nofail);
int get_concept_condition_string(grib_handle* h, const char* key, const char* value, char* result);
-/* action_class_hash_array.cc*/
+/* action_class_hash_array.cc */
grib_action* grib_action_create_hash_array(grib_context* context, const char* name, grib_hash_array_value* hash_array, const char* basename, const char* name_space, const char* defaultkey, const char* masterDir, const char* localDir, const char* ecmfDir, int flags, int nofail);
grib_hash_array_value* get_hash_array(grib_handle* h, grib_action* a);
const char* get_hash_array_full_path(grib_action* a);
-/* action_class_set.cc*/
+/* action_class_set.cc */
grib_action* grib_action_create_set(grib_context* context, const char* name, grib_expression* expression, int nofail);
-/* action_class_set_darray.cc*/
+/* action_class_set_darray.cc */
grib_action* grib_action_create_set_darray(grib_context* context, const char* name, grib_darray* darray);
-/* action_class_set_sarray.cc*/
+/* action_class_set_sarray.cc */
grib_action* grib_action_create_set_sarray(grib_context* context, const char* name, grib_sarray* sarray);
-/* action_class_noop.cc*/
+/* action_class_noop.cc */
grib_action* grib_action_create_noop(grib_context* context, const char* fname);
-/* action_class_write.cc*/
+/* action_class_write.cc */
grib_action* grib_action_create_write(grib_context* context, const char* name, int append, int padtomultiple);
-/* action_class_print.cc*/
+/* action_class_print.cc */
grib_action* grib_action_create_print(grib_context* context, const char* name, char* outname);
-/* action_class_close.cc*/
+/* action_class_close.cc */
grib_action* grib_action_create_close(grib_context* context, char* filename);
-/* action_class_variable.cc*/
+/* action_class_variable.cc */
grib_action* grib_action_create_variable(grib_context* context, const char* name, const char* op, const long len, grib_arguments* params, grib_arguments* default_value, int flags, const char* name_space);
-/* action_class_modify.cc*/
+/* action_class_modify.cc */
grib_action* grib_action_create_modify(grib_context* context, const char* name, long flags);
-/* action_class_transient_darray.cc*/
+/* action_class_transient_darray.cc */
grib_action* grib_action_create_transient_darray(grib_context* context, const char* name, grib_darray* darray, int flags);
-/* grib_accessor.cc*/
+/* grib_accessor.cc */
void grib_accessor_dump(grib_accessor* a, grib_dumper* f);
int grib_pack_missing(grib_accessor* a);
-int grib_pack_zero(grib_accessor* a);
int grib_is_missing_internal(grib_accessor* a);
int grib_pack_double(grib_accessor* a, const double* v, size_t* len);
int grib_pack_float(grib_accessor* a, const float* v, size_t* len);
@@ -151,30 +151,24 @@ grib_accessor* grib_next_accessor(grib_accessor* a);
void grib_resize(grib_accessor* a, size_t new_size);
int grib_compare_accessors(grib_accessor* a1, grib_accessor* a2, int compare_flags);
int grib_accessor_add_attribute(grib_accessor* a, grib_accessor* attr, int nest_if_clash);
-int grib_accessor_replace_attribute(grib_accessor* a, grib_accessor* attr);
-int grib_accessor_delete_attribute(grib_accessor* a, const char* name);
-grib_accessor* grib_accessor_get_attribute_by_index(grib_accessor* a, int index);
-const char* grib_accessor_get_name(grib_accessor* a);
-grib_accessor* ecc__grib_accessor_get_attribute(grib_accessor* a, const char* name, int* index);
+grib_accessor* grib_accessor_get_attribute_index(grib_accessor* a, const char* name, int* index);
int grib_accessor_has_attributes(grib_accessor* a);
grib_accessor* grib_accessor_get_attribute(grib_accessor* a, const char* name);
grib_accessors_list* grib_accessors_list_create(grib_context* c);
void grib_accessors_list_push(grib_accessors_list* al, grib_accessor* a, int rank);
grib_accessors_list* grib_accessors_list_last(grib_accessors_list* al);
-grib_accessors_list* grib_accessors_list_find(grib_accessors_list* al, const grib_accessor* a);
void grib_accessors_list_delete(grib_context* c, grib_accessors_list* al);
-/* grib_concept.cc*/
+/* grib_concept.cc */
grib_concept_value* grib_concept_value_new(grib_context* c, const char* name, grib_concept_condition* conditions);
void grib_concept_value_delete(grib_context* c, grib_concept_value* v);
grib_concept_condition* grib_concept_condition_new(grib_context* c, const char* name, grib_expression* expression, grib_iarray* iarray);
void grib_concept_condition_delete(grib_context* c, grib_concept_condition* v);
-/* grib_hash_array.cc*/
+/* grib_hash_array.cc */
grib_hash_array_value* grib_integer_hash_array_value_new(grib_context* c, const char* name, grib_iarray* array);
-void grib_hash_array_value_delete(grib_context* c, grib_hash_array_value* v);
-/* grib_bufr_descriptor.cc*/
+/* grib_bufr_descriptor.cc */
bufr_descriptor* grib_bufr_descriptor_new(grib_accessor* tables_accessor, int code, int silent, int* err);
bufr_descriptor* grib_bufr_descriptor_clone(bufr_descriptor* d);
int grib_bufr_descriptor_set_code(bufr_descriptor* v, int code);
@@ -182,7 +176,7 @@ void grib_bufr_descriptor_set_scale(bufr_descriptor* v, long scale);
int grib_bufr_descriptor_can_be_missing(const bufr_descriptor* v);
void grib_bufr_descriptor_delete(bufr_descriptor* v);
-/* grib_bufr_descriptors_array.cc*/
+/* grib_bufr_descriptors_array.cc */
bufr_descriptors_array* grib_bufr_descriptors_array_new(grib_context* c, size_t size, size_t incsize);
bufr_descriptor* grib_bufr_descriptors_array_pop_front(bufr_descriptors_array* a);
bufr_descriptors_array* grib_bufr_descriptors_array_push(bufr_descriptors_array* v, bufr_descriptor* val);
@@ -192,7 +186,7 @@ void grib_bufr_descriptors_array_delete(bufr_descriptors_array* v);
void grib_bufr_descriptors_array_delete_array(bufr_descriptors_array* v);
size_t grib_bufr_descriptors_array_used_size(bufr_descriptors_array* v);
-/* grib_darray.cc*/
+/* grib_darray.cc */
void grib_darray_print(const char* title, const grib_darray* darray);
grib_darray* grib_darray_new(grib_context* c, size_t size, size_t incsize);
grib_darray* grib_darray_push(grib_context* c, grib_darray* v, double val);
@@ -200,7 +194,7 @@ void grib_darray_delete(grib_context* c, grib_darray* v);
int grib_darray_is_constant(grib_darray* v, double epsilon);
size_t grib_darray_used_size(grib_darray* v);
-/* grib_sarray.cc*/
+/* grib_sarray.cc */
void grib_sarray_print(const char* title, const grib_sarray* sarray);
grib_sarray* grib_sarray_new(grib_context* c, size_t size, size_t incsize);
grib_sarray* grib_sarray_push(grib_context* c, grib_sarray* v, char* val);
@@ -209,13 +203,13 @@ void grib_sarray_delete_content(grib_context* c, grib_sarray* v);
char** grib_sarray_get_array(grib_context* c, grib_sarray* v);
size_t grib_sarray_used_size(grib_sarray* v);
-/* grib_oarray.cc*/
+/* grib_oarray.cc */
grib_oarray* grib_oarray_new(grib_context* c, size_t size, size_t incsize);
grib_oarray* grib_oarray_push(grib_context* c, grib_oarray* v, void* val);
void grib_oarray_delete(grib_context* c, grib_oarray* v);
void* grib_oarray_get(grib_oarray* v, int i);
-/* grib_iarray.cc*/
+/* grib_iarray.cc */
void grib_iarray_print(const char* title, const grib_iarray* iarray);
grib_iarray* grib_iarray_new(grib_context* c, size_t size, size_t incsize);
long grib_iarray_pop(grib_iarray* a);
@@ -226,7 +220,7 @@ void grib_iarray_delete_array(grib_iarray* v);
long* grib_iarray_get_array(grib_iarray* v);
size_t grib_iarray_used_size(grib_iarray* v);
-/* grib_vdarray.cc*/
+/* grib_vdarray.cc */
void grib_vdarray_print(const char* title, const grib_vdarray* vdarray);
grib_vdarray* grib_vdarray_new(grib_context* c, size_t size, size_t incsize);
grib_vdarray* grib_vdarray_push(grib_context* c, grib_vdarray* v, grib_darray* val);
@@ -234,7 +228,7 @@ void grib_vdarray_delete(grib_context* c, grib_vdarray* v);
void grib_vdarray_delete_content(grib_context* c, grib_vdarray* v);
size_t grib_vdarray_used_size(grib_vdarray* v);
-/* grib_vsarray.cc*/
+/* grib_vsarray.cc */
void grib_vsarray_print(const char* title, const grib_vsarray* vdarray);
grib_vsarray* grib_vsarray_new(grib_context* c, size_t size, size_t incsize);
grib_vsarray* grib_vsarray_push(grib_context* c, grib_vsarray* v, grib_sarray* val);
@@ -242,30 +236,20 @@ void grib_vsarray_delete(grib_context* c, grib_vsarray* v);
void grib_vsarray_delete_content(grib_context* c, grib_vsarray* v);
size_t grib_vsarray_used_size(grib_vsarray* v);
-/* grib_viarray.cc*/
+/* grib_viarray.cc */
void grib_viarray_print(const char* title, const grib_viarray* viarray);
grib_viarray* grib_viarray_new(grib_context* c, size_t size, size_t incsize);
grib_viarray* grib_viarray_push(grib_context* c, grib_viarray* v, grib_iarray* val);
void grib_viarray_delete(grib_context* c, grib_viarray* v);
void grib_viarray_delete_content(grib_context* c, grib_viarray* v);
-/* grib_accessor_class_ascii.cc*/
-
-/* grib_accessor_class_bit.cc*/
-
-/* grib_accessor_class_bitmap.cc*/
-
-/* grib_accessor_class_bits.cc*/
-
-/* grib_accessor_class_bits_per_value.cc*/
-
-/* grib_accessor_class_bufr_data_array.cc*/
+/* grib_accessor_class_bufr_data_array.cc */
grib_vsarray* accessor_bufr_data_array_get_stringValues(grib_accessor* a);
grib_accessors_list* accessor_bufr_data_array_get_dataAccessors(grib_accessor* a);
grib_trie_with_rank* accessor_bufr_data_array_get_dataAccessorsTrie(grib_accessor* a);
void accessor_bufr_data_array_set_unpackMode(grib_accessor* a, int unpackMode);
-/* grib_accessor_class_bufr_data_element.cc*/
+/* grib_accessor_class_bufr_data_element.cc */
void accessor_bufr_data_element_set_index(grib_accessor* a, long index);
void accessor_bufr_data_element_set_type(grib_accessor* a, int type);
void accessor_bufr_data_element_set_numberOfSubsets(grib_accessor* a, long numberOfSubsets);
@@ -276,47 +260,11 @@ void accessor_bufr_data_element_set_numericValues(grib_accessor* a, grib_vdarray
void accessor_bufr_data_element_set_stringValues(grib_accessor* a, grib_vsarray* stringValues);
void accessor_bufr_data_element_set_elementsDescriptorsIndex(grib_accessor* a, grib_viarray* elementsDescriptorsIndex);
-/* grib_accessor_class_bufr_elements_table.cc*/
+/* grib_accessor_class_bufr_elements_table.cc */
int bufr_descriptor_is_marker(bufr_descriptor* d);
bufr_descriptor* accessor_bufr_elements_table_get_descriptor(grib_accessor* a, int code, int* err);
-/* grib_accessor_class_bufr_group.cc*/
-
-/* grib_accessor_class_bufr_string_values.cc*/
-
-/* grib_accessor_class_pack_bufr_values.cc*/
-
-/* grib_accessor_class_bufr_extract_area_subsets.cc*/
-
-/* grib_accessor_class_bufr_extract_datetime_subsets.cc*/
-
-/* grib_accessor_class_group.cc*/
-
-/* grib_accessor_class_unpack_bufr_values.cc*/
-
-/* grib_accessor_class_non_alpha.cc*/
-
-/* grib_accessor_class_g1bitmap.cc*/
-
-/* grib_accessor_class_g2bitmap.cc*/
-
-/* grib_accessor_class_concept.cc*/
-
-/* grib_accessor_class_hash_array.cc*/
-
-/* grib_accessor_class_decimal_precision.cc*/
-
-/* grib_accessor_class_divdouble.cc*/
-
-/* grib_accessor_class_budgdate.cc*/
-
-/* grib_accessor_class_validity_date.cc*/
-
-/* grib_accessor_class_validity_time.cc*/
-
-/* grib_accessor_class_bytes.cc*/
-
-/* grib_accessor_class.cc*/
+/* grib_accessor_class.cc */
grib_section* grib_create_root_section(const grib_context* context, grib_handle* h);
grib_accessor* grib_accessor_factory(grib_section* p, grib_action* creator, const long len, grib_arguments* params);
void grib_push_accessor(grib_accessor* a, grib_block_of_accessors* l);
@@ -326,314 +274,46 @@ int grib_get_block_length(grib_section* s, size_t* l);
grib_accessor* find_paddings(grib_section* s);
void grib_update_paddings(grib_section* s);
-/* grib_accessor_class_change_scanning_direction.cc*/
-
-/* grib_accessor_class_change_scanning_direction.cc*/
-
-/* grib_accessor_class_check_internal_version.cc*/
-
-/* grib_accessor_class_codeflag.cc*/
-
-/* grib_accessor_class_smart_table.cc*/
+/* grib_accessor_class_smart_table.cc */
void grib_smart_table_delete(grib_context* c);
-/* grib_accessor_class_smart_table_column.cc*/
-
-/* grib_accessor_class_codetable.cc*/
+/* grib_accessor_class_codetable.cc */
void grib_codetable_delete(grib_context* c);
int codes_codetable_get_contents_malloc(const grib_handle* h, const char* key, code_table_entry** entries, size_t* num_entries);
int codes_codetable_check_code_figure(const grib_handle* h, const char* key, long code_figure);
int codes_codetable_check_abbreviation(const grib_handle* h, const char* key, const char* abbreviation);
-/* grib_accessor_class_codetable_units.cc*/
-
-/* grib_accessor_class_codetable_title.cc*/
-
-/* grib_accessor_class_count_file.cc*/
-
-/* grib_accessor_class_count_total.cc*/
-
-/* grib_accessor_class_double.cc*/
-
-/* grib_accessor_class_element.cc*/
-
-/* grib_accessor_class_evaluate.cc*/
-
-/* grib_accessor_class_g1date.cc*/
-
-/* grib_accessor_class_g1monthlydate.cc*/
-
-/* grib_accessor_class_library_version.cc*/
-
-/* grib_accessor_class_when.cc*/
-
-/* grib_accessor_class_g1verificationdate.cc*/
-
-/* grib_accessor_class_g1day_of_the_year_date.cc*/
-
-/* grib_accessor_class_g1_half_byte_codeflag.cc*/
-
-/* grib_accessor_class_g1forecastmonth.cc*/
-
-/* grib_accessor_class_g1step_range.cc*/
+/* grib_accessor_class_g1step_range.cc */
int grib_g1_step_get_steps(grib_accessor* a, long* start, long* theEnd);
-/* grib_accessor_class_g2step_range.cc*/
-
-/* grib_accessor_class_data_g22order_packing.cc*/
-
-/* grib_accessor_class_mars_step.cc*/
-
-/* grib_accessor_class_message_copy.cc*/
-
-/* grib_accessor_class_dictionary.cc*/
-
-/* grib_accessor_class_latlon_increment.cc*/
-
-/* grib_accessor_class_g2date.cc*/
-
-/* grib_accessor_class_g2level.cc*/
-
-/* grib_accessor_class_g2end_step.cc*/
-
-/* grib_accessor_class_g2latlon.cc*/
-
-/* grib_accessor_class_g2lon.cc*/
-
-/* grib_accessor_class_global_gaussian.cc*/
-
-/* grib_accessor_class_gaussian_grid_name.cc*/
-
-/* grib_accessor_class_gen.cc*/
-
-/* grib_accessor_class_gts_header.cc*/
-
-/* grib_accessor_class_ifs_param.cc*/
-
-/* grib_accessor_class_uint16.cc*/
-
-/* grib_accessor_class_uint32.cc*/
-
-/* grib_accessor_class_uint32_little_endian.cc*/
-
-/* grib_accessor_class_uint64.cc*/
-
-/* grib_accessor_class_uint64_little_endian.cc*/
-
-/* grib_accessor_class_uint8.cc*/
-
-/* grib_accessor_class_blob.cc*/
-
-/* grib_accessor_class_julian_day.cc*/
-
-/* grib_accessor_class_julian_date.cc*/
-
-/* grib_accessor_class_latlonvalues.cc*/
-
-/* grib_accessor_class_latitudes.cc*/
-
-/* grib_accessor_class_longitudes.cc*/
-
-/* grib_accessor_class_octahedral_gaussian.cc*/
-
-/* grib_accessor_class_offset_file.cc*/
-
-/* grib_accessor_class_scale.cc*/
-
-/* grib_accessor_class_rdbtime_guess_date.cc*/
-
-/* grib_accessor_class_from_scale_factor_scaled_value.cc*/
-
-/* grib_accessor_class_g2bitmap_present.cc*/
-
-/* grib_accessor_class_ibmfloat.cc*/
-
-/* grib_accessor_class_ieeefloat.cc*/
-
-/* grib_accessor_class_constant.cc*/
-
-/* grib_accessor_class_iterator.cc*/
+/* grib_accessor_class_iterator.cc */
grib_iterator* grib_iterator_new(const grib_handle* h, unsigned long flags, int* error);
-/* grib_accessor_class_message.cc*/
-
-/* grib_accessor_class_nearest.cc*/
+/* grib_accessor_class_nearest.cc */
grib_nearest* grib_nearest_new(const grib_handle* h, int* error);
-/* grib_accessor_class_ksec1expver.cc*/
-
-/* grib_accessor_class_label.cc*/
-
-/* grib_accessor_class_long.cc*/
-
-/* grib_accessor_class_lookup.cc*/
-
-/* grib_accessor_class_octet_number.cc*/
-
-/* grib_accessor_class_headers_only.cc*/
-
-/* grib_accessor_class_padding.cc*/
-
-/* grib_accessor_class_pad.cc*/
-
-/* grib_accessor_class_padto.cc*/
-
-/* grib_accessor_class_padtoeven.cc*/
-
-/* grib_accessor_class_padtomultiple.cc*/
-
-/* grib_accessor_class_section_padding.cc*/
-
-/* grib_accessor_class_section_pointer.cc*/
-
-/* grib_accessor_class_position.cc*/
-
-/* grib_accessor_class_signed.cc*/
-
-/* grib_accessor_class_signed_bits.cc*/
-
-/* grib_accessor_class_section.cc*/
-
-/* grib_accessor_class_step_in_units.cc*/
-
-/* grib_accessor_class_section_length.cc*/
-
-/* grib_accessor_class_g1_message_length.cc*/
+/* grib_accessor_class_g1_message_length.cc */
int grib_get_g1_message_size(grib_handle* h, grib_accessor* tl, grib_accessor* s4, long* total_length, long* sec4_len);
-/* grib_accessor_class_g1_section4_length.cc*/
-
-/* grib_accessor_class_size.cc*/
-
-/* grib_accessor_class_scale_values.cc*/
-
-/* grib_accessor_class_offset_values.cc*/
-
-/* grib_accessor_class_sprintf.cc*/
-
-/* grib_accessor_class_getenv.cc*/
-
-/* grib_accessor_class_round.cc*/
-
-/* grib_accessor_class_spectral_truncation.cc*/
-
-/* grib_accessor_class_time.cc*/
-
-/* grib_accessor_class_transient.cc*/
-
-/* grib_accessor_class_values.cc*/
-
-/* grib_accessor_class_simple_packing_error.cc*/
-
-/* grib_accessor_class_data_simple_packing.cc*/
-
-/* grib_accessor_class_data_ccsds_packing.cc*/
-
-/* grib_accessor_class_count_missing.cc*/
-
-/* grib_accessor_class_data_sh_packed.cc*/
-
-/* grib_accessor_class_data_sh_unpacked.cc*/
-
-/* grib_accessor_class_number_of_values_data_raw_packing.cc*/
-
-/* grib_accessor_class_data_g1simple_packing.cc*/
-
-/* grib_accessor_class_data_g1shsimple_packing.cc*/
-
-/* grib_accessor_class_data_shsimple_packing.cc*/
-
-/* grib_accessor_class_data_dummy_field.cc*/
-
-/* grib_accessor_class_variable.cc*/
+/* grib_accessor_class_variable.cc */
void accessor_variable_set_type(grib_accessor* a, int type);
-/* grib_accessor_class_second_order_bits_per_value.cc*/
-
-/* grib_accessor_class_data_g2simple_packing.cc*/
-
-/* grib_accessor_class_data_g2simple_packing_with_preprocessing.cc*/
-
-/* grib_accessor_class_data_g2shsimple_packing.cc*/
-
-/* grib_accessor_class_data_g2complex_packing.cc*/
-
-/* grib_accessor_class_data_g1second_order_row_by_row_packing.cc*/
-
-/* grib_accessor_class_data_g1second_order_constant_width_packing.cc*/
-
-/* grib_accessor_class_data_g1second_order_general_packing.cc*/
-
-/* grib_accessor_class_data_g1second_order_general_extended_packing.cc*/
-
-/* grib_accessor_class_g2grid.cc*/
-
-/* grib_accessor_class_unexpanded_descriptors.cc*/
-
-/* grib_accessor_class_expanded_descriptors.cc*/
+/* grib_accessor_class_expanded_descriptors.cc */
int grib_accessor_class_expanded_descriptors_set_do_expand(grib_accessor* a, long do_expand);
bufr_descriptors_array* grib_accessor_class_expanded_descriptors_get_expanded(grib_accessor* a, int* err);
-/* grib_accessor_class_bufrdc_expanded_descriptors.cc*/
-
-/* grib_accessor_class_data_apply_bitmap.cc*/
-
-/* grib_accessor_class_data_apply_boustrophedonic.cc*/
-
-/* grib_accessor_class_data_apply_boustrophedonic_bitmap.cc*/
-
-/* grib_accessor_class_data_secondary_bitmap.cc*/
-
-/* grib_accessor_class_data_g1secondary_bitmap.cc*/
-
-/* grib_accessor_class_data_g2secondary_bitmap.cc*/
-
-/* grib_accessor_class_data_jpeg2000_packing.cc*/
-
-/* grib_accessor_class_data_png_packing.cc*/
-
-/* grib_accessor_class_data_raw_packing.cc*/
-
-/* grib_accessor_class_data_complex_packing.cc*/
-
-/* grib_accessor_class_data_g1complex_packing.cc*/
-
-/* grib_accessor_class_gds_not_present_bitmap.cc*/
-
-/* grib_accessor_class_gds_is_present.cc*/
-
-/* grib_accessor_class_select_step_template.cc*/
-
-/* grib_accessor_class_local_definition.cc*/
-
-/* grib_accessor_class_g2_eps.cc*/
-
-/* grib_accessor_class_g2_aerosol.cc*/
-
-/* grib_accessor_class_g2_chemical.cc*/
-
-/* grib_accessor_class_g2_mars_labeling.cc*/
-
-/* grib_accessor_class_transient_darray.cc*/
-
-/* grib_accessor_class_md5.cc*/
-
-/* grib_jasper_encoding.cc*/
+/* grib_jasper_encoding.cc */
int grib_jasper_decode(grib_context* c, unsigned char* buf, const size_t* buflen, double* values, const size_t* n_vals);
int grib_jasper_encode(grib_context* c, j2k_encode_helper* helper);
-/* grib_openjpeg_encoding.cc*/
+/* grib_openjpeg_encoding.cc */
int grib_openjpeg_decode(grib_context* c, unsigned char* buf, const size_t* buflen, double* values, const size_t* n_vals);
int grib_openjpeg_encode(grib_context* c, j2k_encode_helper* helper);
-/* action_class_set_missing.cc*/
+/* action_class_set_missing.cc */
grib_action* grib_action_create_set_missing(grib_context* context, const char* name);
-/* grib_accessor_class_number_of_points.cc*/
-
-/* grib_accessor_class_suppressed.cc*/
-
-/* grib_index.cc*/
+/* grib_index.cc */
int grib_index_compress(grib_index* index);
grib_field_tree* grib_read_field_tree(grib_context* c, FILE* fh, grib_file** files, int* err);
grib_index* grib_index_new(grib_context* c, const char* key, int* err);
@@ -642,7 +322,6 @@ int grib_index_write(grib_index* index, const char* filename);
grib_index* grib_index_read(grib_context* c, const char* filename, int* err);
int grib_index_search_same(grib_index* index, grib_handle* h);
int grib_index_add_file(grib_index* index, const char* filename);
-int ecc__codes_index_add_file(grib_index* index, const char* filename, int message_type);
grib_index* grib_index_new_from_file(grib_context* c, const char* filename, const char* keys, int* err);
int grib_index_get_size(const grib_index* index, const char* key, size_t* size);
int grib_index_get_string(const grib_index* index, const char* key, char** values, size_t* size);
@@ -657,71 +336,28 @@ void grib_index_dump(FILE* fout, grib_index* index, unsigned long flags);
char* grib_get_field_file(grib_index* index, off_t* offset);
grib_handle* grib_handle_new_from_index(grib_index* index, int* err);
grib_handle* codes_new_from_index(grib_index* index, int message_type, int* err);
-void grib_index_rewind(grib_index* index);
int codes_index_set_product_kind(grib_index* index, ProductKind product_kind);
int codes_index_set_unpack_bufr(grib_index* index, int unpack);
int is_index_file(const char* filename);
-/* grib_accessor_class_number_of_points_gaussian.cc*/
-
-/* grib_accessor_class_number_of_values.cc*/
-
-/* grib_accessor_class_number_of_coded_values.cc*/
-
-/* grib_accessor_class_g1number_of_coded_values_sh_complex.cc*/
-
-/* grib_accessor_class_g1number_of_coded_values_sh_simple.cc*/
-
-/* grib_accessor_class_dirty.cc*/
-
-/* grib_accessor_class_statistics.cc*/
-
-/* grib_accessor_class_statistics_spectral.cc*/
-
-/* grib_accessor_class_unsigned.cc*/
+/* grib_accessor_class_unsigned.cc */
int pack_long_unsigned_helper(grib_accessor* a, const long* val, size_t* len, int check);
-/* grib_accessor_class_unsigned_bits.cc*/
-
-/* grib_accessor_class_raw.cc*/
+/* grib_accessor_class_raw.cc */
void accessor_raw_set_length(grib_accessor* a, size_t len);
long accessor_raw_get_offset(grib_accessor* a);
-/* grib_accessor_class_bufr_extract_subsets.cc*/
-
-/* grib_accessor_class_bufr_simple_thinning.cc*/
-
-/* grib_accessor_class_spd.cc*/
-
-/* grib_accessor_class_sum.cc*/
-
-/* grib_accessor_class_to_integer.cc*/
-
-/* grib_accessor_class_to_double.cc*/
-
-/* grib_accessor_class_to_string.cc*/
-
-/* grib_accessor_class_sexagesimal2decimal.cc*/
-
-/* grib_accessor_class_vector.cc*/
-
-/* grib_accessor_class_long_vector.cc*/
-
-/* grib_gaussian_reduced.cc*/
+/* grib_gaussian_reduced.cc */
void grib_get_reduced_row_wrapper(grib_handle* h, long pl, double lon_first, double lon_last, long* npoints, long* ilon_first, long* ilon_last);
void grib_get_reduced_row_legacy(long pl, double lon_first, double lon_last, long* npoints, long* ilon_first, long* ilon_last);
void grib_get_reduced_row(long pl, double lon_first, double lon_last, long* npoints, long* ilon_first, long* ilon_last);
void grib_get_reduced_row_p(long pl, double lon_first, double lon_last, long* npoints, double* olon_first, double* olon_last);
-/* grib_accessor_class_abstract_vector.cc*/
-
-/* grib_accessor_class_abstract_long_vector.cc*/
-
-/* grib_loader_from_handle.cc*/
+/* grib_loader_from_handle.cc */
int grib_lookup_long_from_handle(grib_context* gc, grib_loader* loader, const char* name, long* value);
int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_arguments* default_value);
-/* grib_bits.cc*/
+/* grib_bits.cc */
unsigned long grib_decode_unsigned_byte_long(const unsigned char* p, long o, int l);
long grib_decode_signed_long(const unsigned char* p, long o, int l);
int grib_encode_signed_long(unsigned char* p, long val, long o, int l);
@@ -731,7 +367,7 @@ void grib_set_bit(unsigned char* p, long bitp, int val);
long grib_decode_signed_longb(const unsigned char* p, long* bitp, long nbits);
int grib_encode_signed_longb(unsigned char* p, long val, long* bitp, long nb);
-/* grib_timer.cc*/
+/* grib_timer.cc */
double proc_cpu(void);
char* timename(double t);
grib_timer* grib_get_timer(grib_context* c, const char* name, const char* statname, int elapsed);
@@ -744,7 +380,7 @@ void grib_timer_partial_rate(grib_timer* t, double start, long total);
void grib_print_all_timers(void);
void grib_reset_all_timers(void);
-/* grib_ibmfloat.cc*/
+/* grib_ibmfloat.cc */
unsigned long grib_ibm_to_long(double x);
double grib_ibmfloat_error(double x);
double grib_long_to_ibm(unsigned long x);
@@ -753,7 +389,7 @@ double grib_ibm_table_v(unsigned long e);
unsigned long grib_ibm_nearest_smaller_to_long(double x);
int grib_nearest_smaller_ibm_float(double a, double* ret);
-/* grib_ieeefloat.cc*/
+/* grib_ieeefloat.cc */
unsigned long grib_ieee_to_long(double x);
double grib_ieeefloat_error(double x);
double grib_long_to_ieee(unsigned long x);
@@ -767,9 +403,7 @@ double grib_long_to_ieee64(unsigned long x);
//int grib_ieee_decode_array_float(grib_context* c, unsigned char* buf, size_t nvals, int bytes, float* val);
int grib_ieee_encode_array(grib_context* c, double* val, size_t nvals, int bytes, unsigned char* buf);
-/* grib_accessor_class_reference_value_error.cc*/
-
-/* grib_memory.cc*/
+/* grib_memory.cc */
void* grib_transient_malloc(const grib_context* c, size_t s);
void* grib_transient_realloc(const grib_context* c, void* p, size_t s);
void grib_transient_free(const grib_context* c, void* p);
@@ -780,7 +414,7 @@ void* grib_buffer_malloc(const grib_context* c, size_t s);
void grib_buffer_free(const grib_context* c, void* p);
void* grib_buffer_realloc(const grib_context* c, void* p, size_t s);
-/* grib_buffer.cc*/
+/* grib_buffer.cc */
grib_buffer* grib_create_growable_buffer(const grib_context* c);
grib_buffer* grib_new_buffer(const grib_context* c, const unsigned char* data, size_t buflen);
void grib_buffer_delete(const grib_context* c, grib_buffer* b);
@@ -791,7 +425,7 @@ void grib_recompute_sections_lengths(grib_section* s);
int grib_buffer_replace(grib_accessor* a, const unsigned char* data, size_t newsize, int update_lengths, int update_paddings);
void grib_update_sections_lengths(grib_handle* h);
-/* grib_dumper.cc*/
+/* grib_dumper.cc */
void grib_init_dumper(grib_dumper* d);
void grib_dumper_delete(grib_dumper* d);
void grib_dump_long(grib_dumper* d, grib_accessor* a, const char* comment);
@@ -806,37 +440,7 @@ void grib_dump_values(grib_dumper* d, grib_accessor* a);
void grib_dump_header(grib_dumper* d, const grib_handle* h);
void grib_dump_footer(grib_dumper* d, const grib_handle* h);
-/* grib_dumper_class_serialize.cc*/
-
-/* grib_dumper_class_debug.cc*/
-
-/* grib_dumper_class_default.cc*/
-
-/* grib_dumper_class_bufr_encode_C.cc*/
-
-/* grib_dumper_class_bufr_encode_filter.cc*/
-
-/* grib_dumper_class_bufr_encode_fortran.cc*/
-
-/* grib_dumper_class_bufr_encode_python.cc*/
-
-/* grib_dumper_class_bufr_decode_C.cc*/
-
-/* grib_dumper_class_bufr_decode_filter.cc*/
-
-/* grib_dumper_class_bufr_decode_fortran.cc*/
-
-/* grib_dumper_class_bufr_decode_python.cc*/
-
-/* grib_dumper_class_bufr_simple.cc*/
-
-/* grib_dumper_class_json.cc*/
-
-/* grib_dumper_class_grib_encode_C.cc*/
-
-/* grib_dumper_class_wmo.cc*/
-
-/* grib_dumper_class.cc*/
+/* grib_dumper_class.cc */
grib_dumper* grib_dumper_factory(const char* op, const grib_handle* h, FILE* out, unsigned long option_flags, void* arg);
void grib_dump_accessors_block(grib_dumper* dumper, grib_block_of_accessors* block);
void grib_dump_accessors_list(grib_dumper* dumper, grib_accessors_list* al);
@@ -846,7 +450,7 @@ void grib_dump_keys(grib_handle* h, FILE* f, const char* mode, unsigned long fla
grib_dumper* grib_dump_content_with_dumper(grib_handle* h, grib_dumper* dumper, FILE* f, const char* mode, unsigned long flags, void* data);
void codes_dump_bufr_flat(grib_accessors_list* al, grib_handle* h, FILE* f, const char* mode, unsigned long flags, void* data);
-/* grib_context.cc*/
+/* grib_context.cc */
size_t grib_context_read(const grib_context* c, void* ptr, size_t size, void* stream);
off_t grib_context_tell(const grib_context* c, void* stream);
int grib_context_seek(const grib_context* c, off_t offset, int whence, void* stream);
@@ -906,14 +510,14 @@ void grib_gts_header_off(grib_context* c);
void grib_multi_support_on(grib_context* c);
void grib_multi_support_off(grib_context* c);
-/* grib_date.cc*/
+/* grib_date.cc */
int grib_julian_to_datetime(double jd, long* year, long* month, long* day, long* hour, long* minute, long* second);
int grib_datetime_to_julian(long year, long month, long day, long hour, long minute, long second, double* jd);
int grib_datetime_to_julian_d(long year, long month, long day, long hour, long minute, double second, double* jd);
long grib_julian_to_date(long jdate);
long grib_date_to_julian(long ddate);
-/* grib_fieldset.cc*/
+/* grib_fieldset.cc */
int grib_fieldset_new_column(grib_fieldset* set, int id, char* key, int type);
grib_fieldset* grib_fieldset_new_from_files(grib_context* c, const char* filenames[], int nfiles, const char** keys, int nkeys, const char* where_string, const char* order_by_string, int* err);
int grib_fieldset_apply_where(grib_fieldset* set, const char* where_string);
@@ -926,9 +530,8 @@ grib_handle* grib_fieldset_next_handle(grib_fieldset* set, int* err);
int grib_fieldset_count(const grib_fieldset* set);
grib_handle* grib_fieldset_retrieve(grib_fieldset* set, int i, int* err);
-/* grib_filepool.cc*/
+/* grib_filepool.cc */
void grib_file_pool_clean(void);
-grib_file* grib_file_pool_get_files(void);
grib_file* grib_file_open(const char* filename, const char* mode, int* err);
void grib_file_pool_delete_file(grib_file* file);
void grib_file_close(const char* filename, int force, int* err);
@@ -936,14 +539,14 @@ void grib_file_close_all(int* err);
grib_file* grib_get_file(const char* filename, int* err);
void grib_file_delete(grib_file* file);
-/* grib_geography.cc*/
+/* grib_geography.cc */
int grib_get_gaussian_latitudes(long trunc, double* lats);
int is_gaussian_global(double lat1, double lat2, double lon1, double lon2, long num_points_equator, const double* latitudes, double angular_precision);
void rotate(const double inlat, const double inlon, const double angleOfRot, const double southPoleLat, const double southPoleLon, double* outlat, double* outlon);
void unrotate(const double inlat, const double inlon, const double angleOfRot, const double southPoleLat, const double southPoleLon, double* outlat, double* outlon);
double geographic_distance_spherical(double radius, double lon1, double lat1, double lon2, double lat2);
-/* grib_handle.cc*/
+/* grib_handle.cc */
grib_section* grib_section_create(grib_handle* h, grib_accessor* owner);
void grib_swap_sections(grib_section* the_old, grib_section* the_new);
void grib_empty_section(grib_context* c, grib_section* b);
@@ -991,14 +594,14 @@ int grib_handle_apply_action(grib_handle* h, grib_action* a);
void grib_multi_support_reset_file(grib_context* c, FILE* f);
void grib_multi_support_reset(grib_context* c);
-/* grib_hash_keys.cc*/
+/* grib_hash_keys.cc */
const struct grib_keys_hash* grib_keys_hash_get(const char* str, size_t len);
grib_itrie* grib_hash_keys_new(grib_context* c, int* count);
void grib_hash_keys_delete(grib_itrie* t);
int grib_hash_keys_get_id(grib_itrie* t, const char* key);
int grib_hash_keys_get_size(grib_itrie* t);
-/* grib_io.cc*/
+/* grib_io.cc */
off_t stdio_tell(void* data);
int stdio_seek(void* data, off_t len);
int stdio_seek_from_start(void* data, off_t len);
@@ -1030,7 +633,7 @@ int codes_extract_offsets_sizes_malloc(grib_context* c, const char* filename, Pr
off_t** offsets, size_t** sizes, int* num_messages, int strict_mode);
-/* grib_trie.cc*/
+/* grib_trie.cc */
grib_trie* grib_trie_new(grib_context* c);
void grib_trie_delete_container(grib_trie* t);
void grib_trie_delete(grib_trie* t);
@@ -1039,24 +642,24 @@ void* grib_trie_insert(grib_trie* t, const char* key, void* data);
void* grib_trie_insert_no_replace(grib_trie* t, const char* key, void* data);
void* grib_trie_get(grib_trie* t, const char* key);
-/* grib_trie_with_rank.cc*/
+/* grib_trie_with_rank.cc */
grib_trie_with_rank* grib_trie_with_rank_new(grib_context* c);
void grib_trie_with_rank_delete_container(grib_trie_with_rank* t);
int grib_trie_with_rank_insert(grib_trie_with_rank* t, const char* key, void* data);
void* grib_trie_with_rank_get(grib_trie_with_rank* t, const char* key, int rank);
-/* grib_itrie.cc*/
+/* grib_itrie.cc */
grib_itrie* grib_itrie_new(grib_context* c, int* count);
void grib_itrie_delete(grib_itrie* t);
int grib_itrie_get_id(grib_itrie* t, const char* key);
int grib_itrie_insert(grib_itrie* t, const char* key);
int grib_itrie_get_size(grib_itrie* t);
-/* grib_rules.cc*/
+/* grib_rules.cc */
grib_rule_entry* grib_new_rule_entry(grib_context* c, const char* name, grib_expression* expression);
grib_rule* grib_new_rule(grib_context* c, grib_expression* condition, grib_rule_entry* entries);
-/* grib_keys_iterator.cc*/
+/* grib_keys_iterator.cc */
grib_keys_iterator* grib_keys_iterator_new(grib_handle* h, unsigned long filter_flags, const char* name_space);
int grib_keys_iterator_set_flags(grib_keys_iterator* ki, unsigned long flags);
int grib_keys_iterator_rewind(grib_keys_iterator* ki);
@@ -1071,7 +674,7 @@ int grib_keys_iterator_get_string(const grib_keys_iterator* kiter, char* v, size
int grib_keys_iterator_get_bytes(const grib_keys_iterator* kiter, unsigned char* v, size_t* len);
int grib_keys_iterator_get_native_type(const grib_keys_iterator* kiter);
-/* bufr_keys_iterator.cc*/
+/* bufr_keys_iterator.cc */
bufr_keys_iterator* codes_bufr_keys_iterator_new(grib_handle* h, unsigned long filter_flags);
bufr_keys_iterator* codes_bufr_data_section_keys_iterator_new(grib_handle* h);
int codes_bufr_keys_iterator_rewind(bufr_keys_iterator* ki);
@@ -1080,7 +683,7 @@ char* codes_bufr_keys_iterator_get_name(const bufr_keys_iterator* kiter);
grib_accessor* codes_bufr_keys_iterator_get_accessor(bufr_keys_iterator* kiter);
int codes_bufr_keys_iterator_delete(bufr_keys_iterator* kiter);
-/* grib_parse_utils.cc*/
+/* grib_parse_utils.cc */
int grib_recompose_name(grib_handle* h, grib_accessor* observer, const char* uname, char* fname, int fail);
int grib_accessors_list_print(grib_handle* h, grib_accessors_list* al, const char* name, int type, const char* format, const char* separator, int maxcols, int* newline, FILE* out);
int grib_recompose_print(grib_handle* h, grib_accessor* observer, const char* uname, int fail, FILE* out);
@@ -1094,32 +697,31 @@ grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char*
grib_action* grib_parse_file(grib_context* gc, const char* filename);
int grib_type_to_int(char id);
-/* grib_query.cc*/
+/* grib_query.cc */
grib_accessors_list* grib_find_accessors_list(const grib_handle* h, const char* name);
char* grib_split_name_attribute(grib_context* c, const char* name, char* attribute_name);
grib_accessor* grib_find_accessor(const grib_handle* h, const char* name);
-grib_accessor* grib_find_attribute(grib_handle* h, const char* name, const char* attr_name, int* err);
grib_accessor* grib_find_accessor_fast(grib_handle* h, const char* name);
-/* grib_scaling.cc*/
+/* grib_scaling.cc */
double grib_power(long s, long n);
long grib_get_binary_scale_fact(double max, double min, long bpval, int* error);
-/* grib_templates.cc*/
-grib_handle* codes_external_template(grib_context* c, ProductKind product_kind, const char* name);
-char* get_external_template_path(grib_context* c, const char* name);
+/* grib_templates.cc */
+grib_handle* codes_external_sample(grib_context* c, ProductKind product_kind, const char* name);
+char* get_external_sample_path(grib_context* c, const char* name);
-/* grib_dependency.cc*/
+/* grib_dependency.cc */
grib_handle* grib_handle_of_accessor(const grib_accessor* a);
void grib_dependency_add(grib_accessor* observer, grib_accessor* observed);
void grib_dependency_remove_observed(grib_accessor* observed);
-int ecc__grib_dependency_notify_change(grib_handle* h, grib_accessor* observed);
+int grib_dependency_notify_change_h(grib_handle* h, grib_accessor* observed);
int grib_dependency_notify_change(grib_accessor* observed);
void grib_dependency_remove_observer(grib_accessor* observer);
void grib_dependency_observe_expression(grib_accessor* observer, grib_expression* e);
void grib_dependency_observe_arguments(grib_accessor* observer, grib_arguments* a);
-/* grib_value.cc*/
+/* grib_value.cc */
int grib_set_expression(grib_handle* h, const char* name, grib_expression* e);
int grib_set_long_internal(grib_handle* h, const char* name, long val);
int grib_set_long(grib_handle* h, const char* name, long val);
@@ -1166,22 +768,19 @@ int grib_get_string_internal(grib_handle* h, const char* name, char* val, size_t
int grib_get_string(const grib_handle* h, const char* name, char* val, size_t* length);
int grib_get_bytes(const grib_handle* h, const char* name, unsigned char* val, size_t* length);
int grib_get_native_type(const grib_handle* h, const char* name, int* type);
-int ecc__grib_get_double_array_internal(const grib_handle* h, grib_accessor* a, double* val, size_t buffer_len, size_t* decoded_length);
int grib_get_double_array_internal(const grib_handle* h, const char* name, double* val, size_t* length);
int grib_get_double_array(const grib_handle* h, const char* name, double* val, size_t* length);
int grib_get_float_array_internal(const grib_handle* h, const char* name, float* val, size_t* length);
int grib_get_float_array(const grib_handle* h, const char* name, float* val, size_t* length);
-int ecc__grib_get_string_length(grib_accessor* a, size_t* size);
+int grib_get_string_length_acc(grib_accessor* a, size_t* size);
int grib_get_string_length(const grib_handle* h, const char* name, size_t* size);
-int ecc__grib_get_size(const grib_handle* h, grib_accessor* a, size_t* size);
+int grib_get_size_acc(const grib_handle* h, grib_accessor* a, size_t* size);
int grib_get_size(const grib_handle* h, const char* name, size_t* size);
int grib_get_length(const grib_handle* h, const char* name, size_t* length);
int grib_get_offset(const grib_handle* h, const char* key, size_t* val);
-int ecc__grib_get_string_array_internal(const grib_handle* h, grib_accessor* a, char** val, size_t buffer_len, size_t* decoded_length);
int grib_get_string_array(const grib_handle* h, const char* name, char** val, size_t* length);
-int ecc__grib_get_long_array_internal(const grib_handle* h, grib_accessor* a, long* val, size_t buffer_len, size_t* decoded_length);
int grib_get_long_array_internal(grib_handle* h, const char* name, long* val, size_t* length);
int grib_get_long_array(const grib_handle* h, const char* name, long* val, size_t* length);
int grib_set_values(grib_handle* h, grib_values* args, size_t count);
@@ -1191,59 +790,59 @@ int grib_values_check(grib_handle* h, grib_values* values, int count);
int codes_copy_key(grib_handle* h1, grib_handle* h2, const char* key, int type);
int codes_compare_key(grib_handle* h1, grib_handle* h2, const char* key, int compare_flags);
-/* grib_errors.cc*/
+/* grib_errors.cc */
const char* grib_get_error_message(int code);
void grib_check(const char* call, const char* file, int line, int e, const char* msg);
-/* grib_expression_class_binop.cc*/
+/* grib_expression_class_binop.cc */
grib_expression* new_binop_expression(grib_context* c, grib_binop_long_proc long_func, grib_binop_double_proc double_func, grib_expression* left, grib_expression* right);
-/* grib_expression_class_logical_and.cc*/
+/* grib_expression_class_logical_and.cc */
grib_expression* new_logical_and_expression(grib_context* c, grib_expression* left, grib_expression* right);
-/* grib_expression_class_logical_or.cc*/
+/* grib_expression_class_logical_or.cc */
grib_expression* new_logical_or_expression(grib_context* c, grib_expression* left, grib_expression* right);
-/* grib_expression_class_is_in_dict.cc*/
+/* grib_expression_class_is_in_dict.cc */
grib_expression* new_is_in_dict_expression(grib_context* c, const char* name, const char* list);
-/* grib_expression_class_true.cc*/
+/* grib_expression_class_true.cc */
grib_expression* new_true_expression(grib_context* c);
-/* grib_expression_class_string_compare.cc*/
+/* grib_expression_class_string_compare.cc */
grib_expression* new_string_compare_expression(grib_context* c, grib_expression* left, grib_expression* right);
-/* grib_expression_class_unop.cc*/
+/* grib_expression_class_unop.cc */
grib_expression* new_unop_expression(grib_context* c, grib_unop_long_proc long_func, grib_unop_double_proc double_func, grib_expression* exp);
-/* grib_expression_class_functor.cc*/
+/* grib_expression_class_functor.cc */
grib_expression* new_func_expression(grib_context* c, const char* name, grib_arguments* args);
-/* grib_expression_class_accessor.cc*/
+/* grib_expression_class_accessor.cc */
grib_expression* new_accessor_expression(grib_context* c, const char* name, long start, size_t length);
-/* grib_expression_class_is_in_list.cc*/
+/* grib_expression_class_is_in_list.cc */
grib_expression* new_is_in_list_expression(grib_context* c, const char* name, const char* list);
-/* grib_expression_class_is_integer.cc*/
+/* grib_expression_class_is_integer.cc */
grib_expression* new_is_integer_expression(grib_context* c, const char* name, int start, int length);
-/* grib_expression_class_length.cc*/
+/* grib_expression_class_length.cc */
grib_expression* new_length_expression(grib_context* c, const char* name);
-/* grib_expression_class_long.cc*/
+/* grib_expression_class_long.cc */
grib_expression* new_long_expression(grib_context* c, long value);
-/* grib_expression_class_double.cc*/
+/* grib_expression_class_double.cc */
grib_expression* new_double_expression(grib_context* c, double value);
-/* grib_expression_class_string.cc*/
+/* grib_expression_class_string.cc */
grib_expression* new_string_expression(grib_context* c, const char* value);
-/* grib_expression_class_sub_string.cc*/
+/* grib_expression_class_sub_string.cc */
grib_expression* new_sub_string_expression(grib_context* c, const char* value, size_t start, size_t length);
-/* grib_nearest.cc*/
+/* grib_nearest.cc */
int grib_nearest_find(grib_nearest* nearest, const grib_handle* h, double inlat, double inlon, unsigned long flags, double* outlats, double* outlons, double* values, double* distances, int* indexes, size_t* len);
int grib_nearest_init(grib_nearest* i, grib_handle* h, grib_arguments* args);
int grib_nearest_delete(grib_nearest* i);
@@ -1259,28 +858,10 @@ int grib_nearest_find_generic(grib_nearest* nearest, grib_handle* h, double inla
double** out_distances,
double* outlats, double* outlons, double* values, double* distances, int* indexes, size_t* len);
-/* grib_nearest_class.cc*/
+/* grib_nearest_class.cc */
grib_nearest* grib_nearest_factory(grib_handle* h, grib_arguments* args, int* error);
-/* grib_nearest_class_gen.cc*/
-
-/* grib_nearest_class_regular.cc*/
-
-/* grib_nearest_class_reduced.cc*/
-
-/* grib_nearest_class_latlon_reduced.cc*/
-
-/* grib_nearest_class_lambert_conformal.cc*/
-
-/* grib_nearest_class_polar_stereographic.cc*/
-
-/* grib_iterator_class_polar_stereographic.cc*/
-
-/* grib_iterator_class_lambert_azimuthal_equal_area.cc*/
-
-/* grib_iterator_class_lambert_conformal.cc*/
-
-/* grib_iterator.cc*/
+/* grib_iterator.cc */
int grib_get_data(const grib_handle* h, double* lats, double* lons, double* values);
int grib_iterator_next(grib_iterator* i, double* lat, double* lon, double* value);
int grib_iterator_has_next(grib_iterator* i);
@@ -1289,25 +870,13 @@ int grib_iterator_reset(grib_iterator* i);
int grib_iterator_init(grib_iterator* i, grib_handle* h, grib_arguments* args);
int grib_iterator_delete(grib_iterator* i);
-/* grib_iterator_class.cc*/
+/* grib_iterator_class.cc */
grib_iterator* grib_iterator_factory(grib_handle* h, grib_arguments* args, unsigned long flags, int* error);
-/* grib_iterator_class_gaussian.cc*/
-
-/* grib_iterator_class_gaussian_reduced.cc*/
-
-/* grib_iterator_class_latlon_reduced.cc*/
-
-/* grib_iterator_class_gen.cc*/
+/* grib_iterator_class_gen.cc */
int transform_iterator_data(grib_context* c, double* data, long iScansNegatively, long jScansPositively, long jPointsAreConsecutive, long alternativeRowScanning, size_t numPoints, long nx, long ny);
-/* grib_iterator_class_latlon.cc*/
-
-/* grib_iterator_class_regular.cc*/
-
-/* grib_iterator_class_space_view.cc*/
-
-/* grib_expression.cc*/
+/* grib_expression.cc */
int grib_expression_native_type(grib_handle* h, grib_expression* g);
int grib_expression_evaluate_long(grib_handle* h, grib_expression* g, long* result);
int grib_expression_evaluate_double(grib_handle* h, grib_expression* g, double* result);
@@ -1316,7 +885,6 @@ const char* grib_expression_get_name(grib_expression* g);
void grib_expression_print(grib_context* ctx, grib_expression* g, grib_handle* f);
void grib_expression_free(grib_context* ctx, grib_expression* g);
void grib_expression_add_dependency(grib_expression* e, grib_accessor* observer);
-int grib_expression_set_value(grib_handle* h, grib_expression* g, grib_values* v);
grib_arguments* grib_arguments_new(grib_context* c, grib_expression* g, grib_arguments* n);
void grib_arguments_free(grib_context* c, grib_arguments* g);
void grib_arguments_print(grib_context* c, grib_arguments* g, grib_handle* f);
@@ -1327,7 +895,7 @@ double grib_arguments_get_double(grib_handle* h, grib_arguments* args, int n);
grib_expression* grib_arguments_get_expression(grib_handle* h, grib_arguments* args, int n);
int grib_arguments_get_count(grib_arguments* args);
-/* codes_util.cc*/
+/* codes_util.cc */
double normalise_longitude_in_degrees(double lon);
char get_dir_separator_char(void);
int path_is_regular_file(const char* path);
@@ -1336,9 +904,10 @@ char* codes_getenv(const char* name);
int codes_check_grib_ieee_packing_value(int value);
int codes_flush_sync_close_file(FILE* f);
int is_date_valid(long year, long month, long day, long hour, long minute, double second);
+int is_time_valid(long number); // number is HHMM
int compute_scaled_value_and_scale_factor(double input, int64_t scaled_value_max, int64_t scale_factor_max, int64_t* ret_value, int64_t* ret_factor);
-/* grib_util.cc*/
+/* grib_util.cc */
grib_handle* grib_util_sections_copy(grib_handle* hfrom, grib_handle* hto, int what, int* err);
grib_string_list* grib_util_get_param_id(const char* mars_param);
grib_string_list* grib_util_get_mars_param(const char* param_id);
@@ -1352,12 +921,12 @@ int grib2_is_PDTN_Aerosol(long productDefinitionTemplateNumber);
int grib2_is_PDTN_AerosolOptical(long productDefinitionTemplateNumber);
int grib2_select_PDTN(int is_eps, int is_instant, int is_chemical, int is_chemical_srcsink, int is_chemical_distfn, int is_aerosol, int is_aerosol_optical);
size_t sum_of_pl_array(const long* pl, size_t plsize);
-int grib_is_earth_oblate(grib_handle* h);
+int grib_is_earth_oblate(const grib_handle* h);
int grib_check_data_values_minmax(grib_handle* h, const double min_val, const double max_val);
-int grib_producing_large_constant_fields(grib_handle* h, int edition);
+int grib_producing_large_constant_fields(const grib_handle* h, int edition);
int grib_util_grib_data_quality_check(grib_handle* h, double min_val, double max_val);
-/* bufr_util.cc*/
+/* bufr_util.cc */
int compute_bufr_key_rank(grib_handle* h, grib_string_list* keys, const char* key);
char** codes_bufr_copy_data_return_copied_keys(grib_handle* hin, grib_handle* hout, size_t* nkeys, int* err);
int codes_bufr_copy_data(grib_handle* hin, grib_handle* hout);
@@ -1367,7 +936,7 @@ int codes_bufr_key_is_header(const grib_handle* h, const char* key, int* err);
int codes_bufr_key_is_coordinate(const grib_handle* h, const char* key, int* err);
int codes_bufr_key_exclude_from_dump(const char* key);
-/* string_util.cc*/
+/* string_util.cc */
int strcmp_nocase(const char* s1, const char* s2);
void string_rtrim(char* s);
void string_lrtrim(char** x, int do_left, int do_right);
@@ -1381,13 +950,11 @@ const char* grib_get_type_name(int type);
char* string_replace_char(char* str, char oldc, char newc);
void string_remove_char(char* str, char c);
-/* functions.cc*/
+/* functions.cc */
long grib_op_eq(long a, long b);
long grib_op_ne(long a, long b);
long grib_op_lt(long a, long b);
long grib_op_gt(long a, long b);
-long grib_op_and(long a, long b);
-long grib_op_or(long a, long b);
long grib_op_ge(long a, long b);
long grib_op_le(long a, long b);
long grib_op_bit(long a, long b);
@@ -1412,20 +979,18 @@ double grib_op_gt_d(double a, double b);
double grib_op_ge_d(double a, double b);
double grib_op_le_d(double a, double b);
-/* codes_memfs.cc*/
+/* codes_memfs.cc */
FILE* codes_fopen(const char* name, const char* mode);
int codes_access(const char* name, int mode);
-/* grib_accessor_class_data_g2bifourier_packing.cc*/
-
-/* grib_optimize_decimal_factor.cc*/
+/* grib_optimize_decimal_factor.cc */
int grib_optimize_decimal_factor(grib_accessor* a, const char* reference_value, const double pmax, const double pmin, const int knbit, const int compat_gribex, const int compat_32bit, long* kdec, long* kbin, double* ref);
-/* grib_api_version.cc*/
+/* grib_api_version.cc */
const char* grib_get_git_sha1(void);
const char* codes_get_build_date(void);
-/* grib_bits_any_endian.cc*/
+/* grib_bits_any_endian.cc */
int grib_is_all_bits_one(int64_t val, long nbits);
int grib_encode_string(unsigned char* bitStream, long* bitOffset, size_t numberOfCharacters, const char* string);
char* grib_decode_string(const unsigned char* bitStream, long* bitOffset, size_t numberOfCharacters, char* string);
@@ -1436,7 +1001,7 @@ int grib_encode_unsigned_longb(unsigned char* p, unsigned long val, long* bitp,
int grib_encode_size_tb(unsigned char* p, size_t val, long* bitp, long nb);
-/* grib_bits_any_endian_simple.cc*/
+/* grib_bits_any_endian_simple.cc */
int grib_decode_long_array(const unsigned char* p, long* bitp, long bitsPerValue, size_t n_vals, long* val);
//int grib_decode_double_array(const unsigned char* p, long* bitp, long bitsPerValue, double reference_value, double s, double d, size_t n_vals, double* val);
//int grib_decode_float_array(const unsigned char* p, long* bitp, long bitsPerValue, double reference_value, double s, double d, size_t n_vals, float* val);
diff --git a/src/expression.class b/src/expression.class
index 9c11d39db..64c9a2e70 100644
--- a/src/expression.class
+++ b/src/expression.class
@@ -1,20 +1,14 @@
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void init(grib_expression* e);
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void init(grib_expression* e);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_NAME{
grib_expression base;
@@ -28,7 +22,6 @@ static grib_expression_class _grib_expression_class_NAME = {
"NAME", /* name */
sizeof(grib_expression_NAME),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
&init, /* constructor */
&destroy, /* destructor */
&print,
@@ -44,8 +37,3 @@ grib_expression_class* grib_expression_class_NAME = &_grib_expression_class_NAME
ADD_TO_FILE grib_expression_class.h extern grib_expression_class* grib_expression_class_NAME;
ADD_TO_FILE grib_expression_factory.h { "NAME", &grib_expression_class_NAME, },
-
-static void init_class(grib_expression_class* c)
-{
-INIT
-}
diff --git a/src/functions.cc b/src/functions.cc
index 9680d07bd..6c6bba770 100644
--- a/src/functions.cc
+++ b/src/functions.cc
@@ -27,14 +27,14 @@ long grib_op_gt(long a, long b)
{
return a > b;
}
-long grib_op_and(long a, long b)
-{
- return a && b;
-}
-long grib_op_or(long a, long b)
-{
- return a || b;
-}
+// long grib_op_and(long a, long b)
+// {
+// return a && b;
+// }
+// long grib_op_or(long a, long b)
+// {
+// return a || b;
+// }
long grib_op_ge(long a, long b)
{
return a >= b;
@@ -43,7 +43,6 @@ long grib_op_le(long a, long b)
{
return a <= b;
}
-
long grib_op_bit(long a, long b)
{
return a & (1 << b);
@@ -52,7 +51,6 @@ long grib_op_bitoff(long a, long b)
{
return !grib_op_bit(a, b);
}
-
long grib_op_not(long a)
{
return !a;
@@ -61,15 +59,14 @@ long grib_op_neg(long a)
{
return -a;
}
-
double grib_op_neg_d(double a)
{
return -a;
}
+// Note: This is actually 'a' to the power 'b'
long grib_op_pow(long a, long b)
{
- /* Note: This is actually 'a' to the power 'b' */
return codes_power(b, a);
}
@@ -93,7 +90,6 @@ long grib_op_modulo(long a, long b)
{
return a % b;
}
-
double grib_op_mul_d(double a, double b)
{
return a * b;
@@ -102,7 +98,6 @@ double grib_op_div_d(double a, double b)
{
return a / b;
}
-
double grib_op_add_d(double a, double b)
{
return a + b;
@@ -111,7 +106,6 @@ double grib_op_sub_d(double a, double b)
{
return a - b;
}
-
double grib_op_eq_d(double a, double b)
{
return a == b;
diff --git a/src/grib_accessor.cc b/src/grib_accessor.cc
index 58cf51c0e..a08f5348e 100644
--- a/src/grib_accessor.cc
+++ b/src/grib_accessor.cc
@@ -10,13 +10,12 @@
/***************************************************************************
* Jean Baptiste Filippi - 01.11.2005
- * Enrico Fucile
***************************************************************************/
#include "grib_accessor.h"
-/* Note: A fast cut-down version of strcmp which does NOT return -1 */
-/* 0 means input strings are equal and 1 means not equal */
+// Note: A fast cut-down version of strcmp which does NOT return -1
+// 0 means input strings are equal and 1 means not equal
GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
{
if (*a != *b)
@@ -44,7 +43,7 @@ void grib_accessor_dump(grib_accessor* a, grib_dumper* f)
int grib_pack_missing(grib_accessor* a)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->pack_missing) {
return c->pack_missing(a);
@@ -55,24 +54,24 @@ int grib_pack_missing(grib_accessor* a)
return 0;
}
-int grib_pack_zero(grib_accessor* a)
-{
- grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
- while (c) {
- if (c->clear) {
- return c->clear(a);
- }
- c = c->super ? *(c->super) : NULL;
- }
- DEBUG_ASSERT(0);
- return 0;
-}
+// int grib_pack_zero(grib_accessor* a)
+// {
+// grib_accessor_class* c = a->cclass;
+// while (c) {
+// if (c->clear) {
+// return c->clear(a);
+// }
+// c = c->super ? *(c->super) : NULL;
+// }
+// DEBUG_ASSERT(0);
+// return 0;
+// }
int grib_is_missing_internal(grib_accessor* a)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ // grib_context_log(a->context, GRIB_LOG_DEBUG,
+ // "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->is_missing) {
return c->is_missing(a);
@@ -86,7 +85,7 @@ int grib_is_missing_internal(grib_accessor* a)
int grib_pack_double(grib_accessor* a, const double* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->pack_double) {
return c->pack_double(a, v, len);
@@ -113,7 +112,7 @@ int grib_pack_float(grib_accessor* a, const float* v, size_t* len)
int grib_pack_expression(grib_accessor* a, grib_expression* e)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->pack_expression) {
return c->pack_expression(a, e);
@@ -127,7 +126,7 @@ int grib_pack_expression(grib_accessor* a, grib_expression* e)
int grib_pack_string(grib_accessor* a, const char* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (string) %s",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?v:"(null)");*/
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (string) %s",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?v:"(null)");
while (c) {
if (c->pack_string) {
return c->pack_string(a, v, len);
@@ -141,7 +140,7 @@ int grib_pack_string(grib_accessor* a, const char* v, size_t* len)
int grib_pack_string_array(grib_accessor* a, const char** v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (string) %s",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?v:"(null)");*/
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (string) %s",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?v:"(null)");
while (c) {
if (c->pack_string_array) {
return c->pack_string_array(a, v, len);
@@ -155,7 +154,7 @@ int grib_pack_string_array(grib_accessor* a, const char** v, size_t* len)
int grib_pack_long(grib_accessor* a, const long* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->pack_long) {
return c->pack_long(a, v, len);
@@ -169,7 +168,7 @@ int grib_pack_long(grib_accessor* a, const long* v, size_t* len)
int grib_pack_bytes(grib_accessor* a, const unsigned char* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (bytes) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (bytes) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->pack_bytes) {
return c->pack_bytes(a, v, len);
@@ -183,7 +182,7 @@ int grib_pack_bytes(grib_accessor* a, const unsigned char* v, size_t* len)
int grib_unpack_bytes(grib_accessor* a, unsigned char* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (bytes)",(a->parent->owner)?(a->parent->owner->name):"root", a->name ); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (bytes)",(a->parent->owner)?(a->parent->owner->name):"root", a->name);
while (c) {
if (c->unpack_bytes) {
return c->unpack_bytes(a, v, len);
@@ -210,7 +209,7 @@ int grib_unpack_double_subarray(grib_accessor* a, double* v, size_t start, size_
int grib_unpack_double(grib_accessor* a, double* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (double)",(a->parent->owner)?(a->parent->owner->name):"root", a->name ); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (double)",(a->parent->owner)?(a->parent->owner->name):"root", a->name);
while (c) {
if (c->unpack_double) {
return c->unpack_double(a, v, len);
@@ -225,7 +224,7 @@ int grib_unpack_float(grib_accessor* a, float* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
while (c) {
- /* printf("grib_accessor.c grib_unpack_float:: c->name=%s\n",c->name); */
+ //printf("grib_accessor.c grib_unpack_float:: c->name=%s\n",c->name);
if (c->unpack_float) {
return c->unpack_float(a, v, len);
}
@@ -260,20 +259,19 @@ int grib_unpack_double_element(grib_accessor* a, size_t i, double* v)
}
int grib_unpack_float_element(grib_accessor* a, size_t i, float* v)
{
- /* grib_accessor_class* c = a->cclass;
- * while (c) {
- * if (c->unpack_float_element) {
- * return c->unpack_float_element(a, i, v);
- * }
- * c = c->super ? *(c->super) : NULL;
- * }
- */
+ // grib_accessor_class* c = a->cclass;
+ // while (c) {
+ // if (c->unpack_float_element) {
+ // return c->unpack_float_element(a, i, v);
+ // }
+ // c = c->super ? *(c->super) : NULL;
+ //}
+
return GRIB_NOT_IMPLEMENTED;
}
-/* Get the values for the indices passed in.
- * The length of the 'index_array' argument should be 'len' and 'val_array' should also contain at least 'len' elements
- */
+// Get the values for the indices passed in.
+// The length of the 'index_array' argument should be 'len' and 'val_array' should also contain at least 'len' elements
int grib_unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array)
{
grib_accessor_class* c = a->cclass;
@@ -288,23 +286,22 @@ int grib_unpack_double_element_set(grib_accessor* a, const size_t* index_array,
}
int grib_unpack_float_element_set(grib_accessor* a, const size_t* index_array, size_t len, float* val_array)
{
- /*
- *grib_accessor_class* c = a->cclass;
- *DEBUG_ASSERT(len > 0);
- *while (c) {
- * if (c->unpack_float_element_set) {
- * return c->unpack_float_element_set(a, index_array, len, val_array);
- * }
- * c = c->super ? *(c->super) : NULL;
- *}
- */
+ // grib_accessor_class* c = a->cclass;
+ // DEBUG_ASSERT(len > 0);
+ // while (c) {
+ // if (c->unpack_float_element_set) {
+ // return c->unpack_float_element_set(a, index_array, len, val_array);
+ // }
+ // c = c->super ? *(c->super) : NULL;
+ // }
+
return GRIB_NOT_IMPLEMENTED;
}
int grib_unpack_string(grib_accessor* a, char* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /* grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (string)",(a->parent->owner)?(a->parent->owner->name):"root", a->name ); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (string)",(a->parent->owner)?(a->parent->owner->name):"root", a->name );
while (c) {
if (c->unpack_string) {
return c->unpack_string(a, v, len);
@@ -399,7 +396,7 @@ int grib_accessors_list_unpack_string(grib_accessors_list* al, char** val, size_
int grib_unpack_long(grib_accessor* a, long* v, size_t* len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (long)",(a->parent->owner)?(a->parent->owner->name):"root", a->name ); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is unpacking (long)",(a->parent->owner)?(a->parent->owner->name):"root", a->name );
while (c) {
if (c->unpack_long) {
return c->unpack_long(a, v, len);
@@ -428,7 +425,8 @@ long grib_accessor_get_native_type(grib_accessor* a)
long grib_get_next_position_offset(grib_accessor* a)
{
grib_accessor_class* c = NULL;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is checking next (long)",(a->parent->owner)?(a->parent->owner->name):"root", a->name ); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG,
+ // "(%s)%s is checking next (long)",(a->parent->owner)?(a->parent->owner->name):"root", a->name );
if (a)
c = a->cclass;
@@ -528,13 +526,12 @@ int grib_accessor_notify_change(grib_accessor* a, grib_accessor* changed)
c = c->super ? *(c->super) : NULL;
}
if (a && a->cclass)
- printf("notify_change not implemented for %s %s\n", a->cclass->name, a->name);
+ fprintf(stderr, "Error: notify_change not implemented for %s %s\n", a->cclass->name, a->name);
DEBUG_ASSERT(0);
return 0;
}
-/* For this one, ALL init are called */
-
+// For this one, ALL init are called
static void init_accessor(grib_accessor_class* c, grib_accessor* a, const long len, grib_arguments* args)
{
if (c) {
@@ -550,27 +547,26 @@ void grib_init_accessor(grib_accessor* a, const long len, grib_arguments* args)
init_accessor(a->cclass, a, len, args);
}
-/* For this one, ALL destroy are called */
-
+// For this one, ALL destroy are called
void grib_accessor_delete(grib_context* ct, grib_accessor* a)
{
grib_accessor_class* c = a->cclass;
while (c) {
grib_accessor_class* s = c->super ? *(c->super) : NULL;
- /*printf("grib_accessor_delete: before destroy a=%p c->name=%s ==> a->name=%s\n", (void*)a, c->name, a->name);*/
+ //printf("grib_accessor_delete: before destroy a=%p c->name=%s ==> a->name=%s\n", (void*)a, c->name, a->name);
if (c->destroy) {
c->destroy(ct, a);
}
c = s;
}
- /*printf("grib_accessor_delete before free a=%p\n", (void*)a);*/
+ // printf("grib_accessor_delete before free a=%p\n", (void*)a);
grib_context_free(ct, a);
}
grib_accessor* grib_accessor_clone(grib_accessor* a, grib_section* s, int* err)
{
grib_accessor_class* c = a->cclass;
- grib_context* ct = a->context;
+ const grib_context* ct = a->context;
while (c) {
grib_accessor_class* super = c->super ? *(c->super) : NULL;
grib_context_log(ct, GRIB_LOG_DEBUG, "clone %s ==> %s", c->name, a->name);
@@ -585,7 +581,8 @@ grib_accessor* grib_accessor_clone(grib_accessor* a, grib_section* s, int* err)
void grib_update_size(grib_accessor* a, size_t len)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG,
+ // "(%s)%s is packing (double) %g",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->update_size) {
c->update_size(a, len);
@@ -613,7 +610,8 @@ int grib_nearest_smaller_value(grib_accessor* a, double val, double* nearest)
size_t grib_preferred_size(grib_accessor* a, int from_handle)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ // grib_context_log(a->context, GRIB_LOG_DEBUG,
+ // "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->preferred_size) {
return c->preferred_size(a, from_handle);
@@ -640,7 +638,8 @@ grib_accessor* grib_next_accessor(grib_accessor* a)
void grib_resize(grib_accessor* a, size_t new_size)
{
grib_accessor_class* c = a->cclass;
- /*grib_context_log(a->context, GRIB_LOG_DEBUG, "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0); */
+ //grib_context_log(a->context, GRIB_LOG_DEBUG,
+ // "(%s)%s is packing (long) %d",(a->parent->owner)?(a->parent->owner->name):"root", a->name ,v?(*v):0);
while (c) {
if (c->resize) {
c->resize(a, new_size);
@@ -703,7 +702,7 @@ int grib_accessor_add_attribute(grib_accessor* a, grib_accessor* attr, int nest_
grib_accessor* aloc = a;
if (grib_accessor_has_attributes(a)) {
- same = ecc__grib_accessor_get_attribute(a, attr->name, &id);
+ same = grib_accessor_get_attribute_index(a, attr->name, &id);
}
if (same) {
@@ -714,11 +713,11 @@ int grib_accessor_add_attribute(grib_accessor* a, grib_accessor* attr, int nest_
for (id = 0; id < MAX_ACCESSOR_ATTRIBUTES; id++) {
if (aloc->attributes[id] == NULL) {
- /* attr->parent=a->parent; */
+ // attr->parent=a->parent;
aloc->attributes[id] = attr;
attr->parent_as_attribute = aloc;
if (aloc->same)
- attr->same = ecc__grib_accessor_get_attribute(aloc->same, attr->name, &idx);
+ attr->same = grib_accessor_get_attribute_index(aloc->same, attr->name, &idx);
grib_context_log(a->context, GRIB_LOG_DEBUG, "added attribute %s->%s", a->name, attr->name);
return GRIB_SUCCESS;
@@ -727,50 +726,49 @@ int grib_accessor_add_attribute(grib_accessor* a, grib_accessor* attr, int nest_
return GRIB_TOO_MANY_ATTRIBUTES;
}
-int grib_accessor_replace_attribute(grib_accessor* a, grib_accessor* attr)
-{
- int id = 0;
- int idx = 0;
- if (ecc__grib_accessor_get_attribute(a, attr->name, &id) != NULL) {
- grib_accessor_delete(a->context, a->attributes[id]);
- a->attributes[id] = attr;
- attr->parent_as_attribute = a;
- if (a->same)
- attr->same = ecc__grib_accessor_get_attribute(a->same, attr->name, &idx);
- }
- else {
- grib_accessor_add_attribute(a, attr, 0);
- }
- return GRIB_SUCCESS;
-}
+// int grib_accessor_replace_attribute(grib_accessor* a, grib_accessor* attr)
+// {
+// int id = 0;
+// int idx = 0;
+// if (grib_accessor_get_attribute_index(a, attr->name, &id) != NULL) {
+// grib_accessor_delete(a->context, a->attributes[id]);
+// a->attributes[id] = attr;
+// attr->parent_as_attribute = a;
+// if (a->same)
+// attr->same = grib_accessor_get_attribute_index(a->same, attr->name, &idx);
+// }
+// else {
+// grib_accessor_add_attribute(a, attr, 0);
+// }
+// return GRIB_SUCCESS;
+// }
-int grib_accessor_delete_attribute(grib_accessor* a, const char* name)
-{
- int id = 0;
- if (ecc__grib_accessor_get_attribute(a, name, &id) != NULL) {
- grib_accessor_delete(a->context, a->attributes[id]);
- a->attributes[id] = NULL;
- return GRIB_SUCCESS;
- }
- else {
- return GRIB_NOT_FOUND;
- }
-}
+// int grib_accessor_delete_attribute(grib_accessor* a, const char* name)
+// {
+// int id = 0;
+// if (grib_accessor_get_attribute_index(a, name, &id) != NULL) {
+// grib_accessor_delete(a->context, a->attributes[id]);
+// a->attributes[id] = NULL;
+// return GRIB_SUCCESS;
+// }
+// else {
+// return GRIB_NOT_FOUND;
+// }
+// }
-grib_accessor* grib_accessor_get_attribute_by_index(grib_accessor* a, int index)
-{
- if (index < MAX_ACCESSOR_ATTRIBUTES)
- return a->attributes[index];
+// grib_accessor* grib_accessor_get_attribute_by_index(grib_accessor* a, int index)
+// {
+// if (index < MAX_ACCESSOR_ATTRIBUTES)
+// return a->attributes[index];
+// return NULL;
+// }
- return NULL;
-}
+// const char* grib_accessor_get_name(grib_accessor* a)
+// {
+// return a->name;
+// }
-const char* grib_accessor_get_name(grib_accessor* a)
-{
- return a->name;
-}
-
-grib_accessor* ecc__grib_accessor_get_attribute(grib_accessor* a, const char* name, int* index)
+grib_accessor* grib_accessor_get_attribute_index(grib_accessor* a, const char* name, int* index)
{
int i = 0;
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
@@ -799,14 +797,14 @@ grib_accessor* grib_accessor_get_attribute(grib_accessor* a, const char* name)
while (*(p + 1) != '\0' && (*p != '-' || *(p + 1) != '>'))
p++;
if (*(p + 1) == '\0') {
- return ecc__grib_accessor_get_attribute(a, name, &index);
+ return grib_accessor_get_attribute_index(a, name, &index);
}
else {
size_t size = p - name;
attribute_name = p + 2;
basename = (char*)grib_context_malloc_clear(a->context, size + 1);
basename = (char*)memcpy(basename, name, size);
- acc = ecc__grib_accessor_get_attribute(a, basename, &index);
+ acc = grib_accessor_get_attribute_index(a, basename, &index);
grib_context_free(a->context, basename);
if (acc)
return grib_accessor_get_attribute(acc, attribute_name);
@@ -823,7 +821,7 @@ grib_accessors_list* grib_accessors_list_create(grib_context* c)
void grib_accessors_list_push(grib_accessors_list* al, grib_accessor* a, int rank)
{
grib_accessors_list* last;
- grib_context* c = a->context;
+ const grib_context* c = a->context;
last = grib_accessors_list_last(al);
if (last && last->accessor) {
@@ -842,32 +840,27 @@ void grib_accessors_list_push(grib_accessors_list* al, grib_accessor* a, int ran
grib_accessors_list* grib_accessors_list_last(grib_accessors_list* al)
{
- /*grib_accessors_list* last=al;*/
- /*grib_accessors_list* next=al->next;*/
-
- /*
- while(next) {
- last=next;
- next=last->next;
- }
- */
+ // grib_accessors_list* last=al;
+ // grib_accessors_list* next=al->next;
+ // while(next) {
+ // last=next;
+ // next=last->next;
+ // }
return al->last;
}
-grib_accessors_list* grib_accessors_list_find(grib_accessors_list* al, const grib_accessor* a)
-{
- grib_accessors_list* last = al;
- grib_accessors_list* next = al->next;
-
- while (next) {
- if (last->accessor == a)
- return last;
- last = next;
- next = last->next;
- }
-
- return NULL;
-}
+// grib_accessors_list* grib_accessors_list_find(grib_accessors_list* al, const grib_accessor* a)
+// {
+// grib_accessors_list* last = al;
+// grib_accessors_list* next = al->next;
+// while (next) {
+// if (last->accessor == a)
+// return last;
+// last = next;
+// next = last->next;
+// }
+// return NULL;
+// }
void grib_accessors_list_delete(grib_context* c, grib_accessors_list* al)
{
@@ -875,7 +868,7 @@ void grib_accessors_list_delete(grib_context* c, grib_accessors_list* al)
while (al) {
tmp = al->next;
- /*grib_accessor_delete(c, al->accessor);*/
+ //grib_accessor_delete(c, al->accessor);
grib_context_free(c, al);
al = tmp;
}
diff --git a/src/grib_accessor_class.cc b/src/grib_accessor_class.cc
index 9de104328..9cdd04b97 100644
--- a/src/grib_accessor_class.cc
+++ b/src/grib_accessor_class.cc
@@ -226,7 +226,7 @@ static void link_same_attributes(grib_accessor* a, grib_accessor* b)
if (!grib_accessor_has_attributes(b))
return;
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
- bAttribute = ecc__grib_accessor_get_attribute(b, a->attributes[i]->name, &idx);
+ bAttribute = grib_accessor_get_attribute_index(b, a->attributes[i]->name, &idx);
if (bAttribute)
a->attributes[i]->same = bAttribute;
i++;
diff --git a/src/grib_accessor_class.h b/src/grib_accessor_class.h
index 8352a8d27..0c569decd 100644
--- a/src/grib_accessor_class.h
+++ b/src/grib_accessor_class.h
@@ -131,6 +131,7 @@ extern grib_accessor_class* grib_accessor_class_mars_step;
extern grib_accessor_class* grib_accessor_class_md5;
extern grib_accessor_class* grib_accessor_class_message;
extern grib_accessor_class* grib_accessor_class_message_copy;
+extern grib_accessor_class* grib_accessor_class_multdouble;
extern grib_accessor_class* grib_accessor_class_nearest;
extern grib_accessor_class* grib_accessor_class_non_alpha;
extern grib_accessor_class* grib_accessor_class_number_of_coded_values;
diff --git a/src/grib_accessor_class_ascii.cc b/src/grib_accessor_class_ascii.cc
index 9d88fa9f9..b0c90182e 100644
--- a/src/grib_accessor_class_ascii.cc
+++ b/src/grib_accessor_class_ascii.cc
@@ -147,19 +147,19 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
grib_handle* hand = grib_handle_of_accessor(a);
const size_t alen = a->length;
- if (len[0] < (alen + 1)) {
+ if (*len < (alen + 1)) {
const char* cclass_name = a->cclass->name;
grib_context_log(a->context, GRIB_LOG_ERROR,
"%s: Buffer too small for %s. It is %zu bytes long (len=%zu)",
cclass_name, a->name, alen+1, *len);
- len[0] = alen + 1;
+ *len = alen + 1;
return GRIB_BUFFER_TOO_SMALL;
}
for (i = 0; i < alen; i++)
val[i] = hand->buffer->data[a->offset + i];
val[i] = 0;
- len[0] = i;
+ *len = i;
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_bit.cc b/src/grib_accessor_class_bit.cc
index 17c1d3c8c..ab81eecda 100644
--- a/src/grib_accessor_class_bit.cc
+++ b/src/grib_accessor_class_bit.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS = const char* owner
MEMBERS = int bit_index
END_CLASS_DEF
@@ -36,7 +36,6 @@ or edit "accessor.class" and rerun ./make_class.pl
static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_bit
@@ -60,7 +59,7 @@ static grib_accessor_class _grib_accessor_class_bit = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -107,26 +106,20 @@ grib_accessor_class* grib_accessor_class_bit = &_grib_accessor_class_bit;
static void init(grib_accessor* a, const long len, grib_arguments* arg)
{
grib_accessor_bit* self = (grib_accessor_bit*)a;
- a->length = 0;
- self->owner = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 0);
- self->bit_index = grib_arguments_get_long(grib_handle_of_accessor(a), arg, 1);
-}
-
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
+ a->length = 0;
+ self->owner = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 0);
+ self->bit_index = grib_arguments_get_long(grib_handle_of_accessor(a), arg, 1);
}
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_bit* self = (grib_accessor_bit*)a;
- int ret = 0;
-
+ int ret = 0;
long data = 0;
if (*len < 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit : unpack_long : Wrong size for %s it contains %d values ", a->name, 1);
- *len = 0;
+ grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit: unpack_long: Wrong size for %s, it contains %d values ", a->name, 1);
+ *len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
@@ -147,23 +140,22 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
grib_accessor_bit* self = (grib_accessor_bit*)a;
- grib_accessor* owner = NULL;
- unsigned char* mdata = 0;
+
if (*len < 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit : pack_long : At least one value to pack for %s", a->name);
- *len = 0;
+ grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit: pack_long: At least one value to pack for %s", a->name);
+ *len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
- owner = grib_find_accessor(grib_handle_of_accessor(a), self->owner);
-
+ grib_accessor* owner = grib_find_accessor(grib_handle_of_accessor(a), self->owner);
if (!owner) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit : Cannot get the owner %s for computing the bit value of %s ", self->owner, a->name);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_bit: Cannot get the owner %s for computing the bit value of %s",
+ self->owner, a->name);
*len = 0;
return GRIB_NOT_FOUND;
}
- mdata = grib_handle_of_accessor(a)->buffer->data;
+ unsigned char* mdata = grib_handle_of_accessor(a)->buffer->data;
mdata += grib_byte_offset(owner);
/* Note: In the definitions, flagbit numbers go from 7 to 0 (the bit_index), while WMO convention is from 1 to 8 */
diff --git a/src/grib_accessor_class_bitmap.cc b/src/grib_accessor_class_bitmap.cc
index b3c371a35..b86b34332 100644
--- a/src/grib_accessor_class_bitmap.cc
+++ b/src/grib_accessor_class_bitmap.cc
@@ -161,8 +161,8 @@ static void compute_size(grib_accessor* a)
static void init(grib_accessor* a, const long len, grib_arguments* arg)
{
grib_accessor_bitmap* self = (grib_accessor_bitmap*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
- int n = 0;
+ grib_handle* hand = grib_handle_of_accessor(a);
+ int n = 0;
self->tableReference = grib_arguments_get_name(hand, arg, n++);
self->missing_value = grib_arguments_get_name(hand, arg, n++);
@@ -190,23 +190,21 @@ static void dump(grib_accessor* a, grib_dumper* dumper)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- long pos = a->offset * 8;
- long tlen = 0;
- long i = 0;
- int err = 0;
+ long pos = a->offset * 8;
+ long tlen = 0;
const grib_handle* hand = grib_handle_of_accessor(a);
- err = grib_value_count(a, &tlen);
+ int err = grib_value_count(a, &tlen);
if (err)
return err;
if (*len < tlen) {
grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains %ld values", a->name, tlen);
- *len = 0;
+ *len = tlen;
return GRIB_ARRAY_TOO_SMALL;
}
- for (i = 0; i < tlen; i++) {
+ for (long i = 0; i < tlen; i++) {
val[i] = (long)grib_decode_unsigned_long(hand->buffer->data, &pos, 1);
}
*len = tlen;
@@ -219,21 +217,19 @@ static int unpack(grib_accessor* a, T* val, size_t* len)
static_assert(std::is_floating_point::value, "Requires floating points numbers");
long pos = a->offset * 8;
long tlen;
- long i;
- int err = 0;
grib_handle* hand = grib_handle_of_accessor(a);
- err = grib_value_count(a, &tlen);
+ int err = grib_value_count(a, &tlen);
if (err)
return err;
if (*len < tlen) {
grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains %ld values", a->name, tlen);
- *len = 0;
+ *len = tlen;
return GRIB_ARRAY_TOO_SMALL;
}
- for (i = 0; i < tlen; i++) {
+ for (long i = 0; i < tlen; i++) {
val[i] = (T)grib_decode_unsigned_long(hand->buffer->data, &pos, 1);
}
*len = tlen;
@@ -261,8 +257,7 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
}
static int unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array)
{
- size_t i = 0;
- for (i=0; ilength;
@@ -293,11 +287,11 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
return GRIB_BUFFER_TOO_SMALL;
}
- for (i = 0; i < a->length; i++) {
+ for (long i = 0; i < a->length; i++) {
val[i] = hand->buffer->data[a->offset + i];
}
- len[0] = a->length;
+ *len = a->length;
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_bufr_data_array.cc b/src/grib_accessor_class_bufr_data_array.cc
index c1bff6ea6..3d044835a 100644
--- a/src/grib_accessor_class_bufr_data_array.cc
+++ b/src/grib_accessor_class_bufr_data_array.cc
@@ -1523,10 +1523,10 @@ static int build_bitmap(grib_accessor_bufr_data_array* self, unsigned char* data
int bitmapSize = 0, iDelayedReplication = 0;
int i, localReference, width, bitmapEndElementsDescriptorsIndex;
long ppos, n;
- grib_accessor* a = (grib_accessor*)self;
- grib_context* c = a->context;
+ grib_accessor* a = (grib_accessor*)self;
+ const grib_context* c = a->context;
bufr_descriptor** descriptors = self->expanded->v;
- long* edi = elementsDescriptorsIndex->v;
+ const long* edi = elementsDescriptorsIndex->v;
/* int iel=grib_iarray_used_size(elementsDescriptorsIndex)-1; */
int err = 0;
@@ -1652,10 +1652,10 @@ static int build_bitmap_new_data(grib_accessor_bufr_data_array* self, unsigned c
int bitmapSize = 0, iDelayedReplication = 0;
int i, bitmapEndElementsDescriptorsIndex;
long n;
- grib_accessor* a = (grib_accessor*)self;
- grib_context* c = a->context;
+ grib_accessor* a = (grib_accessor*)self;
+ const grib_context* c = a->context;
bufr_descriptor** descriptors = self->expanded->v;
- long* edi = elementsDescriptorsIndex->v;
+ const long* edi = elementsDescriptorsIndex->v;
switch (descriptors[iBitmapOperator]->code) {
case 222000:
diff --git a/src/grib_accessor_class_bufr_data_element.cc b/src/grib_accessor_class_bufr_data_element.cc
index 1e98e17d9..3301eb10f 100644
--- a/src/grib_accessor_class_bufr_data_element.cc
+++ b/src/grib_accessor_class_bufr_data_element.cc
@@ -191,61 +191,61 @@ static grib_accessor* make_clone(grib_accessor* a, grib_section* s, int* err)
void accessor_bufr_data_element_set_index(grib_accessor* a, long index)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->index = index;
+ self->index = index;
}
void accessor_bufr_data_element_set_type(grib_accessor* a, int type)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->type = type;
+ self->type = type;
}
void accessor_bufr_data_element_set_numberOfSubsets(grib_accessor* a, long numberOfSubsets)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->numberOfSubsets = numberOfSubsets;
+ self->numberOfSubsets = numberOfSubsets;
}
void accessor_bufr_data_element_set_subsetNumber(grib_accessor* a, long subsetNumber)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->subsetNumber = subsetNumber;
+ self->subsetNumber = subsetNumber;
}
void accessor_bufr_data_element_set_compressedData(grib_accessor* a, int compressedData)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->compressedData = compressedData;
+ self->compressedData = compressedData;
}
void accessor_bufr_data_element_set_descriptors(grib_accessor* a, bufr_descriptors_array* descriptors)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->descriptors = descriptors;
+ self->descriptors = descriptors;
}
void accessor_bufr_data_element_set_numericValues(grib_accessor* a, grib_vdarray* numericValues)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->numericValues = numericValues;
+ self->numericValues = numericValues;
}
void accessor_bufr_data_element_set_stringValues(grib_accessor* a, grib_vsarray* stringValues)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->stringValues = stringValues;
+ self->stringValues = stringValues;
}
void accessor_bufr_data_element_set_elementsDescriptorsIndex(grib_accessor* a, grib_viarray* elementsDescriptorsIndex)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- self->elementsDescriptorsIndex = elementsDescriptorsIndex;
+ self->elementsDescriptorsIndex = elementsDescriptorsIndex;
}
static void init(grib_accessor* a, const long len, grib_arguments* params)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- a->length = 0;
+ a->length = 0;
a->flags |= GRIB_ACCESSOR_FLAG_BUFR_DATA;
/* a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; */
self->cname = NULL;
@@ -272,8 +272,8 @@ static int unpack_string_array(grib_accessor* a, char** val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = 0, i, idx;
- long count = 0;
+ int ret = 0, idx = 0;
+ size_t count = 0, i = 0;
grib_context* c = a->context;
if (self->compressedData) {
@@ -289,7 +289,7 @@ static int unpack_string_array(grib_accessor* a, char** val, size_t* len)
else {
DEBUG_ASSERT(self->subsetNumber < self->numericValues->n);
DEBUG_ASSERT(self->index < self->numericValues->v[self->subsetNumber]->n);
- idx = (int)self->numericValues->v[self->subsetNumber]->v[self->index] / 1000 - 1;
+ idx = (int)self->numericValues->v[self->subsetNumber]->v[self->index] / 1000 - 1;
val[0] = grib_context_strdup(c, self->stringValues->v[idx]->v[0]);
*len = 1;
}
@@ -308,7 +308,7 @@ static int pack_string_array(grib_accessor* a, const char** v, size_t* len)
if (self->compressedData) {
idx = ((int)self->numericValues->v[self->index]->v[0] / 1000 - 1) / self->numberOfSubsets;
- if (*len != 1 && *len != self->numberOfSubsets) {
+ if (*len != 1 && *len != (size_t)self->numberOfSubsets) {
grib_context_log(c, GRIB_LOG_ERROR, "Number of values mismatch for '%s': %ld strings provided but expected %ld (=number of subsets)",
self->descriptors->v[self->elementsDescriptorsIndex->v[0]->v[idx]]->shortName, *len, self->numberOfSubsets);
return GRIB_ARRAY_TOO_SMALL;
@@ -323,7 +323,7 @@ static int pack_string_array(grib_accessor* a, const char** v, size_t* len)
}
else {
//ECC-1623
- if (*len != self->numberOfSubsets) {
+ if (*len != (size_t)self->numberOfSubsets) {
grib_context_log(c, GRIB_LOG_ERROR,
"Number of values mismatch for '%s': %zu strings provided but expected %ld (=number of subsets)",
a->name, *len, self->numberOfSubsets);
@@ -343,8 +343,8 @@ static int pack_string_array(grib_accessor* a, const char** v, size_t* len)
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- char* str = NULL;
- char* p = 0;
+ char* str = NULL;
+ char* p = 0;
size_t slen = 0;
double dval = 0;
size_t dlen = 1;
@@ -413,8 +413,8 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = GRIB_SUCCESS, idx = 0;
- char* s = NULL;
+ int ret = GRIB_SUCCESS, idx = 0;
+ char* s = NULL;
grib_context* c = a->context;
if (self->compressedData) {
@@ -426,7 +426,7 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
grib_sarray_delete_content(c, self->stringValues->v[idx]); /* ECC-1172 */
grib_sarray_delete(c, self->stringValues->v[idx]);
self->stringValues->v[idx] = grib_sarray_new(c, 1, 1);
- s = grib_context_strdup(c, val);
+ s = grib_context_strdup(c, val);
grib_sarray_push(c, self->stringValues->v[idx], s);
return ret;
@@ -435,7 +435,7 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = GRIB_SUCCESS;
+ int ret = GRIB_SUCCESS;
long count = 0, i = 0;
value_count(a, &count);
@@ -494,12 +494,12 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
int ret = GRIB_SUCCESS;
- long count = 1, i = 0;
+ size_t count = 1, i = 0;
grib_context* c = a->context;
if (self->compressedData) {
count = *len;
- if (count != 1 && count != self->numberOfSubsets) {
+ if (count != 1 && count != (size_t)self->numberOfSubsets) {
grib_context_log(c, GRIB_LOG_ERROR, "Number of values mismatch for '%s': %ld doubles provided but expected %ld (=number of subsets)",
self->descriptors->v[self->elementsDescriptorsIndex->v[0]->v[self->index]]->shortName, count, self->numberOfSubsets);
return GRIB_ARRAY_TOO_SMALL;
@@ -514,7 +514,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
}
else {
self->numericValues->v[self->subsetNumber]->v[self->index] = val[0];
- *len = 1;
+ *len = 1;
}
return ret;
@@ -523,14 +523,14 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = 0, i;
- long count = 1;
- grib_context* c = a->context;
+ int ret = 0;
+ size_t count = 1, i = 0;
+ grib_context* c = a->context;
if (self->compressedData) {
count = *len;
- if (count != 1 && count != self->numberOfSubsets) {
- grib_context_log(c, GRIB_LOG_ERROR, "Number of values mismatch for '%s': %ld integers provided but expected %ld (=number of subsets)",
+ if (count != 1 && count != (size_t)self->numberOfSubsets) {
+ grib_context_log(c, GRIB_LOG_ERROR, "Number of values mismatch for '%s': %zu integers provided but expected %ld (=number of subsets)",
self->descriptors->v[self->elementsDescriptorsIndex->v[0]->v[self->index]]->shortName, count, self->numberOfSubsets);
return GRIB_ARRAY_TOO_SMALL;
}
@@ -544,7 +544,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
}
else {
self->numericValues->v[self->subsetNumber]->v[self->index] = val[0] == GRIB_MISSING_LONG ? GRIB_MISSING_DOUBLE : val[0];
- *len = 1;
+ *len = 1;
}
return ret;
@@ -552,7 +552,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
static int value_count(grib_accessor* a, long* count)
{
- int ret = 0, type = 0, idx = 0;
+ int ret = 0, type = 0, idx = 0;
size_t size = 0;
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
@@ -581,8 +581,8 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
{
/* ECC-415 */
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = GRIB_SUCCESS;
- long count = 0;
+ int ret = GRIB_SUCCESS;
+ long count = 0;
value_count(a, &count);
if (idx >= (size_t)count) {
@@ -601,7 +601,7 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
static int get_native_type(grib_accessor* a)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int ret = GRIB_TYPE_DOUBLE;
+ int ret = GRIB_TYPE_DOUBLE;
DEBUG_ASSERT(self);
switch (self->type) {
case BUFR_DESCRIPTOR_TYPE_STRING:
@@ -627,7 +627,7 @@ static int get_native_type(grib_accessor* a)
static void destroy(grib_context* ct, grib_accessor* a)
{
grib_accessor_bufr_data_element* self = (grib_accessor_bufr_data_element*)a;
- int i = 0;
+ int i = 0;
if (self->cname)
grib_context_free(ct, self->cname); /* ECC-765 */
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
@@ -650,14 +650,14 @@ static int is_missing(grib_accessor* a)
grib_context* c = a->context;
if (ktype == GRIB_TYPE_LONG) {
- long* values = NULL;
- long value = 0;
+ long* values = NULL;
+ long value = 0;
value_count(a, &count);
size = size2 = count;
if (size > 1) {
values = (long*)grib_context_malloc_clear(c, sizeof(long) * size);
- err = grib_unpack_long(a, values, &size2);
+ err = grib_unpack_long(a, values, &size2);
}
else {
err = grib_unpack_long(a, &value, &size2);
@@ -677,14 +677,14 @@ static int is_missing(grib_accessor* a)
}
}
else if (ktype == GRIB_TYPE_DOUBLE) {
- double value = 0;
- double* values = NULL;
+ double value = 0;
+ double* values = NULL;
value_count(a, &count);
size = size2 = count;
if (size > 1) {
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
- err = grib_unpack_double(a, values, &size2);
+ err = grib_unpack_double(a, values, &size2);
}
else {
err = grib_unpack_double(a, &value, &size2);
@@ -705,7 +705,7 @@ static int is_missing(grib_accessor* a)
}
}
else if (ktype == GRIB_TYPE_STRING) {
- char** values = NULL;
+ char** values = NULL;
value_count(a, &count);
size = count;
if (size > 1) {
diff --git a/src/grib_accessor_class_bufr_elements_table.cc b/src/grib_accessor_class_bufr_elements_table.cc
index cee7049aa..4858ff63d 100644
--- a/src/grib_accessor_class_bufr_elements_table.cc
+++ b/src/grib_accessor_class_bufr_elements_table.cc
@@ -379,8 +379,7 @@ bufr_descriptor* accessor_bufr_elements_table_get_descriptor(grib_accessor* a, i
DEBUG_ASSERT(c);
v = (bufr_descriptor*)grib_context_malloc_clear(c, sizeof(bufr_descriptor));
if (!v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "accessor_bufr_elements_table_get_descriptor: unable to allocate %ld bytes\n", sizeof(bufr_descriptor));
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(bufr_descriptor));
*err = GRIB_OUT_OF_MEMORY;
return NULL;
}
diff --git a/src/grib_accessor_class_bufr_extract_subsets.cc b/src/grib_accessor_class_bufr_extract_subsets.cc
index 599d1d7b4..567ceb61a 100644
--- a/src/grib_accessor_class_bufr_extract_subsets.cc
+++ b/src/grib_accessor_class_bufr_extract_subsets.cc
@@ -108,7 +108,7 @@ grib_accessor_class* grib_accessor_class_bufr_extract_subsets = &_grib_accessor_
static void get_accessors(grib_accessor* a)
{
grib_accessor_bufr_extract_subsets* self = (grib_accessor_bufr_extract_subsets*)a;
- grib_handle* h = grib_handle_of_accessor(a);
+ const grib_handle* h = grib_handle_of_accessor(a);
if (self->packAccessor)
return;
@@ -118,7 +118,7 @@ static void get_accessors(grib_accessor* a)
static void init(grib_accessor* a, const long len, grib_arguments* arg)
{
- int n = 0;
+ int n = 0;
grib_accessor_bufr_extract_subsets* self = (grib_accessor_bufr_extract_subsets*)a;
a->length = 0;
@@ -134,15 +134,14 @@ static int get_native_type(grib_accessor* a)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int err = 0;
grib_accessor_bufr_extract_subsets* self = (grib_accessor_bufr_extract_subsets*)a;
- size_t l = 1;
+ size_t l = 1;
long v[1];
get_accessors(a);
v[0] = 1;
- err = grib_pack_long(self->packAccessor, v, &l);
+ int err = grib_pack_long(self->packAccessor, v, &l);
if (err) {
if (err == GRIB_ENCODING_ERROR)
grib_context_log(a->context, GRIB_LOG_ERROR, "Could not extract subset(s).\n\tHint: Did you forget to set unpack=1?");
diff --git a/src/grib_accessor_class_bufr_simple_thinning.cc b/src/grib_accessor_class_bufr_simple_thinning.cc
index b457d0e9e..cd0181fe4 100644
--- a/src/grib_accessor_class_bufr_simple_thinning.cc
+++ b/src/grib_accessor_class_bufr_simple_thinning.cc
@@ -133,18 +133,17 @@ static int get_native_type(grib_accessor* a)
static int apply_thinning(grib_accessor* a)
{
- grib_accessor_bufr_simple_thinning* self = (grib_accessor_bufr_simple_thinning*)a;
- int ret = 0;
+ const grib_accessor_bufr_simple_thinning* self = (grib_accessor_bufr_simple_thinning*)a;
+
long skip;
grib_handle* h = grib_handle_of_accessor(a);
grib_context* c = h->context;
long compressed = 0, nsubsets;
- long i;
grib_iarray* subsets;
long* subsets_ar = 0;
long start = 0, radius = 0;
- ret = grib_get_long(h, "compressedData", &compressed);
+ int ret = grib_get_long(h, "compressedData", &compressed);
if (ret)
return ret;
if (compressed) {
@@ -168,7 +167,7 @@ static int apply_thinning(grib_accessor* a)
return ret;
subsets = grib_iarray_new(c, numberOfSubsets / skip + 1, 10);
- for (i = 0; i < numberOfSubsets; i += skip + 1) {
+ for (long i = 0; i < numberOfSubsets; i += skip + 1) {
grib_iarray_push(subsets, i + 1);
}
@@ -200,12 +199,11 @@ static int apply_thinning(grib_accessor* a)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int err = 0;
- grib_accessor_bufr_simple_thinning* self = (grib_accessor_bufr_simple_thinning*)a;
+ const grib_accessor_bufr_simple_thinning* self = (grib_accessor_bufr_simple_thinning*)a;
if (*len == 0)
return GRIB_SUCCESS;
- err = apply_thinning(a);
+ int err = apply_thinning(a);
if (err)
return err;
diff --git a/src/grib_accessor_class_bufrdc_expanded_descriptors.cc b/src/grib_accessor_class_bufrdc_expanded_descriptors.cc
index 8476f4708..929e21724 100644
--- a/src/grib_accessor_class_bufrdc_expanded_descriptors.cc
+++ b/src/grib_accessor_class_bufrdc_expanded_descriptors.cc
@@ -24,7 +24,7 @@ CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long
IMPLEMENTS = unpack_string_array
-IMPLEMENTS = init;dump;destroy
+IMPLEMENTS = init;destroy
IMPLEMENTS = value_count
MEMBERS = const char* expandedDescriptors
MEMBERS = grib_accessor* expandedDescriptorsAccessor
@@ -47,7 +47,6 @@ static int unpack_long(grib_accessor*, long* val, size_t* len);
static int unpack_string_array(grib_accessor*, char**, size_t* len);
static int value_count(grib_accessor*, long*);
static void destroy(grib_context*, grib_accessor*);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_bufrdc_expanded_descriptors
@@ -71,7 +70,7 @@ static grib_accessor_class _grib_accessor_class_bufrdc_expanded_descriptors = {
&init, /* init */
0, /* post_init */
&destroy, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -125,11 +124,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static grib_accessor* get_accessor(grib_accessor* a)
{
grib_accessor_bufrdc_expanded_descriptors* self = (grib_accessor_bufrdc_expanded_descriptors*)a;
diff --git a/src/grib_accessor_class_change_alternative_row_scanning.cc b/src/grib_accessor_class_change_alternative_row_scanning.cc
index 394bb8409..d8eef0eb4 100644
--- a/src/grib_accessor_class_change_alternative_row_scanning.cc
+++ b/src/grib_accessor_class_change_alternative_row_scanning.cc
@@ -125,7 +125,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
int err = 0;
grib_accessor_change_alternative_row_scanning* self = (grib_accessor_change_alternative_row_scanning*)a;
- grib_context* c = a->context;
+ const grib_context* c = a->context;
grib_handle* h = grib_handle_of_accessor(a);
long i, j, jr, theEnd, Ni, Nj, k, kp, alternativeRowScanning;
size_t size = 0;
diff --git a/src/grib_accessor_class_change_scanning_direction.cc b/src/grib_accessor_class_change_scanning_direction.cc
index 88fbc35fb..f951c9083 100644
--- a/src/grib_accessor_class_change_scanning_direction.cc
+++ b/src/grib_accessor_class_change_scanning_direction.cc
@@ -146,7 +146,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
size_t size = 0;
double* values = NULL;
grib_accessor_change_scanning_direction* self = (grib_accessor_change_scanning_direction*)a;
- grib_context* c = a->context;
+ const grib_context* c = a->context;
grib_handle* h = grib_handle_of_accessor(a);
const char* cclass_name = a->cclass->name;
diff --git a/src/grib_accessor_class_closest_date.cc b/src/grib_accessor_class_closest_date.cc
index b4729822f..08ba9f333 100644
--- a/src/grib_accessor_class_closest_date.cc
+++ b/src/grib_accessor_class_closest_date.cc
@@ -159,6 +159,8 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
/* Sets val to the 'index' of the closes date */
static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
+ const grib_accessor_closest_date* self = (grib_accessor_closest_date*)a;
+
int err = 0;
long num_forecasts = 0; /* numberOfForecastsUsedInLocalTime */
/* These relate to the date and time in Section 1 */
@@ -171,9 +173,8 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
/* These relate to the forecast dates and times in Section 4 */
long *yearArray, *monthArray, *dayArray, *hourArray, *minuteArray, *secondArray;
- grib_accessor_closest_date* self = (grib_accessor_closest_date*)a;
grib_handle* h = grib_handle_of_accessor(a);
- grib_context* c = a->context;
+ const grib_context* c = a->context;
*val = -1; /* initialise to an invalid index */
if ((err = grib_get_long_internal(h, self->numForecasts, &num_forecasts)) != GRIB_SUCCESS) return err;
diff --git a/src/grib_accessor_class_codeflag.cc b/src/grib_accessor_class_codeflag.cc
index 77789389d..ab86a64b1 100644
--- a/src/grib_accessor_class_codeflag.cc
+++ b/src/grib_accessor_class_codeflag.cc
@@ -110,8 +110,8 @@ grib_accessor_class* grib_accessor_class_codeflag = &_grib_accessor_class_codefl
static void init(grib_accessor* a, const long len, grib_arguments* param)
{
grib_accessor_codeflag* self = (grib_accessor_codeflag*)a;
- a->length = len;
- self->tablename = grib_arguments_get_string(grib_handle_of_accessor(a), param, 0);
+ a->length = len;
+ self->tablename = grib_arguments_get_string(grib_handle_of_accessor(a), param, 0);
Assert(a->length >= 0);
}
@@ -123,8 +123,8 @@ static int test_bit(long a, long b)
static int grib_get_codeflag(grib_accessor* a, long code, char* codename)
{
- grib_accessor_codeflag* self = (grib_accessor_codeflag*)a;
- FILE* f = NULL;
+ const grib_accessor_codeflag* self = (grib_accessor_codeflag*)a;
+ FILE* f = NULL;
char fname[1024];
char bval[50];
char num[50];
@@ -200,10 +200,10 @@ static int value_count(grib_accessor* a, long* count)
static void dump(grib_accessor* a, grib_dumper* dumper)
{
- grib_accessor_codeflag* self = (grib_accessor_codeflag*)a;
- long v;
- char flagname[1024];
- char fname[1024];
+ const grib_accessor_codeflag* self = (grib_accessor_codeflag*)a;
+ long v = 0;
+ char flagname[1024] = {0,};
+ char fname[1024] = {0,};
size_t llen = 1;
diff --git a/src/grib_accessor_class_codetable.cc b/src/grib_accessor_class_codetable.cc
index 0d97efdfb..9e39ed633 100644
--- a/src/grib_accessor_class_codetable.cc
+++ b/src/grib_accessor_class_codetable.cc
@@ -908,9 +908,9 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
}
if (*len < rlen) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size (%lu) for %s, it contains %ld values",
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size (%zu) for %s, it contains %ld values",
*len, a->name, rlen);
- *len = 0;
+ *len = rlen;
return GRIB_ARRAY_TOO_SMALL;
}
diff --git a/src/grib_accessor_class_concept.cc b/src/grib_accessor_class_concept.cc
index c409a6f92..6fa4122f8 100644
--- a/src/grib_accessor_class_concept.cc
+++ b/src/grib_accessor_class_concept.cc
@@ -290,7 +290,6 @@ static int concept_conditions_expression_apply(grib_handle* h, grib_concept_cond
break;
default:
return GRIB_NOT_IMPLEMENTED;
- break;
}
(*n)++;
return err;
diff --git a/src/grib_accessor_class_data_apply_boustrophedonic.cc b/src/grib_accessor_class_data_apply_boustrophedonic.cc
index 1f10885e0..e01917384 100644
--- a/src/grib_accessor_class_data_apply_boustrophedonic.cc
+++ b/src/grib_accessor_class_data_apply_boustrophedonic.cc
@@ -119,7 +119,7 @@ grib_accessor_class* grib_accessor_class_data_apply_boustrophedonic = &_grib_acc
static void init(grib_accessor* a, const long v, grib_arguments* args)
{
- int n = 0;
+ int n = 0;
grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a;
self->values = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++);
@@ -138,10 +138,10 @@ static void dump(grib_accessor* a, grib_dumper* dumper)
static int value_count(grib_accessor* a, long* numberOfPoints)
{
grib_accessor_data_apply_boustrophedonic* self = (grib_accessor_data_apply_boustrophedonic*)a;
- int ret = 0;
+ int ret = 0;
*numberOfPoints = 0;
- ret = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfPoints, numberOfPoints);
+ ret = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfPoints, numberOfPoints);
return ret;
}
@@ -150,12 +150,13 @@ template
static int unpack(grib_accessor* a, T* 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;
- T* pval = 0;
- size_t valuesSize = 0;
+
+ size_t plSize = 0;
+ long* pl = 0;
+ double* values = 0;
+ double* pvalues = 0;
+ T* pval = 0;
+ size_t valuesSize = 0;
long i, j;
int ret;
long numberOfPoints, numberOfRows, numberOfColumns;
@@ -306,12 +307,13 @@ static int unpack_double_element_set(grib_accessor* a, const size_t* index_array
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;
+
+ 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;
diff --git a/src/grib_accessor_class_data_ccsds_packing.cc b/src/grib_accessor_class_data_ccsds_packing.cc
index 28e961e86..ccfd48c03 100644
--- a/src/grib_accessor_class_data_ccsds_packing.cc
+++ b/src/grib_accessor_class_data_ccsds_packing.cc
@@ -650,7 +650,7 @@ static int unpack_float(grib_accessor* a, float* val, size_t* len)
static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
{
// The index idx relates to codedValues NOT values!
- grib_accessor_data_ccsds_packing* self = (grib_accessor_data_ccsds_packing*)a;
+ const grib_accessor_data_ccsds_packing* self = (grib_accessor_data_ccsds_packing*)a;
grib_handle* hand = grib_handle_of_accessor(a);
int err = 0;
size_t size = 0;
@@ -686,7 +686,7 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
static int unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array)
{
- grib_accessor_data_ccsds_packing* self = (grib_accessor_data_ccsds_packing*)a;
+ const grib_accessor_data_ccsds_packing* self = (grib_accessor_data_ccsds_packing*)a;
grib_handle* hand = grib_handle_of_accessor(a);
size_t size = 0, i = 0;
double* values = NULL;
diff --git a/src/grib_accessor_class_data_g1simple_packing.cc b/src/grib_accessor_class_data_g1simple_packing.cc
index e9f4aefdc..cc810e4ae 100644
--- a/src/grib_accessor_class_data_g1simple_packing.cc
+++ b/src/grib_accessor_class_data_g1simple_packing.cc
@@ -194,16 +194,22 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
}
if (units_factor != 1.0) {
- if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] = val[i] * units_factor + units_bias;
- else
- for (i = 0; i < n_vals; i++)
+ }
+ }
+ else {
+ for (i = 0; i < n_vals; i++) {
val[i] *= units_factor;
+ }
+ }
}
- else if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ else if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] += units_bias;
+ }
+ }
if (c->ieee_packing && self->ieee_packing) {
long precision = 0; /* Either 1(=32 bits) or 2(=64 bits) */
@@ -239,7 +245,7 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
ret = grib_buffer_replace(a, NULL, 0, 1, 1);
if (ret != GRIB_SUCCESS) return ret;
return GRIB_SUCCESS;
- break;
+
case GRIB_NO_VALUES:
ret = grib_get_long(grib_handle_of_accessor(a), "constantFieldHalfByte", &constantFieldHalfByte);
if (ret)
@@ -256,7 +262,7 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
ret = grib_buffer_replace(a, NULL, 0, 1, 1);
if (ret != GRIB_SUCCESS) return ret;
return GRIB_SUCCESS;
- break;
+
case GRIB_INVALID_BPV:
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to compute packing parameters. Invalid bits per value");
return ret;
diff --git a/src/grib_accessor_class_data_g22order_packing.cc b/src/grib_accessor_class_data_g22order_packing.cc
index f45d9f722..4ed535d29 100644
--- a/src/grib_accessor_class_data_g22order_packing.cc
+++ b/src/grib_accessor_class_data_g22order_packing.cc
@@ -1772,7 +1772,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
unsigned char* sec7 = reinterpret_cast(grib_context_malloc(a->context, size_sec7));
if (sec7 == NULL) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "%s packing: unable to allocate %d bytes", cclass_name, size_sec7);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "%s: Unable to allocate %d bytes", cclass_name, size_sec7);
return GRIB_OUT_OF_MEMORY;
}
diff --git a/src/grib_accessor_class_data_g2simple_packing.cc b/src/grib_accessor_class_data_g2simple_packing.cc
index 69e1bdbc9..56441fc96 100644
--- a/src/grib_accessor_class_data_g2simple_packing.cc
+++ b/src/grib_accessor_class_data_g2simple_packing.cc
@@ -177,16 +177,21 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
}
if (units_factor != 1.0) {
- if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] = val[i] * units_factor + units_bias;
- else
- for (i = 0; i < n_vals; i++)
+ }
+ } else {
+ for (i = 0; i < n_vals; i++) {
val[i] *= units_factor;
+ }
+ }
}
- else if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ else if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] += units_bias;
+ }
+ }
/* IEEE packing */
if (c->ieee_packing) {
diff --git a/src/grib_accessor_class_data_jpeg2000_packing.cc b/src/grib_accessor_class_data_jpeg2000_packing.cc
index 66d6f6767..a1a43b6f7 100644
--- a/src/grib_accessor_class_data_jpeg2000_packing.cc
+++ b/src/grib_accessor_class_data_jpeg2000_packing.cc
@@ -225,7 +225,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
grib_accessor_data_jpeg2000_packing* self = (grib_accessor_data_jpeg2000_packing*)a;
int err = GRIB_SUCCESS;
- int i;
+ size_t i = 0;
size_t buflen = grib_byte_count(a);
double bscale = 0;
@@ -304,16 +304,21 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
val[i] = (val[i] * bscale + reference_value) * dscale;
}
if (units_factor != 1.0) {
- if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] = val[i] * units_factor + units_bias;
- else
- for (i = 0; i < n_vals; i++)
+ }
+ } else {
+ for (i = 0; i < n_vals; i++) {
val[i] *= units_factor;
+ }
+ }
}
- else if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ else if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] += units_bias;
+ }
+ }
return err;
}
@@ -384,7 +389,6 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
grib_buffer_replace(a, NULL, 0, 1, 1);
err = grib_set_long_internal(grib_handle_of_accessor(a), self->number_of_values, *len);
return err;
- break;
case GRIB_SUCCESS:
break;
default:
diff --git a/src/grib_accessor_class_data_raw_packing.cc b/src/grib_accessor_class_data_raw_packing.cc
index 336c73684..27c3d62e3 100644
--- a/src/grib_accessor_class_data_raw_packing.cc
+++ b/src/grib_accessor_class_data_raw_packing.cc
@@ -164,7 +164,6 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
break;
default:
return GRIB_NOT_IMPLEMENTED;
- break;
}
nvals = inlen / bytes;
@@ -218,7 +217,6 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
default:
code = GRIB_NOT_IMPLEMENTED;
goto clean_up;
- break;
}
bufsize = bytes * inlen;
@@ -282,7 +280,6 @@ static int unpack_double_element(grib_accessor* a, size_t idx, double* val)
default:
return GRIB_NOT_IMPLEMENTED;
- break;
}
pos = bytes * idx;
diff --git a/src/grib_accessor_class_data_simple_packing.cc b/src/grib_accessor_class_data_simple_packing.cc
index 0d44acd7f..e78bda53c 100644
--- a/src/grib_accessor_class_data_simple_packing.cc
+++ b/src/grib_accessor_class_data_simple_packing.cc
@@ -406,16 +406,21 @@ static int unpack(grib_accessor* a, T* val, size_t* len)
*len = (long)n_vals;
if (units_factor != 1.0) {
- if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] = val[i] * units_factor + units_bias;
- else
- for (i = 0; i < n_vals; i++)
+ }
+ } else {
+ for (i = 0; i < n_vals; i++) {
val[i] *= units_factor;
+ }
+ }
}
- else if (units_bias != 0.0)
- for (i = 0; i < n_vals; i++)
+ else if (units_bias != 0.0) {
+ for (i = 0; i < n_vals; i++) {
val[i] += units_bias;
+ }
+ }
return err;
}
diff --git a/src/grib_accessor_class_divdouble.cc b/src/grib_accessor_class_divdouble.cc
index e4e5442ef..8ab86e22e 100644
--- a/src/grib_accessor_class_divdouble.cc
+++ b/src/grib_accessor_class_divdouble.cc
@@ -7,11 +7,6 @@
* 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
- ****************************************/
-
#include "grib_api_internal.h"
/*
This is used by make_class.pl
@@ -108,7 +103,7 @@ grib_accessor_class* grib_accessor_class_divdouble = &_grib_accessor_class_divdo
static void init(grib_accessor* a, const long l, grib_arguments* c)
{
grib_accessor_divdouble* self = (grib_accessor_divdouble*)a;
- int n = 0;
+ int n = 0;
self->val = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++);
self->divisor = grib_arguments_get_double(grib_handle_of_accessor(a), c, n++);
@@ -116,22 +111,17 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
- grib_accessor_divdouble* self = (grib_accessor_divdouble*)a;
- int ret = GRIB_SUCCESS;
- double value = 0;
-
- if (*len < 1) {
- *len = 1;
- return GRIB_ARRAY_TOO_SMALL;
- }
+ const grib_accessor_divdouble* self = (grib_accessor_divdouble*)a;
+ int ret = GRIB_SUCCESS;
+ double value = 0;
ret = grib_get_double_internal(grib_handle_of_accessor(a), self->val, &value);
-
if (ret != GRIB_SUCCESS)
return ret;
- /* fprintf(stdout,"\nname %s %s %g/%g\n",a->name ,self->val,value,divisor);*/
- Assert(self->divisor != 0);
+ if (self->divisor == 0) {
+ return GRIB_INVALID_ARGUMENT;
+ }
*val = value / self->divisor;
*len = 1;
diff --git a/src/grib_accessor_class_expanded_descriptors.cc b/src/grib_accessor_class_expanded_descriptors.cc
index 5b7002bf8..11f4ba73b 100644
--- a/src/grib_accessor_class_expanded_descriptors.cc
+++ b/src/grib_accessor_class_expanded_descriptors.cc
@@ -26,7 +26,7 @@ SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
IMPLEMENTS = unpack_double
IMPLEMENTS = unpack_string_array
-IMPLEMENTS = init;dump;destroy
+IMPLEMENTS = init;destroy
IMPLEMENTS = value_count; get_native_type
MEMBERS = const char* unexpandedDescriptors
MEMBERS = const char* sequence
@@ -59,7 +59,6 @@ static int unpack_long(grib_accessor*, long* val, size_t* len);
static int unpack_string_array(grib_accessor*, char**, size_t* len);
static int value_count(grib_accessor*, long*);
static void destroy(grib_context*, grib_accessor*);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_expanded_descriptors
@@ -90,7 +89,7 @@ static grib_accessor_class _grib_accessor_class_expanded_descriptors = {
&init, /* init */
0, /* post_init */
&destroy, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -162,11 +161,11 @@ typedef struct change_coding_params
static void init(grib_accessor* a, const long len, grib_arguments* args)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- int n = 0;
- grib_handle* hand = grib_handle_of_accessor(a);
- self->tablesAccessorName = grib_arguments_get_name(hand, args, n++);
- self->expandedName = grib_arguments_get_name(hand, args, n++);
- self->rank = grib_arguments_get_long(hand, args, n++);
+ int n = 0;
+ grib_handle* hand = grib_handle_of_accessor(a);
+ self->tablesAccessorName = grib_arguments_get_name(hand, args, n++);
+ self->expandedName = grib_arguments_get_name(hand, args, n++);
+ self->rank = grib_arguments_get_long(hand, args, n++);
if (self->rank != 0) {
self->expandedAccessor = grib_find_accessor(hand, self->expandedName);
}
@@ -180,11 +179,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->length = 0;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static bufr_descriptors_array* do_expand(grib_accessor* a, bufr_descriptors_array* unexpanded, change_coding_params* ccp, int* err);
#define BUFR_DESCRIPTORS_ARRAY_USED_SIZE(v) ((v)->n)
@@ -223,7 +217,7 @@ static void __expand(grib_accessor* a, bufr_descriptors_array* unexpanded, bufr_
* Its max size is X (from FXY) which is 6 bits so no need for malloc */
bufr_descriptor* ur[65] = {0,};
bufr_descriptor* urc = NULL;
- int idx;
+ size_t idx = 0;
bufr_descriptor* u0 = NULL;
grib_context* c = a->context;
bufr_descriptor* us = NULL;
@@ -237,7 +231,7 @@ static void __expand(grib_accessor* a, bufr_descriptors_array* unexpanded, bufr_
if (BUFR_DESCRIPTORS_ARRAY_USED_SIZE(unexpanded) == 0)
return;
- us = grib_bufr_descriptor_clone(grib_bufr_descriptors_array_get(unexpanded, 0));
+ us = grib_bufr_descriptor_clone(grib_bufr_descriptors_array_get(unexpanded, 0));
us->context = c;
*err = 0;
@@ -268,7 +262,7 @@ static void __expand(grib_accessor* a, bufr_descriptors_array* unexpanded, bufr_
inner_unexpanded = grib_bufr_descriptors_array_new(c, DESC_SIZE_INIT, DESC_SIZE_INCR);
for (i = 0; i < size; i++) {
- vv = grib_bufr_descriptor_new(self->tablesAccessor, v_array[i], !SILENT, err);
+ vv = grib_bufr_descriptor_new(self->tablesAccessor, v_array[i], !SILENT, err);
inner_unexpanded = grib_bufr_descriptors_array_push(inner_unexpanded, vv);
}
grib_context_free(c, v_array);
@@ -713,27 +707,27 @@ static int expand(grib_accessor* a)
int grib_accessor_class_expanded_descriptors_set_do_expand(grib_accessor* a, long do_expand)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- self->do_expand = do_expand;
+ self->do_expand = do_expand;
return 0;
}
bufr_descriptors_array* grib_accessor_class_expanded_descriptors_get_expanded(grib_accessor* a, int* err)
{
- grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- *err = expand(a);
+ const grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
+ *err = expand(a);
return self->expanded;
}
static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- int ret = 0;
- int i;
+ int ret = 0;
+ size_t i = 0;
size_t expandedSize;
if (self->rank != 2) {
long* lval = (long*)grib_context_malloc_clear(a->context, *len * sizeof(long));
- ret = unpack_long(a, lval, len);
+ ret = unpack_long(a, lval, len);
if (ret)
return ret;
for (i = 0; i < *len; i++)
@@ -762,9 +756,9 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- int ret = 0;
- size_t rlen = 0;
- size_t i;
+ int ret = 0;
+ size_t rlen = 0;
+ size_t i = 0;
ret = expand(a);
if (ret)
@@ -792,7 +786,6 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
break;
case 2:
return GRIB_INVALID_TYPE;
- break;
case 3:
for (i = 0; i < *len; i++)
val[i] = self->expanded->v[i]->width;
@@ -836,15 +829,15 @@ static int unpack_string_array(grib_accessor* a, char** buffer, size_t* len)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- self->do_expand = 1;
+ self->do_expand = 1;
return GRIB_NOT_IMPLEMENTED;
}
static int value_count(grib_accessor* a, long* rlen)
{
grib_accessor_expanded_descriptors* self = (grib_accessor_expanded_descriptors*)a;
- int err = 0;
- *rlen = 0;
+ int err = 0;
+ *rlen = 0;
err = expand(a);
if (err) {
diff --git a/src/grib_accessor_class_g1_half_byte_codeflag.cc b/src/grib_accessor_class_g1_half_byte_codeflag.cc
index c275253e5..c7d9828e0 100644
--- a/src/grib_accessor_class_g1_half_byte_codeflag.cc
+++ b/src/grib_accessor_class_g1_half_byte_codeflag.cc
@@ -115,13 +115,11 @@ static void dump(grib_accessor* a, grib_dumper* dumper)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- unsigned char dat = 0;
if (*len < 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains %d values ", a->name, 1);
- *len = 0;
+ *len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
- dat = grib_handle_of_accessor(a)->buffer->data[a->offset] & 0x0f;
+ unsigned char dat = grib_handle_of_accessor(a)->buffer->data[a->offset] & 0x0f;
*val = dat;
*len = 1;
@@ -130,18 +128,17 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int ret = 0;
if (*len < 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains %d values ", a->name, 1);
- *len = 0;
+ *len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
- /* printf("HALF BYTE pack long %ld %02x\n",*val,grib_handle_of_accessor(a)->buffer->data[a->offset]);*/
+
+ // printf("HALF BYTE pack long %ld %02x\n",*val,grib_handle_of_accessor(a)->buffer->data[a->offset]);
grib_handle_of_accessor(a)->buffer->data[a->offset] = (a->parent->h->buffer->data[a->offset] & 0xf0) | (*val & 0x0f);
- /* printf("HALF BYTE pack long %ld %02x\n",*val,grib_handle_of_accessor(a)->buffer->data[a->offset]);*/
+ // printf("HALF BYTE pack long %ld %02x\n",*val,grib_handle_of_accessor(a)->buffer->data[a->offset]);
*len = 1;
- return ret;
+ return GRIB_SUCCESS;
}
static int get_native_type(grib_accessor* a)
diff --git a/src/grib_accessor_class_g1date.cc b/src/grib_accessor_class_g1date.cc
index 37cd80ad5..c53b3768a 100644
--- a/src/grib_accessor_class_g1date.cc
+++ b/src/grib_accessor_class_g1date.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long;unpack_string
- IMPLEMENTS = init;dump;value_count
+ IMPLEMENTS = init;value_count
MEMBERS=const char* century
MEMBERS=const char* year
MEMBERS=const char* month
@@ -40,7 +40,6 @@ static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
static int unpack_string(grib_accessor*, char*, 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*);
typedef struct grib_accessor_g1date
@@ -66,7 +65,7 @@ static grib_accessor_class _grib_accessor_class_g1date = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -122,21 +121,13 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
self->day = grib_arguments_get_name(hand, c, n++);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- int ret = 0;
grib_accessor_g1date* self = (grib_accessor_g1date*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
+ grib_handle* hand = grib_handle_of_accessor(a);
- long year = 0;
- long century = 0;
- long month = 0;
- long day = 0;
+ int ret = 0;
+ long year = 0, century = 0, month = 0, day = 0;
if ((ret = grib_get_long_internal(hand, self->century, ¢ury)) != GRIB_SUCCESS)
return ret;
@@ -165,25 +156,20 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int ret = 0;
- long v = val[0];
grib_accessor_g1date* self = (grib_accessor_g1date*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
+ grib_handle* hand = grib_handle_of_accessor(a);
- long year = 0;
- long century = 0;
- long month = 0;
- long day = 0;
+ int ret = 0;
+ long v = val[0];
+ long year = 0, century = 0, month = 0, day = 0;
if (*len != 1)
return GRIB_WRONG_ARRAY_SIZE;
- {
- long d = grib_julian_to_date((long)grib_date_to_julian(v));
- if (v != d) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_g1date: pack_long invalid date %ld, changed to %ld", v, d);
- return GRIB_ENCODING_ERROR;
- }
+ long d = grib_julian_to_date(grib_date_to_julian(v));
+ if (v != d) {
+ grib_context_log(a->context, GRIB_LOG_ERROR, "grib_accessor_g1date: pack_long invalid date %ld, changed to %ld", v, d);
+ return GRIB_ENCODING_ERROR;
}
century = v / 1000000;
@@ -228,15 +214,12 @@ static const char* months[] = {
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
- int ret = 0;
- char tmp[1024];
grib_accessor_g1date* self = (grib_accessor_g1date*)a;
grib_handle* hand = grib_handle_of_accessor(a);
- long year = 0;
- long century = 0;
- long month = 0;
- long day = 0;
- size_t l;
+
+ int ret = 0;
+ char tmp[1024];
+ long year = 0, century = 0, month = 0, day = 0;
if ((ret = grib_get_long_internal(hand, self->century, ¢ury)) != GRIB_SUCCESS)
return ret;
@@ -261,7 +244,7 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
snprintf(tmp, sizeof(tmp), "%ld", x);
}
- l = strlen(tmp) + 1;
+ size_t l = strlen(tmp) + 1;
if (*len < l) {
*len = l;
return GRIB_BUFFER_TOO_SMALL;
diff --git a/src/grib_accessor_class_g1monthlydate.cc b/src/grib_accessor_class_g1monthlydate.cc
index 503d0daa4..57c3ea729 100644
--- a/src/grib_accessor_class_g1monthlydate.cc
+++ b/src/grib_accessor_class_g1monthlydate.cc
@@ -22,7 +22,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* date
END_CLASS_DEF
@@ -39,7 +39,6 @@ or edit "accessor.class" and rerun ./make_class.pl
*/
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_g1monthlydate
@@ -62,7 +61,7 @@ static grib_accessor_class _grib_accessor_class_g1monthlydate = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -115,11 +114,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_g1monthlydate* self = (grib_accessor_g1monthlydate*)a;
diff --git a/src/grib_accessor_class_g1verificationdate.cc b/src/grib_accessor_class_g1verificationdate.cc
index a3272acc2..03c871617 100644
--- a/src/grib_accessor_class_g1verificationdate.cc
+++ b/src/grib_accessor_class_g1verificationdate.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* date
MEMBERS=const char* time
MEMBERS=const char* step
@@ -36,7 +36,6 @@ or edit "accessor.class" and rerun ./make_class.pl
*/
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_g1verificationdate
@@ -61,7 +60,7 @@ static grib_accessor_class _grib_accessor_class_g1verificationdate = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -117,11 +116,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_g1verificationdate* self = (grib_accessor_g1verificationdate*)a;
diff --git a/src/grib_accessor_class_g2_mars_labeling.cc b/src/grib_accessor_class_g2_mars_labeling.cc
index f6437c279..ad0647e30 100644
--- a/src/grib_accessor_class_g2_mars_labeling.cc
+++ b/src/grib_accessor_class_g2_mars_labeling.cc
@@ -165,7 +165,6 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
return grib_get_long(grib_handle_of_accessor(a), key, val);
@@ -190,7 +189,6 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
return grib_get_string(grib_handle_of_accessor(a), key, val, len);
@@ -226,7 +224,6 @@ static int extra_set(grib_accessor* a, long val)
case 0:
/* class */
return ret;
- break;
case 1:
/* type */
switch (val) {
@@ -400,7 +397,6 @@ static int extra_set(grib_accessor* a, long val)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
if (productDefinitionTemplateNumberNew >= 0) {
@@ -442,7 +438,6 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
ret = grib_set_string(grib_handle_of_accessor(a), key, val, len);
@@ -476,7 +471,6 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
ret = grib_set_long(grib_handle_of_accessor(a), key, *val);
@@ -513,7 +507,6 @@ static int get_native_type(grib_accessor* a)
grib_context_log(a->context, GRIB_LOG_ERROR,
"invalid first argument of g2_mars_labeling in %s", a->name);
return GRIB_INTERNAL_ERROR;
- break;
}
ret = grib_get_native_type(grib_handle_of_accessor(a), key, &type);
diff --git a/src/grib_accessor_class_g2date.cc b/src/grib_accessor_class_g2date.cc
index 4ed01d99e..698cd4a26 100644
--- a/src/grib_accessor_class_g2date.cc
+++ b/src/grib_accessor_class_g2date.cc
@@ -16,7 +16,7 @@
START_CLASS_DEF
CLASS = accessor
SUPER = grib_accessor_class_long
- IMPLEMENTS = unpack_long;pack_long;init;dump
+ IMPLEMENTS = unpack_long;pack_long;init
MEMBERS=const char* century
MEMBERS=const char* year
MEMBERS=const char* month
@@ -37,7 +37,6 @@ or edit "accessor.class" and rerun ./make_class.pl
static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_g2date
@@ -63,7 +62,7 @@ static grib_accessor_class _grib_accessor_class_g2date = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -116,16 +115,11 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
self->day = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- int ret = 0;
- grib_accessor_g2date* self = (grib_accessor_g2date*)a;
+ const grib_accessor_g2date* self = (grib_accessor_g2date*)a;
+ int ret = 0;
long year = 0;
long month = 0;
long day = 0;
@@ -145,13 +139,12 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
return GRIB_SUCCESS;
}
-/* TODO: Check for a valid date */
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int ret;
- long v = val[0];
- grib_accessor_g2date* self = (grib_accessor_g2date*)a;
+ const grib_accessor_g2date* self = (grib_accessor_g2date*)a;
+ int ret = GRIB_SUCCESS;
+ long v = val[0];
long year = 0;
long month = 0;
long day = 0;
@@ -165,6 +158,12 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
v %= 100;
day = v;
+ if (!is_date_valid(year, month, day, 0, 0, 0)) {
+ // ECC-1777: For now just a warning. Will later change to an error
+ fprintf(stderr, "ECCODES WARNING : %s:%s: Date is not valid! year=%ld month=%ld day=%ld\n",
+ a->cclass->name, __func__, year, month, day);
+ }
+
if ((ret = grib_set_long_internal(grib_handle_of_accessor(a), self->day, day)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_set_long_internal(grib_handle_of_accessor(a), self->month, month)) != GRIB_SUCCESS)
diff --git a/src/grib_accessor_class_g2end_step.cc b/src/grib_accessor_class_g2end_step.cc
index ed47e5133..a86733eb3 100644
--- a/src/grib_accessor_class_g2end_step.cc
+++ b/src/grib_accessor_class_g2end_step.cc
@@ -460,19 +460,17 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
try {
if (numberOfTimeRange == 1) {
ret = unpack_one_time_range_long_(a, val, len);
- return ret;
}
else {
ret = unpack_multiple_time_ranges_long_(a, val, len);
- return ret;
}
}
catch (std::exception& e) {
grib_context_log(h->context, GRIB_LOG_ERROR, "grib_accessor_g2end_step::unpack_long: %s", e.what());
- return GRIB_DECODING_ERROR;
+ ret = GRIB_DECODING_ERROR;
}
- return GRIB_SUCCESS;
+ return ret;
}
static int unpack_double(grib_accessor* a, double* val, size_t* len)
@@ -500,19 +498,17 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
try {
if (numberOfTimeRange == 1) {
ret = unpack_one_time_range_double_(a, val, len);
- return ret;
}
else {
ret = unpack_multiple_time_ranges_double_(a, val, len);
- return ret;
}
}
catch (std::exception& e) {
grib_context_log(h->context, GRIB_LOG_ERROR, "grib_accessor_g2end_step::unpack_double: %s", e.what());
- return GRIB_DECODING_ERROR;
+ ret = GRIB_DECODING_ERROR;
}
- return GRIB_SUCCESS;
+ return ret;
}
static int pack_long_(grib_accessor* a, const long end_step_value, const long end_step_unit)
diff --git a/src/grib_accessor_class_g2level.cc b/src/grib_accessor_class_g2level.cc
index e1d8aaa38..39bd79033 100644
--- a/src/grib_accessor_class_g2level.cc
+++ b/src/grib_accessor_class_g2level.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_double;pack_double
- IMPLEMENTS = unpack_long;pack_long;init;dump;is_missing
+ IMPLEMENTS = unpack_long;pack_long;init;is_missing
MEMBERS=const char* type_first
MEMBERS=const char* scale_first
MEMBERS=const char* value_first
@@ -41,7 +41,6 @@ static int pack_double(grib_accessor*, const double* val, size_t* len);
static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_double(grib_accessor*, double* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_g2level
@@ -67,7 +66,7 @@ static grib_accessor_class _grib_accessor_class_g2level = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -126,11 +125,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
a->flags |= GRIB_ACCESSOR_FLAG_COPY_IF_CHANGING_EDITION;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static bool is_tigge(grib_handle* h)
{
long productionStatus = 0;
diff --git a/src/grib_accessor_class_gen.cc b/src/grib_accessor_class_gen.cc
index d74babf19..b611f5043 100644
--- a/src/grib_accessor_class_gen.cc
+++ b/src/grib_accessor_class_gen.cc
@@ -385,7 +385,7 @@ static int unpack_string_array(grib_accessor* a, char** v, size_t* len)
{
size_t length = 0;
- int err = ecc__grib_get_string_length(a, &length);
+ int err = grib_get_string_length_acc(a, &length);
if (err)
return err;
v[0] = (char*)grib_context_malloc_clear(a->context, length);
@@ -455,16 +455,14 @@ static int pack_long(grib_accessor* a, const long* v, size_t* len)
{
grib_context* c = a->context;
if (a->cclass->pack_double && a->cclass->pack_double != &pack_double) {
- int i = 0, ret = 0;
double* val = (double*)grib_context_malloc(c, *len * (sizeof(double)));
if (!val) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "Unable to allocate %zu bytes", *len * (sizeof(double)));
+ grib_context_log(c, GRIB_LOG_ERROR, "Unable to allocate %zu bytes", *len * (sizeof(double)));
return GRIB_OUT_OF_MEMORY;
}
- for (i = 0; i < *len; i++)
- val[i] = (long)v[i];
- ret = grib_pack_double(a, val, len);
+ for (size_t i = 0; i < *len; i++)
+ val[i] = v[i];
+ int ret = grib_pack_double(a, val, len);
grib_context_free(c, val);
return ret;
}
@@ -479,14 +477,13 @@ static int pack_double_array_as_long(grib_accessor* a, const double* v, size_t*
{
grib_context* c = a->context;
int ret = GRIB_SUCCESS;
- size_t i = 0;
size_t numBytes = *len * (sizeof(long));
long* lValues = (long*)grib_context_malloc(c, numBytes);
if (!lValues) {
grib_context_log(c, GRIB_LOG_ERROR, "Unable to allocate %ld bytes", numBytes);
return GRIB_OUT_OF_MEMORY;
}
- for (i = 0; i < *len; i++)
+ for (size_t i = 0; i < *len; i++)
lValues[i] = (long)v[i]; /* convert from double to long */
ret = grib_pack_long(a, lValues, len);
grib_context_free(c, lValues);
diff --git a/src/grib_accessor_class_group.cc b/src/grib_accessor_class_group.cc
index a64362968..df2118bff 100644
--- a/src/grib_accessor_class_group.cc
+++ b/src/grib_accessor_class_group.cc
@@ -238,42 +238,32 @@ static int unpack_double(grib_accessor* a, double* v, size_t* len)
static int compare(grib_accessor* a, grib_accessor* b)
{
- int retval = 0;
- char* aval = 0;
- char* bval = 0;
- int err = 0;
+ grib_context_log(a->context, GRIB_LOG_ERROR, "%s:%s not implemented", __func__, a->name);
+ return GRIB_NOT_IMPLEMENTED;
- size_t alen = 0;
- size_t blen = 0;
- long count = 0;
-
- err = grib_value_count(a, &count);
- if (err)
- return err;
- alen = count;
-
- err = grib_value_count(b, &count);
- if (err)
- return err;
- blen = count;
-
- if (alen != blen)
- return GRIB_COUNT_MISMATCH;
-
- aval = (char*)grib_context_malloc(a->context, alen * sizeof(char));
- bval = (char*)grib_context_malloc(b->context, blen * sizeof(char));
-
- grib_unpack_string(a, aval, &alen);
- grib_unpack_string(b, bval, &blen);
-
- retval = GRIB_SUCCESS;
- if (strcmp(aval, bval))
- retval = GRIB_STRING_VALUE_MISMATCH;
-
- grib_context_free(a->context, aval);
- grib_context_free(b->context, bval);
-
- return retval;
+ // int retval = 0;
+ // char* aval = 0;
+ // char* bval = 0;
+ // int err = 0;
+ // size_t alen = 0;
+ // size_t blen = 0;
+ // long count = 0;
+ // err = grib_value_count(a, &count);
+ // if (err) return err;
+ // alen = count;
+ // err = grib_value_count(b, &count);
+ // if (err) return err;
+ // blen = count;
+ // if (alen != blen) return GRIB_COUNT_MISMATCH;
+ // aval = (char*)grib_context_malloc(a->context, alen * sizeof(char));
+ // bval = (char*)grib_context_malloc(b->context, blen * sizeof(char));
+ // grib_unpack_string(a, aval, &alen);
+ // grib_unpack_string(b, bval, &blen);
+ // retval = GRIB_SUCCESS;
+ // if (strcmp(aval, bval)) retval = GRIB_STRING_VALUE_MISMATCH;
+ // grib_context_free(a->context, aval);
+ // grib_context_free(b->context, bval);
+ // return retval;
}
static long next_offset(grib_accessor* a)
diff --git a/src/grib_accessor_class_latitudes.cc b/src/grib_accessor_class_latitudes.cc
index 4131ff066..555fb5b19 100644
--- a/src/grib_accessor_class_latitudes.cc
+++ b/src/grib_accessor_class_latitudes.cc
@@ -221,6 +221,13 @@ static int value_count(grib_accessor* a, long* len)
}
*len = size;
+ // See ECC-1792
+ // Give priority to the Grid Section (rather than the Data Section)
+ long numberOfDataPoints = 0;
+ if (grib_get_long(h, "numberOfDataPoints", &numberOfDataPoints) == GRIB_SUCCESS) {
+ *len = numberOfDataPoints;
+ }
+
if (self->distinct) {
ret = get_distinct(a, &val, len);
if (ret != GRIB_SUCCESS)
diff --git a/src/grib_accessor_class_long.cc b/src/grib_accessor_class_long.cc
index aeccdac78..5eb10fec5 100644
--- a/src/grib_accessor_class_long.cc
+++ b/src/grib_accessor_class_long.cc
@@ -116,18 +116,15 @@ static void dump(grib_accessor* a, grib_dumper* dumper)
static int unpack_string(grib_accessor* a, char* v, size_t* len)
{
- int err = 0;
long val = 0;
size_t l = 1;
char repres[1024];
char format[32] = "%ld";
grib_handle* h = grib_handle_of_accessor(a);
- err = grib_unpack_long(a, &val, &l);
+ grib_unpack_long(a, &val, &l);
/* TODO: We should catch all errors but in this case the test ERA_Gen.sh will fail
* as the output from grib_ls will be different */
- /* if (err) return err; */
- (void)err;
if ((val == GRIB_MISSING_LONG) && ((a->flags & GRIB_ACCESSOR_FLAG_CAN_BE_MISSING) != 0)) {
snprintf(repres, sizeof(repres), "MISSING");
diff --git a/src/grib_accessor_class_longitudes.cc b/src/grib_accessor_class_longitudes.cc
index 083d40138..78fc7a733 100644
--- a/src/grib_accessor_class_longitudes.cc
+++ b/src/grib_accessor_class_longitudes.cc
@@ -196,6 +196,13 @@ static int value_count(grib_accessor* a, long* len)
}
*len = size;
+ // See ECC-1792
+ // Give priority to the Grid Section (rather than the Data Section)
+ long numberOfDataPoints = 0;
+ if (grib_get_long(h, "numberOfDataPoints", &numberOfDataPoints) == GRIB_SUCCESS) {
+ *len = numberOfDataPoints;
+ }
+
if (self->distinct) {
ret = get_distinct(a, &val, len);
if (ret != GRIB_SUCCESS)
diff --git a/src/grib_accessor_class_md5.cc b/src/grib_accessor_class_md5.cc
index dfb08a7fb..6a57c1329 100644
--- a/src/grib_accessor_class_md5.cc
+++ b/src/grib_accessor_class_md5.cc
@@ -183,7 +183,7 @@ static int unpack_string(grib_accessor* a, char* v, size_t* len)
if (*len < 32) {
const char* cclass_name = a->cclass->name;
grib_context_log(a->context, GRIB_LOG_ERROR,
- "%s: Buffer too small for %s. It is %zu bytes long (len=%zu)",
+ "%s: Buffer too small for %s. It is %d bytes long (len=%zu)",
cclass_name, a->name, 32, *len);
*len = 32;
return GRIB_BUFFER_TOO_SMALL;
diff --git a/src/grib_accessor_class_message.cc b/src/grib_accessor_class_message.cc
index 8dd580d3e..6c5587b22 100644
--- a/src/grib_accessor_class_message.cc
+++ b/src/grib_accessor_class_message.cc
@@ -142,7 +142,7 @@ static int value_count(grib_accessor* a, long* count)
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
long i = 0;
- size_t l = a->length + 1;
+ size_t l = string_length(a) + 1;
grib_handle* h = grib_handle_of_accessor(a);
if (*len < l) {
diff --git a/src/grib_accessor_class_multdouble.cc b/src/grib_accessor_class_multdouble.cc
new file mode 100644
index 000000000..ac5771627
--- /dev/null
+++ b/src/grib_accessor_class_multdouble.cc
@@ -0,0 +1,127 @@
+/*
+ * (C) Copyright 2005- 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_double
+ IMPLEMENTS = unpack_double
+ IMPLEMENTS = init
+ MEMBERS = const char* val
+ MEMBERS = double multiplier
+ 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 unpack_double(grib_accessor*, double* val, size_t* len);
+static void init(grib_accessor*, const long, grib_arguments*);
+
+typedef struct grib_accessor_multdouble
+{
+ grib_accessor att;
+ /* Members defined in gen */
+ /* Members defined in double */
+ /* Members defined in multdouble */
+ const char* val;
+ double multiplier;
+} grib_accessor_multdouble;
+
+extern grib_accessor_class* grib_accessor_class_double;
+
+static grib_accessor_class _grib_accessor_class_multdouble = {
+ &grib_accessor_class_double, /* super */
+ "multdouble", /* name */
+ sizeof(grib_accessor_multdouble), /* size */
+ 0, /* inited */
+ 0, /* init_class */
+ &init, /* init */
+ 0, /* post_init */
+ 0, /* destroy */
+ 0, /* dump */
+ 0, /* next_offset */
+ 0, /* get length of string */
+ 0, /* get number of values */
+ 0, /* get number of bytes */
+ 0, /* get offset to bytes */
+ 0, /* get native type */
+ 0, /* get sub_section */
+ 0, /* pack_missing */
+ 0, /* is_missing */
+ 0, /* pack_long */
+ 0, /* unpack_long */
+ 0, /* pack_double */
+ 0, /* pack_float */
+ &unpack_double, /* unpack_double */
+ 0, /* unpack_float */
+ 0, /* pack_string */
+ 0, /* unpack_string */
+ 0, /* pack_string_array */
+ 0, /* unpack_string_array */
+ 0, /* pack_bytes */
+ 0, /* unpack_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 */
+ 0, /* unpack only ith value (double) */
+ 0, /* unpack only ith value (float) */
+ 0, /* unpack a given set of elements (double) */
+ 0, /* unpack a given set of elements (float) */
+ 0, /* unpack a subarray */
+ 0, /* clear */
+ 0, /* clone accessor */
+};
+
+
+grib_accessor_class* grib_accessor_class_multdouble = &_grib_accessor_class_multdouble;
+
+/* END_CLASS_IMP */
+
+static void init(grib_accessor* a, const long l, grib_arguments* c)
+{
+ grib_accessor_multdouble* self = (grib_accessor_multdouble*)a;
+ int n = 0;
+
+ self->val = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++);
+ self->multiplier = grib_arguments_get_double(grib_handle_of_accessor(a), c, n++);
+}
+
+static int unpack_double(grib_accessor* a, double* val, size_t* len)
+{
+ const grib_accessor_multdouble* self = (grib_accessor_multdouble*)a;
+ int ret = GRIB_SUCCESS;
+ double value = 0;
+
+ ret = grib_get_double_internal(grib_handle_of_accessor(a), self->val, &value);
+ if (ret != GRIB_SUCCESS)
+ return ret;
+
+ *val = value * self->multiplier;
+
+ *len = 1;
+ return GRIB_SUCCESS;
+}
diff --git a/src/grib_accessor_class_non_alpha.cc b/src/grib_accessor_class_non_alpha.cc
index 55ee9f917..821f2311f 100644
--- a/src/grib_accessor_class_non_alpha.cc
+++ b/src/grib_accessor_class_non_alpha.cc
@@ -149,20 +149,20 @@ static int get_native_type(grib_accessor* a)
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
grib_handle* hand = grib_handle_of_accessor(a);
- int i = 0;
+ long i = 0;
- if (len[0] < (a->length + 1)) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s it contains %ld values",
- len[0], a->name, a->length + 1);
- len[0] = 0;
- return GRIB_ARRAY_TOO_SMALL;
+ if (*len < (a->length + 1)) {
+ grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values",
+ *len, a->name, a->length + 1);
+ *len = a->length + 1;
+ return GRIB_BUFFER_TOO_SMALL;
}
for (i = 0; i < a->length; i++) {
val[i] = hand->buffer->data[a->offset + i];
}
val[i] = 0;
- len[0] = i;
+ *len = i;
return GRIB_SUCCESS;
}
@@ -190,7 +190,6 @@ static int unpack_long(grib_accessor* a, long* v, size_t* len)
*v = strtol(val, &last, 10);
- grib_context_log(a->context, GRIB_LOG_DEBUG, " Casting string %s to long", a->name);
return GRIB_SUCCESS;
}
@@ -204,7 +203,6 @@ static int unpack_double(grib_accessor* a, double* v, size_t* len)
*v = strtod(val, &last);
if (*last == 0) {
- grib_context_log(a->context, GRIB_LOG_DEBUG, " Casting string %s to long", a->name);
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_number_of_points_gaussian.cc b/src/grib_accessor_class_number_of_points_gaussian.cc
index 5d952b937..2114a9c87 100644
--- a/src/grib_accessor_class_number_of_points_gaussian.cc
+++ b/src/grib_accessor_class_number_of_points_gaussian.cc
@@ -276,7 +276,7 @@ static int unpack_long_new(grib_accessor* a, long* val, size_t* len)
if (plpresent) {
long max_pl = 0;
int j = 0;
- double lon_first_row = 0, lon_last_row = 0;
+ // double lon_first_row = 0, lon_last_row = 0;
/*reduced*/
if ((err = grib_get_long_internal(h, self->order, &order)) != GRIB_SUCCESS)
@@ -324,11 +324,9 @@ static int unpack_long_new(grib_accessor* a, long* val, size_t* len)
return GRIB_GEOCALCULUS_PROBLEM;
}
grib_get_reduced_row_wrapper(h, pl[j], lon_first, lon_last, &row_count, &ilon_first, &ilon_last);
- lon_first_row = ((ilon_first)*360.0) / pl[j];
- lon_last_row = ((ilon_last)*360.0) / pl[j];
+ //lon_first_row = ((ilon_first)*360.0) / pl[j];
+ //lon_last_row = ((ilon_last)*360.0) / pl[j];
*val += row_count;
- (void)lon_last_row;
- (void)lon_first_row;
}
}
else {
@@ -388,7 +386,7 @@ static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t*
if (plpresent) {
long max_pl = 0;
int j = 0;
- double lon_first_row = 0, lon_last_row = 0;
+ // double lon_first_row = 0, lon_last_row = 0;
/*reduced*/
if ((err = grib_get_long_internal(h, self->order, &order)) != GRIB_SUCCESS)
@@ -452,11 +450,9 @@ static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t*
// if ( row_count != pl[j] ) {
// printf("oops...... rc=%ld but pl[%d]=%ld\n", row_count, j,pl[j]);
// }
- lon_first_row = ((ilon_first)*360.0) / pl[j];
- lon_last_row = ((ilon_last)*360.0) / pl[j];
+ // lon_first_row = ((ilon_first)*360.0) / pl[j];
+ // lon_last_row = ((ilon_last)*360.0) / pl[j];
*val += row_count;
- (void)lon_last_row;
- (void)lon_first_row;
#if EFDEBUG
printf(" ilon_first=%ld lon_first=%.10e ilon_last=%ld lon_last=%.10e count=%ld row_count=%ld\n",
ilon_first, lon_first_row, ilon_last, lon_last_row, *val, row_count);
diff --git a/src/grib_accessor_class_number_of_values_data_raw_packing.cc b/src/grib_accessor_class_number_of_values_data_raw_packing.cc
index 5bde2a163..5652797ac 100644
--- a/src/grib_accessor_class_number_of_values_data_raw_packing.cc
+++ b/src/grib_accessor_class_number_of_values_data_raw_packing.cc
@@ -152,7 +152,6 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
default:
return GRIB_NOT_IMPLEMENTED;
- break;
}
*val = byte_count / bytes;
diff --git a/src/grib_accessor_class_optimal_step_units.cc b/src/grib_accessor_class_optimal_step_units.cc
index 9bcf338be..261ff4c80 100644
--- a/src/grib_accessor_class_optimal_step_units.cc
+++ b/src/grib_accessor_class_optimal_step_units.cc
@@ -192,7 +192,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
std::string msg = std::string{"Invalid unit: "} + std::to_string(*val) + " (" + e.what() + ")" +
". Available units are: " + supported_units_str;
- grib_context_log(a->context, GRIB_LOG_ERROR, msg.c_str());
+ grib_context_log(a->context, GRIB_LOG_ERROR, "%s", msg.c_str());
return GRIB_INVALID_ARGUMENT;
}
@@ -235,7 +235,7 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
}
}
catch (std::exception& e) {
- grib_context_log(a->context, GRIB_LOG_ERROR, e.what());
+ grib_context_log(a->context, GRIB_LOG_ERROR, "%s", e.what());
return GRIB_INTERNAL_ERROR;
}
@@ -256,7 +256,7 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
supported_units_str.pop_back();
std::string msg = "Invalid unit: " + std::string(val) + " (" + e.what() + ")" + ". Available units are: " + supported_units_str;
- grib_context_log(a->context, GRIB_LOG_ERROR, msg.c_str());
+ grib_context_log(a->context, GRIB_LOG_ERROR, "%s", msg.c_str());
return GRIB_INVALID_ARGUMENT;
}
diff --git a/src/grib_accessor_class_rdbtime_guess_date.cc b/src/grib_accessor_class_rdbtime_guess_date.cc
index 7bd8a3c4a..8a3bfa2a1 100644
--- a/src/grib_accessor_class_rdbtime_guess_date.cc
+++ b/src/grib_accessor_class_rdbtime_guess_date.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* typicalYear
MEMBERS=const char* typicalMonth
MEMBERS=const char* typicalDay
@@ -39,7 +39,6 @@ or edit "accessor.class" and rerun ./make_class.pl
static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_rdbtime_guess_date
@@ -66,7 +65,7 @@ static grib_accessor_class _grib_accessor_class_rdbtime_guess_date = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -124,11 +123,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
/* a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; */
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_rdbtime_guess_date* self = (grib_accessor_rdbtime_guess_date*)a;
diff --git a/src/grib_accessor_class_section_pointer.cc b/src/grib_accessor_class_section_pointer.cc
index e9b81614a..861ab12e7 100644
--- a/src/grib_accessor_class_section_pointer.cc
+++ b/src/grib_accessor_class_section_pointer.cc
@@ -107,7 +107,7 @@ grib_accessor_class* grib_accessor_class_section_pointer = &_grib_accessor_class
static void init(grib_accessor* a, const long len, grib_arguments* arg)
{
- int n = 0;
+ int n = 0;
grib_accessor_section_pointer* self = (grib_accessor_section_pointer*)a;
self->sectionOffset = grib_arguments_get_name(grib_handle_of_accessor(a), arg, n++);
@@ -162,13 +162,13 @@ static int unpack_string(grib_accessor* a, char* v, size_t* len)
static long byte_count(grib_accessor* a)
{
grib_accessor_section_pointer* self = (grib_accessor_section_pointer*)a;
- long sectionLength = 0;
- int ret = 0;
+ long sectionLength = 0;
+ int ret = 0;
ret = grib_get_long(grib_handle_of_accessor(a), self->sectionLength, §ionLength);
if (ret) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "unable to get %s %s",
+ "Unable to get %s %s",
self->sectionLength, grib_get_error_message(ret));
return -1;
}
@@ -179,13 +179,13 @@ static long byte_count(grib_accessor* a)
static long byte_offset(grib_accessor* a)
{
grib_accessor_section_pointer* self = (grib_accessor_section_pointer*)a;
- long sectionOffset = 0;
- int ret = 0;
+ long sectionOffset = 0;
+ int ret = 0;
ret = grib_get_long(grib_handle_of_accessor(a), self->sectionOffset, §ionOffset);
if (ret) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "unable to get %s %s",
+ "Unable to get %s %s",
self->sectionOffset, grib_get_error_message(ret));
return -1;
}
diff --git a/src/grib_accessor_class_signed_bits.cc b/src/grib_accessor_class_signed_bits.cc
index 1750af3eb..dc8ccf488 100644
--- a/src/grib_accessor_class_signed_bits.cc
+++ b/src/grib_accessor_class_signed_bits.cc
@@ -16,7 +16,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
IMPLEMENTS = next_offset
IMPLEMENTS = byte_count
IMPLEMENTS = value_count
@@ -45,7 +45,6 @@ static long byte_count(grib_accessor*);
static long byte_offset(grib_accessor*);
static long next_offset(grib_accessor*);
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 update_size(grib_accessor*, size_t);
@@ -70,7 +69,7 @@ static grib_accessor_class _grib_accessor_class_signed_bits = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
&next_offset, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -152,11 +151,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->length = compute_byte_count(a);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
return GRIB_NOT_IMPLEMENTED;
diff --git a/src/grib_accessor_class_smart_table.cc b/src/grib_accessor_class_smart_table.cc
index dd6cfcd41..a3f257312 100644
--- a/src/grib_accessor_class_smart_table.cc
+++ b/src/grib_accessor_class_smart_table.cc
@@ -8,10 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
-/*****************************************
- * Enrico Fucile
- ****************************************/
-
#include "grib_api_internal.h"
#include
@@ -165,9 +161,9 @@ static int grib_load_smart_table(grib_context* c, const char* filename, const ch
static void init(grib_accessor* a, const long len, grib_arguments* params)
{
- int n = 0;
+ int n = 0;
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
+ grib_handle* hand = grib_handle_of_accessor(a);
self->values = grib_arguments_get_name(hand, params, n++);
self->tablename = grib_arguments_get_string(hand, params, n++);
@@ -179,25 +175,25 @@ static void init(grib_accessor* a, const long len, grib_arguments* params)
a->length = 0;
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
- self->dirty = 1;
+ self->dirty = 1;
self->tableCodesSize = 0;
- self->tableCodes = 0;
+ self->tableCodes = 0;
}
static grib_smart_table* load_table(grib_accessor* a)
{
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
- size_t size = 0;
- grib_handle* h = ((grib_accessor*)self)->parent->h;
- grib_context* c = h->context;
- grib_smart_table* t = NULL;
+ size_t size = 0;
+ grib_handle* h = ((grib_accessor*)self)->parent->h;
+ grib_context* c = h->context;
+ grib_smart_table* t = NULL;
grib_smart_table* next = NULL;
- char* filename = 0;
+ char* filename = 0;
char recomposed[1024] = {0,};
char localRecomposed[1024] = {0,};
- char* localFilename = 0;
+ char* localFilename = 0;
char extraRecomposed[1024] = {0,};
- char* extraFilename = 0;
+ char* extraFilename = 0;
char masterDir[1024] = {0,};
char localDir[1024] = {0,};
char extraDir[1024] = {0,};
@@ -253,13 +249,13 @@ static grib_smart_table* load_table(grib_accessor* a)
next = next->next;
}
- /* Note: self->widthOfCode is chosen so that 2^width is bigger than the maximum descriptor code,
- * which for BUFR4 is the Table C operator 243255
- */
- size = (1ULL << self->widthOfCode); /* = 2^self->widthOfCode (as a 64 bit number) */
+ // Note: self->widthOfCode is chosen so that 2^width is bigger than the maximum descriptor code,
+ // which for BUFR4 is the Table C operator 243255
+ //
+ size = (1ULL << self->widthOfCode); // = 2^self->widthOfCode (as a 64 bit number)
- t = (grib_smart_table*)grib_context_malloc_clear_persistent(c, sizeof(grib_smart_table));
- t->entries = (grib_smart_table_entry*)grib_context_malloc_clear_persistent(c, size * sizeof(grib_smart_table_entry));
+ t = (grib_smart_table*)grib_context_malloc_clear_persistent(c, sizeof(grib_smart_table));
+ t->entries = (grib_smart_table_entry*)grib_context_malloc_clear_persistent(c, size * sizeof(grib_smart_table_entry));
t->numberOfEntries = size;
if (filename != 0)
@@ -296,21 +292,21 @@ static int grib_load_smart_table(grib_context* c, const char* filename,
Assert(t != NULL);
if (t->filename[0] == NULL) {
- t->filename[0] = grib_context_strdup_persistent(c, filename);
+ t->filename[0] = grib_context_strdup_persistent(c, filename);
t->recomposed_name[0] = grib_context_strdup_persistent(c, recomposed_name);
- t->next = c->smart_table;
- t->numberOfEntries = size;
+ t->next = c->smart_table;
+ t->numberOfEntries = size;
GRIB_MUTEX_INIT_ONCE(&once, &thread_init);
GRIB_MUTEX_LOCK(&mutex);
c->smart_table = t;
GRIB_MUTEX_UNLOCK(&mutex);
}
else if (t->filename[1] == NULL) {
- t->filename[1] = grib_context_strdup_persistent(c, filename);
+ t->filename[1] = grib_context_strdup_persistent(c, filename);
t->recomposed_name[1] = grib_context_strdup_persistent(c, recomposed_name);
}
else {
- t->filename[2] = grib_context_strdup_persistent(c, filename);
+ t->filename[2] = grib_context_strdup_persistent(c, filename);
t->recomposed_name[2] = grib_context_strdup_persistent(c, recomposed_name);
}
@@ -344,7 +340,7 @@ static int grib_load_smart_table(grib_context* c, const char* filename,
*p = 0;
numberOfColumns = 0;
- /* The highest possible descriptor code must fit into t->numberOfEntries */
+ // The highest possible descriptor code must fit into t->numberOfEntries
DEBUG_ASSERT(code < t->numberOfEntries);
while (*s) {
char* tcol = t->entries[code].column[numberOfColumns];
@@ -405,7 +401,7 @@ static void dump(grib_accessor* a, grib_dumper* dumper)
static int unpack_string(grib_accessor* a, char* buffer, size_t* len)
{
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
- grib_smart_table* table = NULL;
+ grib_smart_table* table = NULL;
size_t size = 1;
long value;
@@ -435,7 +431,7 @@ static int unpack_string(grib_accessor* a, char* buffer, size_t* len)
}
strcpy(buffer, tmp);
- *len = l;
+ *len = l;
self->dirty = 0;
return GRIB_SUCCESS;
@@ -444,9 +440,9 @@ static int unpack_string(grib_accessor* a, char* buffer, size_t* len)
static int get_table_codes(grib_accessor* a)
{
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
- size_t size = 0;
- long* v = 0;
- int err = 0;
+ size_t size = 0;
+ long* v = 0;
+ int err = 0;
int count, j;
size_t i;
@@ -455,7 +451,7 @@ static int get_table_codes(grib_accessor* a)
if (!self->dirty)
return 0;
- table_size = (1 << self->widthOfCode); /* 2 ^ self->widthOfCode */
+ table_size = (1 << self->widthOfCode); // 2 ^ self->widthOfCode
if (!self->table)
self->table = load_table(a);
@@ -479,7 +475,7 @@ static int get_table_codes(grib_accessor* a)
if (self->tableCodes)
grib_context_free(a->context, self->tableCodes);
self->tableCodes = (long*)grib_context_malloc_clear(a->context, count * sizeof(long));
- j = 0;
+ j = 0;
for (i = 0; i < size; i++) {
if (v[i] < table_size)
self->tableCodes[j++] = v[i];
@@ -488,16 +484,16 @@ static int get_table_codes(grib_accessor* a)
grib_context_free(a->context, v);
self->tableCodesSize = count;
- self->dirty = 0;
+ self->dirty = 0;
return 0;
}
static int value_count(grib_accessor* a, long* count)
{
- int err = 0;
+ int err = 0;
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
- *count = 0;
+ *count = 0;
if (!self->values)
return 0;
@@ -523,8 +519,8 @@ static void destroy(grib_context* context, grib_accessor* a)
static int get_native_type(grib_accessor* a)
{
int type = GRIB_TYPE_LONG;
- /*printf("---------- %s flags=%ld GRIB_ACCESSOR_FLAG_STRING_TYPE=%d\n",
- a->name,a->flags,GRIB_ACCESSOR_FLAG_STRING_TYPE);*/
+ //printf("---------- %s flags=%ld GRIB_ACCESSOR_FLAG_STRING_TYPE=%d\n",
+ // a->name,a->flags,GRIB_ACCESSOR_FLAG_STRING_TYPE);
if (a->flags & GRIB_ACCESSOR_FLAG_STRING_TYPE)
type = GRIB_TYPE_STRING;
return type;
@@ -532,7 +528,7 @@ static int get_native_type(grib_accessor* a)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- int err = 0;
+ int err = 0;
grib_accessor_smart_table* self = (grib_accessor_smart_table*)a;
size_t i;
@@ -545,8 +541,8 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
if (*len < self->tableCodesSize) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "Wrong size (%lu) for %s it contains %lu values", *len, a->name, self->tableCodesSize);
- *len = 0;
+ "Wrong size (%zu) for %s, it contains %zu values", *len, a->name, self->tableCodesSize);
+ *len = self->tableCodesSize;
return GRIB_ARRAY_TOO_SMALL;
}
diff --git a/src/grib_accessor_class_smart_table_column.cc b/src/grib_accessor_class_smart_table_column.cc
index 11ff964d3..295f29281 100644
--- a/src/grib_accessor_class_smart_table_column.cc
+++ b/src/grib_accessor_class_smart_table_column.cc
@@ -130,11 +130,11 @@ typedef struct grib_accessor_smart_table
static void init(grib_accessor* a, const long len, grib_arguments* params)
{
- int n = 0;
+ int n = 0;
grib_accessor_smart_table_column* self = (grib_accessor_smart_table_column*)a;
self->smartTable = grib_arguments_get_name(grib_handle_of_accessor(a), params, n++);
- self->index = grib_arguments_get_long(grib_handle_of_accessor(a), params, n++);
+ self->index = grib_arguments_get_long(grib_handle_of_accessor(a), params, n++);
a->length = 0;
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
@@ -158,22 +158,22 @@ static int unpack_string_array(grib_accessor* a, char** buffer, size_t* len)
{
grib_accessor_smart_table_column* self = (grib_accessor_smart_table_column*)a;
grib_accessor_smart_table* tableAccessor = NULL;
- grib_smart_table* table = NULL;
+ grib_smart_table* table = NULL;
size_t size = 1;
long* code;
- int err = GRIB_SUCCESS;
+ int err = GRIB_SUCCESS;
char tmp[1024] = {0,};
int i = 0;
tableAccessor = (grib_accessor_smart_table*)grib_find_accessor(grib_handle_of_accessor(a), self->smartTable);
if (!tableAccessor) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "unable to find accessor %s", self->smartTable);
+ "Unable to find accessor %s", self->smartTable);
return GRIB_NOT_FOUND;
}
- err = ecc__grib_get_size(grib_handle_of_accessor(a), (grib_accessor*)tableAccessor, &size);
+ err = grib_get_size_acc(grib_handle_of_accessor(a), (grib_accessor*)tableAccessor, &size);
if (err)
return err;
if (*len < size) {
@@ -213,7 +213,7 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_smart_table_column* self = (grib_accessor_smart_table_column*)a;
grib_accessor_smart_table* tableAccessor = NULL;
- grib_smart_table* table = NULL;
+ grib_smart_table* table = NULL;
size_t size = 1;
long* code;
@@ -226,11 +226,11 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
tableAccessor = (grib_accessor_smart_table*)grib_find_accessor(grib_handle_of_accessor(a), self->smartTable);
if (!tableAccessor) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "unable to find accessor %s", self->smartTable);
+ "Unable to find accessor %s", self->smartTable);
return GRIB_NOT_FOUND;
}
- err = ecc__grib_get_size(grib_handle_of_accessor(a), (grib_accessor*)tableAccessor, &size);
+ err = grib_get_size_acc(grib_handle_of_accessor(a), (grib_accessor*)tableAccessor, &size);
if (err)
return err;
if (*len < size) {
@@ -263,14 +263,14 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
static int value_count(grib_accessor* a, long* count)
{
grib_accessor_smart_table_column* self = (grib_accessor_smart_table_column*)a;
- size_t size = 0;
- int err = 0;
- *count = 0;
+ size_t size = 0;
+ int err = 0;
+ *count = 0;
if (!self->smartTable)
return 0;
- err = grib_get_size(grib_handle_of_accessor(a), self->smartTable, &size);
+ err = grib_get_size(grib_handle_of_accessor(a), self->smartTable, &size);
*count = size;
return err;
}
diff --git a/src/grib_accessor_class_spd.cc b/src/grib_accessor_class_spd.cc
index 22fa03dc5..e0f4a20a7 100644
--- a/src/grib_accessor_class_spd.cc
+++ b/src/grib_accessor_class_spd.cc
@@ -16,7 +16,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
IMPLEMENTS = next_offset
IMPLEMENTS = byte_count
IMPLEMENTS = value_count
@@ -45,7 +45,6 @@ static long byte_count(grib_accessor*);
static long byte_offset(grib_accessor*);
static long next_offset(grib_accessor*);
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 update_size(grib_accessor*, size_t);
@@ -70,7 +69,7 @@ static grib_accessor_class _grib_accessor_class_spd = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
&next_offset, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -153,11 +152,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->length = compute_byte_count(a);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_spd* self = (grib_accessor_spd*)a;
@@ -173,8 +167,8 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
if (*len < rlen) {
grib_context_log(a->context, GRIB_LOG_ERROR,
- "Wrong size (%ld) for %s it contains %ld values", *len, a->name, rlen);
- *len = 0;
+ "Wrong size (%zu) for %s, it contains %ld values", *len, a->name, rlen);
+ *len = rlen;
return GRIB_ARRAY_TOO_SMALL;
}
diff --git a/src/grib_accessor_class_time.cc b/src/grib_accessor_class_time.cc
index a90f4415a..3251fdd33 100644
--- a/src/grib_accessor_class_time.cc
+++ b/src/grib_accessor_class_time.cc
@@ -18,7 +18,7 @@
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
IMPLEMENTS = unpack_string
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* hour
MEMBERS=const char* minute
MEMBERS=const char* second
@@ -39,7 +39,6 @@ or edit "accessor.class" and rerun ./make_class.pl
static int pack_long(grib_accessor*, const long* val, size_t* len);
static int unpack_long(grib_accessor*, long* val, size_t* len);
static int unpack_string(grib_accessor*, char*, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_time
@@ -64,7 +63,7 @@ static grib_accessor_class _grib_accessor_class_time = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -119,19 +118,13 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
self->second = grib_arguments_get_name(hand, c, n++);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- int ret = 0;
- grib_accessor_time* self = (grib_accessor_time*)a;
- long hour = 0;
- long minute = 0;
- long second = 0;
- grib_handle* hand = grib_handle_of_accessor(a);
+ const grib_accessor_time* self = (grib_accessor_time*)a;
+
+ int ret = 0;
+ long hour = 0, minute = 0, second = 0;
+ grib_handle* hand = grib_handle_of_accessor(a);
if ((ret = grib_get_long_internal(hand, self->hour, &hour)) != GRIB_SUCCESS)
return ret;
@@ -160,21 +153,25 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
return GRIB_SUCCESS;
}
-/* TODO: Check for a valid date */
-
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int ret = 0;
- long v = val[0];
- grib_accessor_time* self = (grib_accessor_time*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
- long hour = 0;
- long minute = 0;
- long second = 0;
+ const grib_accessor_time* self = (grib_accessor_time*)a;
+
+ int ret = 0;
+ long v = val[0];
+ grib_handle* hand = grib_handle_of_accessor(a);
+ long hour = 0, minute = 0, second = 0;
if (*len != 1)
return GRIB_WRONG_ARRAY_SIZE;
+ if (!is_time_valid(v)) {
+ // ECC-1777: For now just a warning. Will later change to an error
+ fprintf(stderr, "ECCODES WARNING : %s:%s: Time is not valid! hour=%ld min=%ld sec=%ld\n",
+ a->cclass->name, __func__, hour, minute, second);
+ // return GRIB_ENCODING_ERROR;
+ }
+
hour = v / 100;
minute = v % 100;
second = 0; /* We ignore the 'seconds' in our time calculation! */
diff --git a/src/grib_accessor_class_to_double.cc b/src/grib_accessor_class_to_double.cc
index 3f04524c6..69b06add9 100644
--- a/src/grib_accessor_class_to_double.cc
+++ b/src/grib_accessor_class_to_double.cc
@@ -150,7 +150,7 @@ static size_t string_length(grib_accessor* a)
if (self->length)
return self->length;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
return size;
}
@@ -166,18 +166,17 @@ static int get_native_type(grib_accessor* a)
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
- int err = 0;
grib_accessor_to_double* self = (grib_accessor_to_double*)a;
- char buff[512] = {0,};
- size_t length;
+
+ int err = 0;
+ char buff[512] = {0,};
size_t size = 512;
+ size_t length = string_length(a);
- length = string_length(a);
-
- if (len[0] < length + 1) {
+ if (*len < length + 1) {
grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values",
- len[0], a->name, a->length + 1);
- len[0] = 0;
+ *len, a->name, a->length + 1);
+ *len = length + 1;
return GRIB_ARRAY_TOO_SMALL;
}
@@ -192,7 +191,7 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
memcpy(val, buff + self->start, length);
val[length] = 0;
- len[0] = length;
+ *len = length;
return err;
}
diff --git a/src/grib_accessor_class_to_integer.cc b/src/grib_accessor_class_to_integer.cc
index 787b122b8..76ce1205d 100644
--- a/src/grib_accessor_class_to_integer.cc
+++ b/src/grib_accessor_class_to_integer.cc
@@ -164,19 +164,21 @@ static int get_native_type(grib_accessor* a)
static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
- int err = 0;
grib_accessor_to_integer* self = (grib_accessor_to_integer*)a;
- char buff[512] = {0,};
- size_t length;
+
+ int err = 0;
+ char buff[512] = {0,};
size_t size = 512;
- length = string_length(a);
+ size_t length = string_length(a);
- if (len[0] < length + 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values",
- len[0], a->name, a->length + 1);
- len[0] = 0;
- return GRIB_ARRAY_TOO_SMALL;
+ if (*len < length + 1) {
+ const char* cclass_name = a->cclass->name;
+ grib_context_log(a->context, GRIB_LOG_ERROR,
+ "%s: Buffer too small for %s. It is %zu bytes long (len=%zu)",
+ cclass_name, a->name, length+1, *len);
+ *len = length + 1;
+ return GRIB_BUFFER_TOO_SMALL;
}
err = grib_get_string(grib_handle_of_accessor(a), self->key, buff, &size);
@@ -190,7 +192,7 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
memcpy(val, buff + self->start, length);
val[length] = 0;
- len[0] = length;
+ *len = length;
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_to_string.cc b/src/grib_accessor_class_to_string.cc
index 818ad386d..648edd1aa 100644
--- a/src/grib_accessor_class_to_string.cc
+++ b/src/grib_accessor_class_to_string.cc
@@ -163,16 +163,18 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
{
grib_accessor_to_string* self = (grib_accessor_to_string*)a;
- int err = 0;
+ int err = 0;
char buff[512] = {0,};
size_t length = string_length(a);
- if (len[0] < length + 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values",
- len[0], a->name, a->length + 1);
- len[0] = 0;
- return GRIB_ARRAY_TOO_SMALL;
+ if (*len < length + 1) {
+ const char* cclass_name = a->cclass->name;
+ grib_context_log(a->context, GRIB_LOG_ERROR,
+ "%s: Buffer too small for %s. It is %zu bytes long (len=%zu)",
+ cclass_name, a->name, length+1, *len);
+ *len = length + 1;
+ return GRIB_BUFFER_TOO_SMALL;
}
size_t size = sizeof(buff);
@@ -187,7 +189,7 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
memcpy(val, buff + self->start, length);
val[length] = 0;
- len[0] = length;
+ *len = length;
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_transient_darray.cc b/src/grib_accessor_class_transient_darray.cc
index ba830849a..51dbc2433 100644
--- a/src/grib_accessor_class_transient_darray.cc
+++ b/src/grib_accessor_class_transient_darray.cc
@@ -159,7 +159,8 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
value_count(a, &count);
if (*len < count) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s (setting %ld, required %ld) ", a->name, *len, count);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s (setting %zu, required %ld)", a->name, *len, count);
+ *len = count;
return GRIB_ARRAY_TOO_SMALL;
}
@@ -178,7 +179,8 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
value_count(a, &count);
if (*len < count) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s (setting %ld, required %ld) ", a->name, *len, count);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s (setting %zu, required %ld)", a->name, *len, count);
+ *len = count;
return GRIB_ARRAY_TOO_SMALL;
}
diff --git a/src/grib_accessor_class_unexpanded_descriptors.cc b/src/grib_accessor_class_unexpanded_descriptors.cc
index b583ce5cd..a026388f2 100644
--- a/src/grib_accessor_class_unexpanded_descriptors.cc
+++ b/src/grib_accessor_class_unexpanded_descriptors.cc
@@ -16,7 +16,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
IMPLEMENTS = next_offset
IMPLEMENTS = value_count
IMPLEMENTS = byte_offset
@@ -43,7 +43,6 @@ static int unpack_long(grib_accessor*, long* val, size_t* len);
static long byte_offset(grib_accessor*);
static long next_offset(grib_accessor*);
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 update_size(grib_accessor*, size_t);
@@ -68,7 +67,7 @@ static grib_accessor_class _grib_accessor_class_unexpanded_descriptors = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
&next_offset, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -122,11 +121,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->length = 0;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_unexpanded_descriptors* self = (grib_accessor_unexpanded_descriptors*)a;
diff --git a/src/grib_accessor_class_unsigned_bits.cc b/src/grib_accessor_class_unsigned_bits.cc
index 026d4ff67..38c3425cf 100644
--- a/src/grib_accessor_class_unsigned_bits.cc
+++ b/src/grib_accessor_class_unsigned_bits.cc
@@ -16,7 +16,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long;pack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
IMPLEMENTS = next_offset
IMPLEMENTS = byte_count
IMPLEMENTS = value_count
@@ -45,7 +45,6 @@ static long byte_count(grib_accessor*);
static long byte_offset(grib_accessor*);
static long next_offset(grib_accessor*);
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 update_size(grib_accessor*, size_t);
@@ -70,7 +69,7 @@ static grib_accessor_class _grib_accessor_class_unsigned_bits = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
&next_offset, /* next_offset */
0, /* get length of string */
&value_count, /* get number of values */
@@ -149,11 +148,6 @@ static void init(grib_accessor* a, const long len, grib_arguments* args)
a->length = compute_byte_count(a);
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_unsigned_bits* self = (grib_accessor_unsigned_bits*)a;
@@ -169,7 +163,7 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
if (*len < rlen) {
grib_context_log(a->context, GRIB_LOG_ERROR,
"Wrong size (%ld) for %s, it contains %ld values", *len, a->name, rlen);
- *len = 0;
+ *len = rlen;
return GRIB_ARRAY_TOO_SMALL;
}
diff --git a/src/grib_accessor_class_validity_date.cc b/src/grib_accessor_class_validity_date.cc
index 8182228ae..760b7bccd 100644
--- a/src/grib_accessor_class_validity_date.cc
+++ b/src/grib_accessor_class_validity_date.cc
@@ -17,7 +17,7 @@
CLASS = accessor
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* date
MEMBERS=const char* time
MEMBERS=const char* step
@@ -40,7 +40,6 @@ or edit "accessor.class" and rerun ./make_class.pl
*/
static int unpack_long(grib_accessor*, long* val, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_validity_date
@@ -69,7 +68,7 @@ static grib_accessor_class _grib_accessor_class_validity_date = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -165,11 +164,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_validity_date* self = (grib_accessor_validity_date*)a;
diff --git a/src/grib_accessor_class_validity_time.cc b/src/grib_accessor_class_validity_time.cc
index 0b2c9697f..34eb78128 100644
--- a/src/grib_accessor_class_validity_time.cc
+++ b/src/grib_accessor_class_validity_time.cc
@@ -18,7 +18,7 @@
SUPER = grib_accessor_class_long
IMPLEMENTS = unpack_long
IMPLEMENTS = unpack_string
- IMPLEMENTS = init;dump
+ IMPLEMENTS = init
MEMBERS=const char* date
MEMBERS=const char* time
MEMBERS=const char* step
@@ -41,7 +41,6 @@ or edit "accessor.class" and rerun ./make_class.pl
static int unpack_long(grib_accessor*, long* val, size_t* len);
static int unpack_string(grib_accessor*, char*, size_t* len);
-static void dump(grib_accessor*, grib_dumper*);
static void init(grib_accessor*, const long, grib_arguments*);
typedef struct grib_accessor_validity_time
@@ -69,7 +68,7 @@ static grib_accessor_class _grib_accessor_class_validity_time = {
&init, /* init */
0, /* post_init */
0, /* destroy */
- &dump, /* dump */
+ 0, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
@@ -164,11 +163,6 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY;
}
-static void dump(grib_accessor* a, grib_dumper* dumper)
-{
- grib_dump_long(dumper, a, NULL);
-}
-
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
grib_accessor_validity_time* self = (grib_accessor_validity_time*)a;
diff --git a/src/grib_accessor_class_values.cc b/src/grib_accessor_class_values.cc
index 3e69cf56e..384282317 100644
--- a/src/grib_accessor_class_values.cc
+++ b/src/grib_accessor_class_values.cc
@@ -231,10 +231,8 @@ static int compare(grib_accessor* a, grib_accessor* b)
grib_unpack_double(b, bval, &blen);
retval = GRIB_SUCCESS;
- while (alen != 0) {
- if (*bval != *aval)
- retval = GRIB_DOUBLE_VALUE_MISMATCH;
- alen--;
+ for (size_t i=0; icontext, aval);
@@ -245,15 +243,13 @@ static int compare(grib_accessor* a, grib_accessor* b)
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
- int ret = 0;
grib_accessor_values* self = (grib_accessor_values*)a;
- int i;
double* dval = (double*)grib_context_malloc(a->context, *len * sizeof(double));
- for (i = 0; i < *len; i++)
+ for (size_t i = 0; i < *len; i++)
dval[i] = (double)val[i];
- ret = grib_pack_double(a, dval, len);
+ int ret = grib_pack_double(a, dval, len);
grib_context_free(a->context, dval);
diff --git a/src/grib_accessor_class_variable.cc b/src/grib_accessor_class_variable.cc
index 9d12e04cf..8c5bbe7b0 100644
--- a/src/grib_accessor_class_variable.cc
+++ b/src/grib_accessor_class_variable.cc
@@ -126,6 +126,12 @@ grib_accessor_class* grib_accessor_class_variable = &_grib_accessor_class_variab
/* END_CLASS_IMP */
+//
+// This accessor is used for:
+// constant
+// transient
+//
+
#define MAX_VARIABLE_STRING_LENGTH 255
static void init(grib_accessor* a, const long length, grib_arguments* args)
@@ -180,7 +186,7 @@ void accessor_variable_set_type(grib_accessor* a, int type)
static void dump(grib_accessor* a, grib_dumper* dumper)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
switch (self->type) {
case GRIB_TYPE_DOUBLE:
grib_dump_double(dumper, a, NULL);
@@ -202,11 +208,16 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
const double dval = *val;
if (*len != 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains %d values", a->name, 1);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains 1 value", a->name);
*len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
+ //if (std::isnan(dval)) {
+ // grib_context_log(a->context, GRIB_LOG_ERROR, "%s: Invalid number for %s: %g", __func__, a->name, dval);
+ // return GRIB_INVALID_ARGUMENT;
+ //}
+
self->dval = dval;
if (dval < (double)LONG_MIN || dval > (double)LONG_MAX)
self->type = GRIB_TYPE_DOUBLE;
@@ -222,7 +233,7 @@ static int pack_float(grib_accessor* a, const float* val, size_t* len)
const double fval = *val;
if (*len != 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains %d values", a->name, 1);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains 1 value", a->name);
*len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
@@ -241,7 +252,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
grib_accessor_variable* self = (grib_accessor_variable*)a;
if (*len != 1) {
- grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains %d values ", a->name, 1);
+ grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains 1 value", a->name);
*len = 1;
return GRIB_ARRAY_TOO_SMALL;
}
@@ -255,7 +266,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
if (*len < 1) {
grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains %d values", a->name, 1);
@@ -269,7 +280,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
static int unpack_float(grib_accessor* a, float* val, size_t* len)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
if (*len < 1) {
grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s, it contains %d values", a->name, 1);
@@ -283,7 +294,7 @@ static int unpack_float(grib_accessor* a, float* val, size_t* len)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
if (*len < 1) {
grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it contains %d values ", a->name, 1);
@@ -297,7 +308,7 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
static int get_native_type(grib_accessor* a)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
return self->type;
}
@@ -350,7 +361,7 @@ static int unpack_string(grib_accessor* a, char* val, size_t* len)
static int pack_string(grib_accessor* a, const char* val, size_t* len)
{
grib_accessor_variable* self = (grib_accessor_variable*)a;
- grib_context* c = a->context;
+ const grib_context* c = a->context;
grib_context_free(c, self->cval);
self->cval = grib_context_strdup(c, val);
@@ -369,7 +380,7 @@ static int value_count(grib_accessor* a, long* count)
static size_t string_length(grib_accessor* a)
{
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
if (self->type == GRIB_TYPE_STRING)
return strlen(self->cval);
else
@@ -383,7 +394,7 @@ static long byte_count(grib_accessor* a)
static int compare(grib_accessor* a, grib_accessor* b)
{
- int retval = 0;
+ int retval = GRIB_SUCCESS;
double* aval = 0;
double* bval = 0;
@@ -412,10 +423,9 @@ static int compare(grib_accessor* a, grib_accessor* b)
grib_unpack_double(b, bval, &blen);
retval = GRIB_SUCCESS;
- while (alen != 0) {
- if (*bval != *aval)
- retval = GRIB_DOUBLE_VALUE_MISMATCH;
- alen--;
+ retval = GRIB_SUCCESS;
+ for (size_t i=0; icontext, aval);
@@ -426,13 +436,13 @@ static int compare(grib_accessor* a, grib_accessor* b)
static grib_accessor* make_clone(grib_accessor* a, grib_section* s, int* err)
{
- grib_accessor* the_clone = NULL;
- grib_accessor_variable* self = (grib_accessor_variable*)a;
+ grib_accessor* the_clone = NULL;
+ const grib_accessor_variable* self = (grib_accessor_variable*)a;
grib_accessor_variable* variableAccessor = NULL;
- grib_action creator = {0,};
- creator.op = (char*)"variable";
+ grib_action creator = {0,};
+ creator.op = (char*)"variable";
creator.name_space = (char*)"";
- creator.set = 0;
+ creator.set = 0;
creator.name = grib_context_strdup(a->context, a->name);
the_clone = grib_accessor_factory(s, &creator, 0, NULL);
diff --git a/src/grib_accessor_classes_hash.cc b/src/grib_accessor_classes_hash.cc
index cb9a8b437..5617c9456 100644
--- a/src/grib_accessor_classes_hash.cc
+++ b/src/grib_accessor_classes_hash.cc
@@ -35,9 +35,9 @@
#include "grib_accessor_class.h"
#line 6 "accessor_class_list.gperf"
-struct accessor_class_hash { char *name; grib_accessor_class **cclass;};
+struct accessor_class_hash { const char *name; grib_accessor_class **cclass;};
-#define TOTAL_KEYWORDS 204
+#define TOTAL_KEYWORDS 205
#define MIN_WORD_LENGTH 1
#define MAX_WORD_LENGTH 44
#define MIN_HASH_VALUE 1
@@ -117,21 +117,21 @@ static const struct accessor_class_hash classes[] =
#line 9 "accessor_class_list.gperf"
{" "},
{""}, {""}, {""}, {""},
-#line 178 "accessor_class_list.gperf"
+#line 179 "accessor_class_list.gperf"
{"size", &grib_accessor_class_size},
#line 12 "accessor_class_list.gperf"
{"ascii", &grib_accessor_class_ascii},
-#line 175 "accessor_class_list.gperf"
+#line 176 "accessor_class_list.gperf"
{"signed", &grib_accessor_class_signed},
-#line 155 "accessor_class_list.gperf"
+#line 156 "accessor_class_list.gperf"
{"pad", &grib_accessor_class_pad},
-#line 181 "accessor_class_list.gperf"
+#line 182 "accessor_class_list.gperf"
{"spd", &grib_accessor_class_spd},
{""},
#line 75 "accessor_class_list.gperf"
{"dirty", &grib_accessor_class_dirty},
{""},
-#line 176 "accessor_class_list.gperf"
+#line 177 "accessor_class_list.gperf"
{"signed_bits", &grib_accessor_class_signed_bits},
{""},
#line 66 "accessor_class_list.gperf"
@@ -141,7 +141,7 @@ static const struct accessor_class_hash classes[] =
{"data_simple_packing", &grib_accessor_class_data_simple_packing},
#line 68 "accessor_class_list.gperf"
{"data_secondary_bitmap", &grib_accessor_class_data_secondary_bitmap},
-#line 169 "accessor_class_list.gperf"
+#line 170 "accessor_class_list.gperf"
{"section", &grib_accessor_class_section},
#line 43 "accessor_class_list.gperf"
{"data_apply_bitmap", &grib_accessor_class_data_apply_bitmap},
@@ -155,36 +155,36 @@ static const struct accessor_class_hash classes[] =
{"data_jpeg2000_packing", &grib_accessor_class_data_jpeg2000_packing},
#line 65 "accessor_class_list.gperf"
{"data_png_packing", &grib_accessor_class_data_png_packing},
-#line 171 "accessor_class_list.gperf"
- {"section_padding", &grib_accessor_class_section_padding},
#line 172 "accessor_class_list.gperf"
+ {"section_padding", &grib_accessor_class_section_padding},
+#line 173 "accessor_class_list.gperf"
{"section_pointer", &grib_accessor_class_section_pointer},
#line 44 "accessor_class_list.gperf"
{"data_apply_boustrophedonic", &grib_accessor_class_data_apply_boustrophedonic},
{""}, {""}, {""}, {""},
#line 80 "accessor_class_list.gperf"
{"expanded_descriptors", &grib_accessor_class_expanded_descriptors},
-#line 156 "accessor_class_list.gperf"
+#line 157 "accessor_class_list.gperf"
{"padding", &grib_accessor_class_padding},
#line 45 "accessor_class_list.gperf"
{"data_apply_boustrophedonic_bitmap", &grib_accessor_class_data_apply_boustrophedonic_bitmap},
#line 110 "accessor_class_list.gperf"
{"gds_is_present", &grib_accessor_class_gds_is_present},
-#line 168 "accessor_class_list.gperf"
+#line 169 "accessor_class_list.gperf"
{"second_order_bits_per_value", &grib_accessor_class_second_order_bits_per_value},
-#line 170 "accessor_class_list.gperf"
+#line 171 "accessor_class_list.gperf"
{"section_length", &grib_accessor_class_section_length},
#line 113 "accessor_class_list.gperf"
{"getenv", &grib_accessor_class_getenv},
#line 57 "accessor_class_list.gperf"
{"data_g22order_packing", &grib_accessor_class_data_g22order_packing},
-#line 190 "accessor_class_list.gperf"
+#line 191 "accessor_class_list.gperf"
{"time", &grib_accessor_class_time},
{""},
#line 61 "accessor_class_list.gperf"
{"data_g2shsimple_packing", &grib_accessor_class_data_g2shsimple_packing},
{""},
-#line 154 "accessor_class_list.gperf"
+#line 155 "accessor_class_list.gperf"
{"packing_type", &grib_accessor_class_packing_type},
#line 62 "accessor_class_list.gperf"
{"data_g2simple_packing", &grib_accessor_class_data_g2simple_packing},
@@ -198,28 +198,28 @@ static const struct accessor_class_hash classes[] =
{"g2end_step", &grib_accessor_class_g2end_step},
#line 98 "accessor_class_list.gperf"
{"g2_eps", &grib_accessor_class_g2_eps},
-#line 141 "accessor_class_list.gperf"
+#line 142 "accessor_class_list.gperf"
{"nearest", &grib_accessor_class_nearest},
{""},
-#line 157 "accessor_class_list.gperf"
+#line 158 "accessor_class_list.gperf"
{"padto", &grib_accessor_class_padto},
-#line 188 "accessor_class_list.gperf"
+#line 189 "accessor_class_list.gperf"
{"sum", &grib_accessor_class_sum},
{""},
#line 107 "accessor_class_list.gperf"
{"g2lon", &grib_accessor_class_g2lon},
-#line 202 "accessor_class_list.gperf"
+#line 203 "accessor_class_list.gperf"
{"uint8", &grib_accessor_class_uint8},
{""},
-#line 187 "accessor_class_list.gperf"
+#line 188 "accessor_class_list.gperf"
{"step_in_units", &grib_accessor_class_step_in_units},
#line 63 "accessor_class_list.gperf"
{"data_g2simple_packing_with_preprocessing", &grib_accessor_class_data_g2simple_packing_with_preprocessing},
-#line 200 "accessor_class_list.gperf"
+#line 201 "accessor_class_list.gperf"
{"uint64", &grib_accessor_class_uint64},
#line 47 "accessor_class_list.gperf"
{"data_complex_packing", &grib_accessor_class_data_complex_packing},
-#line 198 "accessor_class_list.gperf"
+#line 199 "accessor_class_list.gperf"
{"uint32", &grib_accessor_class_uint32},
#line 13 "accessor_class_list.gperf"
{"bit", &grib_accessor_class_bit},
@@ -233,7 +233,7 @@ static const struct accessor_class_hash classes[] =
{"julian_day", &grib_accessor_class_julian_day},
#line 123 "accessor_class_list.gperf"
{"julian_date", &grib_accessor_class_julian_date},
-#line 142 "accessor_class_list.gperf"
+#line 143 "accessor_class_list.gperf"
{"non_alpha", &grib_accessor_class_non_alpha},
{""},
#line 29 "accessor_class_list.gperf"
@@ -245,14 +245,14 @@ static const struct accessor_class_hash classes[] =
#line 16 "accessor_class_list.gperf"
{"bits_per_value", &grib_accessor_class_bits_per_value},
{""}, {""}, {""}, {""}, {""},
-#line 166 "accessor_class_list.gperf"
+#line 167 "accessor_class_list.gperf"
{"scale", &grib_accessor_class_scale},
{""},
-#line 184 "accessor_class_list.gperf"
+#line 185 "accessor_class_list.gperf"
{"statistics", &grib_accessor_class_statistics},
#line 102 "accessor_class_list.gperf"
{"g2date", &grib_accessor_class_g2date},
-#line 144 "accessor_class_list.gperf"
+#line 145 "accessor_class_list.gperf"
{"number_of_points", &grib_accessor_class_number_of_points},
#line 100 "accessor_class_list.gperf"
{"g2bitmap", &grib_accessor_class_g2bitmap},
@@ -265,13 +265,13 @@ static const struct accessor_class_hash classes[] =
{"gds_not_present_bitmap", &grib_accessor_class_gds_not_present_bitmap},
#line 122 "accessor_class_list.gperf"
{"iterator", &grib_accessor_class_iterator},
-#line 185 "accessor_class_list.gperf"
+#line 186 "accessor_class_list.gperf"
{"statistics_spectral", &grib_accessor_class_statistics_spectral},
#line 46 "accessor_class_list.gperf"
{"data_ccsds_packing", &grib_accessor_class_data_ccsds_packing},
-#line 145 "accessor_class_list.gperf"
+#line 146 "accessor_class_list.gperf"
{"number_of_points_gaussian", &grib_accessor_class_number_of_points_gaussian},
-#line 205 "accessor_class_list.gperf"
+#line 206 "accessor_class_list.gperf"
{"unsigned", &grib_accessor_class_unsigned},
#line 138 "accessor_class_list.gperf"
{"md5", &grib_accessor_class_md5},
@@ -280,30 +280,30 @@ static const struct accessor_class_hash classes[] =
{"g2_aerosol", &grib_accessor_class_g2_aerosol},
#line 139 "accessor_class_list.gperf"
{"message", &grib_accessor_class_message},
-#line 206 "accessor_class_list.gperf"
+#line 207 "accessor_class_list.gperf"
{"unsigned_bits", &grib_accessor_class_unsigned_bits},
-#line 173 "accessor_class_list.gperf"
+#line 174 "accessor_class_list.gperf"
{"select_step_template", &grib_accessor_class_select_step_template},
#line 136 "accessor_class_list.gperf"
{"mars_param", &grib_accessor_class_mars_param},
-#line 203 "accessor_class_list.gperf"
+#line 204 "accessor_class_list.gperf"
{"unexpanded_descriptors", &grib_accessor_class_unexpanded_descriptors},
-#line 192 "accessor_class_list.gperf"
+#line 193 "accessor_class_list.gperf"
{"to_integer", &grib_accessor_class_to_integer},
{""}, {""}, {""},
-#line 177 "accessor_class_list.gperf"
+#line 178 "accessor_class_list.gperf"
{"simple_packing_error", &grib_accessor_class_simple_packing_error},
-#line 186 "accessor_class_list.gperf"
+#line 187 "accessor_class_list.gperf"
{"step_human_readable", &grib_accessor_class_step_human_readable},
#line 140 "accessor_class_list.gperf"
{"message_copy", &grib_accessor_class_message_copy},
-#line 162 "accessor_class_list.gperf"
+#line 163 "accessor_class_list.gperf"
{"raw", &grib_accessor_class_raw},
{""}, {""},
-#line 201 "accessor_class_list.gperf"
+#line 202 "accessor_class_list.gperf"
{"uint64_little_endian", &grib_accessor_class_uint64_little_endian},
{""},
-#line 199 "accessor_class_list.gperf"
+#line 200 "accessor_class_list.gperf"
{"uint32_little_endian", &grib_accessor_class_uint32_little_endian},
#line 114 "accessor_class_list.gperf"
{"global_gaussian", &grib_accessor_class_global_gaussian},
@@ -311,20 +311,20 @@ static const struct accessor_class_hash classes[] =
#line 76 "accessor_class_list.gperf"
{"divdouble", &grib_accessor_class_divdouble},
{""},
-#line 174 "accessor_class_list.gperf"
+#line 175 "accessor_class_list.gperf"
{"sexagesimal2decimal", &grib_accessor_class_sexagesimal2decimal},
#line 99 "accessor_class_list.gperf"
{"g2_mars_labeling", &grib_accessor_class_g2_mars_labeling},
#line 78 "accessor_class_list.gperf"
{"element", &grib_accessor_class_element},
-#line 159 "accessor_class_list.gperf"
+#line 160 "accessor_class_list.gperf"
{"padtomultiple", &grib_accessor_class_padtomultiple},
#line 127 "accessor_class_list.gperf"
{"latitudes", &grib_accessor_class_latitudes},
-#line 163 "accessor_class_list.gperf"
+#line 164 "accessor_class_list.gperf"
{"rdbtime_guess_date", &grib_accessor_class_rdbtime_guess_date},
{""}, {""}, {""},
-#line 193 "accessor_class_list.gperf"
+#line 194 "accessor_class_list.gperf"
{"to_string", &grib_accessor_class_to_string},
#line 132 "accessor_class_list.gperf"
{"long", &grib_accessor_class_long},
@@ -348,20 +348,20 @@ static const struct accessor_class_hash classes[] =
{""},
#line 28 "accessor_class_list.gperf"
{"bufrdc_expanded_descriptors", &grib_accessor_class_bufrdc_expanded_descriptors},
-#line 160 "accessor_class_list.gperf"
+#line 161 "accessor_class_list.gperf"
{"position", &grib_accessor_class_position},
{""}, {""}, {""},
#line 17 "accessor_class_list.gperf"
{"blob", &grib_accessor_class_blob},
#line 109 "accessor_class_list.gperf"
{"gaussian_grid_name", &grib_accessor_class_gaussian_grid_name},
-#line 196 "accessor_class_list.gperf"
+#line 197 "accessor_class_list.gperf"
{"trim", &grib_accessor_class_trim},
{""}, {""},
#line 119 "accessor_class_list.gperf"
{"ibmfloat", &grib_accessor_class_ibmfloat},
{""}, {""},
-#line 194 "accessor_class_list.gperf"
+#line 195 "accessor_class_list.gperf"
{"transient", &grib_accessor_class_transient},
#line 55 "accessor_class_list.gperf"
{"data_g1shsimple_packing", &grib_accessor_class_data_g1shsimple_packing},
@@ -370,15 +370,15 @@ static const struct accessor_class_hash classes[] =
{"data_g1simple_packing", &grib_accessor_class_data_g1simple_packing},
#line 49 "accessor_class_list.gperf"
{"data_g1complex_packing", &grib_accessor_class_data_g1complex_packing},
-#line 165 "accessor_class_list.gperf"
+#line 166 "accessor_class_list.gperf"
{"round", &grib_accessor_class_round},
-#line 195 "accessor_class_list.gperf"
+#line 196 "accessor_class_list.gperf"
{"transient_darray", &grib_accessor_class_transient_darray},
#line 18 "accessor_class_list.gperf"
{"budgdate", &grib_accessor_class_budgdate},
-#line 209 "accessor_class_list.gperf"
+#line 210 "accessor_class_list.gperf"
{"values", &grib_accessor_class_values},
-#line 143 "accessor_class_list.gperf"
+#line 144 "accessor_class_list.gperf"
{"number_of_coded_values", &grib_accessor_class_number_of_coded_values},
#line 126 "accessor_class_list.gperf"
{"label", &grib_accessor_class_label},
@@ -386,30 +386,30 @@ static const struct accessor_class_hash classes[] =
#line 38 "accessor_class_list.gperf"
{"concept", &grib_accessor_class_concept},
{""},
-#line 182 "accessor_class_list.gperf"
+#line 183 "accessor_class_list.gperf"
{"spectral_truncation", &grib_accessor_class_spectral_truncation},
{""}, {""},
#line 83 "accessor_class_list.gperf"
{"g1_message_length", &grib_accessor_class_g1_message_length},
-#line 183 "accessor_class_list.gperf"
+#line 184 "accessor_class_list.gperf"
{"sprintf", &grib_accessor_class_sprintf},
-#line 189 "accessor_class_list.gperf"
+#line 190 "accessor_class_list.gperf"
{"suppressed", &grib_accessor_class_suppressed},
{""},
-#line 212 "accessor_class_list.gperf"
+#line 213 "accessor_class_list.gperf"
{"when", &grib_accessor_class_when},
{""}, {""},
-#line 179 "accessor_class_list.gperf"
+#line 180 "accessor_class_list.gperf"
{"smart_table", &grib_accessor_class_smart_table},
{""},
#line 39 "accessor_class_list.gperf"
{"constant", &grib_accessor_class_constant},
{""}, {""},
-#line 161 "accessor_class_list.gperf"
+#line 162 "accessor_class_list.gperf"
{"proj_string", &grib_accessor_class_proj_string},
-#line 149 "accessor_class_list.gperf"
+#line 150 "accessor_class_list.gperf"
{"octet_number", &grib_accessor_class_octet_number},
-#line 180 "accessor_class_list.gperf"
+#line 181 "accessor_class_list.gperf"
{"smart_table_column", &grib_accessor_class_smart_table_column},
{""},
#line 135 "accessor_class_list.gperf"
@@ -426,7 +426,7 @@ static const struct accessor_class_hash classes[] =
{"data_sh_unpacked", &grib_accessor_class_data_sh_unpacked},
#line 27 "accessor_class_list.gperf"
{"bufr_string_values", &grib_accessor_class_bufr_string_values},
-#line 197 "accessor_class_list.gperf"
+#line 198 "accessor_class_list.gperf"
{"uint16", &grib_accessor_class_uint16},
{""}, {""},
#line 71 "accessor_class_list.gperf"
@@ -439,26 +439,27 @@ static const struct accessor_class_hash classes[] =
{""},
#line 54 "accessor_class_list.gperf"
{"data_g1secondary_bitmap", &grib_accessor_class_data_g1secondary_bitmap},
-#line 191 "accessor_class_list.gperf"
+#line 192 "accessor_class_list.gperf"
{"to_double", &grib_accessor_class_to_double},
#line 101 "accessor_class_list.gperf"
{"g2bitmap_present", &grib_accessor_class_g2bitmap_present},
#line 120 "accessor_class_list.gperf"
{"ieeefloat", &grib_accessor_class_ieeefloat},
-#line 150 "accessor_class_list.gperf"
+#line 151 "accessor_class_list.gperf"
{"offset_file", &grib_accessor_class_offset_file},
-#line 207 "accessor_class_list.gperf"
- {"validity_date", &grib_accessor_class_validity_date},
#line 208 "accessor_class_list.gperf"
+ {"validity_date", &grib_accessor_class_validity_date},
+#line 209 "accessor_class_list.gperf"
{"validity_time", &grib_accessor_class_validity_time},
{""},
#line 130 "accessor_class_list.gperf"
{"library_version", &grib_accessor_class_library_version},
-#line 211 "accessor_class_list.gperf"
+#line 212 "accessor_class_list.gperf"
{"vector", &grib_accessor_class_vector},
#line 84 "accessor_class_list.gperf"
{"g1_section4_length", &grib_accessor_class_g1_section4_length},
- {""},
+#line 141 "accessor_class_list.gperf"
+ {"multdouble", &grib_accessor_class_multdouble},
#line 52 "accessor_class_list.gperf"
{"data_g1second_order_general_packing", &grib_accessor_class_data_g1second_order_general_packing},
{""}, {""},
@@ -467,7 +468,7 @@ static const struct accessor_class_hash classes[] =
{""},
#line 24 "accessor_class_list.gperf"
{"bufr_extract_subsets", &grib_accessor_class_bufr_extract_subsets},
-#line 158 "accessor_class_list.gperf"
+#line 159 "accessor_class_list.gperf"
{"padtoeven", &grib_accessor_class_padtoeven},
#line 50 "accessor_class_list.gperf"
{"data_g1second_order_constant_width_packing", &grib_accessor_class_data_g1second_order_constant_width_packing},
@@ -483,7 +484,7 @@ static const struct accessor_class_hash classes[] =
#line 21 "accessor_class_list.gperf"
{"bufr_elements_table", &grib_accessor_class_bufr_elements_table},
{""}, {""}, {""}, {""},
-#line 153 "accessor_class_list.gperf"
+#line 154 "accessor_class_list.gperf"
{"pack_bufr_values", &grib_accessor_class_pack_bufr_values},
#line 35 "accessor_class_list.gperf"
{"codetable", &grib_accessor_class_codetable},
@@ -495,7 +496,7 @@ static const struct accessor_class_hash classes[] =
{""},
#line 88 "accessor_class_list.gperf"
{"g1end_of_interval_monthly", &grib_accessor_class_g1end_of_interval_monthly},
-#line 146 "accessor_class_list.gperf"
+#line 147 "accessor_class_list.gperf"
{"number_of_values", &grib_accessor_class_number_of_values},
{""},
#line 116 "accessor_class_list.gperf"
@@ -503,26 +504,26 @@ static const struct accessor_class_hash classes[] =
{""},
#line 33 "accessor_class_list.gperf"
{"closest_date", &grib_accessor_class_closest_date},
-#line 152 "accessor_class_list.gperf"
+#line 153 "accessor_class_list.gperf"
{"optimal_step_units", &grib_accessor_class_optimal_step_units},
{""},
-#line 210 "accessor_class_list.gperf"
+#line 211 "accessor_class_list.gperf"
{"variable", &grib_accessor_class_variable},
#line 133 "accessor_class_list.gperf"
{"long_vector", &grib_accessor_class_long_vector},
-#line 167 "accessor_class_list.gperf"
+#line 168 "accessor_class_list.gperf"
{"scale_values", &grib_accessor_class_scale_values},
{""}, {""}, {""},
#line 128 "accessor_class_list.gperf"
{"latlon_increment", &grib_accessor_class_latlon_increment},
{""}, {""}, {""},
-#line 147 "accessor_class_list.gperf"
+#line 148 "accessor_class_list.gperf"
{"number_of_values_data_raw_packing", &grib_accessor_class_number_of_values_data_raw_packing},
{""},
#line 79 "accessor_class_list.gperf"
{"evaluate", &grib_accessor_class_evaluate},
{""}, {""}, {""}, {""}, {""},
-#line 151 "accessor_class_list.gperf"
+#line 152 "accessor_class_list.gperf"
{"offset_values", &grib_accessor_class_offset_values},
#line 69 "accessor_class_list.gperf"
{"data_sh_packed", &grib_accessor_class_data_sh_packed},
@@ -535,7 +536,7 @@ static const struct accessor_class_hash classes[] =
{""}, {""},
#line 41 "accessor_class_list.gperf"
{"count_missing", &grib_accessor_class_count_missing},
-#line 204 "accessor_class_list.gperf"
+#line 205 "accessor_class_list.gperf"
{"unpack_bufr_values", &grib_accessor_class_unpack_bufr_values},
{""}, {""},
#line 121 "accessor_class_list.gperf"
@@ -569,7 +570,7 @@ static const struct accessor_class_hash classes[] =
#line 31 "accessor_class_list.gperf"
{"change_scanning_direction", &grib_accessor_class_change_scanning_direction},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 148 "accessor_class_list.gperf"
+#line 149 "accessor_class_list.gperf"
{"octahedral_gaussian", &grib_accessor_class_octahedral_gaussian},
#line 10 "accessor_class_list.gperf"
{"abstract_long_vector", &grib_accessor_class_abstract_long_vector},
@@ -600,7 +601,7 @@ static const struct accessor_class_hash classes[] =
#line 87 "accessor_class_list.gperf"
{"g1day_of_the_year_date", &grib_accessor_class_g1day_of_the_year_date},
{""}, {""}, {""}, {""}, {""},
-#line 164 "accessor_class_list.gperf"
+#line 165 "accessor_class_list.gperf"
{"reference_value_error", &grib_accessor_class_reference_value_error},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -621,11 +622,11 @@ static const struct accessor_class_hash classes[] =
};
static const struct accessor_class_hash* grib_accessor_classes_hash(const char *str, size_t len)
-{
- unsigned int key = grib_accessor_classes_get_id (str, len);
+ {
+ unsigned int key = grib_accessor_classes_get_id (str, len);
#ifdef DEBUG
- {
+ {
const char *s;
Assert( len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH );
Assert( key <= MAX_HASH_VALUE );
@@ -634,5 +635,5 @@ static const struct accessor_class_hash* grib_accessor_classes_hash(const char *
}
#endif
- return &classes[key];
+ return &classes[key];
}
diff --git a/src/grib_accessor_factory.h b/src/grib_accessor_factory.h
index 00112e240..2f889a0c6 100644
--- a/src/grib_accessor_factory.h
+++ b/src/grib_accessor_factory.h
@@ -130,6 +130,7 @@
{ "md5", &grib_accessor_class_md5, },
{ "message", &grib_accessor_class_message, },
{ "message_copy", &grib_accessor_class_message_copy, },
+{ "multdouble", &grib_accessor_class_multdouble, },
{ "nearest", &grib_accessor_class_nearest, },
{ "non_alpha", &grib_accessor_class_non_alpha, },
{ "number_of_coded_values", &grib_accessor_class_number_of_coded_values, },
diff --git a/src/grib_accessor_factory_hash_list b/src/grib_accessor_factory_hash_list
index 54627c6ad..1f7687f38 100644
--- a/src/grib_accessor_factory_hash_list
+++ b/src/grib_accessor_factory_hash_list
@@ -131,6 +131,7 @@ mars_step, &grib_accessor_class_mars_step
md5, &grib_accessor_class_md5
message, &grib_accessor_class_message
message_copy, &grib_accessor_class_message_copy
+multdouble, &grib_accessor_class_multdouble
nearest, &grib_accessor_class_nearest
non_alpha, &grib_accessor_class_non_alpha
number_of_coded_values, &grib_accessor_class_number_of_coded_values
diff --git a/src/grib_api_internal.h b/src/grib_api_internal.h
index cea8a7de1..d13edbc46 100644
--- a/src/grib_api_internal.h
+++ b/src/grib_api_internal.h
@@ -171,20 +171,6 @@ extern int pthread_mutexattr_settype(pthread_mutexattr_t* attr, int type);
if (!(a)) codes_assertion_failed(#a, __FILE__, __LINE__); \
} while (0)
-#ifdef __gnu_hurd__
-#define COMPILE_TIME_ASSERT(condition) \
- extern int compile_time_assert[!!(condition)-1]
-#else
-/* Compile time assertion - Thanks to Ralf Holly */
-#define COMPILE_TIME_ASSERT(condition) \
- do { \
- enum \
- { \
- assert_static__ = 1 / (condition) \
- }; \
- } while (0)
-#endif
-
#ifdef DEBUG
#define DEBUG_ASSERT(a) Assert(a)
#define DEBUG_ASSERT_ACCESS(array, index, size) \
@@ -258,7 +244,6 @@ typedef struct grib_accessor_class grib_accessor_class;
typedef struct grib_action grib_action;
typedef struct grib_action_class grib_action_class;
typedef struct grib_section grib_section;
-typedef struct grib_packer grib_packer;
typedef struct grib_codetable grib_codetable;
typedef struct grib_smart_table grib_smart_table;
@@ -268,12 +253,10 @@ typedef struct grib_nearest_class grib_nearest_class;
typedef struct grib_dumper grib_dumper;
typedef struct grib_dumper_class grib_dumper_class;
typedef struct grib_dependency grib_dependency;
-typedef struct string_feed string_feed;
typedef struct codes_condition codes_condition;
-/* typedef void (*dynamic_key_proc) (const char*, void*)
-*/
+/* typedef void (*dynamic_key_proc) (const char*, void*) */
typedef void (*nearest_init_class_proc)(grib_nearest_class*);
typedef int (*nearest_init_proc)(grib_nearest* i, grib_handle*, grib_arguments*);
@@ -352,9 +335,6 @@ typedef double (*grib_unop_double_proc)(double);
typedef int (*grib_binop_string_proc)(char*, char*);
-typedef struct second_order_packed second_order_packed;
-typedef void grib_expression_visit_proc(void* udata, grib_expression* e);
-
struct grib_key_value_list
{
const char* name;
@@ -369,7 +349,7 @@ struct grib_key_value_list
grib_key_value_list* next;
};
-struct second_order_packed
+/* struct second_order_packed
{
unsigned long nbits_per_widths;
unsigned long nbits_per_group_size;
@@ -378,20 +358,7 @@ struct second_order_packed
unsigned long* array_of_group_size;
unsigned long* array_of_group_width;
long* array_of_group_refs;
-};
-
-/**
-* an grib_compression
-* Structure supporting the packing and unpacking procedures
-*
-* @see grib_action_create_data
-*/
-struct grib_packer
-{
- const char* name;
- grib_pack_proc pack; /** < packing procedure */
- grib_unpack_proc unpack; /** < unpacking procedure */
-};
+}; */
/* --------------- */
typedef struct grib_loader grib_loader;
@@ -408,7 +375,7 @@ struct grib_loader
};
/**
-* an action
+* An action
* Structure supporting the creation of accessor, resulting of a statement during a definition file parsing
*
* @see grib_action_class
@@ -451,7 +418,7 @@ typedef grib_action* (*action_reparse_proc)(grib_action* a, grib_accessor*, int*
typedef int (*action_execute_proc)(grib_action* a, grib_handle*);
/**
-* an action_class
+* An action_class
* Structure supporting the specific behaviour of an action
*
* @see grib_action
@@ -478,22 +445,22 @@ struct grib_action_class
};
/**
-* a buffer
+* A buffer
* Structure containing the data of a message
*/
struct grib_buffer
{
- int property; /** < property parameter of buffer */
- int validity; /** < validity parameter of buffer */
- int growable; /** < buffer can be grown */
- size_t length; /** < Buffer length */
- size_t ulength; /** < length used of the buffer */
- size_t ulength_bits; /** < length used of the buffer in bits */
- unsigned char* data; /** < the data byte array */
+ int property; /** < property parameter of buffer */
+ int validity; /** < validity parameter of buffer */
+ int growable; /** < buffer can be grown */
+ size_t length; /** < Buffer length */
+ size_t ulength; /** < length used of the buffer */
+ size_t ulength_bits; /** < length used of the buffer in bits */
+ unsigned char* data; /** < the data byte array */
};
/**
-* an Accessor
+* An accessor
* Structure supporting each single data unit and allowing its access
* @see grib_accessor_class
*/
@@ -514,18 +481,18 @@ struct grib_virtual_value
struct grib_accessor
{
- const char* name; /** < name of the accessor */
- const char* name_space; /** < namespace to which the accessor belongs */
+ const char* name; /** < name of the accessor */
+ const char* name_space; /** < namespace to which the accessor belongs */
grib_context* context;
grib_handle* h;
- grib_action* creator; /** < action that created the accessor */
- long length; /** < byte length of the accessor */
- long offset; /** < offset of the data in the buffer */
- grib_section* parent; /** < section to which the accessor is attached */
- grib_accessor* next; /** < next accessor in list */
- grib_accessor* previous; /** < next accessor in list */
- grib_accessor_class* cclass; /** < behaviour of the accessor */
- unsigned long flags; /** < Various flags */
+ grib_action* creator; /** < action that created the accessor */
+ long length; /** < byte length of the accessor */
+ long offset; /** < offset of the data in the buffer */
+ grib_section* parent; /** < section to which the accessor is attached */
+ grib_accessor* next; /** < next accessor in list */
+ grib_accessor* previous; /** < next accessor in list */
+ grib_accessor_class* cclass; /** < behaviour of the accessor */
+ unsigned long flags; /** < Various flags */
grib_section* sub_section;
const char* all_names[MAX_ACCESSOR_NAMES]; /** < name of the accessor */
@@ -561,7 +528,7 @@ struct grib_accessor
#define GRIB_ACCESSOR_FLAG_COPY_IF_CHANGING_EDITION (1 << 19)
/**
-* a section accessor
+* A section accessor
* Structure supporting hierarchical naming of the accessors
* @see grib_accessor
*/
@@ -569,9 +536,9 @@ struct grib_section
{
grib_accessor* owner;
grib_handle* h; /** < Handles of all accessors and buffer */
- grib_accessor* aclength; /** < block of the length of the block */
- grib_block_of_accessors* block; /** < block */
- grib_action* branch; /** < branch that created the block */
+ grib_accessor* aclength; /** < block of the length of the block */
+ grib_block_of_accessors* block; /** < block */
+ grib_action* branch; /** < branch that created the block */
size_t length;
size_t padding;
};
@@ -581,17 +548,14 @@ struct grib_iterator_class
grib_iterator_class** super;
const char* name;
size_t size;
-
int inited;
iterator_init_class_proc init_class;
-
- iterator_init_proc init;
- iterator_destroy_proc destroy;
-
- iterator_next_proc next;
- iterator_previous_proc previous;
- iterator_reset_proc reset;
- iterator_has_next_proc has_next;
+ iterator_init_proc init;
+ iterator_destroy_proc destroy;
+ iterator_next_proc next;
+ iterator_previous_proc previous;
+ iterator_reset_proc reset;
+ iterator_has_next_proc has_next;
};
struct grib_nearest_class
@@ -599,14 +563,11 @@ struct grib_nearest_class
grib_nearest_class** super;
const char* name;
size_t size;
-
int inited;
nearest_init_class_proc init_class;
-
- nearest_init_proc init;
- nearest_destroy_proc destroy;
-
- nearest_find_proc find;
+ nearest_init_proc init;
+ nearest_destroy_proc destroy;
+ nearest_find_proc find;
};
/* --------------- */
@@ -654,18 +615,18 @@ struct grib_dumper_class
struct grib_iterator
{
- grib_arguments* args; /** args of iterator */
+ grib_arguments* args; /** args of iterator */
grib_handle* h;
- long e; /** current element */
- size_t nv; /** number of values */
- double* data; /** data values */
+ long e; /** current element */
+ size_t nv; /** number of values */
+ double* data; /** data values */
grib_iterator_class* cclass;
unsigned long flags;
};
struct grib_nearest
{
- grib_arguments* args; /** args of iterator */
+ grib_arguments* args; /** args of iterator */
grib_handle* h;
grib_context* context;
double* values;
@@ -837,10 +798,9 @@ void codes_assertion_failed(const char* message, const char* file, int line);
struct grib_handle
{
- grib_context* context; /** < context attached to this handle */
- grib_buffer* buffer; /** < buffer attached to the handle */
+ grib_context* context; /** < context attached to this handle */
+ grib_buffer* buffer; /** < buffer attached to the handle */
grib_section* root; /** the root section*/
- grib_section* rules; /** the rules section*/
grib_dependency* dependencies; /** List of dependencies */
grib_handle* main; /** Used during reparsing */
grib_handle* kid; /** Used during reparsing */
@@ -867,13 +827,12 @@ struct grib_handle
/* For GRIB2 multi-field messages */
struct grib_multi_handle
{
- grib_context* context; /** < context attached to this handle */
- grib_buffer* buffer; /** < buffer attached to the handle */
+ grib_context* context; /** < context attached to this handle */
+ grib_buffer* buffer; /** < buffer attached to the handle */
size_t offset;
size_t length;
};
-
struct grib_accessor_class
{
grib_accessor_class** super;
@@ -1103,24 +1062,17 @@ struct grib_expression_class
const char* name;
size_t size;
int inited;
-
- expression_class_init_proc init_class;
- expression_init_proc init;
- expression_destroy_proc destroy;
-
-
- expression_print_proc print;
- expression_add_dependency_proc add_dependency;
-
- expression_native_type_proc native_type;
- expression_get_name_proc get_name;
-
- expression_evaluate_long_proc evaluate_long;
+ expression_init_proc init;
+ expression_destroy_proc destroy;
+ expression_print_proc print;
+ expression_add_dependency_proc add_dependency;
+ expression_native_type_proc native_type;
+ expression_get_name_proc get_name;
+ expression_evaluate_long_proc evaluate_long;
expression_evaluate_double_proc evaluate_double;
expression_evaluate_string_proc evaluate_string;
};
-
struct grib_arguments
{
struct grib_arguments* next;
@@ -1237,44 +1189,6 @@ struct grib_fieldset
grib_field** fields;
};
-/* concept index structures */
-
-typedef struct grib_concept_index_key grib_concept_index_key;
-typedef struct grib_concept_index grib_concept_index;
-typedef struct grib_conditions_tree grib_conditions_tree;
-typedef struct grib_concept_entry grib_concept_entry;
-typedef struct grib_concept_key grib_concept_key;
-
-struct grib_concept_index_entry
-{
- char* name;
- char* value;
- int type;
- grib_concept_entry* next;
-};
-
-struct grib_concept_index_key
-{
- char* name;
- int type;
- grib_concept_key* next;
-};
-
-struct grib_concept_index
-{
- grib_context* context;
- grib_concept_key* keys;
- grib_conditions_tree* conditions;
-};
-
-struct grib_conditions_tree
-{
- char* value;
- void* object;
- grib_conditions_tree* next;
- grib_conditions_tree* next_key;
-};
-
/* support for in-memory definition and tables */
extern int codes_memfs_exists(const char* path);
@@ -1315,7 +1229,6 @@ struct grib_field_list
grib_field_list* next;
};
-
struct grib_index
{
grib_context* context;
@@ -1402,10 +1315,8 @@ struct bufr_keys_iterator
grib_trie* seen;
};
-/* ----------*/
-/* md5 */
+/* --------- md5 --------*/
typedef unsigned long cvs_uint32;
-
struct cvs_MD5Context
{
cvs_uint32 buf[4];
@@ -1439,7 +1350,6 @@ struct grib_case
};
/* ----------*/
-
typedef struct code_table_entry
{
char* abbreviation;
@@ -1458,7 +1368,7 @@ struct grib_codetable
typedef struct grib_smart_table_entry
{
- /*int code;*/
+ /*int code;*/
char* abbreviation;
char* column[MAX_SMART_TABLE_COLUMNS];
} grib_smart_table_entry;
diff --git a/src/grib_bufr_descriptors_array.cc b/src/grib_bufr_descriptors_array.cc
index 0134048a2..637cf14eb 100644
--- a/src/grib_bufr_descriptors_array.cc
+++ b/src/grib_bufr_descriptors_array.cc
@@ -22,8 +22,7 @@ bufr_descriptors_array* grib_bufr_descriptors_array_new(grib_context* c, size_t
v = (bufr_descriptors_array*)grib_context_malloc(c, sizeof(bufr_descriptors_array));
if (!v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "bufr_descriptors_array_new unable to allocate %ld bytes\n", sizeof(bufr_descriptors_array));
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(bufr_descriptors_array));
return NULL;
}
v->context = c;
@@ -34,7 +33,7 @@ bufr_descriptors_array* grib_bufr_descriptors_array_new(grib_context* c, size_t
v->number_of_pop_front = 0;
if (!v->v) {
grib_context_log(c, GRIB_LOG_ERROR,
- "grib_bufr_descriptors_array_new unable to allocate %ld bytes\n", sizeof(bufr_descriptor) * size);
+ "%s: Unable to allocate %zu bytes", __func__, sizeof(bufr_descriptor) * size);
return NULL;
}
return v;
@@ -73,8 +72,7 @@ static bufr_descriptors_array* grib_bufr_descriptors_array_resize_to(bufr_descri
newv = (bufr_descriptor**)grib_context_malloc_clear(c, newsize * sizeof(bufr_descriptor*));
if (!newv) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_bufr_descriptors_array_resize unable to allocate %ld bytes\n", sizeof(bufr_descriptor*) * newsize);
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(bufr_descriptor*) * newsize);
return NULL;
}
diff --git a/src/grib_context.cc b/src/grib_context.cc
index 0c1921138..a22fcc654 100644
--- a/src/grib_context.cc
+++ b/src/grib_context.cc
@@ -453,7 +453,7 @@ grib_context* grib_context_get_default()
#ifdef ECCODES_SAMPLES_PATH
if (!default_grib_context.grib_samples_path)
- default_grib_context.grib_samples_path = ECCODES_SAMPLES_PATH;
+ default_grib_context.grib_samples_path = (char*)ECCODES_SAMPLES_PATH;
#endif
default_grib_context.grib_definition_files_path = codes_getenv("ECCODES_DEFINITION_PATH");
@@ -535,11 +535,10 @@ grib_context* grib_context_get_default()
}
#endif
- grib_context_log(&default_grib_context, GRIB_LOG_DEBUG, "Definitions path: %s",
- default_grib_context.grib_definition_files_path);
- grib_context_log(&default_grib_context, GRIB_LOG_DEBUG, "Samples path: %s",
- default_grib_context.grib_samples_path);
-
+ if (default_grib_context.debug) {
+ fprintf(stderr, "ECCODES DEBUG Definitions path: %s\n", default_grib_context.grib_definition_files_path);
+ fprintf(stderr, "ECCODES DEBUG Samples path: %s\n", default_grib_context.grib_samples_path);
+ }
default_grib_context.keys_count = 0;
default_grib_context.keys = grib_hash_keys_new(&(default_grib_context), &(default_grib_context.keys_count));
@@ -840,7 +839,6 @@ void grib_context_reset(grib_context* c)
void grib_context_delete(grib_context* c)
{
- size_t i = 0;
if (!c)
c = grib_context_get_default();
@@ -852,7 +850,7 @@ void grib_context_delete(grib_context* c)
if (c != &default_grib_context)
grib_context_free_persistent(&default_grib_context, c);
- for(i=0; ihash_array[i] = NULL;
c->hash_array_count = 0;
grib_itrie_delete(c->hash_array_index);
diff --git a/src/grib_darray.cc b/src/grib_darray.cc
index f2250862d..5aac8265a 100644
--- a/src/grib_darray.cc
+++ b/src/grib_darray.cc
@@ -45,8 +45,7 @@ grib_darray* grib_darray_new(grib_context* c, size_t size, size_t incsize)
c = grib_context_get_default();
v = (grib_darray*)grib_context_malloc_clear(c, sizeof(grib_darray));
if (!v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_darray_new unable to allocate %zu bytes", sizeof(grib_darray));
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(grib_darray));
return NULL;
}
v->size = size;
@@ -55,8 +54,7 @@ grib_darray* grib_darray_new(grib_context* c, size_t size, size_t incsize)
v->context = c;
v->v = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
if (!v->v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_darray_new unable to allocate %zu bytes", sizeof(double) * size);
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(double) * size);
return NULL;
}
return v;
@@ -73,7 +71,7 @@ static grib_darray* grib_darray_resize(grib_darray* v)
v->size = newsize;
if (!v->v) {
grib_context_log(c, GRIB_LOG_ERROR,
- "grib_darray_resize unable to allocate %zu bytes", sizeof(double) * newsize);
+ "%s: Unable to allocate %zu bytes", __func__, sizeof(double) * newsize);
return NULL;
}
return v;
diff --git a/src/grib_dependency.cc b/src/grib_dependency.cc
index 769ec49ce..4c417173e 100644
--- a/src/grib_dependency.cc
+++ b/src/grib_dependency.cc
@@ -134,7 +134,7 @@ int grib_dependency_notify_change(grib_accessor* observed)
/* This version takes in the handle so does not need to work it out from the 'observed' */
/* See ECC-778 */
-int ecc__grib_dependency_notify_change(grib_handle* h, grib_accessor* observed)
+int grib_dependency_notify_change_h(grib_handle* h, grib_accessor* observed)
{
grib_dependency* d = h->dependencies;
int ret = GRIB_SUCCESS;
diff --git a/src/grib_dumper_class_bufr_encode_C.cc b/src/grib_dumper_class_bufr_encode_C.cc
index de68b423f..568a035bb 100644
--- a/src/grib_dumper_class_bufr_encode_C.cc
+++ b/src/grib_dumper_class_bufr_encode_C.cc
@@ -102,13 +102,14 @@ static void init_class(grib_dumper_class* c) {}
static int init(grib_dumper* d)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- grib_context* c = d->context;
- self->section_offset = 0;
- self->empty = 1;
- d->count = 1;
- self->isLeaf = 0;
- self->isAttribute = 0;
- self->keys = (grib_string_list*)grib_context_malloc_clear(c, sizeof(grib_string_list));
+
+ grib_context* c = d->context;
+ self->section_offset = 0;
+ self->empty = 1;
+ d->count = 1;
+ self->isLeaf = 0;
+ self->isAttribute = 0;
+ self->keys = (grib_string_list*)grib_context_malloc_clear(c, sizeof(grib_string_list));
return GRIB_SUCCESS;
}
@@ -116,9 +117,9 @@ static int init(grib_dumper* d)
static int destroy(grib_dumper* d)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- grib_string_list* next = self->keys;
- grib_string_list* cur = NULL;
- grib_context* c = d->context;
+ grib_string_list* next = self->keys;
+ grib_string_list* cur = NULL;
+ grib_context* c = d->context;
while (next) {
cur = next;
next = next->next;
@@ -152,10 +153,11 @@ static char* dval_to_string(grib_context* c, double v)
static void dump_values(grib_dumper* d, grib_accessor* a)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- double value = 0;
+
+ double value = 0;
size_t size = 0, size2 = 0;
- double* values = NULL;
- int err = 0;
+ double* values = NULL;
+ int err = 0;
int i, r, icount;
int cols = 2;
long count = 0;
@@ -248,10 +250,11 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- double value = 0;
+
+ double value = 0;
size_t size = 0, size2 = 0;
- double* values = NULL;
- int err = 0;
+ double* values = NULL;
+ int err = 0;
int i, icount;
int cols = 2;
long count = 0;
@@ -333,16 +336,17 @@ static int is_hidden(grib_accessor* a)
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- long value = 0;
+
+ long value = 0;
size_t size = 0, size2 = 0;
- long* values = NULL;
- int err = 0;
+ long* values = NULL;
+ int err = 0;
int i, r, icount;
- int cols = 4;
- long count = 0;
- char* sval = NULL;
- grib_context* c = a->context;
- grib_handle* h = grib_handle_of_accessor(a);
+ int cols = 4;
+ long count = 0;
+ char* sval = NULL;
+ grib_context* c = a->context;
+ grib_handle* h = grib_handle_of_accessor(a);
int doing_unexpandedDescriptors = 0;
if ((a->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0) { /* key does not have the dump attribute */
@@ -471,10 +475,11 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- long value = 0;
+
+ long value = 0;
size_t size = 0, size2 = 0;
- long* values = NULL;
- int err = 0;
+ long* values = NULL;
+ int err = 0;
int i, icount;
int cols = 4;
long count = 0;
@@ -552,8 +557,9 @@ static void dump_bits(grib_dumper* d, grib_accessor* a, const char* comment)
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- double value = 0;
- size_t size = 1;
+
+ double value = 0;
+ size_t size = 1;
int r;
char* sval;
grib_handle* h = grib_handle_of_accessor(a);
@@ -667,15 +673,16 @@ static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comm
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- char* value = NULL;
- char* p = NULL;
- size_t size = 0;
- grib_context* c = a->context;
+
+ char* value = NULL;
+ char* p = NULL;
+ size_t size = 0;
+ grib_context* c = a->context;
int r = 0, err = 0;
- grib_handle* h = grib_handle_of_accessor(a);
+ grib_handle* h = grib_handle_of_accessor(a);
const char* acc_name = a->name;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if (size == 0)
return;
@@ -814,7 +821,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix)
{
- int i = 0;
+ int i = 0;
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
unsigned long flags;
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
@@ -846,7 +853,7 @@ static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix
static void header(grib_dumper* d, grib_handle* h)
{
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
- char sampleName[200] = { 0 };
+ char sampleName[200] = { 0 };
long localSectionPresent, edition, bufrHeaderCentre, isSatellite;
Assert(h->product_kind == PRODUCT_BUFR);
diff --git a/src/grib_dumper_class_bufr_encode_filter.cc b/src/grib_dumper_class_bufr_encode_filter.cc
index d55eb767a..49c4d19ef 100644
--- a/src/grib_dumper_class_bufr_encode_filter.cc
+++ b/src/grib_dumper_class_bufr_encode_filter.cc
@@ -611,7 +611,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
if ((a->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0 || (a->flags & GRIB_ACCESSOR_FLAG_READ_ONLY) != 0)
return;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if (size == 0)
return;
diff --git a/src/grib_dumper_class_bufr_encode_fortran.cc b/src/grib_dumper_class_bufr_encode_fortran.cc
index b0f462019..e76bd0872 100644
--- a/src/grib_dumper_class_bufr_encode_fortran.cc
+++ b/src/grib_dumper_class_bufr_encode_fortran.cc
@@ -103,13 +103,14 @@ static void init_class(grib_dumper_class* c) {}
static int init(grib_dumper* d)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- grib_context* c = d->context;
- self->section_offset = 0;
- self->empty = 1;
- d->count = 1;
- self->isLeaf = 0;
- self->isAttribute = 0;
- self->keys = (grib_string_list*)grib_context_malloc_clear(c, sizeof(grib_string_list));
+
+ grib_context* c = d->context;
+ self->section_offset = 0;
+ self->empty = 1;
+ d->count = 1;
+ self->isLeaf = 0;
+ self->isAttribute = 0;
+ self->keys = (grib_string_list*)grib_context_malloc_clear(c, sizeof(grib_string_list));
return GRIB_SUCCESS;
}
@@ -117,9 +118,10 @@ static int init(grib_dumper* d)
static int destroy(grib_dumper* d)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- grib_string_list* next = self->keys;
- grib_string_list* cur = NULL;
- grib_context* c = d->context;
+
+ grib_string_list* next = self->keys;
+ grib_string_list* cur = NULL;
+ grib_context* c = d->context;
while (next) {
cur = next;
next = next->next;
@@ -200,10 +202,11 @@ static char* break_line(grib_context* c, const char* input)
static void dump_values(grib_dumper* d, grib_accessor* a)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- double value = 0;
+
+ double value = 0;
size_t size = 0, size2 = 0;
- double* values = NULL;
- int err = 0;
+ double* values = NULL;
+ int err = 0;
int i, r, icount;
int cols = 2;
long count = 0;
@@ -295,10 +298,11 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- double value = 0;
+
+ double value = 0;
size_t size = 0, size2 = 0;
- double* values = NULL;
- int err = 0;
+ double* values = NULL;
+ int err = 0;
int i, icount;
int cols = 2;
long count = 0;
@@ -381,16 +385,17 @@ static int is_hidden(grib_accessor* a)
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- long value = 0;
+
+ long value = 0;
size_t size = 0, size2 = 0;
- long* values = NULL;
- int err = 0;
+ long* values = NULL;
+ int err = 0;
int i, r, icount;
- int cols = 4;
- long count = 0;
- char* sval = NULL;
- grib_context* c = a->context;
- grib_handle* h = grib_handle_of_accessor(a);
+ int cols = 4;
+ long count = 0;
+ char* sval = NULL;
+ grib_context* c = a->context;
+ grib_handle* h = grib_handle_of_accessor(a);
int doing_unexpandedDescriptors = 0;
if ((a->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0) { /* key does not have the dump attribute */
@@ -516,10 +521,11 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- long value = 0;
+
+ long value = 0;
size_t size = 0, size2 = 0;
- long* values = NULL;
- int err = 0;
+ long* values = NULL;
+ int err = 0;
int i, icount;
int cols = 4;
long count = 0;
@@ -603,8 +609,9 @@ static void dump_bits(grib_dumper* d, grib_accessor* a, const char* comment)
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- double value = 0;
- size_t size = 1;
+
+ double value = 0;
+ size_t size = 1;
int r;
char* sval;
grib_handle* h = grib_handle_of_accessor(a);
@@ -715,16 +722,17 @@ static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comm
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- char* value = NULL;
- char* p = NULL;
- size_t size = 0;
- grib_context* c = a->context;
+
+ char* value = NULL;
+ char* p = NULL;
+ size_t size = 0;
+ grib_context* c = a->context;
int r;
int err = 0;
grib_handle* h = grib_handle_of_accessor(a);
const char* acc_name = a->name;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if (size == 0)
return;
@@ -860,7 +868,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix)
{
- int i = 0;
+ int i = 0;
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
unsigned long flags;
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
@@ -892,7 +900,7 @@ static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix
static void header(grib_dumper* d, grib_handle* h)
{
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
- char sampleName[200] = { 0 };
+ char sampleName[200] = { 0 };
long localSectionPresent, edition, bufrHeaderCentre, isSatellite;
grib_get_long(h, "localSectionPresent", &localSectionPresent);
diff --git a/src/grib_dumper_class_bufr_encode_python.cc b/src/grib_dumper_class_bufr_encode_python.cc
index f4bcba49b..34367c913 100644
--- a/src/grib_dumper_class_bufr_encode_python.cc
+++ b/src/grib_dumper_class_bufr_encode_python.cc
@@ -665,7 +665,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
grib_handle* h = grib_handle_of_accessor(a);
const char* acc_name = a->name;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if (size == 0)
return;
diff --git a/src/grib_dumper_class_debug.cc b/src/grib_dumper_class_debug.cc
index cf92e9e28..77206c829 100644
--- a/src/grib_dumper_class_debug.cc
+++ b/src/grib_dumper_class_debug.cc
@@ -341,7 +341,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
if (a->length == 0 && (d->option_flags & GRIB_DUMP_FLAG_CODED) != 0)
return;
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if ((size < 2) && grib_is_missing_internal(a)) {
/* GRIB-302: transients and missing keys. Need to re-adjust the size */
size = 10; /* big enough to hold the string "missing" */
diff --git a/src/grib_dumper_class_default.cc b/src/grib_dumper_class_default.cc
index 61aface7f..e9bfdc702 100644
--- a/src/grib_dumper_class_default.cc
+++ b/src/grib_dumper_class_default.cc
@@ -410,7 +410,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
return;
}
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
if (size == 0)
return;
diff --git a/src/grib_dumper_class_json.cc b/src/grib_dumper_class_json.cc
index 3615595b2..a3b052844 100644
--- a/src/grib_dumper_class_json.cc
+++ b/src/grib_dumper_class_json.cc
@@ -454,11 +454,11 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
/* ECC-710: It is MUCH slower determining the string length here
* than using a maximum size (and no need for malloc).
* Specially for BUFR elements */
- /* err = ecc__grib_get_string_length(a,&size);
+ /* err = grib_get_string_length_acc(a,&size);
* if (size==0) return;
* value=(char*)grib_context_malloc_clear(a->context,size);
* if (!value) {
- * grib_context_log(a->context,GRIB_LOG_ERROR,"unable to allocate %d bytes",(int)size);
+ * grib_context_log(a->context,GRIB_LOG_ERROR,"Unable to allocate %zu bytes",size);
* return;
* }
*/
diff --git a/src/grib_dumper_class_serialize.cc b/src/grib_dumper_class_serialize.cc
index 163a01f6b..6dc4d5c87 100644
--- a/src/grib_dumper_class_serialize.cc
+++ b/src/grib_dumper_class_serialize.cc
@@ -408,11 +408,10 @@ static void dump_label(grib_dumper* d, grib_accessor* a, const char* comment)
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
{
- const char* secstr = "section";
- int len = 0;
+ const char* secstr = "section";
grib_dumper_serialize* self = (grib_dumper_serialize*)d;
- len = strlen(secstr);
+ size_t len = strlen(secstr);
if (a->name[0] == '_') {
grib_dump_accessors_block(d, block);
diff --git a/src/grib_dumper_class_wmo.cc b/src/grib_dumper_class_wmo.cc
index 4eab6d91d..814ed016f 100644
--- a/src/grib_dumper_class_wmo.cc
+++ b/src/grib_dumper_class_wmo.cc
@@ -311,7 +311,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
return;
}
- ecc__grib_get_string_length(a, &size);
+ grib_get_string_length_acc(a, &size);
value = (char*)grib_context_malloc_clear(a->context, size);
if (!value) {
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to allocate %zu bytes", size);
diff --git a/src/grib_expression.cc b/src/grib_expression.cc
index c3cd36305..4c1109640 100644
--- a/src/grib_expression.cc
+++ b/src/grib_expression.cc
@@ -19,8 +19,7 @@ int grib_expression_native_type(grib_handle* h, grib_expression* g)
c = c->super ? *(c->super) : NULL;
}
if (g->cclass)
- grib_context_log(h->context, GRIB_LOG_ERROR, "No native_type() in %s", g->cclass->name);
- Assert(1 == 0);
+ grib_context_log(h->context, GRIB_LOG_FATAL, "%s: No native_type() in %s", __func__, g->cclass->name);
return 0;
}
@@ -55,7 +54,7 @@ const char* grib_expression_evaluate_string(grib_handle* h, grib_expression* g,
c = c->super ? *(c->super) : NULL;
}
if (g->cclass)
- grib_context_log(h->context, GRIB_LOG_ERROR, "No evaluate_string() in %s", g->cclass->name);
+ grib_context_log(h->context, GRIB_LOG_ERROR, "%s: No evaluate_string() in %s", __func__, g->cclass->name);
*err = GRIB_INVALID_TYPE;
return 0;
@@ -69,8 +68,9 @@ const char* grib_expression_get_name(grib_expression* g)
return c->get_name(g);
c = c->super ? *(c->super) : NULL;
}
- if (g->cclass) printf("No expression_get_name() in %s\n", g->cclass->name);
- Assert(1 == 0);
+ if (g->cclass) {
+ grib_context_log(grib_context_get_default(), GRIB_LOG_FATAL, "%s: No get_name() in %s", __func__, g->cclass->name);
+ }
return 0;
}
@@ -84,7 +84,6 @@ void grib_expression_print(grib_context* ctx, grib_expression* g, grib_handle* f
}
c = c->super ? *(c->super) : NULL;
}
- Assert(1 == 0);
}
void grib_expression_free(grib_context* ctx, grib_expression* g)
@@ -110,43 +109,37 @@ void grib_expression_add_dependency(grib_expression* e, grib_accessor* observer)
}
c = c->super ? *(c->super) : NULL;
}
- Assert(1 == 0);
}
-/*----------------------------------------*/
-int grib_expression_set_value(grib_handle* h, grib_expression* g, grib_values* v)
-{
- char buffer[1024];
- int ret = 0;
- size_t size = sizeof(buffer);
-
- switch (v->type = grib_expression_native_type(h, g)) {
- case GRIB_TYPE_LONG:
- return grib_expression_evaluate_long(h, g, &v->long_value);
- break;
-
- case GRIB_TYPE_DOUBLE:
- return grib_expression_evaluate_double(h, g, &v->double_value);
- break;
-
- case GRIB_TYPE_STRING:
- v->string_value = grib_expression_evaluate_string(h, g, buffer, &size, &ret);
- if (ret != GRIB_SUCCESS) {
- grib_context_log(h->context, GRIB_LOG_ERROR,
- "grib_expression_set_value: unable to evaluate %s as string",
- grib_expression_get_name(g));
- return ret;
- }
- Assert(v->string_value != buffer);
- Assert(v->string_value);
- break;
-
- default:
- Assert(1 == 0);
- break;
- }
- return 0;
-}
+// int grib_expression_set_value(grib_handle* h, grib_expression* g, grib_values* v)
+// {
+// char buffer[1024];
+// int ret = 0;
+// size_t size = sizeof(buffer);
+// switch (v->type = grib_expression_native_type(h, g)) {
+// case GRIB_TYPE_LONG:
+// return grib_expression_evaluate_long(h, g, &v->long_value);
+// break;
+// case GRIB_TYPE_DOUBLE:
+// return grib_expression_evaluate_double(h, g, &v->double_value);
+// break;
+// case GRIB_TYPE_STRING:
+// v->string_value = grib_expression_evaluate_string(h, g, buffer, &size, &ret);
+// if (ret != GRIB_SUCCESS) {
+// grib_context_log(h->context, GRIB_LOG_ERROR,
+// "grib_expression_set_value: unable to evaluate %s as string",
+// grib_expression_get_name(g));
+// return ret;
+// }
+// Assert(v->string_value != buffer);
+// Assert(v->string_value);
+// break;
+// default:
+// Assert(!"grib_expression_set_value");
+// break;
+// }
+// return 0;
+// }
/*----------------------------------------*/
grib_arguments* grib_arguments_new(grib_context* c, grib_expression* g, grib_arguments* n)
diff --git a/src/grib_expression_class.h b/src/grib_expression_class.h
index 6856b1b06..8660a7864 100644
--- a/src/grib_expression_class.h
+++ b/src/grib_expression_class.h
@@ -1,8 +1,6 @@
/* This file is automatically generated by ./make_class.pl, do not edit */
extern grib_expression_class* grib_expression_class_accessor;
extern grib_expression_class* grib_expression_class_binop;
-extern grib_expression_class* grib_expression_class_column;
-extern grib_expression_class* grib_expression_class_constant;
extern grib_expression_class* grib_expression_class_double;
extern grib_expression_class* grib_expression_class_functor;
extern grib_expression_class* grib_expression_class_is_in_dict;
diff --git a/src/grib_expression_class_accessor.cc b/src/grib_expression_class_accessor.cc
index e806a3e1a..39fe4f109 100644
--- a/src/grib_expression_class_accessor.cc
+++ b/src/grib_expression_class_accessor.cc
@@ -41,20 +41,14 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_accessor{
grib_expression base;
@@ -70,7 +64,6 @@ static grib_expression_class _grib_expression_class_accessor = {
"accessor", /* name */
sizeof(grib_expression_accessor),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -84,33 +77,29 @@ static grib_expression_class _grib_expression_class_accessor = {
grib_expression_class* grib_expression_class_accessor = &_grib_expression_class_accessor;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static const char* get_name(grib_expression* g)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
return e->name;
}
static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
return grib_get_long_internal(h, e->name, result);
}
static int evaluate_double(grib_expression* g, grib_handle* h, double* result)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
return grib_get_double_internal(h, e->name, result);
}
static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, size_t* size, int* err)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
char mybuf[1024] = {0,};
long start = e->start;
if (e->length > sizeof(mybuf)) {
@@ -141,7 +130,7 @@ static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, siz
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
printf("access('%s", e->name);
if (f) {
long s = 0;
@@ -159,8 +148,8 @@ static void destroy(grib_context* c, grib_expression* g)
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
- grib_expression_accessor* e = (grib_expression_accessor*)g;
- grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
+ const grib_expression_accessor* e = (grib_expression_accessor*)g;
+ grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
if (!observed) {
/* grib_context_log(observer->context, GRIB_LOG_ERROR, */
diff --git a/src/grib_expression_class_binop.cc b/src/grib_expression_class_binop.cc
index e95bebbd3..328bb2ac4 100644
--- a/src/grib_expression_class_binop.cc
+++ b/src/grib_expression_class_binop.cc
@@ -41,18 +41,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_binop{
grib_expression base;
@@ -70,7 +64,6 @@ static grib_expression_class _grib_expression_class_binop = {
"binop", /* name */
sizeof(grib_expression_binop),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -84,10 +77,6 @@ static grib_expression_class _grib_expression_class_binop = {
grib_expression_class* grib_expression_class_binop = &_grib_expression_class_binop;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
diff --git a/src/grib_expression_class_double.cc b/src/grib_expression_class_double.cc
index f904c887e..89747194b 100644
--- a/src/grib_expression_class_double.cc
+++ b/src/grib_expression_class_double.cc
@@ -37,18 +37,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_double{
grib_expression base;
@@ -62,7 +56,6 @@ static grib_expression_class _grib_expression_class_double = {
"double", /* name */
sizeof(grib_expression_double),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -76,29 +69,25 @@ static grib_expression_class _grib_expression_class_double = {
grib_expression_class* grib_expression_class_double = &_grib_expression_class_double;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
{
- grib_expression_double* e = (grib_expression_double*)g;
- *lres = e->value;
+ const grib_expression_double* e = (grib_expression_double*)g;
+ *lres = e->value;
return GRIB_SUCCESS;
}
static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
- grib_expression_double* e = (grib_expression_double*)g;
- *dres = e->value;
+ const grib_expression_double* e = (grib_expression_double*)g;
+ *dres = e->value;
return GRIB_SUCCESS;
}
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_double* e = (grib_expression_double*)g;
+ const grib_expression_double* e = (grib_expression_double*)g;
printf("double(%g)", e->value);
}
@@ -115,8 +104,8 @@ static void add_dependency(grib_expression* g, grib_accessor* observer)
grib_expression* new_double_expression(grib_context* c, double value)
{
grib_expression_double* e = (grib_expression_double*)grib_context_malloc_clear_persistent(c, sizeof(grib_expression_double));
- e->base.cclass = grib_expression_class_double;
- e->value = value;
+ e->base.cclass = grib_expression_class_double;
+ e->value = value;
return (grib_expression*)e;
}
diff --git a/src/grib_expression_class_functor.cc b/src/grib_expression_class_functor.cc
index 89c4d8a6a..4664def10 100644
--- a/src/grib_expression_class_functor.cc
+++ b/src/grib_expression_class_functor.cc
@@ -37,17 +37,11 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
typedef struct grib_expression_functor{
grib_expression base;
@@ -62,7 +56,6 @@ static grib_expression_class _grib_expression_class_functor = {
"functor", /* name */
sizeof(grib_expression_functor),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -76,10 +69,6 @@ static grib_expression_class _grib_expression_class_functor = {
grib_expression_class* grib_expression_class_functor = &_grib_expression_class_functor;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
@@ -134,7 +123,7 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
const char* p = grib_arguments_get_name(h, e->args, 0);
if (p) {
- grib_accessor* a = grib_find_accessor(h, p);
+ const grib_accessor* a = grib_find_accessor(h, p);
*lres = a != NULL ? 1 : 0;
return GRIB_SUCCESS;
}
@@ -149,7 +138,7 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
// 2. Cannot deal with string values
const char* p = grib_arguments_get_name(h, e->args, 0);
if (p) {
- char* env = getenv(p);
+ const char* env = getenv(p);
if (env) {
long lval = 0;
if (string_to_long(env, &lval, 1) == GRIB_SUCCESS) {
@@ -177,7 +166,7 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_functor* e = (grib_expression_functor*)g;
+ const grib_expression_functor* e = (grib_expression_functor*)g;
printf("%s(", e->name);
// grib_expression_print(c,e->args,f);
printf(")");
diff --git a/src/grib_expression_class_is_in_dict.cc b/src/grib_expression_class_is_in_dict.cc
index a2ad355ab..142287cdc 100644
--- a/src/grib_expression_class_is_in_dict.cc
+++ b/src/grib_expression_class_is_in_dict.cc
@@ -39,19 +39,13 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_is_in_dict{
grib_expression base;
@@ -66,7 +60,6 @@ static grib_expression_class _grib_expression_class_is_in_dict = {
"is_in_dict", /* name */
sizeof(grib_expression_is_in_dict),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
0, /* destructor */
&print,
@@ -80,10 +73,6 @@ static grib_expression_class _grib_expression_class_is_in_dict = {
grib_expression_class* grib_expression_class_is_in_dict = &_grib_expression_class_is_in_dict;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
@@ -94,10 +83,10 @@ static grib_trie* load_dictionary(grib_context* c, grib_expression* e, int* err)
char* filename = NULL;
char line[1024] = {0,};
char key[1024] = {0,};
- char* list = 0;
+ char* list = 0;
grib_trie* dictionary = NULL;
- FILE* f = NULL;
- int i = 0;
+ FILE* f = NULL;
+ int i = 0;
*err = GRIB_SUCCESS;
@@ -148,15 +137,15 @@ static grib_trie* load_dictionary(grib_context* c, grib_expression* e, int* err)
static const char* get_name(grib_expression* g)
{
- grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
+ const grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
return e->key;
}
static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
{
- grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
- int err = 0;
- char mybuf[1024] = {0,};
+ const grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
+ int err = 0;
+ char mybuf[1024] = {0,};
size_t size = 1024;
grib_trie* dict = load_dictionary(h->context, g, &err);
@@ -213,7 +202,7 @@ static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, siz
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
+ const grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
printf("access('%s", e->key);
if (f) {
long s = 0;
@@ -239,8 +228,8 @@ static int native_type(grib_expression* g, grib_handle* h)
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
- grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
- grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->key);
+ const grib_expression_is_in_dict* e = (grib_expression_is_in_dict*)g;
+ grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->key);
if (!observed) {
/* grib_context_log(observer->context, GRIB_LOG_ERROR, */
diff --git a/src/grib_expression_class_is_in_list.cc b/src/grib_expression_class_is_in_list.cc
index 0d61cf82c..f5339c309 100644
--- a/src/grib_expression_class_is_in_list.cc
+++ b/src/grib_expression_class_is_in_list.cc
@@ -40,20 +40,14 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_is_in_list{
grib_expression base;
@@ -68,7 +62,6 @@ static grib_expression_class _grib_expression_class_is_in_list = {
"is_in_list", /* name */
sizeof(grib_expression_is_in_list),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -82,10 +75,6 @@ static grib_expression_class _grib_expression_class_is_in_list = {
grib_expression_class* grib_expression_class_is_in_list = &_grib_expression_class_is_in_list;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
@@ -147,15 +136,15 @@ static grib_trie* load_list(grib_context* c, grib_expression* e, int* err)
static const char* get_name(grib_expression* g)
{
- grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
+ const grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
return e->name;
}
static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
{
- grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
- int err = 0;
- char mybuf[1024] = {0,};
+ const grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
+ int err = 0;
+ char mybuf[1024] = {0,};
size_t size = 1024;
grib_trie* list = load_list(h->context, g, &err);
@@ -178,24 +167,20 @@ static int evaluate_double(grib_expression* g, grib_handle* h, double* result)
// int err = 0;
// char mybuf[1024] = {0,};
// size_t size = 1024;
-
// grib_trie* list = load_list(h->context, g, &err);
-
// if ((err = grib_get_string_internal(h, e->name, mybuf, &size)) != GRIB_SUCCESS)
// return err;
-
// if (grib_trie_get(list, mybuf))
// *result = 1;
// else
// *result = 0;
-
// return err;
}
static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, size_t* size, int* err)
{
- grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
- char mybuf[1024] = {0,};
+ const grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
+ char mybuf[1024] = {0,};
size_t sizebuf = 1024;
long result;
@@ -216,7 +201,7 @@ static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, siz
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
+ const grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
printf("access('%s", e->name);
if (f) {
long s = 0;
@@ -232,8 +217,8 @@ static void destroy(grib_context* c, grib_expression* g)
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
- grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
- grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
+ const grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
+ grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
if (!observed) {
/* grib_context_log(observer->context, GRIB_LOG_ERROR, */
@@ -257,7 +242,7 @@ grib_expression* new_is_in_list_expression(grib_context* c, const char* name, co
static int native_type(grib_expression* g, grib_handle* h)
{
grib_expression_is_in_list* e = (grib_expression_is_in_list*)g;
- int type = 0;
+ int type = 0;
int err;
if ((err = grib_get_native_type(h, e->name, &type)) != GRIB_SUCCESS)
grib_context_log(h->context, GRIB_LOG_ERROR,
diff --git a/src/grib_expression_class_is_integer.cc b/src/grib_expression_class_is_integer.cc
index 03554ece7..da81cc4cb 100644
--- a/src/grib_expression_class_is_integer.cc
+++ b/src/grib_expression_class_is_integer.cc
@@ -41,20 +41,14 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_is_integer{
grib_expression base;
@@ -70,7 +64,6 @@ static grib_expression_class _grib_expression_class_is_integer = {
"is_integer", /* name */
sizeof(grib_expression_is_integer),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -84,26 +77,21 @@ static grib_expression_class _grib_expression_class_is_integer = {
grib_expression_class* grib_expression_class_is_integer = &_grib_expression_class_is_integer;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static const char* get_name(grib_expression* g)
{
- grib_expression_is_integer* e = (grib_expression_is_integer*)g;
+ const grib_expression_is_integer* e = (grib_expression_is_integer*)g;
return e->name;
}
static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
{
grib_expression_is_integer* e = (grib_expression_is_integer*)g;
- int err = 0;
- char mybuf[1024] = {0,};
+ int err = 0;
+ char mybuf[1024] = {0,};
size_t size = 1024;
char* p = 0;
- long val = 0;
char* start = 0;
if ((err = grib_get_string_internal(h, e->name, mybuf, &size)) != GRIB_SUCCESS)
@@ -114,23 +102,22 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
if (e->length > 0)
start[e->length] = 0;
- val = strtol(start, &p, 10);
+ strtol(start, &p, 10);
if (*p != 0)
*result = 0;
else
*result = 1;
- (void)val;
return err;
}
static int evaluate_double(grib_expression* g, grib_handle* h, double* result)
{
- int err = 0;
+ int err = 0;
long lresult = 0;
- err = evaluate_long(g, h, &lresult);
+ err = evaluate_long(g, h, &lresult);
*result = lresult;
return err;
}
@@ -174,7 +161,7 @@ static void destroy(grib_context* c, grib_expression* g)
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
- grib_expression_is_integer* e = (grib_expression_is_integer*)g;
+ const grib_expression_is_integer* e = (grib_expression_is_integer*)g;
grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
if (!observed) {
diff --git a/src/grib_expression_class_length.cc b/src/grib_expression_class_length.cc
index c685f2186..c9e967c77 100644
--- a/src/grib_expression_class_length.cc
+++ b/src/grib_expression_class_length.cc
@@ -41,20 +41,14 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-static string get_name(grib_expression* e);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static string get_name(grib_expression* e);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_length{
grib_expression base;
@@ -70,7 +64,6 @@ static grib_expression_class _grib_expression_class_length = {
"length", /* name */
sizeof(grib_expression_length),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -84,23 +77,19 @@ static grib_expression_class _grib_expression_class_length = {
grib_expression_class* grib_expression_class_length = &_grib_expression_class_length;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static const char* get_name(grib_expression* g)
{
- grib_expression_length* e = (grib_expression_length*)g;
+ const grib_expression_length* e = (grib_expression_length*)g;
return e->name;
}
static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
{
- grib_expression_length* e = (grib_expression_length*)g;
- int err = 0;
- char mybuf[1024] = {0,};
+ const grib_expression_length* e = (grib_expression_length*)g;
+ int err = 0;
+ char mybuf[1024] = {0,};
size_t size = 1024;
if ((err = grib_get_string_internal(h, e->name, mybuf, &size)) != GRIB_SUCCESS)
return err;
@@ -111,10 +100,10 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* result)
static int evaluate_double(grib_expression* g, grib_handle* h, double* result)
{
- grib_expression_length* e = (grib_expression_length*)g;
- char mybuf[1024] = {0,};
+ const grib_expression_length* e = (grib_expression_length*)g;
+ char mybuf[1024] = {0,};
size_t size = 1024;
- int err = 0;
+ int err = 0;
if ((err = grib_get_string_internal(h, e->name, mybuf, &size)) != GRIB_SUCCESS)
return err;
@@ -124,8 +113,8 @@ static int evaluate_double(grib_expression* g, grib_handle* h, double* result)
static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, size_t* size, int* err)
{
- grib_expression_length* e = (grib_expression_length*)g;
- char mybuf[1024] = {0,};
+ const grib_expression_length* e = (grib_expression_length*)g;
+ char mybuf[1024] = {0,};
Assert(buf);
if ((*err = grib_get_string_internal(h, e->name, mybuf, size)) != GRIB_SUCCESS)
return NULL;
@@ -136,7 +125,7 @@ static string evaluate_string(grib_expression* g, grib_handle* h, char* buf, siz
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_length* e = (grib_expression_length*)g;
+ const grib_expression_length* e = (grib_expression_length*)g;
printf("access('%s", e->name);
if (f) {
long s = 0;
@@ -154,8 +143,8 @@ static void destroy(grib_context* c, grib_expression* g)
static void add_dependency(grib_expression* g, grib_accessor* observer)
{
- grib_expression_length* e = (grib_expression_length*)g;
- grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
+ const grib_expression_length* e = (grib_expression_length*)g;
+ grib_accessor* observed = grib_find_accessor(grib_handle_of_accessor(observer), e->name);
if (!observed) {
/* grib_context_log(observer->context, GRIB_LOG_ERROR, */
@@ -170,8 +159,8 @@ static void add_dependency(grib_expression* g, grib_accessor* observer)
grib_expression* new_length_expression(grib_context* c, const char* name)
{
grib_expression_length* e = (grib_expression_length*)grib_context_malloc_clear_persistent(c, sizeof(grib_expression_length));
- e->base.cclass = grib_expression_class_length;
- e->name = grib_context_strdup_persistent(c, name);
+ e->base.cclass = grib_expression_class_length;
+ e->name = grib_context_strdup_persistent(c, name);
return (grib_expression*)e;
}
diff --git a/src/grib_expression_class_logical_and.cc b/src/grib_expression_class_logical_and.cc
index 5cf98db69..902119a5e 100644
--- a/src/grib_expression_class_logical_and.cc
+++ b/src/grib_expression_class_logical_and.cc
@@ -15,7 +15,6 @@
START_CLASS_DEF
CLASS = expression
- IMPLEMENTS = init_class
IMPLEMENTS = destroy
IMPLEMENTS = native_type
IMPLEMENTS = evaluate_long
@@ -39,18 +38,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_logical_and{
grib_expression base;
@@ -65,7 +58,6 @@ static grib_expression_class _grib_expression_class_logical_and = {
"logical_and", /* name */
sizeof(grib_expression_logical_and),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -79,10 +71,6 @@ static grib_expression_class _grib_expression_class_logical_and = {
grib_expression_class* grib_expression_class_logical_and = &_grib_expression_class_logical_and;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
@@ -94,7 +82,6 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
int ret;
grib_expression_logical_and* e = (grib_expression_logical_and*)g;
-
switch (grib_expression_native_type(h, e->left)) {
case GRIB_TYPE_LONG:
ret = grib_expression_evaluate_long(h, e->left, &v1);
@@ -141,11 +128,8 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
long lres = 0;
- int ret = 0;
-
- ret = evaluate_long(g, h, &lres);
+ int ret = evaluate_long(g, h, &lres);
*dres = (double)lres;
-
return ret;
}
diff --git a/src/grib_expression_class_logical_or.cc b/src/grib_expression_class_logical_or.cc
index 75c2a6520..772a73d8a 100644
--- a/src/grib_expression_class_logical_or.cc
+++ b/src/grib_expression_class_logical_or.cc
@@ -15,7 +15,6 @@
START_CLASS_DEF
CLASS = expression
- IMPLEMENTS = init_class
IMPLEMENTS = destroy
IMPLEMENTS = native_type
IMPLEMENTS = evaluate_long
@@ -39,18 +38,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_logical_or{
grib_expression base;
@@ -65,7 +58,6 @@ static grib_expression_class _grib_expression_class_logical_or = {
"logical_or", /* name */
sizeof(grib_expression_logical_or),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -79,10 +71,6 @@ static grib_expression_class _grib_expression_class_logical_or = {
grib_expression_class* grib_expression_class_logical_or = &_grib_expression_class_logical_or;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
@@ -141,11 +129,8 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
long lres = 0;
- int ret = 0;
-
- ret = evaluate_long(g, h, &lres);
+ int ret = evaluate_long(g, h, &lres);
*dres = (double)lres;
-
return ret;
}
@@ -154,7 +139,7 @@ static void print(grib_context* c, grib_expression* g, grib_handle* f)
grib_expression_logical_or* e = (grib_expression_logical_or*)g;
printf("(");
grib_expression_print(c, e->left, f);
- printf(" && ");
+ printf(" || ");
grib_expression_print(c, e->right, f);
printf(")");
}
diff --git a/src/grib_expression_class_long.cc b/src/grib_expression_class_long.cc
index 481e143c8..3b61a83d1 100644
--- a/src/grib_expression_class_long.cc
+++ b/src/grib_expression_class_long.cc
@@ -37,18 +37,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_long{
grib_expression base;
@@ -62,7 +56,6 @@ static grib_expression_class _grib_expression_class_long = {
"long", /* name */
sizeof(grib_expression_long),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -76,29 +69,25 @@ static grib_expression_class _grib_expression_class_long = {
grib_expression_class* grib_expression_class_long = &_grib_expression_class_long;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
{
- grib_expression_long* e = (grib_expression_long*)g;
- *lres = e->value;
+ const grib_expression_long* e = (grib_expression_long*)g;
+ *lres = e->value;
return GRIB_SUCCESS;
}
static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
- grib_expression_long* e = (grib_expression_long*)g;
- *dres = e->value;
+ const grib_expression_long* e = (grib_expression_long*)g;
+ *dres = e->value;
return GRIB_SUCCESS;
}
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_long* e = (grib_expression_long*)g;
+ const grib_expression_long* e = (grib_expression_long*)g;
printf("long(%ld)", e->value);
}
@@ -115,8 +104,8 @@ static void add_dependency(grib_expression* g, grib_accessor* observer)
grib_expression* new_long_expression(grib_context* c, long value)
{
grib_expression_long* e = (grib_expression_long*)grib_context_malloc_clear_persistent(c, sizeof(grib_expression_long));
- e->base.cclass = grib_expression_class_long;
- e->value = value;
+ e->base.cclass = grib_expression_class_long;
+ e->value = value;
return (grib_expression*)e;
}
diff --git a/src/grib_expression_class_string.cc b/src/grib_expression_class_string.cc
index 1d6734c4c..79d42e247 100644
--- a/src/grib_expression_class_string.cc
+++ b/src/grib_expression_class_string.cc
@@ -36,17 +36,11 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_string{
grib_expression base;
@@ -60,7 +54,6 @@ static grib_expression_class _grib_expression_class_string = {
"string", /* name */
sizeof(grib_expression_string),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -74,22 +67,18 @@ static grib_expression_class _grib_expression_class_string = {
grib_expression_class* grib_expression_class_string = &_grib_expression_class_string;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static const char* evaluate_string(grib_expression* g, grib_handle* h, char* buf, size_t* size, int* err)
{
- grib_expression_string* e = (grib_expression_string*)g;
- *err = 0;
+ const grib_expression_string* e = (grib_expression_string*)g;
+ *err = 0;
return e->value;
}
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_string* e = (grib_expression_string*)g;
+ const grib_expression_string* e = (grib_expression_string*)g;
printf("string('%s')", e->value);
}
diff --git a/src/grib_expression_class_string_compare.cc b/src/grib_expression_class_string_compare.cc
index 1c6202b23..421669aca 100644
--- a/src/grib_expression_class_string_compare.cc
+++ b/src/grib_expression_class_string_compare.cc
@@ -38,18 +38,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_string_compare{
grib_expression base;
@@ -64,7 +58,6 @@ static grib_expression_class _grib_expression_class_string_compare = {
"string_compare", /* name */
sizeof(grib_expression_string_compare),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -78,10 +71,6 @@ static grib_expression_class _grib_expression_class_string_compare = {
grib_expression_class* grib_expression_class_string_compare = &_grib_expression_class_string_compare;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
/* Note: A fast cut-down version of strcmp which does NOT return -1 */
diff --git a/src/grib_expression_class_sub_string.cc b/src/grib_expression_class_sub_string.cc
index 0a53638bc..a5a0da732 100644
--- a/src/grib_expression_class_sub_string.cc
+++ b/src/grib_expression_class_sub_string.cc
@@ -36,17 +36,11 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_sub_string{
grib_expression base;
@@ -60,7 +54,6 @@ static grib_expression_class _grib_expression_class_sub_string = {
"sub_string", /* name */
sizeof(grib_expression_sub_string),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -74,22 +67,18 @@ static grib_expression_class _grib_expression_class_sub_string = {
grib_expression_class* grib_expression_class_sub_string = &_grib_expression_class_sub_string;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static const char* evaluate_string(grib_expression* g, grib_handle* h, char* buf, size_t* size, int* err)
{
- grib_expression_sub_string* e = (grib_expression_sub_string*)g;
- *err = 0;
+ const grib_expression_sub_string* e = (grib_expression_sub_string*)g;
+ *err = 0;
return e->value;
}
static void print(grib_context* c, grib_expression* g, grib_handle* f)
{
- grib_expression_sub_string* e = (grib_expression_sub_string*)g;
+ const grib_expression_sub_string* e = (grib_expression_sub_string*)g;
printf("string('%s')", e->value);
}
diff --git a/src/grib_expression_class_true.cc b/src/grib_expression_class_true.cc
index a57ce9c60..6b418cb2c 100644
--- a/src/grib_expression_class_true.cc
+++ b/src/grib_expression_class_true.cc
@@ -36,18 +36,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_true{
grib_expression base;
@@ -60,7 +54,6 @@ static grib_expression_class _grib_expression_class_true = {
"true", /* name */
sizeof(grib_expression_true),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -74,10 +67,6 @@ static grib_expression_class _grib_expression_class_true = {
grib_expression_class* grib_expression_class_true = &_grib_expression_class_true;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
diff --git a/src/grib_expression_class_unop.cc b/src/grib_expression_class_unop.cc
index 2abd4dbc9..6188b4586 100644
--- a/src/grib_expression_class_unop.cc
+++ b/src/grib_expression_class_unop.cc
@@ -39,18 +39,12 @@ or edit "expression.class" and rerun ./make_class.pl
typedef const char* string; /* to keep make_class.pl happy */
-
-static void init_class (grib_expression_class*);
-
-static void destroy(grib_context*,grib_expression* e);
-
-static void print(grib_context*,grib_expression*,grib_handle*);
-static void add_dependency(grib_expression* e, grib_accessor* observer);
-
-static int native_type(grib_expression*,grib_handle*);
-
-static int evaluate_long(grib_expression*,grib_handle*,long*);
-static int evaluate_double(grib_expression*,grib_handle*,double*);
+static void destroy(grib_context*,grib_expression* e);
+static void print(grib_context*,grib_expression*,grib_handle*);
+static void add_dependency(grib_expression* e, grib_accessor* observer);
+static int native_type(grib_expression*,grib_handle*);
+static int evaluate_long(grib_expression*,grib_handle*,long*);
+static int evaluate_double(grib_expression*,grib_handle*,double*);
typedef struct grib_expression_unop{
grib_expression base;
@@ -66,7 +60,6 @@ static grib_expression_class _grib_expression_class_unop = {
"unop", /* name */
sizeof(grib_expression_unop),/* size of instance */
0, /* inited */
- &init_class, /* init_class */
0, /* constructor */
&destroy, /* destructor */
&print,
@@ -80,18 +73,13 @@ static grib_expression_class _grib_expression_class_unop = {
grib_expression_class* grib_expression_class_unop = &_grib_expression_class_unop;
-
-static void init_class(grib_expression_class* c)
-{
-}
/* END_CLASS_IMP */
static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
{
- int ret;
- long v = 0;
+ long v = 0;
grib_expression_unop* e = (grib_expression_unop*)g;
- ret = grib_expression_evaluate_long(h, e->exp, &v);
+ int ret = grib_expression_evaluate_long(h, e->exp, &v);
if (ret != GRIB_SUCCESS)
return ret;
*lres = e->long_func(v);
@@ -100,10 +88,9 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
- int ret;
- double v = 0;
+ double v = 0;
grib_expression_unop* e = (grib_expression_unop*)g;
- ret = grib_expression_evaluate_double(h, e->exp, &v);
+ int ret = grib_expression_evaluate_double(h, e->exp, &v);
if (ret != GRIB_SUCCESS)
return ret;
*dres = e->double_func ? e->double_func(v) : e->long_func(v);
diff --git a/src/grib_expression_factory.h b/src/grib_expression_factory.h
index 0f5cd83bb..7cacd3ac1 100644
--- a/src/grib_expression_factory.h
+++ b/src/grib_expression_factory.h
@@ -1,8 +1,6 @@
/* This file is automatically generated by ./make_class.pl, do not edit */
{ "accessor", &grib_expression_class_accessor, },
{ "binop", &grib_expression_class_binop, },
-{ "column", &grib_expression_class_column, },
-{ "constant", &grib_expression_class_constant, },
{ "double", &grib_expression_class_double, },
{ "functor", &grib_expression_class_functor, },
{ "is_in_dict", &grib_expression_class_is_in_dict, },
diff --git a/src/grib_filepool.cc b/src/grib_filepool.cc
index 8d55f3d3d..28606e8c9 100644
--- a/src/grib_filepool.cc
+++ b/src/grib_filepool.cc
@@ -132,10 +132,10 @@ void grib_file_pool_clean()
// return grib_write_file(fh, file->next);
// }
-grib_file* grib_file_pool_get_files()
-{
- return file_pool.first;
-}
+// grib_file* grib_file_pool_get_files()
+// {
+// return file_pool.first;
+// }
// int grib_file_pool_read(grib_context* c, FILE* fh)
// {
diff --git a/src/grib_handle.cc b/src/grib_handle.cc
index 8a7719234..732537f12 100644
--- a/src/grib_handle.cc
+++ b/src/grib_handle.cc
@@ -10,7 +10,6 @@
/***************************************************************************
* Jean Baptiste Filippi - 01.11.2005 *
- * Enrico Fucile *
***************************************************************************/
#include "grib_api_internal.h"
@@ -228,7 +227,7 @@ grib_handle* codes_handle_new_from_samples(grib_context* c, const char* name)
fprintf(stderr, "ECCODES DEBUG codes_handle_new_from_samples '%s'\n", name);
}
- g = codes_external_template(c, PRODUCT_ANY, name);
+ g = codes_external_sample(c, PRODUCT_ANY, name);
if (!g) {
grib_context_log(c, GRIB_LOG_ERROR,
"Unable to load sample file '%s.tmpl'\n"
@@ -256,7 +255,7 @@ grib_handle* grib_handle_new_from_samples(grib_context* c, const char* name)
fprintf(stderr, "ECCODES DEBUG grib_handle_new_from_samples '%s'\n", name);
}
- g = codes_external_template(c, PRODUCT_GRIB, name);
+ g = codes_external_sample(c, PRODUCT_GRIB, name);
if (!g)
grib_context_log(c, GRIB_LOG_ERROR,
"Unable to load GRIB sample file '%s.tmpl'\n"
@@ -279,7 +278,7 @@ grib_handle* codes_bufr_handle_new_from_samples(grib_context* c, const char* nam
fprintf(stderr, "ECCODES DEBUG bufr_handle_new_from_samples '%s'\n", name);
}
- g = codes_external_template(c, PRODUCT_BUFR, name);
+ g = codes_external_sample(c, PRODUCT_BUFR, name);
if (!g) {
grib_context_log(c, GRIB_LOG_ERROR,
"Unable to load BUFR sample file '%s.tmpl'\n"
@@ -375,7 +374,7 @@ grib_handle* grib_handle_clone_headers_only(const grib_handle* h)
const int sections_to_copy = GRIB_SECTION_PRODUCT | GRIB_SECTION_LOCAL | GRIB_SECTION_GRID;
result = grib_util_sections_copy((grib_handle*)h, h_sample, sections_to_copy, &err);
if (!result || err) {
- grib_context_log(c, GRIB_LOG_ERROR, "Failed to create headers_only clone: Unable to copy sections");
+ grib_context_log(c, GRIB_LOG_ERROR, "%s failed: Unable to copy sections (%s)", __func__, grib_get_error_message(err));
grib_handle_delete(h_sample);
return NULL;
}
diff --git a/src/grib_hash_array.cc b/src/grib_hash_array.cc
index 54ba4294f..ec556c904 100644
--- a/src/grib_hash_array.cc
+++ b/src/grib_hash_array.cc
@@ -30,19 +30,19 @@ grib_hash_array_value* grib_integer_hash_array_value_new(grib_context* c, const
// return v;
// }
-void grib_hash_array_value_delete(grib_context* c, grib_hash_array_value* v)
-{
- switch (v->type) {
- case GRIB_HASH_ARRAY_TYPE_INTEGER:
- grib_iarray_delete(v->iarray);
- break;
- case GRIB_HASH_ARRAY_TYPE_DOUBLE:
- grib_darray_delete(c, v->darray);
- break;
- default:
- grib_context_log(c, GRIB_LOG_ERROR,
- "wrong type in grib_hash_array_value_delete");
- }
- grib_context_free_persistent(c, v->name);
- grib_context_free_persistent(c, v);
-}
+// void grib_hash_array_value_delete(grib_context* c, grib_hash_array_value* v)
+// {
+// switch (v->type) {
+// case GRIB_HASH_ARRAY_TYPE_INTEGER:
+// grib_iarray_delete(v->iarray);
+// break;
+// case GRIB_HASH_ARRAY_TYPE_DOUBLE:
+// grib_darray_delete(c, v->darray);
+// break;
+// default:
+// grib_context_log(c, GRIB_LOG_ERROR,
+// "wrong type in grib_hash_array_value_delete");
+// }
+// grib_context_free_persistent(c, v->name);
+// grib_context_free_persistent(c, v);
+// }
diff --git a/src/grib_hash_keys.cc b/src/grib_hash_keys.cc
index 72ea01ba8..ba26dbe03 100644
--- a/src/grib_hash_keys.cc
+++ b/src/grib_hash_keys.cc
@@ -31,15 +31,15 @@
#include "grib_api_internal.h"
-struct grib_keys_hash { char* name; int id;};
+struct grib_keys_hash { const char* name; int id;};
#include
-#define TOTAL_KEYWORDS 2515
+#define TOTAL_KEYWORDS 2535
#define MIN_WORD_LENGTH 1
#define MAX_WORD_LENGTH 74
-#define MIN_HASH_VALUE 1
-#define MAX_HASH_VALUE 35025
-/* maximum key range = 35025, duplicates = 0 */
+#define MIN_HASH_VALUE 5
+#define MAX_HASH_VALUE 31933
+/* maximum key range = 31929, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -49,38 +49,38 @@ inline
#endif
#endif
static unsigned int
-hash_keys (const char *str, size_t len)
+hash_keys ( const char *str, size_t len)
{
static const unsigned short asso_values[] =
{
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 0, 35026, 35026, 0, 35026, 35026, 234, 2699,
- 2224, 1675, 1605, 3094, 675, 1950, 12, 8, 0, 0,
- 1, 35026, 35026, 35026, 35026, 1804, 4449, 2653, 255, 2074,
- 287, 4792, 2756, 1496, 719, 601, 347, 2199, 596, 311,
- 988, 96, 321, 172, 102, 5477, 1495, 4148, 2234, 4002,
- 2, 0, 2, 35026, 35026, 2631, 35026, 5, 560, 46,
- 3, 1, 131, 91, 130, 7, 2778, 3209, 35, 3,
- 0, 20, 27, 1086, 3, 7, 2, 85, 267, 184,
- 1169, 137, 1006, 70, 1045, 0, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026,
- 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026, 35026
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 4, 31934, 31934, 3, 31934, 31934, 128, 2530,
+ 2404, 2966, 1876, 4070, 2455, 1706, 29, 8, 3, 2,
+ 2, 31934, 31934, 31934, 31934, 1215, 5157, 2523, 271, 2023,
+ 345, 5101, 4026, 1640, 545, 118, 46, 2382, 974, 289,
+ 1046, 28, 528, 161, 96, 4953, 1277, 3682, 373, 5709,
+ 2, 3, 2, 31934, 31934, 1817, 31934, 2, 372, 30,
+ 5, 3, 92, 103, 97, 8, 2721, 3959, 75, 3,
+ 2, 23, 18, 1060, 5, 14, 4, 48, 321, 249,
+ 1467, 224, 572, 5, 1867, 2, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934,
+ 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934, 31934
};
- unsigned int hval = len;
+ unsigned int hval = len;
switch (hval)
{
@@ -164,1164 +164,1288 @@ hash_keys (const char *str, size_t len)
static const unsigned char lengthtable[] =
{
- 0, 1, 0, 3, 0, 1, 2, 1, 2, 2, 2, 0, 2, 3,
- 4, 2, 4, 0, 4, 0, 5, 0, 0, 0, 4, 3, 0, 0,
- 5, 4, 6, 0, 0, 0, 7, 5, 0, 0, 4, 8, 0, 0,
- 0, 0, 6, 3, 0, 7, 0, 5, 7, 5, 0, 0, 0, 0,
- 9, 9, 4, 0, 6, 9, 9, 0, 0, 0, 8, 0, 4, 0,
- 7, 7, 10, 0, 10, 4, 6, 0, 0, 7, 0, 0, 5, 0,
- 0, 0, 6, 0, 10, 0, 7, 8, 0, 0, 0, 0, 4, 10,
- 9, 2, 0, 0, 5, 0, 5, 6, 5, 6, 0, 10, 0, 4,
- 5, 5, 7, 8, 0, 0, 7, 0, 0, 6, 10, 6, 0, 7,
- 0, 9, 0, 0, 0, 0, 0, 8, 6, 0, 0, 8, 0, 0,
- 10, 0, 0, 5, 0, 0, 0, 5, 3, 8, 0, 10, 0, 4,
- 7, 0, 0, 0, 10, 0, 5, 0, 0, 9, 0, 0, 6, 0,
- 6, 0, 0, 0, 4, 0, 3, 10, 5, 0, 0, 4, 0, 5,
- 15, 1, 0, 5, 0, 0, 0, 9, 10, 4, 0, 13, 0, 7,
- 0, 9, 0, 0, 10, 0, 0, 0, 0, 0, 0, 6, 0, 0,
- 0, 9, 0, 0, 10, 0, 0, 10, 0, 8, 0, 0, 0, 0,
- 0, 0, 0, 8, 0, 3, 14, 0, 0, 0, 7, 7, 0, 8,
- 5, 0, 7, 0, 0, 0, 10, 4, 0, 0, 0, 8, 10, 0,
- 0, 0, 9, 8, 0, 9, 0, 7, 0, 0, 0, 8, 9, 0,
- 0, 0, 10, 0, 4, 2, 0, 0, 11, 2, 0, 0, 0, 2,
- 0, 5, 6, 0, 0, 3, 0, 8, 0, 0, 5, 8, 0, 7,
- 8, 0, 11, 8, 9, 0, 6, 0, 0, 0, 0, 0, 0, 8,
- 2, 0, 0, 6, 7, 8, 10, 0, 10, 0, 10, 0, 5, 0,
- 0, 13, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 10, 0,
- 0, 11, 0, 0, 0, 0, 6, 9, 0, 0, 8, 9, 0, 0,
- 10, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 10, 0,
- 10, 8, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 12, 0,
- 0, 5, 8, 7, 0, 10, 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 9, 0, 0, 0, 0, 0, 14, 6, 8, 14, 0, 0,
- 0, 0, 0, 3, 9, 0, 0, 6, 9, 11, 0, 8, 0, 0,
- 10, 0, 0, 14, 3, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 10, 0, 9, 0,
- 2, 0, 0, 6, 0, 0, 0, 6, 0, 3, 6, 8, 0, 0,
- 0, 0, 0, 9, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0,
- 0, 0, 7, 0, 0, 0, 0, 0, 0, 11, 0, 0, 13, 0,
- 17, 0, 6, 14, 12, 0, 0, 0, 0, 11, 0, 0, 0, 0,
- 0, 5, 18, 0, 0, 0, 0, 0, 0, 11, 0, 12, 0, 0,
- 8, 15, 0, 10, 0, 10, 24, 8, 0, 0, 0, 0, 0, 2,
- 8, 0, 0, 0, 0, 0, 17, 0, 0, 12, 0, 0, 0, 0,
- 0, 0, 0, 11, 0, 10, 0, 13, 0, 10, 0, 0, 0, 13,
- 11, 0, 0, 2, 0, 0, 0, 11, 14, 0, 0, 0, 10, 3,
- 4, 4, 0, 0, 0, 0, 12, 14, 0, 13, 0, 12, 0, 7,
- 0, 14, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 17,
- 0, 0, 2, 0, 0, 10, 15, 19, 0, 0, 2, 20, 0, 0,
- 9, 0, 8, 0, 5, 10, 14, 2, 0, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 6, 13, 0, 0, 0, 12, 0,
- 13, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 9, 10, 6, 0, 11, 0, 0, 0, 0, 0, 0, 3, 0,
- 10, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 8, 0, 13,
- 0, 0, 17, 0, 0, 13, 0, 0, 12, 0, 0, 14, 0, 12,
- 12, 0, 0, 0, 0, 0, 0, 18, 0, 3, 0, 0, 0, 9,
- 0, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 10, 0,
- 19, 9, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 13, 0,
- 12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 14, 17, 0, 13,
- 0, 10, 14, 23, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 8, 9, 12, 0, 0, 0, 12, 0,
- 0, 15, 0, 6, 0, 6, 15, 0, 0, 0, 0, 0, 15, 0,
- 0, 23, 0, 0, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 0, 0, 0, 22, 25, 0, 13, 11, 0, 15, 0, 0, 0, 0,
- 0, 7, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0,
- 10, 0, 0, 0, 2, 0, 13, 10, 0, 0, 0, 17, 0, 0,
- 0, 0, 14, 0, 0, 15, 0, 17, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 12, 17, 0, 16, 13, 0, 3, 0, 0, 0, 14,
- 0, 14, 0, 0, 0, 0, 12, 0, 0, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 10, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 3, 19, 13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 27, 22, 13, 0, 0, 0, 0, 0,
- 0, 27, 0, 11, 0, 21, 0, 0, 22, 0, 0, 0, 0, 18,
- 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 0, 39, 40, 0,
- 11, 0, 0, 0, 3, 13, 0, 0, 18, 0, 0, 0, 0, 18,
- 15, 0, 0, 0, 0, 0, 0, 37, 0, 0, 22, 14, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 5,
- 12, 13, 8, 10, 4, 0, 0, 0, 14, 0, 0, 0, 8, 15,
- 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 30, 0, 17, 0,
- 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 18, 15, 0,
- 19, 19, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 15, 0,
- 0, 0, 14, 0, 17, 0, 0, 0, 0, 0, 0, 0, 8, 0,
- 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 10, 0, 15, 0, 15, 0, 0,
- 0, 25, 0, 1, 0, 0, 0, 0, 0, 15, 0, 0, 0, 1,
- 8, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 31, 13,
- 0, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 8, 13,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 9, 16, 0, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 1, 2, 1, 0, 3, 2, 0,
+ 2, 2, 2, 4, 3, 4, 0, 4, 0, 0, 0, 4, 2, 0,
+ 0, 0, 0, 5, 0, 0, 3, 8, 0, 0, 5, 0, 6, 0,
+ 4, 5, 5, 7, 0, 0, 0, 0, 5, 6, 3, 0, 4, 0,
+ 6, 0, 4, 9, 7, 4, 7, 0, 0, 0, 7, 4, 4, 5,
+ 9, 0, 0, 7, 0, 0, 0, 6, 0, 9, 0, 0, 5, 10,
+ 0, 7, 9, 3, 6, 6, 10, 0, 0, 7, 2, 5, 10, 4,
+ 0, 9, 0, 0, 6, 8, 0, 0, 6, 10, 3, 3, 0, 0,
+ 10, 0, 8, 0, 5, 0, 4, 5, 5, 0, 9, 5, 7, 0,
+ 10, 3, 7, 0, 4, 0, 7, 0, 8, 8, 0, 0, 9, 0,
+ 0, 6, 5, 4, 7, 10, 6, 0, 0, 0, 8, 0, 0, 10,
+ 5, 0, 0, 6, 9, 0, 8, 0, 0, 0, 0, 0, 0, 10,
+ 0, 0, 2, 0, 0, 9, 0, 10, 0, 7, 0, 0, 0, 0,
+ 4, 0, 10, 4, 9, 0, 5, 5, 0, 6, 0, 0, 5, 0,
+ 0, 8, 4, 0, 15, 9, 0, 7, 10, 0, 11, 1, 8, 0,
+ 0, 0, 0, 0, 0, 10, 0, 10, 6, 10, 0, 7, 6, 0,
+ 5, 0, 0, 0, 0, 0, 0, 5, 0, 8, 0, 0, 8, 1,
+ 6, 10, 10, 0, 9, 4, 8, 0, 0, 17, 0, 0, 13, 12,
+ 0, 7, 0, 10, 4, 0, 0, 10, 0, 0, 0, 0, 0, 8,
+ 0, 11, 0, 0, 0, 6, 0, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 9, 0, 5, 0, 0, 0, 2, 2, 9, 0, 7,
+ 0, 0, 0, 0, 0, 5, 0, 0, 3, 0, 8, 5, 0, 0,
+ 0, 10, 6, 2, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0,
+ 0, 0, 0, 0, 0, 9, 0, 9, 0, 11, 0, 0, 0, 6,
+ 0, 9, 0, 0, 0, 0, 9, 0, 8, 10, 0, 0, 0, 6,
+ 8, 12, 0, 0, 0, 7, 12, 0, 0, 20, 0, 0, 0, 0,
+ 14, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 10, 8, 0,
+ 0, 4, 0, 5, 0, 9, 10, 7, 13, 0, 0, 0, 4, 8,
+ 10, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
+ 0, 12, 0, 10, 7, 2, 10, 8, 0, 6, 0, 0, 0, 13,
+ 2, 2, 0, 8, 14, 0, 0, 0, 0, 0, 6, 6, 0, 0,
+ 0, 0, 19, 0, 10, 0, 10, 0, 2, 0, 6, 0, 0, 0,
+ 0, 7, 0, 0, 9, 0, 0, 2, 0, 0, 3, 0, 0, 18,
+ 0, 0, 0, 11, 0, 0, 9, 0, 0, 0, 0, 8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0,
+ 13, 0, 24, 0, 14, 0, 2, 9, 0, 0, 11, 0, 8, 0,
+ 10, 0, 0, 0, 0, 0, 0, 6, 5, 0, 0, 8, 12, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 11, 0, 14, 0, 0, 0, 17, 11, 11, 3,
+ 0, 0, 15, 0, 0, 0, 10, 16, 0, 0, 9, 5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 10, 7, 0, 0, 0, 0, 12, 0,
+ 0, 0, 8, 0, 0, 11, 14, 0, 11, 0, 0, 0, 10, 0,
+ 0, 13, 0, 0, 0, 3, 11, 0, 0, 12, 14, 0, 0, 0,
+ 0, 8, 0, 20, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
+ 0, 8, 11, 15, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 4, 0, 17, 0, 15, 0, 5, 0, 17, 0, 0, 0, 0, 13,
+ 0, 0, 0, 0, 0, 8, 17, 0, 17, 23, 0, 0, 10, 0,
+ 7, 8, 14, 0, 2, 18, 0, 0, 12, 0, 7, 0, 0, 0,
+ 0, 0, 9, 0, 0, 12, 0, 0, 0, 0, 13, 0, 0, 14,
+ 0, 19, 0, 9, 13, 0, 0, 13, 0, 13, 12, 0, 0, 0,
+ 23, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 14, 0, 0, 0, 0, 2, 0, 3, 0, 0, 4, 0,
+ 18, 14, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 10, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, 0,
+ 13, 0, 12, 0, 0, 0, 15, 0, 0, 8, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 10, 11, 0, 0, 0, 0, 17, 19, 0, 0, 0,
+ 0, 0, 15, 0, 0, 0, 0, 17, 0, 0, 24, 0, 0, 0,
+ 11, 0, 0, 0, 19, 0, 9, 15, 0, 0, 0, 0, 0, 10,
+ 0, 0, 0, 23, 9, 22, 0, 8, 10, 0, 0, 0, 0, 0,
+ 12, 0, 9, 0, 0, 7, 0, 14, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 25, 0, 12, 0,
+ 0, 2, 14, 0, 0, 0, 0, 0, 0, 12, 0, 9, 11, 12,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 7, 0, 0,
- 10, 11, 21, 11, 2, 0, 9, 0, 16, 24, 0, 0, 0, 16,
- 30, 0, 13, 0, 0, 0, 0, 48, 0, 0, 27, 0, 0, 0,
- 11, 0, 0, 0, 15, 0, 16, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
- 0, 24, 9, 0, 23, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 15, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 15, 0, 0, 0, 0, 0, 14, 0, 0, 0, 14, 0,
+ 0, 11, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 15,
+ 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 27, 0, 0, 13, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 27, 2, 0,
+ 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 10, 19,
+ 0, 14, 0, 0, 5, 37, 0, 0, 0, 0, 0, 0, 12, 0,
+ 0, 0, 0, 0, 0, 22, 0, 0, 0, 11, 0, 0, 0, 18,
+ 0, 0, 0, 0, 0, 0, 10, 0, 0, 13, 0, 14, 0, 0,
+ 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 14,
+ 0, 0, 12, 0, 2, 17, 22, 9, 0, 0, 0, 12, 0, 0,
+ 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 18, 0, 18, 1,
+ 10, 0, 9, 0, 12, 10, 0, 0, 0, 15, 0, 9, 0, 0,
+ 0, 3, 0, 0, 0, 15, 11, 6, 8, 21, 21, 0, 0, 0,
+ 0, 18, 0, 0, 14, 0, 0, 0, 3, 0, 8, 10, 0, 0,
+ 22, 20, 0, 9, 0, 9, 0, 16, 0, 0, 0, 0, 0, 0,
+ 0, 16, 0, 0, 0, 0, 8, 39, 40, 0, 0, 0, 2, 3,
+ 0, 0, 0, 0, 21, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 13, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 30, 0, 8, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 15, 0, 10, 0, 0, 0, 0, 21, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 20, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
+ 0, 0, 10, 16, 0, 0, 0, 12, 0, 0, 0, 0, 16, 12,
+ 0, 0, 14, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
+ 0, 18, 0, 11, 0, 0, 0, 0, 0, 0, 0, 13, 0, 19,
+ 0, 0, 0, 21, 0, 0, 0, 0, 13, 0, 0, 6, 0, 0,
+ 11, 0, 0, 0, 12, 0, 0, 0, 0, 24, 0, 0, 0, 0,
+ 10, 13, 0, 0, 0, 0, 0, 13, 0, 21, 0, 15, 0, 0,
+ 0, 30, 0, 0, 0, 0, 15, 0, 16, 0, 0, 0, 16, 0,
+ 0, 0, 24, 0, 23, 0, 14, 0, 11, 0, 0, 15, 0, 0,
+ 0, 0, 0, 24, 0, 0, 0, 16, 0, 0, 0, 0, 0, 13,
+ 0, 0, 0, 0, 48, 8, 0, 0, 0, 0, 2, 15, 30, 30,
+ 0, 16, 0, 2, 0, 0, 0, 0, 0, 0, 0, 15, 27, 0,
+ 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 10, 3,
+ 10, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 16, 12, 0, 0, 0, 0, 0, 31, 16,
+ 0, 0, 0, 0, 0, 0, 0, 31, 12, 0, 0, 0, 0, 0,
+ 0, 16, 9, 0, 30, 0, 23, 14, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 12, 0, 23, 0,
+ 0, 15, 5, 0, 7, 20, 0, 0, 44, 0, 0, 19, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 13, 11, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 31, 0, 1, 0, 8,
- 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 14, 0, 0, 18,
- 8, 0, 12, 16, 0, 0, 21, 0, 0, 0, 0, 0, 18, 44,
- 12, 0, 0, 0, 0, 0, 0, 6, 0, 0, 11, 0, 0, 6,
- 0, 0, 0, 0, 16, 0, 26, 0, 0, 30, 0, 23, 21, 25,
- 0, 0, 9, 0, 23, 0, 0, 0, 11, 0, 42, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 6,
- 30, 0, 0, 0, 0, 9, 23, 11, 0, 0, 0, 5, 0, 0,
- 0, 57, 19, 0, 0, 0, 0, 0, 0, 11, 13, 14, 7, 0,
- 0, 0, 19, 12, 0, 0, 0, 10, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 10, 22, 0, 0, 0, 0, 27, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 9, 27, 0, 0, 0, 16, 0, 0, 0, 24, 24,
- 0, 0, 13, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 12, 0, 12, 0, 15, 9, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 15,
- 0, 18, 18, 0, 0, 16, 0, 0, 10, 0, 18, 17, 0, 0,
- 0, 0, 22, 0, 39, 0, 0, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 21, 0, 0, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 0, 48, 0, 0, 30, 0, 0,
- 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 15, 0, 18, 0, 0, 0, 0, 0, 0, 17, 18, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 13, 13, 0, 0, 19,
- 30, 0, 19, 0, 15, 0, 0, 8, 0, 0, 0, 0, 0, 0,
- 0, 13, 0, 0, 0, 0, 24, 32, 14, 0, 13, 27, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
- 14, 0, 26, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
- 21, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 25, 0,
- 0, 0, 0, 0, 0, 19, 13, 0, 0, 0, 0, 0, 31, 6,
- 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0,
- 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 33, 0, 22, 0, 0, 0, 32, 0, 0,
- 0, 0, 13, 0, 0, 10, 19, 0, 0, 0, 14, 14, 0, 0,
- 0, 0, 26, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 23, 0, 0, 0, 0, 0, 24, 0, 0, 15, 13, 0,
- 0, 11, 0, 0, 0, 6, 15, 0, 0, 0, 0, 0, 9, 0,
- 16, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
- 16, 14, 0, 1, 14, 11, 0, 0, 0, 0, 0, 23, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 20, 0,
- 0, 0, 0, 0, 22, 0, 20, 31, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 9, 14,
- 0, 15, 0, 0, 0, 0, 7, 0, 0, 0, 23, 13, 0, 0,
- 0, 12, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 35, 11,
- 0, 22, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
- 0, 32, 0, 19, 14, 0, 15, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 25, 0, 0,
- 0, 25, 0, 0, 12, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 13, 33, 0,
- 27, 13, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 19, 0,
- 0, 0, 0, 0, 11, 10, 12, 0, 0, 16, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
- 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 28, 0, 10, 0, 10, 0, 0, 0, 0, 23, 0, 23,
- 20, 0, 19, 0, 15, 11, 13, 0, 15, 0, 0, 0, 0, 0,
- 0, 19, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 19, 0, 0, 7, 0, 0, 17, 2, 0, 0, 0, 0, 0,
- 27, 0, 18, 0, 27, 0, 0, 0, 2, 0, 0, 0, 28, 9,
- 0, 15, 0, 25, 9, 0, 0, 0, 0, 25, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 9, 0, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 25, 0,
- 14, 0, 0, 0, 0, 2, 0, 0, 0, 32, 9, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 13, 0, 17, 0, 11, 16, 23, 0, 0, 0,
- 16, 11, 19, 16, 39, 27, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 12, 0, 0, 0, 0, 17, 17, 0, 0, 0, 20, 0, 15,
- 15, 20, 15, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 0, 12, 42, 15, 10, 0,
- 0, 0, 13, 0, 0, 10, 0, 0, 0, 13, 0, 0, 0, 15,
- 13, 21, 0, 0, 20, 15, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 22, 0, 0, 11, 18, 0, 0, 0, 0, 15, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 22, 0, 0, 2, 14, 0,
- 0, 0, 24, 0, 0, 25, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 2, 17,
- 11, 9, 0, 12, 0, 0, 21, 0, 0, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 0, 12, 0, 0, 0, 0, 0, 0, 0, 14,
- 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 22,
- 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 0,
- 18, 0, 0, 0, 16, 0, 0, 0, 0, 0, 17, 0, 30, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 17, 0,
- 0, 0, 28, 0, 0, 11, 0, 0, 0, 0, 0, 22, 0, 2,
- 0, 0, 0, 23, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 10,
- 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 12, 0, 23,
- 14, 16, 0, 0, 3, 0, 0, 0, 0, 0, 19, 9, 0, 0,
- 0, 23, 0, 9, 0, 12, 0, 0, 13, 0, 0, 8, 0, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 28, 0, 0,
- 0, 3, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
- 0, 16, 23, 0, 0, 0, 12, 3, 0, 13, 21, 0, 0, 0,
- 0, 30, 0, 23, 0, 0, 25, 0, 16, 0, 20, 0, 13, 10,
- 10, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 0, 0, 0, 0, 0, 0, 12, 0, 13, 2, 0, 0, 0, 0,
- 0, 10, 0, 0, 9, 0, 0, 18, 0, 0, 10, 12, 21, 0,
- 0, 0, 0, 0, 0, 28, 21, 0, 0, 21, 0, 0, 0, 0,
- 12, 0, 8, 0, 0, 9, 0, 0, 2, 0, 22, 0, 10, 15,
- 0, 0, 34, 10, 0, 0, 0, 0, 0, 20, 0, 0, 0, 13,
- 0, 0, 0, 0, 0, 0, 0, 11, 0, 18, 0, 38, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 16, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 15, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 26, 12, 0, 18, 37, 0, 12, 13, 0,
- 17, 12, 0, 0, 0, 22, 10, 0, 0, 16, 0, 16, 17, 0,
- 10, 3, 0, 0, 18, 29, 0, 0, 0, 0, 0, 11, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 13, 0, 0, 0,
- 0, 0, 32, 0, 0, 0, 0, 9, 0, 22, 0, 0, 3, 11,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 14, 0, 0, 0, 0, 31, 0,
- 9, 0, 0, 10, 0, 0, 0, 0, 12, 0, 0, 16, 0, 0,
- 0, 15, 0, 0, 0, 20, 0, 16, 0, 0, 0, 23, 0, 0,
- 3, 0, 0, 20, 17, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 0, 0, 0, 0, 28, 32, 0, 0, 17, 19, 22, 0,
- 0, 0, 0, 0, 0, 25, 0, 0, 27, 20, 0, 0, 0, 0,
- 0, 15, 0, 0, 11, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 24, 13,
- 0, 0, 0, 16, 13, 0, 0, 0, 0, 0, 36, 29, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 0, 26, 0, 0, 12, 19, 0, 0, 0, 0, 10, 0,
- 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 6, 0, 0, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 17, 0, 14, 0, 0, 0, 0, 0, 6, 0, 0,
- 0, 0, 0, 0, 0, 18, 0, 0, 0, 30, 0, 0, 0, 0,
- 7, 0, 0, 15, 0, 0, 0, 0, 19, 0, 0, 0, 22, 16,
- 9, 0, 0, 0, 15, 0, 0, 19, 22, 0, 0, 8, 0, 0,
- 0, 4, 0, 0, 22, 0, 0, 0, 0, 17, 0, 0, 0, 31,
- 0, 0, 0, 15, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 24, 0, 0, 15, 2, 0, 0, 8, 16, 0, 0, 0,
- 3, 0, 16, 0, 22, 0, 0, 18, 11, 0, 0, 11, 0, 23,
- 0, 0, 0, 0, 0, 7, 0, 17, 0, 0, 0, 0, 0, 3,
- 0, 0, 0, 0, 25, 0, 21, 0, 0, 0, 0, 6, 0, 0,
- 12, 0, 0, 0, 35, 0, 0, 0, 30, 0, 0, 0, 0, 0,
- 21, 0, 0, 16, 0, 22, 0, 0, 18, 5, 11, 0, 0, 0,
- 0, 8, 0, 23, 0, 0, 0, 0, 0, 0, 28, 15, 0, 0,
- 0, 15, 16, 20, 0, 0, 20, 0, 23, 9, 0, 0, 0, 0,
- 22, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 0, 0, 0, 24, 0, 0, 0, 0, 28, 0, 9, 0, 0, 0,
- 0, 18, 0, 0, 0, 7, 0, 0, 0, 16, 0, 0, 0, 0,
- 15, 0, 0, 34, 0, 18, 23, 10, 0, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 13, 11, 25, 0,
- 0, 0, 16, 0, 15, 0, 15, 31, 0, 0, 0, 0, 0, 0,
- 0, 11, 0, 30, 0, 34, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 21,
- 0, 15, 0, 0, 2, 4, 0, 23, 0, 0, 40, 0, 0, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 0, 37, 0, 35, 0, 0, 0, 13, 0, 0,
- 0, 0, 29, 0, 14, 9, 14, 0, 0, 0, 0, 0, 0, 14,
- 0, 0, 0, 17, 0, 0, 0, 0, 0, 20, 0, 0, 38, 18,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
- 18, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0, 0, 0, 0, 0, 0, 23, 0, 0, 12, 10,
- 37, 0, 0, 0, 11, 15, 0, 0, 0, 0, 0, 0, 0, 12,
- 0, 24, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 25, 0,
+ 0, 0, 0, 0, 11, 0, 30, 0, 0, 10, 0, 18, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
- 17, 14, 42, 20, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 21, 0, 14, 17, 0, 24, 14,
- 0, 15, 0, 0, 0, 0, 0, 48, 0, 25, 15, 0, 30, 11,
- 0, 0, 0, 0, 0, 0, 14, 20, 16, 0, 0, 0, 25, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 20, 0, 0, 24, 0, 0, 24, 0, 13, 0, 0,
- 27, 0, 0, 14, 0, 15, 0, 0, 0, 0, 0, 17, 0, 36,
- 12, 0, 0, 0, 0, 11, 0, 0, 13, 14, 0, 0, 23, 24,
- 15, 0, 0, 20, 33, 0, 0, 14, 0, 20, 0, 31, 0, 12,
- 0, 0, 14, 0, 16, 0, 15, 0, 0, 0, 15, 0, 0, 0,
- 9, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0,
- 27, 0, 0, 0, 0, 15, 0, 0, 0, 14, 0, 14, 0, 0,
- 0, 17, 0, 0, 0, 13, 0, 0, 29, 0, 0, 0, 0, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 19,
- 0, 13, 0, 0, 0, 0, 0, 0, 35, 21, 47, 0, 10, 0,
- 0, 8, 13, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 19, 0, 37, 19, 0, 0, 0, 24, 0, 14, 0,
- 0, 0, 23, 0, 31, 15, 0, 26, 0, 0, 15, 8, 0, 0,
- 18, 0, 0, 0, 16, 0, 15, 12, 0, 0, 11, 0, 2, 0,
- 0, 0, 0, 0, 19, 0, 0, 23, 0, 0, 0, 0, 2, 0,
- 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 34, 0, 0, 9,
- 25, 0, 32, 0, 0, 0, 18, 25, 0, 15, 0, 0, 0, 0,
- 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34, 0, 14, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 17,
- 0, 16, 10, 0, 0, 0, 0, 0, 0, 12, 13, 25, 0, 0,
- 13, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 12, 0, 0,
- 20, 0, 0, 0, 28, 16, 19, 0, 0, 13, 0, 0, 0, 0,
- 0, 0, 0, 15, 12, 15, 9, 12, 0, 0, 15, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 21, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 0, 0, 0, 0, 14, 0, 10, 0, 0, 22,
- 0, 0, 0, 11, 0, 15, 33, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 23, 0, 0, 0, 14, 22, 18, 0, 18, 0,
- 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 31, 0, 10, 0, 0, 0, 29, 0, 15, 0, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0, 26, 0, 0, 0, 16, 0, 0, 0, 0, 10, 25, 19, 0,
- 0, 0, 35, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 10, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 32, 0, 1, 21, 0, 22, 14, 0, 0, 25, 0, 0, 0,
- 0, 14, 0, 0, 21, 12, 0, 0, 0, 22, 0, 0, 0, 0,
- 0, 35, 24, 19, 31, 0, 0, 0, 0, 0, 0, 0, 26, 22,
- 0, 0, 0, 22, 0, 0, 16, 0, 0, 0, 17, 0, 2, 29,
- 0, 0, 0, 0, 0, 0, 26, 0, 15, 0, 22, 11, 0, 14,
- 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
- 27, 0, 17, 15, 23, 3, 0, 0, 14, 18, 2, 13, 0, 25,
- 0, 0, 0, 6, 0, 0, 0, 0, 32, 0, 0, 14, 0, 0,
- 23, 0, 0, 0, 29, 16, 0, 18, 0, 11, 0, 11, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
- 25, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0,
- 27, 0, 0, 26, 0, 30, 11, 14, 0, 27, 0, 0, 0, 0,
- 0, 0, 0, 19, 0, 0, 0, 38, 0, 0, 0, 14, 0, 0,
- 0, 14, 0, 18, 0, 14, 0, 9, 0, 26, 0, 0, 0, 0,
- 0, 0, 0, 24, 0, 0, 0, 31, 0, 13, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 50, 20, 0, 0, 20, 0,
- 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 23,
- 0, 0, 20, 17, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 0, 0, 16, 0, 19, 0, 0, 0, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 27, 0, 0, 0, 0, 11, 15, 0, 6, 11, 13, 15, 22,
- 0, 0, 13, 0, 0, 28, 0, 0, 0, 15, 0, 0, 0, 13,
- 27, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0,
- 0, 17, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 30, 35,
- 15, 0, 0, 0, 0, 0, 0, 0, 13, 0, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 30, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 29,
- 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 19, 13, 0, 0,
- 12, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 11,
- 0, 3, 0, 14, 0, 4, 0, 0, 0, 0, 12, 0, 17, 6,
- 0, 0, 3, 21, 0, 0, 4, 0, 0, 21, 15, 0, 0, 0,
- 33, 0, 0, 0, 8, 0, 0, 0, 9, 12, 22, 0, 0, 11,
- 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 0, 27, 0, 0, 24, 0, 0, 14, 0, 11, 0, 0, 11,
+ 0, 0, 0, 0, 0, 0, 26, 0, 11, 8, 0, 0, 0, 0,
+ 21, 0, 0, 17, 15, 13, 0, 0, 0, 23, 0, 25, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 16, 13, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 8,
- 0, 0, 0, 0, 0, 0, 15, 0, 16, 0, 0, 0, 34, 0,
- 12, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
- 0, 0, 0, 0, 0, 18, 15, 15, 0, 0, 0, 14, 0, 0,
- 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 0, 33, 18, 0, 0, 0, 16, 15, 15, 0,
- 0, 0, 0, 28, 0, 32, 42, 0, 0, 0, 0, 0, 0, 0,
- 0, 35, 20, 0, 15, 0, 0, 0, 0, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
- 0, 14, 23, 0, 0, 0, 37, 0, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 39, 0, 25, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 30, 11, 0, 0, 26, 24,
- 0, 0, 18, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
- 0, 0, 0, 0, 0, 6, 0, 0, 8, 0, 0, 15, 0, 0,
- 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 20, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 22, 42, 0, 0, 14, 0, 0, 0, 0, 10, 0,
- 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 28, 15, 0, 0, 0, 0, 0, 13, 0, 0, 0, 22, 15, 0,
- 0, 0, 0, 23, 46, 0, 0, 0, 13, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 17, 0,
+ 0, 0, 13, 16, 0, 6, 0, 7, 0, 19, 6, 9, 0, 16,
+ 12, 0, 0, 0, 0, 7, 9, 0, 0, 26, 0, 0, 0, 0,
+ 0, 23, 0, 0, 0, 0, 10, 0, 0, 57, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 30, 0, 23,
+ 0, 0, 3, 0, 0, 19, 0, 0, 14, 32, 0, 0, 42, 18,
+ 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 8, 11, 13, 0,
+ 0, 0, 0, 22, 0, 0, 0, 0, 0, 18, 0, 34, 0, 22,
+ 0, 15, 0, 19, 15, 0, 14, 13, 15, 0, 0, 0, 13, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 11, 0, 0,
+ 0, 12, 0, 0, 0, 0, 0, 0, 6, 0, 11, 0, 12, 0,
+ 0, 0, 0, 0, 14, 0, 0, 22, 0, 0, 0, 0, 18, 10,
+ 14, 31, 32, 0, 13, 6, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 0, 20, 13, 0, 0, 0, 0, 0, 26, 35, 0, 12,
+ 0, 0, 14, 0, 0, 0, 15, 0, 31, 0, 0, 0, 0, 0,
+ 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 20, 0, 8, 0, 0, 0, 15, 0,
+ 0, 0, 11, 0, 23, 0, 0, 0, 0, 0, 29, 19, 0, 0,
0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 25, 0, 0, 31, 0, 15, 0, 7, 0, 11, 0,
- 0, 18, 18, 0, 0, 3, 10, 0, 0, 29, 14, 0, 19, 0,
- 0, 0, 33, 27, 0, 19, 0, 0, 0, 0, 0, 0, 37, 0,
- 17, 0, 15, 0, 0, 0, 0, 12, 0, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0, 0, 13, 21, 0, 0, 0, 0, 0,
- 0, 18, 0, 11, 0, 50, 0, 12, 12, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 22, 0, 12, 0, 12, 15, 0, 0, 0,
- 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0,
- 15, 0, 0, 0, 0, 0, 27, 0, 0, 0, 15, 0, 0, 24,
- 0, 0, 8, 0, 13, 43, 0, 0, 22, 31, 0, 26, 33, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 27, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 16, 0, 0, 34, 0, 11, 10, 0, 0, 0, 0,
- 0, 0, 0, 3, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 6, 0, 0, 27, 16, 0, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 11, 0, 0, 0, 20, 32, 23, 0, 0, 29, 0,
- 0, 8, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
- 0, 32, 8, 0, 14, 0, 0, 23, 0, 18, 0, 0, 16, 0,
- 43, 0, 30, 0, 0, 0, 27, 0, 0, 0, 0, 0, 16, 0,
- 0, 0, 0, 11, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 19, 0, 9, 0, 0, 11, 0, 0, 0, 0, 0, 24, 0, 32,
- 0, 15, 13, 0, 0, 15, 0, 0, 0, 0, 12, 0, 16, 0,
- 0, 0, 27, 0, 11, 0, 7, 0, 0, 0, 19, 0, 0, 0,
- 12, 35, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 13, 0, 0, 14, 0, 31, 0, 0, 0, 30, 25, 0, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 0, 0, 14, 0, 0, 0, 19, 0, 0, 0, 21,
- 0, 0, 0, 0, 0, 0, 31, 16, 0, 0, 0, 0, 0, 23,
- 0, 0, 0, 0, 0, 0, 32, 0, 9, 9, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 9, 0, 32, 0, 0, 35, 11, 0, 0,
- 24, 0, 43, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 21, 0, 0, 0, 0,
- 14, 25, 0, 0, 14, 0, 0, 0, 0, 0, 16, 0, 0, 3,
- 0, 0, 0, 4, 0, 0, 0, 0, 30, 0, 0, 6, 0, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 0, 13, 0, 0, 0, 0, 22, 15, 18, 17, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 2, 0, 18, 0, 0, 0, 13, 0, 0, 0, 0,
- 0, 0, 12, 16, 14, 0, 0, 0, 73, 74, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 15, 22, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 0, 0, 18, 13, 0, 0, 0, 0, 0, 0, 0, 12,
- 0, 14, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 16,
- 14, 0, 0, 26, 0, 0, 0, 0, 0, 0, 23, 10, 0, 10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 13, 0, 19, 0, 0, 27, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 9, 0, 0,
- 8, 0, 28, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
- 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
- 22, 0, 0, 0, 0, 15, 0, 0, 18, 24, 0, 0, 6, 0,
- 13, 28, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 12, 28, 0, 0, 0, 0, 23,
- 12, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0,
- 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
- 0, 0, 0, 6, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 16, 0, 11, 0, 0, 0, 23, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 22, 2, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 25, 0, 0, 13,
- 0, 0, 14, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 0, 0, 0, 11, 0, 19, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 38, 20, 13, 0, 0, 0, 31, 0, 14, 0, 0,
- 0, 0, 0, 10, 0, 0, 28, 15, 0, 0, 0, 12, 0, 0,
- 0, 0, 14, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 8, 3, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
- 0, 25, 0, 0, 0, 0, 27, 15, 10, 0, 0, 0, 0, 30,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 15, 0,
- 0, 0, 0, 18, 0, 12, 0, 21, 0, 0, 0, 0, 25, 0,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 21, 0, 38, 0, 0, 0, 22, 0, 0, 0, 0, 0,
- 0, 0, 36, 0, 0, 0, 27, 0, 0, 0, 0, 18, 0, 0,
- 0, 0, 23, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 25, 0, 31, 0, 26, 0, 0, 24, 0, 0, 0, 0,
- 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
- 15, 0, 0, 0, 14, 0, 0, 28, 0, 0, 0, 4, 0, 11,
- 0, 0, 36, 0, 0, 0, 0, 30, 0, 0, 0, 18, 0, 0,
- 30, 0, 0, 0, 16, 0, 0, 0, 0, 0, 28, 11, 14, 29,
- 0, 26, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
- 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 26, 0, 13,
- 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 14, 0, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 37,
- 0, 31, 0, 0, 0, 0, 24, 6, 0, 11, 0, 0, 0, 23,
- 0, 0, 0, 0, 0, 0, 15, 0, 8, 0, 28, 25, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 19, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 0, 43, 0, 24,
- 14, 0, 0, 0, 0, 0, 2, 0, 19, 0, 7, 18, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 31, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 0, 0, 24, 37, 0, 0, 0,
- 0, 0, 32, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 13,
- 0, 13, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 0, 0, 24, 0, 0, 10, 0, 0,
- 18, 36, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
+ 0, 11, 12, 1, 0, 0, 0, 13, 0, 39, 0, 0, 0, 18,
+ 0, 22, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 29, 0,
+ 0, 9, 0, 13, 0, 0, 0, 0, 12, 10, 11, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 19,
+ 0, 0, 3, 0, 0, 26, 0, 0, 0, 2, 0, 0, 9, 0,
+ 0, 0, 23, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 13,
+ 15, 0, 2, 0, 0, 0, 0, 0, 26, 8, 0, 16, 0, 0,
+ 0, 0, 0, 19, 0, 25, 0, 0, 0, 0, 0, 10, 0, 0,
+ 27, 0, 0, 10, 9, 0, 13, 27, 10, 0, 10, 10, 25, 0,
+ 9, 0, 19, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 0, 0, 1, 32, 0, 5, 10, 12, 9,
0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 23,
- 0, 0, 0, 0, 0, 0, 43, 0, 5, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 18, 14, 0, 0, 0,
- 30, 0, 0, 0, 0, 16, 0, 0, 0, 27, 0, 0, 10, 0,
- 8, 0, 0, 0, 19, 0, 0, 23, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 11, 0, 0, 0, 0, 23, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 34, 26, 19, 0, 18, 0, 0, 0, 35,
- 0, 14, 0, 0, 40, 0, 0, 0, 0, 0, 0, 22, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 23, 0,
- 0, 0, 13, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 23, 0, 32, 0, 19, 0, 29, 0, 0, 0, 0, 0,
- 0, 0, 0, 41, 0, 0, 0, 0, 26, 29, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 14, 0, 24, 0, 0, 0, 0, 0,
- 0, 0, 0, 18, 0, 36, 0, 0, 33, 0, 0, 0, 0, 28,
- 18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
- 17, 0, 23, 0, 0, 11, 0, 0, 0, 0, 11, 23, 0, 0,
- 0, 0, 0, 17, 16, 0, 15, 16, 0, 29, 0, 0, 0, 0,
- 0, 14, 0, 0, 14, 0, 0, 0, 0, 0, 36, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 15, 0,
- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 22, 0, 0,
- 0, 0, 0, 0, 14, 72, 39, 0, 0, 0, 29, 0, 0, 0,
- 0, 28, 0, 0, 0, 35, 15, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 15, 29, 23, 29, 0,
- 0, 0, 0, 9, 31, 0, 0, 0, 0, 14, 0, 0, 0, 21,
- 24, 10, 22, 0, 0, 0, 11, 29, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 26, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 11, 10, 0, 22, 0, 0, 0,
+ 14, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 31, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 23, 28, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 14, 0, 30, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 16,
- 24, 0, 24, 0, 0, 0, 22, 0, 0, 0, 0, 0, 26, 0,
+ 0, 22, 0, 18, 0, 19, 0, 0, 0, 0, 0, 10, 9, 0,
+ 0, 0, 12, 13, 15, 0, 0, 0, 0, 0, 0, 0, 23, 18,
+ 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 0, 25, 0, 0,
+ 23, 0, 17, 0, 18, 0, 27, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 11, 9, 12, 0, 12, 0, 0, 0, 0, 21, 3, 20,
+ 0, 0, 0, 0, 0, 25, 10, 33, 0, 0, 10, 0, 0, 0,
+ 16, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 23, 0,
+ 0, 15, 12, 0, 0, 0, 0, 0, 0, 16, 0, 0, 14, 0,
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 26, 0, 28, 0, 19, 0, 0, 0, 0, 24,
- 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 13, 0, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 16, 0,
- 0, 0, 24, 0, 0, 0, 0, 0, 27, 14, 22, 0, 0, 0,
- 10, 0, 0, 28, 0, 0, 15, 0, 0, 27, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 11, 0, 0, 0, 15, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 25,
+ 35, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 15, 0, 10, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 23, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 0, 0, 0, 35, 0, 0, 0, 0,
+ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
+ 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 23, 0, 14,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 0, 0, 0, 0, 21, 0, 0, 21, 0, 0, 16,
+ 0, 29, 11, 0, 0, 0, 0, 0, 22, 0, 0, 10, 0, 27,
+ 0, 24, 0, 0, 0, 0, 11, 0, 0, 0, 0, 21, 0, 19,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 18,
+ 0, 13, 10, 0, 0, 22, 25, 32, 0, 9, 0, 0, 12, 0,
+ 0, 0, 0, 0, 0, 22, 13, 0, 10, 0, 0, 28, 10, 0,
+ 0, 33, 38, 0, 23, 13, 0, 0, 0, 30, 0, 31, 0, 0,
+ 18, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
+ 0, 27, 0, 0, 22, 0, 9, 11, 16, 0, 0, 0, 17, 42,
+ 0, 0, 0, 0, 19, 0, 10, 0, 0, 0, 0, 0, 16, 0,
+ 0, 15, 17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 13, 10, 6, 0, 0, 0, 13, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 13, 18, 11, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 34, 0, 0, 0, 36, 0, 0, 0, 0, 24, 0, 0, 0, 18,
+ 0, 9, 0, 13, 0, 0, 0, 17, 0, 24, 0, 0, 0, 31,
+ 0, 0, 0, 0, 12, 0, 0, 13, 0, 0, 0, 23, 0, 0,
+ 14, 18, 16, 0, 2, 0, 0, 11, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 19,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 8,
+ 14, 0, 0, 0, 0, 0, 13, 0, 28, 0, 0, 0, 0, 9,
+ 0, 0, 11, 0, 0, 16, 0, 39, 0, 0, 0, 0, 0, 12,
+ 0, 0, 13, 15, 0, 0, 0, 15, 0, 0, 0, 12, 0, 31,
+ 0, 24, 20, 0, 12, 0, 15, 0, 10, 0, 0, 0, 0, 30,
+ 22, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 38,
+ 42, 0, 18, 0, 21, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 13, 0, 0,
+ 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 14, 14, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 11,
+ 30, 11, 0, 0, 16, 0, 16, 0, 19, 13, 26, 0, 0, 9,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 24, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 8, 0, 33, 25, 0, 0, 0, 19,
- 0, 0, 0, 0, 0, 36, 0, 13, 0, 0, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 29, 0,
+ 0, 0, 17, 18, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 15, 0, 15, 0, 0, 16, 0, 0, 0, 22,
+ 0, 15, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
+ 18, 2, 3, 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
+ 0, 0, 12, 0, 12, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 2, 23, 7, 20, 9, 0, 0, 0, 0, 17, 0, 37, 0, 0,
+ 14, 0, 18, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0,
+ 0, 10, 21, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 16, 15, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 20, 13, 0, 0, 0, 0, 0, 14, 0,
+ 34, 0, 2, 0, 15, 0, 0, 0, 0, 0, 0, 20, 0, 17,
+ 0, 0, 0, 0, 0, 12, 0, 13, 18, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 24, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 0, 2, 0, 0, 0, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 43, 11, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
- 0, 0, 30, 35, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 3, 0, 28, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 20,
- 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 29, 22, 0, 0, 30, 0, 0, 0, 26, 0,
+ 0, 0, 22, 0, 13, 0, 0, 0, 0, 0, 18, 16, 23, 10,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 6, 0, 0, 0, 0,
+ 0, 22, 27, 0, 0, 0, 0, 0, 0, 0, 15, 32, 15, 28,
+ 0, 0, 0, 0, 0, 31, 0, 0, 0, 24, 0, 17, 0, 0,
+ 0, 2, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 11, 0,
+ 0, 0, 0, 0, 0, 28, 17, 0, 0, 28, 0, 25, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 14, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 0, 0, 22, 0, 0, 0, 17, 15,
+ 0, 0, 0, 0, 36, 30, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 28, 31, 0, 0,
+ 0, 0, 0, 0, 17, 15, 0, 0, 0, 21, 0, 0, 0, 17,
+ 0, 9, 0, 15, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 22, 0, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 19, 0, 19, 0, 0, 0, 0, 0, 24, 29, 0, 0,
+ 0, 0, 0, 0, 0, 0, 13, 28, 17, 0, 0, 0, 0, 12,
+ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 9, 0, 24,
+ 23, 0, 5, 0, 0, 0, 0, 0, 0, 0, 21, 0, 23, 0,
+ 0, 0, 0, 13, 0, 0, 24, 0, 18, 0, 0, 0, 0, 0,
+ 0, 15, 0, 0, 24, 0, 0, 0, 0, 0, 17, 0, 31, 0,
+ 0, 0, 16, 0, 0, 0, 0, 0, 0, 19, 26, 35, 0, 0,
+ 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 4, 0, 8, 0, 0, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+ 13, 22, 2, 0, 0, 0, 40, 0, 14, 0, 16, 0, 21, 0,
+ 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 0, 0, 20, 0, 0, 30, 0, 0,
+ 0, 0, 0, 0, 29, 16, 4, 0, 0, 0, 0, 0, 0, 23,
+ 31, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 15, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 20, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 14, 26, 0, 24, 0, 0, 0, 0, 0, 0, 38, 31,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 18, 0,
+ 0, 42, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 11, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 0, 0, 3, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 28, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 11, 0, 0, 0, 0, 37, 0, 0, 0, 0, 21, 13, 0,
+ 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
+ 0, 27, 0, 0, 0, 0, 0, 0, 0, 25, 0, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
+ 0, 21, 0, 0, 0, 18, 17, 14, 24, 12, 0, 0, 0, 0,
+ 0, 0, 25, 30, 20, 0, 22, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 30, 14, 0, 0, 6, 24, 0, 0, 0, 0, 0, 0,
+ 0, 0, 37, 0, 0, 0, 0, 0, 0, 12, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 20, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 30, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 30, 28, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 26, 22, 0, 0, 0, 28,
- 0, 22, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 34,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 34,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 24, 30, 29, 0, 0, 0, 23, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 33, 0, 0, 28,
- 0, 29, 0, 0, 0, 12, 0, 0, 30, 15, 0, 0, 0, 21,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 30,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 0, 22, 0, 16, 0, 34,
- 17, 7, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
- 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 22, 0,
- 0, 23, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 18, 0, 4, 0, 0, 0, 0, 22, 0,
- 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
- 0, 28, 0, 0, 10, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0,
- 0, 0, 19, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0, 0, 0, 0, 20, 22, 0, 0, 15, 10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 29, 0,
- 0, 0, 0, 0, 27, 14, 27, 0, 0, 23, 27, 0, 25, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 33, 0, 0, 0, 0, 0, 0, 25, 0, 0, 2, 0, 25, 0,
- 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
- 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 25, 0,
- 16, 0, 29, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 29,
- 19, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 39, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
- 28, 0, 0, 0, 0, 0, 0, 29, 0, 13, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 11, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
- 0, 32, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 13, 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 22, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0, 0, 27, 16, 0, 19, 0, 0, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 13, 0, 0, 9, 0, 0, 0, 24, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 17, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 11,
- 0, 0, 0, 0, 0, 29, 0, 0, 33, 0, 0, 24, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
- 0, 25, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 17, 0, 22, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 25, 0, 0, 10, 0, 0, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
- 0, 0, 29, 0, 0, 0, 15, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 37, 19, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
- 22, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 24, 20,
- 25, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 4, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 17, 0, 0, 0, 29, 0, 0, 25, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 14, 16, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 15, 0, 27, 0, 16, 0, 18, 0, 0,
- 25, 0, 0, 0, 25, 0, 0, 0, 0, 22, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 12, 0, 27, 0, 27, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 14, 0,
+ 19, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 25, 0, 15,
+ 21, 0, 16, 18, 0, 0, 30, 14, 0, 0, 0, 14, 0, 0,
+ 14, 37, 0, 0, 0, 29, 0, 3, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 12, 35, 0, 0, 0, 31, 0, 0, 0, 0, 15, 0, 0,
+ 0, 15, 0, 0, 23, 0, 0, 0, 0, 15, 25, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 19, 0, 22, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,
- 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 25, 31, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 24, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
- 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 21, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 17, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
- 0, 0, 16, 43, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0,
- 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0,
- 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 16,
- 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
- 0, 15, 24, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 0, 16, 14, 0, 0, 27, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 22, 0, 27, 0, 33,
- 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
- 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 18, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 17, 7, 0, 0, 0, 0, 0, 0,
- 0, 37, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 13,
- 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 17, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 0, 31, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 38, 0, 0, 13, 0, 0, 0, 16, 0, 0, 10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 17, 32, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 37, 0, 0, 31, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 0, 0, 32, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 70, 31, 0, 0, 0, 0, 0,
- 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 17, 0, 0, 8, 37,
- 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 19, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 36, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 15, 0,
- 0, 0, 15, 17, 25, 0, 0, 0, 0, 14, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
- 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 0, 0, 0, 0, 17, 0, 0, 31, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 14, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 13, 0, 16, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
- 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 24, 0, 0, 0, 0, 4, 23, 15, 0, 0, 0, 15, 0,
+ 0, 13, 0, 33, 0, 0, 0, 26, 24, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 20, 13, 0,
+ 0, 0, 33, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 15,
+ 0, 0, 0, 15, 0, 0, 22, 0, 0, 26, 0, 0, 14, 0,
+ 18, 0, 0, 0, 0, 0, 13, 0, 0, 8, 0, 15, 10, 0,
+ 36, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 11, 0,
+ 0, 0, 0, 0, 18, 21, 0, 0, 0, 0, 0, 10, 0, 16,
+ 27, 0, 0, 0, 14, 27, 0, 16, 16, 0, 0, 0, 0, 0,
+ 18, 0, 0, 14, 0, 0, 0, 0, 0, 0, 16, 14, 0, 17,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 14, 0, 33,
+ 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 13, 0, 0,
+ 0, 0, 0, 0, 0, 35, 0, 0, 18, 0, 15, 0, 0, 0,
+ 0, 0, 47, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 26, 0, 29, 18,
+ 18, 0, 31, 0, 0, 17, 0, 0, 0, 34, 0, 0, 13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 14, 0,
+ 13, 0, 0, 0, 0, 15, 20, 0, 19, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 23, 0, 13, 0, 7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 11, 32, 0, 12, 0,
+ 0, 0, 0, 0, 17, 0, 18, 0, 31, 9, 0, 0, 22, 0,
+ 15, 0, 0, 0, 11, 0, 15, 11, 13, 0, 0, 0, 35, 11,
+ 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0,
+ 0, 0, 10, 15, 0, 23, 0, 0, 0, 6, 0, 0, 7, 19,
+ 0, 0, 14, 31, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
+ 0, 0, 0, 12, 0, 0, 23, 0, 0, 0, 0, 0, 15, 0,
15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 15, 0, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 24, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 14, 0,
+ 0, 14, 0, 10, 0, 0, 0, 0, 0, 46, 12, 0, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 15, 29, 14,
+ 17, 14, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
+ 18, 0, 18, 15, 34, 0, 0, 0, 7, 0, 16, 19, 4, 0,
+ 0, 0, 0, 0, 19, 0, 42, 0, 13, 0, 0, 0, 0, 13,
+ 0, 16, 25, 0, 15, 0, 0, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 18, 20, 0, 0, 22, 0, 0, 0, 0, 0,
+ 11, 0, 0, 0, 0, 13, 0, 0, 0, 24, 0, 15, 0, 15,
+ 0, 0, 12, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 35,
+ 11, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 11, 10, 23, 0, 15, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 22, 0, 10, 17, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
+ 0, 0, 19, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 12,
+ 0, 0, 22, 0, 0, 0, 0, 19, 0, 0, 0, 21, 29, 22,
+ 27, 0, 0, 0, 25, 0, 29, 9, 14, 11, 0, 0, 14, 0,
+ 23, 24, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11,
+ 0, 0, 0, 0, 13, 0, 0, 0, 28, 0, 0, 0, 13, 0,
+ 0, 0, 23, 28, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 30, 0, 0, 0, 18, 13, 0, 0, 16, 0, 0, 22, 0, 31,
+ 32, 39, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 20, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 24, 0, 22, 0, 0, 0,
+ 0, 15, 0, 26, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
+ 0, 0, 15, 0, 0, 0, 0, 0, 24, 0, 2, 0, 26, 0,
+ 0, 0, 0, 0, 0, 0, 12, 25, 17, 0, 0, 0, 25, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 13, 3,
+ 0, 0, 0, 0, 0, 0, 15, 0, 32, 15, 0, 0, 6, 0,
+ 30, 3, 0, 0, 21, 13, 0, 4, 0, 0, 0, 12, 20, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 14, 0, 0,
+ 4, 0, 0, 0, 0, 25, 0, 12, 0, 0, 0, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 27, 0, 15, 0, 0, 0,
+ 19, 0, 14, 0, 0, 0, 0, 0, 2, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,
+ 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 27, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8, 0, 0, 0, 0, 25, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 0, 0, 11, 0, 0, 0, 0, 0, 0,
+ 0, 0, 13, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0,
+ 0, 0, 0, 9, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 0, 0, 0,
+ 0, 0, 12, 0, 14, 0, 0, 0, 0, 0, 14, 0, 0, 13,
+ 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3,
+ 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
+ 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 28, 0, 13,
+ 0, 0, 0, 0, 6, 0, 16, 0, 3, 0, 12, 0, 0, 34,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 0, 0, 20, 8, 0, 0, 0, 0, 0, 0, 6, 0, 27,
+ 17, 0, 9, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 73,
+ 74, 0, 9, 2, 0, 0, 19, 0, 0, 11, 0, 0, 0, 0,
+ 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 23, 18, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
+ 20, 27, 0, 10, 0, 0, 0, 0, 0, 23, 22, 33, 0, 0,
+ 0, 50, 24, 22, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 0, 9, 0, 0, 20, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 21, 0, 37, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 14, 0, 11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 15, 0,
+ 0, 6, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 18, 11, 0, 0, 0, 0, 7, 0, 0,
+ 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 11, 29, 15, 0, 0, 9, 0, 13, 0,
+ 14, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
+ 0, 0, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 15,
+ 0, 0, 21, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 13, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 25, 0,
+ 0, 0, 0, 0, 0, 0, 3, 0, 0, 15, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 16, 0, 11, 16, 0, 0, 0, 14, 0,
+ 0, 0, 22, 11, 0, 34, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 24,
+ 0, 0, 16, 27, 0, 0, 29, 0, 0, 15, 0, 12, 0, 0,
+ 0, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 19, 0, 0, 0, 9, 0, 0, 8, 0, 0, 31, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 28, 0, 26, 0, 0, 0, 19, 0, 0, 25, 0, 27,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 30, 0, 2, 15, 25, 12, 0, 0, 0, 0, 7, 0, 0,
+ 0, 14, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 15, 0, 25, 0, 11, 0, 2, 0, 0, 23, 0, 0, 0,
+ 0, 0, 0, 2, 24, 0, 0, 0, 0, 0, 10, 22, 0, 18,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 21, 0, 15, 0,
+ 28, 0, 2, 0, 0, 0, 0, 15, 24, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 32, 0, 0, 10, 13, 0, 0, 0, 0, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 26, 14, 0, 29, 0, 6, 0,
+ 13, 0, 0, 0, 34, 0, 0, 15, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 21, 2, 0, 0, 0, 12, 0, 14, 12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 12, 0, 0, 0, 0,
+ 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
+ 0, 38, 0, 0, 0, 0, 0, 21, 0, 0, 32, 0, 24, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 12, 0, 19,
+ 30, 0, 0, 0, 0, 28, 11, 0, 0, 32, 0, 0, 0, 0,
+ 2, 18, 9, 0, 0, 0, 0, 0, 19, 0, 11, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 0,
+ 0, 30, 15, 3, 0, 0, 23, 31, 0, 0, 31, 0, 0, 0,
+ 21, 0, 6, 0, 18, 30, 0, 0, 0, 0, 18, 0, 0, 0,
+ 0, 15, 0, 0, 0, 0, 16, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 16, 15, 0, 0, 0, 0, 14, 26, 22, 0, 0, 24,
+ 0, 0, 2, 0, 0, 0, 0, 0, 0, 11, 23, 0, 6, 14,
+ 0, 0, 2, 0, 32, 25, 0, 0, 0, 0, 0, 0, 34, 0,
+ 19, 0, 0, 28, 0, 0, 0, 28, 0, 4, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 17, 0, 14, 0, 0, 30, 0, 8,
+ 0, 0, 23, 0, 2, 18, 0, 25, 0, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 32, 11, 0, 0,
+ 6, 12, 0, 19, 22, 13, 0, 11, 0, 0, 0, 13, 25, 0,
+ 0, 0, 0, 12, 0, 0, 0, 0, 0, 17, 0, 0, 8, 29,
+ 0, 20, 8, 16, 0, 0, 0, 0, 0, 0, 0, 13, 34, 0,
+ 0, 27, 0, 0, 11, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 34, 0, 28, 0, 13, 0, 0, 0, 0, 0, 28, 0, 0,
+ 0, 19, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 31, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 19, 0,
+ 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 17, 0, 0, 43,
+ 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 34, 0, 0, 8, 0, 0, 0, 21, 0,
+ 0, 11, 0, 0, 0, 25, 0, 0, 0, 0, 38, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 19, 26,
+ 11, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 29, 0, 0,
+ 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 13, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 29, 39, 30, 0, 0, 0, 0, 0,
+ 0, 53, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 39, 0, 31, 0, 15, 0, 0, 0, 0, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 16, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 14, 43, 0, 0, 38, 0, 0, 0, 0,
+ 0, 0, 0, 23, 0, 0, 0, 16, 0, 0, 0, 0, 19, 23,
+ 29, 0, 0, 18, 0, 23, 31, 0, 0, 13, 7, 0, 0, 0,
+ 27, 0, 30, 0, 0, 0, 18, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 14, 0, 0, 13, 0, 21, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 12, 0, 0, 0, 22,
+ 0, 14, 0, 0, 0, 0, 0, 17, 22, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 7, 0, 0, 30, 44, 0, 0, 7, 15, 11, 0, 0, 16,
+ 0, 0, 10, 33, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
+ 0, 24, 0, 0, 0, 0, 18, 0, 36, 3, 0, 0, 0, 15,
+ 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 24, 0, 0, 15,
+ 14, 0, 0, 0, 0, 0, 0, 21, 15, 0, 17, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 9, 24,
+ 11, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 20, 0, 0,
+ 19, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 28, 0, 0, 0, 15,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 23, 0, 2, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 5, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 22, 0, 0, 24, 32, 0, 0, 21, 0, 29, 19, 0,
+ 0, 0, 9, 0, 0, 0, 0, 13, 0, 0, 41, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 27, 0,
+ 0, 10, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 14, 0, 20, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0,
+ 14, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 28, 0, 0,
+ 0, 0, 26, 0, 15, 0, 0, 12, 0, 0, 21, 0, 18, 0,
+ 0, 0, 0, 3, 15, 10, 0, 8, 0, 19, 0, 0, 23, 24,
+ 0, 0, 0, 12, 0, 0, 0, 0, 16, 0, 0, 24, 9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 0, 0, 0, 27, 0, 0, 0, 0,
+ 11, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 21, 13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
+ 0, 0, 0, 24, 0, 0, 19, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 31, 0, 0, 0, 0, 10,
+ 14, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
+ 35, 12, 15, 0, 0, 0, 15, 23, 14, 0, 0, 0, 0, 0,
+ 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,
+ 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 7, 12, 0,
+ 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 29, 17,
+ 0, 0, 0, 0, 0, 8, 0, 24, 0, 0, 0, 0, 11, 0,
+ 0, 0, 0, 25, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 12, 0, 23, 0, 0, 0, 0, 0,
+ 0, 11, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 30, 0, 35, 0, 0, 13, 0, 0, 0, 29,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 19, 0,
+ 24, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 28, 0, 0,
+ 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
+ 14, 0, 0, 0, 15, 0, 0, 16, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 29, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 20, 0, 0, 0,
+ 22, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 43, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 28, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 72, 0, 0,
+ 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 12, 14, 0, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 8, 0, 35, 0, 0, 0, 22, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 0, 22, 0, 30, 0, 0, 14, 0, 0, 0, 0,
+ 12, 34, 0, 23, 0, 33, 22, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 18, 13, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 9, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
+ 0, 0, 0, 22, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 14, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 20, 0, 23, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
+ 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 35,
+ 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 0, 0, 14, 0, 0, 0, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 26, 0, 0,
+ 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 31, 0, 0,
+ 0, 24, 29, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 29, 0,
+ 0, 0, 0, 0, 18, 10, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
+ 0, 0, 0, 16, 29, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 28, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 28, 28, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 17, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 19, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
+ 0, 21, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 14, 0, 0, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 14, 0, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
+ 29, 21, 31, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 22,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 19, 0, 27,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,
+ 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 27, 0, 0, 36, 0, 0, 27, 0, 0, 0, 0,
+ 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0,
+ 0, 28, 0, 0, 0, 11, 0, 33, 0, 0, 0, 0, 0, 0,
+ 0, 28, 0, 0, 0, 0, 0, 13, 7, 0, 0, 29, 0, 0,
+ 30, 0, 0, 0, 0, 30, 0, 27, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 27, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 43, 0, 0, 0, 3, 0, 0, 0, 0, 0, 6,
+ 43, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 33, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
+ 15, 0, 0, 0, 0, 18, 0, 0, 0, 18, 14, 0, 0, 0,
+ 0, 24, 0, 0, 0, 0, 17, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 13, 13, 0, 0, 0, 0, 18,
+ 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 30, 0, 0, 0, 17, 0, 0, 0, 0,
+ 37, 26, 0, 0, 11, 0, 0, 0, 0, 23, 10, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 25,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 25, 0, 14, 0, 0, 0, 0, 0, 0,
+ 16, 16, 0, 0, 0, 0, 0, 0, 0, 35, 27, 0, 0, 0,
+ 0, 18, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 17, 0, 0,
+ 0, 0, 20, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 14, 17, 25, 19, 0, 0, 23, 20, 0, 0, 0,
+ 0, 0, 0, 0, 32, 0, 0, 0, 0, 35, 27, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 36, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
+ 14, 0, 36, 0, 27, 14, 0, 0, 0, 0, 0, 33, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 30, 0, 0, 0, 0, 24, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 29,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 30, 0, 0, 0, 0, 0, 36, 22,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 35,
+ 0, 0, 0, 11, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 24, 0, 0, 0, 0, 0, 0,
+ 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 25, 24, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 35, 27, 0,
+ 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 27, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 17, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 17, 0, 14, 0, 0, 4, 0, 23,
- 0, 0, 0, 15, 0, 0, 0, 0, 30, 6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 25, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
+ 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 21, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 22, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
+ 0, 15, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 24, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
+ 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
+ 0, 0, 20, 22, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 35, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 20, 17, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0,
+ 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 13, 26, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
+ 0, 0, 20, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 10, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 33, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 27, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0,
+ 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
+ 0, 26, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 28, 0, 0,
+ 27, 11, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 14, 0,
+ 0, 0, 0, 17, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 25,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 14, 0, 0, 13, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 0, 0, 17, 0, 0, 26, 0, 20, 11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 23, 0, 0, 33, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 33, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
+ 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 15, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 25, 0, 0, 0, 0, 20, 0, 0, 0, 25, 0, 0, 16,
+ 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0,
+ 0, 24, 0, 0, 0, 0, 16, 0, 0, 0, 37, 0, 0, 0,
0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 28,
+ 0, 0, 16, 0, 0, 0, 0, 0, 15, 0, 0, 14, 0, 0,
+ 0, 0, 0, 0, 19, 0, 2, 0, 0, 0, 0, 0, 37, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 37, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 15, 0, 0, 0, 17, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 24,
+ 0, 0, 15, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 17, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 25, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
- 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 28, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 15, 0, 26, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 26, 0, 0, 0,
+ 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
+ 0, 24, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 7, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 15, 0, 0, 0, 23, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
+ 0, 13, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 17, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 15,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 22,
+ 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 0, 0, 0, 24, 0, 0, 0, 17, 24, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 0, 22, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 37, 0, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 13, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0,
+ 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 15, 27, 0, 0, 37, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0,
+ 16, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 15, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 14, 0, 7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 28, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 23, 13, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
+ 0, 8, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
+ 27, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 13, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 28, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1344,17 +1468,8 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1363,16 +1478,48 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
+ 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 25, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1394,7 +1541,6 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1405,7 +1551,6 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1421,21 +1566,16 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1444,7 +1584,6 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1464,997 +1603,11 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2473,6 +1626,7 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2480,10 +1634,13 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2559,6 +1716,7 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2608,7 +1766,6 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2665,4719 +1822,5549 @@ static const unsigned char lengthtable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31
};
static const struct grib_keys_hash wordlist[] =
{
+ {""}, {""}, {""}, {""}, {""},
+ {"n",1368},
{""},
- {"n",1366},
+ {"m",1244},
+ {"na",1374},
+ {"t",2242},
{""},
- {"nnn",1380},
+ {"nnn",1385},
+ {"nt",1400},
{""},
- {"t",2231},
- {"nt",1395},
- {"m",1242},
- {"nd",1376},
- {"ed",738},
- {"td",2242},
- {""},
- {"na",1369},
- {"min",1325},
- {"name",1370},
- {"sd",2011},
- {"date",654},
- {""},
- {"time",2268},
- {""},
- {"ident",981},
- {""}, {""}, {""},
+ {"nd",1381},
+ {"ed",737},
+ {"td",2253},
+ {"name",1375},
+ {"min",1327},
{"data",633},
- {"one",1577},
- {""}, {""},
- {"names",1375},
- {"mars",1245},
- {"stream",2203},
+ {""},
+ {"date",654},
{""}, {""}, {""},
- {"dataset",651},
- {"enorm",780},
- {""}, {""},
- {"sort",2147},
- {"metadata",1321},
+ {"time",2283},
+ {"sd",2020},
{""}, {""}, {""}, {""},
- {"domain",720},
+ {"ident",982},
+ {""}, {""},
+ {"one",1584},
+ {"metadata",1323},
+ {""}, {""},
+ {"param",1699},
+ {""},
+ {"stream",2214},
+ {""},
+ {"mars",1247},
+ {"names",1380},
+ {"enorm",780},
+ {"dataset",651},
+ {""}, {""}, {""}, {""},
+ {"spare",2173},
+ {"domain",719},
{"eps",785},
{""},
- {"edition",739},
+ {"sort",2156},
{""},
- {"spare",2164},
- {"present",1745},
- {"param",1692},
- {""}, {""}, {""}, {""},
- {"iteration",1058},
- {"dimension",703},
- {"oper",1588},
+ {"centre",406},
{""},
- {"centre",407},
- {"assertion",323},
- {"parameter",1698},
+ {"oper",1595},
+ {"parameter",1706},
+ {"present",1754},
+ {"step",2202},
+ {"edition",738},
{""}, {""}, {""},
- {"leadtime",1123},
- {""},
- {"step",2192},
- {""},
- {"opttime",1595},
- {"rectime",1833},
- {"timerepres",2282},
- {""},
- {"parameters",1706},
+ {"rectime",1842},
+ {"true",2322},
{"core",608},
- {"points",1732},
+ {"Latin",112},
+ {"iteration",1059},
{""}, {""},
- {"radials",1806},
+ {"opttime",1602},
+ {""}, {""}, {""},
+ {"minute",1329},
+ {""},
+ {"dimension",702},
{""}, {""},
{"const",581},
- {""}, {""}, {""},
- {"second",2012},
+ {"parameters",1714},
{""},
- {"restricted",1876},
- {""},
- {"section",2037},
- {"stepZero",2202},
- {""}, {""}, {""}, {""},
- {"true",2305},
- {"partitions",1711},
- {"direction",706},
- {"pl",1729},
+ {"minimum",1328},
+ {"assertion",322},
+ {"Lap",107},
+ {"second",2021},
+ {"points",1741},
+ {"timerepres",2297},
{""}, {""},
- {"model",1346},
+ {"section",2046},
+ {"Lo",122},
+ {"units",2391},
+ {"restricted",1885},
+ {"tile",2277},
{""},
- {"total",2284},
- {"minute",1327},
- {"range",1812},
- {"normal",1383},
- {""},
- {"statistics",2190},
- {""},
- {"grid",928},
- {"class",435},
- {"units",2373},
- {"million",1324},
- {"section8",2076},
+ {"direction",705},
{""}, {""},
- {"minimum",1326},
+ {"radius",1816},
+ {"stepZero",2212},
{""}, {""},
- {"status",2191},
- {"instrument",1013},
- {"radius",1807},
- {""},
- {"process",1775},
- {""},
- {"precision",1740},
- {""}, {""}, {""}, {""}, {""},
- {"dateTime",664},
- {"origin",1602},
+ {"status",2201},
+ {"instrument",1014},
+ {"Lop",142},
+ {"ucs",2382},
{""}, {""},
- {"dataTime",648},
- {""}, {""},
- {"generation",915},
- {""}, {""},
- {"three",2255},
- {""}, {""}, {""},
- {"hdate",951},
- {"ucs",2364},
- {"latitude",1088},
+ {"partitions",1720},
{""},
- {"discipline",712},
- {""},
- {"year",2505},
- {"refdate",1839},
- {""}, {""}, {""},
- {"correction",613},
+ {"leadtime",1124},
{""},
{"count",622},
- {""}, {""},
- {"latitudes",1119},
- {""}, {""},
- {"system",2229},
{""},
- {"method",1322},
+ {"uuid",2423},
+ {"hdate",952},
+ {"three",2266},
+ {""},
+ {"precision",1749},
+ {"range",1821},
+ {"refdate",1848},
+ {""},
+ {"statistics",2200},
+ {"uco",2381},
+ {"process",1784},
+ {""},
+ {"grid",929},
+ {""},
+ {"radials",1815},
+ {""},
+ {"dataTime",648},
+ {"dateTime",664},
+ {""}, {""},
+ {"stepunits",2213},
+ {""}, {""},
+ {"daLoop",632},
+ {"phase",1734},
+ {"char",431},
+ {"product",1786},
+ {"correction",613},
+ {"method",1324},
{""}, {""}, {""},
- {"type",2316},
- {""},
- {"uco",2363},
- {"identifier",985},
- {"phase",1725},
+ {"section8",2085},
{""}, {""},
- {"file",865},
- {""},
- {"local",1165},
- {"datasetTemplate",653},
- {"g",904},
- {""},
- {"false",858},
- {""}, {""}, {""},
- {"consensus",579},
- {"resolution",1867},
- {"char",432},
- {""},
- {"elementsTable",744},
- {""},
- {"product",1777},
- {""},
- {"reference",1840},
+ {"identifier",986},
+ {"class",434},
{""}, {""},
- {"categories",390},
+ {"origin",1609},
+ {"reference",1849},
+ {""},
+ {"latitude",1089},
{""}, {""}, {""}, {""}, {""}, {""},
- {"isSens",1043},
- {""}, {""}, {""},
- {"signature",2130},
+ {"generation",916},
{""}, {""},
- {"dataStream",646},
+ {"pl",1738},
{""}, {""},
- {"marsStream",1270},
+ {"consensus",579},
{""},
- {"landtype",1080},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ordering",1598},
+ {"upperLimit",2413},
{""},
- {"two",2314},
- {"partitionTable",1710},
- {""}, {""}, {""},
- {"padding",1621},
- {"hundred",973},
+ {"hundred",974},
+ {""}, {""}, {""}, {""},
+ {"hour",964},
{""},
- {"platform",1730},
- {"eight",743},
+ {"discipline",711},
+ {"file",865},
+ {"latitudes",1120},
{""},
- {"endStep",772},
- {""}, {""}, {""},
- {"diagnostic",699},
- {"hour",963},
- {""}, {""}, {""},
+ {"total",2299},
+ {"model",1348},
+ {""},
+ {"normal",1388},
+ {""}, {""},
+ {"false",858},
+ {""}, {""},
{"fcperiod",862},
- {"operStream",1589},
- {""}, {""}, {""},
- {"longitude",1201},
- {"marsStep",1269},
+ {"nref",1399},
{""},
- {"startStep",2184},
+ {"datasetTemplate",653},
+ {"signature",2139},
{""},
- {"channel",430},
- {""}, {""}, {""},
- {"thousand",2254},
- {"localTime",1193},
- {""}, {""}, {""},
- {"longitudes",1232},
+ {"million",1326},
+ {"dataStream",646},
{""},
- {"nref",1394},
+ {"temperature",2255},
+ {"g",905},
+ {"thousand",2265},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"marsStream",1272},
+ {""},
+ {"resolution",1876},
+ {"nTiles",1373},
+ {"categories",389},
+ {""},
+ {"endStep",771},
+ {"isSens",1044},
+ {""},
+ {"eight",742},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"month",1355},
+ {""},
+ {"platform",1739},
+ {""}, {""},
+ {"marsStep",1271},
+ {"K",94},
+ {"offset",1547},
+ {"diagnostic",698},
+ {"operStream",1596},
+ {""},
+ {"startStep",2193},
+ {"year",2525},
+ {"anoffset",317},
+ {""}, {""},
+ {"truncateLaplacian",2325},
+ {""}, {""},
+ {"elementsTable",743},
+ {"marsQuantile",1268},
+ {""},
+ {"padding",1628},
+ {""},
+ {"offsetdate",1581},
+ {"type",2333},
+ {""}, {""},
+ {"offsettime",1582},
+ {""}, {""}, {""}, {""}, {""},
+ {"ordering",1605},
+ {""},
+ {"oceanStream",1545},
+ {""}, {""}, {""},
+ {"system",2240},
+ {""},
+ {"partitionTable",1719},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"longitude",1203},
+ {""},
+ {"local",1167},
+ {""}, {""}, {""},
{"Di",30},
- {""}, {""},
- {"temperature",2244},
- {"gg",917},
- {""}, {""}, {""},
- {"dy",727},
+ {"TT",240},
+ {"paramtype",1716},
{""},
- {"flags",882},
- {"Dstart",38},
+ {"channel",429},
+ {""}, {""}, {""}, {""}, {""},
+ {"yLast",2524},
{""}, {""},
- {"day",666},
+ {"two",2331},
{""},
{"dataDate",636},
+ {"flags",882},
+ {""}, {""}, {""},
+ {"longitudes",1234},
+ {"Dstart",38},
+ {"gg",918},
{""}, {""},
- {"month",1353},
- {"dataType",649},
- {""},
- {"marsDir",1249},
- {"marsType",1273},
- {""},
- {"oceanStream",1538},
- {"reserved",1858},
- {"masterDir",1278},
- {""},
- {"offset",1540},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"anoffset",318},
- {"TT",241},
- {""}, {""},
- {"eleven",746},
- {"version",2428},
- {"stepType",2198},
- {"offsetdate",1574},
- {""},
- {"offsettime",1575},
- {""},
- {"marsDomain",1250},
- {""},
- {"varno",2423},
- {""}, {""},
- {"dataSelection",645},
- {""}, {""}, {""}, {""}, {""},
- {"dummyc",725},
- {""}, {""}, {""}, {""},
- {"reportType",1854},
- {""}, {""},
- {"endTimeStep",774},
- {""}, {""}, {""}, {""},
{"fgTime",864},
- {"threshold",2256},
- {""}, {""},
- {"codeType",559},
- {"elevation",745},
- {""}, {""},
- {"isSpectral",1044},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"flag",877},
- {""},
- {"levels",1146},
- {""}, {""},
- {"countTotal",625},
- {""},
- {"notDecoded",1393},
- {"levelist",1145},
- {"Latin",113},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"dummy",722},
- {""}, {""},
- {"marsQuantile",1266},
- {""}, {""},
- {"level",1140},
- {"gridType",938},
- {"average",327},
- {""},
- {"ieeeFloats",986},
{""}, {""}, {""}, {""}, {""},
- {"Lo",123},
- {""}, {""}, {""}, {""},
- {"matchSort",1285},
- {""}, {""}, {""}, {""}, {""},
- {"aerosolpacking",308},
+ {"marsDir",1251},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"localTime",1195},
+ {""},
+ {"masterDir",1280},
+ {""},
+ {"endTimeStep",774},
+ {""}, {""}, {""},
{"crcrlf",627},
- {"hideThis",956},
- {"forecastperiod",894},
- {""}, {""}, {""}, {""}, {""},
- {"Lap",108},
- {"windSpeed",2475},
- {""}, {""},
- {"values",2411},
- {"localDate",1166},
- {"isSatellite",1041},
{""},
- {"localDir",1174},
- {""}, {""},
- {"conceptDir",571},
- {""}, {""},
- {"selectedSecond",2113},
- {"Lop",143},
+ {"threshold",2267},
+ {""}, {""}, {""}, {""},
+ {"matchSort",1287},
+ {""},
+ {"landtype",1081},
+ {"marsDomain",1252},
{""}, {""}, {""},
- {"additionalParameter",303},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"country",626},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"dataOrigin",640},
- {""},
- {"marsRange",1267},
- {""},
- {"TS",239},
- {""}, {""},
- {"yFirst",2503},
- {""}, {""}, {""},
- {"daLoop",632},
- {""},
- {"avg",331},
- {"TScalc",240},
- {"ccsdsRsi",397},
- {""}, {""}, {""}, {""}, {""},
- {"stepRange",2196},
+ {"dummyc",724},
+ {"hideThis",957},
+ {"marsLatitude",1262},
{""}, {""}, {""},
{"fcmonth",861},
- {""},
- {"efiOrder",742},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"levtype",1147},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"localSecond",1188},
+ {"siteLatitude",2147},
{""}, {""},
- {"userTimeStart",2404},
- {""},
- {"standardDeviation",2176},
- {""},
- {"fgDate",863},
- {"destineSection",697},
- {"forecastTime",893},
+ {"instrumentIdentifier",1015},
{""}, {""}, {""}, {""},
- {"aerosolType",305},
- {""}, {""}, {""}, {""}, {""},
- {"yLast",2504},
- {"statisticalProcess",2188},
+ {"forecastperiod",895},
+ {"dataType",649},
{""}, {""}, {""}, {""}, {""}, {""},
- {"typicalTime",2359},
- {""},
- {"spectralType",2174},
+ {"reserved",1867},
{""}, {""},
- {"accuracy",297},
- {"satelliteSeries",1941},
- {""},
- {"upperLimit",2395},
- {""},
- {"coefsFirst",563},
- {"statisticalProcessesList",2189},
- {"isFillup",1036},
- {""}, {""}, {""}, {""}, {""},
- {"Dy",42},
- {"dataFlag",637},
- {""}, {""}, {""}, {""}, {""},
- {"centreDescription",408},
+ {"dataLength",639},
+ {"marsType",1275},
{""}, {""},
- {"logTransform",1200},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"coefsSecond",564},
+ {"flag",877},
{""},
- {"ccsdsFlags",396},
+ {"varno",2443},
{""},
- {"forecastSteps",892},
- {""},
- {"codeFigure",558},
+ {"paramType",1703},
+ {"notDecoded",1398},
+ {"version",2448},
+ {"dataSelection",645},
{""}, {""}, {""},
- {"windDirection",2464},
- {"unitsFactor",2379},
- {""}, {""},
- {"pv",1791},
- {""}, {""}, {""},
- {"recDateTime",1830},
- {"endDescriptors",751},
- {""}, {""}, {""},
- {"upperRange",2396},
- {"lev",1138},
- {"nlev",1379},
- {"band",335},
- {""}, {""}, {""}, {""},
- {"optionalData",1594},
- {"offsetSection9",1571},
+ {"band",334},
+ {"stepType",2208},
+ {"countTotal",625},
{""},
- {"localDateTime",1167},
- {""},
- {"isOctahedral",1039},
- {""},
- {"rdbtime",1818},
- {""},
- {"offsetSection8",1570},
- {""}, {""}, {""}, {""},
- {"productType",1782},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"truncateLaplacian",2308},
- {""}, {""},
- {"Nr",201},
- {""}, {""},
- {"rectimeDay",1834},
- {"aerosolTypeName",306},
- {"latitudeSexagesimal",1116},
- {""}, {""},
- {"Ni",199},
- {"instrumentIdentifier",1014},
- {""}, {""},
- {"levelType",1142},
- {""},
- {"activity",299},
- {""},
- {"Nside",204},
- {"lowerLimit",1235},
- {"longitudesList",1233},
- {"Ly",154},
- {""},
- {"overlayTemplate",1615},
+ {"dataKeys",638},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"bitmap",373},
- {"userDateStart",2400},
+ {""},
+ {"isSpectral",1045},
+ {""},
+ {"forecastTime",894},
+ {""},
+ {"conceptDir",571},
+ {"rdbtime",1827},
+ {"Xp",274},
+ {"reportType",1863},
+ {"codeType",558},
+ {""},
+ {"eleven",745},
{""}, {""}, {""},
+ {"userTimeStart",2422},
+ {"TS",238},
+ {"Xo",273},
+ {""},
+ {"efiOrder",741},
+ {"selectedSecond",2122},
+ {""}, {""}, {""}, {""}, {""},
+ {"TScalc",239},
+ {"bitmap",372},
+ {""}, {""}, {""}, {""},
+ {"additionalParameter",302},
+ {""},
+ {"lowerLimit",1237},
+ {""},
+ {"dataOrigin",640},
+ {""},
+ {"KS",95},
+ {""},
+ {"number",1401},
+ {""}, {""}, {""}, {""},
+ {"average",326},
+ {""}, {""},
+ {"elevation",744},
+ {""}, {""},
+ {"dy",726},
+ {""}, {""},
+ {"day",666},
+ {""}, {""},
+ {"statisticalProcess",2198},
+ {""}, {""}, {""},
+ {"isSatellite",1042},
+ {""}, {""},
+ {"windSpeed",2495},
+ {""}, {""}, {""}, {""},
+ {"gridType",939},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"values",2431},
+ {"fgDate",863},
+ {""}, {""}, {""}, {""}, {""},
+ {"forecastSteps",893},
+ {""},
+ {"statisticalProcessesList",2199},
+ {""},
+ {"aerosolpacking",307},
+ {""},
+ {"Ly",153},
+ {"localDate",1168},
+ {""}, {""},
+ {"coefsSecond",563},
+ {""},
+ {"localDir",1176},
+ {""},
+ {"ieeeFloats",987},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"levels",1147},
+ {"dummy",721},
+ {""}, {""},
+ {"levelist",1146},
+ {"logTransform",1202},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"Lcy",119},
+ {""}, {""}, {""}, {""},
+ {"avg",330},
+ {""}, {""}, {""},
+ {"recDateTime",1839},
+ {""},
+ {"offsetSection9",1578},
+ {""}, {""}, {""},
+ {"centreDescription",407},
+ {"localSecond",1190},
+ {"unitsFactor",2397},
+ {"Luy",149},
+ {""}, {""},
+ {"satelliteSeries",1950},
+ {""}, {""}, {""},
+ {"coefsFirst",562},
+ {"forecastLeadTime",886},
+ {""}, {""},
+ {"marsLevel",1263},
+ {"level",1141},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"unitOfTime",2388},
+ {"country",626},
+ {""}, {""}, {""}, {""},
+ {"isOctahedral",1040},
+ {""}, {""}, {""},
+ {"topLevel",2298},
+ {""}, {""},
+ {"typicalTime",2377},
+ {"offsetSection8",1577},
+ {""},
+ {"productType",1791},
+ {""}, {""}, {""},
+ {"codeFigure",557},
+ {""}, {""},
+ {"userDateStart",2418},
+ {""}, {""}, {""},
+ {"LaD",104},
+ {"aerosolType",304},
+ {""}, {""},
+ {"spectralType",2183},
+ {"destineSection",696},
+ {""}, {""}, {""}, {""},
+ {"accuracy",296},
+ {""},
+ {"indicatorOfParameter",1000},
+ {""}, {""}, {""}, {""},
+ {"yFirst",2523},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"isFillup",1037},
+ {"rdbtimeTime",1834},
+ {"centreLongitude",412},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudesList",1121},
+ {""}, {""}, {""},
+ {"zero",2534},
+ {""},
+ {"distinctLatitudes",713},
+ {""},
+ {"aerosolTypeName",305},
+ {""},
+ {"zeros",2535},
+ {""},
+ {"gridSpecification",938},
+ {""}, {""}, {""}, {""},
+ {"pressureLevel",1774},
+ {""}, {""}, {""}, {""}, {""},
+ {"dataFlag",637},
+ {"standardDeviation",2185},
+ {""},
+ {"laplacianOperator",1082},
+ {"referenceSampleInterval",1857},
+ {""}, {""},
+ {"ccsdsFlags",395},
+ {""},
+ {"levtype",1148},
+ {"ccsdsRsi",396},
+ {"endDescriptors",750},
+ {""},
+ {"pv",1800},
+ {"setLocalDefinition",2129},
+ {""}, {""},
{"fireTemplate",867},
{""},
- {"referenceDate",1841},
- {""},
- {"laplacianOperator",1081},
- {""}, {""}, {""},
- {"indicatorOfParameter",999},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"localFlag",1176},
- {"unitOfTime",2370},
- {"number",1396},
- {""},
- {"typicalDate",2352},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Lcy",120},
- {""},
- {"lowerRange",1236},
- {""}, {""}, {""}, {""},
- {"modelName",1349},
+ {"obstype",1542},
{""}, {""}, {""}, {""}, {""},
- {"localDay",1168},
+ {"marsRange",1269},
+ {""}, {""},
+ {"periodOfTime",1730},
+ {""}, {""}, {""}, {""},
+ {"windDirection",2484},
+ {""}, {""},
+ {"longitudesList",1235},
{""},
- {"startTimeStep",2186},
- {""}, {""},
- {"gridSpecification",937},
- {""}, {""},
- {"parameterName",1703},
- {""}, {""},
- {"categoryType",391},
- {""}, {""},
- {"pointsOrdering",1733},
+ {"latitudeSexagesimal",1117},
+ {""},
+ {"stepRange",2206},
+ {"referenceDate",1850},
+ {""}, {""},
+ {"localDateTime",1169},
+ {""},
+ {"startTimeStep",2196},
+ {"optionalData",1601},
+ {""}, {""}, {""},
+ {"unitsDecimalScaleFactor",2395},
+ {""},
+ {"referenceStep",1858},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"templatesLocalDir",2257},
+ {""},
+ {"pointsOrdering",1742},
+ {""}, {""}, {""}, {""},
+ {"Dy",42},
+ {""},
+ {"lev",1139},
+ {""}, {""},
+ {"nlev",1384},
{""},
- {"siteLatitude",2138},
- {"marsLatitude",1260},
- {""}, {""}, {""}, {""}, {""}, {""},
{"coordinatesPresent",607},
+ {"centreForLocal",408},
{""},
- {"Luy",150},
- {""}, {""}, {""},
- {"marsLevel",1261},
- {""}, {""}, {""},
- {"suiteName",2222},
- {"gridName",935},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"dataLength",639},
+ {"global",919},
{""},
- {"parameterDiscipline",1701},
- {"Nassigned",194},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayState",1935},
- {""}, {""},
- {"referenceStep",1849},
- {""},
- {"validityTime",2410},
- {"topLevel",2283},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"firstDimension",868},
- {"computeStatistics",570},
- {""},
- {"marsStartStep",1268},
- {""},
- {"waveDomain",2452},
- {"gridDefinition",930},
- {"unitsDecimalScaleFactor",2377},
- {""}, {""},
- {"obstype",1535},
+ {"rdbType",1825},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"upperRange",2414},
{""}, {""}, {""}, {""},
- {"dataKeys",638},
- {"shortName",2126},
- {"angleDivisor",312},
- {""}, {""}, {""},
- {"periodOfTime",1721},
- {""}, {""},
- {"datasetForLocal",652},
- {""},
- {"global",918},
- {""},
- {"cfName",418},
- {"matchTimeRepres",1286},
- {""}, {""}, {""}, {""}, {""},
- {"localDefinition",1172},
- {""}, {""},
- {"localDecimalScaleFactor",1169},
- {""}, {""},
- {"NT",191},
- {"typicalDay",2354},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudesList",1120},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"setLocalDefinition",2120},
- {""}, {""}, {""}, {""}, {""},
- {"laplacianOperatorIsSet",1082},
- {"generatingProcessTemplate",913},
- {""},
- {"pressureLevel",1765},
- {"rdbtimeTime",1825},
- {""},
- {"centreLongitude",413},
- {""}, {""}, {""}, {""}, {""},
- {"rdbType",1816},
- {""}, {""}, {""}, {""},
- {"lengthDescriptors",1128},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"Nf",198},
- {""}, {""}, {""}, {""},
- {"LaD",105},
- {""}, {""},
- {"energyNorm",779},
- {""}, {""}, {""},
- {"Ny",209},
- {""},
- {"editionNumber",740},
- {"endOfRange",771},
- {""}, {""}, {""},
- {"offsetDescriptors",1554},
- {""}, {""}, {""}, {""},
- {"groupSplitting",942},
- {""}, {""},
- {"derivedForecast",694},
- {""},
- {"distinctLatitudes",714},
+ {"tubeDomain",2329},
+ {"typicalDate",2370},
{""}, {""}, {""}, {""}, {""}, {""},
- {"referenceSampleInterval",1848},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"userDateTimeStart",2402},
- {""}, {""}, {""}, {""},
- {"freeFormData",899},
- {"templatesLocalDir",2246},
+ {"marsStartStep",1270},
{""},
- {"forecastLeadTime",885},
- {"sectionNumber",2085},
- {""},
- {"Ncy",197},
- {""}, {""}, {""},
- {"dateOfForecast",656},
- {""},
- {"timeOfForecast",2275},
- {""}, {""}, {""}, {""},
{"ensembleSize",783},
- {""}, {""},
- {"centreForLocal",409},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"climatologicalRegime",439},
- {"KS",96},
- {"tubeDomain",2312},
+ {"heightLevelName",954},
{""}, {""},
- {"analysisOffsets",311},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Nuy",207},
- {"setDecimalPrecision",2119},
- {"anoffsetFirst",319},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"generatingProcessIdentifier",912},
- {"verticalDomainTemplate",2438},
- {"reservedOctet",1863},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"originalSubCentreIdentifier",1606},
- {""},
- {"rdbtimeDate",1819},
- {""},
- {"localTimeForecastList",1194},
- {""}, {""},
- {"longitudeOfCentrePoint",1205},
- {""}, {""}, {""}, {""},
- {"incrementOfLengths",990},
- {""},
- {"scaledDirections",1972},
- {""},
- {"LaR",107},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"integerScalingFactorAppliedToDirections",1018},
- {"integerScalingFactorAppliedToFrequencies",1019},
- {""},
- {"defaultName",680},
+ {"meanSize",1315},
{""}, {""}, {""},
- {"LoR",128},
- {"clusterNumber",551},
- {""}, {""},
- {"decimalScaleFactor",676},
- {""}, {""}, {""}, {""},
- {"integerScaleFactor",1017},
- {"correction3Part",619},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"generatingProcessIdentificationNumber",911},
- {""}, {""},
- {"controlForecastCluster",586},
- {"offsetSection0",1560},
- {"marsParam",1265},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"lcwfvSuiteName",1122},
- {"zeros",2515},
- {"validityDate",2408},
- {"channelNumber",431},
- {"realPart",1827},
- {"oldSubtype",1576},
- {"zero",2514},
- {""}, {""}, {""},
- {"yearOfForecast",2509},
- {""}, {""}, {""},
- {"epsPoint",787},
- {"boustrophedonic",380},
- {""},
- {"JS",94},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"longitudeSexagesimal",1231},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"rdbDateTime",1814},
- {""}, {""}, {""}, {""},
- {"spectralDataRepresentationMode",2171},
- {""},
- {"anoffsetFrequency",320},
- {""}, {""}, {""},
- {"gridDefinitionSection",932},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"anoffsetLast",321},
- {""}, {""},
- {"referenceOfLengths",1844},
- {"heightLevelName",953},
- {""},
- {"preferLocalConcepts",1744},
- {"conceptsLocalDirAll",574},
- {""},
- {"rdbtimeDay",1820},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"computeStatistics",570},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"marsLevelist",1262},
+ {"offsetSection0",1567},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"rectimeDay",1843},
+ {"rdbtimeDate",1828},
{""}, {""}, {""}, {""},
- {"angleOfRotation",314},
- {""}, {""}, {""},
- {"hourOfForecast",966},
- {""},
- {"minuteOfReference",1333},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ifsParam",987},
- {""}, {""}, {""},
- {"latitudeOfCentrePoint",1093},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"newSubtype",1378},
- {""}, {""},
- {"visibility",2442},
- {""},
- {"dateOfReference",661},
- {""},
- {"timeOfReference",2278},
- {""}, {""}, {""},
- {"gridDefinitionDescription",931},
- {""},
- {"N",172},
+ {"offsetDescriptors",1561},
+ {"preferLocalConcepts",1753},
{""}, {""}, {""}, {""}, {""},
- {"monthOfForecast",1356},
- {""}, {""}, {""},
- {"K",95},
- {"meanSize",1313},
- {"spectralDataRepresentationType",2172},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"faFieldName",855},
- {"longitudinalDirectionGridLength",1234},
- {"dimensionType",705},
+ {"boustrophedonic",379},
{""}, {""}, {""}, {""},
- {"qfe",1793},
- {""}, {""}, {""},
- {"experiment",804},
- {""}, {""}, {""},
- {"quantile",1803},
- {"dayOfForecast",669},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"NR",189},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"sequences",2116},
- {"standardParallel",2177},
- {""}, {""}, {""}, {""},
- {"northernLatitudeOfDomain",1391},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondSize",2026},
- {""}, {""}, {""}, {""},
- {"bufrTemplate",385},
- {""}, {""}, {""}, {""}, {""},
- {"maximum",1291},
+ {"userDateTimeStart",2420},
{""}, {""},
- {"modeNumber",1345},
- {"bottomLevel",379},
- {"overlayTemplateNumber",1616},
- {"typeOfLevel",2330},
- {"NL",187},
+ {"centreLongitudeInDegrees",413},
+ {""}, {""}, {""},
+ {"runwayState",1944},
+ {""}, {""}, {""},
+ {"parameterDiscipline",1709},
{""},
{"datumSize",665},
- {""},
- {"validityDateTime",2409},
- {"centreLongitudeInDegrees",414},
- {""}, {""}, {""},
- {"secondOfForecast",2019},
- {"multiplicationFactorForLatLong",1365},
- {""},
- {"createNewData",628},
- {""}, {""}, {""}, {""},
- {"typeOfStatisticalPostProcessingOfEnsembleMembers",2342},
- {""}, {""},
- {"typeOfStatisticalProcessing",2343},
- {""}, {""}, {""},
- {"levTypeName",1139},
- {""}, {""}, {""},
- {"yearOfReference",2512},
- {""},
- {"minuteOfForecast",1330},
- {""}, {""}, {""},
- {"observedData",1534},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"overlayTemplate",1622},
{""}, {""}, {""}, {""}, {""},
- {"marsKeywords",1257},
+ {"typeOfTile",2362},
{""}, {""}, {""},
- {"southernLatitudeOfDomain",2158},
+ {"localDecimalScaleFactor",1171},
+ {"levelType",1143},
+ {"laplacianOperatorIsSet",1083},
+ {""},
+ {"activity",298},
+ {"secondSize",2035},
+ {""}, {""}, {""}, {""}, {""},
+ {"categoryType",390},
+ {""},
+ {"localFlag",1178},
+ {""}, {""},
+ {"subSetK",2229},
+ {""},
+ {"firstDimension",868},
+ {""},
+ {"lengthDescriptors",1129},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"conceptsLocalDirAll",574},
+ {""}, {""},
+ {"generatingProcessTemplate",914},
+ {""},
+ {"anoffsetLast",320},
+ {""}, {""},
+ {"JS",93},
+ {"gridDefinition",931},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"angleDivisor",311},
+ {""},
{"firstSize",876},
- {""},
- {"listOfScaledFrequencies",1162},
- {"qnh",1796},
+ {"rdbDateTime",1823},
+ {"validityTime",2430},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"sectionPosition",2086},
- {""}, {""}, {""}, {""},
- {"forecastPeriod",888},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"legNumber",1126},
- {""}, {""},
- {"rectimeSecond",1837},
- {"windPresent",2474},
- {""}, {""}, {""}, {""},
- {"defaultParameter",681},
{""}, {""}, {""}, {""}, {""},
- {"crraSection",630},
+ {"waveDomain",2472},
+ {""},
+ {"datasetForLocal",652},
{""}, {""}, {""}, {""}, {""},
- {"totalNumber",2288},
+ {"dateOfForecast",656},
{""}, {""}, {""},
- {"hourOfReference",969},
+ {"timeOfForecast",2290},
+ {""}, {""},
+ {"bottomLevel",378},
+ {"longitudinalDirectionGridLength",1236},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"uerraSection",2366},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"optimisationTime",1592},
- {""},
- {"generatingProcessTemplateNumber",914},
- {""},
- {"J",93},
- {""},
- {"section6",2068},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"stepTypeForConversion",2199},
- {""}, {""}, {""},
- {"numberOfFloats",1444},
- {""}, {""},
- {"representationType",1856},
- {"extraDim",812},
- {""},
- {"oceanLevName",1537},
- {"monthOfReference",1359},
- {""}, {""},
- {"localDefinitionNumber",1173},
- {""}, {""}, {""}, {""}, {""},
- {"epsStatisticsPoint",789},
- {"atmosphericChemicalOrPhysicalConstituentType",324},
- {"localSection",1189},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"expver",810},
- {""}, {""},
- {"waveLevType",2454},
- {""}, {""},
- {"xFirst",2496},
- {""}, {""}, {""}, {""},
- {"forecastPeriodTo",890},
- {""},
- {"orderOfSpatialDifferencing",1597},
- {""}, {""},
- {"scaleFactorOfStandardDeviation",1963},
- {""},
- {"scaleFactorOfSecondSize",1961},
- {"longitudeOfGridPoints",1212},
- {"standardParallelInDegrees",2178},
- {""}, {""},
- {"expoffset",809},
- {""},
- {"originalParameterNumber",1604},
- {""}, {""}, {""},
- {"clusterSize",552},
- {""},
- {"scaleFactorOfStandardDeviationInTheCluster",1964},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"tiggeSection",2262},
- {""}, {""}, {""},
- {"siteId",2137},
- {"latitudeOfCentrePointInDegrees",1094},
- {""}, {""}, {""}, {""},
- {"marsIdent",1256},
- {"boustrophedonicOrdering",381},
- {"faLevelName",856},
- {""}, {""}, {""},
- {"xLast",2497},
- {""}, {""}, {""},
- {"typeOfStatisticalProcessingForTimeRangeForReferencePeriod",2344},
- {"waveDirectionNumber",2451},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"selectedDay",2108},
- {"indexTemplate",991},
- {"neitherPresent",1377},
- {"paramId",1693},
- {""}, {""}, {""},
- {"dewPointTemperature",698},
- {"indexingTime",995},
- {""}, {""}, {""},
- {"rdbSubtype",1815},
- {""}, {""}, {""}, {""},
- {"numberOfTimeSteps",1511},
- {""}, {""}, {""}, {""},
- {"iIncrement",978},
- {"scaleFactorOfFirstSize",1950},
- {""}, {""}, {""}, {""},
- {"angleOfRotationOfProjection",316},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"typicalSecond",2358},
+ {"localDay",1170},
+ {""},
+ {"matchTimeRepres",1288},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"auxiliary",326},
- {"significanceOfReferenceTime",2132},
- {""}, {""}, {""},
- {"defaultShortName",683},
- {""}, {""}, {""},
- {"numberingOrderOfDiamonds",1527},
- {"angleOfRotationInDegrees",315},
- {""}, {""},
- {"expandedTypes",802},
- {""}, {""},
- {"numberOfRadials",1493},
- {""}, {""}, {""},
- {"postProcessing",1736},
+ {"oldSubtype",1583},
{""}, {""}, {""}, {""},
- {"numberOfSection",1501},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"systemNumber",2230},
- {""},
- {"methodNumber",1323},
- {""},
- {"modelIdentifier",1348},
- {"frequency",900},
- {""},
- {"probPoint",1771},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"defaultTypeOfLevel",685},
- {""}, {""},
- {"numberOfSubsets",1506},
- {""},
- {"dataRepresentation",641},
- {"numberOfDirections",1434},
- {""}, {""},
- {"clusteringMethod",554},
- {""}, {""},
- {"dataValues",650},
- {""},
- {"defaultFaFieldName",677},
- {"changingPrecision",429},
- {""}, {""}, {""}, {""},
- {"treatmentOfMissingData",2304},
- {""},
- {"inputDelayedDescriptorReplicationFactor",1007},
- {""}, {""},
- {"SPD",229},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"derivedForecast",693},
{""}, {""}, {""},
- {"trueLengthOfLastGroup",2306},
- {""}, {""},
- {"headersOnly",952},
+ {"localDefinition",1174},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfDiamonds",1433},
- {""}, {""},
- {"numberOfStatisticallyProcessedFieldsForLocalTime",1504},
- {""}, {""},
- {"horizontalCoordinateSupplement",959},
- {""}, {""}, {""}, {""},
- {"matchLandType",1284},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Nb",195},
+ {"generatingProcessIdentifier",913},
{""}, {""},
- {"averagingPeriod",330},
+ {"anoffsetFirst",318},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"Nr",200},
+ {""}, {""}, {""}, {""},
+ {"originalSubCentreIdentifier",1613},
+ {"Ni",198},
+ {""}, {""}, {""}, {""},
+ {"northernLatitudeOfDomain",1396},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"productDefinition",1778},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondDimension",2013},
+ {"lowerRange",1238},
+ {"setDecimalPrecision",2128},
{""},
- {"forecastPeriodFrom",889},
+ {"groupSplitting",943},
+ {""}, {""},
+ {"Nside",203},
+ {"generatingProcessIdentificationNumber",912},
{""}, {""}, {""}, {""}, {""}, {""},
- {"masterTableNumber",1279},
- {"simpleThinningSkip",2134},
- {""}, {""}, {""}, {""}, {""},
- {"referencePeriodList",1846},
+ {"freeFormData",900},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfCentrePoint",1207},
+ {""}, {""}, {""},
+ {"clusterSize",551},
+ {""}, {""}, {""},
+ {"incrementOfLengths",991},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"endOfRange",770},
+ {""}, {""},
+ {"reservedOctet",1872},
+ {""},
+ {"lcwfvSuiteName",1123},
{""}, {""}, {""}, {""},
- {"siteLongitude",2139},
- {"marsLongitude",1263},
- {""}, {""},
- {"optimizeScaleFactor",1593},
- {"horizontalCoordinateDefinition",958},
+ {"southernLatitudeOfDomain",2167},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"parameterName",1711},
{""},
- {"numberOfFrequencies",1451},
- {""},
- {"ccccIdentifiers",393},
+ {"hourOfForecast",967},
{""}, {""},
- {"floatVal",883},
+ {"marsLevelist",1264},
+ {""},
+ {"NL",186},
+ {"anoffsetFrequency",319},
+ {"verticalDomainTemplate",2458},
+ {"suiteName",2233},
+ {""}, {""}, {""},
+ {"bufrTemplate",384},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"localLatitude",1179},
+ {"tileName",2282},
{""}, {""}, {""}, {""},
- {"computeLaplacianOperator",569},
- {"typeOfRelationToReferenceDataset",2338},
- {"centreLatitude",411},
+ {"decimalScaleFactor",676},
{""},
- {"firstLatitude",871},
- {"dayOfStartOfReferencePeriod",673},
+ {"integerScaleFactor",1018},
+ {"J",92},
+ {"typicalDay",2372},
+ {""},
+ {"marsParam",1267},
+ {""},
+ {"marsKeywords",1259},
+ {"newSubtype",1383},
+ {""}, {""}, {""},
+ {"analysisOffsets",310},
+ {""},
+ {"modelName",1351},
+ {""}, {""}, {""},
+ {"LaR",106},
+ {""}, {""}, {""},
+ {"monthOfForecast",1358},
+ {"typeOfLevel",2347},
+ {"cfName",417},
+ {"gridName",936},
+ {"latitudeOfCentrePoint",1094},
+ {"localTimeForecastList",1196},
+ {""}, {""}, {""}, {""},
+ {"referenceOfLengths",1853},
+ {""}, {""},
+ {"yearOfForecast",2529},
+ {""}, {""}, {""},
+ {"LoR",127},
+ {""},
+ {"epsPoint",787},
+ {"rdbtimeDay",1829},
+ {""}, {""},
+ {"controlForecastCluster",586},
+ {"longitudeSexagesimal",1233},
+ {""},
+ {"shortName",2135},
+ {""},
+ {"Nassigned",193},
+ {""},
+ {"scaledDirections",1981},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"defaultStepUnits",684},
+ {""}, {""}, {""}, {""},
+ {"realPart",1836},
+ {"integerScalingFactorAppliedToDirections",1019},
+ {"integerScalingFactorAppliedToFrequencies",1020},
+ {""}, {""}, {""},
+ {"Nf",197},
+ {"qfe",1802},
+ {""}, {""}, {""}, {""},
+ {"gridDefinitionSection",933},
+ {""},
+ {"NT",190},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"changeDecimalPrecision",424},
- {""},
- {"referenceValue",1850},
- {""},
- {"dataRepresentationTemplate",642},
- {""},
- {"secondLatitude",2016},
+ {"ifsParam",988},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"defaultFaLevelName",678},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"charValues",433},
- {""}, {""}, {""}, {""},
- {"applicationIdentifier",322},
- {""}, {""}, {""}, {""},
- {"secondOfForecastUsedInLocalTime",2020},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"inputDataPresentIndicator",1006},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"satelliteIdentifier",1939},
- {"perturbedType",1724},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"sequences",2125},
+ {"editionNumber",739},
{""}, {""}, {""}, {""}, {""},
- {"minuteOfForecastUsedInLocalTime",1331},
+ {"minuteOfReference",1335},
+ {""}, {""}, {""},
+ {"multiplicationFactorForLatLong",1367},
+ {""},
+ {"quantile",1812},
+ {""}, {""}, {""}, {""}, {""},
+ {"dateOfReference",661},
+ {""}, {""}, {""},
+ {"timeOfReference",2293},
+ {""},
+ {"rdbSubtype",1824},
+ {""}, {""}, {""}, {""},
+ {"overlayTemplateNumber",1623},
+ {""},
+ {"sectionNumber",2094},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"masterTableNumber",1281},
+ {"climatologicalRegime",438},
+ {""},
+ {"numberOfTimeSteps",1516},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"qnh",1805},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"trueLengthOfLastGroup",2323},
+ {""}, {""}, {""},
+ {"visibility",2462},
+ {"minuteOfForecast",1332},
+ {""}, {""}, {""},
+ {"validityDate",2428},
+ {""}, {""}, {""}, {""},
+ {"secondOfForecast",2028},
+ {"observedData",1541},
+ {""}, {""},
+ {"numberOfFloats",1449},
+ {""}, {""}, {""}, {""},
+ {"gridDefinitionDescription",932},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"Adelta",13},
- {""}, {""}, {""},
- {"indexingDate",994},
+ {""}, {""}, {""}, {""},
+ {"numberOfDirections",1439},
+ {""},
+ {"defaultName",680},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"pvlLocation",1792},
- {"endOfProduct",770},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"iDirectionIncrement",974},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"clusterNumber",550},
+ {""},
+ {"optimizeScaleFactor",1600},
+ {""}, {""}, {""},
+ {"longitudeOfGridPoints",1214},
{""}, {""}, {""}, {""},
- {"versionNumOfFilesFreeSpaceStorage",2429},
- {""},
- {"dataRepresentationType",644},
+ {"rectimeSecond",1846},
+ {""}, {""},
+ {"isAuto",1027},
+ {""}, {""},
+ {"crraSection",630},
{""}, {""}, {""},
- {"dataRepresentationTemplateNumber",643},
+ {"uerraSection",2384},
{""}, {""}, {""}, {""},
- {"rdbtimeSecond",1824},
- {""}, {""},
- {"tubeNumber",2313},
- {"simpleThinningStart",2135},
- {""}, {""}, {""},
- {"partitionItems",1708},
- {"offsetSection6",1568},
+ {"numberingOrderOfDiamonds",1534},
{""}, {""}, {""}, {""},
- {"coordinate3OfLastGridPoint",600},
- {"numberOfForcasts",1445},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"energyNorm",779},
+ {"channelNumber",430},
+ {""}, {""}, {""}, {""}, {""},
+ {"dayOfForecast",669},
+ {""},
+ {"localDefinitionNumber",1175},
+ {""},
+ {"numberOfSection",1506},
{""}, {""}, {""},
- {"totalNumberOfdimensions",2303},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfLocalDefinitions",1461},
- {""}, {""},
- {"internalVersion",1021},
- {"FirstLatitude",67},
- {""}, {""},
- {"tableNumber",2234},
- {""}, {""}, {""},
- {"isAuto",1026},
- {"correction1Part",615},
- {""}, {""}, {""}, {""}, {""},
- {"corr4Data",612},
- {""},
- {"stretchingFactor",2205},
- {""},
- {"temperatureAndDewpointPresent",2245},
- {"scaleFactorOfFirstFixedSurface",1949},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ensembleForecastNumbers",781},
- {""},
- {"verificationDate",2424},
- {"SecondLatitude",230},
- {""},
- {"P",213},
- {"localLongitude",1182},
- {"codedValues",562},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfForecastsInTube",1449},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"expandedNames",797},
- {""}, {""}, {""}, {""}, {""},
- {"orientationOfTheGrid",1600},
- {""}, {""}, {""}, {""}, {""},
- {"stretchingFactorScaled",2206},
- {""},
- {"bitmapSectionPresent",375},
- {"scaleFactorOfSecondFixedSurface",1960},
- {"listOfDistributionFunctionParameter",1158},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"observablePropertyTemplate",1529},
- {""}, {""}, {""}, {""}, {""},
- {"corr3Data",611},
- {"formatForLongs",896},
- {""},
- {"climateDateFrom",437},
+ {"spectralDataRepresentationMode",2180},
{""}, {""}, {""}, {""},
- {"subSetK",2218},
+ {"hourOfReference",970},
+ {""},
+ {"optimisationTime",1599},
{""}, {""}, {""},
- {"widthOfFirstOrderValues",2460},
+ {"defaultParameter",681},
+ {""}, {""}, {""},
+ {"computeLaplacianOperator",569},
+ {""},
+ {"listOfScaledFrequencies",1163},
+ {""},
+ {"forecastPeriod",889},
+ {""},
+ {"waveLevType",2474},
+ {""}, {""},
+ {"numberOfSubsets",1511},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfLocalDefinitions",1466},
+ {""}, {""}, {""},
+ {"standardParallel",2186},
+ {""}, {""}, {""}, {""}, {""},
{"dataAccessors",634},
- {""}, {""}, {""},
- {"memberNumber",1319},
- {""}, {""}, {""}, {""}, {""},
- {"yDirectionGridLength",2500},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"totalNumberOfTubes",2299},
- {""}, {""},
- {"longitudeOfIcosahedronPole",1213},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"unitOfOffsetFromReferenceTime",2369},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"secondsOfReference",2036},
- {""}, {""}, {""},
- {"scaleFactorOfRadiusOfSphericalEarth",1959},
- {"floatValues",884},
- {""},
- {"totalNumberOfQuantiles",2296},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"typeOfDistributionFunction",2321},
- {""}, {""}, {""}, {""}, {""},
- {"observablePropertyTemplateNumber",1530},
- {""},
- {"expandedDescriptors",796},
- {"levelIndicator",1141},
- {""},
- {"missingDataFlag",1337},
- {"diagnosticNumber",700},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"isEps",1035},
{""}, {""}, {""}, {""},
- {"numberOfDistinctSection9s",1441},
- {""}, {""}, {""},
- {"numberOfDistinctSection8s",1440},
- {""}, {""},
- {"stringValues",2207},
- {""}, {""}, {""}, {""}, {""},
- {"orderOfSPD",1596},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"globalDomain",919},
+ {"typeOfStatisticalPostProcessingOfEnsembleMembers",2359},
+ {"nTileAtt",1371},
{""}, {""}, {""}, {""},
- {"tablesVersion",2238},
- {"numberOfReferencePeriodTimeRanges",1494},
+ {"Ny",208},
+ {"angleOfRotation",313},
+ {"horizontalCoordinateDefinition",959},
+ {"horizontalCoordinateSupplement",960},
{""},
- {"scaleFactorAtReferencePoint",1942},
- {"endOfInterval",768},
+ {"monthOfReference",1361},
+ {""},
+ {"XR",271},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfOperationalForecastTube",1472},
- {""}, {""},
- {"unitOfTimeIncrement",2371},
- {""}, {""}, {""}, {""}, {""},
- {"realization",1829},
- {"diffInDays",701},
- {"scanPosition",2003},
- {""}, {""},
- {"stepTypeInternal",2200},
- {""}, {""}, {""}, {""},
- {"lengthOfProjectLocalTemplate",1135},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfReservedBytes",1498},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"TAFstr",237},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"totalNumberOfRepetitions",2297},
- {""}, {""}, {""}, {""}, {""},
- {"verticalDomainTemplateNumber",2439},
- {""},
- {"qnhPresent",1798},
- {""},
- {"qfePresent",1794},
- {""}, {""}, {""}, {""},
- {"monthlyVerificationTime",1363},
- {""},
- {"totalNumberOfDirections",2291},
- {"identificationNumber",982},
- {""},
- {"destineLocalVersion",695},
- {""},
- {"section9Pointer",2081},
- {"levelValues",1143},
- {"falseNorthing",860},
- {""},
- {"section8Pointer",2078},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"typeOfTimeIncrement",2345},
- {""},
- {"secondDimensionPhysicalSignificance",2015},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"indexTemplateNumber",992},
- {""}, {""},
- {"subSetJ",2217},
- {""}, {""},
- {"angleSubdivisions",317},
- {"Xo",274},
- {""}, {""}, {""}, {""}, {""},
- {"sampleSizeOfReferencePeriod",1937},
- {""},
- {"centuryOfReference",416},
- {""},
- {"scalingFactorForFrequencies",2002},
- {""}, {""}, {""},
- {"Xp",275},
- {""}, {""}, {""},
- {"gridDefinitionTemplateNumber",933},
- {"cfVarName",421},
- {""},
- {"correction4Part",621},
- {""},
- {"ensembleStandardDeviation",784},
- {"molarMass",1352},
- {""}, {""}, {""}, {""},
- {"longitudeOfFirstGridPoint",1210},
- {"totalNumberOfFrequencies",2293},
+ {"yearOfReference",2532},
+ {"typeOfStatisticalProcessing",2360},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"marsEndStep",1251},
+ {"indicatorOfUnitOfTimeRange",1006},
{""}, {""}, {""}, {""},
- {"marsModel",1264},
- {""},
- {"dayOfReference",672},
+ {"modeNumber",1347},
+ {"Ncy",196},
+ {"dataValues",650},
+ {"numberOfFrequencies",1456},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Nuy",206},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"uuidOfDataGroup",2424},
+ {""}, {""}, {""}, {""},
+ {"validityDateTime",2429},
+ {"localSection",1191},
+ {""}, {""}, {""}, {""}, {""},
+ {"minuteOfForecastUsedInLocalTime",1333},
+ {"numberOfDiamonds",1438},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"secondOfForecastUsedInLocalTime",2029},
+ {"tiggeSection",2273},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"forecastPeriodTo",891},
+ {"probPoint",1780},
+ {""},
+ {"latitudeOfCentrePointInDegrees",1095},
+ {""},
+ {"originalParameterNumber",1611},
+ {"referenceValue",1859},
+ {"boustrophedonicOrdering",380},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"experiment",804},
+ {""}, {""}, {""}, {""}, {""},
+ {"oceanLevName",1544},
+ {""},
+ {"iteratorDisableUnrotate",1061},
+ {""}, {""},
+ {"sectionPosition",2095},
+ {"xLast",2517},
+ {""},
+ {"maximum",1293},
+ {"yDirectionGridLength",2520},
+ {""}, {""},
+ {"atmosphericChemicalOrPhysicalConstituentType",323},
+ {""}, {""},
+ {"iDirectionIncrement",975},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"totalNumber",2303},
+ {""},
+ {"spectralDataRepresentationType",2181},
+ {""}, {""},
+ {"charValues",432},
+ {""},
+ {"epsStatisticsPoint",789},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"applicationIdentifier",321},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"legNumber",1127},
+ {"windPresent",2494},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfStatisticallyProcessedFieldsForLocalTime",1509},
+ {""},
+ {"significanceOfReferenceTime",2141},
+ {""}, {""},
+ {"angleOfRotationInDegrees",314},
+ {""}, {""},
+ {"neitherPresent",1382},
+ {""},
+ {"faFieldName",855},
+ {""}, {""},
+ {"pvlLocation",1801},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"orderOfSpatialDifferencing",1604},
+ {""},
+ {"faLevelName",856},
+ {"floatVal",883},
+ {""}, {""}, {""}, {""},
+ {"stepTypeForConversion",2209},
+ {""}, {""},
+ {"changingPrecision",428},
+ {"numberOfRadials",1498},
+ {"typicalSecond",2376},
+ {""}, {""}, {""},
+ {"scaleFactorOfSecondSize",1970},
+ {""},
+ {"standardParallelInDegrees",2187},
+ {"defaultTypeOfLevel",685},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"groupLeafNodeK",941},
+ {""}, {""},
+ {"productDefinition",1787},
+ {""}, {""}, {""},
+ {"rdbtimeSecond",1833},
+ {"clusteringMethod",553},
+ {""},
+ {"siteId",2146},
+ {""},
+ {"paramId",1700},
+ {""},
+ {"referencePeriodList",1855},
+ {"TAFstr",236},
+ {"marsIdent",1258},
+ {""},
+ {"numberOfForcasts",1450},
+ {"methodNumber",1325},
+ {""}, {""}, {""}, {""},
+ {"subSetJ",2228},
+ {"frequency",901},
+ {""}, {""},
+ {"observablePropertyTemplate",1536},
+ {""}, {""}, {""}, {""}, {""},
+ {"ensembleForecastNumbers",781},
+ {""}, {""}, {""}, {""},
+ {"iIncrement",979},
+ {""}, {""},
+ {"typeOfStatisticalProcessingForTimeRangeForReferencePeriod",2361},
+ {""}, {""},
+ {"Nb",194},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"expoffset",809},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"unitOfTimeIncrement",2389},
+ {""}, {""}, {""}, {""},
+ {"scaleFactorOfStandardDeviation",1972},
+ {""},
+ {"numberOfForecastsInTube",1454},
+ {""}, {""},
+ {"SPD",228},
+ {""}, {""},
+ {"dewPointTemperature",697},
+ {""}, {""},
+ {"formatForLongs",897},
+ {"observablePropertyTemplateNumber",1537},
+ {""}, {""},
+ {"scaleFactorOfStandardDeviationInTheCluster",1973},
+ {"simpleThinningSkip",2143},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"ensembleForecastNumbersList",782},
- {""}, {""}, {""},
- {"longitudeOfStretchingPole",1222},
- {""},
- {"tableReference",2235},
+ {""}, {""},
+ {"extraDim",812},
+ {"realization",1838},
+ {"firstLatitude",871},
{""}, {""}, {""}, {""},
- {"dx",726},
- {""}, {""}, {""},
- {"numberOfForecastsUsedInLocalTime",1450},
- {"PLPresent",216},
- {"max",1289},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"productDefinitionTemplateNumber",1779},
+ {"treatmentOfMissingData",2321},
{""}, {""}, {""}, {""}, {""},
- {"orientationOfTheGridInDegrees",1601},
- {""}, {""}, {""}, {""}, {""},
- {"offsetFreeFormData",1556},
- {""}, {""}, {""}, {""}, {""},
- {"isAccumulation",1025},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"sizeOfOffsets",2141},
+ {"forecastPeriodFrom",890},
{""},
- {"localDefNumberTwo",1171},
+ {"powerOfTenUsedToScaleClimateWeight",1746},
{""},
- {"userTimeEnd",2403},
- {"unsignedIntegers",2388},
- {"monthlyVerificationDate",1361},
+ {"scaleFactorOfFirstSize",1959},
+ {""},
+ {"secondDimension",2022},
+ {""},
+ {"destineLocalVersion",694},
+ {"averagingPeriod",329},
+ {""},
+ {"postProcessing",1745},
+ {"marsLongitude",1265},
+ {"internalVersion",1022},
{""}, {""}, {""},
- {"decimalPrecision",675},
- {"DiInDegrees",32},
- {"subcentreOfAnalysis",2220},
- {"secondOrderFlags",2023},
- {"productDefinitionTemplateNumberInternal",1780},
- {"meaningOfVerticalCoordinate",1318},
- {"numberOfPartitions",1476},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"nosigPresent",1392},
- {""}, {""}, {""}, {""},
- {"dateOfForecastRun",657},
- {"gridPointPosition",936},
- {""}, {""}, {""},
- {"typeOfPostProcessing",2334},
- {""},
- {"iterationNumber",1059},
- {"dimensionNumber",704},
- {"latitudeOfGridPoints",1097},
- {"parameterNumber",1704},
- {""}, {""}, {""},
- {"g2grid",907},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"clutterFilterIndicator",555},
- {""}, {""}, {""}, {""}, {""},
- {"latLonValues",1087},
- {"scaleFactorOfDistributionFunctionParameter",1946},
- {"partitionNumber",1709},
- {"widthOfSPD",2462},
- {""}, {""}, {""},
- {"siteElevation",2136},
- {""}, {""},
- {"theMessage",2249},
- {""}, {""}, {""},
- {"extractSubset",843},
- {""}, {""}, {""},
- {"directionNumber",707},
- {"operatingMode",1590},
- {"periodOfTimeIntervals",1722},
- {""}, {""},
- {"radialAngularSpacing",1805},
- {"satelliteNumber",1940},
- {"section0Pointer",2039},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"TAF",236},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"perturbationNumber",1723},
- {""}, {""}, {""}, {""},
- {"tiggeModel",2261},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"eastLongitudeOfCluster",733},
- {""}, {""},
- {"correction3",618},
- {"representationMode",1855},
- {""}, {""}, {""}, {""},
- {"coordinate3Flag",598},
- {"angleMultiplier",313},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"DyInDegrees",43},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"userDateEnd",2399},
- {""}, {""}, {""},
- {"northLatitudeOfCluster",1384},
- {""}, {""},
- {"MS",159},
- {"clusterMember9",550},
- {""}, {""}, {""},
- {"latitudeOfStretchingPole",1107},
- {""}, {""},
- {"unitsOfSecondFixedSurface",2382},
- {"clusterMember8",549},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"complexPacking",566},
- {""}, {""},
- {"NP",188},
- {"spatialProcessing",2169},
- {"localMinute",1185},
- {"corr2Data",610},
- {""},
- {"spectralMode",2173},
- {""}, {""},
- {"numberOfRemaininChars",1496},
- {""}, {""},
- {"libraryVersion",1148},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Dx",39},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"NAT",175},
- {""},
- {"scanningMode",2004},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"groupLeafNodeK",940},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"longitudeOfLastGridPoint",1214},
- {""}, {""}, {""}, {""}, {""},
- {"southLatitudeOfCluster",2154},
- {"localMonth",1186},
- {"scanningMode8",2009},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetAfterPadding",1545},
- {""},
- {"sensitiveAreaDomain",2115},
- {""},
- {"oneMillionConstant",1579},
- {""}, {""}, {""},
- {"iScansNegatively",979},
- {""}, {""}, {""}, {""}, {""},
- {"localDefNumberOne",1170},
- {""},
- {"interpretationOfNumberOfPoints",1023},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"totalNumberOfTileAttributePairs",2298},
- {""},
- {"binaryScaleFactor",371},
- {""}, {""}, {""},
- {"internationalDataSubCategory",1022},
- {""}, {""},
- {"baseAddress",336},
- {""}, {""}, {""}, {""}, {""},
- {"westLongitudeOfCluster",2456},
- {""},
- {"Lx",152},
- {""}, {""}, {""},
- {"biFourierTruncationType",370},
- {""}, {""}, {""}, {""}, {""},
- {"minutesAfterDataCutoff",1335},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"tablesVersionLatest",2239},
- {""},
- {"isConstant",1032},
- {""}, {""}, {""}, {""},
- {"userDateTimeEnd",2401},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfRows",1499},
- {""},
- {"heightOrPressureOfLevel",954},
- {"earthMinorAxis",731},
- {"streamOfAnalysis",2204},
- {""}, {""},
- {"Lcx",118},
- {""}, {""}, {""}, {""}, {""},
- {"localSectionPresent",1190},
- {"marsClass",1246},
- {""}, {""}, {""},
- {"scaleFactorOfLowerLimit",1954},
- {""},
- {"section_8",2105},
- {""},
- {"thisMarsType",2253},
- {""}, {""},
- {"earthIsOblate",728},
- {""}, {""},
- {"is_uerra",1053},
- {""},
- {"longitudeOfCentrePointInDegrees",1206},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"outerLoopLengthOfTimeRange",1612},
- {""}, {""},
- {"yearOfStartOfReferencePeriod",2513},
- {""}, {""}, {""},
- {"Lux",148},
- {"thisMarsStream",2252},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"is_aerosol",1045},
- {""}, {""}, {""}, {""}, {""},
- {"formatForDoubles",895},
- {"offsetAfterLocalSection",1544},
- {""}, {""}, {""},
- {"marsLamModel",1259},
- {"ITN",92},
- {""},
- {"timeIncrement",2272},
- {"additionalFlagPresent",302},
- {""}, {""}, {""}, {""},
- {"scaledValueOfStandardDeviation",1994},
- {""},
- {"scaledValueOfSecondSize",1992},
- {""}, {""},
- {"numberOfDistinctSection6s",1438},
- {""},
- {"minuteOfAnalysis",1328},
- {""},
- {"plusOneinOrdersOfSPD",1731},
- {""},
- {"parameterCode",1700},
- {"short_name",2129},
- {"ecpt_model",737},
- {""},
- {"scaledValueOfStandardDeviationInTheCluster",1995},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"siteLongitude",2148},
{""},
{"Azi",15},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsTitle3",530},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"createNewData",628},
{""},
- {"bitmapPresent",374},
- {"_T",290},
- {""}, {""}, {""}, {""}, {""},
- {"tigge_name",2264},
- {""}, {""},
- {"cnmc_isac",557},
- {""}, {""},
- {"numberOfIterations",1459},
- {""}, {""},
- {"isHindcast",1038},
- {"grib3divider",924},
- {"latitudeLastInDegrees",1090},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"hourOfStartOfReferencePeriod",970},
- {"windVariableDirection",2485},
- {""}, {""},
- {"extraDimensionPresent",813},
- {""}, {""}, {""}, {""},
- {"LaDInDegrees",106},
- {""},
- {"_endStep",293},
- {""}, {""},
- {"local_use",1199},
- {""}, {""},
- {"XR",272},
- {""},
- {"scaledValueOfFirstSize",1981},
- {""},
- {"efas_model",741},
- {"defaultSequence",682},
- {""}, {""},
- {"totalNumberOfForecastProbabilities",2292},
- {"gts_header",949},
- {""}, {""}, {""}, {""}, {""},
- {"representativeMember",1857},
+ {"codedValues",561},
{""}, {""}, {""},
- {"dayOfAnalysis",667},
+ {"systemNumber",2241},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"expver",810},
+ {""},
+ {"levTypeName",1140},
+ {""},
+ {"indexingTime",996},
+ {""}, {""}, {""}, {""}, {""},
+ {"isAccumulation",1026},
+ {""}, {""},
+ {"changeDecimalPrecision",423},
+ {""}, {""}, {""}, {""},
+ {"dataRepresentation",641},
+ {"tubeNumber",2330},
+ {"centreLatitude",410},
+ {"generatingProcessTemplateNumber",915},
+ {"numberOfForecastsUsedInLocalTime",1455},
+ {""},
+ {"sizeOfOffsets",2150},
+ {"xFirst",2516},
+ {""}, {""}, {""}, {""},
+ {"localLatitude",1181},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"bitmapSectionPresent",374},
+ {"tablesVersion",2249},
+ {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfIcosahedronPole",1215},
+ {"listOfDistributionFunctionParameter",1159},
+ {""},
+ {"endOfProduct",769},
+ {""}, {""},
+ {"secondLatitude",2025},
+ {""}, {""}, {""},
+ {"modelIdentifier",1350},
+ {""},
+ {"numberOfOperationalForecastTube",1477},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"inputDataPresentIndicator",1007},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"defaultShortName",683},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"oneConstant",1578},
+ {"radialAngularSpacing",1814},
{""},
- {"tileClassification",2266},
- {""},
- {"observationGeneratingProcessIdentifier",1532},
- {""},
- {"section6Pointer",2070},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"cnmc_cmcc",556},
- {"modelVersionTime",1351},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"is_uerra",1054},
{""}, {""}, {""},
- {"Nx",208},
- {""},
- {"localTimeMethod",1195},
- {"_anoffset",292},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"is_chemical",1047},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"addressOfFileFreeSpaceInfo",304},
- {"endDayTrend3",749},
- {""},
- {"verticalVisibility",2440},
- {"versionNumOfRootGroupSymbolTableEntry",2430},
- {""},
- {"is_localtime",1050},
- {"integerValues",1020},
- {""},
- {"calendarIdPresent",387},
- {"missingValue",1338},
+ {"ccccIdentifiers",392},
{""}, {""}, {""},
- {"numberOfVerticalPoints",1522},
- {"section_09",2095},
- {""}, {""},
- {"defaultStepUnits",684},
+ {"tableNumber",2245},
{""},
- {"iScansPositively",980},
- {"scaledFrequencies",1973},
- {""},
- {"section_08",2094},
- {"Ncx",196},
- {""}, {""},
- {"parameterIndicator",1702},
- {"monthOfStartOfReferencePeriod",1360},
+ {"scaleFactorOfLowerLimit",1963},
{""}, {""}, {""}, {""}, {""},
- {"tiggeCentre",2258},
+ {"unitOfOffsetFromReferenceTime",2387},
+ {"typeOfTimeIncrement",2363},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"NDSP",180},
- {""}, {""},
- {"numericValues",1528},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfVerticalCoordinateValues",1520},
- {""}, {""}, {""}, {""},
- {"localHour",1178},
- {""},
- {"calendarIdentification",388},
- {""}, {""},
- {"Nux",206},
- {"rectimeHour",1835},
- {""}, {""},
- {"offsetAfterCentreLocalSection",1542},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"NFSP",182},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"unitsOfFirstFixedSurface",2381},
- {"startOfMessage",2182},
- {""}, {""}, {""}, {""},
- {"numberOfVerticalGridDescriptors",1521},
- {""},
- {"corr1Data",609},
- {""}, {""},
- {"jdSelected",1070},
- {""}, {""}, {""}, {""},
- {"numberOfInts",1458},
- {""}, {""},
- {"endOfFileAddress",766},
+ {"verificationDate",2444},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"floatValues",884},
+ {"memberNumber",1321},
+ {"N",171},
{""}, {""}, {""},
- {"section4Padding",2061},
- {""}, {""}, {""},
- {"roundedMarsLongitude",1882},
+ {"indexTemplate",992},
{""},
- {"modelVersionDate",1350},
+ {"inputDelayedDescriptorReplicationFactor",1008},
{""}, {""}, {""},
- {"conceptsLocalMarsDirAll",576},
- {""}, {""},
- {"_TS",291},
- {""}, {""},
- {"xDirectionGridLength",2493},
- {"extractSubsetList",846},
+ {"offsetAfterPadding",1552},
{""},
- {"extraValues",816},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"targetCompressionRatio",2241},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"indicatorOfUnitOfTimeRange",1005},
- {""}, {""}, {""}, {""},
- {"centuryOfReferenceTimeOfData",417},
- {"extractedDateTimeNumberOfSubsets",848},
- {""}, {""},
- {"conceptsMasterDir",577},
- {"roundedMarsLatitude",1880},
- {"typeOfEnsembleForecast",2322},
+ {"minutesAfterDataCutoff",1337},
{""}, {""}, {""}, {""}, {""}, {""},
- {"forecastProbabilityNumber",891},
+ {"section_8",2114},
+ {""}, {""}, {""},
+ {"temperatureAndDewpointPresent",2256},
{""}, {""},
- {"tablesVersionLatestOfficial",2240},
- {"accumulationInterval",296},
+ {"cnmc_isac",556},
+ {""},
+ {"expandedTypes",802},
+ {""}, {""}, {""}, {""},
+ {"stringValues",2218},
+ {"short_name",2138},
+ {"baseAddress",335},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"latLonValues",1088},
+ {""}, {""},
+ {"simpleThinningStart",2144},
+ {""}, {""},
+ {"TAF",235},
+ {""}, {""},
+ {"typeOfDistributionFunction",2338},
+ {""}, {""}, {""},
+ {"_T",289},
+ {""}, {""},
+ {"cnmc_cmcc",555},
+ {""}, {""}, {""},
+ {"offsetAfterLocalSection",1551},
+ {""}, {""},
+ {"defaultFaLevelName",678},
+ {""}, {""}, {""},
+ {"SecondLatitude",229},
+ {""}, {""}, {""},
+ {"FirstLatitude",66},
+ {"correction4Part",621},
+ {""},
+ {"NR",188},
{""}, {""}, {""}, {""}, {""},
- {"section3Padding",2056},
+ {"dataRepresentationTemplate",642},
+ {"_endStep",292},
+ {""},
+ {"stretchingFactor",2216},
+ {""}, {""}, {""}, {""}, {""},
+ {"waveDirectionNumber",2471},
+ {""},
+ {"numberOfDistinctSection9s",1446},
+ {""}, {""}, {""}, {""}, {""},
+ {"section_09",2104},
{""}, {""},
- {"faModelName",857},
- {"referenceReflectivityForEchoTop",1847},
+ {"angleOfRotationOfProjection",315},
+ {""}, {""},
+ {"tigge_name",2275},
+ {"_anoffset",291},
+ {""},
+ {"dimensionType",704},
+ {"meaningOfVerticalCoordinate",1320},
+ {"ecpt_model",736},
+ {""},
+ {"gts_header",950},
+ {"is_aerosol",1046},
+ {"numberOfDistinctSection8s",1445},
+ {""},
+ {"auxiliary",325},
+ {""},
+ {"sensitiveAreaDomain",2124},
+ {""}, {""}, {""}, {""},
+ {"satelliteIdentifier",1948},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"orientationOfTheGrid",1607},
+ {""}, {""},
+ {"P",212},
+ {"dataRepresentationTemplateNumber",643},
+ {""},
+ {"isEps",1036},
+ {"section_08",2103},
+ {"globalDomain",920},
+ {"local_use",1201},
+ {""}, {""}, {""}, {""}, {""},
+ {"partitionItems",1717},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"is_chemical",1048},
+ {"efas_model",740},
+ {""},
+ {"stretchingFactorScaled",2217},
+ {""}, {""}, {""},
+ {"localLongitude",1184},
+ {"typeOfRelationToReferenceDataset",2355},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"diagnosticNumber",699},
+ {""}, {""}, {""},
+ {"scaleFactorOfSecondFixedSurface",1969},
+ {""},
+ {"dayOfStartOfReferencePeriod",673},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"dataRepresentationType",644},
+ {""},
+ {"defaultFaFieldName",677},
+ {""},
+ {"tablesVersionLatest",2250},
+ {""}, {""}, {""}, {""}, {""},
+ {"orderOfSPD",1603},
+ {"PLPresent",215},
+ {""}, {""}, {""},
+ {"is_localtime",1051},
+ {"matchLandType",1286},
+ {"climateDateFrom",436},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"widthOfFirstOrderValues",2480},
+ {"secondsOfReference",2045},
+ {""}, {""},
+ {"correction1Part",615},
+ {""}, {""}, {""},
+ {"scaleFactorOfFirstFixedSurface",1958},
+ {""}, {""}, {""}, {""},
+ {"ensembleStandardDeviation",784},
+ {""}, {""},
+ {"monthlyVerificationTime",1365},
+ {""},
+ {"angleSubdivisions",316},
+ {""},
+ {"numberOfPartitions",1481},
+ {""},
+ {"sampleSizeOfReferencePeriod",1946},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"levelValues",1144},
+ {"corr4Data",612},
+ {"scanPosition",2012},
+ {""},
+ {"indexingDate",995},
+ {""}, {""}, {""}, {""},
+ {"numberOfReservedBytes",1503},
+ {"_TS",290},
+ {"latitudeOfGridPoints",1098},
+ {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfStretchingPole",1224},
+ {"qfePresent",1803},
+ {"numberOfReferencePeriodTimeRanges",1499},
+ {""}, {""},
+ {"qnhPresent",1807},
+ {""}, {""}, {""},
+ {"streamOfAnalysis",2215},
+ {""}, {""}, {""}, {""},
+ {"lengthOfProjectLocalTemplate",1136},
+ {""}, {""}, {""}, {""}, {""},
+ {"marsEndStep",1253},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"outerLoopLengthOfTimeRange",1619},
+ {""},
+ {"totalNumberOfdimensions",2319},
+ {""}, {""},
+ {"startingAzimuth",2197},
+ {"numberOfRows",1504},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"minuteOfAnalysis",1330},
+ {""}, {""},
+ {"tableReference",2246},
+ {""}, {""},
+ {"offsetAfterCentreLocalSection",1549},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"verticalCoordinate",2436},
- {""}, {""},
- {"groupSplittingMethodUsed",943},
- {"setCalendarId",2118},
+ {"userTimeEnd",2421},
{""}, {""}, {""},
- {"reservedSection3",1865},
- {"destineOrigin",696},
+ {"section9Pointer",2090},
+ {""},
+ {"localDefNumberTwo",1173},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section8Pointer",2087},
+ {""},
+ {"unitsOfSecondFixedSurface",2400},
+ {"secondDimensionPhysicalSignificance",2024},
+ {""}, {""},
+ {"totalNumberOfTubes",2315},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"calendarIdentificationTemplateNumber",389},
- {"gridDescriptionSectionPresent",934},
+ {"latitudeOfStretchingPole",1108},
+ {""},
+ {"missingDataFlag",1339},
+ {""},
+ {"diffInDays",700},
+ {""},
+ {"totalNumberOfQuantiles",2311},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"NAT",174},
+ {""}, {""},
+ {"monthlyVerificationDate",1363},
+ {""}, {""}, {""}, {""},
+ {"representationType",1865},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cfVarName",420},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"sphericalHarmonics",2175},
+ {"libraryVersion",1149},
+ {""}, {""}, {""},
+ {"scaleFactorOfRadiusOfSphericalEarth",1968},
+ {""}, {""}, {""}, {""},
+ {"centuryOfReference",415},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"scalingFactorForFrequencies",2011},
+ {""}, {""}, {""},
+ {"endOfInterval",767},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"section0Pointer",2048},
+ {""},
+ {"dayOfReference",672},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"perturbedType",1733},
+ {""},
+ {"heightOrPressureOfLevel",955},
+ {""},
+ {"levelIndicator",1142},
{""}, {""}, {""}, {""}, {""}, {""},
+ {"decimalPrecision",675},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"verticalDomainTemplateNumber",2459},
+ {""}, {""}, {""}, {""},
+ {"windVariableDirection",2505},
+ {""}, {""},
+ {"numberOfRemaininChars",1501},
+ {""}, {""},
+ {"stepTypeInternal",2210},
+ {""},
+ {"orientationOfTheGridInDegrees",1608},
+ {"userDateEnd",2417},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfVerticalPoints",1529},
+ {""}, {""},
+ {"widthOfSPD",2482},
+ {""},
+ {"scaleFactorAtReferencePoint",1951},
+ {""},
+ {"longitudeOfLastGridPoint",1216},
+ {""}, {""}, {""}, {""},
+ {"selectedDay",2117},
+ {""}, {""}, {""}, {""},
+ {"periodOfTimeIntervals",1731},
+ {""},
+ {"expandedDescriptors",796},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"typeOfPostProcessing",2351},
+ {""},
+ {"offsetFreeFormData",1563},
+ {""},
+ {"extractSubset",843},
+ {"gts_ddhh00",949},
+ {""}, {""},
+ {"northLatitudeOfCluster",1389},
+ {"longitudeOfFirstGridPoint",1212},
+ {"numberOfVerticalCoordinateValues",1527},
+ {""},
+ {"molarMass",1354},
+ {""}, {""},
+ {"nosigPresent",1397},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"eastLongitudeOfCluster",732},
+ {"siteElevation",2145},
+ {""},
+ {"lsdate_bug",1242},
+ {""}, {""},
+ {"gridDefinitionTemplateNumber",934},
+ {"lstime_bug",1243},
+ {""}, {""},
+ {"versionNumOfFilesFreeSpaceStorage",2449},
+ {"observationGeneratingProcessIdentifier",1539},
+ {""},
+ {"totalNumberOfDirections",2306},
+ {"dayOfAnalysis",667},
+ {""}, {""}, {""},
+ {"interpretationOfNumberOfPoints",1024},
+ {""},
+ {"numberOfVerticalGridDescriptors",1528},
+ {""}, {""},
+ {"is_aerosol_optical",1047},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"perturbationNumber",1732},
+ {""}, {""}, {""}, {""}, {""},
+ {"tablesVersionLatestOfficial",2251},
+ {""}, {""},
+ {"southLatitudeOfCluster",2163},
+ {""},
+ {"marsModel",1266},
+ {"headersOnly",953},
+ {"secondOrderFlags",2032},
+ {""}, {""}, {""},
+ {"spatialProcessing",2178},
+ {"scaleFactorOfDistributionFunctionParameter",1955},
+ {""}, {""}, {""}, {""},
+ {"numberOfLevelValues",1465},
+ {""},
+ {"isConstant",1033},
+ {""}, {""}, {""}, {""}, {""},
+ {"endOfFileAddress",765},
+ {""}, {""},
+ {"userDateTimeEnd",2419},
+ {"gridPointPosition",937},
+ {""}, {""}, {""}, {""}, {""},
+ {"LoV",128},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"unsignedIntegers",2406},
+ {""},
+ {"expandedNames",797},
+ {"theMessage",2260},
+ {"g2grid",908},
+ {""}, {""}, {""},
+ {"falseNorthing",860},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"bitmapPresent",373},
+ {"numberOfIterations",1464},
+ {"DiInDegrees",32},
+ {"numberOfAnalysis",1409},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"marsClass",1248},
+ {""},
+ {"operatingMode",1597},
+ {""}, {""}, {""},
+ {"binaryScaleFactor",370},
+ {""},
+ {"totalNumberOfFrequencies",2308},
+ {""}, {""}, {""},
+ {"productDefinitionTemplateNumber",1788},
+ {""}, {""}, {""}, {""},
+ {"marsLamModel",1261},
+ {""}, {""},
+ {"parameterCode",1708},
+ {""}, {""}, {""},
+ {"scaledValueOfSecondSize",2001},
+ {""}, {""},
+ {"clusterMember9",549},
+ {"is_chemical_distfn",1049},
+ {"modelVersionTime",1353},
+ {""},
+ {"MS",158},
+ {""}, {""},
+ {"sfc_levtype",2132},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"clutterFilterIndicator",554},
+ {""}, {""},
+ {"matchAerosolPacking",1285},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"clusterMember8",548},
+ {""}, {""}, {""}, {""}, {""},
+ {"setCalendarId",2127},
+ {""},
+ {"internationalDataSubCategory",1023},
+ {""}, {""}, {""}, {""},
+ {"corr2Data",610},
+ {""}, {""},
+ {"localMinute",1187},
+ {""}, {""},
+ {"crraLocalVersion",629},
+ {""},
+ {"productDefinitionTemplateNumberInternal",1789},
+ {""}, {""}, {""}, {""}, {""},
+ {"spectralMode",2182},
+ {""}, {""},
+ {"earthIsOblate",727},
+ {"angleMultiplier",312},
+ {""}, {""}, {""},
+ {"correction3Part",619},
+ {""}, {""}, {""},
+ {"scanningMode",2013},
+ {""},
+ {"totalNumberOfTileAttributePairs",2314},
+ {""},
+ {"totalNumberOfRepetitions",2312},
+ {"xDirectionGridLength",2513},
+ {""},
+ {"LaDInDegrees",105},
+ {""},
+ {"param_value_min",1705},
+ {""},
+ {"tiggeModel",2272},
+ {""}, {""}, {""}, {""},
+ {"scaledValueOfStandardDeviation",2003},
+ {"westLongitudeOfCluster",2476},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfSizeInterval",2358},
+ {""}, {""}, {""},
+ {"totalNumberOfTileAttributeCombinations",2313},
+ {"scaledValueOfStandardDeviationInTheCluster",2004},
+ {""},
+ {"representationMode",1864},
+ {""},
+ {"latitudeLastInDegrees",1091},
+ {""},
+ {"localMonth",1188},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"biFourierTruncationType",369},
+ {"scanningMode8",2018},
+ {""}, {""}, {""},
+ {"scaledValueOfFirstSize",1990},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"earthMinorAxis",730},
+ {"thisMarsStream",2263},
+ {""}, {""}, {""},
+ {"oneConstant",1585},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"tiggeCentre",2269},
+ {"indicatorOfUnitForForecastTime",1002},
+ {"DyInDegrees",43},
+ {""}, {""},
+ {"modelVersionDate",1352},
+ {""},
+ {"dirty_statistics",709},
+ {""},
+ {"localSectionPresent",1192},
+ {"timeIncrement",2287},
{"coordinate4OfLastGridPoint",603},
{""}, {""},
- {"functionCode",903},
- {"typeOfPreProcessing",2335},
- {""}, {""}, {""}, {""},
- {"projString",1785},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"roundedMarsLevelist",1881},
- {""}, {""}, {""},
- {"CDFstr",22},
- {""}, {""},
- {"typicalHour",2355},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"originalParameterTableNumber",1605},
+ {"corr1Data",609},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"parameterCategory",1699},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"dateOfForecastRun",657},
+ {"verticalVisibility",2460},
{""}, {""},
- {"clusterIdentifier",540},
+ {"parameterNumber",1712},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"extractSubsetList",846},
+ {""},
+ {"default_max_val",686},
+ {""},
+ {"iterationNumber",1060},
+ {""}, {""},
+ {"tigge_short_name",2276},
+ {""}, {""}, {""},
+ {"targetCompressionRatio",2252},
+ {""},
+ {"dimensionNumber",703},
+ {""}, {""}, {""}, {""}, {""},
+ {"partitionNumber",1718},
{""}, {""}, {""}, {""}, {""}, {""},
- {"productIdentifier",1781},
+ {"tileClassification",2279},
+ {"dx",725},
+ {"max",1291},
+ {""}, {""}, {""}, {""},
+ {"directionNumber",706},
+ {""}, {""}, {""},
+ {"bufrDataEncoded",381},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfCentrePointInDegrees",1208},
+ {""}, {""},
+ {"functionCode",904},
{""},
- {"numberOfPoints",1477},
- {""}, {""}, {""}, {""}, {""},
- {"spare4",2168},
+ {"thisMarsType",2264},
+ {""},
+ {"scaledValueOfLowerLimit",1994},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"thresholdIndicator",2257},
- {""}, {""}, {""},
- {"scaledValueOfFirstFixedSurface",1980},
+ {"Lx",151},
+ {"conceptsLocalMarsDirAll",576},
+ {"jdLocal",1070},
+ {"identificationNumber",983},
+ {"subCentre",2219},
{""}, {""}, {""}, {""},
- {"jdLocal",1069},
+ {"localDefNumberOne",1172},
+ {""},
+ {"minutesAfterReferenceTimeOfDataCutoff",1338},
{""}, {""},
- {"bufrDataEncoded",382},
+ {"complexPacking",566},
+ {""},
+ {"oneMillionConstant",1586},
+ {""}, {""}, {""}, {""}, {""},
+ {"significanceOfReferenceDateAndTime",2140},
+ {""},
+ {"indexTemplateNumber",993},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Lcx",117},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"tableCode",2244},
+ {""}, {""},
+ {"jdSelected",1071},
+ {"additionalFlagPresent",301},
{""}, {""}, {""}, {""},
- {"matchAerosolPacking",1283},
+ {"Lux",147},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"subcentreOfAnalysis",2231},
{""}, {""}, {""},
- {"directionScalingFactor",709},
- {"numberOfIntegers",1457},
- {"tableCode",2233},
- {""}, {""}, {""},
- {"truncateDegrees",2307},
- {""}, {""},
- {"numberOfLevelValues",1460},
- {"originOfPostProcessing",1603},
- {""}, {""},
- {"section4",2059},
- {""}, {""}, {""},
- {"kurt",1077},
- {""}, {""},
- {"listOfModelIdentifiers",1160},
+ {"formatForDoubles",896},
+ {"satelliteNumber",1949},
{""}, {""}, {""}, {""},
- {"originatingCentre",1607},
- {""}, {""}, {""},
- {"scaledValueOfSecondFixedSurface",1991},
- {""}, {""}, {""},
- {"tablesMasterDir",2237},
- {"subCentre",2208},
+ {"numberOfInts",1463},
+ {""}, {""}, {""}, {""},
+ {"plusOneinOrdersOfSPD",1740},
+ {"numericValues",1535},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfPoints",1482},
+ {""},
+ {"totalNumberOfForecastProbabilities",2307},
+ {""},
+ {"NP",187},
+ {""},
+ {"defaultSequence",682},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"projectLocalTemplate",1796},
+ {""},
+ {"calendarIdPresent",386},
+ {""}, {""}, {""}, {""}, {""},
+ {"missingValue",1340},
+ {""},
+ {"integerValues",1021},
+ {"verticalCoordinate",2456},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"monthOfStartOfReferencePeriod",1362},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"biFourierMakeTemplate",363},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"extraLocalSectionPresent",815},
- {""}, {""},
- {"startingAzimuth",2187},
- {"n3",1368},
- {""}, {""},
- {"kurtosis",1078},
- {"crraLocalVersion",629},
- {""}, {""}, {""},
- {"LoV",129},
- {""},
- {"numberOfAnalysis",1404},
- {""},
- {"laplacianScalingFactor",1083},
- {""}, {""},
- {"timeRangeIndicator",2279},
- {"md5Section9",1306},
- {""}, {""},
- {"md5Section8",1305},
- {""},
- {"longitudeFirstInDegrees",1202},
- {""}, {""}, {""}, {""}, {""},
- {"md5Data",1292},
- {""},
- {"marsForecastMonth",1254},
- {""}, {""}, {""}, {""}, {""},
- {"sp3",2161},
- {""}, {""}, {""}, {""},
- {"localNumberOfObservations",1187},
- {""},
{"coordinateIndexNumber",606},
{""}, {""}, {""}, {""},
- {"spare3",2167},
+ {"extraLocalSectionPresent",815},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"gridDescriptionSectionPresent",935},
+ {"calendarIdentification",387},
{""}, {""},
- {"grib2divider",923},
+ {"versionNumberOfGribLocalTables",2453},
{""}, {""}, {""},
- {"scaledValueOfRadiusOfSphericalEarth",1990},
+ {"addressOfFileFreeSpaceInfo",303},
{""}, {""}, {""},
- {"versionNumberOfGribLocalTables",2433},
+ {"latitudeOfSouthernPole",1106},
+ {""},
+ {"destineOrigin",695},
{""}, {""}, {""}, {""}, {""},
- {"paleontologicalOffset",1691},
- {""}, {""},
- {"coordinate1Start",594},
- {""},
- {"preProcessingParameter",1739},
- {""}, {""},
- {"typeOfSizeInterval",2341},
- {"isEPS",1034},
- {"sfc_levtype",2123},
- {""}, {""}, {""}, {""},
- {"skewness",2145},
- {""},
+ {"parameterIndicator",1710},
+ {"centralLongitude",403},
{"extraLocalSectionNumber",814},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"verticalCoordinateDefinition",2437},
- {"correction2Part",617},
- {""}, {""}, {""},
- {"coordinate1Flag",593},
- {"dirty_statistics",710},
- {"typeOfHorizontalLine",2327},
- {""}, {""},
- {"projectLocalTemplate",1787},
+ {"projString",1794},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"secondsOfAnalysis",2044},
{""},
- {"iteratorDisableUnrotate",1060},
- {"julianDay",1071},
- {""}, {""}, {""}, {""},
- {"latitudeOfSouthernPole",1105},
- {"classOfAnalysis",436},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"constantFieldHalfByte",583},
- {""}, {""}, {""},
- {"startOfHeaders",2181},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CDF",21},
+ {"CDFstr",22},
+ {""}, {""}, {""}, {""}, {""},
+ {"typeOfEnsembleForecast",2339},
+ {"indicatorOfUnitForTimeRange",1004},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"localTimeMethod",1197},
+ {"extractedDateTimeNumberOfSubsets",848},
+ {"truncateDegrees",2324},
+ {"centuryOfReferenceTimeOfData",416},
+ {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfSecondFixedSurface",2000},
{""}, {""}, {""},
{"extractAreaWestLongitude",822},
- {""}, {""}, {""}, {""},
- {"iDirectionIncrementInDegrees",977},
{""},
- {"PVPresent",218},
- {""}, {""}, {""}, {""},
- {"defaultFaModelName",679},
+ {"normAtInitialTime",1387},
{""}, {""}, {""},
- {"unknown",2383},
- {""}, {""}, {""},
- {"centralLongitude",404},
- {""}, {""}, {""}, {""},
- {"monthOfAnalysis",1354},
- {""}, {""},
- {"powerOfTenUsedToScaleClimateWeight",1737},
- {""},
- {"is_aerosol_optical",1046},
- {"totalNumberOfIterations",2295},
- {"lsdate_bug",1240},
- {""},
- {"lstime_bug",1241},
+ {"Dx",39},
+ {""}, {""}, {""}, {""}, {""},
+ {"directionScalingFactor",708},
+ {""}, {""}, {""}, {""}, {""},
+ {"representativeMember",1866},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"keySat",1075},
- {""}, {""}, {""},
- {"postAuxiliary",1734},
- {"rdbtimeHour",1821},
- {"scanningModeForOneDiamond",2010},
- {""}, {""}, {""},
- {"originatingClass",1609},
+ {"accumulationInterval",295},
{""},
- {"predefined_grid",1742},
- {""},
- {"lengthOfMessage",1133},
- {"productionStatusOfProcessedData",1783},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"DxInDegrees",40},
- {""},
- {"standardParallelInMicrodegrees",2179},
- {""},
- {"significanceOfReferenceDateAndTime",2131},
+ {"extraValues",816},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"hourOfStartOfReferencePeriod",971},
+ {"parameterCategory",1707},
{""}, {""},
- {"normAtInitialTime",1382},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"marsExpver",1253},
+ {"originalParameterTableNumber",1612},
+ {""},
+ {"forecastProbabilityNumber",892},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"scaledValueOfFirstFixedSurface",1989},
+ {""},
+ {"startOfMessage",2191},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfIntegers",1462},
+ {""}, {""}, {""}, {""}, {""},
+ {"listOfModelIdentifiers",1161},
+ {""}, {""}, {""},
+ {"scaledFrequencies",1982},
+ {"predefined_grid",1751},
+ {""}, {""}, {""}, {""},
+ {"calendarIdentificationTemplateNumber",388},
+ {"monthOfForecastUsedInLocalTime",1359},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfPackedValues",1478},
+ {""}, {""},
+ {"yearOfStartOfReferencePeriod",2533},
+ {"referenceReflectivityForEchoTop",1856},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"originatingCentre",1614},
+ {"offsetSection10",1569},
+ {""}, {""}, {""},
+ {"extraDimensionPresent",813},
+ {""}, {""}, {""},
+ {"productIdentifier",1790},
+ {""},
+ {"corr3Data",611},
+ {""},
+ {"tablesMasterDir",2248},
+ {""}, {""},
+ {"roundedMarsLongitude",1891},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"iDirectionIncrementInDegrees",978},
+ {"laplacianScalingFactor",1084},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"boot_edition",377},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"biFourierMakeTemplate",362},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"clusterIdentifier",539},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"messageLength",1322},
+ {""}, {""}, {""}, {""}, {""},
+ {"typeOfPreProcessing",2352},
+ {""},
+ {"roundedMarsLatitude",1889},
+ {""}, {""}, {""}, {""}, {""},
+ {"easternLongitudeOfDomain",735},
+ {"numberInTheGridCoordinateList",1405},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"aerosolbinnumber",307},
- {""},
- {"typeOfCompressionUsed",2320},
- {""},
- {"lengthOfHeaders",1131},
- {""}, {""},
- {"NV",193},
- {"skew",2144},
- {""},
- {"identificationOfProject",984},
- {""}, {""},
- {"secondDimensionCoordinateValueDefinition",2014},
- {""}, {""},
- {"numberOfModels",1469},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"projectionCenterFlag",1789},
- {""}, {""}, {""},
- {"nameOfSecondFixedSurface",1374},
- {""}, {""}, {""}, {""}, {""},
- {"keyData",1073},
+ {"postAuxiliary",1743},
+ {"verticalCoordinateDefinition",2457},
+ {"centuryOfAnalysis",414},
{""}, {""}, {""}, {""},
- {"minutesAfterReferenceTimeOfDataCutoff",1336},
- {""},
- {"codedNumberOfFirstOrderPackedValues",560},
- {""}, {""}, {""},
- {"rectimeMinute",1836},
+ {"grib2divider",924},
{""}, {""}, {""}, {""},
- {"biFourierResolutionParameterN",366},
- {""},
- {"dateOfAnalysis",655},
- {"reserved3",1861},
- {"timeOfAnalysis",2274},
+ {"local_padding",1200},
{""}, {""}, {""}, {""}, {""}, {""},
- {"upperThreshold",2397},
- {""}, {""}, {""},
- {"secondsOfAnalysis",2035},
+ {"PVPresent",217},
+ {""},
+ {"unitsOfFirstFixedSurface",2399},
+ {"shapeOfVerificationArea",2134},
+ {""},
+ {"isEPS",1035},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfCompressionUsed",2337},
+ {""},
+ {"numberOfEffectiveValues",1448},
+ {""}, {""}, {""}, {""},
+ {"tileAttribute",2278},
+ {""}, {""},
+ {"groupSplittingMethodUsed",944},
+ {""},
+ {"thresholdIndicator",2268},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"section4Padding",2070},
+ {""}, {""},
+ {"numberOfMembersInCluster",1468},
{""}, {""}, {""}, {""}, {""},
- {"projectionCentreFlag",1790},
+ {"conceptsMasterDir",577},
+ {""},
+ {"productionStatusOfProcessedData",1792},
+ {""}, {""}, {""},
+ {"startStepInHours",2194},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"roundedMarsLevelist",1890},
+ {"projectLocalTemplateNumber",1797},
+ {"scaledValueOfRadiusOfSphericalEarth",1999},
+ {""}, {""}, {""}, {""}, {""},
+ {"centralLongitudeInDegrees",404},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"originOfPostProcessing",1610},
+ {""}, {""}, {""}, {""},
+ {"CDF",21},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"aerosolbinnumber",306},
+ {"NDSP",179},
+ {""},
+ {"section7",2081},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfDataPoints",1434},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"grib1divider",921},
+ {"numberOfChars",1420},
+ {"preProcessingParameter",1748},
+ {"NV",192},
+ {""}, {""}, {""},
+ {"secondDimensionCoordinateValueDefinition",2023},
+ {""},
+ {"numberOfModels",1474},
+ {""},
+ {"coordinate1Start",594},
+ {""},
+ {"expandedAbbreviations",791},
+ {""}, {""}, {""}, {""},
+ {"indicatorOfUnitForTimeRangeForReferencePeriod",1005},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfTimeIncrementsOfForecastsUsedInLocalTime",1513},
{""}, {""},
- {"numberOfDistributionFunctionParameters",1442},
- {"numberOfDataPoints",1429},
+ {"projectionCenterFlag",1798},
+ {""}, {""},
+ {"distanceFromTubeToEnsembleMean",712},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"driverInformationBlockAddress",720},
+ {"level_value_list",1145},
+ {"NFSP",181},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"identificationOfProject",985},
+ {"northernLatitudeOfClusterDomain",1395},
+ {""},
+ {"julianDay",1072},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"referenceValueError",1860},
+ {""}, {""},
+ {"listMembersUsed",1154},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"projectionCentreFlag",1799},
+ {"longitudeFirstInDegrees",1204},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"numberOfValues",1526},
+ {"coordinate3OfLastGridPoint",600},
+ {""},
+ {"westernLongitudeOfDomain",2479},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfDistributionFunctionParameters",1447},
+ {"southernLatitudeOfClusterDomain",2166},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"AA",6},
+ {""}, {""}, {""}, {""},
+ {"numberOfCharacters",1419},
+ {""}, {""},
+ {"scaledValueOfDistributionFunctionParameter",1986},
+ {"localNumberOfObservations",1189},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"offsetAfterBitmap",1548},
+ {""}, {""}, {""},
+ {"faModelName",857},
+ {"originatingClass",1616},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"dayOfEndOfOverallTimeInterval",668},
- {""}, {""}, {""},
- {"is_chemical_distfn",1048},
- {""}, {""}, {""},
- {"section2Padding",2050},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"monthOfAnalysis",1356},
{""}, {""},
- {"messageLength",1320},
+ {"ITN",91},
+ {""}, {""},
+ {"classOfAnalysis",435},
{""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfEffectiveValues",1443},
- {""}, {""},
- {"startOfRange",2183},
- {"gts_ddhh00",948},
- {"scaleFactorOfDistanceFromEnsembleMean",1945},
+ {"longitudeOfSubSatellitePoint",1226},
+ {""}, {""}, {""},
+ {"deletePV",692},
+ {"isCorrection",1034},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"qnhAPresent",1806},
+ {""}, {""}, {""}, {""},
+ {"longitudeOfSubSatellitePointInDegrees",1227},
+ {""}, {""}, {""}, {""},
+ {"paleontologicalOffset",1698},
+ {"mars_labeling",1278},
{""}, {""}, {""},
{"correction4",620},
- {"section2Present",2052},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"md5Structure",1307},
- {""},
- {"easternLongitudeOfDomain",736},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetSection10",1562},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfAdditionalParameterForReferencePeriod",1952},
{""}, {""},
- {"numberOfDistinctSection4s",1436},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"lengthOfIndexTemplate",1132},
- {""}, {""}, {""}, {""}, {""},
- {"referenceOfWidths",1845},
- {"lowerThreshold",1237},
- {"scaledValueOfDistributionFunctionParameter",1977},
- {"numberOfPackedValues",1473},
- {"centralClusterDefinition",403},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"isotopeIdentificationNumber",1058},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfDistinctSection7s",1444},
{""},
- {"deleteExtraLocalSection",691},
- {""}, {""}, {""}, {""}, {""},
- {"unitsConversionOffset",2375},
- {""},
- {"offsetSection4",1566},
- {"julianForecastDay",1072},
- {""},
- {"typeOfSecondFixedSurface",2340},
- {"yearOfAnalysis",2506},
- {""},
- {"param_value_min",1697},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfTimeIncrementsOfForecastsUsedInLocalTime",1508},
- {""},
- {"centralLongitudeInDegrees",405},
{"coordinate4Flag",601},
- {""},
- {"implementationDateOfModelCycle",989},
- {"packingType",1620},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"typeOfAnalysis",2317},
- {"marsExperimentOffset",1252},
- {"startStepInHours",2185},
- {""}, {""}, {""},
- {"numberOfDistinctSection3s",1435},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfValues",1519},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"basicAngleOfTheInitialProductionDomain",340},
{""}, {""}, {""},
+ {"biFourierCoefficients",361},
+ {""}, {""}, {""},
+ {"timeRangeIndicator",2294},
+ {"marsForecastMonth",1256},
+ {"twoOrdersOfSPD",2332},
+ {"centralClusterDefinition",402},
+ {"startOfRange",2192},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfMembersInEnsemble",1469},
+ {"sectionLengthLimitForEnsembles",2092},
{"conceptsLocalDirECMF",575},
- {""}, {""},
- {"reservedNeedNotBePresent",1862},
- {""}, {""},
- {"numberOfMembersInCluster",1463},
{""},
- {"typicalMinute",2356},
- {""}, {""},
- {"isotopeIdentificationNumber",1057},
- {""}, {""},
- {"md5DataSection",1293},
- {""},
- {"section4Pointer",2062},
- {""}, {""}, {""}, {""}, {""},
- {"centuryOfAnalysis",415},
- {""},
- {"outerLoopTypeOfStatisticalProcessing",1613},
- {"isCorrection",1033},
- {""}, {""}, {""}, {""},
- {"totalLength",2287},
- {""}, {""},
- {"selectedMonth",2112},
- {"twoOrdersOfSPD",2315},
- {""}, {""},
- {"nameOfFirstFixedSurface",1373},
- {"latitudeOfFirstGridPoint",1095},
- {"frequencyNumber",901},
- {""}, {""},
- {"numberOfDataMatrices",1428},
- {"lengthIncrementForTheGroupLengths",1129},
- {""}, {""},
- {"hourOfAnalysis",964},
- {""},
- {"md5TimeDomainSection",1308},
- {""},
- {"timeRangeIndicatorFromStepRange",2280},
- {""},
- {"grib1divider",920},
- {""}, {""},
- {"clusterMember6",547},
- {""},
- {"tigge_short_name",2265},
- {""},
- {"shapeOfTheEarth",2124},
- {""}, {""}, {""},
- {"default_max_val",686},
- {""}, {""}, {""},
- {"tileIndex",2267},
- {""},
- {"biFourierSubTruncationType",369},
+ {"predefined_grid_values",1752},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"westernLongitudeOfDomain",2459},
- {""},
- {"simpleThinningMissingRadius",2133},
- {""}, {""}, {""}, {""},
- {"section3Pointer",2057},
- {""}, {""}, {""},
- {"offsetSection3",1565},
- {""},
- {"gridCoordinate",929},
- {""}, {""}, {""},
- {"doExtractDateTime",717},
- {""}, {""}, {""},
- {"quantileValue",1804},
+ {"implementationDateOfModelCycle",990},
+ {"gridCoordinate",930},
{""}, {""},
- {"numberInTheGridCoordinateList",1400},
- {""}, {""}, {""}, {""},
- {"northernLatitudeOfClusterDomain",1390},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"windSpeedTrend4",2479},
- {""}, {""},
- {"stepHumanReadable",2194},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"scanningMode6",2007},
- {""}, {""},
- {"cloudsTitle3Trend4",534},
+ {"spare4",2177},
+ {"nameOfSecondFixedSurface",1379},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"driverInformationBlockAddress",721},
- {"distanceFromTubeToEnsembleMean",713},
- {""}, {""},
- {"referenceValueError",1851},
- {""},
- {"forecastMonth",886},
+ {"versionNumOfRootGroupSymbolTableEntry",2450},
{""}, {""}, {""}, {""}, {""}, {""},
- {"biFourierResolutionSubSetParameterN",368},
- {"expandedAbbreviations",791},
- {"inputExtendedDelayedDescriptorReplicationFactor",1008},
- {""},
- {"DiInMetres",33},
- {""}, {""},
- {"section7",2072},
- {"numberOfChars",1415},
- {""}, {""},
- {"longitudeOfSubSatellitePoint",1224},
+ {"LoVInDegrees",129},
+ {"lengthOfMessage",1134},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"missing_values",1344},
+ {"numberOfDataMatrices",1433},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfAdditionalParameterForReferencePeriod",1943},
- {""}, {""}, {""},
- {"waveFrequencyNumber",2453},
+ {"typeOfAuxiliaryInformation",2335},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section4",2068},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"longitudeOfSubSatellitePointInDegrees",1225},
- {"windDirectionTrend4",2468},
- {""}, {""}, {""},
- {"sampleSizeOfModelClimate",1936},
- {""},
- {"consensusCount",580},
- {""}, {""}, {""},
- {"typeOfFirstFixedSurface",2324},
- {""},
- {"southernLatitudeOfClusterDomain",2157},
- {"tsectionNumber4",2310},
- {""},
- {"projectLocalTemplateNumber",1788},
+ {"julianForecastDay",1073},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"isectionNumber4",1056},
- {"deletePV",693},
- {""}, {""},
- {"cloudsTitle3Trend3",533},
- {""}, {""}, {""},
- {"stepRangeInHours",2197},
+ {"marsExpver",1255},
{""},
- {"numberOfMissing",1465},
- {"cloudsTitle4",535},
- {""}, {""},
- {"md5Section6",1303},
+ {"yDirectionGridLengthInMetres",2521},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"standardParallelInMicrodegrees",2188},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"Yo",285},
+ {"latitudeOfFirstGridPoint",1096},
{""}, {""}, {""}, {""}, {""},
- {"g1conceptsMasterDir",906},
+ {"widthOfLengths",2481},
+ {""},
+ {"g1conceptsMasterDir",907},
+ {""}, {""}, {""},
+ {"Nx",207},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfDistinctSection4s",1441},
+ {""},
+ {"coordinate1Flag",593},
+ {"unitsConversionOffset",2393},
+ {""},
+ {"stepRangeInHours",2207},
+ {"numberOfCategories",1418},
{""}, {""},
- {"scaledValueOfLowerLimit",1985},
+ {"numberOfOctetsExtraDescriptors",1476},
+ {"dateOfAnalysis",655},
+ {""}, {""}, {""},
+ {"timeOfAnalysis",2289},
+ {""}, {""},
+ {"offsetSection7",1576},
+ {"scaleFactorOfDistanceFromEnsembleMean",1954},
+ {""}, {""}, {""},
+ {"dayOfEndOfOverallTimeInterval",668},
+ {""},
+ {"Ncx",195},
{""}, {""}, {""}, {""},
- {"Yp",286},
- {""}, {""}, {""},
- {"latitudeOfStretchingPoleInDegrees",1108},
- {""}, {""}, {""},
- {"dataCategory",635},
- {""}, {""}, {""},
- {"longitudeOfFirstGridPointInDegrees",1211},
- {""}, {""},
- {"section_6",2103},
- {"masterTablesVersionNumber",1280},
- {""},
- {"longitudeOfNorthWestCornerOfArea",1216},
- {""}, {""}, {""},
- {"orderingConvention",1599},
- {"numberOfDistinctSection7s",1439},
- {""},
- {"windSpeedTrend3",2478},
- {""}, {""}, {""}, {""}, {""},
- {"lengthOfTimeRange",1136},
+ {"section10Pointer",2051},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"longitudeOfStretchingPoleInDegrees",1223},
- {""},
- {"radiusInMetres",1808},
+ {"Nux",205},
{""}, {""}, {""},
- {"missingValuesPresent",1341},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"verificationMonth",2425},
- {""},
- {"bufrHeaderCentre",383},
- {"DyInMetres",44},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"LoVInDegrees",130},
- {"local_padding",1198},
- {"typeOfOriginalFieldValues",2332},
- {""}, {""},
- {"expandedCodes",792},
- {""}, {""}, {""}, {""}, {""},
- {"longitudeOfLastGridPointInDegrees",1215},
- {""}, {""}, {""}, {""},
- {"selectedHour",2110},
- {""}, {""},
- {"addExtraLocalSection",301},
+ {"grib3divider",925},
+ {"codedNumberOfFirstOrderPackedValues",559},
{""}, {""}, {""},
- {"yDirectionGridLengthInMetres",2501},
- {"section10Pointer",2042},
- {"windDirectionTrend3",2467},
- {""}, {""},
- {"rdbtimeMinute",1822},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section1Padding",2047},
- {"groupLengths",941},
- {"tsectionNumber3",2309},
- {"localYear",1197},
- {"endDayTrend4",750},
- {""}, {""},
- {"isectionNumber3",1055},
+ {"listOfContributingSpectralBands",1158},
{""}, {""}, {""}, {""},
- {"numberOfCharacters",1414},
+ {"section2Padding",2059},
+ {""}, {""}, {""},
+ {"default_min_val",687},
+ {""}, {""},
+ {"totalNumberOfIterations",2310},
{""}, {""}, {""}, {""},
- {"groupInternalNodeK",939},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section7Pointer",2074},
- {""}, {""},
- {"biFourierCoefficients",362},
- {""}, {""},
- {"epsContinous",786},
+ {"section2Present",2061},
+ {"masterTablesVersionNumber",1282},
+ {""}, {""}, {""},
+ {"quantileValue",1813},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"marsExperimentOffset",1254},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"selectedYear",2114},
- {""}, {""}, {""}, {""}, {""},
- {"verifyingMonth",2427},
{""},
- {"LyInMetres",155},
+ {"scanningModeForOneDiamond",2019},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"yDirectionGridLengthInMillimetres",2522},
+ {"sampleSizeOfModelClimate",1945},
+ {""}, {""}, {""}, {""},
+ {"kurt",1078},
+ {"deleteExtraLocalSection",690},
+ {"section7Pointer",2083},
+ {""}, {""}, {""},
+ {"_numberOfValues",294},
+ {""}, {""},
+ {"nTileAttCombo",1372},
+ {""},
+ {"latitudeOfStretchingPoleInDegrees",1109},
+ {""}, {""}, {""},
+ {"biFourierSubTruncationType",368},
+ {"typeOfSecondFixedSurface",2357},
+ {"masterTablesVersionNumberLatest",1283},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"typeOfOriginalFieldValues",2349},
+ {""}, {""}, {""},
+ {"addExtraLocalSection",300},
+ {"selectedMonth",2121},
+ {""}, {""}, {""},
+ {"lengthIncrementForTheGroupLengths",1130},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsTitle4",534},
+ {""}, {""}, {""},
+ {"patch_precip_fp",1725},
+ {""}, {""}, {""},
+ {"numberOfMissing",1470},
{""}, {""},
{"epsStatisticsContinous",788},
- {""}, {""}, {""},
- {"qnhAPresent",1797},
- {""},
- {"selectedFcIndex",2109},
- {"yDirectionGridLengthInMillimetres",2502},
- {""}, {""}, {""}, {""}, {""},
- {"parametersVersion",1707},
- {""}, {""}, {""}, {""}, {""},
- {"shapeOfVerificationArea",2125},
- {""}, {""}, {""},
- {"widthOfLengths",2461},
- {"predefined_grid_values",1743},
- {"listMembersMissing",1149},
- {""},
- {"numberOfCategories",1413},
{""}, {""},
- {"missing_values",1342},
- {""}, {""}, {""},
- {"timeCoordinateDefinition",2269},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"listOfContributingSpectralBands",1157},
- {""},
- {"md5Product",1296},
- {""}, {""}, {""},
- {"listOfEnsembleForecastNumbers",1159},
- {""},
- {"percentileValue",1720},
- {""}, {""}, {""}, {""},
- {"numberOfDataValues",1431},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"sectionLengthLimitForEnsembles",2083},
- {""}, {""}, {""}, {""},
- {"typeOfAuxiliaryInformation",2318},
- {""}, {""}, {""},
- {"level_value_list",1144},
- {""}, {""}, {""}, {""},
- {"section_06",2092},
- {"numberOfMembersInEnsemble",1464},
- {"primaryMissingValue",1768},
- {""}, {""}, {""},
- {"lengthOfTimeRangeForReferencePeriod",1137},
- {""}, {""}, {""},
- {"numberOfOctetsExtraDescriptors",1471},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"numberOfModeOfDistribution",1468},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"jIncrement",1065},
- {"scaleValuesBy",1971},
- {""}, {""}, {""}, {""}, {""},
- {"matrixOfValues",1288},
- {""}, {""}, {""}, {""},
- {"boot_edition",378},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"southEastLatitudeOfLPOArea",2159},
{""}, {""},
- {"typicalYear",2360},
+ {"hourOfAnalysis",965},
+ {""},
+ {"orderingConvention",1606},
{""}, {""}, {""}, {""}, {""},
- {"reservedSection4",1866},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"forecastMonth",887},
{""}, {""},
- {"table2Version",2232},
+ {"kurtosis",1079},
{""},
- {"extendedFlag",811},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section1Padding",2056},
+ {"groupWidth",945},
{""},
- {"scaleFactorOfPrimeMeridianOffset",1958},
- {""},
- {"M",156},
- {"expandedOriginalCodes",798},
- {""},
- {"expandedOriginalWidths",801},
- {"qualityControl",1800},
- {""}, {""},
- {"latitudeOfIcosahedronPole",1098},
- {""}, {""}, {""}, {""},
- {"averaging2Flag",329},
- {""}, {""},
- {"Experiment_Identifier",55},
- {"bitsPerValue",376},
+ {"outerLoopTypeOfStatisticalProcessing",1620},
{""}, {""}, {""},
- {"totalInitialConditions",2286},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfMissingInStatisticalProcess",1466},
- {"extractSubsetIntervalEnd",844},
- {"runwayDepositState4",1894},
- {"masterTablesVersionNumberLatest",1281},
+ {"timeCoordinateDefinition",2284},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"extractSubsetIntervalStart",845},
- {"expandedOriginalScales",800},
- {""}, {""}, {""},
- {"inputOriginatingCentre",1009},
- {""}, {""},
- {"mAngleMultiplier",1243},
- {""}, {""}, {""},
- {"offsetAfterBitmap",1541},
+ {"DxInDegrees",40},
+ {""}, {""}, {""}, {""}, {""},
+ {"distinctLongitudes",714},
+ {"lengthOfIndexTemplate",1133},
+ {""}, {""}, {""}, {""}, {""},
+ {"isHindcast",1039},
{""},
- {"n2",1367},
- {"extremeClockwiseWindDirection",849},
+ {"iScansNegatively",980},
+ {"numberOfForecastsInEnsemble",1452},
+ {""}, {""}, {""},
+ {"section9Length",2089},
+ {"simpleThinningMissingRadius",2142},
+ {""},
+ {"numberOfLogicals",1467},
+ {"iScansPositively",981},
+ {""}, {""}, {""}, {""}, {""},
+ {"defaultFaModelName",679},
+ {""}, {""},
+ {"yearOfAnalysis",2526},
{""}, {""}, {""}, {""}, {""}, {""},
- {"operationalForecastCluster",1591},
+ {"mAngleMultiplier",1245},
+ {"section8Length",2086},
{""},
- {"section2Pointer",2051},
- {""},
- {"inputProcessIdentifier",1011},
- {"correction1",614},
- {""},
- {"offsetSection7",1569},
- {""},
- {"directionOfVariation",708},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"runwaySideCodeState4",1934},
- {""},
- {"windVariableDirectionTrend4",2489},
- {""},
- {"numberOfTimeRange",1509},
- {"bitMapIndicator",372},
- {"centreLatitudeInDegrees",412},
- {"sp2",2160},
- {""}, {""},
- {"coordinate1End",592},
- {"numberOfTimeRanges",1510},
- {"II",88},
- {"probContinous",1770},
- {""},
- {"numberInTheAuxiliaryArray",1399},
- {""}, {""}, {""},
- {"spare2",2166},
+ {"lengthOfTimeRange",1137},
{""}, {""}, {""}, {""},
- {"numberOfOctectsForNumberOfPoints",1470},
- {""}, {""},
- {"typeOfCalendar",2319},
- {""}, {""},
- {"secondLatitudeInDegrees",2017},
- {""}, {""}, {""},
- {"primaryMissingValueSubstitute",1769},
- {"doSimpleThinning",719},
+ {"typeOfAnalysis",2334},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"consensusCount",580},
{""},
- {"distinctLongitudes",715},
- {""},
- {"LcyInMetres",121},
- {""},
- {"marsStream1",1271},
- {""}, {""},
- {"updateSequenceNumber",2394},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"maxLevelValue",1290},
- {""}, {""}, {""},
- {"spatialSmoothingOfProduct",2170},
- {""},
- {"versionNumberOfExperimentalSuite",2432},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentTrend4",1749},
- {""}, {""},
- {"windVariableDirectionTrend3",2488},
- {""}, {""},
- {"numberOfForecastsInCluster",1446},
- {""},
- {"indicatorOfUnitForForecastTime",1001},
- {"LuyInMetres",151},
- {"typicalCentury",2351},
- {""},
- {"numberOfForecastsInEnsemble",1447},
+ {"longitudeOfLastGridPointInDegrees",1217},
+ {""}, {""}, {""}, {""},
+ {"longitudeOfStretchingPoleInDegrees",1225},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"rectimeMinute",1845},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDepositState3",1893},
- {""}, {""}, {""},
- {"basicAngleOfTheInitialProductionDomain",341},
- {""}, {""}, {""},
- {"selectedMinute",2111},
- {""}, {""}, {""},
- {"section9Length",2080},
+ {"numberOfMissingInStatisticalProcess",1471},
+ {""}, {""},
+ {"numberOfDataValues",1436},
{""},
- {"cloudsTitle3Trend2",532},
+ {"section4Pointer",2071},
+ {""}, {""}, {""}, {""}, {""},
+ {"inputExtendedDelayedDescriptorReplicationFactor",1009},
{""},
- {"section8Length",2077},
+ {"numberOfForecastsInCluster",1451},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"rectimeHour",1844},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfModeOfDistribution",1473},
{""},
- {"unitsBias",2374},
+ {"biFourierResolutionParameterN",365},
+ {"groupInternalNodeK",940},
+ {"timeDomainTemplate",2285},
+ {""},
+ {"indicatorOfUnitForTimeIncrement",1003},
+ {""}, {""},
+ {"doExtractDateTime",716},
+ {""}, {""}, {""},
+ {"southEastLatitudeOfVerficationArea",2160},
+ {""}, {""},
+ {"climateDateTo",437},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Experiment_Identifier",54},
+ {""}, {""}, {""},
+ {"section0Length",2047},
+ {""},
+ {"table2Version",2243},
+ {""}, {""}, {""}, {""},
+ {"section10Length",2050},
+ {"missingValuesPresent",1343},
+ {""},
+ {"jDirectionIncrement",1062},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetSection4",1573},
+ {""}, {""}, {""}, {""}, {""},
+ {"skewness",2154},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudeLongitudeValues",1092},
+ {""},
+ {"expandedCodes",792},
+ {""},
+ {"unknown",2401},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"numberOfTimeRange",1514},
+ {"_leg_number",293},
+ {"sectionLengthLimitForProbability",2093},
+ {""},
+ {"endDayTrend4",749},
+ {""}, {""}, {""}, {""}, {""},
+ {"verificationMonth",2445},
+ {""},
+ {"numberOfTimeRanges",1515},
+ {""},
+ {"timeRangeIndicatorFromStepRange",2295},
+ {"localHour",1180},
+ {""}, {""},
+ {"inputOriginatingCentre",1010},
+ {""},
+ {"frequencyNumber",902},
+ {""}, {""}, {""},
+ {"md5Section9",1308},
+ {""},
+ {"constituentType",584},
+ {"totalLength",2302},
+ {"scaleValuesBy",1980},
+ {""}, {""}, {""},
+ {"lengthOfTimeRangeForReferencePeriod",1138},
+ {"groupWidths",946},
+ {"swapScanningLat",2236},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"LyInMetres",154},
+ {""}, {""}, {""},
+ {"md5Section8",1307},
+ {""}, {""}, {""}, {""},
+ {"DiInMetres",33},
+ {"swapScanningLon",2237},
+ {""},
+ {"nameOfFirstFixedSurface",1378},
+ {""}, {""}, {""},
+ {"keySat",1076},
+ {""}, {""},
+ {"md5Data",1294},
+ {"constituentTypeName",585},
+ {""}, {""},
+ {"upperThreshold",2415},
+ {"lengthOfOriginatorLocalTemplate",1135},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windVariableDirectionTrend4",2509},
+ {""}, {""}, {""}, {""},
+ {"bitsPerValue",375},
+ {""}, {""},
+ {"originatorLocalTemplate",1617},
+ {""}, {""}, {""}, {""}, {""},
+ {"correction2Part",617},
+ {""},
+ {"isSatelliteType",1043},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"numberOfForecastsInTheCluster",1453},
+ {""}, {""}, {""}, {""},
+ {"typeOfCalendar",2336},
+ {""}, {""},
+ {"verifyingMonth",2447},
+ {""},
+ {"jIncrement",1066},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfAdditionalParametersForReferencePeriod",1408},
+ {"epsContinous",786},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfIntervalForFirstAndSecondSize",2345},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"typicalDateTime",2371},
+ {"listOfEnsembleForecastNumbers",1160},
+ {"radiusInMetres",1817},
+ {"referenceOfWidths",1854},
+ {"qualityControl",1809},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"operationalForecastCluster",1598},
+ {""}, {""}, {""}, {""}, {""},
+ {"sphericalHarmonics",2184},
+ {""},
+ {"listMembersMissing",1150},
+ {"windSpeedTrend4",2499},
+ {"longitudeOfFirstGridPointInDegrees",1213},
+ {""}, {""}, {""},
+ {"keyData",1074},
+ {""},
+ {"doSimpleThinning",718},
+ {"primaryMissingValue",1777},
+ {"skew",2153},
+ {""}, {""}, {""}, {""}, {""},
+ {"waveFrequencyNumber",2473},
+ {""},
+ {"numberOfParallelsBetweenAPoleAndTheEquator",1479},
+ {""},
+ {"typicalMinute",2374},
+ {""}, {""}, {""}, {""},
+ {"probContinous",1779},
+ {""},
+ {"reservedSection4",1875},
+ {"numberOfDistinctSection6s",1443},
+ {""},
+ {"coordinate3Flag",598},
+ {""}, {""}, {""}, {""}, {""},
+ {"minuteOfModelVersion",1334},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfComponents",1428},
+ {"secondOfModelVersion",2030},
+ {""}, {""},
+ {"totalInitialConditions",2301},
+ {""}, {""}, {""}, {""}, {""},
+ {"typicalHour",2373},
+ {""}, {""}, {""}, {""},
+ {"rdbtimeMinute",1831},
+ {""}, {""}, {""},
+ {"grib2LocalSectionPresent",923},
+ {""},
+ {"attributeOfTile",324},
+ {""},
+ {"section3Padding",2065},
+ {""}, {""},
+ {"md5Structure",1309},
+ {""}, {""}, {""},
+ {"typeOfIntervalForFirstAndSecondWavelength",2346},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"biFourierResolutionSubSetParameterN",367},
+ {"correction1",614},
+ {""}, {""}, {""},
+ {"spatialSmoothingOfProduct",2179},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"rdbtimeHour",1830},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"packingType",1627},
+ {"DyInMetres",44},
+ {"grib2LocalSectionNumber",922},
+ {""},
+ {"selectedFcIndex",2118},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"bitMapIndicator",371},
+ {""},
+ {"frequencyScalingFactor",903},
+ {""},
+ {"gts_TTAAii",948},
+ {"totalTileAttCombo",2320},
+ {""}, {""},
+ {"typeOfFirstFixedSurface",2341},
+ {""}, {""}, {""},
+ {"reservedNeedNotBePresent",1871},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"marsStream1",1273},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"lowerThreshold",1239},
+ {""}, {""},
+ {"windDirectionTrend4",2488},
+ {""}, {""}, {""}, {""},
+ {"combinationOfAttributesOfTile",564},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfOctectsForNumberOfPoints",1475},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"SecondOfModelVersion",230},
+ {"groupLengths",942},
+ {""}, {""},
+ {"inputProcessIdentifier",1012},
+ {""}, {""}, {""}, {""},
+ {"monthOfModelVersion",1360},
+ {""}, {""}, {""},
+ {"expandedOriginalCodes",798},
+ {"extremeClockwiseWindDirection",849},
+ {"expandedOriginalWidths",801},
+ {"resolutionAndComponentFlags",1877},
+ {""}, {""}, {""},
+ {"ijDirectionIncrementGiven",989},
+ {""},
+ {"primaryMissingValueSubstitute",1778},
+ {"tileIndex",2281},
+ {"matrixOfValues",1290},
+ {"LcyInMetres",120},
+ {""}, {""},
+ {"startOfHeaders",2190},
+ {""},
+ {"centreLatitudeInDegrees",411},
+ {"monthlyVerificationMonth",1364},
+ {""}, {""}, {""}, {""}, {""},
+ {"section_10",2106},
+ {""}, {""}, {""}, {""}, {""},
+ {"LuyInMetres",150},
+ {""}, {""}, {""}, {""},
+ {"maxLevelValue",1292},
+ {""}, {""}, {""},
+ {"extractedAreaNumberOfSubsets",847},
+ {""}, {""}, {""},
+ {"Lar2InDegrees",111},
+ {""}, {""}, {""},
+ {"secondLatitudeInDegrees",2026},
+ {"resolutionAndComponentFlags8",1884},
+ {""}, {""},
+ {"section2Pointer",2060},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"forecastOrSingularVectorNumber",888},
+ {""}, {""}, {""},
+ {"coordAveragingTims",591},
+ {"Lor2InDegrees",146},
+ {""}, {""},
+ {"is_ocean2d_param",1052},
+ {""}, {""},
+ {"expandedOriginalScales",800},
+ {""},
+ {"latitudeOfNorthWestCornerOfArea",1102},
+ {"longitudeOfNorthWestCornerOfArea",1218},
+ {"firstDimensionCoordinateValueDefinition",869},
+ {""}, {""}, {""}, {""}, {""},
+ {"extendedFlag",811},
+ {""}, {""}, {""}, {""},
+ {"typeOfHorizontalLine",2344},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"M",155},
+ {""}, {""},
+ {"extractSubsetIntervalEnd",844},
+ {""},
+ {"radiusOfCentralCluster",1818},
+ {""}, {""}, {""}, {""},
+ {"section6Pointer",2079},
+ {""},
+ {"extractSubsetIntervalStart",845},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"listOfParametersUsedForClustering",1162},
+ {""}, {""}, {""},
+ {"scaledValueOfAdditionalParameterForReferencePeriod",1983},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"unitsConversionScaleFactor",2394},
+ {""}, {""}, {""}, {""}, {""},
+ {"coordAveraging0",587},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongXAxis",1490},
+ {""},
+ {"n2",1369},
{""},
{"expandedOriginalReferences",799},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"monthlyVerificationMonth",1362},
+ {"dataCategory",635},
+ {"latitudeOfIcosahedronPole",1099},
+ {"stepForClustering",2203},
{""}, {""}, {""},
- {"lengthOfOriginatorLocalTemplate",1134},
- {""},
- {"mars_labeling",1276},
+ {"numberOfCoordinatesValues",1431},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"averaging2Flag",328},
{""}, {""}, {""},
- {"totalNumberOfDataValuesMissingInStatisticalProcess",2290},
- {"secondOfModelVersion",2021},
- {""}, {""},
- {"runwaySideCodeState3",1933},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"formatVersionMajorNumber",897},
- {""}, {""}, {""}, {""}, {""},
- {"latitudeLongitudeValues",1091},
- {""}, {""},
- {"minuteOfModelVersion",1332},
- {"backgroundProcess",334},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"YR",281},
- {""}, {""}, {""},
- {"numberOfLogicals",1462},
- {""},
- {"jDirectionIncrement",1061},
- {""}, {""}, {""},
- {"groupWidth",944},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"timeDomainTemplate",2270},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"resolutionAndComponentFlags",1868},
- {""}, {""}, {""}, {""},
- {"stepInHours",2195},
- {"constituentType",584},
- {""},
- {"dummy2",724},
- {"rdbtimeYear",1826},
- {"presentTrend3",1748},
- {"swapScanningLat",2225},
- {"frequencyScalingFactor",902},
- {""}, {""},
- {"climateDateTo",438},
- {""}, {""},
- {"resolutionAndComponentFlags8",1875},
- {""}, {""}, {""},
- {"swapScanningLon",2226},
- {""}, {""}, {""},
- {"shortNameECMF",2127},
- {"indicatorOfUnitForTimeRange",1003},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Lar2InDegrees",112},
+ {"Lar1InDegrees",109},
+ {"sp2",2169},
{""}, {""}, {""}, {""}, {""}, {""},
- {"uerraLocalVersion",2365},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Lor2InDegrees",147},
- {""}, {""},
- {"yCoordinateOfSubSatellitePoint",2499},
- {"typeOfIntervalForFirstAndSecondSize",2328},
- {"isSatelliteType",1042},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"primaryBitmap",1767},
+ {"section1Pointer",2057},
{""},
- {"marsType2",1275},
- {"reserved2",1860},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"monthOfModelVersion",1358},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"variationOfVisibilityDirection",2413},
- {""}, {""}, {""}, {""}, {""},
- {"variationOfVisibilityDirectionAngle",2414},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfForecastsInTheCluster",1448},
+ {"scaleFactorOfPrimeMeridianOffset",1967},
+ {"lengthOfHeaders",1132},
{""}, {""},
- {"stepForClustering",2193},
+ {"spare2",2175},
+ {""},
+ {"yCoordinateOfSubSatellitePoint",2519},
+ {"La2",102},
+ {""}, {""},
+ {"constantFieldHalfByte",583},
+ {"Lor1InDegrees",144},
+ {""},
+ {"Lar2",110},
{""}, {""}, {""},
- {"SecondOfModelVersion",231},
- {""}, {""}, {""},
- {"constituentTypeName",585},
- {"yearOfCentury",2507},
- {""}, {""},
- {"cloudsTitle1",520},
- {""}, {""}, {""}, {""},
- {"originatorLocalTemplate",1610},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"groupWidths",945},
- {""},
- {"La2",103},
- {""},
- {"section0Length",2038},
- {""},
- {"Lar2",111},
- {""}, {""}, {""}, {""},
{"conceptsDir1",572},
- {""},
- {"tiggeLocalVersion",2260},
- {"Latin2",116},
- {""}, {""},
- {"Lo2",126},
- {"localExtensionPadding",1175},
- {""}, {""},
- {"Lor2",146},
- {""}, {""},
- {"variationOfVisibility",2412},
- {"typicalDateTime",2353},
+ {"md5TimeDomainSection",1310},
+ {""}, {""}, {""}, {""}, {""},
+ {"Latin2",115},
{""}, {""}, {""},
- {"listOfParametersUsedForClustering",1161},
- {""}, {""}, {""},
- {"marsGrid",1255},
- {""}, {""}, {""},
- {"isGridded",1037},
- {"La2InDegrees",104},
- {"radiusOfCentralCluster",1809},
+ {"Lo2",125},
{""}, {""},
- {"legBaseTime",1125},
+ {"azimuthalWidth",331},
+ {""}, {""},
+ {"Lor2",145},
{""}, {""}, {""}, {""},
- {"gribDataQualityChecks",925},
+ {"numberInTheAuxiliaryArray",1404},
+ {""},
+ {"cloudsTitle1",519},
+ {""}, {""}, {""}, {""},
+ {"numberOfColumns",1427},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"tsectionNumber4",2327},
+ {""},
+ {"windVariableDirectionTrend2",2507},
+ {""},
+ {"isectionNumber4",1057},
+ {""}, {""}, {""},
+ {"numberOfCodedValues",1424},
+ {""},
+ {"md5DataSection",1295},
{""}, {""}, {""}, {""}, {""},
- {"Lo2InDegrees",127},
+ {"II",87},
+ {"La2InDegrees",103},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"doExtractArea",715},
+ {""}, {""}, {""},
+ {"Lo2InDegrees",126},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"typeOfIntervalForFirstAndSecondWavelength",2329},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"averaging1Flag",328},
- {"firstOrderValues",875},
- {"section3Flags",2054},
- {""}, {""}, {""},
- {"cloudsTitle1Trend4",524},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"halfByte",950},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"default_min_val",687},
- {""},
- {"coordinate2Start",597},
- {""}, {""}, {""},
- {"southEastLatitudeOfVerficationArea",2151},
- {""},
- {"endDayTrend1",747},
+ {"formatVersionMajorNumber",898},
+ {"originatingCentreOfAnalysis",1615},
{""}, {""},
- {"diffInHours",702},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondOrderValuesDifferentWidths",2025},
+ {"shapeOfTheEarth",2133},
+ {""}, {""}, {""},
+ {"averaging1Flag",327},
{""}, {""}, {""}, {""}, {""},
- {"numberOfComponents",1423},
- {"coordinate2Flag",596},
- {"section1Pointer",2048},
+ {"tiggeLAMName",2270},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"XRInMetres",272},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfDistanceFromEnsembleMean",1985},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"section6",2077},
+ {""}, {""}, {""}, {""},
+ {"numberOfDistinctSection3s",1440},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"updateSequenceNumber",2412},
+ {""}, {""},
+ {"baseTimeEPS",338},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"swapScanningX",2238},
+ {""}, {""}, {""}, {""}, {""},
+ {"windVariableDirectionTrend1",2506},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"stepUnits",2211},
+ {""}, {""}, {""}, {""}, {""},
+ {"La1InDegrees",101},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"longitudeOfFirstDiamondCenterLine",1209},
+ {""},
+ {"longitudeOfFirstDiamondCentreLine",1210},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Lo1InDegrees",124},
+ {""},
+ {"typicalCentury",2369},
+ {""}, {""}, {""}, {""}, {""},
+ {"selectedMinute",2120},
+ {""}, {""},
+ {"presentTrend4",1758},
+ {""},
+ {"longitudeOfFirstDiamondCentreLineInDegrees",1211},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudeOfSouthernPoleInDegrees",1107},
+ {""},
+ {"sp1",2168},
+ {""},
+ {"dummy2",723},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"spare1",2174},
+ {""}, {""},
+ {"La1",100},
+ {""}, {""}, {""}, {""}, {""},
+ {"Lar1",108},
+ {""}, {""}, {""},
+ {"xDirectionGridLengthInMetres",2514},
+ {""},
+ {"yearOfCentury",2527},
+ {""}, {""}, {""}, {""},
+ {"Latin1",113},
+ {""},
+ {"bufrHeaderCentre",382},
+ {""},
+ {"Lo1",123},
+ {""},
+ {"endDayTrend1",746},
+ {""}, {""},
+ {"scaleFactorOfLengthOfSemiMinorAxis",1962},
+ {"Lor1",143},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"section1",2049},
+ {""}, {""},
+ {"fileConsistencyFlags",866},
+ {"marsGrid",1257},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"LLCOSP",98},
+ {""},
+ {"secondOrderOfDifferentWidth",2033},
+ {"backgroundProcess",333},
+ {""},
+ {"isGridded",1038},
+ {""}, {""}, {""},
+ {"stepHumanReadable",2204},
+ {""}, {""}, {""},
+ {"reserved2",1869},
+ {""}, {""},
+ {"numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction",1425},
+ {"numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction",1426},
+ {""},
+ {"marsType2",1277},
+ {"X2",269},
+ {""}, {""},
+ {"runwayDepositState4",1903},
+ {""}, {""},
+ {"baseDateEPS",336},
+ {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfWaveDirections",1977},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfWaveDirectionSequenceParameter",1976},
+ {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfWaveFrequencies",1978},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfWavePeriodInterval",2367},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"totalNumberOfValuesInUnpackedSubset",2316},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"verticalVisibilityCoded",2461},
+ {"cloudsTitle4Trend4",538},
+ {""}, {""},
+ {"shortNameECMF",2136},
{""}, {""}, {""},
{"compressedData",568},
+ {""}, {""}, {""},
+ {"runwaySideCodeState4",1943},
+ {"latitudeOfSubSatellitePoint",1110},
+ {""},
+ {"md5Product",1298},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfWaveFrequencies",1532},
+ {"indicatorOfTypeOfLevel",1001},
+ {"xDirectionGridLengthInMillimetres",2515},
+ {""}, {""}, {""},
+ {"totalNumberOfDataValuesMissingInStatisticalProcess",2305},
+ {"timeDomainTemplateNumber",2286},
+ {"numberOfWaveDirections",1531},
+ {"windUnits",2500},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ls_labeling",1241},
+ {""},
+ {"unitsBias",2392},
+ {""}, {""},
+ {"typeOfEnsembleMember",2340},
+ {""}, {""},
+ {"section3Pointer",2066},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"numberOfRepresentativeMember",1502},
+ {""}, {""}, {""}, {""},
+ {"is_ocean3d_param",1053},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section10Length",2041},
+ {"localExtensionPadding",1177},
+ {""},
+ {"latitudeOfCentralPointInClusterDomain",1093},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section_7",2113},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetSection2",1571},
+ {""},
+ {"reducedGrid",1847},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"longitudeOfFirstDiamondCenterLine",1207},
+ {"wrongPadding",2510},
{""},
- {"longitudeOfFirstDiamondCentreLine",1208},
- {"cloudsTitle1Trend3",523},
- {""}, {""}, {""},
- {"doExtractSubsets",718},
- {"secondaryBitmap",2028},
- {"centreForTable2",410},
- {""}, {""}, {""}, {""},
- {"extractedAreaNumberOfSubsets",847},
- {""},
- {"sectionLengthLimitForProbability",2084},
- {"longitudeOfFirstDiamondCentreLineInDegrees",1209},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"totalNumberOfValuesInUnpackedSubset",2300},
- {"fileConsistencyFlags",866},
- {""},
- {"numberOfColumns",1422},
- {""}, {""}, {""}, {""},
- {"legBaseDate",1124},
+ {"normAtFinalTime",1386},
+ {""}, {""},
+ {"dummy1",722},
+ {""}, {""},
+ {"scaleFactorOfSecondWavelength",1971},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"indicatorOfUnitForTimeRangeForReferencePeriod",1004},
- {""},
- {"offsetSection2",1564},
- {"unpackedSubsetPrecision",2386},
- {""}, {""}, {""},
- {"scaledValueOfDistanceFromEnsembleMean",1976},
- {""}, {""},
- {"is_ocean3d_param",1052},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"firstDimensionCoordinateValueDefinition",869},
- {""},
- {"ijDirectionIncrementGiven",988},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"N2",174},
- {""},
- {"forecastOrSingularVectorNumber",887},
- {"reducedGrid",1838},
- {""}, {""},
- {"unitsConversionScaleFactor",2376},
- {"grib2LocalSectionPresent",922},
- {""}, {""},
- {"cloudsTitle3Trend1",531},
- {""}, {""},
- {"monthOfForecastUsedInLocalTime",1357},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"realPartOf00",1828},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"GTSstr",79},
- {""}, {""},
- {"windGust",2469},
- {""}, {""},
- {"rangeBinSpacing",1813},
{""}, {""}, {""}, {""}, {""},
- {"windVariableDirectionTrend2",2487},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"typeOfEnsembleMember",2323},
- {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfLengthOfSemiMinorAxis",1953},
- {""},
- {"integerPointValues",1016},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondaryBitmapPresent",2029},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"grib2LocalSectionNumber",921},
- {""}, {""},
- {"localFlagLatestVersion",1177},
- {"numberOfParallelsBetweenAPoleAndTheEquator",1474},
- {""}, {""},
- {"componentIndex",567},
- {""}, {""}, {""}, {""},
- {"DxInMetres",41},
- {""}, {""}, {""}, {""},
- {"upperThresholdValue",2398},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
+ {"integerPointValues",1017},
{"DjInDegrees",36},
- {""},
- {"BufrTemplate",19},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"localTablesVersion",1191},
- {""}, {""},
- {"xDirectionGridLengthInMetres",2494},
- {"windSpeedTrend2",2477},
- {""}, {""}, {""}, {""}, {""},
- {"Lar1InDegrees",110},
- {""}, {""}, {""},
- {"missingValueManagement",1339},
- {"attributeOfTile",325},
{""}, {""}, {""}, {""},
- {"NrInRadiusOfEarthScaled",203},
- {"numberOfAdditionalParametersForReferencePeriod",1403},
- {""}, {""}, {""},
- {"Lor1InDegrees",145},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"secondaryBitmaps",2030},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfDistinctSection5s",1437},
- {""}, {""},
- {"latitudeOfSouthernPoleInDegrees",1106},
- {""},
- {"offsetBSection9",1549},
- {""},
- {"subSetM",2219},
- {""},
- {"cloudsCode3",510},
- {""}, {""},
- {"cloudsTitle4Trend4",539},
- {"coordAveragingTims",591},
- {""}, {""},
- {"GTS",78},
- {"LxInMetres",153},
- {""}, {""},
- {"biFourierResolutionParameterM",365},
- {"section6Length",2069},
- {""},
- {"windDirectionTrend2",2466},
- {""}, {""}, {""},
- {"xDirectionGridLengthInMillimetres",2495},
- {"latitudeOfSubSatellitePoint",1109},
- {""},
- {"lowerThresholdValue",1238},
+ {"subSetM",2230},
{""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeOfCentralPointInClusterDomain",1092},
- {""},
- {"NrInRadiusOfEarth",202},
- {""},
- {"isectionNumber2",1054},
- {""}, {""}, {""}, {""},
- {"wrongPadding",2490},
- {""}, {""}, {""}, {""},
{"flagForIrregularGridCoordinateList",879},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"GTSstr",78},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"conceptsMasterMarsDir",578},
- {""}, {""},
- {"isRotatedGrid",1040},
- {"secondaryBitmapsCount",2031},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsTitle4Trend3",538},
- {""},
- {"md5Section7",1304},
- {""},
- {"scaledValueOfAdditionalParameterForReferencePeriod",1974},
- {""},
- {"tiggeLAMName",2259},
- {"La1InDegrees",102},
- {""}, {""}, {""}, {""}, {""},
- {"dayOfTheYearDate",674},
- {""}, {""}, {""}, {""},
- {"earthMinorAxisInMetres",732},
- {""},
- {"packedValues",1618},
- {""},
- {"Lo1InDegrees",125},
- {"section5Pointer",2066},
- {""}, {""}, {""}, {""}, {""},
- {"DiGiven",31},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"thisMarsClass",2251},
- {"instrumentType",1015},
- {""},
- {"listMembersUsed",1153},
- {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfWaveDirections",1968},
- {""}, {""}, {""},
- {"_numberOfValues",295},
- {""}, {""},
- {"timeDomainTemplateNumber",2271},
- {""}, {""},
- {"meanRVR4",1312},
- {""},
- {"doExtractArea",716},
- {"scaleFactorOfWaveDirectionSequenceParameter",1967},
- {""}, {""},
- {"indicatorOfTypeOfLevel",1000},
- {"monthOfEndOfOverallTimeInterval",1355},
- {""},
- {"southEastLatitudeOfLPOArea",2150},
- {"latitudeOfFirstGridPointInDegrees",1096},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfWaveFrequencies",1969},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"indexedStorageInternalNodeK",993},
- {""}, {""},
- {"offsetBeforeData",1551},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfRepresentativeMember",1497},
- {""}, {""}, {""}, {""},
- {"AA",6},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"jScansNegatively",1067},
- {""}, {""},
- {"firstDimensionPhysicalSignificance",870},
- {""},
- {"baseTimeEPS",339},
- {"typeOfGrid",2326},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"sp1",2159},
- {""},
- {"sizeOfLength",2140},
- {"P2",215},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"spare1",2165},
- {""}, {""},
- {"originatingCentreOfAnalysis",1608},
- {"unstructuredGrid",2389},
- {""}, {""}, {""}, {""},
- {"remarkPresent",1853},
+ {"cloudsTitle1Trend4",523},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"correction2",616},
{""}, {""}, {""},
- {"unstructuredGridType",2391},
- {"secondOfEndOfOverallTimeInterval",2018},
- {"experimentVersionNumber",805},
+ {"scaleFactorOfWaveFrequencySequenceParameter",1979},
+ {"endStepUnit",773},
+ {"originatorLocalTemplateNumber",1618},
+ {"centreForTable2",409},
{""}, {""},
- {"originatorLocalTemplateNumber",1611},
- {""}, {""},
- {"section1",2040},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfCoordinatesValues",1426},
+ {"reserved1",1868},
+ {""},
+ {"pressureUnits",1775},
+ {""},
+ {"offsetSection6",1575},
+ {""},
+ {"marsType1",1276},
+ {"X1",267},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"minuteOfEndOfOverallTimeInterval",1329},
- {"meanRVR3",1311},
- {""},
- {"earthMajorAxis",729},
- {""}, {""},
- {"verticalVisibilityCoded",2441},
- {""},
- {"cloudsTitle1Trend2",522},
- {""}, {""},
- {"numberOfClusters",1418},
- {""},
- {"scaleFactorOfWaveFrequencySequenceParameter",1970},
- {""},
- {"yearOfEndOfOverallTimeInterval",2508},
- {""}, {""}, {""},
- {"secondOrderOfDifferentWidth",2024},
+ {"windGust",2489},
{""}, {""}, {""}, {""}, {""},
- {"deleteCalendarId",690},
- {""}, {""}, {""}, {""},
- {"marsStream2",1272},
- {""}, {""}, {""}, {""}, {""},
- {"offsetEndSection4",1555},
- {""}, {""}, {""}, {""},
- {"numberOfCodedValues",1419},
+ {"sizeOfLength",2149},
{""},
- {"stepUnits",2201},
+ {"section_07",2102},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windVariableDirectionTrend3",2508},
{""}, {""},
- {"LcxInMetres",119},
- {""}, {""}, {""}, {""}, {""},
- {"typeOfWavePeriodInterval",2349},
- {""},
- {"longitudeOfSouthEastCornerOfArea",1219},
- {""},
- {"coordAveraging0",587},
- {"unpackedError",2385},
+ {"clusterMember10",541},
{""}, {""},
- {"subDefinitions2",2210},
- {""}, {""}, {""}, {""},
- {"packingError",1619},
+ {"gribDataQualityChecks",926},
+ {""}, {""},
+ {"southEastLongitudeOfVerficationArea",2162},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"thisMarsClass",2262},
{""},
- {"is_ocean2d_param",1051},
- {""}, {""}, {""},
- {"windVariableDirectionTrend1",2486},
- {""},
- {"baseDateEPS",337},
- {""},
- {"keyMore",1074},
- {""}, {""}, {""},
- {"gribTablesVersionNo",927},
- {""}, {""}, {""},
- {"endOfMessage",769},
- {"biFourierResolutionSubSetParameterM",367},
- {"LuxInMetres",149},
+ {"missingValueManagement",1341},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"rootTablesDir",1879},
- {""}, {""},
- {"beginDayTrend4",345},
- {""},
- {"runwayFrictionCoefficientState4",1930},
- {""}, {""}, {""},
- {"hourOfEndOfOverallTimeInterval",965},
- {"heightPressureEtcOfLevels",955},
+ {"primaryBitmap",1776},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"postAuxiliaryArrayPresent",1744},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GTS",77},
+ {""}, {""},
+ {"windSpeedTrend2",2497},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
{"flagForAnyFurtherInformation",878},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeOfNorthWestCornerOfArea",1101},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"dummy1",723},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfSecondWavelength",1962},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"secondaryMissingValue",2033},
- {""}, {""}, {""},
- {"endStepInHours",773},
- {""}, {""}, {""},
- {"runwayDepositState2",1892},
- {""}, {""}, {""},
- {"theHindcastMarsStream",2248},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayFrictionCoefficientState3",1929},
- {"verificationYear",2426},
- {""}, {""}, {""}, {""}, {""},
- {"oceanAtmosphereCoupling",1536},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"yCoordinateOfOriginOfSectorImage",2498},
- {""},
- {"marsType1",1274},
- {"reserved1",1859},
- {""}, {""}, {""}, {""},
- {"clusterMember10",542},
- {""}, {""}, {""}, {""},
- {"windUnits",2480},
- {""},
- {"scaledValueOfPrimeMeridianOffset",1989},
- {""}, {""},
- {"southEastLongitudeOfVerficationArea",2153},
- {"md5Section3",1300},
- {""}, {""},
- {"formatVersionMinorNumber",898},
- {""},
- {"identificationOfOriginatingGeneratingCentre",983},
- {""},
- {"runwaySideCodeState2",1932},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudinalDirectionGridLength",1121},
- {"totalNumberOfClusters",2289},
- {""}, {""}, {""}, {""},
- {"clusterMember4",545},
- {"bufrdcExpandedDescriptors",386},
- {""}, {""},
- {"beginDayTrend3",344},
- {""}, {""}, {""}, {""}, {""},
- {"jScansPositively",1068},
- {""}, {""},
- {"La1",101},
- {""}, {""}, {""},
- {"Lar1",109},
- {""}, {""}, {""}, {""},
- {"xCoordinateOfSubSatellitePoint",2492},
- {""}, {""},
- {"Latin1",114},
- {""}, {""},
- {"Lo1",124},
- {""}, {""}, {""},
- {"Lor1",144},
- {""}, {""}, {""}, {""}, {""},
- {"versionOfModelClimate",2435},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"presentTrend2",1747},
- {""}, {""}, {""}, {""},
- {"definitionFilesVersion",689},
- {"patch_precip_fp",1716},
- {"endOfHeadersMarker",767},
- {"cavokOrVisibility",392},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsTitle2",525},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LLCOSP",99},
- {"Dj",34},
- {""},
- {"default_step_units",688},
- {""}, {""}, {""},
- {"scanningMode4",2005},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"conceptsDir2",573},
- {"pastTendencyRVR3",1714},
- {"azimuthalWidth",332},
- {""}, {""}, {""},
- {"numberOfCoefficientsOrValuesUsedToSpecifyFirstDimensionCoordinateFunction",1420},
- {"numberOfCoefficientsOrValuesUsedToSpecifySecondDimensionCoordinateFunction",1421},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"indicatorOfUnitForTimeIncrement",1002},
- {""}, {""},
- {"endMinuteTrend4",761},
- {"numberOfPointsInDomain",1489},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"centralLongitudeInMicrodegrees",406},
- {""}, {""}, {""}, {""},
- {"cloudsTitle4Trend2",537},
- {"pressureUnits",1766},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"tiggeSuiteID",2263},
- {""},
- {"tablesLocalDir",2236},
- {""}, {""}, {""},
- {"localTablesVersionNumber",1192},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"gaussianGridName",908},
- {"clusterMember3",544},
- {""}, {""},
- {"southPoleOnProjectionPlane",2156},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfWaveFrequencies",1525},
- {"section_10",2097},
- {""},
- {"md5Headers",1295},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"NC",177},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section1Flags",2045},
- {""},
- {"subLocalDefinition2",2212},
- {""}, {""},
- {"thisExperimentVersionNumber",2250},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"endDayTrend2",748},
- {""}, {""}, {""}, {""},
- {"section_4",2101},
- {""}, {""},
- {"expandBy",790},
- {""},
- {"scaleFactorOfFirstWavelength",1951},
- {""}, {""},
- {"getNumberOfValues",916},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"latitudeOfFirstGridPointInDegrees",1097},
+ {"numberOfClusters",1423},
+ {""},
+ {"correction3",618},
+ {"doExtractSubsets",717},
{""}, {""}, {""},
- {"offsetSection1",1561},
+ {"earthMajorAxis",728},
+ {""}, {""}, {""},
+ {"earthMinorAxisInMetres",731},
+ {"legBaseTime",1126},
{""},
- {"numberOfWaveDirections",1524},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"coordinate2End",595},
- {"sourceOfGridDefinition",2148},
- {""}, {""}, {""}, {""},
- {"endMinuteTrend3",760},
- {""}, {""},
- {"cloudsTitle1Trend1",521},
- {"extractDateTimeYearStart",842},
- {""}, {""},
- {"LIMITS",98},
- {""},
- {"kindOfProduct",1076},
- {"rootGroupObjectHeaderAddress",1877},
- {""}, {""},
- {"N1",173},
- {""},
- {"SOH",228},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"TIDE",238},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"typicalMonth",2357},
- {"numberOfClusterLowResolution",1417},
- {""}, {""}, {""}, {""},
- {"unstructuredGridSubtype",2390},
- {"numberOfBits",1405},
- {"resolutionAndComponentFlags6",1873},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"flagShowingPostAuxiliaryArrayInUse",881},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"offsetSection1",1568},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section_3",2100},
- {""}, {""}, {""},
- {"spaceUnitFlag",2162},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"longitudeOfTangencyPoint",1226},
- {""}, {""}, {""},
- {"P_INST",219},
- {"unpackedValues",2387},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberIncludedInAverage",1401},
- {""}, {""}, {""}, {""},
- {"inputShortDelayedDescriptorReplicationFactor",1012},
- {"NH",184},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"param_value_max",1696},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"windSpeedTrend1",2476},
- {""}, {""}, {""},
- {"reservedSection2",1864},
- {""},
- {"_leg_number",294},
- {""}, {""}, {""},
- {"monthlyVerificationYear",1364},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"typeOfReferenceDataset",2337},
- {"Nj",200},
- {""}, {""},
- {"preBitmapValues",1738},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"section_04",2090},
- {""},
- {"selectStepTemplateInstant",2106},
- {""}, {""},
- {"typeOfPacking",2333},
- {""}, {""},
- {"section4Length",2060},
+ {"LxInMetres",152},
{""}, {""}, {""}, {""}, {""},
- {"coordinateFlag2",605},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"clusteringDomain",553},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ls_labeling",1239},
- {""},
- {"windDirectionTrend1",2465},
+ {"offsetEndSection4",1562},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"totalNumberOfWaveDirections",2301},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"longitudeOfCentralPointInClusterDomain",1204},
- {"secondaryBitmapsSize",2032},
- {"cfVarNameECMF",422},
- {""}, {""}, {""},
- {"runwayFrictionCoefficientState2",1928},
- {""},
- {"localLatitude2",1181},
- {""}, {""}, {""}, {""}, {""},
- {"GDSPresent",68},
{""}, {""},
- {"totalNumberOfWaveFrequencies",2302},
- {"unitOfTimeRange",2372},
+ {"spaceUnitFlag",2171},
+ {"numberOfPointsAlongASide",1485},
+ {""}, {""},
+ {"deleteCalendarId",689},
+ {"thisExperimentVersionNumber",2261},
+ {""}, {""},
+ {"biFourierResolutionParameterM",364},
+ {""}, {""},
+ {"unitOfTimeRange",2390},
+ {""},
+ {"endOfMessage",768},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"unstructuredGrid",2407},
{""}, {""}, {""},
- {"falseEasting",859},
- {""}, {""}, {""}, {""},
- {"section3Length",2055},
- {"extractAreaEastLongitude",817},
- {"numberOfHorizontalPoints",1456},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongAMeridian",1483},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"jDirectionIncrementInDegrees",1064},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"section5",2064},
- {"NUT",192},
- {"XRInMetres",273},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"upperThresholdValue",2416},
{""}, {""}, {""},
- {"runwayDesignatorState4",1910},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"postAuxiliaryArrayPresent",1735},
- {""}, {""}, {""}, {""},
- {"variationOfVisibilityTrend4",2422},
- {"observationType",1533},
- {"section_03",2089},
- {""}, {""}, {""}, {""},
- {"scaleFactorOfCentralWaveNumber",1944},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondaryMissingValueSubstitute",2034},
+ {"section_4",2110},
{""}, {""},
- {"normAtFinalTime",1381},
- {""}, {""}, {""}, {""},
- {"cloudsTitle4Trend1",536},
+ {"halfByte",951},
+ {""}, {""},
+ {"monthOfEndOfOverallTimeInterval",1357},
+ {"unstructuredGridType",2409},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"rdbtimeMonth",1823},
- {""},
- {"jPointsAreConsecutive",1066},
- {""}, {""}, {""}, {""},
- {"longitudeOfReferencePoint",1217},
+ {"instrumentType",1016},
{""}, {""}, {""}, {""}, {""},
- {"numberOfDataBinsAlongRadials",1427},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"endGridDefinition",752},
- {""}, {""}, {""}, {""},
- {"unexpandedDescriptors",2367},
+ {"scaleFactorOfFirstWavelength",1960},
{""},
- {"longitudeOfTheSouthernPoleOfProjection",1230},
+ {"northWestLatitudeOfLPOArea",1391},
{""}, {""}, {""},
- {"runwayDesignatorState3",1909},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"variationOfVisibilityDirectionTrend4",2418},
- {""}, {""}, {""},
- {"variationOfVisibilityTrend3",2421},
- {""}, {""}, {""}, {""},
- {"cloudsTitle2Trend4",529},
- {""}, {""}, {""}, {""},
- {"longitudeOfSouthernPole",1220},
+ {"windDirectionTrend2",2486},
+ {""}, {""},
+ {"bufrdcExpandedDescriptors",385},
{""},
- {"P1",214},
+ {"indexedStorageInternalNodeK",994},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"subLocalDefinitionLength2",2214},
- {""},
- {"easternLongitudeOfClusterDomain",735},
- {""},
- {"startDateOfReferencePeriod",2180},
- {""}, {""},
- {"extractAreaNorthLatitude",820},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"HDF5str",81},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"scaledValueOfLengthOfSemiMinorAxis",1984},
- {"localLongitude2",1184},
- {""}, {""}, {""},
- {"clusterMember7",548},
- {""}, {""},
- {"unexpandedDescriptorsEncoded",2368},
- {""}, {""}, {""},
- {"mask",1277},
- {""},
- {"cloudsCode4",515},
- {""}, {""},
- {"variationOfVisibilityDirectionTrend3",2417},
- {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositCodeState4",1898},
- {""}, {""}, {""},
- {"cloudsTitle2Trend3",528},
- {""}, {""},
- {"longitudeOfThePoleOfStretching",1227},
- {""}, {""}, {""},
- {"dateSSTFieldUsed",663},
+ {"latitudinalDirectionGridLength",1122},
{""}, {""}, {""}, {""}, {""},
- {"visibilityInKilometresTrend4",2446},
- {"md5Section5",1302},
- {"nameLegacyECMF",1372},
- {"numberOfClusterHighResolution",1416},
+ {"centralLongitudeInMicrodegrees",405},
{""},
- {"produceLargeConstantFields",1776},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"NRj",190},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"PUnset",217},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"pack",1617},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"selectStepTemplateInterval",2107},
- {""},
- {"scanningMode7",2008},
- {""}, {""}, {""},
- {"subDefinitions1",2209},
- {""}, {""}, {""},
- {"runwayDepthOfDepositCodeState3",1897},
- {""}, {""}, {""},
- {"section7Length",2073},
- {""},
- {"METARstr",158},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Dj",34},
+ {"param_value_max",1704},
+ {"heightPressureEtcOfLevels",956},
+ {"selectedHour",2119},
{""}, {""}, {""}, {""},
- {"deleteLocalDefinition",692},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"alternativeRowScanning",309},
- {""}, {""},
- {"offsetBSection6",1548},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"gts_TTAAii",947},
- {""}, {""}, {""}, {""},
- {"backgroundGeneratingProcessIdentifier",333},
- {""},
- {"westernLongitudeOfClusterDomain",2458},
- {""}, {""}, {""}, {""},
- {"extractDateTimeHourStart",829},
- {"unpack",2384},
- {""},
- {"mBasicAngle",1244},
+ {"DiGiven",31},
{""}, {""}, {""},
- {"referenceForGroupWidths",1843},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"probabilityType",1773},
- {""},
- {"meanRVR2",1310},
- {""},
- {"visibilityInKilometresTrend3",2445},
- {"subLocalDefinitionNumber2",2216},
+ {"tablesLocalDir",2247},
+ {""}, {""}, {""}, {""},
+ {"coordinate2Start",597},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section11Pointer",2044},
- {"runwayDepositState1",1891},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section_7",2104},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"satelliteID",1938},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwaySideCodeState1",1931},
+ {"subDefinitions2",2221},
{""},
- {"cloudsAbbreviation4",455},
+ {"longitudeOfReferencePoint",1219},
+ {""},
+ {"legBaseDate",1125},
+ {""},
+ {"Yp",285},
+ {""}, {""},
+ {"unpackedSubsetPrecision",2404},
{""}, {""}, {""}, {""}, {""}, {""},
- {"scaledValueOfWaveDirectionSequenceParameter",1998},
- {""},
- {"iDirectionIncrementGiven",975},
- {"parameterUnits",1705},
+ {"Yo",284},
+ {"longitudeOfTangencyPoint",1228},
{""}, {""}, {""}, {""}, {""},
- {"X2",270},
+ {"typeOfGrid",2343},
+ {"numberOfPointsInDomain",1494},
{""},
- {"codedNumberOfGroups",561},
+ {"cloudsTitle4Trend2",536},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windSpeedTrend1",2496},
+ {"conceptsMasterMarsDir",578},
{""},
- {"rdb_key",1817},
- {"Product_Identifier",222},
+ {"observationType",1540},
+ {""},
+ {"rootGroupObjectHeaderAddress",1886},
+ {""},
+ {"N2",173},
+ {""}, {""}, {""}, {""},
+ {"rangeBinSpacing",1822},
+ {"extractDateTimeYearStart",842},
+ {"section_04",2099},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section1Flags",2054},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"startDateOfReferencePeriod",2189},
+ {""},
+ {"minuteOfEndOfOverallTimeInterval",1331},
+ {""}, {""},
+ {"DxInMetres",41},
+ {"rootTablesDir",1888},
+ {""}, {""}, {""}, {""},
+ {"secondOfEndOfOverallTimeInterval",2027},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"southPoleOnProjectionPlane",2165},
+ {"section7Length",2082},
+ {""},
+ {"numberOfPointsAlongSecondAxis",1487},
+ {""},
+ {"P_INST",218},
+ {""},
+ {"isRotatedGrid",1041},
+ {""}, {""}, {""},
+ {"northWestLatitudeOfVerficationArea",1392},
+ {""}, {""},
+ {"secondaryBitmap",2037},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"jPointsAreConsecutive",1067},
+ {"P2",214},
+ {""}, {""}, {""},
+ {"BufrTemplate",19},
+ {""},
+ {"componentIndex",567},
+ {"packedValues",1625},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"runwayFrictionCoefficientState1",1927},
- {"probabilityTypeName",1774},
+ {"selectStepTemplateInstant",2115},
+ {"tiggeSuiteID",2274},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"subLocalDefinition2",2223},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsTitle4Trend1",535},
+ {""},
+ {"longitudeOfTheSouthernPoleOfProjection",1232},
+ {""}, {""}, {""}, {""}, {""},
+ {"versionOfModelClimate",2455},
+ {""}, {""},
+ {"scaledValueOfPrimeMeridianOffset",1998},
+ {""},
+ {"extractDateTimeHourStart",829},
+ {""},
+ {"cloudsTitle3",529},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"parametersVersion",1715},
+ {""}, {""},
+ {"selectedYear",2123},
+ {""},
+ {"lowerThresholdValue",1240},
+ {"hourOfEndOfOverallTimeInterval",966},
+ {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongAParallel",1484},
+ {"LcxInMetres",118},
+ {""}, {""},
+ {"yCoordinateOfOriginOfSectorImage",2518},
+ {""}, {""}, {""}, {""},
+ {"n3",1370},
+ {"cloudsTitle1Trend2",521},
+ {"localYear",1199},
+ {""}, {""}, {""}, {""}, {""},
+ {"windDirectionTrend1",2485},
+ {""},
+ {"LuxInMetres",148},
+ {""},
+ {"offsetBeforeData",1558},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"biFourierResolutionSubSetParameterM",366},
+ {""},
+ {"offsetBSection9",1556},
+ {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfThePoleOfStretching",1229},
+ {"isectionNumber2",1055},
+ {"sp3",2170},
+ {""}, {""},
+ {"oceanAtmosphereCoupling",1543},
+ {"easternLongitudeOfClusterDomain",734},
+ {""}, {""},
+ {"runwayFrictionCoefficientState4",1939},
+ {""}, {""}, {""},
+ {"secondaryMissingValue",2042},
+ {""},
+ {"spare3",2176},
+ {""},
+ {"Product_Identifier",221},
+ {"yearOfEndOfOverallTimeInterval",2528},
+ {""}, {""}, {""}, {""},
+ {"cloudsTitle3Trend4",533},
+ {""}, {""}, {""}, {""},
+ {"subDefinitions1",2220},
+ {""}, {""}, {""}, {""},
+ {"padding_sec1_loc",1692},
+ {""}, {""}, {""},
+ {"section4Length",2069},
+ {""}, {""}, {""}, {""}, {""},
+ {"dateSSTFieldUsed",663},
+ {"percentileValue",1729},
+ {""}, {""}, {""}, {""},
+ {"beginDayTrend4",344},
+ {"produceLargeConstantFields",1785},
+ {"secondaryBitmapPresent",2038},
+ {""}, {""},
+ {"formatVersionMinorNumber",899},
+ {""}, {""},
+ {"NC",176},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"md5Section7",1306},
+ {"unstructuredGridSubtype",2408},
+ {""},
+ {"PUnset",216},
+ {"coordinate1End",592},
+ {""}, {""},
+ {"N1",172},
+ {""},
+ {"longitudeOfSouthEastCornerOfArea",1221},
+ {"subLocalDefinitionLength2",2225},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"firstMonthUsedToBuildClimateMonth2",874},
+ {""},
+ {"expandedCrex_scales",793},
+ {""}, {""},
+ {"jDirectionIncrementInDegrees",1065},
+ {""}, {""}, {""},
+ {"Model_Additional_Information",167},
+ {""},
+ {"TIDE",237},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsTitle1Trend1",520},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"identificationOfOriginatingGeneratingCentre",984},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"uerraLocalVersion",2383},
+ {""},
+ {"clusterMember7",547},
+ {""}, {""},
+ {"xCoordinateOfSubSatellitePoint",2512},
+ {""},
+ {"meanRVR4",1314},
+ {""}, {""},
+ {"NrInRadiusOfEarthScaled",202},
+ {""},
+ {"P1",213},
+ {"expandedCrex_units",794},
+ {""},
+ {"numberOfDistinctSection5s",1442},
+ {""},
+ {"coordinate2Flag",596},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"NUT",191},
+ {""}, {""}, {""}, {""}, {""},
+ {"versionNumberOfExperimentalSuite",2452},
+ {"stepInHours",2205},
+ {""}, {""},
+ {"LIMITS",97},
+ {"falseEasting",859},
+ {""},
+ {"subLocalDefinition1",2222},
+ {"alternativeRowScanning",308},
+ {"presentTrend2",1756},
+ {""},
+ {"typicalYear",2378},
+ {""}, {""}, {""},
+ {"marsKeywords1",1260},
+ {"Sub-Experiment_Identifier",234},
+ {""}, {""}, {""}, {""},
+ {"endDayTrend3",748},
+ {""}, {""}, {""}, {""}, {""},
+ {"NrInRadiusOfEarth",201},
+ {""}, {""},
+ {"qfeUnits",1804},
+ {"numberOfClusterHighResolution",1421},
+ {""},
+ {"directionOfVariation",707},
+ {"qnhUnits",1808},
+ {"secondaryBitmaps",2039},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"unpackedError",2403},
+ {"firstMonthUsedToBuildClimateMonth1",873},
+ {""}, {""},
+ {"totalNumberOfWaveDirections",2317},
+ {""}, {""},
+ {"rdbtimeYear",1835},
+ {"parameterUnits",1713},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfLengthOfSemiMinorAxis",1993},
+ {""},
+ {"totalNumberOfWaveFrequencies",2318},
+ {""},
+ {"scanningMode7",2017},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfClusterLowResolution",1422},
+ {""}, {""}, {""},
+ {"Ensemble_Identifier",50},
+ {""}, {""}, {""}, {""},
+ {"secondaryBitmapsCount",2040},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetFromReferenceOfFirstTime",1565},
+ {""}, {""},
+ {"westernLongitudeOfClusterDomain",2478},
+ {""}, {""}, {""}, {""},
+ {"remarkPresent",1862},
+ {""},
+ {"packingError",1626},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"section3Flags",2063},
+ {""}, {""}, {""}, {""},
+ {"runwayDepositState2",1901},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityInKilometresTrend4",2466},
+ {""}, {""}, {""}, {""},
+ {"tiggeLocalVersion",2271},
+ {""}, {""},
+ {"scaledValueOfWaveDirectionSequenceParameter",2007},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"sourceOfGridDefinition",2157},
+ {"scaleFactorOfUpperLimit",1974},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"firstDimensionPhysicalSignificance",870},
+ {""}, {""},
+ {"METARstr",157},
+ {""}, {""}, {""},
+ {"totalNumberOfClusters",2304},
+ {""}, {""},
+ {"diffInHours",701},
+ {""}, {""}, {""},
+ {"subLocalDefinitionLength1",2224},
+ {""}, {""}, {""}, {""},
+ {"longitudeOfCentralPointInClusterDomain",1206},
+ {""}, {""}, {""},
+ {"reserved3",1870},
+ {""}, {""}, {""}, {""}, {""},
+ {"runwaySideCodeState2",1941},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"startStepUnit",2195},
+ {""}, {""}, {""}, {""},
+ {"cloudsTitle4Trend3",537},
+ {""}, {""}, {""}, {""},
+ {"reservedSection3",1874},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation4",454},
+ {"selectStepTemplateInterval",2116},
+ {"cloudsCode4",514},
+ {""}, {""}, {""}, {""}, {""},
+ {"section11Pointer",2053},
+ {""}, {""}, {""}, {""},
+ {"numberOfUnexpandedDescriptors",1517},
+ {""}, {""}, {""}, {""}, {""},
+ {"expandedCrex_widths",795},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfUsedTileAttributes",1521},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"presentTrend1",1755},
+ {"section5Pointer",2075},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"scaledValueOfSecondWavelength",2002},
+ {"numberOfWaveFrequencySequenceParameters",1533},
+ {"numberOfStepsUsedForClustering",1510},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfUsedTileAttributesForTileAttributeCombination",1522},
+ {""}, {""}, {""},
+ {"scaledValuesOfWaveDirections",2009},
+ {"Nj",199},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfWaveDirectionSequenceParameters",1530},
+ {""},
+ {"secondaryMissingValueSubstitute",2043},
{""},
{"dataSubCategory",647},
- {""}, {""},
- {"referenceForGroupLengths",1842},
- {"versionNumOfSharedHeaderMessageFormat",2431},
{""}, {""}, {""}, {""}, {""},
- {"xCoordinateOfOriginOfSectorImage",2491},
- {""},
- {"qnhUnits",1799},
- {""},
- {"qfeUnits",1795},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"marsKeywords1",1258},
- {""},
- {"presentTrend1",1746},
+ {"clusterMember4",544},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberMissingFromAveragesOrAccumulations",1407},
{""}, {""}, {""}, {""},
- {"totalNumberOfGridPoints",2294},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"offsetSection5",1567},
+ {"Model_Identifier",168},
{""}, {""},
- {"mixedCoordinateFieldFlag",1344},
- {""}, {""},
- {"DjInMetres",37},
- {""}, {""},
- {"dateOfModelVersion",660},
- {"latitudeOfSubSatellitePointInDegrees",1110},
- {"timeOfModelVersion",2277},
+ {"offsetSection3",1572},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"expandedCrex_scales",793},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section2Length",2049},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetBeforePL",1552},
- {""}, {""}, {""},
- {"cloudsAbbreviation3",450},
- {""}, {""}, {""},
- {"matrixBitmapsPresent",1287},
- {""}, {""}, {""}, {""},
- {"latitudeOfLastGridPoint",1099},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"scaledValueOfWaveFrequencySequenceParameter",1999},
- {""},
- {"METAR",157},
- {""}, {""}, {""}, {""}, {""},
- {"MinuteOfModelVersion",160},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"expandedCrex_units",794},
- {"beginDayTrend2",343},
- {""}, {""}, {""},
- {"offsetFromReferenceOfFirstTime",1558},
- {""}, {""}, {""}, {""},
- {"Model_Identifier",169},
- {""}, {""}, {""},
- {"swapScanningAlternativeRows",2224},
+ {"endMinuteTrend4",760},
+ {"forceStepUnits",885},
+ {"scaledValueOfWaveFrequencySequenceParameter",2008},
{""}, {""},
- {"section_07",2093},
- {""},
- {"ITERATOR",91},
+ {"numberOfPointsAlongXAxisInCouplingArea",1491},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudeOfTangencyPoint",1112},
{""}, {""}, {""},
- {"subLocalDefinition1",2211},
- {""}, {""},
- {"longitudeOfThePolePoint",1228},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"md5Section10",1298},
- {""}, {""}, {""},
- {"crraSuiteID",631},
+ {"clusteringDomain",552},
{""}, {""}, {""}, {""},
- {"scaleFactorOfUpperLimit",1965},
- {"extractDateTimeMinuteEnd",830},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"northWestLatitudeOfVerficationArea",1387},
- {"extractDateTimeMinuteStart",832},
- {"typeOfProcessedData",2336},
- {""},
- {"yearOfModelVersion",2511},
- {""}, {""}, {""},
- {"physicalMeaningOfVerticalCoordinate",1728},
- {""},
- {"endMonthTrend4",765},
+ {"runwayDepositState1",1900},
+ {"numberIncludedInAverage",1406},
+ {"scaledValuesOfWaveFrequencies",2010},
{""}, {""},
- {"numberMissingFromAveragesOrAccumulations",1402},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDesignatorState2",1908},
- {"md5Section4",1301},
+ {"cloudsTitle1Trend3",522},
+ {""},
+ {"longitudeOfThePolePoint",1230},
+ {"runwayFrictionCoefficientState2",1937},
+ {""}, {""},
+ {"cfVarNameECMF",421},
+ {"WRAPstr",266},
+ {""}, {""}, {""},
+ {"swapScanningAlternativeRows",2235},
+ {""},
+ {"variationOfVisibilityDirection",2433},
+ {""}, {""}, {""},
+ {"cloudsTitle3Trend2",531},
+ {""},
+ {"variationOfVisibilityDirectionAngle",2434},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"secondOrderValuesDifferentWidths",2034},
+ {""}, {""}, {""},
+ {"section2Length",2058},
+ {""}, {""},
+ {"scanningMode4",2014},
+ {""},
+ {"deleteLocalDefinition",691},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"variationOfVisibilityTrend2",2420},
- {""}, {""},
- {"extractDateTimeMonthEnd",833},
- {""}, {""}, {""},
- {"expandedUnits",803},
- {""}, {""}, {""},
- {"extractDateTimeMonthStart",835},
+ {"tempPressureUnits",2254},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeOfTangencyPoint",1111},
- {""},
- {"latitudeWhereDxAndDyAreSpecified",1117},
- {""},
- {"MonthOfModelVersion",171},
- {""},
- {"scaledValueOfSecondWavelength",1993},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeWhereDxAndDyAreSpecifiedInDegrees",1118},
- {""}, {""}, {""}, {""},
- {"numberOfDataPointsExpected",1430},
- {"runwayFrictionCodeValueState4",1922},
- {""}, {""}, {""}, {""},
- {"WMO",265},
- {""}, {""}, {""}, {""}, {""},
- {"clusterMember2",543},
- {""},
- {"numberOfPointsAlongASide",1480},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"hourOfModelVersion",968},
- {""},
- {"variationOfVisibilityDirectionTrend2",2416},
{""}, {""},
- {"numberOfContributingSpectralBands",1424},
- {""}, {""}, {""}, {""},
- {"numberOfPointsAlongAMeridian",1478},
- {"cloudsTitle2Trend2",527},
- {"tsectionNumber5",2311},
+ {"runwaySideCodeState1",1940},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"expandedCrex_widths",795},
- {""}, {""},
- {"dayOfModelVersion",671},
- {""},
- {"qualityControlIndicator",1801},
- {""}, {""},
- {"cloudsBase3",470},
{""}, {""}, {""}, {""},
- {"uuidOfVGrid",2406},
- {"runwayDepositCodeState4",1890},
- {""}, {""}, {""}, {""}, {""},
- {"tempPressureUnits",2243},
- {"pastTendencyRVR4",1715},
- {""},
- {"localUsePresent",1196},
- {"radiusOfTheEarth",1811},
- {""},
- {"runwayFrictionCodeValueState3",1921},
- {""}, {""}, {""}, {""}, {""},
- {"endMonthTrend3",764},
+ {"gaussianGridName",909},
{""}, {""},
- {"offsetValuesBy",1573},
+ {"numberOfBits",1410},
+ {""}, {""}, {""},
+ {"typeOfReferenceDataset",2354},
+ {""},
+ {"section6Length",2078},
{""}, {""}, {""}, {""}, {""},
+ {"cavokOrVisibility",391},
+ {"runwayDesignatorState4",1919},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"keyMore",1075},
+ {""}, {""},
+ {"scaleFactorOfCentralWaveNumber",1953},
+ {"inputShortDelayedDescriptorReplicationFactor",1013},
+ {""}, {""},
+ {"rdb_key",1826},
+ {"preBitmapValues",1747},
+ {"correction2",616},
+ {""}, {""},
+ {"firstOrderValues",875},
+ {""}, {""},
+ {"GDSPresent",67},
+ {"scaleFactorOfLowerWavePeriodLimit",1964},
+ {""}, {""},
+ {"runwayFrictionCoefficientState1",1936},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfUsedSpatialTiles",1519},
+ {""}, {""}, {""}, {""},
+ {"cloudsTitle3Trend1",530},
+ {""},
{"************_PRODUCT_***************",3},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositCodeState2",1896},
+ {"WMO",264},
+ {""}, {""}, {""},
+ {"windSpeedTrend3",2498},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"section1Length",2055},
+ {""}, {""}, {""},
+ {"iDirectionIncrementGiven",976},
+ {""}, {""},
+ {"section11Length",2052},
+ {"localLatitude2",1183},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"variationOfVisibility",2432},
+ {"localUsePresent",1198},
{""},
- {"beginHourTrend4",349},
- {""},
- {"Ensemble_Identifier",51},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"endMinuteTrend2",759},
- {""}, {""}, {""}, {""},
- {"scaledValuesOfWaveDirections",2000},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"endGridDefinition",751},
+ {"dayOfForecastUsedInLocalTime",670},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"numberOfBytesPerInteger",1412},
- {""},
- {"latitudeFirstInDegrees",1089},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfGroups",1454},
- {"typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing",2346},
- {"numberOfWaveFrequencySequenceParameters",1526},
- {""}, {""}, {""},
- {"constantAntennaElevationAngle",582},
- {""}, {""}, {""}, {""},
- {"numberOfPointsAlongAParallel",1479},
- {""}, {""}, {""},
- {"numberOfDaysInClimateSamplingWindow",1432},
- {"coordinateFlag1",604},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetAfterData",1543},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Model_Additional_Information",168},
+ {"marsStream2",1274},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"coordinateFlag2",605},
+ {""}, {""},
+ {"probabilityType",1782},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
{"dateOfSSTFieldUsed",662},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"secondaryBitMap",2027},
- {"iDirectionIncrementGridLength",976},
- {"runwayDepositCodeState3",1889},
- {"scaledValuesOfWaveFrequencies",2001},
- {""}, {""}, {""}, {""},
- {"section_2",2099},
- {"reflectivityCalibrationConstant",1852},
- {""}, {""}, {""}, {""},
- {"localLatitude1",1180},
- {""}, {""}, {""},
- {"matchAerosolBinNumber",1282},
- {"horizontalDomainTemplate",961},
- {"marsClass2",1248},
- {"longitudeLastInDegrees",1203},
- {""}, {""}, {""},
- {"cloudsCode1",500},
- {"numberOfPointsAlongSecondAxis",1482},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"numberOfWaveDirectionSequenceParameters",1523},
- {""}, {""}, {""}, {""},
- {"numberOfUsedTileAttributes",1515},
+ {"offsetAfterData",1550},
{""},
- {"beginHourTrend3",348},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"numberOfUnexpandedDescriptors",1512},
- {""}, {""},
- {"Latin2InDegrees",117},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"totalAerosolBinsNumbers",2285},
- {"scaledValueOfFirstWavelength",1982},
- {""}, {""}, {""}, {""}, {""},
- {"NEAREST",181},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded3Trend4",494},
+ {"section_2",2108},
+ {"extractDateTimeMinuteEnd",830},
+ {"mBasicAngle",1246},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"DayOfModelVersion",29},
+ {"extractDateTimeMinuteStart",832},
+ {""}, {""},
+ {"secondaryBitmapsSize",2041},
+ {""}, {""},
+ {"probabilityTypeName",1783},
{""}, {""}, {""},
- {"section1Length",2046},
+ {"scaledValueOfFirstWavelength",1991},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"extractDateTimeMonthEnd",833},
{""},
- {"numberOfStepsUsedForClustering",1505},
- {""}, {""}, {""},
- {"Sub-Experiment_Identifier",235},
+ {"YR",280},
+ {""}, {""}, {""}, {""},
+ {"extractDateTimeMonthStart",835},
+ {""}, {""}, {""}, {""},
+ {"METAR",156},
+ {""}, {""}, {""}, {""}, {""},
+ {"md5Section6",1305},
{""}, {""}, {""}, {""}, {""}, {""},
- {"WRAPstr",267},
+ {"numberOfContributingSpectralBands",1429},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"extractDateTimeStart",839},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"typeOfSSTFieldUsed",2339},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section9UniqueIdentifier",2082},
+ {"offsetBeforePL",1559},
+ {""}, {""}, {""}, {""}, {""},
+ {"localFlagLatestVersion",1179},
{""}, {""},
- {"cloudsBaseCoded3",490},
- {"section8UniqueIdentifier",2079},
+ {"extractAreaNorthLatitude",820},
+ {"latitudeWhereDxAndDyAreSpecified",1118},
+ {""}, {""},
+ {"theHindcastMarsStream",2259},
{""},
+ {"iDirectionIncrementGridLength",977},
+ {"windDirectionTrend3",2487},
+ {""}, {""}, {""},
+ {"section_6",2112},
+ {""}, {""}, {""}, {""},
+ {"expandedUnits",803},
+ {""}, {""},
+ {"latitudeWhereDxAndDyAreSpecifiedInDegrees",1119},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"jScansNegatively",1068},
+ {""},
+ {"southEastLongitudeOfLPOArea",2161},
+ {""}, {""},
+ {"section_02",2097},
+ {""}, {""}, {""},
+ {"jScansPositively",1069},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudeOfReferencePoint",1103},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfRadarSitesUsed",1497},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"unpackedValues",2405},
+ {""},
+ {"MinuteOfModelVersion",159},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"extractDateTimeStart",839},
+ {""}, {""}, {""}, {""},
+ {"localTablesVersion",1193},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"latitudeOfSubSatellitePointInDegrees",1111},
+ {""}, {""}, {""}, {""}, {""},
+ {"localLatitude1",1182},
+ {""}, {""},
+ {"subLocalDefinitionNumber2",2227},
+ {""}, {""}, {""},
{"extractDateTimeSecondEnd",836},
{""}, {""}, {""},
- {"cloudsBaseCoded3Trend3",493},
- {""}, {""}, {""}, {""}, {""},
+ {"numberOfDataBinsAlongRadials",1432},
+ {""}, {""}, {""}, {""},
{"extractDateTimeSecondStart",838},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"subLocalDefinitionLength1",2213},
- {""}, {""}, {""},
- {"northWestLatitudeOfLPOArea",1386},
{""},
- {"dayOfForecastUsedInLocalTime",670},
+ {"localLongitude2",1186},
+ {""}, {""},
+ {"conceptsDir2",573},
+ {""}, {""},
+ {"unexpandedDescriptors",2385},
{""},
- {"listMembersMissing4",1152},
+ {"typeOfSSTFieldUsed",2356},
{""}, {""}, {""}, {""},
- {"numberOfUsedSpatialTiles",1514},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"templatesMasterDir",2247},
- {""}, {""},
- {"endHourTrend4",756},
+ {"NRj",189},
+ {"coordinateFlag1",604},
+ {"section_06",2101},
{""},
- {"localLongitude1",1183},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ITERATOR",90},
+ {""},
+ {"gribTablesVersionNo",928},
{""}, {""},
- {"runwayDesignatorState1",1907},
- {"numberOfRadarSitesUsed",1492},
- {"padding_sec1_loc",1685},
+ {"longitudeOfSouthernPole",1222},
+ {"numberOfHorizontalPoints",1461},
{""}, {""}, {""},
- {"sizeOfPostAuxiliaryArray",2142},
+ {"cloudsTitle2",524},
+ {""}, {""}, {""}, {""},
+ {"dayOfTheYearDate",674},
+ {""}, {""},
+ {"section9UniqueIdentifier",2091},
+ {"section_1",2105},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"section8UniqueIdentifier",2088},
+ {""}, {""}, {""}, {""},
+ {"numberOfControlForecastTube",1430},
+ {""}, {""}, {""}, {""},
+ {"uuidOfVGrid",2426},
+ {""}, {""},
+ {"unexpandedDescriptorsEncoded",2386},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"kindOfProduct",1077},
{""}, {""}, {""}, {""}, {""},
- {"variationOfVisibilityTrend1",2419},
- {"modelErrorType",1347},
- {"ceilingAndVisibilityOK",398},
- {""}, {""}, {""},
- {"section_02",2088},
- {""}, {""},
- {"horizontalDimensionProcessed",960},
- {""}, {""},
- {"section11Length",2043},
- {""}, {""},
- {"numberOfControlForecastTube",1425},
+ {"matchAerosolBinNumber",1284},
+ {"typeOfPacking",2350},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"numberOfPointsAlongXAxis",1485},
+ {"numberOfDataPointsExpected",1435},
+ {""}, {""}, {""},
+ {"horizontalDomainTemplate",962},
+ {""}, {""},
+ {"MonthOfModelVersion",170},
+ {""}, {""}, {""},
+ {"pentagonalResolutionParameterK",1727},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"backgroundGeneratingProcessIdentifier",332},
+ {"runwayFrictionCoefficientState3",1938},
+ {""}, {""}, {""}, {""},
+ {"DjInMetres",37},
+ {"beginDayTrend2",342},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsTitle3Trend3",532},
+ {""}, {""}, {""}, {""}, {""},
+ {"northWestLongitudeOfVerficationArea",1394},
+ {"typicalMonth",2375},
+ {"tsectionNumber3",2326},
+ {""}, {""}, {""},
+ {"isectionNumber3",1056},
+ {"latitudeOfLastGridPoint",1100},
+ {"section3Length",2064},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"section_01",2096},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"expandBy",790},
+ {""}, {""}, {""}, {""}, {""},
+ {"runwayDesignatorState2",1917},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"NEAREST",180},
+ {"rdbtimeMonth",1832},
+ {""}, {""}, {""}, {""},
+ {"qualityControlIndicator",1810},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"minuteOfStartOfReferencePeriod",1336},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"secondOfStartOfReferencePeriod",2031},
+ {""}, {""}, {""}, {""},
+ {"runwayFrictionCodeValueState4",1931},
+ {"padding_local40_1",1689},
+ {""}, {""}, {""}, {""}, {""},
+ {"meanRVR2",1312},
+ {""},
+ {"mixedCoordinateFieldFlag",1346},
+ {""}, {""}, {""}, {""},
+ {"cloudsCode1",499},
+ {""}, {""}, {""}, {""},
+ {"subLocalDefinitionNumber1",2226},
+ {""}, {""},
+ {"xCoordinateOfOriginOfSectorImage",2511},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"listMembersUsed4",1157},
+ {""}, {""},
+ {"localLongitude1",1185},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Latin2InDegrees",116},
+ {""},
+ {"endDayTrend2",747},
+ {""},
+ {"referenceForGroupWidths",1852},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"satelliteID",1947},
+ {""},
+ {"endOfHeadersMarker",766},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"extractAreaEastLongitude",817},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayDesignatorState1",1916},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"inputOverriddenReferenceValues",1011},
+ {""},
+ {"physicalMeaningOfVerticalCoordinate",1737},
+ {""}, {""},
+ {"presentTrend3",1757},
+ {""}, {""}, {""},
+ {"Original_Parameter_Identifier",211},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"crraSuiteID",631},
+ {""}, {""},
+ {"codedNumberOfGroups",560},
+ {""},
+ {"referenceForGroupLengths",1851},
+ {""}, {""}, {""},
+ {"typeOfProcessedData",2353},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityInKilometresTrend2",2464},
+ {""}, {""}, {""}, {""},
+ {"totalAerosolBinsNumbers",2300},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfUpperLimit",2005},
+ {""}, {""}, {""},
+ {"beginDayTrend1",341},
+ {""}, {""}, {""},
+ {"Latin1InDegrees",114},
+ {""}, {""},
+ {"verificationYear",2446},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"sizeOfPostAuxiliaryArray",2151},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"constantAntennaElevationAngle",582},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"projTargetString",1795},
+ {""}, {""}, {""}, {""},
+ {"runwayDepositState3",1902},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"coordinate3OfFirstGridPoint",599},
+ {"endStepInHours",772},
+ {""}, {""}, {""},
+ {"reservedSection2",1873},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation2",444},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"unstructuredGridUUID",2392},
- {""}, {""}, {""},
- {"firstMonthUsedToBuildClimateMonth2",874},
- {""}, {""}, {""},
- {"variationOfVisibilityDirectionTrend1",2415},
- {""}, {""}, {""}, {""},
- {"latitudeOfReferencePoint",1102},
- {""}, {""}, {""},
- {"cloudsTitle2Trend1",526},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"listMembersMissing3",1151},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"meanRVR1",1311},
{""}, {""}, {""}, {""}, {""}, {""},
- {"endHourTrend3",755},
+ {"projSourceString",1793},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetICEFieldsUsed",1566},
{""}, {""},
- {"nameECMF",1371},
+ {"runwaySideCodeState3",1942},
+ {""}, {""}, {""},
+ {"longitudeLastInDegrees",1205},
+ {""}, {""}, {""},
+ {"experimentVersionNumber",805},
+ {"totalNumberOfGridPoints",2309},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfMajorAxisOfOblateSpheroidEarth",1965},
+ {""}, {""},
+ {"numberOfGroups",1459},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"horizontalDimensionProcessed",961},
{""}, {""}, {""}, {""}, {""}, {""},
- {"disableGrib1LocalSection",711},
+ {"marsClass2",1250},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositCodeState1",1895},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"meanRVR1",1309},
- {""},
- {"scaleFactorOfLowerWavePeriodLimit",1955},
- {"subLocalDefinitionNumber1",2215},
- {""}, {""}, {""},
- {"shortNameLegacyECMF",2128},
- {""}, {""}, {""}, {""}, {""},
- {"timeIncrementBetweenSuccessiveFields",2273},
- {""},
- {"recentWeather",1831},
- {""}, {""}, {""}, {""},
- {"numberOfSecondOrderPackedValues",1500},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfGroupsOfDataValues",1455},
- {""}, {""}, {""}, {""},
- {"runwayFrictionCodeValueState2",1920},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"projTargetString",1786},
- {""}, {""}, {""},
- {"unitsECMF",2378},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"scaledValueOfCentralWaveNumber",1975},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"southEastLongitudeOfLPOArea",2152},
- {""}, {""}, {""},
- {"X1",268},
- {""}, {""}, {""}, {""},
- {"visibilityTrend3",2449},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"accuracyMultipliedByFactor",298},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberInMixedCoordinateDefinition",1398},
- {"scaleFactorOfMajorAxisOfOblateSpheroidEarth",1956},
- {"md5Section1",1297},
- {""},
- {"section5Length",2065},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"checkInternalVersion",434},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"pentagonalResolutionParameterK",1718},
- {"northWestLongitudeOfVerficationArea",1389},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"listMembersUsed3",1155},
- {""}, {""}, {""},
- {"NC2",179},
- {""},
- {"visibilityInKilometresTrend2",2444},
- {""}, {""}, {""},
- {"Latin1InDegrees",115},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"changeIndicatorTrend4",428},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"legacyGaussSubarea",1127},
- {""}, {""},
- {"generalExtended2ordr",910},
- {""},
- {"projSourceString",1784},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"experimentVersionNumberOfAnalysis",808},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongFirstAxis",1486},
+ {"pentagonalResolutionParameterJ",1726},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"pastTendencyRVR1",1712},
- {"secondOfStartOfReferencePeriod",2022},
- {""}, {""},
- {"changeIndicatorTrend3",427},
+ {"clusterMember2",542},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Threshold_Or_Distribution_Units",250},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"WRAP",265},
{""}, {""}, {""}, {""}, {""}, {""},
- {"beginDayTrend1",342},
+ {"endMinuteTrend2",758},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"minuteOfStartOfReferencePeriod",1334},
- {""}, {""},
- {"pentagonalResolutionParameterJ",1717},
- {"outerLoopTypeOfTimeIncrement",1614},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"commonBlock",565},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositState4",1902},
- {"cloudsBaseCoded3Trend2",492},
+ {"numberInMixedCoordinateDefinition",1403},
{""}, {""}, {""},
- {"resolutionAndComponentFlags4",1872},
+ {"typeOfTimeIncrementBetweenSuccessiveFieldsUsedInTheStatisticalProcessing",2364},
+ {""}, {""}, {""},
+ {"endMonthTrend4",764},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityInKilometresTrend1",2463},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
+ {"numberOfPointsAlongTheXAxis",1488},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"realPartOf00",1837},
+ {"clusterMember6",546},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsTitle2Trend4",528},
+ {""}, {""}, {""},
+ {"changeIndicatorTrend4",427},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"numberOfSingularVectorsComputed",1507},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ZLMULT",288},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"nameECMF",1376},
+ {""},
+ {"hoursAfterReferenceTimeOfDataCutoff",973},
+ {""}, {""}, {""},
{"extractDateTimeYearEnd",840},
- {""}, {""}, {""}, {""},
- {"extractAreaSouthLatitude",821},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfLengthOfSemiMajorAxis",1952},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"cloudsAbbreviation2",445},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"clusterMember1",541},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"firstMonthUsedToBuildClimateMonth1",873},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"physicalFlag2",1727},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section6UniqueIdentifier",2071},
- {"inputOverriddenReferenceValues",1010},
- {"eastLongitudeOfDomainOfTubing",734},
- {""}, {""}, {""},
- {"numberOfGridInReference",1452},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"probProductDefinition",1772},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"runwayDepthOfDepositState3",1901},
- {""},
- {"numberOfBitsForScaledGroupLengths",1407},
- {""}, {""},
- {"resolutionAndComponentFlags3",1871},
- {""},
- {"northLatitudeOfDomainOfTubing",1385},
- {""}, {""}, {""},
- {"section2Used",2053},
- {""}, {""},
- {"numberOfBytesInLocalDefinition",1410},
- {"endMinuteTrend1",758},
- {""}, {""}, {""},
- {"observationDiagnostic",1531},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"numberOfMissingValues",1467},
- {"YRInMetres",282},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"runwayFrictionCodeValueState1",1919},
- {""},
- {"numberOfSingularVectorsEvolved",1503},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"flagForNormalOrStaggeredGrid",880},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayFrictionCoefficientCodeState4",1926},
{""}, {""}, {""}, {""}, {""},
- {"firstLatitudeInDegrees",872},
- {""}, {""}, {""}, {""}, {""},
- {"earthMajorAxisInMetres",730},
- {""},
- {"addEmptySection2",300},
- {""},
- {"longitudeOfReferencePointInDegrees",1218},
- {"padding_local40_1",1682},
- {"DjGiven",35},
- {""}, {""}, {""}, {""},
- {"southLatitudeOfDomainOfTubing",2155},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"section_1",2096},
+ {"cloudsAbbreviation1",439},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"marsClass1",1247},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"endMonthTrend2",763},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"disableGrib1LocalSection",710},
+ {""},
+ {"latitudeFirstInDegrees",1090},
+ {""},
+ {"scaledValueOfCentralWaveNumber",1984},
+ {""}, {""},
+ {"offsetValuesBy",1580},
{""}, {""}, {""}, {""},
- {"indexingTimeMM",998},
- {""}, {""}, {""},
- {"runwayFrictionCoefficientCodeState3",1925},
+ {"section2Used",2062},
+ {"longitudeOfReferencePointInDegrees",1220},
+ {""},
+ {"runwayDepositCodeState4",1899},
+ {""},
+ {"scaledValueOfLowerWavePeriodLimit",1995},
+ {"runwayDesignatorState3",1918},
+ {""},
+ {"runwayFrictionCodeValueState2",1929},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"legacyGaussSubarea",1128},
+ {"scanningMode6",2016},
+ {"numberOfBytesPerInteger",1417},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"unitsECMF",2396},
+ {""}, {""}, {""}, {""},
+ {"numberOfSingularVectorsEvolved",1508},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"definitionFilesVersion",688},
+ {""}, {""}, {""}, {""},
+ {"marsClass1",1249},
+ {""}, {""}, {""}, {""}, {""},
+ {"Ensemble_Combination_Number",49},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"clusterMember1",540},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"modelErrorType",1349},
+ {"extractDateTimeHourEnd",827},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"westLongitudeOfDomainOfTubing",2457},
+ {"getNumberOfValues",917},
+ {""}, {""}, {""}, {""}, {""},
+ {"endMinuteTrend1",757},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayDepthOfDepositCodeState4",1907},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayFrictionCodeValueState1",1928},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"recentWeather",1840},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Used",138},
+ {"unstructuredGridUUID",2410},
+ {""},
+ {"monthlyVerificationYear",1366},
+ {""}, {""}, {""}, {""},
+ {"numberOfSecondOrderPackedValues",1505},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section_3",2109},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Total_Number_Members_Used",259},
+ {""}, {""},
+ {"numberOfDaysInClimateSamplingWindow",1437},
+ {""}, {""},
+ {"scaleFactorOfLengthOfSemiMajorAxis",1961},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"matrixBitmapsPresent",1289},
+ {""}, {""},
+ {"nameLegacyECMF",1377},
+ {""}, {""}, {""},
{"Date_E4",28},
- {""}, {""},
- {"cloudsBaseCoded1Trend4",484},
- {""}, {""},
- {"scaledValueOfUpperLimit",1996},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfSingularVectorsComputed",1502},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"cloudsCode2",505},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDesignatorRVR4",1906},
+ {"md5Section4",1303},
+ {""}, {""}, {""}, {""},
+ {"numberOfGroupsOfDataValues",1460},
{""}, {""}, {""},
- {"beginYearTrend4",361},
+ {"numberOfPressureLevelsUsedForClustering",1496},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase4",475},
+ {"outerLoopTypeOfTimeIncrement",1621},
+ {""}, {""}, {""}, {""}, {""},
+ {"reflectivityCalibrationConstant",1861},
+ {""}, {""}, {""},
+ {"localTablesVersionNumber",1194},
+ {"Local_Number_Members_Possible",134},
+ {"mask",1279},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"longitudeOfSouthernPoleInDegrees",1221},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
{"dateOfIceFieldUsed",659},
{""},
- {"WRAP",266},
+ {"Total_Number_Members_Possible",258},
+ {""}, {""}, {""}, {""}, {""},
+ {"templatesMasterDir",2258},
+ {"section_03",2098},
+ {"pack",1624},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"northLatitudeOfDomainOfTubing",1390},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"cloudsBaseCoded1Trend3",483},
- {""}, {""}, {""}, {""},
- {"runwayDepositCodeState2",1888},
+ {"eastLongitudeOfDomainOfTubing",733},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"paramIdLegacyECMF",1695},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"uuidOfHGrid",2405},
- {""}, {""}, {""},
- {"offsetFromOriginToInnerBound",1557},
- {""}, {""},
- {"cfNameECMF",419},
- {""}, {""},
- {"sizeOfPostAuxiliaryArrayPlusOne",2143},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"beginHourTrend2",347},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Date_E3",27},
+ {"unpack",2402},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfWaveFrequencySequence",2366},
{""}, {""}, {""}, {""}, {""}, {""},
- {"lengthOf4DvarWindow",1130},
- {""},
- {"changeIndicatorTrend2",426},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"widthOfWidths",2463},
- {""}, {""}, {""}, {""},
- {"runwayDesignatorRVR3",1905},
- {"cloudsBaseCoded3Trend1",491},
- {""}, {""},
- {"beginYearTrend3",360},
- {"section_01",2087},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
+ {"pastTendencyRVR4",1724},
{"dateOfForecastUsedInLocalTime",658},
- {""},
- {"timeOfForecastUsedInLocalTime",2276},
- {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfEarthMajorAxis",1947},
- {"md5GridSection",1294},
- {"scaleFactorOfEarthMinorAxis",1948},
- {""}, {""},
- {"typeOfGeneratingProcess",2325},
- {"typeOfWaveFrequencySequence",2348},
- {""},
- {"cloudsAbbreviation4Trend4",459},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"horizontalDomainTemplateNumber",962},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"coordAveraging3",590},
- {"sourceSinkChemicalPhysicalProcess",2149},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"spacingOfBinsAlongRadials",2163},
- {""}, {""},
- {"Y2",279},
- {""},
- {"cloudsAbbreviation3Trend4",454},
{""}, {""}, {""},
- {"numberOfPointsAlongFirstAxis",1481},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"timeOfForecastUsedInLocalTime",2291},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Missing",130},
+ {""}, {""}, {""}, {""},
+ {"southLatitudeOfDomainOfTubing",2164},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"extractDateTimeHourEnd",827},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"INBITS",89},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"yearOfForecastUsedInLocalTime",2510},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"endYearTrend4",778},
+ {"ceilingAndVisibilityOK",397},
{""}, {""},
- {"cloudsAbbreviation4Trend3",458},
- {""},
- {"cloudsBaseCoded4",495},
- {""},
- {"numberOfBytesOfFreeFormatData",1411},
- {""}, {""}, {""}, {""},
- {"cloudsBaseCoded4Trend4",499},
+ {"resolutionAndComponentFlags7",1883},
+ {"Total_Number_Members_Missing",257},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"extractDateTimeEnd",826},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"resolutionAndComponentFlags7",1874},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"ZLMULT",289},
- {""},
- {"typeOfWavelengthInterval",2350},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation3Trend3",453},
- {"hourOfForecastUsedInLocalTime",967},
- {"listMembersMissing2",1150},
{""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded4Trend3",498},
+ {"extractAreaSouthLatitude",821},
+ {"paramIdLegacyECMF",1702},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"offsetSection11",1570},
+ {""}, {""}, {""}, {""},
+ {"listMembersMissing4",1153},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"cloudsTitle2Trend2",526},
+ {""}, {""}, {""},
+ {"changeIndicatorTrend2",425},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"probProductDefinition",1781},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"endHourTrend2",754},
- {"numberOfPressureLevelsUsedForClustering",1491},
+ {"md5Headers",1297},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"observationDiagnostic",1538},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode3",509},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"beginDayTrend3",343},
+ {""},
+ {"section5Length",2074},
+ {""}, {""},
+ {"hourOfForecastUsedInLocalTime",968},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"secondaryBitMap",2036},
+ {""}, {""},
+ {"coordinate2End",595},
+ {""}, {""}, {""}, {""},
+ {"section5",2073},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayFrictionCodeValueState3",1930},
+ {""}, {""}, {""},
+ {"timeUnitFlag",2296},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsTitle2Trend1",525},
+ {""}, {""},
+ {"yearOfForecastUsedInLocalTime",2530},
+ {"changeIndicatorTrend1",424},
+ {"sizeOfPostAuxiliaryArrayPlusOne",2152},
+ {"westLongitudeOfDomainOfTubing",2477},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"meanRVR3",1313},
+ {""}, {""}, {""},
+ {"earthMajorAxisInMetres",729},
+ {"checkInternalVersion",433},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"NC2",178},
+ {""}, {""}, {""}, {""},
+ {"lengthOf4DvarWindow",1131},
+ {""},
+ {"laplacianScalingFactorUnset",1085},
+ {"runwayDepthOfDepositCodeState2",1905},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation4Trend4",458},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsUsed",1495},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayFrictionCoefficientCodeState4",1935},
+ {"variationOfVisibilityTrend4",2442},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityTrend4",2470},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaleFactorOfEarthMajorAxis",1956},
+ {""}, {""},
+ {"variationOfVisibilityDirectionTrend4",2438},
+ {""}, {""},
+ {"scaleFactorOfEarthMinorAxis",1957},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfGridInReference",1457},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"timeIncrementBetweenSuccessiveFields",2288},
+ {""}, {""}, {""},
+ {"resolutionAndComponentFlags4",1881},
+ {""}, {""}, {""},
+ {"md5Section5",1304},
+ {""},
+ {"numberOfBitsForScaledGroupLengths",1412},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityInKilometresTrend3",2465},
{""}, {""}, {""}, {""}, {""},
- {"gribMasterTablesVersionNumber",926},
+ {"physicalFlag2",1736},
+ {"DjGiven",35},
+ {""}, {""},
+ {"gribMasterTablesVersionNumber",927},
+ {""}, {""},
+ {"runwayDepthOfDepositCodeState1",1904},
+ {""}, {""}, {""}, {""},
+ {"horizontalDomainTemplateNumber",963},
+ {""},
+ {"northWestLongitudeOfLPOArea",1393},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfMajorAxisOfOblateSpheroidEarth",1996},
+ {""}, {""}, {""},
+ {"SOH",227},
+ {""}, {""}, {""}, {""}, {""},
+ {"DELETE",24},
+ {"scaleFactorOfMinorAxisOfOblateSpheroidEarth",1966},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation3",449},
+ {""}, {""}, {""},
+ {"latitudeOfReferencePointInDegrees",1104},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"7777",5},
+ {""},
+ {"longitudeOfThePolePointInDegrees",1231},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"firstLatitudeInDegrees",872},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"NC1",177},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"endMonthTrend2",762},
+ {""},
+ {"beginHourTrend4",348},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"clusterMember3",543},
+ {""}, {""},
+ {"padding_grid90_1",1635},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typeOfGeneratingProcess",2342},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CLNOMA",23},
+ {""},
+ {"endMinuteTrend3",759},
+ {""}, {""}, {""}, {""},
+ {"dateOfModelVersion",660},
+ {""}, {""}, {""},
+ {"timeOfModelVersion",2292},
+ {"offsetSection5",1574},
+ {""}, {""}, {""}, {""},
+ {"section7UniqueIdentifier",2084},
+ {""}, {""}, {""}, {""},
+ {"padding_local_7_1",1691},
+ {""},
+ {"flagForNormalOrStaggeredGrid",880},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"physicalFlag1",1735},
+ {"widthOfWidths",2483},
+ {""}, {""}, {""}, {""},
+ {"cloudsTitle2Trend3",527},
+ {""}, {""}, {""},
+ {"changeIndicatorTrend3",426},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfBytesInLocalDefinition",1415},
+ {""}, {""}, {""},
+ {"beginMinuteTrend4",352},
+ {""}, {""}, {""}, {""},
+ {"versionNumOfSharedHeaderMessageFormat",2451},
+ {"accuracyMultipliedByFactor",297},
+ {""}, {""},
+ {"md5Section1",1299},
+ {""}, {""}, {""}, {""},
+ {"runwayDepositCodeState2",1897},
+ {"cfNameECMF",418},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"HDF5str",80},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"endMark",757},
+ {"padding_loc9_2",1685},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"NC1",178},
- {""},
- {"visibilityInKilometresTrend1",2443},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"baseTimeOfThisLeg",339},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"hourOfModelVersion",969},
+ {""}, {""},
+ {"spacingOfBinsAlongRadials",2172},
{""}, {""}, {""}, {""}, {""}, {""},
- {"Original_Parameter_Identifier",212},
- {""},
- {"endYearTrend3",777},
- {""},
- {"offsetSection11",1563},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeOfLastGridPointInDegrees",1100},
- {""}, {""}, {""},
- {"md5Section2",1299},
- {""}, {""}, {""}, {""},
{"countOfICEFieldsUsed",624},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"timeUnitFlag",2281},
- {""}, {""},
- {"runwayFrictionCoefficientCodeState2",1924},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"clusterMember5",546},
- {""}, {""}, {""}, {""},
- {"longitudeOfThePolePointInDegrees",1229},
- {""}, {""}, {""},
- {"coordinate4OfFirstGridPoint",602},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"scaleFactorOfMinorAxisOfOblateSpheroidEarth",1957},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"pastTendencyRVR2",1713},
- {""},
- {"scanningMode5",2006},
- {"swapScanningX",2227},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded1Trend2",482},
- {""},
- {"changeIndicatorTrend1",425},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"typicalYearOfCentury",2362},
- {""}, {""},
- {"visibilityTrend4",2450},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"laplacianScalingFactorUnset",1084},
- {"recentWeatherTry",1832},
- {""},
- {"cloudsAbbreviation1",440},
- {""}, {""}, {""}, {""}, {""},
- {"scaledValueOfLowerWavePeriodLimit",1986},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"listMembersUsed4",1156},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"physicalFlag1",1726},
- {""}, {""},
- {"section_5",2102},
- {""}, {""}, {""},
- {"section4UniqueIdentifier",2063},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"superblockExtensionAddress",2223},
- {""}, {""},
- {"beginMinuteTrend4",353},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfPointsAlongXAxisInCouplingArea",1486},
+ {"section4UniqueIdentifier",2072},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"scaledValueOfMajorAxisOfOblateSpheroidEarth",1987},
- {""}, {""},
- {"cloudsBase1",460},
- {""}, {""}, {""}, {""}, {""},
- {"numberInHorizontalCoordinates",1397},
- {""}, {""},
- {"latitudeOfReferencePointInDegrees",1103},
- {""}, {""},
- {"section3UniqueIdentifier",2058},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"numberOfPointsUsed",1490},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation2Trend4",449},
- {""}, {""},
- {"DELETE",24},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation2Trend4",448},
{""},
- {"beginMinuteTrend3",352},
- {""},
- {"latitudeOfThePolePoint",1113},
+ {"endMonthTrend1",761},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"radiusOfTheEarth",1820},
+ {"pastTendencyRVR1",1721},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"hoursAfterReferenceTimeOfDataCutoff",972},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayFrictionCoefficientCodeState2",1933},
+ {"variationOfVisibilityTrend2",2440},
{""}, {""}, {""}, {""},
- {"cfVarNameLegacyECMF",423},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"baseTimeOfThisLeg",340},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"endMonthTrend1",762},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetBeforePV",1553},
+ {"yearOfModelVersion",2531},
+ {"runwayDepthOfDepositCodeState3",1906},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositState2",1900},
- {""}, {""}, {""}, {""},
- {"resolutionAndComponentFlags2",1870},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"subdivisionsOfBasicAngle",2221},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"numberOfUsedTileAttributeCombinationsForTypeOfTile",1520},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfLengthOfSemiMajorAxis",1992},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"variationOfVisibilityDirectionTrend2",2436},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation2Trend3",448},
- {""}, {""},
- {"section_05",2091},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded4Trend2",497},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Total_Number_Members_Used",260},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"runwayFrictionCoefficientCodeState1",1923},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"numberOfPointsAlongYAxis",1487},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"scaledValueOfLengthOfSemiMajorAxis",1983},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDepositCodeState1",1887},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"numberOfReforecastYearsInModelClimate",1495},
- {""}, {""},
- {"Total_Number_Members_Possible",259},
- {""}, {""}, {""},
- {"windUnitsTrend4",2484},
- {""},
- {"baseDateOfThisLeg",338},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"beginHourTrend1",346},
- {""}, {""}, {""},
- {"section7UniqueIdentifier",2075},
- {""}, {""}, {""},
- {"Ensemble_Combination_Number",50},
- {""}, {""}, {""}, {""}, {""},
- {"listOfWaveFrequencySequenceParameters",1164},
- {"offsetICEFieldsUsed",1559},
- {""}, {""}, {""},
- {"cloudsBaseCoded1",480},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded1Trend1",481},
- {""}, {""}, {""},
- {"pentagonalResolutionParameterM",1719},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetBBitmap",1546},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Total_Number_Members_Missing",258},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"windUnitsTrend3",2483},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"isCavok",1027},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Y1",277},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"cloudsCode3Trend4",514},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"Date_E2",26},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"typeOfLevelECMF",2331},
- {""}, {""}, {""}, {""}, {""},
- {"jDirectionIncrementGiven",1062},
- {"runwayDesignatorRVR2",1904},
- {"Local_Number_Members_Used",139},
- {""}, {""},
- {"beginYearTrend2",359},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather3Present",1760},
{""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation1Trend4",444},
+ {"listOfWaveFrequencySequenceParameters",1166},
+ {""}, {""}, {""}, {""}, {""},
+ {"dayOfModelVersion",671},
{""}, {""}, {""}, {""},
- {"cloudsCode3Trend3",513},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"HDF5",80},
- {""}, {""}, {""}, {""}, {""},
- {"NB",176},
+ {"generalExtended2ordr",911},
+ {""},
+ {"cloudsBase4",474},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"indexingTimeMM",999},
+ {"baseDateOfThisLeg",337},
+ {"cloudsAbbreviation1Trend4",443},
+ {"shortNameLegacyECMF",2137},
+ {""}, {""},
+ {"runwayDepositCodeState1",1896},
+ {"runwayDesignatorRVR4",1915},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"longitudeOfSouthernPoleInDegrees",1223},
+ {""}, {""}, {""}, {""},
+ {"runwayFrictionCoefficientCodeState1",1932},
+ {"variationOfVisibilityTrend1",2439},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"radiusOfClusterDomain",1810},
+ {"typeOfWavelengthInterval",2368},
+ {""}, {""}, {""},
+ {"Less_Than_Or_To_Overall_Distribution",121},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"listMembersUsed3",1156},
+ {""}, {""}, {""}, {""}, {""},
+ {"NH",183},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Local_Number_Members_Possible",135},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc9_1",1684},
+ {"padding_loc7_1",1683},
+ {""},
+ {"variationOfVisibilityDirectionTrend1",2435},
+ {""},
+ {"coordinate4OfFirstGridPoint",602},
+ {"padding_loc6_1",1682},
+ {""}, {""}, {""}, {""}, {""},
+ {"experimentVersionNumberOfAnalysis",808},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc5_1",1681},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"numberOfUsefulPointsAlongXAxis",1523},
+ {""}, {""}, {""}, {""},
+ {"subdivisionsOfBasicAngle",2232},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"latitudeOfLastGridPointInDegrees",1101},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"endHourTrend4",755},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"listMembersMissing2",1151},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"tileGrouping",2280},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc50_1",1680},
+ {""}, {""}, {""}, {""},
+ {"visibilityTrend1",2467},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"DayOfModelVersion",29},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsCode2",504},
+ {""}, {""}, {""}, {""},
+ {"numberOfBytesOfFreeFormatData",1416},
+ {""}, {""}, {""}, {""}, {""},
+ {"beginMinuteTrend2",350},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"windUnitsTrend4",2504},
+ {""},
+ {"offsetBeforePV",1560},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetFromOriginToInnerBound",1564},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"md5Section10",1300},
+ {""}, {""},
+ {"tsectionNumber5",2328},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"addEmptySection2",299},
+ {""}, {""}, {""},
+ {"pentagonalResolutionParameterM",1728},
+ {""}, {""}, {""}, {""}, {""},
+ {"Threshold_Or_Distribution_0_no_1_yes",249},
+ {"latitudeOfThePolePoint",1114},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded4",494},
+ {""}, {""}, {""}, {""},
+ {"Original_CodeTable_2_Version_Number",209},
+ {""}, {""}, {""},
+ {"commonBlock",565},
+ {""},
+ {"cloudsBaseCoded4Trend4",498},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
{"coordAveraging2",589},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"endHourTrend1",753},
- {""}, {""}, {""},
- {"beginMinuteTrend2",351},
- {""}, {""}, {""},
- {"latitudeOfThePoleOfStretching",1112},
- {""}, {""},
- {"versionNumberOfSuperblock",2434},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"setPackingType",2121},
- {"visibilityTrend1",2447},
- {""},
- {"offsetToEndOf4DvarWindow",1572},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"setBitsPerValue",2117},
- {""},
- {"northWestLongitudeOfLPOArea",1388},
- {""},
- {"beginMonthTrend3",356},
- {""},
- {"HourOfModelVersion",82},
- {""}, {""},
- {"cloudsAbbreviation1Trend3",443},
- {""}, {""}, {""},
- {"cloudsAbbreviation4Trend2",457},
- {""}, {""}, {""}, {""},
- {"cloudsBaseCoded4Trend1",496},
- {"windGustTrend4",2473},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetBeforeBitmap",1550},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"Local_Number_Members_Missing",131},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded2Trend4",489},
- {""}, {""}, {""}, {""},
- {"typicalYear2",2361},
- {""},
- {"scaledValueOfEarthMajorAxis",1978},
- {""},
- {"scaledValueOfEarthMinorAxis",1979},
{""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation3Trend2",452},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CLNOMA",23},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"countOfGroupLengths",623},
+ {"beginMinuteTrend1",349},
{""},
- {"cloudsBaseCoded2Trend3",488},
+ {"jDirectionIncrementGiven",1063},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation4Trend2",456},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"7777",5},
- {""}, {""}, {""}, {""},
- {"endYearTrend2",776},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"windGustTrend3",2472},
+ {"cloudsAbbreviation3Trend4",453},
+ {"section6UniqueIdentifier",2080},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ccsdsCompressionOptionsMask",395},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"indexingTimeHH",996},
+ {"qualityValueAssociatedWithParameter",1811},
{""}, {""}, {""}, {""}, {""}, {""},
- {"unitsLegacyECMF",2380},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"mixedCoordinateDefinition",1343},
- {"latitudeOfSouthEastCornerOfArea",1104},
+ {"runwayFrictionCoefficientCodeState3",1934},
+ {"variationOfVisibilityTrend3",2441},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfEarthMajorAxis",1987},
+ {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfEarthMinorAxis",1988},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayExtentOfContaminationState4",1918},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"Threshold_Or_Distribution_Units",251},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"setToMissingIfOutOfRange",2122},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"experimentVersionNumber2",807},
- {""}, {""}, {""}, {""}, {""},
- {"jDirectionIncrementGridLength",1063},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"extractAreaLongitudeRank",819},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayExtentOfContaminationState3",1917},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase2",465},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"presentWeather2Present",1755},
- {""}, {""}, {""}, {""}, {""},
- {"g1conceptsLocalDirAll",905},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsCode3Trend2",512},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"beginMinuteTrend1",350},
- {""}, {""}, {""}, {""}, {""},
- {"padding_loc9_2",1678},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"uvRelativeToGrid",2407},
- {"scaledValueOfMinorAxisOfOblateSpheroidEarth",1988},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayDepthOfDepositState1",1899},
- {""}, {""}, {""}, {""},
- {"resolutionAndComponentFlags1",1869},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
{"*********_EXTRA_DATA_***************",4},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ceilingAndVisibilityOKTrend4",402},
+ {"resolutionAndComponentFlags2",1879},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"variationOfVisibilityDirectionTrend3",2437},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayDepthOfDepositState4",1911},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section_11",2107},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"cloudsBaseCoded1Trend4",483},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"jDirectionIncrementGridLength",1064},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"intervalBetweenTimes",1024},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"scaledValueOfMinorAxisOfOblateSpheroidEarth",1997},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"resolutionAndComponentFlags6",1882},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_grid90_1",1628},
- {""},
- {"NG",183},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Minute_E4",163},
- {""}, {""}, {""}, {""},
- {"is_chemical_srcsink",1049},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation2Trend2",447},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"paramIdECMF",1694},
- {"ceilingAndVisibilityOKTrend3",401},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"skipExtraKeyAttributes",2146},
- {"cloudsBaseCoded2",485},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded2Trend2",487},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"extractAreaLatitudeRank",818},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"cloudsCode1Trend4",504},
- {""}, {""}, {""}, {""}, {""},
- {"qualityValueAssociatedWithParameter",1802},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Minute_E3",162},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"runwayDesignatorRVR1",1903},
- {""}, {""}, {""},
- {"beginYearTrend1",358},
- {"section5UniqueIdentifier",2067},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode1Trend3",503},
- {""}, {""}, {""}, {""}, {""},
- {"padding_local_35",1683},
- {"ccsdsBlockSize",394},
- {""}, {""},
- {"typeOfWaveDirectionSequence",2347},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"windUnitsTrend2",2482},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"coordAveraging1",588},
- {""}, {""}, {""}, {""}, {""},
- {"presentWeather1Present",1750},
- {""},
- {"numberOfPointsAlongTheXAxis",1483},
- {""},
- {"runwayExtentOfContaminationState2",1916},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode3Trend1",511},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"bufrHeaderSubCentre",384},
{""}, {""}, {""}, {""}, {""}, {""},
- {"weightAppliedToClimateMonth1",2455},
+ {"cloudsAbbreviation4Trend1",455},
+ {"extractDateTimeEnd",826},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMaximumRVR4",1583},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation4Trend1",456},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"visibilityTrend2",2448},
{""},
- {"unusedBitsInBitmap",2393},
+ {"g1conceptsLocalDirAll",906},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"beginHourTrend2",346},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation3Trend1",451},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"listMembersUsed2",1154},
- {"TYPE_FF",245},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"isCavokTrend4",1031},
+ {"offsetToEndOf4DvarWindow",1579},
+ {"numberInHorizontalCoordinates",1402},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"missingValueManagementUsed",1340},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"resolutionAndComponentFlags1",1878},
{""}, {""}, {""},
- {"cloudsCode4Trend4",519},
- {"TYPE_OF",247},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"latitudeOfTheSouthernPoleOfProjection",1115},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMaximumRVR3",1582},
+ {"endMonthTrend3",763},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"endYearTrend1",775},
+ {"md5Section3",1302},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"uuidOfHGrid",2425},
+ {""}, {""}, {""}, {""},
+ {"numberOfMissingValues",1472},
+ {""},
+ {"md5GridSection",1296},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"latitudeOfThePoleOfStretching",1113},
+ {"cloudsBase1",459},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"coordinate3OfFirstGridPoint",599},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"beginMinuteTrend3",351},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Possible_E4",137},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"Local_Number_Members_Missing_E4",133},
{""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation1Trend2",442},
+ {"INBITS",88},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"runwayDepositCodeState3",1898},
+ {""}, {""}, {""},
+ {"hook_post_meta_data",958},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"cloudsBaseCoded4Trend2",496},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"pastTendencyRVR3",1723},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Ensemble_Identifier_E4",53},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"numberOfPointsAlongYAxisInCouplingArea",1488},
+ {"cloudsAbbreviation2Trend2",446},
+ {""}, {""}, {""},
+ {"beginHourTrend1",345},
+ {""}, {""}, {""},
+ {"countOfGroupLengths",623},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section3UniqueIdentifier",2067},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"weightAppliedToClimateMonth1",2475},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"sourceSinkChemicalPhysicalProcess",2158},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"radiusOfClusterDomain",1819},
+ {""},
+ {"cloudsBaseCoded4Trend1",495},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"recentWeatherTry",1841},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation1Trend2",441},
+ {""}, {""}, {""}, {""},
+ {"runwayDesignatorRVR2",1913},
+ {"cloudsBaseCoded1Trend2",481},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Minute_E4",162},
+ {""},
+ {"section_5",2111},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Date_E3",27},
+ {""},
+ {"latitudeOfSouthEastCornerOfArea",1105},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfParametersUsedForClustering",1480},
+ {""}, {""}, {""},
+ {"listMembersUsed2",1155},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"TYPE_OR",248},
- {"cloudsCode4Trend3",518},
+ {"cloudsBaseCoded3Trend4",493},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"intervalBetweenTimes",1025},
+ {"cloudsCode4Trend4",518},
+ {""}, {""},
+ {"numberOfPointsAlongYAxis",1492},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded1",479},
+ {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation2Trend1",445},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded1Trend1",480},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"section_05",2100},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"endHourTrend2",753},
+ {"superblockExtensionAddress",2234},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_local11_1",1686},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"visibilityTrend3",2469},
+ {""}, {""},
+ {"beginYearTrend4",360},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"uvRelativeToGrid",2427},
+ {""}, {""}, {""}, {""},
+ {"cfVarNameLegacyECMF",422},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Number_Combination_Ensembles_1_none",204},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation1Trend1",440},
+ {""}, {""}, {""}, {""},
+ {"runwayDesignatorRVR1",1912},
+ {""}, {""}, {""}, {""}, {""},
+ {"listMembersMissing3",1152},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode1Trend4",503},
+ {"YRInMetres",281},
+ {""},
+ {"windUnitsTrend2",2502},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"endMark",756},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"beginMonthTrend4",356},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Possible_E2",135},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"Local_Number_Members_Missing_E2",131},
+ {"runwayExtentOfContaminationState4",1927},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"typeOfWaveDirectionSequence",2365},
+ {""}, {""},
+ {"mixedCoordinateDefinition",1345},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"padding_loc190_1",1650},
+ {""}, {""}, {""}, {""}, {""},
+ {"************_EXPERIMENT_************",2},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"Ensemble_Identifier_E2",51},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBaseCoded4Trend3",497},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"endHourTrend1",752},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windGustTrend4",2493},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsAbbreviation3Trend2",451},
+ {""},
+ {"missingValueManagementUsed",1342},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"coordAveraging3",590},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc4_2",1679},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation4Trend3",457},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Y2",278},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"runwayDepthOfDepositState2",1909},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"presentWeather2Present",1764},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windUnitsTrend1",2501},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"setToMissingIfOutOfRange",2131},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"resolutionAndComponentFlags3",1880},
+ {""}, {""},
+ {"ccsdsCompressionOptionsMask",394},
+ {"paramIdECMF",1701},
{""}, {""}, {""},
- {"YearOfModelVersion",284},
+ {"cloudsBaseCoded1Trend3",482},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded3Trend2",491},
+ {""}, {""}, {""}, {""}, {""},
+ {"offsetBBitmap",1553},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"ZLBASE",287},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"typeOfLevelECMF",2348},
+ {""}, {""}, {""},
+ {"padding_sec4_1",1697},
+ {""}, {""}, {""}, {""},
+ {"cloudsCode4Trend2",516},
+ {""}, {""},
+ {"padding_loc19_2",1655},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"presentWeather1Present",1759},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBaseCoded2Trend1",486},
+ {"padding_loc18_2",1649},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"is_chemical_srcsink",1050},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation3Trend1",450},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded3Trend1",490},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"setPackingType",2130},
+ {""}, {""},
+ {"endYearTrend4",778},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Y1",276},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"beginHourTrend3",347},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"md5Section2",1301},
+ {""}, {""},
+ {"cloudsCode4Trend1",515},
+ {""}, {""},
+ {"runwayDepthOfDepositState1",1908},
+ {""},
+ {"typicalYearOfCentury",2380},
+ {"cloudsBase3",469},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"isCavok",1028},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"clusterMember5",545},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode1Trend2",501},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"offsetBSection6",1555},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetBeforeBitmap",1557},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
{"extractDateTimeDayStart",825},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"Hour_E4",85},
- {""},
- {"latitudeOfThePolePointInDegrees",1114},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"numberOfTensOfThousandsOfYearsOfOffset",1507},
{""}, {""},
- {"isCavokTrend3",1030},
- {""}, {""}, {""},
- {"beginMonthTrend4",357},
- {""}, {""},
- {"section_11",2098},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_local_7_1",1684},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Original_CodeTable_2_Version_Number",210},
- {""},
- {"BUFR",18},
+ {"runwayExtentOfContaminationState2",1925},
{""}, {""}, {""}, {""}, {""}, {""},
- {"windGustTrend2",2471},
+ {"cloudsCode3Trend4",513},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"hoursAfterDataCutoff",972},
+ {""},
+ {"Local_Number_Members_Possible_E3",136},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"Local_Number_Members_Missing_E3",132},
+ {""}, {""},
+ {"scanningMode5",2015},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"pastTendencyRVR2",1722},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"skipExtraKeyAttributes",2155},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc18_1",1648},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsCode1Trend1",500},
+ {""},
+ {"scaleFactorOfUpperWavePeriodLimit",1975},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"Ensemble_Identifier_E3",52},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_local1_1",1687},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"runwayExtentOfContaminationState1",1924},
+ {""}, {""},
+ {"padding_grid4_1",1632},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"section5UniqueIdentifier",2076},
+ {""},
+ {"cloudsAbbreviation2Trend3",447},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
+ {"padding_loc10_1",1636},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"RVR4_1",226},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"Minute_E2",160},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ICPLSIZE",86},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"presentWeather3Present",1769},
+ {""}, {""}, {""},
+ {"XpInGridLengths",275},
+ {""},
+ {"padding_local_35",1690},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"beginMonthTrend1",353},
+ {"cloudsAbbreviation1Trend3",442},
+ {""}, {""}, {""}, {""},
+ {"runwayDesignatorRVR3",1914},
+ {""}, {""}, {""},
+ {"versionNumberOfSuperblock",2454},
+ {""}, {""},
+ {"cloudsBaseCoded3",489},
+ {""}, {""},
+ {"RENAME",222},
+ {""}, {""}, {""},
+ {"NG",182},
+ {""}, {""}, {""},
+ {"cloudsBaseCoded3Trend3",492},
+ {""}, {""}, {""}, {""},
+ {"extractAreaLongitudeRank",819},
+ {""}, {""}, {""}, {""},
+ {"numberOfGridUsed",1458},
+ {""}, {""}, {""},
+ {"numberOfReforecastYearsInModelClimate",1500},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Time_Range_One_E4",253},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode4Trend3",517},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"latitudeOfThePolePointInDegrees",1115},
+ {""}, {""}, {""}, {""}, {""},
+ {"Extra_Data_FreeFormat_0_none",55},
+ {""}, {""},
+ {"visibilityTrend2",2468},
+ {""}, {""}, {""}, {""}, {""},
+ {"beginYearTrend2",358},
+ {""}, {""},
+ {"ccsdsBlockSize",393},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"bufrHeaderSubCentre",383},
+ {""},
+ {"NB",175},
+ {""}, {""}, {""}, {""}, {""},
+ {"listOfWaveDirectionSequenceParameters",1165},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ECMWF",45},
+ {""}, {""},
+ {"latitudeOfTheSouthernPoleOfProjection",1116},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"endHourTrend3",754},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"altitudeOfTheCameraFromTheEarthsCentreMeasuredInUnitsOfTheEarthsRadius",309},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc30_2",1674},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"biFourierPackingModeForAxes",363},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"************_ENSEMBLE_**************",1},
+ {""}, {""},
+ {"cloudsCode1Trend3",502},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"padding_sec3_1",1696},
+ {"padding_grid1_2",1630},
+ {""}, {""}, {""},
+ {"cloudsCode3Trend2",511},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"windUnitsTrend3",2503},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayExtentOfContaminationState3",1926},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc3_1",1678},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"BUFR",18},
+ {"windGustTrend2",2491},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc38_1",1677},
+ {""}, {""}, {""},
+ {"beginYearTrend1",357},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode3Trend1",510},
+ {""}, {""}, {""},
+ {"numberOfBitsContainingEachPackedValue",1411},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"padding_local1_31",1688},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsAbbreviation3Trend3",452},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"RVR2_1",224},
+ {""}, {""}, {""}, {""},
+ {"padding_loc30_1",1673},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"unusedBitsInBitmap",2411},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_grid1_1",1629},
+ {""}, {""}, {""},
+ {"runwayDepthOfDepositState3",1910},
+ {""}, {""}, {""}, {""},
+ {"TYPE_OF",246},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"Hour_E4",84},
+ {""}, {""}, {""},
+ {"oneMinuteMeanMaximumRVR4",1590},
+ {""},
+ {"cloudsBaseCoded2Trend4",488},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"TYPE_FF",244},
+ {"Time_Range_One_E2",251},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"RVR1_1",223},
+ {""}, {""},
+ {"P_TACC",219},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"unitsLegacyECMF",2398},
+ {""}, {""}, {""},
+ {"extractAreaLatitudeRank",818},
+ {"windGustTrend1",2490},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"TYPE_FX",245},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongYAxisInCouplingArea",1493},
+ {""}, {""}, {""},
+ {"endYearTrend2",776},
+ {"ceilingAndVisibilityOKTrend4",401},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBase2",464},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"FMULTE",64},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"isCavokTrend4",1032},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode3Trend3",512},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"rootGroupSymbolTableEntry",1887},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"scaledValueOfUpperWavePeriodLimit",2006},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ICEFieldsUsed",85},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"TYPE_OR",247},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfBitsUsedForTheScaledGroupLengths",1414},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"endYearTrend1",775},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_grid3_1",1631},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"setBitsPerValue",2126},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Ensemble_Combinat_Number_0_none_E4",48},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"cfNameLegacyECMF",419},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"beginMonthTrend3",355},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"RVR3_1",225},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded2",484},
+ {""}, {""}, {""},
+ {"Minute_E3",161},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBaseCoded2Trend2",486},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"experimentVersionNumber2",807},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Time_Range_One_E3",252},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBaseCoded2Trend1",485},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"padding_loc17_2",1647},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"beginYearTrend3",359},
+ {""}, {""}, {""},
+ {"numberOfVGridUsed",1525},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"TYPE_PF",248},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
{"experimentVersionNumber1",806},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"Hour_E3",84},
- {""},
- {"ZLBASE",288},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc30_2",1667},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsCode1Trend2",502},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfParametersUsedForClustering",1475},
- {""}, {""}, {""}, {""},
- {"runwayExtentOfContaminationState1",1915},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"padding_loc7_1",1676},
- {"padding_loc9_1",1677},
+ {"cloudsCode2Trend4",508},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc14_2",1644},
{""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc6_1",1675},
- {""}, {""}, {""},
- {"padding_loc5_1",1674},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"LSTCUM",99},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Time_Range_One_E4",254},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"biFourierPackingModeForAxes",364},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Time_Range_One_E3",253},
- {"Local_Number_Members_Possible_E4",138},
- {""}, {""},
- {"cfNameLegacyECMF",420},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"RENAME",223},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"numberOfBitsContainingEachPackedValue",1406},
- {""}, {""},
- {"Local_Number_Members_Missing_E4",134},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc13_4",1641},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsAbbreviation2Trend1",446},
- {""}, {""},
- {"Local_Number_Members_Possible_E3",137},
- {""}, {""}, {""},
- {"cloudsBase3Trend4",474},
+ {"FMULTM",65},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"typicalYear2",2379},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CCCC",20},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"hoursAfterDataCutoff",971},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"altitudeOfTheCameraFromTheEarthsCentreMeasuredInUnitsOfTheEarthsRadius",310},
- {"Local_Number_Members_Missing_E3",133},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc50_1",1673},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase3Trend3",473},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"windGustTrend3",2492},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"Ensemble_Identifier_E4",54},
- {"cloudsCode4Trend2",517},
- {""}, {""},
- {"ICPLSIZE",87},
- {"listOfWaveDirectionSequenceParameters",1163},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"rootGroupSymbolTableEntry",1878},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"ceilingAndVisibilityOKTrend2",400},
- {""}, {""}, {""}, {""},
- {"TYPE_PF",249},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Ensemble_Identifier_E3",53},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfUsefulPointsAlongXAxis",1516},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"offsetBSection5",1547},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"windUnitsTrend1",2481},
+ {"Ensemble_Combinat_Number_0_none_E2",46},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode1Trend1",501},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Minute_E2",161},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"beginMonthTrend1",354},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc192_1",1654},
{""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMinimumRVR4",1587},
+ {"padding_grid50_1",1633},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfGridUsed",1453},
- {""},
- {"hook_post_meta_data",957},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"padding_sec3_1",1689},
- {""}, {""}, {""},
- {"************_ENSEMBLE_**************",1},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ECMWF",45},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc19_2",1648},
- {""}, {""}, {""},
- {"padding_loc18_2",1642},
- {"padding_local11_1",1679},
- {"cloudsAbbreviation1Trend1",441},
- {""}, {""}, {""}, {""},
- {"padding_loc3_1",1671},
- {"Time_Range_One_E2",252},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"padding_loc38_1",1670},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"scaleFactorOfUpperWavePeriodLimit",1966},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"padding_local1_31",1681},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMinimumRVR3",1586},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"Local_Number_Members_Possible_E2",136},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc190_1",1643},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"RVR4_1",227},
- {""}, {""}, {""}, {""},
- {"cloudsCode4Trend1",516},
- {""}, {""},
- {"Local_Number_Members_Missing_E2",132},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMaximumRVR2",1581},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"windGustTrend1",2470},
- {"cloudsBase3Trend2",472},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsCode2Trend4",509},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"RVR3_1",226},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode2Trend3",508},
- {""}, {""}, {""},
- {"padding_loc30_1",1666},
- {""}, {""}, {""}, {""}, {""},
- {"isCavokTrend2",1029},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"Ensemble_Identifier_E2",52},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Number_Combination_Ensembles_1_none",205},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfBitsUsedForTheScaledGroupLengths",1409},
- {""}, {""}, {""}, {""},
- {"padding_sec2_3",1688},
- {"padding_loc4_2",1672},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"YY",283},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Hour_E2",83},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc29_3",1663},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"padding_loc13_4",1634},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"cloudsBase1Trend4",464},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase1Trend3",463},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"padding_loc13_3",1633},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"padding_loc191_3",1646},
- {""}, {""},
- {"numberOfPointsAlongTheYAxis",1484},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase3Trend1",471},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ceilingAndVisibilityOKTrend1",399},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayExtentOfContaminationCodeState4",1923},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"swapScanningY",2228},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"runwayExtentOfContaminationCodeState4",1914},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"RVR2_1",225},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"runwayExtentOfContaminationCodeState3",1913},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode2Trend2",507},
- {""}, {""}, {""}, {""},
- {"ICEFieldsUsed",86},
- {""},
- {"indexingTimeHHMM",997},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsBase4Trend4",479},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Threshold_Or_Distribution_0_no_1_yes",250},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase4Trend3",478},
- {""}, {""},
- {"extractDateTimeYearRank",841},
- {""}, {""}, {""},
- {"Less_Than_Or_To_Overall_Distribution",122},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"FMULTE",65},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"beginMonthTrend2",355},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"padding_loc18_1",1641},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Extra_Data_FreeFormat_0_none",56},
- {""}, {""}, {""}, {""},
- {"padding_grid4_1",1625},
- {""}, {""}, {""}, {""},
- {"padding_local1_1",1680},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"extractDateTimeDayEnd",823},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"HourOfModelVersion",81},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"padding_loc37_2",1669},
+ {"Hour_E2",82},
+ {""}, {""}, {""},
+ {"oneMinuteMeanMaximumRVR2",1588},
+ {""}, {""}, {""},
+ {"cloudsBase4Trend4",478},
+ {"oneMinuteMeanMinimumRVR4",1594},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_grid3_1",1624},
+ {""}, {""},
+ {"padding_sec2_2",1694},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"HDF5",79},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc14_1",1643},
+ {""}, {""},
+ {"cloudsBaseCoded2Trend3",487},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc191_1",1651},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"cloudsBase1Trend2",462},
- {""}, {""}, {""}, {""},
- {"oneMinuteMeanMaximumRVR1",1580},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"listOfUsedTileAttributesInCombination",1164},
+ {""},
+ {"padding_loc2_2",1672},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc29_2",1669},
+ {""}, {""}, {""}, {""}, {""},
+ {"ceilingAndVisibilityOKTrend2",399},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_grid1_2",1623},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"presentWeather3PresentTrend4",1764},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"TYPE_AN",242},
+ {"numberOfTensOfThousandsOfYearsOfOffset",1512},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"numberOfPointsAlongTheYAxis",1489},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"FMULTM",66},
{""}, {""}, {""},
- {"oneMinuteMeanMinimumRVR2",1585},
+ {"cloudsBase1Trend4",463},
+ {""}, {""},
+ {"isCavokTrend2",1030},
+ {""}, {""},
+ {"endYearTrend3",777},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc37_2",1676},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc10_1",1629},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"isCavokTrend1",1028},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"RVR1_1",224},
+ {"oneMinuteMeanMaximumRVR1",1587},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_sec4_1",1690},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsCode2Trend1",506},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_sec2_1",1693},
{""}, {""}, {""}, {""},
- {"presentWeather3PresentTrend3",1763},
- {""}, {""}, {""},
- {"XpInGridLengths",276},
+ {"cloudsCode2Trend2",506},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"extremeValuesRVR4",854},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc2_1",1671},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc29_1",1668},
+ {""}, {""}, {""}, {""}, {""},
+ {"ceilingAndVisibilityOKTrend1",398},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc28_1",1667},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"runwayExtentOfContaminationCodeState2",1912},
- {""}, {""}, {""}, {""},
- {"octetAtWichPackedDataBegins",1539},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"scaledValueOfUpperWavePeriodLimit",1997},
+ {"cloudsCode2Trend1",505},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"At_least__Or_Distribut_Proportion_Of",14},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"isCavokTrend1",1029},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc37_1",1675},
+ {""}, {""}, {""}, {""},
+ {"padding_grid5_1",1634},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Ensemble_Combinat_Number_0_none_E3",47},
+ {""}, {""}, {""},
+ {"beginMonthTrend2",354},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"padding_loc20_1",1656},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"runwayExtentOfContaminationCodeState2",1921},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase4Trend2",476},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"padding_loc12_1",1637},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"DIAG",25},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"padding_loc16_1",1646},
+ {"octetAtWichPackedDataBegins",1546},
+ {""}, {""},
+ {"runwayExtentOfContaminationCodeState1",1920},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Used_E4",141},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase4Trend1",475},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Missing_Model_LBC",163},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase1Trend2",461},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"X2InGridLengths",270},
+ {""},
+ {"cloudsBase3Trend4",473},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"cloudsBase1Trend1",460},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsCode2Trend3",507},
+ {""},
+ {"extremeValuesRVR2",852},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"padding_loc13_2",1639},
+ {""}, {""}, {""}, {""}, {""},
+ {"X1InGridLengths",268},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"extremeValuesRVR1",851},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayExtentOfContaminationCodeState3",1922},
+ {""}, {""}, {""}, {""},
+ {"padding_loc191_3",1653},
+ {""}, {""}, {""},
+ {"oneMinuteMeanMinimumRVR2",1592},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase4Trend3",477},
+ {""}, {""}, {""}, {""}, {""},
+ {"TYPE_AN",241},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"Hour_E3",83},
+ {""}, {""},
+ {"padding_loc13_1",1638},
+ {"oneMinuteMeanMaximumRVR3",1589},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_sec2_3",1695},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"indexingTimeHH",997},
+ {""},
+ {"TYPE_CF",242},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Original_Parameter_Iden_CodeTable2",210},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc29_3",1670},
+ {""}, {""}, {""}, {""}, {""},
+ {"ceilingAndVisibilityOKTrend3",400},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase1Trend3",462},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase3Trend2",471},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"extractDateTimeYearRank",841},
+ {"isCavokTrend3",1031},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"oneMinuteMeanMinimumRVR1",1591},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"offsetBSection5",1554},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
{"extremeValuesRVR3",853},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"TYPE_CF",243},
+ {"cloudsBase3Trend1",470},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"extractDateTimeHourRank",828},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"LBC_Initial_Conditions",96},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"genVertHeightCoords",909},
+ {"YearOfModelVersion",283},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase4Trend2",477},
- {"padding_sec2_2",1687},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfVGridUsed",1518},
- {""},
- {"padding_loc2_2",1665},
- {""}, {""},
- {"DIAG",25},
- {""},
- {"extractDateTimeHourRank",828},
{""}, {""}, {""},
- {"padding_loc29_2",1662},
+ {"presentWeather2PresentTrend4",1768},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfUsefulPointsAlongYAxis",1524},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"numberOfUsefulPointsAlongYAxis",1517},
- {"LSTCUM",100},
+ {"Local_Number_Members_Used_E2",139},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -7385,555 +7372,316 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"cloudsBase1Trend1",461},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc14_2",1637},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_grid50_1",1626},
- {""}, {""},
- {"CCCC",20},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc16_1",1639},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
+ {"presentWeather1PresentTrend4",1763},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"bitsPerValueAndRepack",376},
+ {""}, {""}, {""},
+ {"gts_CCCC",947},
+ {""}, {""}, {""}, {""},
+ {"padding_loc27_2",1666},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBase3Trend3",472},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Time_Range_Two_E4",256},
+ {""}, {""},
{"extractDateTimeMinuteRank",831},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc13_2",1632},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"presentWeather2PresentTrend4",1759},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"extractDateTimeMonthRank",834},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"genVertHeightCoords",910},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc13_3",1640},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"lBB",1079},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"runwayExtentOfContaminationCodeState1",1911},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"presentWeather2PresentTrend3",1758},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"P_TACC",220},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"extremeValuesRVR2",852},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"cloudsBase4Trend1",476},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"************_EXPERIMENT_************",2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc17_2",1640},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"cloudsBase2Trend4",469},
+ {"padding_loc27_1",1665},
{""}, {""}, {""}, {""},
- {"padding_loc37_1",1668},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"precisionOfTheUnpackedSubset",1750},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"cloudsBase2Trend3",468},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_grid1_1",1622},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"padding_loc192_1",1647},
{"extractDateTimeSecondRank",837},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc191_2",1652},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"Ensemble_Combinat_Number_0_none_E4",49},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"oneMinuteMeanMinimumRVR1",1584},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"oneMinuteMeanMinimumRVR3",1593},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather1PresentTrend4",1754},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Ensemble_Combinat_Number_0_none_E3",48},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"presentWeather1PresentTrend3",1753},
+ {"presentWeather3PresentTrend4",1773},
{""}, {""}, {""}, {""}, {""},
- {"ExtremeValuesInMaximumRVR4",60},
+ {"padding_loc15_1",1645},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ECMWF_s",46},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather3PresentTrend2",1762},
- {"extremeValuesRVR1",851},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"padding_sec2_1",1686},
+ {"lastMonthUsedToBuildClimateMonth2",1087},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"padding_loc2_1",1664},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc29_1",1661},
- {""},
- {"ExtremeValuesInMaximumRVR3",59},
- {""},
- {"padding_loc28_1",1660},
+ {"ExtremeValuesRVR4",63},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"padding_grid5_1",1627},
- {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBase2Trend4",468},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Time_Range_Two_E2",254},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"lastMonthUsedToBuildClimateMonth1",1086},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
{"extractDateTimeDayRank",824},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ExtremeValuesInMaximumRVR4",59},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GG",68},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc14_1",1636},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc191_1",1644},
+ {"presentWeather2PresentTrend2",1766},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"lBB",1080},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc26_1",1664},
+ {"Model_LBC_Member_Identifier",169},
+ {""}, {""}, {""}, {""},
+ {"Local_Number_Members_Used_E3",140},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"cloudsBase2Trend2",467},
+ {"presentWeather1PresentTrend2",1761},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc244_3",1654},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"padding_loc13_1",1631},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"padding_loc20_1",1649},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"Ensemble_Combinat_Number_0_none_E2",47},
- {""}, {""}, {""}, {""},
- {"GG",69},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"TYPE_FX",246},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather2PresentTrend2",1757},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"meanValueRVR4",1317},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"YpInGridLengths",287},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"cloudsBase2Trend1",466},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"NINT_RITZ_EXP",186},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayBrakingActionState4",1886},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"padding_loc26_1",1657},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"meanValueRVR3",1316},
+ {"ExtremeValuesRVR2",61},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"padding_loc21_1",1657},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"padding_loc12_1",1630},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"runwayBrakingActionState3",1885},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"bitsPerValueAndRepack",377},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"presentWeather3PresentTrend1",1761},
- {""}, {""}, {""}, {""},
- {"lastMonthUsedToBuildClimateMonth2",1086},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"LBC_Initial_Conditions",97},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ExtremeValuesRVR4",64},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather1PresentTrend2",1752},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"padding_loc13_5",1635},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ExtremeValuesRVR3",63},
- {""}, {""}, {""},
- {"Time_Range_Two_E4",257},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc27_2",1659},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"X2InGridLengths",271},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"Missing_Model_LBC",164},
- {""}, {""}, {""}, {""},
- {"GRIBEditionNumber",74},
+ {"cloudsBase2Trend2",466},
{""},
- {"Time_Range_Two_E3",256},
+ {"P_TAVG",220},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"indexingTimeHHMM",998},
+ {""}, {""}, {""}, {""},
+ {"swapScanningY",2239},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Time_Range_Two_E3",255},
+ {"NINT_RITZ_EXP",185},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"presentWeather2PresentTrend1",1765},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ExtremeValuesRVR1",60},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"cloudsBase2Trend1",465},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"presentWeather1PresentTrend1",1760},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ExtremeValuesInMaximumRVR2",58},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"padding_loc191_2",1645},
+ {"presentWeather3PresentTrend2",1771},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc23_1",1658},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Local_Number_Members_Used_E4",142},
+ {""},
+ {"TYPE_FC",243},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"GRIBEditionNumber",73},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"precisionOfTheUnpackedSubset",1741},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"TYPE_FC",244},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Local_Number_Members_Used_E3",141},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"lastMonthUsedToBuildClimateMonth1",1085},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"GRIB",70},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"presentWeather2PresentTrend1",1756},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"X1InGridLengths",269},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"ExtremeValuesRVR2",62},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"padding_loc15_1",1638},
- {""}, {""}, {""}, {""}, {""},
- {"Time_Range_Two_E2",255},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
{"extremeCounterClockwiseWindDirection",850},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"padding_loc23_1",1651},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"meanValueRVR2",1315},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"runwayBrakingActionState2",1884},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"presentWeather1PresentTrend1",1751},
- {"gts_CCCC",946},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc27_1",1658},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Original_Parameter_Iden_CodeTable2",211},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ExtremeValuesRVR1",61},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ExtremeValuesInMaximumRVR1",57},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"padding_loc244_1",1652},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"Local_Number_Members_Used_E2",140},
+ {"ExtremeValuesRVR3",62},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"padding_loc244_1",1659},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"cloudsBase2Trend3",467},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"P_TAVG",221},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfUnusedBitsAtEndOfSection3",1513},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc21_1",1650},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"meanValueRVR1",1314},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"Y2InGridLengths",280},
+ {"presentWeather3PresentTrend1",1770},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"Model_LBC_Member_Identifier",170},
+ {"ExtremeValuesInMaximumRVR2",57},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"runwayBrakingActionState1",1883},
+ {"runwayBrakingActionState4",1895},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"meanValueRVR4",1319},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"YpInGridLengths",286},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"ExtremeValuesInMaximumRVR1",56},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"presentWeather2PresentTrend3",1767},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -7946,31 +7694,10 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Missing_Model_LBC_E4",166},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc244_2",1653},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"presentWeather1PresentTrend3",1762},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -7985,7 +7712,21 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Y1InGridLengths",278},
+ {"Show_Combination_Ensem_E4_0_no_1_yes",233},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc13_5",1642},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8004,6 +7745,13 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"YY",282},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"presentWeather3PresentTrend3",1772},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8011,8 +7759,7 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"INGRIB",90},
+ {"padding_loc244_3",1661},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8023,11 +7770,24 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Show_Combination_Ensem_E2_0_no_1_yes",231},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayBrakingActionState2",1893},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"padding_loc245_1",1655},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"At_least__Or_Distribut_Proportion_Of",14},
+ {"meanValueRVR2",1317},
+ {""}, {""}, {""},
+ {"ExtremeValuesInMaximumRVR3",58},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8035,14 +7795,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"Missing_Model_LBC_E4",167},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"BBB",16},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8054,7 +7806,54 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"Missing_Model_LBC_E3",166},
+ {"GRIB",69},
+ {""}, {""}, {""}, {""},
+ {"numberOfUnusedBitsAtEndOfSection3",1518},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"runwayBrakingActionState1",1892},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"meanValueRVR1",1316},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"Missing_Model_LBC_E2",164},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"Show_Combination_Ensem_E3_0_no_1_yes",232},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8092,6 +7891,8 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"padding_loc244_2",1660},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8105,6 +7906,8 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc245_1",1662},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8116,6 +7919,18 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"runwayBrakingActionState3",1894},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"meanValueRVR3",1318},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8143,13 +7958,17 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"padding_loc245_2",1656},
+ {"GRIBEXSection1Problem",70},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"Y2InGridLengths",279},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Missing_Model_LBC_E3",165},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8158,6 +7977,10 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"AEC_PAD_RSI_OPTION_MASK",11},
+ {""}, {""}, {""}, {""},
+ {"Y1InGridLengths",277},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8178,7 +8001,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Missing_Model_LBC_E2",165},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8227,8 +8049,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"GRIBEXSection1Problem",71},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8263,652 +8083,105 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"Used_Model_LBC",260},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"INGRIB",89},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"padding_loc245_2",1663},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
{"BUDG",17},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"Show_Combination_Ensem_E4_0_no_1_yes",234},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Show_Combination_Ensem_E3_0_no_1_yes",233},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"numberOfBitsUsedForTheGroupWidths",1408},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Show_Combination_Ensem_E2_0_no_1_yes",232},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"Used_Model_LBC",261},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"NINT_LOG10_RITZ",185},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"GRIBEX_boustrophedonic",73},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"GRIB_DEPTH",75},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"GRIBEXShBugPresent",72},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"AEC_PAD_RSI_OPTION_MASK",11},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"numberOfBitsUsedForTheGroupWidths",1413},
{""},
- {"Used_Model_LBC_E4",264},
+ {"BBB",16},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"NINT_LOG10_RITZ",184},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"Used_Model_LBC_E3",263},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -8969,8 +8242,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"Used_Model_LBC_E2",262},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9025,6 +8296,8 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"GRIBEX_boustrophedonic",72},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9199,91 +8472,8 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"GRIB_LATITUDE",76},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GRIBEXShBugPresent",71},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9484,7 +8674,244 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"Used_Model_LBC_E4",263},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"GRIB_DEPTH",74},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"Used_Model_LBC_E2",261},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"Used_Model_LBC_E3",262},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GRIB_LATITUDE",75},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
{"AEC_RESTRICTED_OPTION_MASK",12},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9533,100 +8960,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
{"AEC_DATA_3BYTE_OPTION_MASK",7},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9649,8 +8982,6 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"GRIB_LONGITUDE",77},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9666,236 +8997,7 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"AEC_DATA_MSB_OPTION_MASK",8},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -9985,21 +9087,380 @@ static const struct grib_keys_hash wordlist[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"GRIB_LONGITUDE",76},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
{"AEC_DATA_PREPROCESS_OPTION_MASK",9}
};
const struct grib_keys_hash *
-grib_keys_hash_get (const char *str, size_t len)
+grib_keys_hash_get ( const char *str, size_t len)
{
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- unsigned int key = hash_keys (str, len);
+ unsigned int key = hash_keys (str, len);
if (key <= MAX_HASH_VALUE)
if (len == lengthtable[key])
{
- const char *s = wordlist[key].name;
+ const char *s = wordlist[key].name;
if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
return &wordlist[key];
diff --git a/src/grib_iarray.cc b/src/grib_iarray.cc
index 50d16bcaa..f69adfffd 100644
--- a/src/grib_iarray.cc
+++ b/src/grib_iarray.cc
@@ -46,8 +46,7 @@ grib_iarray* grib_iarray_new(grib_context* c, size_t size, size_t incsize)
v = (grib_iarray*)grib_context_malloc(c, sizeof(grib_iarray));
if (!v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_iarray_new unable to allocate %zu bytes", sizeof(grib_iarray));
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(grib_iarray));
return NULL;
}
v->context = c;
@@ -57,8 +56,7 @@ grib_iarray* grib_iarray_new(grib_context* c, size_t size, size_t incsize)
v->v = (long*)grib_context_malloc(c, sizeof(long) * size);
v->number_of_pop_front = 0;
if (!v->v) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_iarray_new unable to allocate %zu bytes", sizeof(long) * size);
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(long) * size);
return NULL;
}
return v;
@@ -98,8 +96,7 @@ static grib_iarray* grib_iarray_resize_to(grib_iarray* v, size_t newsize)
newv = (long*)grib_context_malloc_clear(c, newsize * sizeof(long));
if (!newv) {
- grib_context_log(c, GRIB_LOG_ERROR,
- "grib_iarray_resize unable to allocate %zu bytes", sizeof(long) * newsize);
+ grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to allocate %zu bytes", __func__, sizeof(long) * newsize);
return NULL;
}
diff --git a/src/grib_index.cc b/src/grib_index.cc
index 9998ac843..b6eb0b3a2 100644
--- a/src/grib_index.cc
+++ b/src/grib_index.cc
@@ -9,6 +9,8 @@
*/
#include "grib_api_internal.h"
+#include