#!/usr/bin/env python # encoding: utf-8 import glob import subprocess import sys import os import re from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta STG_SCRIPT='/delta/users/nickb/code/stg/stg.sh' YEARS=[2012] MONTHS=[2,5,8,11] inst = sys.argv[1] def getdirs(inst): if inst == "airs": INDIR='/delta/instruments/AIRS/HSRTV/%(YEAR)s/%(DOY)s/HSRTV' OUTDIR='/delta/instruments/AIRS/STG/%(YEAR)s/%(DOY)s/STG' # AIRS L1B elif inst == "cris": INDIR='/delta/instruments/CrIS/%(YEAR)s/%(DOY)s/HSRTV' OUTDIR='/delta/instruments/CrIS/%(YEAR)s/%(DOY)s/STG' elif inst == "iasi": INDIR='/delta/instruments/IASI/metop-a/%(YEAR)s/%(DOY)s/HSRTV' OUTDIR='/delta/instruments/IASI/metop-a/%(YEAR)s/%(DOY)s/STG' else: raise NotImplementedError return INDIR, OUTDIR def daterange(start_date, end_date): for n in range(int ((end_date - start_date).days)): yield (start_date + timedelta(n)).timetuple().tm_yday # ------------------------------- INDIR, OUTDIR = getdirs(inst) for YEAR in YEARS: for MONTH in MONTHS: start = datetime(YEAR, MONTH, 1) end = start + relativedelta(months=+1) for DOY in daterange(start, end): FMTDICT = {'YEAR' : str(YEAR), 'MONTH' : str(MONTH), 'DOY' : "%03d" % (DOY)} IN_URL = INDIR % FMTDICT OUT_URL = OUTDIR % FMTDICT cmd = "/bin/sh %s %s %s %s %s" % (STG_SCRIPT, FMTDICT['YEAR'], FMTDICT['DOY'], inst, OUT_URL) print cmd