mirror of https://github.com/ecmwf/eccodes.git
Merge branch 'develop' of ssh://git.ecmwf.int:7999/eccodes/eccodes into develop
This commit is contained in:
commit
a038441c13
|
@ -1,10 +1,5 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
# START 1/local.98.1 ----------------------------------------------------------------------
|
|
||||||
# LOCAL 98 1
|
|
||||||
#
|
|
||||||
# localDefinitionTemplate_001
|
|
||||||
# ---------------------------
|
|
||||||
#
|
#
|
||||||
# Description Octet Code Ksec1 Count
|
# Description Octet Code Ksec1 Count
|
||||||
# ----------- ----- ---- ----- -----
|
# ----------- ----- ---- ----- -----
|
||||||
|
@ -21,31 +16,27 @@
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
||||||
unsigned[1] perturbationNumber : dump;
|
unsigned[1] perturbationNumber : dump;
|
||||||
if(perturbationNumber != 0)
|
if(perturbationNumber != 0) {
|
||||||
{
|
|
||||||
alias number = perturbationNumber;
|
alias number = perturbationNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned[1] numberOfForecastsInEnsemble : dump;
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
pad padding_local1_1(1);
|
pad padding_local1_1(1);
|
||||||
|
|
||||||
#1->2
|
# 1->2
|
||||||
alias grib2LocalSectionPresent=present;
|
alias grib2LocalSectionPresent=present;
|
||||||
constant grib2LocalSectionNumber=1;
|
constant grib2LocalSectionNumber=1;
|
||||||
|
|
||||||
if (stepType is "instant" ) {
|
if (stepType is "instant" ) {
|
||||||
if (numberOfForecastsInEnsemble!=0) {
|
if (numberOfForecastsInEnsemble!=0) {
|
||||||
alias productDefinitionTemplateNumber=epsPoint;
|
alias productDefinitionTemplateNumber=epsPoint;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (numberOfForecastsInEnsemble!=0) {
|
if (numberOfForecastsInEnsemble!=0) {
|
||||||
alias productDefinitionTemplateNumber=epsContinous;
|
alias productDefinitionTemplateNumber=epsContinous;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# monthly mean
|
# monthly mean
|
||||||
#if (timeRangeIndicator==113) {
|
#if (timeRangeIndicator==113) {
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
|
||||||
# END 1/local.98.1 ----------------------------------------------------------------------
|
|
||||||
|
|
|
@ -1,22 +1,12 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
# START 1/local.98.244 ----------------------------------------------------------------------
|
|
||||||
# LOCAL 214 98 244
|
|
||||||
#
|
#
|
||||||
#!
|
# # SREPS Short-Range EPS information
|
||||||
#! localDefinitionTemplate_244
|
#
|
||||||
#! ---------------------------
|
# Last update: 20070223
|
||||||
#!
|
#
|
||||||
#! # SREPS Short-Range EPS information
|
# Compatibility with MARS
|
||||||
#!
|
#
|
||||||
#! Last update: 20070223
|
|
||||||
#!
|
|
||||||
#!Description
|
|
||||||
#!-----------
|
|
||||||
#!
|
|
||||||
#!
|
|
||||||
#! Compatibility with MARS
|
|
||||||
#!
|
|
||||||
#localDefinitionNumber
|
#localDefinitionNumber
|
||||||
#Class
|
#Class
|
||||||
#Type
|
#Type
|
||||||
|
@ -24,13 +14,13 @@
|
||||||
#experimentVersionNumber
|
#experimentVersionNumber
|
||||||
#Number
|
#Number
|
||||||
#Total
|
#Total
|
||||||
#!
|
#
|
||||||
#************_EXPERIMENT_************
|
#************_EXPERIMENT_************
|
||||||
#Experiment_Identifier_1
|
#Experiment_Identifier_1
|
||||||
#Experiment_Identifier_2
|
#Experiment_Identifier_2
|
||||||
#Sub-Experiment_Identifier_1
|
#Sub-Experiment_Identifier_1
|
||||||
#Sub-Experiment_Identifier_2
|
#Sub-Experiment_Identifier_2
|
||||||
#!
|
#
|
||||||
#************_PRODUCT_***************
|
#************_PRODUCT_***************
|
||||||
#Original_CodeTable_2_Version_Number
|
#Original_CodeTable_2_Version_Number
|
||||||
#Original_Parameter_Iden_(CodeTable2)
|
#Original_Parameter_Iden_(CodeTable2)
|
||||||
|
@ -38,16 +28,16 @@
|
||||||
#Original_Parameter_Identifier_2
|
#Original_Parameter_Identifier_2
|
||||||
#Product_Identifier_1
|
#Product_Identifier_1
|
||||||
#Product_Identifier_2
|
#Product_Identifier_2
|
||||||
#!
|
#
|
||||||
#! Thresholds and Distributions
|
# Thresholds and Distributions
|
||||||
#!
|
#
|
||||||
#Threshold_[Distribution]_(0=n,1=yes)
|
#Threshold_[Distribution]_(0=n,1=yes)
|
||||||
#Threshold_[Distribution]_Units
|
#Threshold_[Distribution]_Units
|
||||||
#At_least__[Distribut._Proportion_Of]
|
#At_least__[Distribut._Proportion_Of]
|
||||||
#Less_Than_[To_Overall_Distribution]
|
#Less_Than_[To_Overall_Distribution]
|
||||||
#!
|
#
|
||||||
#zeroForFutureProducts
|
#zeroForFutureProducts
|
||||||
#!
|
#
|
||||||
#************_ENSEMBLE_**************
|
#************_ENSEMBLE_**************
|
||||||
#Number_Combination_Ensembles_(1=no)
|
#Number_Combination_Ensembles_(1=no)
|
||||||
#Show_Combination_E._[2]_(0=no,1=yes)
|
#Show_Combination_E._[2]_(0=no,1=yes)
|
||||||
|
@ -63,17 +53,17 @@
|
||||||
#Local_Number_Members_Used
|
#Local_Number_Members_Used
|
||||||
#Local_Number_Members_Possible
|
#Local_Number_Members_Possible
|
||||||
#Local_Number_Members_Missing
|
#Local_Number_Members_Missing
|
||||||
#!
|
#
|
||||||
#listMembersUsed - LIST - Local_Number_Members_Used
|
#listMembersUsed - LIST - Local_Number_Members_Used
|
||||||
#Used_Model_LBC
|
#Used_Model_LBC
|
||||||
#endlistMembersUsed - ENDLIST - listMembersUsed
|
#endlistMembersUsed - ENDLIST - listMembersUsed
|
||||||
#!
|
#
|
||||||
#listMembersMissing - LIST - Local_Number_Members_Missing
|
#listMembersMissing - LIST - Local_Number_Members_Missing
|
||||||
#Missing_Model_LBC
|
#Missing_Model_LBC
|
||||||
#endlistMembersMissing - ENDLIST - listMembersMissing
|
#endlistMembersMissing - ENDLIST - listMembersMissing
|
||||||
#!
|
#
|
||||||
#! More than one Combination
|
# More than one Combination
|
||||||
#!
|
#
|
||||||
#listEnsembleCombination2 - LIST - Show_Combination_E._[2]_(0=no,1=yes)
|
#listEnsembleCombination2 - LIST - Show_Combination_E._[2]_(0=no,1=yes)
|
||||||
#Ensemble_Combinat._Number_(0=no)_[2]
|
#Ensemble_Combinat._Number_(0=no)_[2]
|
||||||
#Ensemble_Identifier_1_[2]
|
#Ensemble_Identifier_1_[2]
|
||||||
|
@ -87,15 +77,15 @@
|
||||||
#Time_Range_One_[2]
|
#Time_Range_One_[2]
|
||||||
#Time_Range_Two_[2]
|
#Time_Range_Two_[2]
|
||||||
#endlistEnsembleCombination2 - ENDLIST - listEnsembleCombination2
|
#endlistEnsembleCombination2 - ENDLIST - listEnsembleCombination2
|
||||||
#!
|
#
|
||||||
#listMembersUsed_[2] - LIST - Local_Number_Members_Used_[2]
|
#listMembersUsed_[2] - LIST - Local_Number_Members_Used_[2]
|
||||||
#Used_Model_LBC_[2]
|
#Used_Model_LBC_[2]
|
||||||
#endlistMembersUsed_[2] - ENDLIST - listMembersUsed_[2]
|
#endlistMembersUsed_[2] - ENDLIST - listMembersUsed_[2]
|
||||||
#!
|
#
|
||||||
#listMembersMissing_[2] - LIST - Local_Number_Members_Missing_[2]
|
#listMembersMissing_[2] - LIST - Local_Number_Members_Missing_[2]
|
||||||
#Missing_Model_LBC_[2]
|
#Missing_Model_LBC_[2]
|
||||||
#endlistMembersMissing_[2] - ENDLIST - listMembersMissing_[2]
|
#endlistMembersMissing_[2] - ENDLIST - listMembersMissing_[2]
|
||||||
#!
|
#
|
||||||
#listEnsembleCombination3 - LIST - Show_Combination_E._[3]_(0=no,1=yes)
|
#listEnsembleCombination3 - LIST - Show_Combination_E._[3]_(0=no,1=yes)
|
||||||
#Ensemble_Combinat._Number_(0=no)_[3]
|
#Ensemble_Combinat._Number_(0=no)_[3]
|
||||||
#Ensemble_Identifier_1_[3]
|
#Ensemble_Identifier_1_[3]
|
||||||
|
@ -109,15 +99,15 @@
|
||||||
#Time_Range_One_[3]
|
#Time_Range_One_[3]
|
||||||
#Time_Range_Two_[3]
|
#Time_Range_Two_[3]
|
||||||
#endlistEnsembleCombination3 - ENDLIST - listEnsembleCombination3
|
#endlistEnsembleCombination3 - ENDLIST - listEnsembleCombination3
|
||||||
#!
|
#
|
||||||
#listMembersUsed_[3] - LIST - Local_Number_Members_Used_[3]
|
#listMembersUsed_[3] - LIST - Local_Number_Members_Used_[3]
|
||||||
#Used_Model_LBC_[3] - A4
|
#Used_Model_LBC_[3] - A4
|
||||||
#endlistMembersUsed_[3] - ENDLIST - listMembersUsed_[3]
|
#endlistMembersUsed_[3] - ENDLIST - listMembersUsed_[3]
|
||||||
#!
|
#
|
||||||
#listMembersMissing_[3] - LIST - Local_Number_Members_Missing_[3]
|
#listMembersMissing_[3] - LIST - Local_Number_Members_Missing_[3]
|
||||||
#Missing_Model_LBC_[3] - A4
|
#Missing_Model_LBC_[3] - A4
|
||||||
#endlistMembersMissing_[3] - ENDLIST - listMembersMissing_[3]
|
#endlistMembersMissing_[3] - ENDLIST - listMembersMissing_[3]
|
||||||
#!
|
#
|
||||||
#listEnsembleCombination4 - LIST - Show_Combination_E._[4]_(0=no,1=yes)
|
#listEnsembleCombination4 - LIST - Show_Combination_E._[4]_(0=no,1=yes)
|
||||||
#Ensemble_Combinat._Number_(0=no)_[4]
|
#Ensemble_Combinat._Number_(0=no)_[4]
|
||||||
#Ensemble_Identifier_1_[4]
|
#Ensemble_Identifier_1_[4]
|
||||||
|
@ -131,21 +121,21 @@
|
||||||
#Time_Range_One_[4]
|
#Time_Range_One_[4]
|
||||||
#Time_Range_Two_[4]
|
#Time_Range_Two_[4]
|
||||||
#endlistEnsembleCombination4 - ENDLIST - listEnsembleCombination4
|
#endlistEnsembleCombination4 - ENDLIST - listEnsembleCombination4
|
||||||
#!
|
#
|
||||||
#listMembersUsed_[4] - LIST - Local_Number_Members_Used_[4]
|
#listMembersUsed_[4] - LIST - Local_Number_Members_Used_[4]
|
||||||
#Used_Model_LBC_[4]
|
#Used_Model_LBC_[4]
|
||||||
#endlistMembersUsed_[4] - ENDLIST - listMembersUsed_[4]
|
#endlistMembersUsed_[4] - ENDLIST - listMembersUsed_[4]
|
||||||
#!
|
#
|
||||||
#listMembersMissing_[4] - LIST - Local_Number_Members_Missing_[4]
|
#listMembersMissing_[4] - LIST - Local_Number_Members_Missing_[4]
|
||||||
#Missing_Model_LBC_[4]
|
#Missing_Model_LBC_[4]
|
||||||
#endlistMembersMissing_[4] - ENDLIST - listMembersMissing_[4]
|
#endlistMembersMissing_[4] - ENDLIST - listMembersMissing_[4]
|
||||||
#!
|
#
|
||||||
#! EXTRA INFORMATION like 191
|
# EXTRA INFORMATION like 191
|
||||||
#*********_EXTRA_DATA_***************
|
#*********_EXTRA_DATA_***************
|
||||||
#Extra_Data_FreeFormat_(0=none)
|
#Extra_Data_FreeFormat_(0=none)
|
||||||
#Data_Descriptor_Bytes - BYTES - Extra_Data_FreeFormat_(0=none)
|
#Data_Descriptor_Bytes - BYTES - Extra_Data_FreeFormat_(0=none)
|
||||||
#padToAMultipleOf80Bytes - PADFROM n/a
|
#padToAMultipleOf80Bytes - PADFROM n/a
|
||||||
#!
|
#
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,13 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
# START 1/local.98.245 ----------------------------------------------------------------------
|
# # Members iformation of
|
||||||
# LOCAL 214 98 245
|
# # SREPS Short-Range EPS
|
||||||
|
#
|
||||||
|
# Last update: 20070323
|
||||||
|
#
|
||||||
|
#Description Octet Code Ksec1 Count
|
||||||
|
#----------- ----- ---- ----- -----
|
||||||
#
|
#
|
||||||
#!
|
|
||||||
#! localDefinitionTemplate_245
|
|
||||||
#! ---------------------------
|
|
||||||
#!
|
|
||||||
#! # Members iformation of
|
|
||||||
#! # SREPS Short-Range EPS
|
|
||||||
#!
|
|
||||||
#! Last update: 20070323
|
|
||||||
#!
|
|
||||||
#!Description Octet Code Ksec1 Count
|
|
||||||
#!----------- ----- ---- ----- -----
|
|
||||||
#!
|
|
||||||
#localDefinitionNumber 41 I1 37 -
|
#localDefinitionNumber 41 I1 37 -
|
||||||
#class 42 I1 38 -
|
#class 42 I1 38 -
|
||||||
#type 43 I1 39 -
|
#type 43 I1 39 -
|
||||||
|
@ -30,7 +23,7 @@
|
||||||
#Extra_Data_FreeFormat_(0=none) 100 I2 71 -
|
#Extra_Data_FreeFormat_(0=none) 100 I2 71 -
|
||||||
#Data_Descriptor_Bytes 102 BYTES 72 Extra_Data_FreeFormat_(0=none)
|
#Data_Descriptor_Bytes 102 BYTES 72 Extra_Data_FreeFormat_(0=none)
|
||||||
#padToAMultipleOf80Bytes 103 PADFROM n/a 80
|
#padToAMultipleOf80Bytes 103 PADFROM n/a 80
|
||||||
#!
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
label "CMC local definition (Canada)";
|
label "CMC local definition (Canada)";
|
||||||
# START 1/local.54 --------------------------------------------------------------------
|
|
||||||
# LOCAL 54
|
|
||||||
#
|
#
|
||||||
# CMC localDefinitionTemplate, based on KWBC
|
# CMC localDefinitionTemplate, based on KWBC
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
#
|
#
|
||||||
# Description Octet Code Ksec1 Count
|
# Description Octet Code Ksec1 Count
|
||||||
# ----------- ----- ---- ----- -----
|
# ----------- ----- ---- ----- -----
|
||||||
#
|
|
||||||
# applicationIdentifier 41
|
# applicationIdentifier 41
|
||||||
# type 42
|
# type 42
|
||||||
# identificationNumber 43
|
# identificationNumber 43
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
# START 1/local.98.1 ----------------------------------------------------------------------
|
|
||||||
# LOCAL 98 1
|
|
||||||
#
|
|
||||||
# localDefinitionTemplate_001
|
|
||||||
# ---------------------------
|
|
||||||
#
|
#
|
||||||
# Description Octet Code Ksec1 Count
|
# Description Octet Code Ksec1 Count
|
||||||
# ----------- ----- ---- ----- -----
|
# ----------- ----- ---- ----- -----
|
||||||
|
@ -17,7 +12,6 @@
|
||||||
#
|
#
|
||||||
constant GRIBEXSection1Problem = 52 - section1Length ;
|
constant GRIBEXSection1Problem = 52 - section1Length ;
|
||||||
|
|
||||||
|
|
||||||
unsigned[1] perturbationNumber : dump;
|
unsigned[1] perturbationNumber : dump;
|
||||||
alias number = perturbationNumber;
|
alias number = perturbationNumber;
|
||||||
|
|
||||||
|
@ -25,7 +19,7 @@ unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
alias totalNumber=numberOfForecastsInEnsemble;
|
alias totalNumber=numberOfForecastsInEnsemble;
|
||||||
pad padding_local1_1(1);
|
pad padding_local1_1(1);
|
||||||
|
|
||||||
#1->2
|
# 1->2
|
||||||
alias grib2LocalSectionPresent=present;
|
alias grib2LocalSectionPresent=present;
|
||||||
constant grib2LocalSectionNumber=1;
|
constant grib2LocalSectionNumber=1;
|
||||||
|
|
||||||
|
|
|
@ -109,16 +109,15 @@ alias DjInDegrees = jDirectionIncrementInDegrees;
|
||||||
alias numberOfPoints=numberOfDataPoints;
|
alias numberOfPoints=numberOfDataPoints;
|
||||||
#alias ls.valuesCount=numberOfValues;
|
#alias ls.valuesCount=numberOfValues;
|
||||||
|
|
||||||
# END 1/grid_definition.latitude_longitude_grid ----------------------------------------------------------------------
|
# END 1/grid_definition.latitude_longitude_grid
|
||||||
constant PVPresent = 0;
|
constant PVPresent = 0;
|
||||||
constant PLPresent = 0;
|
constant PLPresent = 0;
|
||||||
constant reducedGrid =0;
|
constant reducedGrid =0;
|
||||||
|
|
||||||
# we always include the bitmap keys if a GDS is not present
|
# we always include the bitmap keys if a GDS is not present
|
||||||
# Number of unused bits at end of Section 3
|
|
||||||
constant numberOfUnusedBitsAtEndOfSection3 = 0;
|
constant numberOfUnusedBitsAtEndOfSection3 = 0;
|
||||||
|
|
||||||
# Table reference:
|
# Table reference:
|
||||||
constant tableReference = 0;
|
constant tableReference = 0;
|
||||||
|
|
||||||
#position offsetBeforeBitmap;
|
#position offsetBeforeBitmap;
|
||||||
|
@ -126,4 +125,3 @@ meta bitmap gds_not_present_bitmap( missingValue,numberOfValues,
|
||||||
numberOfPoints,
|
numberOfPoints,
|
||||||
latitudeOfFirstGridPoint,
|
latitudeOfFirstGridPoint,
|
||||||
Ni,numberOfUnusedBitsAtEndOfSection3) : read_only;
|
Ni,numberOfUnusedBitsAtEndOfSection3) : read_only;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# START grib1::section
|
|
||||||
# SECTION 2, Grid description section
|
# SECTION 2, Grid description section
|
||||||
# Length of section
|
|
||||||
|
|
||||||
|
# Length of section
|
||||||
position offsetSection2;
|
position offsetSection2;
|
||||||
section_length[3] section2Length ;
|
section_length[3] section2Length ;
|
||||||
meta section2Pointer section_pointer(offsetSection2,section2Length,2);
|
meta section2Pointer section_pointer(offsetSection2,section2Length,2);
|
||||||
|
@ -10,7 +9,7 @@ alias radiusOfTheEarth=radius;
|
||||||
alias radiusInMetres=radius;
|
alias radiusInMetres=radius;
|
||||||
transient shapeOfTheEarth=0: hidden; #ECC-811
|
transient shapeOfTheEarth=0: hidden; #ECC-811
|
||||||
|
|
||||||
# NV -- number of vertical coordinate parameters
|
# NV -- number of vertical coordinate parameters
|
||||||
unsigned[1] numberOfVerticalCoordinateValues : dump ;
|
unsigned[1] numberOfVerticalCoordinateValues : dump ;
|
||||||
|
|
||||||
constant neitherPresent = 255;
|
constant neitherPresent = 255;
|
||||||
|
@ -18,18 +17,14 @@ constant neitherPresent = 255;
|
||||||
alias NV = numberOfVerticalCoordinateValues;
|
alias NV = numberOfVerticalCoordinateValues;
|
||||||
alias numberOfCoordinatesValues= numberOfVerticalCoordinateValues;
|
alias numberOfCoordinatesValues= numberOfVerticalCoordinateValues;
|
||||||
|
|
||||||
# PV -- location
|
# PV -- location (octet number)
|
||||||
# (octet number)
|
|
||||||
|
|
||||||
unsigned[1] pvlLocation = 255;
|
unsigned[1] pvlLocation = 255;
|
||||||
|
|
||||||
# Data representation type
|
# Data representation type
|
||||||
codetable[1] dataRepresentationType 'grib1/6.table' = 0;
|
codetable[1] dataRepresentationType 'grib1/6.table' = 0;
|
||||||
meta gridDefinitionDescription codetable_title(dataRepresentationType);
|
meta gridDefinitionDescription codetable_title(dataRepresentationType);
|
||||||
|
|
||||||
|
# Grid definition (according to data representation type - octet 6 above)
|
||||||
# Grid definition
|
|
||||||
# (according to data representation type - octet 6 above)
|
|
||||||
alias isRotatedGrid=zero;
|
alias isRotatedGrid=zero;
|
||||||
|
|
||||||
if (dataRepresentationType < 192) {
|
if (dataRepresentationType < 192) {
|
||||||
|
|
Loading…
Reference in New Issue