# Copyright 2005-2015 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. # # START 1/local.98.36 ---------------------------------------------------------------------- # LOCAL 98 36 # # localDefinitionTemplate_036 # --------------------------- # # Description Octet Code Ksec1 Count # ----------- ----- ---- ----- ----- #localDefinitionNumber 41 I1 37 - #class 42 I1 38 - #type 43 I1 39 - #stream 44 I2 40 - #experimentVersionNumber 46 A4 41 - #number 50 I1 42 - #total 51 I1 43 - #offsetToEndOf4DvarWindow 52 I2 44 - #lengthOf4DvarWindow 54 I2 45 - #spareSetToZero 56 PAD n/a 1 # constant GRIBEXSection1Problem = 56 - section1Length ; template mars_labeling "grib1/mars_labeling.def"; unsigned[1] perturbationNumber : dump; alias number = perturbationNumber; unsigned[1] numberOfForecastsInEnsemble : dump; alias totalNumber=numberOfForecastsInEnsemble; # Hours unsigned[2] offsetToEndOf4DvarWindow : dump; unsigned[2] lengthOf4DvarWindow : dump; alias anoffset=offsetToEndOf4DvarWindow; pad padding_local1_1(1); #1->2 alias grib2LocalSectionPresent=present; constant grib2LocalSectionNumber=1; if (stepType is "instant" ) { if (type is "em" || type is "es" ) { alias productDefinitionTemplateNumber=epsStatisticsPoint; } else { if (numberOfForecastsInEnsemble!=0) { if ((perturbationNumber/2)*2 == perturbationNumber) { alias typeOfEnsembleForecast=two; } else { alias typeOfEnsembleForecast=three; } alias productDefinitionTemplateNumber=epsPoint; } else { alias productDefinitionTemplateNumber=zero; } } } else { if (type is "em" || type is "es" ) { alias productDefinitionTemplateNumber=epsStatisticsContinous; } else { if (numberOfForecastsInEnsemble!=0) { if ((perturbationNumber/2)*2 == perturbationNumber) { alias typeOfEnsembleForecast=two; } else { alias typeOfEnsembleForecast=three; } alias productDefinitionTemplateNumber=epsContinous; } else { alias productDefinitionTemplateNumber=eight; } } } # END 1/local.98.36 ----------------------------------------------------------------------