예제 #1
0
def load(h):

    h.add(_.Constant('GRIBEXSection1Problem', 0))
    h.add(_.StringCodetable('thisMarsClass', 1, "mars/class.table"))
    h.add(_.StringCodetable('thisMarsType', 1, "mars/type.table"))
    h.add(_.StringCodetable('thisMarsStream', 2, "mars/stream.table"))
    h.add(_.Ksec1expver('thisExperimentVersionNumber', 4))
    h.alias('ls.dataType', 'thisMarsType')
    h.alias('mars.class', 'thisMarsClass')
    h.alias('mars.type', 'thisMarsType')
    h.alias('mars.stream', 'thisMarsStream')
    h.alias('mars.expver', 'thisExperimentVersionNumber')
    h.add(_.Pad('padding_loc192_1', 2))
    h.add(_.Unsigned('numberOfLocalDefinitions', 1))

    if (h.get_l('numberOfLocalDefinitions') == 2):
        h.add(_.Unsigned('subLocalDefinitionLength1', 2))
        h.add(_.Unsigned('subLocalDefinitionNumber1', 1))
        h.add(_.StringCodetable('marsClass1', 1, "mars/class.table"))
        h.add(_.StringCodetable('marsType1', 1, "mars/type.table"))
        h.add(_.StringCodetable('marsStream1', 2, "mars/stream.table"))
        h.add(_.Ksec1expver('experimentVersionNumber1', 4))
        _.Template(
            'grib1/local_no_mars.98.[subLocalDefinitionNumber1].def').load(h)
        h.add(_.Unsigned('subLocalDefinitionLength2', 2))
        h.add(_.Unsigned('subLocalDefinitionNumber2', 1))
        h.add(_.StringCodetable('marsClass2', 1, "mars/class.table"))
        h.add(_.StringCodetable('marsType2', 1, "mars/type.table"))
        h.add(_.StringCodetable('marsStream2', 2, "mars/stream.table"))
        h.add(_.Ksec1expver('experimentVersionNumber2', 4))
        _.Template(
            'grib1/local_no_mars.98.[subLocalDefinitionNumber2].def').load(h)
예제 #2
0
def load(h):

    h.add(_.Constant('GRIBEXSection1Problem', (72 - _.Get('section1Length'))))
    _.Template('grib1/mars_labeling.def').load(h)
    h.add(_.Unsigned('classOfAnalysis', 1))
    h.add(_.Unsigned('typeOfAnalysis', 1))
    h.add(_.Unsigned('streamOfAnalysis', 2))
    h.add(_.Ksec1expver('experimentVersionNumberOfAnalysis', 4))
    h.add(_.Unsigned('yearOfAnalysis', 1))
    h.add(_.Unsigned('monthOfAnalysis', 1))
    h.add(_.Unsigned('dayOfAnalysis', 1))
    h.add(_.Unsigned('hourOfAnalysis', 1))
    h.add(_.Unsigned('minuteOfAnalysis', 1))
    h.add(_.Unsigned('centuryOfAnalysis', 1))
    h.add(_.Unsigned('originatingCentreOfAnalysis', 1))
    h.add(_.Unsigned('subcentreOfAnalysis', 1))
    h.add(_.Pad('padding_local11_1', 7))
    h.add(_.Constant('secondsOfAnalysis', 0))
    h.add(
        _.G1date('dateOfAnalysis', _.Get('centuryOfAnalysis'),
                 _.Get('yearOfAnalysis'), _.Get('monthOfAnalysis'),
                 _.Get('dayOfAnalysis')))
    h.add(
        _.Time('timeOfAnalysis', _.Get('hourOfAnalysis'),
               _.Get('minuteOfAnalysis'), _.Get('secondsOfAnalysis')))
    h.alias('date', 'dateOfAnalysis')
    h.alias('time', 'timeOfAnalysis')
예제 #3
0
def load(h):

    h.add(_.StringCodetable('marsClass', 1, "mars/eswi/class.table"))
    h.add(_.StringCodetable('marsType', 1, "mars/eswi/type.table"))
    h.add(_.StringCodetable('marsStream', 2, "mars/eswi/stream.table"))
    h.add(_.Ksec1expver('experimentVersionNumber', 4))
    h.add(_.Pad('reservedNeedNotBePresent', 2))
    h.add(_.StringCodetable('marsModel', 1, "mars/eswi/model.table"))
예제 #4
0
def load(h):

    h.add(_.Constant('GRIBEXSection1Problem', (53 - _.Get('section1Length'))))
    h.add(_.StringCodetable('marsClass', 1, "mars/eswi/class.table"))
    h.add(_.StringCodetable('marsType', 1, "mars/eswi/type.table"))
    h.add(_.StringCodetable('marsStream', 2, "mars/eswi/stream.table"))
    h.add(_.Ksec1expver('experimentVersionNumber', 4))
    h.add(_.Pad('reservedNeedNotBePresent', 2))
    h.add(_.StringCodetable('marsModel', 1, "mars/eswi/model.table"))
    h.add(_.Unsigned('marsExperimentOffset', 1))
