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
Ejemplo n.º 2
0
    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)
Ejemplo n.º 5
0
    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,
Ejemplo n.º 6
0
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',