eccodes/definitions/boot.def

129 lines
3.7 KiB
Modula-2

# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
include "parameters_version.def";
constant definitionFilesVersion="2.0.0.0" : hidden;
constant internalVersion=30 : hidden;
meta checkInternalVersion check_internal_version(internalVersion) : hidden;
# ECC-806: Local concepts precedence order
preferLocalConceptsEnvVar = getenv("ECCODES_GRIB_PREFER_LOCAL_CONCEPTS","0") : hidden;
transient preferLocalConcepts = preferLocalConceptsEnvVar : hidden;
constant defaultTypeOfLevel="unknown" : hidden;
gribDataQualityChecks = getenv("ECCODES_GRIB_DATA_QUALITY_CHECKS","0") : hidden;
if (gribDataQualityChecks) {
template LIMITS "param_limits.def";
}
# GRIBEX special boustrophedonic mode. See GRIB-472
# If the environment variable is not defined, the key will be 0
GRIBEX_boustrophedonic = getenv("ECCODES_GRIBEX_BOUSTROPHEDONIC","0") :hidden;
constant zero=0 : hidden;
constant one=1 : hidden;
constant hundred=100 : hidden;
transient truncateLaplacian=0 : hidden;
constant marsDir="mars" : no_copy,hidden;
constant present=1 : hidden;
# alias epsStatistics=zero : hidden;
constant defaultParameter = 0 : hidden;
constant defaultName="unknown" :hidden;
constant defaultShortName="unknown" : hidden;
transient truncateDegrees=0 : hidden;
transient dummy = 1 :hidden;
constant unknown="unknown" : hidden;
constant oneConstant=1 : hidden;
constant thousand=1000 :hidden;
constant oneMillionConstant=1000000 : hidden;
constant grib1divider = 1000 : hidden;
meta offset offset_file() : hidden;
meta count count_file() : hidden;
meta countTotal count_total() : hidden;
transient file="unknown" : hidden;
transient changingPrecision=0 : hidden;
transient unitsFactor=1 : hidden;
transient unitsBias=0 : hidden;
constant globalDomain = "g";
transient timeRangeIndicatorFromStepRange=-1 : hidden;
# Format specifiers for converting a number (float or int) into a string
transient formatForDoubles = "%g" : no_copy,hidden;
transient formatForLongs = "%ld" : no_copy,hidden;
# ECC-868
transient produceLargeConstantFields = 0 : hidden;
meta libraryVersion library_version() : hidden;
lookup[4] kindOfProduct (0,identifier) : hidden;
# grib templates
# `ABCD` is a number, each letter being a byte
if(kindOfProduct == `GRIB`){
lookup[1] GRIBEditionNumber (7,editionNumber) : edition_specific;
template GRIB "grib[GRIBEditionNumber:l]/boot.def" ;
}
if(kindOfProduct == `BUDG` ){
template BUDG "budg/boot.def" ;
}
if(kindOfProduct == `DIAG`){
template DIAG "diag/boot.def" ;
}
if(kindOfProduct == `TIDE`){
template TIDE "tide/boot.def" ;
}
if(kindOfProduct == `BUFR`){
template BUFR "bufr/boot.def" ;
#constant BUFRstr="BUFR"; #ECC-742
#alias identifier=BUFRstr;
}
if(kindOfProduct == `CDFX`){
template CDF "cdf/boot.def" ;
constant CDFstr="netCDF";
alias ls.identifier=CDFstr;
}
if(kindOfProduct == 17632522 ){
template GTS "gts/boot.def" ;
constant GTSstr="GTS";
alias ls.identifier=GTSstr;
}
if(kindOfProduct == `META` ){
template METAR "metar/boot.def" ;
constant METARstr="METAR";
alias identifier=METARstr;
}
if(kindOfProduct == `TAF ` ){
template TAF "taf/boot.def" ;
constant TAFstr="TAF";
alias ls.identifier=TAFstr;
}
if(kindOfProduct == 2303214662){
template HDF5 "hdf5/boot.def" ;
constant HDF5str="HDF5";
alias ls.identifier=HDF5str;
}
if(kindOfProduct == `WRAP`){
template WRAP "wrap/boot.def" ;
constant WRAPstr="WRAP";
alias ls.identifier=WRAPstr;
}
meta isMessageValid message_is_valid(kindOfProduct) : hidden;