# 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);

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";
}
