def main(): whole_domain_bathymetry = \ "/skynet3_rech1/huziy/NEMO_OFFICIAL/Simulations/1981-2000_Sim_per_lake_100yr_spinup_LIM3/Huron/bathy_meter.nc" basemap, lons, lats = nemo_commons.get_basemap_and_coordinates_from_file( path=whole_domain_bathymetry, resolution="h") data_folder = "/home/huziy/skynet3_rech1/NEMO_OFFICIAL/Simulations/1981-2000_Sim_per_lake_100yr_spinup_LIM3/Huron" manager_u = NemoOutputManager(file_path=os.path.join( data_folder, "GLK_10d_19810101_20001231_grid_U.nc"), var_name="vozocrtx") manager_v = NemoOutputManager(file_path=os.path.join( data_folder, "GLK_10d_19810101_20001231_grid_V.nc"), var_name="vomecrty") scalar_manager = NemoOutputManager(file_path=os.path.join( data_folder, "GLK_10d_19810101_20001231_grid_T.nc"), var_name="sosstsst") img_dir = "animations_nemo/Huron" if not os.path.isdir(img_dir): os.makedirs(img_dir) main_for_lake(bathy_path=os.path.join(data_folder, "bathy_meter.nc"), manager_u=manager_u, manager_v=manager_v, basemap=basemap, scalar_manager=scalar_manager, img_dir=img_dir)
def main(): img_folder = "nemo/validation_1d" if not os.path.isdir(img_folder): os.makedirs(img_folder) img_name_prefix = "mean_surface_temp_" obs_data_path = ( "/skynet3_rech1/huziy/GLSEA/" "coastwatch.glerl.noaa.gov/ftp/glsea/avgtemps/1992-1998/glsea-temps1992-1998-schwab.dat" ) data = np.loadtxt(obs_data_path, skiprows=3) dates = [ datetime(int(data[row, 0]), int(data[row, 2]), int(data[row, 3])) for row in range(data.shape[0]) ] for col, lake_name in column_to_lake_name_glsea.items(): folder_path = nemo_commons.lake_to_folder_with_sim_data_1981_2000_seplakes_exp[ lake_name] fname_tgrid = None for fname in os.listdir(folder_path): if fname.endswith("grid_T.nc"): fname_tgrid = fname break if fname_tgrid is None: continue print("Processing {}".format(lake_name)) fig = plt.figure() ax = plt.gca() fpath = os.path.join(folder_path, fname_tgrid) nom = NemoOutputManager(file_path=fpath, var_name="sosstsst") ts_obs = pd.DataFrame(index=dates, data=data[:, col], columns=[ "GLSEA", ]) ts_mod = nom.get_area_mean_timeseries() ts_mod = ts_mod.truncate(before=ts_obs.index[0], after=ts_obs.index[-1]) ax.plot(ts_obs.index, ts_obs["GLSEA"], color="b", lw=2, label="GLSEA") ax.plot(ts_mod.index, ts_mod["NEMO"], color="r", lw=2, label="NEMO") ax.set_ylabel(r"${\rm ^{\circ}C}$") if col == 5: ax.legend(ncol=2) ax.set_title(lake_name) fig.savefig( os.path.join(img_folder, img_name_prefix + lake_name + ".png"))
def main(): img_folder = "nemo/validation_1d" if not os.path.isdir(img_folder): os.makedirs(img_folder) img_name_prefix = "mean_surface_temp_" obs_data_path = ("/skynet3_rech1/huziy/GLSEA/" "coastwatch.glerl.noaa.gov/ftp/glsea/avgtemps/1992-1998/glsea-temps1992-1998-schwab.dat") data = np.loadtxt(obs_data_path, skiprows=3) dates = [datetime(int(data[row, 0]), int(data[row, 2]), int(data[row, 3])) for row in range(data.shape[0])] for col, lake_name in column_to_lake_name_glsea.items(): folder_path = nemo_commons.lake_to_folder_with_sim_data_1981_2000_seplakes_exp[lake_name] fname_tgrid = None for fname in os.listdir(folder_path): if fname.endswith("grid_T.nc"): fname_tgrid = fname break if fname_tgrid is None: continue print("Processing {}".format(lake_name)) fig = plt.figure() ax = plt.gca() fpath = os.path.join(folder_path, fname_tgrid) nom = NemoOutputManager( file_path=fpath, var_name="sosstsst" ) ts_obs = pd.DataFrame(index=dates, data=data[:, col], columns=["GLSEA",]) ts_mod = nom.get_area_mean_timeseries() ts_mod = ts_mod.truncate(before=ts_obs.index[0], after=ts_obs.index[-1]) ax.plot(ts_obs.index, ts_obs["GLSEA"], color="b", lw=2, label="GLSEA") ax.plot(ts_mod.index, ts_mod["NEMO"], color="r", lw=2, label="NEMO") ax.set_ylabel(r"${\rm ^{\circ}C}$") if col == 5: ax.legend(ncol=2) ax.set_title(lake_name) fig.savefig(os.path.join(img_folder, img_name_prefix + lake_name + ".png"))
def main(): img_folder = "nemo/validation_1d/" if not os.path.isdir(img_folder): os.makedirs(img_folder) img_name_prefix = "max_ice_cover_" for col, lake_name in column_to_lake_name_glsea.items(): folder_path = nemo_commons.lake_to_folder_with_sim_data_1981_2000_seplakes_exp[ lake_name] fname_tgrid = None for fname in os.listdir(folder_path): if fname.endswith("grid_T.nc"): fname_tgrid = fname break if fname_tgrid is None: continue fig = plt.figure() ax = plt.gca() fpath = os.path.join(folder_path, fname_tgrid) nom = NemoOutputManager(file_path=fpath, var_name="soicecov") ts_mod = nom.get_area_mean_timeseries() ts_mod = ts_mod.groupby(by=lambda d: d.year).max() ax.plot(ts_mod.index, ts_mod["NEMO"] * 100.0, color="r", lw=2, label="NEMO") ax.set_ylabel(r"%") ax.legend(loc=3) ax.set_title(lake_name) fig.savefig( os.path.join(img_folder, img_name_prefix + lake_name + ".png"))
def main(): img_folder = "nemo/validation_1d/" if not os.path.isdir(img_folder): os.makedirs(img_folder) img_name_prefix = "max_ice_cover_" for col, lake_name in column_to_lake_name_glsea.items(): folder_path = nemo_commons.lake_to_folder_with_sim_data_1981_2000_seplakes_exp[lake_name] fname_tgrid = None for fname in os.listdir(folder_path): if fname.endswith("grid_T.nc"): fname_tgrid = fname break if fname_tgrid is None: continue fig = plt.figure() ax = plt.gca() fpath = os.path.join(folder_path, fname_tgrid) nom = NemoOutputManager( file_path=fpath, var_name="soicecov" ) ts_mod = nom.get_area_mean_timeseries() ts_mod = ts_mod.groupby(by=lambda d: d.year).max() ax.plot(ts_mod.index, ts_mod["NEMO"] * 100.0, color="r", lw=2, label="NEMO") ax.set_ylabel(r"%") ax.legend(loc=3) ax.set_title(lake_name) fig.savefig(os.path.join(img_folder, img_name_prefix + lake_name + ".png"))