else: print 'Did not find pre-saved data, compute!' radarmean = [] detmean = [] detrmse = [] fss01 = [] fss10 = [] ensrmse = [] ensrmv = [] ensbs = [] ensmean = [] ensmean_std = [] # Loop over time for t in timelist: # Determine 3hrly storage time date_ana = yyyymmddhhmmss(t) print 'date_ana = ', date_ana date_fg = yyyymmddhhmmss(t - timedelta(hours=1)) date_store = yyyymmddhhmmss(t - timedelta(hours=t.hour % 3)) # Directory where lff*_prec files are stored DATA_DIR = (datadir_da + expid + '/' + date_store + '/') # Load relevant files try: radardata = load_radar(date_ana, return_array=True) detdata = load_det_da(DATA_DIR, date_fg, return_array=True) ensdatalist = load_ens_da(DATA_DIR, date_fg, return_array=True) except: print 'Some file was not found, write nans.' radardata = np.zeros((461, 421)) * np.nan
print 'Try to load pre-saved data:', savefn if os.path.exists(savefn) and not args.recompute: print 'Found pre-saved data.' mean_bias, rmse, count = np.load(savefn) else: obs_time = [] # in mins relative to obs_date obs = [] verif = [] bias = [] obs_date = [] # datetime object obs_lev = [] # in Pa for t in timelist: print t # Load fof file foffn = (DATA_DIR + '/' + yyyymmddhhmmss(t) + '/det/fof_' + yyyymmddhhmmss(t) + '.nc') print foffn fof = fdbkfile(foffn) var_tab = fof.table_varno obs_tab = fof.table_obstype # print var_tab, obs_tab varno = var_tab[args.var] obsno = obs_tab[args.obs] if fof.fb_times()[-1] / 60. > 24.: hint = 48 # Get temp data, T try: ov = fof.obs_veri(varno=varno, obstype=obsno) except:
fss01_list = [] fss10_list = [] radar_hist_list = [] hist_list = [] else: radar_list = [] ensrmse_list = [] ensrmv_list = [] ensbs_list = [] ensmean_list = [] ensmean_std_list = [] crps_list = [] for t in timelist: print t date = yyyymmddhhmmss(t) savestr = (args.ana + '_' + expid + '_' + date + '_n_' + str(args.n_kernel) + '_norm_' + str(args.ens_norm_type)) savefn = savedir + savestr + '.npy' print 'Try to load pre-saved data:', savefn if os.path.exists(savefn) and not args.recompute: print 'Found pre-saved data.' if args.ana == 'det': radar, detmean, detrmse, fss01, fss10, radar_hist, hist = \ np.load(savefn) if args.ana == 'ens': radar, ensrmse, ensrmv, ensbs, ensmean, ensmean_std, crps = \ np.load(savefn) else: print 'Did not find pre-saved data, compute!'
# Loop over time tstart = yyyymmddhhmmss_strtotime(args.date_start) tend = yyyymmddhhmmss_strtotime(args.date_stop) tint = timedelta(hours=args.date_inc) if tstart == tend: datelist = [tstart] else: datelist = make_timelist(tstart, tend, tint) hourlist = [] for h in range(1, args.hint + 1): hourlist for idate, date in enumerate(datelist): print date datestr = yyyymmddhhmmss(date) for h in range(1, args.hint + 1): hstr = ddhhmmss(timedelta(hours=h)) detfobjlist = [] expid_str = '' for exp in args.expid: expid_str += exp + '_' DATA_DIR = datadir + exp detfobjlist.append(load_det(DATA_DIR, datestr, hstr)) radarfobj = load_radar(datestr, hstr) plotfobjlist = [radarfobj] + detfobjlist titlelist = ['Radar'] for e in args.expid: titlelist.append(e)
print 'Try to load pre-saved data:', savefn if os.path.exists(savefn): print 'Found pre-saved data.' mean_spread, mean_bias, rmse = np.load(savefn) else: print 'Did not find saved data' mean_spread = [] mean_bias = [] rmse = [] spread = [] bias = [] lev = [] hourlist = [] for t in timelist: # Determine 3hrly storage time date_ana = yyyymmddhhmmss(t) print 'date_ana = ', date_ana date_fg = yyyymmddhhmmss(t - timedelta(hours=1)) date_store = yyyymmddhhmmss(t - timedelta(hours=t.hour % 3)) # Directory where ekf's and fof's are stored FEED_DIR = (feeddir + expid + '/' + date_store + '/') # Load files try: ekf = fdbkfile(FEED_DIR + 'ekf' + args.obs + '_' + date_ana + '.nc') fof = fdbkfile(FEED_DIR + 'fof_' + date_fg + '.nc') ov_ekf = ekf.obs_veri( varno=args.var,
savedir = '/e/uwork/extsrasp/save/' + exptag + '/prec_time/' plotdir = '/e/uwork/extsrasp/plots/' + exptag + '/prec_time/' if not os.path.exists(plotdir): os.makedirs(plotdir) # Loop over time tstart = yyyymmddhhmmss_strtotime(args.date_ini) tend = yyyymmddhhmmss_strtotime(args.date_end) tint = timedelta(days=1) if tstart == tend: timelist = [tstart] else: timelist = make_timelist(tstart, tend, tint) matlist = [] for t in timelist: savefn = savedir + yyyymmddhhmmss(t) + '_' + str(args.time[0]) + '_' + str( args.time[1]) tplot, savemat, labelslist = np.load(savefn + '.npy') matlist.append(savemat) cdict = { 'radar': 'k', 'REF': 'b', 'REF_TL500': 'green', 'PSP_TL500': 'r', #'sig1':'green', #'time20':'orange', #'time10':'orange', #'const3':'purple', #'const1':'purple', #'nolowest':'gray',