diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f11896b00..16c400bec 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -27,6 +27,7 @@ jobs:
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
with:
eccodes: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }}
+ codecov_upload: true
secrets: inherit
# Run CI of private downstream packages on self-hosted runners
@@ -74,15 +75,6 @@ jobs:
event_type: downstream-ci-hpc
payload: '{"eccodes": "ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }}"}'
- codecov:
- name: code-coverage
- if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
- uses: ./.github/workflows/reusable-ci.yml
- with:
- eccodes: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }}
- codecov: true
- secrets: inherit
-
notify:
runs-on: ubuntu-latest
needs:
@@ -90,7 +82,6 @@ jobs:
- private-downstream-ci
- downstream-ci-hpc
- private-downstream-ci-hpc
- - codecov
if: always() && ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
steps:
- name: Trigger Teams notification
diff --git a/README.md b/README.md
index 6859a1f1a..05d59c9f1 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@ INSTALLATION
```
cmake ../eccodes-x.y.z-Source -DCMAKE_INSTALL_PREFIX=/path/to/where/you/install/eccodes
```
-
+
It is strongly recommended that you install into a clean directory
5. Compile, test and install:
diff --git a/VERSION b/VERSION
index aa5388f63..3a05135cd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.35.0
+2.36.0
diff --git a/definitions/check_grib_defs.pl b/definitions/check_grib_defs.pl
index dba8c0e27..d011680f3 100755
--- a/definitions/check_grib_defs.pl
+++ b/definitions/check_grib_defs.pl
@@ -204,6 +204,7 @@ sub process {
}
elsif ($this =~ /'(.*)' *= *{/) {
$concept = $1;
+ die "File: $filename, line: $lineNum: Value is empty." if ($concept eq '');
die "File: $filename, line: $lineNum: Value contains invalid characters." if (non_printable($concept));
if ($filename eq 'cfVarName.def') {
#if ($concept =~ /^[0-9]/) {
diff --git a/definitions/grib1/cfVarName.def b/definitions/grib1/cfVarName.def
index 50489e1a6..94c685c22 100644
--- a/definitions/grib1/cfVarName.def
+++ b/definitions/grib1/cfVarName.def
@@ -1148,36 +1148,6 @@
table2Version = 1 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'ucurr' = {
- table2Version = 3 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'ucurr' = {
- table2Version = 2 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'ucurr' = {
- table2Version = 1 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 3 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 2 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 1 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'mixr' = {
table2Version = 3 ;
diff --git a/definitions/grib1/localConcepts/ecmf/cfName.def b/definitions/grib1/localConcepts/ecmf/cfName.def
index 48b023899..f1377da79 100644
--- a/definitions/grib1/localConcepts/ecmf/cfName.def
+++ b/definitions/grib1/localConcepts/ecmf/cfName.def
@@ -909,12 +909,12 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
+#Eastward surface sea water velocity
'eastward_sea_water_velocity' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
+#Northward surface sea water velocity
'northward_sea_water_velocity' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def
index 6e19617e2..e3d757597 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 ;
@@ -13024,12 +13024,12 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
+#Eastward surface sea water velocity
'uoe' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
+#Northward surface sea water velocity
'von' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
@@ -13244,7 +13244,7 @@
table2Version = 151 ;
indicatorOfParameter = 174 ;
}
-#Average salinity in the upper 300m
+#Average sea water practical salinity in the upper 300m
'sav300' = {
table2Version = 151 ;
indicatorOfParameter = 175 ;
diff --git a/definitions/grib1/localConcepts/ecmf/name.def b/definitions/grib1/localConcepts/ecmf/name.def
index bee6eddab..77d5535a7 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 ;
}
@@ -13024,13 +13024,13 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
-'Eastward sea water velocity' = {
+#Eastward surface sea water velocity
+'Eastward surface sea water velocity' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
-'Northward sea water velocity' = {
+#Northward surface sea water velocity
+'Northward surface sea water velocity' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
}
@@ -13244,8 +13244,8 @@
table2Version = 151 ;
indicatorOfParameter = 174 ;
}
-#Average salinity in the upper 300m
-'Average salinity in the upper 300m' = {
+#Average sea water practical salinity in the upper 300m
+'Average sea water practical salinity in the upper 300m' = {
table2Version = 151 ;
indicatorOfParameter = 175 ;
}
diff --git a/definitions/grib1/localConcepts/ecmf/paramId.def b/definitions/grib1/localConcepts/ecmf/paramId.def
index bd07cf762..0ea5b7ea3 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 ;
@@ -13024,12 +13024,12 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
+#Eastward surface sea water velocity
'151131' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
+#Northward surface sea water velocity
'151132' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
@@ -13244,7 +13244,7 @@
table2Version = 151 ;
indicatorOfParameter = 174 ;
}
-#Average salinity in the upper 300m
+#Average sea water practical salinity in the upper 300m
'151175' = {
table2Version = 151 ;
indicatorOfParameter = 175 ;
diff --git a/definitions/grib1/localConcepts/ecmf/paramIdForConversion.def b/definitions/grib1/localConcepts/ecmf/paramIdForConversion.def
new file mode 100644
index 000000000..07b7d5a83
--- /dev/null
+++ b/definitions/grib1/localConcepts/ecmf/paramIdForConversion.def
@@ -0,0 +1,37 @@
+# Concept paramIdForConversion for ECMWF
+# See ECC-1806
+
+# 55
+228004 = {gribTablesVersionNo=128; indicatorOfParameter=55; centre=98;}
+# 56
+235168 = {gribTablesVersionNo=128; indicatorOfParameter=56; centre=98;}
+# 130232
+235135 = {gribTablesVersionNo=130; indicatorOfParameter=232; centre=98;}
+# 151163
+262104 = {gribTablesVersionNo=151; indicatorOfParameter=163; centre=98;}
+# 151145
+262124 = {gribTablesVersionNo=151; indicatorOfParameter=145; centre=98;}
+# 172146
+235033 = {gribTablesVersionNo=172; indicatorOfParameter=146; centre=98;}
+# 172147
+235034 = {gribTablesVersionNo=172; indicatorOfParameter=147; centre=98;}
+# 172169
+235035 = {gribTablesVersionNo=172; indicatorOfParameter=169; centre=98;}
+# 172175
+235036 = {gribTablesVersionNo=172; indicatorOfParameter=175; centre=98;}
+# 172176
+235037 = {gribTablesVersionNo=172; indicatorOfParameter=176; centre=98;}
+# 172177
+235038 = {gribTablesVersionNo=172; indicatorOfParameter=177; centre=98;}
+# 172178
+235039 = {gribTablesVersionNo=172; indicatorOfParameter=178; centre=98;}
+# 172179
+235040 = {gribTablesVersionNo=172; indicatorOfParameter=179; centre=98;}
+# 174098
+262000 = {gribTablesVersionNo=174; indicatorOfParameter=98; centre=98;}
+# 151175
+262118 = {gribTablesVersionNo=151; indicatorOfParameter=175; centre=98;}
+# 151132
+262139 = {gribTablesVersionNo=151; indicatorOfParameter=132; centre=98;}
+# 151131
+262140 = {gribTablesVersionNo=151; indicatorOfParameter=131; centre=98;}
diff --git a/definitions/grib1/localConcepts/ecmf/shortName.def b/definitions/grib1/localConcepts/ecmf/shortName.def
index 54ef51c2b..4eb5e6f67 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 ;
@@ -13024,12 +13024,12 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
+#Eastward surface sea water velocity
'ocu' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
+#Northward surface sea water velocity
'ocv' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
@@ -13244,7 +13244,7 @@
table2Version = 151 ;
indicatorOfParameter = 174 ;
}
-#Average salinity in the upper 300m
+#Average sea water practical salinity in the upper 300m
'sav300' = {
table2Version = 151 ;
indicatorOfParameter = 175 ;
diff --git a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
index c649d29a6..25aae31d8 100644
--- a/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
+++ b/definitions/grib1/localConcepts/ecmf/stepTypeForConversion.def
@@ -1,37 +1,220 @@
# Concept stepTypeForConversion for ECMWF
-# set uses the FIRST one
-# get returns the LAST match
-# ECC-457: ECMWF Total Precipitation
-"accum" = {timeRangeIndicator=0;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
-"accum" = {timeRangeIndicator=1;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
-"accum" = {timeRangeIndicator=10;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
+# ECC-457: total precipitation
+"accum"={timeRangeIndicator=0;indicatorOfParameter=228;gribTablesVersionNo=128;centre=98;}
+"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;}
+# mvv
+"avg"={gribTablesVersionNo=130;indicatorOfParameter=232;centre=98;}
+# msshfl
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=146;centre=98;}
+# mslhfl
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=147;centre=98;}
+# mean2t24
+"avg"={gribTablesVersionNo=128;indicatorOfParameter=55;centre=98;}
+# mn2d24
+"avg"={gribTablesVersionNo=128;indicatorOfParameter=56;centre=98;}
+# msdsrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=169;centre=98;}
+# msdtrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=175;centre=98;}
+# msnsrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=176;centre=98;}
+# msntrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=177;centre=98;}
+# mtnsrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=178;centre=98;}
+# mtntrf
+"avg"={gribTablesVersionNo=172;indicatorOfParameter=179;centre=98;}
diff --git a/definitions/grib1/localConcepts/ecmf/units.def b/definitions/grib1/localConcepts/ecmf/units.def
index c2c79b985..193a0e3c6 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 ;
@@ -13024,12 +13024,12 @@
table2Version = 151 ;
indicatorOfParameter = 130 ;
}
-#Eastward sea water velocity
+#Eastward surface sea water velocity
'm s**-1' = {
table2Version = 151 ;
indicatorOfParameter = 131 ;
}
-#Northward sea water velocity
+#Northward surface sea water velocity
'm s**-1' = {
table2Version = 151 ;
indicatorOfParameter = 132 ;
@@ -13244,7 +13244,7 @@
table2Version = 151 ;
indicatorOfParameter = 174 ;
}
-#Average salinity in the upper 300m
+#Average sea water practical salinity in the upper 300m
'psu' = {
table2Version = 151 ;
indicatorOfParameter = 175 ;
diff --git a/definitions/grib1/localConcepts/rjtd/cfVarName.def b/definitions/grib1/localConcepts/rjtd/cfVarName.def
index 5b95ee846..a41399122 100644
--- a/definitions/grib1/localConcepts/rjtd/cfVarName.def
+++ b/definitions/grib1/localConcepts/rjtd/cfVarName.def
@@ -665,16 +665,6 @@
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'ucurr' = {
- table2Version = 200 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 200 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'mixr' = {
table2Version = 200 ;
diff --git a/definitions/grib1/localConcepts/rjtd/name.def b/definitions/grib1/localConcepts/rjtd/name.def
index 50010a10d..d23af9d8e 100644
--- a/definitions/grib1/localConcepts/rjtd/name.def
+++ b/definitions/grib1/localConcepts/rjtd/name.def
@@ -665,16 +665,6 @@
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'U-component of current' = {
- table2Version = 200 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'V-component of current' = {
- table2Version = 200 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'Humidity mixing ratio' = {
table2Version = 200 ;
diff --git a/definitions/grib1/localConcepts/rjtd/paramId.def b/definitions/grib1/localConcepts/rjtd/paramId.def
index 589e86e05..d08f41247 100644
--- a/definitions/grib1/localConcepts/rjtd/paramId.def
+++ b/definitions/grib1/localConcepts/rjtd/paramId.def
@@ -665,16 +665,6 @@
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'3049' = {
- table2Version = 200 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'3050' = {
- table2Version = 200 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'3053' = {
table2Version = 200 ;
diff --git a/definitions/grib1/localConcepts/rjtd/shortName.def b/definitions/grib1/localConcepts/rjtd/shortName.def
index 109414b94..10b57b914 100644
--- a/definitions/grib1/localConcepts/rjtd/shortName.def
+++ b/definitions/grib1/localConcepts/rjtd/shortName.def
@@ -665,16 +665,6 @@
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'ucurr' = {
- table2Version = 200 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 200 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'mixr' = {
table2Version = 200 ;
diff --git a/definitions/grib1/localConcepts/rjtd/units.def b/definitions/grib1/localConcepts/rjtd/units.def
index 93e7b0e56..05a2a7758 100644
--- a/definitions/grib1/localConcepts/rjtd/units.def
+++ b/definitions/grib1/localConcepts/rjtd/units.def
@@ -665,16 +665,6 @@
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'m s**-1' = {
- table2Version = 200 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'m s**-1' = {
- table2Version = 200 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'kg kg**-1' = {
table2Version = 200 ;
diff --git a/definitions/grib1/name.def b/definitions/grib1/name.def
index 7d9a3f84b..e7352f034 100644
--- a/definitions/grib1/name.def
+++ b/definitions/grib1/name.def
@@ -1148,36 +1148,6 @@
table2Version = 1 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'U-component of current' = {
- table2Version = 3 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'U-component of current' = {
- table2Version = 2 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'U-component of current' = {
- table2Version = 1 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'V-component of current' = {
- table2Version = 3 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'V-component of current' = {
- table2Version = 2 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'V-component of current' = {
- table2Version = 1 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'Humidity mixing ratio' = {
table2Version = 3 ;
diff --git a/definitions/grib1/paramId.def b/definitions/grib1/paramId.def
index f3031f392..425fa489d 100644
--- a/definitions/grib1/paramId.def
+++ b/definitions/grib1/paramId.def
@@ -1148,36 +1148,6 @@
table2Version = 1 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'3049' = {
- table2Version = 3 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'3049' = {
- table2Version = 2 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'3049' = {
- table2Version = 1 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'3050' = {
- table2Version = 3 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'3050' = {
- table2Version = 2 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'3050' = {
- table2Version = 1 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'3053' = {
table2Version = 3 ;
diff --git a/definitions/grib1/paramIdForConversion.def b/definitions/grib1/paramIdForConversion.def
new file mode 100644
index 000000000..8cd3ea212
--- /dev/null
+++ b/definitions/grib1/paramIdForConversion.def
@@ -0,0 +1,3 @@
+# Concept paramIdForConversion
+# See ECC-1806
+0 = {dummy=0;}
diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def
index 500b7de8f..d62300f27 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;
}
@@ -325,3 +325,6 @@ if (stepTypeForConversion is "accum" ) {
meta md5Section1 md5(offsetSection1,section1Length);
# md5(start,length,blacklisted1,blacklisted2,...);
meta md5Product md5(offsetSection1,section1Length,gridDefinition,section1Flags,decimalScaleFactor);
+
+# ECC-1806
+concept_nofail paramIdForConversion(zero, "paramIdForConversion.def", conceptsDir2, conceptsDir1) : long_type,read_only;
diff --git a/definitions/grib1/shortName.def b/definitions/grib1/shortName.def
index d78bf0d39..e2153ff94 100644
--- a/definitions/grib1/shortName.def
+++ b/definitions/grib1/shortName.def
@@ -1148,36 +1148,6 @@
table2Version = 1 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'ucurr' = {
- table2Version = 3 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'ucurr' = {
- table2Version = 2 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'ucurr' = {
- table2Version = 1 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 3 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 2 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'vcurr' = {
- table2Version = 1 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'mixr' = {
table2Version = 3 ;
diff --git a/definitions/grib1/units.def b/definitions/grib1/units.def
index a8a949696..4ad5faeaa 100644
--- a/definitions/grib1/units.def
+++ b/definitions/grib1/units.def
@@ -1148,36 +1148,6 @@
table2Version = 1 ;
indicatorOfParameter = 48 ;
}
-#U-component of current
-'m s**-1' = {
- table2Version = 3 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'m s**-1' = {
- table2Version = 2 ;
- indicatorOfParameter = 49 ;
- }
-#U-component of current
-'m s**-1' = {
- table2Version = 1 ;
- indicatorOfParameter = 49 ;
- }
-#V-component of current
-'m s**-1' = {
- table2Version = 3 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'m s**-1' = {
- table2Version = 2 ;
- indicatorOfParameter = 50 ;
- }
-#V-component of current
-'m s**-1' = {
- table2Version = 1 ;
- indicatorOfParameter = 50 ;
- }
#Humidity mixing ratio
'kg kg**-1' = {
table2Version = 3 ;
diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def
index d2c44fb74..b92116397 100644
--- a/definitions/grib2/boot.def
+++ b/definitions/grib2/boot.def
@@ -11,7 +11,7 @@
# See https://community.wmo.int/activity-areas/wmo-codes/manual-codes/latest-version
constant tablesVersionLatestOfficial = 32 : edition_specific;
# If this is different from the official version, then it is the pre-operational version
-constant tablesVersionLatest = 32 : edition_specific;
+constant tablesVersionLatest = 33 : edition_specific;
constant false = 0 : hidden;
constant true = 1 : hidden;
@@ -53,3 +53,6 @@ concept isTemplateDeprecated(false) {
concept isTemplateExperimental(false) {
1 = { template_is_experimental = 1; }
}
+
+# ECC-1806
+transient paramIdForConversion = 0;
diff --git a/definitions/grib2/cfName.def b/definitions/grib2/cfName.def
index 3ff5e57ac..a3105477e 100644
--- a/definitions/grib2/cfName.def
+++ b/definitions/grib2/cfName.def
@@ -343,20 +343,6 @@
parameterCategory = 1 ;
parameterNumber = 10 ;
}
-#Eastward sea water velocity
-'eastward_sea_water_velocity' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 2 ;
- typeOfFirstFixedSurface = 160 ;
- }
-#Northward sea water velocity
-'northward_sea_water_velocity' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 3 ;
- typeOfFirstFixedSurface = 160 ;
- }
#Nitrogen dioxide mass mixing ratio
'mass_fraction_of_nitrogen_dioxide_in_air' = {
discipline = 0 ;
diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def
index ce2d3e54f..33c22592d 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 ;
@@ -3802,6 +3824,55 @@
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 ;
@@ -4723,6 +4794,285 @@
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 snow depth
+'msde' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean snow cover
+'msnowc' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean geopotential
+'mz' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean temperature
+'mt' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ 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 specific humidity
+'mq' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean surface pressure
+'msp' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean vertical velocity
+'mw' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ 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 boundary layer height
+'mblh' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 18 ;
+ 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 ;
@@ -6458,6 +6808,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 ;
@@ -9837,18 +10194,6 @@
parameterCategory = 2 ;
parameterNumber = 16 ;
}
-#U-component of current
-'ucurr' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 2 ;
- }
-#V-component of current
-'vcurr' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 3 ;
- }
#Precipitable water
'pwat' = {
discipline = 0 ;
@@ -10023,11 +10368,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' = {
@@ -10215,20 +10560,6 @@
parameterCategory = 0 ;
parameterNumber = 44 ;
}
-#Eastward sea water velocity
-'uoe' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 2 ;
- typeOfFirstFixedSurface = 160 ;
- }
-#Northward sea water velocity
-'von' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 3 ;
- typeOfFirstFixedSurface = 160 ;
- }
#Skin reservoir content
'srcrea' = {
discipline = 2 ;
@@ -10534,6 +10865,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/localConcepts/cerise/cfVarName.def b/definitions/grib2/localConcepts/cerise/cfVarName.def
index 6810066ae..0ccc6c90f 100644
--- a/definitions/grib2/localConcepts/cerise/cfVarName.def
+++ b/definitions/grib2/localConcepts/cerise/cfVarName.def
@@ -17,6 +17,30 @@
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 ;
@@ -128,6 +152,64 @@
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 ;
@@ -146,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 ;
@@ -154,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 d028b2155..cac36cdea 100644
--- a/definitions/grib2/localConcepts/cerise/name.def
+++ b/definitions/grib2/localConcepts/cerise/name.def
@@ -17,6 +17,30 @@
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 ;
@@ -128,6 +152,64 @@
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 ;
@@ -146,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 ;
@@ -154,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 96ac8ad97..c4af1e971 100644
--- a/definitions/grib2/localConcepts/cerise/paramId.def
+++ b/definitions/grib2/localConcepts/cerise/paramId.def
@@ -17,6 +17,30 @@
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 ;
@@ -128,6 +152,64 @@
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 ;
@@ -146,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 ;
@@ -154,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 6810066ae..0ccc6c90f 100644
--- a/definitions/grib2/localConcepts/cerise/shortName.def
+++ b/definitions/grib2/localConcepts/cerise/shortName.def
@@ -17,6 +17,30 @@
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 ;
@@ -128,6 +152,64 @@
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 ;
@@ -146,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 ;
@@ -154,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 d02b75b94..afc663307 100644
--- a/definitions/grib2/localConcepts/cerise/units.def
+++ b/definitions/grib2/localConcepts/cerise/units.def
@@ -17,6 +17,30 @@
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 ;
@@ -128,6 +152,64 @@
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 ;
@@ -146,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 ;
@@ -154,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/cfName.def b/definitions/grib2/localConcepts/ecmf/cfName.def
index f32ddc9a7..2ef70fa76 100644
--- a/definitions/grib2/localConcepts/ecmf/cfName.def
+++ b/definitions/grib2/localConcepts/ecmf/cfName.def
@@ -476,48 +476,12 @@
parameterCategory = 218 ;
parameterNumber = 200 ;
}
-#Sea water potential temperature
-'sea_water_potential_temperature' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'sea_water_practical_salinity' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'upward_sea_water_velocity' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
-#Sea water sigma theta
-'sea_water_sigma_theta' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Ocean barotropic stream function
'ocean_barotropic_streamfunction' = {
discipline = 192 ;
parameterCategory = 151 ;
parameterNumber = 147 ;
}
-#Surface downward eastward stress
-'surface_downward_eastward_stress' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'surface_downward_northward_stress' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Carbon dioxide mass mixing ratio
'mass_fraction_of_carbon_dioxide_in_air' = {
discipline = 192 ;
diff --git a/definitions/grib2/localConcepts/ecmf/cfName.legacy.def b/definitions/grib2/localConcepts/ecmf/cfName.legacy.def
index e3b2b9750..b343a5b2c 100644
--- a/definitions/grib2/localConcepts/ecmf/cfName.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/cfName.legacy.def
@@ -148,3 +148,39 @@
parameterCategory = 128 ;
parameterNumber = 206 ;
}
+#Sea water potential temperature
+'sea_water_potential_temperature' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'sea_water_practical_salinity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'upward_sea_water_velocity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'sea_water_sigma_theta' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'surface_downward_eastward_stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'surface_downward_northward_stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def
index 9e62226b7..6794b74a6 100644
--- a/definitions/grib2/localConcepts/ecmf/cfVarName.def
+++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def
@@ -224,18 +224,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 24 ;
}
-#Mean temperature at 2 metres in the last 24 hours
-'mean2t24' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours
-'mn2d24' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 56 ;
- }
#Observation count
'obct' = {
discipline = 192 ;
@@ -2579,6 +2567,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 +13831,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 ;
@@ -14385,18 +14431,6 @@
parameterCategory = 129 ;
parameterNumber = 54 ;
}
-#Mean 2 metre temperature in the last 24 hours gradient
-'mean2t24grd' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours gradient
-'mn2d24grd' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 56 ;
- }
#Downward UV radiation at the surface gradient
'uvbgrd' = {
discipline = 192 ;
@@ -15669,12 +15703,6 @@
parameterCategory = 130 ;
parameterNumber = 231 ;
}
-#Mean vertical velocity
-'mvv' = {
- discipline = 192 ;
- parameterCategory = 130 ;
- parameterNumber = 232 ;
- }
#2m temperature anomaly of at least +2K
't2ag2' = {
discipline = 192 ;
@@ -16573,30 +16601,6 @@
parameterCategory = 140 ;
parameterNumber = 200 ;
}
-#Standard deviation wave height
-'sdhs' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 240 ;
- }
-#Mean of 10 metre wind speed
-'mu10' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 241 ;
- }
-#Mean wind direction
-'mdwi' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 242 ;
- }
-#Standard deviation of 10 metre wind speed
-'sdu' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 243 ;
- }
#2D wave spectra (multiple)
'd2sp' = {
discipline = 192 ;
@@ -16813,24 +16817,6 @@
parameterCategory = 151 ;
parameterNumber = 128 ;
}
-#Sea water potential temperature
-'thetao' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'so' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'wo' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
#Modulus of strain rate tensor
'mst' = {
discipline = 192 ;
@@ -16855,12 +16841,6 @@
parameterCategory = 151 ;
parameterNumber = 137 ;
}
-#Sea water sigma theta
-'sigmat' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Richardson number
'rn' = {
discipline = 192 ;
@@ -16933,18 +16913,6 @@
parameterCategory = 151 ;
parameterNumber = 152 ;
}
-#Surface downward eastward stress
-'taueo' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'tauno' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Turbulent kinetic energy input
'tki' = {
discipline = 192 ;
@@ -17545,198 +17513,6 @@
parameterCategory = 160 ;
parameterNumber = 254 ;
}
-#Surface geopotential
-'p51.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 51 ;
- }
-#Vertical integral of temperature
-'vit' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 54 ;
- }
-#Vertical integral of cloud liquid water
-'vilw' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 56 ;
- }
-#Vertical integral of cloud frozen water
-'viiw' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 57 ;
- }
-#Vertical integral of ozone
-'vioz' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 58 ;
- }
-#Vertical integral of energy conversion
-'viec' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 64 ;
- }
-#Vertical integral of eastward mass flux
-'vimae' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 65 ;
- }
-#Vertical integral of northward mass flux
-'viman' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 66 ;
- }
-#Vertical integral of eastward kinetic energy flux
-'vikee' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 67 ;
- }
-#Vertical integral of northward kinetic energy flux
-'viken' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 68 ;
- }
-#Vertical integral of eastward geopotential flux
-'vige' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 73 ;
- }
-#Vertical integral of northward geopotential flux
-'vign' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 74 ;
- }
-#Vertical integral of eastward total energy flux
-'vitoee' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 75 ;
- }
-#Vertical integral of northward total energy flux
-'vitoen' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 76 ;
- }
-#Vertical integral of eastward ozone flux
-'vioze' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 77 ;
- }
-#Vertical integral of northward ozone flux
-'viozn' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 78 ;
- }
-#Vertical integral of divergence of mass flux
-'vimad' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 81 ;
- }
-#Vertical integral of divergence of kinetic energy flux
-'viked' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 82 ;
- }
-#Vertical integral of divergence of thermal energy flux
-'vithed' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 83 ;
- }
-#Vertical integral of divergence of geopotential flux
-'vigd' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 85 ;
- }
-#Vertical integral of divergence of total energy flux
-'vitoed' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 86 ;
- }
-#Vertical integral of divergence of ozone flux
-'viozd' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 87 ;
- }
-#Variance of geopotential
-'p206.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 206 ;
- }
-#Covariance of geopotential/temperature
-'p207.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 207 ;
- }
-#Variance of temperature
-'p208.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 208 ;
- }
-#Covariance of geopotential/specific humidity
-'p209.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 209 ;
- }
-#Covariance of temperature/specific humidity
-'p210.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 210 ;
- }
-#Variance of specific humidity
-'p211.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 211 ;
- }
-#Covariance of u component/geopotential
-'p212.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 212 ;
- }
-#Covariance of u component/temperature
-'p213.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 213 ;
- }
-#Covariance of u component/specific humidity
-'p214.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 214 ;
- }
-#Variance of u component
-'p215.162' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 215 ;
- }
#Covariance of v component/geopotential
'p216.162' = {
discipline = 192 ;
@@ -18987,21 +18763,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' = {
@@ -19009,18 +18794,6 @@
parameterCategory = 172 ;
parameterNumber = 145 ;
}
-#Mean surface sensible heat flux
-'msshfl' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 146 ;
- }
-#Mean surface latent heat flux
-'mslhfl' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 147 ;
- }
#Mean short-wave heating rate
'mswhr' = {
discipline = 192 ;
@@ -19033,59 +18806,14 @@
parameterCategory = 172 ;
parameterNumber = 154 ;
}
-#Mean surface downward solar radiation flux
-'msdsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 169 ;
- }
-#Mean surface downward thermal radiation flux
-'msdtrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 175 ;
- }
-#Mean surface net solar radiation flux
-'msnsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 176 ;
- }
-#Mean surface net thermal radiation flux
-'msntrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 177 ;
- }
-#Mean top net solar radiation flux
-'mtnsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 178 ;
- }
-#Mean top net thermal radiation flux
-'mtntrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 179 ;
- }
-#East-West surface stress rate of accumulation
-'ewssra' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 180 ;
- }
-#North-South surface stress rate of accumulation
-'nsssra' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 181 ;
- }
#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,45 +18841,21 @@
}
#Mean runoff rate
'mrort' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
- }
-#Top net solar radiation, clear sky
-'p208.172' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 208 ;
- }
-#Top net thermal radiation, clear sky
-'p209.172' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 209 ;
- }
-#Surface net solar radiation, clear sky
-'p210.172' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 210 ;
- }
-#Surface net thermal radiation, clear sky
-'p211.172' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 211 ;
- }
-#Solar insolation rate of accumulation
-'soira' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 212 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#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 +21545,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..c1c9099b5 100644
--- a/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def
@@ -1369,3 +1369,405 @@
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 ;
+}
+#Sea water potential temperature
+'thetao' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'so' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'wo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'sigmat' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'taueo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'tauno' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
+#Surface geopotential
+'p51.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+}
+#Vertical integral of temperature
+'vit' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+}
+#Vertical integral of cloud liquid water
+'vilw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+}
+#Vertical integral of cloud frozen water
+'viiw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+}
+#Vertical integral of ozone
+'vioz' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+}
+#Vertical integral of energy conversion
+'viec' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+}
+#Vertical integral of eastward mass flux
+'vimae' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+}
+#Vertical integral of northward mass flux
+'viman' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+}
+#Vertical integral of eastward kinetic energy flux
+'vikee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+}
+#Vertical integral of northward kinetic energy flux
+'viken' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+}
+#Vertical integral of eastward geopotential flux
+'vige' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+}
+#Vertical integral of northward geopotential flux
+'vign' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+}
+#Vertical integral of eastward total energy flux
+'vitoee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+}
+#Vertical integral of northward total energy flux
+'vitoen' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+}
+#Vertical integral of eastward ozone flux
+'vioze' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+}
+#Vertical integral of northward ozone flux
+'viozn' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+}
+#Vertical integral of divergence of mass flux
+'vimad' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+}
+#Vertical integral of divergence of kinetic energy flux
+'viked' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+}
+#Vertical integral of divergence of thermal energy flux
+'vithed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+}
+#Vertical integral of divergence of geopotential flux
+'vigd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+}
+#Vertical integral of divergence of total energy flux
+'vitoed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+}
+#Vertical integral of divergence of ozone flux
+'viozd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+}
+#Variance of geopotential
+'p206.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+}
+#Covariance of geopotential/temperature
+'p207.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+}
+#Variance of temperature
+'p208.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+}
+#Covariance of geopotential/specific humidity
+'p209.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+}
+#Covariance of temperature/specific humidity
+'p210.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+}
+#Variance of specific humidity
+'p211.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+}
+#Covariance of u component/geopotential
+'p212.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+}
+#Covariance of u component/temperature
+'p213.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+}
+#Covariance of u component/specific humidity
+'p214.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+}
+#Variance of u component
+'p215.162' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
+#Mean vertical velocity
+'mvv' = {
+ discipline = 192 ;
+ parameterCategory = 130 ;
+ parameterNumber = 232 ;
+}
+#Mean surface sensible heat flux
+'msshfl' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 146 ;
+}
+#Mean surface latent heat flux
+'mslhfl' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 147 ;
+}
+#Mean temperature at 2 metres in the last 24 hours
+'mean2t24' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre temperature in the last 24 hours gradient
+'mean2t24grd' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours
+'mn2d24' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 56 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours gradient
+'mn2d24grd' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 56 ;
+}
+#Mean surface downward solar radiation flux
+'msdsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 169 ;
+}
+#Mean surface downward thermal radiation flux
+'msdtrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 175 ;
+}
+#Mean surface net solar radiation flux
+'msnsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 176 ;
+}
+#Mean surface net thermal radiation flux
+'msntrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 177 ;
+}
+#Mean top net solar radiation flux
+'mtnsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 178 ;
+}
+#Mean top net thermal radiation flux
+'mtntrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 179 ;
+}
+#East-West surface stress rate of accumulation
+'ewssra' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 180 ;
+}
+#North-South surface stress rate of accumulation
+'nsssra' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 181 ;
+}
+#Standard deviation wave height
+'sdhs' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 240 ;
+}
+#Mean of 10 metre wind speed
+'mu10' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 241 ;
+}
+#Mean wind direction
+'mdwi' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 242 ;
+}
+#Standard deviation of 10 metre wind speed
+'sdu' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 243 ;
+}
+#Top net solar radiation, clear sky
+'p208.172' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 208 ;
+}
+#Top net thermal radiation, clear sky
+'p209.172' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 209 ;
+}
+#Surface net solar radiation, clear sky
+'p210.172' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 210 ;
+}
+#Surface net thermal radiation, clear sky
+'p211.172' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 211 ;
+}
+#Solar insolation rate of accumulation
+'soira' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 212 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/name.def b/definitions/grib2/localConcepts/ecmf/name.def
index 30466e4c5..c5d77647c 100644
--- a/definitions/grib2/localConcepts/ecmf/name.def
+++ b/definitions/grib2/localConcepts/ecmf/name.def
@@ -224,18 +224,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 24 ;
}
-#Mean temperature at 2 metres in the last 24 hours
-'Mean temperature at 2 metres in the last 24 hours' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours
-'Mean 2 metre dewpoint temperature in the last 24 hours' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 56 ;
- }
#Observation count
'Observation count' = {
discipline = 192 ;
@@ -2579,6 +2567,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 +13831,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 ;
@@ -14385,18 +14431,6 @@
parameterCategory = 129 ;
parameterNumber = 54 ;
}
-#Mean 2 metre temperature in the last 24 hours gradient
-'Mean 2 metre temperature in the last 24 hours gradient' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours gradient
-'Mean 2 metre dewpoint temperature in the last 24 hours gradient' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 56 ;
- }
#Downward UV radiation at the surface gradient
'Downward UV radiation at the surface gradient' = {
discipline = 192 ;
@@ -15669,12 +15703,6 @@
parameterCategory = 130 ;
parameterNumber = 231 ;
}
-#Mean vertical velocity
-'Mean vertical velocity' = {
- discipline = 192 ;
- parameterCategory = 130 ;
- parameterNumber = 232 ;
- }
#2m temperature anomaly of at least +2K
'2m temperature anomaly of at least +2K' = {
discipline = 192 ;
@@ -16573,30 +16601,6 @@
parameterCategory = 140 ;
parameterNumber = 200 ;
}
-#Standard deviation wave height
-'Standard deviation wave height' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 240 ;
- }
-#Mean of 10 metre wind speed
-'Mean of 10 metre wind speed' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 241 ;
- }
-#Mean wind direction
-'Mean wind direction' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 242 ;
- }
-#Standard deviation of 10 metre wind speed
-'Standard deviation of 10 metre wind speed' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 243 ;
- }
#2D wave spectra (multiple)
'2D wave spectra (multiple)' = {
discipline = 192 ;
@@ -16813,24 +16817,6 @@
parameterCategory = 151 ;
parameterNumber = 128 ;
}
-#Sea water potential temperature
-'Sea water potential temperature' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'Sea water practical salinity' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'Upward sea water velocity' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
#Modulus of strain rate tensor
'Modulus of strain rate tensor' = {
discipline = 192 ;
@@ -16855,12 +16841,6 @@
parameterCategory = 151 ;
parameterNumber = 137 ;
}
-#Sea water sigma theta
-'Sea water sigma theta' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Richardson number
'Richardson number' = {
discipline = 192 ;
@@ -16933,18 +16913,6 @@
parameterCategory = 151 ;
parameterNumber = 152 ;
}
-#Surface downward eastward stress
-'Surface downward eastward stress' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'Surface downward northward stress' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Turbulent kinetic energy input
'Turbulent kinetic energy input' = {
discipline = 192 ;
@@ -17545,198 +17513,6 @@
parameterCategory = 160 ;
parameterNumber = 254 ;
}
-#Surface geopotential
-'Surface geopotential' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 51 ;
- }
-#Vertical integral of temperature
-'Vertical integral of temperature' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 54 ;
- }
-#Vertical integral of cloud liquid water
-'Vertical integral of cloud liquid water' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 56 ;
- }
-#Vertical integral of cloud frozen water
-'Vertical integral of cloud frozen water' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 57 ;
- }
-#Vertical integral of ozone
-'Vertical integral of ozone' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 58 ;
- }
-#Vertical integral of energy conversion
-'Vertical integral of energy conversion' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 64 ;
- }
-#Vertical integral of eastward mass flux
-'Vertical integral of eastward mass flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 65 ;
- }
-#Vertical integral of northward mass flux
-'Vertical integral of northward mass flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 66 ;
- }
-#Vertical integral of eastward kinetic energy flux
-'Vertical integral of eastward kinetic energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 67 ;
- }
-#Vertical integral of northward kinetic energy flux
-'Vertical integral of northward kinetic energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 68 ;
- }
-#Vertical integral of eastward geopotential flux
-'Vertical integral of eastward geopotential flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 73 ;
- }
-#Vertical integral of northward geopotential flux
-'Vertical integral of northward geopotential flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 74 ;
- }
-#Vertical integral of eastward total energy flux
-'Vertical integral of eastward total energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 75 ;
- }
-#Vertical integral of northward total energy flux
-'Vertical integral of northward total energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 76 ;
- }
-#Vertical integral of eastward ozone flux
-'Vertical integral of eastward ozone flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 77 ;
- }
-#Vertical integral of northward ozone flux
-'Vertical integral of northward ozone flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 78 ;
- }
-#Vertical integral of divergence of mass flux
-'Vertical integral of divergence of mass flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 81 ;
- }
-#Vertical integral of divergence of kinetic energy flux
-'Vertical integral of divergence of kinetic energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 82 ;
- }
-#Vertical integral of divergence of thermal energy flux
-'Vertical integral of divergence of thermal energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 83 ;
- }
-#Vertical integral of divergence of geopotential flux
-'Vertical integral of divergence of geopotential flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 85 ;
- }
-#Vertical integral of divergence of total energy flux
-'Vertical integral of divergence of total energy flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 86 ;
- }
-#Vertical integral of divergence of ozone flux
-'Vertical integral of divergence of ozone flux' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 87 ;
- }
-#Variance of geopotential
-'Variance of geopotential' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 206 ;
- }
-#Covariance of geopotential/temperature
-'Covariance of geopotential/temperature' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 207 ;
- }
-#Variance of temperature
-'Variance of temperature' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 208 ;
- }
-#Covariance of geopotential/specific humidity
-'Covariance of geopotential/specific humidity' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 209 ;
- }
-#Covariance of temperature/specific humidity
-'Covariance of temperature/specific humidity' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 210 ;
- }
-#Variance of specific humidity
-'Variance of specific humidity' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 211 ;
- }
-#Covariance of u component/geopotential
-'Covariance of u component/geopotential' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 212 ;
- }
-#Covariance of u component/temperature
-'Covariance of u component/temperature' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 213 ;
- }
-#Covariance of u component/specific humidity
-'Covariance of u component/specific humidity' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 214 ;
- }
-#Variance of u component
-'Variance of u component' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 215 ;
- }
#Covariance of v component/geopotential
'Covariance of v component/geopotential' = {
discipline = 192 ;
@@ -18987,21 +18763,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' = {
@@ -19009,18 +18794,6 @@
parameterCategory = 172 ;
parameterNumber = 145 ;
}
-#Mean surface sensible heat flux
-'Mean surface sensible heat flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 146 ;
- }
-#Mean surface latent heat flux
-'Mean surface latent heat flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 147 ;
- }
#Mean short-wave heating rate
'Mean short-wave heating rate' = {
discipline = 192 ;
@@ -19033,59 +18806,14 @@
parameterCategory = 172 ;
parameterNumber = 154 ;
}
-#Mean surface downward solar radiation flux
-'Mean surface downward solar radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 169 ;
- }
-#Mean surface downward thermal radiation flux
-'Mean surface downward thermal radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 175 ;
- }
-#Mean surface net solar radiation flux
-'Mean surface net solar radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 176 ;
- }
-#Mean surface net thermal radiation flux
-'Mean surface net thermal radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 177 ;
- }
-#Mean top net solar radiation flux
-'Mean top net solar radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 178 ;
- }
-#Mean top net thermal radiation flux
-'Mean top net thermal radiation flux' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 179 ;
- }
-#East-West surface stress rate of accumulation
-'East-West surface stress rate of accumulation' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 180 ;
- }
-#North-South surface stress rate of accumulation
-'North-South surface stress rate of accumulation' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 181 ;
- }
#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,45 +18841,21 @@
}
#Mean runoff rate
'Mean runoff rate' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
- }
-#Top net solar radiation, clear sky
-'Top net solar radiation, clear sky' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 208 ;
- }
-#Top net thermal radiation, clear sky
-'Top net thermal radiation, clear sky' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 209 ;
- }
-#Surface net solar radiation, clear sky
-'Surface net solar radiation, clear sky' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 210 ;
- }
-#Surface net thermal radiation, clear sky
-'Surface net thermal radiation, clear sky' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 211 ;
- }
-#Solar insolation rate of accumulation
-'Solar insolation rate of accumulation' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 212 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#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 +21545,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..7a451911c 100644
--- a/definitions/grib2/localConcepts/ecmf/name.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/name.legacy.def
@@ -1369,3 +1369,405 @@
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 ;
+}
+#Sea water potential temperature
+'Sea water potential temperature' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'Sea water practical salinity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'Upward sea water velocity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'Sea water sigma theta' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'Surface downward eastward stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'Surface downward northward stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
+#Surface geopotential
+'Surface geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+}
+#Vertical integral of temperature
+'Vertical integral of temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+}
+#Vertical integral of cloud liquid water
+'Vertical integral of cloud liquid water' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+}
+#Vertical integral of cloud frozen water
+'Vertical integral of cloud frozen water' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+}
+#Vertical integral of ozone
+'Vertical integral of ozone' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+}
+#Vertical integral of energy conversion
+'Vertical integral of energy conversion' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+}
+#Vertical integral of eastward mass flux
+'Vertical integral of eastward mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+}
+#Vertical integral of northward mass flux
+'Vertical integral of northward mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+}
+#Vertical integral of eastward kinetic energy flux
+'Vertical integral of eastward kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+}
+#Vertical integral of northward kinetic energy flux
+'Vertical integral of northward kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+}
+#Vertical integral of eastward geopotential flux
+'Vertical integral of eastward geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+}
+#Vertical integral of northward geopotential flux
+'Vertical integral of northward geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+}
+#Vertical integral of eastward total energy flux
+'Vertical integral of eastward total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+}
+#Vertical integral of northward total energy flux
+'Vertical integral of northward total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+}
+#Vertical integral of eastward ozone flux
+'Vertical integral of eastward ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+}
+#Vertical integral of northward ozone flux
+'Vertical integral of northward ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+}
+#Vertical integral of divergence of mass flux
+'Vertical integral of divergence of mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+}
+#Vertical integral of divergence of kinetic energy flux
+'Vertical integral of divergence of kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+}
+#Vertical integral of divergence of thermal energy flux
+'Vertical integral of divergence of thermal energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+}
+#Vertical integral of divergence of geopotential flux
+'Vertical integral of divergence of geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+}
+#Vertical integral of divergence of total energy flux
+'Vertical integral of divergence of total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+}
+#Vertical integral of divergence of ozone flux
+'Vertical integral of divergence of ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+}
+#Variance of geopotential
+'Variance of geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+}
+#Covariance of geopotential/temperature
+'Covariance of geopotential/temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+}
+#Variance of temperature
+'Variance of temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+}
+#Covariance of geopotential/specific humidity
+'Covariance of geopotential/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+}
+#Covariance of temperature/specific humidity
+'Covariance of temperature/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+}
+#Variance of specific humidity
+'Variance of specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+}
+#Covariance of u component/geopotential
+'Covariance of u component/geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+}
+#Covariance of u component/temperature
+'Covariance of u component/temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+}
+#Covariance of u component/specific humidity
+'Covariance of u component/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+}
+#Variance of u component
+'Variance of u component' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
+#Mean vertical velocity
+'Mean vertical velocity' = {
+ discipline = 192 ;
+ parameterCategory = 130 ;
+ parameterNumber = 232 ;
+}
+#Mean surface sensible heat flux
+'Mean surface sensible heat flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 146 ;
+}
+#Mean surface latent heat flux
+'Mean surface latent heat flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 147 ;
+}
+#Mean temperature at 2 metres in the last 24 hours
+'Mean temperature at 2 metres in the last 24 hours' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre temperature in the last 24 hours gradient
+'Mean 2 metre temperature in the last 24 hours gradient' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours
+'Mean 2 metre dewpoint temperature in the last 24 hours' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 56 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours gradient
+'Mean 2 metre dewpoint temperature in the last 24 hours gradient' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 56 ;
+}
+#Mean surface downward solar radiation flux
+'Mean surface downward solar radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 169 ;
+}
+#Mean surface downward thermal radiation flux
+'Mean surface downward thermal radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 175 ;
+}
+#Mean surface net solar radiation flux
+'Mean surface net solar radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 176 ;
+}
+#Mean surface net thermal radiation flux
+'Mean surface net thermal radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 177 ;
+}
+#Mean top net solar radiation flux
+'Mean top net solar radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 178 ;
+}
+#Mean top net thermal radiation flux
+'Mean top net thermal radiation flux' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 179 ;
+}
+#East-West surface stress rate of accumulation
+'East-West surface stress rate of accumulation' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 180 ;
+}
+#North-South surface stress rate of accumulation
+'North-South surface stress rate of accumulation' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 181 ;
+}
+#Standard deviation wave height
+'Standard deviation wave height' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 240 ;
+}
+#Mean of 10 metre wind speed
+'Mean of 10 metre wind speed' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 241 ;
+}
+#Mean wind direction
+'Mean wind direction' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 242 ;
+}
+#Standard deviation of 10 metre wind speed
+'Standard deviation of 10 metre wind speed' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 243 ;
+}
+#Top net solar radiation, clear sky
+'Top net solar radiation, clear sky' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 208 ;
+}
+#Top net thermal radiation, clear sky
+'Top net thermal radiation, clear sky' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 209 ;
+}
+#Surface net solar radiation, clear sky
+'Surface net solar radiation, clear sky' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 210 ;
+}
+#Surface net thermal radiation, clear sky
+'Surface net thermal radiation, clear sky' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 211 ;
+}
+#Solar insolation rate of accumulation
+'Solar insolation rate of accumulation' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 212 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/paramId.def b/definitions/grib2/localConcepts/ecmf/paramId.def
index 6ba1493c0..12fe43ab4 100644
--- a/definitions/grib2/localConcepts/ecmf/paramId.def
+++ b/definitions/grib2/localConcepts/ecmf/paramId.def
@@ -224,18 +224,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 24 ;
}
-#Mean temperature at 2 metres in the last 24 hours
-'55' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours
-'56' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 56 ;
- }
#Observation count
'62' = {
discipline = 192 ;
@@ -2579,6 +2567,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 +13831,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 ;
@@ -14385,18 +14431,6 @@
parameterCategory = 129 ;
parameterNumber = 54 ;
}
-#Mean 2 metre temperature in the last 24 hours gradient
-'129055' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours gradient
-'129056' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 56 ;
- }
#Downward UV radiation at the surface gradient
'129057' = {
discipline = 192 ;
@@ -15669,12 +15703,6 @@
parameterCategory = 130 ;
parameterNumber = 231 ;
}
-#Mean vertical velocity
-'130232' = {
- discipline = 192 ;
- parameterCategory = 130 ;
- parameterNumber = 232 ;
- }
#2m temperature anomaly of at least +2K
'131001' = {
discipline = 192 ;
@@ -16573,30 +16601,6 @@
parameterCategory = 140 ;
parameterNumber = 200 ;
}
-#Standard deviation wave height
-'140240' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 240 ;
- }
-#Mean of 10 metre wind speed
-'140241' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 241 ;
- }
-#Mean wind direction
-'140242' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 242 ;
- }
-#Standard deviation of 10 metre wind speed
-'140243' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 243 ;
- }
#2D wave spectra (multiple)
'140250' = {
discipline = 192 ;
@@ -16813,24 +16817,6 @@
parameterCategory = 151 ;
parameterNumber = 128 ;
}
-#Sea water potential temperature
-'151129' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'151130' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'151133' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
#Modulus of strain rate tensor
'151134' = {
discipline = 192 ;
@@ -16855,12 +16841,6 @@
parameterCategory = 151 ;
parameterNumber = 137 ;
}
-#Sea water sigma theta
-'151138' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Richardson number
'151139' = {
discipline = 192 ;
@@ -16933,18 +16913,6 @@
parameterCategory = 151 ;
parameterNumber = 152 ;
}
-#Surface downward eastward stress
-'151153' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'151154' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Turbulent kinetic energy input
'151155' = {
discipline = 192 ;
@@ -17545,198 +17513,6 @@
parameterCategory = 160 ;
parameterNumber = 254 ;
}
-#Surface geopotential
-'162051' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 51 ;
- }
-#Vertical integral of temperature
-'162054' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 54 ;
- }
-#Vertical integral of cloud liquid water
-'162056' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 56 ;
- }
-#Vertical integral of cloud frozen water
-'162057' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 57 ;
- }
-#Vertical integral of ozone
-'162058' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 58 ;
- }
-#Vertical integral of energy conversion
-'162064' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 64 ;
- }
-#Vertical integral of eastward mass flux
-'162065' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 65 ;
- }
-#Vertical integral of northward mass flux
-'162066' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 66 ;
- }
-#Vertical integral of eastward kinetic energy flux
-'162067' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 67 ;
- }
-#Vertical integral of northward kinetic energy flux
-'162068' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 68 ;
- }
-#Vertical integral of eastward geopotential flux
-'162073' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 73 ;
- }
-#Vertical integral of northward geopotential flux
-'162074' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 74 ;
- }
-#Vertical integral of eastward total energy flux
-'162075' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 75 ;
- }
-#Vertical integral of northward total energy flux
-'162076' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 76 ;
- }
-#Vertical integral of eastward ozone flux
-'162077' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 77 ;
- }
-#Vertical integral of northward ozone flux
-'162078' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 78 ;
- }
-#Vertical integral of divergence of mass flux
-'162081' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 81 ;
- }
-#Vertical integral of divergence of kinetic energy flux
-'162082' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 82 ;
- }
-#Vertical integral of divergence of thermal energy flux
-'162083' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 83 ;
- }
-#Vertical integral of divergence of geopotential flux
-'162085' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 85 ;
- }
-#Vertical integral of divergence of total energy flux
-'162086' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 86 ;
- }
-#Vertical integral of divergence of ozone flux
-'162087' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 87 ;
- }
-#Variance of geopotential
-'162206' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 206 ;
- }
-#Covariance of geopotential/temperature
-'162207' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 207 ;
- }
-#Variance of temperature
-'162208' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 208 ;
- }
-#Covariance of geopotential/specific humidity
-'162209' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 209 ;
- }
-#Covariance of temperature/specific humidity
-'162210' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 210 ;
- }
-#Variance of specific humidity
-'162211' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 211 ;
- }
-#Covariance of u component/geopotential
-'162212' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 212 ;
- }
-#Covariance of u component/temperature
-'162213' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 213 ;
- }
-#Covariance of u component/specific humidity
-'162214' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 214 ;
- }
-#Variance of u component
-'162215' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 215 ;
- }
#Covariance of v component/geopotential
'162216' = {
discipline = 192 ;
@@ -18987,21 +18763,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' = {
@@ -19009,18 +18794,6 @@
parameterCategory = 172 ;
parameterNumber = 145 ;
}
-#Mean surface sensible heat flux
-'172146' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 146 ;
- }
-#Mean surface latent heat flux
-'172147' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 147 ;
- }
#Mean short-wave heating rate
'172153' = {
discipline = 192 ;
@@ -19033,59 +18806,14 @@
parameterCategory = 172 ;
parameterNumber = 154 ;
}
-#Mean surface downward solar radiation flux
-'172169' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 169 ;
- }
-#Mean surface downward thermal radiation flux
-'172175' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 175 ;
- }
-#Mean surface net solar radiation flux
-'172176' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 176 ;
- }
-#Mean surface net thermal radiation flux
-'172177' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 177 ;
- }
-#Mean top net solar radiation flux
-'172178' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 178 ;
- }
-#Mean top net thermal radiation flux
-'172179' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 179 ;
- }
-#East-West surface stress rate of accumulation
-'172180' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 180 ;
- }
-#North-South surface stress rate of accumulation
-'172181' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 181 ;
- }
#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,45 +18841,21 @@
}
#Mean runoff rate
'172205' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
- }
-#Top net solar radiation, clear sky
-'172208' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 208 ;
- }
-#Top net thermal radiation, clear sky
-'172209' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 209 ;
- }
-#Surface net solar radiation, clear sky
-'172210' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 210 ;
- }
-#Surface net thermal radiation, clear sky
-'172211' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 211 ;
- }
-#Solar insolation rate of accumulation
-'172212' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 212 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#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 +21545,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..4413e87b9 100644
--- a/definitions/grib2/localConcepts/ecmf/paramId.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/paramId.legacy.def
@@ -1369,3 +1369,405 @@
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 ;
+}
+#Sea water potential temperature
+'151129' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'151130' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'151133' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'151138' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'151153' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'151154' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
+#Surface geopotential
+'162051' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+}
+#Vertical integral of temperature
+'162054' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+}
+#Vertical integral of cloud liquid water
+'162056' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+}
+#Vertical integral of cloud frozen water
+'162057' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+}
+#Vertical integral of ozone
+'162058' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+}
+#Vertical integral of energy conversion
+'162064' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+}
+#Vertical integral of eastward mass flux
+'162065' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+}
+#Vertical integral of northward mass flux
+'162066' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+}
+#Vertical integral of eastward kinetic energy flux
+'162067' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+}
+#Vertical integral of northward kinetic energy flux
+'162068' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+}
+#Vertical integral of eastward geopotential flux
+'162073' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+}
+#Vertical integral of northward geopotential flux
+'162074' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+}
+#Vertical integral of eastward total energy flux
+'162075' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+}
+#Vertical integral of northward total energy flux
+'162076' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+}
+#Vertical integral of eastward ozone flux
+'162077' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+}
+#Vertical integral of northward ozone flux
+'162078' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+}
+#Vertical integral of divergence of mass flux
+'162081' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+}
+#Vertical integral of divergence of kinetic energy flux
+'162082' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+}
+#Vertical integral of divergence of thermal energy flux
+'162083' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+}
+#Vertical integral of divergence of geopotential flux
+'162085' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+}
+#Vertical integral of divergence of total energy flux
+'162086' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+}
+#Vertical integral of divergence of ozone flux
+'162087' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+}
+#Variance of geopotential
+'162206' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+}
+#Covariance of geopotential/temperature
+'162207' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+}
+#Variance of temperature
+'162208' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+}
+#Covariance of geopotential/specific humidity
+'162209' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+}
+#Covariance of temperature/specific humidity
+'162210' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+}
+#Variance of specific humidity
+'162211' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+}
+#Covariance of u component/geopotential
+'162212' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+}
+#Covariance of u component/temperature
+'162213' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+}
+#Covariance of u component/specific humidity
+'162214' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+}
+#Variance of u component
+'162215' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
+#Mean vertical velocity
+'130232' = {
+ discipline = 192 ;
+ parameterCategory = 130 ;
+ parameterNumber = 232 ;
+}
+#Mean surface sensible heat flux
+'172146' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 146 ;
+}
+#Mean surface latent heat flux
+'172147' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 147 ;
+}
+#Mean temperature at 2 metres in the last 24 hours
+'55' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre temperature in the last 24 hours gradient
+'129055' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours
+'56' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 56 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours gradient
+'129056' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 56 ;
+}
+#Mean surface downward solar radiation flux
+'172169' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 169 ;
+}
+#Mean surface downward thermal radiation flux
+'172175' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 175 ;
+}
+#Mean surface net solar radiation flux
+'172176' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 176 ;
+}
+#Mean surface net thermal radiation flux
+'172177' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 177 ;
+}
+#Mean top net solar radiation flux
+'172178' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 178 ;
+}
+#Mean top net thermal radiation flux
+'172179' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 179 ;
+}
+#East-West surface stress rate of accumulation
+'172180' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 180 ;
+}
+#North-South surface stress rate of accumulation
+'172181' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 181 ;
+}
+#Standard deviation wave height
+'140240' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 240 ;
+}
+#Mean of 10 metre wind speed
+'140241' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 241 ;
+}
+#Mean wind direction
+'140242' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 242 ;
+}
+#Standard deviation of 10 metre wind speed
+'140243' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 243 ;
+}
+#Top net solar radiation, clear sky
+'172208' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 208 ;
+}
+#Top net thermal radiation, clear sky
+'172209' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 209 ;
+}
+#Surface net solar radiation, clear sky
+'172210' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 210 ;
+}
+#Surface net thermal radiation, clear sky
+'172211' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 211 ;
+}
+#Solar insolation rate of accumulation
+'172212' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 212 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/shortName.def b/definitions/grib2/localConcepts/ecmf/shortName.def
index 1ec2bca2e..b476da6d8 100644
--- a/definitions/grib2/localConcepts/ecmf/shortName.def
+++ b/definitions/grib2/localConcepts/ecmf/shortName.def
@@ -224,18 +224,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 24 ;
}
-#Mean temperature at 2 metres in the last 24 hours
-'mean2t24' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours
-'mn2d24' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 56 ;
- }
#Observation count
'obct' = {
discipline = 192 ;
@@ -2579,6 +2567,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 +13831,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 ;
@@ -14385,18 +14431,6 @@
parameterCategory = 129 ;
parameterNumber = 54 ;
}
-#Mean 2 metre temperature in the last 24 hours gradient
-'mean2t24grd' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours gradient
-'mn2d24grd' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 56 ;
- }
#Downward UV radiation at the surface gradient
'uvbgrd' = {
discipline = 192 ;
@@ -15669,12 +15703,6 @@
parameterCategory = 130 ;
parameterNumber = 231 ;
}
-#Mean vertical velocity
-'mvv' = {
- discipline = 192 ;
- parameterCategory = 130 ;
- parameterNumber = 232 ;
- }
#2m temperature anomaly of at least +2K
'2tag2' = {
discipline = 192 ;
@@ -16573,30 +16601,6 @@
parameterCategory = 140 ;
parameterNumber = 200 ;
}
-#Standard deviation wave height
-'sdhs' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 240 ;
- }
-#Mean of 10 metre wind speed
-'mu10' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 241 ;
- }
-#Mean wind direction
-'mdwi' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 242 ;
- }
-#Standard deviation of 10 metre wind speed
-'sdu' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 243 ;
- }
#2D wave spectra (multiple)
'2dsp' = {
discipline = 192 ;
@@ -16813,24 +16817,6 @@
parameterCategory = 151 ;
parameterNumber = 128 ;
}
-#Sea water potential temperature
-'thetao' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'so' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'wo' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
#Modulus of strain rate tensor
'mst' = {
discipline = 192 ;
@@ -16855,12 +16841,6 @@
parameterCategory = 151 ;
parameterNumber = 137 ;
}
-#Sea water sigma theta
-'sigmat' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Richardson number
'rn' = {
discipline = 192 ;
@@ -16933,18 +16913,6 @@
parameterCategory = 151 ;
parameterNumber = 152 ;
}
-#Surface downward eastward stress
-'taueo' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'tauno' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Turbulent kinetic energy input
'tki' = {
discipline = 192 ;
@@ -17545,198 +17513,6 @@
parameterCategory = 160 ;
parameterNumber = 254 ;
}
-#Surface geopotential
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 51 ;
- }
-#Vertical integral of temperature
-'vit' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 54 ;
- }
-#Vertical integral of cloud liquid water
-'vilw' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 56 ;
- }
-#Vertical integral of cloud frozen water
-'viiw' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 57 ;
- }
-#Vertical integral of ozone
-'vioz' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 58 ;
- }
-#Vertical integral of energy conversion
-'viec' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 64 ;
- }
-#Vertical integral of eastward mass flux
-'vimae' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 65 ;
- }
-#Vertical integral of northward mass flux
-'viman' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 66 ;
- }
-#Vertical integral of eastward kinetic energy flux
-'vikee' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 67 ;
- }
-#Vertical integral of northward kinetic energy flux
-'viken' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 68 ;
- }
-#Vertical integral of eastward geopotential flux
-'vige' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 73 ;
- }
-#Vertical integral of northward geopotential flux
-'vign' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 74 ;
- }
-#Vertical integral of eastward total energy flux
-'vitoee' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 75 ;
- }
-#Vertical integral of northward total energy flux
-'vitoen' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 76 ;
- }
-#Vertical integral of eastward ozone flux
-'vioze' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 77 ;
- }
-#Vertical integral of northward ozone flux
-'viozn' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 78 ;
- }
-#Vertical integral of divergence of mass flux
-'vimad' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 81 ;
- }
-#Vertical integral of divergence of kinetic energy flux
-'viked' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 82 ;
- }
-#Vertical integral of divergence of thermal energy flux
-'vithed' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 83 ;
- }
-#Vertical integral of divergence of geopotential flux
-'vigd' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 85 ;
- }
-#Vertical integral of divergence of total energy flux
-'vitoed' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 86 ;
- }
-#Vertical integral of divergence of ozone flux
-'viozd' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 87 ;
- }
-#Variance of geopotential
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 206 ;
- }
-#Covariance of geopotential/temperature
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 207 ;
- }
-#Variance of temperature
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 208 ;
- }
-#Covariance of geopotential/specific humidity
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 209 ;
- }
-#Covariance of temperature/specific humidity
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 210 ;
- }
-#Variance of specific humidity
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 211 ;
- }
-#Covariance of u component/geopotential
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 212 ;
- }
-#Covariance of u component/temperature
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 213 ;
- }
-#Covariance of u component/specific humidity
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 214 ;
- }
-#Variance of u component
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 215 ;
- }
#Covariance of v component/geopotential
'~' = {
discipline = 192 ;
@@ -18987,21 +18763,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' = {
@@ -19009,18 +18794,6 @@
parameterCategory = 172 ;
parameterNumber = 145 ;
}
-#Mean surface sensible heat flux
-'msshfl' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 146 ;
- }
-#Mean surface latent heat flux
-'mslhfl' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 147 ;
- }
#Mean short-wave heating rate
'mswhr' = {
discipline = 192 ;
@@ -19033,59 +18806,14 @@
parameterCategory = 172 ;
parameterNumber = 154 ;
}
-#Mean surface downward solar radiation flux
-'msdsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 169 ;
- }
-#Mean surface downward thermal radiation flux
-'msdtrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 175 ;
- }
-#Mean surface net solar radiation flux
-'msnsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 176 ;
- }
-#Mean surface net thermal radiation flux
-'msntrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 177 ;
- }
-#Mean top net solar radiation flux
-'mtnsrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 178 ;
- }
-#Mean top net thermal radiation flux
-'mtntrf' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 179 ;
- }
-#East-West surface stress rate of accumulation
-'ewssra' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 180 ;
- }
-#North-South surface stress rate of accumulation
-'nsssra' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 181 ;
- }
#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,45 +18841,21 @@
}
#Mean runoff rate
'mrort' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
- }
-#Top net solar radiation, clear sky
-'~' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 208 ;
- }
-#Top net thermal radiation, clear sky
-'~' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 209 ;
- }
-#Surface net solar radiation, clear sky
-'~' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 210 ;
- }
-#Surface net thermal radiation, clear sky
-'~' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 211 ;
- }
-#Solar insolation rate of accumulation
-'soira' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 212 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#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 +21545,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..1a5608823 100644
--- a/definitions/grib2/localConcepts/ecmf/shortName.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/shortName.legacy.def
@@ -1369,3 +1369,405 @@
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 ;
+}
+#Sea water potential temperature
+'thetao' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'so' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'wo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'sigmat' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'taueo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'tauno' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
+#Surface geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+}
+#Vertical integral of temperature
+'vit' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+}
+#Vertical integral of cloud liquid water
+'vilw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+}
+#Vertical integral of cloud frozen water
+'viiw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+}
+#Vertical integral of ozone
+'vioz' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+}
+#Vertical integral of energy conversion
+'viec' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+}
+#Vertical integral of eastward mass flux
+'vimae' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+}
+#Vertical integral of northward mass flux
+'viman' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+}
+#Vertical integral of eastward kinetic energy flux
+'vikee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+}
+#Vertical integral of northward kinetic energy flux
+'viken' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+}
+#Vertical integral of eastward geopotential flux
+'vige' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+}
+#Vertical integral of northward geopotential flux
+'vign' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+}
+#Vertical integral of eastward total energy flux
+'vitoee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+}
+#Vertical integral of northward total energy flux
+'vitoen' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+}
+#Vertical integral of eastward ozone flux
+'vioze' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+}
+#Vertical integral of northward ozone flux
+'viozn' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+}
+#Vertical integral of divergence of mass flux
+'vimad' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+}
+#Vertical integral of divergence of kinetic energy flux
+'viked' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+}
+#Vertical integral of divergence of thermal energy flux
+'vithed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+}
+#Vertical integral of divergence of geopotential flux
+'vigd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+}
+#Vertical integral of divergence of total energy flux
+'vitoed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+}
+#Vertical integral of divergence of ozone flux
+'viozd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+}
+#Variance of geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+}
+#Covariance of geopotential/temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+}
+#Variance of temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+}
+#Covariance of geopotential/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+}
+#Covariance of temperature/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+}
+#Variance of specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+}
+#Covariance of u component/geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+}
+#Covariance of u component/temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+}
+#Covariance of u component/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+}
+#Variance of u component
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
+#Mean vertical velocity
+'mvv' = {
+ discipline = 192 ;
+ parameterCategory = 130 ;
+ parameterNumber = 232 ;
+}
+#Mean surface sensible heat flux
+'msshfl' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 146 ;
+}
+#Mean surface latent heat flux
+'mslhfl' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 147 ;
+}
+#Mean temperature at 2 metres in the last 24 hours
+'mean2t24' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre temperature in the last 24 hours gradient
+'mean2t24grd' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours
+'mn2d24' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 56 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours gradient
+'mn2d24grd' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 56 ;
+}
+#Mean surface downward solar radiation flux
+'msdsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 169 ;
+}
+#Mean surface downward thermal radiation flux
+'msdtrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 175 ;
+}
+#Mean surface net solar radiation flux
+'msnsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 176 ;
+}
+#Mean surface net thermal radiation flux
+'msntrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 177 ;
+}
+#Mean top net solar radiation flux
+'mtnsrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 178 ;
+}
+#Mean top net thermal radiation flux
+'mtntrf' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 179 ;
+}
+#East-West surface stress rate of accumulation
+'ewssra' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 180 ;
+}
+#North-South surface stress rate of accumulation
+'nsssra' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 181 ;
+}
+#Standard deviation wave height
+'sdhs' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 240 ;
+}
+#Mean of 10 metre wind speed
+'mu10' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 241 ;
+}
+#Mean wind direction
+'mdwi' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 242 ;
+}
+#Standard deviation of 10 metre wind speed
+'sdu' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 243 ;
+}
+#Top net solar radiation, clear sky
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 208 ;
+}
+#Top net thermal radiation, clear sky
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 209 ;
+}
+#Surface net solar radiation, clear sky
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 210 ;
+}
+#Surface net thermal radiation, clear sky
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 211 ;
+}
+#Solar insolation rate of accumulation
+'soira' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 212 ;
+}
diff --git a/definitions/grib2/localConcepts/ecmf/units.def b/definitions/grib2/localConcepts/ecmf/units.def
index 506f9c365..1629e52b0 100644
--- a/definitions/grib2/localConcepts/ecmf/units.def
+++ b/definitions/grib2/localConcepts/ecmf/units.def
@@ -224,18 +224,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 24 ;
}
-#Mean temperature at 2 metres in the last 24 hours
-'K' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours
-'K' = {
- discipline = 192 ;
- parameterCategory = 128 ;
- parameterNumber = 56 ;
- }
#Observation count
'~' = {
discipline = 192 ;
@@ -2579,6 +2567,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 +13831,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 ;
@@ -14385,18 +14431,6 @@
parameterCategory = 129 ;
parameterNumber = 54 ;
}
-#Mean 2 metre temperature in the last 24 hours gradient
-'K' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 55 ;
- }
-#Mean 2 metre dewpoint temperature in the last 24 hours gradient
-'K' = {
- discipline = 192 ;
- parameterCategory = 129 ;
- parameterNumber = 56 ;
- }
#Downward UV radiation at the surface gradient
'J m**-2' = {
discipline = 192 ;
@@ -15669,12 +15703,6 @@
parameterCategory = 130 ;
parameterNumber = 231 ;
}
-#Mean vertical velocity
-'Pa s**-1' = {
- discipline = 192 ;
- parameterCategory = 130 ;
- parameterNumber = 232 ;
- }
#2m temperature anomaly of at least +2K
'%' = {
discipline = 192 ;
@@ -16573,30 +16601,6 @@
parameterCategory = 140 ;
parameterNumber = 200 ;
}
-#Standard deviation wave height
-'m' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 240 ;
- }
-#Mean of 10 metre wind speed
-'m s**-1' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 241 ;
- }
-#Mean wind direction
-'degrees' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 242 ;
- }
-#Standard deviation of 10 metre wind speed
-'m s**-1' = {
- discipline = 192 ;
- parameterCategory = 140 ;
- parameterNumber = 243 ;
- }
#2D wave spectra (multiple)
'm**2 s radian**-1' = {
discipline = 192 ;
@@ -16813,24 +16817,6 @@
parameterCategory = 151 ;
parameterNumber = 128 ;
}
-#Sea water potential temperature
-'deg C' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 129 ;
- }
-#Sea water practical salinity
-'psu' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 130 ;
- }
-#Upward sea water velocity
-'m s**-1' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 133 ;
- }
#Modulus of strain rate tensor
's**-1' = {
discipline = 192 ;
@@ -16855,12 +16841,6 @@
parameterCategory = 151 ;
parameterNumber = 137 ;
}
-#Sea water sigma theta
-'kg m**-3' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 138 ;
- }
#Richardson number
'~' = {
discipline = 192 ;
@@ -16933,18 +16913,6 @@
parameterCategory = 151 ;
parameterNumber = 152 ;
}
-#Surface downward eastward stress
-'N m**-2' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 153 ;
- }
-#Surface downward northward stress
-'N m**-2' = {
- discipline = 192 ;
- parameterCategory = 151 ;
- parameterNumber = 154 ;
- }
#Turbulent kinetic energy input
'J m**-2' = {
discipline = 192 ;
@@ -17545,198 +17513,6 @@
parameterCategory = 160 ;
parameterNumber = 254 ;
}
-#Surface geopotential
-'m**2 s**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 51 ;
- }
-#Vertical integral of temperature
-'K kg m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 54 ;
- }
-#Vertical integral of cloud liquid water
-'kg m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 56 ;
- }
-#Vertical integral of cloud frozen water
-'kg m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 57 ;
- }
-#Vertical integral of ozone
-'kg m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 58 ;
- }
-#Vertical integral of energy conversion
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 64 ;
- }
-#Vertical integral of eastward mass flux
-'kg m**-1 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 65 ;
- }
-#Vertical integral of northward mass flux
-'kg m**-1 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 66 ;
- }
-#Vertical integral of eastward kinetic energy flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 67 ;
- }
-#Vertical integral of northward kinetic energy flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 68 ;
- }
-#Vertical integral of eastward geopotential flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 73 ;
- }
-#Vertical integral of northward geopotential flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 74 ;
- }
-#Vertical integral of eastward total energy flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 75 ;
- }
-#Vertical integral of northward total energy flux
-'W m**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 76 ;
- }
-#Vertical integral of eastward ozone flux
-'kg m**-1 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 77 ;
- }
-#Vertical integral of northward ozone flux
-'kg m**-1 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 78 ;
- }
-#Vertical integral of divergence of mass flux
-'kg m**-2 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 81 ;
- }
-#Vertical integral of divergence of kinetic energy flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 82 ;
- }
-#Vertical integral of divergence of thermal energy flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 83 ;
- }
-#Vertical integral of divergence of geopotential flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 85 ;
- }
-#Vertical integral of divergence of total energy flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 86 ;
- }
-#Vertical integral of divergence of ozone flux
-'kg m**-2 s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 87 ;
- }
-#Variance of geopotential
-'m**4 s**-4' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 206 ;
- }
-#Covariance of geopotential/temperature
-'m**2 K s**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 207 ;
- }
-#Variance of temperature
-'K**2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 208 ;
- }
-#Covariance of geopotential/specific humidity
-'m**2 s**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 209 ;
- }
-#Covariance of temperature/specific humidity
-'K' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 210 ;
- }
-#Variance of specific humidity
-'~' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 211 ;
- }
-#Covariance of u component/geopotential
-'m**3 s**-3' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 212 ;
- }
-#Covariance of u component/temperature
-'m s**-1 K' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 213 ;
- }
-#Covariance of u component/specific humidity
-'m s**-1' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 214 ;
- }
-#Variance of u component
-'m**2 s**-2' = {
- discipline = 192 ;
- parameterCategory = 162 ;
- parameterNumber = 215 ;
- }
#Covariance of v component/geopotential
'm**3 s**-3' = {
discipline = 192 ;
@@ -18987,21 +18763,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' = {
@@ -19009,18 +18794,6 @@
parameterCategory = 172 ;
parameterNumber = 145 ;
}
-#Mean surface sensible heat flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 146 ;
- }
-#Mean surface latent heat flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 147 ;
- }
#Mean short-wave heating rate
'K s**-1' = {
discipline = 192 ;
@@ -19033,59 +18806,14 @@
parameterCategory = 172 ;
parameterNumber = 154 ;
}
-#Mean surface downward solar radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 169 ;
- }
-#Mean surface downward thermal radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 175 ;
- }
-#Mean surface net solar radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 176 ;
- }
-#Mean surface net thermal radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 177 ;
- }
-#Mean top net solar radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 178 ;
- }
-#Mean top net thermal radiation flux
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 179 ;
- }
-#East-West surface stress rate of accumulation
-'N m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 180 ;
- }
-#North-South surface stress rate of accumulation
-'N m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 181 ;
- }
#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,45 +18841,21 @@
}
#Mean runoff rate
'm s**-1' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 205 ;
- }
-#Top net solar radiation, clear sky
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 208 ;
- }
-#Top net thermal radiation, clear sky
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 209 ;
- }
-#Surface net solar radiation, clear sky
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 210 ;
- }
-#Surface net thermal radiation, clear sky
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 211 ;
- }
-#Solar insolation rate of accumulation
-'W m**-2' = {
- discipline = 192 ;
- parameterCategory = 172 ;
- parameterNumber = 212 ;
+ localTablesVersion = 1 ;
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 201 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
}
#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 +21545,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..b6a28f51b 100644
--- a/definitions/grib2/localConcepts/ecmf/units.legacy.def
+++ b/definitions/grib2/localConcepts/ecmf/units.legacy.def
@@ -1369,3 +1369,405 @@
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 ;
+}
+#Sea water potential temperature
+'deg C' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+}
+#Sea water practical salinity
+'psu' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+}
+#Upward sea water velocity
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+}
+#Sea water sigma theta
+'kg m**-3' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+}
+#Surface downward eastward stress
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+}
+#Surface downward northward stress
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
+#Surface geopotential
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+}
+#Vertical integral of temperature
+'K kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+}
+#Vertical integral of cloud liquid water
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+}
+#Vertical integral of cloud frozen water
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+}
+#Vertical integral of ozone
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+}
+#Vertical integral of energy conversion
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+}
+#Vertical integral of eastward mass flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+}
+#Vertical integral of northward mass flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+}
+#Vertical integral of eastward kinetic energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+}
+#Vertical integral of northward kinetic energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+}
+#Vertical integral of eastward geopotential flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+}
+#Vertical integral of northward geopotential flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+}
+#Vertical integral of eastward total energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+}
+#Vertical integral of northward total energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+}
+#Vertical integral of eastward ozone flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+}
+#Vertical integral of northward ozone flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+}
+#Vertical integral of divergence of mass flux
+'kg m**-2 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+}
+#Vertical integral of divergence of kinetic energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+}
+#Vertical integral of divergence of thermal energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+}
+#Vertical integral of divergence of geopotential flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+}
+#Vertical integral of divergence of total energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+}
+#Vertical integral of divergence of ozone flux
+'kg m**-2 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+}
+#Variance of geopotential
+'m**4 s**-4' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+}
+#Covariance of geopotential/temperature
+'m**2 K s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+}
+#Variance of temperature
+'K**2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+}
+#Covariance of geopotential/specific humidity
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+}
+#Covariance of temperature/specific humidity
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+}
+#Variance of specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+}
+#Covariance of u component/geopotential
+'m**3 s**-3' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+}
+#Covariance of u component/temperature
+'m s**-1 K' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+}
+#Covariance of u component/specific humidity
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+}
+#Variance of u component
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
+#Mean vertical velocity
+'Pa s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 130 ;
+ parameterNumber = 232 ;
+}
+#Mean surface sensible heat flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 146 ;
+}
+#Mean surface latent heat flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 147 ;
+}
+#Mean temperature at 2 metres in the last 24 hours
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre temperature in the last 24 hours gradient
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 55 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 128 ;
+ parameterNumber = 56 ;
+}
+#Mean 2 metre dewpoint temperature in the last 24 hours gradient
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 129 ;
+ parameterNumber = 56 ;
+}
+#Mean surface downward solar radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 169 ;
+}
+#Mean surface downward thermal radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 175 ;
+}
+#Mean surface net solar radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 176 ;
+}
+#Mean surface net thermal radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 177 ;
+}
+#Mean top net solar radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 178 ;
+}
+#Mean top net thermal radiation flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 179 ;
+}
+#East-West surface stress rate of accumulation
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 180 ;
+}
+#North-South surface stress rate of accumulation
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 181 ;
+}
+#Standard deviation wave height
+'m' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 240 ;
+}
+#Mean of 10 metre wind speed
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 241 ;
+}
+#Mean wind direction
+'degrees' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 242 ;
+}
+#Standard deviation of 10 metre wind speed
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 140 ;
+ parameterNumber = 243 ;
+}
+#Top net solar radiation, clear sky
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 208 ;
+}
+#Top net thermal radiation, clear sky
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 209 ;
+}
+#Surface net solar radiation, clear sky
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 210 ;
+}
+#Surface net thermal radiation, clear sky
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 211 ;
+}
+#Solar insolation rate of accumulation
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 172 ;
+ parameterNumber = 212 ;
+}
diff --git a/definitions/grib2/localConcepts/era/cfName.def b/definitions/grib2/localConcepts/era/cfName.def
new file mode 100644
index 000000000..f4a8abea5
--- /dev/null
+++ b/definitions/grib2/localConcepts/era/cfName.def
@@ -0,0 +1,72 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Geopotential
+'geopotential' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Temperature
+'air_temperature' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Specific humidity
+'specific_humidity' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Vertical velocity
+'lagrangian_tendency_of_air_pressure' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Snow depth
+'lwe_thickness_of_surface_snow_amount' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Sea water potential temperature
+'sea_water_potential_temperature' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+ }
+#Sea water practical salinity
+'sea_water_practical_salinity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+ }
+#Upward sea water velocity
+'upward_sea_water_velocity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+ }
+#Sea water sigma theta
+'sea_water_sigma_theta' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+ }
+#Surface downward eastward stress
+'surface_downward_eastward_stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+ }
+#Surface downward northward stress
+'surface_downward_northward_stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+}
diff --git a/definitions/grib2/localConcepts/era/name.def b/definitions/grib2/localConcepts/era/name.def
new file mode 100644
index 000000000..78a476de6
--- /dev/null
+++ b/definitions/grib2/localConcepts/era/name.def
@@ -0,0 +1,716 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Geopotential
+'Geopotential' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Temperature
+'Temperature' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Specific humidity
+'Specific humidity' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Vertical velocity
+'Vertical velocity' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Logarithm of surface pressure
+'Logarithm of surface pressure' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 25 ;
+ typeOfFirstFixedSurface = 105 ;
+ }
+#Temperature difference
+'Temperature difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 130 ;
+ }
+#Specific humidity difference
+'Specific humidity difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 133 ;
+ }
+#Vorticity (relative) difference
+'Vorticity (relative) difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 138 ;
+ }
+#Logarithm of surface pressure difference
+'Logarithm of surface pressure difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 152 ;
+ }
+#Divergence difference
+'Divergence difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 155 ;
+ }
+#Ozone mass mixing ratio difference
+'Ozone mass mixing ratio difference' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 203 ;
+ }
+#Snow depth
+'Snow depth' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Random pattern 1 for sppt
+'Random pattern 1 for sppt' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 1 ;
+ }
+#Random pattern 2 for sppt
+'Random pattern 2 for sppt' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 2 ;
+ }
+#Random pattern 3 for sppt
+'Random pattern 3 for sppt' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 3 ;
+ }
+#Random pattern 1 for SPP scheme
+'Random pattern 1 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 101 ;
+ }
+#Random pattern 2 for SPP scheme
+'Random pattern 2 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 102 ;
+ }
+#Random pattern 3 for SPP scheme
+'Random pattern 3 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 103 ;
+ }
+#Random pattern 4 for SPP scheme
+'Random pattern 4 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 104 ;
+ }
+#Random pattern 5 for SPP scheme
+'Random pattern 5 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 105 ;
+ }
+#Random pattern 6 for SPP scheme
+'Random pattern 6 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 106 ;
+ }
+#Random pattern 7 for SPP scheme
+'Random pattern 7 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 107 ;
+ }
+#Random pattern 8 for SPP scheme
+'Random pattern 8 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 108 ;
+ }
+#Random pattern 9 for SPP scheme
+'Random pattern 9 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 109 ;
+ }
+#Random pattern 10 for SPP scheme
+'Random pattern 10 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 110 ;
+ }
+#Random pattern 11 for SPP scheme
+'Random pattern 11 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 111 ;
+ }
+#Random pattern 12 for SPP scheme
+'Random pattern 12 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 112 ;
+ }
+#Random pattern 13 for SPP scheme
+'Random pattern 13 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 113 ;
+ }
+#Random pattern 14 for SPP scheme
+'Random pattern 14 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 114 ;
+ }
+#Random pattern 15 for SPP scheme
+'Random pattern 15 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 115 ;
+ }
+#Random pattern 16 for SPP scheme
+'Random pattern 16 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 116 ;
+ }
+#Random pattern 17 for SPP scheme
+'Random pattern 17 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 117 ;
+ }
+#Random pattern 18 for SPP scheme
+'Random pattern 18 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 118 ;
+ }
+#Random pattern 19 for SPP scheme
+'Random pattern 19 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 119 ;
+ }
+#Random pattern 20 for SPP scheme
+'Random pattern 20 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 120 ;
+ }
+#Random pattern 21 for SPP scheme
+'Random pattern 21 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 121 ;
+ }
+#Random pattern 22 for SPP scheme
+'Random pattern 22 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 122 ;
+ }
+#Random pattern 23 for SPP scheme
+'Random pattern 23 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 123 ;
+ }
+#Random pattern 24 for SPP scheme
+'Random pattern 24 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 124 ;
+ }
+#Random pattern 25 for SPP scheme
+'Random pattern 25 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 125 ;
+ }
+#Random pattern 26 for SPP scheme
+'Random pattern 26 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 126 ;
+ }
+#Random pattern 27 for SPP scheme
+'Random pattern 27 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 127 ;
+ }
+#Random pattern 28 for SPP scheme
+'Random pattern 28 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 128 ;
+ }
+#Random pattern 29 for SPP scheme
+'Random pattern 29 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 129 ;
+ }
+#Random pattern 30 for SPP scheme
+'Random pattern 30 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 130 ;
+ }
+#Random pattern 31 for SPP scheme
+'Random pattern 31 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 131 ;
+ }
+#Random pattern 32 for SPP scheme
+'Random pattern 32 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 132 ;
+ }
+#Random pattern 33 for SPP scheme
+'Random pattern 33 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 133 ;
+ }
+#Random pattern 34 for SPP scheme
+'Random pattern 34 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 134 ;
+ }
+#Random pattern 35 for SPP scheme
+'Random pattern 35 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 135 ;
+ }
+#Random pattern 36 for SPP scheme
+'Random pattern 36 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 136 ;
+ }
+#Random pattern 37 for SPP scheme
+'Random pattern 37 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 137 ;
+ }
+#Random pattern 38 for SPP scheme
+'Random pattern 38 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 138 ;
+ }
+#Random pattern 39 for SPP scheme
+'Random pattern 39 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 139 ;
+ }
+#Random pattern 40 for SPP scheme
+'Random pattern 40 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 140 ;
+ }
+#Random pattern 41 for SPP scheme
+'Random pattern 41 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 141 ;
+ }
+#Random pattern 42 for SPP scheme
+'Random pattern 42 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 142 ;
+ }
+#Random pattern 43 for SPP scheme
+'Random pattern 43 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 143 ;
+ }
+#Random pattern 44 for SPP scheme
+'Random pattern 44 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 144 ;
+ }
+#Random pattern 45 for SPP scheme
+'Random pattern 45 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 145 ;
+ }
+#Random pattern 46 for SPP scheme
+'Random pattern 46 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 146 ;
+ }
+#Random pattern 47 for SPP scheme
+'Random pattern 47 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 147 ;
+ }
+#Random pattern 48 for SPP scheme
+'Random pattern 48 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 148 ;
+ }
+#Random pattern 49 for SPP scheme
+'Random pattern 49 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 149 ;
+ }
+#Random pattern 50 for SPP scheme
+'Random pattern 50 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 150 ;
+ }
+#Random pattern 51 for SPP scheme
+'Random pattern 51 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 151 ;
+ }
+#Random pattern 52 for SPP scheme
+'Random pattern 52 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 152 ;
+ }
+#Random pattern 53 for SPP scheme
+'Random pattern 53 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 153 ;
+ }
+#Random pattern 54 for SPP scheme
+'Random pattern 54 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 154 ;
+ }
+#Random pattern 55 for SPP scheme
+'Random pattern 55 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 155 ;
+ }
+#Random pattern 56 for SPP scheme
+'Random pattern 56 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 156 ;
+ }
+#Random pattern 57 for SPP scheme
+'Random pattern 57 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 157 ;
+ }
+#Random pattern 58 for SPP scheme
+'Random pattern 58 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 158 ;
+ }
+#Random pattern 59 for SPP scheme
+'Random pattern 59 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 159 ;
+ }
+#Random pattern 60 for SPP scheme
+'Random pattern 60 for SPP scheme' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 160 ;
+ }
+#Evaporation from the top of canopy
+'Evaporation from the top of canopy' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 100 ;
+ }
+#Evaporation from bare soil
+'Evaporation from bare soil' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 101 ;
+ }
+#Evaporation from open water surfaces excluding oceans
+'Evaporation from open water surfaces excluding oceans' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 102 ;
+ }
+#Evaporation from vegetation transpiration
+'Evaporation from vegetation transpiration' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 103 ;
+ }
+#Snow cover
+'Snow cover' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Sea water potential temperature
+'Sea water potential temperature' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+ }
+#Sea water practical salinity
+'Sea water practical salinity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+ }
+#Upward sea water velocity
+'Upward sea water velocity' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+ }
+#Sea water sigma theta
+'Sea water sigma theta' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+ }
+#Surface downward eastward stress
+'Surface downward eastward stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+ }
+#Surface downward northward stress
+'Surface downward northward stress' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+ }
+#Surface geopotential
+'Surface geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+ }
+#Vertical integral of temperature
+'Vertical integral of temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+ }
+#Vertical integral of cloud liquid water
+'Vertical integral of cloud liquid water' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+ }
+#Vertical integral of cloud frozen water
+'Vertical integral of cloud frozen water' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+ }
+#Vertical integral of ozone
+'Vertical integral of ozone' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+ }
+#Vertical integral of energy conversion
+'Vertical integral of energy conversion' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+ }
+#Vertical integral of eastward mass flux
+'Vertical integral of eastward mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+ }
+#Vertical integral of northward mass flux
+'Vertical integral of northward mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+ }
+#Vertical integral of eastward kinetic energy flux
+'Vertical integral of eastward kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+ }
+#Vertical integral of northward kinetic energy flux
+'Vertical integral of northward kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+ }
+#Vertical integral of eastward geopotential flux
+'Vertical integral of eastward geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+ }
+#Vertical integral of northward geopotential flux
+'Vertical integral of northward geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+ }
+#Vertical integral of eastward total energy flux
+'Vertical integral of eastward total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+ }
+#Vertical integral of northward total energy flux
+'Vertical integral of northward total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+ }
+#Vertical integral of eastward ozone flux
+'Vertical integral of eastward ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+ }
+#Vertical integral of northward ozone flux
+'Vertical integral of northward ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+ }
+#Vertical integral of divergence of mass flux
+'Vertical integral of divergence of mass flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+ }
+#Vertical integral of divergence of kinetic energy flux
+'Vertical integral of divergence of kinetic energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+ }
+#Vertical integral of divergence of thermal energy flux
+'Vertical integral of divergence of thermal energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+ }
+#Vertical integral of divergence of geopotential flux
+'Vertical integral of divergence of geopotential flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+ }
+#Vertical integral of divergence of total energy flux
+'Vertical integral of divergence of total energy flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+ }
+#Vertical integral of divergence of ozone flux
+'Vertical integral of divergence of ozone flux' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+ }
+#Variance of geopotential
+'Variance of geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+ }
+#Covariance of geopotential/temperature
+'Covariance of geopotential/temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+ }
+#Variance of temperature
+'Variance of temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+ }
+#Covariance of geopotential/specific humidity
+'Covariance of geopotential/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+ }
+#Covariance of temperature/specific humidity
+'Covariance of temperature/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+ }
+#Variance of specific humidity
+'Variance of specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+ }
+#Covariance of u component/geopotential
+'Covariance of u component/geopotential' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+ }
+#Covariance of u component/temperature
+'Covariance of u component/temperature' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+ }
+#Covariance of u component/specific humidity
+'Covariance of u component/specific humidity' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+ }
+#Variance of u component
+'Variance of u component' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
diff --git a/definitions/grib2/localConcepts/era/paramId.def b/definitions/grib2/localConcepts/era/paramId.def
new file mode 100644
index 000000000..31219cfa9
--- /dev/null
+++ b/definitions/grib2/localConcepts/era/paramId.def
@@ -0,0 +1,716 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Geopotential
+'129' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Temperature
+'130' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Specific humidity
+'133' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Vertical velocity
+'135' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Logarithm of surface pressure
+'152' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 25 ;
+ typeOfFirstFixedSurface = 105 ;
+ }
+#Temperature difference
+'200130' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 130 ;
+ }
+#Specific humidity difference
+'200133' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 133 ;
+ }
+#Vorticity (relative) difference
+'200138' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 138 ;
+ }
+#Logarithm of surface pressure difference
+'200152' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 152 ;
+ }
+#Divergence difference
+'200155' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 155 ;
+ }
+#Ozone mass mixing ratio difference
+'200203' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 203 ;
+ }
+#Snow depth
+'3066' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Random pattern 1 for sppt
+'213001' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 1 ;
+ }
+#Random pattern 2 for sppt
+'213002' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 2 ;
+ }
+#Random pattern 3 for sppt
+'213003' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 3 ;
+ }
+#Random pattern 1 for SPP scheme
+'213101' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 101 ;
+ }
+#Random pattern 2 for SPP scheme
+'213102' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 102 ;
+ }
+#Random pattern 3 for SPP scheme
+'213103' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 103 ;
+ }
+#Random pattern 4 for SPP scheme
+'213104' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 104 ;
+ }
+#Random pattern 5 for SPP scheme
+'213105' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 105 ;
+ }
+#Random pattern 6 for SPP scheme
+'213106' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 106 ;
+ }
+#Random pattern 7 for SPP scheme
+'213107' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 107 ;
+ }
+#Random pattern 8 for SPP scheme
+'213108' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 108 ;
+ }
+#Random pattern 9 for SPP scheme
+'213109' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 109 ;
+ }
+#Random pattern 10 for SPP scheme
+'213110' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 110 ;
+ }
+#Random pattern 11 for SPP scheme
+'213111' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 111 ;
+ }
+#Random pattern 12 for SPP scheme
+'213112' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 112 ;
+ }
+#Random pattern 13 for SPP scheme
+'213113' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 113 ;
+ }
+#Random pattern 14 for SPP scheme
+'213114' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 114 ;
+ }
+#Random pattern 15 for SPP scheme
+'213115' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 115 ;
+ }
+#Random pattern 16 for SPP scheme
+'213116' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 116 ;
+ }
+#Random pattern 17 for SPP scheme
+'213117' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 117 ;
+ }
+#Random pattern 18 for SPP scheme
+'213118' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 118 ;
+ }
+#Random pattern 19 for SPP scheme
+'213119' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 119 ;
+ }
+#Random pattern 20 for SPP scheme
+'213120' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 120 ;
+ }
+#Random pattern 21 for SPP scheme
+'213121' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 121 ;
+ }
+#Random pattern 22 for SPP scheme
+'213122' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 122 ;
+ }
+#Random pattern 23 for SPP scheme
+'213123' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 123 ;
+ }
+#Random pattern 24 for SPP scheme
+'213124' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 124 ;
+ }
+#Random pattern 25 for SPP scheme
+'213125' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 125 ;
+ }
+#Random pattern 26 for SPP scheme
+'213126' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 126 ;
+ }
+#Random pattern 27 for SPP scheme
+'213127' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 127 ;
+ }
+#Random pattern 28 for SPP scheme
+'213128' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 128 ;
+ }
+#Random pattern 29 for SPP scheme
+'213129' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 129 ;
+ }
+#Random pattern 30 for SPP scheme
+'213130' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 130 ;
+ }
+#Random pattern 31 for SPP scheme
+'213131' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 131 ;
+ }
+#Random pattern 32 for SPP scheme
+'213132' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 132 ;
+ }
+#Random pattern 33 for SPP scheme
+'213133' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 133 ;
+ }
+#Random pattern 34 for SPP scheme
+'213134' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 134 ;
+ }
+#Random pattern 35 for SPP scheme
+'213135' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 135 ;
+ }
+#Random pattern 36 for SPP scheme
+'213136' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 136 ;
+ }
+#Random pattern 37 for SPP scheme
+'213137' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 137 ;
+ }
+#Random pattern 38 for SPP scheme
+'213138' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 138 ;
+ }
+#Random pattern 39 for SPP scheme
+'213139' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 139 ;
+ }
+#Random pattern 40 for SPP scheme
+'213140' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 140 ;
+ }
+#Random pattern 41 for SPP scheme
+'213141' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 141 ;
+ }
+#Random pattern 42 for SPP scheme
+'213142' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 142 ;
+ }
+#Random pattern 43 for SPP scheme
+'213143' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 143 ;
+ }
+#Random pattern 44 for SPP scheme
+'213144' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 144 ;
+ }
+#Random pattern 45 for SPP scheme
+'213145' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 145 ;
+ }
+#Random pattern 46 for SPP scheme
+'213146' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 146 ;
+ }
+#Random pattern 47 for SPP scheme
+'213147' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 147 ;
+ }
+#Random pattern 48 for SPP scheme
+'213148' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 148 ;
+ }
+#Random pattern 49 for SPP scheme
+'213149' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 149 ;
+ }
+#Random pattern 50 for SPP scheme
+'213150' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 150 ;
+ }
+#Random pattern 51 for SPP scheme
+'213151' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 151 ;
+ }
+#Random pattern 52 for SPP scheme
+'213152' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 152 ;
+ }
+#Random pattern 53 for SPP scheme
+'213153' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 153 ;
+ }
+#Random pattern 54 for SPP scheme
+'213154' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 154 ;
+ }
+#Random pattern 55 for SPP scheme
+'213155' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 155 ;
+ }
+#Random pattern 56 for SPP scheme
+'213156' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 156 ;
+ }
+#Random pattern 57 for SPP scheme
+'213157' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 157 ;
+ }
+#Random pattern 58 for SPP scheme
+'213158' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 158 ;
+ }
+#Random pattern 59 for SPP scheme
+'213159' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 159 ;
+ }
+#Random pattern 60 for SPP scheme
+'213160' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 160 ;
+ }
+#Evaporation from the top of canopy
+'228100' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 100 ;
+ }
+#Evaporation from bare soil
+'228101' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 101 ;
+ }
+#Evaporation from open water surfaces excluding oceans
+'228102' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 102 ;
+ }
+#Evaporation from vegetation transpiration
+'228103' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 103 ;
+ }
+#Snow cover
+'260038' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Sea water potential temperature
+'151129' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+ }
+#Sea water practical salinity
+'151130' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+ }
+#Upward sea water velocity
+'151133' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+ }
+#Sea water sigma theta
+'151138' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+ }
+#Surface downward eastward stress
+'151153' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+ }
+#Surface downward northward stress
+'151154' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+ }
+#Surface geopotential
+'162051' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+ }
+#Vertical integral of temperature
+'162054' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+ }
+#Vertical integral of cloud liquid water
+'162056' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+ }
+#Vertical integral of cloud frozen water
+'162057' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+ }
+#Vertical integral of ozone
+'162058' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+ }
+#Vertical integral of energy conversion
+'162064' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+ }
+#Vertical integral of eastward mass flux
+'162065' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+ }
+#Vertical integral of northward mass flux
+'162066' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+ }
+#Vertical integral of eastward kinetic energy flux
+'162067' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+ }
+#Vertical integral of northward kinetic energy flux
+'162068' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+ }
+#Vertical integral of eastward geopotential flux
+'162073' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+ }
+#Vertical integral of northward geopotential flux
+'162074' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+ }
+#Vertical integral of eastward total energy flux
+'162075' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+ }
+#Vertical integral of northward total energy flux
+'162076' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+ }
+#Vertical integral of eastward ozone flux
+'162077' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+ }
+#Vertical integral of northward ozone flux
+'162078' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+ }
+#Vertical integral of divergence of mass flux
+'162081' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+ }
+#Vertical integral of divergence of kinetic energy flux
+'162082' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+ }
+#Vertical integral of divergence of thermal energy flux
+'162083' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+ }
+#Vertical integral of divergence of geopotential flux
+'162085' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+ }
+#Vertical integral of divergence of total energy flux
+'162086' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+ }
+#Vertical integral of divergence of ozone flux
+'162087' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+ }
+#Variance of geopotential
+'162206' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+ }
+#Covariance of geopotential/temperature
+'162207' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+ }
+#Variance of temperature
+'162208' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+ }
+#Covariance of geopotential/specific humidity
+'162209' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+ }
+#Covariance of temperature/specific humidity
+'162210' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+ }
+#Variance of specific humidity
+'162211' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+ }
+#Covariance of u component/geopotential
+'162212' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+ }
+#Covariance of u component/temperature
+'162213' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+ }
+#Covariance of u component/specific humidity
+'162214' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+ }
+#Variance of u component
+'162215' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
diff --git a/definitions/grib2/localConcepts/era/shortName.def b/definitions/grib2/localConcepts/era/shortName.def
new file mode 100644
index 000000000..beb0f3d79
--- /dev/null
+++ b/definitions/grib2/localConcepts/era/shortName.def
@@ -0,0 +1,716 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Geopotential
+'z' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Temperature
+'t' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Specific humidity
+'q' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Vertical velocity
+'w' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Logarithm of surface pressure
+'lnsp' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 25 ;
+ typeOfFirstFixedSurface = 105 ;
+ }
+#Temperature difference
+'tdiff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 130 ;
+ }
+#Specific humidity difference
+'qdiff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 133 ;
+ }
+#Vorticity (relative) difference
+'vodiff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 138 ;
+ }
+#Logarithm of surface pressure difference
+'lnspdiff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 152 ;
+ }
+#Divergence difference
+'ddiff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 155 ;
+ }
+#Ozone mass mixing ratio difference
+'o3diff' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 203 ;
+ }
+#Snow depth
+'sde' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Random pattern 1 for sppt
+'sppt1' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 1 ;
+ }
+#Random pattern 2 for sppt
+'sppt2' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 2 ;
+ }
+#Random pattern 3 for sppt
+'sppt3' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 3 ;
+ }
+#Random pattern 1 for SPP scheme
+'spp1' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 101 ;
+ }
+#Random pattern 2 for SPP scheme
+'spp2' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 102 ;
+ }
+#Random pattern 3 for SPP scheme
+'spp3' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 103 ;
+ }
+#Random pattern 4 for SPP scheme
+'spp4' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 104 ;
+ }
+#Random pattern 5 for SPP scheme
+'spp5' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 105 ;
+ }
+#Random pattern 6 for SPP scheme
+'spp6' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 106 ;
+ }
+#Random pattern 7 for SPP scheme
+'spp7' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 107 ;
+ }
+#Random pattern 8 for SPP scheme
+'spp8' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 108 ;
+ }
+#Random pattern 9 for SPP scheme
+'spp9' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 109 ;
+ }
+#Random pattern 10 for SPP scheme
+'spp10' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 110 ;
+ }
+#Random pattern 11 for SPP scheme
+'spp11' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 111 ;
+ }
+#Random pattern 12 for SPP scheme
+'spp12' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 112 ;
+ }
+#Random pattern 13 for SPP scheme
+'spp13' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 113 ;
+ }
+#Random pattern 14 for SPP scheme
+'spp14' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 114 ;
+ }
+#Random pattern 15 for SPP scheme
+'spp15' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 115 ;
+ }
+#Random pattern 16 for SPP scheme
+'spp16' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 116 ;
+ }
+#Random pattern 17 for SPP scheme
+'spp17' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 117 ;
+ }
+#Random pattern 18 for SPP scheme
+'spp18' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 118 ;
+ }
+#Random pattern 19 for SPP scheme
+'spp19' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 119 ;
+ }
+#Random pattern 20 for SPP scheme
+'spp20' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 120 ;
+ }
+#Random pattern 21 for SPP scheme
+'spp21' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 121 ;
+ }
+#Random pattern 22 for SPP scheme
+'spp22' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 122 ;
+ }
+#Random pattern 23 for SPP scheme
+'spp23' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 123 ;
+ }
+#Random pattern 24 for SPP scheme
+'spp24' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 124 ;
+ }
+#Random pattern 25 for SPP scheme
+'spp25' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 125 ;
+ }
+#Random pattern 26 for SPP scheme
+'spp26' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 126 ;
+ }
+#Random pattern 27 for SPP scheme
+'spp27' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 127 ;
+ }
+#Random pattern 28 for SPP scheme
+'spp28' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 128 ;
+ }
+#Random pattern 29 for SPP scheme
+'spp29' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 129 ;
+ }
+#Random pattern 30 for SPP scheme
+'spp30' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 130 ;
+ }
+#Random pattern 31 for SPP scheme
+'spp31' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 131 ;
+ }
+#Random pattern 32 for SPP scheme
+'spp32' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 132 ;
+ }
+#Random pattern 33 for SPP scheme
+'spp33' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 133 ;
+ }
+#Random pattern 34 for SPP scheme
+'spp34' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 134 ;
+ }
+#Random pattern 35 for SPP scheme
+'spp35' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 135 ;
+ }
+#Random pattern 36 for SPP scheme
+'spp36' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 136 ;
+ }
+#Random pattern 37 for SPP scheme
+'spp37' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 137 ;
+ }
+#Random pattern 38 for SPP scheme
+'spp38' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 138 ;
+ }
+#Random pattern 39 for SPP scheme
+'spp39' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 139 ;
+ }
+#Random pattern 40 for SPP scheme
+'spp40' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 140 ;
+ }
+#Random pattern 41 for SPP scheme
+'spp41' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 141 ;
+ }
+#Random pattern 42 for SPP scheme
+'spp42' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 142 ;
+ }
+#Random pattern 43 for SPP scheme
+'spp43' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 143 ;
+ }
+#Random pattern 44 for SPP scheme
+'spp44' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 144 ;
+ }
+#Random pattern 45 for SPP scheme
+'spp45' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 145 ;
+ }
+#Random pattern 46 for SPP scheme
+'spp46' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 146 ;
+ }
+#Random pattern 47 for SPP scheme
+'spp47' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 147 ;
+ }
+#Random pattern 48 for SPP scheme
+'spp48' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 148 ;
+ }
+#Random pattern 49 for SPP scheme
+'spp49' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 149 ;
+ }
+#Random pattern 50 for SPP scheme
+'spp50' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 150 ;
+ }
+#Random pattern 51 for SPP scheme
+'spp51' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 151 ;
+ }
+#Random pattern 52 for SPP scheme
+'spp52' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 152 ;
+ }
+#Random pattern 53 for SPP scheme
+'spp53' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 153 ;
+ }
+#Random pattern 54 for SPP scheme
+'spp54' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 154 ;
+ }
+#Random pattern 55 for SPP scheme
+'spp55' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 155 ;
+ }
+#Random pattern 56 for SPP scheme
+'spp56' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 156 ;
+ }
+#Random pattern 57 for SPP scheme
+'spp57' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 157 ;
+ }
+#Random pattern 58 for SPP scheme
+'spp58' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 158 ;
+ }
+#Random pattern 59 for SPP scheme
+'spp59' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 159 ;
+ }
+#Random pattern 60 for SPP scheme
+'spp60' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 160 ;
+ }
+#Evaporation from the top of canopy
+'evatc' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 100 ;
+ }
+#Evaporation from bare soil
+'evabs' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 101 ;
+ }
+#Evaporation from open water surfaces excluding oceans
+'evaow' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 102 ;
+ }
+#Evaporation from vegetation transpiration
+'evavt' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 103 ;
+ }
+#Snow cover
+'snowc' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Sea water potential temperature
+'thetao' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+ }
+#Sea water practical salinity
+'so' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+ }
+#Upward sea water velocity
+'wo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+ }
+#Sea water sigma theta
+'sigmat' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+ }
+#Surface downward eastward stress
+'taueo' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+ }
+#Surface downward northward stress
+'tauno' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+ }
+#Surface geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+ }
+#Vertical integral of temperature
+'vit' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+ }
+#Vertical integral of cloud liquid water
+'vilw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+ }
+#Vertical integral of cloud frozen water
+'viiw' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+ }
+#Vertical integral of ozone
+'vioz' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+ }
+#Vertical integral of energy conversion
+'viec' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+ }
+#Vertical integral of eastward mass flux
+'vimae' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+ }
+#Vertical integral of northward mass flux
+'viman' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+ }
+#Vertical integral of eastward kinetic energy flux
+'vikee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+ }
+#Vertical integral of northward kinetic energy flux
+'viken' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+ }
+#Vertical integral of eastward geopotential flux
+'vige' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+ }
+#Vertical integral of northward geopotential flux
+'vign' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+ }
+#Vertical integral of eastward total energy flux
+'vitoee' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+ }
+#Vertical integral of northward total energy flux
+'vitoen' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+ }
+#Vertical integral of eastward ozone flux
+'vioze' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+ }
+#Vertical integral of northward ozone flux
+'viozn' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+ }
+#Vertical integral of divergence of mass flux
+'vimad' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+ }
+#Vertical integral of divergence of kinetic energy flux
+'viked' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+ }
+#Vertical integral of divergence of thermal energy flux
+'vithed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+ }
+#Vertical integral of divergence of geopotential flux
+'vigd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+ }
+#Vertical integral of divergence of total energy flux
+'vitoed' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+ }
+#Vertical integral of divergence of ozone flux
+'viozd' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+ }
+#Variance of geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+ }
+#Covariance of geopotential/temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+ }
+#Variance of temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+ }
+#Covariance of geopotential/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+ }
+#Covariance of temperature/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+ }
+#Variance of specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+ }
+#Covariance of u component/geopotential
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+ }
+#Covariance of u component/temperature
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+ }
+#Covariance of u component/specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+ }
+#Variance of u component
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
diff --git a/definitions/grib2/localConcepts/era/units.def b/definitions/grib2/localConcepts/era/units.def
new file mode 100644
index 000000000..95c5b4af8
--- /dev/null
+++ b/definitions/grib2/localConcepts/era/units.def
@@ -0,0 +1,716 @@
+# Automatically generated by ./create_def.pl, do not edit
+#Geopotential
+'m**2 s**-2' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Temperature
+'K' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Specific humidity
+'kg kg**-1' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Vertical velocity
+'Pa s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Logarithm of surface pressure
+'Numeric' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 25 ;
+ typeOfFirstFixedSurface = 105 ;
+ }
+#Temperature difference
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 130 ;
+ }
+#Specific humidity difference
+'kg kg**-1' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 133 ;
+ }
+#Vorticity (relative) difference
+'s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 138 ;
+ }
+#Logarithm of surface pressure difference
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 152 ;
+ }
+#Divergence difference
+'s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 155 ;
+ }
+#Ozone mass mixing ratio difference
+'kg kg**-1' = {
+ discipline = 192 ;
+ parameterCategory = 200 ;
+ parameterNumber = 203 ;
+ }
+#Snow depth
+'m' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Random pattern 1 for sppt
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 1 ;
+ }
+#Random pattern 2 for sppt
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 2 ;
+ }
+#Random pattern 3 for sppt
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 3 ;
+ }
+#Random pattern 1 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 101 ;
+ }
+#Random pattern 2 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 102 ;
+ }
+#Random pattern 3 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 103 ;
+ }
+#Random pattern 4 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 104 ;
+ }
+#Random pattern 5 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 105 ;
+ }
+#Random pattern 6 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 106 ;
+ }
+#Random pattern 7 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 107 ;
+ }
+#Random pattern 8 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 108 ;
+ }
+#Random pattern 9 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 109 ;
+ }
+#Random pattern 10 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 110 ;
+ }
+#Random pattern 11 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 111 ;
+ }
+#Random pattern 12 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 112 ;
+ }
+#Random pattern 13 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 113 ;
+ }
+#Random pattern 14 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 114 ;
+ }
+#Random pattern 15 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 115 ;
+ }
+#Random pattern 16 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 116 ;
+ }
+#Random pattern 17 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 117 ;
+ }
+#Random pattern 18 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 118 ;
+ }
+#Random pattern 19 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 119 ;
+ }
+#Random pattern 20 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 120 ;
+ }
+#Random pattern 21 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 121 ;
+ }
+#Random pattern 22 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 122 ;
+ }
+#Random pattern 23 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 123 ;
+ }
+#Random pattern 24 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 124 ;
+ }
+#Random pattern 25 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 125 ;
+ }
+#Random pattern 26 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 126 ;
+ }
+#Random pattern 27 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 127 ;
+ }
+#Random pattern 28 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 128 ;
+ }
+#Random pattern 29 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 129 ;
+ }
+#Random pattern 30 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 130 ;
+ }
+#Random pattern 31 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 131 ;
+ }
+#Random pattern 32 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 132 ;
+ }
+#Random pattern 33 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 133 ;
+ }
+#Random pattern 34 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 134 ;
+ }
+#Random pattern 35 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 135 ;
+ }
+#Random pattern 36 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 136 ;
+ }
+#Random pattern 37 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 137 ;
+ }
+#Random pattern 38 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 138 ;
+ }
+#Random pattern 39 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 139 ;
+ }
+#Random pattern 40 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 140 ;
+ }
+#Random pattern 41 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 141 ;
+ }
+#Random pattern 42 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 142 ;
+ }
+#Random pattern 43 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 143 ;
+ }
+#Random pattern 44 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 144 ;
+ }
+#Random pattern 45 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 145 ;
+ }
+#Random pattern 46 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 146 ;
+ }
+#Random pattern 47 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 147 ;
+ }
+#Random pattern 48 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 148 ;
+ }
+#Random pattern 49 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 149 ;
+ }
+#Random pattern 50 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 150 ;
+ }
+#Random pattern 51 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 151 ;
+ }
+#Random pattern 52 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 152 ;
+ }
+#Random pattern 53 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 153 ;
+ }
+#Random pattern 54 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 154 ;
+ }
+#Random pattern 55 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 155 ;
+ }
+#Random pattern 56 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 156 ;
+ }
+#Random pattern 57 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 157 ;
+ }
+#Random pattern 58 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 158 ;
+ }
+#Random pattern 59 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 159 ;
+ }
+#Random pattern 60 for SPP scheme
+'dimensionless' = {
+ discipline = 192 ;
+ parameterCategory = 213 ;
+ parameterNumber = 160 ;
+ }
+#Evaporation from the top of canopy
+'m of water equivalent' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 100 ;
+ }
+#Evaporation from bare soil
+'m of water equivalent' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 101 ;
+ }
+#Evaporation from open water surfaces excluding oceans
+'m of water equivalent' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 102 ;
+ }
+#Evaporation from vegetation transpiration
+'m of water equivalent' = {
+ discipline = 192 ;
+ parameterCategory = 228 ;
+ parameterNumber = 103 ;
+ }
+#Snow cover
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Sea water potential temperature
+'deg C' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 129 ;
+ }
+#Sea water practical salinity
+'psu' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 130 ;
+ }
+#Upward sea water velocity
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 133 ;
+ }
+#Sea water sigma theta
+'kg m**-3' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 138 ;
+ }
+#Surface downward eastward stress
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 153 ;
+ }
+#Surface downward northward stress
+'N m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 151 ;
+ parameterNumber = 154 ;
+ }
+#Surface geopotential
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 51 ;
+ }
+#Vertical integral of temperature
+'K kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 54 ;
+ }
+#Vertical integral of cloud liquid water
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 56 ;
+ }
+#Vertical integral of cloud frozen water
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 57 ;
+ }
+#Vertical integral of ozone
+'kg m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 58 ;
+ }
+#Vertical integral of energy conversion
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 64 ;
+ }
+#Vertical integral of eastward mass flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 65 ;
+ }
+#Vertical integral of northward mass flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 66 ;
+ }
+#Vertical integral of eastward kinetic energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 67 ;
+ }
+#Vertical integral of northward kinetic energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 68 ;
+ }
+#Vertical integral of eastward geopotential flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 73 ;
+ }
+#Vertical integral of northward geopotential flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 74 ;
+ }
+#Vertical integral of eastward total energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 75 ;
+ }
+#Vertical integral of northward total energy flux
+'W m**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 76 ;
+ }
+#Vertical integral of eastward ozone flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 77 ;
+ }
+#Vertical integral of northward ozone flux
+'kg m**-1 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 78 ;
+ }
+#Vertical integral of divergence of mass flux
+'kg m**-2 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 81 ;
+ }
+#Vertical integral of divergence of kinetic energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 82 ;
+ }
+#Vertical integral of divergence of thermal energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 83 ;
+ }
+#Vertical integral of divergence of geopotential flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 85 ;
+ }
+#Vertical integral of divergence of total energy flux
+'W m**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 86 ;
+ }
+#Vertical integral of divergence of ozone flux
+'kg m**-2 s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 87 ;
+ }
+#Variance of geopotential
+'m**4 s**-4' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 206 ;
+ }
+#Covariance of geopotential/temperature
+'m**2 K s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 207 ;
+ }
+#Variance of temperature
+'K**2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 208 ;
+ }
+#Covariance of geopotential/specific humidity
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 209 ;
+ }
+#Covariance of temperature/specific humidity
+'K' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 210 ;
+ }
+#Variance of specific humidity
+'~' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 211 ;
+ }
+#Covariance of u component/geopotential
+'m**3 s**-3' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 212 ;
+ }
+#Covariance of u component/temperature
+'m s**-1 K' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 213 ;
+ }
+#Covariance of u component/specific humidity
+'m s**-1' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 214 ;
+ }
+#Variance of u component
+'m**2 s**-2' = {
+ discipline = 192 ;
+ parameterCategory = 162 ;
+ parameterNumber = 215 ;
+}
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)
45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.205.table b/definitions/grib2/tables/10/4.205.table
index 8d425ab9d..3fadf7d80 100644
--- a/definitions/grib2/tables/10/4.205.table
+++ b/definitions/grib2/tables/10/4.205.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.206.table b/definitions/grib2/tables/10/4.206.table
index 0be7fd4f8..43b0ba137 100644
--- a/definitions/grib2/tables/10/4.206.table
+++ b/definitions/grib2/tables/10/4.206.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.207.table b/definitions/grib2/tables/10/4.207.table
index fde9eb477..815a5777e 100644
--- a/definitions/grib2/tables/10/4.207.table
+++ b/definitions/grib2/tables/10/4.207.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.208.table b/definitions/grib2/tables/10/4.208.table
index 196becaaf..23ea97317 100644
--- a/definitions/grib2/tables/10/4.208.table
+++ b/definitions/grib2/tables/10/4.208.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.209.table b/definitions/grib2/tables/10/4.209.table
index 351c0f431..53c6c5eba 100644
--- a/definitions/grib2/tables/10/4.209.table
+++ b/definitions/grib2/tables/10/4.209.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically-driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically-driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.210.table b/definitions/grib2/tables/10/4.210.table
index 1c00b8c6f..149b2ba06 100644
--- a/definitions/grib2/tables/10/4.210.table
+++ b/definitions/grib2/tables/10/4.210.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.211.table b/definitions/grib2/tables/10/4.211.table
index 66ef656f6..b5753f19f 100644
--- a/definitions/grib2/tables/10/4.211.table
+++ b/definitions/grib2/tables/10/4.211.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.212.table b/definitions/grib2/tables/10/4.212.table
index c59bd24e8..738c45d2c 100644
--- a/definitions/grib2/tables/10/4.212.table
+++ b/definitions/grib2/tables/10/4.212.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.213.table b/definitions/grib2/tables/10/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/10/4.213.table
+++ b/definitions/grib2/tables/10/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.215.table b/definitions/grib2/tables/10/4.215.table
index 460888217..5ed37c034 100644
--- a/definitions/grib2/tables/10/4.215.table
+++ b/definitions/grib2/tables/10/4.215.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.216.table b/definitions/grib2/tables/10/4.216.table
index 4d9a70f86..b51b358f4 100644
--- a/definitions/grib2/tables/10/4.216.table
+++ b/definitions/grib2/tables/10/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.217.table b/definitions/grib2/tables/10/4.217.table
index 51a263a99..6a014c9c3 100644
--- a/definitions/grib2/tables/10/4.217.table
+++ b/definitions/grib2/tables/10/4.217.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.218.table b/definitions/grib2/tables/10/4.218.table
index d4b2ab843..b6087448f 100644
--- a/definitions/grib2/tables/10/4.218.table
+++ b/definitions/grib2/tables/10/4.218.table
@@ -1,38 +1,38 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.219.table b/definitions/grib2/tables/10/4.219.table
index f10ce468e..a02452fc4 100644
--- a/definitions/grib2/tables/10/4.219.table
+++ b/definitions/grib2/tables/10/4.219.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.220.table b/definitions/grib2/tables/10/4.220.table
index 9c957eb01..7a18fa1fd 100644
--- a/definitions/grib2/tables/10/4.220.table
+++ b/definitions/grib2/tables/10/4.220.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.221.table b/definitions/grib2/tables/10/4.221.table
index 5466929c7..eb0b64502 100644
--- a/definitions/grib2/tables/10/4.221.table
+++ b/definitions/grib2/tables/10/4.221.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.222.table b/definitions/grib2/tables/10/4.222.table
index c54194e29..f554a7f3d 100644
--- a/definitions/grib2/tables/10/4.222.table
+++ b/definitions/grib2/tables/10/4.222.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.223.table b/definitions/grib2/tables/10/4.223.table
index b6a9be136..706abab78 100644
--- a/definitions/grib2/tables/10/4.223.table
+++ b/definitions/grib2/tables/10/4.223.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing value
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing value
diff --git a/definitions/grib2/tables/10/4.224.table b/definitions/grib2/tables/10/4.224.table
index af846f841..cf67496b8 100644
--- a/definitions/grib2/tables/10/4.224.table
+++ b/definitions/grib2/tables/10/4.224.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.227.table b/definitions/grib2/tables/10/4.227.table
index 6a98d49d0..7676664e4 100644
--- a/definitions/grib2/tables/10/4.227.table
+++ b/definitions/grib2/tables/10/4.227.table
@@ -4,6 +4,6 @@
2 2 Convective
3 3 Stratiform
4 4 Freezing
-# 5-191 Reserved
+# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/10/4.3.table b/definitions/grib2/tables/10/4.3.table
index 68e2cc83f..8a4e919c9 100644
--- a/definitions/grib2/tables/10/4.3.table
+++ b/definitions/grib2/tables/10/4.3.table
@@ -1,16 +1,16 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.4.table b/definitions/grib2/tables/10/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/10/4.4.table
+++ b/definitions/grib2/tables/10/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.5.table b/definitions/grib2/tables/10/4.5.table
index 1ada3eb23..c3b8aec5d 100644
--- a/definitions/grib2/tables/10/4.5.table
+++ b/definitions/grib2/tables/10/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid level
@@ -36,7 +36,7 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -44,6 +44,6 @@
164 164 Bottom of thermally active sediment layer
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
-# 167-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 167-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.6.table b/definitions/grib2/tables/10/4.6.table
index 54f2993c3..eaa5c4362 100644
--- a/definitions/grib2/tables/10/4.6.table
+++ b/definitions/grib2/tables/10/4.6.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.7.table b/definitions/grib2/tables/10/4.7.table
index 23e0d457e..e6d887bdb 100644
--- a/definitions/grib2/tables/10/4.7.table
+++ b/definitions/grib2/tables/10/4.7.table
@@ -1,14 +1,14 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.8.table b/definitions/grib2/tables/10/4.8.table
index 37a6cf767..d06153079 100644
--- a/definitions/grib2/tables/10/4.8.table
+++ b/definitions/grib2/tables/10/4.8.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.9.table b/definitions/grib2/tables/10/4.9.table
index 19e64a3d2..5243e58dd 100644
--- a/definitions/grib2/tables/10/4.9.table
+++ b/definitions/grib2/tables/10/4.9.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/4.91.table b/definitions/grib2/tables/10/4.91.table
index 97b1c70ad..ae31ed61c 100644
--- a/definitions/grib2/tables/10/4.91.table
+++ b/definitions/grib2/tables/10/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/10/5.1.table b/definitions/grib2/tables/10/5.1.table
index 100d4106d..158a35850 100644
--- a/definitions/grib2/tables/10/5.1.table
+++ b/definitions/grib2/tables/10/5.1.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.2.table b/definitions/grib2/tables/10/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/10/5.2.table
+++ b/definitions/grib2/tables/10/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/10/5.3.table b/definitions/grib2/tables/10/5.3.table
index 705fa6524..6f228aeec 100644
--- a/definitions/grib2/tables/10/5.3.table
+++ b/definitions/grib2/tables/10/5.3.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.4.table b/definitions/grib2/tables/10/5.4.table
index 8133367a5..f844f557e 100644
--- a/definitions/grib2/tables/10/5.4.table
+++ b/definitions/grib2/tables/10/5.4.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.40.table b/definitions/grib2/tables/10/5.40.table
index 0d56ad0e0..2431eb547 100644
--- a/definitions/grib2/tables/10/5.40.table
+++ b/definitions/grib2/tables/10/5.40.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.5.table b/definitions/grib2/tables/10/5.5.table
index 5d625dbda..f2216e273 100644
--- a/definitions/grib2/tables/10/5.5.table
+++ b/definitions/grib2/tables/10/5.5.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.6.table b/definitions/grib2/tables/10/5.6.table
index 5838e994d..3b0892d37 100644
--- a/definitions/grib2/tables/10/5.6.table
+++ b/definitions/grib2/tables/10/5.6.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/10/5.7.table b/definitions/grib2/tables/10/5.7.table
index b93aa8130..f056d3059 100644
--- a/definitions/grib2/tables/10/5.7.table
+++ b/definitions/grib2/tables/10/5.7.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/10/6.0.table b/definitions/grib2/tables/10/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/10/6.0.table
+++ b/definitions/grib2/tables/10/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/11/0.0.table b/definitions/grib2/tables/11/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/11/0.0.table
+++ b/definitions/grib2/tables/11/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/1.1.table b/definitions/grib2/tables/11/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/11/1.1.table
+++ b/definitions/grib2/tables/11/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/11/1.2.table b/definitions/grib2/tables/11/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/11/1.2.table
+++ b/definitions/grib2/tables/11/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/1.3.table b/definitions/grib2/tables/11/1.3.table
index e8c38878d..34ace7fda 100644
--- a/definitions/grib2/tables/11/1.3.table
+++ b/definitions/grib2/tables/11/1.3.table
@@ -1,12 +1,12 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 Sub-seasonal to seasonal prediction project (S2S)
7 7 Sub-seasonal to seasonal prediction project test (S2S)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/1.4.table b/definitions/grib2/tables/11/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/11/1.4.table
+++ b/definitions/grib2/tables/11/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/11/3.0.table b/definitions/grib2/tables/11/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/11/3.0.table
+++ b/definitions/grib2/tables/11/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/11/3.10.table b/definitions/grib2/tables/11/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/11/3.10.table
+++ b/definitions/grib2/tables/11/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/11/3.11.table b/definitions/grib2/tables/11/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/11/3.11.table
+++ b/definitions/grib2/tables/11/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.15.table b/definitions/grib2/tables/11/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/11/3.15.table
+++ b/definitions/grib2/tables/11/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.2.table b/definitions/grib2/tables/11/3.2.table
index a2107f6e9..b9574a424 100644
--- a/definitions/grib2/tables/11/3.2.table
+++ b/definitions/grib2/tables/11/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.20.table b/definitions/grib2/tables/11/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/11/3.20.table
+++ b/definitions/grib2/tables/11/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.21.table b/definitions/grib2/tables/11/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/11/3.21.table
+++ b/definitions/grib2/tables/11/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.3.table b/definitions/grib2/tables/11/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/11/3.3.table
+++ b/definitions/grib2/tables/11/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/11/3.4.table b/definitions/grib2/tables/11/3.4.table
index 63c8adaaa..ea9cbe829 100644
--- a/definitions/grib2/tables/11/3.4.table
+++ b/definitions/grib2/tables/11/3.4.table
@@ -1,10 +1,10 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/11/3.5.table b/definitions/grib2/tables/11/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/11/3.5.table
+++ b/definitions/grib2/tables/11/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/11/3.7.table b/definitions/grib2/tables/11/3.7.table
index e2dc660dd..2d01b8d52 100644
--- a/definitions/grib2/tables/11/3.7.table
+++ b/definitions/grib2/tables/11/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 The complex numbers Fnm. See separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.8.table b/definitions/grib2/tables/11/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/11/3.8.table
+++ b/definitions/grib2/tables/11/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/3.9.table b/definitions/grib2/tables/11/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/11/3.9.table
+++ b/definitions/grib2/tables/11/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/11/4.0.table b/definitions/grib2/tables/11/4.0.table
index 1c1fe09ab..51b3ccfa7 100644
--- a/definitions/grib2/tables/11/4.0.table
+++ b/definitions/grib2/tables/11/4.0.table
@@ -1,59 +1,59 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
60 60 Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
61 61 Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 55-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 55-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/11/4.1.0.table b/definitions/grib2/tables/11/4.1.0.table
index 361108860..3413dbad5 100644
--- a/definitions/grib2/tables/11/4.1.0.table
+++ b/definitions/grib2/tables/11/4.1.0.table
@@ -1,27 +1,27 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.1.1.table b/definitions/grib2/tables/11/4.1.1.table
index 29f1dec79..dea5bc49e 100644
--- a/definitions/grib2/tables/11/4.1.1.table
+++ b/definitions/grib2/tables/11/4.1.1.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.1.10.table b/definitions/grib2/tables/11/4.1.10.table
index 9c8c92b12..e6ce6faf7 100644
--- a/definitions/grib2/tables/11/4.1.10.table
+++ b/definitions/grib2/tables/11/4.1.10.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.1.2.table b/definitions/grib2/tables/11/4.1.2.table
index b90201c63..805836998 100644
--- a/definitions/grib2/tables/11/4.1.2.table
+++ b/definitions/grib2/tables/11/4.1.2.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.1.3.table b/definitions/grib2/tables/11/4.1.3.table
index fe1d8ae5a..adcbfb051 100644
--- a/definitions/grib2/tables/11/4.1.3.table
+++ b/definitions/grib2/tables/11/4.1.3.table
@@ -1,8 +1,8 @@
# Code table 4.1 - Parameter category by product discipline. Product discipline 3 - Space products
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.10.table b/definitions/grib2/tables/11/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/11/4.10.table
+++ b/definitions/grib2/tables/11/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/11/4.11.table b/definitions/grib2/tables/11/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/11/4.11.table
+++ b/definitions/grib2/tables/11/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.12.table b/definitions/grib2/tables/11/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/11/4.12.table
+++ b/definitions/grib2/tables/11/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.13.table b/definitions/grib2/tables/11/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/11/4.13.table
+++ b/definitions/grib2/tables/11/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.14.table b/definitions/grib2/tables/11/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/11/4.14.table
+++ b/definitions/grib2/tables/11/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.15.table b/definitions/grib2/tables/11/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/11/4.15.table
+++ b/definitions/grib2/tables/11/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.0.table b/definitions/grib2/tables/11/4.2.0.0.table
index f7784cc33..e69e087c9 100644
--- a/definitions/grib2/tables/11/4.2.0.0.table
+++ b/definitions/grib2/tables/11/4.2.0.0.table
@@ -20,6 +20,6 @@
18 18 Snow temperature (top of snow) (K)
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
-# 21-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.1.table b/definitions/grib2/tables/11/4.2.0.1.table
index 827ba1dcf..256732de0 100644
--- a/definitions/grib2/tables/11/4.2.0.1.table
+++ b/definitions/grib2/tables/11/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,10 +86,10 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
-# 93-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 93-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.13.table b/definitions/grib2/tables/11/4.2.0.13.table
index b9979f0d3..90ab7d1b9 100644
--- a/definitions/grib2/tables/11/4.2.0.13.table
+++ b/definitions/grib2/tables/11/4.2.0.13.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.14.table b/definitions/grib2/tables/11/4.2.0.14.table
index 4a2a4e128..fca42ccc7 100644
--- a/definitions/grib2/tables/11/4.2.0.14.table
+++ b/definitions/grib2/tables/11/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.15.table b/definitions/grib2/tables/11/4.2.0.15.table
index 9a178ceb7..5a599a98e 100644
--- a/definitions/grib2/tables/11/4.2.0.15.table
+++ b/definitions/grib2/tables/11/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.16.table b/definitions/grib2/tables/11/4.2.0.16.table
index 39215ab20..18dedb7c0 100644
--- a/definitions/grib2/tables/11/4.2.0.16.table
+++ b/definitions/grib2/tables/11/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.18.table b/definitions/grib2/tables/11/4.2.0.18.table
index 82fd13da1..fe06e9ea6 100644
--- a/definitions/grib2/tables/11/4.2.0.18.table
+++ b/definitions/grib2/tables/11/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.19.table b/definitions/grib2/tables/11/4.2.0.19.table
index 2aa34464a..90003262e 100644
--- a/definitions/grib2/tables/11/4.2.0.19.table
+++ b/definitions/grib2/tables/11/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.190.table b/definitions/grib2/tables/11/4.2.0.190.table
index 39fb55746..3d9d5ff85 100644
--- a/definitions/grib2/tables/11/4.2.0.190.table
+++ b/definitions/grib2/tables/11/4.2.0.190.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.191.table b/definitions/grib2/tables/11/4.2.0.191.table
index 81230c0e0..4ff12e532 100644
--- a/definitions/grib2/tables/11/4.2.0.191.table
+++ b/definitions/grib2/tables/11/4.2.0.191.table
@@ -2,6 +2,6 @@
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/11/4.2.0.2.table b/definitions/grib2/tables/11/4.2.0.2.table
index d587f84e9..f0570417b 100644
--- a/definitions/grib2/tables/11/4.2.0.2.table
+++ b/definitions/grib2/tables/11/4.2.0.2.table
@@ -35,6 +35,6 @@
33 33 Wind fetch (m)
34 34 Normal wind component (m s-1)
35 35 Tangential wind component (m s-1)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.20.table b/definitions/grib2/tables/11/4.2.0.20.table
index 22cea6061..ca90179fe 100644
--- a/definitions/grib2/tables/11/4.2.0.20.table
+++ b/definitions/grib2/tables/11/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (m-1)
110 110 Aerosol lidar extinction from the ground (m-1)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.3.table b/definitions/grib2/tables/11/4.2.0.3.table
index f718c6ea9..08c1c7bc3 100644
--- a/definitions/grib2/tables/11/4.2.0.3.table
+++ b/definitions/grib2/tables/11/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.4.table b/definitions/grib2/tables/11/4.2.0.4.table
index fea4cafc3..336fdb421 100644
--- a/definitions/grib2/tables/11/4.2.0.4.table
+++ b/definitions/grib2/tables/11/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.5.table b/definitions/grib2/tables/11/4.2.0.5.table
index b0c93dd3a..86a199ace 100644
--- a/definitions/grib2/tables/11/4.2.0.5.table
+++ b/definitions/grib2/tables/11/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.6.table b/definitions/grib2/tables/11/4.2.0.6.table
index a06f4292f..2d088e5fc 100644
--- a/definitions/grib2/tables/11/4.2.0.6.table
+++ b/definitions/grib2/tables/11/4.2.0.6.table
@@ -35,6 +35,6 @@
33 33 Sunshine duration (s)
34 34 Surface long-wave effective total cloudiness (Numeric)
35 35 Surface short-wave effective total cloudiness (Numeric)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.0.7.table b/definitions/grib2/tables/11/4.2.0.7.table
index 7a7d2008b..6c1794c73 100644
--- a/definitions/grib2/tables/11/4.2.0.7.table
+++ b/definitions/grib2/tables/11/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.1.0.table b/definitions/grib2/tables/11/4.2.1.0.table
index bf1e3e93f..9c4d129da 100644
--- a/definitions/grib2/tables/11/4.2.1.0.table
+++ b/definitions/grib2/tables/11/4.2.1.0.table
@@ -6,6 +6,6 @@
4 4 Snow water equivalent per cent of normal (%)
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.1.1.table b/definitions/grib2/tables/11/4.2.1.1.table
index cb5117dc8..aa560e479 100644
--- a/definitions/grib2/tables/11/4.2.1.1.table
+++ b/definitions/grib2/tables/11/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.0.table b/definitions/grib2/tables/11/4.2.10.0.table
index b820364fa..43643d405 100644
--- a/definitions/grib2/tables/11/4.2.10.0.table
+++ b/definitions/grib2/tables/11/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (s-1)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.1.table b/definitions/grib2/tables/11/4.2.10.1.table
index ae52b0c26..de6b562b8 100644
--- a/definitions/grib2/tables/11/4.2.10.1.table
+++ b/definitions/grib2/tables/11/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.191.table b/definitions/grib2/tables/11/4.2.10.191.table
index 14085ac9a..6cafbd3d4 100644
--- a/definitions/grib2/tables/11/4.2.10.191.table
+++ b/definitions/grib2/tables/11/4.2.10.191.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.2.table b/definitions/grib2/tables/11/4.2.10.2.table
index a6d9dd0c8..258aeef18 100644
--- a/definitions/grib2/tables/11/4.2.10.2.table
+++ b/definitions/grib2/tables/11/4.2.10.2.table
@@ -9,6 +9,6 @@
7 7 Ice divergence (/s)
8 8 Ice temperature (K)
9 9 Ice internal pressure (Pa m)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.3.table b/definitions/grib2/tables/11/4.2.10.3.table
index 112af09d5..3b9a2df46 100644
--- a/definitions/grib2/tables/11/4.2.10.3.table
+++ b/definitions/grib2/tables/11/4.2.10.3.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.10.4.table b/definitions/grib2/tables/11/4.2.10.4.table
index d80a32780..91ffb2b29 100644
--- a/definitions/grib2/tables/11/4.2.10.4.table
+++ b/definitions/grib2/tables/11/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2 s-1)
6 6 Ocean vertical momentum diffusivity (m2 s-1)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (m-1)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.2.0.table b/definitions/grib2/tables/11/4.2.2.0.table
index 9a426a5c2..0632ff414 100644
--- a/definitions/grib2/tables/11/4.2.2.0.table
+++ b/definitions/grib2/tables/11/4.2.2.0.table
@@ -32,6 +32,6 @@
30 30 Deciduous forest cover (Proportion)
31 31 Normalized differential vegetation index (NDVI) (Numeric)
32 32 Root depth of vegetation (m)
-# 33-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 33-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.2.3.table b/definitions/grib2/tables/11/4.2.2.3.table
index e985e41aa..d7db59d5e 100644
--- a/definitions/grib2/tables/11/4.2.2.3.table
+++ b/definitions/grib2/tables/11/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.2.4.table b/definitions/grib2/tables/11/4.2.2.4.table
index a5f0a3c5c..0992f59db 100644
--- a/definitions/grib2/tables/11/4.2.2.4.table
+++ b/definitions/grib2/tables/11/4.2.2.4.table
@@ -4,5 +4,5 @@
2 2 Haines Index (Numeric)
3 3 Fire burned area (%)
# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.3.0.table b/definitions/grib2/tables/11/4.2.3.0.table
index 254e56bc8..8c19d43b2 100644
--- a/definitions/grib2/tables/11/4.2.3.0.table
+++ b/definitions/grib2/tables/11/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.2.3.1.table b/definitions/grib2/tables/11/4.2.3.1.table
index 176ac35fb..af1896b14 100644
--- a/definitions/grib2/tables/11/4.2.3.1.table
+++ b/definitions/grib2/tables/11/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.201.table b/definitions/grib2/tables/11/4.201.table
index dc3926b3f..b9711f69c 100644
--- a/definitions/grib2/tables/11/4.201.table
+++ b/definitions/grib2/tables/11/4.201.table
@@ -1,10 +1,10 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.202.table b/definitions/grib2/tables/11/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/11/4.202.table
+++ b/definitions/grib2/tables/11/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.203.table b/definitions/grib2/tables/11/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/11/4.203.table
+++ b/definitions/grib2/tables/11/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.204.table b/definitions/grib2/tables/11/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/11/4.204.table
+++ b/definitions/grib2/tables/11/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.205.table b/definitions/grib2/tables/11/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/11/4.205.table
+++ b/definitions/grib2/tables/11/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.206.table b/definitions/grib2/tables/11/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/11/4.206.table
+++ b/definitions/grib2/tables/11/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.207.table b/definitions/grib2/tables/11/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/11/4.207.table
+++ b/definitions/grib2/tables/11/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.208.table b/definitions/grib2/tables/11/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/11/4.208.table
+++ b/definitions/grib2/tables/11/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.209.table b/definitions/grib2/tables/11/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/11/4.209.table
+++ b/definitions/grib2/tables/11/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.210.table b/definitions/grib2/tables/11/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/11/4.210.table
+++ b/definitions/grib2/tables/11/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.211.table b/definitions/grib2/tables/11/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/11/4.211.table
+++ b/definitions/grib2/tables/11/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.212.table b/definitions/grib2/tables/11/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/11/4.212.table
+++ b/definitions/grib2/tables/11/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.213.table b/definitions/grib2/tables/11/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/11/4.213.table
+++ b/definitions/grib2/tables/11/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.215.table b/definitions/grib2/tables/11/4.215.table
index 88fda8b8c..c264c6722 100644
--- a/definitions/grib2/tables/11/4.215.table
+++ b/definitions/grib2/tables/11/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely-sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.216.table b/definitions/grib2/tables/11/4.216.table
index 4d9a70f86..b51b358f4 100644
--- a/definitions/grib2/tables/11/4.216.table
+++ b/definitions/grib2/tables/11/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.217.table b/definitions/grib2/tables/11/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/11/4.217.table
+++ b/definitions/grib2/tables/11/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.218.table b/definitions/grib2/tables/11/4.218.table
index 6940a0e41..acf069c32 100644
--- a/definitions/grib2/tables/11/4.218.table
+++ b/definitions/grib2/tables/11/4.218.table
@@ -1,38 +1,38 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.219.table b/definitions/grib2/tables/11/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/11/4.219.table
+++ b/definitions/grib2/tables/11/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.220.table b/definitions/grib2/tables/11/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/11/4.220.table
+++ b/definitions/grib2/tables/11/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.221.table b/definitions/grib2/tables/11/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/11/4.221.table
+++ b/definitions/grib2/tables/11/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.222.table b/definitions/grib2/tables/11/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/11/4.222.table
+++ b/definitions/grib2/tables/11/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.223.table b/definitions/grib2/tables/11/4.223.table
index e54719f86..11f629ef5 100644
--- a/definitions/grib2/tables/11/4.223.table
+++ b/definitions/grib2/tables/11/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing value
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing value
diff --git a/definitions/grib2/tables/11/4.224.table b/definitions/grib2/tables/11/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/11/4.224.table
+++ b/definitions/grib2/tables/11/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.227.table b/definitions/grib2/tables/11/4.227.table
index 6a98d49d0..7676664e4 100644
--- a/definitions/grib2/tables/11/4.227.table
+++ b/definitions/grib2/tables/11/4.227.table
@@ -4,6 +4,6 @@
2 2 Convective
3 3 Stratiform
4 4 Freezing
-# 5-191 Reserved
+# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/11/4.234.table b/definitions/grib2/tables/11/4.234.table
index 78d8fff12..9628e618e 100644
--- a/definitions/grib2/tables/11/4.234.table
+++ b/definitions/grib2/tables/11/4.234.table
@@ -6,14 +6,14 @@
5 5 Deciduous broadleaf trees
6 6 Evergreen broadleaf trees
7 7 Tall grass
-8 8 Desert
-9 9 Tundra
+8 8 Desert
+9 9 Tundra
10 10 Irrigated crops
-11 11 Semidesert
+11 11 Semidesert
12 12 Ice caps and glaciers
13 13 Bogs and marshes
14 14 Inland water
-15 15 Ocean
+15 15 Ocean
16 16 Evergreen shrubs
17 17 Deciduous shrubs
18 18 Mixed forest
diff --git a/definitions/grib2/tables/11/4.3.table b/definitions/grib2/tables/11/4.3.table
index 8f7d20be3..1681cfc93 100644
--- a/definitions/grib2/tables/11/4.3.table
+++ b/definitions/grib2/tables/11/4.3.table
@@ -1,16 +1,16 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.4.table b/definitions/grib2/tables/11/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/11/4.4.table
+++ b/definitions/grib2/tables/11/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.5.table b/definitions/grib2/tables/11/4.5.table
index 1ada3eb23..c3b8aec5d 100644
--- a/definitions/grib2/tables/11/4.5.table
+++ b/definitions/grib2/tables/11/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid level
@@ -36,7 +36,7 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -44,6 +44,6 @@
164 164 Bottom of thermally active sediment layer
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
-# 167-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 167-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.6.table b/definitions/grib2/tables/11/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/11/4.6.table
+++ b/definitions/grib2/tables/11/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.7.table b/definitions/grib2/tables/11/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/11/4.7.table
+++ b/definitions/grib2/tables/11/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.8.table b/definitions/grib2/tables/11/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/11/4.8.table
+++ b/definitions/grib2/tables/11/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.9.table b/definitions/grib2/tables/11/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/11/4.9.table
+++ b/definitions/grib2/tables/11/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/4.91.table b/definitions/grib2/tables/11/4.91.table
index 97b1c70ad..ae31ed61c 100644
--- a/definitions/grib2/tables/11/4.91.table
+++ b/definitions/grib2/tables/11/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/11/5.1.table b/definitions/grib2/tables/11/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/11/5.1.table
+++ b/definitions/grib2/tables/11/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.2.table b/definitions/grib2/tables/11/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/11/5.2.table
+++ b/definitions/grib2/tables/11/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/11/5.3.table b/definitions/grib2/tables/11/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/11/5.3.table
+++ b/definitions/grib2/tables/11/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.4.table b/definitions/grib2/tables/11/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/11/5.4.table
+++ b/definitions/grib2/tables/11/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.40.table b/definitions/grib2/tables/11/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/11/5.40.table
+++ b/definitions/grib2/tables/11/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.5.table b/definitions/grib2/tables/11/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/11/5.5.table
+++ b/definitions/grib2/tables/11/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.6.table b/definitions/grib2/tables/11/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/11/5.6.table
+++ b/definitions/grib2/tables/11/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/11/5.7.table b/definitions/grib2/tables/11/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/11/5.7.table
+++ b/definitions/grib2/tables/11/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/11/6.0.table b/definitions/grib2/tables/11/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/11/6.0.table
+++ b/definitions/grib2/tables/11/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/12/0.0.table b/definitions/grib2/tables/12/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/12/0.0.table
+++ b/definitions/grib2/tables/12/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/1.0.table b/definitions/grib2/tables/12/1.0.table
index 84ec19886..b21d01815 100644
--- a/definitions/grib2/tables/12/1.0.table
+++ b/definitions/grib2/tables/12/1.0.table
@@ -1,17 +1,17 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
10 10 Version implemented on 7 November 2012
11 11 Version implemented on 8 May 2013
12 12 Version implemented on 14 November 2013
13 13 Pre-operational to be implemented by next amendment
-# 14-254 Future versions
-255 255 Missing
+# 14-254 Future versions
+255 255 Missing
diff --git a/definitions/grib2/tables/12/1.1.table b/definitions/grib2/tables/12/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/12/1.1.table
+++ b/definitions/grib2/tables/12/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/12/1.2.table b/definitions/grib2/tables/12/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/12/1.2.table
+++ b/definitions/grib2/tables/12/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/1.3.table b/definitions/grib2/tables/12/1.3.table
index e8c38878d..34ace7fda 100644
--- a/definitions/grib2/tables/12/1.3.table
+++ b/definitions/grib2/tables/12/1.3.table
@@ -1,12 +1,12 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 Sub-seasonal to seasonal prediction project (S2S)
7 7 Sub-seasonal to seasonal prediction project test (S2S)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/1.4.table b/definitions/grib2/tables/12/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/12/1.4.table
+++ b/definitions/grib2/tables/12/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/12/1.5.table b/definitions/grib2/tables/12/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/12/1.5.table
+++ b/definitions/grib2/tables/12/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/12/1.6.table b/definitions/grib2/tables/12/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/12/1.6.table
+++ b/definitions/grib2/tables/12/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.0.table b/definitions/grib2/tables/12/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/12/3.0.table
+++ b/definitions/grib2/tables/12/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/12/3.10.table b/definitions/grib2/tables/12/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/12/3.10.table
+++ b/definitions/grib2/tables/12/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/12/3.11.table b/definitions/grib2/tables/12/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/12/3.11.table
+++ b/definitions/grib2/tables/12/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.15.table b/definitions/grib2/tables/12/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/12/3.15.table
+++ b/definitions/grib2/tables/12/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.2.table b/definitions/grib2/tables/12/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/12/3.2.table
+++ b/definitions/grib2/tables/12/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.20.table b/definitions/grib2/tables/12/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/12/3.20.table
+++ b/definitions/grib2/tables/12/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.21.table b/definitions/grib2/tables/12/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/12/3.21.table
+++ b/definitions/grib2/tables/12/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.3.table b/definitions/grib2/tables/12/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/12/3.3.table
+++ b/definitions/grib2/tables/12/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/12/3.4.table b/definitions/grib2/tables/12/3.4.table
index 63c8adaaa..ea9cbe829 100644
--- a/definitions/grib2/tables/12/3.4.table
+++ b/definitions/grib2/tables/12/3.4.table
@@ -1,10 +1,10 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/12/3.5.table b/definitions/grib2/tables/12/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/12/3.5.table
+++ b/definitions/grib2/tables/12/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/12/3.7.table b/definitions/grib2/tables/12/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/12/3.7.table
+++ b/definitions/grib2/tables/12/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.8.table b/definitions/grib2/tables/12/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/12/3.8.table
+++ b/definitions/grib2/tables/12/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/3.9.table b/definitions/grib2/tables/12/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/12/3.9.table
+++ b/definitions/grib2/tables/12/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/12/4.0.table b/definitions/grib2/tables/12/4.0.table
index b77e3f323..8608d20f9 100644
--- a/definitions/grib2/tables/12/4.0.table
+++ b/definitions/grib2/tables/12/4.0.table
@@ -1,61 +1,61 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
60 60 Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
61 61 Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 55-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 55-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/12/4.1.0.table b/definitions/grib2/tables/12/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/12/4.1.0.table
+++ b/definitions/grib2/tables/12/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.1.1.table b/definitions/grib2/tables/12/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/12/4.1.1.table
+++ b/definitions/grib2/tables/12/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.1.10.table b/definitions/grib2/tables/12/4.1.10.table
index b97dcd355..e9663f391 100644
--- a/definitions/grib2/tables/12/4.1.10.table
+++ b/definitions/grib2/tables/12/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.1.2.table b/definitions/grib2/tables/12/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/12/4.1.2.table
+++ b/definitions/grib2/tables/12/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.1.3.table b/definitions/grib2/tables/12/4.1.3.table
index 5096a166e..c1a1e267a 100644
--- a/definitions/grib2/tables/12/4.1.3.table
+++ b/definitions/grib2/tables/12/4.1.3.table
@@ -1,6 +1,6 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.10.table b/definitions/grib2/tables/12/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/12/4.10.table
+++ b/definitions/grib2/tables/12/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/12/4.11.table b/definitions/grib2/tables/12/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/12/4.11.table
+++ b/definitions/grib2/tables/12/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.12.table b/definitions/grib2/tables/12/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/12/4.12.table
+++ b/definitions/grib2/tables/12/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.13.table b/definitions/grib2/tables/12/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/12/4.13.table
+++ b/definitions/grib2/tables/12/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.14.table b/definitions/grib2/tables/12/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/12/4.14.table
+++ b/definitions/grib2/tables/12/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.15.table b/definitions/grib2/tables/12/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/12/4.15.table
+++ b/definitions/grib2/tables/12/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.0.table b/definitions/grib2/tables/12/4.2.0.0.table
index ce91fe429..f5841e889 100644
--- a/definitions/grib2/tables/12/4.2.0.0.table
+++ b/definitions/grib2/tables/12/4.2.0.0.table
@@ -20,6 +20,6 @@
18 18 Snow temperature (top of snow) (K)
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
-# 21-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.1.table b/definitions/grib2/tables/12/4.2.0.1.table
index d1d1704df..fb7c3d776 100644
--- a/definitions/grib2/tables/12/4.2.0.1.table
+++ b/definitions/grib2/tables/12/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,10 +86,10 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
-# 93-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 93-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.13.table b/definitions/grib2/tables/12/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/12/4.2.0.13.table
+++ b/definitions/grib2/tables/12/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.14.table b/definitions/grib2/tables/12/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/12/4.2.0.14.table
+++ b/definitions/grib2/tables/12/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.15.table b/definitions/grib2/tables/12/4.2.0.15.table
index d74fa7234..bb0b9ab46 100644
--- a/definitions/grib2/tables/12/4.2.0.15.table
+++ b/definitions/grib2/tables/12/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.16.table b/definitions/grib2/tables/12/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/12/4.2.0.16.table
+++ b/definitions/grib2/tables/12/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.18.table b/definitions/grib2/tables/12/4.2.0.18.table
index 18c41aa48..7e0a736eb 100644
--- a/definitions/grib2/tables/12/4.2.0.18.table
+++ b/definitions/grib2/tables/12/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.19.table b/definitions/grib2/tables/12/4.2.0.19.table
index 75101bd37..d2beef083 100644
--- a/definitions/grib2/tables/12/4.2.0.19.table
+++ b/definitions/grib2/tables/12/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.190.table b/definitions/grib2/tables/12/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/12/4.2.0.190.table
+++ b/definitions/grib2/tables/12/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.191.table b/definitions/grib2/tables/12/4.2.0.191.table
index 1f949f149..2e82e01da 100644
--- a/definitions/grib2/tables/12/4.2.0.191.table
+++ b/definitions/grib2/tables/12/4.2.0.191.table
@@ -2,6 +2,6 @@
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.2.table b/definitions/grib2/tables/12/4.2.0.2.table
index 84882e8b8..ad1d84f52 100644
--- a/definitions/grib2/tables/12/4.2.0.2.table
+++ b/definitions/grib2/tables/12/4.2.0.2.table
@@ -35,6 +35,6 @@
33 33 Wind fetch (m)
34 34 Normal wind component (m s-1)
35 35 Tangential wind component (m s-1)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.20.table b/definitions/grib2/tables/12/4.2.0.20.table
index ac97b0b39..a0eb7724a 100644
--- a/definitions/grib2/tables/12/4.2.0.20.table
+++ b/definitions/grib2/tables/12/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (m-1)
110 110 Aerosol lidar extinction from the ground (m-1)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.3.table b/definitions/grib2/tables/12/4.2.0.3.table
index 9a88e0027..e1a68bfc5 100644
--- a/definitions/grib2/tables/12/4.2.0.3.table
+++ b/definitions/grib2/tables/12/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.4.table b/definitions/grib2/tables/12/4.2.0.4.table
index dbfcbddb7..03b5cea38 100644
--- a/definitions/grib2/tables/12/4.2.0.4.table
+++ b/definitions/grib2/tables/12/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.5.table b/definitions/grib2/tables/12/4.2.0.5.table
index f1c04650d..1bdd6ebee 100644
--- a/definitions/grib2/tables/12/4.2.0.5.table
+++ b/definitions/grib2/tables/12/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.6.table b/definitions/grib2/tables/12/4.2.0.6.table
index 9ee97b73f..89da06eec 100644
--- a/definitions/grib2/tables/12/4.2.0.6.table
+++ b/definitions/grib2/tables/12/4.2.0.6.table
@@ -35,6 +35,6 @@
33 33 Sunshine duration (s)
34 34 Surface long-wave effective total cloudiness (Numeric)
35 35 Surface short-wave effective total cloudiness (Numeric)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.0.7.table b/definitions/grib2/tables/12/4.2.0.7.table
index db47d0113..8a2b85fb9 100644
--- a/definitions/grib2/tables/12/4.2.0.7.table
+++ b/definitions/grib2/tables/12/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.1.0.table b/definitions/grib2/tables/12/4.2.1.0.table
index e93f0a332..b6c648f00 100644
--- a/definitions/grib2/tables/12/4.2.1.0.table
+++ b/definitions/grib2/tables/12/4.2.1.0.table
@@ -6,6 +6,6 @@
4 4 Snow water equivalent per cent of normal (%)
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.1.1.table b/definitions/grib2/tables/12/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/12/4.2.1.1.table
+++ b/definitions/grib2/tables/12/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.0.table b/definitions/grib2/tables/12/4.2.10.0.table
index 761b6395c..76b3da22c 100644
--- a/definitions/grib2/tables/12/4.2.10.0.table
+++ b/definitions/grib2/tables/12/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (s-1)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.1.table b/definitions/grib2/tables/12/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/12/4.2.10.1.table
+++ b/definitions/grib2/tables/12/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.191.table b/definitions/grib2/tables/12/4.2.10.191.table
index 18e56f930..6b9eee36e 100644
--- a/definitions/grib2/tables/12/4.2.10.191.table
+++ b/definitions/grib2/tables/12/4.2.10.191.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.2.table b/definitions/grib2/tables/12/4.2.10.2.table
index 6f0664420..24458b91f 100644
--- a/definitions/grib2/tables/12/4.2.10.2.table
+++ b/definitions/grib2/tables/12/4.2.10.2.table
@@ -9,6 +9,6 @@
7 7 Ice divergence (/s)
8 8 Ice temperature (K)
9 9 Ice internal pressure (Pa m)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.3.table b/definitions/grib2/tables/12/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/12/4.2.10.3.table
+++ b/definitions/grib2/tables/12/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.10.4.table b/definitions/grib2/tables/12/4.2.10.4.table
index 450320ca1..e20a49470 100644
--- a/definitions/grib2/tables/12/4.2.10.4.table
+++ b/definitions/grib2/tables/12/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2 s-1)
6 6 Ocean vertical momentum diffusivity (m2 s-1)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (m-1)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.2.0.table b/definitions/grib2/tables/12/4.2.2.0.table
index 95b696a37..98eae911a 100644
--- a/definitions/grib2/tables/12/4.2.2.0.table
+++ b/definitions/grib2/tables/12/4.2.2.0.table
@@ -32,6 +32,6 @@
30 30 Deciduous forest cover (Proportion)
31 31 Normalized differential vegetation index (NDVI) (Numeric)
32 32 Root depth of vegetation (m)
-# 33-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 33-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.2.3.table b/definitions/grib2/tables/12/4.2.2.3.table
index 2f6291077..3d3298c8a 100644
--- a/definitions/grib2/tables/12/4.2.2.3.table
+++ b/definitions/grib2/tables/12/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.2.4.table b/definitions/grib2/tables/12/4.2.2.4.table
index cf91e8b7a..30865c1b8 100644
--- a/definitions/grib2/tables/12/4.2.2.4.table
+++ b/definitions/grib2/tables/12/4.2.2.4.table
@@ -3,6 +3,6 @@
1 1 Fire outlook due to dry thunderstorm (Code table 4.224)
2 2 Haines Index (Numeric)
3 3 Fire burned area (%)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.3.0.table b/definitions/grib2/tables/12/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/12/4.2.3.0.table
+++ b/definitions/grib2/tables/12/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.2.3.1.table b/definitions/grib2/tables/12/4.2.3.1.table
index 0c0fc8d37..bc16d8855 100644
--- a/definitions/grib2/tables/12/4.2.3.1.table
+++ b/definitions/grib2/tables/12/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.201.table b/definitions/grib2/tables/12/4.201.table
index 2510f2ef7..fa173c4e0 100644
--- a/definitions/grib2/tables/12/4.201.table
+++ b/definitions/grib2/tables/12/4.201.table
@@ -10,6 +10,6 @@
8 8 Ice pellets
9 9 Graupel
10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.202.table b/definitions/grib2/tables/12/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/12/4.202.table
+++ b/definitions/grib2/tables/12/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.203.table b/definitions/grib2/tables/12/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/12/4.203.table
+++ b/definitions/grib2/tables/12/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.204.table b/definitions/grib2/tables/12/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/12/4.204.table
+++ b/definitions/grib2/tables/12/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.205.table b/definitions/grib2/tables/12/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/12/4.205.table
+++ b/definitions/grib2/tables/12/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.206.table b/definitions/grib2/tables/12/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/12/4.206.table
+++ b/definitions/grib2/tables/12/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.207.table b/definitions/grib2/tables/12/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/12/4.207.table
+++ b/definitions/grib2/tables/12/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.208.table b/definitions/grib2/tables/12/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/12/4.208.table
+++ b/definitions/grib2/tables/12/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.209.table b/definitions/grib2/tables/12/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/12/4.209.table
+++ b/definitions/grib2/tables/12/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.210.table b/definitions/grib2/tables/12/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/12/4.210.table
+++ b/definitions/grib2/tables/12/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.211.table b/definitions/grib2/tables/12/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/12/4.211.table
+++ b/definitions/grib2/tables/12/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.212.table b/definitions/grib2/tables/12/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/12/4.212.table
+++ b/definitions/grib2/tables/12/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.213.table b/definitions/grib2/tables/12/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/12/4.213.table
+++ b/definitions/grib2/tables/12/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.215.table b/definitions/grib2/tables/12/4.215.table
index 88fda8b8c..c264c6722 100644
--- a/definitions/grib2/tables/12/4.215.table
+++ b/definitions/grib2/tables/12/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely-sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.216.table b/definitions/grib2/tables/12/4.216.table
index 4d9a70f86..b51b358f4 100644
--- a/definitions/grib2/tables/12/4.216.table
+++ b/definitions/grib2/tables/12/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.217.table b/definitions/grib2/tables/12/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/12/4.217.table
+++ b/definitions/grib2/tables/12/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.218.table b/definitions/grib2/tables/12/4.218.table
index 6940a0e41..acf069c32 100644
--- a/definitions/grib2/tables/12/4.218.table
+++ b/definitions/grib2/tables/12/4.218.table
@@ -1,38 +1,38 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.219.table b/definitions/grib2/tables/12/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/12/4.219.table
+++ b/definitions/grib2/tables/12/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.220.table b/definitions/grib2/tables/12/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/12/4.220.table
+++ b/definitions/grib2/tables/12/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.221.table b/definitions/grib2/tables/12/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/12/4.221.table
+++ b/definitions/grib2/tables/12/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.222.table b/definitions/grib2/tables/12/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/12/4.222.table
+++ b/definitions/grib2/tables/12/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.223.table b/definitions/grib2/tables/12/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/12/4.223.table
+++ b/definitions/grib2/tables/12/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/12/4.224.table b/definitions/grib2/tables/12/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/12/4.224.table
+++ b/definitions/grib2/tables/12/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.227.table b/definitions/grib2/tables/12/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/12/4.227.table
+++ b/definitions/grib2/tables/12/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/12/4.234.table b/definitions/grib2/tables/12/4.234.table
index 9844a91d2..d8b3715b3 100644
--- a/definitions/grib2/tables/12/4.234.table
+++ b/definitions/grib2/tables/12/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/12/4.236.table b/definitions/grib2/tables/12/4.236.table
index 08c7f8d56..b667b65fc 100644
--- a/definitions/grib2/tables/12/4.236.table
+++ b/definitions/grib2/tables/12/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/12/4.3.table b/definitions/grib2/tables/12/4.3.table
index 8f7d20be3..1681cfc93 100644
--- a/definitions/grib2/tables/12/4.3.table
+++ b/definitions/grib2/tables/12/4.3.table
@@ -1,16 +1,16 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.4.table b/definitions/grib2/tables/12/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/12/4.4.table
+++ b/definitions/grib2/tables/12/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.5.table b/definitions/grib2/tables/12/4.5.table
index 1ada3eb23..c3b8aec5d 100644
--- a/definitions/grib2/tables/12/4.5.table
+++ b/definitions/grib2/tables/12/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid level
@@ -36,7 +36,7 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -44,6 +44,6 @@
164 164 Bottom of thermally active sediment layer
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
-# 167-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 167-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.6.table b/definitions/grib2/tables/12/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/12/4.6.table
+++ b/definitions/grib2/tables/12/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.7.table b/definitions/grib2/tables/12/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/12/4.7.table
+++ b/definitions/grib2/tables/12/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.8.table b/definitions/grib2/tables/12/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/12/4.8.table
+++ b/definitions/grib2/tables/12/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.9.table b/definitions/grib2/tables/12/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/12/4.9.table
+++ b/definitions/grib2/tables/12/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/4.91.table b/definitions/grib2/tables/12/4.91.table
index 97b1c70ad..ae31ed61c 100644
--- a/definitions/grib2/tables/12/4.91.table
+++ b/definitions/grib2/tables/12/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/12/5.1.table b/definitions/grib2/tables/12/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/12/5.1.table
+++ b/definitions/grib2/tables/12/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.2.table b/definitions/grib2/tables/12/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/12/5.2.table
+++ b/definitions/grib2/tables/12/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/12/5.3.table b/definitions/grib2/tables/12/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/12/5.3.table
+++ b/definitions/grib2/tables/12/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.4.table b/definitions/grib2/tables/12/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/12/5.4.table
+++ b/definitions/grib2/tables/12/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.40.table b/definitions/grib2/tables/12/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/12/5.40.table
+++ b/definitions/grib2/tables/12/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.5.table b/definitions/grib2/tables/12/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/12/5.5.table
+++ b/definitions/grib2/tables/12/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.6.table b/definitions/grib2/tables/12/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/12/5.6.table
+++ b/definitions/grib2/tables/12/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/12/5.7.table b/definitions/grib2/tables/12/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/12/5.7.table
+++ b/definitions/grib2/tables/12/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/12/6.0.table b/definitions/grib2/tables/12/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/12/6.0.table
+++ b/definitions/grib2/tables/12/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/13/0.0.table b/definitions/grib2/tables/13/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/13/0.0.table
+++ b/definitions/grib2/tables/13/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/1.0.table b/definitions/grib2/tables/13/1.0.table
index dfca4d4c1..b90cc628e 100644
--- a/definitions/grib2/tables/13/1.0.table
+++ b/definitions/grib2/tables/13/1.0.table
@@ -1,18 +1,18 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
10 10 Version implemented on 7 November 2012
11 11 Version implemented on 8 May 2013
12 12 Version implemented on 14 November 2013
13 13 Version implemented on 7 May 2014
14 14 Pre-operational to be implemented by next amendment
# 15-254 Future versions
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/13/1.1.table b/definitions/grib2/tables/13/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/13/1.1.table
+++ b/definitions/grib2/tables/13/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/13/1.2.table b/definitions/grib2/tables/13/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/13/1.2.table
+++ b/definitions/grib2/tables/13/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/1.3.table b/definitions/grib2/tables/13/1.3.table
index 9b37611b0..c3b924d9d 100644
--- a/definitions/grib2/tables/13/1.3.table
+++ b/definitions/grib2/tables/13/1.3.table
@@ -1,12 +1,12 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 S2S operational products
7 7 S2S test products
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/1.4.table b/definitions/grib2/tables/13/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/13/1.4.table
+++ b/definitions/grib2/tables/13/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/13/1.5.table b/definitions/grib2/tables/13/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/13/1.5.table
+++ b/definitions/grib2/tables/13/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/13/1.6.table b/definitions/grib2/tables/13/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/13/1.6.table
+++ b/definitions/grib2/tables/13/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.0.table b/definitions/grib2/tables/13/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/13/3.0.table
+++ b/definitions/grib2/tables/13/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/13/3.10.table b/definitions/grib2/tables/13/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/13/3.10.table
+++ b/definitions/grib2/tables/13/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/13/3.11.table b/definitions/grib2/tables/13/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/13/3.11.table
+++ b/definitions/grib2/tables/13/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.15.table b/definitions/grib2/tables/13/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/13/3.15.table
+++ b/definitions/grib2/tables/13/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.2.table b/definitions/grib2/tables/13/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/13/3.2.table
+++ b/definitions/grib2/tables/13/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.20.table b/definitions/grib2/tables/13/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/13/3.20.table
+++ b/definitions/grib2/tables/13/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.21.table b/definitions/grib2/tables/13/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/13/3.21.table
+++ b/definitions/grib2/tables/13/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.3.table b/definitions/grib2/tables/13/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/13/3.3.table
+++ b/definitions/grib2/tables/13/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/13/3.4.table b/definitions/grib2/tables/13/3.4.table
index 63c8adaaa..ea9cbe829 100644
--- a/definitions/grib2/tables/13/3.4.table
+++ b/definitions/grib2/tables/13/3.4.table
@@ -1,10 +1,10 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/13/3.5.table b/definitions/grib2/tables/13/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/13/3.5.table
+++ b/definitions/grib2/tables/13/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/13/3.7.table b/definitions/grib2/tables/13/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/13/3.7.table
+++ b/definitions/grib2/tables/13/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.8.table b/definitions/grib2/tables/13/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/13/3.8.table
+++ b/definitions/grib2/tables/13/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/3.9.table b/definitions/grib2/tables/13/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/13/3.9.table
+++ b/definitions/grib2/tables/13/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/13/4.0.table b/definitions/grib2/tables/13/4.0.table
index 89cf92c44..7627a2a3d 100644
--- a/definitions/grib2/tables/13/4.0.table
+++ b/definitions/grib2/tables/13/4.0.table
@@ -1,62 +1,62 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-# 55-59 Reserved
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+# 55-59 Reserved
60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 62-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 62-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/13/4.1.0.table b/definitions/grib2/tables/13/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/13/4.1.0.table
+++ b/definitions/grib2/tables/13/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.1.1.table b/definitions/grib2/tables/13/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/13/4.1.1.table
+++ b/definitions/grib2/tables/13/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.1.10.table b/definitions/grib2/tables/13/4.1.10.table
index b97dcd355..e9663f391 100644
--- a/definitions/grib2/tables/13/4.1.10.table
+++ b/definitions/grib2/tables/13/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.1.2.table b/definitions/grib2/tables/13/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/13/4.1.2.table
+++ b/definitions/grib2/tables/13/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.1.3.table b/definitions/grib2/tables/13/4.1.3.table
index 5096a166e..c1a1e267a 100644
--- a/definitions/grib2/tables/13/4.1.3.table
+++ b/definitions/grib2/tables/13/4.1.3.table
@@ -1,6 +1,6 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.10.table b/definitions/grib2/tables/13/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/13/4.10.table
+++ b/definitions/grib2/tables/13/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/13/4.11.table b/definitions/grib2/tables/13/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/13/4.11.table
+++ b/definitions/grib2/tables/13/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.12.table b/definitions/grib2/tables/13/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/13/4.12.table
+++ b/definitions/grib2/tables/13/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.13.table b/definitions/grib2/tables/13/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/13/4.13.table
+++ b/definitions/grib2/tables/13/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.14.table b/definitions/grib2/tables/13/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/13/4.14.table
+++ b/definitions/grib2/tables/13/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.15.table b/definitions/grib2/tables/13/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/13/4.15.table
+++ b/definitions/grib2/tables/13/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.0.table b/definitions/grib2/tables/13/4.2.0.0.table
index 6de8a23c8..24d21959d 100644
--- a/definitions/grib2/tables/13/4.2.0.0.table
+++ b/definitions/grib2/tables/13/4.2.0.0.table
@@ -21,6 +21,6 @@
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
21 21 Apparent temperature (K)
-# 22-191 Reserved
+# 22-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.1.table b/definitions/grib2/tables/13/4.2.0.1.table
index d1d1704df..fb7c3d776 100644
--- a/definitions/grib2/tables/13/4.2.0.1.table
+++ b/definitions/grib2/tables/13/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,10 +86,10 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
-# 93-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 93-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.13.table b/definitions/grib2/tables/13/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/13/4.2.0.13.table
+++ b/definitions/grib2/tables/13/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.14.table b/definitions/grib2/tables/13/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/13/4.2.0.14.table
+++ b/definitions/grib2/tables/13/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.15.table b/definitions/grib2/tables/13/4.2.0.15.table
index d74fa7234..bb0b9ab46 100644
--- a/definitions/grib2/tables/13/4.2.0.15.table
+++ b/definitions/grib2/tables/13/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.16.table b/definitions/grib2/tables/13/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/13/4.2.0.16.table
+++ b/definitions/grib2/tables/13/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.18.table b/definitions/grib2/tables/13/4.2.0.18.table
index 18c41aa48..7e0a736eb 100644
--- a/definitions/grib2/tables/13/4.2.0.18.table
+++ b/definitions/grib2/tables/13/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.19.table b/definitions/grib2/tables/13/4.2.0.19.table
index 75101bd37..d2beef083 100644
--- a/definitions/grib2/tables/13/4.2.0.19.table
+++ b/definitions/grib2/tables/13/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.190.table b/definitions/grib2/tables/13/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/13/4.2.0.190.table
+++ b/definitions/grib2/tables/13/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.191.table b/definitions/grib2/tables/13/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/13/4.2.0.191.table
+++ b/definitions/grib2/tables/13/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.2.table b/definitions/grib2/tables/13/4.2.0.2.table
index c83b07300..7bd1509f5 100644
--- a/definitions/grib2/tables/13/4.2.0.2.table
+++ b/definitions/grib2/tables/13/4.2.0.2.table
@@ -38,6 +38,6 @@
36 36 Amplitude function for Rossby wave envelope for meridional wind (m/s)
37 37 Northward turbulent surface stress (N m-2 s)
38 38 Eastward turbulent surface stress (N m-2 s)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.20.table b/definitions/grib2/tables/13/4.2.0.20.table
index 9584f7c7f..df9ccc184 100644
--- a/definitions/grib2/tables/13/4.2.0.20.table
+++ b/definitions/grib2/tables/13/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.3.table b/definitions/grib2/tables/13/4.2.0.3.table
index 9a88e0027..e1a68bfc5 100644
--- a/definitions/grib2/tables/13/4.2.0.3.table
+++ b/definitions/grib2/tables/13/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.4.table b/definitions/grib2/tables/13/4.2.0.4.table
index dbfcbddb7..03b5cea38 100644
--- a/definitions/grib2/tables/13/4.2.0.4.table
+++ b/definitions/grib2/tables/13/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.5.table b/definitions/grib2/tables/13/4.2.0.5.table
index f1c04650d..1bdd6ebee 100644
--- a/definitions/grib2/tables/13/4.2.0.5.table
+++ b/definitions/grib2/tables/13/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.6.table b/definitions/grib2/tables/13/4.2.0.6.table
index 9ee97b73f..89da06eec 100644
--- a/definitions/grib2/tables/13/4.2.0.6.table
+++ b/definitions/grib2/tables/13/4.2.0.6.table
@@ -35,6 +35,6 @@
33 33 Sunshine duration (s)
34 34 Surface long-wave effective total cloudiness (Numeric)
35 35 Surface short-wave effective total cloudiness (Numeric)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.0.7.table b/definitions/grib2/tables/13/4.2.0.7.table
index db47d0113..8a2b85fb9 100644
--- a/definitions/grib2/tables/13/4.2.0.7.table
+++ b/definitions/grib2/tables/13/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.1.0.table b/definitions/grib2/tables/13/4.2.1.0.table
index cf56b08ee..f455c3365 100644
--- a/definitions/grib2/tables/13/4.2.1.0.table
+++ b/definitions/grib2/tables/13/4.2.1.0.table
@@ -7,6 +7,6 @@
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
7 7 Discharge from rivers or streams (m3/s)
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.1.1.table b/definitions/grib2/tables/13/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/13/4.2.1.1.table
+++ b/definitions/grib2/tables/13/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.0.table b/definitions/grib2/tables/13/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/13/4.2.10.0.table
+++ b/definitions/grib2/tables/13/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.1.table b/definitions/grib2/tables/13/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/13/4.2.10.1.table
+++ b/definitions/grib2/tables/13/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.191.table b/definitions/grib2/tables/13/4.2.10.191.table
index dc0e23d7b..1ebf85006 100644
--- a/definitions/grib2/tables/13/4.2.10.191.table
+++ b/definitions/grib2/tables/13/4.2.10.191.table
@@ -3,6 +3,6 @@
1 1 Meridional overturning stream function (m3/s)
2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.2.table b/definitions/grib2/tables/13/4.2.10.2.table
index 157a9af65..0caeacba7 100644
--- a/definitions/grib2/tables/13/4.2.10.2.table
+++ b/definitions/grib2/tables/13/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.3.table b/definitions/grib2/tables/13/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/13/4.2.10.3.table
+++ b/definitions/grib2/tables/13/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.10.4.table b/definitions/grib2/tables/13/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/13/4.2.10.4.table
+++ b/definitions/grib2/tables/13/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.2.0.table b/definitions/grib2/tables/13/4.2.2.0.table
index 93135b854..00342a32b 100644
--- a/definitions/grib2/tables/13/4.2.2.0.table
+++ b/definitions/grib2/tables/13/4.2.2.0.table
@@ -34,6 +34,6 @@
32 32 Root depth of vegetation (m)
33 33 Water runoff and drainage (kg m-2)
34 34 Surface water runoff (kg m-2)
-# 35-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 35-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.2.3.table b/definitions/grib2/tables/13/4.2.2.3.table
index 2f6291077..3d3298c8a 100644
--- a/definitions/grib2/tables/13/4.2.2.3.table
+++ b/definitions/grib2/tables/13/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.2.4.table b/definitions/grib2/tables/13/4.2.2.4.table
index d4ede2f70..c8b877df6 100644
--- a/definitions/grib2/tables/13/4.2.2.4.table
+++ b/definitions/grib2/tables/13/4.2.2.4.table
@@ -4,6 +4,6 @@
2 2 Haines Index (Numeric)
3 3 Fire burned area (%)
4 4 Fosberg index (Numeric)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.3.0.table b/definitions/grib2/tables/13/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/13/4.2.3.0.table
+++ b/definitions/grib2/tables/13/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.2.3.1.table b/definitions/grib2/tables/13/4.2.3.1.table
index 0c0fc8d37..bc16d8855 100644
--- a/definitions/grib2/tables/13/4.2.3.1.table
+++ b/definitions/grib2/tables/13/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.201.table b/definitions/grib2/tables/13/4.201.table
index 2510f2ef7..fa173c4e0 100644
--- a/definitions/grib2/tables/13/4.201.table
+++ b/definitions/grib2/tables/13/4.201.table
@@ -10,6 +10,6 @@
8 8 Ice pellets
9 9 Graupel
10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.202.table b/definitions/grib2/tables/13/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/13/4.202.table
+++ b/definitions/grib2/tables/13/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.203.table b/definitions/grib2/tables/13/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/13/4.203.table
+++ b/definitions/grib2/tables/13/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.204.table b/definitions/grib2/tables/13/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/13/4.204.table
+++ b/definitions/grib2/tables/13/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.205.table b/definitions/grib2/tables/13/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/13/4.205.table
+++ b/definitions/grib2/tables/13/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.206.table b/definitions/grib2/tables/13/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/13/4.206.table
+++ b/definitions/grib2/tables/13/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.207.table b/definitions/grib2/tables/13/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/13/4.207.table
+++ b/definitions/grib2/tables/13/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.208.table b/definitions/grib2/tables/13/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/13/4.208.table
+++ b/definitions/grib2/tables/13/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.209.table b/definitions/grib2/tables/13/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/13/4.209.table
+++ b/definitions/grib2/tables/13/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.210.table b/definitions/grib2/tables/13/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/13/4.210.table
+++ b/definitions/grib2/tables/13/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.211.table b/definitions/grib2/tables/13/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/13/4.211.table
+++ b/definitions/grib2/tables/13/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.212.table b/definitions/grib2/tables/13/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/13/4.212.table
+++ b/definitions/grib2/tables/13/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.213.table b/definitions/grib2/tables/13/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/13/4.213.table
+++ b/definitions/grib2/tables/13/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.215.table b/definitions/grib2/tables/13/4.215.table
index 88fda8b8c..c264c6722 100644
--- a/definitions/grib2/tables/13/4.215.table
+++ b/definitions/grib2/tables/13/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely-sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.216.table b/definitions/grib2/tables/13/4.216.table
index 4d9a70f86..b51b358f4 100644
--- a/definitions/grib2/tables/13/4.216.table
+++ b/definitions/grib2/tables/13/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.217.table b/definitions/grib2/tables/13/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/13/4.217.table
+++ b/definitions/grib2/tables/13/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.218.table b/definitions/grib2/tables/13/4.218.table
index 6940a0e41..acf069c32 100644
--- a/definitions/grib2/tables/13/4.218.table
+++ b/definitions/grib2/tables/13/4.218.table
@@ -1,38 +1,38 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.219.table b/definitions/grib2/tables/13/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/13/4.219.table
+++ b/definitions/grib2/tables/13/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.220.table b/definitions/grib2/tables/13/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/13/4.220.table
+++ b/definitions/grib2/tables/13/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.221.table b/definitions/grib2/tables/13/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/13/4.221.table
+++ b/definitions/grib2/tables/13/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.222.table b/definitions/grib2/tables/13/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/13/4.222.table
+++ b/definitions/grib2/tables/13/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.223.table b/definitions/grib2/tables/13/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/13/4.223.table
+++ b/definitions/grib2/tables/13/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/13/4.224.table b/definitions/grib2/tables/13/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/13/4.224.table
+++ b/definitions/grib2/tables/13/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.227.table b/definitions/grib2/tables/13/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/13/4.227.table
+++ b/definitions/grib2/tables/13/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/13/4.234.table b/definitions/grib2/tables/13/4.234.table
index 9844a91d2..d8b3715b3 100644
--- a/definitions/grib2/tables/13/4.234.table
+++ b/definitions/grib2/tables/13/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/13/4.236.table b/definitions/grib2/tables/13/4.236.table
index 08c7f8d56..b667b65fc 100644
--- a/definitions/grib2/tables/13/4.236.table
+++ b/definitions/grib2/tables/13/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/13/4.3.table b/definitions/grib2/tables/13/4.3.table
index 1a9d59dd1..2b775c807 100644
--- a/definitions/grib2/tables/13/4.3.table
+++ b/definitions/grib2/tables/13/4.3.table
@@ -1,18 +1,18 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
12 12 Post-processed analysis
13 13 Post-processed forecast
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.4.table b/definitions/grib2/tables/13/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/13/4.4.table
+++ b/definitions/grib2/tables/13/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.5.table b/definitions/grib2/tables/13/4.5.table
index ddab1d723..d61b61c9f 100644
--- a/definitions/grib2/tables/13/4.5.table
+++ b/definitions/grib2/tables/13/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid level
@@ -36,7 +36,7 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -45,6 +45,6 @@
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
167 167 Bottom of root zone
-# 168-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 168-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.6.table b/definitions/grib2/tables/13/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/13/4.6.table
+++ b/definitions/grib2/tables/13/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.7.table b/definitions/grib2/tables/13/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/13/4.7.table
+++ b/definitions/grib2/tables/13/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.8.table b/definitions/grib2/tables/13/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/13/4.8.table
+++ b/definitions/grib2/tables/13/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.9.table b/definitions/grib2/tables/13/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/13/4.9.table
+++ b/definitions/grib2/tables/13/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/4.91.table b/definitions/grib2/tables/13/4.91.table
index 97b1c70ad..ae31ed61c 100644
--- a/definitions/grib2/tables/13/4.91.table
+++ b/definitions/grib2/tables/13/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/13/5.1.table b/definitions/grib2/tables/13/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/13/5.1.table
+++ b/definitions/grib2/tables/13/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.2.table b/definitions/grib2/tables/13/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/13/5.2.table
+++ b/definitions/grib2/tables/13/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/13/5.3.table b/definitions/grib2/tables/13/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/13/5.3.table
+++ b/definitions/grib2/tables/13/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.4.table b/definitions/grib2/tables/13/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/13/5.4.table
+++ b/definitions/grib2/tables/13/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.40.table b/definitions/grib2/tables/13/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/13/5.40.table
+++ b/definitions/grib2/tables/13/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.5.table b/definitions/grib2/tables/13/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/13/5.5.table
+++ b/definitions/grib2/tables/13/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.6.table b/definitions/grib2/tables/13/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/13/5.6.table
+++ b/definitions/grib2/tables/13/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/13/5.7.table b/definitions/grib2/tables/13/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/13/5.7.table
+++ b/definitions/grib2/tables/13/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/13/6.0.table b/definitions/grib2/tables/13/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/13/6.0.table
+++ b/definitions/grib2/tables/13/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/14/0.0.table b/definitions/grib2/tables/14/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/14/0.0.table
+++ b/definitions/grib2/tables/14/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/1.0.table b/definitions/grib2/tables/14/1.0.table
index 4dafc79fb..a004eadb3 100644
--- a/definitions/grib2/tables/14/1.0.table
+++ b/definitions/grib2/tables/14/1.0.table
@@ -1,19 +1,19 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
-10 10 Version implemented on 7 November 2012
-11 11 Version implemented on 8 May 2013
-12 12 Version implemented on 14 November 2013
-13 13 Version implemented on 7 May 2014
-14 14 Version implemented on 5 November 2014
-15 15 Pre-operational to be implemented by next amendment
-# 16-254 Future versions
-255 255 Missing
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
+15 15 Pre-operational to be implemented by next amendment
+# 16-254 Future versions
+255 255 Missing
diff --git a/definitions/grib2/tables/14/1.1.table b/definitions/grib2/tables/14/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/14/1.1.table
+++ b/definitions/grib2/tables/14/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/14/1.2.table b/definitions/grib2/tables/14/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/14/1.2.table
+++ b/definitions/grib2/tables/14/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/1.3.table b/definitions/grib2/tables/14/1.3.table
index ea01c001c..eb3a79f9b 100644
--- a/definitions/grib2/tables/14/1.3.table
+++ b/definitions/grib2/tables/14/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 S2S operational products
7 7 S2S test products
8 8 Uncertainties in ensembles of regional re-analysis project (UERRA)
9 9 Uncertainties in ensembles of regional re-analysis project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/1.4.table b/definitions/grib2/tables/14/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/14/1.4.table
+++ b/definitions/grib2/tables/14/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/14/1.5.table b/definitions/grib2/tables/14/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/14/1.5.table
+++ b/definitions/grib2/tables/14/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/14/1.6.table b/definitions/grib2/tables/14/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/14/1.6.table
+++ b/definitions/grib2/tables/14/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.0.table b/definitions/grib2/tables/14/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/14/3.0.table
+++ b/definitions/grib2/tables/14/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/14/3.10.table b/definitions/grib2/tables/14/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/14/3.10.table
+++ b/definitions/grib2/tables/14/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/14/3.11.table b/definitions/grib2/tables/14/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/14/3.11.table
+++ b/definitions/grib2/tables/14/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.15.table b/definitions/grib2/tables/14/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/14/3.15.table
+++ b/definitions/grib2/tables/14/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.2.table b/definitions/grib2/tables/14/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/14/3.2.table
+++ b/definitions/grib2/tables/14/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.20.table b/definitions/grib2/tables/14/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/14/3.20.table
+++ b/definitions/grib2/tables/14/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.21.table b/definitions/grib2/tables/14/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/14/3.21.table
+++ b/definitions/grib2/tables/14/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.3.table b/definitions/grib2/tables/14/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/14/3.3.table
+++ b/definitions/grib2/tables/14/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/14/3.4.table b/definitions/grib2/tables/14/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/14/3.4.table
+++ b/definitions/grib2/tables/14/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/14/3.5.table b/definitions/grib2/tables/14/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/14/3.5.table
+++ b/definitions/grib2/tables/14/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/14/3.7.table b/definitions/grib2/tables/14/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/14/3.7.table
+++ b/definitions/grib2/tables/14/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.8.table b/definitions/grib2/tables/14/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/14/3.8.table
+++ b/definitions/grib2/tables/14/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/3.9.table b/definitions/grib2/tables/14/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/14/3.9.table
+++ b/definitions/grib2/tables/14/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/14/4.0.table b/definitions/grib2/tables/14/4.0.table
index b24b6fb11..7627a2a3d 100644
--- a/definitions/grib2/tables/14/4.0.table
+++ b/definitions/grib2/tables/14/4.0.table
@@ -1,62 +1,62 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-# 55-59 Reserved
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+# 55-59 Reserved
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 62-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 62-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/14/4.1.0.table b/definitions/grib2/tables/14/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/14/4.1.0.table
+++ b/definitions/grib2/tables/14/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.1.1.table b/definitions/grib2/tables/14/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/14/4.1.1.table
+++ b/definitions/grib2/tables/14/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.1.10.table b/definitions/grib2/tables/14/4.1.10.table
index b97dcd355..e9663f391 100644
--- a/definitions/grib2/tables/14/4.1.10.table
+++ b/definitions/grib2/tables/14/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.1.2.table b/definitions/grib2/tables/14/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/14/4.1.2.table
+++ b/definitions/grib2/tables/14/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.1.3.table b/definitions/grib2/tables/14/4.1.3.table
index 5096a166e..c1a1e267a 100644
--- a/definitions/grib2/tables/14/4.1.3.table
+++ b/definitions/grib2/tables/14/4.1.3.table
@@ -1,6 +1,6 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.10.table b/definitions/grib2/tables/14/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/14/4.10.table
+++ b/definitions/grib2/tables/14/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/14/4.11.table b/definitions/grib2/tables/14/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/14/4.11.table
+++ b/definitions/grib2/tables/14/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.12.table b/definitions/grib2/tables/14/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/14/4.12.table
+++ b/definitions/grib2/tables/14/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.13.table b/definitions/grib2/tables/14/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/14/4.13.table
+++ b/definitions/grib2/tables/14/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.14.table b/definitions/grib2/tables/14/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/14/4.14.table
+++ b/definitions/grib2/tables/14/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.15.table b/definitions/grib2/tables/14/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/14/4.15.table
+++ b/definitions/grib2/tables/14/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.0.table b/definitions/grib2/tables/14/4.2.0.0.table
index 41e5291a9..24d21959d 100644
--- a/definitions/grib2/tables/14/4.2.0.0.table
+++ b/definitions/grib2/tables/14/4.2.0.0.table
@@ -21,6 +21,6 @@
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
21 21 Apparent temperature (K)
-# 22-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 22-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.1.table b/definitions/grib2/tables/14/4.2.0.1.table
index 4c624e74a..bd0214c77 100644
--- a/definitions/grib2/tables/14/4.2.0.1.table
+++ b/definitions/grib2/tables/14/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,12 +86,12 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
93 93 Relative humidity with respect to water (%)
94 94 Relative humidity with respect to ice (%)
-# 95-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 95-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.13.table b/definitions/grib2/tables/14/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/14/4.2.0.13.table
+++ b/definitions/grib2/tables/14/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.14.table b/definitions/grib2/tables/14/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/14/4.2.0.14.table
+++ b/definitions/grib2/tables/14/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.15.table b/definitions/grib2/tables/14/4.2.0.15.table
index d74fa7234..bb0b9ab46 100644
--- a/definitions/grib2/tables/14/4.2.0.15.table
+++ b/definitions/grib2/tables/14/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.16.table b/definitions/grib2/tables/14/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/14/4.2.0.16.table
+++ b/definitions/grib2/tables/14/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.18.table b/definitions/grib2/tables/14/4.2.0.18.table
index 18c41aa48..7e0a736eb 100644
--- a/definitions/grib2/tables/14/4.2.0.18.table
+++ b/definitions/grib2/tables/14/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.19.table b/definitions/grib2/tables/14/4.2.0.19.table
index 75101bd37..d2beef083 100644
--- a/definitions/grib2/tables/14/4.2.0.19.table
+++ b/definitions/grib2/tables/14/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.190.table b/definitions/grib2/tables/14/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/14/4.2.0.190.table
+++ b/definitions/grib2/tables/14/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.191.table b/definitions/grib2/tables/14/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/14/4.2.0.191.table
+++ b/definitions/grib2/tables/14/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.2.table b/definitions/grib2/tables/14/4.2.0.2.table
index c83b07300..7bd1509f5 100644
--- a/definitions/grib2/tables/14/4.2.0.2.table
+++ b/definitions/grib2/tables/14/4.2.0.2.table
@@ -38,6 +38,6 @@
36 36 Amplitude function for Rossby wave envelope for meridional wind (m/s)
37 37 Northward turbulent surface stress (N m-2 s)
38 38 Eastward turbulent surface stress (N m-2 s)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.20.table b/definitions/grib2/tables/14/4.2.0.20.table
index 9584f7c7f..df9ccc184 100644
--- a/definitions/grib2/tables/14/4.2.0.20.table
+++ b/definitions/grib2/tables/14/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.3.table b/definitions/grib2/tables/14/4.2.0.3.table
index 9a88e0027..e1a68bfc5 100644
--- a/definitions/grib2/tables/14/4.2.0.3.table
+++ b/definitions/grib2/tables/14/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.4.table b/definitions/grib2/tables/14/4.2.0.4.table
index dbfcbddb7..03b5cea38 100644
--- a/definitions/grib2/tables/14/4.2.0.4.table
+++ b/definitions/grib2/tables/14/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.5.table b/definitions/grib2/tables/14/4.2.0.5.table
index f1c04650d..1bdd6ebee 100644
--- a/definitions/grib2/tables/14/4.2.0.5.table
+++ b/definitions/grib2/tables/14/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.6.table b/definitions/grib2/tables/14/4.2.0.6.table
index 702152741..427240b70 100644
--- a/definitions/grib2/tables/14/4.2.0.6.table
+++ b/definitions/grib2/tables/14/4.2.0.6.table
@@ -37,6 +37,6 @@
35 35 Surface short-wave effective total cloudiness (Numeric)
36 36 Fraction of stratiform precipitation cover (Proportion)
37 37 Fraction of convective precipitation cover (Proportion)
-# 38-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 38-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.0.7.table b/definitions/grib2/tables/14/4.2.0.7.table
index db47d0113..8a2b85fb9 100644
--- a/definitions/grib2/tables/14/4.2.0.7.table
+++ b/definitions/grib2/tables/14/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.1.0.table b/definitions/grib2/tables/14/4.2.1.0.table
index cf56b08ee..f455c3365 100644
--- a/definitions/grib2/tables/14/4.2.1.0.table
+++ b/definitions/grib2/tables/14/4.2.1.0.table
@@ -7,6 +7,6 @@
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
7 7 Discharge from rivers or streams (m3/s)
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.1.1.table b/definitions/grib2/tables/14/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/14/4.2.1.1.table
+++ b/definitions/grib2/tables/14/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.0.table b/definitions/grib2/tables/14/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/14/4.2.10.0.table
+++ b/definitions/grib2/tables/14/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.1.table b/definitions/grib2/tables/14/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/14/4.2.10.1.table
+++ b/definitions/grib2/tables/14/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.191.table b/definitions/grib2/tables/14/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/14/4.2.10.191.table
+++ b/definitions/grib2/tables/14/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.2.table b/definitions/grib2/tables/14/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/14/4.2.10.2.table
+++ b/definitions/grib2/tables/14/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.3.table b/definitions/grib2/tables/14/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/14/4.2.10.3.table
+++ b/definitions/grib2/tables/14/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.10.4.table b/definitions/grib2/tables/14/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/14/4.2.10.4.table
+++ b/definitions/grib2/tables/14/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.2.0.table b/definitions/grib2/tables/14/4.2.2.0.table
index 1853aa0fc..d61dd05fc 100644
--- a/definitions/grib2/tables/14/4.2.2.0.table
+++ b/definitions/grib2/tables/14/4.2.2.0.table
@@ -37,6 +37,6 @@
35 35 Tile class (Code table 4.243)
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
-# 38-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 38-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.2.3.table b/definitions/grib2/tables/14/4.2.2.3.table
index 2f6291077..3d3298c8a 100644
--- a/definitions/grib2/tables/14/4.2.2.3.table
+++ b/definitions/grib2/tables/14/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.2.4.table b/definitions/grib2/tables/14/4.2.2.4.table
index d4ede2f70..c8b877df6 100644
--- a/definitions/grib2/tables/14/4.2.2.4.table
+++ b/definitions/grib2/tables/14/4.2.2.4.table
@@ -4,6 +4,6 @@
2 2 Haines Index (Numeric)
3 3 Fire burned area (%)
4 4 Fosberg index (Numeric)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.3.0.table b/definitions/grib2/tables/14/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/14/4.2.3.0.table
+++ b/definitions/grib2/tables/14/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.2.3.1.table b/definitions/grib2/tables/14/4.2.3.1.table
index 0c0fc8d37..bc16d8855 100644
--- a/definitions/grib2/tables/14/4.2.3.1.table
+++ b/definitions/grib2/tables/14/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.201.table b/definitions/grib2/tables/14/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/14/4.201.table
+++ b/definitions/grib2/tables/14/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.202.table b/definitions/grib2/tables/14/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/14/4.202.table
+++ b/definitions/grib2/tables/14/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.203.table b/definitions/grib2/tables/14/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/14/4.203.table
+++ b/definitions/grib2/tables/14/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.204.table b/definitions/grib2/tables/14/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/14/4.204.table
+++ b/definitions/grib2/tables/14/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.205.table b/definitions/grib2/tables/14/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/14/4.205.table
+++ b/definitions/grib2/tables/14/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.206.table b/definitions/grib2/tables/14/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/14/4.206.table
+++ b/definitions/grib2/tables/14/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.207.table b/definitions/grib2/tables/14/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/14/4.207.table
+++ b/definitions/grib2/tables/14/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.208.table b/definitions/grib2/tables/14/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/14/4.208.table
+++ b/definitions/grib2/tables/14/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.209.table b/definitions/grib2/tables/14/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/14/4.209.table
+++ b/definitions/grib2/tables/14/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.210.table b/definitions/grib2/tables/14/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/14/4.210.table
+++ b/definitions/grib2/tables/14/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.211.table b/definitions/grib2/tables/14/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/14/4.211.table
+++ b/definitions/grib2/tables/14/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.212.table b/definitions/grib2/tables/14/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/14/4.212.table
+++ b/definitions/grib2/tables/14/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.213.table b/definitions/grib2/tables/14/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/14/4.213.table
+++ b/definitions/grib2/tables/14/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.215.table b/definitions/grib2/tables/14/4.215.table
index 88fda8b8c..c264c6722 100644
--- a/definitions/grib2/tables/14/4.215.table
+++ b/definitions/grib2/tables/14/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely-sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.216.table b/definitions/grib2/tables/14/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/14/4.216.table
+++ b/definitions/grib2/tables/14/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.217.table b/definitions/grib2/tables/14/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/14/4.217.table
+++ b/definitions/grib2/tables/14/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.218.table b/definitions/grib2/tables/14/4.218.table
index 6940a0e41..acf069c32 100644
--- a/definitions/grib2/tables/14/4.218.table
+++ b/definitions/grib2/tables/14/4.218.table
@@ -1,38 +1,38 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.219.table b/definitions/grib2/tables/14/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/14/4.219.table
+++ b/definitions/grib2/tables/14/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.220.table b/definitions/grib2/tables/14/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/14/4.220.table
+++ b/definitions/grib2/tables/14/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.221.table b/definitions/grib2/tables/14/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/14/4.221.table
+++ b/definitions/grib2/tables/14/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.222.table b/definitions/grib2/tables/14/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/14/4.222.table
+++ b/definitions/grib2/tables/14/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.223.table b/definitions/grib2/tables/14/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/14/4.223.table
+++ b/definitions/grib2/tables/14/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/14/4.224.table b/definitions/grib2/tables/14/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/14/4.224.table
+++ b/definitions/grib2/tables/14/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.227.table b/definitions/grib2/tables/14/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/14/4.227.table
+++ b/definitions/grib2/tables/14/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/14/4.234.table b/definitions/grib2/tables/14/4.234.table
index 9844a91d2..d8b3715b3 100644
--- a/definitions/grib2/tables/14/4.234.table
+++ b/definitions/grib2/tables/14/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/14/4.236.table b/definitions/grib2/tables/14/4.236.table
index 08c7f8d56..b667b65fc 100644
--- a/definitions/grib2/tables/14/4.236.table
+++ b/definitions/grib2/tables/14/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/14/4.241.table b/definitions/grib2/tables/14/4.241.table
index 21b8b207b..ce6a15f3c 100644
--- a/definitions/grib2/tables/14/4.241.table
+++ b/definitions/grib2/tables/14/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow-covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow-covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.242.table b/definitions/grib2/tables/14/4.242.table
index 012655df6..ca852339d 100644
--- a/definitions/grib2/tables/14/4.242.table
+++ b/definitions/grib2/tables/14/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GLOBCOVER GCV2009
-2 2 Land use classes according to European Commission - Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Land use classes according to ESA-GLOBCOVER GCV2009
+2 2 Land use classes according to European Commission - Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.243.table b/definitions/grib2/tables/14/4.243.table
index 9f047be33..8677e6819 100644
--- a/definitions/grib2/tables/14/4.243.table
+++ b/definitions/grib2/tables/14/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Fresh water flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rain fed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Fresh water flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rain fed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/14/4.3.table b/definitions/grib2/tables/14/4.3.table
index f423af2bf..46e498c5f 100644
--- a/definitions/grib2/tables/14/4.3.table
+++ b/definitions/grib2/tables/14/4.3.table
@@ -1,20 +1,20 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.4.table b/definitions/grib2/tables/14/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/14/4.4.table
+++ b/definitions/grib2/tables/14/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.5.table b/definitions/grib2/tables/14/4.5.table
index e6d6d424c..d61b61c9f 100644
--- a/definitions/grib2/tables/14/4.5.table
+++ b/definitions/grib2/tables/14/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,18 +25,18 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
-112 112 Reserved
+112 112 Reserved
113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
-# 115-116 Reserved
+# 115-116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level
119 hpl Hybrid pressure level
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -45,6 +45,6 @@
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
167 167 Bottom of root zone
-# 168-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 168-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.6.table b/definitions/grib2/tables/14/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/14/4.6.table
+++ b/definitions/grib2/tables/14/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.7.table b/definitions/grib2/tables/14/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/14/4.7.table
+++ b/definitions/grib2/tables/14/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.8.table b/definitions/grib2/tables/14/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/14/4.8.table
+++ b/definitions/grib2/tables/14/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.9.table b/definitions/grib2/tables/14/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/14/4.9.table
+++ b/definitions/grib2/tables/14/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/4.91.table b/definitions/grib2/tables/14/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/14/4.91.table
+++ b/definitions/grib2/tables/14/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/14/5.0.table b/definitions/grib2/tables/14/5.0.table
index 5ec77ed0f..2795336df 100644
--- a/definitions/grib2/tables/14/5.0.table
+++ b/definitions/grib2/tables/14/5.0.table
@@ -1,23 +1,23 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
-# 42-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
+# 42-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/14/5.1.table b/definitions/grib2/tables/14/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/14/5.1.table
+++ b/definitions/grib2/tables/14/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.2.table b/definitions/grib2/tables/14/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/14/5.2.table
+++ b/definitions/grib2/tables/14/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/14/5.3.table b/definitions/grib2/tables/14/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/14/5.3.table
+++ b/definitions/grib2/tables/14/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.4.table b/definitions/grib2/tables/14/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/14/5.4.table
+++ b/definitions/grib2/tables/14/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.40.table b/definitions/grib2/tables/14/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/14/5.40.table
+++ b/definitions/grib2/tables/14/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.5.table b/definitions/grib2/tables/14/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/14/5.5.table
+++ b/definitions/grib2/tables/14/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.6.table b/definitions/grib2/tables/14/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/14/5.6.table
+++ b/definitions/grib2/tables/14/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/14/5.7.table b/definitions/grib2/tables/14/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/14/5.7.table
+++ b/definitions/grib2/tables/14/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/14/6.0.table b/definitions/grib2/tables/14/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/14/6.0.table
+++ b/definitions/grib2/tables/14/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/15/0.0.table b/definitions/grib2/tables/15/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/15/0.0.table
+++ b/definitions/grib2/tables/15/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/1.0.table b/definitions/grib2/tables/15/1.0.table
index 1d1bde1dc..9c3abfc0a 100644
--- a/definitions/grib2/tables/15/1.0.table
+++ b/definitions/grib2/tables/15/1.0.table
@@ -1,20 +1,20 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
-10 10 Version implemented on 7 November 2012
-11 11 Version implemented on 8 May 2013
-12 12 Version implemented on 14 November 2013
-13 13 Version implemented on 7 May 2014
-14 14 Version implemented on 5 November 2014
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
15 15 Version implemented on 6 May 2015
-16 16 Pre-operational to be implemented by next amendment
-# 17-254 Future versions
-255 255 Missing
+16 16 Pre-operational to be implemented by next amendment
+# 17-254 Future versions
+255 255 Missing
diff --git a/definitions/grib2/tables/15/1.1.table b/definitions/grib2/tables/15/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/15/1.1.table
+++ b/definitions/grib2/tables/15/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/15/1.2.table b/definitions/grib2/tables/15/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/15/1.2.table
+++ b/definitions/grib2/tables/15/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/1.3.table b/definitions/grib2/tables/15/1.3.table
index 6f061bf42..e7197fcb2 100644
--- a/definitions/grib2/tables/15/1.3.table
+++ b/definitions/grib2/tables/15/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 S2S operational products
7 7 S2S test products
8 8 Uncertainties in ensembles of regional reanalysis project (UERRA)
9 9 Uncertainties in ensembles of regional reanalysis project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/1.4.table b/definitions/grib2/tables/15/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/15/1.4.table
+++ b/definitions/grib2/tables/15/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/15/1.5.table b/definitions/grib2/tables/15/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/15/1.5.table
+++ b/definitions/grib2/tables/15/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/15/1.6.table b/definitions/grib2/tables/15/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/15/1.6.table
+++ b/definitions/grib2/tables/15/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.0.table b/definitions/grib2/tables/15/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/15/3.0.table
+++ b/definitions/grib2/tables/15/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/15/3.10.table b/definitions/grib2/tables/15/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/15/3.10.table
+++ b/definitions/grib2/tables/15/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/15/3.11.table b/definitions/grib2/tables/15/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/15/3.11.table
+++ b/definitions/grib2/tables/15/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.15.table b/definitions/grib2/tables/15/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/15/3.15.table
+++ b/definitions/grib2/tables/15/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.2.table b/definitions/grib2/tables/15/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/15/3.2.table
+++ b/definitions/grib2/tables/15/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.20.table b/definitions/grib2/tables/15/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/15/3.20.table
+++ b/definitions/grib2/tables/15/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.21.table b/definitions/grib2/tables/15/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/15/3.21.table
+++ b/definitions/grib2/tables/15/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.3.table b/definitions/grib2/tables/15/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/15/3.3.table
+++ b/definitions/grib2/tables/15/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/15/3.4.table b/definitions/grib2/tables/15/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/15/3.4.table
+++ b/definitions/grib2/tables/15/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/15/3.5.table b/definitions/grib2/tables/15/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/15/3.5.table
+++ b/definitions/grib2/tables/15/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/15/3.7.table b/definitions/grib2/tables/15/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/15/3.7.table
+++ b/definitions/grib2/tables/15/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.8.table b/definitions/grib2/tables/15/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/15/3.8.table
+++ b/definitions/grib2/tables/15/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/3.9.table b/definitions/grib2/tables/15/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/15/3.9.table
+++ b/definitions/grib2/tables/15/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/15/4.0.table b/definitions/grib2/tables/15/4.0.table
index b4eff0769..b05d7ef13 100644
--- a/definitions/grib2/tables/15/4.0.table
+++ b/definitions/grib2/tables/15/4.0.table
@@ -1,64 +1,64 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-# 55-56 Reserved
-57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
-# 58-59 Reserved
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+# 55-56 Reserved
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+# 58-59 Reserved
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 62-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 62-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/15/4.1.0.table b/definitions/grib2/tables/15/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/15/4.1.0.table
+++ b/definitions/grib2/tables/15/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.1.1.table b/definitions/grib2/tables/15/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/15/4.1.1.table
+++ b/definitions/grib2/tables/15/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.1.10.table b/definitions/grib2/tables/15/4.1.10.table
index a9b20eb9c..88d3c8743 100644
--- a/definitions/grib2/tables/15/4.1.10.table
+++ b/definitions/grib2/tables/15/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Subsurface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.1.2.table b/definitions/grib2/tables/15/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/15/4.1.2.table
+++ b/definitions/grib2/tables/15/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.1.3.table b/definitions/grib2/tables/15/4.1.3.table
index 5096a166e..c1a1e267a 100644
--- a/definitions/grib2/tables/15/4.1.3.table
+++ b/definitions/grib2/tables/15/4.1.3.table
@@ -1,6 +1,6 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.10.table b/definitions/grib2/tables/15/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/15/4.10.table
+++ b/definitions/grib2/tables/15/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/15/4.11.table b/definitions/grib2/tables/15/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/15/4.11.table
+++ b/definitions/grib2/tables/15/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.12.table b/definitions/grib2/tables/15/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/15/4.12.table
+++ b/definitions/grib2/tables/15/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.13.table b/definitions/grib2/tables/15/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/15/4.13.table
+++ b/definitions/grib2/tables/15/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.14.table b/definitions/grib2/tables/15/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/15/4.14.table
+++ b/definitions/grib2/tables/15/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.15.table b/definitions/grib2/tables/15/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/15/4.15.table
+++ b/definitions/grib2/tables/15/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.0.table b/definitions/grib2/tables/15/4.2.0.0.table
index 41e5291a9..24d21959d 100644
--- a/definitions/grib2/tables/15/4.2.0.0.table
+++ b/definitions/grib2/tables/15/4.2.0.0.table
@@ -21,6 +21,6 @@
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
21 21 Apparent temperature (K)
-# 22-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 22-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.1.table b/definitions/grib2/tables/15/4.2.0.1.table
index f2fdd3026..69386bbe2 100644
--- a/definitions/grib2/tables/15/4.2.0.1.table
+++ b/definitions/grib2/tables/15/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,7 +86,7 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
@@ -105,6 +105,6 @@
105 105 Number density of snow (m-3)
106 106 Number density of graupel (m-3)
107 107 Number density of hail (m-3)
-# 108-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 108-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.13.table b/definitions/grib2/tables/15/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/15/4.2.0.13.table
+++ b/definitions/grib2/tables/15/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.14.table b/definitions/grib2/tables/15/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/15/4.2.0.14.table
+++ b/definitions/grib2/tables/15/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.15.table b/definitions/grib2/tables/15/4.2.0.15.table
index dfbc4d12f..8df082466 100644
--- a/definitions/grib2/tables/15/4.2.0.15.table
+++ b/definitions/grib2/tables/15/4.2.0.15.table
@@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.16.table b/definitions/grib2/tables/15/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/15/4.2.0.16.table
+++ b/definitions/grib2/tables/15/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.18.table b/definitions/grib2/tables/15/4.2.0.18.table
index 18c41aa48..7e0a736eb 100644
--- a/definitions/grib2/tables/15/4.2.0.18.table
+++ b/definitions/grib2/tables/15/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.19.table b/definitions/grib2/tables/15/4.2.0.19.table
index 75101bd37..d2beef083 100644
--- a/definitions/grib2/tables/15/4.2.0.19.table
+++ b/definitions/grib2/tables/15/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.190.table b/definitions/grib2/tables/15/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/15/4.2.0.190.table
+++ b/definitions/grib2/tables/15/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.191.table b/definitions/grib2/tables/15/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/15/4.2.0.191.table
+++ b/definitions/grib2/tables/15/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.2.table b/definitions/grib2/tables/15/4.2.0.2.table
index c83b07300..7bd1509f5 100644
--- a/definitions/grib2/tables/15/4.2.0.2.table
+++ b/definitions/grib2/tables/15/4.2.0.2.table
@@ -38,6 +38,6 @@
36 36 Amplitude function for Rossby wave envelope for meridional wind (m/s)
37 37 Northward turbulent surface stress (N m-2 s)
38 38 Eastward turbulent surface stress (N m-2 s)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.20.table b/definitions/grib2/tables/15/4.2.0.20.table
index 9584f7c7f..df9ccc184 100644
--- a/definitions/grib2/tables/15/4.2.0.20.table
+++ b/definitions/grib2/tables/15/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.3.table b/definitions/grib2/tables/15/4.2.0.3.table
index 9a88e0027..e1a68bfc5 100644
--- a/definitions/grib2/tables/15/4.2.0.3.table
+++ b/definitions/grib2/tables/15/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.4.table b/definitions/grib2/tables/15/4.2.0.4.table
index dbfcbddb7..03b5cea38 100644
--- a/definitions/grib2/tables/15/4.2.0.4.table
+++ b/definitions/grib2/tables/15/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.5.table b/definitions/grib2/tables/15/4.2.0.5.table
index 932a12fbd..b9084509a 100644
--- a/definitions/grib2/tables/15/4.2.0.5.table
+++ b/definitions/grib2/tables/15/4.2.0.5.table
@@ -7,6 +7,6 @@
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.6.table b/definitions/grib2/tables/15/4.2.0.6.table
index e28d8e4db..8f1574d46 100644
--- a/definitions/grib2/tables/15/4.2.0.6.table
+++ b/definitions/grib2/tables/15/4.2.0.6.table
@@ -39,6 +39,6 @@
37 37 Fraction of convective precipitation cover (Proportion)
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
-# 40-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 40-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.0.7.table b/definitions/grib2/tables/15/4.2.0.7.table
index db47d0113..8a2b85fb9 100644
--- a/definitions/grib2/tables/15/4.2.0.7.table
+++ b/definitions/grib2/tables/15/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.1.0.table b/definitions/grib2/tables/15/4.2.1.0.table
index cf56b08ee..f455c3365 100644
--- a/definitions/grib2/tables/15/4.2.1.0.table
+++ b/definitions/grib2/tables/15/4.2.1.0.table
@@ -7,6 +7,6 @@
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
7 7 Discharge from rivers or streams (m3/s)
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.1.1.table b/definitions/grib2/tables/15/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/15/4.2.1.1.table
+++ b/definitions/grib2/tables/15/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.0.table b/definitions/grib2/tables/15/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/15/4.2.10.0.table
+++ b/definitions/grib2/tables/15/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.1.table b/definitions/grib2/tables/15/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/15/4.2.10.1.table
+++ b/definitions/grib2/tables/15/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.191.table b/definitions/grib2/tables/15/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/15/4.2.10.191.table
+++ b/definitions/grib2/tables/15/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.2.table b/definitions/grib2/tables/15/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/15/4.2.10.2.table
+++ b/definitions/grib2/tables/15/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.3.table b/definitions/grib2/tables/15/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/15/4.2.10.3.table
+++ b/definitions/grib2/tables/15/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.10.4.table b/definitions/grib2/tables/15/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/15/4.2.10.4.table
+++ b/definitions/grib2/tables/15/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.2.0.table b/definitions/grib2/tables/15/4.2.2.0.table
index 81548840c..b253cac22 100644
--- a/definitions/grib2/tables/15/4.2.2.0.table
+++ b/definitions/grib2/tables/15/4.2.2.0.table
@@ -38,6 +38,6 @@
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.2.3.table b/definitions/grib2/tables/15/4.2.2.3.table
index 08ac880fe..2b1d0ac38 100644
--- a/definitions/grib2/tables/15/4.2.2.3.table
+++ b/definitions/grib2/tables/15/4.2.2.3.table
@@ -23,6 +23,6 @@
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
23 23 Liquid water in snow pack (kg m-2)
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.2.4.table b/definitions/grib2/tables/15/4.2.2.4.table
index d4ede2f70..c8b877df6 100644
--- a/definitions/grib2/tables/15/4.2.2.4.table
+++ b/definitions/grib2/tables/15/4.2.2.4.table
@@ -4,6 +4,6 @@
2 2 Haines Index (Numeric)
3 3 Fire burned area (%)
4 4 Fosberg index (Numeric)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.3.0.table b/definitions/grib2/tables/15/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/15/4.2.3.0.table
+++ b/definitions/grib2/tables/15/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.2.3.1.table b/definitions/grib2/tables/15/4.2.3.1.table
index 0bda53063..bc9eaab0d 100644
--- a/definitions/grib2/tables/15/4.2.3.1.table
+++ b/definitions/grib2/tables/15/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.201.table b/definitions/grib2/tables/15/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/15/4.201.table
+++ b/definitions/grib2/tables/15/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.202.table b/definitions/grib2/tables/15/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/15/4.202.table
+++ b/definitions/grib2/tables/15/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.203.table b/definitions/grib2/tables/15/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/15/4.203.table
+++ b/definitions/grib2/tables/15/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.204.table b/definitions/grib2/tables/15/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/15/4.204.table
+++ b/definitions/grib2/tables/15/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.205.table b/definitions/grib2/tables/15/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/15/4.205.table
+++ b/definitions/grib2/tables/15/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.206.table b/definitions/grib2/tables/15/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/15/4.206.table
+++ b/definitions/grib2/tables/15/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.207.table b/definitions/grib2/tables/15/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/15/4.207.table
+++ b/definitions/grib2/tables/15/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.208.table b/definitions/grib2/tables/15/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/15/4.208.table
+++ b/definitions/grib2/tables/15/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.209.table b/definitions/grib2/tables/15/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/15/4.209.table
+++ b/definitions/grib2/tables/15/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.210.table b/definitions/grib2/tables/15/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/15/4.210.table
+++ b/definitions/grib2/tables/15/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.211.table b/definitions/grib2/tables/15/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/15/4.211.table
+++ b/definitions/grib2/tables/15/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.212.table b/definitions/grib2/tables/15/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/15/4.212.table
+++ b/definitions/grib2/tables/15/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.213.table b/definitions/grib2/tables/15/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/15/4.213.table
+++ b/definitions/grib2/tables/15/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.215.table b/definitions/grib2/tables/15/4.215.table
index 034db72be..7888772d5 100644
--- a/definitions/grib2/tables/15/4.215.table
+++ b/definitions/grib2/tables/15/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.216.table b/definitions/grib2/tables/15/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/15/4.216.table
+++ b/definitions/grib2/tables/15/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.217.table b/definitions/grib2/tables/15/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/15/4.217.table
+++ b/definitions/grib2/tables/15/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.218.table b/definitions/grib2/tables/15/4.218.table
index bfca92f95..fdaa3ea31 100644
--- a/definitions/grib2/tables/15/4.218.table
+++ b/definitions/grib2/tables/15/4.218.table
@@ -1,38 +1,38 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation/crops
-15 15 Permanent snow/ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow/ice on land
-98 98 Snow/ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud/fog/Stratus
-102 102 Low cloud/Stratocumulus
-103 103 Low cloud/unknown type
-104 104 Medium cloud/Nimbostratus
-105 105 Medium cloud/Altostratus
-106 106 Medium cloud/unknown type
-107 107 High cloud/Cumulus
-108 108 High cloud/Cirrus
-109 109 High cloud/unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/Stratus
+102 102 Low cloud/Stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/Nimbostratus
+105 105 Medium cloud/Altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/Cumulus
+108 108 High cloud/Cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.219.table b/definitions/grib2/tables/15/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/15/4.219.table
+++ b/definitions/grib2/tables/15/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.220.table b/definitions/grib2/tables/15/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/15/4.220.table
+++ b/definitions/grib2/tables/15/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.221.table b/definitions/grib2/tables/15/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/15/4.221.table
+++ b/definitions/grib2/tables/15/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.222.table b/definitions/grib2/tables/15/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/15/4.222.table
+++ b/definitions/grib2/tables/15/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.223.table b/definitions/grib2/tables/15/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/15/4.223.table
+++ b/definitions/grib2/tables/15/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/15/4.224.table b/definitions/grib2/tables/15/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/15/4.224.table
+++ b/definitions/grib2/tables/15/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.227.table b/definitions/grib2/tables/15/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/15/4.227.table
+++ b/definitions/grib2/tables/15/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/15/4.234.table b/definitions/grib2/tables/15/4.234.table
index 9844a91d2..d8b3715b3 100644
--- a/definitions/grib2/tables/15/4.234.table
+++ b/definitions/grib2/tables/15/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/15/4.236.table b/definitions/grib2/tables/15/4.236.table
index 08c7f8d56..b667b65fc 100644
--- a/definitions/grib2/tables/15/4.236.table
+++ b/definitions/grib2/tables/15/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/15/4.241.table b/definitions/grib2/tables/15/4.241.table
index c0bd3e99e..6ce0a5ea7 100644
--- a/definitions/grib2/tables/15/4.241.table
+++ b/definitions/grib2/tables/15/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.242.table b/definitions/grib2/tables/15/4.242.table
index 083f88c29..f6865957c 100644
--- a/definitions/grib2/tables/15/4.242.table
+++ b/definitions/grib2/tables/15/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GlobCover GCV2009
-2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Reserved
+1 1 Land use classes according to ESA-GlobCover GCV2009
+2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/15/4.243.table b/definitions/grib2/tables/15/4.243.table
index b39053311..24d21b719 100644
--- a/definitions/grib2/tables/15/4.243.table
+++ b/definitions/grib2/tables/15/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Freshwater flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rainfed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/15/4.3.table b/definitions/grib2/tables/15/4.3.table
index f423af2bf..46e498c5f 100644
--- a/definitions/grib2/tables/15/4.3.table
+++ b/definitions/grib2/tables/15/4.3.table
@@ -1,20 +1,20 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.4.table b/definitions/grib2/tables/15/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/15/4.4.table
+++ b/definitions/grib2/tables/15/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.5.table b/definitions/grib2/tables/15/4.5.table
index f73733e88..d1a76825a 100644
--- a/definitions/grib2/tables/15/4.5.table
+++ b/definitions/grib2/tables/15/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,18 +25,18 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
-# 115-116 Reserved
+# 115-116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level
119 hpl Hybrid pressure level
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
@@ -47,17 +47,17 @@
167 167 Bottom of root zone
# 168-173 Reserved
# 168-169 Reserved
-174 sfc Top surface of ice on sea, lake or river
-175 175 Top surface of ice, under snow cover, on sea, lake or river
-176 176 Bottom surface (underside) ice on sea, lake or river
-177 sfc Deep soil (of indefinite depth)
-178 178 Reserved
-179 179 Top surface of glacier ice and inland ice
-180 180 Deep inland or glacier ice (of indefinite depth)
-181 181 Grid tile land fraction as a model surface
-182 182 Grid tile water fraction as a model surface
-183 183 Grid tile ice fraction on sea, lake or river as a model surface
-184 184 Grid tile glacier ice and inland ice fraction as a model surface
-# 185-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+174 sfc Top surface of ice on sea, lake or river
+175 175 Top surface of ice, under snow cover, on sea, lake or river
+176 176 Bottom surface (underside) ice on sea, lake or river
+177 sfc Deep soil (of indefinite depth)
+178 178 Reserved
+179 179 Top surface of glacier ice and inland ice
+180 180 Deep inland or glacier ice (of indefinite depth)
+181 181 Grid tile land fraction as a model surface
+182 182 Grid tile water fraction as a model surface
+183 183 Grid tile ice fraction on sea, lake or river as a model surface
+184 184 Grid tile glacier ice and inland ice fraction as a model surface
+# 185-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.6.table b/definitions/grib2/tables/15/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/15/4.6.table
+++ b/definitions/grib2/tables/15/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.7.table b/definitions/grib2/tables/15/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/15/4.7.table
+++ b/definitions/grib2/tables/15/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.8.table b/definitions/grib2/tables/15/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/15/4.8.table
+++ b/definitions/grib2/tables/15/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.9.table b/definitions/grib2/tables/15/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/15/4.9.table
+++ b/definitions/grib2/tables/15/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/4.91.table b/definitions/grib2/tables/15/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/15/4.91.table
+++ b/definitions/grib2/tables/15/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/15/5.0.table b/definitions/grib2/tables/15/5.0.table
index 5ec77ed0f..2795336df 100644
--- a/definitions/grib2/tables/15/5.0.table
+++ b/definitions/grib2/tables/15/5.0.table
@@ -1,23 +1,23 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
-# 42-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
+# 42-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/15/5.1.table b/definitions/grib2/tables/15/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/15/5.1.table
+++ b/definitions/grib2/tables/15/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.2.table b/definitions/grib2/tables/15/5.2.table
index 7a4500ecd..d12b46fbd 100644
--- a/definitions/grib2/tables/15/5.2.table
+++ b/definitions/grib2/tables/15/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/15/5.3.table b/definitions/grib2/tables/15/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/15/5.3.table
+++ b/definitions/grib2/tables/15/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.4.table b/definitions/grib2/tables/15/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/15/5.4.table
+++ b/definitions/grib2/tables/15/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.40.table b/definitions/grib2/tables/15/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/15/5.40.table
+++ b/definitions/grib2/tables/15/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.5.table b/definitions/grib2/tables/15/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/15/5.5.table
+++ b/definitions/grib2/tables/15/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.6.table b/definitions/grib2/tables/15/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/15/5.6.table
+++ b/definitions/grib2/tables/15/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/15/5.7.table b/definitions/grib2/tables/15/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/15/5.7.table
+++ b/definitions/grib2/tables/15/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/15/6.0.table b/definitions/grib2/tables/15/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/15/6.0.table
+++ b/definitions/grib2/tables/15/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/16/0.0.table b/definitions/grib2/tables/16/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/16/0.0.table
+++ b/definitions/grib2/tables/16/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/1.1.table b/definitions/grib2/tables/16/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/16/1.1.table
+++ b/definitions/grib2/tables/16/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/16/1.2.table b/definitions/grib2/tables/16/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/16/1.2.table
+++ b/definitions/grib2/tables/16/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/1.3.table b/definitions/grib2/tables/16/1.3.table
index 6f061bf42..e7197fcb2 100644
--- a/definitions/grib2/tables/16/1.3.table
+++ b/definitions/grib2/tables/16/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
6 6 S2S operational products
7 7 S2S test products
8 8 Uncertainties in ensembles of regional reanalysis project (UERRA)
9 9 Uncertainties in ensembles of regional reanalysis project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/1.4.table b/definitions/grib2/tables/16/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/16/1.4.table
+++ b/definitions/grib2/tables/16/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/16/1.5.table b/definitions/grib2/tables/16/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/16/1.5.table
+++ b/definitions/grib2/tables/16/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/16/1.6.table b/definitions/grib2/tables/16/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/16/1.6.table
+++ b/definitions/grib2/tables/16/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.0.table b/definitions/grib2/tables/16/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/16/3.0.table
+++ b/definitions/grib2/tables/16/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/16/3.10.table b/definitions/grib2/tables/16/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/16/3.10.table
+++ b/definitions/grib2/tables/16/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/16/3.11.table b/definitions/grib2/tables/16/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/16/3.11.table
+++ b/definitions/grib2/tables/16/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.15.table b/definitions/grib2/tables/16/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/16/3.15.table
+++ b/definitions/grib2/tables/16/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.2.table b/definitions/grib2/tables/16/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/16/3.2.table
+++ b/definitions/grib2/tables/16/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.20.table b/definitions/grib2/tables/16/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/16/3.20.table
+++ b/definitions/grib2/tables/16/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.21.table b/definitions/grib2/tables/16/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/16/3.21.table
+++ b/definitions/grib2/tables/16/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.3.table b/definitions/grib2/tables/16/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/16/3.3.table
+++ b/definitions/grib2/tables/16/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/16/3.4.table b/definitions/grib2/tables/16/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/16/3.4.table
+++ b/definitions/grib2/tables/16/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/16/3.5.table b/definitions/grib2/tables/16/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/16/3.5.table
+++ b/definitions/grib2/tables/16/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/16/3.7.table b/definitions/grib2/tables/16/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/16/3.7.table
+++ b/definitions/grib2/tables/16/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.8.table b/definitions/grib2/tables/16/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/16/3.8.table
+++ b/definitions/grib2/tables/16/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/3.9.table b/definitions/grib2/tables/16/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/16/3.9.table
+++ b/definitions/grib2/tables/16/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/16/4.0.table b/definitions/grib2/tables/16/4.0.table
index 05bf24330..eef83c7c3 100644
--- a/definitions/grib2/tables/16/4.0.table
+++ b/definitions/grib2/tables/16/4.0.table
@@ -1,65 +1,65 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
-56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters
-57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
-# 58-59 Reserved
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
-# 62-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+# 58-59 Reserved
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+# 62-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/16/4.1.0.table b/definitions/grib2/tables/16/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/16/4.1.0.table
+++ b/definitions/grib2/tables/16/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.1.1.table b/definitions/grib2/tables/16/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/16/4.1.1.table
+++ b/definitions/grib2/tables/16/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.1.10.table b/definitions/grib2/tables/16/4.1.10.table
index a9b20eb9c..88d3c8743 100644
--- a/definitions/grib2/tables/16/4.1.10.table
+++ b/definitions/grib2/tables/16/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Subsurface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.1.2.table b/definitions/grib2/tables/16/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/16/4.1.2.table
+++ b/definitions/grib2/tables/16/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.1.3.table b/definitions/grib2/tables/16/4.1.3.table
index d2baa1362..210b39fd5 100644
--- a/definitions/grib2/tables/16/4.1.3.table
+++ b/definitions/grib2/tables/16/4.1.3.table
@@ -1,11 +1,11 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-2 2 Cloud properties
-3 3 Flight rules conditions
-4 4 Volcanic ash
-5 5 Sea surface temperature
-6 6 Solar radiation
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+2 2 Cloud properties
+3 3 Flight rules conditions
+4 4 Volcanic ash
+5 5 Sea surface temperature
+6 6 Solar radiation
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.10.table b/definitions/grib2/tables/16/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/16/4.10.table
+++ b/definitions/grib2/tables/16/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/16/4.11.table b/definitions/grib2/tables/16/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/16/4.11.table
+++ b/definitions/grib2/tables/16/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.12.table b/definitions/grib2/tables/16/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/16/4.12.table
+++ b/definitions/grib2/tables/16/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.13.table b/definitions/grib2/tables/16/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/16/4.13.table
+++ b/definitions/grib2/tables/16/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.14.table b/definitions/grib2/tables/16/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/16/4.14.table
+++ b/definitions/grib2/tables/16/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.15.table b/definitions/grib2/tables/16/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/16/4.15.table
+++ b/definitions/grib2/tables/16/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.0.table b/definitions/grib2/tables/16/4.2.0.0.table
index cfadd2d07..3a285255f 100644
--- a/definitions/grib2/tables/16/4.2.0.0.table
+++ b/definitions/grib2/tables/16/4.2.0.0.table
@@ -27,6 +27,6 @@
25 25 Temperature tendency due to long-wave radiation, clear sky (K s-1)
26 26 Temperature tendency due to parameterizations (K s-1)
27 27 Wet bulb temperature (K)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.1.table b/definitions/grib2/tables/16/4.2.0.1.table
index 775cfe54f..1ecbf240a 100644
--- a/definitions/grib2/tables/16/4.2.0.1.table
+++ b/definitions/grib2/tables/16/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,7 +86,7 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
@@ -106,6 +106,6 @@
106 106 Number density of graupel (m-3)
107 107 Number density of hail (m-3)
108 108 Specific humidity tendency due to parameterizations (kg kg-1 s-1)
-# 109-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 109-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.13.table b/definitions/grib2/tables/16/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/16/4.2.0.13.table
+++ b/definitions/grib2/tables/16/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.14.table b/definitions/grib2/tables/16/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/16/4.2.0.14.table
+++ b/definitions/grib2/tables/16/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.15.table b/definitions/grib2/tables/16/4.2.0.15.table
index dfbc4d12f..8df082466 100644
--- a/definitions/grib2/tables/16/4.2.0.15.table
+++ b/definitions/grib2/tables/16/4.2.0.15.table
@@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.16.table b/definitions/grib2/tables/16/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/16/4.2.0.16.table
+++ b/definitions/grib2/tables/16/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.18.table b/definitions/grib2/tables/16/4.2.0.18.table
index 18c41aa48..7e0a736eb 100644
--- a/definitions/grib2/tables/16/4.2.0.18.table
+++ b/definitions/grib2/tables/16/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.19.table b/definitions/grib2/tables/16/4.2.0.19.table
index ec2b9823d..e51b670a0 100644
--- a/definitions/grib2/tables/16/4.2.0.19.table
+++ b/definitions/grib2/tables/16/4.2.0.19.table
@@ -28,6 +28,6 @@
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
28 28 Mountain wave turbulence (eddy dissipation rate) (m2/3 s-1)
-# 29-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 29-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.190.table b/definitions/grib2/tables/16/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/16/4.2.0.190.table
+++ b/definitions/grib2/tables/16/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.191.table b/definitions/grib2/tables/16/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/16/4.2.0.191.table
+++ b/definitions/grib2/tables/16/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.2.table b/definitions/grib2/tables/16/4.2.0.2.table
index 46b0774aa..906cf6205 100644
--- a/definitions/grib2/tables/16/4.2.0.2.table
+++ b/definitions/grib2/tables/16/4.2.0.2.table
@@ -44,6 +44,6 @@
42 42 v-component of geostrophic wind (m s-1)
43 43 Geostrophic wind direction (degree true)
44 44 Geostrophic wind speed (m s-1)
-# 45-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 45-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.20.table b/definitions/grib2/tables/16/4.2.0.20.table
index 9584f7c7f..df9ccc184 100644
--- a/definitions/grib2/tables/16/4.2.0.20.table
+++ b/definitions/grib2/tables/16/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.3.table b/definitions/grib2/tables/16/4.2.0.3.table
index c7c6359d4..17e7f204f 100644
--- a/definitions/grib2/tables/16/4.2.0.3.table
+++ b/definitions/grib2/tables/16/4.2.0.3.table
@@ -30,6 +30,6 @@
28 28 Downdraught mass flux (kg m-2 s-1)
29 29 Updraught detrainment rate (kg m-3 s-1)
30 30 Downdraught detrainment rate (kg m-3 s-1)
-# 31-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 31-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.4.table b/definitions/grib2/tables/16/4.2.0.4.table
index bd37ea3f5..da327a450 100644
--- a/definitions/grib2/tables/16/4.2.0.4.table
+++ b/definitions/grib2/tables/16/4.2.0.4.table
@@ -14,9 +14,9 @@
12 12 Downward UV radiation (W m-2)
13 13 Direct short wave radiation flux (W m-2)
14 14 Diffuse short wave radiation flux (W m-2)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.5.table b/definitions/grib2/tables/16/4.2.0.5.table
index 932a12fbd..b9084509a 100644
--- a/definitions/grib2/tables/16/4.2.0.5.table
+++ b/definitions/grib2/tables/16/4.2.0.5.table
@@ -7,6 +7,6 @@
5 5 Net long-wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
-# 8-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.6.table b/definitions/grib2/tables/16/4.2.0.6.table
index 4cec0c8aa..0450ec194 100644
--- a/definitions/grib2/tables/16/4.2.0.6.table
+++ b/definitions/grib2/tables/16/4.2.0.6.table
@@ -40,10 +40,10 @@
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
40 40 Mass density of convective cloud water droplets (kg m-3)
-# 41-46 Reserved
+# 41-46 Reserved
47 47 Volume fraction of cloud water droplets (Numeric)
48 48 Volume fraction of cloud ice particles (Numeric)
49 49 Volume fraction of cloud (ice and/or water) (Numeric)
-# 50-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 50-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.0.7.table b/definitions/grib2/tables/16/4.2.0.7.table
index 23a1a82da..2bf21255d 100644
--- a/definitions/grib2/tables/16/4.2.0.7.table
+++ b/definitions/grib2/tables/16/4.2.0.7.table
@@ -13,11 +13,11 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
16 16 Bulk Richardson number (Numeric)
17 17 Gradient Richardson number (Numeric)
18 18 Flux Richardson number (Numeric)
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.1.0.table b/definitions/grib2/tables/16/4.2.1.0.table
index 74c95f57b..e6f23655a 100644
--- a/definitions/grib2/tables/16/4.2.1.0.table
+++ b/definitions/grib2/tables/16/4.2.1.0.table
@@ -15,6 +15,6 @@
13 13 Depth of water on soil surface (kg m-2)
14 14 Upstream accumulated precipitation (kg m-2)
15 15 Upstream accumulated snow melt (kg m-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.1.1.table b/definitions/grib2/tables/16/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/16/4.2.1.1.table
+++ b/definitions/grib2/tables/16/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.0.table b/definitions/grib2/tables/16/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/16/4.2.10.0.table
+++ b/definitions/grib2/tables/16/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.1.table b/definitions/grib2/tables/16/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/16/4.2.10.1.table
+++ b/definitions/grib2/tables/16/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.191.table b/definitions/grib2/tables/16/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/16/4.2.10.191.table
+++ b/definitions/grib2/tables/16/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.2.table b/definitions/grib2/tables/16/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/16/4.2.10.2.table
+++ b/definitions/grib2/tables/16/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.3.table b/definitions/grib2/tables/16/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/16/4.2.10.3.table
+++ b/definitions/grib2/tables/16/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.10.4.table b/definitions/grib2/tables/16/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/16/4.2.10.4.table
+++ b/definitions/grib2/tables/16/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.2.0.table b/definitions/grib2/tables/16/4.2.2.0.table
index 81548840c..b253cac22 100644
--- a/definitions/grib2/tables/16/4.2.2.0.table
+++ b/definitions/grib2/tables/16/4.2.2.0.table
@@ -38,6 +38,6 @@
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.2.3.table b/definitions/grib2/tables/16/4.2.2.3.table
index dff2f7953..6cb8eb7af 100644
--- a/definitions/grib2/tables/16/4.2.2.3.table
+++ b/definitions/grib2/tables/16/4.2.2.3.table
@@ -25,6 +25,6 @@
23 23 Liquid water in snow pack (kg m-2)
24 24 Frost index (K day-1)
25 25 Snow depth at elevation bands (kg m-2)
-# 26-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 26-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.2.4.table b/definitions/grib2/tables/16/4.2.2.4.table
index b9383fe10..cb3db6f78 100644
--- a/definitions/grib2/tables/16/4.2.2.4.table
+++ b/definitions/grib2/tables/16/4.2.2.4.table
@@ -11,6 +11,6 @@
9 9 Initial fire spread index (Canadian forest service) (Numeric)
10 10 Fire build up index (Canadian forest service) (Numeric)
11 11 Fire daily severity rating (Canadian forest service) (Numeric)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.3.0.table b/definitions/grib2/tables/16/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/16/4.2.3.0.table
+++ b/definitions/grib2/tables/16/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.2.3.1.table b/definitions/grib2/tables/16/4.2.3.1.table
index 75911ee32..04cdde1f1 100644
--- a/definitions/grib2/tables/16/4.2.3.1.table
+++ b/definitions/grib2/tables/16/4.2.3.1.table
@@ -17,16 +17,16 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
-20 20 Aerosol optical thickness at 0.635 um
-21 21 Aerosol optical thickness at 0.810 um
-22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-26 Reserved
+20 20 Aerosol optical thickness at 0.635 um
+21 21 Aerosol optical thickness at 0.810 um
+22 22 Aerosol optical thickness at 1.640 um
+23 23 Angstrom coefficient
+# 24-26 Reserved
27 27 Bidirectional reflectance factor (Numeric)
28 28 Brightness temperature (K)
29 29 Scaled radiance (Numeric)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.201.table b/definitions/grib2/tables/16/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/16/4.201.table
+++ b/definitions/grib2/tables/16/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.202.table b/definitions/grib2/tables/16/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/16/4.202.table
+++ b/definitions/grib2/tables/16/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.203.table b/definitions/grib2/tables/16/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/16/4.203.table
+++ b/definitions/grib2/tables/16/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.204.table b/definitions/grib2/tables/16/4.204.table
index 91bcf1814..ffbd89502 100644
--- a/definitions/grib2/tables/16/4.204.table
+++ b/definitions/grib2/tables/16/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.205.table b/definitions/grib2/tables/16/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/16/4.205.table
+++ b/definitions/grib2/tables/16/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.206.table b/definitions/grib2/tables/16/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/16/4.206.table
+++ b/definitions/grib2/tables/16/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.207.table b/definitions/grib2/tables/16/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/16/4.207.table
+++ b/definitions/grib2/tables/16/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.208.table b/definitions/grib2/tables/16/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/16/4.208.table
+++ b/definitions/grib2/tables/16/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.209.table b/definitions/grib2/tables/16/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/16/4.209.table
+++ b/definitions/grib2/tables/16/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.210.table b/definitions/grib2/tables/16/4.210.table
index 524a6ca73..791878469 100644
--- a/definitions/grib2/tables/16/4.210.table
+++ b/definitions/grib2/tables/16/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.211.table b/definitions/grib2/tables/16/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/16/4.211.table
+++ b/definitions/grib2/tables/16/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.212.table b/definitions/grib2/tables/16/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/16/4.212.table
+++ b/definitions/grib2/tables/16/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.213.table b/definitions/grib2/tables/16/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/16/4.213.table
+++ b/definitions/grib2/tables/16/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.215.table b/definitions/grib2/tables/16/4.215.table
index 034db72be..7888772d5 100644
--- a/definitions/grib2/tables/16/4.215.table
+++ b/definitions/grib2/tables/16/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.216.table b/definitions/grib2/tables/16/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/16/4.216.table
+++ b/definitions/grib2/tables/16/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.217.table b/definitions/grib2/tables/16/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/16/4.217.table
+++ b/definitions/grib2/tables/16/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.218.table b/definitions/grib2/tables/16/4.218.table
index c585bed96..0ad5f49ee 100644
--- a/definitions/grib2/tables/16/4.218.table
+++ b/definitions/grib2/tables/16/4.218.table
@@ -1,44 +1,44 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation/crops
-15 15 Permanent snow/ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-19 19 Warm liquid water cloud
-20 20 Supercooled liquid water cloud
-21 21 Mixed phase cloud
-22 22 Optically thin ice cloud
-23 23 Optically thick ice cloud
-24 24 Multi-layered cloud
-# 25-96 Reserved
-97 97 Snow/ice on land
-98 98 Snow/ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud/fog/Stratus
-102 102 Low cloud/Stratocumulus
-103 103 Low cloud/unknown type
-104 104 Medium cloud/Nimbostratus
-105 105 Medium cloud/Altostratus
-106 106 Medium cloud/unknown type
-107 107 High cloud/Cumulus
-108 108 High cloud/Cirrus
-109 109 High cloud/unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+19 19 Warm liquid water cloud
+20 20 Supercooled liquid water cloud
+21 21 Mixed phase cloud
+22 22 Optically thin ice cloud
+23 23 Optically thick ice cloud
+24 24 Multi-layered cloud
+# 25-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/Stratus
+102 102 Low cloud/Stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/Nimbostratus
+105 105 Medium cloud/Altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/Cumulus
+108 108 High cloud/Cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.219.table b/definitions/grib2/tables/16/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/16/4.219.table
+++ b/definitions/grib2/tables/16/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.220.table b/definitions/grib2/tables/16/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/16/4.220.table
+++ b/definitions/grib2/tables/16/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.221.table b/definitions/grib2/tables/16/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/16/4.221.table
+++ b/definitions/grib2/tables/16/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.222.table b/definitions/grib2/tables/16/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/16/4.222.table
+++ b/definitions/grib2/tables/16/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.223.table b/definitions/grib2/tables/16/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/16/4.223.table
+++ b/definitions/grib2/tables/16/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/16/4.224.table b/definitions/grib2/tables/16/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/16/4.224.table
+++ b/definitions/grib2/tables/16/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.227.table b/definitions/grib2/tables/16/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/16/4.227.table
+++ b/definitions/grib2/tables/16/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/16/4.234.table b/definitions/grib2/tables/16/4.234.table
index 9844a91d2..d8b3715b3 100644
--- a/definitions/grib2/tables/16/4.234.table
+++ b/definitions/grib2/tables/16/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/16/4.236.table b/definitions/grib2/tables/16/4.236.table
index 08c7f8d56..b667b65fc 100644
--- a/definitions/grib2/tables/16/4.236.table
+++ b/definitions/grib2/tables/16/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in PDT 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/16/4.240.table b/definitions/grib2/tables/16/4.240.table
index c12ebbb77..1838acfc0 100644
--- a/definitions/grib2/tables/16/4.240.table
+++ b/definitions/grib2/tables/16/4.240.table
@@ -1,12 +1,12 @@
# Code table 4.240 - Type of distribution function
-0 0 No specific distribution function given
-1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in meter
-2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
-3 3 Gaussian (Normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
-4 4 Gaussian (Normal) distribution with spatially variable concentration, mean diameter and variance
-5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
+0 0 No specific distribution function given
+1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in meter
+2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
+3 3 Gaussian (Normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
+4 4 Gaussian (Normal) distribution with spatially variable concentration, mean diameter and variance
+5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
7 7 Log-normal distribution with spatially variable number density and mass density and fixed variance(p1) and fixed particle density(p2)
-# 8-49151 Reserved
-# 49152-65534 Reserved for local use
-65535 65535 Missing value
+# 8-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing value
diff --git a/definitions/grib2/tables/16/4.241.table b/definitions/grib2/tables/16/4.241.table
index a037b4ba5..5ea7f775a 100644
--- a/definitions/grib2/tables/16/4.241.table
+++ b/definitions/grib2/tables/16/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/16/4.242.table b/definitions/grib2/tables/16/4.242.table
index 083f88c29..f6865957c 100644
--- a/definitions/grib2/tables/16/4.242.table
+++ b/definitions/grib2/tables/16/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GlobCover GCV2009
-2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Reserved
+1 1 Land use classes according to ESA-GlobCover GCV2009
+2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/16/4.243.table b/definitions/grib2/tables/16/4.243.table
index b39053311..24d21b719 100644
--- a/definitions/grib2/tables/16/4.243.table
+++ b/definitions/grib2/tables/16/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Freshwater flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rainfed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/16/4.3.table b/definitions/grib2/tables/16/4.3.table
index f205ea0c2..bcf8102a1 100644
--- a/definitions/grib2/tables/16/4.3.table
+++ b/definitions/grib2/tables/16/4.3.table
@@ -1,22 +1,22 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-16 16 Physical retrieval
-17 17 Regression analysis
-# 18-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+16 16 Physical retrieval
+17 17 Regression analysis
+# 18-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.4.table b/definitions/grib2/tables/16/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/16/4.4.table
+++ b/definitions/grib2/tables/16/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.5.table b/definitions/grib2/tables/16/4.5.table
index 73c6eb7bf..8d4ae8d1a 100644
--- a/definitions/grib2/tables/16/4.5.table
+++ b/definitions/grib2/tables/16/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface (-)
2 2 Cloud base level (-)
3 3 Level of cloud tops (-)
@@ -12,11 +12,11 @@
10 10 Entire atmosphere (-)
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,18 +25,18 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level (-)
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
-# 115-116 Reserved
+# 115-116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level (-)
119 hpl Hybrid pressure level (-)
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
-# 151-159 Reserved
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
+# 151-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom (-)
@@ -45,18 +45,18 @@
165 165 Bottom of sediment layer penetrated by thermal wave (-)
166 sfc Mixing layer (-)
167 167 Bottom of root zone (-)
-# 168-173 Reserved
-174 sfc Top surface of ice on sea, lake or river
-175 175 Top surface of ice, under snow cover, on sea, lake or river
-176 176 Bottom surface (underside) ice on sea, lake or river
-177 sfc Deep soil (of indefinite depth)
-178 178 Reserved
-179 179 Top surface of glacier ice and inland ice
-180 180 Deep inland or glacier ice (of indefinite depth)
-181 181 Grid tile land fraction as a model surface
-182 182 Grid tile water fraction as a model surface
-183 183 Grid tile ice fraction on sea, lake or river as a model surface
-184 184 Grid tile glacier ice and inland ice fraction as a model surface
-# 185-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 168-173 Reserved
+174 sfc Top surface of ice on sea, lake or river
+175 175 Top surface of ice, under snow cover, on sea, lake or river
+176 176 Bottom surface (underside) ice on sea, lake or river
+177 sfc Deep soil (of indefinite depth)
+178 178 Reserved
+179 179 Top surface of glacier ice and inland ice
+180 180 Deep inland or glacier ice (of indefinite depth)
+181 181 Grid tile land fraction as a model surface
+182 182 Grid tile water fraction as a model surface
+183 183 Grid tile ice fraction on sea, lake or river as a model surface
+184 184 Grid tile glacier ice and inland ice fraction as a model surface
+# 185-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.6.table b/definitions/grib2/tables/16/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/16/4.6.table
+++ b/definitions/grib2/tables/16/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.7.table b/definitions/grib2/tables/16/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/16/4.7.table
+++ b/definitions/grib2/tables/16/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.8.table b/definitions/grib2/tables/16/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/16/4.8.table
+++ b/definitions/grib2/tables/16/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.9.table b/definitions/grib2/tables/16/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/16/4.9.table
+++ b/definitions/grib2/tables/16/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/4.91.table b/definitions/grib2/tables/16/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/16/4.91.table
+++ b/definitions/grib2/tables/16/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/16/5.0.table b/definitions/grib2/tables/16/5.0.table
index 5ec77ed0f..2795336df 100644
--- a/definitions/grib2/tables/16/5.0.table
+++ b/definitions/grib2/tables/16/5.0.table
@@ -1,23 +1,23 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
-# 42-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
+# 42-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/16/5.1.table b/definitions/grib2/tables/16/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/16/5.1.table
+++ b/definitions/grib2/tables/16/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.2.table b/definitions/grib2/tables/16/5.2.table
index 40586a131..d77fdf4e7 100644
--- a/definitions/grib2/tables/16/5.2.table
+++ b/definitions/grib2/tables/16/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.3.table b/definitions/grib2/tables/16/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/16/5.3.table
+++ b/definitions/grib2/tables/16/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.4.table b/definitions/grib2/tables/16/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/16/5.4.table
+++ b/definitions/grib2/tables/16/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.40.table b/definitions/grib2/tables/16/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/16/5.40.table
+++ b/definitions/grib2/tables/16/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.5.table b/definitions/grib2/tables/16/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/16/5.5.table
+++ b/definitions/grib2/tables/16/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.6.table b/definitions/grib2/tables/16/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/16/5.6.table
+++ b/definitions/grib2/tables/16/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/16/5.7.table b/definitions/grib2/tables/16/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/16/5.7.table
+++ b/definitions/grib2/tables/16/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/16/6.0.table b/definitions/grib2/tables/16/6.0.table
index f539b26d7..a8f30f5a4 100644
--- a/definitions/grib2/tables/16/6.0.table
+++ b/definitions/grib2/tables/16/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/17/0.0.table b/definitions/grib2/tables/17/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/17/0.0.table
+++ b/definitions/grib2/tables/17/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/1.0.table b/definitions/grib2/tables/17/1.0.table
index d1134399b..893633977 100644
--- a/definitions/grib2/tables/17/1.0.table
+++ b/definitions/grib2/tables/17/1.0.table
@@ -1,22 +1,22 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
-10 10 Version implemented on 7 November 2012
-11 11 Version implemented on 8 May 2013
-12 12 Version implemented on 14 November 2013
-13 13 Version implemented on 7 May 2014
-14 14 Version implemented on 5 November 2014
-15 15 Version implemented on 6 May 2015
-16 16 Version implemented on 11 November 2015
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
+15 15 Version implemented on 6 May 2015
+16 16 Version implemented on 11 November 2015
17 17 Version implemented on 4 May 2016
18 18 Pre-operational to be implemented by next amendment
-# 19-254 Future versions
-255 255 Missing
+# 19-254 Future versions
+255 255 Missing
diff --git a/definitions/grib2/tables/17/1.1.table b/definitions/grib2/tables/17/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/17/1.1.table
+++ b/definitions/grib2/tables/17/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/17/1.2.table b/definitions/grib2/tables/17/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/17/1.2.table
+++ b/definitions/grib2/tables/17/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/1.3.table b/definitions/grib2/tables/17/1.3.table
index 0c95269d5..c1a9a7b9d 100644
--- a/definitions/grib2/tables/17/1.3.table
+++ b/definitions/grib2/tables/17/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
-4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
-6 6 S2S operational products
-7 7 S2S test products
+6 6 S2S operational products
+7 7 S2S test products
8 8 Uncertainties in Ensembles of Regional ReAnalyses project (UERRA)
9 9 Uncertainties in Ensembles of Regional ReAnalyses project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/1.4.table b/definitions/grib2/tables/17/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/17/1.4.table
+++ b/definitions/grib2/tables/17/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/17/1.5.table b/definitions/grib2/tables/17/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/17/1.5.table
+++ b/definitions/grib2/tables/17/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/17/1.6.table b/definitions/grib2/tables/17/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/17/1.6.table
+++ b/definitions/grib2/tables/17/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.0.table b/definitions/grib2/tables/17/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/17/3.0.table
+++ b/definitions/grib2/tables/17/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/17/3.10.table b/definitions/grib2/tables/17/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/17/3.10.table
+++ b/definitions/grib2/tables/17/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/17/3.11.table b/definitions/grib2/tables/17/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/17/3.11.table
+++ b/definitions/grib2/tables/17/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.15.table b/definitions/grib2/tables/17/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/17/3.15.table
+++ b/definitions/grib2/tables/17/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.2.table b/definitions/grib2/tables/17/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/17/3.2.table
+++ b/definitions/grib2/tables/17/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.20.table b/definitions/grib2/tables/17/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/17/3.20.table
+++ b/definitions/grib2/tables/17/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.21.table b/definitions/grib2/tables/17/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/17/3.21.table
+++ b/definitions/grib2/tables/17/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.3.table b/definitions/grib2/tables/17/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/17/3.3.table
+++ b/definitions/grib2/tables/17/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/17/3.4.table b/definitions/grib2/tables/17/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/17/3.4.table
+++ b/definitions/grib2/tables/17/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/17/3.5.table b/definitions/grib2/tables/17/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/17/3.5.table
+++ b/definitions/grib2/tables/17/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/17/3.7.table b/definitions/grib2/tables/17/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/17/3.7.table
+++ b/definitions/grib2/tables/17/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.8.table b/definitions/grib2/tables/17/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/17/3.8.table
+++ b/definitions/grib2/tables/17/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/3.9.table b/definitions/grib2/tables/17/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/17/3.9.table
+++ b/definitions/grib2/tables/17/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/17/4.0.table b/definitions/grib2/tables/17/4.0.table
index 802eca6bf..ff8a54b04 100644
--- a/definitions/grib2/tables/17/4.0.table
+++ b/definitions/grib2/tables/17/4.0.table
@@ -1,65 +1,65 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 49-50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-52 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
-56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters
-57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
-# 58-59 Reserved
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
-# 62-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 49-50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+52 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+# 58-59 Reserved
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+# 62-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/17/4.1.0.table b/definitions/grib2/tables/17/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/17/4.1.0.table
+++ b/definitions/grib2/tables/17/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.1.1.table b/definitions/grib2/tables/17/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/17/4.1.1.table
+++ b/definitions/grib2/tables/17/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.1.10.table b/definitions/grib2/tables/17/4.1.10.table
index a9b20eb9c..88d3c8743 100644
--- a/definitions/grib2/tables/17/4.1.10.table
+++ b/definitions/grib2/tables/17/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Subsurface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.1.2.table b/definitions/grib2/tables/17/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/17/4.1.2.table
+++ b/definitions/grib2/tables/17/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.1.3.table b/definitions/grib2/tables/17/4.1.3.table
index 7bf60d4a7..ba38c9301 100644
--- a/definitions/grib2/tables/17/4.1.3.table
+++ b/definitions/grib2/tables/17/4.1.3.table
@@ -1,11 +1,11 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-2 2 Cloud properties
-3 3 Flight rule conditions
-4 4 Volcanic ash
-5 5 Sea-surface temperature
-6 6 Solar radiation
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+2 2 Cloud properties
+3 3 Flight rule conditions
+4 4 Volcanic ash
+5 5 Sea-surface temperature
+6 6 Solar radiation
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.10.table b/definitions/grib2/tables/17/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/17/4.10.table
+++ b/definitions/grib2/tables/17/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/17/4.11.table b/definitions/grib2/tables/17/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/17/4.11.table
+++ b/definitions/grib2/tables/17/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.12.table b/definitions/grib2/tables/17/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/17/4.12.table
+++ b/definitions/grib2/tables/17/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.13.table b/definitions/grib2/tables/17/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/17/4.13.table
+++ b/definitions/grib2/tables/17/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.14.table b/definitions/grib2/tables/17/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/17/4.14.table
+++ b/definitions/grib2/tables/17/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.15.table b/definitions/grib2/tables/17/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/17/4.15.table
+++ b/definitions/grib2/tables/17/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.0.table b/definitions/grib2/tables/17/4.2.0.0.table
index f24b8832c..4e2cf578e 100644
--- a/definitions/grib2/tables/17/4.2.0.0.table
+++ b/definitions/grib2/tables/17/4.2.0.0.table
@@ -27,6 +27,6 @@
25 25 Temperature tendency due to long-wave radiation, clear sky (K s-1)
26 26 Temperature tendency due to parameterization (K s-1)
27 27 Wet-bulb temperature (K)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.1.table b/definitions/grib2/tables/17/4.2.0.1.table
index 70001f746..004d11d25 100644
--- a/definitions/grib2/tables/17/4.2.0.1.table
+++ b/definitions/grib2/tables/17/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,7 +86,7 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
@@ -115,6 +115,6 @@
115 115 Mass density of liquid water coating on snow expressed as mass of liquid water per unit volume of air (kg m-3)
116 116 Specific mass of liquid water coating on snow expressed as mass of liquid water per unit mass of moist air (kg kg-1)
117 117 Mass mixing ratio of liquid water coating on snow expressed as mass of liquid water per unit mass of dry air (kg kg-1)
-# 118-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 118-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.13.table b/definitions/grib2/tables/17/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/17/4.2.0.13.table
+++ b/definitions/grib2/tables/17/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.14.table b/definitions/grib2/tables/17/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/17/4.2.0.14.table
+++ b/definitions/grib2/tables/17/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.15.table b/definitions/grib2/tables/17/4.2.0.15.table
index dfbc4d12f..8df082466 100644
--- a/definitions/grib2/tables/17/4.2.0.15.table
+++ b/definitions/grib2/tables/17/4.2.0.15.table
@@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.16.table b/definitions/grib2/tables/17/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/17/4.2.0.16.table
+++ b/definitions/grib2/tables/17/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.18.table b/definitions/grib2/tables/17/4.2.0.18.table
index 9ae3539ca..16cfa489d 100644
--- a/definitions/grib2/tables/17/4.2.0.18.table
+++ b/definitions/grib2/tables/17/4.2.0.18.table
@@ -8,7 +8,7 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
@@ -16,6 +16,6 @@
14 14 Specific activity concentration (Bq kg-1)
15 15 Maximum of air concentration in layer (Bq m-3)
16 16 Height of maximum air concentration (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.19.table b/definitions/grib2/tables/17/4.2.0.19.table
index 8705082c5..e4db36249 100644
--- a/definitions/grib2/tables/17/4.2.0.19.table
+++ b/definitions/grib2/tables/17/4.2.0.19.table
@@ -31,6 +31,6 @@
29 29 Clear air turbulence (CAT) (m2/3 s-1)
30 30 Eddy dissipation parameter (m2/3 s-1)
31 31 Maximum of Eddy dissipation parameter in layer (m2/3 s-1)
-# 32-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.190.table b/definitions/grib2/tables/17/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/17/4.2.0.190.table
+++ b/definitions/grib2/tables/17/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.191.table b/definitions/grib2/tables/17/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/17/4.2.0.191.table
+++ b/definitions/grib2/tables/17/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.2.table b/definitions/grib2/tables/17/4.2.0.2.table
index 8ebc75124..7967bf7bf 100644
--- a/definitions/grib2/tables/17/4.2.0.2.table
+++ b/definitions/grib2/tables/17/4.2.0.2.table
@@ -44,6 +44,6 @@
42 42 v-component of geostrophic wind (m s-1)
43 43 Geostrophic wind direction (degree true)
44 44 Geostrophic wind speed (m s-1)
-# 45-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 45-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.20.table b/definitions/grib2/tables/17/4.2.0.20.table
index 983539bd2..38479b834 100644
--- a/definitions/grib2/tables/17/4.2.0.20.table
+++ b/definitions/grib2/tables/17/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -28,7 +28,7 @@
60 60 Aerosol specific number concentration (kg-1)
61 61 Maximum of mass density in layer (kg m-3)
62 62 Height of maximum mass density (m)
-# 63-99 Reserved
+# 63-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -41,6 +41,6 @@
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
111 111 Angstrom exponent (Numeric)
-# 112-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 112-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.3.table b/definitions/grib2/tables/17/4.2.0.3.table
index c7c6359d4..17e7f204f 100644
--- a/definitions/grib2/tables/17/4.2.0.3.table
+++ b/definitions/grib2/tables/17/4.2.0.3.table
@@ -30,6 +30,6 @@
28 28 Downdraught mass flux (kg m-2 s-1)
29 29 Updraught detrainment rate (kg m-3 s-1)
30 30 Downdraught detrainment rate (kg m-3 s-1)
-# 31-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 31-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.4.table b/definitions/grib2/tables/17/4.2.0.4.table
index 0a5ded2b5..f97270456 100644
--- a/definitions/grib2/tables/17/4.2.0.4.table
+++ b/definitions/grib2/tables/17/4.2.0.4.table
@@ -14,11 +14,11 @@
12 12 Downward UV radiation (W m-2)
13 13 Direct short-wave radiation flux (W m-2)
14 14 Diffuse short-wave radiation flux (W m-2)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
52 52 Downward short-wave radiation flux, clear sky (W m-2)
53 53 Upward short-wave radiation flux, clear sky (W m-2)
-# 54-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 54-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.5.table b/definitions/grib2/tables/17/4.2.0.5.table
index 4550220b6..ddfa634ce 100644
--- a/definitions/grib2/tables/17/4.2.0.5.table
+++ b/definitions/grib2/tables/17/4.2.0.5.table
@@ -8,6 +8,6 @@
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
8 8 Downward long-wave radiation flux, clear sky (W m-2)
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.6.table b/definitions/grib2/tables/17/4.2.0.6.table
index 4cec0c8aa..0450ec194 100644
--- a/definitions/grib2/tables/17/4.2.0.6.table
+++ b/definitions/grib2/tables/17/4.2.0.6.table
@@ -40,10 +40,10 @@
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
40 40 Mass density of convective cloud water droplets (kg m-3)
-# 41-46 Reserved
+# 41-46 Reserved
47 47 Volume fraction of cloud water droplets (Numeric)
48 48 Volume fraction of cloud ice particles (Numeric)
49 49 Volume fraction of cloud (ice and/or water) (Numeric)
-# 50-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 50-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.0.7.table b/definitions/grib2/tables/17/4.2.0.7.table
index 6d0d87a46..3e653431f 100644
--- a/definitions/grib2/tables/17/4.2.0.7.table
+++ b/definitions/grib2/tables/17/4.2.0.7.table
@@ -13,11 +13,11 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraught helicity (m2 s-2)
16 16 Bulk Richardson number (Numeric)
17 17 Gradient Richardson number (Numeric)
18 18 Flux Richardson number (Numeric)
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.1.0.table b/definitions/grib2/tables/17/4.2.1.0.table
index bcd849c2e..a2660f4f3 100644
--- a/definitions/grib2/tables/17/4.2.1.0.table
+++ b/definitions/grib2/tables/17/4.2.1.0.table
@@ -16,6 +16,6 @@
14 14 Upstream accumulated precipitation (kg m-2)
15 15 Upstream accumulated snow melt (kg m-2)
16 16 Percolation rate (kg m-2 s-1)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.1.1.table b/definitions/grib2/tables/17/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/17/4.2.1.1.table
+++ b/definitions/grib2/tables/17/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.0.table b/definitions/grib2/tables/17/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/17/4.2.10.0.table
+++ b/definitions/grib2/tables/17/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.1.table b/definitions/grib2/tables/17/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/17/4.2.10.1.table
+++ b/definitions/grib2/tables/17/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.191.table b/definitions/grib2/tables/17/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/17/4.2.10.191.table
+++ b/definitions/grib2/tables/17/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.2.table b/definitions/grib2/tables/17/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/17/4.2.10.2.table
+++ b/definitions/grib2/tables/17/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.3.table b/definitions/grib2/tables/17/4.2.10.3.table
index f951bbe78..937720c93 100644
--- a/definitions/grib2/tables/17/4.2.10.3.table
+++ b/definitions/grib2/tables/17/4.2.10.3.table
@@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.10.4.table b/definitions/grib2/tables/17/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/17/4.2.10.4.table
+++ b/definitions/grib2/tables/17/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.2.0.table b/definitions/grib2/tables/17/4.2.2.0.table
index 81548840c..b253cac22 100644
--- a/definitions/grib2/tables/17/4.2.2.0.table
+++ b/definitions/grib2/tables/17/4.2.2.0.table
@@ -38,6 +38,6 @@
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.2.3.table b/definitions/grib2/tables/17/4.2.2.3.table
index 690fab42b..2674e9f42 100644
--- a/definitions/grib2/tables/17/4.2.2.3.table
+++ b/definitions/grib2/tables/17/4.2.2.3.table
@@ -27,6 +27,6 @@
25 25 Snow depth at elevation bands (kg m-2)
26 26 Soil heat flux (W m-2)
27 27 Soil depth (m)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.2.4.table b/definitions/grib2/tables/17/4.2.2.4.table
index bb54fac22..ceb761557 100644
--- a/definitions/grib2/tables/17/4.2.2.4.table
+++ b/definitions/grib2/tables/17/4.2.2.4.table
@@ -11,6 +11,6 @@
9 9 Initial Fire Spread Index (Canadian Forest Service) (Numeric)
10 10 Fire Buildup Index (Canadian Forest Service) (Numeric)
11 11 Fire Daily Severity Rating (Canadian Forest Service) (Numeric)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.3.0.table b/definitions/grib2/tables/17/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/17/4.2.3.0.table
+++ b/definitions/grib2/tables/17/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.2.3.1.table b/definitions/grib2/tables/17/4.2.3.1.table
index 8e0793fe0..04cdde1f1 100644
--- a/definitions/grib2/tables/17/4.2.3.1.table
+++ b/definitions/grib2/tables/17/4.2.3.1.table
@@ -17,16 +17,16 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-26 Reserved
+23 23 Angstrom coefficient
+# 24-26 Reserved
27 27 Bidirectional reflectance factor (Numeric)
28 28 Brightness temperature (K)
29 29 Scaled radiance (Numeric)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.201.table b/definitions/grib2/tables/17/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/17/4.201.table
+++ b/definitions/grib2/tables/17/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.202.table b/definitions/grib2/tables/17/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/17/4.202.table
+++ b/definitions/grib2/tables/17/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.203.table b/definitions/grib2/tables/17/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/17/4.203.table
+++ b/definitions/grib2/tables/17/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.204.table b/definitions/grib2/tables/17/4.204.table
index 481372936..8e0be1f8c 100644
--- a/definitions/grib2/tables/17/4.204.table
+++ b/definitions/grib2/tables/17/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (6-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (6-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.205.table b/definitions/grib2/tables/17/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/17/4.205.table
+++ b/definitions/grib2/tables/17/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.206.table b/definitions/grib2/tables/17/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/17/4.206.table
+++ b/definitions/grib2/tables/17/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.207.table b/definitions/grib2/tables/17/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/17/4.207.table
+++ b/definitions/grib2/tables/17/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.208.table b/definitions/grib2/tables/17/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/17/4.208.table
+++ b/definitions/grib2/tables/17/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.209.table b/definitions/grib2/tables/17/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/17/4.209.table
+++ b/definitions/grib2/tables/17/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.210.table b/definitions/grib2/tables/17/4.210.table
index c01f4bcca..791878469 100644
--- a/definitions/grib2/tables/17/4.210.table
+++ b/definitions/grib2/tables/17/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
0 0 Contrail not present
1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.211.table b/definitions/grib2/tables/17/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/17/4.211.table
+++ b/definitions/grib2/tables/17/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.212.table b/definitions/grib2/tables/17/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/17/4.212.table
+++ b/definitions/grib2/tables/17/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.213.table b/definitions/grib2/tables/17/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/17/4.213.table
+++ b/definitions/grib2/tables/17/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.215.table b/definitions/grib2/tables/17/4.215.table
index 034db72be..7888772d5 100644
--- a/definitions/grib2/tables/17/4.215.table
+++ b/definitions/grib2/tables/17/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.216.table b/definitions/grib2/tables/17/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/17/4.216.table
+++ b/definitions/grib2/tables/17/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.217.table b/definitions/grib2/tables/17/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/17/4.217.table
+++ b/definitions/grib2/tables/17/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.218.table b/definitions/grib2/tables/17/4.218.table
index 7e3a69578..b5b15150b 100644
--- a/definitions/grib2/tables/17/4.218.table
+++ b/definitions/grib2/tables/17/4.218.table
@@ -1,44 +1,44 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation/crops
-15 15 Permanent snow/ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-19 19 Warm liquid water cloud
-20 20 Supercooled liquid water cloud
-21 21 Mixed-phase cloud
-22 22 Optically thin ice cloud
-23 23 Optically thick ice cloud
-24 24 Multilayered cloud
-# 25-96 Reserved
-97 97 Snow/ice on land
-98 98 Snow/ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud/fog/Stratus
-102 102 Low cloud/Stratocumulus
-103 103 Low cloud/unknown type
-104 104 Medium cloud/Nimbostratus
-105 105 Medium cloud/Altostratus
-106 106 Medium cloud/unknown type
-107 107 High cloud/Cumulus
-108 108 High cloud/Cirrus
-109 109 High cloud/unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+19 19 Warm liquid water cloud
+20 20 Supercooled liquid water cloud
+21 21 Mixed-phase cloud
+22 22 Optically thin ice cloud
+23 23 Optically thick ice cloud
+24 24 Multilayered cloud
+# 25-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/Stratus
+102 102 Low cloud/Stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/Nimbostratus
+105 105 Medium cloud/Altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/Cumulus
+108 108 High cloud/Cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.219.table b/definitions/grib2/tables/17/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/17/4.219.table
+++ b/definitions/grib2/tables/17/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.220.table b/definitions/grib2/tables/17/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/17/4.220.table
+++ b/definitions/grib2/tables/17/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.221.table b/definitions/grib2/tables/17/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/17/4.221.table
+++ b/definitions/grib2/tables/17/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.222.table b/definitions/grib2/tables/17/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/17/4.222.table
+++ b/definitions/grib2/tables/17/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.223.table b/definitions/grib2/tables/17/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/17/4.223.table
+++ b/definitions/grib2/tables/17/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/17/4.224.table b/definitions/grib2/tables/17/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/17/4.224.table
+++ b/definitions/grib2/tables/17/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.227.table b/definitions/grib2/tables/17/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/17/4.227.table
+++ b/definitions/grib2/tables/17/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/17/4.234.table b/definitions/grib2/tables/17/4.234.table
index 816541ce9..3b05b4515 100644
--- a/definitions/grib2/tables/17/4.234.table
+++ b/definitions/grib2/tables/17/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/17/4.236.table b/definitions/grib2/tables/17/4.236.table
index fbe093ce9..9c58b488c 100644
--- a/definitions/grib2/tables/17/4.236.table
+++ b/definitions/grib2/tables/17/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/17/4.240.table b/definitions/grib2/tables/17/4.240.table
index ca335fea8..986557483 100644
--- a/definitions/grib2/tables/17/4.240.table
+++ b/definitions/grib2/tables/17/4.240.table
@@ -1,12 +1,12 @@
# Code table 4.240 - Type of distribution function
-0 0 No specific distribution function given
+0 0 No specific distribution function given
1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
-2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
-3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
-4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
-5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
-6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
+2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
+3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
+4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
+5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
+6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
7 7 Log-normal distribution with spatially variable number density and mass density and fixed variance(p1) and fixed particle density(p2)
-# 8-49151 Reserved
-# 49152-65534 Reserved for local use
-65535 65535 Missing value
+# 8-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing value
diff --git a/definitions/grib2/tables/17/4.241.table b/definitions/grib2/tables/17/4.241.table
index a037b4ba5..5ea7f775a 100644
--- a/definitions/grib2/tables/17/4.241.table
+++ b/definitions/grib2/tables/17/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/17/4.242.table b/definitions/grib2/tables/17/4.242.table
index 083f88c29..f6865957c 100644
--- a/definitions/grib2/tables/17/4.242.table
+++ b/definitions/grib2/tables/17/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GlobCover GCV2009
-2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Reserved
+1 1 Land use classes according to ESA-GlobCover GCV2009
+2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/17/4.243.table b/definitions/grib2/tables/17/4.243.table
index b39053311..24d21b719 100644
--- a/definitions/grib2/tables/17/4.243.table
+++ b/definitions/grib2/tables/17/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Freshwater flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rainfed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/17/4.3.table b/definitions/grib2/tables/17/4.3.table
index f205ea0c2..bcf8102a1 100644
--- a/definitions/grib2/tables/17/4.3.table
+++ b/definitions/grib2/tables/17/4.3.table
@@ -1,22 +1,22 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-16 16 Physical retrieval
-17 17 Regression analysis
-# 18-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+16 16 Physical retrieval
+17 17 Regression analysis
+# 18-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.4.table b/definitions/grib2/tables/17/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/17/4.4.table
+++ b/definitions/grib2/tables/17/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.5.table b/definitions/grib2/tables/17/4.5.table
index e70520c3b..c2771c9c6 100644
--- a/definitions/grib2/tables/17/4.5.table
+++ b/definitions/grib2/tables/17/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface (-)
2 2 Cloud base level (-)
3 3 Level of cloud tops (-)
@@ -16,11 +16,11 @@
14 14 Level of free convection (LFC)
15 15 Convective condensation level (CCL)
16 16 Level of neutral buoyancy or equilibrium level (LNB)
-# 17-19 Reserved
+# 17-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -29,19 +29,19 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level (-)
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
-# 115-116 Reserved
+# 115-116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level (-)
119 hpl Hybrid pressure level (-)
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
151 sol Soil level (Numeric)
-# 152-159 Reserved
+# 152-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom (-)
@@ -50,7 +50,7 @@
165 165 Bottom of sediment layer penetrated by thermal wave (-)
166 sfc Mixing layer (-)
167 167 Bottom of root zone (-)
-# 168-173 Reserved
+# 168-173 Reserved
174 sfc Top surface of ice on sea, lake or river
175 175 Top surface of ice, under snow cover, on sea, lake or river
176 176 Bottom surface (underside) ice on sea, lake or river
@@ -62,6 +62,6 @@
182 182 Grid tile water fraction as a model surface
183 183 Grid tile ice fraction on sea, lake or river as a model surface
184 184 Grid tile glacier ice and inland ice fraction as a model surface
-# 185-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 185-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.6.table b/definitions/grib2/tables/17/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/17/4.6.table
+++ b/definitions/grib2/tables/17/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.7.table b/definitions/grib2/tables/17/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/17/4.7.table
+++ b/definitions/grib2/tables/17/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.8.table b/definitions/grib2/tables/17/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/17/4.8.table
+++ b/definitions/grib2/tables/17/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.9.table b/definitions/grib2/tables/17/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/17/4.9.table
+++ b/definitions/grib2/tables/17/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/4.91.table b/definitions/grib2/tables/17/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/17/4.91.table
+++ b/definitions/grib2/tables/17/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/17/5.0.table b/definitions/grib2/tables/17/5.0.table
index 5ec77ed0f..2795336df 100644
--- a/definitions/grib2/tables/17/5.0.table
+++ b/definitions/grib2/tables/17/5.0.table
@@ -1,23 +1,23 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
-# 42-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
+# 42-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/17/5.1.table b/definitions/grib2/tables/17/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/17/5.1.table
+++ b/definitions/grib2/tables/17/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.2.table b/definitions/grib2/tables/17/5.2.table
index 40586a131..d77fdf4e7 100644
--- a/definitions/grib2/tables/17/5.2.table
+++ b/definitions/grib2/tables/17/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.3.table b/definitions/grib2/tables/17/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/17/5.3.table
+++ b/definitions/grib2/tables/17/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.4.table b/definitions/grib2/tables/17/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/17/5.4.table
+++ b/definitions/grib2/tables/17/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.40.table b/definitions/grib2/tables/17/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/17/5.40.table
+++ b/definitions/grib2/tables/17/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.5.table b/definitions/grib2/tables/17/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/17/5.5.table
+++ b/definitions/grib2/tables/17/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.6.table b/definitions/grib2/tables/17/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/17/5.6.table
+++ b/definitions/grib2/tables/17/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/17/5.7.table b/definitions/grib2/tables/17/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/17/5.7.table
+++ b/definitions/grib2/tables/17/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/17/6.0.table b/definitions/grib2/tables/17/6.0.table
index 2a29aa285..a8f30f5a4 100644
--- a/definitions/grib2/tables/17/6.0.table
+++ b/definitions/grib2/tables/17/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
-0 0 A bit map applies to this product and is specified in this Section
+0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/18/0.0.table b/definitions/grib2/tables/18/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/18/0.0.table
+++ b/definitions/grib2/tables/18/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/1.0.table b/definitions/grib2/tables/18/1.0.table
index 8829485d9..0e6f26f8e 100644
--- a/definitions/grib2/tables/18/1.0.table
+++ b/definitions/grib2/tables/18/1.0.table
@@ -1,22 +1,22 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
-10 10 Version implemented on 7 November 2012
-11 11 Version implemented on 8 May 2013
-12 12 Version implemented on 14 November 2013
-13 13 Version implemented on 7 May 2014
-14 14 Version implemented on 5 November 2014
-15 15 Version implemented on 6 May 2015
-16 16 Version implemented on 11 November 2015
-17 17 Version implemented on 4 May 2016
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
+15 15 Version implemented on 6 May 2015
+16 16 Version implemented on 11 November 2015
+17 17 Version implemented on 4 May 2016
18 18 Version implemented on 2 November 2016
19 19 Pre-operational to be implemented by next amendment
# 20-254 Future versions
diff --git a/definitions/grib2/tables/18/1.1.table b/definitions/grib2/tables/18/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/18/1.1.table
+++ b/definitions/grib2/tables/18/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/18/1.2.table b/definitions/grib2/tables/18/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/18/1.2.table
+++ b/definitions/grib2/tables/18/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/1.3.table b/definitions/grib2/tables/18/1.3.table
index 0c95269d5..c1a9a7b9d 100644
--- a/definitions/grib2/tables/18/1.3.table
+++ b/definitions/grib2/tables/18/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
-4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
-6 6 S2S operational products
-7 7 S2S test products
+6 6 S2S operational products
+7 7 S2S test products
8 8 Uncertainties in Ensembles of Regional ReAnalyses project (UERRA)
9 9 Uncertainties in Ensembles of Regional ReAnalyses project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/1.4.table b/definitions/grib2/tables/18/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/18/1.4.table
+++ b/definitions/grib2/tables/18/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/18/1.5.table b/definitions/grib2/tables/18/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/18/1.5.table
+++ b/definitions/grib2/tables/18/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/18/1.6.table b/definitions/grib2/tables/18/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/18/1.6.table
+++ b/definitions/grib2/tables/18/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.0.table b/definitions/grib2/tables/18/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/18/3.0.table
+++ b/definitions/grib2/tables/18/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/18/3.10.table b/definitions/grib2/tables/18/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/18/3.10.table
+++ b/definitions/grib2/tables/18/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/18/3.11.table b/definitions/grib2/tables/18/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/18/3.11.table
+++ b/definitions/grib2/tables/18/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.15.table b/definitions/grib2/tables/18/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/18/3.15.table
+++ b/definitions/grib2/tables/18/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.2.table b/definitions/grib2/tables/18/3.2.table
index 9238dc2a7..b9574a424 100644
--- a/definitions/grib2/tables/18/3.2.table
+++ b/definitions/grib2/tables/18/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.20.table b/definitions/grib2/tables/18/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/18/3.20.table
+++ b/definitions/grib2/tables/18/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.21.table b/definitions/grib2/tables/18/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/18/3.21.table
+++ b/definitions/grib2/tables/18/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.3.table b/definitions/grib2/tables/18/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/18/3.3.table
+++ b/definitions/grib2/tables/18/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/18/3.4.table b/definitions/grib2/tables/18/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/18/3.4.table
+++ b/definitions/grib2/tables/18/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/18/3.5.table b/definitions/grib2/tables/18/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/18/3.5.table
+++ b/definitions/grib2/tables/18/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/18/3.7.table b/definitions/grib2/tables/18/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/18/3.7.table
+++ b/definitions/grib2/tables/18/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.8.table b/definitions/grib2/tables/18/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/18/3.8.table
+++ b/definitions/grib2/tables/18/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/3.9.table b/definitions/grib2/tables/18/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/18/3.9.table
+++ b/definitions/grib2/tables/18/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/18/4.0.table b/definitions/grib2/tables/18/4.0.table
index 5ad2ed89a..aceff01af 100644
--- a/definitions/grib2/tables/18/4.0.table
+++ b/definitions/grib2/tables/18/4.0.table
@@ -1,72 +1,72 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
49 49 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+# 50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
# 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (deprecated)
-57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
58 58 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
59 59 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56)
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
# 62-69 Reserved
70 70 Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time
71 71 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
72 72 Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
73 73 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
# 74-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/18/4.1.0.table b/definitions/grib2/tables/18/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/18/4.1.0.table
+++ b/definitions/grib2/tables/18/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.1.1.table b/definitions/grib2/tables/18/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/18/4.1.1.table
+++ b/definitions/grib2/tables/18/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.1.10.table b/definitions/grib2/tables/18/4.1.10.table
index a9b20eb9c..88d3c8743 100644
--- a/definitions/grib2/tables/18/4.1.10.table
+++ b/definitions/grib2/tables/18/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Subsurface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.1.2.table b/definitions/grib2/tables/18/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/18/4.1.2.table
+++ b/definitions/grib2/tables/18/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.1.3.table b/definitions/grib2/tables/18/4.1.3.table
index 7bf60d4a7..ba38c9301 100644
--- a/definitions/grib2/tables/18/4.1.3.table
+++ b/definitions/grib2/tables/18/4.1.3.table
@@ -1,11 +1,11 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-2 2 Cloud properties
-3 3 Flight rule conditions
-4 4 Volcanic ash
-5 5 Sea-surface temperature
-6 6 Solar radiation
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+2 2 Cloud properties
+3 3 Flight rule conditions
+4 4 Volcanic ash
+5 5 Sea-surface temperature
+6 6 Solar radiation
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.10.table b/definitions/grib2/tables/18/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/18/4.10.table
+++ b/definitions/grib2/tables/18/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/18/4.11.table b/definitions/grib2/tables/18/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/18/4.11.table
+++ b/definitions/grib2/tables/18/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.12.table b/definitions/grib2/tables/18/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/18/4.12.table
+++ b/definitions/grib2/tables/18/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.13.table b/definitions/grib2/tables/18/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/18/4.13.table
+++ b/definitions/grib2/tables/18/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.14.table b/definitions/grib2/tables/18/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/18/4.14.table
+++ b/definitions/grib2/tables/18/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.15.table b/definitions/grib2/tables/18/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/18/4.15.table
+++ b/definitions/grib2/tables/18/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.0.table b/definitions/grib2/tables/18/4.2.0.0.table
index 7201a8667..83b3e8ef1 100644
--- a/definitions/grib2/tables/18/4.2.0.0.table
+++ b/definitions/grib2/tables/18/4.2.0.0.table
@@ -29,6 +29,6 @@
27 27 Wet-bulb temperature (K)
28 28 Unbalanced component of temperature (K)
29 29 Temperature advection (K s-1)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.1.table b/definitions/grib2/tables/18/4.2.0.1.table
index c38d6a053..7d43684d3 100644
--- a/definitions/grib2/tables/18/4.2.0.1.table
+++ b/definitions/grib2/tables/18/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,7 +86,7 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
@@ -118,6 +118,6 @@
118 118 Unbalanced component of specific humidity (kg kg-1)
119 119 Unbalanced component of specific cloud liquid water content (kg kg-1)
120 120 Unbalanced component of specific cloud ice water content (kg kg-1)
-# 121-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 121-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.13.table b/definitions/grib2/tables/18/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/18/4.2.0.13.table
+++ b/definitions/grib2/tables/18/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.14.table b/definitions/grib2/tables/18/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/18/4.2.0.14.table
+++ b/definitions/grib2/tables/18/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.15.table b/definitions/grib2/tables/18/4.2.0.15.table
index dfbc4d12f..8df082466 100644
--- a/definitions/grib2/tables/18/4.2.0.15.table
+++ b/definitions/grib2/tables/18/4.2.0.15.table
@@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.16.table b/definitions/grib2/tables/18/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/18/4.2.0.16.table
+++ b/definitions/grib2/tables/18/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.18.table b/definitions/grib2/tables/18/4.2.0.18.table
index 9d106f419..9ca6db61e 100644
--- a/definitions/grib2/tables/18/4.2.0.18.table
+++ b/definitions/grib2/tables/18/4.2.0.18.table
@@ -8,7 +8,7 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
@@ -18,6 +18,6 @@
16 16 Height of maximum air concentration (m)
17 17 Column-integrated air concentration (Bq m-2)
18 18 Column-averaged air concentration in layer (Bq m-3)
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.19.table b/definitions/grib2/tables/18/4.2.0.19.table
index 8705082c5..e4db36249 100644
--- a/definitions/grib2/tables/18/4.2.0.19.table
+++ b/definitions/grib2/tables/18/4.2.0.19.table
@@ -31,6 +31,6 @@
29 29 Clear air turbulence (CAT) (m2/3 s-1)
30 30 Eddy dissipation parameter (m2/3 s-1)
31 31 Maximum of Eddy dissipation parameter in layer (m2/3 s-1)
-# 32-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.190.table b/definitions/grib2/tables/18/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/18/4.2.0.190.table
+++ b/definitions/grib2/tables/18/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.191.table b/definitions/grib2/tables/18/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/18/4.2.0.191.table
+++ b/definitions/grib2/tables/18/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.2.table b/definitions/grib2/tables/18/4.2.0.2.table
index 5446262e6..8a70b2591 100644
--- a/definitions/grib2/tables/18/4.2.0.2.table
+++ b/definitions/grib2/tables/18/4.2.0.2.table
@@ -46,6 +46,6 @@
44 44 Geostrophic wind speed (m s-1)
45 45 Unbalanced component of divergence (s-1)
46 46 Vorticity advection (s-2)
-# 47-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 47-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.20.table b/definitions/grib2/tables/18/4.2.0.20.table
index efc427a19..bbdeef5b1 100644
--- a/definitions/grib2/tables/18/4.2.0.20.table
+++ b/definitions/grib2/tables/18/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -29,7 +29,7 @@
61 61 Maximum of mass density in layer (kg m-3)
62 62 Height of maximum mass density (m)
63 63 Column-averaged mass density in layer (kg m-3)
-# 64-99 Reserved
+# 64-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -42,6 +42,6 @@
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
111 111 Angstrom exponent (Numeric)
-# 112-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 112-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.3.table b/definitions/grib2/tables/18/4.2.0.3.table
index 34941dcab..52c421b97 100644
--- a/definitions/grib2/tables/18/4.2.0.3.table
+++ b/definitions/grib2/tables/18/4.2.0.3.table
@@ -31,6 +31,6 @@
29 29 Updraught detrainment rate (kg m-3 s-1)
30 30 Downdraught detrainment rate (kg m-3 s-1)
31 31 Unbalanced component of logarithm of surface pressure (-)
-# 32-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.4.table b/definitions/grib2/tables/18/4.2.0.4.table
index 0a5ded2b5..f97270456 100644
--- a/definitions/grib2/tables/18/4.2.0.4.table
+++ b/definitions/grib2/tables/18/4.2.0.4.table
@@ -14,11 +14,11 @@
12 12 Downward UV radiation (W m-2)
13 13 Direct short-wave radiation flux (W m-2)
14 14 Diffuse short-wave radiation flux (W m-2)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
52 52 Downward short-wave radiation flux, clear sky (W m-2)
53 53 Upward short-wave radiation flux, clear sky (W m-2)
-# 54-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 54-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.5.table b/definitions/grib2/tables/18/4.2.0.5.table
index 4550220b6..ddfa634ce 100644
--- a/definitions/grib2/tables/18/4.2.0.5.table
+++ b/definitions/grib2/tables/18/4.2.0.5.table
@@ -8,6 +8,6 @@
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
8 8 Downward long-wave radiation flux, clear sky (W m-2)
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.6.table b/definitions/grib2/tables/18/4.2.0.6.table
index 4cec0c8aa..0450ec194 100644
--- a/definitions/grib2/tables/18/4.2.0.6.table
+++ b/definitions/grib2/tables/18/4.2.0.6.table
@@ -40,10 +40,10 @@
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
40 40 Mass density of convective cloud water droplets (kg m-3)
-# 41-46 Reserved
+# 41-46 Reserved
47 47 Volume fraction of cloud water droplets (Numeric)
48 48 Volume fraction of cloud ice particles (Numeric)
49 49 Volume fraction of cloud (ice and/or water) (Numeric)
-# 50-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 50-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.0.7.table b/definitions/grib2/tables/18/4.2.0.7.table
index 6d0d87a46..3e653431f 100644
--- a/definitions/grib2/tables/18/4.2.0.7.table
+++ b/definitions/grib2/tables/18/4.2.0.7.table
@@ -13,11 +13,11 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraught helicity (m2 s-2)
16 16 Bulk Richardson number (Numeric)
17 17 Gradient Richardson number (Numeric)
18 18 Flux Richardson number (Numeric)
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.1.0.table b/definitions/grib2/tables/18/4.2.1.0.table
index bcd849c2e..a2660f4f3 100644
--- a/definitions/grib2/tables/18/4.2.1.0.table
+++ b/definitions/grib2/tables/18/4.2.1.0.table
@@ -16,6 +16,6 @@
14 14 Upstream accumulated precipitation (kg m-2)
15 15 Upstream accumulated snow melt (kg m-2)
16 16 Percolation rate (kg m-2 s-1)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.1.1.table b/definitions/grib2/tables/18/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/18/4.2.1.1.table
+++ b/definitions/grib2/tables/18/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.0.table b/definitions/grib2/tables/18/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/18/4.2.10.0.table
+++ b/definitions/grib2/tables/18/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.1.table b/definitions/grib2/tables/18/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/18/4.2.10.1.table
+++ b/definitions/grib2/tables/18/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.191.table b/definitions/grib2/tables/18/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/18/4.2.10.191.table
+++ b/definitions/grib2/tables/18/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.2.table b/definitions/grib2/tables/18/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/18/4.2.10.2.table
+++ b/definitions/grib2/tables/18/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.3.table b/definitions/grib2/tables/18/4.2.10.3.table
index de7afd61c..b01d7ae46 100644
--- a/definitions/grib2/tables/18/4.2.10.3.table
+++ b/definitions/grib2/tables/18/4.2.10.3.table
@@ -2,6 +2,6 @@
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
2 2 Heat exchange coefficient (-)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.10.4.table b/definitions/grib2/tables/18/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/18/4.2.10.4.table
+++ b/definitions/grib2/tables/18/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.2.0.table b/definitions/grib2/tables/18/4.2.2.0.table
index 81548840c..b253cac22 100644
--- a/definitions/grib2/tables/18/4.2.2.0.table
+++ b/definitions/grib2/tables/18/4.2.2.0.table
@@ -38,6 +38,6 @@
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.2.3.table b/definitions/grib2/tables/18/4.2.2.3.table
index 690fab42b..2674e9f42 100644
--- a/definitions/grib2/tables/18/4.2.2.3.table
+++ b/definitions/grib2/tables/18/4.2.2.3.table
@@ -27,6 +27,6 @@
25 25 Snow depth at elevation bands (kg m-2)
26 26 Soil heat flux (W m-2)
27 27 Soil depth (m)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.2.4.table b/definitions/grib2/tables/18/4.2.2.4.table
index bb54fac22..ceb761557 100644
--- a/definitions/grib2/tables/18/4.2.2.4.table
+++ b/definitions/grib2/tables/18/4.2.2.4.table
@@ -11,6 +11,6 @@
9 9 Initial Fire Spread Index (Canadian Forest Service) (Numeric)
10 10 Fire Buildup Index (Canadian Forest Service) (Numeric)
11 11 Fire Daily Severity Rating (Canadian Forest Service) (Numeric)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.3.0.table b/definitions/grib2/tables/18/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/18/4.2.3.0.table
+++ b/definitions/grib2/tables/18/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.2.3.1.table b/definitions/grib2/tables/18/4.2.3.1.table
index 8e0793fe0..04cdde1f1 100644
--- a/definitions/grib2/tables/18/4.2.3.1.table
+++ b/definitions/grib2/tables/18/4.2.3.1.table
@@ -17,16 +17,16 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-26 Reserved
+23 23 Angstrom coefficient
+# 24-26 Reserved
27 27 Bidirectional reflectance factor (Numeric)
28 28 Brightness temperature (K)
29 29 Scaled radiance (Numeric)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.201.table b/definitions/grib2/tables/18/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/18/4.201.table
+++ b/definitions/grib2/tables/18/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.202.table b/definitions/grib2/tables/18/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/18/4.202.table
+++ b/definitions/grib2/tables/18/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.203.table b/definitions/grib2/tables/18/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/18/4.203.table
+++ b/definitions/grib2/tables/18/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.204.table b/definitions/grib2/tables/18/4.204.table
index 481372936..8e0be1f8c 100644
--- a/definitions/grib2/tables/18/4.204.table
+++ b/definitions/grib2/tables/18/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (6-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (6-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.205.table b/definitions/grib2/tables/18/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/18/4.205.table
+++ b/definitions/grib2/tables/18/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.206.table b/definitions/grib2/tables/18/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/18/4.206.table
+++ b/definitions/grib2/tables/18/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.207.table b/definitions/grib2/tables/18/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/18/4.207.table
+++ b/definitions/grib2/tables/18/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.208.table b/definitions/grib2/tables/18/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/18/4.208.table
+++ b/definitions/grib2/tables/18/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.209.table b/definitions/grib2/tables/18/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/18/4.209.table
+++ b/definitions/grib2/tables/18/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.210.table b/definitions/grib2/tables/18/4.210.table
index c01f4bcca..791878469 100644
--- a/definitions/grib2/tables/18/4.210.table
+++ b/definitions/grib2/tables/18/4.210.table
@@ -1,6 +1,6 @@
# Code table 4.210 - Contrail intensity
0 0 Contrail not present
1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.211.table b/definitions/grib2/tables/18/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/18/4.211.table
+++ b/definitions/grib2/tables/18/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.212.table b/definitions/grib2/tables/18/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/18/4.212.table
+++ b/definitions/grib2/tables/18/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.213.table b/definitions/grib2/tables/18/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/18/4.213.table
+++ b/definitions/grib2/tables/18/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.215.table b/definitions/grib2/tables/18/4.215.table
index 034db72be..7888772d5 100644
--- a/definitions/grib2/tables/18/4.215.table
+++ b/definitions/grib2/tables/18/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.216.table b/definitions/grib2/tables/18/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/18/4.216.table
+++ b/definitions/grib2/tables/18/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.217.table b/definitions/grib2/tables/18/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/18/4.217.table
+++ b/definitions/grib2/tables/18/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.218.table b/definitions/grib2/tables/18/4.218.table
index 7e3a69578..b5b15150b 100644
--- a/definitions/grib2/tables/18/4.218.table
+++ b/definitions/grib2/tables/18/4.218.table
@@ -1,44 +1,44 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation/crops
-15 15 Permanent snow/ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-19 19 Warm liquid water cloud
-20 20 Supercooled liquid water cloud
-21 21 Mixed-phase cloud
-22 22 Optically thin ice cloud
-23 23 Optically thick ice cloud
-24 24 Multilayered cloud
-# 25-96 Reserved
-97 97 Snow/ice on land
-98 98 Snow/ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud/fog/Stratus
-102 102 Low cloud/Stratocumulus
-103 103 Low cloud/unknown type
-104 104 Medium cloud/Nimbostratus
-105 105 Medium cloud/Altostratus
-106 106 Medium cloud/unknown type
-107 107 High cloud/Cumulus
-108 108 High cloud/Cirrus
-109 109 High cloud/unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+19 19 Warm liquid water cloud
+20 20 Supercooled liquid water cloud
+21 21 Mixed-phase cloud
+22 22 Optically thin ice cloud
+23 23 Optically thick ice cloud
+24 24 Multilayered cloud
+# 25-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/Stratus
+102 102 Low cloud/Stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/Nimbostratus
+105 105 Medium cloud/Altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/Cumulus
+108 108 High cloud/Cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.219.table b/definitions/grib2/tables/18/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/18/4.219.table
+++ b/definitions/grib2/tables/18/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.220.table b/definitions/grib2/tables/18/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/18/4.220.table
+++ b/definitions/grib2/tables/18/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.221.table b/definitions/grib2/tables/18/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/18/4.221.table
+++ b/definitions/grib2/tables/18/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.222.table b/definitions/grib2/tables/18/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/18/4.222.table
+++ b/definitions/grib2/tables/18/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.223.table b/definitions/grib2/tables/18/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/18/4.223.table
+++ b/definitions/grib2/tables/18/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/18/4.224.table b/definitions/grib2/tables/18/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/18/4.224.table
+++ b/definitions/grib2/tables/18/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.227.table b/definitions/grib2/tables/18/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/18/4.227.table
+++ b/definitions/grib2/tables/18/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/18/4.234.table b/definitions/grib2/tables/18/4.234.table
index 816541ce9..3b05b4515 100644
--- a/definitions/grib2/tables/18/4.234.table
+++ b/definitions/grib2/tables/18/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/18/4.236.table b/definitions/grib2/tables/18/4.236.table
index fbe093ce9..9c58b488c 100644
--- a/definitions/grib2/tables/18/4.236.table
+++ b/definitions/grib2/tables/18/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/18/4.240.table b/definitions/grib2/tables/18/4.240.table
index 7313e6eec..986557483 100644
--- a/definitions/grib2/tables/18/4.240.table
+++ b/definitions/grib2/tables/18/4.240.table
@@ -1,12 +1,12 @@
# Code table 4.240 - Type of distribution function
-0 0 No specific distribution function given
-1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
-2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
-3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
-4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
-5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
-6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
+0 0 No specific distribution function given
+1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
+2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
+3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
+4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
+5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
+6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
7 7 Log-normal distribution with spatially variable number density and mass density and fixed variance(p1) and fixed particle density(p2)
-# 8-49151 Reserved
-# 49152-65534 Reserved for local use
-65535 65535 Missing value
+# 8-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing value
diff --git a/definitions/grib2/tables/18/4.241.table b/definitions/grib2/tables/18/4.241.table
index a037b4ba5..5ea7f775a 100644
--- a/definitions/grib2/tables/18/4.241.table
+++ b/definitions/grib2/tables/18/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/18/4.242.table b/definitions/grib2/tables/18/4.242.table
index 083f88c29..f6865957c 100644
--- a/definitions/grib2/tables/18/4.242.table
+++ b/definitions/grib2/tables/18/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GlobCover GCV2009
-2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Reserved
+1 1 Land use classes according to ESA-GlobCover GCV2009
+2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/18/4.243.table b/definitions/grib2/tables/18/4.243.table
index b39053311..24d21b719 100644
--- a/definitions/grib2/tables/18/4.243.table
+++ b/definitions/grib2/tables/18/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Freshwater flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rainfed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/18/4.3.table b/definitions/grib2/tables/18/4.3.table
index 8ba9e08ab..cea1bef4f 100644
--- a/definitions/grib2/tables/18/4.3.table
+++ b/definitions/grib2/tables/18/4.3.table
@@ -1,23 +1,23 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-16 16 Physical retrieval
-17 17 Regression analysis
-18 18 Difference between two forecasts
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+16 16 Physical retrieval
+17 17 Regression analysis
+18 18 Difference between two forecasts
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.4.table b/definitions/grib2/tables/18/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/18/4.4.table
+++ b/definitions/grib2/tables/18/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.5.table b/definitions/grib2/tables/18/4.5.table
index 2f1a8a8b7..33abd6293 100644
--- a/definitions/grib2/tables/18/4.5.table
+++ b/definitions/grib2/tables/18/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface (-)
2 2 Cloud base level (-)
3 3 Level of cloud tops (-)
@@ -16,15 +16,15 @@
14 14 Level of free convection (LFC)
15 15 Convective condensation level (CCL)
16 16 Level of neutral buoyancy or equilibrium level (LNB)
-# 17-19 Reserved
+# 17-19 Reserved
20 20 Isothermal level (K)
21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3)
22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3)
23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3)
24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3)
-# 25-99 Reserved
+# 25-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -33,20 +33,20 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level (-)
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
115 115 Sigma height level
# 116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level (-)
119 hpl Hybrid pressure level (-)
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
151 sol Soil level (Numeric)
-# 152-159 Reserved
+# 152-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom (-)
@@ -55,7 +55,7 @@
165 165 Bottom of sediment layer penetrated by thermal wave (-)
166 sfc Mixing layer (-)
167 167 Bottom of root zone (-)
-# 168-173 Reserved
+# 168-173 Reserved
174 sfc Top surface of ice on sea, lake or river
175 175 Top surface of ice, under snow cover, on sea, lake or river
176 176 Bottom surface (underside) ice on sea, lake or river
@@ -67,6 +67,6 @@
182 182 Grid tile water fraction as a model surface
183 183 Grid tile ice fraction on sea, lake or river as a model surface
184 184 Grid tile glacier ice and inland ice fraction as a model surface
-# 185-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 185-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.6.table b/definitions/grib2/tables/18/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/18/4.6.table
+++ b/definitions/grib2/tables/18/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.7.table b/definitions/grib2/tables/18/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/18/4.7.table
+++ b/definitions/grib2/tables/18/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.8.table b/definitions/grib2/tables/18/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/18/4.8.table
+++ b/definitions/grib2/tables/18/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.9.table b/definitions/grib2/tables/18/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/18/4.9.table
+++ b/definitions/grib2/tables/18/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/4.91.table b/definitions/grib2/tables/18/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/18/4.91.table
+++ b/definitions/grib2/tables/18/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/18/5.0.table b/definitions/grib2/tables/18/5.0.table
index 33597681b..4d6cc68c8 100644
--- a/definitions/grib2/tables/18/5.0.table
+++ b/definitions/grib2/tables/18/5.0.table
@@ -1,24 +1,24 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
42 42 Grid point data - CCSDS recommended lossless compression
-# 43-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+# 43-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/18/5.1.table b/definitions/grib2/tables/18/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/18/5.1.table
+++ b/definitions/grib2/tables/18/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.2.table b/definitions/grib2/tables/18/5.2.table
index 40586a131..d77fdf4e7 100644
--- a/definitions/grib2/tables/18/5.2.table
+++ b/definitions/grib2/tables/18/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.3.table b/definitions/grib2/tables/18/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/18/5.3.table
+++ b/definitions/grib2/tables/18/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.4.table b/definitions/grib2/tables/18/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/18/5.4.table
+++ b/definitions/grib2/tables/18/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.40.table b/definitions/grib2/tables/18/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/18/5.40.table
+++ b/definitions/grib2/tables/18/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.5.table b/definitions/grib2/tables/18/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/18/5.5.table
+++ b/definitions/grib2/tables/18/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.6.table b/definitions/grib2/tables/18/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/18/5.6.table
+++ b/definitions/grib2/tables/18/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/18/5.7.table b/definitions/grib2/tables/18/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/18/5.7.table
+++ b/definitions/grib2/tables/18/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/18/6.0.table b/definitions/grib2/tables/18/6.0.table
index 2a29aa285..a8f30f5a4 100644
--- a/definitions/grib2/tables/18/6.0.table
+++ b/definitions/grib2/tables/18/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
-0 0 A bit map applies to this product and is specified in this Section
+0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/19/0.0.table b/definitions/grib2/tables/19/0.0.table
index b24c50564..2c5afceb4 100644
--- a/definitions/grib2/tables/19/0.0.table
+++ b/definitions/grib2/tables/19/0.0.table
@@ -1,10 +1,10 @@
# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/1.0.table b/definitions/grib2/tables/19/1.0.table
index bd54828ee..06710c183 100644
--- a/definitions/grib2/tables/19/1.0.table
+++ b/definitions/grib2/tables/19/1.0.table
@@ -1,22 +1,22 @@
# Code table 1.0 - GRIB master tables version number
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Version implemented on 2 May 2012
-10 10 Version implemented on 7 November 2012
-11 11 Version implemented on 8 May 2013
-12 12 Version implemented on 14 November 2013
-13 13 Version implemented on 7 May 2014
-14 14 Version implemented on 5 November 2014
-15 15 Version implemented on 6 May 2015
-16 16 Version implemented on 11 November 2015
-17 17 Version implemented on 4 May 2016
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
+15 15 Version implemented on 6 May 2015
+16 16 Version implemented on 11 November 2015
+17 17 Version implemented on 4 May 2016
18 18 Version implemented on 2 November 2016
19 19 Version implemented on 3 May 2017
20 20 Pre-operational to be implemented by next amendment
diff --git a/definitions/grib2/tables/19/1.1.table b/definitions/grib2/tables/19/1.1.table
index d50f8fd72..f6d332005 100644
--- a/definitions/grib2/tables/19/1.1.table
+++ b/definitions/grib2/tables/19/1.1.table
@@ -1,4 +1,4 @@
# Code table 1.1 - GRIB local tables version number
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/19/1.2.table b/definitions/grib2/tables/19/1.2.table
index 934b70455..638f1efbb 100644
--- a/definitions/grib2/tables/19/1.2.table
+++ b/definitions/grib2/tables/19/1.2.table
@@ -1,8 +1,8 @@
# Code table 1.2 - Significance of reference time
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/1.3.table b/definitions/grib2/tables/19/1.3.table
index 0c95269d5..c1a9a7b9d 100644
--- a/definitions/grib2/tables/19/1.3.table
+++ b/definitions/grib2/tables/19/1.3.table
@@ -1,14 +1,14 @@
# Code table 1.3 - Production status of data
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
-4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
-6 6 S2S operational products
-7 7 S2S test products
+6 6 S2S operational products
+7 7 S2S test products
8 8 Uncertainties in Ensembles of Regional ReAnalyses project (UERRA)
9 9 Uncertainties in Ensembles of Regional ReAnalyses project test (UERRA)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/1.4.table b/definitions/grib2/tables/19/1.4.table
index 03203d874..877288c0e 100644
--- a/definitions/grib2/tables/19/1.4.table
+++ b/definitions/grib2/tables/19/1.4.table
@@ -1,13 +1,13 @@
# Code table 1.4 - Type of data
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/19/1.5.table b/definitions/grib2/tables/19/1.5.table
index b2cf9f087..533111959 100644
--- a/definitions/grib2/tables/19/1.5.table
+++ b/definitions/grib2/tables/19/1.5.table
@@ -1,7 +1,7 @@
# Code table 1.5 - Identification template number
-0 0 Calendar definition
-1 1 Paleontological offset
-2 2 Calendar definition and paleontological offset
-# 3-32767 Reserved
-# 32768-65534 Reserved for local use
-65535 65535 Missing
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/19/1.6.table b/definitions/grib2/tables/19/1.6.table
index 5db921990..bd46899a7 100644
--- a/definitions/grib2/tables/19/1.6.table
+++ b/definitions/grib2/tables/19/1.6.table
@@ -1,8 +1,8 @@
# Code table 1.6 - Type of calendar
-0 0 Gregorian
-1 1 360-day
-2 2 365-day
-3 3 Proleptic Gregorian
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.0.table b/definitions/grib2/tables/19/3.0.table
index 45187b80d..a442a06a0 100644
--- a/definitions/grib2/tables/19/3.0.table
+++ b/definitions/grib2/tables/19/3.0.table
@@ -1,6 +1,6 @@
# Code table 3.0 - Source of grid definition
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/19/3.10.table b/definitions/grib2/tables/19/3.10.table
index afa8843a7..1612d05e3 100644
--- a/definitions/grib2/tables/19/3.10.table
+++ b/definitions/grib2/tables/19/3.10.table
@@ -1,8 +1,8 @@
# Flag table 3.10 - Scanning mode for one diamond
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/19/3.11.table b/definitions/grib2/tables/19/3.11.table
index e516a2ab9..06ae10810 100644
--- a/definitions/grib2/tables/19/3.11.table
+++ b/definitions/grib2/tables/19/3.11.table
@@ -1,7 +1,7 @@
# Code table 3.11 - Interpretation of list of numbers at end of section 3
-0 0 There is no appended list
-1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
-2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
-3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
-# 4-254 Reserved
-255 255 Missing
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.15.table b/definitions/grib2/tables/19/3.15.table
index 331217ebe..6087902a3 100644
--- a/definitions/grib2/tables/19/3.15.table
+++ b/definitions/grib2/tables/19/3.15.table
@@ -1,23 +1,23 @@
# Code table 3.15 - Physical meaning of vertical coordinate
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.2.table b/definitions/grib2/tables/19/3.2.table
index 1b5c8241d..56ffdc08e 100644
--- a/definitions/grib2/tables/19/3.2.table
+++ b/definitions/grib2/tables/19/3.2.table
@@ -1,14 +1,14 @@
# Code table 3.2 - Shape of the Earth
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS-84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS-84 reference frame
-9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS-84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS-84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.20.table b/definitions/grib2/tables/19/3.20.table
index efbf08d19..e2bb156ee 100644
--- a/definitions/grib2/tables/19/3.20.table
+++ b/definitions/grib2/tables/19/3.20.table
@@ -1,6 +1,6 @@
# Code table 3.20 - Type of horizontal line
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.21.table b/definitions/grib2/tables/19/3.21.table
index 88dbb9019..e001e1c8f 100644
--- a/definitions/grib2/tables/19/3.21.table
+++ b/definitions/grib2/tables/19/3.21.table
@@ -1,8 +1,8 @@
# Code table 3.21 - Vertical dimension coordinate values definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.3.table b/definitions/grib2/tables/19/3.3.table
index 5dd7c7001..25cb46a1d 100644
--- a/definitions/grib2/tables/19/3.3.table
+++ b/definitions/grib2/tables/19/3.3.table
@@ -1,9 +1,9 @@
# Flag table 3.3 - Resolution and component flags
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/19/3.4.table b/definitions/grib2/tables/19/3.4.table
index 897b813d7..43835c014 100644
--- a/definitions/grib2/tables/19/3.4.table
+++ b/definitions/grib2/tables/19/3.4.table
@@ -1,17 +1,17 @@
# Flag table 3.4 - Scanning mode
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-5 0 Points within odd rows are not offset in i (x) direction
-5 1 Points within odd rows are offset by Di/2 in i (x) direction
-6 0 Points within even rows are not offset in i (x) direction
-6 1 Points within even rows are offset by Di/2 in i (x) direction
-7 0 Points are not offset in j (y) direction
-7 1 Points are offset by Dj/2 in j (y) direction
-8 0 Rows have Ni grid points and columns have Nj grid points
-8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/19/3.5.table b/definitions/grib2/tables/19/3.5.table
index eabdde896..2f8ec82e3 100644
--- a/definitions/grib2/tables/19/3.5.table
+++ b/definitions/grib2/tables/19/3.5.table
@@ -1,5 +1,5 @@
# Flag table 3.5 - Projection centre
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/19/3.7.table b/definitions/grib2/tables/19/3.7.table
index 0a7d6efde..34c0de085 100644
--- a/definitions/grib2/tables/19/3.7.table
+++ b/definitions/grib2/tables/19/3.7.table
@@ -1,5 +1,5 @@
# Code table 3.7 - Spectral data representation mode
-0 0 Reserved
+0 0 Reserved
1 1 see separate doc or pdf file
-# 2-254 Reserved
-255 255 Missing
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.8.table b/definitions/grib2/tables/19/3.8.table
index 844e74235..578fab37f 100644
--- a/definitions/grib2/tables/19/3.8.table
+++ b/definitions/grib2/tables/19/3.8.table
@@ -1,7 +1,7 @@
# Code table 3.8 - Grid point position
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/3.9.table b/definitions/grib2/tables/19/3.9.table
index fd730bc64..ecd65514a 100644
--- a/definitions/grib2/tables/19/3.9.table
+++ b/definitions/grib2/tables/19/3.9.table
@@ -1,4 +1,4 @@
# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/19/4.0.table b/definitions/grib2/tables/19/4.0.table
index 906bf12d3..a37b59d09 100644
--- a/definitions/grib2/tables/19/4.0.table
+++ b/definitions/grib2/tables/19/4.0.table
@@ -1,75 +1,75 @@
# Code table 4.0 - Product definition template number
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
-8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
-34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-# 35-39 Reserved
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+# 35-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
-46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
-48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-49 49 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
-# 50 Reserved
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+49 49 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
# 52 Reserved
-53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
-54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
-55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
-56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (deprecated)
-57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
-58 58 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
-59 59 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56)
-60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
-# 62-66 Reserved
-67 67 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
-68 68 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (deprecated)
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+58 58 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+59 59 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56)
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+# 62-66 Reserved
+67 67 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
+68 68 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
# 69 Reserved
70 70 Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-71 71 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-72 72 Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-73 73 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
-# 74-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+71 71 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+72 72 Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+73 73 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+# 74-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
-# 32768-65534 Reserved for local use
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/19/4.1.0.table b/definitions/grib2/tables/19/4.1.0.table
index 04cfd7802..df58636d6 100644
--- a/definitions/grib2/tables/19/4.1.0.table
+++ b/definitions/grib2/tables/19/4.1.0.table
@@ -1,27 +1,27 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.1.1.table b/definitions/grib2/tables/19/4.1.1.table
index 7b22b6fed..05a854da0 100644
--- a/definitions/grib2/tables/19/4.1.1.table
+++ b/definitions/grib2/tables/19/4.1.1.table
@@ -1,7 +1,7 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.1.10.table b/definitions/grib2/tables/19/4.1.10.table
index a9b20eb9c..88d3c8743 100644
--- a/definitions/grib2/tables/19/4.1.10.table
+++ b/definitions/grib2/tables/19/4.1.10.table
@@ -1,10 +1,10 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Subsurface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.1.2.table b/definitions/grib2/tables/19/4.1.2.table
index 5b488fe9e..e74126645 100644
--- a/definitions/grib2/tables/19/4.1.2.table
+++ b/definitions/grib2/tables/19/4.1.2.table
@@ -1,9 +1,9 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.1.3.table b/definitions/grib2/tables/19/4.1.3.table
index 7bf60d4a7..ba38c9301 100644
--- a/definitions/grib2/tables/19/4.1.3.table
+++ b/definitions/grib2/tables/19/4.1.3.table
@@ -1,11 +1,11 @@
# Code table 4.1 - Parameter category by product discipline
-0 0 Image format products
-1 1 Quantitative products
-2 2 Cloud properties
-3 3 Flight rule conditions
-4 4 Volcanic ash
-5 5 Sea-surface temperature
-6 6 Solar radiation
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+2 2 Cloud properties
+3 3 Flight rule conditions
+4 4 Volcanic ash
+5 5 Sea-surface temperature
+6 6 Solar radiation
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.10.table b/definitions/grib2/tables/19/4.10.table
index 1a92baaf6..8a390e4be 100644
--- a/definitions/grib2/tables/19/4.10.table
+++ b/definitions/grib2/tables/19/4.10.table
@@ -1,16 +1,16 @@
# Code table 4.10 - Type of statistical processing
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-11 11 Summation
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/19/4.11.table b/definitions/grib2/tables/19/4.11.table
index 7f404c849..01cc81303 100644
--- a/definitions/grib2/tables/19/4.11.table
+++ b/definitions/grib2/tables/19/4.11.table
@@ -1,10 +1,10 @@
# Code table 4.11 - Type of time intervals
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.12.table b/definitions/grib2/tables/19/4.12.table
index 03fd89b36..d42b47e96 100644
--- a/definitions/grib2/tables/19/4.12.table
+++ b/definitions/grib2/tables/19/4.12.table
@@ -1,7 +1,7 @@
# Code table 4.12 - Operating mode
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.13.table b/definitions/grib2/tables/19/4.13.table
index c92854eec..a0e28eac8 100644
--- a/definitions/grib2/tables/19/4.13.table
+++ b/definitions/grib2/tables/19/4.13.table
@@ -1,6 +1,6 @@
# Code table 4.13 - Quality control indicator
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.14.table b/definitions/grib2/tables/19/4.14.table
index a88cb93fa..d525b23b3 100644
--- a/definitions/grib2/tables/19/4.14.table
+++ b/definitions/grib2/tables/19/4.14.table
@@ -1,6 +1,6 @@
# Code table 4.14 - Clutter filter indicator
-0 0 No clutter filter used
-1 1 Clutter filter used
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.15.table b/definitions/grib2/tables/19/4.15.table
index 2e5f3dea3..7adddedb6 100644
--- a/definitions/grib2/tables/19/4.15.table
+++ b/definitions/grib2/tables/19/4.15.table
@@ -1,11 +1,11 @@
# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.0.table b/definitions/grib2/tables/19/4.2.0.0.table
index 7201a8667..83b3e8ef1 100644
--- a/definitions/grib2/tables/19/4.2.0.0.table
+++ b/definitions/grib2/tables/19/4.2.0.0.table
@@ -29,6 +29,6 @@
27 27 Wet-bulb temperature (K)
28 28 Unbalanced component of temperature (K)
29 29 Temperature advection (K s-1)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.1.table b/definitions/grib2/tables/19/4.2.0.1.table
index c38d6a053..7d43684d3 100644
--- a/definitions/grib2/tables/19/4.2.0.1.table
+++ b/definitions/grib2/tables/19/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,7 +86,7 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rainwater content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
@@ -118,6 +118,6 @@
118 118 Unbalanced component of specific humidity (kg kg-1)
119 119 Unbalanced component of specific cloud liquid water content (kg kg-1)
120 120 Unbalanced component of specific cloud ice water content (kg kg-1)
-# 121-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 121-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.13.table b/definitions/grib2/tables/19/4.2.0.13.table
index 5086101ad..3f5c30675 100644
--- a/definitions/grib2/tables/19/4.2.0.13.table
+++ b/definitions/grib2/tables/19/4.2.0.13.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.14.table b/definitions/grib2/tables/19/4.2.0.14.table
index 215884737..97fb38c8b 100644
--- a/definitions/grib2/tables/19/4.2.0.14.table
+++ b/definitions/grib2/tables/19/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.15.table b/definitions/grib2/tables/19/4.2.0.15.table
index dfbc4d12f..8df082466 100644
--- a/definitions/grib2/tables/19/4.2.0.15.table
+++ b/definitions/grib2/tables/19/4.2.0.15.table
@@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.16.table b/definitions/grib2/tables/19/4.2.0.16.table
index 0c240a853..9499d9333 100644
--- a/definitions/grib2/tables/19/4.2.0.16.table
+++ b/definitions/grib2/tables/19/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.18.table b/definitions/grib2/tables/19/4.2.0.18.table
index 9d106f419..9ca6db61e 100644
--- a/definitions/grib2/tables/19/4.2.0.18.table
+++ b/definitions/grib2/tables/19/4.2.0.18.table
@@ -8,7 +8,7 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
@@ -18,6 +18,6 @@
16 16 Height of maximum air concentration (m)
17 17 Column-integrated air concentration (Bq m-2)
18 18 Column-averaged air concentration in layer (Bq m-3)
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.19.table b/definitions/grib2/tables/19/4.2.0.19.table
index 1d7b4da91..b27eb2dbe 100644
--- a/definitions/grib2/tables/19/4.2.0.19.table
+++ b/definitions/grib2/tables/19/4.2.0.19.table
@@ -31,6 +31,6 @@
29 29 Clear air turbulence (CAT) (m2/3 s-1)
30 30 Eddy dissipation parameter (m2/3 s-1)
31 31 Maximum of eddy dissipation parameter in layer (m2/3 s-1)
-# 32-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.190.table b/definitions/grib2/tables/19/4.2.0.190.table
index de621a924..a0d6ba0ac 100644
--- a/definitions/grib2/tables/19/4.2.0.190.table
+++ b/definitions/grib2/tables/19/4.2.0.190.table
@@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.191.table b/definitions/grib2/tables/19/4.2.0.191.table
index e3bba0ebe..b3a7092ea 100644
--- a/definitions/grib2/tables/19/4.2.0.191.table
+++ b/definitions/grib2/tables/19/4.2.0.191.table
@@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.2.table b/definitions/grib2/tables/19/4.2.0.2.table
index 5446262e6..8a70b2591 100644
--- a/definitions/grib2/tables/19/4.2.0.2.table
+++ b/definitions/grib2/tables/19/4.2.0.2.table
@@ -46,6 +46,6 @@
44 44 Geostrophic wind speed (m s-1)
45 45 Unbalanced component of divergence (s-1)
46 46 Vorticity advection (s-2)
-# 47-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 47-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.20.table b/definitions/grib2/tables/19/4.2.0.20.table
index 3278506dd..0f95689f8 100644
--- a/definitions/grib2/tables/19/4.2.0.20.table
+++ b/definitions/grib2/tables/19/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -29,7 +29,7 @@
61 61 Maximum of mass density in layer (kg m-3)
62 62 Height of maximum mass density (m)
63 63 Column-averaged mass density in layer (kg m-3)
-# 64-99 Reserved
+# 64-99 Reserved
100 100 Surface area density (aerosol) (m-1)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -42,6 +42,6 @@
109 109 Aerosol lidar extinction from satellite (m-1)
110 110 Aerosol lidar extinction from the ground (m-1)
111 111 Angstrom exponent (Numeric)
-# 112-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 112-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.3.table b/definitions/grib2/tables/19/4.2.0.3.table
index 34941dcab..52c421b97 100644
--- a/definitions/grib2/tables/19/4.2.0.3.table
+++ b/definitions/grib2/tables/19/4.2.0.3.table
@@ -31,6 +31,6 @@
29 29 Updraught detrainment rate (kg m-3 s-1)
30 30 Downdraught detrainment rate (kg m-3 s-1)
31 31 Unbalanced component of logarithm of surface pressure (-)
-# 32-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.4.table b/definitions/grib2/tables/19/4.2.0.4.table
index 0a5ded2b5..f97270456 100644
--- a/definitions/grib2/tables/19/4.2.0.4.table
+++ b/definitions/grib2/tables/19/4.2.0.4.table
@@ -14,11 +14,11 @@
12 12 Downward UV radiation (W m-2)
13 13 Direct short-wave radiation flux (W m-2)
14 14 Diffuse short-wave radiation flux (W m-2)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
52 52 Downward short-wave radiation flux, clear sky (W m-2)
53 53 Upward short-wave radiation flux, clear sky (W m-2)
-# 54-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 54-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.5.table b/definitions/grib2/tables/19/4.2.0.5.table
index 4550220b6..ddfa634ce 100644
--- a/definitions/grib2/tables/19/4.2.0.5.table
+++ b/definitions/grib2/tables/19/4.2.0.5.table
@@ -8,6 +8,6 @@
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
8 8 Downward long-wave radiation flux, clear sky (W m-2)
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.6.table b/definitions/grib2/tables/19/4.2.0.6.table
index 4cec0c8aa..0450ec194 100644
--- a/definitions/grib2/tables/19/4.2.0.6.table
+++ b/definitions/grib2/tables/19/4.2.0.6.table
@@ -40,10 +40,10 @@
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
40 40 Mass density of convective cloud water droplets (kg m-3)
-# 41-46 Reserved
+# 41-46 Reserved
47 47 Volume fraction of cloud water droplets (Numeric)
48 48 Volume fraction of cloud ice particles (Numeric)
49 49 Volume fraction of cloud (ice and/or water) (Numeric)
-# 50-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 50-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.0.7.table b/definitions/grib2/tables/19/4.2.0.7.table
index aff6a6516..6289d8b20 100644
--- a/definitions/grib2/tables/19/4.2.0.7.table
+++ b/definitions/grib2/tables/19/4.2.0.7.table
@@ -13,12 +13,12 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraught helicity (m2 s-2)
16 16 Bulk Richardson number (Numeric)
17 17 Gradient Richardson number (Numeric)
18 18 Flux Richardson number (Numeric)
19 19 Convective available potential energy - shear (m2 s-2)
-# 20-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 20-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.1.0.table b/definitions/grib2/tables/19/4.2.1.0.table
index bcd849c2e..a2660f4f3 100644
--- a/definitions/grib2/tables/19/4.2.1.0.table
+++ b/definitions/grib2/tables/19/4.2.1.0.table
@@ -16,6 +16,6 @@
14 14 Upstream accumulated precipitation (kg m-2)
15 15 Upstream accumulated snow melt (kg m-2)
16 16 Percolation rate (kg m-2 s-1)
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.1.1.table b/definitions/grib2/tables/19/4.2.1.1.table
index b488eb0bd..171da3958 100644
--- a/definitions/grib2/tables/19/4.2.1.1.table
+++ b/definitions/grib2/tables/19/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.0.table b/definitions/grib2/tables/19/4.2.10.0.table
index 095f51bdf..3611abd9a 100644
--- a/definitions/grib2/tables/19/4.2.10.0.table
+++ b/definitions/grib2/tables/19/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea-surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (/s)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.1.table b/definitions/grib2/tables/19/4.2.10.1.table
index 5959bfa28..f0a073c00 100644
--- a/definitions/grib2/tables/19/4.2.10.1.table
+++ b/definitions/grib2/tables/19/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.191.table b/definitions/grib2/tables/19/4.2.10.191.table
index 524929e78..1ebf85006 100644
--- a/definitions/grib2/tables/19/4.2.10.191.table
+++ b/definitions/grib2/tables/19/4.2.10.191.table
@@ -1,8 +1,8 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-2 2 Reserved
+2 2 Reserved
3 3 Days since last observation (d)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.2.table b/definitions/grib2/tables/19/4.2.10.2.table
index 6797062ac..4633bad4f 100644
--- a/definitions/grib2/tables/19/4.2.10.2.table
+++ b/definitions/grib2/tables/19/4.2.10.2.table
@@ -12,6 +12,6 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
-# 13-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.3.table b/definitions/grib2/tables/19/4.2.10.3.table
index de7afd61c..b01d7ae46 100644
--- a/definitions/grib2/tables/19/4.2.10.3.table
+++ b/definitions/grib2/tables/19/4.2.10.3.table
@@ -2,6 +2,6 @@
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
2 2 Heat exchange coefficient (-)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.10.4.table b/definitions/grib2/tables/19/4.2.10.4.table
index 54774f1b7..d5615ae26 100644
--- a/definitions/grib2/tables/19/4.2.10.4.table
+++ b/definitions/grib2/tables/19/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.2.0.table b/definitions/grib2/tables/19/4.2.2.0.table
index 81548840c..b253cac22 100644
--- a/definitions/grib2/tables/19/4.2.2.0.table
+++ b/definitions/grib2/tables/19/4.2.2.0.table
@@ -38,6 +38,6 @@
36 36 Tile fraction (Proportion)
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
-# 39-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 39-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.2.3.table b/definitions/grib2/tables/19/4.2.2.3.table
index 690fab42b..2674e9f42 100644
--- a/definitions/grib2/tables/19/4.2.2.3.table
+++ b/definitions/grib2/tables/19/4.2.2.3.table
@@ -27,6 +27,6 @@
25 25 Snow depth at elevation bands (kg m-2)
26 26 Soil heat flux (W m-2)
27 27 Soil depth (m)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.2.4.table b/definitions/grib2/tables/19/4.2.2.4.table
index bb54fac22..ceb761557 100644
--- a/definitions/grib2/tables/19/4.2.2.4.table
+++ b/definitions/grib2/tables/19/4.2.2.4.table
@@ -11,6 +11,6 @@
9 9 Initial Fire Spread Index (Canadian Forest Service) (Numeric)
10 10 Fire Buildup Index (Canadian Forest Service) (Numeric)
11 11 Fire Daily Severity Rating (Canadian Forest Service) (Numeric)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.3.0.table b/definitions/grib2/tables/19/4.2.3.0.table
index c0ffa29f5..80a829673 100644
--- a/definitions/grib2/tables/19/4.2.3.0.table
+++ b/definitions/grib2/tables/19/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.2.3.1.table b/definitions/grib2/tables/19/4.2.3.1.table
index 8e0793fe0..04cdde1f1 100644
--- a/definitions/grib2/tables/19/4.2.3.1.table
+++ b/definitions/grib2/tables/19/4.2.3.1.table
@@ -17,16 +17,16 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-26 Reserved
+23 23 Angstrom coefficient
+# 24-26 Reserved
27 27 Bidirectional reflectance factor (Numeric)
28 28 Brightness temperature (K)
29 29 Scaled radiance (Numeric)
-# 30-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.201.table b/definitions/grib2/tables/19/4.201.table
index 47f1b486f..fa173c4e0 100644
--- a/definitions/grib2/tables/19/4.201.table
+++ b/definitions/grib2/tables/19/4.201.table
@@ -1,15 +1,15 @@
# Code table 4.201 - Precipitation type
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-6 6 Wet snow
-7 7 Mixture of rain and snow
-8 8 Ice pellets
-9 9 Graupel
-10 10 Hail
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.202.table b/definitions/grib2/tables/19/4.202.table
index 438502ff9..7f3c8f6cf 100644
--- a/definitions/grib2/tables/19/4.202.table
+++ b/definitions/grib2/tables/19/4.202.table
@@ -1,4 +1,4 @@
# Code table 4.202 - Precipitable water category
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.203.table b/definitions/grib2/tables/19/4.203.table
index 8a9aedf7a..cf5eb6bdc 100644
--- a/definitions/grib2/tables/19/4.203.table
+++ b/definitions/grib2/tables/19/4.203.table
@@ -1,26 +1,26 @@
# Code table 4.203 - Cloud type
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.204.table b/definitions/grib2/tables/19/4.204.table
index 481372936..8e0be1f8c 100644
--- a/definitions/grib2/tables/19/4.204.table
+++ b/definitions/grib2/tables/19/4.204.table
@@ -1,9 +1,9 @@
# Code table 4.204 - Thunderstorm coverage
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (6-45%)
-4 4 Numerous (> 45%)
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (6-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.205.table b/definitions/grib2/tables/19/4.205.table
index 5b4484dfd..c40c7f47b 100644
--- a/definitions/grib2/tables/19/4.205.table
+++ b/definitions/grib2/tables/19/4.205.table
@@ -1,6 +1,6 @@
# Code table 4.205 - Presence of aerosol
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.206.table b/definitions/grib2/tables/19/4.206.table
index 02c3dfdf9..76472c261 100644
--- a/definitions/grib2/tables/19/4.206.table
+++ b/definitions/grib2/tables/19/4.206.table
@@ -1,6 +1,6 @@
# Code table 4.206 - Volcanic ash
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.207.table b/definitions/grib2/tables/19/4.207.table
index 8ddb2e048..b6392fca0 100644
--- a/definitions/grib2/tables/19/4.207.table
+++ b/definitions/grib2/tables/19/4.207.table
@@ -1,10 +1,10 @@
# Code table 4.207 - Icing
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.208.table b/definitions/grib2/tables/19/4.208.table
index b83685a1a..4361d38c0 100644
--- a/definitions/grib2/tables/19/4.208.table
+++ b/definitions/grib2/tables/19/4.208.table
@@ -1,9 +1,9 @@
# Code table 4.208 - Turbulence
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.209.table b/definitions/grib2/tables/19/4.209.table
index cb7617071..39ea549ac 100644
--- a/definitions/grib2/tables/19/4.209.table
+++ b/definitions/grib2/tables/19/4.209.table
@@ -1,9 +1,9 @@
# Code table 4.209 - Planetary boundary-layer regime
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.210.table b/definitions/grib2/tables/19/4.210.table
index ae569a8ba..791878469 100644
--- a/definitions/grib2/tables/19/4.210.table
+++ b/definitions/grib2/tables/19/4.210.table
@@ -3,4 +3,4 @@
1 1 Contrail present
# 2-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.211.table b/definitions/grib2/tables/19/4.211.table
index 098eb2d43..2a28a84d9 100644
--- a/definitions/grib2/tables/19/4.211.table
+++ b/definitions/grib2/tables/19/4.211.table
@@ -1,7 +1,7 @@
# Code table 4.211 - Contrail engine type
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.212.table b/definitions/grib2/tables/19/4.212.table
index 1a085b88d..6a3dcf88c 100644
--- a/definitions/grib2/tables/19/4.212.table
+++ b/definitions/grib2/tables/19/4.212.table
@@ -1,18 +1,18 @@
# Code table 4.212 - Land use
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.213.table b/definitions/grib2/tables/19/4.213.table
index c65784a00..68d627af6 100644
--- a/definitions/grib2/tables/19/4.213.table
+++ b/definitions/grib2/tables/19/4.213.table
@@ -1,16 +1,16 @@
# Code table 4.213 - Soil type
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.215.table b/definitions/grib2/tables/19/4.215.table
index 034db72be..7888772d5 100644
--- a/definitions/grib2/tables/19/4.215.table
+++ b/definitions/grib2/tables/19/4.215.table
@@ -1,9 +1,9 @@
# Code table 4.215 - Remotely sensed snow coverage
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.216.table b/definitions/grib2/tables/19/4.216.table
index 5d1460cef..b51b358f4 100644
--- a/definitions/grib2/tables/19/4.216.table
+++ b/definitions/grib2/tables/19/4.216.table
@@ -1,5 +1,5 @@
# Code table 4.216 - Elevation of snow-covered terrain
-# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.217.table b/definitions/grib2/tables/19/4.217.table
index a4452182c..a700410d5 100644
--- a/definitions/grib2/tables/19/4.217.table
+++ b/definitions/grib2/tables/19/4.217.table
@@ -1,8 +1,8 @@
# Code table 4.217 - Cloud mask type
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.218.table b/definitions/grib2/tables/19/4.218.table
index 7e3a69578..b5b15150b 100644
--- a/definitions/grib2/tables/19/4.218.table
+++ b/definitions/grib2/tables/19/4.218.table
@@ -1,44 +1,44 @@
# Code table 4.218 - Pixel scene type
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation/crops
-15 15 Permanent snow/ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-19 19 Warm liquid water cloud
-20 20 Supercooled liquid water cloud
-21 21 Mixed-phase cloud
-22 22 Optically thin ice cloud
-23 23 Optically thick ice cloud
-24 24 Multilayered cloud
-# 25-96 Reserved
-97 97 Snow/ice on land
-98 98 Snow/ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud/fog/Stratus
-102 102 Low cloud/Stratocumulus
-103 103 Low cloud/unknown type
-104 104 Medium cloud/Nimbostratus
-105 105 Medium cloud/Altostratus
-106 106 Medium cloud/unknown type
-107 107 High cloud/Cumulus
-108 108 High cloud/Cirrus
-109 109 High cloud/unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+19 19 Warm liquid water cloud
+20 20 Supercooled liquid water cloud
+21 21 Mixed-phase cloud
+22 22 Optically thin ice cloud
+23 23 Optically thick ice cloud
+24 24 Multilayered cloud
+# 25-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/Stratus
+102 102 Low cloud/Stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/Nimbostratus
+105 105 Medium cloud/Altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/Cumulus
+108 108 High cloud/Cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.219.table b/definitions/grib2/tables/19/4.219.table
index 86df0522e..9979f50ad 100644
--- a/definitions/grib2/tables/19/4.219.table
+++ b/definitions/grib2/tables/19/4.219.table
@@ -1,8 +1,8 @@
# Code table 4.219 - Cloud top height quality indicator
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.220.table b/definitions/grib2/tables/19/4.220.table
index 93e841f8b..88e869e42 100644
--- a/definitions/grib2/tables/19/4.220.table
+++ b/definitions/grib2/tables/19/4.220.table
@@ -1,6 +1,6 @@
# Code table 4.220 - Horizontal dimension processed
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.221.table b/definitions/grib2/tables/19/4.221.table
index 8448533d7..011cc3518 100644
--- a/definitions/grib2/tables/19/4.221.table
+++ b/definitions/grib2/tables/19/4.221.table
@@ -1,6 +1,6 @@
# Code table 4.221 - Treatment of missing data
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.222.table b/definitions/grib2/tables/19/4.222.table
index 57f113014..558d947ac 100644
--- a/definitions/grib2/tables/19/4.222.table
+++ b/definitions/grib2/tables/19/4.222.table
@@ -1,6 +1,6 @@
# Code table 4.222 - Categorical result
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.223.table b/definitions/grib2/tables/19/4.223.table
index f0deb076a..572c4e7a8 100644
--- a/definitions/grib2/tables/19/4.223.table
+++ b/definitions/grib2/tables/19/4.223.table
@@ -1,5 +1,5 @@
# Code table 4.223 - Fire detection indicator
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/19/4.224.table b/definitions/grib2/tables/19/4.224.table
index e87cde4bb..014f56e23 100644
--- a/definitions/grib2/tables/19/4.224.table
+++ b/definitions/grib2/tables/19/4.224.table
@@ -1,18 +1,18 @@
# Code table 4.224 - Categorical outlook
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.227.table b/definitions/grib2/tables/19/4.227.table
index 27c76553d..48c3b7633 100644
--- a/definitions/grib2/tables/19/4.227.table
+++ b/definitions/grib2/tables/19/4.227.table
@@ -1,9 +1,9 @@
# Code table 4.227 - Icing scenario (weather/cloud classification)
-0 0 None
-1 1 General
-2 2 Convective
-3 3 Stratiform
-4 4 Freezing
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/19/4.234.table b/definitions/grib2/tables/19/4.234.table
index 816541ce9..3b05b4515 100644
--- a/definitions/grib2/tables/19/4.234.table
+++ b/definitions/grib2/tables/19/4.234.table
@@ -1,21 +1,21 @@
# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Crops, mixed farming
-2 2 Short grass
-3 3 Evergreen needleleaf trees
-4 4 Deciduous needleleaf trees
-5 5 Deciduous broadleaf trees
-6 6 Evergreen broadleaf trees
-7 7 Tall grass
-8 8 Desert
-9 9 Tundra
-10 10 Irrigated crops
-11 11 Semidesert
-12 12 Ice caps and glaciers
-13 13 Bogs and marshes
-14 14 Inland water
-15 15 Ocean
-16 16 Evergreen shrubs
-17 17 Deciduous shrubs
-18 18 Mixed forest
-19 19 Interrupted forest
-20 20 Water and land mixtures
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/19/4.236.table b/definitions/grib2/tables/19/4.236.table
index fbe093ce9..9c58b488c 100644
--- a/definitions/grib2/tables/19/4.236.table
+++ b/definitions/grib2/tables/19/4.236.table
@@ -1,8 +1,8 @@
# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
-1 1 Coarse
-2 2 Medium
-3 3 Medium-fine
-4 4 Fine
-5 5 Very-fine
-6 6 Organic
-7 7 Tropical-organic
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/19/4.240.table b/definitions/grib2/tables/19/4.240.table
index 35e363211..400a13e26 100644
--- a/definitions/grib2/tables/19/4.240.table
+++ b/definitions/grib2/tables/19/4.240.table
@@ -1,13 +1,13 @@
# Code table 4.240 - Type of distribution function
-0 0 No specific distribution function given
-1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
-2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
-3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
-4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
-5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
-6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
+0 0 No specific distribution function given
+1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
+2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
+3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
+4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
+5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
+6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
7 7 Log-normal distribution with spatially variable number density and mass density and fixed variance(p1) and fixed particle density(p2)
8 8 No distribution function. The encoded variable is derived from variables characterized by type of distribution function of type no. 7 (see above) with fixed variance(p1) and fixed particle density(p2)
-# 9-49151 Reserved
-# 49152-65534 Reserved for local use
-65535 65535 Missing value
+# 9-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing value
diff --git a/definitions/grib2/tables/19/4.241.table b/definitions/grib2/tables/19/4.241.table
index a037b4ba5..5ea7f775a 100644
--- a/definitions/grib2/tables/19/4.241.table
+++ b/definitions/grib2/tables/19/4.241.table
@@ -1,9 +1,9 @@
# Code table 4.241 - Coverage attributes
-0 0 Undefined
-1 1 Unmodified
-2 2 Snow covered
-3 3 Flooded
-4 4 Ice covered
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Undefined
+1 1 Unmodified
+2 2 Snow covered
+3 3 Flooded
+4 4 Ice covered
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/19/4.242.table b/definitions/grib2/tables/19/4.242.table
index 083f88c29..f6865957c 100644
--- a/definitions/grib2/tables/19/4.242.table
+++ b/definitions/grib2/tables/19/4.242.table
@@ -1,7 +1,7 @@
# Code table 4.242 - Tile classification
-0 0 Reserved
-1 1 Land use classes according to ESA-GlobCover GCV2009
-2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+0 0 Reserved
+1 1 Land use classes according to ESA-GlobCover GCV2009
+2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/19/4.243.table b/definitions/grib2/tables/19/4.243.table
index b39053311..24d21b719 100644
--- a/definitions/grib2/tables/19/4.243.table
+++ b/definitions/grib2/tables/19/4.243.table
@@ -1,43 +1,43 @@
# Code table 4.243 - Tile class
-0 0 Reserved
-1 1 Evergreen broadleaved forest
-2 2 Deciduous broadleaved closed forest
-3 3 Deciduous broadleaved open forest
-4 4 Evergreen needle-leaf forest
-5 5 Deciduous needle-leaf forest
-6 6 Mixed leaf trees
-7 7 Freshwater flooded trees
-8 8 Saline water flooded trees
-9 9 Mosaic tree/natural vegetation
-10 10 Burnt tree cover
-11 11 Evergreen shrubs closed-open
-12 12 Deciduous shrubs closed-open
-13 13 Herbaceous vegetation closed-open
-14 14 Sparse herbaceous or grass
-15 15 Flooded shrubs or herbaceous
-16 16 Cultivated and managed areas
-17 17 Mosaic crop/tree/natural vegetation
-18 18 Mosaic crop/shrub/grass
-19 19 Bare areas
-20 20 Water
-21 21 Snow and ice
-22 22 Artificial surface
-23 23 Ocean
-24 24 Irrigated croplands
-25 25 Rainfed croplands
-26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
-27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
-28 28 Closed broadleaved evergreen forest
-29 29 Closed needle-leaved evergreen forest
-30 30 Open needle-leaved deciduous forest
-31 31 Mixed broadleaved and needle-leaved forest
-32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
-33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
-34 34 Closed to open shrubland
-35 35 Sparse vegetation
-36 36 Closed to open forest regularly flooded
-37 37 Closed forest or shrubland permanently flooded
-38 38 Closed to open grassland regularly flooded
-39 39 Undefined
-# 40-32767 Reserved
-# 32768- Reserved for local use
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/19/4.3.table b/definitions/grib2/tables/19/4.3.table
index 8ba9e08ab..cea1bef4f 100644
--- a/definitions/grib2/tables/19/4.3.table
+++ b/definitions/grib2/tables/19/4.3.table
@@ -1,23 +1,23 @@
# Code table 4.3 - Type of generating process
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-12 12 Post-processed analysis
-13 13 Post-processed forecast
-14 14 Nowcast
-15 15 Hindcast
-16 16 Physical retrieval
-17 17 Regression analysis
-18 18 Difference between two forecasts
-# 19-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+16 16 Physical retrieval
+17 17 Regression analysis
+18 18 Difference between two forecasts
+# 19-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.4.table b/definitions/grib2/tables/19/4.4.table
index 7087ebddb..6e63e069c 100644
--- a/definitions/grib2/tables/19/4.4.table
+++ b/definitions/grib2/tables/19/4.4.table
@@ -1,17 +1,17 @@
# Code table 4.4 - Indicator of unit of time range
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.5.table b/definitions/grib2/tables/19/4.5.table
index 2f1a8a8b7..33abd6293 100644
--- a/definitions/grib2/tables/19/4.5.table
+++ b/definitions/grib2/tables/19/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface (-)
2 2 Cloud base level (-)
3 3 Level of cloud tops (-)
@@ -16,15 +16,15 @@
14 14 Level of free convection (LFC)
15 15 Convective condensation level (CCL)
16 16 Level of neutral buoyancy or equilibrium level (LNB)
-# 17-19 Reserved
+# 17-19 Reserved
20 20 Isothermal level (K)
21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3)
22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3)
23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3)
24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3)
-# 25-99 Reserved
+# 25-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -33,20 +33,20 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level (-)
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
115 115 Sigma height level
# 116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level (-)
119 hpl Hybrid pressure level (-)
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
151 sol Soil level (Numeric)
-# 152-159 Reserved
+# 152-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 sfc Lake or river bottom (-)
@@ -55,7 +55,7 @@
165 165 Bottom of sediment layer penetrated by thermal wave (-)
166 sfc Mixing layer (-)
167 167 Bottom of root zone (-)
-# 168-173 Reserved
+# 168-173 Reserved
174 sfc Top surface of ice on sea, lake or river
175 175 Top surface of ice, under snow cover, on sea, lake or river
176 176 Bottom surface (underside) ice on sea, lake or river
@@ -67,6 +67,6 @@
182 182 Grid tile water fraction as a model surface
183 183 Grid tile ice fraction on sea, lake or river as a model surface
184 184 Grid tile glacier ice and inland ice fraction as a model surface
-# 185-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 185-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.6.table b/definitions/grib2/tables/19/4.6.table
index b2dfeb498..ce799721d 100644
--- a/definitions/grib2/tables/19/4.6.table
+++ b/definitions/grib2/tables/19/4.6.table
@@ -1,9 +1,9 @@
# Code table 4.6 - Type of ensemble forecast
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.7.table b/definitions/grib2/tables/19/4.7.table
index e0de0e1b2..69b2b4d77 100644
--- a/definitions/grib2/tables/19/4.7.table
+++ b/definitions/grib2/tables/19/4.7.table
@@ -1,14 +1,14 @@
# Code table 4.7 - Derived forecast
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.8.table b/definitions/grib2/tables/19/4.8.table
index ad883039c..78467454a 100644
--- a/definitions/grib2/tables/19/4.8.table
+++ b/definitions/grib2/tables/19/4.8.table
@@ -1,6 +1,6 @@
# Code table 4.8 - Clustering method
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.9.table b/definitions/grib2/tables/19/4.9.table
index 5878b5ad3..0ce312dd1 100644
--- a/definitions/grib2/tables/19/4.9.table
+++ b/definitions/grib2/tables/19/4.9.table
@@ -1,9 +1,9 @@
# Code table 4.9 - Probability type
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/4.91.table b/definitions/grib2/tables/19/4.91.table
index 44cf25f44..ae31ed61c 100644
--- a/definitions/grib2/tables/19/4.91.table
+++ b/definitions/grib2/tables/19/4.91.table
@@ -1,16 +1,16 @@
# Code table 4.91 - Type of Interval
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/19/5.0.table b/definitions/grib2/tables/19/5.0.table
index 33597681b..4d6cc68c8 100644
--- a/definitions/grib2/tables/19/5.0.table
+++ b/definitions/grib2/tables/19/5.0.table
@@ -1,24 +1,24 @@
# Code table 5.0 - Data representation template number
-0 0 Grid point data - simple packing
-1 1 Matrix value at grid point - simple packing
-2 2 Grid point data - complex packing
-3 3 Grid point data - complex packing and spatial differencing
-4 4 Grid point data - IEEE floating point data
-40 40 Grid point data - JPEG 2000 code stream format
-41 41 Grid point data - Portable Network Graphics (PNG)
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
42 42 Grid point data - CCSDS recommended lossless compression
-# 43-49 Reserved
-50 50 Spectral data - simple packing
-51 51 Spherical harmonics data - complex packing
-# 52-60 Reserved
-61 61 Grid point data - simple packing with logarithm pre-processing
-# 62-199 Reserved
-200 200 Run length packing with level values
-# 201-49151 Reserved
-# 49152-65534 Reserved for local use
+# 43-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
40000 40000 JPEG2000 Packing
40010 40010 PNG pacling
50000 50000 Sperical harmonics ieee packing
50001 50001 Second order packing
50002 50002 Second order packing
-65535 65535 Missing
+65535 65535 Missing
diff --git a/definitions/grib2/tables/19/5.1.table b/definitions/grib2/tables/19/5.1.table
index 854330c74..1189b5e46 100644
--- a/definitions/grib2/tables/19/5.1.table
+++ b/definitions/grib2/tables/19/5.1.table
@@ -1,6 +1,6 @@
# Code table 5.1 - Type of original field values
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.2.table b/definitions/grib2/tables/19/5.2.table
index 40586a131..d77fdf4e7 100644
--- a/definitions/grib2/tables/19/5.2.table
+++ b/definitions/grib2/tables/19/5.2.table
@@ -1,8 +1,8 @@
# Code table 5.2 - Matrix coordinate value function definition
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.3.table b/definitions/grib2/tables/19/5.3.table
index c3b7b30fe..481331791 100644
--- a/definitions/grib2/tables/19/5.3.table
+++ b/definitions/grib2/tables/19/5.3.table
@@ -1,7 +1,7 @@
# Code table 5.3 - Matrix coordinate parameter
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.4.table b/definitions/grib2/tables/19/5.4.table
index 8121c1819..e84ab1901 100644
--- a/definitions/grib2/tables/19/5.4.table
+++ b/definitions/grib2/tables/19/5.4.table
@@ -1,6 +1,6 @@
# Code table 5.4 - Group splitting method
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.40.table b/definitions/grib2/tables/19/5.40.table
index b9bad2c39..97e8880ab 100644
--- a/definitions/grib2/tables/19/5.40.table
+++ b/definitions/grib2/tables/19/5.40.table
@@ -1,5 +1,5 @@
# Code table 5.40 - Type of compression
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.5.table b/definitions/grib2/tables/19/5.5.table
index 3ef3eb070..f2316975a 100644
--- a/definitions/grib2/tables/19/5.5.table
+++ b/definitions/grib2/tables/19/5.5.table
@@ -1,7 +1,7 @@
# Code table 5.5 - Missing value management for complex packing
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.6.table b/definitions/grib2/tables/19/5.6.table
index 6d5177877..db68ead9c 100644
--- a/definitions/grib2/tables/19/5.6.table
+++ b/definitions/grib2/tables/19/5.6.table
@@ -1,7 +1,7 @@
# Code table 5.6 - Order of spatial differencing
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/19/5.7.table b/definitions/grib2/tables/19/5.7.table
index 5ab780056..e54862c19 100644
--- a/definitions/grib2/tables/19/5.7.table
+++ b/definitions/grib2/tables/19/5.7.table
@@ -1,7 +1,7 @@
# Code table 5.7 - Precision of floating-point numbers
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/19/6.0.table b/definitions/grib2/tables/19/6.0.table
index 2a29aa285..a8f30f5a4 100644
--- a/definitions/grib2/tables/19/6.0.table
+++ b/definitions/grib2/tables/19/6.0.table
@@ -1,6 +1,6 @@
# Code table 6.0 - Bit map indicator
-0 0 A bit map applies to this product and is specified in this Section
+0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/32/4.252.table b/definitions/grib2/tables/32/4.252.table
index f13d72689..961928cd4 100644
--- a/definitions/grib2/tables/32/4.252.table
+++ b/definitions/grib2/tables/32/4.252.table
@@ -161,5 +161,5 @@
# 4023-4500 Reserved for tile class entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey
# 4501-5000 Reserved for tile grouping entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey
# 5001-32767 Reserved for additional land cover surveys
-# 32768-65534 Reserved for local use
-65535 65535 Missing
\ No newline at end of file
+# 32768-65534 Reserved for local use
+65535 65535 Missing
\ No newline at end of file
diff --git a/definitions/grib2/tables/33/0.0.table b/definitions/grib2/tables/33/0.0.table
new file mode 100644
index 000000000..a8542e94f
--- /dev/null
+++ b/definitions/grib2/tables/33/0.0.table
@@ -0,0 +1,13 @@
+# Code table 0.0 - Discipline of processed data in the GRIB message, number of GRIB Master table
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Satellite remote sensing products (formerly Space products)
+4 4 Space weather products
+# 5-9 Reserved
+10 10 Oceanographic products
+# 11-19 Reserved
+20 20 Health and socioeconomic impacts
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/1.0.table b/definitions/grib2/tables/33/1.0.table
new file mode 100644
index 000000000..841af8c85
--- /dev/null
+++ b/definitions/grib2/tables/33/1.0.table
@@ -0,0 +1,38 @@
+# Code table 1.0 - GRIB master tables version number
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Version implemented on 2 May 2012
+10 10 Version implemented on 7 November 2012
+11 11 Version implemented on 8 May 2013
+12 12 Version implemented on 14 November 2013
+13 13 Version implemented on 7 May 2014
+14 14 Version implemented on 5 November 2014
+15 15 Version implemented on 6 May 2015
+16 16 Version implemented on 11 November 2015
+17 17 Version implemented on 4 May 2016
+18 18 Version implemented on 2 November 2016
+19 19 Version implemented on 3 May 2017
+20 20 Version implemented on 8 November 2017
+21 21 Version implemented on 2 May 2018
+22 22 Version implemented on 7 November 2018
+23 23 Version implemented on 15 May 2019
+24 24 Version implemented on 6 November 2019
+25 25 Version implemented on 6 May 2020
+26 26 Version implemented on 16 November 2020
+27 27 Version implemented on 15 June 2021
+28 28 Version implemented on 15 November 2021
+29 29 Version implemented on 15 May 2022
+30 30 Version implemented on 15 November 2022
+31 31 Version implemented on 15 May 2023
+32 32 Version implemented on 30 November 2023
+33 33 Version implemented on 15 May 2024
+34 34 Pre-operational to be implemented by next amendment
+# 35-254 Future versions
+255 255 Missing
diff --git a/definitions/grib2/tables/33/1.1.table b/definitions/grib2/tables/33/1.1.table
new file mode 100644
index 000000000..f6d332005
--- /dev/null
+++ b/definitions/grib2/tables/33/1.1.table
@@ -0,0 +1,4 @@
+# Code table 1.1 - GRIB local tables version number
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/33/1.2.table b/definitions/grib2/tables/33/1.2.table
new file mode 100644
index 000000000..05ec48c5d
--- /dev/null
+++ b/definitions/grib2/tables/33/1.2.table
@@ -0,0 +1,10 @@
+# Code table 1.2 - Significance of reference time
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+4 4 Local time
+5 5 Simulation start
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/1.3.table b/definitions/grib2/tables/33/1.3.table
new file mode 100644
index 000000000..88c033e42
--- /dev/null
+++ b/definitions/grib2/tables/33/1.3.table
@@ -0,0 +1,18 @@
+# Code table 1.3 - Production status of data
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+5 5 THORPEX Interactive Grand Global Ensemble test (TIGGE)
+6 6 S2S operational products
+7 7 S2S test products
+8 8 Uncertainties in Ensembles of Regional ReAnalyses project (UERRA)
+9 9 Uncertainties in Ensembles of Regional ReAnalyses project test (UERRA)
+10 10 Copernicus regional reanalysis (CARRA/CERRA)
+11 11 Copernicus regional reanalysis test (CARRA/CERRA)
+12 12 Destination Earth
+13 13 Destination Earth test
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/1.4.table b/definitions/grib2/tables/33/1.4.table
new file mode 100644
index 000000000..877288c0e
--- /dev/null
+++ b/definitions/grib2/tables/33/1.4.table
@@ -0,0 +1,13 @@
+# Code table 1.4 - Type of data
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/33/1.5.table b/definitions/grib2/tables/33/1.5.table
new file mode 100644
index 000000000..533111959
--- /dev/null
+++ b/definitions/grib2/tables/33/1.5.table
@@ -0,0 +1,7 @@
+# Code table 1.5 - Identification template number
+0 0 Calendar definition
+1 1 Paleontological offset
+2 2 Calendar definition and paleontological offset
+# 3-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/1.6.table b/definitions/grib2/tables/33/1.6.table
new file mode 100644
index 000000000..bd46899a7
--- /dev/null
+++ b/definitions/grib2/tables/33/1.6.table
@@ -0,0 +1,8 @@
+# Code table 1.6 - Type of calendar
+0 0 Gregorian
+1 1 360-day
+2 2 365-day
+3 3 Proleptic Gregorian
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.0.table b/definitions/grib2/tables/33/3.0.table
new file mode 100644
index 000000000..a442a06a0
--- /dev/null
+++ b/definitions/grib2/tables/33/3.0.table
@@ -0,0 +1,6 @@
+# Code table 3.0 - Source of grid definition
+0 0 Specified in Code table 3.1
+1 1 Predetermined grid definition (Defined by originating centre)
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/33/3.1.table b/definitions/grib2/tables/33/3.1.table
new file mode 100644
index 000000000..26dc8da3f
--- /dev/null
+++ b/definitions/grib2/tables/33/3.1.table
@@ -0,0 +1,57 @@
+# Code table 3.1 - Grid definition template number
+0 0 Latitude/longitude (Also called equidistant cylindrical, or Plate Carree)
+1 1 Rotated latitude/longitude
+2 2 Stretched latitude/longitude
+3 3 Stretched and rotated latitude/longitude
+4 4 Variable resolution latitude/longitude
+5 5 Variable resolution rotated latitude/longitude
+# 6-9 Reserved
+10 10 Mercator
+# 11 Reserved
+12 12 Transverse Mercator
+13 13 Mercator with modelling subdomains definition
+# 14-19 Reserved
+20 20 Polar stereographic projection (Can be south or north)
+# 21-22 Reserved
+23 23 Polar stereographic with modelling subdomains definition
+# 24-29 Reserved
+30 30 Lambert conformal (Can be secant or tangent, conical or bipolar)
+31 31 Albers equal area
+# 32 Reserved
+33 33 Lambert conformal with modelling subdomains definition
+# 34-39 Reserved
+40 40 Gaussian latitude/longitude
+41 41 Rotated Gaussian latitude/longitude
+42 42 Stretched Gaussian latitude/longitude
+43 43 Stretched and rotated Gaussian latitude/longitude
+# 44-49 Reserved
+50 50 Spherical harmonic coefficients
+51 51 Rotated spherical harmonic coefficients
+52 52 Stretched spherical harmonic coefficients
+53 53 Stretched and rotated spherical harmonic coefficients
+# 54-60 Reserved
+61 61 Spectral Mercator with modelling subdomains definition
+62 62 Spectral polar stereographic with modelling subdomains definition
+63 63 Spectral Lambert conformal with modelling subdomains definition
+# 64-89 Reserved
+90 90 Space view perspective or orthographic
+# 91-99 Reserved
+100 100 Triangular grid based on an icosahedron
+101 101 General unstructured grid
+# 102-109 Reserved
+110 110 Equatorial azimuthal equidistant projection
+# 111-119 Reserved
+120 120 Azimuth-range projection
+# 121-139 Reserved
+140 140 Lambert azimuthal equal area projection
+# 141-149 Reserved
+150 150 Hierarchical Equal Area isoLatitude Pixelization grid (HEALPix)
+# 151-999 Reserved
+1000 1000 Cross-section grid with points equally spaced on the horizontal
+# 1001-1099 Reserved
+1100 1100 Hovmoller diagram grid with points equally spaced on the horizontal
+# 1101-1199 Reserved
+1200 1200 Time section grid
+# 1201-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/3.10.table b/definitions/grib2/tables/33/3.10.table
new file mode 100644
index 000000000..1612d05e3
--- /dev/null
+++ b/definitions/grib2/tables/33/3.10.table
@@ -0,0 +1,8 @@
+# Flag table 3.10 - Scanning mode for one diamond
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/33/3.11.table b/definitions/grib2/tables/33/3.11.table
new file mode 100644
index 000000000..06ae10810
--- /dev/null
+++ b/definitions/grib2/tables/33/3.11.table
@@ -0,0 +1,7 @@
+# Code table 3.11 - Interpretation of list of numbers at end of section 3
+0 0 There is no appended list
+1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
+2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
+3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.12.table b/definitions/grib2/tables/33/3.12.table
new file mode 100644
index 000000000..7d4757100
--- /dev/null
+++ b/definitions/grib2/tables/33/3.12.table
@@ -0,0 +1,6 @@
+# Code table 3.12 - HEALPix rhomboids or points ordering
+0 0 Ring ordering
+1 1 Nested ordering
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.13.table b/definitions/grib2/tables/33/3.13.table
new file mode 100644
index 000000000..aabe4fc03
--- /dev/null
+++ b/definitions/grib2/tables/33/3.13.table
@@ -0,0 +1,8 @@
+# Flag table 3.13 - HEALPix scanning mode
+1 0 Points scan in +i (+x) direction
+1 1 Points scan in -i (-x) direction
+2 0 Points scan in -j (-y) direction
+2 1 Points scan in +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/33/3.15.table b/definitions/grib2/tables/33/3.15.table
new file mode 100644
index 000000000..43539dbfc
--- /dev/null
+++ b/definitions/grib2/tables/33/3.15.table
@@ -0,0 +1,23 @@
+# Code table 3.15 - Physical meaning of vertical coordinate
+# 0-19 Reserved
+20 20 Temperature (K)
+# 21-99 Reserved
+100 100 Pressure (Pa)
+101 101 Pressure deviation from mean sea level (Pa)
+102 102 Altitude above mean sea level (m)
+103 103 Height above ground (m)
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
+106 106 Depth below land surface (m)
+107 pt Potential temperature (theta) (K)
+108 108 Pressure deviation from ground to level (Pa)
+109 pv Potential vorticity (K m2 kg-1 s-1)
+110 110 Geometrical height (m)
+111 111 Eta coordinate
+112 112 Geopotential height (gpm)
+113 113 Logarithmic hybrid coordinate
+# 114-159 Reserved
+160 160 Depth below sea level (m)
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.2.table b/definitions/grib2/tables/33/3.2.table
new file mode 100644
index 000000000..13b9bf469
--- /dev/null
+++ b/definitions/grib2/tables/33/3.2.table
@@ -0,0 +1,16 @@
+# Code table 3.2 - Shape of the reference system
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS-84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS-84 reference frame
+9 9 Earth represented by the Ordnance Survey Great Britain 1936 Datum, using the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude, and the Newlyn datum as mean sea level, 0 height
+10 10 Earth model assumed WGS84 with corrected geomagnetic coordinates (latitude and longitude) defined by Gustafsson et al., 1992
+11 11 Sun assumed spherical with radius = 695 990 000 m (Allen, C.W., Astrophysical Quantities, 3rd ed.; Athlone: London, 1976) and Stonyhurst latitude and longitude system with origin at the intersection of the solar central meridian (as seen from Earth) and the solar equator (Thompson, W., Coordinate systems for solar image data, Astron. Astrophys. 2006, 449, 791-803)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.20.table b/definitions/grib2/tables/33/3.20.table
new file mode 100644
index 000000000..e2bb156ee
--- /dev/null
+++ b/definitions/grib2/tables/33/3.20.table
@@ -0,0 +1,6 @@
+# Code table 3.20 - Type of horizontal line
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.21.table b/definitions/grib2/tables/33/3.21.table
new file mode 100644
index 000000000..e001e1c8f
--- /dev/null
+++ b/definitions/grib2/tables/33/3.21.table
@@ -0,0 +1,8 @@
+# Code table 3.21 - Vertical dimension coordinate values definition
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.25.table b/definitions/grib2/tables/33/3.25.table
new file mode 100644
index 000000000..e5a754994
--- /dev/null
+++ b/definitions/grib2/tables/33/3.25.table
@@ -0,0 +1,10 @@
+# Code table 3.25 - Type of bi-Fourier truncation
+# 0-76 Reserved
+77 77 Rectangular
+# 78-87 Reserved
+88 88 Elliptic
+# 89-98 Reserved
+99 99 Diamond
+# 100-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.3.table b/definitions/grib2/tables/33/3.3.table
new file mode 100644
index 000000000..25cb46a1d
--- /dev/null
+++ b/definitions/grib2/tables/33/3.3.table
@@ -0,0 +1,9 @@
+# Flag table 3.3 - Resolution and component flags
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/33/3.4.table b/definitions/grib2/tables/33/3.4.table
new file mode 100644
index 000000000..0f9d84464
--- /dev/null
+++ b/definitions/grib2/tables/33/3.4.table
@@ -0,0 +1,17 @@
+# Flag table 3.4 - Scanning mode
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction are consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scan in the opposite direction
+5 0 Points within odd rows are not offset in i (x) direction
+5 1 Points within odd rows are offset by Di/2 in i (x) direction
+6 0 Points within even rows are not offset in i (x) direction
+6 1 Points within even rows are offset by Di/2 in i (x) direction
+7 0 Points are not offset in j (y) direction
+7 1 Points are offset by Dj/2 in j (y) direction
+8 0 Rows have Ni grid points and columns have Nj grid points
+8 1 Rows have Ni grid points if points are not offset in i direction Rows have Ni-1 grid points if points are offset by Di/2 in i direction Columns have Nj grid points if points are not offset in j direction Columns have Nj-1 grid points if points are offset by Dj/2 in j direction
diff --git a/definitions/grib2/tables/33/3.5.table b/definitions/grib2/tables/33/3.5.table
new file mode 100644
index 000000000..2f8ec82e3
--- /dev/null
+++ b/definitions/grib2/tables/33/3.5.table
@@ -0,0 +1,5 @@
+# Flag table 3.5 - Projection centre
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/33/3.6.table b/definitions/grib2/tables/33/3.6.table
new file mode 100644
index 000000000..5ab13aaa5
--- /dev/null
+++ b/definitions/grib2/tables/33/3.6.table
@@ -0,0 +1,3 @@
+# Code table 3.6 - Spectral data representation type
+1 1 see separate doc or pdf file
+2 2 Bi-Fourier representation
diff --git a/definitions/grib2/tables/33/3.7.table b/definitions/grib2/tables/33/3.7.table
new file mode 100644
index 000000000..34c0de085
--- /dev/null
+++ b/definitions/grib2/tables/33/3.7.table
@@ -0,0 +1,5 @@
+# Code table 3.7 - Spectral data representation mode
+0 0 Reserved
+1 1 see separate doc or pdf file
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.8.table b/definitions/grib2/tables/33/3.8.table
new file mode 100644
index 000000000..fcd17dca8
--- /dev/null
+++ b/definitions/grib2/tables/33/3.8.table
@@ -0,0 +1,10 @@
+# Code table 3.8 - Grid point position
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+3 3 Grid points at shape vertices
+4 4 Grid points at centre of shapes
+5 5 Grid points at midpoints of shape sides
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/3.9.table b/definitions/grib2/tables/33/3.9.table
new file mode 100644
index 000000000..ecd65514a
--- /dev/null
+++ b/definitions/grib2/tables/33/3.9.table
@@ -0,0 +1,4 @@
+# Flag table 3.9 - Numbering order of diamonds as seen from the corresponding pole
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/33/4.0.table b/definitions/grib2/tables/33/4.0.table
new file mode 100644
index 000000000..86399bd79
--- /dev/null
+++ b/definitions/grib2/tables/33/4.0.table
@@ -0,0 +1,124 @@
+# Code table 4.0 - Product definition template number
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values or other statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+33 33 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+34 34 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
+35 35 Satellite product with or without associated quality values
+# 36-39 Reserved
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+42 42 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+49 49 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol
+# 50 Reserved
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+# 52 Reserved
+53 53 Partitioned parameters at a horizontal level or in a horizontal layer at a point in time
+54 54 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters
+55 55 Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+56 56 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (deprecated)
+57 57 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+58 58 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function
+59 59 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56)
+60 60 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+61 61 Individual ensemble reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+62 62 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time
+63 63 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles
+# 64-66 Reserved
+67 67 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
+68 68 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function
+# 69 Reserved
+70 70 Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+71 71 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+72 72 Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+73 73 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval
+# 74-75 Reserved
+76 76 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink
+77 77 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink
+78 78 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink
+79 79 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink
+80 80 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink
+81 81 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink
+82 82 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
+83 83 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
+84 84 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
+85 85 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
+86 86 Quantile forecasts at a horizontal level or in a horizontal layer at a point in time
+87 87 Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+88 88 Analysis or forecast at a horizontal level or in a horizontal layer at a specified local time
+89 89 Post-processed quantile forecasts at a horizontal level or in a horizontal layer at a point in time
+90 90 Post-processed quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+92 92 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time
+93 93 Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time
+94 94 Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time
+95 95 Average, accumulation, extreme values or other statistically processed value at a horizontal level or in a horizontal layer at a specified local time
+96 96 Average, accumulation, extreme values or other statistically processed values of an individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time
+97 97 Average, accumulation, extreme values or other statistically processed values of post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time
+98 98 Average, accumulation, extreme values or other statistically processed values of a post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time
+99 99 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions
+100 100 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions
+101 101 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae
+102 102 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae
+103 103 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for waves selected by period range
+104 104 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for waves selected by period range
+105 105 Anomalies, significance and other derived products from an analysis or forecast in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+106 106 Anomalies, significance and other derived products from an individual ensemble forecast, control and perturbed in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+107 107 Anomalies, significance and other derived products from derived forecasts based on all ensemble members in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+108 108 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for generic optical products
+109 109 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for generic optical products
+110 110 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for generic optical products
+111 111 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for generic optical products
+112 112 Anomalies, significance and other derived products as probability forecasts in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+113 113 Generalised tiles at a horizontal level or horizontal layer at a point in time
+114 114 Average, accumulation, and/or extreme values or other statistically processed values on generalised tiles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+115 115 Individual ensemble forecast, control and perturbed on generalised tiles at a horizontal level or in a horizontal layer at a point in time
+116 116 Individual ensemble forecast, control and perturbed on generalised tiles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+117 117 Individual large ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+118 118 Individual large ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+119 119 Probability forecasts from large ensembles at a horizontal level or in a horizontal layer at a point in time
+120 120 Probability forecasts from large ensembles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+121 121 Probability forecasts from large ensembles with spatiotemporal processing based on focal (moving window) statistics at a horizontal level or in a horizontal layer at a point in time
+122 122 Probability forecasts from large ensembles with spatiotemporal processing based on focal (moving window) statistics at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+123 123 Probability forecasts from large ensembles with spatiotemporal processing based on focal (moving window) statistics in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+124 124 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for radionuclides
+125 125 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for radionuclides
+126 126 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for radionuclides
+127 127 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for radionuclides
+# 128-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
+# 1102-32767 Reserved
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/4.1.0.table b/definitions/grib2/tables/33/4.1.0.table
new file mode 100644
index 000000000..deb34a4e3
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.0.table
@@ -0,0 +1,29 @@
+# Product discipline 0 - Meteorological products
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+21 21 Thermodynamic properties
+22 22 Drought indices
+# 23-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.1.table b/definitions/grib2/tables/33/4.1.1.table
new file mode 100644
index 000000000..df2c13fa8
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.1.table
@@ -0,0 +1,7 @@
+# Product discipline 1 - Hydrological products
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.10.table b/definitions/grib2/tables/33/4.1.10.table
new file mode 100644
index 000000000..5a64f9652
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.10.table
@@ -0,0 +1,10 @@
+# Product discipline 10 - Oceanographic products
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Subsurface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.2.table b/definitions/grib2/tables/33/4.1.2.table
new file mode 100644
index 000000000..9d6f690ac
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.2.table
@@ -0,0 +1,11 @@
+# Product discipline 2 - Land surface products
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+5 5 Glaciers and inland ice
+6 6 Urban areas
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.20.table b/definitions/grib2/tables/33/4.1.20.table
new file mode 100644
index 000000000..e651e326f
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.20.table
@@ -0,0 +1,8 @@
+# Product discipline 20 - Health and socioeconomic impacts
+0 0 Health indicators
+1 1 Epidemiology
+2 2 Socioeconomic indicators
+3 3 Renewable energy sector
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.3.table b/definitions/grib2/tables/33/4.1.3.table
new file mode 100644
index 000000000..35d82f440
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.3.table
@@ -0,0 +1,11 @@
+# Product discipline 3 - Satellite remote sensing products (formerly Space products)
+0 0 Image format products
+1 1 Quantitative products
+2 2 Cloud properties
+3 3 Flight rule conditions
+4 4 Volcanic ash
+5 5 Sea-surface temperature
+6 6 Solar radiation
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.1.4.table b/definitions/grib2/tables/33/4.1.4.table
new file mode 100644
index 000000000..7d1378729
--- /dev/null
+++ b/definitions/grib2/tables/33/4.1.4.table
@@ -0,0 +1,15 @@
+# Product discipline 4 - Space weather products
+0 0 Temperature
+1 1 Momentum
+2 2 Charged particle mass and number
+3 3 Electric and magnetic fields
+4 4 Energetic particles
+5 5 Waves
+6 6 Solar electromagnetic emissions
+7 7 Terrestrial electromagnetic emissions
+8 8 Imagery
+9 9 Ion-neutral coupling
+10 10 Space weather indices
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.10.table b/definitions/grib2/tables/33/4.10.table
new file mode 100644
index 000000000..0acd9127c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.10.table
@@ -0,0 +1,22 @@
+# Code table 4.10 - Type of statistical processing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+11 11 Summation
+12 12 Return period
+13 13 Median
+# 14-99 Reserved
+100 100 Severity
+101 101 Mode
+102 102 Index processing
+# 103-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/33/4.100.table b/definitions/grib2/tables/33/4.100.table
new file mode 100644
index 000000000..a24770d68
--- /dev/null
+++ b/definitions/grib2/tables/33/4.100.table
@@ -0,0 +1,10 @@
+# Code table 4.100 - Type of reference dataset
+0 0 Analysis
+1 1 Forecast
+2 2 Reforecast (Hindcast)
+3 3 Reanalysis
+4 4 Climate projection
+5 5 Gridded observations
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.101.table b/definitions/grib2/tables/33/4.101.table
new file mode 100644
index 000000000..0fcdb13d9
--- /dev/null
+++ b/definitions/grib2/tables/33/4.101.table
@@ -0,0 +1,13 @@
+# Code table 4.101 - Type of relationship to reference dataset
+0 0 Anomaly
+1 1 Standardized anomaly
+2 2 Significance (Wilcoxon-Mann-Whitney)
+3 3 Climatology
+# 4-19 Reserved
+20 20 Extreme Forecast Index (EFI)
+21 21 Shift of Tails (SOT)
+22 22 Anomaly of probabilities
+23 23 Standardized Drought Index
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.102.table b/definitions/grib2/tables/33/4.102.table
new file mode 100644
index 000000000..214844fb3
--- /dev/null
+++ b/definitions/grib2/tables/33/4.102.table
@@ -0,0 +1,22 @@
+# Code table 4.102 - Statistical processing of reference period
+0 0 Average
+1 1 Accumulation
+2 2 Maximum
+3 3 Minimum
+4 4 Median
+# 5-19 Reserved
+20 20 Model Climate
+21 21 Index based on normal distribution
+22 22 Index based on log-normal distribution
+23 23 Index based on generalised log-normal distribution
+24 24 Index based on gamma distribution
+25 25 Index based on logistic distribution
+26 26 Index based on log-logistic distribution
+27 27 Index based on generalised logistic distribution
+28 28 Index based on Weibull distribution
+29 29 Index based on generalised extreme value distribution
+30 30 Index based on Pearson III distribution
+31 31 Index based on empirical distribution
+# 32-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.103.table b/definitions/grib2/tables/33/4.103.table
new file mode 100644
index 000000000..5d70488ca
--- /dev/null
+++ b/definitions/grib2/tables/33/4.103.table
@@ -0,0 +1,9 @@
+# Code table 4.103 - Spatial vicinity type
+0 0 Circle [m]
+1 1 Rectangle [m,m]
+2 2 Square [m]
+3 3 Wedge [m, degree, degree]
+4 4 Span of grid boxes centered around grid box i,j [x,y]
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.104.table b/definitions/grib2/tables/33/4.104.table
new file mode 100644
index 000000000..d1e417780
--- /dev/null
+++ b/definitions/grib2/tables/33/4.104.table
@@ -0,0 +1,15 @@
+# Code table 4.104 - Spatial and temporal vicinity processing
+0 0 Average
+1 1 Reserved
+2 2 Maximum
+3 3 Minimum
+4 4 Range
+5 5 Reserved
+6 6 Standard deviation
+# 7-10 Reserved
+11 11 Sum
+# 12-189 Reserved
+190 190 Quantile
+191 191 Categorical (boolean)
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.105.table b/definitions/grib2/tables/33/4.105.table
new file mode 100644
index 000000000..f3be24ecb
--- /dev/null
+++ b/definitions/grib2/tables/33/4.105.table
@@ -0,0 +1,6 @@
+# Code table 4.105 - Spatial and temporal vicinity missing data
+0 0 Ignore missing data
+1 1 No data
+# 2-189 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.11.table b/definitions/grib2/tables/33/4.11.table
new file mode 100644
index 000000000..01cc81303
--- /dev/null
+++ b/definitions/grib2/tables/33/4.11.table
@@ -0,0 +1,10 @@
+# Code table 4.11 - Type of time intervals
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.12.table b/definitions/grib2/tables/33/4.12.table
new file mode 100644
index 000000000..d42b47e96
--- /dev/null
+++ b/definitions/grib2/tables/33/4.12.table
@@ -0,0 +1,7 @@
+# Code table 4.12 - Operating mode
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.13.table b/definitions/grib2/tables/33/4.13.table
new file mode 100644
index 000000000..a0e28eac8
--- /dev/null
+++ b/definitions/grib2/tables/33/4.13.table
@@ -0,0 +1,6 @@
+# Code table 4.13 - Quality control indicator
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.14.table b/definitions/grib2/tables/33/4.14.table
new file mode 100644
index 000000000..d525b23b3
--- /dev/null
+++ b/definitions/grib2/tables/33/4.14.table
@@ -0,0 +1,6 @@
+# Code table 4.14 - Clutter filter indicator
+0 0 No clutter filter used
+1 1 Clutter filter used
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.15.table b/definitions/grib2/tables/33/4.15.table
new file mode 100644
index 000000000..7adddedb6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.15.table
@@ -0,0 +1,11 @@
+# Code table 4.15 - Type of spatial processing used to arrive at given data value from the source data
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.16.table b/definitions/grib2/tables/33/4.16.table
new file mode 100644
index 000000000..5b9f6fd73
--- /dev/null
+++ b/definitions/grib2/tables/33/4.16.table
@@ -0,0 +1,10 @@
+# Code table 4.16 - Quality value associated with parameter
+0 0 Confidence index
+1 1 Quality indicator
+2 2 Correlation of product with used calibration product
+3 3 Standard deviation
+4 4 Random error
+5 5 Probability
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.192.table b/definitions/grib2/tables/33/4.192.table
new file mode 100644
index 000000000..e1fd91594
--- /dev/null
+++ b/definitions/grib2/tables/33/4.192.table
@@ -0,0 +1,4 @@
+1 1 first
+2 2 second
+3 3 third
+4 4 fourth
diff --git a/definitions/grib2/tables/33/4.2.0.0.table b/definitions/grib2/tables/33/4.2.0.0.table
new file mode 100644
index 000000000..e4912c9d6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.0.table
@@ -0,0 +1,37 @@
+# Product discipline 0 - Meteorological products, parameter category 0: temperature
+0 0 Temperature (K)
+1 1 Virtual temperature (K)
+2 2 Potential temperature (K)
+3 3 Pseudo-adiabatic potential temperature or equivalent potential temperature (K)
+4 4 Maximum temperature (K)
+5 5 Minimum temperature (K)
+6 6 Dewpoint temperature (K)
+7 7 Dewpoint depression (or deficit) (K)
+8 8 Lapse rate (K/m)
+9 9 Temperature anomaly (K)
+10 10 Latent heat net flux (W m-2)
+11 11 Sensible heat net flux (W m-2)
+12 12 Heat index (K)
+13 13 Wind chill factor (K)
+14 14 Minimum dewpoint depression (K)
+15 15 Virtual potential temperature (K)
+16 16 Snow phase change heat flux (W m-2)
+17 17 Skin temperature (K)
+18 18 Snow temperature (top of snow) (K)
+19 19 Turbulent transfer coefficient for heat (Numeric)
+20 20 Turbulent diffusion coefficient for heat (m2/s)
+21 21 Apparent temperature (K)
+22 22 Temperature tendency due to short-wave radiation (K s-1)
+23 23 Temperature tendency due to long-wave radiation (K s-1)
+24 24 Temperature tendency due to short-wave radiation, clear sky (K s-1)
+25 25 Temperature tendency due to long-wave radiation, clear sky (K s-1)
+26 26 Temperature tendency due to parameterization (K s-1)
+27 27 Wet-bulb temperature (K)
+28 28 Unbalanced component of temperature (K)
+29 29 Temperature advection (K s-1)
+30 30 Latent heat net flux due to evaporation (W m-2)
+31 31 Latent heat net flux due to sublimation (W m-2)
+32 32 Wet-bulb potential temperature (K)
+# 33-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.1.table b/definitions/grib2/tables/33/4.2.0.1.table
new file mode 100644
index 000000000..2405606cb
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.1.table
@@ -0,0 +1,174 @@
+# Product discipline 0 - Meteorological products, parameter category 1: moisture
+0 0 Specific humidity (kg/kg)
+1 1 Relative humidity (%)
+2 2 Humidity mixing ratio (kg/kg)
+3 3 Precipitable water (kg m-2)
+4 4 Vapour pressure (Pa)
+5 5 Saturation deficit (Pa)
+6 6 Evaporation (kg m-2)
+7 7 Precipitation rate (kg m-2 s-1)
+8 8 Total precipitation (kg m-2)
+9 9 Large-scale precipitation (non-convective) (kg m-2)
+10 10 Convective precipitation (kg m-2)
+11 11 Snow depth (m)
+12 12 Snowfall rate water equivalent (kg m-2 s-1)
+13 13 Water equivalent of accumulated snow depth (kg m-2)
+14 14 Convective snow (kg m-2)
+15 15 Large-scale snow (kg m-2)
+16 16 Snow melt (kg m-2)
+17 17 Snow age (d)
+18 18 Absolute humidity (kg m-3)
+19 19 Precipitation type (Code table 4.201)
+20 20 Integrated liquid water (kg m-2)
+21 21 Condensate (kg/kg)
+22 22 Cloud mixing ratio (kg/kg)
+23 23 Ice water mixing ratio (kg/kg)
+24 24 Rain mixing ratio (kg/kg)
+25 25 Snow mixing ratio (kg/kg)
+26 26 Horizontal moisture convergence (kg kg-1 s-1)
+27 27 Maximum relative humidity (%)
+28 28 Maximum absolute humidity (kg m-3)
+29 29 Total snowfall (m)
+30 30 Precipitable water category (Code table 4.202)
+31 31 Hail (m)
+32 32 Graupel (snow pellets) (kg/kg)
+33 33 Categorical rain (Code table 4.222)
+34 34 Categorical freezing rain (Code table 4.222)
+35 35 Categorical ice pellets (Code table 4.222)
+36 36 Categorical snow (Code table 4.222)
+37 37 Convective precipitation rate (kg m-2 s-1)
+38 38 Horizontal moisture divergence (kg kg-1 s-1)
+39 39 Per cent frozen precipitation (%)
+40 40 Potential evaporation (kg m-2)
+41 41 Potential evaporation rate (W m-2)
+42 42 Snow cover (%)
+43 43 Rain fraction of total cloud water (Proportion)
+44 44 Rime factor (Numeric)
+45 45 Total column integrated rain (kg m-2)
+46 46 Total column integrated snow (kg m-2)
+47 47 Large scale water precipitation (non-convective) (kg m-2)
+48 48 Convective water precipitation (kg m-2)
+49 49 Total water precipitation (kg m-2)
+50 50 Total snow precipitation (kg m-2)
+51 51 Total column water [Vertically integrated total water=vapour + cloud water/ice] (kg m-2)
+52 52 Total precipitation rate (kg m-2 s-1)
+53 53 Total snowfall rate water equivalent (kg m-2 s-1)
+54 54 Large scale precipitation rate (kg m-2 s-1)
+55 55 Convective snowfall rate water equivalent (kg m-2 s-1)
+56 56 Large scale snowfall rate water equivalent (kg m-2 s-1)
+57 57 Total snowfall rate (m/s)
+58 58 Convective snowfall rate (m/s)
+59 59 Large scale snowfall rate (m/s)
+60 60 Snow depth water equivalent (kg m-2)
+61 61 Snow density (kg m-3)
+62 62 Snow evaporation (kg m-2)
+63 63 Reserved
+64 64 Total column integrated water vapour (kg m-2)
+65 65 Rain precipitation rate (kg m-2 s-1)
+66 66 Snow precipitation rate (kg m-2 s-1)
+67 67 Freezing rain precipitation rate (kg m-2 s-1)
+68 68 Ice pellets precipitation rate (kg m-2 s-1)
+69 69 Total column integrated cloud water (kg m-2)
+70 70 Total column integrated cloud ice (kg m-2)
+71 71 Hail mixing ratio (kg/kg)
+72 72 Total column integrated hail (kg m-2)
+73 73 Hail precipitation rate (kg m-2 s-1)
+74 74 Total column integrated graupel (kg m-2)
+75 75 Graupel (snow pellets) precipitation rate (kg m-2 s-1)
+76 76 Convective rain rate (kg m-2 s-1)
+77 77 Large scale rain rate (kg m-2 s-1)
+78 78 Total column integrated water (all components including precipitation) (kg m-2)
+79 79 Evaporation rate (kg m-2 s-1)
+80 80 Total condensate (kg/kg)
+81 81 Total column-integrated condensate (kg m-2)
+82 82 Cloud ice mixing-ratio (kg/kg)
+83 83 Specific cloud liquid water content (kg/kg)
+84 84 Specific cloud ice water content (kg/kg)
+85 85 Specific rainwater content (kg/kg)
+86 86 Specific snow water content (kg/kg)
+87 87 Stratiform precipitation rate (kg m-2 s-1)
+88 88 Categorical convective precipitation (Code table 4.222)
+# 89 Reserved
+90 90 Total kinematic moisture flux (kg kg-1 m s-1)
+91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
+92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
+93 93 Relative humidity with respect to water (%)
+94 94 Relative humidity with respect to ice (%)
+95 95 Freezing or frozen precipitation rate (kg m-2 s-1)
+96 96 Mass density of rain (kg m-3)
+97 97 Mass density of snow (kg m-3)
+98 98 Mass density of graupel (kg m-3)
+99 99 Mass density of hail (kg m-3)
+100 100 Specific number concentration of rain (kg-1)
+101 101 Specific number concentration of snow (kg-1)
+102 102 Specific number concentration of graupel (kg-1)
+103 103 Specific number concentration of hail (kg-1)
+104 104 Number density of rain (m-3)
+105 105 Number density of snow (m-3)
+106 106 Number density of graupel (m-3)
+107 107 Number density of hail (m-3)
+108 108 Specific humidity tendency due to parameterization (kg kg-1 s-1)
+109 109 Mass density of liquid water coating on hail expressed as mass of liquid water per unit volume of air (kg m-3)
+110 110 Specific mass of liquid water coating on hail expressed as mass of liquid water per unit mass of moist air (kg kg-1)
+111 111 Mass mixing ratio of liquid water coating on hail expressed as mass of liquid water per unit mass of dry air (kg kg-1)
+112 112 Mass density of liquid water coating on graupel expressed as mass of liquid water per unit volume of air (kg m-3)
+113 113 Specific mass of liquid water coating on graupel expressed as mass of liquid water per unit mass of moist air (kg kg-1)
+114 114 Mass mixing ratio of liquid water coating on graupel expressed as mass of liquid water per unit mass of dry air (kg kg-1)
+115 115 Mass density of liquid water coating on snow expressed as mass of liquid water per unit volume of air (kg m-3)
+116 116 Specific mass of liquid water coating on snow expressed as mass of liquid water per unit mass of moist air (kg kg-1)
+117 117 Mass mixing ratio of liquid water coating on snow expressed as mass of liquid water per unit mass of dry air (kg kg-1)
+118 118 Unbalanced component of specific humidity (kg kg-1)
+119 119 Unbalanced component of specific cloud liquid water content (kg kg-1)
+120 120 Unbalanced component of specific cloud ice water content (kg kg-1)
+121 121 Fraction of snow cover (Proportion)
+122 122 Precipitation intensity index (Code table 4.247)
+123 123 Dominant precipitation type (Code table 4.201)
+124 124 Presence of showers (Code table 4.222)
+125 125 Presence of blowing snow (Code table 4.222)
+126 126 Presence of blizzard (Code table 4.222)
+127 127 Ice pellets (non-water equivalent) precipitation rate (m/s)
+128 128 Total solid precipitation rate (kg m-2 s-1)
+129 129 Effective radius of cloud water (m)
+130 130 Effective radius of rain (m)
+131 131 Effective radius of cloud ice (m)
+132 132 Effective radius of snow (m)
+133 133 Effective radius of graupel (m)
+134 134 Effective radius of hail (m)
+135 135 Effective radius of subgrid liquid clouds (m)
+136 136 Effective radius of subgrid ice clouds (m)
+137 137 Effective aspect ratio of rain (-)
+138 138 Effective aspect ratio of cloud ice (-)
+139 139 Effective aspect ratio of snow (-)
+140 140 Effective aspect ratio of graupel (-)
+141 141 Effective aspect ratio of hail (-)
+142 142 Effective aspect ratio of subgrid ice clouds (-)
+143 143 Potential evaporation rate (kg m-2 s-1)
+144 144 Specific rain water content (convective) (kg kg-1)
+145 145 Specific snow water content (convective) (kg kg-1)
+146 146 Cloud ice precipitation rate (kg m-2 s-1)
+147 147 Character of precipitation (Code table 4.249)
+148 148 Snow evaporation rate (kg m-2 s-1)
+149 149 Cloud water mixing ratio (kg kg-1)
+150 150 Column integrated eastward water vapour mass flux (kg m-1 s-1)
+151 151 Column integrated northward water vapour mass flux (kg m-1 s-1)
+152 152 Column integrated eastward cloud liquid water mass flux (kg m-1 s-1)
+153 153 Column integrated northward cloud liquid water mass flux (kg m-1 s-1)
+154 154 Column integrated eastward cloud ice mass flux (kg m-1 s-1)
+155 155 Column integrated northward cloud ice mass flux (kg m-1 s-1)
+156 156 Column integrated eastward rain mass flux (kg m-1 s-1)
+157 157 Column integrated northward rain mass flux (kg m-1 s-1)
+158 158 Column integrated eastward snow mass flux (kg m-1 s-1)
+159 159 Column integrated northward snow mass flux (kg m-1 s-1)
+160 160 Column integrated divergence of water vapour mass flux (kg m-2 s-1)
+161 161 Column integrated divergence of cloud liquid water mass flux (kg m-2 s-1)
+162 162 Column integrated divergence of cloud ice mass flux (kg m-2 s-1)
+163 163 Column integrated divergence of rain mass flux (kg m-2 s-1)
+164 164 Column integrated divergence of snow mass flux (kg m-2 s-1)
+165 165 Column integrated divergence of total water mass flux (kg m-2 s-1)
+166 166 Column integrated water vapour flux (kg m-2 s-1)
+167 167 Total column supercooled liquid water (kg m-2)
+168 168 Saturation specific humidity with respect to water (kg m-3)
+169 169 Total column integrated saturation specific humidity with respect to water (kg m-2)
+# 170-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.13.table b/definitions/grib2/tables/33/4.2.0.13.table
new file mode 100644
index 000000000..4c1253b96
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.13.table
@@ -0,0 +1,5 @@
+# Product discipline 0 - Meteorological products, parameter category 13: aerosols
+0 0 Aerosol type (Code table 4.205)
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.14.table b/definitions/grib2/tables/33/4.2.0.14.table
new file mode 100644
index 000000000..df0f721ea
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.14.table
@@ -0,0 +1,7 @@
+# Product discipline 0 - Meteorological products, parameter category 14: trace gases
+0 0 Total ozone (DU)
+1 1 Ozone mixing ratio (kg/kg)
+2 2 Total column integrated ozone (DU)
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.15.table b/definitions/grib2/tables/33/4.2.0.15.table
new file mode 100644
index 000000000..ac49ad402
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.15.table
@@ -0,0 +1,21 @@
+# Product discipline 0 - Meteorological products, parameter category 15: radar
+0 0 Base spectrum width (m/s)
+1 1 Base reflectivity (dB)
+2 2 Base radial velocity (m/s)
+3 3 Vertically integrated liquid water (VIL) (kg m-2)
+4 4 Layer-maximum base reflectivity (dB)
+5 5 Precipitation (kg m-2)
+6 6 Radar spectra (1) (-)
+7 7 Radar spectra (2) (-)
+8 8 Radar spectra (3) (-)
+9 9 Reflectivity of cloud droplets (dB)
+10 10 Reflectivity of cloud ice (dB)
+11 11 Reflectivity of snow (dB)
+12 12 Reflectivity of rain (dB)
+13 13 Reflectivity of graupel (dB)
+14 14 Reflectivity of hail (dB)
+15 15 Hybrid scan reflectivity (dB)
+16 16 Hybrid scan reflectivity height (m)
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.16.table b/definitions/grib2/tables/33/4.2.0.16.table
new file mode 100644
index 000000000..111e6d986
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.16.table
@@ -0,0 +1,10 @@
+# Product discipline 0 - Meteorological products, parameter category 16: forecast radar imagery
+0 0 Equivalent radar reflectivity factor for rain (mm6 m-3)
+1 1 Equivalent radar reflectivity factor for snow (mm6 m-3)
+2 2 Equivalent radar reflectivity factor for parameterized convection (mm6 m-3)
+3 3 Echo top (m)
+4 4 Reflectivity (dB)
+5 5 Composite reflectivity (dB)
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.17.table b/definitions/grib2/tables/33/4.2.0.17.table
new file mode 100644
index 000000000..90ef72d87
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.17.table
@@ -0,0 +1,7 @@
+# Product discipline 0 - Meteorological products, parameter category 17: electrodynamics
+0 0 Lightning strike density (m-2 s-1)
+1 1 Lightning potential index (LPI) (J kg-1)
+2 2 Cloud-to-ground lightning flash density (km-2 day-1)
+3 3 Cloud-to-cloud lightning flash density (km-2 day-1)
+4 4 Total lightning flash density (km-2 day-1)
+5 5 Subgrid-scale lightning potential index (J kg-1)
diff --git a/definitions/grib2/tables/33/4.2.0.18.table b/definitions/grib2/tables/33/4.2.0.18.table
new file mode 100644
index 000000000..6efa6e5e0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.18.table
@@ -0,0 +1,31 @@
+# Product discipline 0 - Meteorological products, parameter category 18: nuclear/radiology
+0 0 Air activity concentration of caesium 137 (Bq m-3)
+1 1 Air activity concentration of iodine 131 (Bq m-3)
+2 2 Air activity concentration of radioactive pollutant (Bq m-3)
+3 3 Ground deposition activity of caesium 137 (Bq m-2)
+4 4 Ground deposition activity of iodine 131 (Bq m-2)
+5 5 Ground deposition activity of radioactive pollutant (Bq m-2)
+6 6 Time-integrated air activity concentration of caesium pollutant (Bq s m-3)
+7 7 Time-integrated air activity concentration of iodine pollutant (Bq s m-3)
+8 8 Time-integrated air activity concentration of radioactive pollutant (Bq s m-3)
+9 9 Reserved
+10 10 Air activity concentration (Bq m-3)
+11 11 Wet deposition activity (Bq m-2)
+12 12 Dry deposition activity (Bq m-2)
+13 13 Total deposition activity (wet + dry) (Bq m-2)
+14 14 Specific activity concentration (Bq kg-1)
+15 15 Maximum of air activity concentration in layer (Bq m-3)
+16 16 Height of maximum air activity concentration (m)
+17 17 Column-integrated air activity concentration (Bq m-2)
+18 18 Column-averaged air activity concentration in layer (Bq m-3)
+19 19 Deposition activity arrival (s)
+20 20 Deposition activity ended (s)
+21 21 Cloud activity arrival (s)
+22 22 Cloud activity ended (s)
+23 23 Effective dose rate (nSv h-1)
+24 24 Thyroid dose rate (adult) (nSv h-1)
+25 25 Gamma dose rate (adult) (nSv h-1)
+26 26 Activity emission (Bq s-1)
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.19.table b/definitions/grib2/tables/33/4.2.0.19.table
new file mode 100644
index 000000000..be45d7a0d
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.19.table
@@ -0,0 +1,55 @@
+# Product discipline 0 - Meteorological products, parameter category 19: physical atmospheric properties
+0 0 Visibility (m)
+1 1 Albedo (%)
+2 2 Thunderstorm probability (%)
+3 3 Mixed layer depth (m)
+4 4 Volcanic ash (Code table 4.206)
+5 5 Icing top (m)
+6 6 Icing base (m)
+7 7 Icing (Code table 4.207)
+8 8 Turbulence top (m)
+9 9 Turbulence base (m)
+10 10 Turbulence (Code table 4.208)
+11 11 Turbulent kinetic energy (J/kg)
+12 12 Planetary boundary-layer regime (Code table 4.209)
+13 13 Contrail intensity (Code table 4.210)
+14 14 Contrail engine type (Code table 4.211)
+15 15 Contrail top (m)
+16 16 Contrail base (m)
+17 17 Maximum snow albedo (%)
+18 18 Snow free albedo (%)
+19 19 Snow albedo (%)
+20 20 Icing (%)
+21 21 In-cloud turbulence (%)
+22 22 Clear air turbulence (CAT) (%)
+23 23 Supercooled large droplet probability (%)
+24 24 Convective turbulent kinetic energy (J/kg)
+25 25 Weather (Code table 4.225)
+26 26 Convective outlook (Code table 4.224)
+27 27 Icing scenario (Code table 4.227)
+28 28 Mountain wave turbulence (eddy dissipation rate) (m2/3 s-1)
+29 29 Clear air turbulence (CAT) (m2/3 s-1)
+30 30 Eddy dissipation parameter (m2/3 s-1)
+31 31 Maximum of eddy dissipation parameter in layer (m2/3 s-1)
+32 32 Highest freezing level (m)
+33 33 Visibility through liquid fog (m)
+34 34 Visibility through ice fog (m)
+35 35 Visibility through blowing snow (m)
+36 36 Presence of snow squalls (Code table 4.222)
+37 37 Icing severity (Code table 4.228)
+38 38 Sky transparency index (Code table 4.214)
+39 39 Seeing index (Code table 4.214)
+40 40 Snow level (m)
+41 41 Duct base height (m)
+42 42 Trapping layer base height (m)
+43 43 Trapping layer top height (m)
+44 44 Mean vertical gradient of refractivity inside trapping layer (m-1)
+45 45 Minimum vertical gradient of refractivity inside trapping layer (m-1)
+46 46 Net radiation flux (W m-2)
+47 47 Global irradiance on tilted surfaces (W m-2)
+48 48 Top of persistent contrails (m)
+49 49 Base of persistent contrails (m)
+50 50 Convectively-induced turbulence (CIT) (eddy dissipation rate) (m2/3 s-1)
+# 51-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.190.table b/definitions/grib2/tables/33/4.2.0.190.table
new file mode 100644
index 000000000..dfe39840d
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.190.table
@@ -0,0 +1,5 @@
+# Product discipline 0 - Meteorological products, parameter category 190: CCITT IA5 string
+0 0 Arbitrary text string (CCITT IA5)
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.191.table b/definitions/grib2/tables/33/4.2.0.191.table
new file mode 100644
index 000000000..5fce8eab0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.191.table
@@ -0,0 +1,12 @@
+# Product discipline 0 - Meteorological products, parameter category 191: miscellaneous
+0 0 Seconds prior to initial reference time (defined in Section 1) (s)
+1 1 Geographical latitude (deg N)
+2 2 Geographical longitude (deg E)
+3 3 Days since last observation (d)
+4 4 Tropical cyclone density track (Numeric)
+5 5 Hurricane track in spatiotemporal vicinity (boolean)
+6 6 Tropical storm track in spatiotemporal vicinity (boolean)
+7 7 Tropical depression track in spatiotemporal vicinity (boolean)
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.2.table b/definitions/grib2/tables/33/4.2.0.2.table
new file mode 100644
index 000000000..bd6e32851
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.2.table
@@ -0,0 +1,72 @@
+# Product discipline 0 - Meteorological products, parameter category 2: momentum
+0 0 Wind direction (from which blowing) (degree true)
+1 1 Wind speed (m/s)
+2 2 u-component of wind (m/s)
+3 3 v-component of wind (m/s)
+4 4 Stream function (m2/s)
+5 5 Velocity potential (m2/s)
+6 6 Montgomery stream function (m2 s-2)
+7 7 Sigma coordinate vertical velocity (/s)
+8 8 Vertical velocity (pressure) (Pa/s)
+9 9 Vertical velocity (geometric) (m/s)
+10 10 Absolute vorticity (/s)
+11 11 Absolute divergence (/s)
+12 12 Relative vorticity (/s)
+13 13 Relative divergence (/s)
+14 14 Potential vorticity (K m2 kg-1 s-1)
+15 15 Vertical u-component shear (/s)
+16 16 Vertical v-component shear (/s)
+17 17 Momentum flux, u-component (N m-2)
+18 18 Momentum flux, v-component (N m-2)
+19 19 Wind mixing energy (J)
+20 20 Boundary layer dissipation (W m-2)
+21 21 Maximum wind speed (m/s)
+22 22 Wind speed (gust) (m/s)
+23 23 u-component of wind (gust) (m/s)
+24 24 v-component of wind (gust) (m/s)
+25 25 Vertical speed shear (/s)
+26 26 Horizontal momentum flux (N m-2)
+27 27 u-component storm motion (m/s)
+28 28 v-component storm motion (m/s)
+29 29 Drag coefficient (Numeric)
+30 30 Frictional velocity (m/s)
+31 31 Turbulent diffusion coefficient for momentum (m2/s)
+32 32 Eta coordinate vertical velocity (/s)
+33 33 Wind fetch (m)
+34 34 Normal wind component (m/s)
+35 35 Tangential wind component (m/s)
+36 36 Amplitude function for Rossby wave envelope for meridional wind (m/s)
+37 37 Northward turbulent surface stress (N m-2 s)
+38 38 Eastward turbulent surface stress (N m-2 s)
+39 39 Eastward wind tendency due to parameterization (m s-2)
+40 40 Northward wind tendency due to parameterization (m s-2)
+41 41 u-component of geostrophic wind (m s-1)
+42 42 v-component of geostrophic wind (m s-1)
+43 43 Geostrophic wind direction (degree true)
+44 44 Geostrophic wind speed (m s-1)
+45 45 Unbalanced component of divergence (s-1)
+46 46 Vorticity advection (s-2)
+47 47 Surface roughness for heat (m)
+48 48 Surface roughness for moisture (m)
+49 49 Wind stress (N m-2)
+50 50 Eastward wind stress (N m-2)
+51 51 Northward wind stress (N m-2)
+52 52 u-component of wind stress (N m-2)
+53 53 v-component of wind stress (N m-2)
+54 54 Natural logarithm of surface roughness length for heat (Numeric)
+55 55 Natural logarithm of surface roughness length for moisture (Numeric)
+56 56 u-component of neutral wind (m s-1)
+57 57 v-component of neutral wind (m s-1)
+58 58 Magnitude of turbulent surface stress (N m-2)
+59 59 Vertical divergence (s-1)
+60 60 Drag thermal coefficient (Numeric)
+61 61 Drag evaporation coefficient (Numeric)
+62 62 Eastward turbulent surface stress (N m-2)
+63 63 Northward turbulent surface stress (N m-2)
+64 64 Eastward turbulent surface stress due to orographic form drag (N m-2)
+65 65 Northward turbulent surface stress due to orographic form drag (N m-2)
+66 66 Eastward turbulent surface stress due to surface roughness (N m-2)
+67 67 Northward turbulent surface stress due to surface roughness (N m-2)
+# 68-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.20.table b/definitions/grib2/tables/33/4.2.0.20.table
new file mode 100644
index 000000000..7855a8618
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.20.table
@@ -0,0 +1,69 @@
+# Product discipline 0 - Meteorological products, parameter category 20: atmospheric chemical constituents
+0 0 Mass density (concentration) (kg m-3)
+1 1 Column-integrated mass density (kg m-2)
+2 2 Mass mixing ratio (mass fraction in air) (kg/kg)
+3 3 Atmosphere emission mass flux (kg m-2 s-1)
+4 4 Atmosphere net production mass flux (kg m-2 s-1)
+5 5 Atmosphere net production and emission mass flux (kg m-2 s-1)
+6 6 Surface dry deposition mass flux (kg m-2 s-1)
+7 7 Surface wet deposition mass flux (kg m-2 s-1)
+8 8 Atmosphere re-emission mass flux (kg m-2 s-1)
+9 9 Wet deposition by large-scale precipitation mass flux (kg m-2 s-1)
+10 10 Wet deposition by convective precipitation mass flux (kg m-2 s-1)
+11 11 Sedimentation mass flux (kg m-2 s-1)
+12 12 Dry deposition mass flux (kg m-2 s-1)
+13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
+14 14 Transfer from SO2 (sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
+15 15 Dry deposition velocity (m/s)
+16 16 Mass mixing ratio with respect to dry air (kg/kg)
+17 17 Mass mixing ratio with respect to wet air (kg/kg)
+18 18 Potential of hydrogen (pH) (pH)
+# 19-49 Reserved
+50 50 Amount in atmosphere (mol)
+51 51 Concentration in air (mol m-3)
+52 52 Volume mixing ratio (fraction in air) (mol/mol)
+53 53 Chemical gross production rate of concentration (mol m-3 s-1)
+54 54 Chemical gross destruction rate of concentration (mol m-3 s-1)
+55 55 Surface flux (mol m-2 s-1)
+56 56 Changes of amount in atmosphere (mol/s)
+57 57 Total yearly average burden of the atmosphere (mol)
+58 58 Total yearly averaged atmospheric loss (mol/s)
+59 59 Aerosol number concentration (m-3)
+60 60 Aerosol specific number concentration (kg-1)
+61 61 Maximum of mass density in layer (kg m-3)
+62 62 Height of maximum mass density (m)
+63 63 Column-averaged mass density in layer (kg m-3)
+64 64 Mole fraction with respect to dry air (mol/mol)
+65 65 Mole fraction with respect to wet air (mol/mol)
+66 66 Column-integrated in-cloud scavenging rate by precipitation (kg m-2 s-1)
+67 67 Column-integrated below-cloud scavenging rate by precipitation (kg m-2 s-1)
+68 68 Column-integrated release rate from evaporating precipitation (kg m-2 s-1)
+69 69 Column-integrated in-cloud scavenging rate by large-scale precipitation (kg m-2 s-1)
+70 70 Column-integrated below-cloud scavenging rate by large-scale precipitation (kg m-2 s-1)
+71 71 Column-integrated release rate from evaporating large-scale precipitation (kg m-2 s-1)
+72 72 Column-integrated in-cloud scavenging rate by convective precipitation (kg m-2 s-1)
+73 73 Column-integrated below-cloud scavenging rate by convective precipitation (kg m-2 s-1)
+74 74 Column-integrated release rate from evaporating convective precipitation (kg m-2 s-1)
+75 75 Wildfire flux (kg m-2 s-1)
+76 76 Emission rate (kg kg-1 s-1)
+77 77 Surface emission flux (kg m-2 s-1)
+78 78 Column integrated eastward mass flux (kg m-1 s-1)
+79 79 Column integrated northward mass flux (kg m-1 s-1)
+80 80 Column integrated divergence of mass flux (kg m-2 s-1)
+81 81 Column integrated net source (kg m-2 s-1)
+# 82-99 Reserved
+100 100 Surface area density (aerosol) (/m)
+101 101 Vertical visual range (m)
+102 102 Aerosol optical thickness (Numeric)
+103 103 Single scattering albedo (Numeric)
+104 104 Asymmetry factor (Numeric)
+105 105 Aerosol extinction coefficient (/m)
+106 106 Aerosol absorption coefficient (/m)
+107 107 Aerosol lidar backscatter from satellite (m-1 sr-1)
+108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
+109 109 Aerosol lidar extinction from satellite (/m)
+110 110 Aerosol lidar extinction from the ground (/m)
+111 111 Angstrom exponent (Numeric)
+# 112-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.21.table b/definitions/grib2/tables/33/4.2.0.21.table
new file mode 100644
index 000000000..05646e1a6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.21.table
@@ -0,0 +1,27 @@
+# Product discipline 0 - Meteorological products, parameter category 21: thermodynamic properties
+0 0 Column integrated potential + internal energy (J m-2)
+1 1 Column integrated kinetic energy (J m-2)
+2 2 Column integrated total energy (J m-2)
+3 3 Column integrated enthalpy (J m-2)
+4 4 Column integrated water enthalpy (J m-2)
+5 5 Column integrated eastward enthalpy flux (W m-1)
+6 6 Column integrated northward enthalpy flux (W m-1)
+7 7 Column integrated eastward potential energy flux (W m-1)
+8 8 Column integrated northward potential energy flux (W m-1)
+9 9 Column integrated eastward kinetic energy flux (W m-1)
+10 10 Column integrated northward kinetic energy flux (W m-1)
+11 11 Column integrated eastward total energy flux (W m-1)
+12 12 Column integrated northward total energy flux (W m-1)
+13 13 Divergence of column integrated enthalpy flux (W m-2)
+14 14 Divergence of column integrated potential energy flux (W m-2)
+15 15 Divergence of column integrated water potential energy flux (W m-2)
+16 16 Divergence of column integrated kinetic energy flux (W m-2)
+17 17 Divergence of column integrated total energy flux (W m-2)
+18 18 Divergence of column integrated water enthalpy flux (W m-2)
+19 19 Column integrated eastward heat flux (W m-1)
+20 20 Column integrated northward heat flux (W m-1)
+21 21 Column integrated potential+internal+latent energy (J m-2)
+22 22 Eady growth rate (day-1)
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.22.table b/definitions/grib2/tables/33/4.2.0.22.table
new file mode 100644
index 000000000..726bda9c0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.22.table
@@ -0,0 +1,11 @@
+# Product discipline 0 - Meteorological products, parameter category 22: drought indices
+0 0 Standard Precipitation Index (SPI) (dimensionless)
+1 1 Standardized Precipitation Evapotranspiration Index (SPEI) (dimensionless)
+2 2 Standardized Streamflow index (SSFI) (dimensionless)
+3 3 Standardized Reservoir Supply Index (SRSI) (dimensionless)
+4 4 Standardized Water-level Index (SWI) (dimensionless)
+5 5 Standardized Snowmelt and Rain Index (SMRI) (dimensionless)
+6 6 Streamflow Drought Index (SDI) (dimensionless)
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.3.table b/definitions/grib2/tables/33/4.2.0.3.table
new file mode 100644
index 000000000..d685de2ef
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.3.table
@@ -0,0 +1,51 @@
+# Product discipline 0 - Meteorological products, parameter category 3: mass
+0 0 Pressure (Pa)
+1 1 Pressure reduced to MSL (Pa)
+2 2 Pressure tendency (Pa/s)
+3 3 ICAO Standard Atmosphere Reference Height (m)
+4 4 Geopotential (m2 s-2)
+5 5 Geopotential height (gpm)
+6 6 Geometric height (m)
+7 7 Standard deviation of height (m)
+8 8 Pressure anomaly (Pa)
+9 9 Geopotential height anomaly (gpm)
+10 10 Density (kg m-3)
+11 11 Altimeter setting (Pa)
+12 12 Thickness (m)
+13 13 Pressure altitude (m)
+14 14 Density altitude (m)
+15 15 5-wave geopotential height (gpm)
+16 16 Zonal flux of gravity wave stress (N m-2)
+17 17 Meridional flux of gravity wave stress (N m-2)
+18 18 Planetary boundary layer height (m)
+19 19 5-wave geopotential height anomaly (gpm)
+20 20 Standard deviation of sub-grid scale orography (m)
+21 21 Angle of sub-gridscale orography (rad)
+22 22 Slope of sub-gridscale orography (Numeric)
+23 23 Gravity wave dissipation (W m-2)
+24 24 Anisotropy of sub-gridscale orography (Numeric)
+25 25 Natural logarithm of pressure in Pa (Numeric)
+26 26 Exner pressure (Numeric)
+27 27 Updraught mass flux (kg m-2 s-1)
+28 28 Downdraught mass flux (kg m-2 s-1)
+29 29 Updraught detrainment rate (kg m-3 s-1)
+30 30 Downdraught detrainment rate (kg m-3 s-1)
+31 31 Unbalanced component of logarithm of surface pressure (-)
+32 32 Saturation water vapour pressure (Pa)
+33 33 Geometric altitude above mean sea level (m)
+34 34 Geometric height above ground level (m)
+35 35 Column integrated divergence of total mass flux (kg m-2 s-1)
+36 36 Column integrated eastward total mass flux (kg m-1 s-1)
+37 37 Column integrated northward total mass flux (kg m-1 s-1)
+38 38 Standard deviation of filtered subgrid orography (m)
+39 39 Column integrated mass of atmosphere (kg m-2)
+40 40 Column integrated eastward geopotential flux (W m-1)
+41 41 Column integrated northward geopotential flux (W m-1)
+42 42 Column integrated divergence of water geopotential flux (W m-2)
+43 43 Column integrated divergence of geopotential flux (W m-2)
+44 44 Height of zero-degree wet-bulb temperature (m)
+45 45 Height of one-degree wet-bulb temperature (m)
+46 46 Pressure departure from hydrostatic state (Pa)
+# 47-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.4.table b/definitions/grib2/tables/33/4.2.0.4.table
new file mode 100644
index 000000000..88c24ae52
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.4.table
@@ -0,0 +1,33 @@
+# Product discipline 0 - Meteorological products, parameter category 4: short-wave radiation
+0 0 Net short-wave radiation flux (surface) (W m-2)
+1 1 Net short-wave radiation flux (top of atmosphere) (W m-2)
+2 2 Short-wave radiation flux (W m-2)
+3 3 Global radiation flux (W m-2)
+4 4 Brightness temperature (K)
+5 5 Radiance (with respect to wave number) (W m-1 sr-1)
+6 6 Radiance (with respect to wavelength) (W m-3 sr-1)
+7 7 Downward short-wave radiation flux (W m-2)
+8 8 Upward short-wave radiation flux (W m-2)
+9 9 Net short wave radiation flux (W m-2)
+10 10 Photosynthetically active radiation (W m-2)
+11 11 Net short-wave radiation flux, clear sky (W m-2)
+12 12 Downward UV radiation (W m-2)
+13 13 Direct short-wave radiation flux (W m-2)
+14 14 Diffuse short-wave radiation flux (W m-2)
+15 15 Upward UV radiation emitted/reflected from the Earth's surface (W m-2)
+# 16-49 Reserved
+50 50 UV index (under clear sky) (Numeric)
+51 51 UV index (Numeric)
+52 52 Downward short-wave radiation flux, clear sky (W m-2)
+53 53 Upward short-wave radiation flux, clear sky (W m-2)
+54 54 Direct normal short-wave radiation flux (W m-2)
+55 55 UV visible albedo for diffuse radiation (%)
+56 56 UV visible albedo for direct radiation (%)
+57 57 UV visible albedo for direct radiation, geometric component (%)
+58 58 UV visible albedo for direct radiation, isotropic component (%)
+59 59 UV visible albedo for direct radiation, volumetric component (%)
+60 60 Photosynthetically active radiation flux, clear sky (W m-2)
+61 61 Direct short-wave radiation flux, clear sky (W m-2)
+# 62-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.5.table b/definitions/grib2/tables/33/4.2.0.5.table
new file mode 100644
index 000000000..7065106a2
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.5.table
@@ -0,0 +1,18 @@
+# Product discipline 0 - Meteorological products, parameter category 5: long-wave radiation
+0 0 Net long-wave radiation flux (surface) (W m-2)
+1 1 Net long-wave radiation flux (top of atmosphere) (W m-2)
+2 2 Long-wave radiation flux (W m-2)
+3 3 Downward long-wave radiation flux (W m-2)
+4 4 Upward long-wave radiation flux (W m-2)
+5 5 Net long-wave radiation flux (W m-2)
+6 6 Net long-wave radiation flux, clear sky (W m-2)
+7 7 Brightness temperature (K)
+8 8 Downward long-wave radiation flux, clear sky (W m-2)
+9 9 Near IR albedo for diffuse radiation (%)
+10 10 Near IR albedo for direct radiation (%)
+11 11 Near IR albedo for direct radiation, geometric component (%)
+12 12 Near IR albedo for direct radiation, isotropic component (%)
+13 13 Near IR albedo for direct radiation, volumetric component (%)
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.6.table b/definitions/grib2/tables/33/4.2.0.6.table
new file mode 100644
index 000000000..d831f3474
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.6.table
@@ -0,0 +1,51 @@
+# Product discipline 0 - Meteorological products, parameter category 6: cloud
+0 0 Cloud ice (kg m-2)
+1 1 Total cloud cover (%)
+2 2 Convective cloud cover (%)
+3 3 Low cloud cover (%)
+4 4 Medium cloud cover (%)
+5 5 High cloud cover (%)
+6 6 Cloud water (kg m-2)
+7 7 Cloud amount (%)
+8 8 Cloud type (Code table 4.203)
+9 9 Thunderstorm maximum tops (m)
+10 10 Thunderstorm coverage (Code table 4.204)
+11 11 Cloud base (m)
+12 12 Cloud top (m)
+13 13 Ceiling (m)
+14 14 Non-convective cloud cover (%)
+15 15 Cloud work function (J/kg)
+16 16 Convective cloud efficiency (Proportion)
+17 17 Total condensate (kg/kg)
+18 18 Total column-integrated cloud water (kg m-2)
+19 19 Total column-integrated cloud ice (kg m-2)
+20 20 Total column-integrated condensate (kg m-2)
+21 21 Ice fraction of total condensate (Proportion)
+22 22 Cloud cover (%)
+23 23 Cloud ice mixing ratio (kg/kg)
+24 24 Sunshine (Numeric)
+25 25 Horizontal extent of cumulonimbus (CB) (%)
+26 26 Height of convective cloud base (m)
+27 27 Height of convective cloud top (m)
+28 28 Number of cloud droplets per unit mass of air (/kg)
+29 29 Number of cloud ice particles per unit mass of air (/kg)
+30 30 Number density of cloud droplets (m-3)
+31 31 Number density of cloud ice particles (m-3)
+32 32 Fraction of cloud cover (Numeric)
+33 33 Sunshine duration (s)
+34 34 Surface long-wave effective total cloudiness (Numeric)
+35 35 Surface short-wave effective total cloudiness (Numeric)
+36 36 Fraction of stratiform precipitation cover (Proportion)
+37 37 Fraction of convective precipitation cover (Proportion)
+38 38 Mass density of cloud droplets (kg m-3)
+39 39 Mass density of cloud ice (kg m-3)
+40 40 Mass density of convective cloud water droplets (kg m-3)
+# 41-46 Reserved
+47 47 Volume fraction of cloud water droplets (Numeric)
+48 48 Volume fraction of cloud ice particles (Numeric)
+49 49 Volume fraction of cloud (ice and/or water) (Numeric)
+50 50 Fog (%)
+51 51 Sunshine duration fraction (Proportion)
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.0.7.table b/definitions/grib2/tables/33/4.2.0.7.table
new file mode 100644
index 000000000..15acb1857
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.0.7.table
@@ -0,0 +1,25 @@
+# Product discipline 0 - Meteorological products, parameter category 7: thermodynamic stability indices
+0 0 Parcel lifted index (to 500 hPa) (K)
+1 1 Best lifted index (to 500 hPa) (K)
+2 2 K index (K)
+3 3 KO index (K)
+4 4 Total totals index (K)
+5 5 Sweat index (Numeric)
+6 6 Convective available potential energy (J/kg)
+7 7 Convective inhibition (J/kg)
+8 8 Storm relative helicity (J/kg)
+9 9 Energy helicity index (Numeric)
+10 10 Surface lifted index (K)
+11 11 Best (4-layer) lifted index (K)
+12 12 Richardson number (Numeric)
+13 13 Showalter index (K)
+14 14 Reserved
+15 15 Updraught helicity (m2 s-2)
+16 16 Bulk Richardson number (Numeric)
+17 17 Gradient Richardson number (Numeric)
+18 18 Flux Richardson number (Numeric)
+19 19 Convective available potential energy - shear (m2 s-2)
+20 20 Thunderstorm intensity index (Code table 4.246)
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.1.0.table b/definitions/grib2/tables/33/4.2.1.0.table
new file mode 100644
index 000000000..7072b3d44
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.1.0.table
@@ -0,0 +1,25 @@
+# Product discipline 1 - Hydrological products, parameter category 0: hydrology basic products
+0 0 Flash flood guidance (Encoded as an accumulation over a floating subinterval of time between the reference time and valid time) (kg m-2)
+1 1 Flash flood runoff (Encoded as an accumulation over a floating subinterval of time) (kg m-2)
+2 2 Remotely-sensed snow cover (Code table 4.215)
+3 3 Elevation of snow-covered terrain (Code table 4.216)
+4 4 Snow water equivalent per cent of normal (%)
+5 5 Baseflow-groundwater runoff (kg m-2)
+6 6 Storm surface runoff (kg m-2)
+7 7 Discharge from rivers or streams (m3/s)
+8 8 Groundwater upper storage (kg m-2)
+9 9 Groundwater lower storage (kg m-2)
+10 10 Side flow into river channel (m3 s-1 m-1)
+11 11 River storage of water (m3)
+12 12 Floodplain storage of water (m3)
+13 13 Water on soil surface (kg m-2)
+14 14 Upstream accumulated precipitation (kg m-2)
+15 15 Upstream accumulated snow melt (kg m-2)
+16 16 Percolation rate (kg m-2 s-1)
+17 17 River outflow of water (m3 s-1)
+18 18 Floodplain outflow of water (m3 s-1)
+19 19 Floodpath outflow of water (m3 s-1)
+20 20 Water on surface (kg m-2)
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.1.1.table b/definitions/grib2/tables/33/4.2.1.1.table
new file mode 100644
index 000000000..e3931d5e6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.1.1.table
@@ -0,0 +1,7 @@
+# Product discipline 1 - Hydrological products, parameter category 1: hydrology probabilities
+0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
+1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
+2 2 Probability of 0.01 inch of precipitation (POP) (%)
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.1.2.table b/definitions/grib2/tables/33/4.2.1.2.table
new file mode 100644
index 000000000..2c4e0f50d
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.1.2.table
@@ -0,0 +1,28 @@
+# Product discipline 1 - Hydrological products, parameter category 2: inland water and sediment properties
+0 0 Water depth (m)
+1 1 Water temperature (K)
+2 2 Water fraction (Proportion)
+3 3 Sediment thickness (m)
+4 4 Sediment temperature (K)
+5 5 Ice thickness (m)
+6 6 Ice temperature (K)
+7 7 Ice cover (Proportion)
+8 8 Land cover (0 = water, 1 = land) (Proportion)
+9 9 Shape factor with respect to salinity profile (-)
+10 10 Shape factor with respect to temperature profile in thermocline (-)
+11 11 Attenuation coefficient of water with respect to solar radiation (m)
+12 12 Salinity (kg/kg)
+13 13 Cross-sectional area of flow in channel (m2)
+14 14 Snow temperature (K)
+15 15 Lake depth (m)
+16 16 River depth (m)
+17 17 Floodplain depth (m)
+18 18 Floodplain flooded fraction (proportion)
+19 19 FLoodplain flooded area (m2)
+20 20 River fraction (proportion)
+21 21 River area (m2)
+22 22 Fraction of river coverage plus river related flooding (proportion)
+23 23 Area of river coverage plus river related flooding (m2)
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.0.table b/definitions/grib2/tables/33/4.2.10.0.table
new file mode 100644
index 000000000..92b18661a
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.0.table
@@ -0,0 +1,103 @@
+# Product discipline 10 - Oceanographic products, parameter category 0: waves
+0 0 Wave spectra (1) (-)
+1 1 Wave spectra (2) (-)
+2 2 Wave spectra (3) (-)
+3 3 Significant height of combined wind waves and swell (m)
+4 4 Direction of wind waves (degree true)
+5 5 Significant height of wind waves (m)
+6 6 Mean period of wind waves (s)
+7 7 Direction of swell waves (degree true)
+8 8 Significant height of swell waves (m)
+9 9 Mean period of swell waves (s)
+10 10 Primary wave direction (degree true)
+11 11 Primary wave mean period (s)
+12 12 Secondary wave direction (degree true)
+13 13 Secondary wave mean period (s)
+14 14 Mean direction of combined wind waves and swell (degree true)
+15 15 Mean period of combined wind waves and swell (s)
+16 16 Coefficient of drag with waves (-)
+17 17 Friction velocity (m/s)
+18 18 Wave stress (N m-2)
+19 19 Normalized wave stress (-)
+20 20 Mean square slope of waves (-)
+21 21 u-component surface Stokes drift (m/s)
+22 22 v-component surface Stokes drift (m/s)
+23 23 Period of maximum individual wave height (s)
+24 24 Maximum individual wave height (m)
+25 25 Inverse mean wave frequency (s)
+26 26 Inverse mean frequency of wind waves (s)
+27 27 Inverse mean frequency of total swell (s)
+28 28 Mean zero-crossing wave period (s)
+29 29 Mean zero-crossing period of wind waves (s)
+30 30 Mean zero-crossing period of total swell (s)
+31 31 Wave directional width (-)
+32 32 Directional width of wind waves (-)
+33 33 Directional width of total swell (-)
+34 34 Peak wave period (s)
+35 35 Peak period of wind waves (s)
+36 36 Peak period of total swell (s)
+37 37 Altimeter wave height (m)
+38 38 Altimeter corrected wave height (m)
+39 39 Altimeter range relative correction (-)
+40 40 10-metre neutral wind speed over waves (m/s)
+41 41 10-metre wind direction over waves (deg)
+42 42 Wave energy spectrum (m2 s rad-1)
+43 43 Kurtosis of the sea-surface elevation due to waves (-)
+44 44 Benjamin-Feir index (-)
+45 45 Spectral peakedness factor (/s)
+46 46 Peak wave direction (deg)
+47 47 Significant wave height of first swell partition (m)
+48 48 Significant wave height of second swell partition (m)
+49 49 Significant wave height of third swell partition (m)
+50 50 Mean wave period of first swell partition (s)
+51 51 Mean wave period of second swell partition (s)
+52 52 Mean wave period of third swell partition (s)
+53 53 Mean wave direction of first swell partition (deg)
+54 54 Mean wave direction of second swell partition (deg)
+55 55 Mean wave direction of third swell partition (deg)
+56 56 Wave directional width of first swell partition (-)
+57 57 Wave directional width of second swell partition (-)
+58 58 Wave directional width of third swell partition (-)
+59 59 Wave frequency width of first swell partition (-)
+60 60 Wave frequency width of second swell partition (-)
+61 61 Wave frequency width of third swell partition (-)
+62 62 Wave frequency width (-)
+63 63 Frequency width of wind waves (-)
+64 64 Frequency width of total swell (-)
+65 65 Peak wave period of first swell partition (s)
+66 66 Peak wave period of second swell partition (s)
+67 67 Peak wave period of third swell partition (s)
+68 68 Peak wave direction of first swell partition (degree true)
+69 69 Peak wave direction of second swell partition (degree true)
+70 70 Peak wave direction of third swell partition (degree true)
+71 71 Peak direction of wind waves (degree true)
+72 72 Peak direction of total swell (degree true)
+73 73 Whitecap fraction (fraction)
+74 74 Mean direction of total swell (degree)
+75 75 Mean direction of wind waves (degree)
+76 76 Charnock (Numeric)
+77 77 Wave Spectral Skewness (Numeric)
+78 78 Wave energy flux magnitude (W m-1)
+79 79 Wave energy flux mean direction (degree true)
+80 80 Ratio of wave angular and frequency width (Numeric)
+81 81 Free convective velocity over the oceans (m s-1)
+82 82 Air density over the oceans (kg m-3)
+83 83 Normalized energy flux into waves (Numeric)
+84 84 Normalized stress into ocean (Numeric)
+85 85 Normalized energy flux into ocean (Numeric)
+86 86 Surface elevation variance due to waves (over all frequencies and directions) (m2 s rad-1)
+87 87 Wave induced mean sea level correction (m)
+88 88 Spectral width index (Numeric)
+89 89 Number of events in freak waves statistics (Numeric)
+90 90 u-component of surface momentum flux into ocean (N m-2)
+91 91 v-component of surface momentum flux into ocean (N m-2)
+92 92 Wave turbulent energy flux into ocean (W m-2)
+93 93 Envelop maximum individual wave height (m)
+94 94 Time domain maximum individual crest height (m)
+95 95 Time domain maximum individual wave height (m)
+96 96 Space time maximum individual crest height (m)
+97 97 Space time maximum individual wave height (m)
+98 98 Goda peakedness factor (Numeric)
+# 99-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.1.table b/definitions/grib2/tables/33/4.2.10.1.table
new file mode 100644
index 000000000..aeec67455
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.1.table
@@ -0,0 +1,11 @@
+# Product discipline 10 - Oceanographic products, parameter category 1: currents
+0 0 Current direction (degree true)
+1 1 Current speed (m/s)
+2 2 u-component of current (m/s)
+3 3 v-component of current (m/s)
+4 4 Rip current occurrence probability (%)
+5 5 Eastward current (m s-1)
+6 6 Northward current (m s-1)
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.191.table b/definitions/grib2/tables/33/4.2.10.191.table
new file mode 100644
index 000000000..cd4d4cde7
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.191.table
@@ -0,0 +1,9 @@
+# Product discipline 10 - Oceanographic products, parameter category 191: miscellaneous
+0 0 Seconds prior to initial reference time (defined in Section 1) (s)
+1 1 Meridional overturning stream function (m3/s)
+2 2 Reserved
+3 3 Days since last observation (d)
+4 4 Barotropic stream function (m3 s-1)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.2.table b/definitions/grib2/tables/33/4.2.10.2.table
new file mode 100644
index 000000000..0f27bd249
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.2.table
@@ -0,0 +1,34 @@
+# Product discipline 10 - Oceanographic products, parameter category 2: ice
+0 0 Ice cover (Proportion)
+1 1 Ice thickness (m)
+2 2 Direction of ice drift (degree true)
+3 3 Speed of ice drift (m/s)
+4 4 u-component of ice drift (m/s)
+5 5 v-component of ice drift (m/s)
+6 6 Ice growth rate (m/s)
+7 7 Ice divergence (/s)
+8 8 Ice temperature (K)
+9 9 Module of ice internal pressure (Pa m)
+10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
+11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
+12 12 Compressive ice strength (N/m)
+13 13 Snow temperature (over sea ice) (K)
+14 14 Albedo (Numeric)
+15 15 Sea ice volume per unit area (m3 m-2)
+16 16 Snow volume over sea ice per unit area (m3 m-2)
+17 17 Sea ice heat content (J m-2)
+18 18 Snow over sea ice heat content (J m-2)
+19 19 Ice freeboard thickness (m)
+20 20 Ice melt pond fraction (fraction)
+21 21 Ice melt pond depth (m)
+22 22 Ice melt pond volume per unit area (m3 m-2)
+23 23 Sea ice fraction tendency due to parameterization (s-1)
+24 24 x-component of ice drift (m s-1)
+25 25 y-component of ice drift (m s-1)
+26 26 Sea ice salinity (g kg-1)
+27 27 Freezing/melting potential (W m-2)
+28 28 Melt onset date (Numeric)
+29 29 Freeze onset date (Numeric)
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.3.table b/definitions/grib2/tables/33/4.2.10.3.table
new file mode 100644
index 000000000..6c4277c8e
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.3.table
@@ -0,0 +1,26 @@
+# Product discipline 10 - Oceanographic products, parameter category 3: surface properties
+0 0 Water temperature (K)
+1 1 Deviation of sea level from mean (m)
+2 2 Heat exchange coefficient (-)
+3 3 Practical salinity (Numeric)
+4 4 Downward heat flux (W m-2)
+5 5 Eastward surface stress (N m-2)
+6 6 Northward surface stress (N m-2)
+7 7 x-component surface stress (N m-2)
+8 8 y-component surface stress (N m-2)
+9 9 Thermosteric change in sea surface height (m)
+10 10 Halosteric change in sea surface height (m)
+11 11 Steric change in sea surface height (m)
+12 12 Sea salt flux (kg m-2 s-1)
+13 13 Net upward water flux (kg m-2 s-1)
+14 14 Eastward surface water velocity (m s-1)
+15 15 Northward surface water velocity (m s-1)
+16 16 x-component of surface water velocity (m s-1)
+17 17 y-component of surface water velocity (m s-1)
+18 18 Heat flux correction (W m-2)
+19 19 Sea surface height tendency due to parameterization (m s-1)
+20 20 Deviation of sea level from mean with inverse barometer correction (m)
+21 21 Salinity (kg kg-1)
+# 22-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.10.4.table b/definitions/grib2/tables/33/4.2.10.4.table
new file mode 100644
index 000000000..0b9ef0956
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.10.4.table
@@ -0,0 +1,54 @@
+# Product discipline 10 - Oceanographic products, parameter category 4: subsurface properties
+0 0 Main thermocline depth (m)
+1 1 Main thermocline anomaly (m)
+2 2 Transient thermocline depth (m)
+3 3 Salinity (kg/kg)
+4 4 Ocean vertical heat diffusivity (m2/s)
+5 5 Ocean vertical salt diffusivity (m2/s)
+6 6 Ocean vertical momentum diffusivity (m2/s)
+7 7 Bathymetry (m)
+# 8-10 Reserved
+11 11 Shape factor with respect to salinity profile (-)
+12 12 Shape factor with respect to temperature profile in thermocline (-)
+13 13 Attenuation coefficient of water with respect to solar radiation (/m)
+14 14 Water depth (m)
+15 15 Water temperature (K)
+16 16 Water density (rho) (kg m-3)
+17 17 Water density anomaly (sigma) (kg m-3)
+18 18 Water potential temperature (theta) (K)
+19 19 Water potential density (rho theta) (kg m-3)
+20 20 Water potential density anomaly (sigma theta) (kg m-3)
+21 21 Practical salinity (Numeric)
+22 22 Water column-integrated heat content (J m-2)
+23 23 Eastward water velocity (m s-1)
+24 24 Northward water velocity (m s-1)
+25 25 x-component water velocity (m s-1)
+26 26 y-component water velocity (m s-1)
+27 27 Upward water velocity (m s-1)
+28 28 Vertical eddy diffusivity (m2 s-1)
+29 29 Bottom pressure equivalent height (m)
+30 30 Fresh water flux into sea water from rivers (kg m-2 s-1)
+31 31 Fresh water flux correction (kg m-2 s-1)
+32 32 Virtual salt flux into sea water (g kg-1 m-2 s-1)
+33 33 Virtual salt flux correction (g kg-1 m-2 s-1)
+34 34 Sea water temperature tendency due to Newtonian relaxation (K s-1)
+35 35 Sea water salinity tendency due to Newtonian relaxation (g kg-1 s-1)
+36 36 Sea water temperature tendency due to parameterization (K s-1)
+37 37 Sea water salinity tendency due to parameterization (g kg-1 s-1)
+38 38 Eastward sea water velocity tendency due to parameterization (m s-2)
+39 39 Northward sea water velocity tendency due to parameterization (m s-2)
+40 40 Sea water temperature tendency due to direct bias correction (K s-1)
+41 41 Sea water salinity tendency due to direct bias correction (g kg-1 s-1)
+42 42 Sea water meridional volume transport (m3 m-2 s-1)
+43 43 Sea water zonal volume transport (m3 m-2 s-1)
+44 44 Sea water column integrated meridional volume transport (m3 m-1 s-1)
+45 45 Sea water column integrated zonal volume transport (m3 m-1 s-1)
+46 46 Sea water meridional mass transport (kg m-2 s-1)
+47 47 Sea water zonal mass transport (kg m-2 s-1)
+48 48 Sea water column integrated meridional mass transport (kg m-1 s-1)
+49 49 Sea water column integrated zonal mass transport (kg m-1 s-1)
+50 50 Sea water column integrated practical salinity (g kg-1 m)
+51 51 Sea water column integrated salinity (kg kg-1 m)
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.2.0.table b/definitions/grib2/tables/33/4.2.2.0.table
new file mode 100644
index 000000000..8daeafd85
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.2.0.table
@@ -0,0 +1,68 @@
+# Product discipline 2 - Land surface products, parameter category 0: vegetation/biomass
+0 0 Land cover (0 = sea, 1 = land) (Proportion)
+1 1 Surface roughness (m)
+2 2 Soil temperature (K)
+3 3 Soil moisture content (kg m-2)
+4 4 Vegetation (%)
+5 5 Water runoff (kg m-2)
+6 6 Evapotranspiration (kg-2 s-1)
+7 7 Model terrain height (m)
+8 8 Land use (Code table 4.212)
+9 9 Volumetric soil moisture content (Proportion)
+10 10 Ground heat flux (W m-2)
+11 11 Moisture availability (%)
+12 12 Exchange coefficient (kg m-2 s-1)
+13 13 Plant canopy surface water (kg m-2)
+14 14 Blackadar's mixing length scale (m)
+15 15 Canopy conductance (m/s)
+16 16 Minimal stomatal resistance (s/m)
+17 17 Wilting point (Proportion)
+18 18 Solar parameter in canopy conductance (Proportion)
+19 19 Temperature parameter in canopy (Proportion)
+20 20 Humidity parameter in canopy conductance (Proportion)
+21 21 Soil moisture parameter in canopy conductance (Proportion)
+22 22 Soil moisture (kg m-3)
+23 23 Column-integrated soil water (kg m-2)
+24 24 Heat flux (W m-2)
+25 25 Volumetric soil moisture (m3 m-3)
+26 26 Wilting point (kg m-3)
+27 27 Volumetric wilting point (m3 m-3)
+28 28 Leaf area index (Numeric)
+29 29 Evergreen forest cover (Proportion)
+30 30 Deciduous forest cover (Proportion)
+31 31 Normalized differential vegetation index (NDVI) (Numeric)
+32 32 Root depth of vegetation (m)
+33 33 Water runoff and drainage (kg m-2)
+34 34 Surface water runoff (kg m-2)
+35 35 Tile class (Code table 4.243)
+36 36 Tile fraction (Proportion)
+37 37 Tile percentage (%)
+38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
+39 39 Evapotranspiration rate (kg m-2 s-1)
+40 40 Potential evapotranspiration rate (kg m-2 s-1)
+41 41 Snow melt rate (kg m-2 s-1)
+42 42 Water runoff and drainage rate (kg m-2 s-1)
+43 43 Drainage direction (Code table 4.250)
+44 44 Upstream area (m2)
+45 45 Wetland cover (Proportion)
+46 46 Wetland type (Code table 4.239)
+47 47 Irrigation cover (Proportion)
+48 48 C4 crop cover (Proportion)
+49 49 C4 grass cover (Proportion)
+50 50 Skin reservoir content (kg m-2)
+51 51 Surface runoff rate (kg m-2 s-1)
+52 52 Subsurface runoff rate (kg m-2 s-1)
+53 53 Low-vegetation cover (Proportion)
+54 54 High-vegetation cover (Proportion)
+55 55 Leaf area index, low-vegetation (m2 m-2)
+56 56 Leaf area index, high-vegetation (m2 m-2)
+57 57 Type of low-vegetation (Code table 4.234)
+58 58 Type of high-vegetation (Code table 4.234)
+59 59 Net ecosystem exchange flux (kg m-2 s-1)
+60 60 Gross primary production flux (kg m-2 s-1)
+61 61 Ecosystem respiration flux (kg m-2 s-1)
+62 62 Emissivity (Proportion)
+63 63 Canopy air temperature (K)
+# 64-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.2.3.table b/definitions/grib2/tables/33/4.2.2.3.table
new file mode 100644
index 000000000..ad6b618f2
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.2.3.table
@@ -0,0 +1,35 @@
+# Product discipline 2 - Land surface products, parameter category 3: soil products
+0 0 Soil type (Code table 4.213)
+1 1 Upper layer soil temperature (K)
+2 2 Upper layer soil moisture (kg m-3)
+3 3 Lower layer soil moisture (kg m-3)
+4 4 Bottom layer soil temperature (K)
+5 5 Liquid volumetric soil moisture (non-frozen) (Proportion)
+6 6 Number of soil layers in root zone (Numeric)
+7 7 Transpiration stress-onset (soil moisture) (Proportion)
+8 8 Direct evaporation cease (soil moisture) (Proportion)
+9 9 Soil porosity (Proportion)
+10 10 Liquid volumetric soil moisture (non-frozen) (m3 m-3)
+11 11 Volumetric transpiration stress-onset (soil moisture) (m3 m-3)
+12 12 Transpiration stress-onset (soil moisture) (kg m-3)
+13 13 Volumetric direct evaporation cease (soil moisture) (m3 m-3)
+14 14 Direct evaporation cease (soil moisture) (kg m-3)
+15 15 Soil porosity (m3 m-3)
+16 16 Volumetric saturation of soil moisture (m3 m-3)
+17 17 Saturation of soil moisture (kg m-3)
+18 18 Soil temperature (K)
+19 19 Soil moisture (kg m-3)
+20 20 Column-integrated soil moisture (kg m-2)
+21 21 Soil ice (kg m-3)
+22 22 Column-integrated soil ice (kg m-2)
+23 23 Liquid water in snow pack (kg m-2)
+24 24 Frost index (K day-1)
+25 25 Snow depth at elevation bands (kg m-2)
+26 26 Soil heat flux (W m-2)
+27 27 Soil depth (m)
+28 28 Snow temperature (K)
+29 29 Ice temperature (K)
+30 30 Soil wetness index (Numeric)
+# 31-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.2.4.table b/definitions/grib2/tables/33/4.2.2.4.table
new file mode 100644
index 000000000..0ea44a18c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.2.4.table
@@ -0,0 +1,41 @@
+# Product discipline 2 - Land surface products, parameter category 4: fire weather products
+0 0 Fire outlook (Code table 4.224)
+1 1 Fire outlook due to dry thunderstorm (Code table 4.224)
+2 2 Haines index (Numeric)
+3 3 Fire burned area (%)
+4 4 Fosberg index (Numeric)
+5 5 Forest Fire Weather Index (as defined by the Canadian Forest Service) (Numeric)
+6 6 Fine Fuel Moisture Code (as defined by the Canadian Forest Service) (Numeric)
+7 7 Duff Moisture Code (as defined by the Canadian Forest Service) (Numeric)
+8 8 Drought Code (as defined by the Canadian Forest Service) (Numeric)
+9 9 Initial Fire Spread Index (as defined by the Canadian Forest Service) (Numeric)
+10 10 Fire Buildup Index (as defined by the Canadian Forest Service) (Numeric)
+11 11 Fire Daily Severity Rating (as defined by the Canadian Forest Service) (Numeric)
+12 12 Keetch-Byram drought index (Numeric)
+13 13 Drought factor (as defined by the Australian forest service ) (Numeric)
+14 14 Rate of spread (as defined by the Australian forest service ) (m/s)
+15 15 Fire danger index (as defined by the Australian forest service ) (Numeric)
+16 16 Spread component (as defined by the US Forest Service National Fire Danger Rating System) (Numeric)
+17 17 Burning index (as defined by the US Forest Service National Fire Danger Rating System) (Numeric)
+18 18 Ignition component (as defined by the US Forest Service National Fire Danger Rating System) (%)
+19 19 Energy release component (as defined by the US Forest Service National Fire Danger Rating System) (Joule/m2)
+20 20 Burning area (%)
+21 21 Burnable area (%)
+22 22 Unburnable area (%)
+23 23 Fuel load (kg m-2)
+24 24 Combustion completeness (%)
+25 25 Fuel moisture content (kg kg-1)
+26 26 Wildfire potential (as defined by the US NOAA Global Systems Laboratory) (Numeric)
+27 27 Live leaf fuel load (kg m-2)
+28 28 Live wood fuel load (kg m-2)
+29 29 Dead leaf fuel load (kg m-2)
+30 30 Dead wood fuel load (kg m-2)
+31 31 Live fuel moisture content (kg kg-1)
+32 32 Fine dead leaf moisture content (kg kg-1)
+33 33 Dense dead leaf moisture content (kg kg-1)
+34 34 Fine dead wood moisture content (kg kg-1)
+35 35 Dense dead wood moisture content (kg kg-1)
+36 36 Fire radiative power (W)
+# 37-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.2.5.table b/definitions/grib2/tables/33/4.2.2.5.table
new file mode 100644
index 000000000..1d08dd573
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.2.5.table
@@ -0,0 +1,6 @@
+# Product discipline 2 - Land surface products, parameter category 5: glaciers and inland ice
+0 0 Glacier cover (Proportion)
+1 1 Glacier temperature (K)
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.2.6.table b/definitions/grib2/tables/33/4.2.2.6.table
new file mode 100644
index 000000000..7a7712af0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.2.6.table
@@ -0,0 +1,13 @@
+# Product discipline 2 - Land surface products, parameter category 6: urban areas
+0 0 Urban cover (Proportion)
+1 1 Road cover (Proportion)
+2 2 Building cover (Proportion)
+3 3 Building height (m)
+4 4 Vertical-to-horizontal area fraction (m2 m-2)
+5 5 Standard deviation of building height (m)
+6 6 Distance downward from roof surface (m)
+7 7 Distance inward from outer wall surface (m)
+8 8 Distance downward from road surface (m)
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.20.0.table b/definitions/grib2/tables/33/4.2.20.0.table
new file mode 100644
index 000000000..a997371d9
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.20.0.table
@@ -0,0 +1,13 @@
+# Product discipline 20 - Health and socioeconomic impacts, parameter category 0: health indicators
+0 0 Universal thermal climate index (K)
+1 1 Mean radiant temperature (K)
+2 2 Wet-bulb globe temperature (K)
+3 3 Globe temperature (K)
+4 4 Humidex (K)
+5 5 Effective temperature (K)
+6 6 Normal effective temperature (K)
+7 7 Standard effective temperature (K)
+8 8 Physiological equivalent temperature (K)
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.20.1.table b/definitions/grib2/tables/33/4.2.20.1.table
new file mode 100644
index 000000000..0712cd8d1
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.20.1.table
@@ -0,0 +1,14 @@
+# Product discipline 20 - Health and socioeconomic impacts, parameter category 1: epidemiology
+0 0 Malaria cases (Fraction)
+1 1 Malaria circumsporozoite protein rate (Fraction)
+2 2 Plasmodium falciparum entomological inoculation rate (Bites per day per person)
+3 3 Human bite rate by anopheles vectors (Bites per day per person)
+4 4 Malaria immunity (Fraction)
+5 5 Falciparum parasite rates (Fraction)
+6 6 Detectable falciparum parasite ratio (after day 10) (Fraction)
+7 7 Anopheles vector to host ratio (Fraction)
+8 8 Anopheles vector number (Number m-2)
+9 9 Fraction of malarial vector reproductive habitat (Fraction)
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.20.2.table b/definitions/grib2/tables/33/4.2.20.2.table
new file mode 100644
index 000000000..d6b9083d1
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.20.2.table
@@ -0,0 +1,5 @@
+# Product discipline 20 - Health and socioeconomic impacts, parameter category 2: socioeconomic indicators
+0 0 Population density (Person m-2)
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.20.3.table b/definitions/grib2/tables/33/4.2.20.3.table
new file mode 100644
index 000000000..9c2f80cfa
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.20.3.table
@@ -0,0 +1,14 @@
+# Product discipline 20 - Health and socioeconomic impacts, parameter category 3: renewable energy sector
+0 0 Renewable power capacity (W)
+1 1 Renewable power production rate (W)
+2 2 Wind power capacity (W)
+3 3 Wind power production rate (W)
+4 4 Solar photovoltaic (PV) power capacity (W)
+5 5 Solar photovoltaic (PV) power production rate (W)
+6 6 Solar non-photovoltaic (PV) power capacity (W)
+7 7 Solar non-photovoltaic (PV) power production rate (W)
+8 8 Concentrated solar power (CSP) power capacity (W)
+9 9 Concentrated solar power (CSP) power production rate (W)
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.3.0.table b/definitions/grib2/tables/33/4.2.3.0.table
new file mode 100644
index 000000000..0bec15119
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.0.table
@@ -0,0 +1,14 @@
+# Product discipline 3 - Space products, parameter category 0: image format products
+0 0 Scaled radiance (Numeric)
+1 1 Scaled albedo (Numeric)
+2 2 Scaled brightness temperature (Numeric)
+3 3 Scaled precipitable water (Numeric)
+4 4 Scaled lifted index (Numeric)
+5 5 Scaled cloud top pressure (Numeric)
+6 6 Scaled skin temperature (Numeric)
+7 7 Cloud mask (Code table 4.217)
+8 8 Pixel scene type (Code table 4.218)
+9 9 Fire detection indicator (Code table 4.223)
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.3.1.table b/definitions/grib2/tables/33/4.2.3.1.table
new file mode 100644
index 000000000..2aec33b42
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.1.table
@@ -0,0 +1,38 @@
+# Product discipline 3 - Space products, parameter category 1: quantitative products
+0 0 Estimated precipitation (kg m-2)
+1 1 Instantaneous rain rate (kg m-2 s-1)
+2 2 Cloud top height (m)
+3 3 Cloud top height quality indicator (Code table 4.219)
+4 4 Estimated u-component of wind (m/s)
+5 5 Estimated v-component of wind (m/s)
+6 6 Number of pixel used (Numeric)
+7 7 Solar zenith angle (deg)
+8 8 Relative azimuth angle (deg)
+9 9 Reflectance in 0.6 micron channel (%)
+10 10 Reflectance in 0.8 micron channel (%)
+11 11 Reflectance in 1.6 micron channel (%)
+12 12 Reflectance in 3.9 micron channel (%)
+13 13 Atmospheric divergence (/s)
+14 14 Cloudy brightness temperature (K)
+15 15 Clear-sky brightness temperature (K)
+16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
+17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
+18 18 Reserved
+19 19 Wind speed (m/s)
+20 20 Aerosol optical thickness at 0.635 um
+21 21 Aerosol optical thickness at 0.810 um
+22 22 Aerosol optical thickness at 1.640 um
+23 23 Angstrom coefficient
+# 24-26 Reserved
+27 27 Bidirectional reflectance factor (Numeric)
+28 28 Brightness temperature (K)
+29 29 Scaled radiance (Numeric)
+30 30 Reflectance in 0.4 micron channel (%)
+31 31 Cloudy reflectance (%)
+32 32 Clear reflectance (%)
+# 33-97 Reserved
+98 98 Correlation coefficient between MPE rain-rates for the co-located IR data and the microwave data rain-rates (Numeric)
+99 99 Standard deviation between MPE rain-rates for the co-located IR data and the microwave data rain-rates (kg m-2 s-1)
+# 100-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.3.2.table b/definitions/grib2/tables/33/4.2.3.2.table
new file mode 100644
index 000000000..a97ce4942
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.2.table
@@ -0,0 +1,24 @@
+# Product discipline 3 - Space products, parameter category 2: cloud properties
+0 0 Clear sky probability (%)
+1 1 Cloud top temperature (K)
+2 2 Cloud top pressure (Pa)
+3 3 Cloud type (Code table 4.218)
+4 4 Cloud phase (Code table 4.218)
+5 5 Cloud optical depth (Numeric)
+6 6 Cloud particle effective radius (m)
+7 7 Cloud liquid water path (kg m-2)
+8 8 Cloud ice water path (kg m-2)
+9 9 Cloud albedo (Numeric)
+10 10 Cloud emissivity (Numeric)
+11 11 Effective absorption optical depth ratio (Numeric)
+30 30 Measurement cost (Numeric)
+31 31 Upper layer cloud optical depth (Numeric)
+32 32 Upper layer cloud top pressure (Pa)
+33 33 Upper layer cloud effective radius (m)
+34 34 Error in upper layer cloud optical depth (Numeric)
+35 35 Error in upper layer cloud top pressure (Pa)
+36 36 Error in upper layer cloud effective radius (m)
+37 37 Lower layer cloud optical depth (Numeric)
+38 38 Lower layer cloud top pressure (Pa)
+39 39 Error in lower layer cloud optical depth (Numeric)
+40 40 Error in lower layer cloud top pressure (Pa)
diff --git a/definitions/grib2/tables/33/4.2.3.3.table b/definitions/grib2/tables/33/4.2.3.3.table
new file mode 100644
index 000000000..c487a578e
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.3.table
@@ -0,0 +1,4 @@
+# Product discipline 3 - Space products, parameter category 3: flight rule conditions
+0 0 Probability of encountering marginal visual flight rule conditions (%)
+1 1 Probability of encountering low instrument flight rule conditions (%)
+2 2 Probability of encountering instrument flight rule conditions (%)
diff --git a/definitions/grib2/tables/33/4.2.3.4.table b/definitions/grib2/tables/33/4.2.3.4.table
new file mode 100644
index 000000000..7f832ff3c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.4.table
@@ -0,0 +1,10 @@
+# Product discipline 3 - Space products, parameter category 4: volcanic ash
+0 0 Volcanic ash probability (%)
+1 1 Volcanic ash cloud top temperature (K)
+2 2 Volcanic ash cloud top pressure (Pa)
+3 3 Volcanic ash cloud top height (m)
+4 4 Volcanic ash cloud emissivity (Numeric)
+5 5 Volcanic ash effective absorption optical depth ratio (Numeric)
+6 6 Volcanic ash cloud optical depth (Numeric)
+7 7 Volcanic ash column density (kg m-2)
+8 8 Volcanic ash particle effective radius (m)
diff --git a/definitions/grib2/tables/33/4.2.3.5.table b/definitions/grib2/tables/33/4.2.3.5.table
new file mode 100644
index 000000000..58a3f12cb
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.5.table
@@ -0,0 +1,7 @@
+# Product discipline 3 - Space products, parameter category 5: sea-surface temperature
+0 0 Interface sea-surface temperature (K)
+1 1 Skin sea-surface temperature (K)
+2 2 Sub-skin sea-surface temperature (K)
+3 3 Foundation sea-surface temperature (K)
+4 4 Estimated bias between sea-surface temperature and standard (K)
+5 5 Estimated standard deviation between sea surface temperature and standard (K)
diff --git a/definitions/grib2/tables/33/4.2.3.6.table b/definitions/grib2/tables/33/4.2.3.6.table
new file mode 100644
index 000000000..62a5ba656
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.3.6.table
@@ -0,0 +1,7 @@
+# Product discipline 3 - Space products, parameter category 6: solar radiation
+0 0 Global solar irradiance (W m-2)
+1 1 Global solar exposure (J m-2)
+2 2 Direct solar irradiance (W m-2)
+3 3 Direct solar exposure (J m-2)
+4 4 Diffuse solar irradiance (W m-2)
+5 5 Diffuse solar exposure (J m-2)
diff --git a/definitions/grib2/tables/33/4.2.4.0.table b/definitions/grib2/tables/33/4.2.4.0.table
new file mode 100644
index 000000000..337308305
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.0.table
@@ -0,0 +1,10 @@
+# Product discipline 4 - Space weather products, parameter category 0: temperature
+0 0 Temperature (K)
+1 1 Electron temperature (K)
+2 2 Proton temperature (K)
+3 3 Ion temperature (K)
+4 4 Parallel temperature (K)
+5 5 Perpendicular temperature (K)
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.1.table b/definitions/grib2/tables/33/4.2.4.1.table
new file mode 100644
index 000000000..9ec11160f
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.1.table
@@ -0,0 +1,8 @@
+# Product discipline 4 - Space weather products, parameter category 1: momentum
+0 0 Velocity magnitude (speed) (m s-1)
+1 1 1st vector component of velocity (coordinate system dependent) (m s-1)
+2 2 2nd vector component of velocity (coordinate system dependent) (m s-1)
+3 3 3rd vector component of velocity (coordinate system dependent) (m s-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.10.table b/definitions/grib2/tables/33/4.2.4.10.table
new file mode 100644
index 000000000..8f5b19e06
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.10.table
@@ -0,0 +1,12 @@
+# Product discipline 4 - Space weather products, parameter category 10: space weather indices
+0 0 Scintillation index (sigma phi) (rad)
+1 1 Scintillation index S4 (Numeric)
+2 2 Rate of change of TEC index (ROTI) (TECU/min)
+3 3 Disturbance ionosphere index spatial gradient (DIXSG) (Numeric)
+4 4 Along arc TEC rate (AATR) (TECU/min)
+5 5 Kp (Numeric)
+6 6 Equatorial disturbance storm time index (Dst) (nT)
+7 7 Auroral electrojet (AE) (nT)
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.2.table b/definitions/grib2/tables/33/4.2.4.2.table
new file mode 100644
index 000000000..b479b3361
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.2.table
@@ -0,0 +1,18 @@
+# Product discipline 4 - Space weather products, parameter category 2: charged particle mass and number
+0 0 Particle number density (m-3)
+1 1 Electron density (m-3)
+2 2 Proton density (m-3)
+3 3 Ion density (m-3)
+4 4 Vertical total electron content (TECU)
+5 5 HF absorption frequency (Hz)
+6 6 HF absorption (dB)
+7 7 Spread F (m)
+8 8 h'F (m)
+9 9 Critical frequency (Hz)
+10 10 Maximal usable frequency (MUF) (Hz)
+11 11 Peak height (hm) (m)
+12 12 Peak density (Nm) (m-3)
+13 13 Equivalent slab thickness (tau) (km)
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.3.table b/definitions/grib2/tables/33/4.2.4.3.table
new file mode 100644
index 000000000..3b752bbbc
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.3.table
@@ -0,0 +1,12 @@
+# Product discipline 4 - Space weather products, parameter category 3: electric and magnetic fields
+0 0 Magnetic field magnitude (T)
+1 1 1st vector component of magnetic field (T)
+2 2 2nd vector component of magnetic field (T)
+3 3 3rd vector component of magnetic field (T)
+4 4 Electric field magnitude (V m-1)
+5 5 1st vector component of electric field (V m-1)
+6 6 2nd vector component of electric field (V m-1)
+7 7 3rd vector component of electric field (V m-1)
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.4.table b/definitions/grib2/tables/33/4.2.4.4.table
new file mode 100644
index 000000000..694c8cacc
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.4.table
@@ -0,0 +1,11 @@
+# Product discipline 4 - Space weather products, parameter category 4: energetic particles
+0 0 Proton flux (differential) ((m2 s sr eV)-1)
+1 1 Proton flux (integral) ((m2 s sr )-1)
+2 2 Electron flux (differential) ((m2 s sr eV)-1)
+3 3 Electron flux (integral) ((m2 s sr)-1)
+4 4 Heavy ion flux (differential) ((m2 s sr eV/nuc)-1)
+5 5 Heavy ion flux (integral) ((m2 s sr)-1)
+6 6 Cosmic ray neutron flux (h-1)
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.5.table b/definitions/grib2/tables/33/4.2.4.5.table
new file mode 100644
index 000000000..913efec6f
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.5.table
@@ -0,0 +1,8 @@
+# Product discipline 4 - Space weather products, parameter category 5: waves
+0 0 Amplitude (dB)
+1 1 Phase (rad)
+2 2 Frequency (Hz)
+3 3 Wavelength (m)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.6.table b/definitions/grib2/tables/33/4.2.4.6.table
new file mode 100644
index 000000000..6d13019a6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.6.table
@@ -0,0 +1,11 @@
+# Product discipline 4 - Space weather products, parameter category 6: solar electromagnetic emissions
+0 0 Integrated solar irradiance (W m-2)
+1 1 Solar X-ray flux (XRS long) (W m-2)
+2 2 Solar X-ray flux (XRS short) (W m-2)
+3 3 Solar EUV irradiance (W m-2)
+4 4 Solar spectral irradiance (W m-2 nm-1)
+5 5 F10.7 (W m-2 Hz-1)
+6 6 Solar radio emissions (W m-2 Hz-1)
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.7.table b/definitions/grib2/tables/33/4.2.4.7.table
new file mode 100644
index 000000000..38c2b17a8
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.7.table
@@ -0,0 +1,8 @@
+# Product discipline 4 - Space weather products, parameter category 7: terrestrial electromagnetic emissions
+0 0 Limb intensity (J m-2 s-1)
+1 1 Disk intensity (J m-2 s-1)
+2 2 Disk intensity day (J m-2 s-1)
+3 3 Disk intensity night (J m-2 s-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.8.table b/definitions/grib2/tables/33/4.2.4.8.table
new file mode 100644
index 000000000..f350f4807
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.8.table
@@ -0,0 +1,13 @@
+# Product discipline 4 - Space weather products, parameter category 8: imagery
+0 0 X-ray radiance (W sr-1 m-2)
+1 1 EUV radiance (W sr-1 m-2)
+2 2 H-alpha radiance (W sr-1 m-2)
+3 3 White light radiance (W sr-1 m-2)
+4 4 CaII-K radiance (W sr-1 m-2)
+5 5 White light coronagraph radiance (W sr-1 m-2)
+6 6 Heliospheric radiance (W sr-1 m-2)
+7 7 Thematic mask (Numeric)
+8 8 Solar induced chlorophyll fluorescence (W m-2 sr-1 m-1)
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.2.4.9.table b/definitions/grib2/tables/33/4.2.4.9.table
new file mode 100644
index 000000000..0e83436e2
--- /dev/null
+++ b/definitions/grib2/tables/33/4.2.4.9.table
@@ -0,0 +1,7 @@
+# Product discipline 4 - Space weather products, parameter category 9: ion-neutral coupling
+0 0 Pedersen conductivity (S m-1)
+1 1 Hall conductivity (S m-1)
+2 2 Parallel conductivity (S m-1)
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.201.table b/definitions/grib2/tables/33/4.201.table
new file mode 100644
index 000000000..a725e4e65
--- /dev/null
+++ b/definitions/grib2/tables/33/4.201.table
@@ -0,0 +1,17 @@
+# Code table 4.201 - Precipitation type
+0 0 No precipitation
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+6 6 Wet snow
+7 7 Mixture of rain and snow
+8 8 Ice pellets
+9 9 Graupel
+10 10 Hail
+11 11 Drizzle
+12 12 Freezing drizzle
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.202.table b/definitions/grib2/tables/33/4.202.table
new file mode 100644
index 000000000..7f3c8f6cf
--- /dev/null
+++ b/definitions/grib2/tables/33/4.202.table
@@ -0,0 +1,4 @@
+# Code table 4.202 - Precipitable water category
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.203.table b/definitions/grib2/tables/33/4.203.table
new file mode 100644
index 000000000..cf5eb6bdc
--- /dev/null
+++ b/definitions/grib2/tables/33/4.203.table
@@ -0,0 +1,26 @@
+# Code table 4.203 - Cloud type
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.204.table b/definitions/grib2/tables/33/4.204.table
new file mode 100644
index 000000000..8e0be1f8c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.204.table
@@ -0,0 +1,9 @@
+# Code table 4.204 - Thunderstorm coverage
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (6-45%)
+4 4 Numerous (> 45%)
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.205.table b/definitions/grib2/tables/33/4.205.table
new file mode 100644
index 000000000..c40c7f47b
--- /dev/null
+++ b/definitions/grib2/tables/33/4.205.table
@@ -0,0 +1,6 @@
+# Code table 4.205 - Presence of aerosol
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.206.table b/definitions/grib2/tables/33/4.206.table
new file mode 100644
index 000000000..76472c261
--- /dev/null
+++ b/definitions/grib2/tables/33/4.206.table
@@ -0,0 +1,6 @@
+# Code table 4.206 - Volcanic ash
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.207.table b/definitions/grib2/tables/33/4.207.table
new file mode 100644
index 000000000..b6392fca0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.207.table
@@ -0,0 +1,10 @@
+# Code table 4.207 - Icing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.208.table b/definitions/grib2/tables/33/4.208.table
new file mode 100644
index 000000000..4361d38c0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.208.table
@@ -0,0 +1,9 @@
+# Code table 4.208 - Turbulence
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.209.table b/definitions/grib2/tables/33/4.209.table
new file mode 100644
index 000000000..39ea549ac
--- /dev/null
+++ b/definitions/grib2/tables/33/4.209.table
@@ -0,0 +1,9 @@
+# Code table 4.209 - Planetary boundary-layer regime
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.210.table b/definitions/grib2/tables/33/4.210.table
new file mode 100644
index 000000000..791878469
--- /dev/null
+++ b/definitions/grib2/tables/33/4.210.table
@@ -0,0 +1,6 @@
+# Code table 4.210 - Contrail intensity
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.211.table b/definitions/grib2/tables/33/4.211.table
new file mode 100644
index 000000000..2a28a84d9
--- /dev/null
+++ b/definitions/grib2/tables/33/4.211.table
@@ -0,0 +1,7 @@
+# Code table 4.211 - Contrail engine type
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.212.table b/definitions/grib2/tables/33/4.212.table
new file mode 100644
index 000000000..6a3dcf88c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.212.table
@@ -0,0 +1,18 @@
+# Code table 4.212 - Land use
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.213.table b/definitions/grib2/tables/33/4.213.table
new file mode 100644
index 000000000..68d627af6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.213.table
@@ -0,0 +1,16 @@
+# Code table 4.213 - Soil type
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.214.table b/definitions/grib2/tables/33/4.214.table
new file mode 100644
index 000000000..b08860ce0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.214.table
@@ -0,0 +1,11 @@
+# Code table 4.214 - Environmental Factor Qualifier
+0 0 Worst
+1 1 Very poor
+2 2 Poor
+3 3 Average
+4 4 Good
+5 5 Excellent
+# 6-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.215.table b/definitions/grib2/tables/33/4.215.table
new file mode 100644
index 000000000..7888772d5
--- /dev/null
+++ b/definitions/grib2/tables/33/4.215.table
@@ -0,0 +1,9 @@
+# Code table 4.215 - Remotely sensed snow coverage
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.216.table b/definitions/grib2/tables/33/4.216.table
new file mode 100644
index 000000000..b51b358f4
--- /dev/null
+++ b/definitions/grib2/tables/33/4.216.table
@@ -0,0 +1,5 @@
+# Code table 4.216 - Elevation of snow-covered terrain
+# 0-90 Elevation in increments of 100 m
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.217.table b/definitions/grib2/tables/33/4.217.table
new file mode 100644
index 000000000..a700410d5
--- /dev/null
+++ b/definitions/grib2/tables/33/4.217.table
@@ -0,0 +1,8 @@
+# Code table 4.217 - Cloud mask type
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.218.table b/definitions/grib2/tables/33/4.218.table
new file mode 100644
index 000000000..a13debf16
--- /dev/null
+++ b/definitions/grib2/tables/33/4.218.table
@@ -0,0 +1,46 @@
+# Code table 4.218 - Pixel scene type
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation/crops
+15 15 Permanent snow/ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+19 19 Warm liquid water cloud
+20 20 Supercooled liquid water cloud
+21 21 Mixed-phase cloud
+22 22 Optically thin ice cloud
+23 23 Optically thick ice cloud
+24 24 Multilayered cloud
+# 25-96 Reserved
+97 97 Snow/ice on land
+98 98 Snow/ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud/fog/stratus
+102 102 Low cloud/stratocumulus
+103 103 Low cloud/unknown type
+104 104 Medium cloud/nimbostratus
+105 105 Medium cloud/altostratus
+106 106 Medium cloud/unknown type
+107 107 High cloud/cumulus
+108 108 High cloud/cirrus
+109 109 High cloud/unknown
+110 110 Unknown cloud type
+111 111 Single layer water cloud
+112 112 Single layer ice cloud
+# 113-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.219.table b/definitions/grib2/tables/33/4.219.table
new file mode 100644
index 000000000..9979f50ad
--- /dev/null
+++ b/definitions/grib2/tables/33/4.219.table
@@ -0,0 +1,8 @@
+# Code table 4.219 - Cloud top height quality indicator
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.220.table b/definitions/grib2/tables/33/4.220.table
new file mode 100644
index 000000000..88e869e42
--- /dev/null
+++ b/definitions/grib2/tables/33/4.220.table
@@ -0,0 +1,6 @@
+# Code table 4.220 - Horizontal dimension processed
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.221.table b/definitions/grib2/tables/33/4.221.table
new file mode 100644
index 000000000..011cc3518
--- /dev/null
+++ b/definitions/grib2/tables/33/4.221.table
@@ -0,0 +1,6 @@
+# Code table 4.221 - Treatment of missing data
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.222.table b/definitions/grib2/tables/33/4.222.table
new file mode 100644
index 000000000..558d947ac
--- /dev/null
+++ b/definitions/grib2/tables/33/4.222.table
@@ -0,0 +1,6 @@
+# Code table 4.222 - Categorical result
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.223.table b/definitions/grib2/tables/33/4.223.table
new file mode 100644
index 000000000..572c4e7a8
--- /dev/null
+++ b/definitions/grib2/tables/33/4.223.table
@@ -0,0 +1,5 @@
+# Code table 4.223 - Fire detection indicator
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing
diff --git a/definitions/grib2/tables/33/4.224.table b/definitions/grib2/tables/33/4.224.table
new file mode 100644
index 000000000..014f56e23
--- /dev/null
+++ b/definitions/grib2/tables/33/4.224.table
@@ -0,0 +1,18 @@
+# Code table 4.224 - Categorical outlook
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.225.table b/definitions/grib2/tables/33/4.225.table
new file mode 100644
index 000000000..9dc374087
--- /dev/null
+++ b/definitions/grib2/tables/33/4.225.table
@@ -0,0 +1,2 @@
+# Code table 4.225 - Weather (see FM 94 BUFR/FM 95 CREX Code table 0 20 003 - Present weather)
+511 511 Missing value
diff --git a/definitions/grib2/tables/33/4.227.table b/definitions/grib2/tables/33/4.227.table
new file mode 100644
index 000000000..48c3b7633
--- /dev/null
+++ b/definitions/grib2/tables/33/4.227.table
@@ -0,0 +1,9 @@
+# Code table 4.227 - Icing scenario (weather/cloud classification)
+0 0 None
+1 1 General
+2 2 Convective
+3 3 Stratiform
+4 4 Freezing
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.228.table b/definitions/grib2/tables/33/4.228.table
new file mode 100644
index 000000000..048a69f0b
--- /dev/null
+++ b/definitions/grib2/tables/33/4.228.table
@@ -0,0 +1,8 @@
+# Code table 4.228 - Icing severity
+0 0 None
+1 1 Trace
+2 2 Light
+3 3 Moderate
+4 4 Severe
+# 5-254 Reserved
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.230.table b/definitions/grib2/tables/33/4.230.table
new file mode 100644
index 000000000..1871fb176
--- /dev/null
+++ b/definitions/grib2/tables/33/4.230.table
@@ -0,0 +1,601 @@
+# Code table 4.230 - Atmospheric chemical constituent type
+0 0 Ozone O3
+1 1 Water vapour H2O
+2 2 Methane CH4
+3 3 Carbon dioxide CO2
+4 4 Carbon monoxide CO
+5 5 Nitrogen dioxide NO2
+6 6 Nitrous oxide N2O
+7 7 Formaldehyde HCHO
+8 8 Sulphur dioxide SO2
+9 9 Ammonia NH3
+10 10 Ammonium cation NH4+
+11 11 Nitrogen monoxide NO
+12 12 Atomic oxygen O
+13 13 Nitrate radical NO3*
+14 14 Hydroperoxyl radical HOO*
+15 15 Dinitrogen pentoxide N2O5
+16 16 Nitrous acid HONO
+17 17 Nitric acid HNO3
+18 18 Peroxynitric acid HO2NO2
+19 19 Hydrogen peroxide H2O2
+20 20 Dihydrogen H2
+21 21 Atomic nitrogen N
+22 22 Sulphate anion SO42-
+23 23 Atomic Radon Rn
+24 24 Mercury vapour Hg(0)
+25 25 Mercury(II) cation Hg2+
+26 26 Atomic chlorine Cl
+27 27 Chlorine monoxide ClO
+28 28 Dichlorine peroxide Cl2O2
+29 29 Hypochlorous acid HClO
+30 30 Chlorine nitrate ClONO2
+31 31 Chlorine dioxide ClO2
+32 32 Atomic bromine Br
+33 33 Bromine monoxide BrO
+34 34 Bromine chloride BrCl
+35 35 Hydrogen bromide HBr
+36 36 Hypobromous acid HBrO
+37 37 Bromine nitrate BrONO2
+38 38 Dioxygen O2
+39 39 Nitryl chloride NO2Cl
+40 40 Sulphuric acid H2SO4
+41 41 Hydrogen sulphide H2S
+42 42 Sulphur trioxide SO3
+43 43 Bromine Br2
+44 44 Hydrofluoric acid HF
+45 45 Sulphur hexafluoride SF6
+46 46 Chlorine Cl2
+# 47-9999 Reserved
+10000 10000 Hydroxyl radical HO*
+10001 10001 Methyl peroxy radical CH3OO*
+10002 10002 Methyl hydroperoxide CH3OOH
+10004 10004 Methanol CH3OH
+10005 10005 Formic acid HCOOH
+10006 10006 Hydrogen cyanide HCN
+10007 10007 Aceto nitrile CH3CN
+10008 10008 Ethane C2H6
+10009 10009 Ethene (= Ethylene) C2H4
+10010 10010 Ethyne (= Acetylene) C2H2
+10011 10011 Ethanol C2H5OH
+10012 10012 Acetic acid C2H5OOH
+10013 10013 Peroxyacetyl nitrate CH3C(O)OONO2
+10014 10014 Propane C3H8
+10015 10015 Propene C3H6
+10016 10016 Butane (all isomers) C4H10
+10017 10017 Isoprene C5H10
+10018 10018 Alpha pinene C10H16
+10019 10019 Beta pinene C10H16
+10020 10020 Limonene C10H16
+10021 10021 Benzene C6H6
+10022 10022 Toluene C7H8
+10023 10023 Xylene C8H10
+10024 10024 Methanesulphonic acid CH3SO3H
+10025 10025 Methylglyoxal (2-oxopropanal) CH3C(O)CHO
+10026 10026 Peroxyacetyl radical CH3C(O)OO*
+10027 10027 Methacrylic acid (2-methylprop-2-enoic acid) CH2C(CH3)COOH
+10028 10028 Methacrolein (2-methylprop-2-enal) CH2C(CH3)CHO
+10029 10029 Acetone (propan-2-one) CH3C(O)CH3
+10030 10030 Ethyl dioxidanyl radical CH3CH2OO*
+10031 10031 Butadiene (buta-1,3-diene) (CH2CH)2
+10032 10032 Acetaldehyde (ethanal) CH3CHO
+10033 10033 Glycolaldehyde (hydroxyethanal) HOCH2CHO
+10034 10034 Cresol (methylphenol), all isomers CH3C6H4OH
+10035 10035 Peracetic acid (ethaneperoxoic acid) CH3C(O)OOH
+10036 10036 2-hydroxyethyl oxidanyl radical HOCH2CH2O*
+10037 10037 2-hydroxyethyl dioxidanyl radical HOCH2CH2OO*
+10038 10038 Glyoxal (oxaldehyde) OCHCHO
+10039 10039 Isopropyl dioxidanyl radical (CH3)2CHOO*
+10040 10040 Isopropyl hydroperoxide (2-hydroperoxypropane) (CH3)2CHOOH
+10041 10041 Hydroxyacetone (1-hydroxypropan-2-one) CH3C(O)CH2OH
+10042 10042 Peroxyacetic acid (ethaneperoxoic acid) CH3C(O)OOH
+10043 10043 Methyl vinyl ketone (but-3-en-2-one) CH3C(O)CHCH2
+10044 10044 Phenoxy radical C6H5O*
+10045 10045 Methyl radical CH3*
+10046 10046 Carbonyl sulphide (carbon oxide sulphide) OCS
+10047 10047 Dibromomethane CH2Br2
+10048 10048 Methoxy radical CH3O*
+10049 10049 Tribromomethane CHBr3
+10050 10050 Formyl radical (oxomethyl radical) HOC*
+10051 10051 Hydroxymethyl dioxidanyl radical HOCH2OO*
+10052 10052 Ethyl hydroperoxide CH3CH2OOH
+10053 10053 3-hydroxypropyl dioxidanyl radical HOCH2CH2CH2OO*
+10054 10054 3-hydroxypropyl hydroperoxide HOCH2CH2CH2OOH
+10055 10055 Methyl-peroxy-nitrate (nitroperoxy-methane) CH3OONO2
+10056 10056 2-lambda^1-oxidanyloxy-2-methylbut-3-en-1-ol (4-hydroxy-3-methyl-1-butene-3-ylperoxy radical) HOCH2C(CH3)(OO*)CHCH2
+10057 10057 2-lambda^1-oxidanyloxy-3-methylbut-3-en-1-ol (2-hydroxy-1-isopropenylethylperoxy radical) HOCH2CH(OO*)C(CH3)CH2
+10058 10058 (Z)-4-hydroperoxy-2-methyl-2-butenal CH2(OOH)CHC(CH3)CHO
+10059 10059 (Z)-4-hydroperoxy-3-methyl-2-butenal CH2(OOH)C(CH3)CHCHO
+# 10060-10499 Reserved for other simple organic molecules (e.g. higher aldehydes, alcohols, peroxides, etc.)
+10500 10500 Dimethyl sulphide CH3SCH3 (DMS)
+10501 10501 DMSO (dimethyl sulfoxide) (CH3)2SO
+# 10502-20000 Reserved
+20001 20001 Hydrogen chloride HCl
+20002 20002 CFC-11 (trichlorofluoromethane) CCl3F
+20003 20003 CFC-12 (dichlorodifluoromethane) CCl2F2
+20004 20004 CFC-113 (1,1,2-trichloro-1,2,2-trifluoroethane) Cl2FC-CClF2
+20005 20005 CFC-113a (1,1,1-trichloro-2,2,2-trifluoroethane) Cl3C-CF3
+20006 20006 CFC-114 (1,2-dichloro-1,1,2,2-tetrafluoroethane) ClF2C-CClF2
+20007 20007 CFC-115 (1-chloro-1,1,2,2,2-pentafluoroethane) ClF2C-CF3
+20008 20008 HCFC-22 (chlorodifluoromethane) CHClF2
+20009 20009 HCFC-141b (1,1-dichloro-1-fluoroethane) Cl2FC-CH3
+20010 20010 HCFC-142b (1-chloro-1,1-difluoroethane) ClF2C-CH3
+20011 20011 Halon-1202 (dibromodifluoromethane) CBr2F2
+20012 20012 Halon-1211 (bromochlorodifluoromethane) CBrClF2
+20013 20013 Halon-1301 (bromotrifluoromethane) CBrF3
+20014 20014 Halon-2402 (1,2-dibromo-1,1,2,2-tetrafluoroethane) BrF2C-CBrF2
+20015 20015 HCC-40 (methyl chloride) CH3Cl
+20016 20016 HCC-10 (carbon tetrachloride) CCl4
+20017 20017 HCC-140a (1,1,1-trichloroethane) Cl3C-CH3
+20018 20018 HBC-40B1 (methyl bromide) CH3Br
+20019 20019 HCH (hexachlorocyclohexane) all isomers C6H6Cl6
+20020 20020 alpha-HCH (alpha-hexachlorocyclohexane) both enantiomers alpha-C6H6Cl6
+20021 20021 PCB-153 (2,2',4,4',5,5'-hexachlorobiphenyl) (C6H2Cl3)2
+20022 20022 HCFC-141a (1,1-dichloro-2-fluoroethane) Cl2HC-CH2F
+# 20023-29999 Reserved
+30000 30000 Radioactive pollutant (tracer, defined by originating centre)
+# 30001-30009 Reserved
+30010 30010 Tritium (Hydrogen 3) H-3
+30011 30011 Tritium organic bounded H-3o
+30012 30012 Tritium inorganic H-3a
+30013 30013 Beryllium 7 Be-7
+30014 30014 Beryllium 10 Be-10
+30015 30015 Carbon 14 C-14
+30016 30016 Carbon 14 CO2 C-14CO2
+30017 30017 Carbon 14 other gases C-14og
+30018 30018 Nitrogen 13 N-13
+30019 30019 Nitrogen 16 N-16
+30020 30020 Fluorine 18 F-18
+30021 30021 Sodium 22 Na-22
+30022 30022 Phosphate 32 P-32
+30023 30023 Phosphate 33 P-33
+30024 30024 Sulphur 35 S-35
+30025 30025 Chlorine 36 Cl-36
+30026 30026 Potassium 40 K-40
+30027 30027 Argon 41 Ar-41
+30028 30028 Calcium 41 Ca-41
+30029 30029 Calcium 45 Ca-45
+30030 30030 Titanium 44 Ti-44
+30031 30031 Scandium 46 Sc-46
+30032 30032 Vanadium 48 V-48
+30033 30033 Vanadium 49 V-49
+30034 30034 Chrome 51 Cr-51
+30035 30035 Manganese 52 Mn-52
+30036 30036 Manganese 54 Mn-54
+30037 30037 Iron 55 Fe-55
+30038 30038 Iron 59 Fe-59
+30039 30039 Cobalt 56 Co-56
+30040 30040 Cobalt 57 Co-57
+30041 30041 Cobalt 58 Co-58
+30042 30042 Cobalt 60 Co-60
+30043 30043 Nickel 59 Ni-59
+30044 30044 Nickel 63 Ni-63
+30045 30045 Zinc 65 Zn-65
+30046 30046 Gallium 67 Ga-67
+30047 30047 Gallium 68 Ga-68
+30048 30048 Germanium 68 Ge-68
+30049 30049 Germanium 69 Ge-69
+30050 30050 Arsenic 73 As-73
+30051 30051 Selenium 75 Se-75
+30052 30052 Selenium 79 Se-79
+30053 30053 Rubidium 81 Rb-81
+30054 30054 Rubidium 83 Rb-83
+30055 30055 Rubidium 84 Rb-84
+30056 30056 Rubidium 86 Rb-86
+30057 30057 Rubidium 87 Rb-87
+30058 30058 Rubidium 88 Rb-88
+30059 30059 Krypton 85 Kr-85
+30060 30060 Krypton 85 metastable Kr-85m
+30061 30061 Krypton 87 Kr-87
+30062 30062 Krypton 88 Kr-88
+30063 30063 Krypton 89 Kr-89
+30064 30064 Strontium 85 Sr-85
+30065 30065 Strontium 89 Sr-89
+30066 30066 Strontium 89/90 Sr-8990
+30067 30067 Strontium 90 Sr-90
+30068 30068 Strontium 91 Sr-91
+30069 30069 Strontium 92 Sr-92
+30070 30070 Yttrium 87 Y-87
+30071 30071 Yttrium 88 Y-88
+30072 30072 Yttrium 90 Y-90
+30073 30073 Yttrium 91 Y-91
+30074 30074 Yttrium 91 metastable Y-91m
+30075 30075 Yttrium 92 Y-92
+30076 30076 Yttrium 93 Y-93
+30077 30077 Zirconium 89 Zr-89
+30078 30078 Zirconium 93 Zr-93
+30079 30079 Zirconium 95 Zr-95
+30080 30080 Zirconium 97 Zr-97
+30081 30081 Niobium 93 metastable Nb-93m
+30082 30082 Niobium 94 Nb-94
+30083 30083 Niobium 95 Nb-95
+30084 30084 Niobium 95 metastable Nb-95m
+30085 30085 Niobium 97 Nb-97
+30086 30086 Niobium 97 metastable Nb-97m
+30087 30087 Molybdenum 93 Mo-93
+30088 30088 Molybdenum 99 Mo-99
+30089 30089 Technetium 95 metastable Tc-95m
+30090 30090 Technetium 96 Tc-96
+30091 30091 Technetium 99 Tc-99
+30092 30092 Technetium 99 metastable Tc-99m
+30093 30093 Rhodium 99 Rh-99
+30094 30094 Rhodium 101 Rh-101
+30095 30095 Rhodium 102 metastable Rh-102m
+30096 30096 Rhodium 103 metastable Rh-103m
+30097 30097 Rhodium 105 Rh-105
+30098 30098 Rhodium 106 Rh-106
+30099 30099 Palladium 100 Pd-100
+30100 30100 Palladium 103 Pd-103
+30101 30101 Palladium 107 Pd-107
+30102 30102 Ruthenium 103 Ru-103
+30103 30103 Ruthenium 105 Ru-105
+30104 30104 Ruthenium 106 Ru-106
+30105 30105 Silver 108 metastable Ag-108m
+30106 30106 Silver 110 metastable Ag-110m
+30107 30107 Cadmium 109 Cd-109
+30108 30108 Cadmium 113 metastable Cd-113m
+30109 30109 Cadmium 115 metastable Cd-115m
+30110 30110 Indium 114 metastable In-114m
+30111 30111 Tin 113 Sn-113
+30112 30112 Tin 119 metastable Sn-119m
+30113 30113 Tin 121 metastable Sn-121m
+30114 30114 Tin 122 Sn-122
+30115 30115 Tin 123 Sn-123
+30116 30116 Tin 126 Sn-126
+30117 30117 Antimony 124 Sb-124
+30118 30118 Antimony 125 Sb-125
+30119 30119 Antimony 126 Sb-126
+30120 30120 Antimony 127 Sb-127
+30121 30121 Antimony 129 Sb-129
+30122 30122 Tellurium 123 metastable Te-123m
+30123 30123 Tellurium 125 metastable Te-125m
+30124 30124 Tellurium 127 Te-127
+30125 30125 Tellurium 127 metastable Te-127m
+30126 30126 Tellurium 129 Te-129
+30127 30127 Tellurium 129 metastable Te-129m
+30128 30128 Tellurium 131 metastable Te-131m
+30129 30129 Tellurium 132 Te-132
+30130 30130 Iodine 123 I-123
+30131 30131 Iodine 124 I-124
+30132 30132 Iodine 125 I-125
+30133 30133 Iodine 126 I-126
+30134 30134 Iodine 129 I-129
+30135 30135 Iodine 129 elementary gaseous I-129g
+30136 30136 Iodine 129 organic bounded I-129o
+30137 30137 Iodine 131 I-131
+30138 30138 Iodine 131 elementary gaseous I-131g
+30139 30139 Iodine 131 organic bounded I-131o
+30140 30140 Iodine 131 gaseous elementary and organic bounded I-131go
+30141 30141 Iodine 131 aerosol I-131a
+30142 30142 Iodine 132 I-132
+30143 30143 Iodine 132 elementary gaseous I-132g
+30144 30144 Iodine 132 organic bounded I-132o
+30145 30145 Iodine 132 gaseous elementary and organic bounded I-132go
+30146 30146 Iodine 132 aerosol I-132a
+30147 30147 Iodine 133 I-133
+30148 30148 Iodine 133 elementary gaseous I-133g
+30149 30149 Iodine 133 organic bounded I-133o
+30150 30150 Iodine 133 gaseous elementary and organic bounded I-133go
+30151 30151 Iodine 133 aerosol I-133a
+30152 30152 Iodine 134 I-134
+30153 30153 Iodine 134 elementary gaseous I-134g
+30154 30154 Iodine 134 organic bounded I-134o
+30155 30155 Iodine 135 I-135
+30156 30156 Iodine 135 elementary gaseous I-135g
+30157 30157 Iodine 135 organic bounded I-135o
+30158 30158 Iodine 135 gaseous elementary and organic bounded I-135go
+30159 30159 Iodine 135 aerosol I-135a
+30160 30160 Xenon 131 metastable Xe-131m
+30161 30161 Xenon 133 Xe-133
+30162 30162 Xenon 133 metastable Xe-133m
+30163 30163 Xenon 135 Xe-135
+30164 30164 Xenon 135 metastable Xe-135m
+30165 30165 Xenon 137 Xe-137
+30166 30166 Xenon 138 Xe-138
+30167 30167 Xenon sum of all Xenon isotopes Xe-sum
+30168 30168 Caesium 131 Cs-131
+30169 30169 Caesium 134 Cs-134
+30170 30170 Caesium 135 Cs-135
+30171 30171 Caesium 136 Cs-136
+30172 30172 Caesium 137 Cs-137
+30173 30173 Barium 133 Ba-133
+30174 30174 Barium 137 metastable Ba-137m
+30175 30175 Barium 140 Ba-140
+30176 30176 Cerium 139 Ce-139
+30177 30177 Cerium 141 Ce-141
+30178 30178 Cerium 143 Ce-143
+30179 30179 Cerium 144 Ce-144
+30180 30180 Lanthanum 140 La-140
+30181 30181 Lanthanum 141 La-141
+30182 30182 Praseodymium 143 Pr-143
+30183 30183 Praseodymium 144 Pr-144
+30184 30184 Praseodymium 144 metastable Pr-144m
+30185 30185 Samarium 145 Sm-145
+30186 30186 Samarium 147 Sm-147
+30187 30187 Samarium 151 Sm-151
+30188 30188 Neodymium 147 Nd-147
+30189 30189 Promethium 146 Pm-146
+30190 30190 Promethium 147 Pm-147
+30191 30191 Promethium 151 Pm-151
+30192 30192 Europium 152 Eu-152
+30193 30193 Europium 154 Eu-154
+30194 30194 Europium 155 Eu-155
+30195 30195 Gadolinium 153 Gd-153
+30196 30196 Terbium 160 Tb-160
+30197 30197 Holmium 166 metastable Ho-166m
+30198 30198 Thulium 170 Tm-170
+30199 30199 Ytterbium 169 Yb-169
+30200 30200 Hafnium 175 Hf-175
+30201 30201 Hafnium 181 Hf-181
+30202 30202 Tantalum 179 Ta-179
+30203 30203 Tantalum 182 Ta-182
+30204 30204 Rhenium 184 Re-184
+30205 30205 Iridium 192 Ir-192
+30206 30206 Mercury 203 Hg-203
+30207 30207 Thallium 204 Tl-204
+30208 30208 Thallium 207 Tl-207
+30209 30209 Thallium 208 Tl-208
+30210 30210 Thallium 209 Tl-209
+30211 30211 Bismuth 205 Bi-205
+30212 30212 Bismuth 207 Bi-207
+30213 30213 Bismuth 210 Bi-210
+30214 30214 Bismuth 211 Bi-211
+30215 30215 Bismuth 212 Bi-212
+30216 30216 Bismuth 213 Bi-213
+30217 30217 Bismuth 214 Bi-214
+30218 30218 Polonium 208 Po-208
+30219 30219 Polonium 210 Po-210
+30220 30220 Polonium 212 Po-212
+30221 30221 Polonium 213 Po-213
+30222 30222 Polonium 214 Po-214
+30223 30223 Polonium 215 Po-215
+30224 30224 Polonium 216 Po-216
+30225 30225 Polonium 218 Po-218
+30226 30226 Lead 209 Pb-209
+30227 30227 Lead 210 Pb-210
+30228 30228 Lead 211 Pb-211
+30229 30229 Lead 212 Pb-212
+30230 30230 Lead 214 Pb-214
+30231 30231 Astatine 217 At-217
+30232 30232 Radon 219 Rn-219
+30233 30233 Radon 220 Rn-220
+30234 30234 Radon 222 Rn-222
+30235 30235 Francium 221 Fr-221
+30236 30236 Francium 223 Fr-223
+30237 30237 Radium 223 Ra-223
+30238 30238 Radium 224 Ra-224
+30239 30239 Radium 225 Ra-225
+30240 30240 Radium 226 Ra-226
+30241 30241 Radium 228 Ra-228
+30242 30242 Actinium 225 Ac-225
+30243 30243 Actinium 227 Ac-227
+30244 30244 Actinium 228 Ac-228
+30245 30245 Thorium 227 Th-227
+30246 30246 Thorium 228 Th-228
+30247 30247 Thorium 229 Th-229
+30248 30248 Thorium 230 Th-230
+30249 30249 Thorium 231 Th-231
+30250 30250 Thorium 232 Th-232
+30251 30251 Thorium 234 Th-234
+30252 30252 Protactinium 231 Pa-231
+30253 30253 Protactinium 233 Pa-233
+30254 30254 Protactinium 234 metastable Pa-234m
+30255 30255 Uranium 232 U-232
+30256 30256 Uranium 233 U-233
+30257 30257 Uranium 234 U-234
+30258 30258 Uranium 235 U-235
+30259 30259 Uranium 236 U-236
+30260 30260 Uranium 237 U-237
+30261 30261 Uranium 238 U-238
+30262 30262 Plutonium 236 Pu-236
+30263 30263 Plutonium 238 Pu-238
+30264 30264 Plutonium 239 Pu-239
+30265 30265 Plutonium 240 Pu-240
+30266 30266 Plutonium 241 Pu-241
+30267 30267 Plutonium 242 Pu-242
+30268 30268 Plutonium 244 Pu-244
+30269 30269 Neptunium 237 Np-237
+30270 30270 Neptunium 238 Np-238
+30271 30271 Neptunium 239 Np-239
+30272 30272 Americium 241 Am-241
+30273 30273 Americium 242 Am-242
+30274 30274 Americium 242 metastable Am-242m
+30275 30275 Americium 243 Am-243
+30276 30276 Curium 242 Cm-242
+30277 30277 Curium 243 Cm-243
+30278 30278 Curium 244 Cm-244
+30279 30279 Curium 245 Cm-245
+30280 30280 Curium 246 Cm-246
+30281 30281 Curium 247 Cm-247
+30282 30282 Curium 248 Cm-248
+30283 30283 Curium 243/244 Cm-243244
+30284 30284 Plutonium 238/Americium 241 Pu-238Am-241
+30285 30285 Plutonium 239/240 Pu-239240
+30286 30286 Berkelium 249 Bk-249
+30287 30287 Californium 249 Cf-249
+30288 30288 Californium 250 Cf-250
+30289 30289 Californium 252 Cf-252
+30290 30290 Sum aerosol particulates SumAer
+30291 30291 Sum Iodine SumIod
+30292 30292 Sum noble gas SumNG
+30293 30293 Activation gas ActGas
+30294 30294 Cs-137 Equivalent EquCs137
+30295 30295 Carbon-13 C-13
+30296 30296 Lead Pb
+30297 30297 Tellurium 131 Te-131
+30298 30298 Neodymium 137 Nd-137
+30299 30299 Pseudo radionuclide
+30300 30300 Silver 112 Ag-112
+30301 30301 Silver 115 Ag-115
+30302 30302 Barium 139 Ba-139
+30303 30303 Barium 141 Ba-141
+30304 30304 Barium 142 Ba-142
+30305 30305 Bromine 84 Br-84
+30306 30306 Cadminum 115 Cd-115
+30307 30307 Cadminum 117 Cd-117
+30308 30308 Cadminum 117 metastable Cd-117m
+30309 30309 Cerium 145 Ce-145
+30310 30310 Cerium 146 Ce-146
+30311 30311 Cobalt 58 metastable Co-58m
+30312 30312 Ceasium 138 Cs-138
+30313 30313 Ceasium 139 Cs-139
+30314 30314 Iodine 130 aerosol I-130a
+30315 30315 Iodine 130 elementary gaseous I-130e
+30316 30316 Iodine 130 organic bounded I-130o
+30317 30317 Iodine 132 metastable I-132m
+30318 30318 Iodine 134 metastable I-134m
+30319 30319 Indium 115 metastable In-115m
+30320 30320 Indium 117 metastable In-117m
+30321 30321 Krypton 83 metastable Kr-83m
+30322 30322 Lanthanum 142 La-142
+30323 30323 Lanthanum 143 La-143
+30324 30324 Manganese 56 Mn-56
+30325 30325 Molybdenum 101 Mo-101
+30326 30326 Molybdenum 102 Mo-102
+30327 30327 Neodymium 149 Nd-149
+30328 30328 Neodymium 151 Nd-151
+30329 30329 Palladium 109 Pd-109
+30330 30330 Palladium 112 Pd-112
+30331 30331 Praseodymium 145 Pr-145
+30332 30332 Praseodymium 146 Pr-146
+30333 30333 Praseodymium 147 Pr-147
+30334 30334 Rubidium 89 Rb-89
+30335 30335 Rubidium 90 Rb-90
+30336 30336 Rubidium 90 metastable Rb-90m
+30337 30337 Rhodium 105 metastable Rh-105m
+30338 30338 Rhodium 107 Rh-107
+30339 30339 Antimony 128 Sb-128
+30340 30340 Antimony 128 metastable Sb-128m
+30341 30341 Antimony 129 metastable Sb-129m
+30342 30342 Antimony 130 Sb-130
+30343 30343 Antimony 130 metastable Sb-130m
+30344 30344 Antimony 131 Sb-131
+30345 30345 Antimony 132 Sb-132
+30346 30346 Antimony 132 metastable Sb-132m
+30347 30347 Antimony 133 Sb-133
+30348 30348 Selenium 83 Se-83
+30349 30349 Tin 127 Sn-127
+30350 30350 Tin 127 metastable Sn-127m
+30351 30351 Tin 128 Sn-128
+30352 30352 Tin 129 metastable Sn-129m
+30353 30353 Tin 130 Sn-130
+30354 30354 Strontium 93 Sr-93
+30355 30355 Technetium 101 Tc-101
+30356 30356 Technetium 102 Tc-102
+30357 30357 Technetium 104 Tc-104
+30358 30358 Technetium 105 Tc-105
+30359 30359 Tellurium 133 Te-133
+30360 30360 Tellurium 133 metastable Te-133m
+30361 30361 Tellurium 134 Te-134
+30362 30362 Yttrium 93 metastable Y-93m
+30363 30363 Yttrium 94 Y-94
+30364 30364 Yttrium 95 Y-95
+30365 30365 Zirconium 96 Zr-96
+# 30366-39999 Reserved
+40000 40000 Singlet sigma oxygen (dioxygen (sigma singlet)) O2
+40001 40001 Singlet delta oxygen (dioxygen (delta singlet)) O2
+40002 40002 Singlet excited oxygen atom O(1D)
+40003 40003 Triplet ground state oxygen atom O(3P)
+# 40004-59999 Reserved
+60000 60000 HOx radical (OH+HO2) HOx*
+60001 60001 Total inorganic and organic peroxy radicals (HOO* + ROO*) ROO*
+60002 60002 Passive Ozone
+60003 60003 NOx expressed as nitrogen NOx
+60004 60004 All nitrogen oxides (NOy) expressed as nitrogen NOy
+60005 60005 Total inorganic chlorine Clx
+60006 60006 Total inorganic bromine Brx
+60007 60007 Total inorganic chlorine except HCl, ClONO2: ClOx
+60008 60008 Total inorganic bromine except HBr, BrONO2: BrOx
+60009 60009 Lumped alkanes
+60010 60010 Lumped alkenes
+60011 60011 Lumped aromatic compounds
+60012 60012 Lumped terpenes
+60013 60013 Non-methane volatile organic compounds expressed as carbon NMVOC
+60014 60014 Anthropogenic non-methane volatile organic compounds expressed as carbon aNMVOC
+60015 60015 Biogenic non-methane volatile organic compounds expressed as carbon bNMVOC
+60016 60016 Lumped oxygenated hydrocarbons OVOC
+60017 60017 NOx expressed as nitrogen dioxide (NO2) NOx
+60018 60018 Organic aldehydes RCHO
+60019 60019 Organic peroxides ROOH
+60020 60020 Organic nitrates RNO3
+60021 60021 Ethers ROR'
+60022 60022 Amines NRR'R''
+60023 60023 Ketones RC(O)R'
+60024 60024 Dicarbonyls unsaturated RC(O)CH2C(O)R'
+60025 60025 Hydroxy dicarbonyls unsaturated RC(O)CHOHC(O)R'
+60026 60026 Hydroxy ketones RC(OH)C(O)R'
+60027 60027 Oxides Ox
+60028 60028 Peroxyacyl nitrates RC(O)OONO2
+60029 60029 Aromatic peroxide radical (Aryl dioxydanyl radicals) ArOO*
+60030 60030 Biogenic secondary organic compound
+60031 60031 Anthropogenic secondary organic compound
+60032 60032 All hydroxy-peroxides products of the reaction of hydroxy-isoprene adducts with O2 ISOPOOH
+60033 60033 Anthropogenic volatile organic compounds aVOC
+60034 60034 Biomass burning volatile organic compounds bbVOC
+# 60035-61999 Reserved
+62000 62000 Total aerosol
+62001 62001 Dust dry
+62002 62002 Water in ambient
+62003 62003 Ammonium dry
+62004 62004 Nitrate dry
+62005 62005 Nitric acid trihydrate
+62006 62006 Sulphate dry
+62007 62007 Mercury dry
+62008 62008 Sea salt dry
+62009 62009 Black carbon dry
+62010 62010 Particulate organic matter dry
+62011 62011 Primary particulate organic matter dry
+62012 62012 Secondary particulate organic matter dry
+62013 62013 Black carbon hydrophilic dry
+62014 62014 Black carbon hydrophobic dry
+62015 62015 Particulate organic matter hydrophilic dry
+62016 62016 Particulate organic matter hydrophobic dry
+62017 62017 Nitrate hydrophilic dry
+62018 62018 Nitrate hydrophobic dry
+# 62019 Reserved
+62020 62020 Smoke - high absorption
+62021 62021 Smoke - low absorption
+62022 62022 Aerosol - high absorption
+62023 62023 Aerosol - low absorption
+# 62024 Reserved
+62025 62025 Volcanic ash
+62026 62026 Particulate matter (PM)
+# 62027 Reserved
+62028 62028 Total aerosol hydrophilic
+62029 62029 Total aerosol hydrophobic
+62030 62030 Primary particulate inorganic matter dry
+62031 62031 Secondary particulate inorganic matter dry
+62032 62032 Biogenic secondary organic aerosol
+62033 62033 Anthropogenic secondary organic aerosol
+62034 62034 Rain water H2Orain
+62035 62035 Cloud water H2Ocloud
+62036 62036 Brown carbon dry
+# 62037-62099 Reserved
+62100 62100 Alnus (alder) pollen
+62101 62101 Betula (birch) pollen
+62102 62102 Castanea (chestnut) pollen
+62103 62103 Carpinus (hornbeam) pollen
+62104 62104 Corylus (hazel) pollen
+62105 62105 Fagus (beech) pollen
+62106 62106 Fraxinus (ash) pollen
+62107 62107 Pinus (pine) pollen
+62108 62108 Platanus (plane) pollen
+62109 62109 Populus (cottonwood, poplar) pollen
+62110 62110 Quercus (oak) pollen
+62111 62111 Salix (willow) pollen
+62112 62112 Taxus (yew) pollen
+62113 62113 Tilia (lime, linden) pollen
+62114 62114 Ulmus (elm) pollen
+62115 62115 Olea (olive) pollen
+# 62116-62199 Reserved
+62200 62200 Ambrosia (ragweed, burr-ragweed) pollen
+62201 62201 Artemisia (sagebrush, wormwood, mugwort) pollen
+62202 62202 Brassica (rape, broccoli, Brussels sprouts, cabbage, cauliflower, collards, kale, kohlrabi, mustard, rutabaga) pollen
+62203 62203 Plantago (plantain) pollen
+62204 62204 Rumex (dock, sorrel) pollen
+62205 62205 Urtica (nettle) pollen
+# 62206-62299 Reserved
+62300 62300 Poaceae (grass family) pollen
+# 62301-62999 Reserved
+# 63000-65534 For experimental use at local level
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/4.233.table b/definitions/grib2/tables/33/4.233.table
new file mode 100644
index 000000000..00b837c93
--- /dev/null
+++ b/definitions/grib2/tables/33/4.233.table
@@ -0,0 +1,601 @@
+# Code table 4.233 - Aerosol type
+0 0 Ozone O3
+1 1 Water vapour H2O
+2 2 Methane CH4
+3 3 Carbon dioxide CO2
+4 4 Carbon monoxide CO
+5 5 Nitrogen dioxide NO2
+6 6 Nitrous oxide N2O
+7 7 Formaldehyde HCHO
+8 8 Sulphur dioxide SO2
+9 9 Ammonia NH3
+10 10 Ammonium cation NH4+
+11 11 Nitrogen monoxide NO
+12 12 Atomic oxygen O
+13 13 Nitrate radical NO3*
+14 14 Hydroperoxyl radical HOO*
+15 15 Dinitrogen pentoxide N2O5
+16 16 Nitrous acid HONO
+17 17 Nitric acid HNO3
+18 18 Peroxynitric acid HO2NO2
+19 19 Hydrogen peroxide H2O2
+20 20 Dihydrogen H2
+21 21 Atomic nitrogen N
+22 22 Sulphate anion SO42-
+23 23 Atomic Radon Rn
+24 24 Mercury vapour Hg(0)
+25 25 Mercury(II) cation Hg2+
+26 26 Atomic chlorine Cl
+27 27 Chlorine monoxide ClO
+28 28 Dichlorine peroxide Cl2O2
+29 29 Hypochlorous acid HClO
+30 30 Chlorine nitrate ClONO2
+31 31 Chlorine dioxide ClO2
+32 32 Atomic bromine Br
+33 33 Bromine monoxide BrO
+34 34 Bromine chloride BrCl
+35 35 Hydrogen bromide HBr
+36 36 Hypobromous acid HBrO
+37 37 Bromine nitrate BrONO2
+38 38 Dioxygen O2
+39 39 Nitryl chloride NO2Cl
+40 40 Sulphuric acid H2SO4
+41 41 Hydrogen sulphide H2S
+42 42 Sulphur trioxide SO3
+43 43 Bromine Br2
+44 44 Hydrofluoric acid HF
+45 45 Sulphur hexafluoride SF6
+46 46 Chlorine Cl2
+# 47-9999 Reserved
+10000 10000 Hydroxyl radical HO*
+10001 10001 Methyl peroxy radical CH3OO*
+10002 10002 Methyl hydroperoxide CH3OOH
+10004 10004 Methanol CH3OH
+10005 10005 Formic acid HCOOH
+10006 10006 Hydrogen cyanide HCN
+10007 10007 Aceto nitrile CH3CN
+10008 10008 Ethane C2H6
+10009 10009 Ethene (= Ethylene) C2H4
+10010 10010 Ethyne (= Acetylene) C2H2
+10011 10011 Ethanol C2H5OH
+10012 10012 Acetic acid C2H5OOH
+10013 10013 Peroxyacetyl nitrate CH3C(O)OONO2
+10014 10014 Propane C3H8
+10015 10015 Propene C3H6
+10016 10016 Butane (all isomers) C4H10
+10017 10017 Isoprene C5H10
+10018 10018 Alpha pinene C10H16
+10019 10019 Beta pinene C10H16
+10020 10020 Limonene C10H16
+10021 10021 Benzene C6H6
+10022 10022 Toluene C7H8
+10023 10023 Xylene C8H10
+10024 10024 Methanesulphonic acid CH3SO3H
+10025 10025 Methylglyoxal (2-oxopropanal) CH3C(O)CHO
+10026 10026 Peroxyacetyl radical CH3C(O)OO*
+10027 10027 Methacrylic acid (2-methylprop-2-enoic acid) CH2C(CH3)COOH
+10028 10028 Methacrolein (2-methylprop-2-enal) CH2C(CH3)CHO
+10029 10029 Acetone (propan-2-one) CH3C(O)CH3
+10030 10030 Ethyl dioxidanyl radical CH3CH2OO*
+10031 10031 Butadiene (buta-1,3-diene) (CH2CH)2
+10032 10032 Acetaldehyde (ethanal) CH3CHO
+10033 10033 Glycolaldehyde (hydroxyethanal) HOCH2CHO
+10034 10034 Cresol (methylphenol), all isomers CH3C6H4OH
+10035 10035 Peracetic acid (ethaneperoxoic acid) CH3C(O)OOH
+10036 10036 2-hydroxyethyl oxidanyl radical HOCH2CH2O*
+10037 10037 2-hydroxyethyl dioxidanyl radical HOCH2CH2OO*
+10038 10038 Glyoxal (oxaldehyde) OCHCHO
+10039 10039 Isopropyl dioxidanyl radical (CH3)2CHOO*
+10040 10040 Isopropyl hydroperoxide (2-hydroperoxypropane) (CH3)2CHOOH
+10041 10041 Hydroxyacetone (1-hydroxypropan-2-one) CH3C(O)CH2OH
+10042 10042 Peroxyacetic acid (ethaneperoxoic acid) CH3C(O)OOH
+10043 10043 Methyl vinyl ketone (but-3-en-2-one) CH3C(O)CHCH2
+10044 10044 Phenoxy radical C6H5O*
+10045 10045 Methyl radical CH3*
+10046 10046 Carbonyl sulphide (carbon oxide sulphide) OCS
+10047 10047 Dibromomethane CH2Br2
+10048 10048 Methoxy radical CH3O*
+10049 10049 Tribromomethane CHBr3
+10050 10050 Formyl radical (oxomethyl radical) HOC*
+10051 10051 Hydroxymethyl dioxidanyl radical HOCH2OO*
+10052 10052 Ethyl hydroperoxide CH3CH2OOH
+10053 10053 3-hydroxypropyl dioxidanyl radical HOCH2CH2CH2OO*
+10054 10054 3-hydroxypropyl hydroperoxide HOCH2CH2CH2OOH
+10055 10055 Methyl-peroxy-nitrate (nitroperoxy-methane) CH3OONO2
+10056 10056 2-lambda^1-oxidanyloxy-2-methylbut-3-en-1-ol (4-hydroxy-3-methyl-1-butene-3-ylperoxy radical) HOCH2C(CH3)(OO*)CHCH2
+10057 10057 2-lambda^1-oxidanyloxy-3-methylbut-3-en-1-ol (2-hydroxy-1-isopropenylethylperoxy radical) HOCH2CH(OO*)C(CH3)CH2
+10058 10058 (Z)-4-hydroperoxy-2-methyl-2-butenal CH2(OOH)CHC(CH3)CHO
+10059 10059 (Z)-4-hydroperoxy-3-methyl-2-butenal CH2(OOH)C(CH3)CHCHO
+# 10060-10499 Reserved for other simple organic molecules (e.g. higher aldehydes, alcohols, peroxides, etc.)
+10500 10500 Dimethyl sulphide CH3SCH3 (DMS)
+10501 10501 DMSO (dimethyl sulfoxide) (CH3)2SO
+# 10502-20000 Reserved
+20001 20001 Hydrogen chloride HCl
+20002 20002 CFC-11 (trichlorofluoromethane) CCl3F
+20003 20003 CFC-12 (dichlorodifluoromethane) CCl2F2
+20004 20004 CFC-113 (1,1,2-trichloro-1,2,2-trifluoroethane) Cl2FC-CClF2
+20005 20005 CFC-113a (1,1,1-trichloro-2,2,2-trifluoroethane) Cl3C-CF3
+20006 20006 CFC-114 (1,2-dichloro-1,1,2,2-tetrafluoroethane) ClF2C-CClF2
+20007 20007 CFC-115 (1-chloro-1,1,2,2,2-pentafluoroethane) ClF2C-CF3
+20008 20008 HCFC-22 (chlorodifluoromethane) CHClF2
+20009 20009 HCFC-141b (1,1-dichloro-1-fluoroethane) Cl2FC-CH3
+20010 20010 HCFC-142b (1-chloro-1,1-difluoroethane) ClF2C-CH3
+20011 20011 Halon-1202 (dibromodifluoromethane) CBr2F2
+20012 20012 Halon-1211 (bromochlorodifluoromethane) CBrClF2
+20013 20013 Halon-1301 (bromotrifluoromethane) CBrF3
+20014 20014 Halon-2402 (1,2-dibromo-1,1,2,2-tetrafluoroethane) BrF2C-CBrF2
+20015 20015 HCC-40 (methyl chloride) CH3Cl
+20016 20016 HCC-10 (carbon tetrachloride) CCl4
+20017 20017 HCC-140a (1,1,1-trichloroethane) Cl3C-CH3
+20018 20018 HBC-40B1 (methyl bromide) CH3Br
+20019 20019 HCH (hexachlorocyclohexane) all isomers C6H6Cl6
+20020 20020 alpha-HCH (alpha-hexachlorocyclohexane) both enantiomers alpha-C6H6Cl6
+20021 20021 PCB-153 (2,2',4,4',5,5'-hexachlorobiphenyl) (C6H2Cl3)2
+20022 20022 HCFC-141a (1,1-dichloro-2-fluoroethane) Cl2HC-CH2F
+# 20023-29999 Reserved
+30000 30000 Radioactive pollutant (tracer, defined by originating centre)
+# 30001-30009 Reserved
+30010 30010 Tritium (Hydrogen 3) H-3
+30011 30011 Tritium organic bounded H-3o
+30012 30012 Tritium inorganic H-3a
+30013 30013 Beryllium 7 Be-7
+30014 30014 Beryllium 10 Be-10
+30015 30015 Carbon 14 C-14
+30016 30016 Carbon 14 CO2 C-14CO2
+30017 30017 Carbon 14 other gases C-14og
+30018 30018 Nitrogen 13 N-13
+30019 30019 Nitrogen 16 N-16
+30020 30020 Fluorine 18 F-18
+30021 30021 Sodium 22 Na-22
+30022 30022 Phosphate 32 P-32
+30023 30023 Phosphate 33 P-33
+30024 30024 Sulphur 35 S-35
+30025 30025 Chlorine 36 Cl-36
+30026 30026 Potassium 40 K-40
+30027 30027 Argon 41 Ar-41
+30028 30028 Calcium 41 Ca-41
+30029 30029 Calcium 45 Ca-45
+30030 30030 Titanium 44 Ti-44
+30031 30031 Scandium 46 Sc-46
+30032 30032 Vanadium 48 V-48
+30033 30033 Vanadium 49 V-49
+30034 30034 Chrome 51 Cr-51
+30035 30035 Manganese 52 Mn-52
+30036 30036 Manganese 54 Mn-54
+30037 30037 Iron 55 Fe-55
+30038 30038 Iron 59 Fe-59
+30039 30039 Cobalt 56 Co-56
+30040 30040 Cobalt 57 Co-57
+30041 30041 Cobalt 58 Co-58
+30042 30042 Cobalt 60 Co-60
+30043 30043 Nickel 59 Ni-59
+30044 30044 Nickel 63 Ni-63
+30045 30045 Zinc 65 Zn-65
+30046 30046 Gallium 67 Ga-67
+30047 30047 Gallium 68 Ga-68
+30048 30048 Germanium 68 Ge-68
+30049 30049 Germanium 69 Ge-69
+30050 30050 Arsenic 73 As-73
+30051 30051 Selenium 75 Se-75
+30052 30052 Selenium 79 Se-79
+30053 30053 Rubidium 81 Rb-81
+30054 30054 Rubidium 83 Rb-83
+30055 30055 Rubidium 84 Rb-84
+30056 30056 Rubidium 86 Rb-86
+30057 30057 Rubidium 87 Rb-87
+30058 30058 Rubidium 88 Rb-88
+30059 30059 Krypton 85 Kr-85
+30060 30060 Krypton 85 metastable Kr-85m
+30061 30061 Krypton 87 Kr-87
+30062 30062 Krypton 88 Kr-88
+30063 30063 Krypton 89 Kr-89
+30064 30064 Strontium 85 Sr-85
+30065 30065 Strontium 89 Sr-89
+30066 30066 Strontium 89/90 Sr-8990
+30067 30067 Strontium 90 Sr-90
+30068 30068 Strontium 91 Sr-91
+30069 30069 Strontium 92 Sr-92
+30070 30070 Yttrium 87 Y-87
+30071 30071 Yttrium 88 Y-88
+30072 30072 Yttrium 90 Y-90
+30073 30073 Yttrium 91 Y-91
+30074 30074 Yttrium 91 metastable Y-91m
+30075 30075 Yttrium 92 Y-92
+30076 30076 Yttrium 93 Y-93
+30077 30077 Zirconium 89 Zr-89
+30078 30078 Zirconium 93 Zr-93
+30079 30079 Zirconium 95 Zr-95
+30080 30080 Zirconium 97 Zr-97
+30081 30081 Niobium 93 metastable Nb-93m
+30082 30082 Niobium 94 Nb-94
+30083 30083 Niobium 95 Nb-95
+30084 30084 Niobium 95 metastable Nb-95m
+30085 30085 Niobium 97 Nb-97
+30086 30086 Niobium 97 metastable Nb-97m
+30087 30087 Molybdenum 93 Mo-93
+30088 30088 Molybdenum 99 Mo-99
+30089 30089 Technetium 95 metastable Tc-95m
+30090 30090 Technetium 96 Tc-96
+30091 30091 Technetium 99 Tc-99
+30092 30092 Technetium 99 metastable Tc-99m
+30093 30093 Rhodium 99 Rh-99
+30094 30094 Rhodium 101 Rh-101
+30095 30095 Rhodium 102 metastable Rh-102m
+30096 30096 Rhodium 103 metastable Rh-103m
+30097 30097 Rhodium 105 Rh-105
+30098 30098 Rhodium 106 Rh-106
+30099 30099 Palladium 100 Pd-100
+30100 30100 Palladium 103 Pd-103
+30101 30101 Palladium 107 Pd-107
+30102 30102 Ruthenium 103 Ru-103
+30103 30103 Ruthenium 105 Ru-105
+30104 30104 Ruthenium 106 Ru-106
+30105 30105 Silver 108 metastable Ag-108m
+30106 30106 Silver 110 metastable Ag-110m
+30107 30107 Cadmium 109 Cd-109
+30108 30108 Cadmium 113 metastable Cd-113m
+30109 30109 Cadmium 115 metastable Cd-115m
+30110 30110 Indium 114 metastable In-114m
+30111 30111 Tin 113 Sn-113
+30112 30112 Tin 119 metastable Sn-119m
+30113 30113 Tin 121 metastable Sn-121m
+30114 30114 Tin 122 Sn-122
+30115 30115 Tin 123 Sn-123
+30116 30116 Tin 126 Sn-126
+30117 30117 Antimony 124 Sb-124
+30118 30118 Antimony 125 Sb-125
+30119 30119 Antimony 126 Sb-126
+30120 30120 Antimony 127 Sb-127
+30121 30121 Antimony 129 Sb-129
+30122 30122 Tellurium 123 metastable Te-123m
+30123 30123 Tellurium 125 metastable Te-125m
+30124 30124 Tellurium 127 Te-127
+30125 30125 Tellurium 127 metastable Te-127m
+30126 30126 Tellurium 129 Te-129
+30127 30127 Tellurium 129 metastable Te-129m
+30128 30128 Tellurium 131 metastable Te-131m
+30129 30129 Tellurium 132 Te-132
+30130 30130 Iodine 123 I-123
+30131 30131 Iodine 124 I-124
+30132 30132 Iodine 125 I-125
+30133 30133 Iodine 126 I-126
+30134 30134 Iodine 129 I-129
+30135 30135 Iodine 129 elementary gaseous I-129g
+30136 30136 Iodine 129 organic bounded I-129o
+30137 30137 Iodine 131 I-131
+30138 30138 Iodine 131 elementary gaseous I-131g
+30139 30139 Iodine 131 organic bounded I-131o
+30140 30140 Iodine 131 gaseous elementary and organic bounded I-131go
+30141 30141 Iodine 131 aerosol I-131a
+30142 30142 Iodine 132 I-132
+30143 30143 Iodine 132 elementary gaseous I-132g
+30144 30144 Iodine 132 organic bounded I-132o
+30145 30145 Iodine 132 gaseous elementary and organic bounded I-132go
+30146 30146 Iodine 132 aerosol I-132a
+30147 30147 Iodine 133 I-133
+30148 30148 Iodine 133 elementary gaseous I-133g
+30149 30149 Iodine 133 organic bounded I-133o
+30150 30150 Iodine 133 gaseous elementary and organic bounded I-133go
+30151 30151 Iodine 133 aerosol I-133a
+30152 30152 Iodine 134 I-134
+30153 30153 Iodine 134 elementary gaseous I-134g
+30154 30154 Iodine 134 organic bounded I-134o
+30155 30155 Iodine 135 I-135
+30156 30156 Iodine 135 elementary gaseous I-135g
+30157 30157 Iodine 135 organic bounded I-135o
+30158 30158 Iodine 135 gaseous elementary and organic bounded I-135go
+30159 30159 Iodine 135 aerosol I-135a
+30160 30160 Xenon 131 metastable Xe-131m
+30161 30161 Xenon 133 Xe-133
+30162 30162 Xenon 133 metastable Xe-133m
+30163 30163 Xenon 135 Xe-135
+30164 30164 Xenon 135 metastable Xe-135m
+30165 30165 Xenon 137 Xe-137
+30166 30166 Xenon 138 Xe-138
+30167 30167 Xenon sum of all Xenon isotopes Xe-sum
+30168 30168 Caesium 131 Cs-131
+30169 30169 Caesium 134 Cs-134
+30170 30170 Caesium 135 Cs-135
+30171 30171 Caesium 136 Cs-136
+30172 30172 Caesium 137 Cs-137
+30173 30173 Barium 133 Ba-133
+30174 30174 Barium 137 metastable Ba-137m
+30175 30175 Barium 140 Ba-140
+30176 30176 Cerium 139 Ce-139
+30177 30177 Cerium 141 Ce-141
+30178 30178 Cerium 143 Ce-143
+30179 30179 Cerium 144 Ce-144
+30180 30180 Lanthanum 140 La-140
+30181 30181 Lanthanum 141 La-141
+30182 30182 Praseodymium 143 Pr-143
+30183 30183 Praseodymium 144 Pr-144
+30184 30184 Praseodymium 144 metastable Pr-144m
+30185 30185 Samarium 145 Sm-145
+30186 30186 Samarium 147 Sm-147
+30187 30187 Samarium 151 Sm-151
+30188 30188 Neodymium 147 Nd-147
+30189 30189 Promethium 146 Pm-146
+30190 30190 Promethium 147 Pm-147
+30191 30191 Promethium 151 Pm-151
+30192 30192 Europium 152 Eu-152
+30193 30193 Europium 154 Eu-154
+30194 30194 Europium 155 Eu-155
+30195 30195 Gadolinium 153 Gd-153
+30196 30196 Terbium 160 Tb-160
+30197 30197 Holmium 166 metastable Ho-166m
+30198 30198 Thulium 170 Tm-170
+30199 30199 Ytterbium 169 Yb-169
+30200 30200 Hafnium 175 Hf-175
+30201 30201 Hafnium 181 Hf-181
+30202 30202 Tantalum 179 Ta-179
+30203 30203 Tantalum 182 Ta-182
+30204 30204 Rhenium 184 Re-184
+30205 30205 Iridium 192 Ir-192
+30206 30206 Mercury 203 Hg-203
+30207 30207 Thallium 204 Tl-204
+30208 30208 Thallium 207 Tl-207
+30209 30209 Thallium 208 Tl-208
+30210 30210 Thallium 209 Tl-209
+30211 30211 Bismuth 205 Bi-205
+30212 30212 Bismuth 207 Bi-207
+30213 30213 Bismuth 210 Bi-210
+30214 30214 Bismuth 211 Bi-211
+30215 30215 Bismuth 212 Bi-212
+30216 30216 Bismuth 213 Bi-213
+30217 30217 Bismuth 214 Bi-214
+30218 30218 Polonium 208 Po-208
+30219 30219 Polonium 210 Po-210
+30220 30220 Polonium 212 Po-212
+30221 30221 Polonium 213 Po-213
+30222 30222 Polonium 214 Po-214
+30223 30223 Polonium 215 Po-215
+30224 30224 Polonium 216 Po-216
+30225 30225 Polonium 218 Po-218
+30226 30226 Lead 209 Pb-209
+30227 30227 Lead 210 Pb-210
+30228 30228 Lead 211 Pb-211
+30229 30229 Lead 212 Pb-212
+30230 30230 Lead 214 Pb-214
+30231 30231 Astatine 217 At-217
+30232 30232 Radon 219 Rn-219
+30233 30233 Radon 220 Rn-220
+30234 30234 Radon 222 Rn-222
+30235 30235 Francium 221 Fr-221
+30236 30236 Francium 223 Fr-223
+30237 30237 Radium 223 Ra-223
+30238 30238 Radium 224 Ra-224
+30239 30239 Radium 225 Ra-225
+30240 30240 Radium 226 Ra-226
+30241 30241 Radium 228 Ra-228
+30242 30242 Actinium 225 Ac-225
+30243 30243 Actinium 227 Ac-227
+30244 30244 Actinium 228 Ac-228
+30245 30245 Thorium 227 Th-227
+30246 30246 Thorium 228 Th-228
+30247 30247 Thorium 229 Th-229
+30248 30248 Thorium 230 Th-230
+30249 30249 Thorium 231 Th-231
+30250 30250 Thorium 232 Th-232
+30251 30251 Thorium 234 Th-234
+30252 30252 Protactinium 231 Pa-231
+30253 30253 Protactinium 233 Pa-233
+30254 30254 Protactinium 234 metastable Pa-234m
+30255 30255 Uranium 232 U-232
+30256 30256 Uranium 233 U-233
+30257 30257 Uranium 234 U-234
+30258 30258 Uranium 235 U-235
+30259 30259 Uranium 236 U-236
+30260 30260 Uranium 237 U-237
+30261 30261 Uranium 238 U-238
+30262 30262 Plutonium 236 Pu-236
+30263 30263 Plutonium 238 Pu-238
+30264 30264 Plutonium 239 Pu-239
+30265 30265 Plutonium 240 Pu-240
+30266 30266 Plutonium 241 Pu-241
+30267 30267 Plutonium 242 Pu-242
+30268 30268 Plutonium 244 Pu-244
+30269 30269 Neptunium 237 Np-237
+30270 30270 Neptunium 238 Np-238
+30271 30271 Neptunium 239 Np-239
+30272 30272 Americium 241 Am-241
+30273 30273 Americium 242 Am-242
+30274 30274 Americium 242 metastable Am-242m
+30275 30275 Americium 243 Am-243
+30276 30276 Curium 242 Cm-242
+30277 30277 Curium 243 Cm-243
+30278 30278 Curium 244 Cm-244
+30279 30279 Curium 245 Cm-245
+30280 30280 Curium 246 Cm-246
+30281 30281 Curium 247 Cm-247
+30282 30282 Curium 248 Cm-248
+30283 30283 Curium 243/244 Cm-243244
+30284 30284 Plutonium 238/Americium 241 Pu-238Am-241
+30285 30285 Plutonium 239/240 Pu-239240
+30286 30286 Berkelium 249 Bk-249
+30287 30287 Californium 249 Cf-249
+30288 30288 Californium 250 Cf-250
+30289 30289 Californium 252 Cf-252
+30290 30290 Sum aerosol particulates SumAer
+30291 30291 Sum Iodine SumIod
+30292 30292 Sum noble gas SumNG
+30293 30293 Activation gas ActGas
+30294 30294 Cs-137 Equivalent EquCs137
+30295 30295 Carbon-13 C-13
+30296 30296 Lead Pb
+30297 30297 Tellurium 131 Te-131
+30298 30298 Neodymium 137 Nd-137
+30299 30299 Pseudo radionuclide
+30300 30300 Silver 112 Ag-112
+30301 30301 Silver 115 Ag-115
+30302 30302 Barium 139 Ba-139
+30303 30303 Barium 141 Ba-141
+30304 30304 Barium 142 Ba-142
+30305 30305 Bromine 84 Br-84
+30306 30306 Cadminum 115 Cd-115
+30307 30307 Cadminum 117 Cd-117
+30308 30308 Cadminum 117 metastable Cd-117m
+30309 30309 Cerium 145 Ce-145
+30310 30310 Cerium 146 Ce-146
+30311 30311 Cobalt 58 metastable Co-58m
+30312 30312 Ceasium 138 Cs-138
+30313 30313 Ceasium 139 Cs-139
+30314 30314 Iodine 130 aerosol I-130a
+30315 30315 Iodine 130 elementary gaseous I-130e
+30316 30316 Iodine 130 organic bounded I-130o
+30317 30317 Iodine 132 metastable I-132m
+30318 30318 Iodine 134 metastable I-134m
+30319 30319 Indium 115 metastable In-115m
+30320 30320 Indium 117 metastable In-117m
+30321 30321 Krypton 83 metastable Kr-83m
+30322 30322 Lanthanum 142 La-142
+30323 30323 Lanthanum 143 La-143
+30324 30324 Manganese 56 Mn-56
+30325 30325 Molybdenum 101 Mo-101
+30326 30326 Molybdenum 102 Mo-102
+30327 30327 Neodymium 149 Nd-149
+30328 30328 Neodymium 151 Nd-151
+30329 30329 Palladium 109 Pd-109
+30330 30330 Palladium 112 Pd-112
+30331 30331 Praseodymium 145 Pr-145
+30332 30332 Praseodymium 146 Pr-146
+30333 30333 Praseodymium 147 Pr-147
+30334 30334 Rubidium 89 Rb-89
+30335 30335 Rubidium 90 Rb-90
+30336 30336 Rubidium 90 metastable Rb-90m
+30337 30337 Rhodium 105 metastable Rh-105m
+30338 30338 Rhodium 107 Rh-107
+30339 30339 Antimony 128 Sb-128
+30340 30340 Antimony 128 metastable Sb-128m
+30341 30341 Antimony 129 metastable Sb-129m
+30342 30342 Antimony 130 Sb-130
+30343 30343 Antimony 130 metastable Sb-130m
+30344 30344 Antimony 131 Sb-131
+30345 30345 Antimony 132 Sb-132
+30346 30346 Antimony 132 metastable Sb-132m
+30347 30347 Antimony 133 Sb-133
+30348 30348 Selenium 83 Se-83
+30349 30349 Tin 127 Sn-127
+30350 30350 Tin 127 metastable Sn-127m
+30351 30351 Tin 128 Sn-128
+30352 30352 Tin 129 metastable Sn-129m
+30353 30353 Tin 130 Sn-130
+30354 30354 Strontium 93 Sr-93
+30355 30355 Technetium 101 Tc-101
+30356 30356 Technetium 102 Tc-102
+30357 30357 Technetium 104 Tc-104
+30358 30358 Technetium 105 Tc-105
+30359 30359 Tellurium 133 Te-133
+30360 30360 Tellurium 133 metastable Te-133m
+30361 30361 Tellurium 134 Te-134
+30362 30362 Yttrium 93 metastable Y-93m
+30363 30363 Yttrium 94 Y-94
+30364 30364 Yttrium 95 Y-95
+30365 30365 Zirconium 96 Zr-96
+# 30366-39999 Reserved
+40000 40000 Singlet sigma oxygen (dioxygen (sigma singlet)) O2
+40001 40001 Singlet delta oxygen (dioxygen (delta singlet)) O2
+40002 40002 Singlet excited oxygen atom O(1D)
+40003 40003 Triplet ground state oxygen atom O(3P)
+# 40004-59999 Reserved
+60000 60000 HOx radical (OH+HO2) HOx*
+60001 60001 Total inorganic and organic peroxy radicals (HOO* + ROO*) ROO*
+60002 60002 Passive Ozone
+60003 60003 NOx expressed as nitrogen NOx
+60004 60004 All nitrogen oxides (NOy) expressed as nitrogen NOy
+60005 60005 Total inorganic chlorine Clx
+60006 60006 Total inorganic bromine Brx
+60007 60007 Total inorganic chlorine except HCl, ClONO2: ClOx
+60008 60008 Total inorganic bromine except HBr, BrONO2: BrOx
+60009 60009 Lumped alkanes
+60010 60010 Lumped alkenes
+60011 60011 Lumped aromatic compounds
+60012 60012 Lumped terpenes
+60013 60013 Non-methane volatile organic compounds expressed as carbon NMVOC
+60014 60014 Anthropogenic non-methane volatile organic compounds expressed as carbon aNMVOC
+60015 60015 Biogenic non-methane volatile organic compounds expressed as carbon bNMVOC
+60016 60016 Lumped oxygenated hydrocarbons OVOC
+60017 60017 NOx expressed as nitrogen dioxide (NO2) NOx
+60018 60018 Organic aldehydes RCHO
+60019 60019 Organic peroxides ROOH
+60020 60020 Organic nitrates RNO3
+60021 60021 Ethers ROR'
+60022 60022 Amines NRR'R''
+60023 60023 Ketones RC(O)R'
+60024 60024 Dicarbonyls unsaturated RC(O)CH2C(O)R'
+60025 60025 Hydroxy dicarbonyls unsaturated RC(O)CHOHC(O)R'
+60026 60026 Hydroxy ketones RC(OH)C(O)R'
+60027 60027 Oxides Ox
+60028 60028 Peroxyacyl nitrates RC(O)OONO2
+60029 60029 Aromatic peroxide radical (Aryl dioxydanyl radicals) ArOO*
+60030 60030 Biogenic secondary organic compound
+60031 60031 Anthropogenic secondary organic compound
+60032 60032 All hydroxy-peroxides products of the reaction of hydroxy-isoprene adducts with O2 ISOPOOH
+60033 60033 Anthropogenic volatile organic compounds aVOC
+60034 60034 Biomass burning volatile organic compounds bbVOC
+# 60035-61999 Reserved
+62000 62000 Total aerosol
+62001 62001 Dust dry
+62002 62002 Water in ambient
+62003 62003 Ammonium dry
+62004 62004 Nitrate dry
+62005 62005 Nitric acid trihydrate
+62006 62006 Sulphate dry
+62007 62007 Mercury dry
+62008 62008 Sea salt dry
+62009 62009 Black carbon dry
+62010 62010 Particulate organic matter dry
+62011 62011 Primary particulate organic matter dry
+62012 62012 Secondary particulate organic matter dry
+62013 62013 Black carbon hydrophilic dry
+62014 62014 Black carbon hydrophobic dry
+62015 62015 Particulate organic matter hydrophilic dry
+62016 62016 Particulate organic matter hydrophobic dry
+62017 62017 Nitrate hydrophilic dry
+62018 62018 Nitrate hydrophobic dry
+# 62019 Reserved
+62020 62020 Smoke - high absorption
+62021 62021 Smoke - low absorption
+62022 62022 Aerosol - high absorption
+62023 62023 Aerosol - low absorption
+# 62024 Reserved
+62025 62025 Volcanic ash
+62026 62026 Particulate matter (PM)
+# 62027 Reserved
+62028 62028 Total aerosol hydrophilic
+62029 62029 Total aerosol hydrophobic
+62030 62030 Primary particulate inorganic matter dry
+62031 62031 Secondary particulate inorganic matter dry
+62032 62032 Biogenic secondary organic aerosol
+62033 62033 Anthropogenic secondary organic aerosol
+62034 62034 Rain water H2Orain
+62035 62035 Cloud water H2Ocloud
+62036 62036 Brown carbon dry
+# 62037-62099 Reserved
+62100 62100 Alnus (alder) pollen
+62101 62101 Betula (birch) pollen
+62102 62102 Castanea (chestnut) pollen
+62103 62103 Carpinus (hornbeam) pollen
+62104 62104 Corylus (hazel) pollen
+62105 62105 Fagus (beech) pollen
+62106 62106 Fraxinus (ash) pollen
+62107 62107 Pinus (pine) pollen
+62108 62108 Platanus (plane) pollen
+62109 62109 Populus (cottonwood, poplar) pollen
+62110 62110 Quercus (oak) pollen
+62111 62111 Salix (willow) pollen
+62112 62112 Taxus (yew) pollen
+62113 62113 Tilia (lime, linden) pollen
+62114 62114 Ulmus (elm) pollen
+62115 62115 Olea (olive) pollen
+# 62116-62199 Reserved
+62200 62200 Ambrosia (ragweed, burr-ragweed) pollen
+62201 62201 Artemisia (sagebrush, wormwood, mugwort) pollen
+62202 62202 Brassica (rape, broccoli, Brussels sprouts, cabbage, cauliflower, collards, kale, kohlrabi, mustard, rutabaga) pollen
+62203 62203 Plantago (plantain) pollen
+62204 62204 Rumex (dock, sorrel) pollen
+62205 62205 Urtica (nettle) pollen
+# 62206-62299 Reserved
+62300 62300 Poaceae (grass family) pollen
+# 62301-62999 Reserved
+# 63000-65534 For experimental use at local level
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/4.234.table b/definitions/grib2/tables/33/4.234.table
new file mode 100644
index 000000000..3b05b4515
--- /dev/null
+++ b/definitions/grib2/tables/33/4.234.table
@@ -0,0 +1,21 @@
+# Code table 4.234 - Canopy cover fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
+1 1 Crops, mixed farming
+2 2 Short grass
+3 3 Evergreen needleleaf trees
+4 4 Deciduous needleleaf trees
+5 5 Deciduous broadleaf trees
+6 6 Evergreen broadleaf trees
+7 7 Tall grass
+8 8 Desert
+9 9 Tundra
+10 10 Irrigated crops
+11 11 Semidesert
+12 12 Ice caps and glaciers
+13 13 Bogs and marshes
+14 14 Inland water
+15 15 Ocean
+16 16 Evergreen shrubs
+17 17 Deciduous shrubs
+18 18 Mixed forest
+19 19 Interrupted forest
+20 20 Water and land mixtures
diff --git a/definitions/grib2/tables/33/4.236.table b/definitions/grib2/tables/33/4.236.table
new file mode 100644
index 000000000..9c58b488c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.236.table
@@ -0,0 +1,8 @@
+# Code table 4.236 - Soil texture fraction (to be used as partitioned parameter in product definition template 4.53 or 4.54)
+1 1 Coarse
+2 2 Medium
+3 3 Medium-fine
+4 4 Fine
+5 5 Very-fine
+6 6 Organic
+7 7 Tropical-organic
diff --git a/definitions/grib2/tables/33/4.238.table b/definitions/grib2/tables/33/4.238.table
new file mode 100644
index 000000000..cd8b5cba8
--- /dev/null
+++ b/definitions/grib2/tables/33/4.238.table
@@ -0,0 +1,34 @@
+# Code table 4.238 - Source or sink
+0 0 Other
+1 1 Aviation
+2 2 Lightning
+3 3 Biogenic sources
+4 4 Anthropogenic sources
+5 5 Wild fires
+6 6 Natural sources
+7 7 Volcanoes
+8 8 Bio-fuel
+9 9 Fossil-fuel
+10 10 Wetlands
+11 11 Oceans
+12 12 Elevated anthropogenic sources
+13 13 Surface anthropogenic sources
+14 14 Agriculture livestock
+15 15 Agriculture soils
+16 16 Agriculture waste burning
+17 17 Agriculture (all)
+18 18 Residential, commercial and other combustion
+19 19 Power generation
+20 20 Super power stations
+21 21 Fugitives
+22 22 Industrial process
+23 23 Solvents
+24 24 Ships
+25 25 Wastes (solid and water)
+26 26 Road transportation
+27 27 Off-road transportation
+28 28 Nuclear power plant
+29 29 Nuclear weapon
+# 30-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.239.table b/definitions/grib2/tables/33/4.239.table
new file mode 100644
index 000000000..f095b14a0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.239.table
@@ -0,0 +1,17 @@
+# Code table 4.239 - Wetland Type
+0 0 Reserved
+1 1 Bog
+2 2 Drained
+3 3 Fen
+4 4 Floodplain
+5 5 Mangrove
+6 6 Marsh
+7 7 Rice
+8 8 Riverine
+9 9 Salt marsh
+10 10 Swamp
+11 11 Upland
+12 12 Wet tundra
+# 13-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.240.table b/definitions/grib2/tables/33/4.240.table
new file mode 100644
index 000000000..2a31fb2ab
--- /dev/null
+++ b/definitions/grib2/tables/33/4.240.table
@@ -0,0 +1,13 @@
+# Code table 4.240 - Type of distribution function
+0 0 No specific distribution function given
+1 1 Delta functions with spatially variable concentration and fixed diameters Dl (p1) in metre
+2 2 Delta functions with spatially variable concentration and fixed masses Ml (p1) in kg
+3 3 Gaussian (normal) distribution with spatially variable concentration and fixed mean diameter Dl(p1) and variance(p2)
+4 4 Gaussian (normal) distribution with spatially variable concentration, mean diameter and variance
+5 5 Log-normal distribution with spatially variable number density, mean diameter and variance
+6 6 Log-normal distribution with spatially variable number density, mean diameter and fixed variance(p1)
+7 7 Log-normal distribution with spatially variable number density and mass density and fixed variance(p1) and fixed particle density(p2)
+8 8 No distribution function. The encoded variable is derived from variables characterized by type of distribution function of type No. 7 (see above) with fixed variance(p1) and fixed particle density(p2)
+# 9-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing value
diff --git a/definitions/grib2/tables/33/4.241.table b/definitions/grib2/tables/33/4.241.table
new file mode 100644
index 000000000..743e5f6e2
--- /dev/null
+++ b/definitions/grib2/tables/33/4.241.table
@@ -0,0 +1,12 @@
+# Code table 4.241 - Coverage attributes
+0 UNDEF Undefined
+1 UNMOD Unmodified
+2 SNOW Snow covered
+3 FLOOD Flooded
+4 ICE Ice covered
+5 ITCW With intercepted water
+6 ITCS With intercepted snow
+7 AGG Aggregated
+# 8-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.242.table b/definitions/grib2/tables/33/4.242.table
new file mode 100644
index 000000000..9574142da
--- /dev/null
+++ b/definitions/grib2/tables/33/4.242.table
@@ -0,0 +1,10 @@
+# Code table 4.242 - Tile classification
+0 0 Reserved
+1 GCV2009 Land use classes according to ESA-GlobCover GCV2009
+2 GLC2000 Land use classes according to European Commission-Global Land Cover Project GLC2000
+3 ECOCLIMAP Land use classes according to ECOCLIMAP
+4 ECOCLIMAP-SG Land use classes according to ECOCLIMAP-SG
+5 GLCCv2BATS Land use classes according to USGS EROS Global Land Cover Characterization (GLCC) v2.0 BATS Classification
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.243.table b/definitions/grib2/tables/33/4.243.table
new file mode 100644
index 000000000..24d21b719
--- /dev/null
+++ b/definitions/grib2/tables/33/4.243.table
@@ -0,0 +1,43 @@
+# Code table 4.243 - Tile class
+0 0 Reserved
+1 1 Evergreen broadleaved forest
+2 2 Deciduous broadleaved closed forest
+3 3 Deciduous broadleaved open forest
+4 4 Evergreen needle-leaf forest
+5 5 Deciduous needle-leaf forest
+6 6 Mixed leaf trees
+7 7 Freshwater flooded trees
+8 8 Saline water flooded trees
+9 9 Mosaic tree/natural vegetation
+10 10 Burnt tree cover
+11 11 Evergreen shrubs closed-open
+12 12 Deciduous shrubs closed-open
+13 13 Herbaceous vegetation closed-open
+14 14 Sparse herbaceous or grass
+15 15 Flooded shrubs or herbaceous
+16 16 Cultivated and managed areas
+17 17 Mosaic crop/tree/natural vegetation
+18 18 Mosaic crop/shrub/grass
+19 19 Bare areas
+20 20 Water
+21 21 Snow and ice
+22 22 Artificial surface
+23 23 Ocean
+24 24 Irrigated croplands
+25 25 Rainfed croplands
+26 26 Mosaic cropland (50-70%) - vegetation (20-50%)
+27 27 Mosaic vegetation (50-70%) - cropland (20-50%)
+28 28 Closed broadleaved evergreen forest
+29 29 Closed needle-leaved evergreen forest
+30 30 Open needle-leaved deciduous forest
+31 31 Mixed broadleaved and needle-leaved forest
+32 32 Mosaic shrubland (50-70%) - grassland (20-50%)
+33 33 Mosaic grassland (50-70%) - shrubland (20-50%)
+34 34 Closed to open shrubland
+35 35 Sparse vegetation
+36 36 Closed to open forest regularly flooded
+37 37 Closed forest or shrubland permanently flooded
+38 38 Closed to open grassland regularly flooded
+39 39 Undefined
+# 40-32767 Reserved
+# 32768- Reserved for local use
diff --git a/definitions/grib2/tables/33/4.244.table b/definitions/grib2/tables/33/4.244.table
new file mode 100644
index 000000000..a4470cd56
--- /dev/null
+++ b/definitions/grib2/tables/33/4.244.table
@@ -0,0 +1,7 @@
+# Code table 4.244 - Quality indicator
+0 0 No quality information available
+1 1 Failed
+2 2 Passed
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.246.table b/definitions/grib2/tables/33/4.246.table
new file mode 100644
index 000000000..0ca9c0c98
--- /dev/null
+++ b/definitions/grib2/tables/33/4.246.table
@@ -0,0 +1,7 @@
+# Code table 4.246 - Thunderstorm intensity
+0 0 No thunderstorm occurrence
+1 1 Weak thunderstorm
+2 2 Moderate thunderstorm
+3 3 Severe thunderstorm
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.247.table b/definitions/grib2/tables/33/4.247.table
new file mode 100644
index 000000000..6da16e396
--- /dev/null
+++ b/definitions/grib2/tables/33/4.247.table
@@ -0,0 +1,7 @@
+# Code table 4.247 - Precipitation intensity
+0 0 No precipitation occurrence
+1 1 Light precipitation
+2 2 Moderate precipitation
+3 3 Heavy precipitation
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.248.table b/definitions/grib2/tables/33/4.248.table
new file mode 100644
index 000000000..04e365c97
--- /dev/null
+++ b/definitions/grib2/tables/33/4.248.table
@@ -0,0 +1,6 @@
+# Code table 4.248 - Method used to derive data values for a given local time
+0 0 Nearest forecast or analysis time to specified local time
+1 1 Interpolated to be valid at the specified local time
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.249.table b/definitions/grib2/tables/33/4.249.table
new file mode 100644
index 000000000..bd1c944c4
--- /dev/null
+++ b/definitions/grib2/tables/33/4.249.table
@@ -0,0 +1,7 @@
+# Code table 4.249 - Character of precipitation
+0 0 None
+1 1 Showers
+2 2 Intermittent
+3 3 Continuous
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.250.table b/definitions/grib2/tables/33/4.250.table
new file mode 100644
index 000000000..a249158ca
--- /dev/null
+++ b/definitions/grib2/tables/33/4.250.table
@@ -0,0 +1,14 @@
+# Code table 4.250 - Drainage direction
+0 0 Reserved
+1 1 South-west
+2 2 South
+3 3 South-east
+4 4 West
+5 5 No direction
+6 6 East
+7 7 North-west
+8 8 North
+9 9 North-east
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.251.table b/definitions/grib2/tables/33/4.251.table
new file mode 100644
index 000000000..3a78e713e
--- /dev/null
+++ b/definitions/grib2/tables/33/4.251.table
@@ -0,0 +1,7 @@
+# Code table 4.251 - Wave direction and frequency formulae
+0 0 Undefined sequence
+1 1 Geometric sequence
+2 2 Arithmetic sequence
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.252.table b/definitions/grib2/tables/33/4.252.table
new file mode 100644
index 000000000..3baf4064c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.252.table
@@ -0,0 +1,165 @@
+# Code table 4.252 - Tile classes and groupings
+0 0 Reserved
+1 SEOC Seas and oceans
+2 INWB Inland water bodies
+3 BARE Bare areas
+4 HIV High vegetation
+5 LOV Low vegetation
+6 URBAN Urban
+# 7-1000 Reserved for intercomparison tile classes/groupings
+1001 SEAO Sea and oceans
+1002 LAKE Lakes
+1003 RIVE Rivers
+1004 NO Bare land
+1005 ROCK Bare rock
+1006 SNOW Permanent snow
+1007 BOBD Boreal broadleaf deciduous
+1008 TEBD Temperate broadleaf deciduous
+1009 TRBD Tropical broadleaf deciduous
+1010 TEBE Temperate broadleaf evergreen
+1011 TRBE Tropical broadleaf evergreen
+1012 BONE Boreal needleleaf evergreen
+1013 TENE Temperate needleleaf evergreen
+1014 BOND Boreal needleleaf deciduous
+1015 SHRB Shrubs
+1016 BOGR Boreal grassland
+1017 GRAS Temperate grassland
+1018 TROG Tropical grassland
+1019 C3W Winter C3 crops
+1020 C3S Summer C3 crops
+1021 C4 C4 crops
+1022 FLTR Flooded trees
+1023 FLGR Flooded grassland
+1024 LCZ1 Local climate zone 1: compact high-rise (buildings)
+1025 LCZ2 Local climate zone 2: compact midrise (buildings)
+1026 LCZ3 Local climate zone 3: compact low-rise (buildings)
+1027 LCZ4 Local climate zone 4: open high-rise (buildings)
+1028 LCZ5 Local climate zone 5: open midrise (buildings)
+1029 LCZ6 Local climate zone 6: open low-rise (buildings)
+1030 LCZ7 Local climate zone 7: lightweight low-rise (buildings)
+1031 LCZ8 Local climate zone 8: large low-rise (buildings)
+1032 LCZ9 Local climate zone 9: sparsely built (buildings)
+1033 LCZ10 Local climate zone 10: heavy industry (buildings)
+1034 TEBDU Urban temperate broadleaf deciduous
+1035 TRBDU Urban tropical broadleaf deciduous
+1036 TEBEU Urban temperate broadleaf evergreen
+1037 TRBEU Urban tropical broadleaf evergreen
+1038 BONEU Urban boreal needleleaf evergreen
+1039 TENEU Urban temperate needleleaf evergreen
+1040 BONDU Urban boreal needleleaf deciduous
+# 1041-1500 Reserved for tile class entries for tile models using the ECOCLIMAP-SG land cover survey
+# v8.1 groupings
+1501 GNATU Nature grouping (NO + ROCK + SNOW + BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR)
+1502 GNOFO Non-forest grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR)
+1503 GFORE Forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB)
+1504 GNOVE Non-vegetated grouping (NO + ROCK + SNOW)
+1505 GTREE Trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + FLTR)
+1506 GLVEG Low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR)
+1507 GNFLV Non-flooded low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4)
+1508 GCROP Crops grouping (C3W + C3S + C4)
+1509 GGRAS Grassland grouping (BOGR + GRAS + TROG)
+1510 GBARO Bare and rock grouping (NO + ROCK)
+1511 GC3CR C3 crops grouping (C3W + C3S)
+1512 GBFOR Broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB)
+1513 GNFOR Needleleaf forest grouping (BONE + TENE + BOND)
+1514 GDBFO Deciduous broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + SHRB)
+1515 GTGRA Temperate grassland grouping (BOGR + GRAS)
+# v9.0 groupings
+1516 GNFNF Non-forest (no FLTR) grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR)
+1517 GBFFT Broadleaf forest (with FLTR) grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB + FLTR)
+1518 GBTRE Broadleaf trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + FLTR)
+1519 GCGRA C3/C4 grasslands grouping (BOGR + GRAS + FLGR)
+1520 GBDTR Broadleaf deciduous trees grouping (BOBD + TEBD + TRBD + FLTR)
+1521 GBETR Broadleaf evergreen trees grouping (TEBE + TRBE)
+1522 GNETR Needleleaf evergreen trees grouping (BONE + TENE)
+# Other groupings
+1523 GLCZU LCZ or urban grouping (LCZ1 + LCZ2 + LCZ3 + LCZ4 + LCZ5 + LCZ6 + LCZ7 + LCZ8 + LCZ9 + LCZ10)
+1524 GIWAT Inland water grouping (LAKE + RIVE)
+1525 GPTEBD Urban parks and gardens TEBD grouping (NO + GRAS + TEBDU)
+1526 GPTRBD Urban parks and gardens TRBD grouping (NO + GRAS + TRBDU)
+1527 GPTEBE Urban parks and gardens TEBE grouping (NO + GRAS + TEBEU)
+1528 GPTRBE Urban parks and gardens TRBE grouping (NO + GRAS + TRBEU)
+1529 GPBONE Urban parks and gardens BONE grouping (NO + GRAS + BONEU)
+1530 GPTENE Urban parks and gardens TENE grouping (NO + GRAS + TENEU)
+1531 GPBOND Urban parks and gardens BOND grouping (NO + GRAS + BONDU)
+# 1532-2000 Reserved for tile grouping entries for tile models using the ECOCLIMAP-SG land cover survey
+2001 CRMF Crops, mixed farming
+2002 SHGR Short grass
+2003 EVNE Evergreen needleleaf trees
+2004 DENE Deciduous needleleaf trees
+2005 DEBR Deciduous broadleaf trees
+2006 EVBR Evergreen broadleaf trees
+2007 TAGR Tall grass
+2008 DESE Desert
+2009 TUND Tundra
+2010 IRCR Irrigated crops
+2011 SEDE Semidesert
+2012 ICGL Ice caps and glaciers
+2013 BOMA Bogs and marshes
+2014 INWA Inland water
+2015 OCEA Ocean
+2016 EVSH Evergreen shrubs
+2017 DESH Deciduous shrubs
+2018 MFWO Mixed forest/woodland
+2019 INFO Interrupted forest
+2020 WLMI Water and land mixtures
+2021 BASO Bare soil
+2022 URBA Urban
+2023 LORI Low-rise building
+2024 HIRI High-rise building
+# 2025-2500 Reserved for tile class entries for tile models using the GLCC v2.0 BATS Classification survey
+2501 GLVE Low vegetation grouping (CRMF + SHGR + TAGR + TUND + IRCR + SEDE + BOMA + EVSH + DESH + WLMI)
+2502 GHVE High vegetation grouping (EVNE + DENE + DEBR + EVBR + MFWO + INFO)
+# 2503-3000 Reserved for tile grouping entries for tile models using the GLCC v2.0 BATS Classification survey
+3001 PFIC Post-flooding or irrigated croplands
+3002 RACR Rainfed croplands
+3003 MCVE Mosaic cropland (50-70%) / vegetation (grassland, shrubland, forest) (20-50%)
+3004 MVCR Mosaic vegetation (grassland, shrubland, forest) (50-70%) / cropland (20-50%)
+3005 COBS Closed to open (>15%) broadleaved evergreen and/or semi-deciduous forest (>5m)
+3006 CLBD Closed (>40%) broadleaved deciduous forest (>5m)
+3007 OPBD Open (15-40%) broadleaved deciduous forest (>5m)
+3008 CLNE Closed (>40%) needleleaved evergreen forest (>5m)
+3009 ONDE Open (15-40%) needleleaved deciduous or evergreen forest (>5m)
+3010 COBN Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m)
+3011 MFSG Mosaic forest/shrubland (50-70%) / grassland (20-50%)
+3012 MGFS Mosaic grassland (50-70%) / forest / shrubland (20-50%)
+3013 COSH Closed to open (>15%) shrubland (<5m)
+3014 COHV Closed to open (>15%) herbaceous vegetation
+3015 SPVE Sparse (<15%) vegetation (woody vegetation, shrubs, grassland)
+3016 COBFF Closed to open (>15%) broadleaved forest regularly flooded (semi-permanently or temporarily) - fresh or brackish water
+3017 CLBFF Closed (>40%) broadleaved forest or shrubland permanently flooded - saline or brackish water
+3018 COVEF Closed to open (>15%) vegetation (grassland, shrubland, woody vegetation) on regularly flooded or waterlogged soil - fresh, brackish or saline water
+3019 ASAA Artificial surfaces and associated areas (urban areas >50%)
+3020 BAAR Bare areas
+3021 WABO Water bodies
+3022 PESI Permanent snow and ice
+# 3023-3500 Reserved for tile class entries for tile models using the ESA-GlobCover GCV2009 survey
+3501 GRDT Grouping using the dominant tiles approach (dominant tile varies per gridbox)
+# 3502-4000 Reserved for tile grouping entries for tile models using the ESA-GlobCover GCV2009 survey
+4001 TBECO Tree cover, broadleaved evergreen, closed to open (>15%)
+4002 TBDC Tree cover, broadleaved deciduous, closed (>40%)
+4003 TBDO Tree cover, broadleaved deciduous, open (15-40%)
+4004 TNECO Tree cover, needleleaved evergreen, closed to open (>15%)
+4005 TNDCO Tree cover, needleleaved decidous, closed to open (>15%)
+4006 TMLCO Tree cover, mixed leaftype, closed to open (>15%)
+4007 TCOFF Tree cover, closed to open (>15%), regularly flooded, fresh or brackish water: swamp forests
+4008 TCOFS Tree cover, closed to open (>15%), regularly flooded, saline water: mangrove forests
+4009 MTVG Mosaic of tree cover and other natural vegetation (crop component possible)
+4010 TBURN Tree Cover, burnt (mainly boreal forests)
+4011 SCOE Shrubcover, closed to open (>15%), evergreen (broadleaved or needleleaved)
+4012 SCOD Shrubcover, closed to open (>15%), deciduous (broadleaved)
+4013 HCCO Herbaceous cover, closed to open (>15%)
+4014 SHSC Sparse herbaceous or sparse shrub cover
+4015 FSHCO Regularly flooded (>2 month) shrub or herbaceous cover, closed to open
+4016 CROP Cropland (upland crops or inundated/ flooded crops)
+4017 MCTNV Mosaic of cropland / tree cover/ other natural vegetation
+4018 MCSH Mosaic of cropland / shrub or herbaceous cover
+4019 BAARE Bare areas
+4020 WBNA Water bodies (natural or artificial)
+4021 SINA Snow or ice (natural or artificial)
+4022 URAR Urban areas
+# 4023-4500 Reserved for tile class entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey
+# 4501-5000 Reserved for tile grouping entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey
+# 5001-32767 Reserved for additional land cover surveys
+# 32768-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/4.3.table b/definitions/grib2/tables/33/4.3.table
new file mode 100644
index 000000000..8ae36efc3
--- /dev/null
+++ b/definitions/grib2/tables/33/4.3.table
@@ -0,0 +1,26 @@
+# Code table 4.3 - Type of generating process
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+12 12 Post-processed analysis
+13 13 Post-processed forecast
+14 14 Nowcast
+15 15 Hindcast
+16 16 Physical retrieval
+17 17 Regression analysis
+18 18 Difference between two forecasts
+19 19 First guess
+20 20 Analysis increment
+21 21 Initialization increment for analysis
+# 22-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.333.table b/definitions/grib2/tables/33/4.333.table
new file mode 100644
index 000000000..1367d35c6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.333.table
@@ -0,0 +1,12 @@
+# Code table 4.333 - Transport dispersion model
+1 1 DERMA (Danish Emergency Response Model of the Atmosphere)
+2 2 E-EMEP (Emergency EMEP model)
+3 3 FLEXPART (Particle dispersion model)
+4 4 MLDP (Modèle lagrangien de dispersion de particules)
+5 5 MATCH (Multi-scale Atmospheric Transport Model)
+6 6 SILAM (System for Integrated modeLling of Atmospheric composition)
+7 7 SNAP (Severe Nuclear Accident Program)
+8 8 WRF-Chem (Weather Research and Forecasting Chemical model)
+9 9 Trajectoire (Trajectory model)
+# 10-254 Reserved
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.335.table b/definitions/grib2/tables/33/4.335.table
new file mode 100644
index 000000000..f47807cf6
--- /dev/null
+++ b/definitions/grib2/tables/33/4.335.table
@@ -0,0 +1,7 @@
+# Code table 4.335 - Emission scenario origin
+1 1 ARGOS (Accident Reporting and Guiding Operational System)
+2 2 JRODOS (Java version of Real time Online Decision SuppOrt System)
+3 3 Assimilated (Scenario retrieved from measurements)
+4 4 Centre (scenario by originating centre)
+# 5-254 Reserved
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.336.table b/definitions/grib2/tables/33/4.336.table
new file mode 100644
index 000000000..c7855abea
--- /dev/null
+++ b/definitions/grib2/tables/33/4.336.table
@@ -0,0 +1,13 @@
+# Code table 4.336 - NWP model
+1 1 AROME (Meso scale NWP, Meteo-France)
+2 2 ARPEGE (Global scale NWP, Meteo-France)
+3 3 GFS (Global forecast system, NCEP)
+4 4 HARMONIE (HIRLAM-ALADIN Research on Mesoscale Operational NWP)
+5 5 HIRLAM (HIgh resolution Limited Area Model)
+6 6 IFS (Integrated Forecast System)
+7 7 GEM GDPS (Canadian Global Deterministic Prediction System)
+8 8 GEM RDPS (Canadian Regional Deterministic Prediction System)
+9 9 GEM HRDPS (Canadian High Resolution Deterministic Prediction System)
+10 10 WRF (Weather Research and Forecasting)
+# 11-254 Reserved
+255 255 Missing value
diff --git a/definitions/grib2/tables/33/4.4.table b/definitions/grib2/tables/33/4.4.table
new file mode 100644
index 000000000..6e63e069c
--- /dev/null
+++ b/definitions/grib2/tables/33/4.4.table
@@ -0,0 +1,17 @@
+# Code table 4.4 - Indicator of unit of time range
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.5.table b/definitions/grib2/tables/33/4.5.table
new file mode 100644
index 000000000..f139bc109
--- /dev/null
+++ b/definitions/grib2/tables/33/4.5.table
@@ -0,0 +1,95 @@
+# Code table 4.5 - Fixed surface types and units
+0 0 Reserved
+1 sfc Ground or water surface (-)
+2 2 Cloud base level (-)
+3 3 Level of cloud tops (-)
+4 4 Level of 0 degree C isotherm (-)
+5 5 Level of adiabatic condensation lifted from the surface (-)
+6 6 Maximum wind level (-)
+7 sfc Tropopause (-)
+8 sfc Nominal top of the atmosphere (-)
+9 9 Sea bottom (-)
+10 10 Entire atmosphere (-)
+11 11 Cumulonimbus (CB) base (m)
+12 12 Cumulonimbus (CB) top (m)
+13 13 Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover) (%)
+14 14 Level of free convection (LFC) (-)
+15 15 Convective condensation level (CCL) (-)
+16 16 Level of neutral buoyancy or equilibrium level (LNB) (-)
+17 sfc Departure level of the most unstable parcel of air (MUDL)
+18 sfc Departure level of a mixed layer parcel of air with specified layer depth (Pa)
+19 19 Lowest level where cloud cover exceeds the specified percentage (%)
+20 20 Isothermal level (K)
+21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3)
+22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3)
+23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3)
+24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3)
+25 25 Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity) (dBZ)
+26 26 Convective cloud layer base (m)
+27 27 Convective cloud layer top (m)
+# 28-29 Reserved
+30 30 Specified radius from the centre of the Sun (m)
+31 31 Solar photosphere
+32 32 Ionospheric D-region level
+33 33 Ionospheric E-region level
+34 34 Ionospheric F1-region level
+35 35 Ionospheric F2-region level
+# 36-99 Reserved
+100 pl Isobaric surface (Pa)
+101 sfc Mean sea level
+102 102 Specific altitude above mean sea level (m)
+103 sfc Specified height level above ground (m)
+104 104 Sigma level (sigma value)
+105 ml Hybrid level (-)
+106 sfc Depth below land surface (m)
+107 pt Isentropic (theta) level (K)
+108 108 Level at specified pressure difference from ground to level (Pa)
+109 pv Potential vorticity surface (K m2 kg-1 s-1)
+110 110 Reserved
+111 111 Eta level (-)
+112 112 Reserved
+113 113 Logarithmic hybrid level
+114 sol Snow level (Numeric)
+115 115 Sigma height level
+# 116 Reserved
+117 117 Mixed layer depth (m)
+118 hhl Hybrid height level (-)
+119 hpl Hybrid pressure level (-)
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
+151 sol Soil level (Numeric)
+152 sol Sea-ice level (Numeric)
+# 153-159 Reserved
+160 160 Depth below sea level (m)
+161 161 Depth below water surface (m)
+162 sfc Lake or river bottom (-)
+163 163 Bottom of sediment layer (-)
+164 164 Bottom of thermally active sediment layer (-)
+165 165 Bottom of sediment layer penetrated by thermal wave (-)
+166 sfc Mixing layer (-)
+167 167 Bottom of root zone (-)
+168 168 Ocean model level (Numeric)
+169 169 Ocean level defined by water density (sigma-theta) difference from near-surface to level (kg m-3)
+170 170 Ocean level defined by water potential temperature difference from near-surface to level (K)
+171 171 Ocean level defined by vertical eddy diffusivity difference from near-surface to level (m2 s-1)
+172 172 Ocean level defined by water density (rho) difference from near-surface to level (m)
+173 173 Top of snow over sea ice on sea, lake or river
+174 sfc Top surface of ice on sea, lake or river
+175 175 Top surface of ice, under snow cover, on sea, lake or river
+176 176 Bottom surface (underside) ice on sea, lake or river
+177 sfc Deep soil (of indefinite depth)
+# 178 Reserved
+179 179 Top surface of glacier ice and inland ice
+180 180 Deep inland or glacier ice (of indefinite depth)
+181 181 Grid tile land fraction as a model surface
+182 182 Grid tile water fraction as a model surface
+183 183 Grid tile ice fraction on sea, lake or river as a model surface
+184 184 Grid tile glacier ice and inland ice fraction as a model surface
+185 185 Roof level
+186 186 Wall level
+187 187 Road level
+188 188 Melt pond top surface
+189 189 Melt pond bottom surface
+# 190-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.6.table b/definitions/grib2/tables/33/4.6.table
new file mode 100644
index 000000000..ce799721d
--- /dev/null
+++ b/definitions/grib2/tables/33/4.6.table
@@ -0,0 +1,9 @@
+# Code table 4.6 - Type of ensemble forecast
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.7.table b/definitions/grib2/tables/33/4.7.table
new file mode 100644
index 000000000..128fa317f
--- /dev/null
+++ b/definitions/grib2/tables/33/4.7.table
@@ -0,0 +1,15 @@
+# Code table 4.7 - Derived forecast
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+10 10 Variance of all ensemble members
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.8.table b/definitions/grib2/tables/33/4.8.table
new file mode 100644
index 000000000..78467454a
--- /dev/null
+++ b/definitions/grib2/tables/33/4.8.table
@@ -0,0 +1,6 @@
+# Code table 4.8 - Clustering method
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.9.table b/definitions/grib2/tables/33/4.9.table
new file mode 100644
index 000000000..8e481465e
--- /dev/null
+++ b/definitions/grib2/tables/33/4.9.table
@@ -0,0 +1,14 @@
+# Code table 4.9 - Probability type
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+5 5 Probability of event equal to lower limit
+6 6 Probability of event in above normal category
+7 7 Probability of event in near normal category
+8 8 Probability of event in below normal category
+9 9 Probability based on counts of categorical boolean
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/4.91.table b/definitions/grib2/tables/33/4.91.table
new file mode 100644
index 000000000..1a0f215f0
--- /dev/null
+++ b/definitions/grib2/tables/33/4.91.table
@@ -0,0 +1,16 @@
+# Code table 4.91 - Type of Interval
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.0.table b/definitions/grib2/tables/33/5.0.table
new file mode 100644
index 000000000..5e00004b0
--- /dev/null
+++ b/definitions/grib2/tables/33/5.0.table
@@ -0,0 +1,22 @@
+# Code table 5.0 - Data representation template number
+0 0 Grid point data - simple packing
+1 1 Matrix value at grid point - simple packing
+2 2 Grid point data - complex packing
+3 3 Grid point data - complex packing and spatial differencing
+4 4 Grid point data - IEEE floating point data
+# 5-39 Reserved
+40 40 Grid point data - JPEG 2000 code stream format
+41 41 Grid point data - Portable Network Graphics (PNG)
+42 42 Grid point data - CCSDS recommended lossless compression
+# 43-49 Reserved
+50 50 Spectral data - simple packing
+51 51 Spherical harmonics data - complex packing
+# 52 Reserved
+53 53 Spectral data for limited area models - complex packing
+# 54-60 Reserved
+61 61 Grid point data - simple packing with logarithm pre-processing
+# 62-199 Reserved
+200 200 Run length packing with level values
+# 201-49151 Reserved
+# 49152-65534 Reserved for local use
+65535 65535 Missing
diff --git a/definitions/grib2/tables/33/5.1.table b/definitions/grib2/tables/33/5.1.table
new file mode 100644
index 000000000..1189b5e46
--- /dev/null
+++ b/definitions/grib2/tables/33/5.1.table
@@ -0,0 +1,6 @@
+# Code table 5.1 - Type of original field values
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.2.table b/definitions/grib2/tables/33/5.2.table
new file mode 100644
index 000000000..60d557a0d
--- /dev/null
+++ b/definitions/grib2/tables/33/5.2.table
@@ -0,0 +1,8 @@
+# Code table 5.2 - Matrix coordinate value function definition
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.25.table b/definitions/grib2/tables/33/5.25.table
new file mode 100644
index 000000000..79e9fd69a
--- /dev/null
+++ b/definitions/grib2/tables/33/5.25.table
@@ -0,0 +1,9 @@
+# Code table 5.25 - type of bi-Fourier subtruncation
+# 0-76 Reserved
+77 77 Rectangular
+# 78-87 Reserved
+88 88 Elliptic
+# 89-98 Reserved
+99 99 Diamond
+# 100-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.26.table b/definitions/grib2/tables/33/5.26.table
new file mode 100644
index 000000000..298f3fcd0
--- /dev/null
+++ b/definitions/grib2/tables/33/5.26.table
@@ -0,0 +1,5 @@
+# Code table 5.26 - packing mode for axes
+0 0 Spectral coefficients for axes are packed
+1 1 Spectral coefficients for axes included in the unpacked subset
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.3.table b/definitions/grib2/tables/33/5.3.table
new file mode 100644
index 000000000..481331791
--- /dev/null
+++ b/definitions/grib2/tables/33/5.3.table
@@ -0,0 +1,7 @@
+# Code table 5.3 - Matrix coordinate parameter
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.4.table b/definitions/grib2/tables/33/5.4.table
new file mode 100644
index 000000000..e84ab1901
--- /dev/null
+++ b/definitions/grib2/tables/33/5.4.table
@@ -0,0 +1,6 @@
+# Code table 5.4 - Group splitting method
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.40.table b/definitions/grib2/tables/33/5.40.table
new file mode 100644
index 000000000..97e8880ab
--- /dev/null
+++ b/definitions/grib2/tables/33/5.40.table
@@ -0,0 +1,5 @@
+# Code table 5.40 - Type of compression
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.5.table b/definitions/grib2/tables/33/5.5.table
new file mode 100644
index 000000000..f2316975a
--- /dev/null
+++ b/definitions/grib2/tables/33/5.5.table
@@ -0,0 +1,7 @@
+# Code table 5.5 - Missing value management for complex packing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.6.table b/definitions/grib2/tables/33/5.6.table
new file mode 100644
index 000000000..db68ead9c
--- /dev/null
+++ b/definitions/grib2/tables/33/5.6.table
@@ -0,0 +1,7 @@
+# Code table 5.6 - Order of spatial differencing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/33/5.7.table b/definitions/grib2/tables/33/5.7.table
new file mode 100644
index 000000000..e54862c19
--- /dev/null
+++ b/definitions/grib2/tables/33/5.7.table
@@ -0,0 +1,7 @@
+# Code table 5.7 - Precision of floating-point numbers
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/33/6.0.table b/definitions/grib2/tables/33/6.0.table
new file mode 100644
index 000000000..a8f30f5a4
--- /dev/null
+++ b/definitions/grib2/tables/33/6.0.table
@@ -0,0 +1,6 @@
+# Code table 6.0 - Bit map indicator
+0 0 A bit map applies to this product and is specified in this Section
+1 1 A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section
+# 1-253 A bit map predetermined by the originating/generating centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/6/1.1.table b/definitions/grib2/tables/6/1.1.table
index 6c5a60361..6ccac21de 100644
--- a/definitions/grib2/tables/6/1.1.table
+++ b/definitions/grib2/tables/6/1.1.table
@@ -1,5 +1,5 @@
# Code Table 1.1 GRIB Local Tables Version Number
-0 0 Local tables not used
+0 0 Local tables not used
# . Only table entries and templates from the current Master table are valid.
# 1-254 Number of local tables version used
255 255 Missing
diff --git a/definitions/grib2/tables/6/4.5.table b/definitions/grib2/tables/6/4.5.table
index 9be96e9da..5b80a90fc 100644
--- a/definitions/grib2/tables/6/4.5.table
+++ b/definitions/grib2/tables/6/4.5.table
@@ -1,13 +1,13 @@
#Code table 4.5: Fixed surface types and units
0 0 Reserved
-1 sfc Ground or water surface
-2 2 Cloud base level
-3 3 Level of cloud tops
-4 4 Level of 0 degree C isotherm
+1 sfc Ground or water surface
+2 2 Cloud base level
+3 3 Level of cloud tops
+4 4 Level of 0 degree C isotherm
5 5 Level of adiabatic condensation lifted from the surface
-6 6 Maximum wind level
-7 sfc Tropopause
-8 sfc Nominal top of the atmosphere
+6 6 Maximum wind level
+7 sfc Tropopause
+8 sfc Nominal top of the atmosphere
9 9 Sea bottom
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
diff --git a/definitions/grib2/tables/7/1.1.table b/definitions/grib2/tables/7/1.1.table
index 6c5a60361..6ccac21de 100644
--- a/definitions/grib2/tables/7/1.1.table
+++ b/definitions/grib2/tables/7/1.1.table
@@ -1,5 +1,5 @@
# Code Table 1.1 GRIB Local Tables Version Number
-0 0 Local tables not used
+0 0 Local tables not used
# . Only table entries and templates from the current Master table are valid.
# 1-254 Number of local tables version used
255 255 Missing
diff --git a/definitions/grib2/tables/7/3.10.table b/definitions/grib2/tables/7/3.10.table
index e4a446b9a..04686d32e 100644
--- a/definitions/grib2/tables/7/3.10.table
+++ b/definitions/grib2/tables/7/3.10.table
@@ -5,4 +5,4 @@
2 1 Points scan in -j direction, i.e. from east to west
3 0 Adjacent points in i direction are consecutive
3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/7/3.4.table b/definitions/grib2/tables/7/3.4.table
index 72e3343b7..d3cad225c 100644
--- a/definitions/grib2/tables/7/3.4.table
+++ b/definitions/grib2/tables/7/3.4.table
@@ -7,4 +7,4 @@
3 1 Adjacent points in j (y) direction is consecutive
4 0 All rows scan in the same direction
4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/7/3.9.table b/definitions/grib2/tables/7/3.9.table
index 5edac03a5..cc2e6104b 100644
--- a/definitions/grib2/tables/7/3.9.table
+++ b/definitions/grib2/tables/7/3.9.table
@@ -1,4 +1,4 @@
# FLAG TABLE 3.9, Numbering order of diamonds as seen from the corresponding pole
1 0 Clockwise orientation
1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/7/4.5.table b/definitions/grib2/tables/7/4.5.table
index 9be96e9da..5b80a90fc 100644
--- a/definitions/grib2/tables/7/4.5.table
+++ b/definitions/grib2/tables/7/4.5.table
@@ -1,13 +1,13 @@
#Code table 4.5: Fixed surface types and units
0 0 Reserved
-1 sfc Ground or water surface
-2 2 Cloud base level
-3 3 Level of cloud tops
-4 4 Level of 0 degree C isotherm
+1 sfc Ground or water surface
+2 2 Cloud base level
+3 3 Level of cloud tops
+4 4 Level of 0 degree C isotherm
5 5 Level of adiabatic condensation lifted from the surface
-6 6 Maximum wind level
-7 sfc Tropopause
-8 sfc Nominal top of the atmosphere
+6 6 Maximum wind level
+7 sfc Tropopause
+8 sfc Nominal top of the atmosphere
9 9 Sea bottom
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
diff --git a/definitions/grib2/tables/8/0.0.table b/definitions/grib2/tables/8/0.0.table
index 1d3a90b49..88d8b2cb3 100644
--- a/definitions/grib2/tables/8/0.0.table
+++ b/definitions/grib2/tables/8/0.0.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/1.0.table b/definitions/grib2/tables/8/1.0.table
index dc3fcebf0..9f43a852b 100644
--- a/definitions/grib2/tables/8/1.0.table
+++ b/definitions/grib2/tables/8/1.0.table
@@ -1,13 +1,13 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
-6 6 Version implemented on 15 September 2010
-7 7 Version implemented on 4 May 2011
-8 8 Version implemented on 2 November 2011
-9 9 Pre-operational to be implemented by next amendment
-# 10-254 Future versions
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
+6 6 Version implemented on 15 September 2010
+7 7 Version implemented on 4 May 2011
+8 8 Version implemented on 2 November 2011
+9 9 Pre-operational to be implemented by next amendment
+# 10-254 Future versions
255 255 Master tables not used. Local table entries and local templates may use the entire range of the table, not just those sections marked Reserved for local used.
diff --git a/definitions/grib2/tables/8/1.1.table b/definitions/grib2/tables/8/1.1.table
index 91ef66244..55fa1eb63 100644
--- a/definitions/grib2/tables/8/1.1.table
+++ b/definitions/grib2/tables/8/1.1.table
@@ -1,4 +1,4 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/8/1.2.table b/definitions/grib2/tables/8/1.2.table
index d90ad0109..606bf8300 100644
--- a/definitions/grib2/tables/8/1.2.table
+++ b/definitions/grib2/tables/8/1.2.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/1.3.table b/definitions/grib2/tables/8/1.3.table
index 35cd6a636..712bb2ba8 100644
--- a/definitions/grib2/tables/8/1.3.table
+++ b/definitions/grib2/tables/8/1.3.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
-4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
-5 5 THORPEX Interactive Grand Global Ensemble (TIGGE) test
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+5 5 THORPEX Interactive Grand Global Ensemble (TIGGE) test
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/1.4.table b/definitions/grib2/tables/8/1.4.table
index d11a335a7..7f47afd96 100644
--- a/definitions/grib2/tables/8/1.4.table
+++ b/definitions/grib2/tables/8/1.4.table
@@ -1,13 +1,13 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/8/3.0.table b/definitions/grib2/tables/8/3.0.table
index 4baed0aab..4269b25ad 100644
--- a/definitions/grib2/tables/8/3.0.table
+++ b/definitions/grib2/tables/8/3.0.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/8/3.10.table b/definitions/grib2/tables/8/3.10.table
index 23c1cdd36..da36dc664 100644
--- a/definitions/grib2/tables/8/3.10.table
+++ b/definitions/grib2/tables/8/3.10.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/8/3.11.table b/definitions/grib2/tables/8/3.11.table
index 560318d1b..0a299af98 100644
--- a/definitions/grib2/tables/8/3.11.table
+++ b/definitions/grib2/tables/8/3.11.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 There is no appended list
+0 0 There is no appended list
1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
diff --git a/definitions/grib2/tables/8/3.15.table b/definitions/grib2/tables/8/3.15.table
index 55ca1688a..976862747 100644
--- a/definitions/grib2/tables/8/3.15.table
+++ b/definitions/grib2/tables/8/3.15.table
@@ -1,22 +1,22 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
-# 113-159 Reserved
+# 113-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/3.2.table b/definitions/grib2/tables/8/3.2.table
index 3d7a4f1fc..563efbdb5 100644
--- a/definitions/grib2/tables/8/3.2.table
+++ b/definitions/grib2/tables/8/3.2.table
@@ -1,13 +1,13 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/3.20.table b/definitions/grib2/tables/8/3.20.table
index 3f7ab4cc4..63de6b1a9 100644
--- a/definitions/grib2/tables/8/3.20.table
+++ b/definitions/grib2/tables/8/3.20.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/3.21.table b/definitions/grib2/tables/8/3.21.table
index b0c77d135..2bc46aae9 100644
--- a/definitions/grib2/tables/8/3.21.table
+++ b/definitions/grib2/tables/8/3.21.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/3.3.table b/definitions/grib2/tables/8/3.3.table
index 5167ed6b7..bd47e2509 100644
--- a/definitions/grib2/tables/8/3.3.table
+++ b/definitions/grib2/tables/8/3.3.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/8/3.4.table b/definitions/grib2/tables/8/3.4.table
index 6253896b1..752c70757 100644
--- a/definitions/grib2/tables/8/3.4.table
+++ b/definitions/grib2/tables/8/3.4.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/8/3.5.table b/definitions/grib2/tables/8/3.5.table
index 8ccf0f13b..6d3ec036e 100644
--- a/definitions/grib2/tables/8/3.5.table
+++ b/definitions/grib2/tables/8/3.5.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/8/3.7.table b/definitions/grib2/tables/8/3.7.table
index 41bba8329..4b2e684d3 100644
--- a/definitions/grib2/tables/8/3.7.table
+++ b/definitions/grib2/tables/8/3.7.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Reserved
1 1 The complex numbers Fnm (see code figure 1 in Code Table 3.6 above) are stored for m>=0 as pairs of real numbers Re(Fnm), Im(Fnm) ordered with n increasing from m to N(m), first for m=0 and then for m=1, 2, ... M. (see Note 1)
-# 2-254 Reserved
+# 2-254 Reserved
255 255 Missing
diff --git a/definitions/grib2/tables/8/3.8.table b/definitions/grib2/tables/8/3.8.table
index 4e811917b..6df554ae9 100644
--- a/definitions/grib2/tables/8/3.8.table
+++ b/definitions/grib2/tables/8/3.8.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/3.9.table b/definitions/grib2/tables/8/3.9.table
index f35b7ca53..530d1dee0 100644
--- a/definitions/grib2/tables/8/3.9.table
+++ b/definitions/grib2/tables/8/3.9.table
@@ -1,4 +1,4 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/8/4.0.table b/definitions/grib2/tables/8/4.0.table
index faa4f59df..0852d9f0d 100644
--- a/definitions/grib2/tables/8/4.0.table
+++ b/definitions/grib2/tables/8/4.0.table
@@ -1,52 +1,52 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
# 33-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non continuous time interval for aerosol
48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of atmospheric aerosol
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-# 52-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+# 52-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
+# 1102-32767 Reserved
# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
diff --git a/definitions/grib2/tables/8/4.1.0.table b/definitions/grib2/tables/8/4.1.0.table
index 361108860..3413dbad5 100644
--- a/definitions/grib2/tables/8/4.1.0.table
+++ b/definitions/grib2/tables/8/4.1.0.table
@@ -1,27 +1,27 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.1.1.table b/definitions/grib2/tables/8/4.1.1.table
index 29f1dec79..dea5bc49e 100644
--- a/definitions/grib2/tables/8/4.1.1.table
+++ b/definitions/grib2/tables/8/4.1.1.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.1.10.table b/definitions/grib2/tables/8/4.1.10.table
index 9c8c92b12..e6ce6faf7 100644
--- a/definitions/grib2/tables/8/4.1.10.table
+++ b/definitions/grib2/tables/8/4.1.10.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.1.2.table b/definitions/grib2/tables/8/4.1.2.table
index b90201c63..805836998 100644
--- a/definitions/grib2/tables/8/4.1.2.table
+++ b/definitions/grib2/tables/8/4.1.2.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.1.3.table b/definitions/grib2/tables/8/4.1.3.table
index 3c947b136..c96617665 100644
--- a/definitions/grib2/tables/8/4.1.3.table
+++ b/definitions/grib2/tables/8/4.1.3.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.10.table b/definitions/grib2/tables/8/4.10.table
index 0e5170876..a13fb00b4 100644
--- a/definitions/grib2/tables/8/4.10.table
+++ b/definitions/grib2/tables/8/4.10.table
@@ -1,15 +1,15 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/8/4.11.table b/definitions/grib2/tables/8/4.11.table
index 1257d1b09..af9ff29ad 100644
--- a/definitions/grib2/tables/8/4.11.table
+++ b/definitions/grib2/tables/8/4.11.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.12.table b/definitions/grib2/tables/8/4.12.table
index e06a3be5b..6cab67bf5 100644
--- a/definitions/grib2/tables/8/4.12.table
+++ b/definitions/grib2/tables/8/4.12.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.13.table b/definitions/grib2/tables/8/4.13.table
index 107ace60c..f090fb9ae 100644
--- a/definitions/grib2/tables/8/4.13.table
+++ b/definitions/grib2/tables/8/4.13.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No quality control applied
-1 1 Quality control applied
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No quality control applied
+1 1 Quality control applied
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.14.table b/definitions/grib2/tables/8/4.14.table
index 9ed9078a8..bcb04f328 100644
--- a/definitions/grib2/tables/8/4.14.table
+++ b/definitions/grib2/tables/8/4.14.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No clutter filter used
-1 1 Clutter filter used
+0 0 No clutter filter used
+1 1 Clutter filter used
# 2-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.15.table b/definitions/grib2/tables/8/4.15.table
index 97cdcd2ee..6e1ef5745 100644
--- a/definitions/grib2/tables/8/4.15.table
+++ b/definitions/grib2/tables/8/4.15.table
@@ -1,11 +1,11 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.0.table b/definitions/grib2/tables/8/4.2.0.0.table
index debc0a6f4..8656f8974 100644
--- a/definitions/grib2/tables/8/4.2.0.0.table
+++ b/definitions/grib2/tables/8/4.2.0.0.table
@@ -20,6 +20,6 @@
18 18 Snow temperature (top of snow) (K)
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
-# 21-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.1.table b/definitions/grib2/tables/8/4.2.0.1.table
index 1922792a6..8ee93e99b 100644
--- a/definitions/grib2/tables/8/4.2.0.1.table
+++ b/definitions/grib2/tables/8/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,10 +86,10 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rain water content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
-# 93-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 93-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.13.table b/definitions/grib2/tables/8/4.2.0.13.table
index b9979f0d3..90ab7d1b9 100644
--- a/definitions/grib2/tables/8/4.2.0.13.table
+++ b/definitions/grib2/tables/8/4.2.0.13.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.14.table b/definitions/grib2/tables/8/4.2.0.14.table
index 4a2a4e128..fca42ccc7 100644
--- a/definitions/grib2/tables/8/4.2.0.14.table
+++ b/definitions/grib2/tables/8/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.15.table b/definitions/grib2/tables/8/4.2.0.15.table
index a7fa034b0..c89ecd203 100644
--- a/definitions/grib2/tables/8/4.2.0.15.table
+++ b/definitions/grib2/tables/8/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.16.table b/definitions/grib2/tables/8/4.2.0.16.table
index 39215ab20..18dedb7c0 100644
--- a/definitions/grib2/tables/8/4.2.0.16.table
+++ b/definitions/grib2/tables/8/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.18.table b/definitions/grib2/tables/8/4.2.0.18.table
index 30060fd2d..165aa6008 100644
--- a/definitions/grib2/tables/8/4.2.0.18.table
+++ b/definitions/grib2/tables/8/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.19.table b/definitions/grib2/tables/8/4.2.0.19.table
index 1bbbd4243..1a2f91974 100644
--- a/definitions/grib2/tables/8/4.2.0.19.table
+++ b/definitions/grib2/tables/8/4.2.0.19.table
@@ -26,6 +26,6 @@
24 24 Convective turbulent kinetic energy (J/kg)
25 25 Weather Interpretation ww (WMO) (-)
26 26 Convective outlook (Code table 4.224)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.190.table b/definitions/grib2/tables/8/4.2.0.190.table
index 39fb55746..3d9d5ff85 100644
--- a/definitions/grib2/tables/8/4.2.0.190.table
+++ b/definitions/grib2/tables/8/4.2.0.190.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.191.table b/definitions/grib2/tables/8/4.2.0.191.table
index 81230c0e0..4ff12e532 100644
--- a/definitions/grib2/tables/8/4.2.0.191.table
+++ b/definitions/grib2/tables/8/4.2.0.191.table
@@ -2,6 +2,6 @@
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/8/4.2.0.2.table b/definitions/grib2/tables/8/4.2.0.2.table
index 58428f66a..f93074e5e 100644
--- a/definitions/grib2/tables/8/4.2.0.2.table
+++ b/definitions/grib2/tables/8/4.2.0.2.table
@@ -33,6 +33,6 @@
31 31 Turbulent diffusion coefficient for momentum (m2/s)
32 32 Eta coordinate vertical velocity (/s)
33 33 Wind fetch (m)
-# 34-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 34-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.20.table b/definitions/grib2/tables/8/4.2.0.20.table
index d0ef4b3a0..2bee70352 100644
--- a/definitions/grib2/tables/8/4.2.0.20.table
+++ b/definitions/grib2/tables/8/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (Sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Atmosphere optical thickness (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (m-1)
110 110 Aerosol lidar extinction from the ground (m-1)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.3.table b/definitions/grib2/tables/8/4.2.0.3.table
index b337cbd06..18c33fdf8 100644
--- a/definitions/grib2/tables/8/4.2.0.3.table
+++ b/definitions/grib2/tables/8/4.2.0.3.table
@@ -25,6 +25,6 @@
23 23 Gravity wave dissipation (W m-2)
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
-# 26-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 26-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.4.table b/definitions/grib2/tables/8/4.2.0.4.table
index fea4cafc3..336fdb421 100644
--- a/definitions/grib2/tables/8/4.2.0.4.table
+++ b/definitions/grib2/tables/8/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.5.table b/definitions/grib2/tables/8/4.2.0.5.table
index aae853bf9..607235064 100644
--- a/definitions/grib2/tables/8/4.2.0.5.table
+++ b/definitions/grib2/tables/8/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.6.table b/definitions/grib2/tables/8/4.2.0.6.table
index 462727d0b..747fd8088 100644
--- a/definitions/grib2/tables/8/4.2.0.6.table
+++ b/definitions/grib2/tables/8/4.2.0.6.table
@@ -33,6 +33,6 @@
31 31 Number density of cloud ice (m-3)
32 32 Fraction of cloud cover (Numeric)
33 33 Sunshine duration (s)
-# 34-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 34-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.0.7.table b/definitions/grib2/tables/8/4.2.0.7.table
index 7a7d2008b..6c1794c73 100644
--- a/definitions/grib2/tables/8/4.2.0.7.table
+++ b/definitions/grib2/tables/8/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.1.0.table b/definitions/grib2/tables/8/4.2.1.0.table
index bf1e3e93f..9c4d129da 100644
--- a/definitions/grib2/tables/8/4.2.1.0.table
+++ b/definitions/grib2/tables/8/4.2.1.0.table
@@ -6,6 +6,6 @@
4 4 Snow water equivalent per cent of normal (%)
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.1.1.table b/definitions/grib2/tables/8/4.2.1.1.table
index cb5117dc8..aa560e479 100644
--- a/definitions/grib2/tables/8/4.2.1.1.table
+++ b/definitions/grib2/tables/8/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.0.table b/definitions/grib2/tables/8/4.2.10.0.table
index eb9d1fa65..c00ce058f 100644
--- a/definitions/grib2/tables/8/4.2.10.0.table
+++ b/definitions/grib2/tables/8/4.2.10.0.table
@@ -48,6 +48,6 @@
46 46 2-dim spectral energy density (m2 s)
47 47 Frequency spectral energy density (m2 s)
48 48 Directional spectral energy density
-# 49-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 49-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.1.table b/definitions/grib2/tables/8/4.2.10.1.table
index 5a33bac5d..a076fb07c 100644
--- a/definitions/grib2/tables/8/4.2.10.1.table
+++ b/definitions/grib2/tables/8/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.191.table b/definitions/grib2/tables/8/4.2.10.191.table
index 14085ac9a..6cafbd3d4 100644
--- a/definitions/grib2/tables/8/4.2.10.191.table
+++ b/definitions/grib2/tables/8/4.2.10.191.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.2.table b/definitions/grib2/tables/8/4.2.10.2.table
index a69b2622c..80fe973be 100644
--- a/definitions/grib2/tables/8/4.2.10.2.table
+++ b/definitions/grib2/tables/8/4.2.10.2.table
@@ -9,6 +9,6 @@
7 7 Ice divergence (/s)
8 8 Ice temperature (K)
9 9 Ice internal pressure (Pa m)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.3.table b/definitions/grib2/tables/8/4.2.10.3.table
index 112af09d5..3b9a2df46 100644
--- a/definitions/grib2/tables/8/4.2.10.3.table
+++ b/definitions/grib2/tables/8/4.2.10.3.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.10.4.table b/definitions/grib2/tables/8/4.2.10.4.table
index d80a32780..91ffb2b29 100644
--- a/definitions/grib2/tables/8/4.2.10.4.table
+++ b/definitions/grib2/tables/8/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2 s-1)
6 6 Ocean vertical momentum diffusivity (m2 s-1)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (m-1)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.2.0.table b/definitions/grib2/tables/8/4.2.2.0.table
index b440b9426..083fc5913 100644
--- a/definitions/grib2/tables/8/4.2.2.0.table
+++ b/definitions/grib2/tables/8/4.2.2.0.table
@@ -32,6 +32,6 @@
30 30 Deciduous forest (Numeric)
31 31 Normalized differential vegetation index (NDVI) (Numeric)
32 32 Root depth of vegetation (m)
-# 33-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 33-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.2.3.table b/definitions/grib2/tables/8/4.2.2.3.table
index 80113a4bd..a9ec602e6 100644
--- a/definitions/grib2/tables/8/4.2.2.3.table
+++ b/definitions/grib2/tables/8/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.3.0.table b/definitions/grib2/tables/8/4.2.3.0.table
index 254e56bc8..8c19d43b2 100644
--- a/definitions/grib2/tables/8/4.2.3.0.table
+++ b/definitions/grib2/tables/8/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.2.3.1.table b/definitions/grib2/tables/8/4.2.3.1.table
index 16eee69c4..d199aff60 100644
--- a/definitions/grib2/tables/8/4.2.3.1.table
+++ b/definitions/grib2/tables/8/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.201.table b/definitions/grib2/tables/8/4.201.table
index ebb698b38..e16d5d808 100644
--- a/definitions/grib2/tables/8/4.201.table
+++ b/definitions/grib2/tables/8/4.201.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.202.table b/definitions/grib2/tables/8/4.202.table
index 943c03f6f..aa93458f1 100644
--- a/definitions/grib2/tables/8/4.202.table
+++ b/definitions/grib2/tables/8/4.202.table
@@ -1,4 +1,4 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 0-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.203.table b/definitions/grib2/tables/8/4.203.table
index fce5a15b1..9a8d29e01 100644
--- a/definitions/grib2/tables/8/4.203.table
+++ b/definitions/grib2/tables/8/4.203.table
@@ -1,25 +1,25 @@
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.205.table b/definitions/grib2/tables/8/4.205.table
index 8d425ab9d..3fadf7d80 100644
--- a/definitions/grib2/tables/8/4.205.table
+++ b/definitions/grib2/tables/8/4.205.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.206.table b/definitions/grib2/tables/8/4.206.table
index 0be7fd4f8..43b0ba137 100644
--- a/definitions/grib2/tables/8/4.206.table
+++ b/definitions/grib2/tables/8/4.206.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.207.table b/definitions/grib2/tables/8/4.207.table
index fde9eb477..815a5777e 100644
--- a/definitions/grib2/tables/8/4.207.table
+++ b/definitions/grib2/tables/8/4.207.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.208.table b/definitions/grib2/tables/8/4.208.table
index 196becaaf..23ea97317 100644
--- a/definitions/grib2/tables/8/4.208.table
+++ b/definitions/grib2/tables/8/4.208.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.209.table b/definitions/grib2/tables/8/4.209.table
index 351c0f431..53c6c5eba 100644
--- a/definitions/grib2/tables/8/4.209.table
+++ b/definitions/grib2/tables/8/4.209.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically-driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically-driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.210.table b/definitions/grib2/tables/8/4.210.table
index 1c00b8c6f..149b2ba06 100644
--- a/definitions/grib2/tables/8/4.210.table
+++ b/definitions/grib2/tables/8/4.210.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.211.table b/definitions/grib2/tables/8/4.211.table
index 66ef656f6..b5753f19f 100644
--- a/definitions/grib2/tables/8/4.211.table
+++ b/definitions/grib2/tables/8/4.211.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.212.table b/definitions/grib2/tables/8/4.212.table
index c59bd24e8..738c45d2c 100644
--- a/definitions/grib2/tables/8/4.212.table
+++ b/definitions/grib2/tables/8/4.212.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.213.table b/definitions/grib2/tables/8/4.213.table
index 0f5de0104..5cee0b798 100644
--- a/definitions/grib2/tables/8/4.213.table
+++ b/definitions/grib2/tables/8/4.213.table
@@ -1,21 +1,21 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-12 12 Loam
-13 13 Peat
-14 14 Rock
-15 15 Ice
-16 16 Water
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+12 12 Loam
+13 13 Peat
+14 14 Rock
+15 15 Ice
+16 16 Water
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.215.table b/definitions/grib2/tables/8/4.215.table
index 460888217..5ed37c034 100644
--- a/definitions/grib2/tables/8/4.215.table
+++ b/definitions/grib2/tables/8/4.215.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.216.table b/definitions/grib2/tables/8/4.216.table
index cc62ca5e3..2fd143724 100644
--- a/definitions/grib2/tables/8/4.216.table
+++ b/definitions/grib2/tables/8/4.216.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.217.table b/definitions/grib2/tables/8/4.217.table
index 51a263a99..6a014c9c3 100644
--- a/definitions/grib2/tables/8/4.217.table
+++ b/definitions/grib2/tables/8/4.217.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.218.table b/definitions/grib2/tables/8/4.218.table
index d4b2ab843..b6087448f 100644
--- a/definitions/grib2/tables/8/4.218.table
+++ b/definitions/grib2/tables/8/4.218.table
@@ -1,38 +1,38 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.219.table b/definitions/grib2/tables/8/4.219.table
index f10ce468e..a02452fc4 100644
--- a/definitions/grib2/tables/8/4.219.table
+++ b/definitions/grib2/tables/8/4.219.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.220.table b/definitions/grib2/tables/8/4.220.table
index 9c957eb01..7a18fa1fd 100644
--- a/definitions/grib2/tables/8/4.220.table
+++ b/definitions/grib2/tables/8/4.220.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.221.table b/definitions/grib2/tables/8/4.221.table
index 5466929c7..eb0b64502 100644
--- a/definitions/grib2/tables/8/4.221.table
+++ b/definitions/grib2/tables/8/4.221.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.222.table b/definitions/grib2/tables/8/4.222.table
index c54194e29..f554a7f3d 100644
--- a/definitions/grib2/tables/8/4.222.table
+++ b/definitions/grib2/tables/8/4.222.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.223.table b/definitions/grib2/tables/8/4.223.table
index b6a9be136..706abab78 100644
--- a/definitions/grib2/tables/8/4.223.table
+++ b/definitions/grib2/tables/8/4.223.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing value
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing value
diff --git a/definitions/grib2/tables/8/4.224.table b/definitions/grib2/tables/8/4.224.table
index af846f841..cf67496b8 100644
--- a/definitions/grib2/tables/8/4.224.table
+++ b/definitions/grib2/tables/8/4.224.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.3.table b/definitions/grib2/tables/8/4.3.table
index 68e2cc83f..8a4e919c9 100644
--- a/definitions/grib2/tables/8/4.3.table
+++ b/definitions/grib2/tables/8/4.3.table
@@ -1,16 +1,16 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.4.table b/definitions/grib2/tables/8/4.4.table
index df5272d2f..511c76aa9 100644
--- a/definitions/grib2/tables/8/4.4.table
+++ b/definitions/grib2/tables/8/4.4.table
@@ -1,17 +1,17 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.5.table b/definitions/grib2/tables/8/4.5.table
index 4f36494e9..dfba82870 100644
--- a/definitions/grib2/tables/8/4.5.table
+++ b/definitions/grib2/tables/8/4.5.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid coordinate
@@ -35,14 +35,14 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
-160 160 Depth below sea level m
+# 151-159 Reserved
+160 160 Depth below sea level m
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
163 163 Bottom of sediment layer
164 164 Bottom of thermally active sediment layer
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
-# 167-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 167-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.6.table b/definitions/grib2/tables/8/4.6.table
index 54f2993c3..eaa5c4362 100644
--- a/definitions/grib2/tables/8/4.6.table
+++ b/definitions/grib2/tables/8/4.6.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.7.table b/definitions/grib2/tables/8/4.7.table
index 23e0d457e..e6d887bdb 100644
--- a/definitions/grib2/tables/8/4.7.table
+++ b/definitions/grib2/tables/8/4.7.table
@@ -1,14 +1,14 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.8.table b/definitions/grib2/tables/8/4.8.table
index 37a6cf767..d06153079 100644
--- a/definitions/grib2/tables/8/4.8.table
+++ b/definitions/grib2/tables/8/4.8.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.9.table b/definitions/grib2/tables/8/4.9.table
index 19e64a3d2..5243e58dd 100644
--- a/definitions/grib2/tables/8/4.9.table
+++ b/definitions/grib2/tables/8/4.9.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/4.91.table b/definitions/grib2/tables/8/4.91.table
index 05c4579bd..cea421695 100644
--- a/definitions/grib2/tables/8/4.91.table
+++ b/definitions/grib2/tables/8/4.91.table
@@ -1,16 +1,16 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit.
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit.
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/8/5.1.table b/definitions/grib2/tables/8/5.1.table
index 100d4106d..158a35850 100644
--- a/definitions/grib2/tables/8/5.1.table
+++ b/definitions/grib2/tables/8/5.1.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.2.table b/definitions/grib2/tables/8/5.2.table
index 4d0808be6..d9896e11f 100644
--- a/definitions/grib2/tables/8/5.2.table
+++ b/definitions/grib2/tables/8/5.2.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/8/5.3.table b/definitions/grib2/tables/8/5.3.table
index 705fa6524..6f228aeec 100644
--- a/definitions/grib2/tables/8/5.3.table
+++ b/definitions/grib2/tables/8/5.3.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.4.table b/definitions/grib2/tables/8/5.4.table
index 8133367a5..f844f557e 100644
--- a/definitions/grib2/tables/8/5.4.table
+++ b/definitions/grib2/tables/8/5.4.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.40.table b/definitions/grib2/tables/8/5.40.table
index 0d56ad0e0..2431eb547 100644
--- a/definitions/grib2/tables/8/5.40.table
+++ b/definitions/grib2/tables/8/5.40.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.5.table b/definitions/grib2/tables/8/5.5.table
index 5d625dbda..f2216e273 100644
--- a/definitions/grib2/tables/8/5.5.table
+++ b/definitions/grib2/tables/8/5.5.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.6.table b/definitions/grib2/tables/8/5.6.table
index 5838e994d..3b0892d37 100644
--- a/definitions/grib2/tables/8/5.6.table
+++ b/definitions/grib2/tables/8/5.6.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/8/5.7.table b/definitions/grib2/tables/8/5.7.table
index b93aa8130..f056d3059 100644
--- a/definitions/grib2/tables/8/5.7.table
+++ b/definitions/grib2/tables/8/5.7.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/8/6.0.table b/definitions/grib2/tables/8/6.0.table
index aecdc6e5e..9c9dba372 100644
--- a/definitions/grib2/tables/8/6.0.table
+++ b/definitions/grib2/tables/8/6.0.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating Centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating Centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating Centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/9/0.0.table b/definitions/grib2/tables/9/0.0.table
index 1d3a90b49..88d8b2cb3 100644
--- a/definitions/grib2/tables/9/0.0.table
+++ b/definitions/grib2/tables/9/0.0.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Meteorological products
-1 1 Hydrological products
-2 2 Land surface products
-3 3 Space products
-# 4-9 Reserved
-10 10 Oceanographic products
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Meteorological products
+1 1 Hydrological products
+2 2 Land surface products
+3 3 Space products
+# 4-9 Reserved
+10 10 Oceanographic products
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/1.0.table b/definitions/grib2/tables/9/1.0.table
index 045af30c3..4b1406c7e 100644
--- a/definitions/grib2/tables/9/1.0.table
+++ b/definitions/grib2/tables/9/1.0.table
@@ -1,14 +1,14 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Experimental
-1 1 Version implemented on 7 November 2001
-2 2 Version implemented on 4 November 2003
-3 3 Version implemented on 2 November 2005
-4 4 Version implemented on 7 November 2007
-5 5 Version implemented on 4 November 2009
+0 0 Experimental
+1 1 Version implemented on 7 November 2001
+2 2 Version implemented on 4 November 2003
+3 3 Version implemented on 2 November 2005
+4 4 Version implemented on 7 November 2007
+5 5 Version implemented on 4 November 2009
6 6 Version implemented on 15 September 2010
7 7 Version implemented on 4 May 2011
8 8 Version implemented on 2 November 2011
9 9 Version implemented on 2 May 2012
10 10 Pre-operational to be implemented by next amendment
-# 11-254 Future versions
+# 11-254 Future versions
255 255 Master tables not used. Local table entries and local templates may use the entire range of the table, not just those sections marked Reserved for local used.
diff --git a/definitions/grib2/tables/9/1.1.table b/definitions/grib2/tables/9/1.1.table
index 91ef66244..55fa1eb63 100644
--- a/definitions/grib2/tables/9/1.1.table
+++ b/definitions/grib2/tables/9/1.1.table
@@ -1,4 +1,4 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Local tables not used. Only table entries and templates from the current master table are valid
-# 1-254 Number of local tables version used
-255 255 Missing
+0 0 Local tables not used. Only table entries and templates from the current master table are valid
+# 1-254 Number of local tables version used
+255 255 Missing
diff --git a/definitions/grib2/tables/9/1.2.table b/definitions/grib2/tables/9/1.2.table
index d90ad0109..606bf8300 100644
--- a/definitions/grib2/tables/9/1.2.table
+++ b/definitions/grib2/tables/9/1.2.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis
-1 1 Start of forecast
-2 2 Verifying time of forecast
-3 3 Observation time
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Start of forecast
+2 2 Verifying time of forecast
+3 3 Observation time
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/1.3.table b/definitions/grib2/tables/9/1.3.table
index 35cd6a636..712bb2ba8 100644
--- a/definitions/grib2/tables/9/1.3.table
+++ b/definitions/grib2/tables/9/1.3.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Operational products
-1 1 Operational test products
-2 2 Research products
-3 3 Re-analysis products
-4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
-5 5 THORPEX Interactive Grand Global Ensemble (TIGGE) test
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Operational products
+1 1 Operational test products
+2 2 Research products
+3 3 Re-analysis products
+4 4 THORPEX Interactive Grand Global Ensemble (TIGGE)
+5 5 THORPEX Interactive Grand Global Ensemble (TIGGE) test
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/1.4.table b/definitions/grib2/tables/9/1.4.table
index d11a335a7..7f47afd96 100644
--- a/definitions/grib2/tables/9/1.4.table
+++ b/definitions/grib2/tables/9/1.4.table
@@ -1,13 +1,13 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 an Analysis products
-1 fc Forecast products
-2 af Analysis and forecast products
-3 cf Control forecast products
-4 pf Perturbed forecast products
-5 cp Control and perturbed forecast products
-6 sa Processed satellite observations
-7 ra Processed radar observations
-8 ep Event probability
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 an Analysis products
+1 fc Forecast products
+2 af Analysis and forecast products
+3 cf Control forecast products
+4 pf Perturbed forecast products
+5 cp Control and perturbed forecast products
+6 sa Processed satellite observations
+7 ra Processed radar observations
+8 ep Event probability
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/9/3.0.table b/definitions/grib2/tables/9/3.0.table
index 4baed0aab..4269b25ad 100644
--- a/definitions/grib2/tables/9/3.0.table
+++ b/definitions/grib2/tables/9/3.0.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Specified in Code table 3.1
+0 0 Specified in Code table 3.1
1 1 Predetermined grid definition (Defined by originating centre)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 A grid definition does not apply to this product
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 A grid definition does not apply to this product
diff --git a/definitions/grib2/tables/9/3.10.table b/definitions/grib2/tables/9/3.10.table
index 23c1cdd36..da36dc664 100644
--- a/definitions/grib2/tables/9/3.10.table
+++ b/definitions/grib2/tables/9/3.10.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Points scan in +i direction, i.e. from pole to Equator
-1 1 Points scan in -i direction, i.e. from Equator to pole
-2 0 Points scan in +j direction, i.e. from west to east
-2 1 Points scan in -j direction, i.e. from east to west
-3 0 Adjacent points in i direction are consecutive
-3 1 Adjacent points in j direction are consecutive
-# 4-8 Reserved
+1 0 Points scan in +i direction, i.e. from pole to Equator
+1 1 Points scan in -i direction, i.e. from Equator to pole
+2 0 Points scan in +j direction, i.e. from west to east
+2 1 Points scan in -j direction, i.e. from east to west
+3 0 Adjacent points in i direction are consecutive
+3 1 Adjacent points in j direction are consecutive
+# 4-8 Reserved
diff --git a/definitions/grib2/tables/9/3.11.table b/definitions/grib2/tables/9/3.11.table
index 560318d1b..0a299af98 100644
--- a/definitions/grib2/tables/9/3.11.table
+++ b/definitions/grib2/tables/9/3.11.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 There is no appended list
+0 0 There is no appended list
1 1 Numbers define number of points corresponding to full coordinate circles (i.e. parallels), coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition (i.e. extreme longitudes) may not be reached in all rows
2 2 Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition (i.e. extreme longitudes) which are present in each row
3 3 Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scaled by 10-6) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the scanning mode flag (bit no. 2)
diff --git a/definitions/grib2/tables/9/3.15.table b/definitions/grib2/tables/9/3.15.table
index 94f6c8e04..44e7a0983 100644
--- a/definitions/grib2/tables/9/3.15.table
+++ b/definitions/grib2/tables/9/3.15.table
@@ -1,23 +1,23 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-19 Reserved
+# 0-19 Reserved
20 20 Temperature (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 100 Pressure (Pa)
101 101 Pressure deviation from mean sea level (Pa)
102 102 Altitude above mean sea level (m)
103 103 Height above ground (m)
-104 104 Sigma coordinate
-105 105 Hybrid coordinate
+104 104 Sigma coordinate
+105 105 Hybrid coordinate
106 106 Depth below land surface (m)
107 pt Potential temperature (theta) (K)
108 108 Pressure deviation from ground to level (Pa)
109 pv Potential vorticity (K m-2 kg-1 s-1)
110 110 Geometrical height (m)
-111 111 Eta coordinate
+111 111 Eta coordinate
112 112 Geopotential height (gpm)
113 113 Logarithmic hybrid coordinate
-# 114-159 Reserved
+# 114-159 Reserved
160 160 Depth below sea level (m)
-# 161-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 161-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/3.2.table b/definitions/grib2/tables/9/3.2.table
index 3d7a4f1fc..563efbdb5 100644
--- a/definitions/grib2/tables/9/3.2.table
+++ b/definitions/grib2/tables/9/3.2.table
@@ -1,13 +1,13 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Earth assumed spherical with radius = 6 367 470.0 m
-1 1 Earth assumed spherical with radius specified (in m) by data producer
-2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
-3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
-4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
-5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
-6 6 Earth assumed spherical with radius of 6 371 229.0 m
-7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
-8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
-# 9-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Earth assumed spherical with radius = 6 367 470.0 m
+1 1 Earth assumed spherical with radius specified (in m) by data producer
+2 2 Earth assumed oblate spheroid with size as determined by IAU in 1965 (major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)
+3 3 Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer
+4 4 Earth assumed oblate spheroid as defined in IAG-GRS80 model (major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)
+5 5 Earth assumed represented by WGS84 (as used by ICAO since 1998)
+6 6 Earth assumed spherical with radius of 6 371 229.0 m
+7 7 Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer
+8 8 Earth model assumed spherical with radius of 6 371 200 m, but the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame
+# 9-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/3.20.table b/definitions/grib2/tables/9/3.20.table
index 3f7ab4cc4..63de6b1a9 100644
--- a/definitions/grib2/tables/9/3.20.table
+++ b/definitions/grib2/tables/9/3.20.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Rhumb
-1 1 Great circle
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Rhumb
+1 1 Great circle
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/3.21.table b/definitions/grib2/tables/9/3.21.table
index b0c77d135..2bc46aae9 100644
--- a/definitions/grib2/tables/9/3.21.table
+++ b/definitions/grib2/tables/9/3.21.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
-# 2-10 Reserved
-11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1) = C1, f(n) = f(n-1) + C2
+# 2-10 Reserved
+11 11 Geometric coordinates f(1) = C1, f(n) = C2 * f(n-1)
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/3.3.table b/definitions/grib2/tables/9/3.3.table
index 5167ed6b7..bd47e2509 100644
--- a/definitions/grib2/tables/9/3.3.table
+++ b/definitions/grib2/tables/9/3.3.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 1-2 Reserved
-3 0 i direction increments not given
-3 1 i direction increments given
-4 0 j direction increments not given
-4 1 j direction increments given
-5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
-5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
-# 6-8 Reserved - set to zero
+# 1-2 Reserved
+3 0 i direction increments not given
+3 1 i direction increments given
+4 0 j direction increments not given
+4 1 j direction increments given
+5 0 Resolved u- and v- components of vector quantities relative to easterly and northerly directions
+5 1 Resolved u- and v- components of vector quantities relative to the defined grid in the direction of increasing x and y (or i and j) coordinates, respectively
+# 6-8 Reserved - set to zero
diff --git a/definitions/grib2/tables/9/3.4.table b/definitions/grib2/tables/9/3.4.table
index 6253896b1..752c70757 100644
--- a/definitions/grib2/tables/9/3.4.table
+++ b/definitions/grib2/tables/9/3.4.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Points of first row or column scan in the +i (+x) direction
-1 1 Points of first row or column scan in the -i (-x) direction
-2 0 Points of first row or column scan in the -j (-y) direction
-2 1 Points of first row or column scan in the +j (+y) direction
-3 0 Adjacent points in i (x) direction are consecutive
-3 1 Adjacent points in j (y) direction is consecutive
-4 0 All rows scan in the same direction
-4 1 Adjacent rows scans in the opposite direction
-# 5-8 Reserved
+1 0 Points of first row or column scan in the +i (+x) direction
+1 1 Points of first row or column scan in the -i (-x) direction
+2 0 Points of first row or column scan in the -j (-y) direction
+2 1 Points of first row or column scan in the +j (+y) direction
+3 0 Adjacent points in i (x) direction are consecutive
+3 1 Adjacent points in j (y) direction is consecutive
+4 0 All rows scan in the same direction
+4 1 Adjacent rows scans in the opposite direction
+# 5-8 Reserved
diff --git a/definitions/grib2/tables/9/3.5.table b/definitions/grib2/tables/9/3.5.table
index 8ccf0f13b..6d3ec036e 100644
--- a/definitions/grib2/tables/9/3.5.table
+++ b/definitions/grib2/tables/9/3.5.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 North Pole is on the projection plane
-1 1 South Pole is on the projection plane
-2 0 Only one projection centre is used
-2 1 Projection is bipolar and symmetric
+1 0 North Pole is on the projection plane
+1 1 South Pole is on the projection plane
+2 0 Only one projection centre is used
+2 1 Projection is bipolar and symmetric
diff --git a/definitions/grib2/tables/9/3.7.table b/definitions/grib2/tables/9/3.7.table
index 65693989a..4b2e684d3 100644
--- a/definitions/grib2/tables/9/3.7.table
+++ b/definitions/grib2/tables/9/3.7.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
+0 0 Reserved
1 1 The complex numbers Fnm (see code figure 1 in Code Table 3.6 above) are stored for m>=0 as pairs of real numbers Re(Fnm), Im(Fnm) ordered with n increasing from m to N(m), first for m=0 and then for m=1, 2, ... M. (see Note 1)
-# 2-254 Reserved
+# 2-254 Reserved
255 255 Missing
diff --git a/definitions/grib2/tables/9/3.8.table b/definitions/grib2/tables/9/3.8.table
index 4e811917b..6df554ae9 100644
--- a/definitions/grib2/tables/9/3.8.table
+++ b/definitions/grib2/tables/9/3.8.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Grid points at triangle vertices
-1 1 Grid points at centres of triangles
-2 2 Grid points at midpoints of triangle sides
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Grid points at triangle vertices
+1 1 Grid points at centres of triangles
+2 2 Grid points at midpoints of triangle sides
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/3.9.table b/definitions/grib2/tables/9/3.9.table
index f35b7ca53..530d1dee0 100644
--- a/definitions/grib2/tables/9/3.9.table
+++ b/definitions/grib2/tables/9/3.9.table
@@ -1,4 +1,4 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 0 Clockwise orientation
-1 1 Anti-clockwise (i.e. counter-clockwise) orientation
-# 2-8 Reserved
+1 0 Clockwise orientation
+1 1 Anti-clockwise (i.e. counter-clockwise) orientation
+# 2-8 Reserved
diff --git a/definitions/grib2/tables/9/4.0.table b/definitions/grib2/tables/9/4.0.table
index faa4f59df..0852d9f0d 100644
--- a/definitions/grib2/tables/9/4.0.table
+++ b/definitions/grib2/tables/9/4.0.table
@@ -1,52 +1,52 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
-1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
-2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
-3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
-4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
-5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
-6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
-7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
+0 0 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
+1 1 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
+2 2 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
+3 3 Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
+4 4 Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
+5 5 Probability forecasts at a horizontal level or in a horizontal layer at a point in time
+6 6 Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
+7 7 Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time
8 8 Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
-15 15 Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
-# 16-19 Reserved
-20 20 Radar product
-# 21-29 Reserved
-30 30 Satellite product (deprecated)
-31 31 Satellite product
-32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
+9 9 Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+10 10 Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+11 11 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+12 12 Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+13 13 Derived forecasts based on a cluster of ensemble members over a rectangular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+14 14 Derived forecasts based on a cluster of ensemble members over a circular area, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval
+15 15 Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
+# 16-19 Reserved
+20 20 Radar product
+# 21-29 Reserved
+30 30 Satellite product (deprecated)
+31 31 Satellite product
+32 32 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
# 33-39 Reserved
311 311 Satellite product auxiliary information
-40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
-41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+40 40 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
+41 41 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents
42 42 Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents
43 43 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for atmospheric chemical constituents
-44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
-45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
+44 44 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol
+45 45 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol
46 46 Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
47 47 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non continuous time interval for aerosol
48 48 Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of atmospheric aerosol
-51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
-# 52-90 Reserved
-91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
-# 92-253 Reserved
-254 254 CCITT IA5 character string
-# 255-999 Reserved
-1000 1000 Cross-section of analysis and forecast at a point in time
-1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
-1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
-# 1003-1099 Reserved
-1100 1100 Hovmoller-type grid with no averaging or other statistical processing
-1101 1101 Hovmoller-type grid with averaging or other statistical processing
+51 51 Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
+# 52-90 Reserved
+91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+# 92-253 Reserved
+254 254 CCITT IA5 character string
+# 255-999 Reserved
+1000 1000 Cross-section of analysis and forecast at a point in time
+1001 1001 Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time
+1002 1002 Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
+# 1003-1099 Reserved
+1100 1100 Hovmoller-type grid with no averaging or other statistical processing
+1101 1101 Hovmoller-type grid with averaging or other statistical processing
50001 50001 Forecasting Systems with Variable Resolution in a point in time
50011 50011 Forecasting Systems with Variable Resolution in a continous or non countinous time interval
-# 1102-32767 Reserved
+# 1102-32767 Reserved
# 32768-65534 Reserved for local use
40033 40033 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
40034 40034 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
diff --git a/definitions/grib2/tables/9/4.1.0.table b/definitions/grib2/tables/9/4.1.0.table
index 361108860..3413dbad5 100644
--- a/definitions/grib2/tables/9/4.1.0.table
+++ b/definitions/grib2/tables/9/4.1.0.table
@@ -1,27 +1,27 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Temperature
-1 1 Moisture
-2 2 Momentum
-3 3 Mass
-4 4 Short-wave radiation
-5 5 Long-wave radiation
-6 6 Cloud
-7 7 Thermodynamic stability indices
-8 8 Kinematic stability indices
-9 9 Temperature probabilities
-10 10 Moisture probabilities
-11 11 Momentum probabilities
-12 12 Mass probabilities
-13 13 Aerosols
-14 14 Trace gases (e.g. ozone, CO2)
-15 15 Radar
-16 16 Forecast radar imagery
-17 17 Electrodynamics
-18 18 Nuclear/radiology
-19 19 Physical atmospheric properties
-20 20 Atmospheric chemical constituents
-# 21-189 Reserved
-190 190 CCITT IA5 string
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Temperature
+1 1 Moisture
+2 2 Momentum
+3 3 Mass
+4 4 Short-wave radiation
+5 5 Long-wave radiation
+6 6 Cloud
+7 7 Thermodynamic stability indices
+8 8 Kinematic stability indices
+9 9 Temperature probabilities
+10 10 Moisture probabilities
+11 11 Momentum probabilities
+12 12 Mass probabilities
+13 13 Aerosols
+14 14 Trace gases (e.g. ozone, CO2)
+15 15 Radar
+16 16 Forecast radar imagery
+17 17 Electrodynamics
+18 18 Nuclear/radiology
+19 19 Physical atmospheric properties
+20 20 Atmospheric chemical constituents
+# 21-189 Reserved
+190 190 CCITT IA5 string
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.1.1.table b/definitions/grib2/tables/9/4.1.1.table
index 29f1dec79..dea5bc49e 100644
--- a/definitions/grib2/tables/9/4.1.1.table
+++ b/definitions/grib2/tables/9/4.1.1.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Hydrology basic products
-1 1 Hydrology probabilities
-2 2 Inland water and sediment properties
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Hydrology basic products
+1 1 Hydrology probabilities
+2 2 Inland water and sediment properties
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.1.10.table b/definitions/grib2/tables/9/4.1.10.table
index 9c8c92b12..e6ce6faf7 100644
--- a/definitions/grib2/tables/9/4.1.10.table
+++ b/definitions/grib2/tables/9/4.1.10.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Waves
-1 1 Currents
-2 2 Ice
-3 3 Surface properties
-4 4 Sub-surface properties
-# 5-190 Reserved
-191 191 Miscellaneous
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Waves
+1 1 Currents
+2 2 Ice
+3 3 Surface properties
+4 4 Sub-surface properties
+# 5-190 Reserved
+191 191 Miscellaneous
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.1.2.table b/definitions/grib2/tables/9/4.1.2.table
index b90201c63..805836998 100644
--- a/definitions/grib2/tables/9/4.1.2.table
+++ b/definitions/grib2/tables/9/4.1.2.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Vegetation/biomass
-1 1 Agri-/aquacultural special products
-2 2 Transportation-related products
-3 3 Soil products
-4 4 Fire weather products
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Vegetation/biomass
+1 1 Agri-/aquacultural special products
+2 2 Transportation-related products
+3 3 Soil products
+4 4 Fire weather products
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.1.3.table b/definitions/grib2/tables/9/4.1.3.table
index 3c947b136..c96617665 100644
--- a/definitions/grib2/tables/9/4.1.3.table
+++ b/definitions/grib2/tables/9/4.1.3.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Image format products
-1 1 Quantitative products
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Image format products
+1 1 Quantitative products
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.10.table b/definitions/grib2/tables/9/4.10.table
index 0e5170876..a13fb00b4 100644
--- a/definitions/grib2/tables/9/4.10.table
+++ b/definitions/grib2/tables/9/4.10.table
@@ -1,15 +1,15 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 avg Average
-1 accum Accumulation
-2 max Maximum
-3 min Minimum
-4 diff Difference (value at the end of time range minus value at the beginning)
-5 rms Root mean square
-6 sd Standard deviation
-7 cov Covariance (temporal variance)
-8 8 Difference (value at the start of time range minus value at the end)
-9 ratio Ratio
-10 10 Standardized anomaly
-# 11-191 Reserved
-# 192-254 Reserved for local use
-255 missing Missing
+0 avg Average
+1 accum Accumulation
+2 max Maximum
+3 min Minimum
+4 diff Difference (value at the end of time range minus value at the beginning)
+5 rms Root mean square
+6 sd Standard deviation
+7 cov Covariance (temporal variance)
+8 8 Difference (value at the start of time range minus value at the end)
+9 ratio Ratio
+10 10 Standardized anomaly
+# 11-191 Reserved
+# 192-254 Reserved for local use
+255 missing Missing
diff --git a/definitions/grib2/tables/9/4.11.table b/definitions/grib2/tables/9/4.11.table
index 1257d1b09..af9ff29ad 100644
--- a/definitions/grib2/tables/9/4.11.table
+++ b/definitions/grib2/tables/9/4.11.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Successive times processed have same forecast time, start time of forecast is incremented
-2 2 Successive times processed have same start time of forecast, forecast time is incremented
-3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
-4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
-5 5 Floating subinterval of time between forecast time and end of overall time interval
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Successive times processed have same forecast time, start time of forecast is incremented
+2 2 Successive times processed have same start time of forecast, forecast time is incremented
+3 3 Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant
+4 4 Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant
+5 5 Floating subinterval of time between forecast time and end of overall time interval
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.12.table b/definitions/grib2/tables/9/4.12.table
index 680b6456d..6cab67bf5 100644
--- a/definitions/grib2/tables/9/4.12.table
+++ b/definitions/grib2/tables/9/4.12.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Maintenance mode
-1 1 Clear air
-2 2 Precipitation
+0 0 Maintenance mode
+1 1 Clear air
+2 2 Precipitation
# 3-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.13.table b/definitions/grib2/tables/9/4.13.table
index 0d0474d69..f090fb9ae 100644
--- a/definitions/grib2/tables/9/4.13.table
+++ b/definitions/grib2/tables/9/4.13.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No quality control applied
-1 1 Quality control applied
+0 0 No quality control applied
+1 1 Quality control applied
# 2-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.14.table b/definitions/grib2/tables/9/4.14.table
index 9ed9078a8..bcb04f328 100644
--- a/definitions/grib2/tables/9/4.14.table
+++ b/definitions/grib2/tables/9/4.14.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No clutter filter used
-1 1 Clutter filter used
+0 0 No clutter filter used
+1 1 Clutter filter used
# 2-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.15.table b/definitions/grib2/tables/9/4.15.table
index 4c8a88401..6e1ef5745 100644
--- a/definitions/grib2/tables/9/4.15.table
+++ b/definitions/grib2/tables/9/4.15.table
@@ -1,11 +1,11 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Data is calculated directly from the source grid with no interpolation
-1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
-4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
-6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+0 0 Data is calculated directly from the source grid with no interpolation
+1 1 Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+2 2 Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+3 3 Using the value from the source grid grid-point which is nearest to the nominal grid-point
+4 4 Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+5 5 Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
+6 6 Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point
# 7-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.0.table b/definitions/grib2/tables/9/4.2.0.0.table
index debc0a6f4..8656f8974 100644
--- a/definitions/grib2/tables/9/4.2.0.0.table
+++ b/definitions/grib2/tables/9/4.2.0.0.table
@@ -20,6 +20,6 @@
18 18 Snow temperature (top of snow) (K)
19 19 Turbulent transfer coefficient for heat (Numeric)
20 20 Turbulent diffusion coefficient for heat (m2/s)
-# 21-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 21-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.1.table b/definitions/grib2/tables/9/4.2.0.1.table
index 1922792a6..8ee93e99b 100644
--- a/definitions/grib2/tables/9/4.2.0.1.table
+++ b/definitions/grib2/tables/9/4.2.0.1.table
@@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
-63 63 Reserved
+63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@@ -86,10 +86,10 @@
84 84 Specific cloud ice water content (kg/kg)
85 85 Specific rain water content (kg/kg)
86 86 Specific snow water content (kg/kg)
-# 87-89 Reserved
+# 87-89 Reserved
90 90 Total kinematic moisture flux (kg kg-1 m s-1)
91 91 u-component (zonal) kinematic moisture flux (kg kg-1 m s-1)
92 92 v-component (meridional) kinematic moisture flux (kg kg-1 m s-1)
-# 93-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 93-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.13.table b/definitions/grib2/tables/9/4.2.0.13.table
index b9979f0d3..90ab7d1b9 100644
--- a/definitions/grib2/tables/9/4.2.0.13.table
+++ b/definitions/grib2/tables/9/4.2.0.13.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Aerosol type (Code table 4.205)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.14.table b/definitions/grib2/tables/9/4.2.0.14.table
index 4a2a4e128..fca42ccc7 100644
--- a/definitions/grib2/tables/9/4.2.0.14.table
+++ b/definitions/grib2/tables/9/4.2.0.14.table
@@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.15.table b/definitions/grib2/tables/9/4.2.0.15.table
index 895892f86..66ccff19d 100644
--- a/definitions/grib2/tables/9/4.2.0.15.table
+++ b/definitions/grib2/tables/9/4.2.0.15.table
@@ -14,6 +14,6 @@
12 12 Reflectivity of rain (dB)
13 13 Reflectivity of graupel (dB)
14 14 Reflectivity of hail (dB)
-# 15-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 15-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.16.table b/definitions/grib2/tables/9/4.2.0.16.table
index 39215ab20..18dedb7c0 100644
--- a/definitions/grib2/tables/9/4.2.0.16.table
+++ b/definitions/grib2/tables/9/4.2.0.16.table
@@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.18.table b/definitions/grib2/tables/9/4.2.0.18.table
index 30060fd2d..165aa6008 100644
--- a/definitions/grib2/tables/9/4.2.0.18.table
+++ b/definitions/grib2/tables/9/4.2.0.18.table
@@ -8,11 +8,11 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
-9 9 Reserved
+9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
13 13 Total deposition (wet + dry) (Bq m-2)
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.19.table b/definitions/grib2/tables/9/4.2.0.19.table
index 5831b567c..cbce2f76c 100644
--- a/definitions/grib2/tables/9/4.2.0.19.table
+++ b/definitions/grib2/tables/9/4.2.0.19.table
@@ -27,6 +27,6 @@
25 25 Weather (Code table 4.225)
26 26 Convective outlook (Code table 4.224)
27 27 Icing scenario (Code table 4.227)
-# 28-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 28-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.190.table b/definitions/grib2/tables/9/4.2.0.190.table
index 39fb55746..3d9d5ff85 100644
--- a/definitions/grib2/tables/9/4.2.0.190.table
+++ b/definitions/grib2/tables/9/4.2.0.190.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Arbitrary text string (CCITT IA5)
-# 1-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 1-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.191.table b/definitions/grib2/tables/9/4.2.0.191.table
index 81230c0e0..4ff12e532 100644
--- a/definitions/grib2/tables/9/4.2.0.191.table
+++ b/definitions/grib2/tables/9/4.2.0.191.table
@@ -2,6 +2,6 @@
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing value
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing value
diff --git a/definitions/grib2/tables/9/4.2.0.2.table b/definitions/grib2/tables/9/4.2.0.2.table
index e8b59a998..68aa47ba6 100644
--- a/definitions/grib2/tables/9/4.2.0.2.table
+++ b/definitions/grib2/tables/9/4.2.0.2.table
@@ -35,6 +35,6 @@
33 33 Wind fetch (m)
34 34 Normal wind component (m/s)
35 35 Tangential wind component (m/s)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.20.table b/definitions/grib2/tables/9/4.2.0.20.table
index cc2dbcc52..898a774eb 100644
--- a/definitions/grib2/tables/9/4.2.0.20.table
+++ b/definitions/grib2/tables/9/4.2.0.20.table
@@ -14,7 +14,7 @@
12 12 Dry deposition mass flux (kg m-2 s-1)
13 13 Transfer from hydrophobic to hydrophilic (kg kg-1 s-1)
14 14 Transfer from SO2 (Sulphur dioxide) to SO4 (sulphate) (kg kg-1 s-1)
-# 15-49 Reserved
+# 15-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@@ -25,7 +25,7 @@
57 57 Total yearly average burden of the atmosphere (mol)
58 58 Total yearly averaged atmospheric loss (mol/s)
59 59 Aerosol number concentration (m-3)
-# 60-99 Reserved
+# 60-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@@ -37,6 +37,6 @@
108 108 Aerosol lidar backscatter from the ground (m-1 sr-1)
109 109 Aerosol lidar extinction from satellite (m-1)
110 110 Aerosol lidar extinction from the ground (m-1)
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.3.table b/definitions/grib2/tables/9/4.2.0.3.table
index f718c6ea9..08c1c7bc3 100644
--- a/definitions/grib2/tables/9/4.2.0.3.table
+++ b/definitions/grib2/tables/9/4.2.0.3.table
@@ -26,6 +26,6 @@
24 24 Anisotropy of sub-gridscale orography (Numeric)
25 25 Natural logarithm of pressure in Pa (Numeric)
26 26 Exner pressure (Numeric)
-# 27-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 27-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.4.table b/definitions/grib2/tables/9/4.2.0.4.table
index fea4cafc3..336fdb421 100644
--- a/definitions/grib2/tables/9/4.2.0.4.table
+++ b/definitions/grib2/tables/9/4.2.0.4.table
@@ -12,9 +12,9 @@
10 10 Photosynthetically active radiation (W m-2)
11 11 Net short-wave radiation flux, clear sky (W m-2)
12 12 Downward UV radiation (W m-2)
-# 13-49 Reserved
+# 13-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
-# 52-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 52-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.5.table b/definitions/grib2/tables/9/4.2.0.5.table
index aae853bf9..607235064 100644
--- a/definitions/grib2/tables/9/4.2.0.5.table
+++ b/definitions/grib2/tables/9/4.2.0.5.table
@@ -6,6 +6,6 @@
4 4 Upward long-wave radiation flux (W m-2)
5 5 Net long wave radiation flux (W m-2)
6 6 Net long-wave radiation flux, clear sky (W m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.6.table b/definitions/grib2/tables/9/4.2.0.6.table
index fd4b23014..fb935344e 100644
--- a/definitions/grib2/tables/9/4.2.0.6.table
+++ b/definitions/grib2/tables/9/4.2.0.6.table
@@ -35,6 +35,6 @@
33 33 Sunshine duration (s)
34 34 Surface long wave effective total cloudiness (Numeric)
35 35 Surface short wave effective total cloudiness (Numeric)
-# 36-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 36-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.0.7.table b/definitions/grib2/tables/9/4.2.0.7.table
index 7a7d2008b..6c1794c73 100644
--- a/definitions/grib2/tables/9/4.2.0.7.table
+++ b/definitions/grib2/tables/9/4.2.0.7.table
@@ -13,8 +13,8 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
-14 14 Reserved
+14 14 Reserved
15 15 Updraft helicity (m2 s-2)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.1.0.table b/definitions/grib2/tables/9/4.2.1.0.table
index bf1e3e93f..9c4d129da 100644
--- a/definitions/grib2/tables/9/4.2.1.0.table
+++ b/definitions/grib2/tables/9/4.2.1.0.table
@@ -6,6 +6,6 @@
4 4 Snow water equivalent per cent of normal (%)
5 5 Baseflow-groundwater runoff (kg m-2)
6 6 Storm surface runoff (kg m-2)
-# 7-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 7-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.1.1.table b/definitions/grib2/tables/9/4.2.1.1.table
index cb5117dc8..aa560e479 100644
--- a/definitions/grib2/tables/9/4.2.1.1.table
+++ b/definitions/grib2/tables/9/4.2.1.1.table
@@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.0.table b/definitions/grib2/tables/9/4.2.10.0.table
index d4321d955..8bba32cf5 100644
--- a/definitions/grib2/tables/9/4.2.10.0.table
+++ b/definitions/grib2/tables/9/4.2.10.0.table
@@ -45,6 +45,6 @@
43 43 Kurtosis of the sea surface elevation due to waves (-)
44 44 Benjamin-Feir index (-)
45 45 Spectral peakedness factor (s-1)
-# 46-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 46-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.1.table b/definitions/grib2/tables/9/4.2.10.1.table
index 5a33bac5d..a076fb07c 100644
--- a/definitions/grib2/tables/9/4.2.10.1.table
+++ b/definitions/grib2/tables/9/4.2.10.1.table
@@ -3,6 +3,6 @@
1 1 Current speed (m/s)
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.191.table b/definitions/grib2/tables/9/4.2.10.191.table
index 14085ac9a..6cafbd3d4 100644
--- a/definitions/grib2/tables/9/4.2.10.191.table
+++ b/definitions/grib2/tables/9/4.2.10.191.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.2.table b/definitions/grib2/tables/9/4.2.10.2.table
index a69b2622c..80fe973be 100644
--- a/definitions/grib2/tables/9/4.2.10.2.table
+++ b/definitions/grib2/tables/9/4.2.10.2.table
@@ -9,6 +9,6 @@
7 7 Ice divergence (/s)
8 8 Ice temperature (K)
9 9 Ice internal pressure (Pa m)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.3.table b/definitions/grib2/tables/9/4.2.10.3.table
index 112af09d5..3b9a2df46 100644
--- a/definitions/grib2/tables/9/4.2.10.3.table
+++ b/definitions/grib2/tables/9/4.2.10.3.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 Water temperature (K)
1 1 Deviation of sea level from mean (m)
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.10.4.table b/definitions/grib2/tables/9/4.2.10.4.table
index d80a32780..91ffb2b29 100644
--- a/definitions/grib2/tables/9/4.2.10.4.table
+++ b/definitions/grib2/tables/9/4.2.10.4.table
@@ -7,12 +7,12 @@
5 5 Ocean vertical salt diffusivity (m2 s-1)
6 6 Ocean vertical momentum diffusivity (m2 s-1)
7 7 Bathymetry (m)
-# 8-10 Reserved
+# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (m-1)
14 14 Water depth (m)
15 15 Water temperature (K)
-# 16-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 16-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.2.0.table b/definitions/grib2/tables/9/4.2.2.0.table
index ed4a85093..bbd328f0a 100644
--- a/definitions/grib2/tables/9/4.2.2.0.table
+++ b/definitions/grib2/tables/9/4.2.2.0.table
@@ -32,6 +32,6 @@
30 30 Deciduous forest cover (Proportion)
31 31 Normalized differential vegetation index (NDVI) (Numeric)
32 32 Root depth of vegetation (m)
-# 33-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 33-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.2.3.table b/definitions/grib2/tables/9/4.2.2.3.table
index 80113a4bd..a9ec602e6 100644
--- a/definitions/grib2/tables/9/4.2.2.3.table
+++ b/definitions/grib2/tables/9/4.2.2.3.table
@@ -22,6 +22,6 @@
20 20 Column-integrated soil moisture (kg m-2)
21 21 Soil ice (kg m-3)
22 22 Column-integrated soil ice (kg m-2)
-# 23-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 23-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.3.0.table b/definitions/grib2/tables/9/4.2.3.0.table
index 254e56bc8..8c19d43b2 100644
--- a/definitions/grib2/tables/9/4.2.3.0.table
+++ b/definitions/grib2/tables/9/4.2.3.0.table
@@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.2.3.1.table b/definitions/grib2/tables/9/4.2.3.1.table
index 16eee69c4..d199aff60 100644
--- a/definitions/grib2/tables/9/4.2.3.1.table
+++ b/definitions/grib2/tables/9/4.2.3.1.table
@@ -17,12 +17,12 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
-18 18 Reserved
+18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
-23 23 Angstrom coefficient
-# 24-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+23 23 Angstrom coefficient
+# 24-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.201.table b/definitions/grib2/tables/9/4.201.table
index d1aa3491d..e16d5d808 100644
--- a/definitions/grib2/tables/9/4.201.table
+++ b/definitions/grib2/tables/9/4.201.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Rain
-2 2 Thunderstorm
-3 3 Freezing rain
-4 4 Mixed/ice
-5 5 Snow
+0 0 Reserved
+1 1 Rain
+2 2 Thunderstorm
+3 3 Freezing rain
+4 4 Mixed/ice
+5 5 Snow
# 6-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.203.table b/definitions/grib2/tables/9/4.203.table
index fce5a15b1..9a8d29e01 100644
--- a/definitions/grib2/tables/9/4.203.table
+++ b/definitions/grib2/tables/9/4.203.table
@@ -1,25 +1,25 @@
-0 0 Clear
-1 1 Cumulonimbus
-2 2 Stratus
-3 3 Stratocumulus
-4 4 Cumulus
-5 5 Altostratus
-6 6 Nimbostratus
-7 7 Altocumulus
-8 8 Cirrostratus
-9 9 Cirrocumulus
-10 10 Cirrus
-11 11 Cumulonimbus - ground-based fog beneath the lowest layer
-12 12 Stratus - ground-based fog beneath the lowest layer
-13 13 Stratocumulus - ground-based fog beneath the lowest layer
-14 14 Cumulus - ground-based fog beneath the lowest layer
-15 15 Altostratus - ground-based fog beneath the lowest layer
-16 16 Nimbostratus - ground-based fog beneath the lowest layer
-17 17 Altocumulus - ground-based fog beneath the lowest layer
-18 18 Cirrostratus - ground-based fog beneath the lowest layer
-19 19 Cirrocumulus - ground-based fog beneath the lowest layer
-20 20 Cirrus - ground-based fog beneath the lowest layer
-# 21-190 Reserved
-191 191 Unknown
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear
+1 1 Cumulonimbus
+2 2 Stratus
+3 3 Stratocumulus
+4 4 Cumulus
+5 5 Altostratus
+6 6 Nimbostratus
+7 7 Altocumulus
+8 8 Cirrostratus
+9 9 Cirrocumulus
+10 10 Cirrus
+11 11 Cumulonimbus - ground-based fog beneath the lowest layer
+12 12 Stratus - ground-based fog beneath the lowest layer
+13 13 Stratocumulus - ground-based fog beneath the lowest layer
+14 14 Cumulus - ground-based fog beneath the lowest layer
+15 15 Altostratus - ground-based fog beneath the lowest layer
+16 16 Nimbostratus - ground-based fog beneath the lowest layer
+17 17 Altocumulus - ground-based fog beneath the lowest layer
+18 18 Cirrostratus - ground-based fog beneath the lowest layer
+19 19 Cirrocumulus - ground-based fog beneath the lowest layer
+20 20 Cirrus - ground-based fog beneath the lowest layer
+# 21-190 Reserved
+191 191 Unknown
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.204.table b/definitions/grib2/tables/9/4.204.table
index a1bdcdf05..8d8bca9b2 100644
--- a/definitions/grib2/tables/9/4.204.table
+++ b/definitions/grib2/tables/9/4.204.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None
-1 1 Isolated (1-2%)
-2 2 Few (3-5%)
-3 3 Scattered (16-45%)
-4 4 Numerous (> 45%)
+0 0 None
+1 1 Isolated (1-2%)
+2 2 Few (3-5%)
+3 3 Scattered (16-45%)
+4 4 Numerous (> 45%)
# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/9/4.205.table b/definitions/grib2/tables/9/4.205.table
index 8d425ab9d..3fadf7d80 100644
--- a/definitions/grib2/tables/9/4.205.table
+++ b/definitions/grib2/tables/9/4.205.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Aerosol not present
-1 1 Aerosol present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Aerosol not present
+1 1 Aerosol present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.206.table b/definitions/grib2/tables/9/4.206.table
index 0be7fd4f8..43b0ba137 100644
--- a/definitions/grib2/tables/9/4.206.table
+++ b/definitions/grib2/tables/9/4.206.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not present
-1 1 Present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not present
+1 1 Present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.207.table b/definitions/grib2/tables/9/4.207.table
index fde9eb477..815a5777e 100644
--- a/definitions/grib2/tables/9/4.207.table
+++ b/definitions/grib2/tables/9/4.207.table
@@ -1,10 +1,10 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Trace
-5 5 Heavy
-# 6-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Trace
+5 5 Heavy
+# 6-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.208.table b/definitions/grib2/tables/9/4.208.table
index 196becaaf..23ea97317 100644
--- a/definitions/grib2/tables/9/4.208.table
+++ b/definitions/grib2/tables/9/4.208.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 None (smooth)
-1 1 Light
-2 2 Moderate
-3 3 Severe
-4 4 Extreme
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 None (smooth)
+1 1 Light
+2 2 Moderate
+3 3 Severe
+4 4 Extreme
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.209.table b/definitions/grib2/tables/9/4.209.table
index 351c0f431..53c6c5eba 100644
--- a/definitions/grib2/tables/9/4.209.table
+++ b/definitions/grib2/tables/9/4.209.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Stable
-2 2 Mechanically-driven turbulence
-3 3 Forced convection
-4 4 Free convection
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Stable
+2 2 Mechanically-driven turbulence
+3 3 Forced convection
+4 4 Free convection
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.210.table b/definitions/grib2/tables/9/4.210.table
index 1c00b8c6f..149b2ba06 100644
--- a/definitions/grib2/tables/9/4.210.table
+++ b/definitions/grib2/tables/9/4.210.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Contrail not present
-1 1 Contrail present
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Contrail not present
+1 1 Contrail present
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.211.table b/definitions/grib2/tables/9/4.211.table
index 66ef656f6..b5753f19f 100644
--- a/definitions/grib2/tables/9/4.211.table
+++ b/definitions/grib2/tables/9/4.211.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Low bypass
-1 1 High bypass
-2 2 Non-bypass
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Low bypass
+1 1 High bypass
+2 2 Non-bypass
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.212.table b/definitions/grib2/tables/9/4.212.table
index c59bd24e8..738c45d2c 100644
--- a/definitions/grib2/tables/9/4.212.table
+++ b/definitions/grib2/tables/9/4.212.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Urban land
-2 2 Agriculture
-3 3 Range land
-4 4 Deciduous forest
-5 5 Coniferous forest
-6 6 Forest/wetland
-7 7 Water
-8 8 Wetlands
-9 9 Desert
-10 10 Tundra
-11 11 Ice
-12 12 Tropical forest
-13 13 Savannah
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Urban land
+2 2 Agriculture
+3 3 Range land
+4 4 Deciduous forest
+5 5 Coniferous forest
+6 6 Forest/wetland
+7 7 Water
+8 8 Wetlands
+9 9 Desert
+10 10 Tundra
+11 11 Ice
+12 12 Tropical forest
+13 13 Savannah
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.213.table b/definitions/grib2/tables/9/4.213.table
index 0f5de0104..5cee0b798 100644
--- a/definitions/grib2/tables/9/4.213.table
+++ b/definitions/grib2/tables/9/4.213.table
@@ -1,21 +1,21 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 Sand
-2 2 Loamy sand
-3 3 Sandy loam
-4 4 Silt loam
-5 5 Organic (redefined)
-6 6 Sandy clay loam
-7 7 Silt clay loam
-8 8 Clay loam
-9 9 Sandy clay
-10 10 Silty clay
-11 11 Clay
-12 12 Loam
-13 13 Peat
-14 14 Rock
-15 15 Ice
-16 16 Water
-# 17-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Reserved
+1 1 Sand
+2 2 Loamy sand
+3 3 Sandy loam
+4 4 Silt loam
+5 5 Organic (redefined)
+6 6 Sandy clay loam
+7 7 Silt clay loam
+8 8 Clay loam
+9 9 Sandy clay
+10 10 Silty clay
+11 11 Clay
+12 12 Loam
+13 13 Peat
+14 14 Rock
+15 15 Ice
+16 16 Water
+# 17-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.215.table b/definitions/grib2/tables/9/4.215.table
index 460888217..5ed37c034 100644
--- a/definitions/grib2/tables/9/4.215.table
+++ b/definitions/grib2/tables/9/4.215.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-# 0-49 Reserved
-50 50 No-snow/no-cloud
-# 51-99 Reserved
-100 100 Clouds
-# 101-249 Reserved
-250 250 Snow
-# 251-254 Reserved for local use
-255 255 Missing
+# 0-49 Reserved
+50 50 No-snow/no-cloud
+# 51-99 Reserved
+100 100 Clouds
+# 101-249 Reserved
+250 250 Snow
+# 251-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.216.table b/definitions/grib2/tables/9/4.216.table
index cc62ca5e3..2fd143724 100644
--- a/definitions/grib2/tables/9/4.216.table
+++ b/definitions/grib2/tables/9/4.216.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
# 0-90 Elevation in increments of 100 m
-# 91-253 Reserved
-254 254 Clouds
-255 255 Missing
+# 91-253 Reserved
+254 254 Clouds
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.217.table b/definitions/grib2/tables/9/4.217.table
index 51a263a99..6a014c9c3 100644
--- a/definitions/grib2/tables/9/4.217.table
+++ b/definitions/grib2/tables/9/4.217.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Clear over water
-1 1 Clear over land
-2 2 Cloud
-3 3 No data
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Clear over water
+1 1 Clear over land
+2 2 Cloud
+3 3 No data
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.218.table b/definitions/grib2/tables/9/4.218.table
index d4b2ab843..b6087448f 100644
--- a/definitions/grib2/tables/9/4.218.table
+++ b/definitions/grib2/tables/9/4.218.table
@@ -1,38 +1,38 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No scene identified
-1 1 Green needle-leafed forest
-2 2 Green broad-leafed forest
-3 3 Deciduous needle-leafed forest
-4 4 Deciduous broad-leafed forest
-5 5 Deciduous mixed forest
-6 6 Closed shrub-land
-7 7 Open shrub-land
-8 8 Woody savannah
-9 9 Savannah
-10 10 Grassland
-11 11 Permanent wetland
-12 12 Cropland
-13 13 Urban
-14 14 Vegetation / crops
-15 15 Permanent snow / ice
-16 16 Barren desert
-17 17 Water bodies
-18 18 Tundra
-# 19-96 Reserved
-97 97 Snow / ice on land
-98 98 Snow / ice on water
-99 99 Sun-glint
-100 100 General cloud
-101 101 Low cloud / fog / Stratus
-102 102 Low cloud / Stratocumulus
-103 103 Low cloud / unknown type
-104 104 Medium cloud / Nimbostratus
-105 105 Medium cloud / Altostratus
-106 106 Medium cloud / unknown type
-107 107 High cloud / Cumulus
-108 108 High cloud / Cirrus
-109 109 High cloud / unknown
-110 110 Unknown cloud type
-# 111-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No scene identified
+1 1 Green needle-leafed forest
+2 2 Green broad-leafed forest
+3 3 Deciduous needle-leafed forest
+4 4 Deciduous broad-leafed forest
+5 5 Deciduous mixed forest
+6 6 Closed shrub-land
+7 7 Open shrub-land
+8 8 Woody savannah
+9 9 Savannah
+10 10 Grassland
+11 11 Permanent wetland
+12 12 Cropland
+13 13 Urban
+14 14 Vegetation / crops
+15 15 Permanent snow / ice
+16 16 Barren desert
+17 17 Water bodies
+18 18 Tundra
+# 19-96 Reserved
+97 97 Snow / ice on land
+98 98 Snow / ice on water
+99 99 Sun-glint
+100 100 General cloud
+101 101 Low cloud / fog / Stratus
+102 102 Low cloud / Stratocumulus
+103 103 Low cloud / unknown type
+104 104 Medium cloud / Nimbostratus
+105 105 Medium cloud / Altostratus
+106 106 Medium cloud / unknown type
+107 107 High cloud / Cumulus
+108 108 High cloud / Cirrus
+109 109 High cloud / unknown
+110 110 Unknown cloud type
+# 111-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.219.table b/definitions/grib2/tables/9/4.219.table
index f10ce468e..a02452fc4 100644
--- a/definitions/grib2/tables/9/4.219.table
+++ b/definitions/grib2/tables/9/4.219.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Nominal cloud top height quality
-1 1 Fog in segment
-2 2 Poor quality height estimation
-3 3 Fog in segment and poor quality height estimation
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Nominal cloud top height quality
+1 1 Fog in segment
+2 2 Poor quality height estimation
+3 3 Fog in segment and poor quality height estimation
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.220.table b/definitions/grib2/tables/9/4.220.table
index 9c957eb01..7a18fa1fd 100644
--- a/definitions/grib2/tables/9/4.220.table
+++ b/definitions/grib2/tables/9/4.220.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Latitude
-1 1 Longitude
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Latitude
+1 1 Longitude
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.221.table b/definitions/grib2/tables/9/4.221.table
index 5466929c7..eb0b64502 100644
--- a/definitions/grib2/tables/9/4.221.table
+++ b/definitions/grib2/tables/9/4.221.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Not included
-1 1 Extrapolated
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Not included
+1 1 Extrapolated
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.222.table b/definitions/grib2/tables/9/4.222.table
index c54194e29..f554a7f3d 100644
--- a/definitions/grib2/tables/9/4.222.table
+++ b/definitions/grib2/tables/9/4.222.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No
-1 1 Yes
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No
+1 1 Yes
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.223.table b/definitions/grib2/tables/9/4.223.table
index b6a9be136..706abab78 100644
--- a/definitions/grib2/tables/9/4.223.table
+++ b/definitions/grib2/tables/9/4.223.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No fire detected
-1 1 Possible fire detected
-2 2 Probable fire detected
-3 3 Missing value
+0 0 No fire detected
+1 1 Possible fire detected
+2 2 Probable fire detected
+3 3 Missing value
diff --git a/definitions/grib2/tables/9/4.224.table b/definitions/grib2/tables/9/4.224.table
index af846f841..cf67496b8 100644
--- a/definitions/grib2/tables/9/4.224.table
+++ b/definitions/grib2/tables/9/4.224.table
@@ -1,18 +1,18 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No risk area
-1 1 Reserved
-2 2 General thunderstorm risk area
-3 3 Reserved
-4 4 Slight risk area
-5 5 Reserved
-6 6 Moderate risk area
-7 7 Reserved
-8 8 High risk area
-# 9-10 Reserved
-11 11 Dry thunderstorm (dry lightning) risk area
-# 12-13 Reserved
-14 14 Critical risk area
-# 15-17 Reserved
-18 18 Extremely critical risk area
-# 19-254 Reserved
-255 255 Missing
+0 0 No risk area
+1 1 Reserved
+2 2 General thunderstorm risk area
+3 3 Reserved
+4 4 Slight risk area
+5 5 Reserved
+6 6 Moderate risk area
+7 7 Reserved
+8 8 High risk area
+# 9-10 Reserved
+11 11 Dry thunderstorm (dry lightning) risk area
+# 12-13 Reserved
+14 14 Critical risk area
+# 15-17 Reserved
+18 18 Extremely critical risk area
+# 19-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.227.table b/definitions/grib2/tables/9/4.227.table
index 56fa0e752..5a0771c0f 100644
--- a/definitions/grib2/tables/9/4.227.table
+++ b/definitions/grib2/tables/9/4.227.table
@@ -5,6 +5,6 @@
2 2 Convective
3 3 Stratiform
4 4 Freezing
-# 5-191 Reserved
+# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/9/4.3.table b/definitions/grib2/tables/9/4.3.table
index 68e2cc83f..8a4e919c9 100644
--- a/definitions/grib2/tables/9/4.3.table
+++ b/definitions/grib2/tables/9/4.3.table
@@ -1,16 +1,16 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Analysis
-1 1 Initialization
-2 2 Forecast
-3 3 Bias corrected forecast
-4 4 Ensemble forecast
-5 5 Probability forecast
-6 6 Forecast error
-7 7 Analysis error
-8 8 Observation
-9 9 Climatological
-10 10 Probability-weighted forecast
-11 11 Bias-corrected ensemble forecast
-# 12-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Analysis
+1 1 Initialization
+2 2 Forecast
+3 3 Bias corrected forecast
+4 4 Ensemble forecast
+5 5 Probability forecast
+6 6 Forecast error
+7 7 Analysis error
+8 8 Observation
+9 9 Climatological
+10 10 Probability-weighted forecast
+11 11 Bias-corrected ensemble forecast
+# 12-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.4.table b/definitions/grib2/tables/9/4.4.table
index df5272d2f..511c76aa9 100644
--- a/definitions/grib2/tables/9/4.4.table
+++ b/definitions/grib2/tables/9/4.4.table
@@ -1,17 +1,17 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 m Minute
-1 h Hour
-2 D Day
-3 M Month
-4 Y Year
-5 10Y Decade (10 years)
-6 30Y Normal (30 years)
-7 C Century (100 years)
-# 8-9 Reserved
-10 3h 3 hours
-11 6h 6 hours
-12 12h 12 hours
-13 s Second
-# 14-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 m Minute
+1 h Hour
+2 D Day
+3 M Month
+4 Y Year
+5 10Y Decade (10 years)
+6 30Y Normal (30 years)
+7 C Century (100 years)
+# 8-9 Reserved
+10 3h 3 hours
+11 6h 6 hours
+12 12h 12 hours
+13 s Second
+# 14-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.5.table b/definitions/grib2/tables/9/4.5.table
index 9a46a3aa0..d07c799a8 100644
--- a/definitions/grib2/tables/9/4.5.table
+++ b/definitions/grib2/tables/9/4.5.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface
2 2 Cloud base level
3 3 Level of cloud tops
@@ -12,11 +12,11 @@
10 10 Entire atmosphere
11 11 Cumulonimbus (CB) base (m)
12 12 Cumulonimbus (CB) top (m)
-# 13-19 Reserved
+# 13-19 Reserved
20 20 Isothermal level (K)
-# 21-99 Reserved
+# 21-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -25,7 +25,7 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level
112 112 Reserved
113 113 Logarithmic hybrid level
@@ -35,14 +35,14 @@
119 hpl Hybrid pressure level
# 120-149 Reserved
150 150 Generalized vertical height coordinate
-# 151-159 Reserved
-160 160 Depth below sea level m
+# 151-159 Reserved
+160 160 Depth below sea level m
161 161 Depth below water surface (m)
162 sfc Lake or river bottom
163 163 Bottom of sediment layer
164 164 Bottom of thermally active sediment layer
165 165 Bottom of sediment layer penetrated by thermal wave
166 sfc Mixing layer
-# 167-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+# 167-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.6.table b/definitions/grib2/tables/9/4.6.table
index 54f2993c3..eaa5c4362 100644
--- a/definitions/grib2/tables/9/4.6.table
+++ b/definitions/grib2/tables/9/4.6.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unperturbed high-resolution control forecast
-1 1 Unperturbed low-resolution control forecast
-2 2 Negatively perturbed forecast
-3 3 Positively perturbed forecast
-4 4 Multi-model forecast
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unperturbed high-resolution control forecast
+1 1 Unperturbed low-resolution control forecast
+2 2 Negatively perturbed forecast
+3 3 Positively perturbed forecast
+4 4 Multi-model forecast
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.7.table b/definitions/grib2/tables/9/4.7.table
index 23e0d457e..e6d887bdb 100644
--- a/definitions/grib2/tables/9/4.7.table
+++ b/definitions/grib2/tables/9/4.7.table
@@ -1,14 +1,14 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Unweighted mean of all members
-1 1 Weighted mean of all members
-2 2 Standard deviation with respect to cluster mean
-3 3 Standard deviation with respect to cluster mean, normalized
-4 4 Spread of all members
-5 5 Large anomaly index of all members
-6 6 Unweighted mean of the cluster members
-7 7 Interquartile range (range between the 25th and 75th quantile)
-8 8 Minimum of all ensemble members
-9 9 Maximum of all ensemble members
-# 10-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Unweighted mean of all members
+1 1 Weighted mean of all members
+2 2 Standard deviation with respect to cluster mean
+3 3 Standard deviation with respect to cluster mean, normalized
+4 4 Spread of all members
+5 5 Large anomaly index of all members
+6 6 Unweighted mean of the cluster members
+7 7 Interquartile range (range between the 25th and 75th quantile)
+8 8 Minimum of all ensemble members
+9 9 Maximum of all ensemble members
+# 10-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.8.table b/definitions/grib2/tables/9/4.8.table
index 37a6cf767..d06153079 100644
--- a/definitions/grib2/tables/9/4.8.table
+++ b/definitions/grib2/tables/9/4.8.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Anomaly correlation
-1 1 Root mean square
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Anomaly correlation
+1 1 Root mean square
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.9.table b/definitions/grib2/tables/9/4.9.table
index 19e64a3d2..5243e58dd 100644
--- a/definitions/grib2/tables/9/4.9.table
+++ b/definitions/grib2/tables/9/4.9.table
@@ -1,9 +1,9 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Probability of event below lower limit
-1 1 Probability of event above upper limit
-2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
-3 3 Probability of event above lower limit
-4 4 Probability of event below upper limit
-# 5-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Probability of event below lower limit
+1 1 Probability of event above upper limit
+2 2 Probability of event between lower and upper limits (the range includes the lower limit but not the upper limit)
+3 3 Probability of event above lower limit
+4 4 Probability of event below upper limit
+# 5-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/4.91.table b/definitions/grib2/tables/9/4.91.table
index 5d975ad8e..cea421695 100644
--- a/definitions/grib2/tables/9/4.91.table
+++ b/definitions/grib2/tables/9/4.91.table
@@ -1,16 +1,16 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Smaller than first limit
-1 1 Greater than second limit
-2 2 Between first and second limit. The range includes the first limit but not the second limit
-3 3 Greater than first limit
-4 4 Smaller than second limit
-5 5 Smaller or equal first limit
-6 6 Greater or equal second limit
-7 7 Between first and second. The range includes the first limit and the second limit
-8 8 Greater or equal first limit
-9 9 Smaller or equal second limit
-10 10 Between first and second limit. The range includes the second limit but not the first limit
-11 11 Equal to first limit.
+0 0 Smaller than first limit
+1 1 Greater than second limit
+2 2 Between first and second limit. The range includes the first limit but not the second limit
+3 3 Greater than first limit
+4 4 Smaller than second limit
+5 5 Smaller or equal first limit
+6 6 Greater or equal second limit
+7 7 Between first and second. The range includes the first limit and the second limit
+8 8 Greater or equal first limit
+9 9 Smaller or equal second limit
+10 10 Between first and second limit. The range includes the second limit but not the first limit
+11 11 Equal to first limit.
# 12-191 Reserved
# 192-254 Reserved for local use
-255 missing Missing
+255 missing Missing
diff --git a/definitions/grib2/tables/9/5.1.table b/definitions/grib2/tables/9/5.1.table
index 100d4106d..158a35850 100644
--- a/definitions/grib2/tables/9/5.1.table
+++ b/definitions/grib2/tables/9/5.1.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Floating point
-1 1 Integer
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Floating point
+1 1 Integer
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.2.table b/definitions/grib2/tables/9/5.2.table
index 4d0808be6..d9896e11f 100644
--- a/definitions/grib2/tables/9/5.2.table
+++ b/definitions/grib2/tables/9/5.2.table
@@ -1,8 +1,8 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Explicit coordinate values set
-1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
-# 2-10 Reserved
+0 0 Explicit coordinate values set
+1 1 Linear coordinates f(1)=C1, f(n)=f(n-1)+C2
+# 2-10 Reserved
11 11 Geometric coordinates f(1)=C1, f(n)=C2*f(n-1)
-# 12-191 Reserved
-# 192-254 Reserved for local use
+# 12-191 Reserved
+# 192-254 Reserved for local use
255 255 Missing
diff --git a/definitions/grib2/tables/9/5.3.table b/definitions/grib2/tables/9/5.3.table
index 705fa6524..6f228aeec 100644
--- a/definitions/grib2/tables/9/5.3.table
+++ b/definitions/grib2/tables/9/5.3.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-1 1 Direction degrees true
-2 2 Frequency (s-1)
-3 3 Radial number (2pi/lambda) (m-1)
-# 4-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+1 1 Direction degrees true
+2 2 Frequency (s-1)
+3 3 Radial number (2pi/lambda) (m-1)
+# 4-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.4.table b/definitions/grib2/tables/9/5.4.table
index 8133367a5..f844f557e 100644
--- a/definitions/grib2/tables/9/5.4.table
+++ b/definitions/grib2/tables/9/5.4.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Row by row splitting
-1 1 General group splitting
-# 2-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 Row by row splitting
+1 1 General group splitting
+# 2-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.40.table b/definitions/grib2/tables/9/5.40.table
index 0d56ad0e0..2431eb547 100644
--- a/definitions/grib2/tables/9/5.40.table
+++ b/definitions/grib2/tables/9/5.40.table
@@ -1,5 +1,5 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Lossless
-1 1 Lossy
-# 2-254 Reserved
-255 255 Missing
+0 0 Lossless
+1 1 Lossy
+# 2-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.5.table b/definitions/grib2/tables/9/5.5.table
index 5d625dbda..f2216e273 100644
--- a/definitions/grib2/tables/9/5.5.table
+++ b/definitions/grib2/tables/9/5.5.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 No explicit missing values included within data values
-1 1 Primary missing values included within data values
-2 2 Primary and secondary missing values included within data values
-# 3-191 Reserved
-# 192-254 Reserved for local use
-255 255 Missing
+0 0 No explicit missing values included within data values
+1 1 Primary missing values included within data values
+2 2 Primary and secondary missing values included within data values
+# 3-191 Reserved
+# 192-254 Reserved for local use
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.6.table b/definitions/grib2/tables/9/5.6.table
index 16f4c25f3..3b0892d37 100644
--- a/definitions/grib2/tables/9/5.6.table
+++ b/definitions/grib2/tables/9/5.6.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 First-order spatial differencing
-2 2 Second-order spatial differencing
-# 3-191 Reserved
+0 0 Reserved
+1 1 First-order spatial differencing
+2 2 Second-order spatial differencing
+# 3-191 Reserved
# 192-254 Reserved for local use
-255 255 Missing
+255 255 Missing
diff --git a/definitions/grib2/tables/9/5.7.table b/definitions/grib2/tables/9/5.7.table
index b93aa8130..f056d3059 100644
--- a/definitions/grib2/tables/9/5.7.table
+++ b/definitions/grib2/tables/9/5.7.table
@@ -1,7 +1,7 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
-0 0 Reserved
-1 1 IEEE 32-bit (I=4 in section 7)
-2 2 IEEE 64-bit (I=8 in section 7)
-3 3 IEEE 128-bit (I=16 in section 7)
-# 4-254 Reserved
-255 255 Missing
+0 0 Reserved
+1 1 IEEE 32-bit (I=4 in section 7)
+2 2 IEEE 64-bit (I=8 in section 7)
+3 3 IEEE 128-bit (I=16 in section 7)
+# 4-254 Reserved
+255 255 Missing
diff --git a/definitions/grib2/tables/9/6.0.table b/definitions/grib2/tables/9/6.0.table
index aecdc6e5e..9c9dba372 100644
--- a/definitions/grib2/tables/9/6.0.table
+++ b/definitions/grib2/tables/9/6.0.table
@@ -1,6 +1,6 @@
# Automatically generated by ./create_tables.pl from database fm92_grib2@grib-param-db-prod.ecmwf.int, do not edit
0 0 A bit map applies to this product and is specified in this Section
1 1 A bit map pre-determined by the originating/generating Centre applies to this product and is not specified in this Section
-# 1-253 A bit map predetermined by the originating/generating Centre applies to this product and is not specified in this Section
-254 254 A bit map defined previously in the same GRIB message applies to this product
-255 255 A bit map does not apply to this product
+# 1-253 A bit map predetermined by the originating/generating Centre applies to this product and is not specified in this Section
+254 254 A bit map defined previously in the same GRIB message applies to this product
+255 255 A bit map does not apply to this product
diff --git a/definitions/grib2/tables/local/ecmf/obstat.5.0.table b/definitions/grib2/tables/local/ecmf/obstat.5.0.table
index 71a9a0e8c..ef4ea724d 100644
--- a/definitions/grib2/tables/local/ecmf/obstat.5.0.table
+++ b/definitions/grib2/tables/local/ecmf/obstat.5.0.table
@@ -1,13 +1,13 @@
#Code Table obstat.5.0: List of satellite instruments
-0 HIRS HIRS
+0 HIRS HIRS
1 MSU MSU
2 SSU SSU
3 AMSUA AMSUA
4 AMSUB AMSUB
6 SSM/I SSM/I
9 TMI TMI
-10 SSMI/S SSMI/S
-11 AIRS AIRS
+10 SSMI/S SSMI/S
+11 AIRS AIRS
15 MHS MHS
16 IASI IASI
17 AMSRE AMSR-E
@@ -33,20 +33,20 @@
516 TANSO TANSO
624 SBUV-2 SBUV-2
2000 AMV_WV_CLOUDY AMV WV cloudy
-2001 AMV_IR AMV IR
+2001 AMV_IR AMV IR
2002 AMV_VIS AMV VIS
2003 AMV_WVMIX AMV WVMIX
2005 AMV_WV_Clear AMV Water Vapor clear
2100 AMV_WV_6.2_cloudy AMV WV 6.2 cloudy
-2101 AMV_IR_ch1 AMV IR ch1
+2101 AMV_IR_ch1 AMV IR ch1
2102 AMV_VIS_ch1 AMV VIS ch1
-2105 AMV_WV_6.2_clear AMV WV_6.2 clear
+2105 AMV_WV_6.2_clear AMV WV_6.2 clear
2200 AMV_WV_7.3_cloudy AMV WV 7.3 cloudy
2201 AMV_IR_ch2 AMV IR ch2
2202 AMV_VIS-2 AMV VIS-2
2205 AMV_WV_7.3_clear AMV WV 7.3 clear
2300 AMV_WV_cloudy_ch3 AMV WV cloudy ch 3
-2301 AMV_IR-10 AMV IR-10
+2301 AMV_IR-10 AMV IR-10
2305 AMV_WV_clear_Ch3 AMV WV clear Ch3
2350 QUIKSCAT QUIKSCAT
2150 SCAT SCAT
diff --git a/definitions/grib2/tables/local/ecmf/obstat.7.0.table b/definitions/grib2/tables/local/ecmf/obstat.7.0.table
index fcd1c2e02..688485882 100644
--- a/definitions/grib2/tables/local/ecmf/obstat.7.0.table
+++ b/definitions/grib2/tables/local/ecmf/obstat.7.0.table
@@ -1,5 +1,5 @@
#Code Table obstat.7.0: Vertical coordinate types
-1 1 Channel
+1 1 Channel
2 2 Pressure level
3 3 Pressure layer
4 4 Surface
diff --git a/definitions/grib2/tables/local/ecmf/obstat.8.0.table b/definitions/grib2/tables/local/ecmf/obstat.8.0.table
index 382402473..0e167b7dd 100644
--- a/definitions/grib2/tables/local/ecmf/obstat.8.0.table
+++ b/definitions/grib2/tables/local/ecmf/obstat.8.0.table
@@ -2,5 +2,5 @@
1 Land Land
2 Sea Sea
3 Sea-ice Sea-ice
-4 All_surfaces All surface types combined
+4 All_surfaces All surface types combined
#5-255 Reserved
diff --git a/definitions/grib2/tables/local/ecmf/obstat.9.0.table b/definitions/grib2/tables/local/ecmf/obstat.9.0.table
index 8520066bd..38be1bfe3 100644
--- a/definitions/grib2/tables/local/ecmf/obstat.9.0.table
+++ b/definitions/grib2/tables/local/ecmf/obstat.9.0.table
@@ -1,14 +1,14 @@
-#Code Table obstat.9.0: Observation diagnostics
-1 count data count
+# Code Table obstat.9.0: Observation diagnostics
+1 count data count
2 obs Average of observed values
-3 obs_stdv Standard deviation of observed values
-4 fgdep Average of first guess departure
+3 obs_stdv Standard deviation of observed values
+4 fgdep Average of first guess departure
5 fgdep_stdv Standard deviation of first guess departure
6 andep Average of analysis departure
7 andep_stdv Standard deviation of analysis departure
8 obs_error Average of observation standard error
9 obs_error_stdv Standard deviation of observation standard error
-10 bkg_error Average of background standard error
+10 bkg_error Average of background standard error
11 bkg_error_stdv Standard deviation of background standard error
12 lr_andep1 Average of low resolution analysis departure update 1
13 lr_andep1_stdv Standard deviation of low resolution analysis departure update 1
@@ -19,7 +19,7 @@
18 bcor Average of Bias correction
19 bcor_stdv Standard deviation of bias correction
20 vbcor average of Variational bias correction
-21 vbcor_stdv Standard deviation of variational bias correction
+21 vbcor_stdv Standard deviation of variational bias correction
22 fgdep_nbcor Average of background departure without bias correction
23 fgdep_nbcor_stdv Standard deviation of background departure without bias correction
24 windspeed Average of wind speed
@@ -45,8 +45,7 @@
60 far_rate False alarm rate
62 miss_rate Miss rate
64 hit_rate hit rate
-66 corr_nul correct nuls
+66 corr_nul correct nuls
68 est_fg_err Estimated variance of the first guess error
70 edafgspr EDA first guess variance
72 edaanspr EDA Analysis variance
-#36-255 Reserved
diff --git a/definitions/grib2/tables/local/era6/1.1.table b/definitions/grib2/tables/local/era6/1.1.table
index 720161860..a0c8af15c 100644
--- a/definitions/grib2/tables/local/era6/1.1.table
+++ b/definitions/grib2/tables/local/era6/1.1.table
@@ -1,6 +1,6 @@
# Code Table 1.1 GRIB Local Tables Version Number
-0 0 Local tables not used
-# . Only table entries and templates from the current Master table are valid.
+0 0 Local tables not used
+# Only table entries and templates from the current Master table are valid.
# 1-254 Number of local tables version used
1 1 ERA6 local tables version 1
255 255 Missing
diff --git a/definitions/grib2/tables/local/kwbc/1/4.5.table b/definitions/grib2/tables/local/kwbc/1/4.5.table
index f1cfbfbe6..f89c21674 100644
--- a/definitions/grib2/tables/local/kwbc/1/4.5.table
+++ b/definitions/grib2/tables/local/kwbc/1/4.5.table
@@ -1,5 +1,5 @@
# Code table 4.5 - Fixed surface types and units
-0 0 Reserved
+0 0 Reserved
1 sfc Ground or water surface (-)
2 2 Cloud base level (-)
3 3 Level of cloud tops (-)
@@ -16,15 +16,15 @@
14 14 Level of free convection (LFC)
15 15 Convective condensation level (CCL)
16 16 Level of neutral buoyancy or equilibrium level (LNB)
-# 17-19 Reserved
+# 17-19 Reserved
20 20 Isothermal level (K)
21 21 Lowest level where mass density exceeds the specified value (base for a given threshold of mass density) (kg m-3)
22 22 Highest level where mass density exceeds the specified value (top for a given threshold of mass density) (kg m-3)
23 23 Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration) (Bq m-3)
24 24 Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration) (Bq m-3)
-# 25-99 Reserved
+# 25-99 Reserved
100 pl Isobaric surface (Pa)
-101 sfc Mean sea level
+101 sfc Mean sea level
102 102 Specific altitude above mean sea level (m)
103 sfc Specified height level above ground (m)
104 104 Sigma level (sigma value)
@@ -33,20 +33,20 @@
107 pt Isentropic (theta) level (K)
108 108 Level at specified pressure difference from ground to level (Pa)
109 pv Potential vorticity surface (K m2 kg-1 s-1)
-110 110 Reserved
+110 110 Reserved
111 111 Eta level (-)
-112 112 Reserved
-113 113 Logarithmic hybrid level
+112 112 Reserved
+113 113 Logarithmic hybrid level
114 114 Snow level (Numeric)
115 115 Sigma height level
# 116 Reserved
117 117 Mixed layer depth (m)
118 hhl Hybrid height level (-)
119 hpl Hybrid pressure level (-)
-# 120-149 Reserved
-150 150 Generalized vertical height coordinate
+# 120-149 Reserved
+150 150 Generalized vertical height coordinate
151 sol Soil level (Numeric)
-# 152-159 Reserved
+# 152-159 Reserved
160 160 Depth below sea level (m)
161 161 Depth below water surface (m)
162 162 Lake or river bottom (-)
@@ -55,7 +55,7 @@
165 165 Bottom of sediment layer penetrated by thermal wave (-)
166 166 Mixing layer (-)
167 167 Bottom of root zone (-)
-# 168-173 Reserved
+# 168-173 Reserved
174 174 Top surface of ice on sea, lake or river
175 175 Top surface of ice, under snow cover, on sea, lake or river
176 176 Bottom surface (underside) ice on sea, lake or river
diff --git a/definitions/grib2/template.4.119.def b/definitions/grib2/template.4.119.def
new file mode 100644
index 000000000..ef464a00f
--- /dev/null
+++ b/definitions/grib2/template.4.119.def
@@ -0,0 +1,10 @@
+# (C) Copyright 2005- ECMWF.
+
+# TEMPLATE 4.119, Probability forecasts from large ensembles at a horizontal level or in a horizontal layer at a point in time
+
+include "grib2/template.4.parameter.def"
+include "grib2/template.4.generating_process.def"
+include "grib2/template.4.forecast_time.def"
+include "grib2/template.4.point_in_time.def"
+include "grib2/template.4.horizontal.def"
+include "grib2/template.4.probabilityLargeEnsemble.def"
diff --git a/definitions/grib2/template.4.120.def b/definitions/grib2/template.4.120.def
new file mode 100644
index 000000000..9ad2f90bd
--- /dev/null
+++ b/definitions/grib2/template.4.120.def
@@ -0,0 +1,10 @@
+# (C) Copyright 2005- ECMWF.
+
+# TEMPLATE 4.120, Probability forecasts from large ensembles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+
+include "grib2/template.4.parameter.def"
+include "grib2/template.4.generating_process.def"
+include "grib2/template.4.forecast_time.def"
+include "grib2/template.4.horizontal.def"
+include "grib2/template.4.probabilityLargeEnsemble.def"
+include "grib2/template.4.statistical.def"
diff --git a/definitions/grib2/template.4.121.def b/definitions/grib2/template.4.121.def
new file mode 100644
index 000000000..73bba193b
--- /dev/null
+++ b/definitions/grib2/template.4.121.def
@@ -0,0 +1,11 @@
+# (C) Copyright 2005- ECMWF.
+
+# TEMPLATE 4.121, Probability forecasts with spatiotemporal processing based on focal (moving window) statistics at a horizontal level or in a horizontal layer at a point in time
+
+include "grib2/template.4.parameter.def"
+include "grib2/template.4.generating_process.def"
+include "grib2/template.4.forecast_time.def"
+include "grib2/template.4.point_in_time.def"
+include "grib2/template.4.horizontal.def"
+include "grib2/template.4.probabilityLargeEnsemble.def"
+include "grib2/template.4.focalStatistics.def"
diff --git a/definitions/grib2/template.4.122.def b/definitions/grib2/template.4.122.def
new file mode 100644
index 000000000..40bf98240
--- /dev/null
+++ b/definitions/grib2/template.4.122.def
@@ -0,0 +1,11 @@
+# (C) Copyright 2005- ECMWF.
+
+# TEMPLATE 4.122, Probability forecasts with spatiotemporal processing based on focal (moving window) statistics at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+
+include "grib2/template.4.parameter.def"
+include "grib2/template.4.generating_process.def"
+include "grib2/template.4.forecast_time.def"
+include "grib2/template.4.horizontal.def"
+include "grib2/template.4.probabilityLargeEnsemble.def"
+include "grib2/template.4.statistical.def"
+include "grib2/template.4.focalStatistics.def"
diff --git a/definitions/grib2/template.4.123.def b/definitions/grib2/template.4.123.def
new file mode 100644
index 000000000..a70b9643c
--- /dev/null
+++ b/definitions/grib2/template.4.123.def
@@ -0,0 +1,12 @@
+# (C) Copyright 2005- ECMWF.
+
+# TEMPLATE 4.123, Probability forecasts from large ensembles with spatiotemporal processing based on focal (moving window) statistics in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
+
+include "grib2/template.4.parameter.def"
+include "grib2/template.4.generating_process.def"
+include "grib2/template.4.forecast_time.def"
+include "grib2/template.4.horizontal.def"
+include "grib2/template.4.statistical.def"
+include "grib2/template.4.probabilityLargeEnsemble.def"
+include "grib2/template.4.referenceperiod.def"
+include "grib2/template.4.focalStatistics.def"
diff --git a/definitions/grib2/template.4.30.def b/definitions/grib2/template.4.30.def
index eef3b680d..9416d4789 100644
--- a/definitions/grib2/template.4.30.def
+++ b/definitions/grib2/template.4.30.def
@@ -2,6 +2,7 @@
# TEMPLATE 4.30, Satellite Product
# Note: This template is deprecated. Template 4.31 should be used instead.
+transient template_is_deprecated = 1 : hidden;
include "grib2/template.4.parameter.def"
diff --git a/definitions/grib2/template.4.47.def b/definitions/grib2/template.4.47.def
index 64c222032..892820635 100644
--- a/definitions/grib2/template.4.47.def
+++ b/definitions/grib2/template.4.47.def
@@ -2,6 +2,7 @@
# TEMPLATE 4.47, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
# Note: This template is deprecated. Template 4.85 should be used instead.
+transient template_is_deprecated = 1 : hidden;
include "grib2/template.4.parameter.def"
include "grib2/template.4.aerosol.def"
diff --git a/definitions/grib2/template.4.56.def b/definitions/grib2/template.4.56.def
index 23735e972..9f48c957b 100644
--- a/definitions/grib2/template.4.56.def
+++ b/definitions/grib2/template.4.56.def
@@ -1,6 +1,6 @@
-
# TEMPLATE 4.56, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters
# Note: This template is deprecated. Template 4.59 should be used instead.
+transient template_is_deprecated = 1 : hidden;
include "grib2/template.4.parameter.def"
include "grib2/template.4.tile.def"
diff --git a/definitions/grib2/template.4.7.def b/definitions/grib2/template.4.7.def
index fa6f007c8..7c79ced72 100644
--- a/definitions/grib2/template.4.7.def
+++ b/definitions/grib2/template.4.7.def
@@ -1,2 +1,4 @@
# Note: This template is deprecated. Template 4.0 should be used instead.
+transient template_is_deprecated = 1 : hidden;
+
include "grib2/template.4.0.def"
diff --git a/definitions/grib2/template.4.categorical.def b/definitions/grib2/template.4.categorical.def
index 102d50e51..006e46a3a 100644
--- a/definitions/grib2/template.4.categorical.def
+++ b/definitions/grib2/template.4.categorical.def
@@ -5,10 +5,15 @@ unsigned[1] numberOfCategories : dump;
# Categories
categories list(numberOfCategories) {
- codetable[1] categoryType ('4.91.table',masterDir,localDir): dump;
unsigned[1] codeFigure : dump;
+ codetable[1] categoryType ('4.91.table',masterDir,localDir): dump;
unsigned[1] scaleFactorOfLowerLimit : can_be_missing,dump ;
unsigned[4] scaledValueOfLowerLimit : can_be_missing,dump ;
unsigned[1] scaleFactorOfUpperLimit : can_be_missing,dump;
unsigned[4] scaledValueOfUpperLimit : can_be_missing,dump;
+
+ alias scaleFactorOfFirstLimit = scaleFactorOfLowerLimit;
+ alias scaledValueOfFirstLimit = scaledValueOfLowerLimit;
+ alias scaleFactorOfSecondLimit = scaleFactorOfUpperLimit;
+ alias scaledValueOfSecondLimit = scaledValueOfUpperLimit;
}
diff --git a/definitions/grib2/template.4.focalStatistics.def b/definitions/grib2/template.4.focalStatistics.def
new file mode 100644
index 000000000..8aa8d2a33
--- /dev/null
+++ b/definitions/grib2/template.4.focalStatistics.def
@@ -0,0 +1,34 @@
+codetable[1] spatialVicinityType ('4.103.table',masterDir,localDir)=255 ;
+
+unsigned[1] numberOfSpatialVicinityValues = 1 : edition_specific;
+alias nspatvals = numberOfSpatialVicinityValues;
+
+spatialVicintiyList list(numberOfSpatialVicinityValues)
+{
+ # n-th spatial vicinity value
+ unsigned[4] spatialVicinityValue=0 : dump;
+}
+
+codetable[1] spatialVicinityProcessing ('4.104.table',masterDir,localDir)=255 ;
+
+signed[2] spatialVicinityProcessingArgument1 = 255 : dump ;
+
+signed[2] spatialVicinityProcessingArgument2 = 255 : dump ;
+
+codetable[1] spatialVicinityMissingData ('4.105.table',masterDir,localDir)=0 ;
+
+## UUID of irregular kernel
+#byte[16] uuidOfIrregularKernel : dump;
+
+## UUID of spatial vicinity weights
+#byte[16] uuidOfSpatialVicinityWeights : dump;
+
+codetable[1] temporalVicinityProcessing ('4.104.table',masterDir,localDir)=255 ;
+
+codetable[1] temporalVicinityUnit ('4.4.table',masterDir,localDir)=255 ;
+
+unsigned[4] temporalVicinityTowardsPast : dump;
+unsigned[4] temporalVicinityTowardsFuture : dump;
+
+## UUID of temporal vicinity weights
+#byte[16] uuidOfTemporalVicinityWeights : dump;
diff --git a/definitions/grib2/template.4.horizontal.def b/definitions/grib2/template.4.horizontal.def
index db0913dbc..2dc64c033 100644
--- a/definitions/grib2/template.4.horizontal.def
+++ b/definitions/grib2/template.4.horizontal.def
@@ -66,7 +66,9 @@ if (extraDim) {
} else {
# See GRIB-74 why we store the pressureUnits in a transient
transient tempPressureUnits=pressureUnits;
- if (!(typeOfLevel is "surface")) {
+ # Same as typeOfLevel != "surface" but much quicker to evaluate
+ # than via the concept
+ if ( ! (typeOfFirstFixedSurface == 1 && typeOfSecondFixedSurface == 255) ) {
if (tempPressureUnits is "Pa") {
meta marsLevel scale(level,one,hundred) : read_only;
alias mars.levelist=marsLevel;
@@ -77,7 +79,8 @@ if (extraDim) {
# ECC-1333: levtype should be read-only in GRIB2
concept mars.levtype(unknown,"marsLevtypeConcept.def",conceptsDir2,conceptsDir1):no_copy, read_only;
# GRIB-372: levelist alias does not pertain to surface parameters
- if (levtype is "sfc" || levtype is "o2d") {
+ transient tempLevtype = levtype; # Faster to copy the concept so we evaluate it once
+ if (tempLevtype is "sfc" || tempLevtype is "o2d") {
unalias mars.levelist;
}
}
diff --git a/definitions/grib2/template.4.probabilityLargeEnsemble.def b/definitions/grib2/template.4.probabilityLargeEnsemble.def
new file mode 100644
index 000000000..cb309e4a9
--- /dev/null
+++ b/definitions/grib2/template.4.probabilityLargeEnsemble.def
@@ -0,0 +1,27 @@
+# (C) Copyright 2005- ECMWF.
+
+# Type of ensemble forecast
+codetable[1] typeOfEnsembleForecast ('4.6.table',masterDir,localDir) = 255 : dump;
+
+# Number of forecasts in ensemble
+unsigned[4] numberOfForecastsInEnsemble : dump;
+alias totalNumber=numberOfForecastsInEnsemble;
+
+unsigned[1] forecastProbabilityNumber : dump;
+
+unsigned[1] totalNumberOfForecastProbabilities : dump;
+
+codetable[1] probabilityType ('4.9.table',masterDir,localDir) : dump;
+meta probabilityTypeName codetable_title(probabilityType): read_only;
+
+signed[1] scaleFactorOfLowerLimit : can_be_missing,dump ;
+signed[4] scaledValueOfLowerLimit : can_be_missing,dump ;
+
+meta lowerLimit from_scale_factor_scaled_value(
+ scaleFactorOfLowerLimit, scaledValueOfLowerLimit): can_be_missing;
+
+signed[1] scaleFactorOfUpperLimit : can_be_missing,dump;
+signed[4] scaledValueOfUpperLimit : can_be_missing,dump;
+
+meta upperLimit from_scale_factor_scaled_value(
+ scaleFactorOfUpperLimit, scaledValueOfUpperLimit): can_be_missing;
diff --git a/definitions/grib2/units.def b/definitions/grib2/units.def
index c63afd045..e1ef35857 100644
--- a/definitions/grib2/units.def
+++ b/definitions/grib2/units.def
@@ -1239,12 +1239,6 @@
parameterCategory = 0 ;
parameterNumber = 52 ;
}
-#Envelope-maximum individual wave height
-'m' = {
- discipline = 10 ;
- parameterCategory = 0 ;
- parameterNumber = 93 ;
- }
#Time domain maximum individual crest height
'm' = {
discipline = 10 ;
@@ -1305,6 +1299,34 @@
parameterCategory = 0 ;
parameterNumber = 84 ;
}
+#Time-mean mean zero-crossing wave period
+'s' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 28 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean significant height of combined wind waves and swell
+'m' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 3 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean peak wave period
+'s' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 34 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean mean wave period
+'s' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 15 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Mean sea water temperature in the upper 300 m
'K' = {
discipline = 10 ;
@@ -3802,6 +3824,55 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
+#Lake surface temperature
+'K' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 255 ;
+ }
+#Surface bulk Richardson number
+'Numeric' = {
+ discipline = 0 ;
+ parameterCategory = 7 ;
+ parameterNumber = 16 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
+#Time-maximum 2 metre relative humidity
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 2 ;
+ }
+#Time-minimum 2 metre relative humidity
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 3 ;
+ }
+#Surface roughness for heat
+'m' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 47 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
+#Surface roughness for moisture
+'m' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 48 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
#Burned area
'%' = {
discipline = 2 ;
@@ -4723,6 +4794,285 @@
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
+#Time-mean snow density
+'kg m**-3' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 61 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean low vegetation cover
+'(0 - 1)' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 53 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean high vegetation cover
+'(0 - 1)' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 54 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean sea ice area fraction
+'(0 - 1)' = {
+ discipline = 10 ;
+ parameterCategory = 2 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean sea surface temperature
+'K' = {
+ discipline = 10 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean leaf area index, low vegetation
+'m**2 m**-2' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 55 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean leaf area index, high vegetation
+'m**2 m**-2' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 56 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column liquid water
+'kg m**-2' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 69 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column cloud ice water
+'kg m**-2' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 70 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre specific humidity
+'kg kg**-1' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 103 ;
+ typeOfSecondFixedSurface = 255 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean lake mix-layer temperature
+'K' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 166 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean lake mix-layer depth
+'m' = {
+ discipline = 1 ;
+ parameterCategory = 2 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 166 ;
+ typeOfSecondFixedSurface = 255 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre relative humidity
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean fraction of snow cover
+'Proportion' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 121 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean soil temperature
+'K' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 18 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean snow depth
+'m' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 11 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean snow cover
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 42 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean geopotential
+'m**2 s**-2' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 4 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean temperature
+'K' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean U component of wind
+'m s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 2 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean V component of wind
+'m s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 3 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean specific humidity
+'kg kg**-1' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean surface pressure
+'Pa' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean vertical velocity
+'Pa s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column water
+'kg m**-2' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 51 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean total column vertically-integrated water vapour
+'kg m**-2' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 64 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfSecondFixedSurface = 8 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean mean sea level pressure
+'Pa' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 0 ;
+ typeOfFirstFixedSurface = 101 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean relative humidity
+'%' = {
+ discipline = 0 ;
+ parameterCategory = 1 ;
+ parameterNumber = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean boundary layer height
+'m' = {
+ discipline = 0 ;
+ parameterCategory = 3 ;
+ parameterNumber = 18 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 10 metre U wind component
+'m s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 2 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 10 metre V wind component
+'m s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 3 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean 2 metre dewpoint temperature
+'K' = {
+ discipline = 0 ;
+ parameterCategory = 0 ;
+ parameterNumber = 6 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 2 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean temperature of snow layer
+'K' = {
+ discipline = 2 ;
+ parameterCategory = 3 ;
+ parameterNumber = 28 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast surface roughness
+'m' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
+#Time-mean forecast logarithm of surface roughness for heat
+'Numeric' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 54 ;
+ typeOfFirstFixedSurface = 1 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Cross sectional area of flow in channel
'm**2' = {
discipline = 1 ;
@@ -6458,6 +6808,13 @@
parameterCategory = 3 ;
parameterNumber = 19 ;
}
+#Leaf Area Index
+'Numeric' = {
+ discipline = 2 ;
+ parameterCategory = 0 ;
+ parameterNumber = 28 ;
+ typeOfFirstFixedSurface = 1 ;
+ }
#Accumulated surface upward short-wave radiation flux, clear sky
'J m**-2' = {
discipline = 0 ;
@@ -9837,18 +10194,6 @@
parameterCategory = 2 ;
parameterNumber = 16 ;
}
-#U-component of current
-'m s**-1' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 2 ;
- }
-#V-component of current
-'m s**-1' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 3 ;
- }
#Precipitable water
'kg m**-2' = {
discipline = 0 ;
@@ -10023,11 +10368,11 @@
parameterCategory = 0 ;
parameterNumber = 23 ;
}
-#Maximum individual wave height
+#Envelop-maximum individual wave height
'm' = {
discipline = 10 ;
parameterCategory = 0 ;
- parameterNumber = 24 ;
+ parameterNumber = 93 ;
}
#Model bathymetry
'm' = {
@@ -10215,20 +10560,6 @@
parameterCategory = 0 ;
parameterNumber = 44 ;
}
-#Eastward sea water velocity
-'m s**-1' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 2 ;
- typeOfFirstFixedSurface = 160 ;
- }
-#Northward sea water velocity
-'m s**-1' = {
- discipline = 10 ;
- parameterCategory = 1 ;
- parameterNumber = 3 ;
- typeOfFirstFixedSurface = 160 ;
- }
#Skin reservoir content
'kg m**-2' = {
discipline = 2 ;
@@ -10534,6 +10865,16 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
+#Mean of 10 metre wind speed
+'m s**-1' = {
+ discipline = 0 ;
+ parameterCategory = 2 ;
+ parameterNumber = 1 ;
+ typeOfFirstFixedSurface = 103 ;
+ scaledValueOfFirstFixedSurface = 10 ;
+ scaleFactorOfFirstFixedSurface = 0 ;
+ typeOfStatisticalProcessing = 0 ;
+ }
#Lake total depth
'm' = {
discipline = 1 ;
diff --git a/definitions/grib2/units.legacy.def b/definitions/grib2/units.legacy.def
index f05dae694..e3e8e590e 100644
--- a/definitions/grib2/units.legacy.def
+++ b/definitions/grib2/units.legacy.def
@@ -174,3 +174,9 @@
typeOfSecondFixedSurface = 168 ;
typeOfStatisticalProcessing = 0 ;
}
+#Maximum individual wave height
+'m' = {
+ discipline = 10 ;
+ parameterCategory = 0 ;
+ parameterNumber = 24 ;
+}
diff --git a/definitions/param_limits.def b/definitions/param_limits.def
index 1bbcd18d6..215cbfec0 100644
--- a/definitions/param_limits.def
+++ b/definitions/param_limits.def
@@ -18,6 +18,7 @@ concept param_value_min(default_min_val) {
-60000 = { paramId=228001; }
0 = { paramId=151163; }
-3.5 = { paramId=151131; }
+ -3.5 = { paramId=262140; }
-10 = { paramId=260259; }
-13000 = { paramId=129; }
-1300 = { paramId=156; }
@@ -103,6 +104,7 @@ concept param_value_max(default_max_val) {
1000 = { paramId=228001; }
1500 = { paramId=151163; }
3.5 = { paramId=151131; }
+ 3.5 = { paramId=262140; }
5 = { paramId=260259; }
3500000 = { paramId=129; }
35000 = { paramId=156; }
diff --git a/examples/C/large_grib1.c b/examples/C/large_grib1.c
index a01761ced..3131ead64 100644
--- a/examples/C/large_grib1.c
+++ b/examples/C/large_grib1.c
@@ -14,7 +14,7 @@
#include "eccodes.h"
/* See JIRA issue GRIB-361 */
-int main()
+int main(void)
{
const int ni = 2880;
const int nj = 2880;
diff --git a/examples/F90/codes_dump.f90 b/examples/F90/codes_dump.f90
index b68c68e51..ab547ec04 100644
--- a/examples/F90/codes_dump.f90
+++ b/examples/F90/codes_dump.f90
@@ -12,7 +12,7 @@ program codes_dump_test
implicit none
integer :: ifile, iret, msgid
integer :: product_kind
- character(len=10) :: product_string
+ character(len=512) :: product_string
character(len=512) :: infile_name
call getarg(1, product_string)
diff --git a/examples/F90/grib_count_messages_multi.f90 b/examples/F90/grib_count_messages_multi.f90
index 5e4fe92d9..67178fa6f 100644
--- a/examples/F90/grib_count_messages_multi.f90
+++ b/examples/F90/grib_count_messages_multi.f90
@@ -13,10 +13,10 @@ program grib_count_messages_multi
use eccodes
implicit none
- integer :: ifile
- character(len=100) :: grib_file
- integer :: n, stat
- character(len=1) :: multi_flag
+ integer :: ifile
+ character(len=100) :: multi_flag
+ character(len=100) :: grib_file
+ integer :: n, stat
call getarg(1, multi_flag)
call getarg(2, grib_file)
diff --git a/examples/F90/grib_read_bytes.f90 b/examples/F90/grib_read_bytes.f90
index 950eb2924..c118bdab4 100644
--- a/examples/F90/grib_read_bytes.f90
+++ b/examples/F90/grib_read_bytes.f90
@@ -7,7 +7,7 @@
! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
!
!
-program grib_read_bytes
+program read_bytes
use eccodes
implicit none
integer :: ifile
diff --git a/fortran/grib_fortran.c b/fortran/grib_fortran.c
index ce9298348..3cb17739a 100644
--- a/fortran/grib_fortran.c
+++ b/fortran/grib_fortran.c
@@ -41,7 +41,7 @@ static pthread_mutex_t multi_handle_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t iterator_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t keys_iterator_mutex = PTHREAD_MUTEX_INITIALIZER;
-static void init() {
+static void init(void) {
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -996,13 +996,13 @@ void grib_f_write_on_fail_(int* gid) {
grib_f_write_on_fail(gid);
}
/*****************************************************************************/
-int grib_f_multi_support_on_()
+int grib_f_multi_support_on_(void)
{
grib_multi_support_on(0);
return GRIB_SUCCESS;
}
-int grib_f_multi_support_off_()
+int grib_f_multi_support_off_(void)
{
grib_multi_support_off(0);
return GRIB_SUCCESS;
@@ -1181,13 +1181,13 @@ int grib_f_keys_iterator_delete_(int* iterid)
}
/*****************************************************************************/
-int grib_f_gribex_mode_on_()
+int grib_f_gribex_mode_on_(void)
{
grib_gribex_mode_on(0);
return GRIB_SUCCESS;
}
-int grib_f_gribex_mode_off_()
+int grib_f_gribex_mode_off_(void)
{
grib_gribex_mode_off(0);
return GRIB_SUCCESS;
@@ -2877,13 +2877,13 @@ int grib_f_multi_append_(int* ingid, int* sec,int* mgid)
}
/*****************************************************************************/
-int codes_f_bufr_multi_element_constant_arrays_on_()
+int codes_f_bufr_multi_element_constant_arrays_on_(void)
{
codes_bufr_multi_element_constant_arrays_on(NULL);
return GRIB_SUCCESS;
}
-int codes_f_bufr_multi_element_constant_arrays_off_()
+int codes_f_bufr_multi_element_constant_arrays_off_(void)
{
codes_bufr_multi_element_constant_arrays_off(NULL);
return GRIB_SUCCESS;
diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h
index 7905f7978..e98ae83c2 100644
--- a/src/eccodes_prototypes.h
+++ b/src/eccodes_prototypes.h
@@ -36,86 +36,78 @@ 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);
-/* 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_is_missing_internal(grib_accessor* a);
@@ -167,16 +159,16 @@ 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);
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);
-/* 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);
@@ -184,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);
@@ -194,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);
@@ -202,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);
@@ -211,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);
@@ -228,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);
@@ -236,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);
@@ -244,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);
@@ -278,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);
@@ -328,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);
@@ -662,66 +340,24 @@ 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,7 +530,7 @@ 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_open(const char* filename, const char* mode, int* err);
void grib_file_pool_delete_file(grib_file* file);
@@ -935,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);
@@ -990,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);
@@ -1029,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);
@@ -1038,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);
@@ -1070,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);
@@ -1079,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);
@@ -1093,17 +697,17 @@ 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_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_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);
@@ -1117,7 +721,7 @@ 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);
@@ -1186,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);
@@ -1254,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);
@@ -1284,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);
@@ -1321,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);
@@ -1333,7 +907,7 @@ int is_date_valid(long year, long month, long day, long hour, long minute, doubl
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,7 +926,7 @@ int grib_check_data_values_minmax(grib_handle* h, const double min_val, const do
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);
@@ -1362,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);
@@ -1376,7 +950,7 @@ 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);
@@ -1405,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);
@@ -1429,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/grib_accessor_class_concept.cc b/src/grib_accessor_class_concept.cc
index 6fa4122f8..1462afcfc 100644
--- a/src/grib_accessor_class_concept.cc
+++ b/src/grib_accessor_class_concept.cc
@@ -237,6 +237,7 @@ static const char* concept_evaluate(grib_accessor* a)
grib_concept_value* c = action_concept_get_concept(a);
grib_handle* h = grib_handle_of_accessor(a);
+ // fprintf(stderr, "DEBUG: concept_evaluate: %s %s\n", a->name, c->name);
while (c) {
grib_concept_condition* e = c->conditions;
int cnt = 0;
@@ -380,6 +381,11 @@ static int grib_concept_apply(grib_accessor* a, const char* name)
grib_get_string(h, "centre", centre_s, ¢re_len) == GRIB_SUCCESS) {
grib_context_log(h->context, GRIB_LOG_ERROR, "concept: input handle edition=%ld, centre=%s", editionNumber, centre_s);
}
+ char dataset_s[80];
+ size_t dataset_len = sizeof(dataset_s);
+ if (grib_get_string(h, "datasetForLocal", dataset_s, &dataset_len) == GRIB_SUCCESS && !STR_EQUAL(dataset_s, "unknown")) {
+ grib_context_log(h->context, GRIB_LOG_ERROR, "concept: input handle dataset=%s", dataset_s);
+ }
if (strcmp(act->name, "paramId") == 0) {
if (string_to_long(name, &dummy, 1) == GRIB_SUCCESS) {
// The paramId value is an integer. Show them the param DB
@@ -454,6 +460,23 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
//if(*len > 1)
// return GRIB_NOT_IMPLEMENTED;
+ // ECC-1806: GRIB: Change of paramId in conversion from GRIB1 to GRIB2
+ if (STR_EQUAL(a->name, "paramId")) {
+ grib_handle* h = grib_handle_of_accessor(a);
+ long edition = 0;
+ if (grib_get_long(h, "edition", &edition) == GRIB_SUCCESS && edition == 2) {
+ long newParamId = 0;
+ if (grib_get_long(h, "paramIdForConversion", &newParamId) == GRIB_SUCCESS && newParamId > 0) {
+ if (a->context->debug) {
+ const char* cclass_name = a->cclass->name;
+ fprintf(stderr, "ECCODES DEBUG %s::%s: Changing %s from %ld to %ld\n",
+ cclass_name, __func__, a->name, *val, newParamId);
+ }
+ snprintf(buf, sizeof(buf), "%ld", newParamId);
+ }
+ }
+ }
+
s = strlen(buf) + 1;
return pack_string(a, buf, &s);
}
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_g2grid.cc b/src/grib_accessor_class_g2grid.cc
index 40aaca628..28d216b90 100644
--- a/src/grib_accessor_class_g2grid.cc
+++ b/src/grib_accessor_class_g2grid.cc
@@ -148,14 +148,13 @@ static int value_count(grib_accessor* a, long* count)
static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
grib_accessor_g2grid* self = (grib_accessor_g2grid*)a;
- grib_handle* hand = grib_handle_of_accessor(a);
- int ret = 0;
+ grib_handle* hand = grib_handle_of_accessor(a);
+ int ret = GRIB_SUCCESS;
long basic_angle = 0;
long sub_division = 0;
- int n = 0;
+ int n = 0;
long v[6];
- int i;
if (*len < 6) {
ret = GRIB_ARRAY_TOO_SMALL;
@@ -199,7 +198,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
if ((ret = grib_get_long_internal(hand, self->j_increment, &v[n++])) != GRIB_SUCCESS)
return ret;
}
- for (i = 0; i < n; i++)
+ for (int i = 0; i < n; i++)
if (v[i] == GRIB_MISSING_LONG)
val[i] = GRIB_MISSING_DOUBLE;
else
@@ -282,15 +281,14 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
{
grib_accessor_g2grid* self = (grib_accessor_g2grid*)a;
grib_handle* hand = grib_handle_of_accessor(a);
- int ret;
+ int ret = GRIB_SUCCESS;
long v[6];
int n;
long basic_angle;
long sub_division;
if (*len < 6) {
- ret = GRIB_ARRAY_TOO_SMALL;
- return ret;
+ return GRIB_ARRAY_TOO_SMALL;
}
/* printf("pack_double %g %g %g %g %g %g\n",val[0],val[1],val[2],val[3],val[4],val[5]);*/
diff --git a/src/grib_accessor_class_g2step_range.cc b/src/grib_accessor_class_g2step_range.cc
index c39601a40..e1dd9494b 100644
--- a/src/grib_accessor_class_g2step_range.cc
+++ b/src/grib_accessor_class_g2step_range.cc
@@ -211,6 +211,16 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
if ((ret = grib_get_long_internal(h, "forceStepUnits", &force_step_units)) != GRIB_SUCCESS)
return ret;
+ // Note:
+ // forceStepUnits is a special key that is used to identify the origin of the defined units
+ // i.e., whether they have been defined by the user.
+ // If this key is defined (!= 255), it indicates that the stepUnits have been defined by the user.
+ // Once this key is set, it has the highest priority: it automatically overrides certain units and the default value in stepUnits
+
+ if (h->loader) { // h->loader is set only when rebuilding or reparsing
+ force_step_units = 255; // See ECC-1768 and ECC-1800
+ }
+
try {
std::vector steps = parse_range(val, eccodes::Unit{force_step_units});
if (steps.size() == 0) {
diff --git a/src/grib_accessor_class_latitudes.cc b/src/grib_accessor_class_latitudes.cc
index 4131ff066..35c1a9049 100644
--- a/src/grib_accessor_class_latitudes.cc
+++ b/src/grib_accessor_class_latitudes.cc
@@ -114,16 +114,16 @@ static int get_distinct(grib_accessor* a, double** val, long* len);
static int compare_doubles(const void* a, const void* b, int ascending)
{
- /* ascending is a boolean: 0 or 1 */
+ // ascending is a boolean: 0 or 1
double* arg1 = (double*)a;
double* arg2 = (double*)b;
if (ascending) {
if (*arg1 < *arg2)
- return -1; /*Smaller values come before larger ones*/
+ return -1; // Smaller values come before larger ones
}
else {
if (*arg1 > *arg2)
- return -1; /*Larger values come before smaller ones*/
+ return -1; // Larger values come before smaller ones
}
if (*arg1 == *arg2)
return 0;
@@ -155,7 +155,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
{
grib_context* c = a->context;
grib_accessor_latitudes* self = (grib_accessor_latitudes*)a;
- int ret = 0;
+ int ret = GRIB_SUCCESS;
double* v = val;
double dummyLon = 0;
size_t size = 0;
@@ -167,7 +167,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
if (ret) return ret;
size = count;
if (*len < size) {
- /* self->lats are computed in value_count so must free */
+ // self->lats are computed in value_count so must free
if (self->lats) {
grib_context_free(c, self->lats);
self->lats = NULL;
@@ -176,7 +176,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
}
self->save = 0;
- /* self->lats are computed in value_count*/
+ // self->lats are computed in value_count
if (self->lats) {
int i;
*len = self->size;
@@ -211,7 +211,7 @@ static int value_count(grib_accessor* a, long* len)
grib_handle* h = grib_handle_of_accessor(a);
grib_context* c = a->context;
double* val = NULL;
- int ret;
+ int ret = GRIB_SUCCESS;
size_t size;
*len = 0;
@@ -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)
@@ -244,9 +251,9 @@ static int get_distinct(grib_accessor* a, double** val, long* len)
double* v = NULL;
double* v1 = NULL;
double dummyLon = 0;
- int ret = 0;
+ int ret = GRIB_SUCCESS;
int i;
- long jScansPositively = 0; /* default: north to south */
+ long jScansPositively = 0; // default: north to south
size_t size = *len;
grib_context* c = a->context;
@@ -269,14 +276,14 @@ static int get_distinct(grib_accessor* a, double** val, long* len)
grib_iterator_delete(iter);
v = *val;
- /* See which direction the latitudes are to be scanned */
+ // See which direction the latitudes are to be scanned
if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), "jScansPositively", &jScansPositively)))
return ret;
if (jScansPositively) {
- qsort(v, *len, sizeof(double), &compare_doubles_ascending); /*South to North*/
+ qsort(v, *len, sizeof(double), &compare_doubles_ascending); //South to North
}
else {
- qsort(v, *len, sizeof(double), &compare_doubles_descending); /*North to South*/
+ qsort(v, *len, sizeof(double), &compare_doubles_descending); //North to South
}
v1 = (double*)grib_context_malloc_clear(c, size * sizeof(double));
@@ -285,14 +292,14 @@ static int get_distinct(grib_accessor* a, double** val, long* len)
return GRIB_OUT_OF_MEMORY;
}
- /* Construct a unique set of lats by filtering out duplicates */
+ // Construct a unique set of lats by filtering out duplicates
prev = v[0];
v1[0] = prev;
count = 1;
for (i = 1; i < *len; i++) {
if (v[i] != prev) {
prev = v[i];
- v1[count] = prev; /* Value different from previous so store it */
+ v1[count] = prev; // Value different from previous so store it
count++;
}
}
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_optimal_step_units.cc b/src/grib_accessor_class_optimal_step_units.cc
index 261ff4c80..494667e9a 100644
--- a/src/grib_accessor_class_optimal_step_units.cc
+++ b/src/grib_accessor_class_optimal_step_units.cc
@@ -25,6 +25,7 @@
MEMBERS = const char* forecast_time_unit
MEMBERS = const char* time_range_value
MEMBERS = const char* time_range_unit
+ MEMBERS = long overwriteStepUnits
END_CLASS_DEF
*/
@@ -59,6 +60,7 @@ typedef struct grib_accessor_optimal_step_units
const char* forecast_time_unit;
const char* time_range_value;
const char* time_range_unit;
+ long overwriteStepUnits;
} grib_accessor_optimal_step_units;
extern grib_accessor_class* grib_accessor_class_gen;
@@ -127,6 +129,7 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
self->time_range_value = grib_arguments_get_name(hand, c, n++);
self->time_range_unit = grib_arguments_get_name(hand, c, n++);
a->length = 0;
+ self->overwriteStepUnits = eccodes::Unit{eccodes::Unit::Value::MISSING}.value();
}
static void dump(grib_accessor* a, grib_dumper* dumper)
@@ -170,12 +173,11 @@ static int pack_expression(grib_accessor* a, grib_expression* e)
return ret;
}
-static long staticStepUnits = eccodes::Unit{eccodes::Unit::Value::MISSING}.value();
-static long staticForceStepUnits = eccodes::Unit{eccodes::Unit::Value::MISSING}.value();
-
static int pack_long(grib_accessor* a, const long* val, size_t* len)
{
grib_handle* h = grib_handle_of_accessor(a);
+ grib_accessor_optimal_step_units* self = (grib_accessor_optimal_step_units*)a;
+
auto supported_units = eccodes::Unit::list_supported_units();
try {
eccodes::Unit unit{*val}; // throws if not supported
@@ -197,7 +199,7 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
}
int ret;
- staticStepUnits = *val;
+ self->overwriteStepUnits = *val;
if ((ret = grib_set_long_internal(h, "forceStepUnits", *val)) != GRIB_SUCCESS) {
return ret;
}
@@ -207,9 +209,10 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
static int unpack_long(grib_accessor* a, long* val, size_t* len)
{
+ grib_accessor_optimal_step_units* self = (grib_accessor_optimal_step_units*)a;
try {
- if (eccodes::Unit{staticStepUnits} != eccodes::Unit{eccodes::Unit::Value::MISSING}) {
- *val = staticStepUnits;
+ if (eccodes::Unit{self->overwriteStepUnits} != eccodes::Unit{eccodes::Unit::Value::MISSING}) {
+ *val = self->overwriteStepUnits;
return GRIB_SUCCESS;
}
diff --git a/src/grib_accessor_class_smart_table.cc b/src/grib_accessor_class_smart_table.cc
index 70f964c7d..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
@@ -253,10 +249,10 @@ 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));
@@ -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];
@@ -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);
@@ -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;
@@ -546,7 +542,7 @@ 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 (%zu) for %s, it contains %zu values", *len, a->name, self->tableCodesSize);
- *len = 0;
+ *len = self->tableCodesSize;
return GRIB_ARRAY_TOO_SMALL;
}
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_variable.cc b/src/grib_accessor_class_variable.cc
index 8c5bbe7b0..f47da7383 100644
--- a/src/grib_accessor_class_variable.cc
+++ b/src/grib_accessor_class_variable.cc
@@ -141,9 +141,9 @@ static void init(grib_accessor* a, const long length, grib_arguments* args)
grib_expression* expression = grib_arguments_get_expression(hand, args, 0);
const char* p = 0;
size_t len = 1;
- long l;
+ long l = 0;
int ret = 0;
- double d;
+ double d = 0;
self->cname = NULL;
a->length = 0;
diff --git a/src/grib_api_internal.h b/src/grib_api_internal.h
index e54b76615..d13edbc46 100644
--- a/src/grib_api_internal.h
+++ b/src/grib_api_internal.h
@@ -244,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;
@@ -254,7 +253,6 @@ 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;
@@ -337,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;
@@ -354,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;
@@ -363,18 +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
-*/
-struct grib_packer
-{
- const char* name;
- grib_pack_proc pack; /** < packing procedure */
- grib_unpack_proc unpack; /** < unpacking procedure */
-};
+}; */
/* --------------- */
typedef struct grib_loader grib_loader;
@@ -564,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
@@ -582,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;
};
/* --------------- */
@@ -823,7 +801,6 @@ struct grib_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 */
@@ -1085,17 +1062,13 @@ struct grib_expression_class
const char* name;
size_t size;
int inited;
-
- 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;
};
diff --git a/src/grib_expression_class_accessor.cc b/src/grib_expression_class_accessor.cc
index 39fe4f109..064cc2051 100644
--- a/src/grib_expression_class_accessor.cc
+++ b/src/grib_expression_class_accessor.cc
@@ -174,10 +174,11 @@ grib_expression* new_accessor_expression(grib_context* c, const char* name, long
static int native_type(grib_expression* g, grib_handle* h)
{
grib_expression_accessor* e = (grib_expression_accessor*)g;
- int type = 0;
+ int type = 0;
int err;
- if ((err = grib_get_native_type(h, e->name, &type)) != GRIB_SUCCESS)
+ if ((err = grib_get_native_type(h, e->name, &type)) != GRIB_SUCCESS) {
grib_context_log(h->context, GRIB_LOG_ERROR,
- "Error in native_type %s : %s", e->name, grib_get_error_message(err));
+ "Error in evaluating the type of '%s': %s", e->name, grib_get_error_message(err));
+ }
return type;
}
diff --git a/src/grib_expression_class_binop.cc b/src/grib_expression_class_binop.cc
index 328bb2ac4..5caefd701 100644
--- a/src/grib_expression_class_binop.cc
+++ b/src/grib_expression_class_binop.cc
@@ -83,7 +83,6 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
{
long v1 = 0;
long v2 = 0;
- int ret;
grib_expression_binop* e = (grib_expression_binop*)g;
// #if DEBUGGING
@@ -100,7 +99,7 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
// printf("\n");
// }
- ret = grib_expression_evaluate_long(h, e->left, &v1);
+ int ret = grib_expression_evaluate_long(h, e->left, &v1);
if (ret != GRIB_SUCCESS)
return ret;
@@ -116,8 +115,6 @@ static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
{
double v1 = 0.0;
double v2 = 0.0;
- int ret;
-
grib_expression_binop* e = (grib_expression_binop*)g;
// #if DEBUGGING
@@ -134,7 +131,7 @@ static int evaluate_double(grib_expression* g, grib_handle* h, double* dres)
// printf("\n");
// }
- ret = grib_expression_evaluate_double(h, e->left, &v1);
+ int ret = grib_expression_evaluate_double(h, e->left, &v1);
if (ret != GRIB_SUCCESS)
return ret;
diff --git a/src/grib_expression_class_functor.cc b/src/grib_expression_class_functor.cc
index 4664def10..530654ea2 100644
--- a/src/grib_expression_class_functor.cc
+++ b/src/grib_expression_class_functor.cc
@@ -92,18 +92,31 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
return ret;
}
+ if (STR_EQUAL(e->name, "size")) {
+ *lres = 0;
+ const char* keyName = grib_arguments_get_name(h, e->args, 0);
+ if (keyName) {
+ size_t size = 0;
+ int err = grib_get_size(h, keyName, &size);
+ if (err) return err;
+ *lres = (long)size;
+ return GRIB_SUCCESS;
+ }
+ return GRIB_INVALID_ARGUMENT;
+ }
+
if (STR_EQUAL(e->name, "missing")) {
- const char* p = grib_arguments_get_name(h, e->args, 0);
- if (p) {
+ const char* keyName = grib_arguments_get_name(h, e->args, 0);
+ if (keyName) {
long val = 0;
int err = 0;
if (h->product_kind == PRODUCT_BUFR) {
- int ismiss = grib_is_missing(h, p, &err);
+ int ismiss = grib_is_missing(h, keyName, &err);
if (err) return err;
*lres = ismiss;
return GRIB_SUCCESS;
}
- err = grib_get_long_internal(h, p, &val);
+ err = grib_get_long_internal(h, keyName, &val);
if (err) return err;
// Note: This does not cope with keys like typeOfSecondFixedSurface
// which are codetable entries with values like 255: this value is
@@ -120,11 +133,10 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
}
if (STR_EQUAL(e->name, "defined")) {
- const char* p = grib_arguments_get_name(h, e->args, 0);
-
- if (p) {
- const grib_accessor* a = grib_find_accessor(h, p);
- *lres = a != NULL ? 1 : 0;
+ const char* keyName = grib_arguments_get_name(h, e->args, 0);
+ if (keyName) {
+ const grib_accessor* a = grib_find_accessor(h, keyName);
+ *lres = a != NULL ? 1 : 0;
return GRIB_SUCCESS;
}
*lres = 0;
@@ -156,11 +168,51 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres)
return GRIB_SUCCESS;
}
+ if (STR_EQUAL(e->name, "is_one_of")) {
+ *lres = 0;
+ const char* keyName = grib_arguments_get_name(h, e->args, 0);
+ if (!keyName) return GRIB_INVALID_ARGUMENT;
+ int type = 0;
+ int err = grib_get_native_type(h, keyName, &type);
+ if (err) return err;
+ int n = grib_arguments_get_count(e->args);
+ if (type == GRIB_TYPE_STRING) {
+ char keyValue[254] = {0,};
+ size_t len = sizeof(keyValue);
+ err = grib_get_string(h, keyName, keyValue, &len);
+ if (err) return err;
+ for (int i = 1; i < n; ++i) { // skip 1st argument which is the key
+ const char* sValue = grib_arguments_get_string(h, e->args, i);
+ if (sValue && STR_EQUAL(keyValue, sValue)) {
+ *lres = 1;
+ return GRIB_SUCCESS;
+ }
+ }
+ }
+ else if (type == GRIB_TYPE_LONG) {
+ long keyValue = 0;
+ err = grib_get_long(h, keyName, &keyValue);
+ if (err) return err;
+ for (int i = 1; i < n; ++i) { // skip 1st argument which is the key
+ long lValue = grib_arguments_get_long(h, e->args, i);
+ if (keyValue == lValue) {
+ *lres = 1;
+ return GRIB_SUCCESS;
+ }
+ }
+ }
+ else if (type == GRIB_TYPE_DOUBLE) {
+ return GRIB_NOT_IMPLEMENTED;
+ }
+ return GRIB_SUCCESS;
+ }
+
if (STR_EQUAL(e->name, "gribex_mode_on")) {
*lres = h->context->gribex_mode_on ? 1 : 0;
return GRIB_SUCCESS;
}
+ grib_context_log(h->context, GRIB_LOG_ERROR, "grib_expression_class_functor::%s failed for '%s'", __func__, e->name);
return GRIB_NOT_IMPLEMENTED;
}
diff --git a/src/grib_expression_class_logical_and.cc b/src/grib_expression_class_logical_and.cc
index 9a25e54c1..902119a5e 100644
--- a/src/grib_expression_class_logical_and.cc
+++ b/src/grib_expression_class_logical_and.cc
@@ -82,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);
@@ -129,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 ce5e4d765..772a73d8a 100644
--- a/src/grib_expression_class_logical_or.cc
+++ b/src/grib_expression_class_logical_or.cc
@@ -129,10 +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 = evaluate_long(g, h, &lres);
*dres = (double)lres;
-
return ret;
}
@@ -141,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_index.cc b/src/grib_index.cc
index b6eb0b3a2..211b30cb5 100644
--- a/src/grib_index.cc
+++ b/src/grib_index.cc
@@ -1290,6 +1290,11 @@ static int codes_index_add_file_internal(grib_index* index, const char* filename
grib_context_log(c, GRIB_LOG_ERROR, "File %s contains no messages", filename);
return GRIB_END_OF_FILE;
}
+
+ if (c->debug) {
+ fprintf(stderr, "ECCODES DEBUG %s %s\n", __func__, filename);
+ grib_index_dump(stderr, index, GRIB_DUMP_FLAG_TYPE);
+ }
return GRIB_SUCCESS;
}
diff --git a/src/grib_iterator_class_gen.cc b/src/grib_iterator_class_gen.cc
index 02fe38c28..7124e8cf9 100644
--- a/src/grib_iterator_class_gen.cc
+++ b/src/grib_iterator_class_gen.cc
@@ -193,12 +193,21 @@ static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
if ((err = grib_get_long_internal(h, s_numPoints, &numberOfPoints)) != GRIB_SUCCESS)
return err;
- if (numberOfPoints != dli) {
- grib_context_log(h->context, GRIB_LOG_ERROR, "Geoiterator: %s != size(%s) (%ld!=%ld)",
- s_numPoints, s_rawData, numberOfPoints, dli);
- return GRIB_WRONG_GRID;
+ // See ECC-1792. If we don't want to decode the Data Section, we should not do a check
+ // to see if it is consistent with the Grid Section
+ if (iter->flags & GRIB_GEOITERATOR_NO_VALUES) {
+ // Iterator's number of values taken from the Grid Section
+ iter->nv = numberOfPoints;
+ } else {
+ // Check for consistency between the Grid and Data Sections
+ if (numberOfPoints != dli) {
+ grib_context_log(h->context, GRIB_LOG_ERROR, "Geoiterator: %s != size(%s) (%ld!=%ld)",
+ s_numPoints, s_rawData, numberOfPoints, dli);
+ return GRIB_WRONG_GRID;
+ }
+ iter->nv = dli;
}
- iter->nv = dli;
+
if (iter->nv == 0) {
grib_context_log(h->context, GRIB_LOG_ERROR, "Geoiterator: size(%s) is %ld", s_rawData, dli);
return GRIB_WRONG_GRID;
diff --git a/src/grib_iterator_class_polar_stereographic.cc b/src/grib_iterator_class_polar_stereographic.cc
index b9c0314a3..1f0c59d69 100644
--- a/src/grib_iterator_class_polar_stereographic.cc
+++ b/src/grib_iterator_class_polar_stereographic.cc
@@ -123,7 +123,8 @@ static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
double *lats, *lons; /* arrays for latitudes and longitudes */
double lonFirstInDegrees, latFirstInDegrees, radius;
double x, y, Dx, Dy;
- long nx, ny, centralLongitudeInDegrees, centralLatitudeInDegrees;
+ long nx, ny;
+ double centralLongitudeInDegrees, centralLatitudeInDegrees;
long alternativeRowScanning, iScansNegatively, i, j;
long jScansPositively, jPointsAreConsecutive, southPoleOnPlane;
double centralLongitude, centralLatitude; /* in radians */
@@ -173,9 +174,9 @@ static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
return ret;
if ((ret = grib_get_long_internal(h, s_southPoleOnPlane, &southPoleOnPlane)) != GRIB_SUCCESS)
return ret;
- if ((ret = grib_get_long_internal(h, s_centralLongitude, ¢ralLongitudeInDegrees)) != GRIB_SUCCESS)
+ if ((ret = grib_get_double_internal(h, s_centralLongitude, ¢ralLongitudeInDegrees)) != GRIB_SUCCESS)
return ret;
- if ((ret = grib_get_long_internal(h, s_centralLatitude, ¢ralLatitudeInDegrees)) != GRIB_SUCCESS)
+ if ((ret = grib_get_double_internal(h, s_centralLatitude, ¢ralLatitudeInDegrees)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_double_internal(h, s_Dx, &Dx)) != GRIB_SUCCESS)
return ret;
diff --git a/src/grib_loader_from_handle.cc b/src/grib_loader_from_handle.cc
index a423c31cc..765915bbd 100644
--- a/src/grib_loader_from_handle.cc
+++ b/src/grib_loader_from_handle.cc
@@ -10,6 +10,10 @@
#include "grib_api_internal.h"
+#if defined DEBUG && ! defined GRIB_PTHREADS
+ #define MY_DEBUG
+#endif
+
static int copy_values(grib_handle* h, grib_accessor* ga)
{
int i, j, k;
@@ -62,7 +66,7 @@ int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_
unsigned char* uval = NULL;
long* lval = NULL;
double* dval = NULL;
-#ifdef DEBUG
+#ifdef MY_DEBUG
static int first = 1;
static const char* missing = 0;
#endif
@@ -123,7 +127,7 @@ int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_
if (ret != GRIB_SUCCESS) {
name = ga->name;
-#ifdef DEBUG
+#ifdef MY_DEBUG
if (first) {
missing = codes_getenv("ECCODES_PRINT_MISSING");
first = 0;
@@ -131,7 +135,7 @@ int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_
#endif
grib_context_log(h->context, GRIB_LOG_DEBUG, "Copying [%s] failed: %s",
name, grib_get_error_message(ret));
-#ifdef DEBUG
+#ifdef MY_DEBUG
if (missing) {
fprintf(stdout, "REPARSE: no value for %s", name);
if (default_value)
diff --git a/src/grib_value.cc b/src/grib_value.cc
index 1320bc9b7..f1675ccd2 100644
--- a/src/grib_value.cc
+++ b/src/grib_value.cc
@@ -46,7 +46,7 @@ static void print_debug_info__set_array(grib_handle* h, const char* func, const
if (length <= N)
N = length;
- fprintf(stderr, "ECCODES DEBUG %s key=%s, %zu entries (", func, name, length);
+ fprintf(stderr, "ECCODES DEBUG %s h=%p key=%s, %zu entries (", func, (void*)h, name, length);
for (i = 0; i < N; ++i) {
if (i != 0) fprintf(stderr,", ");
fprintf(stderr, "%.10g", val[i]);
@@ -89,7 +89,7 @@ int grib_set_long_internal(grib_handle* h, const char* name, long val)
a = grib_find_accessor(h, name);
if (h->context->debug)
- fprintf(stderr, "ECCODES DEBUG grib_set_long_internal %s=%ld\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_long_internal h=%p %s=%ld\n", (void*)h, name, val);
if (a) {
ret = grib_pack_long(a, &val, &l);
@@ -117,9 +117,9 @@ int grib_set_long(grib_handle* h, const char* name, long val)
if (a) {
if (h->context->debug) {
if (strcmp(name, a->name)!=0)
- fprintf(stderr, "ECCODES DEBUG grib_set_long %s=%ld (a->name=%s)\n", name, val, a->name);
+ fprintf(stderr, "ECCODES DEBUG grib_set_long h=%p %s=%ld (a->name=%s)\n", (void*)h, name, val, a->name);
else
- fprintf(stderr, "ECCODES DEBUG grib_set_long %s=%ld\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_long h=%p %s=%ld\n", (void*)h, name, val);
}
if (a->flags & GRIB_ACCESSOR_FLAG_READ_ONLY)
@@ -133,7 +133,7 @@ int grib_set_long(grib_handle* h, const char* name, long val)
}
if (h->context->debug) {
- fprintf(stderr, "ECCODES DEBUG grib_set_long %s=%ld (Key not found)\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_long h=%p %s=%ld (Key not found)\n", (void*)h, name, val);
}
return GRIB_NOT_FOUND;
@@ -148,7 +148,7 @@ int grib_set_double_internal(grib_handle* h, const char* name, double val)
a = grib_find_accessor(h, name);
if (h->context->debug)
- fprintf(stderr, "ECCODES DEBUG grib_set_double_internal %s=%.10g\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_double_internal h=%p %s=%.10g\n", (void*)h, name, val);
if (a) {
ret = grib_pack_double(a, &val, &l);
@@ -349,9 +349,9 @@ int grib_set_double(grib_handle* h, const char* name, double val)
if (a) {
if (h->context->debug) {
if (strcmp(name, a->name)!=0)
- fprintf(stderr, "ECCODES DEBUG grib_set_double %s=%.10g (a->name=%s)\n", name, val, a->name);
+ fprintf(stderr, "ECCODES DEBUG grib_set_double h=%p %s=%.10g (a->name=%s)\n", (void*)h, name, val, a->name);
else
- fprintf(stderr, "ECCODES DEBUG grib_set_double %s=%.10g\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_double h=%p %s=%.10g\n", (void*)h, name, val);
}
if (a->flags & GRIB_ACCESSOR_FLAG_READ_ONLY)
@@ -375,7 +375,7 @@ int grib_set_string_internal(grib_handle* h, const char* name,
a = grib_find_accessor(h, name);
if (h->context->debug)
- fprintf(stderr, "ECCODES DEBUG grib_set_string_internal %s=%s\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_string_internal h=%p %s=%s\n", (void*)h, name, val);
if (a) {
ret = grib_pack_string(a, val, length);
@@ -467,9 +467,9 @@ int grib_set_string(grib_handle* h, const char* name, const char* val, size_t* l
if (a) {
if (h->context->debug) {
if (strcmp(name, a->name)!=0)
- fprintf(stderr, "ECCODES DEBUG grib_set_string %s=|%s| (a->name=%s)\n", name, val, a->name);
+ fprintf(stderr, "ECCODES DEBUG grib_set_string h=%p %s=|%s| (a->name=%s)\n", (void*)h, name, val, a->name);
else
- fprintf(stderr, "ECCODES DEBUG grib_set_string %s=|%s|\n", name, val);
+ fprintf(stderr, "ECCODES DEBUG grib_set_string h=%p %s=|%s|\n", (void*)h, name, val);
}
if (a->flags & GRIB_ACCESSOR_FLAG_READ_ONLY)
@@ -497,7 +497,7 @@ int grib_set_string_array(grib_handle* h, const char* name, const char** val, si
a = grib_find_accessor(h, name);
if (h->context->debug) {
- fprintf(stderr, "ECCODES DEBUG grib_set_string_array key=%s %zu values\n", name, length);
+ fprintf(stderr, "ECCODES DEBUG grib_set_string_array h=%p key=%s %zu values\n", (void*)h, name, length);
}
if (a) {
@@ -579,7 +579,7 @@ int grib_set_missing(grib_handle* h, const char* name)
if (grib_accessor_can_be_missing(a, &ret)) {
if (h->context->debug)
- fprintf(stderr, "ECCODES DEBUG grib_set_missing %s\n", name);
+ fprintf(stderr, "ECCODES DEBUG grib_set_missing h=%p %s\n", (void*)h, name);
ret = grib_pack_missing(a);
if (ret == GRIB_SUCCESS)
@@ -903,7 +903,7 @@ static int _grib_set_long_array(grib_handle* h, const char* name, const long* va
size_t N = 5;
if (length <= N)
N = length;
- fprintf(stderr, "ECCODES DEBUG _grib_set_long_array key=%s %zu values (", name, length);
+ fprintf(stderr, "ECCODES DEBUG _grib_set_long_array h=%p key=%s %zu values (", (void*)h, name, length);
for (i = 0; i < N; ++i)
fprintf(stderr, " %ld,", val[i]);
if (N >= length)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index e1f11445c..56bfa91ed 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -104,6 +104,8 @@ if( HAVE_BUILD_TOOLS )
grib_ifsParam
grib_packing_order
filter_substr
+ filter_size
+ filter_is_one_of
filter_is_in_list
filter_transient_darray
grib_uerra
@@ -145,6 +147,7 @@ if( HAVE_BUILD_TOOLS )
grib_ecc-1708
grib_ecc-1691
grib_ecc-1766
+ grib_ecc-1806
bufr_ecc-1028
bufr_ecc-1195
bufr_ecc-1259
@@ -266,6 +269,7 @@ if( HAVE_BUILD_TOOLS )
grib_ecc-1425
grib_ecc-1467
grib_ecc-1764
+ grib_ecc-1792
grib_sub_hourly
grib_set_bytes
grib_set_force
@@ -390,7 +394,8 @@ if( HAVE_BUILD_TOOLS )
ecbuild_add_test( TARGET eccodes_t_grib_repair
TYPE SCRIPT
CONDITION ECCODES_INSTALL_EXTRA_TOOLS AND ENABLE_EXTRA_TESTS
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib_repair.sh )
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib_repair.sh
+ TEST_DEPENDS eccodes_download_gribs )
# Note: making the test dependent on the grib files (with DEPENDS)
diff --git a/tests/codes_get_string.sh b/tests/codes_get_string.sh
index 188c81a3e..98d68f671 100755
--- a/tests/codes_get_string.sh
+++ b/tests/codes_get_string.sh
@@ -44,4 +44,4 @@ $EXEC ${test_dir}/codes_get_string GTS "$input" theMessage 2> $tempText
grep -q "Buffer too small" $tempText
# Clean up
-rm -f $tempText
+rm -f $tempText $tempGrib
diff --git a/tests/definitions.sh b/tests/definitions.sh
index b841e2834..ecd5d5f4a 100755
--- a/tests/definitions.sh
+++ b/tests/definitions.sh
@@ -16,7 +16,7 @@ tempOut=temp.$label.txt
[ -z "$ECCODES_DEFINITION_PATH" ] || ECCODES_DEFINITION_PATH=`${tools_dir}/codes_info -d`
-for file in `find ${ECCODES_DEFINITION_PATH}/ -name '*.def' -print | grep -v grib3/`
+for file in `find ${ECCODES_DEFINITION_PATH}/ -name '*.def' -print | grep -v grib3/ | grep -v metar/ | grep -v taf/`
do
${tools_dir}/codes_parser $file > $REDIRECT
done
diff --git a/tests/filter_is_one_of.sh b/tests/filter_is_one_of.sh
new file mode 100755
index 000000000..96099d60e
--- /dev/null
+++ b/tests/filter_is_one_of.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+# (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.ctest.sh
+
+label="filter_is_one_of_test"
+tempFilt=temp.$label.filt
+tempOut=temp.$label.txt
+
+input=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
+grib_check_key_equals $input "shortName,paramId,typeOfLevel" "t 130 surface"
+
+cat > $tempFilt < $tempFilt < $tempOut
+grep "size of pl is 64" $tempOut
+
+${tools_dir}/grib_filter $tempFilt $ECCODES_SAMPLES_PATH/reduced_gg_pl_64_grib2.tmpl > $tempOut
+grep "size of pl is 128" $tempOut
+
+# Clean up
+rm -f $tempFilt $tempOut
diff --git a/tests/grib2_version.sh b/tests/grib2_version.sh
index 6e6daef42..8b3119767 100755
--- a/tests/grib2_version.sh
+++ b/tests/grib2_version.sh
@@ -62,7 +62,6 @@ ${tools_dir}/grib_filter $tempFilt $sample2 > $tempText 2>&1
status=$?
set -e
[ $status -ne 0 ]
-cat $tempText
grep -q "Definition files version .* is greater than engine version" $tempText
rm -f $tempFilt $temp $tempText
diff --git a/tests/grib_cfNames.sh b/tests/grib_cfNames.sh
index 369395a00..882d38139 100755
--- a/tests/grib_cfNames.sh
+++ b/tests/grib_cfNames.sh
@@ -49,9 +49,9 @@ ${tools_dir}/grib_set -s indicatorOfParameter=163,table2Version=151 $sample1 $te
grib_check_key_equals $temp cfName depth_of_isosurface_of_sea_water_potential_temperature
-${tools_dir}/grib_set -s paramId=151154 $sample1 $temp
+${tools_dir}/grib_set -s paramId=181 $sample1 $temp
grib_check_key_equals $temp cfName surface_downward_northward_stress
-${tools_dir}/grib_set -s paramId=151154 $sample2 $temp
+${tools_dir}/grib_set -s stepType=accum,paramId=181 $sample2 $temp
grib_check_key_equals $temp cfName surface_downward_northward_stress
${tools_dir}/grib_set -s discipline=192,parameterCategory=151,parameterNumber=153 $sample2 $temp
grib_check_key_equals $temp cfName surface_downward_eastward_stress
diff --git a/tests/grib_check_param_concepts.cc b/tests/grib_check_param_concepts.cc
index 077d61e14..99307fe85 100644
--- a/tests/grib_check_param_concepts.cc
+++ b/tests/grib_check_param_concepts.cc
@@ -52,6 +52,8 @@ static int scale_factor_missing(const char* value)
return 0;
}
+#define STAT_PROC_MAX_VAL 103 // increase this with new Code Table 4.10 entries
+
/*
* key = paramId or shortName
* filename = paramId.def or shortName.def
@@ -59,6 +61,7 @@ static int scale_factor_missing(const char* value)
static int grib_check_param_concepts(const char* key, const char* filename)
{
int isLocal = 0;
+ int count = 0;
grib_concept_value* concept_value = grib_parse_concept_file(NULL, filename);
if (!concept_value)
return GRIB_IO_PROBLEM;
@@ -67,6 +70,11 @@ static int grib_check_param_concepts(const char* key, const char* filename)
isLocal = 1;
}
while (concept_value) {
+ count++;
+ if (strlen(concept_value->name) == 0) {
+ fprintf(stderr, "%s %s: Empty concept value (count=%d)\n", key, concept_value->name, count);
+ Assert(0);
+ }
grib_concept_condition* concept_condition = concept_value->conditions;
/* Convention:
* -1 key not present
@@ -106,6 +114,14 @@ static int grib_check_param_concepts(const char* key, const char* filename)
key, concept_value->name, filename);
return GRIB_INVALID_KEY_VALUE;
}
+ if (strcmp(condition_name, "typeOfStatisticalProcessing") == 0) {
+ long lValue = atol(condition_value);
+ if (lValue > STAT_PROC_MAX_VAL || lValue < 0) {
+ fprintf(stderr, "Bad value for %s in %s=%s in file %s\n",
+ condition_name, key, concept_value->name, filename);
+ return GRIB_INVALID_KEY_VALUE;
+ }
+ }
if (strcmp(condition_name, "typeOfFirstFixedSurface") == 0) {
type1Missing = type_of_surface_missing(condition_name, condition_value);
}
diff --git a/tests/grib_check_param_concepts.sh b/tests/grib_check_param_concepts.sh
index 4810497c1..004ca49b8 100755
--- a/tests/grib_check_param_concepts.sh
+++ b/tests/grib_check_param_concepts.sh
@@ -26,25 +26,21 @@ fi
# First check the GRIB2 paramId.def and shortName.def
# ----------------------------------------------------
$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/uerra/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/hydro/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/cerise/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/tigge/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/s2s/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/era6/paramId.def
-$EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/destine/paramId.def
-
+datasets="ecmf uerra cerise hydro s2s tigge era6 destine era"
+for a_dataset in $datasets; do
+ $EXEC ${test_dir}/grib_check_param_concepts paramId $ECCODES_DEFINITION_PATH/grib2/localConcepts/$a_dataset/paramId.def
+done
$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/uerra/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/hydro/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/cerise/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/tigge/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/s2s/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/era6/shortName.def
-$EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/destine/shortName.def
+for a_dataset in $datasets; do
+ $EXEC ${test_dir}/grib_check_param_concepts shortName $ECCODES_DEFINITION_PATH/grib2/localConcepts/$a_dataset/shortName.def
+done
+
+# Check WMO name.def etc
+$EXEC ${test_dir}/grib_check_param_concepts name $ECCODES_DEFINITION_PATH/grib2/name.def
+$EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/units.def
+$EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/cfVarName.def
+
# Check the group: name.def paramId.def shortName.def units.def cfVarName.def
# ----------------------------------------------------------------------------
@@ -66,11 +62,8 @@ defs_dirs="
$ECCODES_DEFINITION_PATH/grib1/localConcepts/ecmf
$ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf
- $ECCODES_DEFINITION_PATH/grib1/localConcepts/ammc
- $ECCODES_DEFINITION_PATH/grib1/localConcepts/eidb
$ECCODES_DEFINITION_PATH/grib1/localConcepts/ekmi
$ECCODES_DEFINITION_PATH/grib1/localConcepts/enmi
- $ECCODES_DEFINITION_PATH/grib1/localConcepts/eswi
$ECCODES_DEFINITION_PATH/grib1/localConcepts/lfpw
$ECCODES_DEFINITION_PATH/grib1/localConcepts/lowm
$ECCODES_DEFINITION_PATH/grib1/localConcepts/rjtd
@@ -81,6 +74,7 @@ defs_dirs="
$ECCODES_DEFINITION_PATH/grib2/localConcepts/tigge
$ECCODES_DEFINITION_PATH/grib2/localConcepts/s2s
$ECCODES_DEFINITION_PATH/grib2/localConcepts/era6
+ $ECCODES_DEFINITION_PATH/grib2/localConcepts/era
$ECCODES_DEFINITION_PATH/grib2/localConcepts/destine
$ECCODES_DEFINITION_PATH/grib2/localConcepts/egrr
diff --git a/tests/grib_data_quality_checks.sh b/tests/grib_data_quality_checks.sh
index bf2fc77b2..6462a8662 100755
--- a/tests/grib_data_quality_checks.sh
+++ b/tests/grib_data_quality_checks.sh
@@ -88,15 +88,10 @@ grep -q 'allowable limit' $tempErr
echo "Test limits which are doubles..."
# -------------------------------------
-pid=151131 # has limits -3.5 and +3.5
-${tools_dir}/grib_set -s paramId=$pid $input1 $tempGrib1
+pid=262140 # has limits -3.5 and +3.5
${tools_dir}/grib_set -s paramId=$pid $input2 $tempGrib2
-minval1=`${tools_dir}/grib_get -p param_value_min:d $tempGrib1`
-maxval1=`${tools_dir}/grib_get -p param_value_max:d $tempGrib1`
minval2=`${tools_dir}/grib_get -p param_value_min:d $tempGrib2`
maxval2=`${tools_dir}/grib_get -p param_value_max:d $tempGrib2`
-[ "$minval1" = "-3.5" ]
-[ "$maxval1" = "3.5" ]
[ "$minval2" = "-3.5" ]
[ "$maxval2" = "3.5" ]
@@ -104,16 +99,12 @@ maxval2=`${tools_dir}/grib_get -p param_value_max:d $tempGrib2`
grib_check_key_equals $tempGrib2 'param_value_min:s,param_value_max:s' '-3.5 3.5'
set +e
-${tools_dir}/grib_set -s scaleValuesBy=1.1 $tempGrib1 $tempOut 2>$tempErr
-stat1=$?
${tools_dir}/grib_set -s scaleValuesBy=1.1 $tempGrib2 $tempOut 2>$tempErr
stat2=$?
set -e
-[ $stat1 -ne 0 ]
[ $stat2 -ne 0 ]
# Should succeed. Change paramId first and then scale all values down
-${tools_dir}/grib_set -s paramId=$pid,scaleValuesBy=0.01 $input1 $tempOut
${tools_dir}/grib_set -s paramId=$pid,scaleValuesBy=0.01 $input2 $tempOut
echo "Test close to the limit..."
@@ -126,13 +117,6 @@ ${tools_dir}/grib_set -s scaleValuesBy=3.6 $tempGrib2 $tempOut
set -e
[ $status -ne 0 ]
-${tools_dir}/grib_set -s edition=1 $tempGrib2 $tempGrib1
-${tools_dir}/grib_set -s scaleValuesBy=-3 $tempGrib1 $tempOut # OK
-set +e
-${tools_dir}/grib_set -s scaleValuesBy=-3.55 $tempGrib1 $tempOut
-set -e
-[ $status -ne 0 ]
-
echo "Test limits with steps..."
# -----------------------------
diff --git a/tests/grib_ecc-1691.sh b/tests/grib_ecc-1691.sh
index 97c38108d..d64bae087 100755
--- a/tests/grib_ecc-1691.sh
+++ b/tests/grib_ecc-1691.sh
@@ -64,11 +64,12 @@ ${tools_dir}/grib_set -s numberOfDataPoints=12582912,gridDefinitionTemplateNumbe
grib_check_key_equals $temp_grib_a "gridSpecification" "H1024"
-# Now check streams.
+# Now check streams for use in climate-dt.
# Setting stream clte and type fc should set mars.date and mars.time to dataDate and dataTime,
# and mars.step should be unaliased
+# We must also set dataset=climate-dt, since in other datasets mars.step is set to stepRange
-${tools_dir}/grib_set -s stream=clte,type=fc $destine_sample $temp_grib_a
+${tools_dir}/grib_set -s dataset=climate-dt,stream=clte,type=fc $destine_sample $temp_grib_a
result1=$( ${tools_dir}/grib_get -p mars.date,mars.time $temp_grib_a )
result2=$( ${tools_dir}/grib_get -p dataDate,dataTime $temp_grib_a )
@@ -79,8 +80,9 @@ ${tools_dir}/grib_ls -jm $temp_grib_a
# Setting stream clmn and type fc should set mars.year and mars.month to year and month,
# and mars.date, mars.time, mars.step should be unaliased
+# We must also set dataset=climate-dt, since in other datasets mars.step is set to stepRange
-${tools_dir}/grib_set -s stream=clmn,type=fc $destine_sample $temp_grib_a
+${tools_dir}/grib_set -s dataset=climate-dt,stream=clmn,type=fc $destine_sample $temp_grib_a
result1=$( ${tools_dir}/grib_get -p mars.year,mars.month $temp_grib_a )
result2=$( ${tools_dir}/grib_get -p year,month $temp_grib_a )
@@ -91,5 +93,9 @@ ${tools_dir}/grib_ls -jm $temp_grib_a
[ $( ${tools_dir}/grib_get -f -p mars.time $temp_grib_a ) = "not_found" ]
[ $( ${tools_dir}/grib_get -f -p mars.step $temp_grib_a ) = "not_found" ]
+# ECC-1801
+${tools_dir}/grib_set -s productionStatusOfProcessedData=12 $sample_grib2 $temp_grib_a
+${tools_dir}/grib_compare -b productionStatusOfProcessedData $sample_grib2 $temp_grib_a
+
# Clean up
rm -f $temp_grib_a $temp_grib_b $destine_sample
diff --git a/tests/grib_ecc-1792.sh b/tests/grib_ecc-1792.sh
new file mode 100755
index 000000000..960da284d
--- /dev/null
+++ b/tests/grib_ecc-1792.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+# (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.ctest.sh
+
+REDIRECT=/dev/null
+
+label="grib_ecc-1792_test"
+tempGrib=temp.$label.grib
+tempFilt=temp.$label.filt
+tempLog=temp.$label.log
+tempRef=temp.$label.ref
+
+sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
+
+# Create a message with its Data Section out-of-sync with its Grid
+${tools_dir}/grib_set -s numberOfValues=2 $sample_grib2 $tempGrib
+grib_check_key_equals $tempGrib numberOfDataPoints 496
+
+# grib_get_data should fail
+set +e
+${tools_dir}/grib_get_data $tempGrib > $tempLog 2>&1
+status=$?
+set -e
+[ $status -ne 0 ]
+grep "Grid description is wrong" $tempLog
+
+# Just getting lats and lons; no need for Data Section to be in-sync
+cat >$tempFilt<$tempFilt< $tempLog 2>&1
+status=$?
+set -e
+[ $status -ne 0 ]
+grep "Grid description is wrong" $tempLog
+
+
+# Clean up
+rm -f $tempGrib $tempFilt $tempLog $tempRef
diff --git a/tests/grib_ecc-1806.sh b/tests/grib_ecc-1806.sh
new file mode 100755
index 000000000..fcd4684f2
--- /dev/null
+++ b/tests/grib_ecc-1806.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+# (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.ctest.sh
+
+REDIRECT=/dev/null
+
+label="grib_ecc-1806_test"
+tempGrib1=temp.$label.1.grib
+tempGrib2=temp.$label.2.grib
+tempLog=temp.$label.log
+
+sampleGrib1=$ECCODES_SAMPLES_PATH/GRIB1.tmpl
+sampleGrib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
+
+test_conversion()
+{
+ param1=$1 # old paramId in GRIB1
+ param2=$2 # new paramId in GRIB2
+ short=$3 # new shortName
+
+ ${tools_dir}/grib_set -s paramId=$param1 $sampleGrib1 $tempGrib1
+ ${tools_dir}/grib_set -s edition=2 $tempGrib1 $tempGrib2
+ grib_check_key_equals $tempGrib2 paramId,shortName "$param2 $short"
+
+ # Check the old paramId has been removed from GRIB2
+ set +e
+ ${tools_dir}/grib_set -s paramId=$param1 $sampleGrib2 $tempGrib2 >$tempLog 2>&1
+ status=$?
+ set -e
+ [ $status -ne 0 ]
+ grep -q "no match for paramId" $tempLog
+}
+
+test_conversion 174098 262000 sithick
+test_conversion 151163 262104 t20d
+test_conversion 151145 262124 zos
+test_conversion 130232 235135 mw
+test_conversion 172146 235033 msshf
+test_conversion 172147 235034 mslhf
+test_conversion 55 228004 mean2t
+test_conversion 56 235168 m2d
+test_conversion 172169 235035 msdwswrf
+test_conversion 172175 235036 msdwlwrf
+test_conversion 172176 235037 msnswrf
+test_conversion 172177 235038 msnlwrf
+test_conversion 172178 235039 mtnswrf
+test_conversion 172179 235040 mtnlwrf
+test_conversion 151175 262118 sc300m
+
+# Clean up
+rm -f $tempGrib1 $tempGrib2 $tempLog
diff --git a/tests/grib_filter.sh b/tests/grib_filter.sh
index 660d568b3..42e4eccdf 100755
--- a/tests/grib_filter.sh
+++ b/tests/grib_filter.sh
@@ -366,6 +366,14 @@ cat >$tempFilt < $tempOut
+
+# Logical OR with doubles
+cat >$tempFilt < 45.01 || referenceValue < 1.1) { print "yes"; }
+EOF
+${tools_dir}/grib_filter $tempFilt $ECCODES_SAMPLES_PATH/GRIB2.tmpl #> $tempOut
+
+
# Decode an integer key as string
cat >$tempFilt <${data_dir}/nonexkey.rules <$tempFilt < $tempOut
+${tools_dir}/grib_filter $tempFilt $sample_grib2 2> $tempOut
status=$?
set -e
[ $status -ne 0 ]
@@ -66,10 +69,8 @@ grep "Assertion failure" $tempOut
# Bad write
# ---------
-input=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
-
set +e
-echo 'write(-10);' | ${tools_dir}/grib_filter -o $tempGrib - $input > $tempOut 2>&1
+echo 'write(-10);' | ${tools_dir}/grib_filter -o $tempGrib - $sample_grib2 > $tempOut 2>&1
status=$?
set -e
[ $status -ne 0 ]
@@ -100,12 +101,25 @@ set -e
# Non existent filter
# --------------------
set +e
-${tools_dir}/grib_filter a_non_existent_filter_file $ECCODES_SAMPLES_PATH/GRIB2.tmpl > $tempOut 2>&1
+${tools_dir}/grib_filter a_non_existent_filter_file $sample_grib2 > $tempOut 2>&1
status=$?
set -e
[ $status -ne 0 ]
grep -q "Cannot include file" $tempOut
+# Functor not implemented
+# -------------------------
+cat >$tempFilt < $tempOut 2>&1
+status=$?
+set -e
+[ $status -ne 0 ]
+grep -q "ECCODES ERROR.*failed for 'unicorn'" $tempOut
+grep -q "Function not yet implemented" $tempOut
+
# Clean up
rm -f $tempGrib $tempFilt $tempOut $tempRef
diff --git a/tests/grib_indexing.sh b/tests/grib_indexing.sh
index bd4908bf1..1e3001f16 100755
--- a/tests/grib_indexing.sh
+++ b/tests/grib_indexing.sh
@@ -158,6 +158,9 @@ rm -rf $temp_dir_A
${tools_dir}/grib_index_build -N -o $tempIndex1 $sample1 > /dev/null
${tools_dir}/grib_dump $tempIndex1 >/dev/null
+# With DEBUG enabled
+# --------------------
+ECCODES_DEBUG=-1 ${tools_dir}/grib_index_build -N -o $tempIndex1 $sample1 > /dev/null
# ECC-1773: GRIB2 multi-field messages
# -------------------------------------
@@ -205,5 +208,5 @@ grep -q "End of resource reached" $tempOut
# Clean up
-rm -f $tempOut $tempRef
+rm -f $temp $tempOut $tempRef
rm -f $tempIndex $tempIndex1 $tempIndex2 $tempGribFile1 $tempGribFile2
diff --git a/tests/grib_ls.sh b/tests/grib_ls.sh
index 8e895b48a..be4f7a38b 100755
--- a/tests/grib_ls.sh
+++ b/tests/grib_ls.sh
@@ -195,8 +195,8 @@ grep -q "36 of 38 messages" $tempText
${tools_dir}/grib_ls -w scaleFactorOfSecondFixedSurface!=missing $file > $tempText
grep -q "2 of 38 messages" $tempText
-${tools_dir}/grib_ls -w referenceValue=0 $file > $tempText
-grep -q "11 of 38 messages" $tempText
+${tools_dir}/grib_ls -w referenceValue:d=0 $file > $tempText
+grep -q "5 of 38 messages" $tempText
file=mixed.grib # Has 14 messages
${tools_dir}/grib_ls -w packingType=grid_simple,gridType=regular_ll/regular_gg $file > $tempText
diff --git a/tests/grib_multi.sh b/tests/grib_multi.sh
index f8e2d94d8..028591264 100755
--- a/tests/grib_multi.sh
+++ b/tests/grib_multi.sh
@@ -11,7 +11,7 @@
. ./include.ctest.sh
label="grib_multi_test"
-tmpdata=temp.$label.$$.grib
+tmpdata=temp.$label.grib
rm -f $tmpdata
parameterNumber=`${tools_dir}/grib_get -p parameterNumber -w parameterCategory=2,parameterNumber=3 ${data_dir}/multi.grib2`
@@ -35,4 +35,16 @@ if [ -z "$parameterNumber" ]; then
exit 1
fi
+# Convert to single-field
+# -----------------------
+infile=${data_dir}/multi.grib2
+${tools_dir}/grib_copy $infile $tmpdata
+c1=$(${tools_dir}/grib_count $infile)
+c2=$(${tools_dir}/grib_count $tmpdata)
+[ $c1 -eq 30 ]
+[ $c2 -eq 56 ]
+
+
+# Clean up
+rm -f $tmpdata
rm -f $tmpdata.1 $tmpdata.rules
diff --git a/tests/grib_sub_hourly.sh b/tests/grib_sub_hourly.sh
index fdd174c28..2f399da0f 100755
--- a/tests/grib_sub_hourly.sh
+++ b/tests/grib_sub_hourly.sh
@@ -13,6 +13,14 @@
# See JIRA issues ECC-1620, ECC-1238
# -----------------------------------
+label="grib_sub_hourly"
+temp=temp.1.$label
+temp2=temp.2.$label
+tempFilt=temp.$label.filt
+tempText=temp.$label.txt
+
+sample_g2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
+
grib_expect_failure()
{
a_file=$1
@@ -51,14 +59,6 @@ if (set -u; : ${ECCODES_GRIB_HOURLY_STEPS_WITH_UNITS?}) 2> /dev/null; then
fi
-label="grib_sub_hourly"
-temp=temp.1.$label
-temp2=temp.2.$label
-tempFilt=temp.$label.filt
-tempText=temp.$label.txt
-
-sample_g2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
-
instantaneous_field=$data_dir/reduced_gaussian_surface.grib2
accumulated_field=$data_dir/reduced_gaussian_sub_area.grib2
@@ -542,5 +542,30 @@ set -e
[ $status -ne 0 ]
grep -q "Invalid unit" $tempText
+
+# ECC-1800: Set stepUnits before paramIds, which cause changes in the PTDN
+${tools_dir}/grib_set -s stepUnits=m,productDefinitionTemplateNumber=40 $sample_g2 $temp
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '0 m 40'
+
+${tools_dir}/grib_set -s stepUnits=m,step=6,productDefinitionTemplateNumber=40 $sample_g2 $temp
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,forecastTime' '0 m 6'
+
+${tools_dir}/grib_set -s stepUnits=s,paramId=210203 $sample_g2 $temp # is_chemical
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '13 s 40'
+
+${tools_dir}/grib_set -s stepUnits=s,paramId=131060 $sample_g2 $temp # probability forecasts
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '13 s 9'
+
+${tools_dir}/grib_set -s stepUnits=s,paramId=210073 $sample_g2 $temp # is_aerosol
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '13 s 48'
+
+${tools_dir}/grib_set -s stepUnits=s,paramId=210170 $sample_g2 $temp # is_chemical_srcsink
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '13 s 76'
+
+# Add a case with filter too
+echo "set stepUnits='s'; set paramId=210203; write;" | ${tools_dir}/grib_filter -o $temp - $sample_g2
+grib_check_key_equals $temp '-p indicatorOfUnitOfTimeRange,stepUnits:s,productDefinitionTemplateNumber' '13 s 40'
+
+
# Clean up
rm -f $temp $temp2 $tempFilt $tempText
diff --git a/tools/codes_export_resource.cc b/tools/codes_export_resource.cc
index 61a8b7db6..98ba7712d 100644
--- a/tools/codes_export_resource.cc
+++ b/tools/codes_export_resource.cc
@@ -24,6 +24,7 @@ static void usage(const char* prog)
printf(" -d Extract a resource from the definitions directory\n");
printf("\n");
printf(" E.g., %s -s GRIB2.tmpl my.grib2\n", prog);
+ printf(" E.g., %s -d grib2/boot.def grib2_boot.txt\n", prog);
exit(1);
}
@@ -57,7 +58,7 @@ int main(int argc, char* argv[])
resource_name = "definition";
}
else {
- fprintf(stderr, "Invalid option: Specify either -s or -d\n");
+ fprintf(stderr, "Error: Invalid option: Specify either -s or -d\n");
return 1;
}
@@ -68,42 +69,49 @@ int main(int argc, char* argv[])
full_path = grib_context_full_defs_path(c, resource_path);
}
if (!full_path) {
- fprintf(stderr, "Failed to access %s: '%s'\n", resource_name, resource_path);
+ fprintf(stderr, "Error: Failed to access %s file: '%s'\n", resource_name, resource_path);
return 1;
}
fout = fopen(out_file, "wb");
if (!fout) {
- fprintf(stderr, "Failed to open output file '%s'\n", out_file);
+ fprintf(stderr, "Error: Failed to open output file '%s'\n", out_file);
perror(out_file);
return 1;
}
fin = codes_fopen(full_path, "r");
if (!fin) {
- fprintf(stderr, "Failed to open resource '%s'\n", full_path);
+ fprintf(stderr, "Error: Failed to open resource '%s'\n", full_path);
fclose(fout);
return 1;
}
+
/* write resource bytes to fout */
+ int read_count = 0;
while (0 < (bytes = fread(buffer, 1, sizeof(buffer), fin))) {
if (fwrite(buffer, 1, bytes, fout) != bytes) {
- fprintf(stderr, "Failed to write out bytes\n");
+ fprintf(stderr, "Error: Failed to write out bytes\n");
return 1;
}
+ ++read_count;
}
if (fclose(fin) != 0) {
- fprintf(stderr, "Call to fclose failed (input)\n");
+ fprintf(stderr, "Error: Call to fclose failed (input)\n");
return 1;
}
if (fclose(fout) != 0) {
- fprintf(stderr, "Call to fclose failed (output)\n");
+ fprintf(stderr, "Error: Call to fclose failed (output)\n");
return 1;
}
grib_context_free(c, full_path);
- printf("Resource exported to file '%s'.\n", out_file);
+ if (read_count == 0) {
+ fprintf(stderr, "Error: Number of bytes read == 0. Please check the path refers to a file.\n");
+ } else {
+ printf("Resource exported to file '%s'.\n", out_file);
+ }
return 0;
}
diff --git a/tools/grib_tools.cc b/tools/grib_tools.cc
index 13ce07eaa..976f712be 100644
--- a/tools/grib_tools.cc
+++ b/tools/grib_tools.cc
@@ -77,7 +77,6 @@ static grib_runtime_options global_options = {
0, /* grib_tools_file* infile */
0, /* grib_tools_file* outfile */
0, /* grib_action* action */
- 0, /* grib_rule* rules */
0, /* int dump_flags; */
0, /* char* dump_mode; */
0, /* repack */
@@ -1340,16 +1339,15 @@ void grib_print_file_statistics(grib_runtime_options* options, grib_tools_file*
file->name);
if (!failed)
return;
- /*
- fprintf(dump_file,"Following bad messages found in %s\n", file->name);
- fprintf(dump_file,"N Error\n");
- while (failed){
- fprintf(dump_file,"%-*d %s\n", 7,failed->count,
- grib_get_error_message(failed->error));
- failed=failed->next;
- }
- fprintf(dump_file,"\n");
- */
+
+ // fprintf(dump_file,"Following bad messages found in %s\n", file->name);
+ // fprintf(dump_file,"N Error\n");
+ // while (failed){
+ // fprintf(dump_file,"%-*d %s\n", 7,failed->count,
+ // grib_get_error_message(failed->error));
+ // failed=failed->next;
+ // }
+ // fprintf(dump_file,"\n");
}
void grib_print_full_statistics(grib_runtime_options* options)
@@ -1423,7 +1421,7 @@ void grib_tools_write_message(grib_runtime_options* options, grib_handle* h)
}
if (options->gts && h->gts_header) {
- char gts_trailer[4] = { '\x0D', '\x0D', '\x0A', '\x03' };
+ const char gts_trailer[4] = { '\x0D', '\x0D', '\x0A', '\x03' };
if (fwrite(gts_trailer, 1, 4, of->handle) != 4) {
grib_context_log(h->context, (GRIB_LOG_ERROR) | (GRIB_LOG_PERROR),
"Error writing GTS trailer to %s", filename);
diff --git a/tools/grib_tools.h b/tools/grib_tools.h
index 6f54074e1..700d91027 100644
--- a/tools/grib_tools.h
+++ b/tools/grib_tools.h
@@ -137,7 +137,6 @@ typedef struct grib_runtime_options
grib_tools_file* infile;
grib_tools_file* outfile;
grib_action* action;
- grib_rule* rules;
int dump_flags;
char* dump_mode;
int repack;
diff --git a/tools/gts_compare.cc b/tools/gts_compare.cc
index fbfee8b00..1dc362059 100644
--- a/tools/gts_compare.cc
+++ b/tools/gts_compare.cc
@@ -183,7 +183,7 @@ int grib_tool_init(grib_runtime_options* options)
onlyListed = 1;
if (grib_options_on("a") && !grib_options_on("c:")) {
- printf("Error: -a option requires -c option. Please define a list of keys with the -c option.\n");
+ fprintf(stderr, "Error: -a option requires -c option. Please define a list of keys with the -c option.\n");
exit(1);
}
@@ -373,14 +373,11 @@ static void save_error(grib_context* c, const char* key)
static int compare_values(const grib_runtime_options* options, grib_handle* h1, grib_handle* h2, const char* name, int type)
{
- size_t len1 = 0;
- size_t len2 = 0;
- int err = 0;
- int err1;
- int err2;
+ size_t len1 = 0, len2 = 0;
+ int err = 0, err1 = 0, err2 = 0;
int type1, type2;
int countdiff;
- int isMissing1 = 0, isMissing2 = 0;
+ // int isMissing1 = 0, isMissing2 = 0;
char *sval1 = NULL, *sval2 = NULL;
long *lval1 = NULL, *lval2 = NULL;
@@ -442,30 +439,6 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
//isMissing1 = ((grib_is_missing(h1, name, &err1) == 1) && (err1 == 0)) ? 1 : 0;
//isMissing2 = ((grib_is_missing(h2, name, &err2) == 1) && (err2 == 0)) ? 1 : 0;
- if ((isMissing1 == 1) && (isMissing2 == 1)) {
- if (verbose)
- printf(" is set to missing in both fields\n");
- return GRIB_SUCCESS;
- }
-
- if (isMissing1 == 1) {
- if (verbose) printf(" is set to missing in 1st field\n");
- printInfo(h1);
- printf("%s is set to missing in 1st field but is not missing in 2nd field\n", name);
- err1 = GRIB_VALUE_MISMATCH;
- save_error(c, name);
- return GRIB_VALUE_MISMATCH;
- }
-
- if (isMissing2 == 1) {
- if (verbose) printf(" is set to missing in 1st field\n");
- printInfo(h1);
- printf("%s is set to missing in 2nd field but is not missing in 1st field\n", name);
- err1 = GRIB_VALUE_MISMATCH;
- save_error(c, name);
- return GRIB_VALUE_MISMATCH;
- }
-
switch (type1) {
case GRIB_TYPE_STRING:
if (verbose) printf(" as string\n");
@@ -571,7 +544,6 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
case GRIB_TYPE_BYTES:
// We do not want to compare the message itself
return 0;
- break;
case GRIB_TYPE_LABEL:
break;
@@ -580,9 +552,8 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
if (verbose) printf("\n");
printInfo(h1);
save_error(c, name);
- printf("Cannot compare [%s], unsupported type %d\n", name, type1);
+ fprintf(stderr, "Cannot compare [%s], unsupported type %d\n", name, type1);
return GRIB_UNABLE_TO_COMPARE_ACCESSORS;
- break;
}
return GRIB_SUCCESS;
diff --git a/tools/metar_compare.cc b/tools/metar_compare.cc
index 53fa0a5be..a86cafd0d 100644
--- a/tools/metar_compare.cc
+++ b/tools/metar_compare.cc
@@ -16,8 +16,6 @@ grib_option grib_options[] = {
{ "d", 0, "Write different messages on files\n", 0, 1, 0 },
{ "T:", 0, 0, 1, 0, "M" }, /* METAR */
{ "c:", 0, 0, 0, 1, 0 },
- { "S:", "start", "First field to be processed.\n", 0, 1, 0 },
- { "E:", "end", "Last field to be processed.\n", 0, 1, 0 },
{ "a", 0, "-c option modifier. The keys listed with the option -c will be added to the list of keys compared without -c.\n", 0, 1, 0 },
{ "R:", 0, 0, 0, 1, 0 },
{ "A:", 0, 0, 0, 1, 0 },
@@ -84,8 +82,6 @@ static int verbose = 0;
static double tolerance_factor = 1;
static int write_error = 0;
static grib_handle* global_handle = NULL;
-static int start = -1;
-static int end = -1;
static int write_count = 0;
GRIB_INLINE static double compare_double_absolute(const double* a, const double* b, const double* err)
@@ -191,11 +187,6 @@ int grib_tool_init(grib_runtime_options* options)
grib_context* context = grib_context_get_default();
options->strict = 1;
- if (grib_options_on("S:"))
- start = atoi(grib_options_get_option("S:"));
-
- if (grib_options_on("E:"))
- end = atoi(grib_options_get_option("E:"));
if (grib_options_on("f"))
force = 1;
@@ -435,19 +426,17 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
{
size_t len1 = 0;
size_t len2 = 0;
- int err = 0, i = 0;
- int err1;
- int err2;
+ int err = 0, i = 0, err1 = 0, err2 = 0;
int type1, type2;
int countdiff;
- int isMissing1 = 0, isMissing2 = 0;
+ //int isMissing1 = 0, isMissing2 = 0;
char *sval1 = NULL, *sval2 = NULL;
double *dval1 = NULL, *dval2 = NULL;
long *lval1 = NULL, *lval2 = NULL;
- double maxdiff = 0;
+ double maxdiff = 0;
double value_tolerance = 0;
- grib_context* c = h1->context;
+ grib_context* c = h1->context;
type1 = type;
type2 = type;
@@ -507,32 +496,6 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
// isMissing1 = ((grib_is_missing(h1, name, &err1) == 1) && (err1 == 0)) ? 1 : 0;
// isMissing2 = ((grib_is_missing(h2, name, &err2) == 1) && (err2 == 0)) ? 1 : 0;
- if ((isMissing1 == 1) && (isMissing2 == 1)) {
- if (verbose)
- printf(" is set to missing in both fields\n");
- return GRIB_SUCCESS;
- }
-
- if (isMissing1 == 1) {
- if (verbose)
- printf(" is set to missing in 1st field\n");
- printInfo(h1);
- printf("%s is set to missing in 1st field but is not missing in 2nd field\n", name);
- err1 = GRIB_VALUE_MISMATCH;
- save_error(c, name);
- return GRIB_VALUE_MISMATCH;
- }
-
- if (isMissing2 == 1) {
- if (verbose)
- printf(" is set to missing in 1st field\n");
- printInfo(h1);
- printf("%s is set to missing in 2nd field but is not missing in 1st field\n", name);
- err1 = GRIB_VALUE_MISMATCH;
- save_error(c, name);
- return GRIB_VALUE_MISMATCH;
- }
-
switch (type1) {
case GRIB_TYPE_STRING:
if (verbose)
@@ -734,7 +697,6 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
case GRIB_TYPE_BYTES:
return 0; // No such type for METAR
- break;
case GRIB_TYPE_LABEL:
break;
@@ -744,9 +706,8 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
printf("\n");
printInfo(h1);
save_error(c, name);
- printf("Cannot compare [%s], unsupported type %d\n", name, type1);
+ fprintf(stderr, "Cannot compare [%s], unsupported type %d\n", name, type1);
return GRIB_UNABLE_TO_COMPARE_ACCESSORS;
- break;
}
return GRIB_SUCCESS;