예제 #5
0
def load(h):

    h.add(_.StringCodetable('marsClass', 1, "mars/eswi/class.table"))
    h.add(_.StringCodetable('marsType', 1, "mars/eswi/type.table"))
    h.add(_.StringCodetable('marsStream', 2, "mars/eswi/stream.table"))
    h.add(_.Ksec1expver('experimentVersionNumber', 4))
    h.add(_.Pad('reservedNeedNotBePresent', 2))
    h.add(_.StringCodetable('marsModel', 1, "mars/eswi/model.table"))
    h.add(_.Codetable('matchSort', 1, "grib1/localConcepts/eswi/sort.table"))
    h.add(_.Codetable('matchTimeRepres', 1, "grib1/localConcepts/eswi/timerepres.table"))
    h.add(_.Codetable('matchLandType', 1, "grib1/localConcepts/eswi/landtype.table"))
    h.add(_.Codetable('matchAerosolBinNumber', 2, "grib1/localConcepts/eswi/aerosolbinnumber.table"))
    h.add(_.Unsigned('meanSize', 2))
예제 #6
0
def load(h):

    h.add(_.StringCodetable('marsClass', 2, "mars/class.table"))
    h.add(_.StringCodetable('marsType', 2, "mars/type.table"))
    h.add(_.StringCodetable('marsStream', 2, "mars/stream.table"))
    h.add(_.Ksec1expver('experimentVersionNumber', 4))
    h.add(
        _.G2_mars_labeling('class', 0, _.Get('marsClass'), _.Get('marsType'),
                           _.Get('marsStream'),
                           _.Get('experimentVersionNumber'),
                           _.Get('typeOfProcessedData'),
                           _.Get('productDefinitionTemplateNumber'),
                           _.Get('stepType'), _.Get('derivedForecast'),
                           _.Get('typeOfGeneratingProcess')))
    h.add(
        _.G2_mars_labeling('type', 1, _.Get('marsClass'), _.Get('marsType'),
                           _.Get('marsStream'),
                           _.Get('experimentVersionNumber'),
                           _.Get('typeOfProcessedData'),
                           _.Get('productDefinitionTemplateNumber'),
                           _.Get('stepType'), _.Get('derivedForecast'),
                           _.Get('typeOfGeneratingProcess')))
    h.add(
        _.G2_mars_labeling('stream', 2, _.Get('marsClass'), _.Get('marsType'),
                           _.Get('marsStream'),
                           _.Get('experimentVersionNumber'),
                           _.Get('typeOfProcessedData'),
                           _.Get('productDefinitionTemplateNumber'),
                           _.Get('stepType'), _.Get('derivedForecast'),
                           _.Get('typeOfGeneratingProcess')))
    h.alias('ls.dataType', 'marsType')
    h.alias('mars.class', 'class')
    h.alias('mars.type', 'type')
    h.alias('mars.stream', 'stream')
    h.alias('mars.expver', 'experimentVersionNumber')
    h.alias('mars.domain', 'globalDomain')
예제 #7
0
def load(h):

    h.add(_.Constant('GRIBEXSection1Problem', (80 - _.Get('section1Length'))))
    h.add(_.StringCodetable('marsClass', 1, "mars/eswi/class.table"))
    h.add(_.StringCodetable('marsType', 1, "mars/eswi/type.table"))
    h.add(_.StringCodetable('marsStream', 2, "mars/eswi/stream.table"))
    h.add(_.Ksec1expver('experimentVersionNumber', 4))
    h.add(_.Pad('reservedNeedNotBePresent', 2))
    h.add(_.StringCodetable('marsModel', 1, "mars/eswi/model.table"))
    h.add(_.Codetable('matchSort', 1, "grib1/localConcepts/eswi/sort.table"))
    h.add(_.Codetable('matchTimeRepres', 1, "grib1/localConcepts/eswi/timerepres.table"))
    h.add(_.Codetable('matchLandType', 1, "grib1/localConcepts/eswi/landtype.table"))
    h.add(_.Codetable('matchAerosolBinNumber', 2, "grib1/localConcepts/eswi/aerosolbinnumber.table"))
    h.add(_.Unsigned('molarMass', 2))
    h.add(_.Unsigned('logTransform', 1))
    h.add(_.Signed('threshold', 2))
    h.add(_.Unsigned('reserved', 1))
    h.add(_.Unsigned('totalAerosolBinsNumbers', 1))
    h.add(_.Signed('integerScaleFactor', 1))
    h.add(_.Unsigned('lowerRange', 2))
    h.add(_.Unsigned('upperRange', 2))
    h.add(_.Unsigned('meanSize', 2))
    h.add(_.Unsigned('standardDeviation', 2))
    h.add(_.Pad('padding_local1_1', 7))