# Copyright 2005-2007 ECMWF
#
# Licensed under the GNU Lesser General Public License which
# incorporates the terms and conditions of version 3 of the GNU
# General Public License.
# See LICENSE and gpl-3.0.txt for details.
include "parameters_version.def";
constant definitionFilesVersion="1.9.10.0";

constant zero=0 : hidden;
constant one=1 : hidden;
constant two=1 : hidden;
constant three=1 : hidden;
constant eight=8 : hidden;
constant hundred=100 : hidden;
constant eleven=11 : hidden;
constant false="false" : hidden;
transient truncateLaplacian=0 : hidden;
constant marsDir="mars" : no_copy,hidden;
constant present=1 : hidden;
constant epsPoint=1 : hidden;
constant epsContinous=11 : hidden;
constant epsStatisticsPoint=2 : hidden;
constant epsStatisticsContinous=12 : hidden;
alias epsStatistics=zero;

constant defaultParameter = 0 : hidden;
constant defaultName="unknown" :hidden;
constant defaultShortName="unknown" : hidden;
transient truncateDegrees=0;
transient dummy = 1 :hidden;
constant unknown="unknown" : hidden;
constant oneConstant=1 : hidden;
constant thousand=1000;
constant oneMillionConstant=1000000 : hidden;
constant grib1divider = 1000 : hidden;
meta offset offset_file();
meta count count_file();
meta countTotal count_total();
transient file="unknown";
transient changingPrecision=0 : hidden;
transient unitsFactor=1.0;
transient unitsBias=0.0;
constant globalDomain = "g";
transient timeRangeIndicatorFromStepRange=-1 : hidden;


meta libraryVersion library_version();

lookup[4] kindOfProduct       (0,identifier);
# 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 == `TIDE`){
 template      TIDE "tide/boot.def" ;
}

if(kindOfProduct == `BUFR`){
 template      BUFR "bufr/boot.def" ;
 constant  BUFRstr="BUFR";
 alias ls.identifier=BUFRstr;
}

if(kindOfProduct == `CDFX`){
 template      CDF "cdf/boot.def" ;
 constant  CDFstr="netCDF";
 alias ls.identifier=CDFstr;
}