mirror of https://github.com/ecmwf/eccodes.git
Merge branch 'develop' into feature/GRIB_lightweight_clone
This commit is contained in:
commit
9b68c6acc9
|
@ -9,6 +9,8 @@
|
|||
|
||||
constant ieeeFloats = 0 : hidden, edition_specific;
|
||||
transient eps=0;
|
||||
constant false=0 : hidden;
|
||||
constant true=1 : hidden;
|
||||
constant two=1 : hidden;
|
||||
constant three=1 : hidden;
|
||||
constant eight=8 : hidden;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# GRID DEFINITION spherical harmonic coefficients (including rotated, stretched, or stretched and rotated)
|
||||
constant isGridded = zero;
|
||||
constant isGridded = false;
|
||||
|
||||
# J - pentagonal resolution parameter
|
||||
unsigned[2] J : dump ;
|
||||
|
|
|
@ -8,5 +8,5 @@ meta geography.longitudeOfSouthernPoleInDegrees scale(longitudeOfSouthernPole ,o
|
|||
|
||||
ibmfloat geography.angleOfRotationInDegrees : dump;
|
||||
|
||||
alias angleOfRotation =angleOfRotationInDegrees;
|
||||
alias isRotatedGrid = one;
|
||||
alias angleOfRotation = angleOfRotationInDegrees;
|
||||
alias isRotatedGrid = true;
|
||||
|
|
|
@ -1054,12 +1054,12 @@
|
|||
table2Version = 128 ;
|
||||
indicatorOfParameter = 148 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
#Surface net radiation (SW and LW)
|
||||
'snr' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
#Top net radiation (SW and LW)
|
||||
'tnr' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 150 ;
|
||||
|
@ -15024,7 +15024,7 @@
|
|||
table2Version = 172 ;
|
||||
indicatorOfParameter = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'msnrf' = {
|
||||
table2Version = 172 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
|
|
|
@ -1054,13 +1054,13 @@
|
|||
table2Version = 128 ;
|
||||
indicatorOfParameter = 148 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'Surface net radiation' = {
|
||||
#Surface net radiation (SW and LW)
|
||||
'Surface net radiation (SW and LW)' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'Top net radiation' = {
|
||||
#Top net radiation (SW and LW)
|
||||
'Top net radiation (SW and LW)' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 150 ;
|
||||
}
|
||||
|
@ -15024,8 +15024,8 @@
|
|||
table2Version = 172 ;
|
||||
indicatorOfParameter = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'Mean surface net radiation flux' = {
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'Time-mean surface net radiation flux (SW and LW)' = {
|
||||
table2Version = 172 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
|
|
|
@ -1054,12 +1054,12 @@
|
|||
table2Version = 128 ;
|
||||
indicatorOfParameter = 148 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
#Surface net radiation (SW and LW)
|
||||
'149' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
#Top net radiation (SW and LW)
|
||||
'150' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 150 ;
|
||||
|
@ -15024,7 +15024,7 @@
|
|||
table2Version = 172 ;
|
||||
indicatorOfParameter = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'172149' = {
|
||||
table2Version = 172 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
|
|
|
@ -1054,12 +1054,12 @@
|
|||
table2Version = 128 ;
|
||||
indicatorOfParameter = 148 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
#Surface net radiation (SW and LW)
|
||||
'snr' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
#Top net radiation (SW and LW)
|
||||
'tnr' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 150 ;
|
||||
|
@ -15024,7 +15024,7 @@
|
|||
table2Version = 172 ;
|
||||
indicatorOfParameter = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'msnrf' = {
|
||||
table2Version = 172 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
|
|
|
@ -665,7 +665,7 @@
|
|||
indicatorOfParameter = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'dimensionless' = {
|
||||
'Proportion' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 124 ;
|
||||
}
|
||||
|
@ -1054,12 +1054,12 @@
|
|||
table2Version = 128 ;
|
||||
indicatorOfParameter = 148 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
#Surface net radiation (SW and LW)
|
||||
'J m**-2' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
#Top net radiation (SW and LW)
|
||||
'J m**-2' = {
|
||||
table2Version = 128 ;
|
||||
indicatorOfParameter = 150 ;
|
||||
|
@ -15024,7 +15024,7 @@
|
|||
table2Version = 172 ;
|
||||
indicatorOfParameter = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'W m**-2' = {
|
||||
table2Version = 172 ;
|
||||
indicatorOfParameter = 149 ;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Scanning mode
|
||||
flags[1] scanningMode 'grib1/8.table' : edition_specific,no_copy;
|
||||
|
|
|
@ -25,7 +25,7 @@ codetable[1] dataRepresentationType 'grib1/6.table' = 0;
|
|||
meta gridDefinitionDescription codetable_title(dataRepresentationType);
|
||||
|
||||
# Grid definition (according to data representation type - octet 6 above)
|
||||
alias isRotatedGrid=zero;
|
||||
alias isRotatedGrid = false;
|
||||
|
||||
if (dataRepresentationType < 192) {
|
||||
template dataRepresentation "grib1/grid_definition_[dataRepresentationType:l].def";
|
||||
|
|
|
@ -13,6 +13,8 @@ constant tablesVersionLatestOfficial = 31 : edition_specific;
|
|||
# If this is different from the official version, then it is the pre-operational version
|
||||
constant tablesVersionLatest = 31 : edition_specific;
|
||||
|
||||
constant false = 0 : hidden;
|
||||
constant true = 1 : hidden;
|
||||
constant million = 1000000 : hidden;
|
||||
constant grib2divider = 1000000;
|
||||
alias extraDimensionPresent=zero;
|
||||
|
|
|
@ -299,6 +299,13 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 62 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Total column vertically-integrated water vapour
|
||||
'tcwv' = {
|
||||
discipline = 0 ;
|
||||
|
@ -320,6 +327,22 @@
|
|||
parameterCategory = 0 ;
|
||||
parameterNumber = 76 ;
|
||||
}
|
||||
#Surface net radiation (SW and LW)
|
||||
'snr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Top net radiation (SW and LW)
|
||||
'tnr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Boundary layer height
|
||||
'blh' = {
|
||||
discipline = 0 ;
|
||||
|
@ -3128,6 +3151,321 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Vertical divergence
|
||||
'vdiv' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 59 ;
|
||||
}
|
||||
#Drag thermal coefficient
|
||||
'dtc' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Drag evaporation coefficient
|
||||
'dec' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 61 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Pressure departure from hydrostatic state
|
||||
'pdhs' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 46 ;
|
||||
}
|
||||
#Surface net radiation flux (SW and LW)
|
||||
'snrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Top net radiation flux (SW and LW)
|
||||
'tnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
}
|
||||
#Time-mean top net radiation flux (SW and LW)
|
||||
'mtnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Global irradiance on tilted surfaces
|
||||
'gits' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
#Eady growth rate
|
||||
'eagr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 21 ;
|
||||
parameterNumber = 22 ;
|
||||
}
|
||||
#Tropical cyclones track density
|
||||
'tdtc' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 191 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Canopy air temperature
|
||||
'cant' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 63 ;
|
||||
}
|
||||
#Soil wetness index (total layer)
|
||||
'swit' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Soil wetness index (root zone)
|
||||
'swir' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 167 ;
|
||||
}
|
||||
#Soil wetness index (layer)
|
||||
'swil' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 151 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Distance downward from roof surface
|
||||
'ddrf' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 6 ;
|
||||
}
|
||||
#Distance inward from outer wall surface
|
||||
'diws' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 7 ;
|
||||
}
|
||||
#Distance downward from road surface
|
||||
'ddrd' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Renewable power capacity
|
||||
'rpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production rate
|
||||
'rppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production
|
||||
'rpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Wind power capacity
|
||||
'wpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 2 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production rate
|
||||
'wppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production
|
||||
'wpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power capacity
|
||||
'pvpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production rate
|
||||
'pvppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production
|
||||
'pvpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Graupel (snow pellets) precipitation
|
||||
'tgrp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 75 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-integrated total lightning flash density
|
||||
'litotint' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 17 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Maximum total column integrated graupel (snow pellets)
|
||||
'maxtcg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 74 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 2 ;
|
||||
}
|
||||
#Minimum visibility
|
||||
'minvis' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfStatisticalProcessing = 3 ;
|
||||
}
|
||||
#Geometric height of theta level above ground
|
||||
'hthg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 107 ;
|
||||
}
|
||||
#Pressure at cloud base
|
||||
'pcdb' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 2 ;
|
||||
}
|
||||
#Geometric height of adiabatic condensation level above ground
|
||||
'hacg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 5 ;
|
||||
}
|
||||
#Geometric height of free convection level above ground
|
||||
'hfcg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 14 ;
|
||||
}
|
||||
#Geometric height of neutral buoyancy level above ground
|
||||
'hnbg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 16 ;
|
||||
}
|
||||
#Geometric height of atmospheric isothermal level above ground
|
||||
'haig' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 20 ;
|
||||
}
|
||||
#Roof temperature
|
||||
'rflt' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Wall temperature
|
||||
'wlt' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 186 ;
|
||||
}
|
||||
#Road temperature
|
||||
'rdlt' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Snow depth water equivalent on roof
|
||||
'sdrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Snow depth water equivalent on road
|
||||
'sdrd' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Urban canyon temperature
|
||||
'uct' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Urban canyon specific humidity
|
||||
'ucq' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Burned area
|
||||
'fba' = {
|
||||
discipline = 2 ;
|
||||
|
@ -3170,6 +3508,60 @@
|
|||
parameterCategory = 4 ;
|
||||
parameterNumber = 25 ;
|
||||
}
|
||||
#Live leaf fuel load
|
||||
'llfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 27 ;
|
||||
}
|
||||
#Live wood fuel load
|
||||
'lwfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 28 ;
|
||||
}
|
||||
#Dead leaf fuel load
|
||||
'dlfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 29 ;
|
||||
}
|
||||
#Dead wood fuel load
|
||||
'dwfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Live fuel moisture content
|
||||
'lfmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 31 ;
|
||||
}
|
||||
#Fine dead leaf moisture content
|
||||
'fdlmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 32 ;
|
||||
}
|
||||
#Dense dead leaf moisture content
|
||||
'ddlmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 33 ;
|
||||
}
|
||||
#Fine dead wood moisture content
|
||||
'fdwmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 34 ;
|
||||
}
|
||||
#Dense dead wood moisture content
|
||||
'ddwmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 35 ;
|
||||
}
|
||||
#Time-integrated total column vertically-integrated eastward geopotential flux
|
||||
'tvige' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4161,6 +4553,14 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'tsnowp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 66 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total column integrated ozone
|
||||
'tcioz' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4797,6 +5197,20 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Saturation specific humidity with respect to water
|
||||
'sqw' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 168 ;
|
||||
}
|
||||
#Total column integrated saturation specific humidity with respect to water
|
||||
'tcsqw' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 169 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Universal thermal climate index
|
||||
'utci' = {
|
||||
discipline = 20 ;
|
||||
|
@ -5733,6 +6147,54 @@
|
|||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Sea surface salinity
|
||||
'sss' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 300 m
|
||||
'sc300v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 700 m
|
||||
'sc700v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Total column vertically integrated sea water practical salinity
|
||||
'scbtv' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Sea water practical salinity
|
||||
'so' = {
|
||||
discipline = 10 ;
|
||||
|
@ -6854,6 +7316,58 @@
|
|||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea surface salinity
|
||||
'avg_sss' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 300 m
|
||||
'avg_sc300v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 700 m
|
||||
'avg_sc700v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean total column vertically integrated sea water practical salinity
|
||||
'avg_scbtv' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea water practical salinity
|
||||
'avg_so' = {
|
||||
discipline = 10 ;
|
||||
|
@ -7943,6 +8457,14 @@
|
|||
parameterNumber = 40 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'msnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Surface runoff
|
||||
'sro' = {
|
||||
discipline = 2 ;
|
||||
|
@ -8708,12 +9230,6 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 49 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'tsnowp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 50 ;
|
||||
}
|
||||
#Total column water (Vertically integrated total water (vapour + cloud water/ice))
|
||||
'tcwat' = {
|
||||
discipline = 0 ;
|
||||
|
|
|
@ -548,12 +548,6 @@
|
|||
parameterCategory = 128 ;
|
||||
parameterNumber = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
#Vertically integrated total energy
|
||||
'vite' = {
|
||||
discipline = 192 ;
|
||||
|
@ -624,18 +618,6 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'snr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'tnr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Logarithm of surface pressure
|
||||
'lnsp' = {
|
||||
discipline = 0 ;
|
||||
|
@ -18871,12 +18853,6 @@
|
|||
parameterCategory = 172 ;
|
||||
parameterNumber = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'msnrf' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Mean short-wave heating rate
|
||||
'mswhr' = {
|
||||
discipline = 192 ;
|
||||
|
|
|
@ -1315,3 +1315,27 @@
|
|||
parameterCategory = 228 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'msnrf' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'snr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'tnr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
|
|
|
@ -548,12 +548,6 @@
|
|||
parameterCategory = 128 ;
|
||||
parameterNumber = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'Surface emissivity' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
#Vertically integrated total energy
|
||||
'Vertically integrated total energy' = {
|
||||
discipline = 192 ;
|
||||
|
@ -624,18 +618,6 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'Surface net radiation' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'Top net radiation' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Logarithm of surface pressure
|
||||
'Logarithm of surface pressure' = {
|
||||
discipline = 0 ;
|
||||
|
@ -18871,12 +18853,6 @@
|
|||
parameterCategory = 172 ;
|
||||
parameterNumber = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'Mean surface net radiation flux' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Mean short-wave heating rate
|
||||
'Mean short-wave heating rate' = {
|
||||
discipline = 192 ;
|
||||
|
|
|
@ -1315,3 +1315,27 @@
|
|||
parameterCategory = 228 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'Mean surface net radiation flux' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'Surface net radiation' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'Top net radiation' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'Surface emissivity' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
|
|
|
@ -548,12 +548,6 @@
|
|||
parameterCategory = 128 ;
|
||||
parameterNumber = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'124' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
#Vertically integrated total energy
|
||||
'125' = {
|
||||
discipline = 192 ;
|
||||
|
@ -624,18 +618,6 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'149' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'150' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Logarithm of surface pressure
|
||||
'152' = {
|
||||
discipline = 0 ;
|
||||
|
@ -18871,12 +18853,6 @@
|
|||
parameterCategory = 172 ;
|
||||
parameterNumber = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'172149' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Mean short-wave heating rate
|
||||
'172153' = {
|
||||
discipline = 192 ;
|
||||
|
|
|
@ -1315,3 +1315,27 @@
|
|||
parameterCategory = 228 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'172149' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'149' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'150' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'124' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
|
|
|
@ -548,12 +548,6 @@
|
|||
parameterCategory = 128 ;
|
||||
parameterNumber = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
#Vertically integrated total energy
|
||||
'vite' = {
|
||||
discipline = 192 ;
|
||||
|
@ -624,18 +618,6 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'snr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'tnr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Logarithm of surface pressure
|
||||
'lnsp' = {
|
||||
discipline = 0 ;
|
||||
|
@ -18871,12 +18853,6 @@
|
|||
parameterCategory = 172 ;
|
||||
parameterNumber = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'msnrf' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Mean short-wave heating rate
|
||||
'mswhr' = {
|
||||
discipline = 192 ;
|
||||
|
|
|
@ -1315,3 +1315,27 @@
|
|||
parameterCategory = 228 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'msnrf' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'snr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'tnr' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
|
|
|
@ -548,12 +548,6 @@
|
|||
parameterCategory = 128 ;
|
||||
parameterNumber = 123 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'dimensionless' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
#Vertically integrated total energy
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
|
@ -624,18 +618,6 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Logarithm of surface pressure
|
||||
'Numeric' = {
|
||||
discipline = 0 ;
|
||||
|
@ -18871,12 +18853,6 @@
|
|||
parameterCategory = 172 ;
|
||||
parameterNumber = 147 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'W m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Mean short-wave heating rate
|
||||
'K s**-1' = {
|
||||
discipline = 192 ;
|
||||
|
|
|
@ -1315,3 +1315,27 @@
|
|||
parameterCategory = 228 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Mean surface net radiation flux
|
||||
'W m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 172 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Surface net radiation
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 149 ;
|
||||
}
|
||||
#Top net radiation
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 150 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'dimensionless' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 124 ;
|
||||
}
|
||||
|
|
|
@ -66,3 +66,15 @@
|
|||
'sfc' = {typeOfFirstFixedSurface=177; typeOfSecondFixedSurface=255;}
|
||||
'o2d' = {typeOfFirstFixedSurface=188; typeOfSecondFixedSurface=189;}
|
||||
|
||||
'sfc' = {typeOfFirstFixedSurface=5; typeOfSecondFixedSurface=255;}
|
||||
'sfc' = {typeOfFirstFixedSurface=14; typeOfSecondFixedSurface=255;}
|
||||
'sfc' = {typeOfFirstFixedSurface=16; typeOfSecondFixedSurface=255;}
|
||||
'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=151;}
|
||||
'sfc' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=167;}
|
||||
'sol' = {typeOfFirstFixedSurface=185; typeOfSecondFixedSurface=255;}
|
||||
'sol' = {typeOfFirstFixedSurface=185; typeOfSecondFixedSurface=185;}
|
||||
'sol' = {typeOfFirstFixedSurface=186; typeOfSecondFixedSurface=255;}
|
||||
'sol' = {typeOfFirstFixedSurface=186; typeOfSecondFixedSurface=186;}
|
||||
'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=255;}
|
||||
'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=187;}
|
||||
'sfc' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=185;}
|
||||
|
|
|
@ -299,6 +299,13 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'Surface emissivity' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 62 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Total column vertically-integrated water vapour
|
||||
'Total column vertically-integrated water vapour' = {
|
||||
discipline = 0 ;
|
||||
|
@ -320,6 +327,22 @@
|
|||
parameterCategory = 0 ;
|
||||
parameterNumber = 76 ;
|
||||
}
|
||||
#Surface net radiation (SW and LW)
|
||||
'Surface net radiation (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Top net radiation (SW and LW)
|
||||
'Top net radiation (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Boundary layer height
|
||||
'Boundary layer height' = {
|
||||
discipline = 0 ;
|
||||
|
@ -3128,6 +3151,321 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Vertical divergence
|
||||
'Vertical divergence' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 59 ;
|
||||
}
|
||||
#Drag thermal coefficient
|
||||
'Drag thermal coefficient' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Drag evaporation coefficient
|
||||
'Drag evaporation coefficient' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 61 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Pressure departure from hydrostatic state
|
||||
'Pressure departure from hydrostatic state' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 46 ;
|
||||
}
|
||||
#Surface net radiation flux (SW and LW)
|
||||
'Surface net radiation flux (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Top net radiation flux (SW and LW)
|
||||
'Top net radiation flux (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
}
|
||||
#Time-mean top net radiation flux (SW and LW)
|
||||
'Time-mean top net radiation flux (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Global irradiance on tilted surfaces
|
||||
'Global irradiance on tilted surfaces' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
#Eady growth rate
|
||||
'Eady growth rate' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 21 ;
|
||||
parameterNumber = 22 ;
|
||||
}
|
||||
#Tropical cyclones track density
|
||||
'Tropical cyclones track density' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 191 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Canopy air temperature
|
||||
'Canopy air temperature' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 63 ;
|
||||
}
|
||||
#Soil wetness index (total layer)
|
||||
'Soil wetness index (total layer)' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Soil wetness index (root zone)
|
||||
'Soil wetness index (root zone)' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 167 ;
|
||||
}
|
||||
#Soil wetness index (layer)
|
||||
'Soil wetness index (layer)' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 151 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Distance downward from roof surface
|
||||
'Distance downward from roof surface' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 6 ;
|
||||
}
|
||||
#Distance inward from outer wall surface
|
||||
'Distance inward from outer wall surface' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 7 ;
|
||||
}
|
||||
#Distance downward from road surface
|
||||
'Distance downward from road surface' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Renewable power capacity
|
||||
'Renewable power capacity' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production rate
|
||||
'Renewable power production rate' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production
|
||||
'Renewable power production' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Wind power capacity
|
||||
'Wind power capacity' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 2 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production rate
|
||||
'Wind power production rate' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production
|
||||
'Wind power production' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power capacity
|
||||
'Solar photovoltaic (PV) power capacity' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production rate
|
||||
'Solar photovoltaic (PV) power production rate' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production
|
||||
'Solar photovoltaic (PV) power production' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Graupel (snow pellets) precipitation
|
||||
'Graupel (snow pellets) precipitation' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 75 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-integrated total lightning flash density
|
||||
'Time-integrated total lightning flash density' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 17 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Maximum total column integrated graupel (snow pellets)
|
||||
'Maximum total column integrated graupel (snow pellets)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 74 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 2 ;
|
||||
}
|
||||
#Minimum visibility
|
||||
'Minimum visibility' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfStatisticalProcessing = 3 ;
|
||||
}
|
||||
#Geometric height of theta level above ground
|
||||
'Geometric height of theta level above ground' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 107 ;
|
||||
}
|
||||
#Pressure at cloud base
|
||||
'Pressure at cloud base' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 2 ;
|
||||
}
|
||||
#Geometric height of adiabatic condensation level above ground
|
||||
'Geometric height of adiabatic condensation level above ground' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 5 ;
|
||||
}
|
||||
#Geometric height of free convection level above ground
|
||||
'Geometric height of free convection level above ground' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 14 ;
|
||||
}
|
||||
#Geometric height of neutral buoyancy level above ground
|
||||
'Geometric height of neutral buoyancy level above ground' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 16 ;
|
||||
}
|
||||
#Geometric height of atmospheric isothermal level above ground
|
||||
'Geometric height of atmospheric isothermal level above ground' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 20 ;
|
||||
}
|
||||
#Roof temperature
|
||||
'Roof temperature' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Wall temperature
|
||||
'Wall temperature' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 186 ;
|
||||
}
|
||||
#Road temperature
|
||||
'Road temperature' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Snow depth water equivalent on roof
|
||||
'Snow depth water equivalent on roof' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Snow depth water equivalent on road
|
||||
'Snow depth water equivalent on road' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Urban canyon temperature
|
||||
'Urban canyon temperature' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Urban canyon specific humidity
|
||||
'Urban canyon specific humidity' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Burned area
|
||||
'Burned area' = {
|
||||
discipline = 2 ;
|
||||
|
@ -3170,6 +3508,60 @@
|
|||
parameterCategory = 4 ;
|
||||
parameterNumber = 25 ;
|
||||
}
|
||||
#Live leaf fuel load
|
||||
'Live leaf fuel load' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 27 ;
|
||||
}
|
||||
#Live wood fuel load
|
||||
'Live wood fuel load ' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 28 ;
|
||||
}
|
||||
#Dead leaf fuel load
|
||||
'Dead leaf fuel load' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 29 ;
|
||||
}
|
||||
#Dead wood fuel load
|
||||
'Dead wood fuel load' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Live fuel moisture content
|
||||
'Live fuel moisture content' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 31 ;
|
||||
}
|
||||
#Fine dead leaf moisture content
|
||||
'Fine dead leaf moisture content' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 32 ;
|
||||
}
|
||||
#Dense dead leaf moisture content
|
||||
'Dense dead leaf moisture content' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 33 ;
|
||||
}
|
||||
#Fine dead wood moisture content
|
||||
'Fine dead wood moisture content' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 34 ;
|
||||
}
|
||||
#Dense dead wood moisture content
|
||||
'Dense dead wood moisture content' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 35 ;
|
||||
}
|
||||
#Time-integrated total column vertically-integrated eastward geopotential flux
|
||||
'Time-integrated total column vertically-integrated eastward geopotential flux' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4161,6 +4553,14 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'Total snow precipitation' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 66 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total column integrated ozone
|
||||
'Total column integrated ozone' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4797,6 +5197,20 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Saturation specific humidity with respect to water
|
||||
'Saturation specific humidity with respect to water' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 168 ;
|
||||
}
|
||||
#Total column integrated saturation specific humidity with respect to water
|
||||
'Total column integrated saturation specific humidity with respect to water' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 169 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Universal thermal climate index
|
||||
'Universal thermal climate index' = {
|
||||
discipline = 20 ;
|
||||
|
@ -5733,6 +6147,54 @@
|
|||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Sea surface salinity
|
||||
'Sea surface salinity' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 300 m
|
||||
'Vertically integrated sea water practical salinity in the upper 300 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 700 m
|
||||
'Vertically integrated sea water practical salinity in the upper 700 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Total column vertically integrated sea water practical salinity
|
||||
'Total column vertically integrated sea water practical salinity' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Sea water practical salinity
|
||||
'Sea water practical salinity' = {
|
||||
discipline = 10 ;
|
||||
|
@ -6854,6 +7316,58 @@
|
|||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea surface salinity
|
||||
'Time-mean sea surface salinity' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 300 m
|
||||
'Time-mean vertically integrated sea water practical salinity in the upper 300 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 700 m
|
||||
'Time-mean vertically integrated sea water practical salinity in the upper 700 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean total column vertically integrated sea water practical salinity
|
||||
'Time-mean total column vertically integrated sea water practical salinity' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea water practical salinity
|
||||
'Time-mean sea water practical salinity' = {
|
||||
discipline = 10 ;
|
||||
|
@ -7943,6 +8457,14 @@
|
|||
parameterNumber = 40 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'Time-mean surface net radiation flux (SW and LW)' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Surface runoff
|
||||
'Surface runoff' = {
|
||||
discipline = 2 ;
|
||||
|
@ -8708,12 +9230,6 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 49 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'Total snow precipitation' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 50 ;
|
||||
}
|
||||
#Total column water (Vertically integrated total water (vapour + cloud water/ice))
|
||||
'Total column water (Vertically integrated total water (vapour + cloud water/ice))' = {
|
||||
discipline = 0 ;
|
||||
|
|
|
@ -299,6 +299,13 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'124' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 62 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Total column vertically-integrated water vapour
|
||||
'137' = {
|
||||
discipline = 0 ;
|
||||
|
@ -320,6 +327,22 @@
|
|||
parameterCategory = 0 ;
|
||||
parameterNumber = 76 ;
|
||||
}
|
||||
#Surface net radiation (SW and LW)
|
||||
'149' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Top net radiation (SW and LW)
|
||||
'150' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Boundary layer height
|
||||
'159' = {
|
||||
discipline = 0 ;
|
||||
|
@ -3128,6 +3151,321 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Vertical divergence
|
||||
'231014' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 59 ;
|
||||
}
|
||||
#Drag thermal coefficient
|
||||
'231015' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Drag evaporation coefficient
|
||||
'231016' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 61 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Pressure departure from hydrostatic state
|
||||
'231017' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 46 ;
|
||||
}
|
||||
#Surface net radiation flux (SW and LW)
|
||||
'231018' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Top net radiation flux (SW and LW)
|
||||
'231019' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
}
|
||||
#Time-mean top net radiation flux (SW and LW)
|
||||
'231020' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Global irradiance on tilted surfaces
|
||||
'231021' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
#Eady growth rate
|
||||
'231022' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 21 ;
|
||||
parameterNumber = 22 ;
|
||||
}
|
||||
#Tropical cyclones track density
|
||||
'231023' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 191 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Canopy air temperature
|
||||
'231024' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 63 ;
|
||||
}
|
||||
#Soil wetness index (total layer)
|
||||
'231025' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Soil wetness index (root zone)
|
||||
'231026' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 167 ;
|
||||
}
|
||||
#Soil wetness index (layer)
|
||||
'231027' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 151 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Distance downward from roof surface
|
||||
'231028' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 6 ;
|
||||
}
|
||||
#Distance inward from outer wall surface
|
||||
'231029' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 7 ;
|
||||
}
|
||||
#Distance downward from road surface
|
||||
'231030' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Renewable power capacity
|
||||
'231031' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production rate
|
||||
'231032' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production
|
||||
'231033' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Wind power capacity
|
||||
'231034' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 2 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production rate
|
||||
'231035' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production
|
||||
'231036' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power capacity
|
||||
'231037' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production rate
|
||||
'231038' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production
|
||||
'231039' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Graupel (snow pellets) precipitation
|
||||
'231040' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 75 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-integrated total lightning flash density
|
||||
'231041' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 17 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Maximum total column integrated graupel (snow pellets)
|
||||
'231042' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 74 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 2 ;
|
||||
}
|
||||
#Minimum visibility
|
||||
'231043' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfStatisticalProcessing = 3 ;
|
||||
}
|
||||
#Geometric height of theta level above ground
|
||||
'231044' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 107 ;
|
||||
}
|
||||
#Pressure at cloud base
|
||||
'231045' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 2 ;
|
||||
}
|
||||
#Geometric height of adiabatic condensation level above ground
|
||||
'231046' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 5 ;
|
||||
}
|
||||
#Geometric height of free convection level above ground
|
||||
'231047' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 14 ;
|
||||
}
|
||||
#Geometric height of neutral buoyancy level above ground
|
||||
'231048' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 16 ;
|
||||
}
|
||||
#Geometric height of atmospheric isothermal level above ground
|
||||
'231049' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 20 ;
|
||||
}
|
||||
#Roof temperature
|
||||
'231050' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Wall temperature
|
||||
'231051' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 186 ;
|
||||
}
|
||||
#Road temperature
|
||||
'231052' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Snow depth water equivalent on roof
|
||||
'231053' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Snow depth water equivalent on road
|
||||
'231054' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Urban canyon temperature
|
||||
'231055' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Urban canyon specific humidity
|
||||
'231056' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Burned area
|
||||
'232000' = {
|
||||
discipline = 2 ;
|
||||
|
@ -3170,6 +3508,60 @@
|
|||
parameterCategory = 4 ;
|
||||
parameterNumber = 25 ;
|
||||
}
|
||||
#Live leaf fuel load
|
||||
'232007' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 27 ;
|
||||
}
|
||||
#Live wood fuel load
|
||||
'232008' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 28 ;
|
||||
}
|
||||
#Dead leaf fuel load
|
||||
'232009' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 29 ;
|
||||
}
|
||||
#Dead wood fuel load
|
||||
'232010' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Live fuel moisture content
|
||||
'232011' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 31 ;
|
||||
}
|
||||
#Fine dead leaf moisture content
|
||||
'232012' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 32 ;
|
||||
}
|
||||
#Dense dead leaf moisture content
|
||||
'232013' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 33 ;
|
||||
}
|
||||
#Fine dead wood moisture content
|
||||
'232014' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 34 ;
|
||||
}
|
||||
#Dense dead wood moisture content
|
||||
'232015' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 35 ;
|
||||
}
|
||||
#Time-integrated total column vertically-integrated eastward geopotential flux
|
||||
'233000' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4161,6 +4553,14 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'260046' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 66 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total column integrated ozone
|
||||
'260132' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4797,6 +5197,20 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Saturation specific humidity with respect to water
|
||||
'260656' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 168 ;
|
||||
}
|
||||
#Total column integrated saturation specific humidity with respect to water
|
||||
'260657' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 169 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Universal thermal climate index
|
||||
'261001' = {
|
||||
discipline = 20 ;
|
||||
|
@ -5733,6 +6147,54 @@
|
|||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Sea surface salinity
|
||||
'262145' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 300 m
|
||||
'262146' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 700 m
|
||||
'262147' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Total column vertically integrated sea water practical salinity
|
||||
'262148' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Sea water practical salinity
|
||||
'262500' = {
|
||||
discipline = 10 ;
|
||||
|
@ -6854,6 +7316,58 @@
|
|||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea surface salinity
|
||||
'263145' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 300 m
|
||||
'263146' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 700 m
|
||||
'263147' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean total column vertically integrated sea water practical salinity
|
||||
'263148' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea water practical salinity
|
||||
'263500' = {
|
||||
discipline = 10 ;
|
||||
|
@ -7943,6 +8457,14 @@
|
|||
parameterNumber = 40 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'172149' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Surface runoff
|
||||
'174008' = {
|
||||
discipline = 2 ;
|
||||
|
@ -8708,12 +9230,6 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 49 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'260046' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 50 ;
|
||||
}
|
||||
#Total column water (Vertically integrated total water (vapour + cloud water/ice))
|
||||
'260047' = {
|
||||
discipline = 0 ;
|
||||
|
|
|
@ -75,24 +75,69 @@ concept marsType(unknown) {
|
|||
}
|
||||
}
|
||||
|
||||
# get the values from the 1st most outer loop which matter
|
||||
meta outerLoopLengthOfTimeRange element(lengthOfTimeRange, 0);
|
||||
meta outerLoopTypeOfStatisticalProcessing element(typeOfStatisticalProcessing, 0);
|
||||
meta outerLoopTypeOfTimeIncrement element(typeOfTimeIncrement, 0);
|
||||
|
||||
# See GRIB-205 re no_copy
|
||||
# Cannot use typeOfProcessedData for stream. See GRIB-911
|
||||
concept marsStream(unknown) {
|
||||
|
||||
oper = {
|
||||
productDefinitionTemplateNumber = 8;
|
||||
}
|
||||
oper = {
|
||||
productDefinitionTemplateNumber = 0;
|
||||
}
|
||||
|
||||
oper = {
|
||||
productDefinitionTemplateNumber = 8;
|
||||
}
|
||||
enda = {
|
||||
productDefinitionTemplateNumber = 11;
|
||||
}
|
||||
enda = {
|
||||
productDefinitionTemplateNumber = 1;
|
||||
}
|
||||
} : no_copy;
|
||||
moda = {
|
||||
productDefinitionTemplateNumber = 8;
|
||||
outerLoopTypeOfTimeIncrement = 1;
|
||||
}
|
||||
# avgd, mind, maxd
|
||||
dame = {
|
||||
productDefinitionTemplateNumber = 8;
|
||||
outerLoopTypeOfTimeIncrement = 1;
|
||||
outerLoopLengthOfTimeRange = 21;
|
||||
}
|
||||
# accumd
|
||||
dame = {
|
||||
productDefinitionTemplateNumber = 8;
|
||||
outerLoopTypeOfTimeIncrement = 1;
|
||||
outerLoopLengthOfTimeRange = 24;
|
||||
}
|
||||
} : no_copy,read_only;
|
||||
|
||||
alias mars.stream = marsStream;
|
||||
alias mars.type = marsType;
|
||||
|
||||
if (marsStream is "moda") {
|
||||
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
|
||||
meta monthlyVerificationDate g1monthlydate(verificationDate) : no_copy;
|
||||
alias mars.date = monthlyVerificationDate;
|
||||
|
||||
unalias mars.time;
|
||||
unalias mars.step;
|
||||
}
|
||||
|
||||
if (marsStream is "dame") {
|
||||
if (!(outerLoopTypeOfStatisticalProcessing == 3 || outerLoopTypeOfStatisticalProcessing == 2)) {
|
||||
# not mind or maxd
|
||||
alias mars.date = validityDate;
|
||||
}
|
||||
|
||||
if (outerLoopLengthOfTimeRange == 24) {
|
||||
# accumd
|
||||
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
|
||||
alias mars.date = verificationDate;
|
||||
}
|
||||
|
||||
unalias mars.time;
|
||||
unalias mars.step;
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ meta is_aerosol_optical g2_aerosol(productDefinitionTemplateNumber, stepType, 1
|
|||
|
||||
transient setCalendarId = 0 ;
|
||||
transient deleteCalendarId = 0 ;
|
||||
alias calendarIdPresent = zero;
|
||||
alias calendarIdPresent = false;
|
||||
if ( ((section1Length > 21) or setCalendarId > 0) and deleteCalendarId == 0) {
|
||||
alias calendarIdPresent = present;
|
||||
codetable[2] calendarIdentificationTemplateNumber ('1.5.table',masterDir,localDir) : dump,string_type,no_fail;
|
||||
|
|
|
@ -14,7 +14,7 @@ transient addEmptySection2 = 0;
|
|||
|
||||
if ( addEmptySection2 == 0 ) {
|
||||
if ( grib2LocalSectionPresent==1 or ( section2Length>5 or new() ) ) {
|
||||
alias section2Used=one;
|
||||
alias section2Used=true;
|
||||
|
||||
if(productionStatusOfProcessedData == 8 || productionStatusOfProcessedData == 9) {
|
||||
# This for adding an expver other than prod/test to UERRA
|
||||
|
|
|
@ -33,7 +33,7 @@ if(numberOfOctectsForNumberOfPoints == 0){
|
|||
codetable[2] gridDefinitionTemplateNumber ('3.1.table',masterDir,localDir) =0 : dump,edition_specific;
|
||||
meta gridDefinitionDescription codetable_title(gridDefinitionTemplateNumber);
|
||||
|
||||
alias isRotatedGrid=zero;
|
||||
alias isRotatedGrid = false;
|
||||
|
||||
if (gridDefinitionTemplateNumber >= 32768) {
|
||||
template gridDefinitionSection "grib2/local/[centreForLocal]/template.3.[gridDefinitionTemplateNumber:l].def";
|
||||
|
|
|
@ -20,7 +20,7 @@ alias numberOfVerticalGridDescriptors=NV ;
|
|||
transient neitherPresent = 0;
|
||||
|
||||
if (centre==7 || centre==46) {
|
||||
alias disableGrib1LocalSection=one;
|
||||
alias disableGrib1LocalSection=true;
|
||||
}
|
||||
|
||||
concept datasetForLocal(unknown) {
|
||||
|
|
|
@ -299,6 +299,13 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'emis' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 62 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Total column vertically-integrated water vapour
|
||||
'tcwv' = {
|
||||
discipline = 0 ;
|
||||
|
@ -320,6 +327,22 @@
|
|||
parameterCategory = 0 ;
|
||||
parameterNumber = 76 ;
|
||||
}
|
||||
#Surface net radiation (SW and LW)
|
||||
'snr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Top net radiation (SW and LW)
|
||||
'tnr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Boundary layer height
|
||||
'blh' = {
|
||||
discipline = 0 ;
|
||||
|
@ -3128,6 +3151,321 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Vertical divergence
|
||||
'vdiv' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 59 ;
|
||||
}
|
||||
#Drag thermal coefficient
|
||||
'dtc' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Drag evaporation coefficient
|
||||
'dec' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 61 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Pressure departure from hydrostatic state
|
||||
'pdhs' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 46 ;
|
||||
}
|
||||
#Surface net radiation flux (SW and LW)
|
||||
'snrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Top net radiation flux (SW and LW)
|
||||
'tnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
}
|
||||
#Time-mean top net radiation flux (SW and LW)
|
||||
'mtnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Global irradiance on tilted surfaces
|
||||
'gits' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
#Eady growth rate
|
||||
'eagr' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 21 ;
|
||||
parameterNumber = 22 ;
|
||||
}
|
||||
#Tropical cyclones track density
|
||||
'tdtc' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 191 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Canopy air temperature
|
||||
'cant' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 63 ;
|
||||
}
|
||||
#Soil wetness index (total layer)
|
||||
'swit' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Soil wetness index (root zone)
|
||||
'swir' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 167 ;
|
||||
}
|
||||
#Soil wetness index (layer)
|
||||
'swil' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 151 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Distance downward from roof surface
|
||||
'ddrf' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 6 ;
|
||||
}
|
||||
#Distance inward from outer wall surface
|
||||
'diws' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 7 ;
|
||||
}
|
||||
#Distance downward from road surface
|
||||
'ddrd' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Renewable power capacity
|
||||
'rpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production rate
|
||||
'rppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production
|
||||
'rpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Wind power capacity
|
||||
'wpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 2 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production rate
|
||||
'wppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production
|
||||
'wpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power capacity
|
||||
'pvpc' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production rate
|
||||
'pvppr' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production
|
||||
'pvpp' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Graupel (snow pellets) precipitation
|
||||
'tgrp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 75 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-integrated total lightning flash density
|
||||
'litotint' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 17 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Maximum total column integrated graupel (snow pellets)
|
||||
'maxtcg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 74 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 2 ;
|
||||
}
|
||||
#Minimum visibility
|
||||
'minvis' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfStatisticalProcessing = 3 ;
|
||||
}
|
||||
#Geometric height of theta level above ground
|
||||
'hthg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 107 ;
|
||||
}
|
||||
#Pressure at cloud base
|
||||
'pcdb' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 2 ;
|
||||
}
|
||||
#Geometric height of adiabatic condensation level above ground
|
||||
'hacg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 5 ;
|
||||
}
|
||||
#Geometric height of free convection level above ground
|
||||
'hfcg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 14 ;
|
||||
}
|
||||
#Geometric height of neutral buoyancy level above ground
|
||||
'hnbg' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 16 ;
|
||||
}
|
||||
#Geometric height of atmospheric isothermal level above ground
|
||||
'haig' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 20 ;
|
||||
}
|
||||
#Roof temperature
|
||||
'rft' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Wall temperature
|
||||
'wlt' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 186 ;
|
||||
}
|
||||
#Road temperature
|
||||
'rdt' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Snow depth water equivalent on roof
|
||||
'sdrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Snow depth water equivalent on road
|
||||
'sdrd' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Urban canyon temperature
|
||||
'uct' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Urban canyon specific humidity
|
||||
'ucq' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Burned area
|
||||
'fba' = {
|
||||
discipline = 2 ;
|
||||
|
@ -3170,6 +3508,60 @@
|
|||
parameterCategory = 4 ;
|
||||
parameterNumber = 25 ;
|
||||
}
|
||||
#Live leaf fuel load
|
||||
'llfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 27 ;
|
||||
}
|
||||
#Live wood fuel load
|
||||
'lwfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 28 ;
|
||||
}
|
||||
#Dead leaf fuel load
|
||||
'dlfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 29 ;
|
||||
}
|
||||
#Dead wood fuel load
|
||||
'dwfl' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Live fuel moisture content
|
||||
'lfmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 31 ;
|
||||
}
|
||||
#Fine dead leaf moisture content
|
||||
'fdlmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 32 ;
|
||||
}
|
||||
#Dense dead leaf moisture content
|
||||
'ddlmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 33 ;
|
||||
}
|
||||
#Fine dead wood moisture content
|
||||
'fdwmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 34 ;
|
||||
}
|
||||
#Dense dead wood moisture content
|
||||
'ddwmc' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 35 ;
|
||||
}
|
||||
#Time-integrated total column vertically-integrated eastward geopotential flux
|
||||
'tvige' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4161,6 +4553,14 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'tsnowp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 66 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total column integrated ozone
|
||||
'tcioz' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4797,6 +5197,20 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Saturation specific humidity with respect to water
|
||||
'sqw' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 168 ;
|
||||
}
|
||||
#Total column integrated saturation specific humidity with respect to water
|
||||
'tcsqw' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 169 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Universal thermal climate index
|
||||
'utci' = {
|
||||
discipline = 20 ;
|
||||
|
@ -5733,6 +6147,54 @@
|
|||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Sea surface salinity
|
||||
'sss' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 300 m
|
||||
'sc300v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 700 m
|
||||
'sc700v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Total column vertically integrated sea water practical salinity
|
||||
'scbtv' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Sea water practical salinity
|
||||
'so' = {
|
||||
discipline = 10 ;
|
||||
|
@ -6854,6 +7316,58 @@
|
|||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea surface salinity
|
||||
'avg_sss' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 300 m
|
||||
'avg_sc300v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 700 m
|
||||
'avg_sc700v' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean total column vertically integrated sea water practical salinity
|
||||
'avg_scbtv' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea water practical salinity
|
||||
'avg_so' = {
|
||||
discipline = 10 ;
|
||||
|
@ -7943,6 +8457,14 @@
|
|||
parameterNumber = 40 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'msnrf' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Surface runoff
|
||||
'sro' = {
|
||||
discipline = 2 ;
|
||||
|
@ -8708,12 +9230,6 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 49 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'tsnowp' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 50 ;
|
||||
}
|
||||
#Total column water (Vertically integrated total water (vapour + cloud water/ice))
|
||||
'tcwat' = {
|
||||
discipline = 0 ;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.10, Mercator
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
unsigned[4] Ni : dump;
|
||||
alias numberOfPointsAlongAParallel = Ni;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
# TEMPLATE 3.100, Triangular grid based on an icosahedron (see Attachment I.2-GRIB-Att.)
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# n2 - exponent of 2 for the number of intervals on main triangle sides
|
||||
unsigned[1] n2 : dump ;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.1000, Cross-section grid, with points equally spaced on the horizontal
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Number of horizontal points
|
||||
unsigned[4] numberOfHorizontalPoints : dump ;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# TEMPLATE 3.101, General Unstructured Grid
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
codetable[1] shapeOfTheEarth ('3.2.table',masterDir,localDir) : dump;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.110, Equatorial azimuthal equidistant projection
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Nx - number of points along X-axis
|
||||
unsigned[4] numberOfPointsAlongXAxis : dump;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.1100, Hovmoller diagram grid with points equally spaced on the horizontal
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Number of horizontal points
|
||||
unsigned[5] numberOfHorizontalPoints : dump ;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.12, Transverse Mercator
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
unsigned[4] Ni : dump;
|
||||
alias numberOfPointsAlongAParallel = Ni;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# TEMPLATE 3.120, Azimuth-range projection
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Nb - number of data bins along radials (A data bin is a data point representing the volume centred on it)
|
||||
unsigned[4] numberOfDataBinsAlongRadials;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
# TEMPLATE 3.1200, Time section grid
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# NT - Number of time steps
|
||||
unsigned[4] numberOfTimeSteps : dump;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# TEMPLATE 3.130, Irregular Latitude/longitude grid
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Note: This template is deprecated.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.140, Lambert azimuthal equal area projection
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Nx - number of points along X-axis
|
||||
unsigned[4] numberOfPointsAlongXAxis : dump;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.20, Polar stereographic projection
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Nx - number of points along X-axis
|
||||
unsigned[4] Nx : dump;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.30, Lambert conformal
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
unsigned[4] Nx : dump;
|
||||
alias Ni = Nx;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.31, Albers equal area
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Nx - number of points along the X-axis
|
||||
unsigned[4] Nx : dump;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# TEMPLATE 3.90, Space view perspective or orthographic
|
||||
include "grib2/template.3.shape_of_the_earth.def";
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
unsigned[4] Nx : dump;
|
||||
alias Ni = Nx;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
label "BiFourier coefficients";
|
||||
constant biFourierCoefficients=1;
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
codetable[1] spectralType ('3.6.table',masterDir,localDir) = 2 : no_copy;
|
||||
alias spectralDataRepresentationType=spectralType;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
unsigned[4] Ni : can_be_missing,dump;
|
||||
alias numberOfPointsAlongAParallel=Ni;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# See https://healpix.jpl.nasa.gov/pdf/intro.pdf
|
||||
|
||||
constant isGridded = one;
|
||||
constant isGridded = true;
|
||||
|
||||
# Number of grid points along one side of one of the 12 base resolution pixels (>=1)
|
||||
# The number of data points should be = 12 * Nside * Nside
|
||||
|
|
|
@ -18,4 +18,4 @@ alias geography.angleOfRotationInDegrees=angleOfRotation;
|
|||
|
||||
alias angleOfRotationOfProjection=angleOfRotation;
|
||||
|
||||
alias isRotatedGrid=one;
|
||||
alias isRotatedGrid = true;
|
||||
|
|
|
@ -24,13 +24,13 @@ alias scaleFactorOfMinorAxisOfOblateSpheroidEarth=scaleFactorOfEarthMinorAxis ;
|
|||
unsigned[4] scaledValueOfEarthMinorAxis = missing(): can_be_missing, edition_specific;
|
||||
alias scaledValueOfMinorAxisOfOblateSpheroidEarth=scaledValueOfEarthMinorAxis;
|
||||
|
||||
alias earthIsOblate=one;
|
||||
alias earthIsOblate = true;
|
||||
|
||||
_if (shapeOfTheEarth == 0) {
|
||||
transient radius=6367470;
|
||||
alias radiusOfTheEarth=radius;
|
||||
alias radiusInMetres=radius;
|
||||
alias earthIsOblate=zero;
|
||||
alias earthIsOblate=false;
|
||||
}
|
||||
_if (shapeOfTheEarth == 1){
|
||||
meta radius from_scale_factor_scaled_value(
|
||||
|
@ -38,20 +38,20 @@ _if (shapeOfTheEarth == 1){
|
|||
scaledValueOfRadiusOfSphericalEarth);
|
||||
alias radiusOfTheEarth=radius;
|
||||
alias radiusInMetres=radius;
|
||||
alias earthIsOblate=zero;
|
||||
alias earthIsOblate=false;
|
||||
}
|
||||
_if (shapeOfTheEarth == 6){
|
||||
transient radius=6371229;
|
||||
alias radiusOfTheEarth=radius;
|
||||
alias radiusInMetres=radius;
|
||||
alias earthIsOblate=zero;
|
||||
alias earthIsOblate=false;
|
||||
}
|
||||
|
||||
_if (shapeOfTheEarth == 8){
|
||||
transient radius=6371200;
|
||||
alias radiusOfTheEarth=radius;
|
||||
alias radiusInMetres=radius;
|
||||
alias earthIsOblate=zero;
|
||||
alias earthIsOblate=false;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -26,4 +26,4 @@ alias spectralDataRepresentationType=spectralType;
|
|||
codetable[1] spectralMode ('3.7.table',masterDir,localDir) = 1 : no_copy;
|
||||
alias spectralDataRepresentationMode=spectralMode;
|
||||
|
||||
constant isGridded = zero;
|
||||
constant isGridded = false;
|
||||
|
|
|
@ -54,10 +54,10 @@ alias vertical.level=level;
|
|||
alias vertical.bottomLevel=bottomLevel;
|
||||
alias vertical.topLevel=topLevel;
|
||||
|
||||
alias extraDim=zero;
|
||||
alias extraDim=false;
|
||||
if (defined(extraDimensionPresent)) {
|
||||
if (extraDimensionPresent) {
|
||||
alias extraDim=one;
|
||||
alias extraDim=true;
|
||||
}
|
||||
}
|
||||
if (extraDim) {
|
||||
|
|
|
@ -18,15 +18,16 @@ unsigned[1] minuteOfEndOfOverallTimeInterval =0 : edition_specific;
|
|||
# Second of end of overall time interval
|
||||
unsigned[1] secondOfEndOfOverallTimeInterval =0 : edition_specific;
|
||||
|
||||
# n - number of time range specifications describing the time intervals used to calculate the statistically-processed field
|
||||
# Number of time range specifications describing the time intervals used to calculate the statistically-processed field
|
||||
unsigned[1] numberOfTimeRange = 1 : edition_specific;
|
||||
alias n = numberOfTimeRange;
|
||||
alias numberOfTimeRanges = numberOfTimeRange;
|
||||
|
||||
# Total number of data values missing in statistical process
|
||||
unsigned[4] numberOfMissingInStatisticalProcess = 0 : edition_specific;
|
||||
alias totalNumberOfDataValuesMissingInStatisticalProcess=numberOfMissingInStatisticalProcess;
|
||||
|
||||
statisticalProcessesList list(numberOfTimeRange)
|
||||
statisticalProcessesList list(numberOfTimeRanges)
|
||||
{
|
||||
# Statistical process used to calculate the processed field from the field at each time increment during the time range
|
||||
codetable[1] typeOfStatisticalProcessing ('4.10.table',masterDir,localDir) : edition_specific;
|
||||
|
@ -50,7 +51,7 @@ statisticalProcessesList list(numberOfTimeRange)
|
|||
}
|
||||
|
||||
# See GRIB-488. We only support maximum of 2 time ranges
|
||||
if (numberOfTimeRange == 1 || numberOfTimeRange == 2) {
|
||||
if (numberOfTimeRanges == 1 || numberOfTimeRanges == 2) {
|
||||
concept stepTypeInternal {
|
||||
"instant" = {typeOfStatisticalProcessing=255;}
|
||||
"avg" = {typeOfStatisticalProcessing=0;typeOfTimeIncrement=255;}
|
||||
|
@ -95,7 +96,7 @@ if (numberOfTimeRange == 1 || numberOfTimeRange == 2) {
|
|||
indicatorOfUnitForTimeRange,
|
||||
lengthOfTimeRange,
|
||||
typeOfTimeIncrement,
|
||||
numberOfTimeRange
|
||||
numberOfTimeRanges
|
||||
) : dump,no_copy;
|
||||
|
||||
meta stepRange g2step_range(startStep,endStep): dump;
|
||||
|
|
|
@ -20,7 +20,7 @@ alias NR = firstDimension;
|
|||
# NC - second dimension (columns)
|
||||
unsigned[2] secondDimension;
|
||||
|
||||
alias NC = secondDimension;
|
||||
alias NC = secondDimension;
|
||||
# First dimension coordinate value definition (Code Table 5.2)
|
||||
unsigned[1] firstDimensionCoordinateValueDefinition;
|
||||
|
||||
|
@ -41,7 +41,7 @@ unsigned[1] firstDimensionPhysicalSignificance ;
|
|||
# Second dimension physical significance (Code Table 5.3)
|
||||
unsigned[1] secondDimensionPhysicalSignificance ;
|
||||
|
||||
ieeefloat coefsFirst[NC1]; # TODO: find proper names
|
||||
ieeefloat coefsFirst[NC1]; # TODO: find proper names
|
||||
ieeefloat coefsSecond[NC2]; # TODO: find proper names
|
||||
|
||||
alias data.coefsFirst = coefsFirst;
|
||||
|
|
|
@ -20,7 +20,7 @@ unsigned[4] secondaryMissingValueSubstitute ;
|
|||
# NG - Number of groups of data values into which field is split
|
||||
unsigned[4] numberOfGroupsOfDataValues ;
|
||||
|
||||
alias NG = numberOfGroupsOfDataValues;
|
||||
alias NG = numberOfGroupsOfDataValues;
|
||||
# Reference for group widths
|
||||
unsigned[1] referenceForGroupWidths ;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ unsigned[4] secondaryMissingValueSubstitute ;
|
|||
# NG - Number of groups of data values into which field is split
|
||||
unsigned[4] numberOfGroupsOfDataValues ;
|
||||
|
||||
alias NG = numberOfGroupsOfDataValues;
|
||||
alias NG = numberOfGroupsOfDataValues;
|
||||
# Reference for group widths
|
||||
unsigned[1] referenceForGroupWidths ;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ transient decimalScaleFactor=0 : hidden;
|
|||
alias numberOfBits = bitsPerValue;
|
||||
alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
||||
|
||||
codetable[1] precision ('5.7.table',masterDir,localDir) = 1 : edition_specific;
|
||||
codetable[1] precision ('5.7.table',masterDir,localDir) = 1 : edition_specific;
|
||||
concept accuracy(zero) {
|
||||
32 = { precision = 1; }
|
||||
64 = { precision = 2; }
|
||||
|
|
|
@ -8,12 +8,12 @@ include "grib2/template.5.original_values.def";
|
|||
unsigned[1] ccsdsFlags : dump;
|
||||
alias ccsdsCompressionOptionsMask=ccsdsFlags;
|
||||
|
||||
flagbit AEC_DATA_SIGNED_OPTION_MASK(ccsdsFlags,0) = 0;
|
||||
flagbit AEC_DATA_SIGNED_OPTION_MASK(ccsdsFlags,0) = 0;
|
||||
|
||||
# AEC_DATA_3BYTE_OPTION_MASK was switched on in order to allow data stored
|
||||
# with 17 <=bitsPerValue<= 24 to be stored in 3 rather than 4 bytes.
|
||||
# This eliminates discretization errors that were occurring when it was off.
|
||||
flagbit AEC_DATA_3BYTE_OPTION_MASK(ccsdsFlags,1) = 1;
|
||||
flagbit AEC_DATA_3BYTE_OPTION_MASK(ccsdsFlags,1) = 1;
|
||||
|
||||
flagbit AEC_DATA_MSB_OPTION_MASK(ccsdsFlags,2) = 1;
|
||||
flagbit AEC_DATA_PREPROCESS_OPTION_MASK(ccsdsFlags,3) = 1;
|
||||
|
|
|
@ -12,11 +12,11 @@ if (gribex_mode_on()) {
|
|||
|
||||
meta _numberOfValues spectral_truncation(J,K,M,numberOfValues): read_only;
|
||||
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
signed[4] laplacianScalingFactor : edition_specific ;
|
||||
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
|
||||
transient JS= 20 ;
|
||||
transient KS=20 ;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
ieeefloat referenceValue : no_copy;
|
||||
ieeefloat referenceValue : no_copy;
|
||||
meta referenceValueError reference_value_error(referenceValue,ieee);
|
||||
|
||||
signed[2] binaryScaleFactor : no_copy;
|
||||
|
|
|
@ -7,26 +7,26 @@ include "grib2/template.5.packing.def";
|
|||
if (gribex_mode_on()) {
|
||||
transient computeLaplacianOperator=0 : hidden;
|
||||
} else {
|
||||
transient computeLaplacianOperator=1 : hidden;
|
||||
transient computeLaplacianOperator=1 : hidden;
|
||||
}
|
||||
|
||||
meta _numberOfValues spectral_truncation(J,K,M,numberOfValues): read_only;
|
||||
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
signed[4] laplacianScalingFactor : edition_specific ;
|
||||
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
|
||||
unsigned[2] JS ;
|
||||
unsigned[2] KS ;
|
||||
unsigned[2] MS ;
|
||||
unsigned[2] JS;
|
||||
unsigned[2] KS;
|
||||
unsigned[2] MS;
|
||||
|
||||
alias subSetJ=JS ;
|
||||
alias subSetK=KS ;
|
||||
alias subSetM=MS ;
|
||||
alias subSetJ=JS;
|
||||
alias subSetK=KS;
|
||||
alias subSetM=MS;
|
||||
|
||||
unsigned[4] TS ;
|
||||
unsigned[4] TS;
|
||||
|
||||
meta _TS spectral_truncation(JS,KS,MS,TS) : read_only,hidden;
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@ transient computeLaplacianOperator=1 : hidden;
|
|||
codetable[1] biFourierSubTruncationType ('5.25.table',masterDir,localDir) : dump;
|
||||
codetable[1] biFourierPackingModeForAxes ('5.26.table',masterDir,localDir) = 0 : dump;
|
||||
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
constant laplacianScalingFactorUnset = -2147483647;
|
||||
signed[4] laplacianScalingFactor : edition_specific ; # units of 10^-6
|
||||
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
meta data.laplacianOperator scale(laplacianScalingFactor,one,million,truncateLaplacian) ;
|
||||
meta laplacianOperatorIsSet evaluate(laplacianScalingFactor != laplacianScalingFactorUnset && !computeLaplacianOperator);
|
||||
|
||||
unsigned[2] biFourierResolutionSubSetParameterN : dump ; # NS
|
||||
unsigned[2] biFourierResolutionSubSetParameterM : dump ; # MS
|
||||
unsigned[2] biFourierResolutionSubSetParameterN : dump; # NS
|
||||
unsigned[2] biFourierResolutionSubSetParameterM : dump; # MS
|
||||
unsigned[4] totalNumberOfValuesInUnpackedSubset = 0 : dump; # TS
|
||||
|
||||
# This is read_only until we support other values
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Reference value (R)
|
||||
# The copy_ok means that the value is copied when changing the representation
|
||||
# e.g. from jpeg to simple packing.
|
||||
ieeefloat referenceValue : read_only, copy_ok;
|
||||
ieeefloat referenceValue : read_only, copy_ok;
|
||||
meta referenceValueError reference_value_error(referenceValue,ieee);
|
||||
|
||||
# Binary scale factor (E)
|
||||
|
|
|
@ -9,7 +9,7 @@ unsigned[4] primaryMissingValue ;
|
|||
unsigned[4] secondaryMissingValue ;
|
||||
|
||||
unsigned[4] numberOfGroups ;
|
||||
alias NG = numberOfGroups;
|
||||
alias NG = numberOfGroups;
|
||||
|
||||
unsigned[1] referenceOfWidths ;
|
||||
unsigned[1] widthOfWidths ;
|
||||
|
|
|
@ -7,95 +7,93 @@ constant sphericalHarmonics = 1;
|
|||
constant complexPacking = 1;
|
||||
|
||||
meta codedValues data_g2complex_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
|
||||
J,
|
||||
J,
|
||||
J,
|
||||
J,
|
||||
J,
|
||||
J,
|
||||
numberOfValues
|
||||
): read_only;
|
||||
|
||||
numberOfValues
|
||||
): read_only;
|
||||
meta data.packedValues data_sh_packed(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
meta data.packedValues data_sh_packed(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
J,
|
||||
J,
|
||||
J
|
||||
) : read_only;
|
||||
|
||||
J,
|
||||
J,
|
||||
J
|
||||
) : read_only;
|
||||
meta data.unpackedValues data_sh_unpacked(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
meta data.unpackedValues data_sh_unpacked(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
|
||||
J,
|
||||
K,
|
||||
M
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
J,
|
||||
K,
|
||||
M
|
||||
) : read_only;
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
|
|
@ -7,105 +7,105 @@ constant sphericalHarmonics = 1;
|
|||
constant complexPacking = 1;
|
||||
|
||||
meta codedValues data_g2complex_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM,
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM,
|
||||
|
||||
numberOfValues
|
||||
): read_only;
|
||||
numberOfValues
|
||||
): read_only;
|
||||
|
||||
meta data.packedValues data_sh_packed(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
meta data.packedValues data_sh_packed(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM
|
||||
) : read_only;
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM
|
||||
) : read_only;
|
||||
|
||||
meta data.unpackedValues data_sh_unpacked(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
meta data.unpackedValues data_sh_unpacked(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
GRIBEXShBugPresent,
|
||||
unpackedSubsetPrecision,
|
||||
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
subSetJ,
|
||||
subSetK,
|
||||
subSetM,
|
||||
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM
|
||||
) : read_only;
|
||||
pentagonalResolutionParameterJ,
|
||||
pentagonalResolutionParameterK,
|
||||
pentagonalResolutionParameterM
|
||||
) : read_only;
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
|
||||
template statistics "common/statistics_spectral.def";
|
||||
|
|
|
@ -8,21 +8,21 @@
|
|||
# Octets 6-nn : Binary data values - binary string, with each (scaled)
|
||||
|
||||
meta codedValues data_g2simple_packing_with_preprocessing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
typeOfPreProcessing,
|
||||
preProcessingParameter
|
||||
): read_only;
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
typeOfPreProcessing,
|
||||
preProcessingParameter
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
|
|
|
@ -41,7 +41,6 @@ meta codedValues data_g2second_order_packing(
|
|||
widthOfSPD,
|
||||
orderOfSPD,
|
||||
numberOfPoints
|
||||
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
|
|
|
@ -87,3 +87,13 @@
|
|||
scaleFactorOfSecondFixedSurface=0; scaledValueOfSecondFixedSurface=0;}
|
||||
'waterSurfaceToIsothermalOceanLayer' = {typeOfFirstFixedSurface=160; typeOfSecondFixedSurface=20;
|
||||
scaledValueOfFirstFixedSurface=0; scaleFactorOfFirstFixedSurface=0;}
|
||||
|
||||
'totalSoilLayer' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=151;}
|
||||
'rootZone' = {typeOfFirstFixedSurface=1; typeOfSecondFixedSurface=167;}
|
||||
'roof' = {typeOfFirstFixedSurface=185; typeOfSecondFixedSurface=255;}
|
||||
'roofLayer' = {typeOfFirstFixedSurface=185; typeOfSecondFixedSurface=185;}
|
||||
'wall' = {typeOfFirstFixedSurface=186; typeOfSecondFixedSurface=255;}
|
||||
'wallLayer' = {typeOfFirstFixedSurface=186; typeOfSecondFixedSurface=186;}
|
||||
'road' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=255;}
|
||||
'roadLayer' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=187;}
|
||||
'urbanCanyon' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=185;}
|
||||
|
|
|
@ -299,6 +299,13 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Surface emissivity
|
||||
'Proportion' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 62 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Total column vertically-integrated water vapour
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
|
@ -320,6 +327,22 @@
|
|||
parameterCategory = 0 ;
|
||||
parameterNumber = 76 ;
|
||||
}
|
||||
#Surface net radiation (SW and LW)
|
||||
'J m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Top net radiation (SW and LW)
|
||||
'J m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Boundary layer height
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
|
@ -3128,6 +3151,321 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Vertical divergence
|
||||
's**-1' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 59 ;
|
||||
}
|
||||
#Drag thermal coefficient
|
||||
'Numeric' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Drag evaporation coefficient
|
||||
'Numeric' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 2 ;
|
||||
parameterNumber = 61 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Pressure departure from hydrostatic state
|
||||
'Pa' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 46 ;
|
||||
}
|
||||
#Surface net radiation flux (SW and LW)
|
||||
'W m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
}
|
||||
#Top net radiation flux (SW and LW)
|
||||
'W m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
}
|
||||
#Time-mean top net radiation flux (SW and LW)
|
||||
'W m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Global irradiance on tilted surfaces
|
||||
'W m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
#Eady growth rate
|
||||
'day**-1' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 21 ;
|
||||
parameterNumber = 22 ;
|
||||
}
|
||||
#Tropical cyclones track density
|
||||
'Numeric' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 191 ;
|
||||
parameterNumber = 4 ;
|
||||
}
|
||||
#Canopy air temperature
|
||||
'K' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 63 ;
|
||||
}
|
||||
#Soil wetness index (total layer)
|
||||
'Numeric' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Soil wetness index (root zone)
|
||||
'Numeric' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 167 ;
|
||||
}
|
||||
#Soil wetness index (layer)
|
||||
'Numeric' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 30 ;
|
||||
typeOfFirstFixedSurface = 151 ;
|
||||
typeOfSecondFixedSurface = 151 ;
|
||||
}
|
||||
#Distance downward from roof surface
|
||||
'm' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 6 ;
|
||||
}
|
||||
#Distance inward from outer wall surface
|
||||
'm' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 7 ;
|
||||
}
|
||||
#Distance downward from road surface
|
||||
'm' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 6 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Renewable power capacity
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production rate
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Renewable power production
|
||||
'W s' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 1 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Wind power capacity
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 2 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production rate
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Wind power production
|
||||
'W s' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 3 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power capacity
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production rate
|
||||
'W' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Solar photovoltaic (PV) power production
|
||||
'W s' = {
|
||||
discipline = 20 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 5 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Graupel (snow pellets) precipitation
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 75 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-integrated total lightning flash density
|
||||
'km**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 17 ;
|
||||
parameterNumber = 4 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Maximum total column integrated graupel (snow pellets)
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 74 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
typeOfStatisticalProcessing = 2 ;
|
||||
}
|
||||
#Minimum visibility
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfStatisticalProcessing = 3 ;
|
||||
}
|
||||
#Geometric height of theta level above ground
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 107 ;
|
||||
}
|
||||
#Pressure at cloud base
|
||||
'Pa' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 2 ;
|
||||
}
|
||||
#Geometric height of adiabatic condensation level above ground
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 5 ;
|
||||
}
|
||||
#Geometric height of free convection level above ground
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 14 ;
|
||||
}
|
||||
#Geometric height of neutral buoyancy level above ground
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 16 ;
|
||||
}
|
||||
#Geometric height of atmospheric isothermal level above ground
|
||||
'm' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 34 ;
|
||||
typeOfFirstFixedSurface = 20 ;
|
||||
}
|
||||
#Roof temperature
|
||||
'K' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Wall temperature
|
||||
'K' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 186 ;
|
||||
}
|
||||
#Road temperature
|
||||
'K' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Snow depth water equivalent on roof
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 185 ;
|
||||
}
|
||||
#Snow depth water equivalent on road
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 60 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
}
|
||||
#Urban canyon temperature
|
||||
'K' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 0 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Urban canyon specific humidity
|
||||
'kg kg**-1' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 0 ;
|
||||
typeOfFirstFixedSurface = 187 ;
|
||||
typeOfSecondFixedSurface = 185 ;
|
||||
}
|
||||
#Burned area
|
||||
'%' = {
|
||||
discipline = 2 ;
|
||||
|
@ -3170,6 +3508,60 @@
|
|||
parameterCategory = 4 ;
|
||||
parameterNumber = 25 ;
|
||||
}
|
||||
#Live leaf fuel load
|
||||
'kg m**-2' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 27 ;
|
||||
}
|
||||
#Live wood fuel load
|
||||
'kg m**-2' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 28 ;
|
||||
}
|
||||
#Dead leaf fuel load
|
||||
'kg m**-2' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 29 ;
|
||||
}
|
||||
#Dead wood fuel load
|
||||
'kg m**-2' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 30 ;
|
||||
}
|
||||
#Live fuel moisture content
|
||||
'kg kg**-1' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 31 ;
|
||||
}
|
||||
#Fine dead leaf moisture content
|
||||
'kg kg**-1' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 32 ;
|
||||
}
|
||||
#Dense dead leaf moisture content
|
||||
'kg kg**-1' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 33 ;
|
||||
}
|
||||
#Fine dead wood moisture content
|
||||
'kg kg**-1' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 34 ;
|
||||
}
|
||||
#Dense dead wood moisture content
|
||||
'kg kg**-1' = {
|
||||
discipline = 2 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 35 ;
|
||||
}
|
||||
#Time-integrated total column vertically-integrated eastward geopotential flux
|
||||
'J m**-1' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4161,6 +4553,14 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 66 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Total column integrated ozone
|
||||
'DU' = {
|
||||
discipline = 0 ;
|
||||
|
@ -4797,6 +5197,20 @@
|
|||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Saturation specific humidity with respect to water
|
||||
'kg m**-3' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 168 ;
|
||||
}
|
||||
#Total column integrated saturation specific humidity with respect to water
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 169 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfSecondFixedSurface = 8 ;
|
||||
}
|
||||
#Universal thermal climate index
|
||||
'K' = {
|
||||
discipline = 20 ;
|
||||
|
@ -5733,6 +6147,54 @@
|
|||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Sea surface salinity
|
||||
'kg kg**-1' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 300 m
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Vertically integrated sea water practical salinity in the upper 700 m
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
}
|
||||
#Total column vertically integrated sea water practical salinity
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
}
|
||||
#Sea water practical salinity
|
||||
'g kg**-1' = {
|
||||
discipline = 10 ;
|
||||
|
@ -6854,6 +7316,58 @@
|
|||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea surface salinity
|
||||
'kg kg**-1' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 3 ;
|
||||
parameterNumber = 21 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 255 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 300 m
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 300 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean vertically integrated sea water practical salinity in the upper 700 m
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 160 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = 700 ;
|
||||
scaleFactorOfSecondFixedSurface = 0 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean total column vertically integrated sea water practical salinity
|
||||
'g kg**-1 m' = {
|
||||
discipline = 10 ;
|
||||
parameterCategory = 4 ;
|
||||
parameterNumber = 50 ;
|
||||
typeOfFirstFixedSurface = 160 ;
|
||||
typeOfSecondFixedSurface = 9 ;
|
||||
scaledValueOfFirstFixedSurface = 0 ;
|
||||
scaleFactorOfFirstFixedSurface = 0 ;
|
||||
scaledValueOfSecondFixedSurface = missing() ;
|
||||
scaleFactorOfSecondFixedSurface = missing() ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Time-mean sea water practical salinity
|
||||
'g kg**-1' = {
|
||||
discipline = 10 ;
|
||||
|
@ -7943,6 +8457,14 @@
|
|||
parameterNumber = 40 ;
|
||||
typeOfStatisticalProcessing = 1 ;
|
||||
}
|
||||
#Time-mean surface net radiation flux (SW and LW)
|
||||
'W m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 19 ;
|
||||
parameterNumber = 46 ;
|
||||
typeOfFirstFixedSurface = 1 ;
|
||||
typeOfStatisticalProcessing = 0 ;
|
||||
}
|
||||
#Surface runoff
|
||||
'kg m**-2' = {
|
||||
discipline = 2 ;
|
||||
|
@ -8708,12 +9230,6 @@
|
|||
parameterCategory = 1 ;
|
||||
parameterNumber = 49 ;
|
||||
}
|
||||
#Total snow precipitation
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
parameterCategory = 1 ;
|
||||
parameterNumber = 50 ;
|
||||
}
|
||||
#Total column water (Vertically integrated total water (vapour + cloud water/ice))
|
||||
'kg m**-2' = {
|
||||
discipline = 0 ;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
alias mars.date = validityDate;
|
||||
meta padded_vtime sprintf("%.4d", validityTime): no_copy;
|
||||
alias mars.time = padded_vtime;
|
||||
alias mars.date = dataDate;
|
||||
alias mars.time = dataTime;
|
||||
unalias mars.step;
|
||||
unalias mars.domain;
|
||||
unalias mars.domain;
|
||||
|
|
|
@ -71,6 +71,7 @@
|
|||
1097 smma Seasonal monthly means anomalies
|
||||
1098 clte Climate run output
|
||||
1099 clmn Climate run monthly means output
|
||||
1100 dame Daily means
|
||||
1110 seap Sensitive area prediction
|
||||
1120 eefh Extended ensemble forecast hindcast
|
||||
1121 eehs Extended ensemble forecast hindcast statistics
|
||||
|
|
|
@ -59,6 +59,10 @@ int main(int argc, char** argv)
|
|||
CODES_CHECK(codes_set_missing(h, "scaleFactorOfFirstFixedSurface"), 0);
|
||||
CODES_CHECK(codes_set_missing(h, "scaledValueOfFirstFixedSurface"), 0);
|
||||
|
||||
/* Can also set to MISSING via codes_set_string */
|
||||
CODES_CHECK(codes_set_string(h, "scaleFactorOfFirstFixedSurface", "missing", &str_len), 0);
|
||||
CODES_CHECK(codes_set_string(h, "scaledValueOfFirstFixedSurface", "missing", &str_len), 0);
|
||||
|
||||
/* see GRIB-490 */
|
||||
CODES_CHECK(codes_get_long(h, "Ni", &Ni), 0);
|
||||
is_missing = codes_is_missing(h, "Ni", &err);
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -326,6 +326,10 @@ int codes_set_missing(grib_handle* h, const char* key)
|
|||
{
|
||||
return grib_set_missing(h, key);
|
||||
}
|
||||
int codes_get_offset(const codes_handle* h, const char* key, size_t* offset)
|
||||
{
|
||||
return grib_get_offset(h, key, offset);
|
||||
}
|
||||
int codes_get_size(const grib_handle* h, const char* key, size_t* size)
|
||||
{
|
||||
return grib_get_size(h, key, size);
|
||||
|
|
|
@ -725,7 +725,7 @@ int codes_grib_nearest_find_multiple(const codes_handle* h, int is_lsm,
|
|||
/*! \defgroup get_set Accessing header and data values */
|
||||
/*! @{ */
|
||||
/**
|
||||
* Get the number offset of a key, in a message if several keys of the same name
|
||||
* Get the byte offset of a key, if several keys of the same name
|
||||
* are present, the offset of the last one is returned
|
||||
*
|
||||
* @param h : the handle to get the offset from
|
||||
|
@ -738,7 +738,7 @@ int codes_get_offset(const codes_handle* h, const char* key, size_t* offset);
|
|||
/**
|
||||
* Get the number of coded value from a key, if several keys of the same name are present, the total sum is returned
|
||||
*
|
||||
* @param h : the handle to get the offset from
|
||||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param size : the address of a size_t where the size will be set
|
||||
* @return 0 if OK, integer value on error
|
||||
|
@ -748,7 +748,7 @@ int codes_get_size(const codes_handle* h, const char* key, size_t* size);
|
|||
/**
|
||||
* Get the length of the string representation of the key, if several keys of the same name are present, the maximum length is returned
|
||||
*
|
||||
* @param h : the handle to get the offset from
|
||||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param length : the address of a size_t where the length will be set
|
||||
* @return 0 if OK, integer value on error
|
||||
|
@ -810,7 +810,8 @@ int codes_get_float_elements(const codes_handle* h, const char* key, const int*
|
|||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param mesg : the address of a string where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the string on input, and that contains the actual length of the string on output
|
||||
* @param length : the address of a size_t that contains allocated length of the string on input,
|
||||
* and that contains the actual length of the string on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_get_string(const codes_handle* h, const char* key, char* mesg, size_t* length);
|
||||
|
@ -822,7 +823,8 @@ int codes_get_string(const codes_handle* h, const char* key, char* mesg, size_t*
|
|||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param vals : the address of a string array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the array on input, and that contains the actual length of the array on output
|
||||
* @param length : the address of a size_t that contains allocated length of the array on input,
|
||||
* and that contains the actual length of the array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_get_string_array(const codes_handle* h, const char* key, char** vals, size_t* length);
|
||||
|
@ -831,11 +833,12 @@ int codes_get_string_array(const codes_handle* h, const char* key, char** vals,
|
|||
* Get raw bytes values from a key. If several keys of the same name are present, the last one is returned
|
||||
* @see codes_set_bytes
|
||||
*
|
||||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param bytes : the address of a byte array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the byte array on input, and that contains the actual length of the byte array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param bytes : the address of a byte array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the byte array on input,
|
||||
* and that contains the actual length of the byte array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_get_bytes(const codes_handle* h, const char* key, unsigned char* bytes, size_t* length);
|
||||
|
||||
|
@ -846,7 +849,8 @@ int codes_get_bytes(const codes_handle* h, const char* key, unsigned char* bytes
|
|||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param vals : the address of a double array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the double array on input, and that contains the actual length of the double array on output
|
||||
* @param length : the address of a size_t that contains allocated length of the double array on input,
|
||||
* and that contains the actual length of the double array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_get_double_array(const codes_handle* h, const char* key, double* vals, size_t* length);
|
||||
|
@ -858,8 +862,9 @@ int codes_get_float_array(const codes_handle* h, const char* key, float* vals, s
|
|||
*
|
||||
* @param h : the handle to get the data from
|
||||
* @param key : the key to be searched
|
||||
* @param vals : the address of a long array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the long array on input, and that contains the actual length of the long array on output
|
||||
* @param vals : the address of a long array where the data will be retrieved
|
||||
* @param length : the address of a size_t that contains allocated length of the long array on input,
|
||||
* and that contains the actual length of the long array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_get_long_array(const codes_handle* h, const char* key, long* vals, size_t* length);
|
||||
|
@ -892,10 +897,10 @@ int codes_set_long(codes_handle* h, const char* key, long val);
|
|||
* Set a double value from a key. If several keys of the same name are present, the last one is set
|
||||
* @see codes_get_double
|
||||
*
|
||||
* @param h : the handle to set the data to
|
||||
* @param key : the key to be searched
|
||||
* @param h : the handle to set the data to
|
||||
* @param key : the key to be searched
|
||||
* @param val : a double where the data will be read
|
||||
* @return 0 if OK, integer value on error
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_set_double(codes_handle* h, const char* key, double val);
|
||||
|
||||
|
@ -903,11 +908,12 @@ int codes_set_double(codes_handle* h, const char* key, double val);
|
|||
* Set a string value from a key. If several keys of the same name are present, the last one is set
|
||||
* @see codes_get_string
|
||||
*
|
||||
* @param h : the handle to set the data to
|
||||
* @param key : the key to be searched
|
||||
* @param h : the handle to set the data to
|
||||
* @param key : the key to be searched
|
||||
* @param mesg : the address of a string where the data will be read
|
||||
* @param length : the address of a size_t that contains the length of the string on input, and that contains the actual packed length of the string on output
|
||||
* @return 0 if OK, integer value on error
|
||||
* @param length : the address of a size_t that contains the length of the string on input,
|
||||
* and that contains the actual packed length of the string on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_set_string(codes_handle* h, const char* key, const char* mesg, size_t* length);
|
||||
|
||||
|
@ -918,7 +924,8 @@ int codes_set_string(codes_handle* h, const char* key, const char* mesg, size_t*
|
|||
* @param h : the handle to set the data to
|
||||
* @param key : the key to be searched
|
||||
* @param bytes : the address of a byte array where the data will be read
|
||||
* @param length : the address of a size_t that contains the length of the byte array on input, and that contains the actual packed length of the byte array on output
|
||||
* @param length : the address of a size_t that contains the length of the byte array on input,
|
||||
* and that contains the actual packed length of the byte array on output
|
||||
* @return 0 if OK, integer value on error
|
||||
*/
|
||||
int codes_set_bytes(codes_handle* h, const char* key, const unsigned char* bytes, size_t* length);
|
||||
|
|
|
@ -2579,9 +2579,10 @@ static int create_keys(const grib_accessor* a, long onlySubset, long startSubset
|
|||
groupNumber++;
|
||||
incrementBitmapIndex = 0;
|
||||
if (bitmapIndex >= MAX_NUMBER_OF_BITMAPS) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "Bitmap error: bitmap index=%d, max num bitmaps=%d\n", bitmapIndex, MAX_NUMBER_OF_BITMAPS);
|
||||
err = GRIB_DECODING_ERROR;
|
||||
return err;
|
||||
//grib_context_log(c, GRIB_LOG_ERROR, "Bitmap error: bitmap index=%d, max num bitmaps=%d\n", bitmapIndex, MAX_NUMBER_OF_BITMAPS);
|
||||
//err = GRIB_DECODING_ERROR;
|
||||
//return err;
|
||||
bitmapIndex--;
|
||||
}
|
||||
bitmapStart[bitmapIndex] = grib_accessors_list_last(self->dataAccessors);
|
||||
bitmapSize[bitmapIndex] = 1;
|
||||
|
|
|
@ -207,7 +207,7 @@ static grib_trie* load_bufr_elements_table(grib_accessor* a, int* err)
|
|||
}
|
||||
|
||||
if (!filename) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "unable to find definition file %s", self->dictionary);
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "Unable to find definition file %s", self->dictionary);
|
||||
if (strlen(masterRecomposed) > 0) grib_context_log(c, GRIB_LOG_DEBUG,"master path=%s", masterRecomposed);
|
||||
if (strlen(localRecomposed) > 0) grib_context_log(c, GRIB_LOG_DEBUG, "local path=%s", localRecomposed);
|
||||
*err = GRIB_FILE_NOT_FOUND;
|
||||
|
|
|
@ -200,10 +200,15 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
|
|||
|
||||
if (grib_get_long(h, self->unusedBitsInBitmap, &unusedBitsInBitmap) != GRIB_SUCCESS) {
|
||||
if (grib_get_long(h, self->numberOfDataPoints, &numberOfDataPoints) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to count missing values");
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to count missing values");
|
||||
return GRIB_INTERNAL_ERROR;
|
||||
}
|
||||
unusedBitsInBitmap = size * 8 - numberOfDataPoints;
|
||||
if (unusedBitsInBitmap < 0) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Inconsistent number of bitmap points: Check the bitmap and data sections!");
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Bitmap size=%ld, numberOfDataPoints=%ld", size*8, numberOfDataPoints);
|
||||
return GRIB_DECODING_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
p = h->buffer->data + offset;
|
||||
|
|
|
@ -217,7 +217,7 @@ static int value_count(grib_accessor* a, long* numberOfPoints)
|
|||
*numberOfPoints = 0;
|
||||
|
||||
if ((err = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfPoints, numberOfPoints)) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to get count of %s (%s)", a->name, grib_get_error_message(err));
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to get count of %s (%s)", a->name, grib_get_error_message(err));
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
|
@ -256,7 +256,7 @@ static int pack_double(grib_accessor* a, const double* cval, size_t* len)
|
|||
return GRIB_SUCCESS;
|
||||
break;
|
||||
case GRIB_INVALID_BPV:
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to compute packing parameters. Invalid bits per value");
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to compute packing parameters. Invalid bits per value");
|
||||
return ret;
|
||||
case GRIB_SUCCESS:
|
||||
break;
|
||||
|
|
|
@ -640,7 +640,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
|
|||
if (max == min) {
|
||||
int large_constant_fields = 0;
|
||||
if (grib_get_nearest_smaller_value(gh, self->reference_value, val[0], &reference_value) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
return GRIB_INTERNAL_ERROR;
|
||||
}
|
||||
if ((err = grib_set_double_internal(gh, self->reference_value, reference_value)) != GRIB_SUCCESS)
|
||||
|
@ -722,7 +722,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
|
|||
return err;
|
||||
if (grib_get_nearest_smaller_value(gh, self->reference_value, min, &reference_value) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR,
|
||||
"unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
"Unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
return GRIB_INTERNAL_ERROR;
|
||||
}
|
||||
/* divisor=1; */
|
||||
|
@ -737,7 +737,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
|
|||
/* divisor=1; */
|
||||
if (grib_get_nearest_smaller_value(gh, self->reference_value, min, &reference_value) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR,
|
||||
"unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
"Unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
return GRIB_INTERNAL_ERROR;
|
||||
}
|
||||
}
|
||||
|
@ -776,7 +776,7 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
|
|||
|
||||
if (grib_get_nearest_smaller_value(gh, self->reference_value,
|
||||
min, &reference_value) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to find nearest_smaller_value of %g for %s", min, self->reference_value);
|
||||
return GRIB_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ static grib_trie* load_dictionary(grib_accessor* a, int* err)
|
|||
}
|
||||
|
||||
if (!filename) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "unable to find def file %s", self->dictionary);
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "Unable to find def file %s", self->dictionary);
|
||||
*err = GRIB_FILE_NOT_FOUND;
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -114,14 +114,26 @@ static void init(grib_accessor* a, const long l, grib_arguments* c)
|
|||
self->element = grib_arguments_get_long(hand, c, n++);
|
||||
}
|
||||
|
||||
static int check_element_index(const char* func, const char* array_name, long index, size_t size)
|
||||
{
|
||||
const grib_context* c = grib_context_get_default();
|
||||
if (index < 0 || index >= size) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "%s: Invalid element index %ld for array '%s'. Value must be between 0 and %zu",
|
||||
func, index, array_name, size - 1);
|
||||
return GRIB_INVALID_ARGUMENT;
|
||||
}
|
||||
return GRIB_SUCCESS;
|
||||
}
|
||||
|
||||
static int unpack_long(grib_accessor* a, long* val, size_t* len)
|
||||
{
|
||||
grib_accessor_element* self = (grib_accessor_element*)a;
|
||||
int ret = 0;
|
||||
size_t size = 0;
|
||||
long* ar = NULL;
|
||||
grib_context* c = a->context;
|
||||
const grib_context* c = a->context;
|
||||
grib_handle* hand = grib_handle_of_accessor(a);
|
||||
long index = self->element;
|
||||
|
||||
if (*len < 1) {
|
||||
ret = GRIB_ARRAY_TOO_SMALL;
|
||||
|
@ -140,14 +152,16 @@ static int unpack_long(grib_accessor* a, long* val, size_t* len)
|
|||
if ((ret = grib_get_long_array_internal(hand, self->array, ar, &size)) != GRIB_SUCCESS)
|
||||
return ret;
|
||||
|
||||
if (self->element < 0 || self->element >= size) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "Invalid element %ld for array '%s'. Value must be between 0 and %zu",
|
||||
self->element, self->array, size - 1);
|
||||
ret = GRIB_INVALID_ARGUMENT;
|
||||
// An index of -x means the xth item from the end of the list, so ar[-1] means the last item in ar
|
||||
if (index < 0) {
|
||||
index = size + index;
|
||||
}
|
||||
|
||||
if ((ret = check_element_index(__func__, self->array, index, size)) != GRIB_SUCCESS) {
|
||||
goto the_end;
|
||||
}
|
||||
|
||||
*val = ar[self->element];
|
||||
*val = ar[index];
|
||||
|
||||
the_end:
|
||||
grib_context_free(c, ar);
|
||||
|
@ -160,8 +174,9 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
|
|||
int ret = 0;
|
||||
size_t size = 0;
|
||||
long* ar = NULL;
|
||||
grib_context* c = a->context;
|
||||
const grib_context* c = a->context;
|
||||
grib_handle* hand = grib_handle_of_accessor(a);
|
||||
long index = self->element;
|
||||
|
||||
if (*len < 1) {
|
||||
ret = GRIB_ARRAY_TOO_SMALL;
|
||||
|
@ -180,11 +195,23 @@ static int pack_long(grib_accessor* a, const long* val, size_t* len)
|
|||
if ((ret = grib_get_long_array_internal(hand, self->array, ar, &size)) != GRIB_SUCCESS)
|
||||
return ret;
|
||||
|
||||
ar[self->element] = *val;
|
||||
// An index of -x means the xth item from the end of the list, so ar[-1] means the last item in ar
|
||||
if (index < 0) {
|
||||
index = size + index;
|
||||
}
|
||||
|
||||
if ((ret = check_element_index(__func__, self->array, index, size)) != GRIB_SUCCESS) {
|
||||
goto the_end;
|
||||
}
|
||||
|
||||
Assert(index >= 0);
|
||||
Assert(index < size);
|
||||
ar[index] = *val;
|
||||
|
||||
if ((ret = grib_set_long_array_internal(hand, self->array, ar, size)) != GRIB_SUCCESS)
|
||||
return ret;
|
||||
goto the_end;
|
||||
|
||||
the_end:
|
||||
grib_context_free(c, ar);
|
||||
return ret;
|
||||
}
|
||||
|
@ -195,8 +222,9 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
|
|||
int ret = 0;
|
||||
size_t size = 0;
|
||||
double* ar = NULL;
|
||||
grib_context* c = a->context;
|
||||
grib_handle* hand = grib_handle_of_accessor(a);
|
||||
const grib_context* c = a->context;
|
||||
const grib_handle* hand = grib_handle_of_accessor(a);
|
||||
long index = self->element;
|
||||
|
||||
if (*len < 1) {
|
||||
ret = GRIB_ARRAY_TOO_SMALL;
|
||||
|
@ -215,14 +243,16 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len)
|
|||
if ((ret = grib_get_double_array_internal(hand, self->array, ar, &size)) != GRIB_SUCCESS)
|
||||
return ret;
|
||||
|
||||
if (self->element < 0 || self->element >= size) {
|
||||
grib_context_log(c, GRIB_LOG_ERROR, "Invalid element %ld for array '%s'. Value must be between 0 and %zu",
|
||||
self->element, self->array, size - 1);
|
||||
ret = GRIB_INVALID_ARGUMENT;
|
||||
// An index of -x means the xth item from the end of the list, so ar[-1] means the last item in ar
|
||||
if (index < 0) {
|
||||
index = size + index;
|
||||
}
|
||||
|
||||
if ((ret = check_element_index(__func__, self->array, index, size)) != GRIB_SUCCESS) {
|
||||
goto the_end;
|
||||
}
|
||||
|
||||
*val = ar[self->element];
|
||||
*val = ar[index];
|
||||
|
||||
the_end:
|
||||
grib_context_free(c, ar);
|
||||
|
|
|
@ -424,7 +424,7 @@ static int pack_expression(grib_accessor* a, grib_expression* e)
|
|||
len = 1;
|
||||
ret = grib_expression_evaluate_double(hand, e, &dval);
|
||||
if (ret != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to set %s as double (from %s)",
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to set %s as double (from %s)",
|
||||
a->name, e->cclass->name);
|
||||
return ret;
|
||||
}
|
||||
|
@ -438,7 +438,7 @@ static int pack_expression(grib_accessor* a, grib_expression* e)
|
|||
len = sizeof(tmp);
|
||||
cval = grib_expression_evaluate_string(hand, e, tmp, &len, &ret);
|
||||
if (ret != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to set %s as string (from %s)",
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to set %s as string (from %s)",
|
||||
a->name, e->cclass->name);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -433,7 +433,7 @@ static int pack_expression(grib_accessor* a, grib_expression* e)
|
|||
len = 1;
|
||||
ret = grib_expression_evaluate_long(hand, e, &lval);
|
||||
if (ret != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to set %s as long", a->name);
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to set %s as long", a->name);
|
||||
return ret;
|
||||
}
|
||||
/*if (hand->context->debug)
|
||||
|
@ -454,7 +454,7 @@ static int pack_expression(grib_accessor* a, grib_expression* e)
|
|||
len = sizeof(tmp);
|
||||
cval = grib_expression_evaluate_string(hand, e, tmp, &len, &ret);
|
||||
if (ret != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to set %s as string", a->name);
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to set %s as string", a->name);
|
||||
return ret;
|
||||
}
|
||||
len = strlen(cval);
|
||||
|
|
|
@ -257,10 +257,10 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
|
|||
{
|
||||
long v = 0; /* The converted value */
|
||||
|
||||
// Requires more work e.g. filter
|
||||
//if (strcmp_nocase(val, "missing")==0) {
|
||||
// return pack_missing(a);
|
||||
//}
|
||||
// ECC-1722
|
||||
if (strcmp_nocase(val, "missing")==0) {
|
||||
return pack_missing(a);
|
||||
}
|
||||
|
||||
if (string_to_long(val, &v, 1) != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR,
|
||||
|
|
|
@ -124,7 +124,7 @@ static void init(grib_accessor* a, const long len, grib_arguments* arg)
|
|||
e = grib_arguments_get_expression(hand, arg, n++);
|
||||
err = grib_expression_evaluate_long(hand, e, &(self->relativeOffset));
|
||||
if (err)
|
||||
grib_context_log(hand->context, GRIB_LOG_ERROR, "unable to evaluate relativeOffset");
|
||||
grib_context_log(hand->context, GRIB_LOG_ERROR, "Unable to evaluate relativeOffset");
|
||||
|
||||
grib_get_long(hand, self->sectionLength, §ionLength);
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ static void init(grib_accessor* a, const long length, grib_arguments* args)
|
|||
len = sizeof(tmp);
|
||||
p = grib_expression_evaluate_string(hand, expression, tmp, &len, &ret);
|
||||
if (ret != GRIB_SUCCESS) {
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "unable to evaluate %s as string: %s",
|
||||
grib_context_log(a->context, GRIB_LOG_ERROR, "Unable to evaluate %s as string: %s",
|
||||
a->name, grib_get_error_message(ret));
|
||||
return;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue