Something went wrong on our end
Forked from
CTDAS / CTDAS
276 commits behind the upstream repository.
-
Ingrid Luijkx authoredIngrid Luijkx authored
daily_fluxes.py 1.70 KiB
#!/usr/bin/env python
# daily_fluxes.py
"""
Author : peters
Revision History:
File created on 20 Dec 2012.
"""
import sys
sys.path.append('../../')
import os
import sys
import shutil
import datetime
def daily_avg(rundir,avg):
""" Function to create a set of daily files in a folder, needed to make longer term means """
if avg not in ['transcom','olson','country','flux1x1']:
raise IOError,'Choice of averaging invalid'
if not os.path.exists(rundir):
raise IOError,'rundir requested (%s) does not exist, exiting...'%rundir
weekdir = os.path.join(rundir , 'data_%s_weekly'%avg)
files = os.listdir(weekdir)
daydir = os.path.join(rundir , 'data_%s_daily'%avg)
if not os.path.exists(daydir):
print "Creating new output directory " + daydir
os.makedirs(daydir)
files = [f for f in files if '-' in f]
fileinfo = {}
for filename in files:
date=datetime.datetime.strptime(filename.split('.')[-2],'%Y-%m-%d')
fileinfo[filename] = date
dt = fileinfo[files[1]] - fileinfo[files[0]]
for k,v in fileinfo.iteritems():
cycle_file = os.path.join(weekdir,k)
for i in range(dt.days):
daily_file = os.path.join(daydir,'%s_fluxes.%s.nc'%(avg,(v+datetime.timedelta(days=i)).strftime('%Y-%m-%d')))
if not os.path.lexists(daily_file):
os.symlink(cycle_file,daily_file)
print daily_file,cycle_file
if __name__ == "__main__":
try:
rundir = sys.argv[1]
except:
rundir = "/Storage/CO2/ivar/zeus_output/ICDC9/ctdas_co2c13_terdisbcb_manscale/analysis/"
try:
avg=sys.argv[2]
except:
avg='transcom'
daily_avg(rundir,avg)