#!/usr/bin/env python __author__ = 'Barry Baker' __email__ = 'barry.baker@noaa.gov' __license__ = 'GPL' ''' Simple utility to modify the HEMCO_sa_Time.rc file. ''' import os from glob import glob import sys import subprocess from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter from datetime import datetime def fix_time_string(input_str, date_str): return '{:<9}'.format(input_str) + date_str.strftime('%Y-%m-%d %H:%M:%S') if __name__ == '__main__': parser = ArgumentParser(description='Modify the start and end date of the NEXUS config script', formatter_class=ArgumentDefaultsHelpFormatter) parser.add_argument('-f', '--files', help='input nemsio file name', type=str, required=True) parser.add_argument('-s', '--start_date', help='starting date: format %Y%m%d%H', required=True) parser.add_argument('-e', '--end_date', help='ending date: format %Y%m%d%H', required=True) parser.add_argument('-t', '--time_step', help='time step in seconds', default='3600', required=False) args = parser.parse_args() finput = args.files sdate = datetime.strptime(args.start_date,'%Y%m%d%H') edate = datetime.strptime(args.end_date,'%Y%m%d%H') tstep = args.time_step with open(finput,'w') as writer: writer.write("# This file was automatically generated by " + __file__ + "\n") writer.write("# List here simulation start, end, and emission time step (seconds).\n") writer.write("# Dates must have format YYYY-MM-DD HH:MM:SS\n") writer.write(fix_time_string("START:", sdate) + "\n") writer.write(fix_time_string("END:", edate) + "\n") writer.write("TS_EMIS: " + tstep + "\n")