#!/usr/bin/env python import os, sys class mksrfDataEntry_prog: # Class data year_start = 2101 year_end = 2300 ssp_rcp = "SSP1-2.6" subdir = "pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2101-2300.c20200320" cdate = "200320" desc = "SSP1RCP26x_clm5" def parse_cmdline_args( self ): "Parse the command line arguments for create data entry list" from optparse import OptionParser, OptionGroup parser = OptionParser( usage="%prog [options]" ) options = OptionGroup( parser, "Options" ) options.add_option( "-s", "--year_start", dest="year_start", default=self.year_start, \ help="Start year" ) options.add_option( "-f", "--year_end", dest="year_end", default=self.year_end, \ help="End year" ) options.add_option( "-d", "--subdir", dest="subdir", default=self.subdir, \ help="Subdirectory" ) options.add_option( "--cdate", dest="cdate", default=self.cdate, \ help="Creation date" ) options.add_option( "--desc", dest="desc", default=self.desc, \ help="Description string" ) parser.add_option_group(options) (options, args) = parser.parse_args() if len(args) != 0: parser.error("incorrect number of arguments") self.year_start = options.year_start self.year_end = options.year_end self.subdir = options.subdir self.cdate = options.cdate self.desc = options.desc def printentry( self, year ): "Print a single entry" print 'lnd/clm2/rawdata/%s/mksrf_landuse_%s_%s.c%s.nc' % (self.subdir, self.desc, year, self.cdate) print '\n' entry = mksrfDataEntry_prog() entry.parse_cmdline_args() for year in range(entry.year_start, entry.year_end+1): entry.printentry( year )