Пример #1
0
def __sample_read_files():
    vlim_raw = [-0.05, 0.1]
    vlim_diff = [None, None]
    nature_file = 'x_nature.pkl'
    nature = state_vector()
    nature = nature.load(nature_file)
    freerun_file = 'x_freerun.pkl'
    freerun = state_vector()
    freerun = freerun.load(freerun_file)
    sp.run("mkdir -p img", shell=True, check=True)
    plot_time_colormap(freerun.getTrajectory() - nature.getTrajectory(),
                       "img/error_free_run.png", *vlim_diff, "error free run")
    plot_time_colormap(freerun.getTrajectory(), "img/freerun.png", *vlim_raw,
                       "freerun", "viridis")
    plot_time_colormap(nature.getTrajectory(), "img/nature.png", *vlim_raw,
                       "nature", "viridis")
    for method in ["ETKF"]:
        analysis_file = 'x_analysis_{method}.pkl'.format(method=method)
        das = da_system()
        das = das.load(analysis_file)
        analysis = das.getStateVector()
        plot_time_colormap(analysis.getTrajectory() - nature.getTrajectory(),
                           "img/error_analysis_%s.png" % method, *vlim_diff,
                           "error analysis %s" % method)
        plot_time_colormap(analysis.getTrajectory(),
                           "img/analysis_%s.png" % method, *vlim_raw,
                           "analysis %s" % method, "viridis")
Пример #2
0
def __sample_read_files():
    vlim_raw = [-0.05, 0.1]
    vlim_diff = [-0.15, 0.15]
    nature_file = 'x_nature.pkl'
    nature = state_vector()
    nature = nature.load(nature_file)
    freerun_file = 'x_freerun.pkl'
    freerun = state_vector()
    freerun = freerun.load(freerun_file)
    plot_time_colormap(freerun.getTrajectory() - nature.getTrajectory(),
                       "img/error_free_run.pdf", *vlim_diff, "error free run",
                       "RdBu_r", True)
    plot_time_colormap(freerun.getTrajectory(), "img/freerun.pdf", *vlim_raw,
                       "freerun", "viridis")
    plot_time_colormap(nature.getTrajectory(), "img/nature.pdf", *vlim_raw,
                       "nature", "viridis")
    for method in ["ETKF", "hybrid", "3DVar"]:
        analysis_file = 'x_analysis_{method}.pkl'.format(method=method)
        das = da_system()
        das = das.load(analysis_file)
        analysis = das.getStateVector()
        plot_time_colormap(analysis.getTrajectory() - nature.getTrajectory(),
                           "img/%s/error_analysis.pdf" % method, *vlim_diff,
                           "error analysis %s" % method, "RdBu_r", True)
        plot_time_colormap(analysis.getTrajectory(),
                           "img/%s/analysis.pdf" % method, *vlim_raw,
                           "analysis %s" % method, "viridis")
Пример #3
0
def main():
    nature_file = 'x_nature.pkl'
    nature = state_vector()
    nature = nature.load(nature_file)
    freerun_file = 'x_freerun.pkl'
    freerun = state_vector()
    freerun = freerun.load(freerun_file)
    method = argv[1]
    analysis_file = 'x_analysis_{method}.pkl'.format(method=method)
    das = da_system()
    das = das.load(analysis_file)
    analysis = das.getStateVector()
    plot_rmse_all(nature, freerun, analysis, method, np.s_[:, :],
                  "img/%s/rmse_all.pdf" % method)
    plot_rmse_all(nature, freerun, analysis, method, np.s_[:, 0:10],
                  "img/%s/rmse_atmos_psi.pdf" % method)
    plot_rmse_all(nature, freerun, analysis, method, np.s_[:, 10:20],
                  "img/%s/rmse_atmos_temp.pdf" % method)
    plot_rmse_all(nature, freerun, analysis, method, np.s_[:, 20:28],
                  "img/%s/rmse_ocean_psi.pdf" % method)
    plot_rmse_all(nature, freerun, analysis, method, np.s_[:, 28:36],
                  "img/%s/rmse_ocean_temp.pdf" % method)
Пример #4
0
    obs.reduceDim(yp)

y_obs = obs.getVal()
y_pts = obs.getPos()
y_err = obs.getErr()
print('y_obs = ')
print(y_obs[0, :])
print('y_pts = ')
print(y_pts[0, :])

_, ydim = np.shape(y_obs)

#-----------------------------------------------------------------------
# Initialize the da system
#-----------------------------------------------------------------------
das = da_system()
das.setStateVector(sv)
das.setObsData(obs)
das.xdim = xdim
das.ydim = ydim
das.x0 = x_nature[0, :]
das.t = sv.getTimes()
das.t0 = das.t[0]

#-----------------------------------------------------------------------
# Initialize the ensemble
#-----------------------------------------------------------------------
das.edim = 37  #np.int(1*xdim)
das.ens_bias_init = 0
das.ens_sigma_init = 0.01