# JMA constant GRIBEXSection1Problem = 52 - section1Length ; template mars_labeling "grib1/mars_labeling.def"; unsigned[1] perturbationNumber : dump; alias number = perturbationNumber; unsigned[1] numberOfForecastsInEnsemble : dump; alias totalNumber=numberOfForecastsInEnsemble; 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; } } }