eccodes/definitions/boot.def

129 lines
3.7 KiB
Modula-2
Raw Permalink Normal View History

2020-01-28 14:32:34 +00:00
# (C) Copyright 2005- ECMWF.
2013-03-25 12:04:10 +00:00
#
# 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;
2013-03-25 12:04:10 +00:00
# ECC-806: Local concepts precedence order
2024-10-31 11:14:59 +00:00
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) {
2024-02-18 13:14:07 +00:00
template LIMITS "param_limits.def";
}
2014-06-18 16:14:01 +00:00
# GRIBEX special boustrophedonic mode. See GRIB-472
# If the environment variable is not defined, the key will be 0
2024-02-18 13:14:07 +00:00
GRIBEX_boustrophedonic = getenv("ECCODES_GRIBEX_BOUSTROPHEDONIC","0") :hidden;
2014-06-18 16:14:01 +00:00
2013-03-25 12:04:10 +00:00
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;
2013-03-25 12:04:10 +00:00
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;
2016-09-23 13:46:04 +00:00
constant thousand=1000 :hidden;
2013-03-25 12:04:10 +00:00
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;
2013-03-25 12:04:10 +00:00
# ECC-868
transient produceLargeConstantFields = 0 : hidden;
2013-03-25 12:04:10 +00:00
meta libraryVersion library_version() : hidden;
2024-02-18 13:14:07 +00:00
lookup[4] kindOfProduct (0,identifier) : hidden;
2013-03-25 12:04:10 +00:00
# grib templates
# `ABCD` is a number, each letter being a byte
if(kindOfProduct == `GRIB`){
2024-02-18 13:14:07 +00:00
lookup[1] GRIBEditionNumber (7,editionNumber) : edition_specific;
template GRIB "grib[GRIBEditionNumber:l]/boot.def" ;
2013-03-25 12:04:10 +00:00
}
2019-11-14 13:08:14 +00:00
if(kindOfProduct == `BUDG` ){
2024-02-18 13:14:07 +00:00
template BUDG "budg/boot.def" ;
2013-03-25 12:04:10 +00:00
}
2019-11-14 13:08:14 +00:00
if(kindOfProduct == `DIAG`){
2024-02-18 13:14:07 +00:00
template DIAG "diag/boot.def" ;
2019-11-14 13:08:14 +00:00
}
2013-03-25 12:04:10 +00:00
if(kindOfProduct == `TIDE`){
2024-02-18 13:14:07 +00:00
template TIDE "tide/boot.def" ;
2013-03-25 12:04:10 +00:00
}
if(kindOfProduct == `BUFR`){
2024-02-18 13:14:07 +00:00
template BUFR "bufr/boot.def" ;
2024-02-19 12:37:48 +00:00
#constant BUFRstr="BUFR"; #ECC-742
#alias identifier=BUFRstr;
2013-03-25 12:04:10 +00:00
}
if(kindOfProduct == `CDFX`){
2024-02-18 13:14:07 +00:00
template CDF "cdf/boot.def" ;
constant CDFstr="netCDF";
2013-03-25 12:04:10 +00:00
alias ls.identifier=CDFstr;
}
if(kindOfProduct == 17632522 ){
2024-02-18 13:14:07 +00:00
template GTS "gts/boot.def" ;
2013-03-25 12:04:10 +00:00
constant GTSstr="GTS";
alias ls.identifier=GTSstr;
}
if(kindOfProduct == `META` ){
2024-02-18 13:14:07 +00:00
template METAR "metar/boot.def" ;
constant METARstr="METAR";
2015-04-10 11:14:23 +00:00
alias identifier=METARstr;
}
if(kindOfProduct == `TAF ` ){
2024-02-18 13:14:07 +00:00
template TAF "taf/boot.def" ;
constant TAFstr="TAF";
alias ls.identifier=TAFstr;
}
if(kindOfProduct == 2303214662){
2024-02-18 13:14:07 +00:00
template HDF5 "hdf5/boot.def" ;
constant HDF5str="HDF5";
alias ls.identifier=HDF5str;
}
if(kindOfProduct == `WRAP`){
2024-02-18 13:14:07 +00:00
template WRAP "wrap/boot.def" ;
constant WRAPstr="WRAP";
alias ls.identifier=WRAPstr;
}
meta isMessageValid message_is_valid(kindOfProduct) : hidden;