Changeset c5074d2 in flex_extract.git for source/python/classes/EcFlexpart.py


Ignore:
Timestamp:
Oct 9, 2018, 8:42:16 PM (6 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
aa275fc
Parents:
0a06607
Message:

added making of namelist file and jobscript via genshi templates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/python/classes/EcFlexpart.py

    r0e576fc rc5074d2  
    658658
    659659
    660     def write_namelist(self, c, filename):
     660    def write_namelist(self, c):
    661661        '''
    662662        @Description:
     
    683683        '''
    684684
     685        from genshi.template.text import NewTextTemplate
     686        from genshi.template import  TemplateLoader
     687
     688        loader = TemplateLoader(_config.PATH_TEMPLATES, auto_reload=False)
     689        compile_template = loader.load(_config.TEMPFILE_NAMELIST,
     690                                       cls=NewTextTemplate)
     691
    685692        self.inputdir = c.inputdir
    686693        area = np.asarray(self.area.split('/')).astype(float)
     
    692699        maxb = int((area[0] - area[2]) / grid[0]) + 1
    693700
    694         with open(self.inputdir + '/' + filename, 'w') as f:
    695             f.write('&NAMGEN\n')
    696             f.write(',\n  '.join(['maxl = ' + str(maxl), 'maxb = ' + str(maxb),
    697                                   'mlevel = ' + str(self.level),
    698                                   'mlevelist = ' + '"' + str(self.levelist)
    699                                                  + '"',
    700                                   'mnauf = ' + str(self.resol),
    701                                   'metapar = ' + '77',
    702                                   'rlo0 = ' + str(area[1]),
    703                                   'rlo1 = ' + str(area[3]),
    704                                   'rla0 = ' + str(area[2]),
    705                                   'rla1 = ' + str(area[0]),
    706                                   'momega = ' + str(c.omega),
    707                                   'momegadiff = ' + str(c.omegadiff),
    708                                   'mgauss = ' + str(c.gauss),
    709                                   'msmooth = ' + str(c.smooth),
    710                                   'meta = ' + str(c.eta),
    711                                   'metadiff = ' + str(c.etadiff),
    712                                   'mdpdeta = ' + str(c.dpdeta)]))
    713 
    714             f.write('\n/\n')
     701        stream = compile_template.generate(
     702            maxl = str(maxl),
     703            maxb = str(maxb),
     704            mlevel = str(self.level),
     705            mlevelist = str(self.levelist),
     706            mnauf = str(self.resol),
     707            metapar = '77',
     708            rlo0 = str(area[1]),
     709            rlo1 = str(area[3]),
     710            rla0 = str(area[2]),
     711            rla1 = str(area[0]),
     712            momega = str(c.omega),
     713            momegadiff = str(c.omegadiff),
     714            mgauss = str(c.gauss),
     715            msmooth = str(c.smooth),
     716            meta = str(c.eta),
     717            metadiff = str(c.etadiff),
     718            mdpdeta = str(c.dpdeta)
     719        )
     720
     721        namelistfile = os.path.join(self.inputdir, _config.FILE_NAMELIST)
     722
     723        with open(namelistfile, 'w') as f:
     724            f.write(stream.render('text'))
    715725
    716726        return
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG