#local section ECMWF

template mars_labeling "grib2/mars_labeling.def";
transient productDefinitionTemplateNumberInternal=-1;

meta localDefinitionNumber local_definition(grib2LocalSectionNumber,
                                            productDefinitionTemplateNumber,
                                            productDefinitionTemplateNumberInternal,
                                            type,
                                            stream,
                                            class,
                                            eps,
                                            stepType,
                                            derivedForecast);

meta eps g2_eps(productDefinitionTemplateNumber,
                type,
                stream,
                stepType,
                derivedForecast);

template_nofail  localSection  "grib2/local.98.[grib2LocalSectionNumber:l].def";
position offsetAfterLocalSection;
transient addExtraLocalSection=0;
transient deleteExtraLocalSection=0;
#transient extraLocalSectionPresent=section2Length - offsetAfterLocalSection + offsetSection2 ;
meta extraLocalSectionPresent evaluate (section2Length - offsetAfterLocalSection + offsetSection2 > 0 );
if (  ( extraLocalSectionPresent || addExtraLocalSection )  && ! deleteExtraLocalSection) {
    # extra local section present
    codetable[2] extraLocalSectionNumber 'grib2/grib2LocalSectionNumber.[centreForLocal:l].table' = 300 : dump;
    template  localSection  "grib2/local.98.[extraLocalSectionNumber:l].def";
}

