mirror of https://github.com/ecmwf/eccodes.git
272 lines
8.6 KiB
Modula-2
272 lines
8.6 KiB
Modula-2
# (C) Copyright 2005- ECMWF.
|
|
|
|
#
|
|
# # SREPS Short-Range EPS information
|
|
#
|
|
# Last update: 20070223
|
|
#
|
|
# Compatibility with MARS
|
|
#
|
|
#localDefinitionNumber
|
|
#Class
|
|
#Type
|
|
#Stream
|
|
#experimentVersionNumber
|
|
#Number
|
|
#Total
|
|
#
|
|
#************_EXPERIMENT_************
|
|
#Experiment_Identifier_1
|
|
#Experiment_Identifier_2
|
|
#Sub-Experiment_Identifier_1
|
|
#Sub-Experiment_Identifier_2
|
|
#
|
|
#************_PRODUCT_***************
|
|
#Original_CodeTable_2_Version_Number
|
|
#Original_Parameter_Iden_(CodeTable2)
|
|
#Original_Parameter_Identifier_1
|
|
#Original_Parameter_Identifier_2
|
|
#Product_Identifier_1
|
|
#Product_Identifier_2
|
|
#
|
|
# Thresholds and Distributions
|
|
#
|
|
#Threshold_[Distribution]_(0=n,1=yes)
|
|
#Threshold_[Distribution]_Units
|
|
#At_least__[Distribut._Proportion_Of]
|
|
#Less_Than_[To_Overall_Distribution]
|
|
#
|
|
#zeroForFutureProducts
|
|
#
|
|
#************_ENSEMBLE_**************
|
|
#Number_Combination_Ensembles_(1=no)
|
|
#Show_Combination_E._[2]_(0=no,1=yes)
|
|
#Show_Combination_E._[3]_(0=no,1=yes)
|
|
#Show_Combination_E._[4]_(0=no,1=yes)
|
|
#zeroForFutureCombinations
|
|
#Total_Number_Members_Used
|
|
#Total_Number_Members_Possible
|
|
#Total_Number_Members_Missing
|
|
#Ensemble_Combination_Number
|
|
#Ensemble_Identifier_1
|
|
#Ensemble_Identifier_2
|
|
#Local_Number_Members_Used
|
|
#Local_Number_Members_Possible
|
|
#Local_Number_Members_Missing
|
|
#
|
|
#listMembersUsed - LIST - Local_Number_Members_Used
|
|
#Used_Model_LBC
|
|
#endlistMembersUsed - ENDLIST - listMembersUsed
|
|
#
|
|
#listMembersMissing - LIST - Local_Number_Members_Missing
|
|
#Missing_Model_LBC
|
|
#endlistMembersMissing - ENDLIST - listMembersMissing
|
|
#
|
|
# More than one Combination
|
|
#
|
|
#listEnsembleCombination2 - LIST - Show_Combination_E._[2]_(0=no,1=yes)
|
|
#Ensemble_Combinat._Number_(0=no)_[2]
|
|
#Ensemble_Identifier_1_[2]
|
|
#Ensemble_Identifier_2_[2]
|
|
#Local_Number_Members_Used_[2]
|
|
#Local_Number_Members_Possible_[2]
|
|
#Local_Number_Members_Missing_[2]
|
|
#Date_[2]
|
|
#Hour_[2]
|
|
#Minute_[2]
|
|
#Time_Range_One_[2]
|
|
#Time_Range_Two_[2]
|
|
#endlistEnsembleCombination2 - ENDLIST - listEnsembleCombination2
|
|
#
|
|
#listMembersUsed_[2] - LIST - Local_Number_Members_Used_[2]
|
|
#Used_Model_LBC_[2]
|
|
#endlistMembersUsed_[2] - ENDLIST - listMembersUsed_[2]
|
|
#
|
|
#listMembersMissing_[2] - LIST - Local_Number_Members_Missing_[2]
|
|
#Missing_Model_LBC_[2]
|
|
#endlistMembersMissing_[2] - ENDLIST - listMembersMissing_[2]
|
|
#
|
|
#listEnsembleCombination3 - LIST - Show_Combination_E._[3]_(0=no,1=yes)
|
|
#Ensemble_Combinat._Number_(0=no)_[3]
|
|
#Ensemble_Identifier_1_[3]
|
|
#Ensemble_Identifier_1_[3]
|
|
#Local_Number_Members_Used_[3]
|
|
#Local_Number_Members_Possible_[3]
|
|
#Local_Number_Members_Missing_[3]
|
|
#Date_[3]
|
|
#Hour_[3]
|
|
#Minute_[3]
|
|
#Time_Range_One_[3]
|
|
#Time_Range_Two_[3]
|
|
#endlistEnsembleCombination3 - ENDLIST - listEnsembleCombination3
|
|
#
|
|
#listMembersUsed_[3] - LIST - Local_Number_Members_Used_[3]
|
|
#Used_Model_LBC_[3] - A4
|
|
#endlistMembersUsed_[3] - ENDLIST - listMembersUsed_[3]
|
|
#
|
|
#listMembersMissing_[3] - LIST - Local_Number_Members_Missing_[3]
|
|
#Missing_Model_LBC_[3] - A4
|
|
#endlistMembersMissing_[3] - ENDLIST - listMembersMissing_[3]
|
|
#
|
|
#listEnsembleCombination4 - LIST - Show_Combination_E._[4]_(0=no,1=yes)
|
|
#Ensemble_Combinat._Number_(0=no)_[4]
|
|
#Ensemble_Identifier_1_[4]
|
|
#Ensemble_Identifier_2_[4]
|
|
#Local_Number_Members_Used_[4]
|
|
#Local_Number_Members_Possible_[4]
|
|
#Local_Number_Members_Missing_[4]
|
|
#Date_[4]
|
|
#Hour_[4]
|
|
#Minute_[4]
|
|
#Time_Range_One_[4]
|
|
#Time_Range_Two_[4]
|
|
#endlistEnsembleCombination4 - ENDLIST - listEnsembleCombination4
|
|
#
|
|
#listMembersUsed_[4] - LIST - Local_Number_Members_Used_[4]
|
|
#Used_Model_LBC_[4]
|
|
#endlistMembersUsed_[4] - ENDLIST - listMembersUsed_[4]
|
|
#
|
|
#listMembersMissing_[4] - LIST - Local_Number_Members_Missing_[4]
|
|
#Missing_Model_LBC_[4]
|
|
#endlistMembersMissing_[4] - ENDLIST - listMembersMissing_[4]
|
|
#
|
|
# EXTRA INFORMATION like 191
|
|
#*********_EXTRA_DATA_***************
|
|
#Extra_Data_FreeFormat_(0=none)
|
|
#Data_Descriptor_Bytes - BYTES - Extra_Data_FreeFormat_(0=none)
|
|
#padToAMultipleOf80Bytes - PADFROM n/a
|
|
#
|
|
|
|
template mars_labeling "grib1/mars_labeling.def";
|
|
|
|
unsigned[1] perturbationNumber : dump ;
|
|
alias number = perturbationNumber;
|
|
|
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
|
|
|
#
|
|
# EXPERIMENT
|
|
#
|
|
ascii[4] '************_EXPERIMENT_************' ;
|
|
ascii[8] 'Experiment_Identifier' ;
|
|
ascii[8] 'Sub-Experiment_Identifier' ;
|
|
|
|
#
|
|
# PRODUCT
|
|
#
|
|
ascii[4] '************_PRODUCT_***************' ;
|
|
unsigned[1] Original_CodeTable_2_Version_Number : dump ;
|
|
unsigned[1] Original_Parameter_Iden_CodeTable2 : dump;
|
|
ascii[8] 'Original_Parameter_Identifier' ;
|
|
ascii[8] 'Product_Identifier' ;
|
|
|
|
# Thresholds and Distributions
|
|
unsigned[2] Threshold_Or_Distribution_0_no_1_yes : dump ;
|
|
ascii[4] 'Threshold_Or_Distribution_Units' ;
|
|
unsigned[4] At_least__Or_Distribut_Proportion_Of : dump ;
|
|
unsigned[4] Less_Than_Or_To_Overall_Distribution : dump ;
|
|
|
|
pad padding_loc244_1(40);
|
|
|
|
ascii[4] '************_ENSEMBLE_**************' ;
|
|
unsigned[2] Number_Combination_Ensembles_1_none : dump ;
|
|
unsigned[1] Show_Combination_Ensem_E2_0_no_1_yes : dump ;
|
|
unsigned[1] Show_Combination_Ensem_E3_0_no_1_yes : dump ;
|
|
unsigned[1] Show_Combination_Ensem_E4_0_no_1_yes : dump ;
|
|
|
|
pad padding_loc244_2(7);
|
|
|
|
unsigned[2] Total_Number_Members_Used : dump;
|
|
unsigned[2] Total_Number_Members_Possible : dump ;
|
|
unsigned[2] Total_Number_Members_Missing : dump ;
|
|
unsigned[2] Ensemble_Combination_Number : dump ;
|
|
ascii[8] 'Ensemble_Identifier' ;
|
|
unsigned[2] Local_Number_Members_Used : dump ;
|
|
unsigned[2] Local_Number_Members_Possible : dump ;
|
|
unsigned[2] Local_Number_Members_Missing : dump ;
|
|
|
|
listMembersUsed list(Local_Number_Members_Used){
|
|
ascii[4] 'Used_Model_LBC' ;
|
|
}
|
|
|
|
listMembersMissing list(Local_Number_Members_Missing){
|
|
ascii[4] 'Missing_Model_LBC' ;
|
|
}
|
|
|
|
#
|
|
# More than one Combination
|
|
#
|
|
|
|
if (Show_Combination_Ensem_E2_0_no_1_yes == 1){
|
|
unsigned[2] Ensemble_Combinat_Number_0_none_E2 : dump ;
|
|
ascii[8] 'Ensemble_Identifier_E2' ;
|
|
unsigned[2] Local_Number_Members_Used_E2 : dump ;
|
|
unsigned[2] Local_Number_Members_Possible_E2 : dump ;
|
|
unsigned[2] Local_Number_Members_Missing_E2 : dump ;
|
|
unsigned[3] Date_E2 : dump;
|
|
unsigned[1] Hour_E2 : dump;
|
|
unsigned[1] Minute_E2 : dump;
|
|
unsigned[2] Time_Range_One_E2 : dump ;
|
|
unsigned[2] Time_Range_Two_E2 : dump;
|
|
|
|
listMembersUsed2 list(Local_Number_Members_Used_E2){
|
|
ascii[4] 'Used_Model_LBC_E2' ;
|
|
}
|
|
|
|
listMembersMissing2 list(Local_Number_Members_Missing_E2){
|
|
ascii[4] 'Missing_Model_LBC_E2' ;
|
|
}
|
|
}
|
|
|
|
if (Show_Combination_Ensem_E3_0_no_1_yes == 1){
|
|
unsigned[2] Ensemble_Combinat_Number_0_none_E3 : dump ;
|
|
ascii[8] 'Ensemble_Identifier_E3' ;
|
|
unsigned[2] Local_Number_Members_Used_E3 : dump;
|
|
unsigned[2] Local_Number_Members_Possible_E3 : dump;
|
|
unsigned[2] Local_Number_Members_Missing_E3 : dump;
|
|
unsigned[3] Date_E3 : dump;
|
|
unsigned[1] Hour_E3 : dump;
|
|
unsigned[1] Minute_E3 : dump;
|
|
unsigned[2] Time_Range_One_E3 : dump;
|
|
unsigned[2] Time_Range_Two_E3 : dump;
|
|
|
|
listMembersUsed3 list(Local_Number_Members_Used_E3){
|
|
ascii[4] 'Used_Model_LBC_E3' ;
|
|
}
|
|
|
|
listMembersMissing3 list(Local_Number_Members_Missing_E3){
|
|
ascii[4] 'Missing_Model_LBC_E3' ;
|
|
}
|
|
}
|
|
|
|
if (Show_Combination_Ensem_E4_0_no_1_yes == 1){
|
|
unsigned[2] Ensemble_Combinat_Number_0_none_E4 : dump ;
|
|
ascii[8] 'Ensemble_Identifier_E4' ;
|
|
unsigned[2] Local_Number_Members_Used_E4 : dump;
|
|
unsigned[2] Local_Number_Members_Possible_E4 : dump;
|
|
unsigned[2] Local_Number_Members_Missing_E4 : dump;
|
|
unsigned[3] Date_E4 : dump;
|
|
unsigned[1] Hour_E4 : dump;
|
|
unsigned[1] Minute_E4 : dump;
|
|
unsigned[2] Time_Range_One_E4 : dump ;
|
|
unsigned[2] Time_Range_Two_E4 : dump;
|
|
|
|
listMembersUsed4 list(Local_Number_Members_Used_E4){
|
|
ascii[4] 'Used_Model_LBC_E4' ;
|
|
}
|
|
|
|
listMembersMissing4 list(Local_Number_Members_Missing_E4){
|
|
ascii[4] 'Missing_Model_LBC_E4' ;
|
|
}
|
|
}
|
|
|
|
#
|
|
# EXTRA INFORMATION like 191
|
|
#
|
|
ascii[4] '*********_EXTRA_DATA_***************' ;
|
|
unsigned[2] Extra_Data_FreeFormat_0_none : dump;
|
|
position offsetFreeFormData;
|
|
unsigned[1] freeFormData[Extra_Data_FreeFormat_0_none] : dump;
|
|
|
|
padtomultiple padding_loc244_3(offsetSection1,80);
|