mirror of https://github.com/ecmwf/eccodes.git
Definitions: cleanup
This commit is contained in:
parent
aec656b339
commit
7b55c29037
|
@ -20,7 +20,7 @@ constant epsStatisticsContinous=12 : hidden;
|
||||||
|
|
||||||
meta headersOnly headers_only();
|
meta headersOnly headers_only();
|
||||||
|
|
||||||
#template section_0 "grib1/section.0.def" ;
|
#template section_0 "grib1/section.0.def";
|
||||||
|
|
||||||
meta gts_header gts_header() : no_copy,hidden,read_only;
|
meta gts_header gts_header() : no_copy,hidden,read_only;
|
||||||
meta gts_TTAAii gts_header(20,6) : no_copy,hidden,read_only;
|
meta gts_TTAAii gts_header(20,6) : no_copy,hidden,read_only;
|
||||||
|
@ -30,24 +30,24 @@ meta gts_ddhh00 gts_header(32,6) : no_copy,hidden,read_only;
|
||||||
ascii[4] identifier = "GRIB" : read_only,hidden;
|
ascii[4] identifier = "GRIB" : read_only,hidden;
|
||||||
|
|
||||||
constant offsetSection0=0;
|
constant offsetSection0=0;
|
||||||
constant section0Length=8 ;
|
constant section0Length=8;
|
||||||
meta section0Pointer section_pointer(offsetSection0,section0Length,0);
|
meta section0Pointer section_pointer(offsetSection0,section0Length,0);
|
||||||
|
|
||||||
# Due to a trick done by GRIBEX to support large GRIBs, we need a special treatment
|
# Due to a trick done by GRIBEX to support large GRIBs, we need a special treatment
|
||||||
# of the message length and of the section4 length, so instead of
|
# of the message length and of the section4 length, so instead of
|
||||||
# section_length[3] totalLength ;
|
# section_length[3] totalLength;
|
||||||
# we get:
|
# we get:
|
||||||
g1_message_length[3] totalLength(section4Length) ;
|
g1_message_length[3] totalLength(section4Length);
|
||||||
position startOfHeaders;
|
position startOfHeaders;
|
||||||
unsigned[1] editionNumber = 1 : edition_specific,dump;
|
unsigned[1] editionNumber = 1 : edition_specific,dump;
|
||||||
|
|
||||||
template section_1 "grib1/section.1.def" ;
|
template section_1 "grib1/section.1.def";
|
||||||
|
|
||||||
alias ls.edition = editionNumber;
|
alias ls.edition = editionNumber;
|
||||||
|
|
||||||
# Note flagbit numbers 7 to 0, while wmo is 1 to 8
|
# Note flagbit numbers 7 to 0, while wmo is 1 to 8
|
||||||
flagbit gridDescriptionSectionPresent(section1Flags,7) = 1;
|
flagbit gridDescriptionSectionPresent(section1Flags,7) = 1;
|
||||||
meta GDSPresent gds_is_present(gridDescriptionSectionPresent,gridDefinition,bitmapPresent,values): dump ;
|
meta GDSPresent gds_is_present(gridDescriptionSectionPresent,gridDefinition,bitmapPresent,values): dump;
|
||||||
#alias GDSPresent = gridDescriptionSectionPresent;
|
#alias GDSPresent = gridDescriptionSectionPresent;
|
||||||
|
|
||||||
flagbit bitmapPresent(section1Flags,6) :dump;
|
flagbit bitmapPresent(section1Flags,6) :dump;
|
||||||
|
@ -57,7 +57,7 @@ alias missingValuesPresent=bitmapPresent : read_only;
|
||||||
transient angleSubdivisions=1000; # milli degrees
|
transient angleSubdivisions=1000; # milli degrees
|
||||||
|
|
||||||
if(gridDescriptionSectionPresent){
|
if(gridDescriptionSectionPresent){
|
||||||
template section_2 "grib1/section.2.def" ;
|
template section_2 "grib1/section.2.def";
|
||||||
} else {
|
} else {
|
||||||
template predefined_grid "grib1/predefined_grid.def";
|
template predefined_grid "grib1/predefined_grid.def";
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,6 @@ if(matrixOfValues == 0)
|
||||||
position offsetBeforeData;
|
position offsetBeforeData;
|
||||||
|
|
||||||
if(bitmapPresent) {
|
if(bitmapPresent) {
|
||||||
|
|
||||||
# For grib1 -> grib2
|
# For grib1 -> grib2
|
||||||
constant bitMapIndicator = 0;
|
constant bitMapIndicator = 0;
|
||||||
|
|
||||||
|
@ -113,27 +112,25 @@ if(matrixOfValues == 0)
|
||||||
constant bitMapIndicator = 0;
|
constant bitMapIndicator = 0;
|
||||||
|
|
||||||
# From GRIBEX:
|
# From GRIBEX:
|
||||||
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
# ! !
|
||||||
|
# ! This is the WMO definition, but it is entirely !
|
||||||
|
# ! inadequate when secondary bit maps are present !
|
||||||
|
# ! eg 3x3 global grid with a matrix of values !
|
||||||
|
# ! 12x26 at each point. This gives a bit map with !
|
||||||
|
# ! a length of 285480 octets which cannot be given!
|
||||||
|
# ! in 16 bits. !
|
||||||
|
# ! !
|
||||||
|
# ! ECMWF uses the following definition for its !
|
||||||
|
# ! wave model data. !
|
||||||
|
# ! N - Number of secondary bit maps !
|
||||||
|
# ! (ie the number of points which are 'not !
|
||||||
|
# ! missing'). !
|
||||||
|
# ! This definition will accommodate a 1x1 !
|
||||||
|
# ! degree global grid. !
|
||||||
|
# ! !
|
||||||
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
#
|
#
|
||||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
# ! !
|
|
||||||
# ! This is the WMO definition, but it is entirely !
|
|
||||||
# ! inadequate when secondary bit maps are present !
|
|
||||||
# ! eg 3x3 global grid with a matrix of values !
|
|
||||||
# ! 12x26 at each point. This gives a bit map with !
|
|
||||||
# ! a length of 285480 octets which cannot be given!
|
|
||||||
# ! in 16 bits. !
|
|
||||||
# ! !
|
|
||||||
# ! ECMWF uses the following definition for its !
|
|
||||||
# ! wave model data. !
|
|
||||||
# ! N - Number of secondary bit maps !
|
|
||||||
# ! (ie the number of points which are 'not !
|
|
||||||
# ! missing'). !
|
|
||||||
# ! This definition will accommodate a 1x1 !
|
|
||||||
# ! degree global grid. !
|
|
||||||
# ! !
|
|
||||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
#
|
|
||||||
|
|
||||||
constant datumSize = NC*NR;
|
constant datumSize = NC*NR;
|
||||||
transient secondaryBitmapsCount = octetAtWichPackedDataBegins*datumSize; #
|
transient secondaryBitmapsCount = octetAtWichPackedDataBegins*datumSize; #
|
||||||
transient secondaryBitmapsSize = secondaryBitmapsCount/8;
|
transient secondaryBitmapsSize = secondaryBitmapsCount/8;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
# moved here to allow different bitsPerValue in second order packing
|
# moved here to allow different bitsPerValue in second order packing
|
||||||
unsigned[1] bitsPerValue : dump ;
|
unsigned[1] bitsPerValue : dump;
|
||||||
alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
||||||
|
|
||||||
# For grib1 -> grib2
|
# For grib1 -> grib2
|
||||||
|
@ -11,15 +11,15 @@ alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
||||||
constant PUnset = -32767;
|
constant PUnset = -32767;
|
||||||
|
|
||||||
unsigned[2] N : read_only,dump;
|
unsigned[2] N : read_only,dump;
|
||||||
signed[2] P = PUnset ;
|
signed[2] P = PUnset;
|
||||||
|
|
||||||
unsigned[1] JS=0 : dump;
|
unsigned[1] JS=0 : dump;
|
||||||
unsigned[1] KS=0 : dump;
|
unsigned[1] KS=0 : dump;
|
||||||
unsigned[1] MS=0 : dump;
|
unsigned[1] MS=0 : dump;
|
||||||
|
|
||||||
alias subSetJ=JS ;
|
alias subSetJ=JS;
|
||||||
alias subSetK=KS ;
|
alias subSetK=KS;
|
||||||
alias subSetM=MS ;
|
alias subSetM=MS;
|
||||||
|
|
||||||
constant GRIBEXShBugPresent = 1;
|
constant GRIBEXShBugPresent = 1;
|
||||||
if (gribex_mode_on()) {
|
if (gribex_mode_on()) {
|
||||||
|
@ -33,9 +33,9 @@ constant PUnset = -32767;
|
||||||
|
|
||||||
if (localUsePresent) {
|
if (localUsePresent) {
|
||||||
if (changed(localDefinitionNumber)) {
|
if (changed(localDefinitionNumber)) {
|
||||||
transient TS = 0 ;
|
transient TS = 0;
|
||||||
meta TScalc spectral_truncation(JS,KS,MS,TS) : read_only,hidden;
|
meta TScalc spectral_truncation(JS,KS,MS,TS) : read_only,hidden;
|
||||||
meta Nassigned octect_number(N,4*TScalc) : hidden ;
|
meta Nassigned octect_number(N,4*TScalc) : hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ constant PUnset = -32767;
|
||||||
|
|
||||||
halfByte,
|
halfByte,
|
||||||
N,packingType,spectral_ieee,precision
|
N,packingType,spectral_ieee,precision
|
||||||
) : dump ;
|
) : dump;
|
||||||
|
|
||||||
meta data.packedValues data_sh_packed(
|
meta data.packedValues data_sh_packed(
|
||||||
section4Length,
|
section4Length,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
|
|
||||||
# moved here to allow different bitsPerValue in second order packing
|
# moved here to allow different bitsPerValue in second order packing
|
||||||
unsigned[1] bitsPerValue : dump ;
|
unsigned[1] bitsPerValue : dump;
|
||||||
alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
||||||
|
|
||||||
# For grib1 -> grib2
|
# For grib1 -> grib2
|
||||||
|
@ -11,15 +11,15 @@ alias numberOfBitsContainingEachPackedValue = bitsPerValue;
|
||||||
constant PUnset = -32767;
|
constant PUnset = -32767;
|
||||||
|
|
||||||
unsigned[2] N : read_only,dump;
|
unsigned[2] N : read_only,dump;
|
||||||
signed[2] P = PUnset ;
|
signed[2] P = PUnset;
|
||||||
|
|
||||||
unsigned[1] JS=0 : dump;
|
unsigned[1] JS=0 : dump;
|
||||||
unsigned[1] KS=0 : dump;
|
unsigned[1] KS=0 : dump;
|
||||||
unsigned[1] MS=0 : dump;
|
unsigned[1] MS=0 : dump;
|
||||||
|
|
||||||
alias subSetJ=JS ;
|
alias subSetJ=JS;
|
||||||
alias subSetK=KS ;
|
alias subSetK=KS;
|
||||||
alias subSetM=MS ;
|
alias subSetM=MS;
|
||||||
|
|
||||||
constant GRIBEXShBugPresent = 1;
|
constant GRIBEXShBugPresent = 1;
|
||||||
transient computeLaplacianOperator=0;
|
transient computeLaplacianOperator=0;
|
||||||
|
@ -29,9 +29,9 @@ constant PUnset = -32767;
|
||||||
|
|
||||||
if (localUsePresent) {
|
if (localUsePresent) {
|
||||||
if (changed(localDefinitionNumber)) {
|
if (changed(localDefinitionNumber)) {
|
||||||
transient TS = 0 ;
|
transient TS = 0;
|
||||||
meta TScalc spectral_truncation(JS,KS,MS,TS) : read_only,hidden;
|
meta TScalc spectral_truncation(JS,KS,MS,TS) : read_only,hidden;
|
||||||
meta Nassigned octect_number(N,4*TScalc) : hidden ;
|
meta Nassigned octect_number(N,4*TScalc) : hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ constant PUnset = -32767;
|
||||||
|
|
||||||
halfByte,
|
halfByte,
|
||||||
N,packingType,spectral_ieee,precision
|
N,packingType,spectral_ieee,precision
|
||||||
) : dump ;
|
) : dump;
|
||||||
|
|
||||||
meta data.packedValues data_sh_packed(
|
meta data.packedValues data_sh_packed(
|
||||||
section4Length,
|
section4Length,
|
||||||
|
|
|
@ -139,58 +139,52 @@
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
||||||
unsigned[1] perturbationNumber : dump ;
|
unsigned[1] perturbationNumber : dump;
|
||||||
alias number = perturbationNumber;
|
alias number = perturbationNumber;
|
||||||
|
|
||||||
unsigned[1] numberOfForecastsInEnsemble : dump;
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
|
|
||||||
#
|
ascii[4] '************_EXPERIMENT_************';
|
||||||
# EXPERIMENT
|
ascii[8] 'Experiment_Identifier';
|
||||||
#
|
ascii[8] 'Sub-Experiment_Identifier';
|
||||||
ascii[4] '************_EXPERIMENT_************' ;
|
|
||||||
ascii[8] 'Experiment_Identifier' ;
|
|
||||||
ascii[8] 'Sub-Experiment_Identifier' ;
|
|
||||||
|
|
||||||
#
|
ascii[4] '************_PRODUCT_***************';
|
||||||
# PRODUCT
|
unsigned[1] Original_CodeTable_2_Version_Number : dump;
|
||||||
#
|
|
||||||
ascii[4] '************_PRODUCT_***************' ;
|
|
||||||
unsigned[1] Original_CodeTable_2_Version_Number : dump ;
|
|
||||||
unsigned[1] Original_Parameter_Iden_CodeTable2 : dump;
|
unsigned[1] Original_Parameter_Iden_CodeTable2 : dump;
|
||||||
ascii[8] 'Original_Parameter_Identifier' ;
|
ascii[8] 'Original_Parameter_Identifier';
|
||||||
ascii[8] 'Product_Identifier' ;
|
ascii[8] 'Product_Identifier';
|
||||||
|
|
||||||
# Thresholds and Distributions
|
# Thresholds and Distributions
|
||||||
unsigned[2] Threshold_Or_Distribution_0_no_1_yes : dump ;
|
unsigned[2] Threshold_Or_Distribution_0_no_1_yes : dump;
|
||||||
ascii[4] 'Threshold_Or_Distribution_Units' ;
|
ascii[4] 'Threshold_Or_Distribution_Units';
|
||||||
unsigned[4] At_least__Or_Distribut_Proportion_Of : dump ;
|
unsigned[4] At_least__Or_Distribut_Proportion_Of : dump;
|
||||||
unsigned[4] Less_Than_Or_To_Overall_Distribution : dump ;
|
unsigned[4] Less_Than_Or_To_Overall_Distribution : dump;
|
||||||
|
|
||||||
pad padding_loc244_1(40);
|
pad padding_loc244_1(40);
|
||||||
|
|
||||||
ascii[4] '************_ENSEMBLE_**************' ;
|
ascii[4] '************_ENSEMBLE_**************';
|
||||||
unsigned[2] Number_Combination_Ensembles_1_none : dump ;
|
unsigned[2] Number_Combination_Ensembles_1_none : dump;
|
||||||
unsigned[1] Show_Combination_Ensem_E2_0_no_1_yes : 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_E3_0_no_1_yes : dump;
|
||||||
unsigned[1] Show_Combination_Ensem_E4_0_no_1_yes : dump ;
|
unsigned[1] Show_Combination_Ensem_E4_0_no_1_yes : dump;
|
||||||
|
|
||||||
pad padding_loc244_2(7);
|
pad padding_loc244_2(7);
|
||||||
|
|
||||||
unsigned[2] Total_Number_Members_Used : dump;
|
unsigned[2] Total_Number_Members_Used : dump;
|
||||||
unsigned[2] Total_Number_Members_Possible : dump ;
|
unsigned[2] Total_Number_Members_Possible : dump;
|
||||||
unsigned[2] Total_Number_Members_Missing : dump ;
|
unsigned[2] Total_Number_Members_Missing : dump;
|
||||||
unsigned[2] Ensemble_Combination_Number : dump ;
|
unsigned[2] Ensemble_Combination_Number : dump;
|
||||||
ascii[8] 'Ensemble_Identifier' ;
|
ascii[8] 'Ensemble_Identifier';
|
||||||
unsigned[2] Local_Number_Members_Used : dump ;
|
unsigned[2] Local_Number_Members_Used : dump;
|
||||||
unsigned[2] Local_Number_Members_Possible : dump ;
|
unsigned[2] Local_Number_Members_Possible : dump;
|
||||||
unsigned[2] Local_Number_Members_Missing : dump ;
|
unsigned[2] Local_Number_Members_Missing : dump;
|
||||||
|
|
||||||
listMembersUsed list(Local_Number_Members_Used){
|
listMembersUsed list(Local_Number_Members_Used){
|
||||||
ascii[4] 'Used_Model_LBC' ;
|
ascii[4] 'Used_Model_LBC';
|
||||||
}
|
}
|
||||||
|
|
||||||
listMembersMissing list(Local_Number_Members_Missing){
|
listMembersMissing list(Local_Number_Members_Missing){
|
||||||
ascii[4] 'Missing_Model_LBC' ;
|
ascii[4] 'Missing_Model_LBC';
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -198,29 +192,29 @@ listMembersMissing list(Local_Number_Members_Missing){
|
||||||
#
|
#
|
||||||
|
|
||||||
if (Show_Combination_Ensem_E2_0_no_1_yes == 1){
|
if (Show_Combination_Ensem_E2_0_no_1_yes == 1){
|
||||||
unsigned[2] Ensemble_Combinat_Number_0_none_E2 : dump ;
|
unsigned[2] Ensemble_Combinat_Number_0_none_E2 : dump;
|
||||||
ascii[8] 'Ensemble_Identifier_E2' ;
|
ascii[8] 'Ensemble_Identifier_E2';
|
||||||
unsigned[2] Local_Number_Members_Used_E2 : dump ;
|
unsigned[2] Local_Number_Members_Used_E2 : dump;
|
||||||
unsigned[2] Local_Number_Members_Possible_E2 : dump ;
|
unsigned[2] Local_Number_Members_Possible_E2 : dump;
|
||||||
unsigned[2] Local_Number_Members_Missing_E2 : dump ;
|
unsigned[2] Local_Number_Members_Missing_E2 : dump;
|
||||||
unsigned[3] Date_E2 : dump;
|
unsigned[3] Date_E2 : dump;
|
||||||
unsigned[1] Hour_E2 : dump;
|
unsigned[1] Hour_E2 : dump;
|
||||||
unsigned[1] Minute_E2 : dump;
|
unsigned[1] Minute_E2 : dump;
|
||||||
unsigned[2] Time_Range_One_E2 : dump ;
|
unsigned[2] Time_Range_One_E2 : dump;
|
||||||
unsigned[2] Time_Range_Two_E2 : dump;
|
unsigned[2] Time_Range_Two_E2 : dump;
|
||||||
|
|
||||||
listMembersUsed2 list(Local_Number_Members_Used_E2){
|
listMembersUsed2 list(Local_Number_Members_Used_E2){
|
||||||
ascii[4] 'Used_Model_LBC_E2' ;
|
ascii[4] 'Used_Model_LBC_E2';
|
||||||
}
|
}
|
||||||
|
|
||||||
listMembersMissing2 list(Local_Number_Members_Missing_E2){
|
listMembersMissing2 list(Local_Number_Members_Missing_E2){
|
||||||
ascii[4] 'Missing_Model_LBC_E2' ;
|
ascii[4] 'Missing_Model_LBC_E2';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Show_Combination_Ensem_E3_0_no_1_yes == 1){
|
if (Show_Combination_Ensem_E3_0_no_1_yes == 1){
|
||||||
unsigned[2] Ensemble_Combinat_Number_0_none_E3 : dump ;
|
unsigned[2] Ensemble_Combinat_Number_0_none_E3 : dump;
|
||||||
ascii[8] 'Ensemble_Identifier_E3' ;
|
ascii[8] 'Ensemble_Identifier_E3';
|
||||||
unsigned[2] Local_Number_Members_Used_E3 : dump;
|
unsigned[2] Local_Number_Members_Used_E3 : dump;
|
||||||
unsigned[2] Local_Number_Members_Possible_E3 : dump;
|
unsigned[2] Local_Number_Members_Possible_E3 : dump;
|
||||||
unsigned[2] Local_Number_Members_Missing_E3 : dump;
|
unsigned[2] Local_Number_Members_Missing_E3 : dump;
|
||||||
|
@ -231,39 +225,39 @@ if (Show_Combination_Ensem_E3_0_no_1_yes == 1){
|
||||||
unsigned[2] Time_Range_Two_E3 : dump;
|
unsigned[2] Time_Range_Two_E3 : dump;
|
||||||
|
|
||||||
listMembersUsed3 list(Local_Number_Members_Used_E3){
|
listMembersUsed3 list(Local_Number_Members_Used_E3){
|
||||||
ascii[4] 'Used_Model_LBC_E3' ;
|
ascii[4] 'Used_Model_LBC_E3';
|
||||||
}
|
}
|
||||||
|
|
||||||
listMembersMissing3 list(Local_Number_Members_Missing_E3){
|
listMembersMissing3 list(Local_Number_Members_Missing_E3){
|
||||||
ascii[4] 'Missing_Model_LBC_E3' ;
|
ascii[4] 'Missing_Model_LBC_E3';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Show_Combination_Ensem_E4_0_no_1_yes == 1){
|
if (Show_Combination_Ensem_E4_0_no_1_yes == 1){
|
||||||
unsigned[2] Ensemble_Combinat_Number_0_none_E4 : dump ;
|
unsigned[2] Ensemble_Combinat_Number_0_none_E4 : dump;
|
||||||
ascii[8] 'Ensemble_Identifier_E4' ;
|
ascii[8] 'Ensemble_Identifier_E4';
|
||||||
unsigned[2] Local_Number_Members_Used_E4 : dump;
|
unsigned[2] Local_Number_Members_Used_E4 : dump;
|
||||||
unsigned[2] Local_Number_Members_Possible_E4 : dump;
|
unsigned[2] Local_Number_Members_Possible_E4 : dump;
|
||||||
unsigned[2] Local_Number_Members_Missing_E4 : dump;
|
unsigned[2] Local_Number_Members_Missing_E4 : dump;
|
||||||
unsigned[3] Date_E4 : dump;
|
unsigned[3] Date_E4 : dump;
|
||||||
unsigned[1] Hour_E4 : dump;
|
unsigned[1] Hour_E4 : dump;
|
||||||
unsigned[1] Minute_E4 : dump;
|
unsigned[1] Minute_E4 : dump;
|
||||||
unsigned[2] Time_Range_One_E4 : dump ;
|
unsigned[2] Time_Range_One_E4 : dump;
|
||||||
unsigned[2] Time_Range_Two_E4 : dump;
|
unsigned[2] Time_Range_Two_E4 : dump;
|
||||||
|
|
||||||
listMembersUsed4 list(Local_Number_Members_Used_E4){
|
listMembersUsed4 list(Local_Number_Members_Used_E4){
|
||||||
ascii[4] 'Used_Model_LBC_E4' ;
|
ascii[4] 'Used_Model_LBC_E4';
|
||||||
}
|
}
|
||||||
|
|
||||||
listMembersMissing4 list(Local_Number_Members_Missing_E4){
|
listMembersMissing4 list(Local_Number_Members_Missing_E4){
|
||||||
ascii[4] 'Missing_Model_LBC_E4' ;
|
ascii[4] 'Missing_Model_LBC_E4';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# EXTRA INFORMATION like 191
|
# EXTRA INFORMATION like 191
|
||||||
#
|
#
|
||||||
ascii[4] '*********_EXTRA_DATA_***************' ;
|
ascii[4] '*********_EXTRA_DATA_***************';
|
||||||
unsigned[2] Extra_Data_FreeFormat_0_none : dump;
|
unsigned[2] Extra_Data_FreeFormat_0_none : dump;
|
||||||
position offsetFreeFormData;
|
position offsetFreeFormData;
|
||||||
unsigned[1] freeFormData[Extra_Data_FreeFormat_0_none] : dump;
|
unsigned[1] freeFormData[Extra_Data_FreeFormat_0_none] : dump;
|
||||||
|
|
|
@ -14,15 +14,15 @@ label "CMC local definition (Canada)";
|
||||||
# spatialSmoothingOfProduct 45
|
# spatialSmoothingOfProduct 45
|
||||||
# isotopeIdentificationNumber 46-47 2
|
# isotopeIdentificationNumber 46-47 2
|
||||||
|
|
||||||
unsigned[1] applicationIdentifier : dump ;
|
unsigned[1] applicationIdentifier : dump;
|
||||||
|
|
||||||
unsigned[1] type : dump;
|
unsigned[1] type : dump;
|
||||||
|
|
||||||
unsigned[1] identificationNumber : dump;
|
unsigned[1] identificationNumber : dump;
|
||||||
|
|
||||||
unsigned[1] productIdentifier : dump ;
|
unsigned[1] productIdentifier : dump;
|
||||||
|
|
||||||
unsigned[1] spatialSmoothingOfProduct : dump ;
|
unsigned[1] spatialSmoothingOfProduct : dump;
|
||||||
|
|
||||||
# See GRIB-557
|
# See GRIB-557
|
||||||
unsigned[2] isotopeIdentificationNumber : dump ;
|
unsigned[2] isotopeIdentificationNumber : dump;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
# Coupled atmospheric, wave and ocean means (with hindcast support)
|
# Coupled atmospheric, wave and ocean means (with hindcast support)
|
||||||
|
|
||||||
constant GRIBEXSection1Problem = 84 - section1Length ;
|
constant GRIBEXSection1Problem = 84 - section1Length;
|
||||||
|
|
||||||
#used in local definition 13
|
#used in local definition 13
|
||||||
transient localFlag=2 : hidden;
|
transient localFlag=2 : hidden;
|
||||||
|
@ -18,8 +18,8 @@ unsigned[2] perturbationNumber : dump;
|
||||||
unsigned[2] systemNumber : dump;
|
unsigned[2] systemNumber : dump;
|
||||||
unsigned[2] methodNumber : dump;
|
unsigned[2] methodNumber : dump;
|
||||||
unsigned[4] verifyingMonth : dump;
|
unsigned[4] verifyingMonth : dump;
|
||||||
unsigned[1] averagingPeriod : dump ;
|
unsigned[1] averagingPeriod : dump;
|
||||||
unsigned[2] forecastMonth : dump ;
|
unsigned[2] forecastMonth : dump;
|
||||||
unsigned[4] referenceDate : dump;
|
unsigned[4] referenceDate : dump;
|
||||||
unsigned[4] climateDateFrom : dump;
|
unsigned[4] climateDateFrom : dump;
|
||||||
unsigned[4] climateDateTo : dump;
|
unsigned[4] climateDateTo : dump;
|
||||||
|
@ -30,15 +30,15 @@ unsigned[2] upperThresholdValue : dump;
|
||||||
|
|
||||||
alias local.systemNumber=systemNumber;
|
alias local.systemNumber=systemNumber;
|
||||||
alias local.methodNumber=methodNumber;
|
alias local.methodNumber=methodNumber;
|
||||||
alias local.verifyingMonth=verifyingMonth ;
|
alias local.verifyingMonth=verifyingMonth;
|
||||||
alias local.averagingPeriod=averagingPeriod ;
|
alias local.averagingPeriod=averagingPeriod;
|
||||||
alias local.forecastMonth=forecastMonth ;
|
alias local.forecastMonth=forecastMonth;
|
||||||
alias local.referenceDate=referenceDate ;
|
alias local.referenceDate=referenceDate;
|
||||||
alias local.climateDateFrom=climateDateFrom ;
|
alias local.climateDateFrom=climateDateFrom;
|
||||||
alias local.climateDateTo=climateDateTo ;
|
alias local.climateDateTo=climateDateTo;
|
||||||
alias local.unitsDecimalScaleFactor=unitsDecimalScaleFactor ;
|
alias local.unitsDecimalScaleFactor=unitsDecimalScaleFactor;
|
||||||
alias local.thresholdIndicator=thresholdIndicator ;
|
alias local.thresholdIndicator=thresholdIndicator;
|
||||||
alias local.lowerThresholdValue=lowerThresholdValue ;
|
alias local.lowerThresholdValue=lowerThresholdValue;
|
||||||
alias local.upperThresholdValue=upperThresholdValue;
|
alias local.upperThresholdValue=upperThresholdValue;
|
||||||
|
|
||||||
# TODO: BR Note: this is not where we expect it!!
|
# TODO: BR Note: this is not where we expect it!!
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
# MARS labelling or ensemble forecast data (with hindcast support)
|
# MARS labelling or ensemble forecast data (with hindcast support)
|
||||||
|
|
||||||
constant GRIBEXSection1Problem = 69 - section1Length ;
|
constant GRIBEXSection1Problem = 69 - section1Length;
|
||||||
|
|
||||||
#used in local definition 13
|
#used in local definition 13
|
||||||
transient localFlag=2 : hidden;
|
transient localFlag=2 : hidden;
|
||||||
|
@ -20,14 +20,14 @@ if (stepType is "instant" ) {
|
||||||
constant wrongPadding=1 : hidden;
|
constant wrongPadding=1 : hidden;
|
||||||
|
|
||||||
unsigned[1] number : dump;
|
unsigned[1] number : dump;
|
||||||
unsigned[1] numberOfForecastsInEnsemble : dump ;
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
alias totalNumber=numberOfForecastsInEnsemble;
|
alias totalNumber=numberOfForecastsInEnsemble;
|
||||||
unsigned[4] referenceDate : dump ;
|
unsigned[4] referenceDate : dump;
|
||||||
unsigned[4] climateDateFrom : dump;
|
unsigned[4] climateDateFrom : dump;
|
||||||
unsigned[4] climateDateTo : dump ;
|
unsigned[4] climateDateTo : dump;
|
||||||
pad padding_loc26_1(6);
|
pad padding_loc26_1(6);
|
||||||
alias perturbationNumber=number;
|
alias perturbationNumber=number;
|
||||||
|
|
||||||
alias local.referenceDate= referenceDate ;
|
alias local.referenceDate= referenceDate;
|
||||||
alias local.climateDateFrom= climateDateFrom ;
|
alias local.climateDateFrom= climateDateFrom;
|
||||||
alias local.climateDateTo= climateDateTo ;
|
alias local.climateDateTo= climateDateTo;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
# Forecasting Systems with Variable Resolution (Obsolete)
|
# Forecasting Systems with Variable Resolution (Obsolete)
|
||||||
|
|
||||||
constant GRIBEXSection1Problem = 107 - section1Length ;
|
constant GRIBEXSection1Problem = 107 - section1Length;
|
||||||
|
|
||||||
#1->2
|
#1->2
|
||||||
transient grib2LocalSectionNumber=30;
|
transient grib2LocalSectionNumber=30;
|
||||||
|
@ -9,21 +9,21 @@ transient grib2LocalSectionNumber=30;
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
constant wrongPadding=1 : hidden;
|
constant wrongPadding=1 : hidden;
|
||||||
|
|
||||||
unsigned[1] perturbationNumber : dump ;
|
unsigned[1] perturbationNumber : dump;
|
||||||
unsigned[1] numberOfForecastsInEnsemble : dump ;
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
alias totalNumber=numberOfForecastsInEnsemble;
|
alias totalNumber=numberOfForecastsInEnsemble;
|
||||||
alias number = perturbationNumber;
|
alias number = perturbationNumber;
|
||||||
|
|
||||||
unsigned[1] oceanAtmosphereCoupling : dump ;
|
unsigned[1] oceanAtmosphereCoupling : dump;
|
||||||
|
|
||||||
pad padding_loc27_1(3);
|
pad padding_loc27_1(3);
|
||||||
|
|
||||||
unsigned[4] legBaseDate : dump ;
|
unsigned[4] legBaseDate : dump;
|
||||||
unsigned[2] legBaseTime : dump ;
|
unsigned[2] legBaseTime : dump;
|
||||||
unsigned[1] legNumber : dump ;
|
unsigned[1] legNumber : dump;
|
||||||
unsigned[4] referenceDate : dump ;
|
unsigned[4] referenceDate : dump;
|
||||||
unsigned[4] climateDateFrom : dump ;
|
unsigned[4] climateDateFrom : dump;
|
||||||
unsigned[4] climateDateTo : dump ;
|
unsigned[4] climateDateTo : dump;
|
||||||
|
|
||||||
alias mars._leg_number = legNumber;
|
alias mars._leg_number = legNumber;
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,18 @@
|
||||||
|
|
||||||
# information about probabilities (they have already probabilities)
|
# information about probabilities (they have already probabilities)
|
||||||
# information about clustering (they save it as ASCII, at the moment...)
|
# information about clustering (they save it as ASCII, at the moment...)
|
||||||
constant GRIBEXSection1Problem = 79 - section1Length ;
|
constant GRIBEXSection1Problem = 79 - section1Length;
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
constant wrongPadding=1 : hidden;
|
constant wrongPadding=1 : hidden;
|
||||||
|
|
||||||
unsigned[1] perturbationNumber : dump;
|
unsigned[1] perturbationNumber : dump;
|
||||||
alias number = perturbationNumber;
|
alias number = perturbationNumber;
|
||||||
unsigned[1] numberOfForecastsInEnsemble : dump ;
|
unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||||
alias totalNumber=numberOfForecastsInEnsemble;
|
alias totalNumber=numberOfForecastsInEnsemble;
|
||||||
unsigned[4] baseDateEPS : dump ;
|
unsigned[4] baseDateEPS : dump;
|
||||||
unsigned[2] baseTimeEPS : dump;
|
unsigned[2] baseTimeEPS : dump;
|
||||||
unsigned[1] numberOfRepresentativeMember : dump ;
|
unsigned[1] numberOfRepresentativeMember : dump;
|
||||||
unsigned[1] numberOfMembersInCluster : dump;
|
unsigned[1] numberOfMembersInCluster : dump;
|
||||||
unsigned[1] totalInitialConditions : dump;
|
unsigned[1] totalInitialConditions : dump;
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (C) Copyright 2005- ECMWF.
|
||||||
# COSMO clustering information
|
# COSMO clustering information
|
||||||
|
|
||||||
constant GRIBEXSection1Problem = 960 - section1Length ;
|
constant GRIBEXSection1Problem = 960 - section1Length;
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
||||||
unsigned[1] clusterNumber : dump;
|
unsigned[1] clusterNumber : dump;
|
||||||
alias number=clusterNumber;
|
alias number=clusterNumber;
|
||||||
|
|
||||||
unsigned[1] totalNumberOfClusters : dump ;
|
unsigned[1] totalNumberOfClusters : dump;
|
||||||
alias totalNumber=totalNumberOfClusters;
|
alias totalNumber=totalNumberOfClusters;
|
||||||
pad padding_loc29_1(1);
|
pad padding_loc29_1(1);
|
||||||
unsigned[1] clusteringMethod : dump ;
|
unsigned[1] clusteringMethod : dump;
|
||||||
signed[3] northernLatitudeOfDomain : dump;
|
signed[3] northernLatitudeOfDomain : dump;
|
||||||
signed[3] westernLongitudeOfDomain : dump ;
|
signed[3] westernLongitudeOfDomain : dump;
|
||||||
signed[3] southernLatitudeOfDomain : dump ;
|
signed[3] southernLatitudeOfDomain : dump;
|
||||||
signed[3] easternLongitudeOfDomain : dump ;
|
signed[3] easternLongitudeOfDomain : dump;
|
||||||
unsigned[1] numberOfForecastsInCluster : dump;
|
unsigned[1] numberOfForecastsInCluster : dump;
|
||||||
unsigned[1] numberOfParametersUsedForClustering : dump ;
|
unsigned[1] numberOfParametersUsedForClustering : dump;
|
||||||
unsigned[1] numberOfPressureLevelsUsedForClustering : dump ;
|
unsigned[1] numberOfPressureLevelsUsedForClustering : dump;
|
||||||
unsigned[1] numberOfStepsUsedForClustering : dump ;
|
unsigned[1] numberOfStepsUsedForClustering : dump;
|
||||||
|
|
||||||
pad padding_loc29_2(10);
|
pad padding_loc29_2(10);
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
alias grib2LocalSectionPresent=present;
|
alias grib2LocalSectionPresent=present;
|
||||||
constant grib2LocalSectionNumber=9;
|
constant grib2LocalSectionNumber=9;
|
||||||
|
|
||||||
constant GRIBEXSection1Problem = 92 - section1Length ;
|
constant GRIBEXSection1Problem = 92 - section1Length;
|
||||||
|
|
||||||
template mars_labeling "grib1/mars_labeling.def";
|
template mars_labeling "grib1/mars_labeling.def";
|
||||||
|
|
||||||
|
@ -30,33 +30,33 @@ if(type != perturbedType)
|
||||||
{
|
{
|
||||||
unsigned[2] numberOfIterations : dump;
|
unsigned[2] numberOfIterations : dump;
|
||||||
unsigned[2] numberOfSingularVectorsComputed : dump;
|
unsigned[2] numberOfSingularVectorsComputed : dump;
|
||||||
unsigned[1] normAtInitialTime : dump ;
|
unsigned[1] normAtInitialTime : dump;
|
||||||
unsigned[1] normAtFinalTime : dump ;
|
unsigned[1] normAtFinalTime : dump;
|
||||||
unsigned[4] multiplicationFactorForLatLong : dump;
|
unsigned[4] multiplicationFactorForLatLong : dump;
|
||||||
signed[4] northWestLatitudeOfLPOArea : dump ;
|
signed[4] northWestLatitudeOfLPOArea : dump;
|
||||||
signed[4] northWestLongitudeOfLPOArea : dump;
|
signed[4] northWestLongitudeOfLPOArea : dump;
|
||||||
signed[4] southEastLatitudeOfLPOArea : dump;
|
signed[4] southEastLatitudeOfLPOArea : dump;
|
||||||
signed[4] southEastLongitudeOfLPOArea : dump;
|
signed[4] southEastLongitudeOfLPOArea : dump;
|
||||||
unsigned[4] accuracyMultipliedByFactor : dump;
|
unsigned[4] accuracyMultipliedByFactor : dump;
|
||||||
unsigned[2] numberOfSingularVectorsEvolved : dump;
|
unsigned[2] numberOfSingularVectorsEvolved : dump;
|
||||||
# Ritz numbers:
|
# Ritz numbers:
|
||||||
signed[4] NINT_LOG10_RITZ : dump ;
|
signed[4] NINT_LOG10_RITZ : dump;
|
||||||
signed[4] NINT_RITZ_EXP : dump ;
|
signed[4] NINT_RITZ_EXP : dump;
|
||||||
|
|
||||||
alias local.numberOfIterations= numberOfIterations;
|
alias local.numberOfIterations= numberOfIterations;
|
||||||
alias local.numberOfSingularVectorsComputed= numberOfSingularVectorsComputed ;
|
alias local.numberOfSingularVectorsComputed= numberOfSingularVectorsComputed;
|
||||||
alias local.normAtInitialTime= normAtInitialTime ;
|
alias local.normAtInitialTime= normAtInitialTime;
|
||||||
alias local.normAtFinalTime= normAtFinalTime ;
|
alias local.normAtFinalTime= normAtFinalTime;
|
||||||
alias local.multiplicationFactorForLatLong= multiplicationFactorForLatLong ;
|
alias local.multiplicationFactorForLatLong= multiplicationFactorForLatLong;
|
||||||
alias local.northWestLatitudeOfLPOArea= northWestLatitudeOfLPOArea ;
|
alias local.northWestLatitudeOfLPOArea= northWestLatitudeOfLPOArea;
|
||||||
alias local.northWestLongitudeOfLPOArea= northWestLongitudeOfLPOArea ;
|
alias local.northWestLongitudeOfLPOArea= northWestLongitudeOfLPOArea;
|
||||||
alias local.southEastLatitudeOfLPOArea= southEastLatitudeOfLPOArea ;
|
alias local.southEastLatitudeOfLPOArea= southEastLatitudeOfLPOArea;
|
||||||
alias local.southEastLongitudeOfLPOArea= southEastLongitudeOfLPOArea ;
|
alias local.southEastLongitudeOfLPOArea= southEastLongitudeOfLPOArea;
|
||||||
alias local.accuracyMultipliedByFactor= accuracyMultipliedByFactor ;
|
alias local.accuracyMultipliedByFactor= accuracyMultipliedByFactor;
|
||||||
alias local.numberOfSingularVectorsEvolved= numberOfSingularVectorsEvolved ;
|
alias local.numberOfSingularVectorsEvolved= numberOfSingularVectorsEvolved;
|
||||||
# Ritz numbers:
|
|
||||||
alias local.NINT_LOG10_RITZ= NINT_LOG10_RITZ ;
|
alias local.NINT_LOG10_RITZ= NINT_LOG10_RITZ;
|
||||||
alias local.NINT_RITZ_EXP= NINT_RITZ_EXP ;
|
alias local.NINT_RITZ_EXP= NINT_RITZ_EXP;
|
||||||
}
|
}
|
||||||
|
|
||||||
# spareSetToZero
|
# spareSetToZero
|
||||||
|
|
|
@ -54,7 +54,3 @@ if (stepType is "instant" ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# monthly mean
|
|
||||||
#if (timeRangeIndicator==113) {
|
|
||||||
#}
|
|
||||||
|
|
|
@ -29,9 +29,9 @@ meta swapScanningY change_scanning_direction( values,Ni,Nj,
|
||||||
alias swapScanningLat = swapScanningY;
|
alias swapScanningLat = swapScanningY;
|
||||||
|
|
||||||
if (jPointsAreConsecutive) {
|
if (jPointsAreConsecutive) {
|
||||||
alias numberOfRows=Ni;
|
alias numberOfRows=Ni;
|
||||||
alias numberOfColumns=Nj;
|
alias numberOfColumns=Nj;
|
||||||
} else {
|
} else {
|
||||||
alias numberOfRows=Nj;
|
alias numberOfRows=Nj;
|
||||||
alias numberOfColumns=Ni;
|
alias numberOfColumns=Ni;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ if (preferLocalConcepts) {
|
||||||
|
|
||||||
transient productionStatusOfProcessedData=0;
|
transient productionStatusOfProcessedData=0;
|
||||||
position offsetSection1;
|
position offsetSection1;
|
||||||
section_length[3] section1Length ;
|
section_length[3] section1Length;
|
||||||
meta section1Pointer section_pointer(offsetSection1,section1Length,1);
|
meta section1Pointer section_pointer(offsetSection1,section1Length,1);
|
||||||
constant wrongPadding=0;
|
constant wrongPadding=0;
|
||||||
|
|
||||||
|
@ -42,12 +42,12 @@ alias ls.centre = centre;
|
||||||
|
|
||||||
# Generating process identification number
|
# Generating process identification number
|
||||||
# (allocated by originating centre)
|
# (allocated by originating centre)
|
||||||
unsigned[1] generatingProcessIdentifier : dump ;
|
unsigned[1] generatingProcessIdentifier : dump;
|
||||||
alias generatingProcessIdentificationNumber=generatingProcessIdentifier;
|
alias generatingProcessIdentificationNumber=generatingProcessIdentifier;
|
||||||
alias process=generatingProcessIdentifier;
|
alias process=generatingProcessIdentifier;
|
||||||
|
|
||||||
unsigned[1] gridDefinition = 255 : edition_specific ;
|
unsigned[1] gridDefinition = 255 : edition_specific;
|
||||||
flags[1] section1Flags 'grib1/1.table' = 128 : hidden ; # = section 2 present
|
flags[1] section1Flags 'grib1/1.table' = 128 : hidden; # = section 2 present
|
||||||
|
|
||||||
alias centreForTable2=centre;
|
alias centreForTable2=centre;
|
||||||
|
|
||||||
|
@ -113,11 +113,11 @@ if( indicatorOfTypeOfLevel == 109 ||
|
||||||
alias mars.levelist = level;
|
alias mars.levelist = level;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned[1] yearOfCentury : edition_specific ;
|
unsigned[1] yearOfCentury : edition_specific;
|
||||||
unsigned[1] month ;
|
unsigned[1] month;
|
||||||
unsigned[1] day ;
|
unsigned[1] day;
|
||||||
unsigned[1] hour ;
|
unsigned[1] hour;
|
||||||
unsigned[1] minute ;
|
unsigned[1] minute;
|
||||||
transient second = 0;
|
transient second = 0;
|
||||||
|
|
||||||
codetable[1] unitOfTimeRange 'grib1/4.table' = 1 : edition_specific;
|
codetable[1] unitOfTimeRange 'grib1/4.table' = 1 : edition_specific;
|
||||||
|
@ -136,7 +136,7 @@ unsigned[2] numberIncludedInAverage;
|
||||||
meta mybits bits(numberIncludedInAverage,0,12);
|
meta mybits bits(numberIncludedInAverage,0,12);
|
||||||
|
|
||||||
unsigned[1] numberMissingFromAveragesOrAccumulations;
|
unsigned[1] numberMissingFromAveragesOrAccumulations;
|
||||||
unsigned[1] centuryOfReferenceTimeOfData ;
|
unsigned[1] centuryOfReferenceTimeOfData;
|
||||||
|
|
||||||
codetable[1] subCentre 'grib1/0.[centre].table' : dump;
|
codetable[1] subCentre 'grib1/0.[centre].table' : dump;
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ transient setLocalDefinition= 0 : no_copy;
|
||||||
transient optimizeScaleFactor = 0;
|
transient optimizeScaleFactor = 0;
|
||||||
|
|
||||||
meta dataDate g1date(centuryOfReferenceTimeOfData,yearOfCentury,month,day) : dump;
|
meta dataDate g1date(centuryOfReferenceTimeOfData,yearOfCentury,month,day) : dump;
|
||||||
meta year evaluate(dataDate / 10000) ;
|
meta year evaluate(dataDate / 10000);
|
||||||
|
|
||||||
meta dataTime time(hour,minute,second) : dump;
|
meta dataTime time(hour,minute,second) : dump;
|
||||||
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
|
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
|
||||||
|
@ -195,18 +195,18 @@ concept_nofail stepType (timeRangeIndicator, "stepType.def", conceptsDir2, conce
|
||||||
#alias timeIncrement=zero;
|
#alias timeIncrement=zero;
|
||||||
|
|
||||||
#if (timeRangeIndicator==113) {
|
#if (timeRangeIndicator==113) {
|
||||||
# alias lengthOfTimeRange=numberIncludedInAverage;
|
# alias lengthOfTimeRange=numberIncludedInAverage;
|
||||||
# alias indicatorOfUnitForTimeRange=unitOfTimeRange;
|
# alias indicatorOfUnitForTimeRange=unitOfTimeRange;
|
||||||
# alias indicatorOfUnitForTimeIncrement=unitOfTimeRange;
|
# alias indicatorOfUnitForTimeIncrement=unitOfTimeRange;
|
||||||
# alias timeIncrement=P2;
|
# alias timeIncrement=P2;
|
||||||
# alias forecastTime=P1;
|
# alias forecastTime=P1;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
#if (stepType is "accum") {
|
#if (stepType is "accum") {
|
||||||
# transient accumulationRange=P2-P1;
|
# transient accumulationRange=P2-P1;
|
||||||
# alias lengthOfTimeRange=accumulationRange;
|
# alias lengthOfTimeRange=accumulationRange;
|
||||||
# alias forecastTime=P1;
|
# alias forecastTime=P1;
|
||||||
# alias indicatorOfUnitForTimeRange=unitOfTimeRange;
|
# alias indicatorOfUnitForTimeRange=unitOfTimeRange;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
#conversion 1->2
|
#conversion 1->2
|
||||||
|
|
Loading…
Reference in New Issue