Changeset 117
- Timestamp:
- 02/19/08 14:59:59
- Files:
-
- raw2proc/trunk/raw2proc/procutil.py (modified) (5 diffs)
- raw2proc/trunk/raw2proc/raw2proc.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
raw2proc/trunk/raw2proc/procutil.py
r104 r117 1 1 #!/usr/bin/env python 2 # Last modified: Time-stamp: <2008-02-1 2 14:39:18haines>2 # Last modified: Time-stamp: <2008-02-15 17:30:53 haines> 3 3 """Utilities to help data processing 4 4 … … 37 37 38 38 cn = os.path.splitext(os.path.basename(config))[0] 39 cndt = filt_datetime(os.path.basename(config)) 39 cndt = filt_datetime(os.path.basename(config))[0] 40 40 pi = get_config(cn+'.platform_info') 41 41 if pi['config_start_date']: 42 config_start_dt = filt_datetime(pi['config_start_date']) 42 config_start_dt = filt_datetime(pi['config_start_date'])[0] 43 43 elif pi['config_start_date'] == None: 44 44 config_start_dt = now_dt 45 45 if pi['config_end_date']: 46 config_end_dt = filt_datetime(pi['config_end_date']) 46 config_end_dt = filt_datetime(pi['config_end_date'])[0] 47 47 elif pi['config_end_date'] == None: 48 48 config_end_dt = now_dt … … 94 94 this_month = dt 95 95 elif type(year) == str : 96 dt = filt_datetime(year) 96 dt = filt_datetime(year)[0] 97 97 this_month = dt 98 98 # … … 251 251 # find the first (most precise) date match since there might be more than 252 252 # as we searched more coarse templates, but now we have thrown out 253 253 254 b = [bool(x) for x in matches] 254 255 try: … … 259 260 else: 260 261 dt = matches[ind] 261 return dt 262 return dt,ind 262 263 263 264 def display_time_diff(diff): raw2proc/trunk/raw2proc/raw2proc.py
r104 r117 102 102 # datetime from filename 103 103 cn = os.path.splitext(os.path.basename(config))[0] 104 cndt = filt_datetime(os.path.basename(config)) 104 cndt = filt_datetime(os.path.basename(config))[0] 105 105 pi = get_config(cn+'.platform_info') 106 106 if pi['config_start_date']: 107 config_start_dt = filt_datetime(pi['config_start_date']) 107 config_start_dt = filt_datetime(pi['config_start_date'])[0] 108 108 elif pi['config_start_date'] == None: 109 109 config_start_dt = now_dt 110 110 if pi['config_end_date']: 111 config_end_dt = filt_datetime(pi['config_end_date']) 111 config_end_dt = filt_datetime(pi['config_end_date'])[0] 112 112 elif pi['config_end_date'] == None: 113 113 config_end_dt = now_dt … … 137 137 # datetime from filename 138 138 cn = os.path.splitext(os.path.basename(config))[0] 139 cndt = filt_datetime(os.path.basename(config)) 139 cndt = filt_datetime(os.path.basename(config))[0] 140 140 pi = get_config(cn+'.platform_info') 141 141 if pi['config_end_date'] == None: … … 169 169 # compute datetime for each file 170 170 for fn in all_raw_files: 171 fndt = filt_datetime(os.path.basename(fn)) 171 172 # JC changes 173 fndt_tuple = filt_datetime(os.path.basename(fn)) 174 fndt = fndt_tuple[0] 175 176 # "ind" var from filt_datetime() - what level of granularity was used 177 granularity = fndt_tuple[1] 178 if granularity == 4: 179 # change dt_start to before monthly filename filt_datetime() date 180 dt_start = si['proc_start_dt']-timedelta(days=31) 181 print dt_start 182 # end JC changes 183 172 184 if fndt: 173 185 if dt_start <= fndt <= dt_end: 174 186 raw_files.append(fn) 175 raw_dts.append(fndt) 176 187 raw_dts.append(fndt) 177 188 return (raw_files, raw_dts) 178 189 … … 183 194 now_dt.replace(microsecond=0) 184 195 if pi['config_start_date']: 185 config_start_dt = filt_datetime(pi['config_start_date']) 196 config_start_dt = filt_datetime(pi['config_start_date'])[0] 186 197 elif pi['config_start_date'] == None: 187 198 config_start_dt = now_dt 188 199 189 200 if pi['config_end_date']: 190 config_end_dt = filt_datetime(pi['config_end_date']) 201 config_end_dt = filt_datetime(pi['config_end_date'])[0] 191 202 elif pi['config_end_date'] == None: 192 203 config_end_dt = now_dt … … 348 359 data = parse(pi, si, lines) 349 360 # determine which index of data is within the specified timeframe (usually the month) 361 362 # initial code 350 363 # data['in'] = data['dt']>si['proc_start_dt'] and data['dt']<=si['proc_end_dt'] 364 365 # new code 351 366 n = len(data['dt']) 352 367 data['in'] = numpy.array([False for i in range(n)]) … … 354 369 if val>si['proc_start_dt'] and val<=si['proc_end_dt']: 355 370 data['in'][index] = True 356 371 # end new code 372 357 373 # if any records are in the month then write to netcdf 358 374 if data['in'].any():