# START 1/local.98.1 ---------------------------------------------------------------------- # LOCAL 98 1 # # localDefinitionTemplate_001 # --------------------------- # # 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 - #spareSetToZero 52 PAD n/a 1 # constant GRIBEXSection1Problem = 52 - section1Length ; 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; } } } # monthly mean #if (timeRangeIndicator==113) { #}