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")
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")
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)
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