mirror of https://github.com/ecmwf/eccodes.git
MTG2 branch with timeproc and adapted parameter definitions
This commit is contained in:
parent
97a01c3df0
commit
bd2ed4f450
|
@ -7,3 +7,4 @@ build:
|
||||||
parallel: 64
|
parallel: 64
|
||||||
cmake_options:
|
cmake_options:
|
||||||
- -DENABLE_EXTRA_TESTS=1
|
- -DENABLE_EXTRA_TESTS=1
|
||||||
|
- -DENABLE_ECCODES_OMP_THREADS=1
|
||||||
|
|
|
@ -50,9 +50,9 @@ check_symbol_exists( fdatasync "unistd.h" ECCODES_HAVE_FDATASYNC)
|
||||||
|
|
||||||
check_c_source_compiles(
|
check_c_source_compiles(
|
||||||
" typedef int foo_t;
|
" typedef int foo_t;
|
||||||
static inline foo_t static_foo(){return 0;}
|
static inline foo_t static_foo(void){return 0;}
|
||||||
foo_t foo(){return 0;}
|
foo_t foo(void){return 0;}
|
||||||
int main(int argc, char *argv[]){return 0;}
|
int main(int argc, char *argv[]){ return static_foo(); }
|
||||||
" ECCODES_HAVE_C_INLINE
|
" ECCODES_HAVE_C_INLINE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -254,16 +254,6 @@
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Maximum 10 metre wind gust since previous post-processing
|
|
||||||
'fg10' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 22 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
typeOfStatisticalProcessing = 2 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction
|
#Large-scale precipitation fraction
|
||||||
'lspf' = {
|
'lspf' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -444,11 +434,6 @@
|
||||||
#Total column water
|
#Total column water
|
||||||
'tcw' = {
|
'tcw' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfSecondFixedSurface = 8 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water vapour
|
#Total column vertically-integrated water vapour
|
||||||
'tcwv' = {
|
'tcwv' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -492,14 +477,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 76 ;
|
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)
|
#Top net radiation (SW and LW)
|
||||||
'tnr' = {
|
'tnr' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -508,13 +485,6 @@
|
||||||
typeOfFirstFixedSurface = 8 ;
|
typeOfFirstFixedSurface = 8 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Mean sea level pressure
|
|
||||||
'msl' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 0 ;
|
|
||||||
typeOfFirstFixedSurface = 101 ;
|
|
||||||
}
|
|
||||||
#Divergence
|
#Divergence
|
||||||
'd' = {
|
'd' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1259,15 +1229,9 @@
|
||||||
#Mean wave period of second swell partition
|
#Mean wave period of second swell partition
|
||||||
'mwp2' = {
|
'mwp2' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
}
|
|
||||||
#Significant wave height of third swell partition
|
#Significant wave height of third swell partition
|
||||||
'swh3' = {
|
'swh3' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Mean wave direction of third swell partition
|
#Mean wave direction of third swell partition
|
||||||
'mwd3' = {
|
'mwd3' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -1368,18 +1332,6 @@
|
||||||
parameterNumber = 15 ;
|
parameterNumber = 15 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean sea water temperature in the upper 300 m
|
|
||||||
'mswt300m' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 15 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 160 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = 300 ;
|
|
||||||
scaleFactorOfSecondFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water enthalpy
|
#Total column vertically-integrated water enthalpy
|
||||||
'viwe' = {
|
'viwe' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1481,14 +1433,6 @@
|
||||||
parameterNumber = 59 ;
|
parameterNumber = 59 ;
|
||||||
typeOfGeneratingProcess = 9 ;
|
typeOfGeneratingProcess = 9 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'aermr18' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Nitrate aerosol optical depth at 550 nm
|
#Nitrate aerosol optical depth at 550 nm
|
||||||
'niaod550' = {
|
'niaod550' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1574,15 +1518,6 @@
|
||||||
is_chemical_srcsink = 1 ;
|
is_chemical_srcsink = 1 ;
|
||||||
sourceSinkChemicalPhysicalProcess = 7 ;
|
sourceSinkChemicalPhysicalProcess = 7 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'aermr18diff' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
typeOfGeneratingProcess = 20 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Biogenic secondary organic aerosol mass mixing ratio increment
|
#Biogenic secondary organic aerosol mass mixing ratio increment
|
||||||
'aermr19diff' = {
|
'aermr19diff' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3366,15 +3301,6 @@
|
||||||
scaledValueOfFirstFixedSurface = 200 ;
|
scaledValueOfFirstFixedSurface = 200 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
#100 metre wind speed
|
|
||||||
'si100' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 1 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Urban cover
|
#Urban cover
|
||||||
'cur' = {
|
'cur' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -3438,9 +3364,6 @@
|
||||||
#C4 grass cover
|
#C4 grass cover
|
||||||
'c4gr' = {
|
'c4gr' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Accumulated freezing rain water equivalent
|
#Accumulated freezing rain water equivalent
|
||||||
'fzrawe' = {
|
'fzrawe' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3791,13 +3714,6 @@
|
||||||
parameterNumber = 34 ;
|
parameterNumber = 34 ;
|
||||||
typeOfFirstFixedSurface = 16 ;
|
typeOfFirstFixedSurface = 16 ;
|
||||||
}
|
}
|
||||||
#Geometric height of atmospheric isothermal level above ground
|
|
||||||
'haig' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 34 ;
|
|
||||||
typeOfFirstFixedSurface = 20 ;
|
|
||||||
}
|
|
||||||
#Roof temperature
|
#Roof temperature
|
||||||
'rft' = {
|
'rft' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -4660,14 +4576,6 @@
|
||||||
parameterNumber = 42 ;
|
parameterNumber = 42 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean top net short-wave radiation flux, clear sky
|
|
||||||
'mtnswrfcs' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 11 ;
|
|
||||||
typeOfFirstFixedSurface = 8 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Mean top net long-wave radiation flux, clear sky
|
#Mean top net long-wave radiation flux, clear sky
|
||||||
'mtnlwrfcs' = {
|
'mtnlwrfcs' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5932,9 +5840,6 @@
|
||||||
#Total water precipitation
|
#Total water precipitation
|
||||||
'twatp' = {
|
'twatp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Total snow precipitation
|
#Total snow precipitation
|
||||||
'tsnowp' = {
|
'tsnowp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5956,12 +5861,6 @@
|
||||||
parameterNumber = 52 ;
|
parameterNumber = 52 ;
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
}
|
}
|
||||||
#Total snowfall rate water equivalent
|
|
||||||
'tsrwe' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 53 ;
|
|
||||||
}
|
|
||||||
#Large scale precipitation rate
|
#Large scale precipitation rate
|
||||||
'lsprate' = {
|
'lsprate' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -6498,12 +6397,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 4 ;
|
parameterNumber = 4 ;
|
||||||
}
|
}
|
||||||
#Icing top
|
|
||||||
'icit' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 5 ;
|
|
||||||
}
|
|
||||||
#Icing base
|
#Icing base
|
||||||
'icib' = {
|
'icib' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -8687,15 +8580,6 @@
|
||||||
#Wind stress at sea surface
|
#Wind stress at sea surface
|
||||||
'wst_sea' = {
|
'wst_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
}
|
|
||||||
#Wind speed at 10m above sea surface
|
#Wind speed at 10m above sea surface
|
||||||
'ws10_sea' = {
|
'ws10_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9833,16 +9717,6 @@
|
||||||
#Time-mean wind stress at sea surface
|
#Time-mean wind stress at sea surface
|
||||||
'avg_wst_sea' = {
|
'avg_wst_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Time-mean wind speed at 10m above sea surface
|
#Time-mean wind speed at 10m above sea surface
|
||||||
'avg_10ws_sea' = {
|
'avg_10ws_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9947,45 +9821,6 @@
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
scaleFactorOfSecondFixedSurface = missing() ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Time-accumulated net short wave radiation at sea surface
|
|
||||||
'acc_ssr_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 9 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated total precipitation at sea surface
|
|
||||||
'tp_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 52 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated snow precipitation at sea surface
|
|
||||||
'sn_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 66 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Virtual temperature
|
#Virtual temperature
|
||||||
'vtmp' = {
|
'vtmp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -10871,15 +10706,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 39 ;
|
parameterNumber = 39 ;
|
||||||
}
|
}
|
||||||
#10 metre wind direction
|
|
||||||
'dwi' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 41 ;
|
|
||||||
typeOfFirstFixedSurface = 102 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#2D wave spectra (single)
|
#2D wave spectra (single)
|
||||||
'd2fd' = {
|
'd2fd' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -11096,14 +10922,6 @@
|
||||||
parameterNumber = 40 ;
|
parameterNumber = 40 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Time-mean surface net radiation flux (SW and LW)
|
|
||||||
'msnrf' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 46 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Surface runoff
|
#Surface runoff
|
||||||
'sro' = {
|
'sro' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -11421,3 +11239,76 @@
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
scaledValueOfFirstFixedSurface = 100 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
|
#Time-mean total lightning flash density
|
||||||
|
'avg_litoti' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 17 ;
|
||||||
|
parameterNumber = 4 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 0 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy
|
||||||
|
'max_cape' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 6 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 2 metre temperature
|
||||||
|
'max_2t' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 10 metre wind gust
|
||||||
|
'max_i10fg' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 2 ;
|
||||||
|
parameterNumber = 22 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 10 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy shear
|
||||||
|
'max_capes' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 19 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum total precipitation rate
|
||||||
|
'max_tprate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-minimum 2 metre temperature
|
||||||
|
'min_2t' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
#Time-minimum total precipitation rate
|
||||||
|
'min_tprate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
|
|
@ -917,12 +917,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 193 ;
|
parameterNumber = 193 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency
|
|
||||||
'aiw' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 128 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age
|
#Ice age
|
||||||
'ice' = {
|
'ice' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1175,12 +1169,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#10 metre wind gust difference
|
|
||||||
'fgdiff10' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction difference
|
#Large-scale precipitation fraction difference
|
||||||
'lspfdiff' = {
|
'lspfdiff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1715,12 +1703,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Surface net radiation difference
|
|
||||||
'snrdiff' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Top net radiation difference
|
#Top net radiation difference
|
||||||
'tnrdiff' = {
|
'tnrdiff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -2293,12 +2275,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency difference
|
|
||||||
'aiwdiff' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age difference
|
#Ice age difference
|
||||||
'icediff' = {
|
'icediff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -3332,12 +3308,6 @@
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'p49.212' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'p50.212' = {
|
'p50.212' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -3932,12 +3902,6 @@
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'p149.212' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'p150.212' = {
|
'p150.212' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4532,12 +4496,6 @@
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'p249.212' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'p250.212' = {
|
'p250.212' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4890,13 +4848,6 @@
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 213 ;
|
parameterCategory = 213 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
|
||||||
#Random pattern 49 for SPP scheme
|
|
||||||
'spp49' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 213 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Random pattern 50 for SPP scheme
|
#Random pattern 50 for SPP scheme
|
||||||
'spp50' = {
|
'spp50' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5617,12 +5568,6 @@
|
||||||
parameterCategory = 214 ;
|
parameterCategory = 214 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Clear-sky surface UV spectral flux (385-390 nm)
|
|
||||||
'uvsflxcs385390' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 214 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Clear-sky surface UV spectral flux (390-395 nm)
|
#Clear-sky surface UV spectral flux (390-395 nm)
|
||||||
'uvsflxcs390395' = {
|
'uvsflxcs390395' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5929,12 +5874,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Source/gain of hydrophobic organic matter aerosol
|
|
||||||
'aersrcomhphob' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Source/gain of hydrophilic organic matter aerosol
|
#Source/gain of hydrophilic organic matter aerosol
|
||||||
'aersrcomhphil' = {
|
'aersrcomhphil' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -6529,12 +6468,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Single scattering albedo at 1640 nm
|
|
||||||
'ssa1640' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Asymmetry factor at 340 nm
|
#Asymmetry factor at 340 nm
|
||||||
'asymmetry340' = {
|
'asymmetry340' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
|
|
@ -917,12 +917,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 193 ;
|
parameterNumber = 193 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency
|
|
||||||
'Accumulated ice water tendency' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 128 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age
|
#Ice age
|
||||||
'Ice age' = {
|
'Ice age' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1175,12 +1169,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#10 metre wind gust difference
|
|
||||||
'10 metre wind gust difference' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction difference
|
#Large-scale precipitation fraction difference
|
||||||
'Large-scale precipitation fraction difference' = {
|
'Large-scale precipitation fraction difference' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1715,12 +1703,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Surface net radiation difference
|
|
||||||
'Surface net radiation difference' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Top net radiation difference
|
#Top net radiation difference
|
||||||
'Top net radiation difference' = {
|
'Top net radiation difference' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -2293,12 +2275,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency difference
|
|
||||||
'Accumulated ice water tendency difference' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age difference
|
#Ice age difference
|
||||||
'Ice age difference' = {
|
'Ice age difference' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -3332,12 +3308,6 @@
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'Experimental product' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'Experimental product' = {
|
'Experimental product' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -3932,12 +3902,6 @@
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'Experimental product' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'Experimental product' = {
|
'Experimental product' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4532,12 +4496,6 @@
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'Experimental product' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'Experimental product' = {
|
'Experimental product' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4890,13 +4848,6 @@
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 213 ;
|
parameterCategory = 213 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
|
||||||
#Random pattern 49 for SPP scheme
|
|
||||||
'Random pattern 49 for SPP scheme' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 213 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Random pattern 50 for SPP scheme
|
#Random pattern 50 for SPP scheme
|
||||||
'Random pattern 50 for SPP scheme' = {
|
'Random pattern 50 for SPP scheme' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5617,12 +5568,6 @@
|
||||||
parameterCategory = 214 ;
|
parameterCategory = 214 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Clear-sky surface UV spectral flux (385-390 nm)
|
|
||||||
'Clear-sky surface UV spectral flux (385-390 nm)' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 214 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Clear-sky surface UV spectral flux (390-395 nm)
|
#Clear-sky surface UV spectral flux (390-395 nm)
|
||||||
'Clear-sky surface UV spectral flux (390-395 nm)' = {
|
'Clear-sky surface UV spectral flux (390-395 nm)' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5929,12 +5874,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Source/gain of hydrophobic organic matter aerosol
|
|
||||||
'Source/gain of hydrophobic organic matter aerosol' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Source/gain of hydrophilic organic matter aerosol
|
#Source/gain of hydrophilic organic matter aerosol
|
||||||
'Source/gain of hydrophilic organic matter aerosol' = {
|
'Source/gain of hydrophilic organic matter aerosol' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -6529,12 +6468,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Single scattering albedo at 1640 nm
|
|
||||||
'Single scattering albedo at 1640 nm' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Asymmetry factor at 340 nm
|
#Asymmetry factor at 340 nm
|
||||||
'Asymmetry factor at 340 nm' = {
|
'Asymmetry factor at 340 nm' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
|
|
@ -917,12 +917,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 193 ;
|
parameterNumber = 193 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency
|
|
||||||
'249' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 128 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age
|
#Ice age
|
||||||
'250' = {
|
'250' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1175,12 +1169,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#10 metre wind gust difference
|
|
||||||
'200049' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction difference
|
#Large-scale precipitation fraction difference
|
||||||
'200050' = {
|
'200050' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1715,12 +1703,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Surface net radiation difference
|
|
||||||
'200149' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Top net radiation difference
|
#Top net radiation difference
|
||||||
'200150' = {
|
'200150' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -2293,12 +2275,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency difference
|
|
||||||
'200249' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age difference
|
#Ice age difference
|
||||||
'200250' = {
|
'200250' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -3332,12 +3308,6 @@
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'212049' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'212050' = {
|
'212050' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -3932,12 +3902,6 @@
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'212149' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'212150' = {
|
'212150' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4532,12 +4496,6 @@
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'212249' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'212250' = {
|
'212250' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4890,13 +4848,6 @@
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 213 ;
|
parameterCategory = 213 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
|
||||||
#Random pattern 49 for SPP scheme
|
|
||||||
'213149' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 213 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Random pattern 50 for SPP scheme
|
#Random pattern 50 for SPP scheme
|
||||||
'213150' = {
|
'213150' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5617,12 +5568,6 @@
|
||||||
parameterCategory = 214 ;
|
parameterCategory = 214 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Clear-sky surface UV spectral flux (385-390 nm)
|
|
||||||
'214049' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 214 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Clear-sky surface UV spectral flux (390-395 nm)
|
#Clear-sky surface UV spectral flux (390-395 nm)
|
||||||
'214050' = {
|
'214050' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5929,12 +5874,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Source/gain of hydrophobic organic matter aerosol
|
|
||||||
'215049' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Source/gain of hydrophilic organic matter aerosol
|
#Source/gain of hydrophilic organic matter aerosol
|
||||||
'215050' = {
|
'215050' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -6529,12 +6468,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Single scattering albedo at 1640 nm
|
|
||||||
'215149' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Asymmetry factor at 340 nm
|
#Asymmetry factor at 340 nm
|
||||||
'215150' = {
|
'215150' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
|
|
@ -917,12 +917,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 193 ;
|
parameterNumber = 193 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency
|
|
||||||
'aiw' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 128 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age
|
#Ice age
|
||||||
'ice' = {
|
'ice' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1175,12 +1169,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#10 metre wind gust difference
|
|
||||||
'10fgdiff' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction difference
|
#Large-scale precipitation fraction difference
|
||||||
'lspfdiff' = {
|
'lspfdiff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1715,12 +1703,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Surface net radiation difference
|
|
||||||
'snrdiff' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Top net radiation difference
|
#Top net radiation difference
|
||||||
'tnrdiff' = {
|
'tnrdiff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -2293,12 +2275,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency difference
|
|
||||||
'aiwdiff' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age difference
|
#Ice age difference
|
||||||
'icediff' = {
|
'icediff' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -3332,12 +3308,6 @@
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -3932,12 +3902,6 @@
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4532,12 +4496,6 @@
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4890,13 +4848,6 @@
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 213 ;
|
parameterCategory = 213 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
|
||||||
#Random pattern 49 for SPP scheme
|
|
||||||
'spp49' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 213 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Random pattern 50 for SPP scheme
|
#Random pattern 50 for SPP scheme
|
||||||
'spp50' = {
|
'spp50' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5617,12 +5568,6 @@
|
||||||
parameterCategory = 214 ;
|
parameterCategory = 214 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Clear-sky surface UV spectral flux (385-390 nm)
|
|
||||||
'uvsflxcs385390' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 214 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Clear-sky surface UV spectral flux (390-395 nm)
|
#Clear-sky surface UV spectral flux (390-395 nm)
|
||||||
'uvsflxcs390395' = {
|
'uvsflxcs390395' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5929,12 +5874,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Source/gain of hydrophobic organic matter aerosol
|
|
||||||
'aersrcomhphob' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Source/gain of hydrophilic organic matter aerosol
|
#Source/gain of hydrophilic organic matter aerosol
|
||||||
'aersrcomhphil' = {
|
'aersrcomhphil' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -6529,12 +6468,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Single scattering albedo at 1640 nm
|
|
||||||
'ssa1640' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Asymmetry factor at 340 nm
|
#Asymmetry factor at 340 nm
|
||||||
'asymmetry340' = {
|
'asymmetry340' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
|
|
@ -917,12 +917,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 193 ;
|
parameterNumber = 193 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency
|
|
||||||
'(-1 to 1)' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 128 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age
|
#Ice age
|
||||||
'(0 - 1)' = {
|
'(0 - 1)' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1175,12 +1169,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#10 metre wind gust difference
|
|
||||||
'm s**-1' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction difference
|
#Large-scale precipitation fraction difference
|
||||||
's' = {
|
's' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -1715,12 +1703,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Surface net radiation difference
|
|
||||||
'J m**-2' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Top net radiation difference
|
#Top net radiation difference
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -2293,12 +2275,6 @@
|
||||||
parameterCategory = 200 ;
|
parameterCategory = 200 ;
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Accumulated ice water tendency difference
|
|
||||||
'(-1 to 1)' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 200 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Ice age difference
|
#Ice age difference
|
||||||
'(0 - 1)' = {
|
'(0 - 1)' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -3332,12 +3308,6 @@
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -3932,12 +3902,6 @@
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4532,12 +4496,6 @@
|
||||||
parameterNumber = 248 ;
|
parameterNumber = 248 ;
|
||||||
}
|
}
|
||||||
#Experimental product
|
#Experimental product
|
||||||
'~' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 212 ;
|
|
||||||
parameterNumber = 249 ;
|
|
||||||
}
|
|
||||||
#Experimental product
|
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 212 ;
|
parameterCategory = 212 ;
|
||||||
|
@ -4890,13 +4848,6 @@
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
parameterCategory = 213 ;
|
parameterCategory = 213 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
|
||||||
#Random pattern 49 for SPP scheme
|
|
||||||
'dimensionless' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 213 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Random pattern 50 for SPP scheme
|
#Random pattern 50 for SPP scheme
|
||||||
'dimensionless' = {
|
'dimensionless' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5617,12 +5568,6 @@
|
||||||
parameterCategory = 214 ;
|
parameterCategory = 214 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Clear-sky surface UV spectral flux (385-390 nm)
|
|
||||||
'W m**-2' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 214 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Clear-sky surface UV spectral flux (390-395 nm)
|
#Clear-sky surface UV spectral flux (390-395 nm)
|
||||||
'W m**-2' = {
|
'W m**-2' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -5929,12 +5874,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 48 ;
|
parameterNumber = 48 ;
|
||||||
}
|
}
|
||||||
#Source/gain of hydrophobic organic matter aerosol
|
|
||||||
'kg m**-2 s**-1' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Source/gain of hydrophilic organic matter aerosol
|
#Source/gain of hydrophilic organic matter aerosol
|
||||||
'kg m**-2 s**-1' = {
|
'kg m**-2 s**-1' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
@ -6529,12 +6468,6 @@
|
||||||
parameterCategory = 215 ;
|
parameterCategory = 215 ;
|
||||||
parameterNumber = 148 ;
|
parameterNumber = 148 ;
|
||||||
}
|
}
|
||||||
#Single scattering albedo at 1640 nm
|
|
||||||
'(0 - 1)' = {
|
|
||||||
discipline = 192 ;
|
|
||||||
parameterCategory = 215 ;
|
|
||||||
parameterNumber = 149 ;
|
|
||||||
}
|
|
||||||
#Asymmetry factor at 340 nm
|
#Asymmetry factor at 340 nm
|
||||||
'~' = {
|
'~' = {
|
||||||
discipline = 192 ;
|
discipline = 192 ;
|
||||||
|
|
|
@ -254,16 +254,6 @@
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Maximum 10 metre wind gust since previous post-processing
|
|
||||||
'Maximum 10 metre wind gust since previous post-processing' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 22 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
typeOfStatisticalProcessing = 2 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction
|
#Large-scale precipitation fraction
|
||||||
'Large-scale precipitation fraction' = {
|
'Large-scale precipitation fraction' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -444,11 +434,6 @@
|
||||||
#Total column water
|
#Total column water
|
||||||
'Total column water' = {
|
'Total column water' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfSecondFixedSurface = 8 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water vapour
|
#Total column vertically-integrated water vapour
|
||||||
'Total column vertically-integrated water vapour' = {
|
'Total column vertically-integrated water vapour' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -492,14 +477,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 76 ;
|
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)
|
||||||
'Top net radiation (SW and LW)' = {
|
'Top net radiation (SW and LW)' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -508,13 +485,6 @@
|
||||||
typeOfFirstFixedSurface = 8 ;
|
typeOfFirstFixedSurface = 8 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Mean sea level pressure
|
|
||||||
'Mean sea level pressure' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 0 ;
|
|
||||||
typeOfFirstFixedSurface = 101 ;
|
|
||||||
}
|
|
||||||
#Divergence
|
#Divergence
|
||||||
'Divergence' = {
|
'Divergence' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1259,15 +1229,9 @@
|
||||||
#Mean wave period of second swell partition
|
#Mean wave period of second swell partition
|
||||||
'Mean wave period of second swell partition' = {
|
'Mean wave period of second swell partition' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
}
|
|
||||||
#Significant wave height of third swell partition
|
#Significant wave height of third swell partition
|
||||||
'Significant wave height of third swell partition' = {
|
'Significant wave height of third swell partition' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Mean wave direction of third swell partition
|
#Mean wave direction of third swell partition
|
||||||
'Mean wave direction of third swell partition' = {
|
'Mean wave direction of third swell partition' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -1368,18 +1332,6 @@
|
||||||
parameterNumber = 15 ;
|
parameterNumber = 15 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean sea water temperature in the upper 300 m
|
|
||||||
'Mean sea water temperature in the upper 300 m' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 15 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 160 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = 300 ;
|
|
||||||
scaleFactorOfSecondFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water enthalpy
|
#Total column vertically-integrated water enthalpy
|
||||||
'Total column vertically-integrated water enthalpy' = {
|
'Total column vertically-integrated water enthalpy' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1481,14 +1433,6 @@
|
||||||
parameterNumber = 59 ;
|
parameterNumber = 59 ;
|
||||||
typeOfGeneratingProcess = 9 ;
|
typeOfGeneratingProcess = 9 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'Ammonium aerosol mass mixing ratio' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Nitrate aerosol optical depth at 550 nm
|
#Nitrate aerosol optical depth at 550 nm
|
||||||
'Nitrate aerosol optical depth at 550 nm' = {
|
'Nitrate aerosol optical depth at 550 nm' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1574,15 +1518,6 @@
|
||||||
is_chemical_srcsink = 1 ;
|
is_chemical_srcsink = 1 ;
|
||||||
sourceSinkChemicalPhysicalProcess = 7 ;
|
sourceSinkChemicalPhysicalProcess = 7 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'Ammonium aerosol mass mixing ratio' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
typeOfGeneratingProcess = 20 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Biogenic secondary organic aerosol mass mixing ratio increment
|
#Biogenic secondary organic aerosol mass mixing ratio increment
|
||||||
'Biogenic secondary organic aerosol mass mixing ratio increment' = {
|
'Biogenic secondary organic aerosol mass mixing ratio increment' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3366,15 +3301,6 @@
|
||||||
scaledValueOfFirstFixedSurface = 200 ;
|
scaledValueOfFirstFixedSurface = 200 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
#100 metre wind speed
|
|
||||||
'100 metre wind speed' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 1 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Urban cover
|
#Urban cover
|
||||||
'Urban cover' = {
|
'Urban cover' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -3438,9 +3364,6 @@
|
||||||
#C4 grass cover
|
#C4 grass cover
|
||||||
'C4 grass cover' = {
|
'C4 grass cover' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Accumulated freezing rain water equivalent
|
#Accumulated freezing rain water equivalent
|
||||||
'Accumulated freezing rain water equivalent' = {
|
'Accumulated freezing rain water equivalent' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3791,13 +3714,6 @@
|
||||||
parameterNumber = 34 ;
|
parameterNumber = 34 ;
|
||||||
typeOfFirstFixedSurface = 16 ;
|
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
|
||||||
'Roof temperature' = {
|
'Roof temperature' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -4660,14 +4576,6 @@
|
||||||
parameterNumber = 42 ;
|
parameterNumber = 42 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean top net short-wave radiation flux, clear sky
|
|
||||||
'Mean top net short-wave radiation flux, clear sky' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 11 ;
|
|
||||||
typeOfFirstFixedSurface = 8 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Mean top net long-wave radiation flux, clear sky
|
#Mean top net long-wave radiation flux, clear sky
|
||||||
'Mean top net long-wave radiation flux, clear sky' = {
|
'Mean top net long-wave radiation flux, clear sky' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5932,9 +5840,6 @@
|
||||||
#Total water precipitation
|
#Total water precipitation
|
||||||
'Total water precipitation' = {
|
'Total water precipitation' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Total snow precipitation
|
#Total snow precipitation
|
||||||
'Total snow precipitation' = {
|
'Total snow precipitation' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5956,12 +5861,6 @@
|
||||||
parameterNumber = 52 ;
|
parameterNumber = 52 ;
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
}
|
}
|
||||||
#Total snowfall rate water equivalent
|
|
||||||
'Total snowfall rate water equivalent' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 53 ;
|
|
||||||
}
|
|
||||||
#Large scale precipitation rate
|
#Large scale precipitation rate
|
||||||
'Large scale precipitation rate' = {
|
'Large scale precipitation rate' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -6498,12 +6397,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 4 ;
|
parameterNumber = 4 ;
|
||||||
}
|
}
|
||||||
#Icing top
|
|
||||||
'Icing top' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 5 ;
|
|
||||||
}
|
|
||||||
#Icing base
|
#Icing base
|
||||||
'Icing base' = {
|
'Icing base' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -8687,15 +8580,6 @@
|
||||||
#Wind stress at sea surface
|
#Wind stress at sea surface
|
||||||
'Wind stress at sea surface' = {
|
'Wind stress at sea surface' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
}
|
|
||||||
#Wind speed at 10m above sea surface
|
#Wind speed at 10m above sea surface
|
||||||
'Wind speed at 10m above sea surface' = {
|
'Wind speed at 10m above sea surface' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9833,16 +9717,6 @@
|
||||||
#Time-mean wind stress at sea surface
|
#Time-mean wind stress at sea surface
|
||||||
'Time-mean wind stress at sea surface' = {
|
'Time-mean wind stress at sea surface' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Time-mean wind speed at 10m above sea surface
|
#Time-mean wind speed at 10m above sea surface
|
||||||
'Time-mean wind speed at 10m above sea surface' = {
|
'Time-mean wind speed at 10m above sea surface' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9947,45 +9821,6 @@
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
scaleFactorOfSecondFixedSurface = missing() ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Time-accumulated net short wave radiation at sea surface
|
|
||||||
'Time-accumulated net short wave radiation at sea surface' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 9 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated total precipitation at sea surface
|
|
||||||
'Time-accumulated total precipitation at sea surface' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 52 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated snow precipitation at sea surface
|
|
||||||
'Time-accumulated snow precipitation at sea surface' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 66 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Virtual temperature
|
#Virtual temperature
|
||||||
'Virtual temperature' = {
|
'Virtual temperature' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -10871,15 +10706,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 39 ;
|
parameterNumber = 39 ;
|
||||||
}
|
}
|
||||||
#10 metre wind direction
|
|
||||||
'10 metre wind direction' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 41 ;
|
|
||||||
typeOfFirstFixedSurface = 102 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#2D wave spectra (single)
|
#2D wave spectra (single)
|
||||||
'2D wave spectra (single)' = {
|
'2D wave spectra (single)' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -11096,14 +10922,6 @@
|
||||||
parameterNumber = 40 ;
|
parameterNumber = 40 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
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
|
||||||
'Surface runoff' = {
|
'Surface runoff' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -11421,3 +11239,76 @@
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
scaledValueOfFirstFixedSurface = 100 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
|
#Time-mean total lightning flash density
|
||||||
|
'Time-mean total lightning flash density' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 17 ;
|
||||||
|
parameterNumber = 4 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 0 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy
|
||||||
|
'Time-maximum convective available potential energy' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 6 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 2 metre temperature
|
||||||
|
'Time-maximum 2 metre temperature' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 10 metre wind gust
|
||||||
|
'Time-maximum 10 metre wind gust' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 2 ;
|
||||||
|
parameterNumber = 22 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 10 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy shear
|
||||||
|
'Time-maximum convective available potential energy shear' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 19 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum total precipitation rate
|
||||||
|
'Time-maximum total precipitation rate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-minimum 2 metre temperature
|
||||||
|
'Time-minimum 2 metre temperature' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
#Time-minimum total precipitation rate
|
||||||
|
'Time-minimum total precipitation rate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
|
|
@ -254,16 +254,6 @@
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Maximum 10 metre wind gust since previous post-processing
|
|
||||||
'49' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 22 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
typeOfStatisticalProcessing = 2 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction
|
#Large-scale precipitation fraction
|
||||||
'50' = {
|
'50' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -444,11 +434,6 @@
|
||||||
#Total column water
|
#Total column water
|
||||||
'136' = {
|
'136' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfSecondFixedSurface = 8 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water vapour
|
#Total column vertically-integrated water vapour
|
||||||
'137' = {
|
'137' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -492,14 +477,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 76 ;
|
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)
|
#Top net radiation (SW and LW)
|
||||||
'150' = {
|
'150' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -508,13 +485,6 @@
|
||||||
typeOfFirstFixedSurface = 8 ;
|
typeOfFirstFixedSurface = 8 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Mean sea level pressure
|
|
||||||
'151' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 0 ;
|
|
||||||
typeOfFirstFixedSurface = 101 ;
|
|
||||||
}
|
|
||||||
#Divergence
|
#Divergence
|
||||||
'155' = {
|
'155' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1259,15 +1229,9 @@
|
||||||
#Mean wave period of second swell partition
|
#Mean wave period of second swell partition
|
||||||
'140126' = {
|
'140126' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
}
|
|
||||||
#Significant wave height of third swell partition
|
#Significant wave height of third swell partition
|
||||||
'140127' = {
|
'140127' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Mean wave direction of third swell partition
|
#Mean wave direction of third swell partition
|
||||||
'140128' = {
|
'140128' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -1368,18 +1332,6 @@
|
||||||
parameterNumber = 15 ;
|
parameterNumber = 15 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean sea water temperature in the upper 300 m
|
|
||||||
'151127' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 15 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 160 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = 300 ;
|
|
||||||
scaleFactorOfSecondFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water enthalpy
|
#Total column vertically-integrated water enthalpy
|
||||||
'162093' = {
|
'162093' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1481,14 +1433,6 @@
|
||||||
parameterNumber = 59 ;
|
parameterNumber = 59 ;
|
||||||
typeOfGeneratingProcess = 9 ;
|
typeOfGeneratingProcess = 9 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'210249' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Nitrate aerosol optical depth at 550 nm
|
#Nitrate aerosol optical depth at 550 nm
|
||||||
'210250' = {
|
'210250' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1574,15 +1518,6 @@
|
||||||
is_chemical_srcsink = 1 ;
|
is_chemical_srcsink = 1 ;
|
||||||
sourceSinkChemicalPhysicalProcess = 7 ;
|
sourceSinkChemicalPhysicalProcess = 7 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'211249' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
typeOfGeneratingProcess = 20 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Biogenic secondary organic aerosol mass mixing ratio increment
|
#Biogenic secondary organic aerosol mass mixing ratio increment
|
||||||
'211252' = {
|
'211252' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3366,15 +3301,6 @@
|
||||||
scaledValueOfFirstFixedSurface = 200 ;
|
scaledValueOfFirstFixedSurface = 200 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
#100 metre wind speed
|
|
||||||
'228249' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 1 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Urban cover
|
#Urban cover
|
||||||
'229001' = {
|
'229001' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -3438,9 +3364,6 @@
|
||||||
#C4 grass cover
|
#C4 grass cover
|
||||||
'229011' = {
|
'229011' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Accumulated freezing rain water equivalent
|
#Accumulated freezing rain water equivalent
|
||||||
'231001' = {
|
'231001' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3791,13 +3714,6 @@
|
||||||
parameterNumber = 34 ;
|
parameterNumber = 34 ;
|
||||||
typeOfFirstFixedSurface = 16 ;
|
typeOfFirstFixedSurface = 16 ;
|
||||||
}
|
}
|
||||||
#Geometric height of atmospheric isothermal level above ground
|
|
||||||
'231049' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 34 ;
|
|
||||||
typeOfFirstFixedSurface = 20 ;
|
|
||||||
}
|
|
||||||
#Roof temperature
|
#Roof temperature
|
||||||
'231050' = {
|
'231050' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -4660,14 +4576,6 @@
|
||||||
parameterNumber = 42 ;
|
parameterNumber = 42 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean top net short-wave radiation flux, clear sky
|
|
||||||
'235049' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 11 ;
|
|
||||||
typeOfFirstFixedSurface = 8 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Mean top net long-wave radiation flux, clear sky
|
#Mean top net long-wave radiation flux, clear sky
|
||||||
'235050' = {
|
'235050' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5932,9 +5840,6 @@
|
||||||
#Total water precipitation
|
#Total water precipitation
|
||||||
'260045' = {
|
'260045' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Total snow precipitation
|
#Total snow precipitation
|
||||||
'260046' = {
|
'260046' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5956,12 +5861,6 @@
|
||||||
parameterNumber = 52 ;
|
parameterNumber = 52 ;
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
}
|
}
|
||||||
#Total snowfall rate water equivalent
|
|
||||||
'260049' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 53 ;
|
|
||||||
}
|
|
||||||
#Large scale precipitation rate
|
#Large scale precipitation rate
|
||||||
'260050' = {
|
'260050' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -6498,12 +6397,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 4 ;
|
parameterNumber = 4 ;
|
||||||
}
|
}
|
||||||
#Icing top
|
|
||||||
'260149' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 5 ;
|
|
||||||
}
|
|
||||||
#Icing base
|
#Icing base
|
||||||
'260150' = {
|
'260150' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -8687,15 +8580,6 @@
|
||||||
#Wind stress at sea surface
|
#Wind stress at sea surface
|
||||||
'262901' = {
|
'262901' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
}
|
|
||||||
#Wind speed at 10m above sea surface
|
#Wind speed at 10m above sea surface
|
||||||
'262902' = {
|
'262902' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9833,16 +9717,6 @@
|
||||||
#Time-mean wind stress at sea surface
|
#Time-mean wind stress at sea surface
|
||||||
'263901' = {
|
'263901' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Time-mean wind speed at 10m above sea surface
|
#Time-mean wind speed at 10m above sea surface
|
||||||
'263902' = {
|
'263902' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9947,45 +9821,6 @@
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
scaleFactorOfSecondFixedSurface = missing() ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Time-accumulated net short wave radiation at sea surface
|
|
||||||
'264900' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 9 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated total precipitation at sea surface
|
|
||||||
'264904' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 52 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated snow precipitation at sea surface
|
|
||||||
'264905' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 66 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Virtual temperature
|
#Virtual temperature
|
||||||
'300012' = {
|
'300012' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -10871,15 +10706,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 39 ;
|
parameterNumber = 39 ;
|
||||||
}
|
}
|
||||||
#10 metre wind direction
|
|
||||||
'140249' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 41 ;
|
|
||||||
typeOfFirstFixedSurface = 102 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#2D wave spectra (single)
|
#2D wave spectra (single)
|
||||||
'140251' = {
|
'140251' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -11096,14 +10922,6 @@
|
||||||
parameterNumber = 40 ;
|
parameterNumber = 40 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Time-mean surface net radiation flux (SW and LW)
|
|
||||||
'172149' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 46 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Surface runoff
|
#Surface runoff
|
||||||
'174008' = {
|
'174008' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -11421,3 +11239,76 @@
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
scaledValueOfFirstFixedSurface = 100 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
|
#Time-mean total lightning flash density
|
||||||
|
'235326' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 17 ;
|
||||||
|
parameterNumber = 4 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 0 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy
|
||||||
|
'237287' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 6 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 2 metre temperature
|
||||||
|
'237167' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 10 metre wind gust
|
||||||
|
'237318' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 2 ;
|
||||||
|
parameterNumber = 22 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 10 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy shear
|
||||||
|
'237321' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 19 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum total precipitation rate
|
||||||
|
'237055' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-minimum 2 metre temperature
|
||||||
|
'238167' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
#Time-minimum total precipitation rate
|
||||||
|
'238055' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ concept datasetForLocal(unknown) {
|
||||||
"unknown" = { dummy=1; }
|
"unknown" = { dummy=1; }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (datasetForLocal isnot "unknown") {
|
if (!(datasetForLocal is "unknown")) {
|
||||||
constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden;
|
constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden;
|
||||||
constant conceptsDir1 = "grib2": hidden;
|
constant conceptsDir1 = "grib2": hidden;
|
||||||
}
|
}
|
||||||
|
@ -127,4 +127,7 @@ if (paramId >= 140000 && paramId < 141000 &&
|
||||||
alias mars.paramtype = paramTypeWave;
|
alias mars.paramtype = paramTypeWave;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template timeproc "grib2/timeproc.def";
|
||||||
|
alias mars.timeproc = timeproc ;
|
||||||
|
|
||||||
meta md5Section4 md5(offsetSection4,section4Length);
|
meta md5Section4 md5(offsetSection4,section4Length);
|
||||||
|
|
|
@ -254,16 +254,6 @@
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Maximum 10 metre wind gust since previous post-processing
|
|
||||||
'10fg' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 22 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
typeOfStatisticalProcessing = 2 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction
|
#Large-scale precipitation fraction
|
||||||
'lspf' = {
|
'lspf' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -444,11 +434,6 @@
|
||||||
#Total column water
|
#Total column water
|
||||||
'tcw' = {
|
'tcw' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfSecondFixedSurface = 8 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water vapour
|
#Total column vertically-integrated water vapour
|
||||||
'tcwv' = {
|
'tcwv' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -492,14 +477,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 76 ;
|
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)
|
#Top net radiation (SW and LW)
|
||||||
'tnr' = {
|
'tnr' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -508,13 +485,6 @@
|
||||||
typeOfFirstFixedSurface = 8 ;
|
typeOfFirstFixedSurface = 8 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Mean sea level pressure
|
|
||||||
'msl' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 0 ;
|
|
||||||
typeOfFirstFixedSurface = 101 ;
|
|
||||||
}
|
|
||||||
#Divergence
|
#Divergence
|
||||||
'd' = {
|
'd' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1259,15 +1229,9 @@
|
||||||
#Mean wave period of second swell partition
|
#Mean wave period of second swell partition
|
||||||
'mwp2' = {
|
'mwp2' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
}
|
|
||||||
#Significant wave height of third swell partition
|
#Significant wave height of third swell partition
|
||||||
'swh3' = {
|
'swh3' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Mean wave direction of third swell partition
|
#Mean wave direction of third swell partition
|
||||||
'mwd3' = {
|
'mwd3' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -1368,18 +1332,6 @@
|
||||||
parameterNumber = 15 ;
|
parameterNumber = 15 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean sea water temperature in the upper 300 m
|
|
||||||
'mswt300m' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 15 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 160 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = 300 ;
|
|
||||||
scaleFactorOfSecondFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water enthalpy
|
#Total column vertically-integrated water enthalpy
|
||||||
'viwe' = {
|
'viwe' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1481,14 +1433,6 @@
|
||||||
parameterNumber = 59 ;
|
parameterNumber = 59 ;
|
||||||
typeOfGeneratingProcess = 9 ;
|
typeOfGeneratingProcess = 9 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'aermr18' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Nitrate aerosol optical depth at 550 nm
|
#Nitrate aerosol optical depth at 550 nm
|
||||||
'niaod550' = {
|
'niaod550' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1574,15 +1518,6 @@
|
||||||
is_chemical_srcsink = 1 ;
|
is_chemical_srcsink = 1 ;
|
||||||
sourceSinkChemicalPhysicalProcess = 7 ;
|
sourceSinkChemicalPhysicalProcess = 7 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'aermr18diff' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
typeOfGeneratingProcess = 20 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Biogenic secondary organic aerosol mass mixing ratio increment
|
#Biogenic secondary organic aerosol mass mixing ratio increment
|
||||||
'aermr19diff' = {
|
'aermr19diff' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3366,15 +3301,6 @@
|
||||||
scaledValueOfFirstFixedSurface = 200 ;
|
scaledValueOfFirstFixedSurface = 200 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
#100 metre wind speed
|
|
||||||
'100si' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 1 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Urban cover
|
#Urban cover
|
||||||
'cur' = {
|
'cur' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -3438,9 +3364,6 @@
|
||||||
#C4 grass cover
|
#C4 grass cover
|
||||||
'c4gr' = {
|
'c4gr' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Accumulated freezing rain water equivalent
|
#Accumulated freezing rain water equivalent
|
||||||
'fzrawe' = {
|
'fzrawe' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3791,13 +3714,6 @@
|
||||||
parameterNumber = 34 ;
|
parameterNumber = 34 ;
|
||||||
typeOfFirstFixedSurface = 16 ;
|
typeOfFirstFixedSurface = 16 ;
|
||||||
}
|
}
|
||||||
#Geometric height of atmospheric isothermal level above ground
|
|
||||||
'haig' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 34 ;
|
|
||||||
typeOfFirstFixedSurface = 20 ;
|
|
||||||
}
|
|
||||||
#Roof temperature
|
#Roof temperature
|
||||||
'rft' = {
|
'rft' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -4660,14 +4576,6 @@
|
||||||
parameterNumber = 42 ;
|
parameterNumber = 42 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean top net short-wave radiation flux, clear sky
|
|
||||||
'mtnswrfcs' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 11 ;
|
|
||||||
typeOfFirstFixedSurface = 8 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Mean top net long-wave radiation flux, clear sky
|
#Mean top net long-wave radiation flux, clear sky
|
||||||
'mtnlwrfcs' = {
|
'mtnlwrfcs' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5932,9 +5840,6 @@
|
||||||
#Total water precipitation
|
#Total water precipitation
|
||||||
'twatp' = {
|
'twatp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Total snow precipitation
|
#Total snow precipitation
|
||||||
'tsnowp' = {
|
'tsnowp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5956,12 +5861,6 @@
|
||||||
parameterNumber = 52 ;
|
parameterNumber = 52 ;
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
}
|
}
|
||||||
#Total snowfall rate water equivalent
|
|
||||||
'tsrwe' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 53 ;
|
|
||||||
}
|
|
||||||
#Large scale precipitation rate
|
#Large scale precipitation rate
|
||||||
'lsprate' = {
|
'lsprate' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -6498,12 +6397,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 4 ;
|
parameterNumber = 4 ;
|
||||||
}
|
}
|
||||||
#Icing top
|
|
||||||
'icit' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 5 ;
|
|
||||||
}
|
|
||||||
#Icing base
|
#Icing base
|
||||||
'icib' = {
|
'icib' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -8687,15 +8580,6 @@
|
||||||
#Wind stress at sea surface
|
#Wind stress at sea surface
|
||||||
'wst_sea' = {
|
'wst_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
}
|
|
||||||
#Wind speed at 10m above sea surface
|
#Wind speed at 10m above sea surface
|
||||||
'10ws_sea' = {
|
'10ws_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9833,16 +9717,6 @@
|
||||||
#Time-mean wind stress at sea surface
|
#Time-mean wind stress at sea surface
|
||||||
'avg_wst_sea' = {
|
'avg_wst_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Time-mean wind speed at 10m above sea surface
|
#Time-mean wind speed at 10m above sea surface
|
||||||
'avg_10ws_sea' = {
|
'avg_10ws_sea' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9947,45 +9821,6 @@
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
scaleFactorOfSecondFixedSurface = missing() ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Time-accumulated net short wave radiation at sea surface
|
|
||||||
'acc_ssr_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 9 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated total precipitation at sea surface
|
|
||||||
'tp_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 52 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated snow precipitation at sea surface
|
|
||||||
'sn_sea' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 66 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Virtual temperature
|
#Virtual temperature
|
||||||
'vtmp' = {
|
'vtmp' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -10871,15 +10706,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 39 ;
|
parameterNumber = 39 ;
|
||||||
}
|
}
|
||||||
#10 metre wind direction
|
|
||||||
'dwi' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 41 ;
|
|
||||||
typeOfFirstFixedSurface = 102 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#2D wave spectra (single)
|
#2D wave spectra (single)
|
||||||
'2dfd' = {
|
'2dfd' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -11096,14 +10922,6 @@
|
||||||
parameterNumber = 40 ;
|
parameterNumber = 40 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Time-mean surface net radiation flux (SW and LW)
|
|
||||||
'msnrf' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 46 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Surface runoff
|
#Surface runoff
|
||||||
'sro' = {
|
'sro' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -11421,3 +11239,76 @@
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
scaledValueOfFirstFixedSurface = 100 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
|
#Time-mean total lightning flash density
|
||||||
|
'avg_litoti' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 17 ;
|
||||||
|
parameterNumber = 4 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 0 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy
|
||||||
|
'max_cape' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 6 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 2 metre temperature
|
||||||
|
'max_2t' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 10 metre wind gust
|
||||||
|
'max_i10fg' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 2 ;
|
||||||
|
parameterNumber = 22 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 10 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy shear
|
||||||
|
'max_capes' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 19 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum total precipitation rate
|
||||||
|
'max_tprate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-minimum 2 metre temperature
|
||||||
|
'min_2t' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
#Time-minimum total precipitation rate
|
||||||
|
'min_tprate' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
concept timeproc {
|
||||||
|
# either instantaneous data or processing is specified by mars stream
|
||||||
|
"point-in-time" = {stepType="instant";}
|
||||||
|
"point-in-time" = {stream="mnth"; numberOfTimeRange=1;}
|
||||||
|
"point-in-time" = {stream="mmsa"; numberOfTimeRange=1;}
|
||||||
|
"point-in-time" = {stream="msmm"; numberOfTimeRange=1;}
|
||||||
|
#
|
||||||
|
### Accumulations ###
|
||||||
|
# we need to do this dataset dependent, in some datasets we might have
|
||||||
|
# hourly rolling accumulations and we don't want to have the first in a different bucket
|
||||||
|
## since start accumulation must have forecastTime=0
|
||||||
|
# hourly
|
||||||
|
"since-start" = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitOfTimeRange=1;}
|
||||||
|
# 24 hourly time unit
|
||||||
|
"since-start" = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitOfTimeRange=2;}
|
||||||
|
## 1h rolling accumulation
|
||||||
|
"1h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 1; class=d1;}
|
||||||
|
## 24h rolling accumulation
|
||||||
|
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 24; class=d1;}
|
||||||
|
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=2; lengthOfTimeRange = 1; class=d1;}
|
||||||
|
### end Accumulations ###
|
||||||
|
#
|
||||||
|
### mean/min/max/stdev ###
|
||||||
|
"1h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 1;}
|
||||||
|
"3h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 3;}
|
||||||
|
"3h" = {indicatorOfUnitOfTimeRange=10; lengthOfTimeRange = 1;}
|
||||||
|
"6h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 6;}
|
||||||
|
"6h" = {indicatorOfUnitOfTimeRange=11; lengthOfTimeRange = 1;}
|
||||||
|
"12h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 12;}
|
||||||
|
"12h" = {indicatorOfUnitOfTimeRange=12; lengthOfTimeRange = 1;}
|
||||||
|
"18h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 18;}
|
||||||
|
"24h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 24;}
|
||||||
|
"24h" = {indicatorOfUnitOfTimeRange=2; lengthOfTimeRange = 1;}
|
||||||
|
"7 days" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 168;}
|
||||||
|
# 28 days
|
||||||
|
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 672;}
|
||||||
|
# 29 days
|
||||||
|
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 696;}
|
||||||
|
# 30 days
|
||||||
|
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 720;}
|
||||||
|
# 31 days
|
||||||
|
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 744;}
|
||||||
|
# time unit month
|
||||||
|
"month" = {indicatorOfUnitOfTimeRange=3; lengthOfTimeRange = 1;}
|
||||||
|
### end mean/min/max/stdev ###
|
||||||
|
}
|
|
@ -254,16 +254,6 @@
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Maximum 10 metre wind gust since previous post-processing
|
|
||||||
'm s**-1' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 22 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
typeOfStatisticalProcessing = 2 ;
|
|
||||||
}
|
|
||||||
#Large-scale precipitation fraction
|
#Large-scale precipitation fraction
|
||||||
's' = {
|
's' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -444,11 +434,6 @@
|
||||||
#Total column water
|
#Total column water
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
typeOfFirstFixedSurface = 1 ;
|
|
||||||
typeOfSecondFixedSurface = 8 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water vapour
|
#Total column vertically-integrated water vapour
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -492,14 +477,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 76 ;
|
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)
|
#Top net radiation (SW and LW)
|
||||||
'J m**-2' = {
|
'J m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -508,13 +485,6 @@
|
||||||
typeOfFirstFixedSurface = 8 ;
|
typeOfFirstFixedSurface = 8 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
typeOfStatisticalProcessing = 1 ;
|
||||||
}
|
}
|
||||||
#Mean sea level pressure
|
|
||||||
'Pa' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 0 ;
|
|
||||||
typeOfFirstFixedSurface = 101 ;
|
|
||||||
}
|
|
||||||
#Divergence
|
#Divergence
|
||||||
's**-1' = {
|
's**-1' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1259,15 +1229,9 @@
|
||||||
#Mean wave period of second swell partition
|
#Mean wave period of second swell partition
|
||||||
's' = {
|
's' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 51 ;
|
|
||||||
}
|
|
||||||
#Significant wave height of third swell partition
|
#Significant wave height of third swell partition
|
||||||
'm' = {
|
'm' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Mean wave direction of third swell partition
|
#Mean wave direction of third swell partition
|
||||||
'degrees' = {
|
'degrees' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -1368,18 +1332,6 @@
|
||||||
parameterNumber = 15 ;
|
parameterNumber = 15 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean sea water temperature in the upper 300 m
|
|
||||||
'K' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 15 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 160 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = 300 ;
|
|
||||||
scaleFactorOfSecondFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Total column vertically-integrated water enthalpy
|
#Total column vertically-integrated water enthalpy
|
||||||
'J m**-2' = {
|
'J m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1481,14 +1433,6 @@
|
||||||
parameterNumber = 59 ;
|
parameterNumber = 59 ;
|
||||||
typeOfGeneratingProcess = 9 ;
|
typeOfGeneratingProcess = 9 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'kg kg**-1' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Nitrate aerosol optical depth at 550 nm
|
#Nitrate aerosol optical depth at 550 nm
|
||||||
'dimensionless' = {
|
'dimensionless' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -1574,15 +1518,6 @@
|
||||||
is_chemical_srcsink = 1 ;
|
is_chemical_srcsink = 1 ;
|
||||||
sourceSinkChemicalPhysicalProcess = 7 ;
|
sourceSinkChemicalPhysicalProcess = 7 ;
|
||||||
}
|
}
|
||||||
#Ammonium aerosol mass mixing ratio
|
|
||||||
'kg kg**-1' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 20 ;
|
|
||||||
parameterNumber = 2 ;
|
|
||||||
aerosolType = 62003 ;
|
|
||||||
typeOfGeneratingProcess = 20 ;
|
|
||||||
is_aerosol = 1 ;
|
|
||||||
}
|
|
||||||
#Biogenic secondary organic aerosol mass mixing ratio increment
|
#Biogenic secondary organic aerosol mass mixing ratio increment
|
||||||
'kg kg**-1' = {
|
'kg kg**-1' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3366,15 +3301,6 @@
|
||||||
scaledValueOfFirstFixedSurface = 200 ;
|
scaledValueOfFirstFixedSurface = 200 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
#100 metre wind speed
|
|
||||||
'm s**-1' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 1 ;
|
|
||||||
typeOfFirstFixedSurface = 103 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#Urban cover
|
#Urban cover
|
||||||
'(0 - 1)' = {
|
'(0 - 1)' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -3438,9 +3364,6 @@
|
||||||
#C4 grass cover
|
#C4 grass cover
|
||||||
'(0 - 1)' = {
|
'(0 - 1)' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Accumulated freezing rain water equivalent
|
#Accumulated freezing rain water equivalent
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -3791,13 +3714,6 @@
|
||||||
parameterNumber = 34 ;
|
parameterNumber = 34 ;
|
||||||
typeOfFirstFixedSurface = 16 ;
|
typeOfFirstFixedSurface = 16 ;
|
||||||
}
|
}
|
||||||
#Geometric height of atmospheric isothermal level above ground
|
|
||||||
'm' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 3 ;
|
|
||||||
parameterNumber = 34 ;
|
|
||||||
typeOfFirstFixedSurface = 20 ;
|
|
||||||
}
|
|
||||||
#Roof temperature
|
#Roof temperature
|
||||||
'K' = {
|
'K' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -4660,14 +4576,6 @@
|
||||||
parameterNumber = 42 ;
|
parameterNumber = 42 ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Mean top net short-wave radiation flux, clear sky
|
|
||||||
'W m**-2' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 11 ;
|
|
||||||
typeOfFirstFixedSurface = 8 ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Mean top net long-wave radiation flux, clear sky
|
#Mean top net long-wave radiation flux, clear sky
|
||||||
'W m**-2' = {
|
'W m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5932,9 +5840,6 @@
|
||||||
#Total water precipitation
|
#Total water precipitation
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
}
|
|
||||||
#Total snow precipitation
|
#Total snow precipitation
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -5956,12 +5861,6 @@
|
||||||
parameterNumber = 52 ;
|
parameterNumber = 52 ;
|
||||||
typeOfFirstFixedSurface = 1 ;
|
typeOfFirstFixedSurface = 1 ;
|
||||||
}
|
}
|
||||||
#Total snowfall rate water equivalent
|
|
||||||
'kg m**-2 s**-1' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 53 ;
|
|
||||||
}
|
|
||||||
#Large scale precipitation rate
|
#Large scale precipitation rate
|
||||||
'kg m**-2 s**-1' = {
|
'kg m**-2 s**-1' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -6498,12 +6397,6 @@
|
||||||
parameterCategory = 19 ;
|
parameterCategory = 19 ;
|
||||||
parameterNumber = 4 ;
|
parameterNumber = 4 ;
|
||||||
}
|
}
|
||||||
#Icing top
|
|
||||||
'm' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 19 ;
|
|
||||||
parameterNumber = 5 ;
|
|
||||||
}
|
|
||||||
#Icing base
|
#Icing base
|
||||||
'm' = {
|
'm' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -8687,15 +8580,6 @@
|
||||||
#Wind stress at sea surface
|
#Wind stress at sea surface
|
||||||
'N m**-2' = {
|
'N m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
}
|
|
||||||
#Wind speed at 10m above sea surface
|
#Wind speed at 10m above sea surface
|
||||||
'm s**-1' = {
|
'm s**-1' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9833,16 +9717,6 @@
|
||||||
#Time-mean wind stress at sea surface
|
#Time-mean wind stress at sea surface
|
||||||
'N m**-2' = {
|
'N m**-2' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
parameterCategory = 2 ;
|
|
||||||
parameterNumber = 49 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 0 ;
|
|
||||||
}
|
|
||||||
#Time-mean wind speed at 10m above sea surface
|
#Time-mean wind speed at 10m above sea surface
|
||||||
'm s**-1' = {
|
'm s**-1' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -9947,45 +9821,6 @@
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
scaleFactorOfSecondFixedSurface = missing() ;
|
||||||
typeOfStatisticalProcessing = 0 ;
|
typeOfStatisticalProcessing = 0 ;
|
||||||
}
|
}
|
||||||
#Time-accumulated net short wave radiation at sea surface
|
|
||||||
'J m**-2' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 4 ;
|
|
||||||
parameterNumber = 9 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated total precipitation at sea surface
|
|
||||||
'kg m**-2' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 52 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Time-accumulated snow precipitation at sea surface
|
|
||||||
'kg m**-2' = {
|
|
||||||
discipline = 0 ;
|
|
||||||
parameterCategory = 1 ;
|
|
||||||
parameterNumber = 66 ;
|
|
||||||
typeOfFirstFixedSurface = 160 ;
|
|
||||||
typeOfSecondFixedSurface = 255 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 0 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
scaledValueOfSecondFixedSurface = missing() ;
|
|
||||||
scaleFactorOfSecondFixedSurface = missing() ;
|
|
||||||
typeOfStatisticalProcessing = 1 ;
|
|
||||||
}
|
|
||||||
#Virtual temperature
|
#Virtual temperature
|
||||||
'K' = {
|
'K' = {
|
||||||
discipline = 0 ;
|
discipline = 0 ;
|
||||||
|
@ -10871,15 +10706,6 @@
|
||||||
parameterCategory = 0 ;
|
parameterCategory = 0 ;
|
||||||
parameterNumber = 39 ;
|
parameterNumber = 39 ;
|
||||||
}
|
}
|
||||||
#10 metre wind direction
|
|
||||||
'degrees' = {
|
|
||||||
discipline = 10 ;
|
|
||||||
parameterCategory = 0 ;
|
|
||||||
parameterNumber = 41 ;
|
|
||||||
typeOfFirstFixedSurface = 102 ;
|
|
||||||
scaledValueOfFirstFixedSurface = 10 ;
|
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
|
||||||
}
|
|
||||||
#2D wave spectra (single)
|
#2D wave spectra (single)
|
||||||
'm**2 s radian**-1' = {
|
'm**2 s radian**-1' = {
|
||||||
discipline = 10 ;
|
discipline = 10 ;
|
||||||
|
@ -11096,14 +10922,6 @@
|
||||||
parameterNumber = 40 ;
|
parameterNumber = 40 ;
|
||||||
typeOfStatisticalProcessing = 1 ;
|
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
|
#Surface runoff
|
||||||
'kg m**-2' = {
|
'kg m**-2' = {
|
||||||
discipline = 2 ;
|
discipline = 2 ;
|
||||||
|
@ -11421,3 +11239,76 @@
|
||||||
scaledValueOfFirstFixedSurface = 100 ;
|
scaledValueOfFirstFixedSurface = 100 ;
|
||||||
scaleFactorOfFirstFixedSurface = 0 ;
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
}
|
}
|
||||||
|
#Time-mean total lightning flash density
|
||||||
|
'km**-2 day**-1' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 17 ;
|
||||||
|
parameterNumber = 4 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 0 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy
|
||||||
|
'J kg**-1' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 6 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 2 metre temperature
|
||||||
|
'K' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum 10 metre wind gust
|
||||||
|
'm s**-1' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 2 ;
|
||||||
|
parameterNumber = 22 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 10 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum convective available potential energy shear
|
||||||
|
'm**2 s**-2' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 7 ;
|
||||||
|
parameterNumber = 19 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfSecondFixedSurface = 8 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-maximum total precipitation rate
|
||||||
|
'kg m**-2 s**-1' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 2 ;
|
||||||
|
}
|
||||||
|
#Time-minimum 2 metre temperature
|
||||||
|
'K' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 0 ;
|
||||||
|
parameterNumber = 0 ;
|
||||||
|
typeOfFirstFixedSurface = 103 ;
|
||||||
|
scaledValueOfFirstFixedSurface = 2 ;
|
||||||
|
scaleFactorOfFirstFixedSurface = 0 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
#Time-minimum total precipitation rate
|
||||||
|
'kg m**-2 s**-1' = {
|
||||||
|
discipline = 0 ;
|
||||||
|
parameterCategory = 1 ;
|
||||||
|
parameterNumber = 52 ;
|
||||||
|
typeOfFirstFixedSurface = 1 ;
|
||||||
|
typeOfStatisticalProcessing = 3 ;
|
||||||
|
}
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
#define ECCODES_DEFINITION_PATH "@ECCODES_DEFINITION_PATH@"
|
#define ECCODES_DEFINITION_PATH "@ECCODES_DEFINITION_PATH@"
|
||||||
|
|
||||||
|
#cmakedefine ECCODES_HAVE_C_INLINE
|
||||||
|
|
||||||
#ifdef ECCODES_HAVE_C_INLINE
|
#ifdef ECCODES_HAVE_C_INLINE
|
||||||
#define GRIB_INLINE inline
|
#define GRIB_INLINE inline
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -12,7 +12,6 @@ list( APPEND eccodes_src_files
|
||||||
accessor/grib_accessor.cc
|
accessor/grib_accessor.cc
|
||||||
accessor/grib_accessors_list.cc
|
accessor/grib_accessors_list.cc
|
||||||
grib_accessor_class.cc
|
grib_accessor_class.cc
|
||||||
shared_functions.cc
|
|
||||||
step_unit.cc
|
step_unit.cc
|
||||||
step.cc
|
step.cc
|
||||||
step_utilities.cc
|
step_utilities.cc
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (C) Copyright 2005- ECMWF.
|
* (C) Copyright 2005- ECMWF.
|
||||||
*
|
*
|
||||||
|
@ -56,7 +55,7 @@ static int is_bitmap_start_defined(grib_accessor_bufr_data_array_t* self)
|
||||||
return self->bitmapStart == -1 ? 0 : 1;
|
return self->bitmapStart == -1 ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t get_length(grib_accessor* a)
|
static size_t get_length(grib_accessor* a)
|
||||||
{
|
{
|
||||||
grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a;
|
grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
@ -101,7 +100,7 @@ static int tableB_override_get_ref_val(grib_accessor_bufr_data_array_t* self, in
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Operator 203YYY: Clear and free linked list */
|
/* Operator 203YYY: Clear and free linked list */
|
||||||
void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* self)
|
static void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* self)
|
||||||
{
|
{
|
||||||
bufr_tableb_override* tb = self->tableb_override;
|
bufr_tableb_override* tb = self->tableb_override;
|
||||||
while (tb) {
|
while (tb) {
|
||||||
|
@ -113,7 +112,7 @@ void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* sel
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Operator 203YYY: Copy contents of linked list to the transient array key */
|
/* Operator 203YYY: Copy contents of linked list to the transient array key */
|
||||||
int tableB_override_set_key(grib_handle* h, grib_accessor_bufr_data_array_t* self)
|
static int tableB_override_set_key(grib_handle* h, grib_accessor_bufr_data_array_t* self)
|
||||||
{
|
{
|
||||||
int err = GRIB_SUCCESS;
|
int err = GRIB_SUCCESS;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -2202,7 +2201,7 @@ static grib_accessor* accessor_or_attribute_with_same_name(grib_accessor* a, con
|
||||||
// return *r;
|
// return *r;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
int grib_data_accessors_trie_push(grib_trie_with_rank* accessorsTrie, grib_accessor* a)
|
static int grib_data_accessors_trie_push(grib_trie_with_rank* accessorsTrie, grib_accessor* a)
|
||||||
{
|
{
|
||||||
return grib_trie_with_rank_insert(accessorsTrie, a->name, a);
|
return grib_trie_with_rank_insert(accessorsTrie, a->name, a);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (C) Copyright 2005- ECMWF.
|
* (C) Copyright 2005- ECMWF.
|
||||||
*
|
*
|
||||||
|
@ -16,7 +15,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -28,7 +27,7 @@ static void thread_init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex1;
|
static omp_nest_lock_t mutex1;
|
||||||
|
|
||||||
void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c)
|
GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c)
|
||||||
{
|
{
|
||||||
|
@ -90,7 +89,7 @@ static grib_trie* load_bufr_elements_table(grib_accessor* a, int* err)
|
||||||
if (self->localDir != NULL)
|
if (self->localDir != NULL)
|
||||||
grib_get_string(h, self->localDir, localDir, &len);
|
grib_get_string(h, self->localDir, localDir, &len);
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &thread_init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
|
|
||||||
if (*masterDir != 0) {
|
if (*masterDir != 0) {
|
||||||
|
@ -213,14 +212,14 @@ static int convert_type(const char* stype)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
long atol_fast(const char* input)
|
static long atol_fast(const char* input)
|
||||||
{
|
{
|
||||||
if (strcmp(input, "0") == 0)
|
if (strcmp(input, "0") == 0)
|
||||||
return 0;
|
return 0;
|
||||||
return atol(input);
|
return atol(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bufr_get_from_table(grib_accessor* a, bufr_descriptor* v)
|
static int bufr_get_from_table(grib_accessor* a, bufr_descriptor* v)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
char** list = 0;
|
char** list = 0;
|
||||||
|
|
|
@ -20,7 +20,7 @@ grib_accessor_class* grib_accessor_class_codetable = &_grib_accessor_class_codet
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -32,7 +32,7 @@ void thread_init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex1;
|
static omp_nest_lock_t mutex1;
|
||||||
|
|
||||||
void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c)
|
GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c)
|
||||||
{
|
{
|
||||||
|
@ -205,7 +205,7 @@ static grib_codetable* load_table(grib_accessor* a)
|
||||||
localFilename = grib_context_full_defs_path(c, localRecomposed);
|
localFilename = grib_context_full_defs_path(c, localRecomposed);
|
||||||
}
|
}
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &thread_init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1); /* GRIB-930 */
|
GRIB_MUTEX_LOCK(&mutex1); /* GRIB-930 */
|
||||||
|
|
||||||
/*printf("DBG %s: Look in cache: f=%s lf=%s (recomposed=%s)\n", self->att.name, filename, localFilename,recomposed);*/
|
/*printf("DBG %s: Look in cache: f=%s lf=%s (recomposed=%s)\n", self->att.name, filename, localFilename,recomposed);*/
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "grib_accessor_class_g1bitmap.h"
|
#include "grib_accessor_class_g1bitmap.h"
|
||||||
#include "shared_functions.h"
|
|
||||||
|
|
||||||
grib_accessor_class_g1bitmap_t _grib_accessor_class_g1bitmap{"g1bitmap"};
|
grib_accessor_class_g1bitmap_t _grib_accessor_class_g1bitmap{"g1bitmap"};
|
||||||
grib_accessor_class* grib_accessor_class_g1bitmap = &_grib_accessor_class_g1bitmap;
|
grib_accessor_class* grib_accessor_class_g1bitmap = &_grib_accessor_class_g1bitmap;
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (C) Copyright 2005- ECMWF.
|
* (C) Copyright 2005- ECMWF.
|
||||||
*
|
*
|
||||||
|
@ -106,7 +105,7 @@ static int unpack_long_edition2(grib_accessor* a, long* val, size_t* len)
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int unpack_long_edition1(grib_accessor* a, long* val, size_t* len)
|
static int unpack_long_edition1(grib_accessor* a, long* val, size_t* len)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
grib_accessor_g1forecastmonth_t* self = (grib_accessor_g1forecastmonth_t*)a;
|
grib_accessor_g1forecastmonth_t* self = (grib_accessor_g1forecastmonth_t*)a;
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "grib_accessor_class_g2bitmap.h"
|
#include "grib_accessor_class_g2bitmap.h"
|
||||||
#include "shared_functions.h"
|
|
||||||
|
|
||||||
grib_accessor_class_g2bitmap_t _grib_accessor_class_g2bitmap{ "g2bitmap" };
|
grib_accessor_class_g2bitmap_t _grib_accessor_class_g2bitmap{ "g2bitmap" };
|
||||||
grib_accessor_class* grib_accessor_class_g2bitmap = &_grib_accessor_class_g2bitmap;
|
grib_accessor_class* grib_accessor_class_g2bitmap = &_grib_accessor_class_g2bitmap;
|
||||||
|
@ -24,6 +23,14 @@ void grib_accessor_class_g2bitmap_t::init(grib_accessor* a, const long len, grib
|
||||||
self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 4);
|
self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For speed use a local static function
|
||||||
|
static GRIB_INLINE void set_bit_on(unsigned char* p, long* bitp)
|
||||||
|
{
|
||||||
|
p += *bitp / 8;
|
||||||
|
*p |= (1u << (7 - ((*bitp) % 8)));
|
||||||
|
(*bitp)++;
|
||||||
|
}
|
||||||
|
|
||||||
int grib_accessor_class_g2bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len)
|
int grib_accessor_class_g2bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len)
|
||||||
{
|
{
|
||||||
grib_accessor_g2bitmap_t* self = (grib_accessor_g2bitmap_t*)a;
|
grib_accessor_g2bitmap_t* self = (grib_accessor_g2bitmap_t*)a;
|
||||||
|
@ -48,7 +55,7 @@ int grib_accessor_class_g2bitmap_t::pack_double(grib_accessor* a, const double*
|
||||||
pos++;
|
pos++;
|
||||||
else {
|
else {
|
||||||
// bmaplen++;
|
// bmaplen++;
|
||||||
grib_set_bit_on(buf, &pos);
|
set_bit_on(buf, &pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -112,8 +112,8 @@ static int get_number_of_data_values(grib_handle* h, size_t* numDataValues)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len);
|
static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len);
|
||||||
int unpack_long_new(grib_accessor* a, long* val, size_t* len);
|
static int unpack_long_new(grib_accessor* a, long* val, size_t* len);
|
||||||
|
|
||||||
int grib_accessor_class_number_of_points_gaussian_t::unpack_long(grib_accessor* a, long* val, size_t* len)
|
int grib_accessor_class_number_of_points_gaussian_t::unpack_long(grib_accessor* a, long* val, size_t* len)
|
||||||
{
|
{
|
||||||
|
@ -132,7 +132,7 @@ int grib_accessor_class_number_of_points_gaussian_t::unpack_long(grib_accessor*
|
||||||
}
|
}
|
||||||
|
|
||||||
/* New algorithm */
|
/* New algorithm */
|
||||||
int unpack_long_new(grib_accessor* a, long* val, size_t* len)
|
static int unpack_long_new(grib_accessor* a, long* val, size_t* len)
|
||||||
{
|
{
|
||||||
int err = GRIB_SUCCESS;
|
int err = GRIB_SUCCESS;
|
||||||
int is_global = 0;
|
int is_global = 0;
|
||||||
|
@ -241,7 +241,7 @@ int unpack_long_new(grib_accessor* a, long* val, size_t* len)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* With Legacy support */
|
/* With Legacy support */
|
||||||
int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len)
|
static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len)
|
||||||
{
|
{
|
||||||
int err = GRIB_SUCCESS;
|
int err = GRIB_SUCCESS;
|
||||||
int is_global = 0;
|
int is_global = 0;
|
||||||
|
|
|
@ -18,7 +18,7 @@ grib_accessor_class* grib_accessor_class_smart_table = &_grib_accessor_class_sma
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -30,7 +30,7 @@ static void thread_init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
void thread_init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c)
|
GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c)
|
||||||
{
|
{
|
||||||
|
@ -183,7 +183,7 @@ static int grib_load_smart_table(grib_context* c, const char* filename,
|
||||||
t->recomposed_name[0] = grib_context_strdup_persistent(c, recomposed_name);
|
t->recomposed_name[0] = grib_context_strdup_persistent(c, recomposed_name);
|
||||||
t->next = c->smart_table;
|
t->next = c->smart_table;
|
||||||
t->numberOfEntries = size;
|
t->numberOfEntries = size;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &thread_init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
c->smart_table = t;
|
c->smart_table = t;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex);
|
GRIB_MUTEX_UNLOCK(&mutex);
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "grib_accessor_class_validity_date.h"
|
#include "grib_accessor_class_validity_date.h"
|
||||||
#include "shared_functions.h"
|
|
||||||
|
|
||||||
grib_accessor_class_validity_date_t _grib_accessor_class_validity_date{ "validity_date" };
|
grib_accessor_class_validity_date_t _grib_accessor_class_validity_date{ "validity_date" };
|
||||||
grib_accessor_class* grib_accessor_class_validity_date = &_grib_accessor_class_validity_date;
|
grib_accessor_class* grib_accessor_class_validity_date = &_grib_accessor_class_validity_date;
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "grib_accessor_class_validity_time.h"
|
#include "grib_accessor_class_validity_time.h"
|
||||||
#include "shared_functions.h"
|
|
||||||
|
|
||||||
grib_accessor_class_validity_time_t _grib_accessor_class_validity_time{ "validity_time" };
|
grib_accessor_class_validity_time_t _grib_accessor_class_validity_time{ "validity_time" };
|
||||||
grib_accessor_class* grib_accessor_class_validity_time = &_grib_accessor_class_validity_time;
|
grib_accessor_class* grib_accessor_class_validity_time = &_grib_accessor_class_validity_time;
|
||||||
|
|
|
@ -95,7 +95,7 @@ static void init_class(grib_action_class* c)
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -107,7 +107,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_action_class_concept_c)
|
GRIB_OMP_CRITICAL(lock_action_class_concept_c)
|
||||||
{
|
{
|
||||||
|
@ -306,7 +306,7 @@ static grib_concept_value* get_concept_impl(grib_handle* h, grib_action_concept*
|
||||||
static grib_concept_value* get_concept(grib_handle* h, grib_action_concept* self)
|
static grib_concept_value* get_concept(grib_handle* h, grib_action_concept* self)
|
||||||
{
|
{
|
||||||
grib_concept_value* result = NULL;
|
grib_concept_value* result = NULL;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
result = get_concept_impl(h, self);
|
result = get_concept_impl(h, self);
|
||||||
|
|
|
@ -98,7 +98,7 @@ static void init_class(grib_action_class* c)
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -110,7 +110,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_action_class_hash_array_c)
|
GRIB_OMP_CRITICAL(lock_action_class_hash_array_c)
|
||||||
{
|
{
|
||||||
|
@ -325,7 +325,7 @@ static grib_hash_array_value* get_hash_array_impl(grib_handle* h, grib_action* a
|
||||||
grib_hash_array_value* get_hash_array(grib_handle* h, grib_action* a)
|
grib_hash_array_value* get_hash_array(grib_handle* h, grib_action* a)
|
||||||
{
|
{
|
||||||
grib_hash_array_value* result = NULL;
|
grib_hash_array_value* result = NULL;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
result = get_hash_array_impl(h, a);
|
result = get_hash_array_impl(h, a);
|
||||||
|
|
|
@ -244,6 +244,41 @@ int is_time_valid(long number)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Table of multipliers to convert step units to minutes */
|
||||||
|
static const double u2m[] = {
|
||||||
|
1, /* index 0: minutes */
|
||||||
|
60, /* index 1: hour */
|
||||||
|
24 * 60, /* index 2: day */
|
||||||
|
24 * 60 * 30, /* index 3: month */
|
||||||
|
-1, /* index 4: year */
|
||||||
|
-1, /* index 5: decade */
|
||||||
|
-1, /* index 6: 30 years */
|
||||||
|
-1, /* index 7: century */
|
||||||
|
-1, /* index 8: RESERVED */
|
||||||
|
-1, /* index 9: RESERVED */
|
||||||
|
3 * 60, /* index 10: 3 hours */
|
||||||
|
6 * 60, /* index 11: 6 hours */
|
||||||
|
12 * 60, /* index 12: 12 hours */
|
||||||
|
1 / 60.0, /* index 13: seconds */
|
||||||
|
15, /* index 14: 15 mins */
|
||||||
|
30 /* index 15: 30 mins */
|
||||||
|
};
|
||||||
|
|
||||||
|
long convert_to_minutes(long step, long stepUnits)
|
||||||
|
{
|
||||||
|
double result = 0;
|
||||||
|
if (stepUnits == 0)
|
||||||
|
return step; /* unit=minutes so no change */
|
||||||
|
if (stepUnits == 1)
|
||||||
|
return step * 60; /* unit=hours */
|
||||||
|
if (stepUnits == 13)
|
||||||
|
return step / 60; /* unit=seconds */
|
||||||
|
/* Assert( stepUnits < sizeof(u2m)/sizeof(u2m[0]) ); */
|
||||||
|
|
||||||
|
result = step * u2m[stepUnits];
|
||||||
|
return (long)result;
|
||||||
|
}
|
||||||
|
|
||||||
static float float_epsilon(void)
|
static float float_epsilon(void)
|
||||||
{
|
{
|
||||||
float floatEps = 1.0;
|
float floatEps = 1.0;
|
||||||
|
|
|
@ -308,6 +308,7 @@ int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_
|
||||||
unsigned long grib_decode_unsigned_byte_long(const unsigned char* p, long o, int l);
|
unsigned long grib_decode_unsigned_byte_long(const unsigned char* p, long o, int l);
|
||||||
long grib_decode_signed_long(const unsigned char* p, long o, int l);
|
long grib_decode_signed_long(const unsigned char* p, long o, int l);
|
||||||
int grib_encode_signed_long(unsigned char* p, long val, long o, int l);
|
int grib_encode_signed_long(unsigned char* p, long val, long o, int l);
|
||||||
|
void grib_set_bit_on(unsigned char*, long*);
|
||||||
void grib_set_bits_on(unsigned char* p, long* bitp, long nbits);
|
void grib_set_bits_on(unsigned char* p, long* bitp, long nbits);
|
||||||
int grib_get_bit(const unsigned char* p, long bitp);
|
int grib_get_bit(const unsigned char* p, long bitp);
|
||||||
void grib_set_bit(unsigned char* p, long bitp, int val);
|
void grib_set_bit(unsigned char* p, long bitp, int val);
|
||||||
|
@ -853,6 +854,7 @@ int codes_check_grib_ieee_packing_value(int value);
|
||||||
int codes_flush_sync_close_file(FILE* f);
|
int codes_flush_sync_close_file(FILE* f);
|
||||||
int is_date_valid(long year, long month, long day, long hour, long minute, double second);
|
int is_date_valid(long year, long month, long day, long hour, long minute, double second);
|
||||||
int is_time_valid(long number); // number is HHMM
|
int is_time_valid(long number); // number is HHMM
|
||||||
|
long convert_to_minutes(long step, long stepUnits);
|
||||||
int compute_scaled_value_and_scale_factor(double input, int64_t scaled_value_max, int64_t scale_factor_max, int64_t* ret_value, int64_t* ret_factor);
|
int compute_scaled_value_and_scale_factor(double input, int64_t scaled_value_max, int64_t scale_factor_max, int64_t* ret_value, int64_t* ret_factor);
|
||||||
|
|
||||||
/* grib_util.cc */
|
/* grib_util.cc */
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -34,7 +34,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex1;
|
static omp_nest_lock_t mutex1;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_c)
|
GRIB_OMP_CRITICAL(lock_grib_accessor_class_c)
|
||||||
{
|
{
|
||||||
|
@ -77,7 +77,7 @@ grib_section* grib_create_root_section(const grib_context* context, grib_handle*
|
||||||
char* fpath = 0;
|
char* fpath = 0;
|
||||||
grib_section* s = (grib_section*)grib_context_malloc_clear(context, sizeof(grib_section));
|
grib_section* s = (grib_section*)grib_context_malloc_clear(context, sizeof(grib_section));
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
if (h->context->grib_reader == NULL) {
|
if (h->context->grib_reader == NULL) {
|
||||||
if ((fpath = grib_context_full_defs_path(h->context, "boot.def")) == NULL) {
|
if ((fpath = grib_context_full_defs_path(h->context, "boot.def")) == NULL) {
|
||||||
|
|
|
@ -117,7 +117,7 @@ int grib_encode_signed_long(unsigned char* p, long val, long o, int l)
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void grib_set_bit_on(unsigned char* p, long* bitp)
|
void grib_set_bit_on(unsigned char* p, long* bitp)
|
||||||
{
|
{
|
||||||
p += *bitp / 8;
|
p += *bitp / 8;
|
||||||
*p |= (1u << (7 - ((*bitp) % 8)));
|
*p |= (1u << (7 - ((*bitp) % 8)));
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -34,7 +34,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_bits_any_endian_c)
|
GRIB_OMP_CRITICAL(lock_grib_bits_any_endian_c)
|
||||||
{
|
{
|
||||||
|
@ -77,7 +77,7 @@ static void init_bits_all_one()
|
||||||
|
|
||||||
static void init_bits_all_one_if_needed()
|
static void init_bits_all_one_if_needed()
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
if (!bits_all_one.inited)
|
if (!bits_all_one.inited)
|
||||||
init_bits_all_one();
|
init_bits_all_one();
|
||||||
|
|
|
@ -41,7 +41,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex_mem = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex_mem = PTHREAD_MUTEX_INITIALIZER;
|
||||||
static pthread_mutex_t mutex_c = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex_c = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -55,7 +55,7 @@ static int once = 0;
|
||||||
static omp_nest_lock_t mutex_mem;
|
static omp_nest_lock_t mutex_mem;
|
||||||
static omp_nest_lock_t mutex_c;
|
static omp_nest_lock_t mutex_c;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_context_c)
|
GRIB_OMP_CRITICAL(lock_grib_context_c)
|
||||||
{
|
{
|
||||||
|
@ -374,7 +374,7 @@ static grib_context default_grib_context = {
|
||||||
|
|
||||||
grib_context* grib_context_get_default()
|
grib_context* grib_context_get_default()
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
if (!default_grib_context.inited) {
|
if (!default_grib_context.inited) {
|
||||||
|
@ -569,7 +569,7 @@ grib_context* grib_context_get_default()
|
||||||
|
|
||||||
// if (!parent) parent=grib_context_get_default();
|
// if (!parent) parent=grib_context_get_default();
|
||||||
|
|
||||||
// GRIB_MUTEX_INIT_ONCE(&once,&init);
|
// GRIB_MUTEX_INIT_ONCE(&once,&init_mutex);
|
||||||
// GRIB_MUTEX_LOCK(&(parent->mutex));
|
// GRIB_MUTEX_LOCK(&(parent->mutex));
|
||||||
|
|
||||||
// c = (grib_context*)grib_context_malloc_clear_persistent(&default_grib_context,sizeof(grib_context));
|
// c = (grib_context*)grib_context_malloc_clear_persistent(&default_grib_context,sizeof(grib_context));
|
||||||
|
@ -646,7 +646,7 @@ static int init_definition_files_dir(grib_context* c)
|
||||||
strncpy(path, c->grib_definition_files_path, ECC_PATH_MAXLEN-1);
|
strncpy(path, c->grib_definition_files_path, ECC_PATH_MAXLEN-1);
|
||||||
path[ ECC_PATH_MAXLEN - 1 ] = '\0';
|
path[ ECC_PATH_MAXLEN - 1 ] = '\0';
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
p = path;
|
p = path;
|
||||||
|
@ -692,7 +692,7 @@ char* grib_context_full_defs_path(grib_context* c, const char* basename)
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
|
|
||||||
if (*basename == '/' || *basename == '.') {
|
if (*basename == '/' || *basename == '.') {
|
||||||
return (char*)basename;
|
return (char*)basename;
|
||||||
|
@ -880,7 +880,7 @@ void grib_context_set_definitions_path(grib_context* c, const char* path)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
c->grib_definition_files_path = strdup(path);
|
c->grib_definition_files_path = strdup(path);
|
||||||
|
@ -892,7 +892,7 @@ void grib_context_set_samples_path(grib_context* c, const char* path)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
c->grib_samples_path = strdup(path);
|
c->grib_samples_path = strdup(path);
|
||||||
|
@ -1095,7 +1095,7 @@ int grib_context_get_handle_file_count(grib_context* c)
|
||||||
int r = 0;
|
int r = 0;
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
r = c->handle_file_count;
|
r = c->handle_file_count;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1106,7 +1106,7 @@ int grib_context_get_handle_total_count(grib_context* c)
|
||||||
int r = 0;
|
int r = 0;
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
r = c->handle_total_count;
|
r = c->handle_total_count;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1117,7 +1117,7 @@ void grib_context_set_handle_file_count(grib_context* c, int new_count)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
c->handle_file_count = new_count;
|
c->handle_file_count = new_count;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1126,7 +1126,7 @@ void grib_context_set_handle_total_count(grib_context* c, int new_count)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
c->handle_total_count = new_count;
|
c->handle_total_count = new_count;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1136,7 +1136,7 @@ void grib_context_increment_handle_file_count(grib_context* c)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
c->handle_file_count++;
|
c->handle_file_count++;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1145,7 +1145,7 @@ void grib_context_increment_handle_total_count(grib_context* c)
|
||||||
{
|
{
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
c->handle_total_count++;
|
c->handle_total_count++;
|
||||||
GRIB_MUTEX_UNLOCK(&mutex_c);
|
GRIB_MUTEX_UNLOCK(&mutex_c);
|
||||||
|
@ -1160,7 +1160,7 @@ bufr_descriptors_array* grib_context_expanded_descriptors_list_get(grib_context*
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
if (!c->expanded_descriptors) {
|
if (!c->expanded_descriptors) {
|
||||||
|
@ -1200,7 +1200,7 @@ void grib_context_expanded_descriptors_list_push(grib_context* c,
|
||||||
if (!c)
|
if (!c)
|
||||||
c = grib_context_get_default();
|
c = grib_context_get_default();
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_c);
|
GRIB_MUTEX_LOCK(&mutex_c);
|
||||||
|
|
||||||
newdescriptorsList = (bufr_descriptors_map_list*)grib_context_malloc_clear(c, sizeof(bufr_descriptors_map_list));
|
newdescriptorsList = (bufr_descriptors_map_list*)grib_context_malloc_clear(c, sizeof(bufr_descriptors_map_list));
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -27,7 +27,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex1;
|
static omp_nest_lock_t mutex1;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_filepool_c)
|
GRIB_OMP_CRITICAL(lock_grib_filepool_c)
|
||||||
{
|
{
|
||||||
|
@ -175,7 +175,7 @@ grib_file* grib_file_open(const char* filename, const char* mode, int* err)
|
||||||
grib_file *file = 0, *prev = 0;
|
grib_file *file = 0, *prev = 0;
|
||||||
int same_mode = 0;
|
int same_mode = 0;
|
||||||
int is_new = 0;
|
int is_new = 0;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
|
|
||||||
if (!file_pool.context)
|
if (!file_pool.context)
|
||||||
file_pool.context = grib_context_get_default();
|
file_pool.context = grib_context_get_default();
|
||||||
|
@ -257,7 +257,7 @@ grib_file* grib_file_open(const char* filename, const char* mode, int* err)
|
||||||
void grib_file_pool_delete_file(grib_file* file)
|
void grib_file_pool_delete_file(grib_file* file)
|
||||||
{
|
{
|
||||||
grib_file* prev = NULL;
|
grib_file* prev = NULL;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
|
|
||||||
if (file == file_pool.first) {
|
if (file == file_pool.first) {
|
||||||
|
@ -299,7 +299,7 @@ void grib_file_close(const char* filename, int force, int* err)
|
||||||
|
|
||||||
if (do_close) {
|
if (do_close) {
|
||||||
/*printf("+++++++++++++ closing file %s (n=%d)\n",filename, file_pool.number_of_opened_files);*/
|
/*printf("+++++++++++++ closing file %s (n=%d)\n",filename, file_pool.number_of_opened_files);*/
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
file = grib_get_file(filename, err);
|
file = grib_get_file(filename, err);
|
||||||
if (file->handle) {
|
if (file->handle) {
|
||||||
|
@ -323,7 +323,7 @@ void grib_file_close_all(int* err)
|
||||||
if (!file_pool.first)
|
if (!file_pool.first)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
|
|
||||||
file = file_pool.first;
|
file = file_pool.first;
|
||||||
|
@ -390,7 +390,7 @@ static grib_file* grib_file_new(grib_context* c, const char* name, int* err)
|
||||||
*err = GRIB_OUT_OF_MEMORY;
|
*err = GRIB_OUT_OF_MEMORY;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
|
|
||||||
file->name = strdup(name);
|
file->name = strdup(name);
|
||||||
file->id = next_id;
|
file->id = next_id;
|
||||||
|
@ -412,7 +412,7 @@ void grib_file_delete(grib_file* file)
|
||||||
{
|
{
|
||||||
if (!file) return;
|
if (!file) return;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
/* GRIB-803: cannot call fclose yet! Causes crash */
|
/* GRIB-803: cannot call fclose yet! Causes crash */
|
||||||
/* TODO: Set handle to NULL in filepool too */
|
/* TODO: Set handle to NULL in filepool too */
|
||||||
|
|
|
@ -9743,7 +9743,7 @@ static const int mapping[] = {
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -9755,7 +9755,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c)
|
GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c)
|
||||||
{
|
{
|
||||||
|
@ -9787,7 +9787,7 @@ grib_itrie* grib_hash_keys_new(grib_context* c, int* count)
|
||||||
|
|
||||||
void grib_hash_keys_delete(grib_itrie* t)
|
void grib_hash_keys_delete(grib_itrie* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
if (t) {
|
if (t) {
|
||||||
|
@ -9808,7 +9808,7 @@ static int grib_hash_keys_insert(grib_itrie* t, const char* key)
|
||||||
grib_itrie* last = t;
|
grib_itrie* last = t;
|
||||||
int* count;
|
int* count;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
Assert(t);
|
Assert(t);
|
||||||
|
@ -9862,7 +9862,7 @@ int grib_hash_keys_get_id(grib_itrie* t, const char* key)
|
||||||
const char* k = key;
|
const char* k = key;
|
||||||
grib_itrie* last = t;
|
grib_itrie* last = t;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t)
|
while (*k && t)
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
static pthread_mutex_t mutex2 = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex2 = PTHREAD_MUTEX_INITIALIZER;
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -27,7 +27,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex1;
|
static omp_nest_lock_t mutex1;
|
||||||
static omp_nest_lock_t mutex2;
|
static omp_nest_lock_t mutex2;
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_io_c)
|
GRIB_OMP_CRITICAL(lock_grib_io_c)
|
||||||
{
|
{
|
||||||
|
@ -931,7 +931,7 @@ static int read_any(reader* r, int no_alloc, int grib_ok, int bufr_ok, int hdf5_
|
||||||
* so each thread gets its own message. Otherwise if threads are passed
|
* so each thread gets its own message. Otherwise if threads are passed
|
||||||
* different files, then the lock is not needed
|
* different files, then the lock is not needed
|
||||||
*/
|
*/
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex1);
|
GRIB_MUTEX_LOCK(&mutex1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -276,7 +276,7 @@ static const int mapping[] = {
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -288,7 +288,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_itrie_c)
|
GRIB_OMP_CRITICAL(lock_grib_itrie_c)
|
||||||
{
|
{
|
||||||
|
@ -319,7 +319,7 @@ grib_itrie* grib_itrie_new(grib_context* c, int* count)
|
||||||
|
|
||||||
void grib_itrie_delete(grib_itrie* t)
|
void grib_itrie_delete(grib_itrie* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
if (t) {
|
if (t) {
|
||||||
|
@ -343,7 +343,7 @@ int grib_itrie_get_id(grib_itrie* t, const char* key)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t)
|
while (*k && t)
|
||||||
|
@ -371,7 +371,7 @@ int grib_itrie_insert(grib_itrie* t, const char* key)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
count = t->count;
|
count = t->count;
|
||||||
|
|
|
@ -273,7 +273,7 @@ static const int mapping[] = {
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -285,7 +285,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c)
|
GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c)
|
||||||
{
|
{
|
||||||
|
@ -317,7 +317,7 @@ grib_itrie* grib_hash_keys_new(grib_context* c, int* count)
|
||||||
|
|
||||||
void grib_hash_keys_delete(grib_itrie* t)
|
void grib_hash_keys_delete(grib_itrie* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
if (t) {
|
if (t) {
|
||||||
|
@ -338,7 +338,7 @@ static int grib_hash_keys_insert(grib_itrie* t, const char* key)
|
||||||
grib_itrie* last = t;
|
grib_itrie* last = t;
|
||||||
int* count;
|
int* count;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
Assert(t);
|
Assert(t);
|
||||||
|
@ -392,7 +392,7 @@ int grib_hash_keys_get_id(grib_itrie* t, const char* key)
|
||||||
const char* k = key;
|
const char* k = key;
|
||||||
grib_itrie* last = t;
|
grib_itrie* last = t;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t)
|
while (*k && t)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_memory_c)
|
GRIB_OMP_CRITICAL(lock_grib_memory_c)
|
||||||
{
|
{
|
||||||
|
@ -108,7 +108,7 @@ static void* fast_new(size_t s, mempool* pool)
|
||||||
char* p;
|
char* p;
|
||||||
memblk* m;
|
memblk* m;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
m = (memblk*)pool->priv;
|
m = (memblk*)pool->priv;
|
||||||
|
@ -167,7 +167,7 @@ static void fast_delete(void* p, mempool* pool)
|
||||||
memblk* m;
|
memblk* m;
|
||||||
memblk* n = NULL;
|
memblk* n = NULL;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
m = (memblk*)pool->priv;
|
m = (memblk*)pool->priv;
|
||||||
|
@ -271,7 +271,7 @@ void* grib_buffer_malloc(const grib_context* c, size_t s)
|
||||||
{
|
{
|
||||||
memblk* r;
|
memblk* r;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
s = ((s + WORD - 1) / WORD) * WORD;
|
s = ((s + WORD - 1) / WORD) * WORD;
|
||||||
|
@ -307,7 +307,7 @@ void grib_buffer_free(const grib_context* c, void* p)
|
||||||
memblk* r;
|
memblk* r;
|
||||||
memblk* s;
|
memblk* s;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
r = (memblk*)(((char*)p) - HEADER_SIZE);
|
r = (memblk*)(((char*)p) - HEADER_SIZE);
|
||||||
|
|
|
@ -35,7 +35,7 @@ static pthread_mutex_t mutex_hash_array = PTHREAD_MUTEX_INITIALIZER;
|
||||||
static pthread_mutex_t mutex_stream = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex_stream = PTHREAD_MUTEX_INITIALIZER;
|
||||||
static pthread_mutex_t mutex_parse = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex_parse = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -57,7 +57,7 @@ static omp_nest_lock_t mutex_hash_array;
|
||||||
static omp_nest_lock_t mutex_stream;
|
static omp_nest_lock_t mutex_stream;
|
||||||
static omp_nest_lock_t mutex_parse;
|
static omp_nest_lock_t mutex_parse;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_parse_utils_c)
|
GRIB_OMP_CRITICAL(lock_grib_parse_utils_c)
|
||||||
{
|
{
|
||||||
|
@ -717,7 +717,7 @@ extern int grib_yyparse(void);
|
||||||
static int parse(grib_context* gc, const char* filename)
|
static int parse(grib_context* gc, const char* filename)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_parse);
|
GRIB_MUTEX_LOCK(&mutex_parse);
|
||||||
|
|
||||||
#ifdef YYDEBUG
|
#ifdef YYDEBUG
|
||||||
|
@ -752,7 +752,7 @@ static int parse(grib_context* gc, const char* filename)
|
||||||
|
|
||||||
static grib_action* grib_parse_stream(grib_context* gc, const char* filename)
|
static grib_action* grib_parse_stream(grib_context* gc, const char* filename)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_stream);
|
GRIB_MUTEX_LOCK(&mutex_stream);
|
||||||
|
|
||||||
grib_parser_all_actions = 0;
|
grib_parser_all_actions = 0;
|
||||||
|
@ -776,7 +776,7 @@ static grib_action* grib_parse_stream(grib_context* gc, const char* filename)
|
||||||
|
|
||||||
grib_concept_value* grib_parse_concept_file(grib_context* gc, const char* filename)
|
grib_concept_value* grib_parse_concept_file(grib_context* gc, const char* filename)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_file);
|
GRIB_MUTEX_LOCK(&mutex_file);
|
||||||
|
|
||||||
gc = gc ? gc : grib_context_get_default();
|
gc = gc ? gc : grib_context_get_default();
|
||||||
|
@ -794,7 +794,7 @@ grib_concept_value* grib_parse_concept_file(grib_context* gc, const char* filena
|
||||||
|
|
||||||
grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char* filename)
|
grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char* filename)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_file);
|
GRIB_MUTEX_LOCK(&mutex_file);
|
||||||
|
|
||||||
gc = gc ? gc : grib_context_get_default();
|
gc = gc ? gc : grib_context_get_default();
|
||||||
|
@ -813,7 +813,7 @@ grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char*
|
||||||
// grib_rule* grib_parse_rules_file(grib_context* gc, const char* filename)
|
// grib_rule* grib_parse_rules_file(grib_context* gc, const char* filename)
|
||||||
// {
|
// {
|
||||||
// if (!gc) gc = grib_context_get_default();
|
// if (!gc) gc = grib_context_get_default();
|
||||||
// GRIB_MUTEX_INIT_ONCE(&once, &init);
|
// GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
// GRIB_MUTEX_LOCK(&mutex_rules);
|
// GRIB_MUTEX_LOCK(&mutex_rules);
|
||||||
// gc = gc ? gc : grib_context_get_default();
|
// gc = gc ? gc : grib_context_get_default();
|
||||||
// grib_parser_context = gc;
|
// grib_parser_context = gc;
|
||||||
|
@ -831,7 +831,7 @@ grib_action* grib_parse_file(grib_context* gc, const char* filename)
|
||||||
{
|
{
|
||||||
grib_action_file* af;
|
grib_action_file* af;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex_file);
|
GRIB_MUTEX_LOCK(&mutex_file);
|
||||||
|
|
||||||
af = 0;
|
af = 0;
|
||||||
|
|
|
@ -292,7 +292,7 @@ static const size_t NUM_MAPPINGS = sizeof(mapping) / sizeof(mapping[0]);
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -304,7 +304,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_trie_c)
|
GRIB_OMP_CRITICAL(lock_grib_trie_c)
|
||||||
{
|
{
|
||||||
|
@ -340,7 +340,7 @@ grib_trie* grib_trie_new(grib_context* c)
|
||||||
|
|
||||||
void grib_trie_delete_container(grib_trie* t)
|
void grib_trie_delete_container(grib_trie* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
if (t) {
|
if (t) {
|
||||||
int i;
|
int i;
|
||||||
|
@ -359,7 +359,7 @@ void grib_trie_delete_container(grib_trie* t)
|
||||||
|
|
||||||
void grib_trie_delete(grib_trie* t)
|
void grib_trie_delete(grib_trie* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
if (t) {
|
if (t) {
|
||||||
int i;
|
int i;
|
||||||
|
@ -399,7 +399,7 @@ void* grib_trie_insert(grib_trie* t, const char* key, void* data)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t) {
|
while (*k && t) {
|
||||||
|
@ -474,7 +474,7 @@ void* grib_trie_insert_no_replace(grib_trie* t, const char* key, void* data)
|
||||||
void* grib_trie_get(grib_trie* t, const char* key)
|
void* grib_trie_get(grib_trie* t, const char* key)
|
||||||
{
|
{
|
||||||
const char* k = key;
|
const char* k = key;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t) {
|
while (*k && t) {
|
||||||
|
|
|
@ -292,7 +292,7 @@ static const size_t NUM_MAPPINGS = sizeof(mapping) / sizeof(mapping[0]);
|
||||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
|
@ -304,7 +304,7 @@ static void init()
|
||||||
static int once = 0;
|
static int once = 0;
|
||||||
static omp_nest_lock_t mutex;
|
static omp_nest_lock_t mutex;
|
||||||
|
|
||||||
static void init()
|
static void init_mutex()
|
||||||
{
|
{
|
||||||
GRIB_OMP_CRITICAL(lock_grib_trie_with_rank_c)
|
GRIB_OMP_CRITICAL(lock_grib_trie_with_rank_c)
|
||||||
{
|
{
|
||||||
|
@ -376,7 +376,7 @@ static void _grib_trie_with_rank_delete_container(grib_trie_with_rank* t)
|
||||||
}
|
}
|
||||||
void grib_trie_with_rank_delete_container(grib_trie_with_rank* t)
|
void grib_trie_with_rank_delete_container(grib_trie_with_rank* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
_grib_trie_with_rank_delete_container(t);
|
_grib_trie_with_rank_delete_container(t);
|
||||||
GRIB_MUTEX_UNLOCK(&mutex);
|
GRIB_MUTEX_UNLOCK(&mutex);
|
||||||
|
@ -397,7 +397,7 @@ static void grib_trie_with_rank_delete_list(grib_context* c,grib_trie_with_rank_
|
||||||
|
|
||||||
void grib_trie_with_rank_delete(grib_trie_with_rank* t)
|
void grib_trie_with_rank_delete(grib_trie_with_rank* t)
|
||||||
{
|
{
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
if (t) {
|
if (t) {
|
||||||
int i;
|
int i;
|
||||||
|
@ -456,7 +456,7 @@ int grib_trie_with_rank_insert(grib_trie_with_rank* t, const char* key, void* da
|
||||||
DEBUG_ASSERT(t);
|
DEBUG_ASSERT(t);
|
||||||
if (!t) return -1;
|
if (!t) return -1;
|
||||||
|
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
GRIB_MUTEX_LOCK(&mutex);
|
GRIB_MUTEX_LOCK(&mutex);
|
||||||
|
|
||||||
while (*k && t) {
|
while (*k && t) {
|
||||||
|
@ -506,7 +506,7 @@ void* grib_trie_with_rank_get(grib_trie_with_rank* t, const char* key, int rank)
|
||||||
{
|
{
|
||||||
const char* k = key;
|
const char* k = key;
|
||||||
void* data;
|
void* data;
|
||||||
GRIB_MUTEX_INIT_ONCE(&once, &init);
|
GRIB_MUTEX_INIT_ONCE(&once, &init_mutex);
|
||||||
|
|
||||||
if (rank < 0)
|
if (rank < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
#include "shared_functions.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* Table of multipliers to convert step units to minutes */
|
|
||||||
static const double u2m[] = {
|
|
||||||
1, /* index 0: minutes */
|
|
||||||
60, /* index 1: hour */
|
|
||||||
24 * 60, /* index 2: day */
|
|
||||||
24 * 60 * 30, /* index 3: month */
|
|
||||||
-1, /* index 4: year */
|
|
||||||
-1, /* index 5: decade */
|
|
||||||
-1, /* index 6: 30 years */
|
|
||||||
-1, /* index 7: century */
|
|
||||||
-1, /* index 8: RESERVED */
|
|
||||||
-1, /* index 9: RESERVED */
|
|
||||||
3 * 60, /* index 10: 3 hours */
|
|
||||||
6 * 60, /* index 11: 6 hours */
|
|
||||||
12 * 60, /* index 12: 12 hours */
|
|
||||||
1 / 60.0, /* index 13: seconds */
|
|
||||||
15, /* index 14: 15 mins */
|
|
||||||
30 /* index 15: 30 mins */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void grib_set_bit_on(unsigned char* p, long* bitp){
|
|
||||||
unsigned char o = 1;
|
|
||||||
p += (*bitp >> 3);
|
|
||||||
o <<= 7 - ((*bitp) % 8);
|
|
||||||
*p |= o;
|
|
||||||
(*bitp) += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
long convert_to_minutes(long step, long stepUnits)
|
|
||||||
{
|
|
||||||
double result = 0;
|
|
||||||
if (stepUnits == 0)
|
|
||||||
return step; /* unit=minutes so no change */
|
|
||||||
if (stepUnits == 1)
|
|
||||||
return step * 60; /* unit=hours */
|
|
||||||
if (stepUnits == 13)
|
|
||||||
return step / 60; /* unit=seconds */
|
|
||||||
/* Assert( stepUnits < sizeof(u2m)/sizeof(u2m[0]) ); */
|
|
||||||
|
|
||||||
result = step * u2m[stepUnits];
|
|
||||||
return (long)result;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#ifndef eccodes_shared_functions_h
|
|
||||||
#define eccodes_shared_functions_h
|
|
||||||
|
|
||||||
#include "grib_api_internal.h"
|
|
||||||
|
|
||||||
void grib_set_bit_on(unsigned char*, long*);
|
|
||||||
long convert_to_minutes(long step, long stepUnits);
|
|
||||||
|
|
||||||
#endif // eccodes_shared_functions_h
|
|
Loading…
Reference in New Issue