Index: raw2proc/trunk/raw2proc/procutil.py =================================================================== --- raw2proc/trunk/raw2proc/procutil.py (revision 104) +++ raw2proc/trunk/raw2proc/procutil.py (revision 117) @@ -1,4 +1,4 @@ #!/usr/bin/env python -# Last modified: Time-stamp: <2008-02-12 14:39:18 haines> +# Last modified: Time-stamp: <2008-02-15 17:30:53 haines> """Utilities to help data processing @@ -37,12 +37,12 @@ cn = os.path.splitext(os.path.basename(config))[0] - cndt = filt_datetime(os.path.basename(config)) + cndt = filt_datetime(os.path.basename(config))[0] pi = get_config(cn+'.platform_info') if pi['config_start_date']: - config_start_dt = filt_datetime(pi['config_start_date']) + config_start_dt = filt_datetime(pi['config_start_date'])[0] elif pi['config_start_date'] == None: config_start_dt = now_dt if pi['config_end_date']: - config_end_dt = filt_datetime(pi['config_end_date']) + config_end_dt = filt_datetime(pi['config_end_date'])[0] elif pi['config_end_date'] == None: config_end_dt = now_dt @@ -94,5 +94,5 @@ this_month = dt elif type(year) == str : - dt = filt_datetime(year) + dt = filt_datetime(year)[0] this_month = dt # @@ -251,4 +251,5 @@ # find the first (most precise) date match since there might be more than # as we searched more coarse templates, but now we have thrown out + b = [bool(x) for x in matches] try: @@ -259,5 +260,5 @@ else: dt = matches[ind] - return dt + return dt,ind def display_time_diff(diff): Index: raw2proc/trunk/raw2proc/raw2proc.py =================================================================== --- raw2proc/trunk/raw2proc/raw2proc.py (revision 104) +++ raw2proc/trunk/raw2proc/raw2proc.py (revision 117) @@ -102,12 +102,12 @@ # datetime from filename cn = os.path.splitext(os.path.basename(config))[0] - cndt = filt_datetime(os.path.basename(config)) + cndt = filt_datetime(os.path.basename(config))[0] pi = get_config(cn+'.platform_info') if pi['config_start_date']: - config_start_dt = filt_datetime(pi['config_start_date']) + config_start_dt = filt_datetime(pi['config_start_date'])[0] elif pi['config_start_date'] == None: config_start_dt = now_dt if pi['config_end_date']: - config_end_dt = filt_datetime(pi['config_end_date']) + config_end_dt = filt_datetime(pi['config_end_date'])[0] elif pi['config_end_date'] == None: config_end_dt = now_dt @@ -137,5 +137,5 @@ # datetime from filename cn = os.path.splitext(os.path.basename(config))[0] - cndt = filt_datetime(os.path.basename(config)) + cndt = filt_datetime(os.path.basename(config))[0] pi = get_config(cn+'.platform_info') if pi['config_end_date'] == None: @@ -169,10 +169,21 @@ # compute datetime for each file for fn in all_raw_files: - fndt = filt_datetime(os.path.basename(fn)) + + # JC changes + fndt_tuple = filt_datetime(os.path.basename(fn)) + fndt = fndt_tuple[0] + + # "ind" var from filt_datetime() - what level of granularity was used + granularity = fndt_tuple[1] + if granularity == 4: + # change dt_start to before monthly filename filt_datetime() date + dt_start = si['proc_start_dt']-timedelta(days=31) + print dt_start + # end JC changes + if fndt: if dt_start <= fndt <= dt_end: raw_files.append(fn) - raw_dts.append(fndt) - + raw_dts.append(fndt) return (raw_files, raw_dts) @@ -183,10 +194,10 @@ now_dt.replace(microsecond=0) if pi['config_start_date']: - config_start_dt = filt_datetime(pi['config_start_date']) + config_start_dt = filt_datetime(pi['config_start_date'])[0] elif pi['config_start_date'] == None: config_start_dt = now_dt if pi['config_end_date']: - config_end_dt = filt_datetime(pi['config_end_date']) + config_end_dt = filt_datetime(pi['config_end_date'])[0] elif pi['config_end_date'] == None: config_end_dt = now_dt @@ -348,5 +359,9 @@ data = parse(pi, si, lines) # determine which index of data is within the specified timeframe (usually the month) + + # initial code # data['in'] = data['dt']>si['proc_start_dt'] and data['dt']<=si['proc_end_dt'] + + # new code n = len(data['dt']) data['in'] = numpy.array([False for i in range(n)]) @@ -354,5 +369,6 @@ if val>si['proc_start_dt'] and val<=si['proc_end_dt']: data['in'][index] = True - + # end new code + # if any records are in the month then write to netcdf if data['in'].any():