From f15a82b3ac99c6cac81b08a3798833cec6b96303 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 3 May 2024 10:14:19 -0700 Subject: [PATCH 01/68] Add devr45to5rr1 mesh --- .../hurricane/mesh/devr45to5rr1/__init__.py | 73 +++++++++++++++++++ .../mesh/devr45to5rr1/dequ120at30cr10rr2.cfg | 45 ++++++++++++ .../mesh/devr45to5rr1/namelist.ocean | 2 + 3 files changed, 120 insertions(+) create mode 100644 compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py create mode 100644 compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg create mode 100644 compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py new file mode 100644 index 0000000000..5e5951fb02 --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py @@ -0,0 +1,73 @@ +import mpas_tools.ocean.coastal_tools as ct + +from compass.ocean.mesh.floodplain import FloodplainMeshStep + + +class DEQU120at30cr10rr2BaseMesh(FloodplainMeshStep): + """ + A step for creating DEQU120at30cr10rr2 meshes + """ + def build_cell_width_lat_lon(self): + """ + Create cell width array for this mesh on a regular latitude-longitude + grid + + Returns + ------- + cellWidth : numpy.array + m x n array of cell width in km + + lon : numpy.array + longitude in degrees (length n and between -180 and 180) + + lat : numpy.array + longitude in degrees (length m and between -90 and 90) + """ + km = 1000.0 + + params = ct.default_params + + # QU 120 background mesh and enhanced Atlantic (30km) + params["mesh_type"] = "QU" + params["dx_max_global"] = 120.0 * km + params["region_box"] = ct.Atlantic + params["restrict_box"] = ct.Atlantic_restrict + params["plot_box"] = ct.Western_Atlantic + params["dx_min_coastal"] = 30.0 * km + params["trans_width"] = 5000.0 * km + params["trans_start"] = 500.0 * km + + cell_width, lon, lat = ct.coastal_refined_mesh(params) + + # Northeast refinement (10km) + params["region_box"] = ct.Delaware_Bay + params["plot_box"] = ct.Western_Atlantic + params["dx_min_coastal"] = 10.0 * km + params["trans_width"] = 600.0 * km + params["trans_start"] = 400.0 * km + + cell_width, lon, lat = ct.coastal_refined_mesh( + params, cell_width, lon, lat) + + # Delaware regional refinement (6km) + params["region_box"] = ct.Delaware_Region + params["plot_box"] = ct.Delaware + params["dx_min_coastal"] = 5.0 * km + params["trans_width"] = 175.0 * km + params["trans_start"] = 75.0 * km + + cell_width, lon, lat = ct.coastal_refined_mesh( + params, cell_width, lon, lat) + + # Delaware Bay high-resolution (2km) + params["region_box"] = ct.Delaware_Bay + params["plot_box"] = ct.Delaware + params["restrict_box"] = ct.Delaware_restrict + params["dx_min_coastal"] = 2.0 * km + params["trans_width"] = 100.0 * km + params["trans_start"] = 17.0 * km + + cell_width, lon, lat = ct.coastal_refined_mesh( + params, cell_width, lon, lat) + + return cell_width / 1000, lon, lat diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg new file mode 100644 index 0000000000..6f37302e9d --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg @@ -0,0 +1,45 @@ +# options for spherical meshes +[spherical_mesh] + +## config options related to the step for culling land from the mesh +# number of cores to use +cull_mesh_cpus_per_task = 18 +# minimum of cores, below which the step fails +cull_mesh_min_cpus_per_task = 1 +# maximum memory usage allowed (in MB) +cull_mesh_max_memory = 1000 + +# Elevation threshold to use for including land cells +floodplain_elevation = 10.0 + + +# options for global ocean testcases +[global_ocean] + +# The following options are detected from .gitconfig if not explicitly entered +author = autodetect +email = autodetect + + +# options for hurricane testcases +[hurricane] + +## config options related to the initial_state step +# number of MPI tasks to use +init_ntasks = 36 +# minimum of MPI tasks, below which the step fails +init_min_tasks = 8 +# maximum memory usage allowed (in MB) +init_max_memory = 1000 +# number of threads +init_threads = 1 + +## config options related to the forward steps +# number of MPI tasks to use +forward_ntasks = 180 +# minimum of MPI tasks, below which the step fails +forward_min_tasks = 18 +# maximum memory usage allowed (in MB) +forward_max_memory = 1000 +# number of threads +forward_threads = 1 diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean new file mode 100644 index 0000000000..15cc10bcc0 --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean @@ -0,0 +1,2 @@ +config_dt = '00:00:25' +config_mom_del4 = 4.0e8 From 3a18601b0f171faa9976621dadc9e2119b45c0be Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Thu, 31 Oct 2024 12:30:30 -0700 Subject: [PATCH 02/68] Modifications for subgrid in hurricane case --- compass/ocean/mesh/cull.py | 26 +++- compass/ocean/mesh/floodplain.py | 14 +- compass/ocean/tests/hurricane/__init__.py | 39 +++--- .../tests/hurricane/analysis/__init__.py | 2 +- .../ocean/tests/hurricane/forward/__init__.py | 7 +- .../ocean/tests/hurricane/forward/forward.py | 18 ++- .../tests/hurricane/forward/namelist.ocean | 4 +- .../hurricane/forward/namelist.ocean.subgrid | 17 +++ .../hurricane/forward/streams.ocean_subgrid | 130 ++++++++++++++++++ .../ocean/tests/hurricane/init/__init__.py | 7 +- .../tests/hurricane/init/initial_state.py | 67 ++++++++- .../tests/hurricane/init/namelist.init.wd | 1 + .../hurricane/init/namelist.init_subgrid | 21 +++ .../hurricane/init/namelist.init_subgrid1 | 1 + .../hurricane/init/namelist.init_subgrid2 | 1 + .../hurricane/init/streams.ocean_subgrid0 | 55 ++++++++ .../hurricane/init/streams.ocean_subgrid1 | 81 +++++++++++ .../hurricane/init/streams.ocean_subgrid2 | 81 +++++++++++ .../ocean/tests/hurricane/mesh/__init__.py | 15 ++ .../hurricane/mesh/devr45to5rr1/__init__.py | 31 +++-- ...equ120at30cr10rr2.cfg => devr45to5rr1.cfg} | 14 +- .../mesh/devr45to5rr1/namelist.ocean | 2 +- 22 files changed, 586 insertions(+), 48 deletions(-) create mode 100644 compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid create mode 100644 compass/ocean/tests/hurricane/forward/streams.ocean_subgrid create mode 100644 compass/ocean/tests/hurricane/init/namelist.init.wd create mode 100644 compass/ocean/tests/hurricane/init/namelist.init_subgrid create mode 100644 compass/ocean/tests/hurricane/init/namelist.init_subgrid1 create mode 100644 compass/ocean/tests/hurricane/init/namelist.init_subgrid2 create mode 100644 compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 create mode 100644 compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 create mode 100644 compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 rename compass/ocean/tests/hurricane/mesh/devr45to5rr1/{dequ120at30cr10rr2.cfg => devr45to5rr1.cfg} (79%) diff --git a/compass/ocean/mesh/cull.py b/compass/ocean/mesh/cull.py index eb285839fa..2469d4bed1 100644 --- a/compass/ocean/mesh/cull.py +++ b/compass/ocean/mesh/cull.py @@ -14,7 +14,11 @@ from mpas_tools.mesh.creation.sort_mesh import sort_mesh from mpas_tools.mesh.cull import cull_dataset, map_culled_to_base from mpas_tools.mesh.mask import compute_mpas_flood_fill_mask -from mpas_tools.ocean import inject_bathymetry +from mpas_tools.ocean import ( + find_floodplain, + inject_bathymetry, + limit_bathymetry_outside_floodplain, +) from mpas_tools.ocean.coastline_alteration import ( add_critical_land_blockages, add_land_locked_cells_to_mask, @@ -201,7 +205,25 @@ def run(self): sweep_count=sweep_count) if do_inject_bathymetry: - inject_bathymetry(mesh_file='culled_mesh.nc') + mesh_file = 'culled_mesh.nc' + inject_bathymetry(mesh_file=mesh_file) + + if preserve_floodplain: + floodplain_elevation = config.getfloat('spherical_mesh', + 'floodplain_elevation') + floodplain_resolution = config.getfloat( + 'spherical_mesh', + 'floodplain_resolution') + min_depth_outside_floodplain = config.getfloat( + 'spherical_mesh', + 'min_depth_outside_floodplain') + floodplain = find_floodplain(mesh_file, + floodplain_elevation, + floodplain_resolution) + limit_bathymetry_outside_floodplain( + mesh_file, + floodplain, + min_depth_outside_floodplain) def cull_mesh(with_cavities=False, with_critical_passages=False, diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index eef8db0098..cbf7e088a2 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -58,6 +58,18 @@ def run(self): if self.preserve_floodplain: floodplain_elevation = config.getfloat('spherical_mesh', 'floodplain_elevation') + min_depth_outside_floodplain = config.getfloat( + 'spherical_mesh', + 'min_depth_outside_floodplain') + if config.has_option('spherical_mesh', 'floodplain_resolution'): + floodplain_resolution = config.getfloat( + 'spherical_mesh', + 'floodplain_resolution') + else: + floodplain_resolution = 1e10 + inject_preserve_floodplain( mesh_file=mesh_filename, - floodplain_elevation=floodplain_elevation) + floodplain_elevation=floodplain_elevation, + floodplain_resolution=floodplain_resolution, + min_depth_outside_floodplain=min_depth_outside_floodplain) diff --git a/compass/ocean/tests/hurricane/__init__.py b/compass/ocean/tests/hurricane/__init__.py index 6d59f39c3e..67018cb282 100644 --- a/compass/ocean/tests/hurricane/__init__.py +++ b/compass/ocean/tests/hurricane/__init__.py @@ -17,24 +17,29 @@ def __init__(self, mpas_core): name='hurricane') storm = 'sandy' - mesh_name = 'DEQU120at30cr10rr2' + mesh_names = ['DEQU120at30cr10rr2', 'DEVR45to5rr1'] + wetdry_options = ['off', 'standard', 'subgrid'] - for use_lts in [False, 'LTS', 'FB_LTS']: + for mesh_name in mesh_names: + for wetdry in wetdry_options: + for use_lts in [False, 'LTS', 'FB_LTS']: - mesh = Mesh(test_group=self, - mesh_name=mesh_name, - use_lts=use_lts) - self.add_test_case(mesh) + mesh = Mesh(test_group=self, + mesh_name=mesh_name, + use_lts=use_lts) + self.add_test_case(mesh) - init = Init(test_group=self, - mesh=mesh, - storm=storm, - use_lts=use_lts) - self.add_test_case(init) + init = Init(test_group=self, + mesh=mesh, + storm=storm, + use_lts=use_lts, + wetdry=wetdry) + self.add_test_case(init) - forward = Forward(test_group=self, - mesh=mesh, - storm=storm, - init=init, - use_lts=use_lts) - self.add_test_case(forward) + forward = Forward(test_group=self, + mesh=mesh, + storm=storm, + init=init, + use_lts=use_lts, + wetdry=wetdry) + self.add_test_case(forward) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index d1f14d070f..39d2778c2c 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -65,7 +65,7 @@ def setup(self): package = self.__module__ if self.storm == 'sandy': - self.min_date = '2012 10 24 00 00' + self.min_date = '2012 10 10 00 00' self.max_date = '2012 11 04 00 00' self.pointstats_file = {'MPAS-O': './pointwiseStats.nc'} diff --git a/compass/ocean/tests/hurricane/forward/__init__.py b/compass/ocean/tests/hurricane/forward/__init__.py index 6654e467a4..de6968df22 100644 --- a/compass/ocean/tests/hurricane/forward/__init__.py +++ b/compass/ocean/tests/hurricane/forward/__init__.py @@ -18,7 +18,7 @@ class Forward(TestCase): init : compass.ocean.tests.hurricane.init.Init The test case that produces the initial condition for this run """ - def __init__(self, test_group, mesh, storm, init, use_lts): + def __init__(self, test_group, mesh, storm, init, use_lts, wetdry): """ Create test case @@ -45,6 +45,8 @@ def __init__(self, test_group, mesh, storm, init, use_lts): name = f'{storm}_lts' elif use_lts == 'FB_LTS': name = f'{storm}_fblts' + elif wetdry == 'subgrid': + name = f'{storm}_subgrid' else: name = storm subdir = os.path.join(mesh_name, name) @@ -56,7 +58,8 @@ def __init__(self, test_group, mesh, storm, init, use_lts): step = ForwardStep(test_case=self, mesh=mesh, init=init, - use_lts=use_lts) + use_lts=use_lts, + wetdry=wetdry) step.add_output_file(filename='output.nc') step.add_output_file(filename='pointwiseStats.nc') diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index 8ce12580e9..4e281e2bac 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -18,7 +18,7 @@ class ForwardStep(Step): use_lts: bool Whether local time-stepping is used """ - def __init__(self, test_case, mesh, init, use_lts, + def __init__(self, test_case, mesh, init, use_lts, wetdry, name='forward', subdir=None): """ Create a new step @@ -75,8 +75,20 @@ def __init__(self, test_case, mesh, init, use_lts, mesh_package = mesh.package self.add_namelist_file(mesh_package, 'namelist.ocean') - initial_state_target = \ - f'{init.path}/initial_state/ocean.nc' + if wetdry == 'subgrid': + self.add_namelist_file( + 'compass.ocean.tests.hurricane.forward', + 'namelist.ocean.subgrid') + self.add_streams_file( + 'compass.ocean.tests.hurricane.forward', + 'streams.ocean_subgrid') + + if wetdry == 'subgrid': + initial_state_target = \ + f'{init.path}/initial_state/ocean_subgrid2.nc' + else: + initial_state_target = \ + f'{init.path}/initial_state/ocean.nc' self.add_input_file(filename='input.nc', work_dir_target=initial_state_target) self.add_input_file( diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean b/compass/ocean/tests/hurricane/forward/namelist.ocean index da6af00e90..5edd26581f 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean @@ -4,8 +4,8 @@ config_run_duration = 'none' config_time_integrator = 'RK4' config_hmix_scaleWithMesh = .true. config_use_mom_del4 = .true. -config_ALE_thickness_proportionality = 'weights_only' -config_vert_coord_movement = 'impermeable_interfaces' +config_ALE_thickness_proportionality = 'restingThickness_times_weights' +config_vert_coord_movement = 'uniform_stretching' config_use_bulk_wind_stress = .true. config_use_time_varying_atmospheric_forcing = .true. config_time_varying_atmospheric_forcing_start_time = '2012-10-10_00:00:00' diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid new file mode 100644 index 0000000000..d883cd3095 --- /dev/null +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid @@ -0,0 +1,17 @@ +config_thickness_flux_type = 'upwind' +config_zero_drying_velocity_ramp = .true. +config_zero_drying_velocity_ramp_hmin = 1e-2 +config_zero_drying_velocity_ramp_hmax = 2e-2 +config_use_subgrid_wetting_drying = true. +config_use_ssh_gradient_wetting_drying = .true. +config_disable_vel_hmix = .false. +config_disable_vel_explicit_bottom_drag = .true. +config_disable_vel_vmix = .false. +config_bottom_drag_mode = 'implicit' +config_implicit_bottom_drag_type = 'loglaw' +config_hmix_use_ref_cell_width = .true. +config_use_mom_del2 = .true. +config_mom_del2 = 3.333 +config_use_mom_del4 = .true. +config_mom_del4 = 3.333e10 +config_dt = '00:00:05' diff --git a/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid b/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid new file mode 100644 index 0000000000..dd2e46a431 --- /dev/null +++ b/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compass/ocean/tests/hurricane/init/__init__.py b/compass/ocean/tests/hurricane/init/__init__.py index 1c14fc59fa..78755c1e9b 100644 --- a/compass/ocean/tests/hurricane/init/__init__.py +++ b/compass/ocean/tests/hurricane/init/__init__.py @@ -23,7 +23,7 @@ class Init(TestCase): mesh : compass.ocean.tests.hurricane.mesh.Mesh The test case that creates the mesh used by this test case """ - def __init__(self, test_group, mesh, storm, use_lts): + def __init__(self, test_group, mesh, storm, use_lts, wetdry): """ Create the test case @@ -49,13 +49,16 @@ def __init__(self, test_group, mesh, storm, use_lts): name = 'init_lts' elif use_lts == 'FB_LTS': name = 'init_fblts' + elif wetdry == 'subgrid': + name = 'init_subgrid' else: name = 'init' mesh_name = mesh.mesh_name subdir = os.path.join(mesh_name, name) super().__init__(test_group=test_group, name=name, subdir=subdir) - self.add_step(InitialState(test_case=self, mesh=mesh, use_lts=use_lts)) + self.add_step(InitialState(test_case=self, mesh=mesh, + use_lts=use_lts, wetdry=wetdry)) self.add_step(InterpolateAtmForcing(test_case=self, mesh=mesh, storm=storm)) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index 133d1f3183..a6151cc2d2 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -13,7 +13,7 @@ class InitialState(Step): The step for creating the mesh """ - def __init__(self, test_case, mesh, use_lts): + def __init__(self, test_case, mesh, use_lts, wetdry): """ Create the step @@ -33,14 +33,56 @@ def __init__(self, test_case, mesh, use_lts): super().__init__(test_case=test_case, name='initial_state') self.mesh = mesh self.use_lts = use_lts + self.wetdry = wetdry package = 'compass.ocean.tests.hurricane.init' # generate the namelist, replacing a few default options self.add_namelist_file(package, 'namelist.init', mode='init') + if mesh.mesh_name == 'DEVR45to5rr1': + self.add_namelist_file(package, 'namelist.init.wd', mode='init') + # generate the streams file - self.add_streams_file(package, 'streams.init', mode='init') + if self.wetdry == 'subgrid': + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init') + self.add_streams_file(package, 'streams.ocean_subgrid0', + mode='init') + options = dict( + config_Buttermilk_bay_topography_file="'crm_vol1_2023_nc3.nc'") + self.add_namelist_options(options=options, mode='init', + out_name='namelist.ocean') + + self.add_streams_file(package, 'streams.ocean_subgrid1', + mode='init', + out_name='streams.ocean_subgrid1') + self.add_namelist_file(package, 'namelist.init', mode='init', + out_name='namelist.ocean_subgrid1') + self.add_namelist_file(package, 'namelist.init.wd', mode='init', + out_name='namelist.ocean_subgrid1') + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init', + out_name='namelist.ocean_subgrid1') + self.add_namelist_options(options=options, mode='init', + out_name='namelist.ocean_subgrid1') + + self.add_streams_file(package, 'streams.ocean_subgrid2', + mode='init', + out_name='streams.ocean_subgrid2') + self.add_namelist_file(package, 'namelist.init', mode='init', + out_name='namelist.ocean_subgrid2') + self.add_namelist_file(package, 'namelist.init.wd', mode='init', + out_name='namelist.ocean_subgrid2') + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init', + out_name='namelist.ocean_subgrid2') + options = dict( + config_Buttermilk_bay_topography_file="'crm_vol2_2023_nc3.nc'") + self.add_namelist_options(options=options, mode='init', + out_name='namelist.ocean_subgrid2') + else: + self.add_streams_file(package, 'streams.init', mode='init') if not use_lts: @@ -66,10 +108,22 @@ def __init__(self, test_case, mesh, use_lts): filename='graph.info', work_dir_target=f'{mesh_path}/lts_graph.info') + if self.wetdry == 'subgrid': + self.add_input_file(filename='crm_vol1_2023_nc3.nc', + target='crm_vol1_2023_nc3.nc', + database='bathymetry_database') + + self.add_input_file(filename='crm_vol2_2023_nc3.nc', + target='crm_vol2_2023_nc3.nc', + database='bathymetry_database') + self.add_model_as_input() - for file in ['ocean.nc', 'graph.info']: - self.add_output_file(filename=file) + if self.wetdry == 'subgrid': + self.add_output_file(filename='ocean_subgrid2.nc') + else: + self.add_output_file(filename='ocean.nc') + self.add_output_file(filename='graph.info') def setup(self): """ @@ -90,6 +144,11 @@ def run(self): Run this step of the testcase """ run_model(self) + if self.wetdry == 'subgrid': + run_model(self, namelist='namelist.ocean_subgrid1', + streams='streams.ocean_subgrid1') + run_model(self, namelist='namelist.ocean_subgrid2', + streams='streams.ocean_subgrid2') def _get_resources(self): # get the these properties from the config options diff --git a/compass/ocean/tests/hurricane/init/namelist.init.wd b/compass/ocean/tests/hurricane/init/namelist.init.wd new file mode 100644 index 0000000000..982cecbe34 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/namelist.init.wd @@ -0,0 +1 @@ +config_hurricane_min_depth = -10.0 diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid new file mode 100644 index 0000000000..cb9e3514b4 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -0,0 +1,21 @@ +config_use_wetting_drying = .true. +config_prevent_drying = .true. +config_use_subgrid_wetting_drying = .true. +config_use_ssh_gradient_wetting_drying = .true. +config_zero_drying_velocity_ramp = .true. +config_zero_drying_velocity_ramp_hmin = 0.01 +config_zero_drying_velocity_ramp_hmax = 0.02 +config_Buttermilk_bay_subgrid_refinement_level = 10 +config_Buttermilk_bay_topography_source = 'latlon_file' +config_Buttermilk_bay_topography_latlon_degrees = .true. +config_Buttermilk_bay_topography_nlat_dimname = 'lat' +config_Buttermilk_bay_topography_nlon_dimname = 'lon' +config_Buttermilk_bay_topography_lat_varname = 'lat' +config_Buttermilk_bay_topography_lon_varname = 'lon' +config_Buttermilk_bay_topography_varname = 'z' +config_Buttermilk_bay_topography_fill_value = 99999 +config_Buttermilk_bay_topography_positive = 'up' +config_Buttermilk_bay_topography_extrapolation_constant_value = -1.0e10 +config_Buttermilk_bay_topography_extrapolation_method = 'constant' +config_Buttermilk_bay_subgrid_table_levels = 20 +config_Buttermilk_bay_subgrid_refinement_level = 12 diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 b/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 new file mode 100644 index 0000000000..7d5af39c03 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 @@ -0,0 +1 @@ +config_Buttermilk_bay_topography_file = 'crm_vol1_2023_nc3.nc' diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 b/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 new file mode 100644 index 0000000000..4be1fa936d --- /dev/null +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 @@ -0,0 +1 @@ +config_Buttermilk_bay_topography_file = 'crm_vol2_2023_nc3.nc' diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 new file mode 100644 index 0000000000..95d2bd7e79 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 new file mode 100644 index 0000000000..25119815c4 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 new file mode 100644 index 0000000000..0c80f4f69b --- /dev/null +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index 94f8188d53..e47d2e5a45 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -4,6 +4,10 @@ from compass.ocean.tests.hurricane.mesh.dequ120at30cr10rr2 import ( DEQU120at30cr10rr2BaseMesh, ) +from compass.ocean.tests.hurricane.mesh.devr45to5rr1 import ( + DEVR45to5rr1BaseMesh, +) +from compass.ocean.tests.tides.dem import CreatePixelFile from compass.testcase import TestCase @@ -47,6 +51,17 @@ def __init__(self, test_group, mesh_name, use_lts): base_mesh_step = DEQU120at30cr10rr2BaseMesh( self, name=name, preserve_floodplain=True) mesh_lower = 'dequ120at30cr10rr2' + elif mesh_name == 'DEVR45to5rr1': + pixel_step = CreatePixelFile(self) + self.add_step(pixel_step) + base_mesh_step = DEVR45to5rr1BaseMesh( + self, pixel_step, + name='base_mesh', subdir=None, + elev_file='RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc', + spac_dhdx=0.125, spac_hmin=5, spac_hmax=45, spac_hbar=45, + ncell_nwav=80, ncell_nslp=4, + filt_sdev=0.5, filt_halo=50, filt_plev=0.325) + mesh_lower = 'devr45to5rr1' else: raise ValueError(f'Unexpected mesh name {mesh_name}') diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py index 5e5951fb02..cdc955257e 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py @@ -1,13 +1,15 @@ import mpas_tools.ocean.coastal_tools as ct +import numpy as np from compass.ocean.mesh.floodplain import FloodplainMeshStep +from compass.ocean.tests.tides.mesh.vr45to5 import VRTidesMesh -class DEQU120at30cr10rr2BaseMesh(FloodplainMeshStep): +class DEVR45to5rr1BaseMesh(VRTidesMesh, FloodplainMeshStep): """ A step for creating DEQU120at30cr10rr2 meshes """ - def build_cell_width_lat_lon(self): + def region_multiplier(self, xgrid): """ Create cell width array for this mesh on a regular latitude-longitude grid @@ -26,14 +28,15 @@ def build_cell_width_lat_lon(self): km = 1000.0 params = ct.default_params + params['ddeg'] = xgrid[1] - xgrid[0] # QU 120 background mesh and enhanced Atlantic (30km) params["mesh_type"] = "QU" - params["dx_max_global"] = 120.0 * km + params["dx_max_global"] = 1.0 params["region_box"] = ct.Atlantic params["restrict_box"] = ct.Atlantic_restrict params["plot_box"] = ct.Western_Atlantic - params["dx_min_coastal"] = 30.0 * km + params["dx_min_coastal"] = .99 params["trans_width"] = 5000.0 * km params["trans_start"] = 500.0 * km @@ -42,7 +45,7 @@ def build_cell_width_lat_lon(self): # Northeast refinement (10km) params["region_box"] = ct.Delaware_Bay params["plot_box"] = ct.Western_Atlantic - params["dx_min_coastal"] = 10.0 * km + params["dx_min_coastal"] = 0.5 params["trans_width"] = 600.0 * km params["trans_start"] = 400.0 * km @@ -52,7 +55,7 @@ def build_cell_width_lat_lon(self): # Delaware regional refinement (6km) params["region_box"] = ct.Delaware_Region params["plot_box"] = ct.Delaware - params["dx_min_coastal"] = 5.0 * km + params["dx_min_coastal"] = 0.25 params["trans_width"] = 175.0 * km params["trans_start"] = 75.0 * km @@ -63,11 +66,23 @@ def build_cell_width_lat_lon(self): params["region_box"] = ct.Delaware_Bay params["plot_box"] = ct.Delaware params["restrict_box"] = ct.Delaware_restrict - params["dx_min_coastal"] = 2.0 * km + params["dx_min_coastal"] = 0.125 params["trans_width"] = 100.0 * km params["trans_start"] = 17.0 * km cell_width, lon, lat = ct.coastal_refined_mesh( params, cell_width, lon, lat) - return cell_width / 1000, lon, lat + return cell_width, lon, lat + + def build_cell_width_lat_lon(self): + + cell_width, xgrid, ygrid = super().build_cell_width_lat_lon() + print(cell_width.shape) + + multiplier, lon, lat = self.region_multiplier(xgrid) + print(multiplier.shape) + + cell_width = np.multiply(multiplier, cell_width) + + return cell_width, lon, lat diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg similarity index 79% rename from compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg rename to compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 6f37302e9d..7a5a3b319d 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/dequ120at30cr10rr2.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -10,7 +10,11 @@ cull_mesh_min_cpus_per_task = 1 cull_mesh_max_memory = 1000 # Elevation threshold to use for including land cells -floodplain_elevation = 10.0 +floodplain_elevation = 20.0 +# Resolution threshold to use for including land cells +floodplain_resolution = 4.0 +# Minimum depth to enforce outside floodplain region +min_depth_outside_floodplain = 1.0 # options for global ocean testcases @@ -26,9 +30,9 @@ email = autodetect ## config options related to the initial_state step # number of MPI tasks to use -init_ntasks = 36 +init_ntasks = 1 # minimum of MPI tasks, below which the step fails -init_min_tasks = 8 +init_min_tasks = 1 # maximum memory usage allowed (in MB) init_max_memory = 1000 # number of threads @@ -36,9 +40,9 @@ init_threads = 1 ## config options related to the forward steps # number of MPI tasks to use -forward_ntasks = 180 +forward_ntasks = 1024 # minimum of MPI tasks, below which the step fails -forward_min_tasks = 18 +forward_min_tasks = 1024 # maximum memory usage allowed (in MB) forward_max_memory = 1000 # number of threads diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean index 15cc10bcc0..2132f5fe72 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/namelist.ocean @@ -1,2 +1,2 @@ -config_dt = '00:00:25' +config_dt = '00:00:10' config_mom_del4 = 4.0e8 From 534134909dd665aaf2db27f2603c82496e46216a Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 07:57:39 -0800 Subject: [PATCH 03/68] Turn on SAL and TWD in forward namelist --- compass/ocean/tests/hurricane/forward/namelist.ocean | 7 ++++++- .../ocean/tests/hurricane/forward/namelist.ocean.subgrid | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean b/compass/ocean/tests/hurricane/forward/namelist.ocean index 5edd26581f..c133c5cc49 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean @@ -13,6 +13,11 @@ config_time_varying_atmospheric_forcing_reference_time = '2012-10-10_00:00:00' config_time_varying_atmospheric_forcing_cycle_start = 'none' config_time_varying_atmospheric_forcing_interval = '01:00:00' config_time_varying_atmospheric_forcing_ramp = 10.0 +config_use_self_attraction_loading = .true. +config_self_attraction_loading_compute_interval = '0000-00-00_00:30:00' +config_use_parallel_self_attraction_loading = .true. +config_parallel_self_attraction_loading_order = 50 +config_self_attraction_and_loading_beta = 0.0 config_use_tidal_potential_forcing = .true. config_tidal_potential_reference_time = '2012-10-10_00:00:00' config_tidal_potential_ramp = 10.0 @@ -26,7 +31,7 @@ config_zero_drying_velocity = .true. config_thickness_flux_type = 'centered' config_bottom_drag_mode = 'explicit' config_explicit_bottom_drag_coeff = 2.0e-3 -config_self_attraction_and_loading_beta = 0.0 +config_use_topographic_wave_drag = .true. config_use_cvmix = .false. config_check_ssh_consistency = .true. config_disable_thick_vadv = .true. diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid index d883cd3095..ede39f96fd 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid @@ -2,7 +2,7 @@ config_thickness_flux_type = 'upwind' config_zero_drying_velocity_ramp = .true. config_zero_drying_velocity_ramp_hmin = 1e-2 config_zero_drying_velocity_ramp_hmax = 2e-2 -config_use_subgrid_wetting_drying = true. +config_use_subgrid_wetting_drying = .true. config_use_ssh_gradient_wetting_drying = .true. config_disable_vel_hmix = .false. config_disable_vel_explicit_bottom_drag = .true. From abf2b39f75f7020db53840f8cb8d338233dabc77 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 08:18:45 -0800 Subject: [PATCH 04/68] Copy bed_elevation to bottomDepthObserved in init step --- .../ocean/tests/tides/init/remap_bathymetry.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/compass/ocean/tests/tides/init/remap_bathymetry.py b/compass/ocean/tests/tides/init/remap_bathymetry.py index f6d19ee8fc..362ed44cce 100644 --- a/compass/ocean/tests/tides/init/remap_bathymetry.py +++ b/compass/ocean/tests/tides/init/remap_bathymetry.py @@ -1,3 +1,5 @@ +import netCDF4 as nc4 + import compass.ocean.tests.tides.dem.dem_remap as dem_remap import compass.ocean.tests.tides.dem.dem_trnsf as dem_trnsf from compass.step import Step @@ -39,10 +41,10 @@ def __init__(self, test_case, mesh): self.add_input_file( filename='base_mesh.nc', work_dir_target=f'{base_mesh_path}/base_mesh.nc') + pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' self.add_input_file( filename='bathy.nc', - work_dir_target=f'{pixel_path}/' - 'RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc') + work_dir_target=pixel_file) def run(self): """ @@ -51,3 +53,14 @@ def run(self): dem_remap.dem_remap('bathy.nc', 'base_mesh.nc') dem_trnsf.dem_trnsf('base_mesh.nc', 'mesh.nc') + + # Create new NetCDF variables in mesh file, if necessary + nc_mesh = nc4.Dataset('mesh.nc', 'r+') + nc_vars = nc_mesh.variables.keys() + if 'bottomDepthObserved' not in nc_vars: + nc_mesh.createVariable('bottomDepthObserved', 'f8', ('nCells')) + + # Write to mesh file + nc_mesh.variables['bottomDepthObserved'][:] = \ + nc_mesh.variables['bed_elevation'][:] + nc_mesh.close() From fb6837271182f46d1cfbac3a85f056becb4f2c64 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 08:22:58 -0800 Subject: [PATCH 05/68] Prevent infinite loop in calculate_wave_drag.py when fixing Nan values --- .../tests/tides/init/calculate_wave_drag.py | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/compass/ocean/tests/tides/init/calculate_wave_drag.py b/compass/ocean/tests/tides/init/calculate_wave_drag.py index f2dadb855b..de0268e3ea 100644 --- a/compass/ocean/tests/tides/init/calculate_wave_drag.py +++ b/compass/ocean/tests/tides/init/calculate_wave_drag.py @@ -61,10 +61,10 @@ def __init__(self, test_case, mesh): work_dir_target=f'{mesh_path}/culled_mesh.nc') bathy_path = mesh.steps['pixel'].path + pixel_file = f'{bathy_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' self.add_input_file( filename=self.bathy_file, - work_dir_target=f'{bathy_path}/' - 'RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc') + work_dir_target=pixel_file) self.output_file = 'topographic_wave_drag.nc' self.add_output_file(filename=self.output_file) @@ -186,18 +186,26 @@ def run(self): # Fix some nn issues print("Fixing nans in data") - while (np.sum(np.isnan(stddev)) > 0): + i = 0 + while ((np.sum(np.isnan(stddev)) > 0) and (i < 10)): print("stddev", np.sum(np.isnan(stddev))) stddev = self.fix_nans(stddev, md) - while (np.sum(np.isnan(bed_slope_edges)) > 0): + i = i + 1 + i = 0 + while ((np.sum(np.isnan(bed_slope_edges)) > 0) and (i < 10)): print("bed_slope_edges", np.sum(np.isnan(stddev))) bed_slope_edges = self.fix_nans(bed_slope_edges, md) - while (np.sum(np.isnan(xGradEdges)) > 0): + i = i + 1 + i = 0 + while ((np.sum(np.isnan(xGradEdges)) > 0) and (i < 10)): print("xGradEdges", np.sum(np.isnan(stddev))) xGradEdges = self.fix_nans(xGradEdges, md) - while (np.sum(np.isnan(yGradEdges)) > 0): + i = i + 1 + i = 0 + while ((np.sum(np.isnan(yGradEdges)) > 0) and (i < 10)): print("yGradEdges", np.sum(np.isnan(stddev))) yGradEdge = self.fix_nans(yGradEdges, md) + i = i + 1 # Remove any 0s from the bottom Depth # bottomDepthEdges[bottomDepthEdges==0.0] = 0.01 From b2bccbc46e023cea3d1cd74a62bd5e43f362a43f Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 08:27:55 -0800 Subject: [PATCH 06/68] Add calculate wave drag and remap bathymetry steps to hurricane init --- compass/ocean/tests/hurricane/init/__init__.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/__init__.py b/compass/ocean/tests/hurricane/init/__init__.py index 78755c1e9b..8e4f3000e9 100644 --- a/compass/ocean/tests/hurricane/init/__init__.py +++ b/compass/ocean/tests/hurricane/init/__init__.py @@ -8,9 +8,10 @@ from compass.ocean.tests.hurricane.init.interpolate_atm_forcing import ( InterpolateAtmForcing, ) -from compass.ocean.tests.hurricane.lts.init.topographic_wave_drag import ( - ComputeTopographicWaveDrag, +from compass.ocean.tests.tides.init.calculate_wave_drag import ( + CalculateWaveDrag, ) +from compass.ocean.tests.tides.init.remap_bathymetry import RemapBathymetry from compass.testcase import TestCase @@ -57,15 +58,12 @@ def __init__(self, test_group, mesh, storm, use_lts, wetdry): subdir = os.path.join(mesh_name, name) super().__init__(test_group=test_group, name=name, subdir=subdir) + self.add_step(CalculateWaveDrag(test_case=self, mesh=mesh)) + self.add_step(RemapBathymetry(test_case=self, mesh=mesh)) self.add_step(InitialState(test_case=self, mesh=mesh, use_lts=use_lts, wetdry=wetdry)) self.add_step(InterpolateAtmForcing(test_case=self, mesh=mesh, storm=storm)) - - if use_lts: - topo = ComputeTopographicWaveDrag(test_case=self, mesh=mesh) - self.add_step(topo) - self.add_step(CreatePointstatsFile(test_case=self, mesh=mesh, storm=storm)) From e11202a81ab414d0b5ad8235d5c8efe9d1d4b566 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 09:30:22 -0800 Subject: [PATCH 07/68] Add 15sec resolution option to pixel file step --- compass/ocean/tests/tides/dem/__init__.py | 24 ++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/compass/ocean/tests/tides/dem/__init__.py b/compass/ocean/tests/tides/dem/__init__.py index 8db0eceeba..6c8aa60e25 100644 --- a/compass/ocean/tests/tides/dem/__init__.py +++ b/compass/ocean/tests/tides/dem/__init__.py @@ -12,7 +12,7 @@ class CreatePixelFile(Step): ---------- """ - def __init__(self, test_case): + def __init__(self, test_case, resolution='30sec'): """ Create the step @@ -44,6 +44,8 @@ def __init__(self, test_case): target='RTopo-2.0.4_30sec_ice_base_topography.nc', database='bathymetry_database') + self.resolution = resolution + def run(self): """ Run this step of the test case @@ -51,9 +53,17 @@ def run(self): self.init_path = './' - if not os.path.exists('RTopo_2_0_4_30sec_pixel.nc'): - dem_pixel.rtopo_30sec(self.init_path, self.init_path) - if not os.path.exists('GEBCO_v2023_30sec_pixel.nc'): - dem_pixel.gebco_30sec(self.init_path, self.init_path) - if not os.path.exists('RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc'): - dem_pixel.rtopo_gebco_30sec(self.init_path, self.init_path) + if self.resolution == '30sec': + if not os.path.exists('RTopo_2_0_4_30sec_pixel.nc'): + dem_pixel.rtopo_30sec(self.init_path, self.init_path) + if not os.path.exists('GEBCO_v2023_30sec_pixel.nc'): + dem_pixel.gebco_30sec(self.init_path, self.init_path) + if not os.path.exists('RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc'): + dem_pixel.rtopo_gebco_30sec(self.init_path, self.init_path) + elif self.resolution == '15sec': + if not os.path.exists('RTopo_2_0_4_15sec_pixel.nc'): + dem_pixel.rtopo_15sec(self.init_path, self.init_path) + if not os.path.exists('GEBCO_v2023_15sec_pixel.nc'): + dem_pixel.gebco_15sec(self.init_path, self.init_path) + if not os.path.exists('RTopo_2_0_4_GEBCO_v2023_15sec_pixel.nc'): + dem_pixel.rtopo_gebco_15sec(self.init_path, self.init_path) From 6638d9bef5f47edb6454f30438d1d719a58f591b Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 09:32:07 -0800 Subject: [PATCH 08/68] Create pixel file for all meshes --- compass/ocean/tests/hurricane/mesh/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index e47d2e5a45..b748cc58eb 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -42,6 +42,9 @@ def __init__(self, test_group, mesh_name, use_lts): subdir = '{}/{}'.format(mesh_name, name) super().__init__(test_group=test_group, name=name, subdir=subdir) + pixel_step = CreatePixelFile(self) + self.add_step(pixel_step) + name = 'base_mesh' if mesh_name == 'DEQU120at30cr10rr2': base_mesh_step = DEQU120at30cr10rr2BaseMesh( @@ -52,8 +55,6 @@ def __init__(self, test_group, mesh_name, use_lts): self, name=name, preserve_floodplain=True) mesh_lower = 'dequ120at30cr10rr2' elif mesh_name == 'DEVR45to5rr1': - pixel_step = CreatePixelFile(self) - self.add_step(pixel_step) base_mesh_step = DEVR45to5rr1BaseMesh( self, pixel_step, name='base_mesh', subdir=None, From 8e73595e011b24454220dac1e4ab28e1ea3a35e4 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 3 Dec 2024 10:54:52 -0800 Subject: [PATCH 09/68] Use dem_remap instead of inject_bathymetry in floodplain mesh - Commented out --- compass/ocean/mesh/floodplain.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index cbf7e088a2..44159f20f7 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -1,5 +1,7 @@ +# import netCDF4 as nc4 from mpas_tools.ocean import inject_bathymetry, inject_preserve_floodplain +# import compass.ocean.tests.tides.dem.dem_remap as dem_remap from compass.mesh.spherical import QuasiUniformSphericalMeshStep @@ -44,6 +46,12 @@ def __init__(self, test_case, name='base_mesh', subdir=None, target='SRTM15_plus_earth_relief_15s.nc', database='bathymetry_database') + # pixel_path = test_case.steps['pixel'].path + # pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' + # self.add_input_file( + # filename='bathy.nc', + # work_dir_target=pixel_file) + def run(self): """ Run this step of the test case @@ -55,6 +63,19 @@ def run(self): mesh_filename = config.get('spherical_mesh', 'mpas_mesh_filename') inject_bathymetry(mesh_file=mesh_filename) + # dem_remap.dem_remap('bathy.nc', mesh_filename) + + # Create new NetCDF variables in mesh file, if necessary + # nc_mesh = nc4.Dataset(mesh_filename, 'r+') + # nc_vars = nc_mesh.variables.keys() + # if 'bottomDepthObserved' not in nc_vars: + # nc_mesh.createVariable('bottomDepthObserved', 'f8', ('nCells')) + + # Write to mesh file + # nc_mesh.variables['bottomDepthObserved'][:] = \ + # nc_mesh.variables['bed_elevation'][:] + # nc_mesh.close() + if self.preserve_floodplain: floodplain_elevation = config.getfloat('spherical_mesh', 'floodplain_elevation') From 993ee9fdd628afad6c9a264a8f68c7949b2dd338 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 8 Jan 2025 07:07:46 -0800 Subject: [PATCH 10/68] Use modified box for specifying Delaware resolution --- .../tests/hurricane/mesh/devr45to5rr1/__init__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py index cdc955257e..478a803b73 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py @@ -63,9 +63,18 @@ def region_multiplier(self, xgrid): params, cell_width, lon, lat) # Delaware Bay high-resolution (2km) + Delaware_restrict = {"include": [np.array([[-75.853, 39.732], + [-74.939, 36.678], + [-71.519, 40.156], + [-74.784, 40.296]]), + np.array([[-76.024, 37.188], + [-75.214, 36.756], + [-74.512, 37.925], + [-75.274, 38.318]])], + "exclude": []} params["region_box"] = ct.Delaware_Bay params["plot_box"] = ct.Delaware - params["restrict_box"] = ct.Delaware_restrict + params["restrict_box"] = Delaware_restrict params["dx_min_coastal"] = 0.125 params["trans_width"] = 100.0 * km params["trans_start"] = 17.0 * km From 417bc88eb29b14ee44133a5c0a846e837210a80d Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 8 Jan 2025 08:45:42 -0800 Subject: [PATCH 11/68] Cull mesh using remapped topography for ice shelves, region mask for floodplain --- compass/ocean/mesh/floodplain.py | 80 ++++++++++++++----- .../ocean/tests/hurricane/mesh/__init__.py | 10 ++- .../mesh/devr45to5rr1/devr45to5rr1.cfg | 34 ++++++++ 3 files changed, 104 insertions(+), 20 deletions(-) diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index 44159f20f7..4091369371 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -1,9 +1,11 @@ -# import netCDF4 as nc4 -from mpas_tools.ocean import inject_bathymetry, inject_preserve_floodplain +import netCDF4 as nc4 +import numpy as np -# import compass.ocean.tests.tides.dem.dem_remap as dem_remap +import compass.ocean.tests.tides.dem.dem_remap as dem_remap from compass.mesh.spherical import QuasiUniformSphericalMeshStep +# from mpas_tools.ocean import inject_bathymetry, inject_preserve_floodplain + class FloodplainMeshStep(QuasiUniformSphericalMeshStep): """ @@ -46,11 +48,13 @@ def __init__(self, test_case, name='base_mesh', subdir=None, target='SRTM15_plus_earth_relief_15s.nc', database='bathymetry_database') - # pixel_path = test_case.steps['pixel'].path - # pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' - # self.add_input_file( - # filename='bathy.nc', - # work_dir_target=pixel_file) + pixel_path = test_case.steps['pixel'].path + pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' + self.add_input_file( + filename='bathy.nc', + work_dir_target=pixel_file) + + self.bottomDepth_varname = 'bottomDepthObserved' def run(self): """ @@ -62,19 +66,18 @@ def run(self): mesh_filename = config.get('spherical_mesh', 'mpas_mesh_filename') - inject_bathymetry(mesh_file=mesh_filename) - # dem_remap.dem_remap('bathy.nc', mesh_filename) + dem_remap.dem_remap('bathy.nc', mesh_filename) # Create new NetCDF variables in mesh file, if necessary - # nc_mesh = nc4.Dataset(mesh_filename, 'r+') - # nc_vars = nc_mesh.variables.keys() - # if 'bottomDepthObserved' not in nc_vars: - # nc_mesh.createVariable('bottomDepthObserved', 'f8', ('nCells')) + nc_mesh = nc4.Dataset(mesh_filename, 'r+') + nc_vars = nc_mesh.variables.keys() + if 'bottomDepthObserved' not in nc_vars: + nc_mesh.createVariable('bottomDepthObserved', 'f8', ('nCells')) # Write to mesh file - # nc_mesh.variables['bottomDepthObserved'][:] = \ - # nc_mesh.variables['bed_elevation'][:] - # nc_mesh.close() + nc_mesh.variables['bottomDepthObserved'][:] = \ + nc_mesh.variables['bed_elevation'][:] + nc_mesh.close() if self.preserve_floodplain: floodplain_elevation = config.getfloat('spherical_mesh', @@ -89,8 +92,49 @@ def run(self): else: floodplain_resolution = 1e10 - inject_preserve_floodplain( + self.inject_preserve_floodplain( mesh_file=mesh_filename, floodplain_elevation=floodplain_elevation, floodplain_resolution=floodplain_resolution, min_depth_outside_floodplain=min_depth_outside_floodplain) + + def inject_preserve_floodplain(self, mesh_file, floodplain_elevation, + floodplain_resolution=1e10, + min_depth_outside_floodplain=5.0): + + nc_mesh = nc4.Dataset(mesh_file, 'r+') + nc_vars = nc_mesh.variables.keys() + + if 'regionCellMasks' not in nc_vars: + nc_mesh.createDimension('nRegions', 1) + nc_mesh.createVariable('regionCellMasks', 'i', + ('nCells', 'nRegions')) + nc_mesh.variables['regionCellMasks'][:] = 0.0 + + if 'transectCellMasks' not in nc_vars: + nc_mesh.createDimension('nTransects', 1) + nc_mesh.createVariable('transectCellMasks', 'i', + ('nCells', 'nTransects')) + nc_mesh.variables['transectCellMasks'][:] = 0.0 + + floodplain = self.find_floodplain(mesh_file, floodplain_elevation, + floodplain_resolution) + + nc_mesh.variables['regionCellMasks'][:] = floodplain + + nc_mesh.close() + + def find_floodplain(self, mesh_file, floodplain_elevation, + floodplain_resolution): + + nc_mesh = nc4.Dataset(mesh_file, 'r+') + + bottomDepth = self.bottomDepth_varname + h = 2.0 * np.sqrt(nc_mesh.variables['areaCell'][:] / np.pi) / 1000.0 + floodplain = np.logical_and( + h < floodplain_resolution, + nc_mesh.variables[bottomDepth][:] < floodplain_elevation) + + nc_mesh.close() + + return floodplain diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index b748cc58eb..33c8ddc99c 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -1,4 +1,5 @@ from compass.ocean.mesh.cull import CullMeshStep +from compass.ocean.mesh.remap_topography import RemapTopography from compass.ocean.tests.hurricane.configure import configure_hurricane from compass.ocean.tests.hurricane.lts.mesh.lts_regions import LTSRegionsStep from compass.ocean.tests.hurricane.mesh.dequ120at30cr10rr2 import ( @@ -71,10 +72,15 @@ def __init__(self, test_group, mesh_name, use_lts): self.add_step(base_mesh_step) + remap_step = RemapTopography(test_case=self, + base_mesh_step=base_mesh_step, + mesh_name=mesh_name) + self.add_step(remap_step) + cull_mesh_step = CullMeshStep( test_case=self, base_mesh_step=base_mesh_step, - with_ice_shelf_cavities=False, do_inject_bathymetry=True, - preserve_floodplain=True) + with_ice_shelf_cavities=True, do_inject_bathymetry=True, + preserve_floodplain=True, remap_topography=remap_step) self.add_step(cull_mesh_step) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 7a5a3b319d..8b860b3481 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -47,3 +47,37 @@ forward_min_tasks = 1024 forward_max_memory = 1000 # number of threads forward_threads = 1 + +# config options related to remapping topography to an MPAS-Ocean mesh +[remap_topography] + +# the name of the topography file in the bathymetry database +topo_filename = BedMachineAntarctica_v3_and_GEBCO_2023_0.0125_degree_20240828.nc + +# variable names in topo_filename +lon_var = lon +lat_var = lat +bathymetry_var = bathymetry +ice_thickness_var = thickness +ice_frac_var = ice_mask +grounded_ice_frac_var = grounded_mask +ocean_frac_var = ocean_mask +bathy_frac_var = bathymetry_mask + +# the description to include in metadata +description = Bathymetry is from GEBCO 2023, combined with BedMachine + Antarctica v3 around Antarctica. + +# the target and minimum number of MPI tasks to use in remapping +ntasks = 4096 +min_tasks = 360 + +# remapping method {'bilinear', 'neareststod', 'conserve'} +method = conserve + +# threshold of what fraction of an MPAS cell must contain ocean in order to +# perform renormalization of elevation variables +renorm_threshold = 0.01 + +# the density of land ice from MALI (kg/m^3) +ice_density = 910.0 From 509ecd7e2e3586e9ff4bc2d354314a5b491fded8 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 8 Jan 2025 08:54:52 -0800 Subject: [PATCH 12/68] Update remap_bathymetry - Add ability to limit minimum depth outside of floodplain - Assign remaped bathymetry to bottomDepthObserved variable --- .../ocean/tests/hurricane/init/__init__.py | 3 ++- .../tests/tides/init/remap_bathymetry.py | 26 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/__init__.py b/compass/ocean/tests/hurricane/init/__init__.py index 8e4f3000e9..ed0a4b54d4 100644 --- a/compass/ocean/tests/hurricane/init/__init__.py +++ b/compass/ocean/tests/hurricane/init/__init__.py @@ -59,7 +59,8 @@ def __init__(self, test_group, mesh, storm, use_lts, wetdry): super().__init__(test_group=test_group, name=name, subdir=subdir) self.add_step(CalculateWaveDrag(test_case=self, mesh=mesh)) - self.add_step(RemapBathymetry(test_case=self, mesh=mesh)) + self.add_step(RemapBathymetry(test_case=self, mesh=mesh, + limit_bathy_outside_refinement=True)) self.add_step(InitialState(test_case=self, mesh=mesh, use_lts=use_lts, wetdry=wetdry)) self.add_step(InterpolateAtmForcing(test_case=self, mesh=mesh, diff --git a/compass/ocean/tests/tides/init/remap_bathymetry.py b/compass/ocean/tests/tides/init/remap_bathymetry.py index 362ed44cce..e1b5609b03 100644 --- a/compass/ocean/tests/tides/init/remap_bathymetry.py +++ b/compass/ocean/tests/tides/init/remap_bathymetry.py @@ -1,4 +1,5 @@ import netCDF4 as nc4 +import numpy as np import compass.ocean.tests.tides.dem.dem_remap as dem_remap import compass.ocean.tests.tides.dem.dem_trnsf as dem_trnsf @@ -14,7 +15,7 @@ class RemapBathymetry(Step): plot : bool Whether to produce plots of remapped data """ - def __init__(self, test_case, mesh): + def __init__(self, test_case, mesh, limit_bathy_outside_refinement=False): """ Create the step @@ -46,6 +47,8 @@ def __init__(self, test_case, mesh): filename='bathy.nc', work_dir_target=pixel_file) + self.limit_bathy_outside_refinement = limit_bathy_outside_refinement + def run(self): """ Run this step of the test case @@ -60,7 +63,24 @@ def run(self): if 'bottomDepthObserved' not in nc_vars: nc_mesh.createVariable('bottomDepthObserved', 'f8', ('nCells')) + bottomDepthObserved = nc_mesh.variables['bed_elevation'][:] + + if self.limit_bathy_outside_refinement: + config = self.config + if config.has_option('spherical_mesh', 'floodplain_resolution'): + floodplain_resolution = config.getfloat( + 'spherical_mesh', + 'floodplain_resolution') + else: + floodplain_resolution = 1e10 + + h = 2.0 * np.sqrt(nc_mesh.variables['areaCell'][:] / np.pi) + h = h / 1000.0 + floodplain = h < floodplain_resolution + + bottomDepthObserved[~floodplain] = \ + np.minimum(bottomDepthObserved[~floodplain], -0.1) + # Write to mesh file - nc_mesh.variables['bottomDepthObserved'][:] = \ - nc_mesh.variables['bed_elevation'][:] + nc_mesh.variables['bottomDepthObserved'][:] = bottomDepthObserved nc_mesh.close() From 2ce5753fc16a2aa09730cbff0e3c3ed9d14f54be Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 8 Jan 2025 09:01:59 -0800 Subject: [PATCH 13/68] Add topotgraphic wave drag file to forward step and streams --- compass/ocean/tests/hurricane/forward/forward.py | 9 ++++----- compass/ocean/tests/hurricane/forward/streams.ocean | 13 +++++++++++++ .../tests/hurricane/forward/streams.ocean_subgrid | 13 +++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index 4e281e2bac..b93c2fa27a 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -95,11 +95,10 @@ def __init__(self, test_case, mesh, init, use_lts, wetdry, filename='atmospheric_forcing.nc', work_dir_target=f'{init.path}/interpolate/atmospheric_forcing.nc') - if use_lts: - file_in = 'topographic_wave_drag.nc' - self.add_input_file( - filename='topographic_wave_drag.nc', - work_dir_target=f'{init.path}/topodrag/{file_in}') + file_in = 'topographic_wave_drag.nc' + self.add_input_file( + filename='topographic_wave_drag.nc', + work_dir_target=f'{init.path}/wave_drag/{file_in}') self.add_input_file( filename='points.nc', diff --git a/compass/ocean/tests/hurricane/forward/streams.ocean b/compass/ocean/tests/hurricane/forward/streams.ocean index 35cf55e27f..e3a49fd6f1 100644 --- a/compass/ocean/tests/hurricane/forward/streams.ocean +++ b/compass/ocean/tests/hurricane/forward/streams.ocean @@ -36,6 +36,19 @@ + + + + + + + + + + + + + + + + + + + + Date: Wed, 8 Jan 2025 09:06:06 -0800 Subject: [PATCH 14/68] Add ice shelf cavity information in initial state --- .../tests/hurricane/forward/namelist.ocean | 3 +- .../tests/hurricane/init/initial_state.py | 86 +++++++++++++++++++ .../ocean/tests/hurricane/init/namelist.init | 1 + .../hurricane/init/streams.ocean_subgrid1 | 12 +++ .../hurricane/init/streams.ocean_subgrid2 | 12 +++ 5 files changed, 113 insertions(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean b/compass/ocean/tests/hurricane/forward/namelist.ocean index c133c5cc49..19a0221a64 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean @@ -26,7 +26,7 @@ config_check_ssh_consistency = .false. config_use_wetting_drying = .true. config_prevent_drying = .true. config_drying_min_cell_height = 0.01 -config_verify_not_dry = .true. +config_verify_not_dry = .false. config_zero_drying_velocity = .true. config_thickness_flux_type = 'centered' config_bottom_drag_mode = 'explicit' @@ -40,6 +40,7 @@ config_disable_vel_vadv = .true. config_disable_tr_all_tend = .true. config_disable_vel_vmix = .true. config_disable_vel_hmix = .true. +config_land_ice_flux_mode = 'pressure_only' config_AM_pointwiseStats_enable = .true. config_AM_timeSeriesStatsCustom_enable = .true. config_AM_timeSeriesStatsCustom_compute_interval = 'dt' diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index a6151cc2d2..f0225d7898 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -1,3 +1,6 @@ +import netCDF4 as nc +import numpy as np + from compass.model import run_model from compass.step import Step @@ -144,12 +147,95 @@ def run(self): Run this step of the testcase """ run_model(self) + if self.wetdry == 'subgrid': run_model(self, namelist='namelist.ocean_subgrid1', streams='streams.ocean_subgrid1') run_model(self, namelist='namelist.ocean_subgrid2', streams='streams.ocean_subgrid2') + init = nc.Dataset("ocean_subgrid2.nc", "r+") + mesh = nc.Dataset("mesh.nc", "r") + + # -- Estimate vert. grid for ice-shelves, min.-thicknesses, etc + # -- Darren Engwirda + + print("Est. layering to account for ice-shelves") + + botd = np.asarray(-mesh["bottomDepthObserved"][:], dtype=np.float64) + # ossh = np.asarray(init["ssh"][0,:], dtype=np.float64) + ossh = 0. * botd # assume ssh is zero + + grav = 9.80665 # gravitational accel. + irho = float(init.config_land_ice_flux_rho_ice) + orho = float(init.config_density0) + minh = float(init.config_drying_min_cell_height) / 2. + + print("ice-shelf density:", irho) + print("ocn-const density:", orho) + print("min-layer thickness:", minh) + + iceh = np.asarray(mesh["ice_thickness"][:], dtype=np.float64) + # icef = np.asarray(mesh["ice_cover"][:], dtype=np.float64) + + icep = irho * grav * iceh # ice pressure + iced = icep / grav / orho # ice draft + + # ensure thin-layer beneath ice-shelves + iced = np.minimum(iced, +botd - minh) + iced = np.maximum(iced, +0.0) + ossh = ossh - iced + + icep[iced <= 0.] = 0. + + # allow thin-layer in partially flooded zone + ossh = np.maximum(ossh, -botd + minh) + + print("max ice-draft:", np.max(iced)) + print("max ice-pressure:", np.max(icep)) + + if ("ssh" not in init.variables.keys()): + init.createVariable("ssh", "f8", ("Time", "nCells")) + + if ("landIceDraft" not in init.variables.keys()): + init.createVariable("landIceDraft", "f8", ("Time", "nCells")) + + if ("landIcePressure" not in init.variables.keys()): + init.createVariable("landIcePressure", "f8", ("Time", "nCells")) + + if ("landIceMask" not in init.variables.keys()): + init.createVariable("landIceMask", "i4", ("Time", "nCells")) + + if ("landIceFloatingMask" not in init.variables.keys()): + init.createVariable("landIceFloatingMask", "i4", + ("Time", "nCells")) + + if ("landIceFraction" not in init.variables.keys()): + init.createVariable("landIceFraction", "f8", ("Time", "nCells")) + + if ("landIceFloatingFraction" not in init.variables.keys()): + init.createVariable("landIceFloatingFraction", "f8", + ("Time", "nCells")) + + lat_mask = np.where(init["latCell"][:] < -59.0 * np.pi / 180.0)[0] + init["landIceDraft"][0, :] = -iced # NB. sign + init["landIcePressure"][0, :] = icep + init["landIceMask"][0, :] = (icep > 0.) + init["landIceFloatingMask"][0, :] = (icep > 0.) + init["landIceFraction"][0, :] = (icep > 0.) + init["landIceFloatingFraction"][0, :] = (icep > 0.) + + init["bottomDepth"][lat_mask] = botd[lat_mask] + ssh = init["ssh"][:] + ssh[0, lat_mask] = ossh[lat_mask] + init["ssh"][:] = ssh + + layerThickness = init["layerThickness"][:] + layerThickness[0, lat_mask, 0] = ossh[lat_mask] + botd[lat_mask] + init["layerThickness"][:] = layerThickness + + init.close() + def _get_resources(self): # get the these properties from the config options config = self.config diff --git a/compass/ocean/tests/hurricane/init/namelist.init b/compass/ocean/tests/hurricane/init/namelist.init index 4cc8030eb3..7a56670958 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init +++ b/compass/ocean/tests/hurricane/init/namelist.init @@ -16,3 +16,4 @@ config_hurricane_land_drag = 0.1 config_hurricane_marsh_drag = 0.05 config_hurricane_channel_drag = 0.02 config_hurricane_sea_level_rise_adjustment = 0.0 +config_land_ice_flux_mode = "pressure_only" diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 index 25119815c4..f3ff4d0d82 100644 --- a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 @@ -42,6 +42,12 @@ + + + + + + + + + + + + + + + + + + + + + + + + Date: Wed, 8 Jan 2025 09:08:13 -0800 Subject: [PATCH 15/68] Set start date for analysis plots back to being closer to landfall (10/24) --- compass/ocean/tests/hurricane/analysis/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index 39d2778c2c..d1f14d070f 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -65,7 +65,7 @@ def setup(self): package = self.__module__ if self.storm == 'sandy': - self.min_date = '2012 10 10 00 00' + self.min_date = '2012 10 24 00 00' self.max_date = '2012 11 04 00 00' self.pointstats_file = {'MPAS-O': './pointwiseStats.nc'} From b3740c1bc046b32307c521bad08de745eba6b229 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 8 Jan 2025 09:31:46 -0800 Subject: [PATCH 16/68] Remove do_inject_bathymetry option --- compass/ocean/mesh/cull.py | 52 +++---------------- compass/ocean/mesh/floodplain.py | 6 --- .../ocean/tests/hurricane/mesh/__init__.py | 2 +- docs/developers_guide/ocean/framework.rst | 6 +-- 4 files changed, 10 insertions(+), 56 deletions(-) diff --git a/compass/ocean/mesh/cull.py b/compass/ocean/mesh/cull.py index 2469d4bed1..180fa17af3 100644 --- a/compass/ocean/mesh/cull.py +++ b/compass/ocean/mesh/cull.py @@ -14,11 +14,6 @@ from mpas_tools.mesh.creation.sort_mesh import sort_mesh from mpas_tools.mesh.cull import cull_dataset, map_culled_to_base from mpas_tools.mesh.mask import compute_mpas_flood_fill_mask -from mpas_tools.ocean import ( - find_floodplain, - inject_bathymetry, - limit_bathymetry_outside_floodplain, -) from mpas_tools.ocean.coastline_alteration import ( add_critical_land_blockages, add_land_locked_cells_to_mask, @@ -42,13 +37,9 @@ class CullMeshStep(Step): with_ice_shelf_cavities : bool Whether the mesh includes ice-shelf cavities - do_inject_bathymetry : bool - Whether to interpolate bathymetry from a data file so it - can be used as a culling criteria - preserve_floodplain : bool - Whether to leave land cells in the mesh based on bathymetry - specified by do_inject_bathymetry + Whether to leave land cells in the mesh based on floodplain + specified by regionCellMasks unsmoothed_topo : compass.ocean.mesh.remap_topography.RemapTopography A step for remapping topography. If provided, the remapped @@ -61,7 +52,7 @@ class CullMeshStep(Step): """ def __init__(self, test_case, base_mesh_step, with_ice_shelf_cavities, - name='cull_mesh', subdir=None, do_inject_bathymetry=False, + name='cull_mesh', subdir=None, preserve_floodplain=False, unsmoothed_topo=None, smoothed_topo=None): """ @@ -84,13 +75,10 @@ def __init__(self, test_case, base_mesh_step, with_ice_shelf_cavities, subdir : str, optional the subdirectory for the step. The default is ``name`` - do_inject_bathymetry : bool, optional - Whether to interpolate bathymetry from a data file so it - can be used as a culling criteria preserve_floodplain : bool, optional - Whether to leave land cells in the mesh based on bathymetry - specified by do_inject_bathymetry + Whether to leave land cells in the mesh based on floodplain + specified by regionCellMasks unsmoothed_topo : compass.ocean.mesh.remap_topography.RemapTopography, optional A step for remapping topography. If provided, the remapped @@ -114,7 +102,6 @@ def __init__(self, test_case, base_mesh_step, with_ice_shelf_cavities, self.add_output_file(filename='land_ice_mask.nc') self.with_ice_shelf_cavities = with_ice_shelf_cavities - self.do_inject_bathymetry = do_inject_bathymetry self.preserve_floodplain = preserve_floodplain def setup(self): @@ -123,11 +110,6 @@ def setup(self): dependencies. """ super().setup() - if self.do_inject_bathymetry: - self.add_input_file( - filename='earth_relief_15s.nc', - target='SRTM15_plus_earth_relief_15s.nc', - database='bathymetry_database') base_path = self.base_mesh_step.path base_filename = self.base_mesh_step.config.get( @@ -184,7 +166,6 @@ def run(self): # only use progress bars if we're not writing to a log file use_progress_bar = self.log_filename is None - do_inject_bathymetry = self.do_inject_bathymetry preserve_floodplain = self.preserve_floodplain convert_to_cdf5 = config.getboolean('spherical_mesh', @@ -204,27 +185,6 @@ def run(self): latitude_threshold=latitude_threshold, sweep_count=sweep_count) - if do_inject_bathymetry: - mesh_file = 'culled_mesh.nc' - inject_bathymetry(mesh_file=mesh_file) - - if preserve_floodplain: - floodplain_elevation = config.getfloat('spherical_mesh', - 'floodplain_elevation') - floodplain_resolution = config.getfloat( - 'spherical_mesh', - 'floodplain_resolution') - min_depth_outside_floodplain = config.getfloat( - 'spherical_mesh', - 'min_depth_outside_floodplain') - floodplain = find_floodplain(mesh_file, - floodplain_elevation, - floodplain_resolution) - limit_bathymetry_outside_floodplain( - mesh_file, - floodplain, - min_depth_outside_floodplain) - def cull_mesh(with_cavities=False, with_critical_passages=False, custom_critical_passages=None, custom_land_blockages=None, @@ -279,7 +239,7 @@ def cull_mesh(with_cavities=False, with_critical_passages=False, (``with_critical_passages=True``) preserve_floodplain : bool, optional - Whether to use the ``cellSeedMask`` field in the base mesh to preserve + Whether to use ``regionCellMasks`` field in the base mesh to preserve a floodplain at elevations above z=0 logger : logging.Logger, optional diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index 4091369371..1b7e752eaa 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -4,8 +4,6 @@ import compass.ocean.tests.tides.dem.dem_remap as dem_remap from compass.mesh.spherical import QuasiUniformSphericalMeshStep -# from mpas_tools.ocean import inject_bathymetry, inject_preserve_floodplain - class FloodplainMeshStep(QuasiUniformSphericalMeshStep): """ @@ -44,10 +42,6 @@ def __init__(self, test_case, name='base_mesh', subdir=None, self.preserve_floodplain = preserve_floodplain - self.add_input_file(filename='earth_relief_15s.nc', - target='SRTM15_plus_earth_relief_15s.nc', - database='bathymetry_database') - pixel_path = test_case.steps['pixel'].path pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' self.add_input_file( diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index 33c8ddc99c..5a0fd864a8 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -79,7 +79,7 @@ def __init__(self, test_group, mesh_name, use_lts): cull_mesh_step = CullMeshStep( test_case=self, base_mesh_step=base_mesh_step, - with_ice_shelf_cavities=True, do_inject_bathymetry=True, + with_ice_shelf_cavities=True, preserve_floodplain=True, remap_topography=remap_step) self.add_step(cull_mesh_step) diff --git a/docs/developers_guide/ocean/framework.rst b/docs/developers_guide/ocean/framework.rst index 49fd906ced..1f36853fbd 100644 --- a/docs/developers_guide/ocean/framework.rst +++ b/docs/developers_guide/ocean/framework.rst @@ -133,8 +133,8 @@ an attribute: ``self.preserve_floodplain`` A ``bool`` defining whether the mesh includes land cells -and including topography in the base mesh from the -`SRTM15_plus_earth_relief_15s.nc` file in the `bathymetry_database`. The +and including region a region mask in the base mesh from the +based on bathymetry from :py:func:`compass.ocean.tests.tides.dem.dem_remap`. The ``run()`` method uses the config option: .. code-block:: ini @@ -147,7 +147,7 @@ and including topography in the base mesh from the to determine the elevation of the floodplain to maintain above sea level. The bathymetry and the floodplain are added to the mesh using -:py:func:`mpas_tools.ocean.inject_bathymetry()` and +`regionCellMasks` and :py:func:`mpas_tools.ocean.inject_preserve_floodplain()`, respectively. .. _dev_ocean_framework_haney: From cfa86b43bc7a60dc67821282a97a5200be269da0 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 13 Jan 2025 10:58:30 -0800 Subject: [PATCH 17/68] Ignore Northern hemisphere land ice masks --- .../tests/hurricane/init/initial_state.py | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index f0225d7898..56e0e16bea 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -217,13 +217,21 @@ def run(self): init.createVariable("landIceFloatingFraction", "f8", ("Time", "nCells")) + zeros = np.zeros_like(iced) + init["landIceDraft"][0, :] = zeros + init["landIcePressure"][0, :] = zeros + init["landIceMask"][0, :] = zeros + init["landIceFloatingMask"][0, :] = zeros + init["landIceFraction"][0, :] = zeros + init["landIceFloatingFraction"][0, :] = zeros + lat_mask = np.where(init["latCell"][:] < -59.0 * np.pi / 180.0)[0] - init["landIceDraft"][0, :] = -iced # NB. sign - init["landIcePressure"][0, :] = icep - init["landIceMask"][0, :] = (icep > 0.) - init["landIceFloatingMask"][0, :] = (icep > 0.) - init["landIceFraction"][0, :] = (icep > 0.) - init["landIceFloatingFraction"][0, :] = (icep > 0.) + init["landIceDraft"][0, lat_mask] = -iced[lat_mask] # NB. sign + init["landIcePressure"][0, lat_mask] = icep[lat_mask] + init["landIceMask"][0, lat_mask] = (icep[lat_mask] > 0.) + init["landIceFloatingMask"][0, lat_mask] = (icep[lat_mask] > 0.) + init["landIceFraction"][0, lat_mask] = (icep[lat_mask] > 0.) + init["landIceFloatingFraction"][0, lat_mask] = (icep[lat_mask] > 0.) init["bottomDepth"][lat_mask] = botd[lat_mask] ssh = init["ssh"][:] From 64d62f5278884b99963b03a9a950dde21c14309b Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 14 Jan 2025 08:48:01 -0800 Subject: [PATCH 18/68] Add back SRTM as input file - Still needed in base mesh for specifying coastal resolution --- compass/ocean/mesh/floodplain.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index 1b7e752eaa..c6427cb8dd 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -42,6 +42,10 @@ def __init__(self, test_case, name='base_mesh', subdir=None, self.preserve_floodplain = preserve_floodplain + self.add_input_file(filename='earth_relief_15s.nc', + target='SRTM15_plus_earth_relief_15s.nc', + database='bathymetry_database') + pixel_path = test_case.steps['pixel'].path pixel_file = f'{pixel_path}/RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc' self.add_input_file( From 02b63b188b0c815d47b891df9e228fa18e181144 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 28 Mar 2025 08:28:11 -0700 Subject: [PATCH 19/68] Fix initial_stat for standard wetting and drying --- compass/ocean/tests/hurricane/init/initial_state.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index 56e0e16bea..4a9abdf18a 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -154,8 +154,11 @@ def run(self): run_model(self, namelist='namelist.ocean_subgrid2', streams='streams.ocean_subgrid2') - init = nc.Dataset("ocean_subgrid2.nc", "r+") mesh = nc.Dataset("mesh.nc", "r") + if self.wetdry == 'subgrid': + init = nc.Dataset("ocean_subgrid2.nc", "r+") + else: + init = nc.Dataset("ocean.nc", "r+") # -- Estimate vert. grid for ice-shelves, min.-thicknesses, etc # -- Darren Engwirda From 9ac63428b841e80bf8d3e4f5657c3cb13c001612 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 1 Apr 2025 11:49:39 -0700 Subject: [PATCH 20/68] Add code for barrier island identification --- .../hurricane/mesh/devr45to5rr1/map.geojson | 1 + .../mesh/devr45to5rr1/medial_axis.py | 482 ++++++++++++++++++ 2 files changed, 483 insertions(+) create mode 100644 compass/ocean/tests/hurricane/mesh/devr45to5rr1/map.geojson create mode 100644 compass/ocean/tests/hurricane/mesh/devr45to5rr1/medial_axis.py diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/map.geojson b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/map.geojson new file mode 100644 index 0000000000..627f26f167 --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/map.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-74.94603102803964,38.91955062888388],[-74.83938362910948,38.92527804896636],[-74.51495616780684,39.27029018948276],[-74.40361474477152,39.35331759270302],[-74.19158192614736,39.53267867543238],[-74.06113006801462,39.71331939283988],[-74.02512281977525,39.98150710600842],[-73.95478303117467,40.2086972721045],[-73.9459905575991,40.41802371869019],[-73.98604515944135,40.50424677181559],[-74.04368470843416,40.48715961817766],[-74.00460726678084,40.42620065113363],[-73.99581457452526,40.3733821694062],[-74.03200150002533,40.187966486701896],[-74.06981003764102,40.042494339555844],[-74.09411251322695,39.91894532206612],[-74.11313426565444,39.78508420201169],[-74.14310979956687,39.72630467237923],[-74.17842076607181,39.67080267735358],[-74.24198050591318,39.57288636313544],[-74.31595062847431,39.5073139724108],[-74.4686510184232,39.3804221143299],[-74.57159289440291,39.31083968407672],[-74.94603102803964,38.91955062888388]]],"type":"Polygon"}},{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-73.96485253773488,40.566095058330404],[-73.9535039844636,40.51650595447737],[-73.7641250017602,40.57956401472859],[-73.59744312559779,40.57094419496309],[-73.34571193572563,40.612349721718914],[-73.21046238086436,40.60481516738761],[-72.92462738201344,40.68160087076032],[-72.67594038606795,40.75330910210198],[-72.34009255009542,40.85673962404462],[-72.04210445416689,40.97119985523386],[-71.78021513853024,41.05857311580206],[-71.9038767493813,41.14022328834045],[-72.45152102600967,40.98749047395833],[-72.51040750736736,40.93412815104489],[-72.47363584961964,40.86245771814049],[-72.58201630159942,40.82935753752531],[-72.79709742188612,40.77268444676787],[-73.10939759546581,40.67970917135054],[-73.40417074724031,40.649492862699844],[-73.70691549112121,40.61442554042884],[-73.79455144915075,40.61805408411402],[-73.96485253773488,40.566095058330404]]],"type":"Polygon"}},{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-70.23133772017493,42.01047056981241],[-70.12828549823351,41.950888153012386],[-70.09071168865803,41.799853983968774],[-70.32130693792983,41.766926222891186],[-70.50452233726833,41.830333196348846],[-70.68934759547044,41.69978914801601],[-70.68934759547044,41.587329830867844],[-70.87255154558885,41.497956176241104],[-71.01976900550503,41.38759949218806],[-70.85455830048772,41.4096858423718],[-70.60919586729395,41.51510590208599],[-70.44235796694777,41.554290955379884],[-70.22970346191373,41.58977694223154],[-70.02524285003373,41.64480708850698],[-70.06939851426685,41.55918433689823],[-69.99742553386338,41.51755549209457],[-69.93363130123292,41.58365937497584],[-69.8862003041589,41.73519745173624],[-69.9270883030145,41.97521424059764],[-70.06285551604844,42.125828646684],[-70.3000392014692,42.08942242769547],[-70.23133772017493,42.01047056981241]]],"type":"Polygon"}},{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-75.14250916993272,38.81510353681057],[-75.13968529059126,38.72424820544862],[-75.12189162911959,38.61481989133864],[-75.14139728004194,38.4240555755124],[-75.22673450282882,38.17722355079184],[-75.31694813834626,38.03141029532037],[-75.52631656300156,37.87182239320754],[-75.84848826003874,37.45779563615989],[-76.01848936393438,37.20262135262996],[-76.03410147645735,37.00755379207895],[-75.85022548452322,37.10584209385107],[-75.68058616512894,37.34764708859562],[-75.58801357682931,37.56590583396003],[-75.5018983442024,37.754988497279484],[-75.39953531486704,37.81277417863025],[-75.25167736798238,37.93077382108747],[-75.09569535808217,38.200688969882975],[-75.0187884085654,38.4110135007721],[-75.01548918826185,38.58401310424182],[-75.06332788265762,38.831168365770765],[-75.14250916993272,38.81510353681057]]],"type":"Polygon"}},{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-75.91932935455951,36.98886278562553],[-76.14391042997627,36.92374846488731],[-75.92727912714054,36.44081470790739],[-75.74840924406463,36.02721920411105],[-75.60130734775332,35.57712142119253],[-75.77379609585601,35.29161858166911],[-76.31285888864745,34.95215105658001],[-76.54786360033384,34.72831562903632],[-76.96851816911487,34.749769991502944],[-77.2702846764284,34.67345479789603],[-77.5542073064881,34.472627978472985],[-77.80911422651734,34.24705238113002],[-78.00360796216125,33.99829738564087],[-78.03192437606059,33.842239746844825],[-77.90653086658466,33.775020689180636],[-77.80742954457916,34.10891257806516],[-77.49621108696952,34.401329525839614],[-77.08719811510238,34.59185965574474],[-76.66484776371868,34.595519427814324],[-76.3847627938537,34.50031297662137],[-76.16247313523053,34.82940913828902],[-75.20953673156096,35.27621782513198],[-75.52162806179076,36.05914822132509],[-75.74052005747691,36.49970822692366],[-75.91932935455951,36.98886278562553]]],"type":"Polygon"}},{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-71.89310527676945,41.31556104148359],[-71.89028322464605,41.29347812917649],[-71.78210455991415,41.31768060763105],[-71.70732017864299,41.32562836681086],[-71.60488645627379,41.36151738297352],[-71.53529080240645,41.36773397398747],[-71.53198928213781,41.38679432757988],[-71.65570619840625,41.35944436000659],[-71.74464098713496,41.339113482934636],[-71.87334726797067,41.31714027868307],[-71.89310527676945,41.31556104148359]]],"type":"Polygon"}}]} diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/medial_axis.py b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/medial_axis.py new file mode 100644 index 0000000000..d5308e436e --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/medial_axis.py @@ -0,0 +1,482 @@ + +##################################################################### +##################################################################### + +""" +Extract the longest medial axis (centerline) for each labeled island from a +NetCDF topography field. For each island (connected component in the binary +mask), the medial axis is computed and its skeleton components are identified. +Then, for each skeleton component a graph is built (in 8-connectivity) and the +geodesic “diameter” (longest path) is computed via a double-BFS. Finally, for +the island the longest center line is selected and converted into a shapely +LineString. + +Usage: python extract_longest_components.py [--topovar TOPOVAR] +[--threshold THRESHOLD] [--xvar XVAR] [--yvar YVAR] + +If coordinate variables (xvar,yvar) are provided, the pixel indices will be +mapped to those coordinates; otherwise, pixel (row,col) indices (with x=col) +are used. +""" + +import json +from collections import deque +from math import sqrt + +import matplotlib.pyplot as plt +import numpy as np +import xarray as xr +from shapely import vectorized +from shapely.geometry import LineString, Point, shape +from skimage.measure import label +from skimage.morphology import medial_axis, remove_small_objects + +R = 6371220.0 + + +##################### +# I/O and Preprocessing +##################### +def read_topography(nc_file, topo_var='topo', x_var=None, y_var=None): + """ + Reads topography data from a NetCDF file. + + Arguments: nc_file: str, path to the NetCDF file. topo_var: str, variable + name for topography data. x_var, y_var: Optional coordinate variable names + + Returns: topo: 2D numpy array of topography data. X, Y: 2D coordinate + arrays (or None) if coordinate variables are provided. + """ + + # Great South Bay + # lonmin = -73.475 + # lonmax = -73.0 + # latmin = 40.60 + # latmax = 40.675 + + # NY/NJ Bight + lonmin = -74.2 + lonmax = -72.9 + latmin = 39.9 + latmax = 40.8 + + ds_bathy = xr.open_dataset(nc_file) + lon = ds_bathy.lon.values[:] + lat = ds_bathy.lat.values[:] + lon_idx, = np.where((lon >= lonmin) & (lon <= lonmax)) + lat_idx, = np.where((lat >= latmin) & (lat <= latmax)) + + latlon_idx = np.ix_(lat_idx, lon_idx) + topo = -ds_bathy.z.values[latlon_idx] + print(topo.shape) + + x = np.linspace(lonmin, lonmax, topo.shape[1]) + y = np.linspace(latmin, latmax, topo.shape[0]) + X, Y = np.meshgrid(x, y) + + return topo, X, Y + + +def threshold_island(topo, threshold, regions): + """ + Threshold the topography to create an island mask. (Adjust inequality as + needed; here islands are assumed to be above the threshold.) + """ + + island = topo < threshold + # Optional: remove small objects if noise exists. + island = remove_small_objects(island, min_size=200) + island = np.logical_and(island, regions) + + return island + + +def compute_region_masks(geojson_file, lon_grid, lat_grid): + """ + Computes a mask (boolean NumPy array) for each region (polygon) in the + GeoJSON file. The mask array has the same shape as the NetCDF grid. + A value of True indicates that the point is within the region. + + Returns: + A dictionary mapping region identifier to its computed mask. + The region identifier is taken from the 'id' property if available, + otherwise the index of the polygon. + """ + + # Load the GeoJSON file using geopandas + with open(geojson_file, 'r') as f: + geojson_data = json.load(f) + features = geojson_data['features'] + + region_masks = [] + region_mask = np.zeros_like(lon_grid) + for idx, feature in enumerate(features): + geom = shape(feature['geometry']) + + # Use shapely.vectorized.contains to compute a boolean mask. + # Note: shapely.vectorized.contains expects x (lon) and y (lat) arrays. + mask = vectorized.contains(geom, lon_grid, lat_grid) + region_mask = np.logical_or(region_mask, mask) + + region_masks.append(mask) + + return region_mask + + +##################### +# Skeleton and Graph Functions +##################### +def compute_medial_axis_skel(mask): + """ + Compute the medial axis (skeleton) of the binary mask. + Returns a binary image. + """ + skel = medial_axis(mask) + return skel + + +def get_neighbors(coord, shape): + """ + For a given pixel coordinate (r, c) yield all 8-connected neighbors + (that lie inside the image). + """ + r, c = coord + for dr in [-1, 0, 1]: + for dc in [-1, 0, 1]: + if dr == 0 and dc == 0: + continue + nr, nc = r + dr, c + dc + if 0 <= nr < shape[0] and 0 <= nc < shape[1]: + yield (nr, nc) + + +def build_skeleton_graph(skel_component): + """ + Build an undirected graph from a binary skeleton component. + Nodes are pixel coordinates where the mask is True and edges + are added between 8-connected pixels. + + Returns a dict mapping node -> list of neighbor nodes. + """ + graph = {} + coords = np.transpose(np.nonzero(skel_component)) + pixel_set = set(tuple(coord) for coord in coords) + shape = skel_component.shape + for pix in pixel_set: + neighbors = [] + for n in get_neighbors(pix, shape): + if n in pixel_set: + neighbors.append(n) + graph[pix] = neighbors + return graph + + +def bfs_furthest(graph, start): + """ + Run BFS from the start node in the unweighted graph and return: + - furthest node found (with the maximum distance) + - distances dictionary + - parent pointers. + """ + queue = deque([start]) + distances = {start: 0} + parent = {start: None} + while queue: + node = queue.popleft() + for nbr in graph[node]: + if nbr not in distances: + distances[nbr] = distances[node] + 1 + parent[nbr] = node + queue.append(nbr) + furthest = max(distances, key=distances.get) + return furthest, distances, parent + + +def retrieve_path(parent, start, goal): + """ + Retrieve the (BFS) path from start to goal given the parent dictionary. + """ + path = [] + node = goal + while node is not None: + path.append(node) + node = parent[node] + path.reverse() + return path + + +def compute_longest_geodesic_path(graph): + """ + Compute the “diameter” (longest shortest path) of the given skeleton graph. + We choose an arbitrary start (preferably an endpoint if available), perform + BFS to get the furthest node A. Then, starting from A, perform a second BFS + to get the furthest node B. The path from A to B is the longest. Returns + the ordered list of nodes (pixels) along this path. + """ + endpoints = [node for node, nbrs in graph.items() if len(nbrs) == 1] + if endpoints: + start = endpoints[0] + else: + # fallback if no endpoints exist (e.g., a closed loop) + start = next(iter(graph)) + furthest_A, _, parent_A = bfs_furthest(graph, start) + furthest_B, _, parent_B = bfs_furthest(graph, furthest_A) + path = retrieve_path(parent_B, furthest_A, furthest_B) + return path + + +def compute_geodesic_length(path): + """ + Given an ordered list of pixel coordinates, compute the geodesic length. + Here we use Euclidean distance between successive pixels. + """ + if len(path) < 2: + return 0.0 + length = 0.0 + for i in range(1, len(path)): + (r1, c1), (r2, c2) = path[i - 1], path[i] + length += sqrt((r2 - r1) ** 2 + (c2 - c1) ** 2) + return length + + +def centerline_to_linestring(path, X=None, Y=None): + """ + Convert an ordered list of pixels into a shapely LineString. If coordinate + arrays (X, Y) are provided (2D arrays with same shape as the topo), + map (row, col) to (X[row, col], Y[row, col]); + otherwise, use (col, row) (x=col). + """ + if X is not None and Y is not None: + points = [(X[row, col], Y[row, col]) for row, col in path] + else: + points = [(col, row) for row, col in path] + return LineString(points) + + +##################### +# Extraction for Each Label +##################### +def extract_longest_centerline_per_label(nc_file, geojson_file, + topo_var='topo', threshold=0.0, + x_var=None, y_var=None): + """ + Process the NetCDF file to: + - Read topography and threshold to create a binary island mask. + - Label each island (connected component) of the island mask. + - For each island label, compute its medial axis. + Then, if a skeleton splits into multiple + components, select the one with the longest geodesic (diameter) length. + - Return a dict mapping the island label (integer) to its + longest center line as a shapely LineString. + """ + topo, X, Y = read_topography(nc_file, topo_var, x_var, y_var) + regions = compute_region_masks(geojson_file, X, Y) + island_mask = threshold_island(topo, threshold, regions) + + # Label islands (using connectivity=2 for 8-connectivity) + island_labels = label(island_mask, connectivity=2) + + centerlines = [] + unique_labels = np.unique(island_labels) + for label_val in unique_labels: + if label_val == 0: + continue + # Isolate island component + island_comp = (island_labels == label_val) + # Compute skeleton for the island component + skel = compute_medial_axis_skel(island_comp) + # Label connected skeleton components (in case the skeleton fragments) + skel_labels = label(skel, connectivity=2) + longest_length = 0.0 + best_line = None + for skel_lab in np.unique(skel_labels): + if skel_lab == 0: + continue + comp_skel = (skel_labels == skel_lab) + graph = build_skeleton_graph(comp_skel) + if not graph: + continue + path = compute_longest_geodesic_path(graph) + path_length = compute_geodesic_length(path) + if path_length > longest_length: + longest_length = path_length + best_line = centerline_to_linestring(path, X, Y) + if best_line is not None: + n = len(list(best_line.xy[0])) + if n > 200: + centerlines.append(best_line) + return centerlines, island_mask, X, Y + + +def sample_line_offsets_variable(centerline, spacing, offset_distance): + """ + Sample points along a shapely LineString representing the centerline, + using variable spacing. + For each sample point, compute offset points to the left and right + of the centerline. + + The 'spacing' parameter can be either: + - a constant (number): in which case equal spacing is used, or + - a callable function: spacing(d) returns the distance to add + from the current cumulative + distance along the centerline. + The 'offset_distance' is the fixed perpendicular distance at which + points will be placed on either side (left and right) of the centerline. + The left side is defined by a 90°_counterclockwise rotation of the + tangent vector. + + Parameters: + centerline : shapely LineString object. + spacing : float or callable; if callable, + spacing(current_distance) -> next step size. + offset_distance: float, distance to offset the sample points + perpendicularly. + + Returns: + (left_points, right_points) where each is a list of shapely Points. + """ + left_points = [] + right_points = [] + + total_length = centerline.length + + # Use a small value to compute the numerical derivative for the tangent. + # epsilon = total_length * 1e-6 if total_length * 1e-6 > 1e-8 else 1e-6 + epsilon = spacing + + sample_dists = [] + d = 0.0 + while d < total_length: + sample_dists.append(d) + # Determine next spacing step + if callable(spacing): + step = spacing(d) + else: + step = spacing + d += step + # Ensure the last point (end of centerline) is included + if sample_dists[-1] < total_length: + sample_dists.append(total_length) + + for d in sample_dists: + pt = centerline.interpolate(d) + x, y = pt.x, pt.y + + # Estimate the tangent vector using a small forward + # (or backward) offset. + if d + epsilon <= total_length: + pt_next = centerline.interpolate(d + epsilon) + dx = pt_next.x - x + dy = pt_next.y - y + else: + pt_prev = centerline.interpolate(max(d - epsilon, 0)) + dx = x - pt_prev.x + dy = y - pt_prev.y + + norm = np.hypot(dx, dy) + if norm == 0: + continue + tangent = (dx / norm, dy / norm) + # Left normal is 90° counterclockwise rotation of tangent. + normal = (-tangent[1], tangent[0]) + left_pt = Point(x + offset_distance * normal[0], + y + offset_distance * normal[1]) + right_pt = Point(x - offset_distance * normal[0], + y - offset_distance * normal[1]) + left_points.append(left_pt) + right_points.append(right_pt) + + return left_points, right_points + + +def generate_offset_points_variable(centerlines, spacing, offset_distance): + """ + Given an iterable of centerlines (shapely LineString objects), + compute per-centerline offset points using variable spacing. + + Parameters: + centerlines : iterable of shapely LineString objects. + spacing : float or callable (as described in + sample_line_offsets_variable). + offset_distance: float, the perpendicular offset distance. + + Returns: + A dictionary mapping each centerline index to a tuple + (left_points, right_points), where left_points and right_points + are lists of shapely Points. + """ + all_points = [] + result = [] + for idx, cl in enumerate(centerlines): + left_pts, right_pts = sample_line_offsets_variable(cl, spacing, + offset_distance) + result.append((left_pts, right_pts)) + for pt in left_pts: + all_points.append([pt.x, pt.y]) + for pt in right_pts: + all_points.append([pt.x, pt.y]) + all_points = np.array(all_points) + return all_points + + +def lonlat2xyz(lon, lat, R): + + x = R * np.cos(np.radians(lon)) * np.cos(np.radians(lat)) + y = R * np.sin(np.radians(lon)) * np.cos(np.radians(lat)) + z = R * np.sin(np.radians(lat)) + + return x, y, z + + +def xyz2lonlat(x, y, z, R): + + lon = np.degrees(np.arcsin(z / R)) + lat = np.degress(np.arctan2(y / x)) + + return lon, lat + + +def plot_linestrings(linestrings, image, X, Y, points): + plt.figure(figsize=(10, 10)) + c = plt.contourf(X, Y, image, alpha=0.5) + plt.colorbar(c) + # plt.imshow(medial_axis, alpha=0.5) + for line in linestrings: + x, y = line.xy + plt.plot(x, y, linewidth=2) + plt.scatter(points[:, 0], points[:, 1], marker='.', color='k') + plt.title('Medial Axis of Barrier Islands') + plt.xlabel('X Coordinate') + plt.ylabel('Y Coordinate') + plt.axis('equal') + plt.savefig('medial_axis.png') + + +##################### +# Command-line Interface +##################### +def main(): + nc_file = '/pscratch/sd/s/sbrus/compass_subgrid_hurricane_tides_isc/' \ + 'ocean/hurricane/DEVR45to5rr1/init_subgrid/initial_state/' \ + 'crm_vol1_2023_nc3.nc' + geojson_file = 'map.geojson' + + variable_name = 'z' + threshold = 0 # Adjust threshold based on your data + xvar = 'lon' + yvar = 'lat' + + centerlines, mask, X, Y = extract_longest_centerline_per_label( + nc_file, geojson_file, topo_var=variable_name, + threshold=threshold, x_var=xvar, y_var=yvar + ) + + spacing = .01 + offset_distance = 0.5 * spacing + points = generate_offset_points_variable(centerlines, + spacing, offset_distance) + plot_linestrings(centerlines, mask, X, Y, points) + + +if __name__ == "__main__": + main() From d071310d87c37cb3e839204aef1dc977748f4f2e Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Thu, 3 Apr 2025 10:47:40 -0700 Subject: [PATCH 21/68] Update remap_topography config --- .../mesh/devr45to5rr1/devr45to5rr1.cfg | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 8b860b3481..216d77edbd 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -52,27 +52,23 @@ forward_threads = 1 [remap_topography] # the name of the topography file in the bathymetry database -topo_filename = BedMachineAntarctica_v3_and_GEBCO_2023_0.0125_degree_20240828.nc - -# variable names in topo_filename -lon_var = lon -lat_var = lat -bathymetry_var = bathymetry -ice_thickness_var = thickness -ice_frac_var = ice_mask -grounded_ice_frac_var = grounded_mask -ocean_frac_var = ocean_mask -bathy_frac_var = bathymetry_mask +topo_filename = BedMachineAntarctica-v3_GEBCO_2023_ne3000_20250110.nc +src_scrip_filename = ne3000_20250110.scrip.nc + +# weight generator function: +# `tempest` for cubed-sphere bathy or `esmf` for latlon bathy +weight_generator = tempest # the description to include in metadata description = Bathymetry is from GEBCO 2023, combined with BedMachine Antarctica v3 around Antarctica. # the target and minimum number of MPI tasks to use in remapping -ntasks = 4096 -min_tasks = 360 +ntasks = 1280 +min_tasks = 256 # remapping method {'bilinear', 'neareststod', 'conserve'} +# must use 'conserve' for tempestremap method = conserve # threshold of what fraction of an MPAS cell must contain ocean in order to @@ -81,3 +77,10 @@ renorm_threshold = 0.01 # the density of land ice from MALI (kg/m^3) ice_density = 910.0 + +# smoothing parameters +# no smoothing (required for esmf): +# expandDist = 0 [m] +# expandFactor = 1 [cell fraction] +expandDist = 0 +expandFactor = 1 From 7d0553b26b754dce9e2c2ca1ddf04d6452bc2326 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 9 May 2025 13:45:07 -0700 Subject: [PATCH 22/68] Update hurricane analysis step - Add modeled vs. observed high water scatter plot - Add spatial high water error plot - Add mean sea level adjustment for observations - Allow additional runs to be added in config file --- .../tests/hurricane/analysis/__init__.py | 137 ++++++++++++++++-- .../tests/hurricane/analysis/analysis.cfg | 11 ++ compass/ocean/tests/hurricane/configure.py | 2 + 3 files changed, 136 insertions(+), 14 deletions(-) create mode 100644 compass/ocean/tests/hurricane/analysis/analysis.cfg diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index d1f14d070f..63c6dc12c3 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -30,10 +30,6 @@ class Analysis(Step): max_data : str End of time period to plot in frmt format - pointstats_file : dict - Dictionary of pointwiseStats outputs to plot. Dictionary key - becomes the lable in the legend. - observation : dict Dictionary of stations belonging to a certain data product """ @@ -65,9 +61,10 @@ def setup(self): package = self.__module__ if self.storm == 'sandy': - self.min_date = '2012 10 24 00 00' - self.max_date = '2012 11 04 00 00' - self.pointstats_file = {'MPAS-O': './pointwiseStats.nc'} + self.run_min_date = '2012 10 10 00 00' + self.run_max_date = '2012 11 04 00 00' + self.adjust_min_date = '2012 10 01 00 00' + self.adjust_max_date = '2012 10 10 00 00' filename = 'sandy_stations.json' with resources.open_text(package, filename)as stations_file: @@ -90,7 +87,7 @@ def read_pointstats(self, pointstats_file): """ Read the pointwiseStats data from the MPAS-Ocean run """ - pointstats_nc = netCDF4.Dataset('pointwiseStats.nc', 'r') + pointstats_nc = netCDF4.Dataset(pointstats_file, 'r') data = {} data['date'] = pointstats_nc.variables['xtime'][:] data['datetime'] = [] @@ -179,21 +176,68 @@ def read_station_file(self, station_file): return stations + def adjust_station_data(self, obs_data): + """ + Adjust mean sea level in observation data + """ + adjust_max_date = datetime.datetime.strptime(self.adjust_max_date, + self.frmt) + + # Get mean sea level within adjust period + val = 0.0 + cnt = 0.0 + for i in range(obs_data['datetime'].size): + if obs_data['datetime'][i] < adjust_max_date: + val = val + obs_data['ssh'][i] + cnt = cnt + 1.0 + if cnt > 0.0: + mean = val / cnt + else: + mean = 0.0 + + # Correct observations for mean sea level + obs_data['ssh'] = obs_data['ssh'] - mean + def run(self): """ Run this step of the test case """ plt.switch_backend('agg') + # Get paths to run data to plot + pointstats_file = {} + comparison_runs = self.config.get('hurricane_analysis', + 'analysis_runs') + comparison_runs_sp = comparison_runs.split(',') + if comparison_runs_sp[0] != '': + for run in comparison_runs_sp: + run_sp = run.split(':') + run_name = run_sp[0] + run_path = run_sp[1] + run_file = f'{run_path}/pointwiseStats.nc' + + if os.path.isfile(run_file): + pointstats_file[run_name] = run_file + else: + print("No run paths specified for analysis") + # Read in model point output data and create kd-tree data = {} tree = {} - - for run in self.pointstats_file: - data[run] = self.read_pointstats(self.pointstats_file[run]) + for run in pointstats_file: + data[run] = self.read_pointstats(pointstats_file[run]) points = np.vstack((data[run]['lon'], data[run]['lat'])).T tree[run] = spatial.KDTree(points) + # Initialize for plotting high water marks after time series plots + hwm_obs = [] + hwm_mod = {} + station_lon = [] + station_lat = [] + for i, run in enumerate(data): + hwm_mod[run] = [] + + # Plot time series for obs in self.observations: os.makedirs(f'{self.work_dir}/{obs}_plots', exist_ok=True) @@ -206,9 +250,15 @@ def run(self): # Read in observed data and get coordinates obs_data = self.read_station_data(f'{obs}_data/{sta}.txt', obs, - self.min_date, self.max_date) + self.adjust_min_date, + self.run_max_date) + + self.adjust_station_data(obs_data) + sta_lon = stations['lon'][i] sta_lat = stations['lat'][i] + station_lon.append(sta_lon) + station_lat.append(sta_lat) # Create figure fig = plt.figure(figsize=[6, 4]) @@ -239,6 +289,7 @@ def run(self): l1, = ax3.plot(obs_data['datetime'], obs_data['ssh'], 'C0-') labels = ['Observed'] lines = [l1] + hwm_obs.append(np.max(obs_data['ssh'])) for i, run in enumerate(data): @@ -259,12 +310,17 @@ def run(self): 'C' + str(i + 1) + '-') labels.append(run) lines.append(l2) + hwm_mod[run].append(np.max(data[run]['ssh'][:, idx])) # Set figure labels and axis properties and save ax3.set_xlabel('time') ax3.set_ylabel('ssh (m)') - min_date = datetime.datetime.strptime(self.min_date, self.frmt) - max_date = datetime.datetime.strptime(self.max_date, self.frmt) + plot_min_date = self.config.get('hurricane_analysis', + 'plot_min_date') + plot_max_date = self.config.get('hurricane_analysis', + 'plot_max_date') + min_date = datetime.datetime.strptime(plot_min_date, self.frmt) + max_date = datetime.datetime.strptime(plot_max_date, self.frmt) ax3.set_xlim([min_date, max_date]) ax3.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) lgd = plt.legend(lines, labels, loc=9, @@ -275,3 +331,56 @@ def run(self): fig.savefig(f'{obs}_plots/{sta}.png', bbox_inches='tight', bbox_extra_artists=(lgd, st,)) plt.close() + + # Convert to numpy arrays + hwm_obs = np.asarray(hwm_obs) + for i, run in enumerate(data): + hwm_mod[run] = np.asarray(hwm_mod[run]) + + # Plot modeled vs. observed hwm scatter + fig = plt.figure() + ax = fig.add_subplot(111) + labels = [] + scatters = [] + for i, run in enumerate(data): + sc = ax.scatter(hwm_obs, hwm_mod[run], alpha=0.5) + scatters.append(sc) + labels.append(run) + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + scatters.append(ln) + labels.append('perfect agreement') + lgd = plt.legend(scatters, labels, loc=9, + bbox_to_anchor=(0.5, -0.1), + ncol=3, fancybox=False, edgecolor='k') + ax.set_xlabel('observed') + ax.set_ylabel('modeled') + fig.tight_layout() + fig.savefig('hwm_mod_obs.png', bbox_inches='tight', + bbox_extra_artists=(lgd,)) + plt.close() + + # Plot geographic hwm error + station_lon = np.asarray(station_lon) + station_lat = np.asarray(station_lat) + for run in data: + fig = plt.figure() + ax = fig.add_subplot(111, projection=ccrs.PlateCarree()) + + diff = hwm_mod[run] - hwm_obs + cm = ax.scatter(station_lon, station_lat, c=diff, cmap='PuOr', + zorder=102, vmax=3.0, vmin=-3.0, edgecolor='k') + + ax.set_extent([np.min(station_lon) - 0.1, + np.max(station_lon) + 0.1, + np.min(station_lat) - 0.1, + np.max(station_lat) + 0.1], + crs=ccrs.PlateCarree()) + ax.add_feature(cfeature.LAND, zorder=100, color='gray') + ax.add_feature(cfeature.OCEAN, zorder=100) + ax.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) + ax.coastlines('50m', zorder=101) + cb = fig.colorbar(cm, extend='both') + cb.set_label('max high water error (m)') + fig.tight_layout() + fig.savefig(f'hwm_spatial_{run}.png', bbox_inches='tight') + plt.close() diff --git a/compass/ocean/tests/hurricane/analysis/analysis.cfg b/compass/ocean/tests/hurricane/analysis/analysis.cfg new file mode 100644 index 0000000000..4d4c03fb01 --- /dev/null +++ b/compass/ocean/tests/hurricane/analysis/analysis.cfg @@ -0,0 +1,11 @@ +[hurricane_analysis] + +# start and end dates for setting time period in timeseries plots +plot_min_date = 2012 10 24 00 00 +plot_max_date = 2012 11 04 00 00 + +# runs to include in analysis +# others can be added as comma separated list in the format - run_name:path/to/file,other_run:path/to/other/file +# the name before the : is the lable to be use in legend labels +# the path after the : is the path to the pointwiseStats.nc file (not including file name) +analysis_runs = MPAS-O:./ diff --git a/compass/ocean/tests/hurricane/configure.py b/compass/ocean/tests/hurricane/configure.py index 680b377b9f..40c4a79bfd 100644 --- a/compass/ocean/tests/hurricane/configure.py +++ b/compass/ocean/tests/hurricane/configure.py @@ -19,6 +19,8 @@ def configure_hurricane(test_case, mesh): config.add_from_package('compass.mesh', 'mesh.cfg') config.add_from_package('compass.ocean.tests.hurricane', 'hurricane.cfg') + config.add_from_package('compass.ocean.tests.hurricane.analysis', + 'analysis.cfg') config.add_from_package(mesh.package, mesh.mesh_config_filename, exception=True) From 991f961118b0d67da5474f7fdf5dc22a3185e0d5 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 8 Jul 2025 13:13:25 -0700 Subject: [PATCH 23/68] Update initial state for NCEI dem data --- .../tests/hurricane/init/bathy_data.json | 58 +++++++++++++ .../tests/hurricane/init/initial_state.py | 87 +++++++++++-------- .../hurricane/init/namelist.init_subgrid | 8 +- .../mesh/devr45to5rr1/devr45to5rr1.cfg | 2 +- 4 files changed, 113 insertions(+), 42 deletions(-) create mode 100644 compass/ocean/tests/hurricane/init/bathy_data.json diff --git a/compass/ocean/tests/hurricane/init/bathy_data.json b/compass/ocean/tests/hurricane/init/bathy_data.json new file mode 100644 index 0000000000..3597edd209 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/bathy_data.json @@ -0,0 +1,58 @@ +{"NCEI":[ + "ncei19_n39x00_w075x00_2018v2_WGS84.nc", + "ncei19_n39x00_w075x25_2014v1_WGS84.nc", + "ncei19_n39x00_w075x50_2014v1_WGS84.nc", + "ncei19_n39x25_w074x75_2018v2_WGS84.nc", + "ncei19_n39x25_w075x00_2018v2_WGS84.nc", + "ncei19_n39x25_w075x25_2018v2_WGS84.nc", + "ncei19_n39x25_w075x50_2014v1_WGS84.nc", + "ncei19_n39x50_w074x50_2018v2_WGS84.nc", + "ncei19_n39x50_w074x75_2018v2_WGS84.nc", + "ncei19_n39x50_w075x25_2018v2_WGS84.nc", + "ncei19_n39x50_w075x50_2018v2_WGS84.nc", + "ncei19_n39x50_w075x75_2014v1_WGS84.nc", + "ncei19_n39x75_w074x25_2018v2_WGS84.nc", + "ncei19_n39x75_w074x50_2018v2_WGS84.nc", + "ncei19_n39x75_w075x50_2014v1_WGS84.nc", + "ncei19_n39x75_w075x75_2014v1_WGS84.nc", + "ncei19_n40x00_w074x25_2018v2_WGS84.nc", + "ncei19_n40x00_w075x25_2014v1_WGS84.nc", + "ncei19_n40x00_w075x50_2014v1_WGS84.nc", + "ncei19_n40x25_w074x00_2018v2_WGS84.nc", + "ncei19_n40x25_w074x25_2018v2_WGS84.nc", + "ncei19_n40x25_w074x75_2014v1_WGS84.nc", + "ncei19_n40x25_w075x00_2014v1_WGS84.nc", + "ncei19_n40x25_w075x25_2014v1_WGS84.nc", + "ncei19_n40x50_w074x00_2018v2_WGS84.nc", + "ncei19_n40x50_w074x25_2018v2_WGS84.nc", + "ncei19_n40x75_w073x00_2015v1_WGS84.nc", + "ncei19_n40x75_w073x25_2015v1_WGS84.nc", + "ncei19_n40x75_w073x50_2015v1_WGS84.nc", + "ncei19_n40x75_w073x75_2015v1_WGS84.nc", + "ncei19_n40x75_w074x00_2015v1_WGS84.nc", + "ncei19_n40x75_w074x25_2015v1_WGS84.nc", + "ncei19_n41x00_w072x25_2015v1_WGS84.nc", + "ncei19_n41x00_w072x50_2015v1_WGS84.nc", + "ncei19_n41x00_w072x75_2015v1_WGS84.nc", + "ncei19_n41x00_w073x00_2015v1_WGS84.nc", + "ncei19_n41x00_w073x25_2015v1_WGS84.nc", + "ncei19_n41x00_w073x50_2015v1_WGS84.nc", + "ncei19_n41x00_w073x75_2015v1_WGS84.nc", + "ncei19_n41x00_w074x00_2015v1_WGS84.nc", + "ncei19_n41x00_w074x25_2015v1_WGS84.nc", + "ncei19_n41x25_w072x00_2015v1_WGS84.nc", + "ncei19_n41x25_w072x25_2015v1_WGS84.nc", + "ncei19_n41x25_w072x50_2015v1_WGS84.nc", + "ncei19_n41x25_w072x75_2015v1_WGS84.nc", + "ncei19_n41x25_w073x00_2016v1_WGS84.nc", + "ncei19_n41x25_w073x25_2016v1_WGS84.nc", + "ncei19_n41x25_w073x50_2015v1_WGS84.nc", + "ncei19_n41x25_w073x75_2015v1_WGS84.nc", + "ncei19_n41x25_w074x00_2015v1_WGS84.nc", + "ncei19_n41x50_w072x00_2016v1_WGS84.nc", + "ncei19_n41x50_w072x25_2016v1_WGS84.nc", + "ncei19_n41x50_w072x50_2016v1_WGS84.nc", + "ncei19_n41x50_w072x75_2016v1_WGS84.nc", + "ncei19_n41x50_w073x00_2016v1_WGS84.nc", + "ncei19_n41x50_w074x00_2015v1_WGS84.nc", + "ncei19_n41x50_w074x25_2015v1_WGS84.nc"]} diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index 4a9abdf18a..a221ae9ec3 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -1,3 +1,7 @@ +import json +import os +from importlib import resources + import netCDF4 as nc import numpy as np @@ -52,38 +56,6 @@ def __init__(self, test_case, mesh, use_lts, wetdry): mode='init') self.add_streams_file(package, 'streams.ocean_subgrid0', mode='init') - options = dict( - config_Buttermilk_bay_topography_file="'crm_vol1_2023_nc3.nc'") - self.add_namelist_options(options=options, mode='init', - out_name='namelist.ocean') - - self.add_streams_file(package, 'streams.ocean_subgrid1', - mode='init', - out_name='streams.ocean_subgrid1') - self.add_namelist_file(package, 'namelist.init', mode='init', - out_name='namelist.ocean_subgrid1') - self.add_namelist_file(package, 'namelist.init.wd', mode='init', - out_name='namelist.ocean_subgrid1') - self.add_namelist_file(package, 'namelist.init_subgrid', - mode='init', - out_name='namelist.ocean_subgrid1') - self.add_namelist_options(options=options, mode='init', - out_name='namelist.ocean_subgrid1') - - self.add_streams_file(package, 'streams.ocean_subgrid2', - mode='init', - out_name='streams.ocean_subgrid2') - self.add_namelist_file(package, 'namelist.init', mode='init', - out_name='namelist.ocean_subgrid2') - self.add_namelist_file(package, 'namelist.init.wd', mode='init', - out_name='namelist.ocean_subgrid2') - self.add_namelist_file(package, 'namelist.init_subgrid', - mode='init', - out_name='namelist.ocean_subgrid2') - options = dict( - config_Buttermilk_bay_topography_file="'crm_vol2_2023_nc3.nc'") - self.add_namelist_options(options=options, mode='init', - out_name='namelist.ocean_subgrid2') else: self.add_streams_file(package, 'streams.init', mode='init') @@ -119,7 +91,6 @@ def __init__(self, test_case, mesh, use_lts, wetdry): self.add_input_file(filename='crm_vol2_2023_nc3.nc', target='crm_vol2_2023_nc3.nc', database='bathymetry_database') - self.add_model_as_input() if self.wetdry == 'subgrid': @@ -133,6 +104,49 @@ def setup(self): Set up the test case in the work directory, including downloading any dependencies """ + + package = 'compass.ocean.tests.hurricane.init' + if self.wetdry == 'subgrid': + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init') + self.add_streams_file(package, 'streams.ocean_subgrid0', + mode='init') + + filename = 'bathy_data.json' + with resources.open_text(package, filename) as bathy_file: + self.bathy_files = json.load(bathy_file) + + os.makedirs(f'{self.work_dir}/NCEI_data', exist_ok=True) + for i, dem in enumerate(self.bathy_files["NCEI"]): + self.add_input_file( + filename=f'NCEI_data/{dem}', + target=f'ncei/{dem}', + database='bathymetry_database') + + options = dict( + config_Buttermilk_bay_topography_file=f"'NCEI_data/{dem}'") + self.add_namelist_file(package, 'namelist.init', mode='init', + out_name=f'namelist.ocean_subgrid{i}') + self.add_namelist_file(package, 'namelist.init.wd', + mode='init', + out_name=f'namelist.ocean_subgrid{i}') + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init', + out_name=f'namelist.ocean_subgrid{i}') + self.add_namelist_options( + options=options, mode='init', + out_name=f'namelist.ocean_subgrid{i}') + + stream_replacements = { + 'output_file': f'ocean_subgrid{i + 1}.nc', + 'input_file': f'ocean_subgrid{i}.nc'} + if i == 0: + stream_replacements['input_file'] = 'ocean_init.nc' + self.add_streams_file( + package, 'streams.template', + template_replacements=stream_replacements, + out_name=f'streams.ocean_subgrid{i}') + self._get_resources() def constrain_resources(self, available_resources): @@ -149,10 +163,9 @@ def run(self): run_model(self) if self.wetdry == 'subgrid': - run_model(self, namelist='namelist.ocean_subgrid1', - streams='streams.ocean_subgrid1') - run_model(self, namelist='namelist.ocean_subgrid2', - streams='streams.ocean_subgrid2') + for i, dem in enumerate(self.bathy_files["NCEI"]): + run_model(self, namelist=f'namelist.ocean_subgrid{i}', + streams=f'streams.ocean_subgrid{i}') mesh = nc.Dataset("mesh.nc", "r") if self.wetdry == 'subgrid': diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index cb9e3514b4..cce22836ce 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -5,17 +5,17 @@ config_use_ssh_gradient_wetting_drying = .true. config_zero_drying_velocity_ramp = .true. config_zero_drying_velocity_ramp_hmin = 0.01 config_zero_drying_velocity_ramp_hmax = 0.02 -config_Buttermilk_bay_subgrid_refinement_level = 10 +config_Buttermilk_bay_subgrid_refinement_level = 30 config_Buttermilk_bay_topography_source = 'latlon_file' config_Buttermilk_bay_topography_latlon_degrees = .true. config_Buttermilk_bay_topography_nlat_dimname = 'lat' config_Buttermilk_bay_topography_nlon_dimname = 'lon' config_Buttermilk_bay_topography_lat_varname = 'lat' config_Buttermilk_bay_topography_lon_varname = 'lon' -config_Buttermilk_bay_topography_varname = 'z' +config_Buttermilk_bay_topography_varname = 'Band1' config_Buttermilk_bay_topography_fill_value = 99999 config_Buttermilk_bay_topography_positive = 'up' config_Buttermilk_bay_topography_extrapolation_constant_value = -1.0e10 config_Buttermilk_bay_topography_extrapolation_method = 'constant' -config_Buttermilk_bay_subgrid_table_levels = 20 -config_Buttermilk_bay_subgrid_refinement_level = 12 +config_Buttermilk_bay_subgrid_table_levels = 30 +config_Buttermilk_bay_topography_file = 'NCEI_data/ncei19_n39x00_w075x00_2018v2_WGS84.nc' diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 216d77edbd..98ef7b07d2 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -30,7 +30,7 @@ email = autodetect ## config options related to the initial_state step # number of MPI tasks to use -init_ntasks = 1 +init_ntasks = 128 # minimum of MPI tasks, below which the step fails init_min_tasks = 1 # maximum memory usage allowed (in MB) From 0777e2336c38aa9f05c12905ed75c713bd978344 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 18 Jul 2025 15:39:27 -0700 Subject: [PATCH 24/68] Create load-balanced graph files for subgrid init --- .../tests/hurricane/init/initial_state.py | 75 ++++++++++++++++++- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index a221ae9ec3..eb548d0c35 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -66,10 +66,11 @@ def __init__(self, test_case, mesh, use_lts, wetdry): self.add_input_file( filename='mesh.nc', work_dir_target=f'{mesh_path}/culled_mesh.nc') - - self.add_input_file( - filename='graph.info', - work_dir_target=f'{mesh_path}/culled_graph.info') + if self.wetdry != 'subgrid': + # subgrid uses a specialized weighted graph file + self.add_input_file( + filename='graph.info', + work_dir_target=f'{mesh_path}/culled_graph.info') else: @@ -84,6 +85,10 @@ def __init__(self, test_case, mesh, use_lts, wetdry): work_dir_target=f'{mesh_path}/lts_graph.info') if self.wetdry == 'subgrid': + self.add_input_file( + filename='graph.info.noweights', + work_dir_target=f'{mesh_path}/culled_graph.info') + self.add_input_file(filename='crm_vol1_2023_nc3.nc', target='crm_vol1_2023_nc3.nc', database='bathymetry_database') @@ -160,10 +165,24 @@ def run(self): """ Run this step of the testcase """ + + self.load_balance_graphfile(min_lon=-190, max_lon=190, + min_lat=-100, max_lat=100, + inside_weight=1) run_model(self) if self.wetdry == 'subgrid': for i, dem in enumerate(self.bathy_files["NCEI"]): + + ds = nc.Dataset(f"NCEI_data/{dem}") + lon = ds.variables["lon"][:] + lat = ds.variables["lat"][:] + min_lon = np.min(lon) + max_lon = np.max(lon) + min_lat = np.min(lat) + max_lat = np.max(lat) + + self.load_balance_graphfile(min_lon, max_lon, min_lat, max_lat) run_model(self, namelist=f'namelist.ocean_subgrid{i}', streams=f'streams.ocean_subgrid{i}') @@ -266,3 +285,51 @@ def _get_resources(self): self.ntasks = config.getint('hurricane', 'init_ntasks') self.min_tasks = config.getint('hurricane', 'init_min_tasks') self.openmp_threads = config.getint('hurricane', 'init_threads') + + def load_balance_graphfile(self, min_lon, max_lon, + min_lat, max_lat, inside_weight=1000): + weights = [] + + outside_weight = 1 + + mesh_filename = 'mesh.nc' + graph_filename = "graph.info.noweights" + output_filename = "graph.info" + + # Read the cell centers from the CSV file. + grid_nc = nc.Dataset(mesh_filename, 'r') + lon_grid = grid_nc.variables['lonCell'][:] * 180.0 / np.pi + lat_grid = grid_nc.variables['latCell'][:] * 180.0 / np.pi + lon_grid = np.mod(lon_grid + 180.0, 360.0) - 180.0 + nCells = lon_grid.size + + inside_count = 0 + for iCell in range(nCells): + lon = lon_grid[iCell] + lat = lat_grid[iCell] + if self.is_inside(lon, lat, min_lon, max_lon, min_lat, max_lat): + weights.append(inside_weight) + inside_count = inside_count + 1 + else: + weights.append(outside_weight) + print(f'cells inside: {inside_count}/{nCells}') + + f = open(graph_filename, 'r') + lines = f.read().splitlines() + weight_lines = [] + for i, line in enumerate(lines): + if i != 0: + weight_lines.append(f'{weights[i - 1]} {line}') + else: + weight_lines.append(f'{line} 010') + + # Write the weights to the output file, one weight per line. + with open(output_filename, "w") as outfile: + for line in weight_lines: + outfile.write(f"{line}\n") + + def is_inside(self, lon, lat, min_lon, max_lon, min_lat, max_lat): + """ + Determine if a given coordinate (lon, lat) is within the bounding box. + """ + return (min_lon <= lon <= max_lon) and (min_lat <= lat <= max_lat) From 25b60d4803a00324bc4bbebf4737921e39e054e4 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 09:25:30 -0700 Subject: [PATCH 25/68] Insert ice shelf cavity information into last subgrid init file --- compass/ocean/tests/hurricane/init/initial_state.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index eb548d0c35..ab68efe6b6 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -188,7 +188,7 @@ def run(self): mesh = nc.Dataset("mesh.nc", "r") if self.wetdry == 'subgrid': - init = nc.Dataset("ocean_subgrid2.nc", "r+") + init = nc.Dataset(f"ocean_subgrid{i + 1}.nc", "r+") else: init = nc.Dataset("ocean.nc", "r+") From d2d94eea8f37bd4669caa7c2306def0e89ccb4ec Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 09:52:33 -0700 Subject: [PATCH 26/68] Increase number of tasks for init --- .../ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 98ef7b07d2..b0f82e2625 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -30,7 +30,7 @@ email = autodetect ## config options related to the initial_state step # number of MPI tasks to use -init_ntasks = 128 +init_ntasks = 256 # minimum of MPI tasks, below which the step fails init_min_tasks = 1 # maximum memory usage allowed (in MB) From b0395c8e4f996145b9f29caf6554d6e9ef7d0989 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 09:53:33 -0700 Subject: [PATCH 27/68] Increase subgrid refinement level --- compass/ocean/tests/hurricane/init/namelist.init_subgrid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index cce22836ce..572bcc082c 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -5,7 +5,7 @@ config_use_ssh_gradient_wetting_drying = .true. config_zero_drying_velocity_ramp = .true. config_zero_drying_velocity_ramp_hmin = 0.01 config_zero_drying_velocity_ramp_hmax = 0.02 -config_Buttermilk_bay_subgrid_refinement_level = 30 +config_Buttermilk_bay_subgrid_refinement_level = 660 config_Buttermilk_bay_topography_source = 'latlon_file' config_Buttermilk_bay_topography_latlon_degrees = .true. config_Buttermilk_bay_topography_nlat_dimname = 'lat' From b3ba3493fe50ea17b479315f10aca1a41d4d619d Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 12:07:32 -0700 Subject: [PATCH 28/68] Update DEM file names --- .../tests/hurricane/init/bathy_data.json | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/bathy_data.json b/compass/ocean/tests/hurricane/init/bathy_data.json index 3597edd209..ca0de8af06 100644 --- a/compass/ocean/tests/hurricane/init/bathy_data.json +++ b/compass/ocean/tests/hurricane/init/bathy_data.json @@ -1,58 +1,58 @@ {"NCEI":[ - "ncei19_n39x00_w075x00_2018v2_WGS84.nc", - "ncei19_n39x00_w075x25_2014v1_WGS84.nc", - "ncei19_n39x00_w075x50_2014v1_WGS84.nc", - "ncei19_n39x25_w074x75_2018v2_WGS84.nc", - "ncei19_n39x25_w075x00_2018v2_WGS84.nc", - "ncei19_n39x25_w075x25_2018v2_WGS84.nc", - "ncei19_n39x25_w075x50_2014v1_WGS84.nc", - "ncei19_n39x50_w074x50_2018v2_WGS84.nc", - "ncei19_n39x50_w074x75_2018v2_WGS84.nc", - "ncei19_n39x50_w075x25_2018v2_WGS84.nc", - "ncei19_n39x50_w075x50_2018v2_WGS84.nc", - "ncei19_n39x50_w075x75_2014v1_WGS84.nc", - "ncei19_n39x75_w074x25_2018v2_WGS84.nc", - "ncei19_n39x75_w074x50_2018v2_WGS84.nc", - "ncei19_n39x75_w075x50_2014v1_WGS84.nc", - "ncei19_n39x75_w075x75_2014v1_WGS84.nc", - "ncei19_n40x00_w074x25_2018v2_WGS84.nc", - "ncei19_n40x00_w075x25_2014v1_WGS84.nc", - "ncei19_n40x00_w075x50_2014v1_WGS84.nc", - "ncei19_n40x25_w074x00_2018v2_WGS84.nc", - "ncei19_n40x25_w074x25_2018v2_WGS84.nc", - "ncei19_n40x25_w074x75_2014v1_WGS84.nc", - "ncei19_n40x25_w075x00_2014v1_WGS84.nc", - "ncei19_n40x25_w075x25_2014v1_WGS84.nc", - "ncei19_n40x50_w074x00_2018v2_WGS84.nc", - "ncei19_n40x50_w074x25_2018v2_WGS84.nc", - "ncei19_n40x75_w073x00_2015v1_WGS84.nc", - "ncei19_n40x75_w073x25_2015v1_WGS84.nc", - "ncei19_n40x75_w073x50_2015v1_WGS84.nc", - "ncei19_n40x75_w073x75_2015v1_WGS84.nc", - "ncei19_n40x75_w074x00_2015v1_WGS84.nc", - "ncei19_n40x75_w074x25_2015v1_WGS84.nc", - "ncei19_n41x00_w072x25_2015v1_WGS84.nc", - "ncei19_n41x00_w072x50_2015v1_WGS84.nc", - "ncei19_n41x00_w072x75_2015v1_WGS84.nc", - "ncei19_n41x00_w073x00_2015v1_WGS84.nc", - "ncei19_n41x00_w073x25_2015v1_WGS84.nc", - "ncei19_n41x00_w073x50_2015v1_WGS84.nc", - "ncei19_n41x00_w073x75_2015v1_WGS84.nc", - "ncei19_n41x00_w074x00_2015v1_WGS84.nc", - "ncei19_n41x00_w074x25_2015v1_WGS84.nc", - "ncei19_n41x25_w072x00_2015v1_WGS84.nc", - "ncei19_n41x25_w072x25_2015v1_WGS84.nc", - "ncei19_n41x25_w072x50_2015v1_WGS84.nc", - "ncei19_n41x25_w072x75_2015v1_WGS84.nc", - "ncei19_n41x25_w073x00_2016v1_WGS84.nc", - "ncei19_n41x25_w073x25_2016v1_WGS84.nc", - "ncei19_n41x25_w073x50_2015v1_WGS84.nc", - "ncei19_n41x25_w073x75_2015v1_WGS84.nc", - "ncei19_n41x25_w074x00_2015v1_WGS84.nc", - "ncei19_n41x50_w072x00_2016v1_WGS84.nc", - "ncei19_n41x50_w072x25_2016v1_WGS84.nc", - "ncei19_n41x50_w072x50_2016v1_WGS84.nc", - "ncei19_n41x50_w072x75_2016v1_WGS84.nc", - "ncei19_n41x50_w073x00_2016v1_WGS84.nc", - "ncei19_n41x50_w074x00_2015v1_WGS84.nc", - "ncei19_n41x50_w074x25_2015v1_WGS84.nc"]} + "ncei19_n39x00_w075x00_2018v2_WGS84_band_final.nc", + "ncei19_n39x00_w075x25_2014v1_WGS84_band_final.nc", + "ncei19_n39x00_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n39x25_w074x75_2018v2_WGS84_band_final.nc", + "ncei19_n39x25_w075x00_2018v2_WGS84_band_final.nc", + "ncei19_n39x25_w075x25_2018v2_WGS84_band_final.nc", + "ncei19_n39x25_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n39x50_w074x50_2018v2_WGS84_band_final.nc", + "ncei19_n39x50_w074x75_2018v2_WGS84_band_final.nc", + "ncei19_n39x50_w075x25_2018v2_WGS84_band_final.nc", + "ncei19_n39x50_w075x50_2018v2_WGS84_band_final.nc", + "ncei19_n39x50_w075x75_2014v1_WGS84_band_final.nc", + "ncei19_n39x75_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n39x75_w074x50_2018v2_WGS84_band_final.nc", + "ncei19_n39x75_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n39x75_w075x75_2014v1_WGS84_band_final.nc", + "ncei19_n40x00_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n40x00_w075x25_2014v1_WGS84_band_final.nc", + "ncei19_n40x00_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n40x25_w074x00_2018v2_WGS84_band_final.nc", + "ncei19_n40x25_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n40x25_w074x75_2014v1_WGS84_band_final.nc", + "ncei19_n40x25_w075x00_2014v1_WGS84_band_final.nc", + "ncei19_n40x25_w075x25_2014v1_WGS84_band_final.nc", + "ncei19_n40x50_w074x00_2018v2_WGS84_band_final.nc", + "ncei19_n40x50_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n40x75_w073x00_2015v1_WGS84_band_final.nc", + "ncei19_n40x75_w073x25_2015v1_WGS84_band_final.nc", + "ncei19_n40x75_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n40x75_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n40x75_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n40x75_w074x25_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w072x25_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w072x50_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w072x75_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w073x00_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w073x25_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n41x00_w074x25_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w072x00_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w072x25_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w072x50_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w072x75_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w073x00_2016v1_WGS84_band_final.nc", + "ncei19_n41x25_w073x25_2016v1_WGS84_band_final.nc", + "ncei19_n41x25_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n41x25_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n41x50_w072x00_2016v1_WGS84_band_final.nc", + "ncei19_n41x50_w072x25_2016v1_WGS84_band_final.nc", + "ncei19_n41x50_w072x50_2016v1_WGS84_band_final.nc", + "ncei19_n41x50_w072x75_2016v1_WGS84_band_final.nc", + "ncei19_n41x50_w073x00_2016v1_WGS84_band_final.nc", + "ncei19_n41x50_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n41x50_w074x25_2015v1_WGS84_band_final.nc"]} From 562b2c3bdf537d5e0c92f54cd0d5f773dbc650f9 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 12:11:01 -0700 Subject: [PATCH 29/68] Add streams template --- .../tests/hurricane/init/streams.template | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 compass/ocean/tests/hurricane/init/streams.template diff --git a/compass/ocean/tests/hurricane/init/streams.template b/compass/ocean/tests/hurricane/init/streams.template new file mode 100644 index 0000000000..ec4fd42fc7 --- /dev/null +++ b/compass/ocean/tests/hurricane/init/streams.template @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From de30f69746d4d04c5e015a7bc03e6fbb78453428 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 21 Jul 2025 13:07:13 -0700 Subject: [PATCH 30/68] Replace dem file name in initial namelist --- .../ocean/tests/hurricane/init/initial_state.py | 16 ++++++++++++---- .../tests/hurricane/init/namelist.init_subgrid | 1 - 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index ab68efe6b6..fdc63d4d64 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -112,15 +112,23 @@ def setup(self): package = 'compass.ocean.tests.hurricane.init' if self.wetdry == 'subgrid': - self.add_namelist_file(package, 'namelist.init_subgrid', - mode='init') - self.add_streams_file(package, 'streams.ocean_subgrid0', - mode='init') filename = 'bathy_data.json' with resources.open_text(package, filename) as bathy_file: self.bathy_files = json.load(bathy_file) + self.add_namelist_file(package, 'namelist.init_subgrid', + mode='init') + dem = self.bathy_files["NCEI"][0] + options = dict( + config_Buttermilk_bay_topography_file=f"'NCEI_data/{dem}'") + self.add_namelist_options( + options=options, mode='init', + out_name='namelist.ocean') + + self.add_streams_file(package, 'streams.ocean_subgrid0', + mode='init') + os.makedirs(f'{self.work_dir}/NCEI_data', exist_ok=True) for i, dem in enumerate(self.bathy_files["NCEI"]): self.add_input_file( diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index 572bcc082c..ddc143a7da 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -18,4 +18,3 @@ config_Buttermilk_bay_topography_positive = 'up' config_Buttermilk_bay_topography_extrapolation_constant_value = -1.0e10 config_Buttermilk_bay_topography_extrapolation_method = 'constant' config_Buttermilk_bay_subgrid_table_levels = 30 -config_Buttermilk_bay_topography_file = 'NCEI_data/ncei19_n39x00_w075x00_2018v2_WGS84.nc' From 918af4f6f382bcc39c2ed5d6fa92ab6c05c621a0 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 20 Aug 2025 08:45:02 -0700 Subject: [PATCH 31/68] Remove old namelist and streams files --- .../hurricane/init/namelist.init_subgrid1 | 1 - .../hurricane/init/namelist.init_subgrid2 | 1 - .../hurricane/init/streams.ocean_subgrid1 | 93 ------------------- .../hurricane/init/streams.ocean_subgrid2 | 93 ------------------- 4 files changed, 188 deletions(-) delete mode 100644 compass/ocean/tests/hurricane/init/namelist.init_subgrid1 delete mode 100644 compass/ocean/tests/hurricane/init/namelist.init_subgrid2 delete mode 100644 compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 delete mode 100644 compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 b/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 deleted file mode 100644 index 7d5af39c03..0000000000 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid1 +++ /dev/null @@ -1 +0,0 @@ -config_Buttermilk_bay_topography_file = 'crm_vol1_2023_nc3.nc' diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 b/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 deleted file mode 100644 index 4be1fa936d..0000000000 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid2 +++ /dev/null @@ -1 +0,0 @@ -config_Buttermilk_bay_topography_file = 'crm_vol2_2023_nc3.nc' diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 deleted file mode 100644 index f3ff4d0d82..0000000000 --- a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid1 +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 deleted file mode 100644 index d64d1de11f..0000000000 --- a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid2 +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From b1a80815c6d3dcef40fe39f85262b236c3132b9c Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 22 Aug 2025 15:22:13 -0700 Subject: [PATCH 32/68] Add step to interpolate mannings n --- .../ocean/tests/hurricane/init/__init__.py | 9 +- .../hurricane/init/interpolate_mannings_n.py | 141 ++++++++++++++++++ 2 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 compass/ocean/tests/hurricane/init/interpolate_mannings_n.py diff --git a/compass/ocean/tests/hurricane/init/__init__.py b/compass/ocean/tests/hurricane/init/__init__.py index ed0a4b54d4..0d7ab0c8b4 100644 --- a/compass/ocean/tests/hurricane/init/__init__.py +++ b/compass/ocean/tests/hurricane/init/__init__.py @@ -8,6 +8,9 @@ from compass.ocean.tests.hurricane.init.interpolate_atm_forcing import ( InterpolateAtmForcing, ) +from compass.ocean.tests.hurricane.init.interpolate_mannings_n import ( + InterpolateManningsN, +) from compass.ocean.tests.tides.init.calculate_wave_drag import ( CalculateWaveDrag, ) @@ -61,12 +64,14 @@ def __init__(self, test_group, mesh, storm, use_lts, wetdry): self.add_step(CalculateWaveDrag(test_case=self, mesh=mesh)) self.add_step(RemapBathymetry(test_case=self, mesh=mesh, limit_bathy_outside_refinement=True)) - self.add_step(InitialState(test_case=self, mesh=mesh, - use_lts=use_lts, wetdry=wetdry)) + init = InitialState(test_case=self, mesh=mesh, + use_lts=use_lts, wetdry=wetdry) + self.add_step(init) self.add_step(InterpolateAtmForcing(test_case=self, mesh=mesh, storm=storm)) self.add_step(CreatePointstatsFile(test_case=self, mesh=mesh, storm=storm)) + self.add_step(InterpolateManningsN(test_case=self, init=init)) def configure(self): """ diff --git a/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py new file mode 100644 index 0000000000..1d6f26c54c --- /dev/null +++ b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py @@ -0,0 +1,141 @@ + +import cartopy.crs as ccrs +import cartopy.feature as cfeature +import matplotlib.pyplot as plt +import netCDF4 +import numpy as np +from mpas_tools.mesh.creation.util import lonlat2xyz +from scipy.spatial import KDTree + +from compass.step import Step + + +class InterpolateManningsN(Step): + """ + A step for interpolating the Mannings n values used for + bottom drag + + Attributes + ---------- + + self.grid_file : str + Name of mesh file + + """ + def __init__(self, test_case, init): + """ + Create the step + + Parameters + ---------- + test_case : compass.ocean.tests.hurricane.init.Init + The test case this step belongs to + + mesh : compass.ocean.tests.global_ocean.mesh.Mesh + The test case that creates the mesh used by this test case + + """ + super().__init__(test_case=test_case, name='interpolate_mannings_n', + ntasks=1, min_tasks=1, openmp_threads=1) + + self.plot = True + + self.data_file = 'mannings_n.nc' + self.grid_file = 'init.nc' + + self.add_input_file( + filename=self.data_file, + target='gstofs_mannings_n.nc', + database='hurricane') + + self.add_input_file( + filename=self.grid_file, + work_dir_target=f'{init.path}/ocean_subgrid_final.nc') + + def interpolate_data(self, grid_file, data_file): + """ + Interpolate time snaps of gridded data field to MPAS mesh + """ + + # Open files + data_nc = netCDF4.Dataset(data_file, 'r') + grid_nc = netCDF4.Dataset(grid_file, 'r+') + + # Get grid from data file + lon_data = data_nc.variables['lon'][:] + lat_data = data_nc.variables['lat'][:] + data = data_nc.variables['manning_n'][:] + npts = lon_data.size + + # Get grid from grid file + lon_grid = grid_nc.variables['lonCell'][:] * 180.0 / np.pi + lat_grid = grid_nc.variables['latCell'][:] * 180.0 / np.pi + lon_grid = np.mod(lon_grid + 180.0, 360.0) - 180.0 + area = grid_nc.variables['areaCell'][:] + ncells = lon_grid.size + bottom_drag = np.zeros_like(area) + + # Interpolate using area averaging + xyz_data = np.zeros((npts, 3)) + xyz_data[:, 0], xyz_data[:, 1], xyz_data[:, 2] = lonlat2xyz(lon_data, + lat_data) + tree = KDTree(xyz_data) + + radius = np.sqrt(area / np.pi) + x, y, z = lonlat2xyz(lon_grid, lat_grid) + cells = np.vstack([x, y, z]).T + idx = tree.query_ball_point(cells, radius) + d, nearest = tree.query(cells) + + for i in range(ncells): + if len(idx[i]) > 0: + bottom_drag[i] = np.mean(data[idx[i]]) + else: + bottom_drag[i] = data[nearest[i]] + + nc_vars = grid_nc.variables.keys() + if 'bottomDrag' not in nc_vars: + grid_nc.createVariable('bottomDrag', 'f8', ('nCells')) + + # Write to mesh file + grid_nc.variables['bottomDrag'][:] = bottom_drag + + return lon_grid, lat_grid, bottom_drag + + def plot_interp_data(self, lon, lat, var): + """ + Plot interpolated field + """ + + plt.switch_backend('agg') + + if not self.plot: + return + + # Plot interpolated data + fig = plt.figure() + ax1 = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree()) + levels = np.linspace(np.amin(var), np.amax(var), 100) + cf = ax1.tricontourf(lon, lat, var, levels=levels, + transform=ccrs.PlateCarree()) + ax1.set_extent([-180, 180, -90, 90], crs=ccrs.PlateCarree()) + ax1.add_feature(cfeature.LAND, zorder=100) + ax1.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) + ax1.add_feature(cfeature.COASTLINE, zorder=101) + ax1.set_title('interpolated manning n') + cbar = fig.colorbar(cf, ax=ax1) + cbar.set_label('Mannings n') + + # Save figure + fig.tight_layout() + fig.savefig('mannings_n.png', + bbox_inches='tight') + plt.close() + + def run(self): + """ + Run this step of the test case + """ + + lon, lat, drag = self.interpolate_data(self.grid_file, self.data_file) + self.plot_interp_data(lon, lat, drag) From 4587a712208d85562dca20b6af5163685307e8a2 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 22 Aug 2025 15:23:04 -0700 Subject: [PATCH 33/68] Add Chesapeake DEMS --- .../tests/hurricane/init/bathy_data.json | 111 ++++++++++++++++-- 1 file changed, 99 insertions(+), 12 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/bathy_data.json b/compass/ocean/tests/hurricane/init/bathy_data.json index ca0de8af06..0511bf41fe 100644 --- a/compass/ocean/tests/hurricane/init/bathy_data.json +++ b/compass/ocean/tests/hurricane/init/bathy_data.json @@ -1,58 +1,145 @@ {"NCEI":[ - "ncei19_n39x00_w075x00_2018v2_WGS84_band_final.nc", - "ncei19_n39x00_w075x25_2014v1_WGS84_band_final.nc", - "ncei19_n39x00_w075x50_2014v1_WGS84_band_final.nc", - "ncei19_n39x25_w074x75_2018v2_WGS84_band_final.nc", - "ncei19_n39x25_w075x00_2018v2_WGS84_band_final.nc", - "ncei19_n39x25_w075x25_2018v2_WGS84_band_final.nc", - "ncei19_n39x25_w075x50_2014v1_WGS84_band_final.nc", - "ncei19_n39x50_w074x50_2018v2_WGS84_band_final.nc", - "ncei19_n39x50_w074x75_2018v2_WGS84_band_final.nc", - "ncei19_n39x50_w075x25_2018v2_WGS84_band_final.nc", - "ncei19_n39x50_w075x50_2018v2_WGS84_band_final.nc", - "ncei19_n39x50_w075x75_2014v1_WGS84_band_final.nc", + "ncei19_n36x75_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n38x25_w077x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n36x75_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w075x25_2019v1_WGS84_band_final.nc", "ncei19_n39x75_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n36x75_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w075x50_2019v1_WGS84_band_final.nc", "ncei19_n39x75_w074x50_2018v2_WGS84_band_final.nc", + "ncei19_n36x75_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w075x75_2019v1_WGS84_band_final.nc", "ncei19_n39x75_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n37x00_w076x00_2019v1_WGS84_1_band_final.nc", + "ncei19_n38x50_w076x00_2019v1_WGS84_band_final.nc", "ncei19_n39x75_w075x75_2014v1_WGS84_band_final.nc", + "ncei19_n37x00_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x75_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n37x00_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x75_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n37x00_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w076x75_2019v1_WGS84_band_final.nc", "ncei19_n40x00_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n37x25_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w077x00_2019v1_WGS84_band_final.nc", "ncei19_n40x00_w075x25_2014v1_WGS84_band_final.nc", + "ncei19_n37x25_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w077x25_2019v1_WGS84_band_final.nc", "ncei19_n40x00_w075x50_2014v1_WGS84_band_final.nc", + "ncei19_n37x25_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n38x50_w077x50_2019v1_WGS84_band_final.nc", "ncei19_n40x25_w074x00_2018v2_WGS84_band_final.nc", + "ncei19_n37x25_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w075x25_2019v1_WGS84_band_final.nc", "ncei19_n40x25_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n37x25_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w075x50_2019v1_WGS84_band_final.nc", "ncei19_n40x25_w074x75_2014v1_WGS84_band_final.nc", + "ncei19_n37x25_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w075x75_2019v1_WGS84_band_final.nc", "ncei19_n40x25_w075x00_2014v1_WGS84_band_final.nc", + "ncei19_n37x25_w077x50_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w076x00_2019v1_WGS84_band_final.nc", "ncei19_n40x25_w075x25_2014v1_WGS84_band_final.nc", + "ncei19_n37x50_w075x75_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w076x25_2019v1_WGS84_band_final.nc", "ncei19_n40x50_w074x00_2018v2_WGS84_band_final.nc", + "ncei19_n37x50_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w076x50_2019v1_WGS84_band_final.nc", "ncei19_n40x50_w074x25_2018v2_WGS84_band_final.nc", + "ncei19_n37x50_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w076x75_2019v1_WGS84_band_final.nc", "ncei19_n40x75_w073x00_2015v1_WGS84_band_final.nc", + "ncei19_n37x50_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w077x00_2019v1_WGS84_band_final.nc", "ncei19_n40x75_w073x25_2015v1_WGS84_band_final.nc", + "ncei19_n37x50_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w077x25_2019v1_WGS84_band_final.nc", "ncei19_n40x75_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n37x50_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n38x75_w077x50_2019v1_WGS84_band_final.nc", "ncei19_n40x75_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n37x50_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w075x00_2018v2_WGS84_band_final.nc", "ncei19_n40x75_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n37x50_w077x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w075x25_2014v1_WGS84_band_final.nc", "ncei19_n40x75_w074x25_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w075x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w075x50_2014v1_WGS84_band_final.nc", "ncei19_n41x00_w072x25_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w075x75_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w072x50_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w076x00_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w072x75_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w076x25_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w073x00_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w076x50_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w073x25_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w076x75_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w077x00_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n37x75_w077x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x00_w077x25_2019v1_WGS84_band_final.nc", "ncei19_n41x00_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w075x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w074x75_2018v2_WGS84_band_final.nc", "ncei19_n41x00_w074x25_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w075x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w075x00_2018v2_WGS84_band_final.nc", "ncei19_n41x25_w072x00_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w075x25_2018v2_WGS84_band_final.nc", "ncei19_n41x25_w072x25_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w075x50_2014v1_WGS84_band_final.nc", "ncei19_n41x25_w072x50_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w075x75_2019v1_WGS84_band_final.nc", "ncei19_n41x25_w072x75_2015v1_WGS84_band_final.nc", + "ncei19_n38x00_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w076x00_2019v1_WGS84_band_final.nc", "ncei19_n41x25_w073x00_2016v1_WGS84_band_final.nc", + "ncei19_n38x00_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w076x25_2019v1_WGS84_band_final.nc", "ncei19_n41x25_w073x25_2016v1_WGS84_band_final.nc", + "ncei19_n38x00_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w076x50_2019v1_WGS84_band_final.nc", "ncei19_n41x25_w073x50_2015v1_WGS84_band_final.nc", + "ncei19_n38x25_w075x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x25_w076x75_2019v1_WGS84_band_final.nc", "ncei19_n41x25_w073x75_2015v1_WGS84_band_final.nc", + "ncei19_n38x25_w075x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w074x50_2018v2_WGS84_band_final.nc", "ncei19_n41x25_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n38x25_w075x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w074x75_2018v2_WGS84_band_final.nc", "ncei19_n41x50_w072x00_2016v1_WGS84_band_final.nc", + "ncei19_n38x25_w076x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w075x25_2018v2_WGS84_band_final.nc", "ncei19_n41x50_w072x25_2016v1_WGS84_band_final.nc", + "ncei19_n38x25_w076x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w075x50_2018v2_WGS84_band_final.nc", "ncei19_n41x50_w072x50_2016v1_WGS84_band_final.nc", + "ncei19_n38x25_w076x50_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w075x75_2014v1_WGS84_band_final.nc", "ncei19_n41x50_w072x75_2016v1_WGS84_band_final.nc", + "ncei19_n38x25_w076x75_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w076x00_2019v1_WGS84_band_final.nc", "ncei19_n41x50_w073x00_2016v1_WGS84_band_final.nc", + "ncei19_n38x25_w077x00_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w076x25_2019v1_WGS84_band_final.nc", "ncei19_n41x50_w074x00_2015v1_WGS84_band_final.nc", + "ncei19_n38x25_w077x25_2019v1_WGS84_band_final.nc", + "ncei19_n39x50_w076x50_2019v1_WGS84_band_final.nc", "ncei19_n41x50_w074x25_2015v1_WGS84_band_final.nc"]} From 20a663f389e69f4498f43689be4fb07dabbc4f55 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 22 Aug 2025 15:24:21 -0700 Subject: [PATCH 34/68] Use pnetcdf,cdf5 as io type for streams --- .../ocean/tests/hurricane/init/streams.ocean_subgrid0 | 6 ++++-- compass/ocean/tests/hurricane/init/streams.template | 9 ++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 index 95d2bd7e79..5f556109bb 100644 --- a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 @@ -9,7 +9,8 @@ type="output" filename_template="ocean_init.nc" clobber_mode="truncate" - output_interval="0000_00:00:01"> + output_interval="0000_00:00:01" + io_type="pnetcdf,cdf5"> @@ -47,7 +48,8 @@ + input_interval="initial_only" + io_type="pnetcdf,cdf5"> diff --git a/compass/ocean/tests/hurricane/init/streams.template b/compass/ocean/tests/hurricane/init/streams.template index ec4fd42fc7..cf6b1d145e 100644 --- a/compass/ocean/tests/hurricane/init/streams.template +++ b/compass/ocean/tests/hurricane/init/streams.template @@ -9,7 +9,8 @@ type="output" filename_template="{{ output_file }}" clobber_mode="truncate" - output_interval="0000_00:00:01"> + output_interval="0000_00:00:01" + io_type="pnetcdf,cdf5"> @@ -54,7 +55,8 @@ type="input" filename_template="{{ input_file }}" clobber_mode="truncate" - input_interval="initial_only"> + input_interval="initial_only" + io_type="pnetcdf,cdf5"> @@ -85,7 +87,8 @@ + input_interval="initial_only" + io_type="pnetcdf,cdf5"> From 7c8198d261abf4e6e05e4768faa8766c2b25b288 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 22 Aug 2025 15:27:19 -0700 Subject: [PATCH 35/68] Enable increased levels for subgrid tables --- .../ocean/tests/hurricane/forward/forward.py | 2 +- .../tests/hurricane/init/initial_state.py | 59 +++++++++++++++---- .../hurricane/init/namelist.init_subgrid | 2 +- .../mesh/devr45to5rr1/devr45to5rr1.cfg | 2 +- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index b93c2fa27a..4feb7a9adc 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -85,7 +85,7 @@ def __init__(self, test_case, mesh, init, use_lts, wetdry, if wetdry == 'subgrid': initial_state_target = \ - f'{init.path}/initial_state/ocean_subgrid2.nc' + f'{init.path}/initial_state/ocean_subgrid_final.nc' else: initial_state_target = \ f'{init.path}/initial_state/ocean.nc' diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index fdc63d4d64..ad89b7c29c 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -89,17 +89,10 @@ def __init__(self, test_case, mesh, use_lts, wetdry): filename='graph.info.noweights', work_dir_target=f'{mesh_path}/culled_graph.info') - self.add_input_file(filename='crm_vol1_2023_nc3.nc', - target='crm_vol1_2023_nc3.nc', - database='bathymetry_database') - - self.add_input_file(filename='crm_vol2_2023_nc3.nc', - target='crm_vol2_2023_nc3.nc', - database='bathymetry_database') self.add_model_as_input() if self.wetdry == 'subgrid': - self.add_output_file(filename='ocean_subgrid2.nc') + self.add_output_file(filename='ocean_subgrid_final.nc') else: self.add_output_file(filename='ocean.nc') self.add_output_file(filename='graph.info') @@ -130,6 +123,7 @@ def setup(self): mode='init') os.makedirs(f'{self.work_dir}/NCEI_data', exist_ok=True) + nfiles = len(self.bathy_files["NCEI"]) for i, dem in enumerate(self.bathy_files["NCEI"]): self.add_input_file( filename=f'NCEI_data/{dem}', @@ -150,9 +144,14 @@ def setup(self): options=options, mode='init', out_name=f'namelist.ocean_subgrid{i}') - stream_replacements = { - 'output_file': f'ocean_subgrid{i + 1}.nc', - 'input_file': f'ocean_subgrid{i}.nc'} + if i == nfiles - 1: + stream_replacements = { + 'output_file': 'ocean_subgrid_final.nc', + 'input_file': f'ocean_subgrid{i}.nc'} + else: + stream_replacements = { + 'output_file': f'ocean_subgrid{i + 1}.nc', + 'input_file': f'ocean_subgrid{i}.nc'} if i == 0: stream_replacements['input_file'] = 'ocean_init.nc' self.add_streams_file( @@ -169,6 +168,41 @@ def constrain_resources(self, available_resources): self._get_resources() super().constrain_resources(available_resources) + def update_namelist_pio(self, out_name=None): + """ + Modify the namelist so the number of PIO tasks and the stride between + them consistent with the number of nodes and cores (one PIO task per + node). + + Parameters + ---------- + out_name : str, optional + The name of the namelist file to write out, ``namelist.`` by + default + """ + config = self.config + cores = self.ntasks * self.cpus_per_task + + if out_name is None: + out_name = f'namelist.{self.mpas_core.name}' + + cores_per_node = config.getint('parallel', 'cores_per_node') + + # update PIO tasks based on the machine settings and the available + # number or cores + pio_num_iotasks = 2 * int(np.ceil(cores / cores_per_node)) + pio_stride = self.ntasks // pio_num_iotasks + if pio_stride > cores_per_node: + raise ValueError(f'Not enough nodes for the number of cores. ' + f'cores: {cores}, cores per node: ' + f'{cores_per_node}') + + replacements = {'config_pio_num_iotasks': f'{pio_num_iotasks}', + 'config_pio_stride': f'{pio_stride}'} + + self.update_namelist_at_runtime(options=replacements, + out_name=out_name) + def run(self): """ Run this step of the testcase @@ -194,6 +228,9 @@ def run(self): run_model(self, namelist=f'namelist.ocean_subgrid{i}', streams=f'streams.ocean_subgrid{i}') + if os.path.isfile(f'ocean_subgrid{i - 2}.nc'): + os.remove(f'ocean_subgrid{i - 2}.nc') + mesh = nc.Dataset("mesh.nc", "r") if self.wetdry == 'subgrid': init = nc.Dataset(f"ocean_subgrid{i + 1}.nc", "r+") diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index ddc143a7da..6235a85a00 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -17,4 +17,4 @@ config_Buttermilk_bay_topography_fill_value = 99999 config_Buttermilk_bay_topography_positive = 'up' config_Buttermilk_bay_topography_extrapolation_constant_value = -1.0e10 config_Buttermilk_bay_topography_extrapolation_method = 'constant' -config_Buttermilk_bay_subgrid_table_levels = 30 +config_Buttermilk_bay_subgrid_table_levels = 160 diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index b0f82e2625..02b10de0a4 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -30,7 +30,7 @@ email = autodetect ## config options related to the initial_state step # number of MPI tasks to use -init_ntasks = 256 +init_ntasks = 512 # minimum of MPI tasks, below which the step fails init_min_tasks = 1 # maximum memory usage allowed (in MB) From 1df06d3d07508274f56742e8ad0a90608d1c079e Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 27 Aug 2025 20:46:18 -0700 Subject: [PATCH 36/68] Enable variable mannings n in forward run --- .../ocean/tests/hurricane/forward/namelist.ocean.subgrid | 3 ++- compass/ocean/tests/hurricane/forward/streams.ocean | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid index ede39f96fd..3a4c4e40d0 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid @@ -8,7 +8,8 @@ config_disable_vel_hmix = .false. config_disable_vel_explicit_bottom_drag = .true. config_disable_vel_vmix = .false. config_bottom_drag_mode = 'implicit' -config_implicit_bottom_drag_type = 'loglaw' +config_implicit_bottom_drag_type = 'mannings' +config_use_variable_drag = .true. config_hmix_use_ref_cell_width = .true. config_use_mom_del2 = .true. config_mom_del2 = 3.333 diff --git a/compass/ocean/tests/hurricane/forward/streams.ocean b/compass/ocean/tests/hurricane/forward/streams.ocean index e3a49fd6f1..0a12a04409 100644 --- a/compass/ocean/tests/hurricane/forward/streams.ocean +++ b/compass/ocean/tests/hurricane/forward/streams.ocean @@ -49,6 +49,14 @@ + + + + + Date: Wed, 27 Aug 2025 20:50:34 -0700 Subject: [PATCH 37/68] Fix bug in initial state for final subgrid file --- compass/ocean/tests/hurricane/init/initial_state.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index ad89b7c29c..f61b3a267a 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -233,7 +233,7 @@ def run(self): mesh = nc.Dataset("mesh.nc", "r") if self.wetdry == 'subgrid': - init = nc.Dataset(f"ocean_subgrid{i + 1}.nc", "r+") + init = nc.Dataset("ocean_subgrid_final.nc", "r+") else: init = nc.Dataset("ocean.nc", "r+") From 2e770443bbf43909d21448527722547d770d5fc1 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Wed, 27 Aug 2025 20:53:31 -0700 Subject: [PATCH 38/68] Increase subgrid dt to 10s and turn off del4 --- compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid index 3a4c4e40d0..0b3feaf192 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid @@ -13,6 +13,6 @@ config_use_variable_drag = .true. config_hmix_use_ref_cell_width = .true. config_use_mom_del2 = .true. config_mom_del2 = 3.333 -config_use_mom_del4 = .true. +config_use_mom_del4 = .false. config_mom_del4 = 3.333e10 -config_dt = '00:00:05' +config_dt = '00:00:10' From d395ca2a6b60f431898156131eb885409b9bc2a4 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Fri, 12 Sep 2025 14:29:38 -0700 Subject: [PATCH 39/68] Add updates for subgrid drag --- .../ocean/tests/hurricane/forward/forward.py | 37 +++++++++++++++++++ .../hurricane/forward/streams.ocean_subgrid | 3 ++ .../tests/hurricane/init/initial_state.py | 13 +++++-- .../hurricane/init/namelist.init_subgrid | 35 +++++++++++------- .../hurricane/init/streams.ocean_subgrid0 | 3 ++ .../tests/hurricane/init/streams.template | 6 +++ 6 files changed, 81 insertions(+), 16 deletions(-) diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index 4feb7a9adc..a5623cf66d 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -1,3 +1,5 @@ +import numpy as np + from compass.model import run_model from compass.step import Step @@ -123,6 +125,41 @@ def constrain_resources(self, available_resources): self._get_resources() super().constrain_resources(available_resources) + def update_namelist_pio(self, out_name=None): + """ + Modify the namelist so the number of PIO tasks and the stride between + them consistent with the number of nodes and cores (one PIO task per + node). + + Parameters + ---------- + out_name : str, optional + The name of the namelist file to write out, ``namelist.`` by + default + """ + config = self.config + cores = self.ntasks * self.cpus_per_task + + if out_name is None: + out_name = f'namelist.{self.mpas_core.name}' + + cores_per_node = config.getint('parallel', 'cores_per_node') + + # update PIO tasks based on the machine settings and the available + # number or cores + pio_num_iotasks = 2 * int(np.ceil(cores / cores_per_node)) + pio_stride = self.ntasks // pio_num_iotasks + if pio_stride > cores_per_node: + raise ValueError(f'Not enough nodes for the number of cores. ' + f'cores: {cores}, cores per node: ' + f'{cores_per_node}') + + replacements = {'config_pio_num_iotasks': f'{pio_num_iotasks}', + 'config_pio_stride': f'{pio_stride}'} + + self.update_namelist_at_runtime(options=replacements, + out_name=out_name) + def run(self): """ Run this step of the testcase diff --git a/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid b/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid index e3b2065ee2..92c21758a6 100644 --- a/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid +++ b/compass/ocean/tests/hurricane/forward/streams.ocean_subgrid @@ -47,6 +47,9 @@ + + + diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index f61b3a267a..e89020361d 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -114,7 +114,7 @@ def setup(self): mode='init') dem = self.bathy_files["NCEI"][0] options = dict( - config_Buttermilk_bay_topography_file=f"'NCEI_data/{dem}'") + config_subgrid_topography_file=f"'NCEI_data/{dem}'") self.add_namelist_options( options=options, mode='init', out_name='namelist.ocean') @@ -123,6 +123,7 @@ def setup(self): mode='init') os.makedirs(f'{self.work_dir}/NCEI_data', exist_ok=True) + os.makedirs(f'{self.work_dir}/LULC_data', exist_ok=True) nfiles = len(self.bathy_files["NCEI"]) for i, dem in enumerate(self.bathy_files["NCEI"]): self.add_input_file( @@ -130,8 +131,14 @@ def setup(self): target=f'ncei/{dem}', database='bathymetry_database') + self.add_input_file( + filename=f'LULC_data/landuse_from_{dem}', + target=f'LULC/landuse_from_{dem}', + database='hurricane') + options = dict( - config_Buttermilk_bay_topography_file=f"'NCEI_data/{dem}'") + config_subgrid_topography_file=f"'NCEI_data/{dem}'", + config_subgrid_lulc_file=f"'LULC_data/landuse_from_{dem}'") self.add_namelist_file(package, 'namelist.init', mode='init', out_name=f'namelist.ocean_subgrid{i}') self.add_namelist_file(package, 'namelist.init.wd', @@ -190,7 +197,7 @@ def update_namelist_pio(self, out_name=None): # update PIO tasks based on the machine settings and the available # number or cores - pio_num_iotasks = 2 * int(np.ceil(cores / cores_per_node)) + pio_num_iotasks = 4 * int(np.ceil(cores / cores_per_node)) pio_stride = self.ntasks // pio_num_iotasks if pio_stride > cores_per_node: raise ValueError(f'Not enough nodes for the number of cores. ' diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index 6235a85a00..32603eb21f 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -5,16 +5,25 @@ config_use_ssh_gradient_wetting_drying = .true. config_zero_drying_velocity_ramp = .true. config_zero_drying_velocity_ramp_hmin = 0.01 config_zero_drying_velocity_ramp_hmax = 0.02 -config_Buttermilk_bay_subgrid_refinement_level = 660 -config_Buttermilk_bay_topography_source = 'latlon_file' -config_Buttermilk_bay_topography_latlon_degrees = .true. -config_Buttermilk_bay_topography_nlat_dimname = 'lat' -config_Buttermilk_bay_topography_nlon_dimname = 'lon' -config_Buttermilk_bay_topography_lat_varname = 'lat' -config_Buttermilk_bay_topography_lon_varname = 'lon' -config_Buttermilk_bay_topography_varname = 'Band1' -config_Buttermilk_bay_topography_fill_value = 99999 -config_Buttermilk_bay_topography_positive = 'up' -config_Buttermilk_bay_topography_extrapolation_constant_value = -1.0e10 -config_Buttermilk_bay_topography_extrapolation_method = 'constant' -config_Buttermilk_bay_subgrid_table_levels = 160 +config_subgrid_refinement_level = 660 +config_subgrid_topography_source = 'latlon_file' +config_subgrid_topography_latlon_degrees = .true. +config_subgrid_topography_nlat_dimname = 'lat' +config_subgrid_topography_nlon_dimname = 'lon' +config_subgrid_topography_lat_varname = 'lat' +config_subgrid_topography_lon_varname = 'lon' +config_subgrid_topography_varname = 'Band1' +config_subgrid_topography_fill_value = 99999 +config_subgrid_topography_positive = 'up' +config_subgrid_topography_extrapolation_constant_value = -1.0e10 +config_subgrid_topography_extrapolation_method = 'constant' +config_subgrid_table_levels = 160 +config_subgrid_lulc_file = 'lulc_data.nc' +config_subgrid_lulc_source = 'latlon_file' +config_subgrid_lulc_latlon_degrees = .true. +config_subgrid_lulc_nlat_dimname = 'lat' +config_subgrid_lulc_nlon_dimname = 'lon' +config_subgrid_lulc_lat_varname = 'lat' +config_subgrid_lulc_lon_varname = 'lon' +config_subgrid_lulc_varname = 'Band1' +config_subgrid_lulc_fill_value = 99999 diff --git a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 index 5f556109bb..decba1f28c 100644 --- a/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 +++ b/compass/ocean/tests/hurricane/init/streams.ocean_subgrid0 @@ -43,6 +43,9 @@ + + + + + + @@ -76,6 +79,9 @@ + + + From 8b9e39b38794d4fae6a290ee0384de02018dd756 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 16 Sep 2025 12:18:40 -0700 Subject: [PATCH 40/68] Extend adjustment period for observations --- compass/ocean/tests/hurricane/analysis/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index 63c6dc12c3..d8fbd312aa 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -64,7 +64,7 @@ def setup(self): self.run_min_date = '2012 10 10 00 00' self.run_max_date = '2012 11 04 00 00' self.adjust_min_date = '2012 10 01 00 00' - self.adjust_max_date = '2012 10 10 00 00' + self.adjust_max_date = '2012 10 25 00 00' filename = 'sandy_stations.json' with resources.open_text(package, filename)as stations_file: From edfcfc4c503e43eae64083345e812ed47a1d9ab5 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Thu, 25 Sep 2025 09:07:59 -0700 Subject: [PATCH 41/68] Add option to plot DEM and LULC around stations --- .../tests/hurricane/analysis/__init__.py | 207 ++++++++++++++++++ .../tests/hurricane/analysis/analysis.cfg | 2 + 2 files changed, 209 insertions(+) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index d8fbd312aa..2a4ae51be7 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -5,11 +5,16 @@ import cartopy.crs as ccrs import cartopy.feature as cfeature +import cmocean +import matplotlib.colors as mcolors import matplotlib.dates as mdates import matplotlib.gridspec as gridspec import matplotlib.pyplot as plt import netCDF4 import numpy as np +import xarray as xr +from matplotlib.collections import PatchCollection +from matplotlib.patches import Polygon from scipy import spatial from compass.step import Step @@ -50,6 +55,8 @@ def __init__(self, test_case, storm): self.add_input_file(filename='pointwiseStats.nc', target='../forward/pointwiseStats.nc') + self.add_input_file(filename='mesh.nc', + target='../forward/input.nc') self.frmt = '%Y %m %d %H %M' self.storm = storm @@ -83,6 +90,24 @@ def setup(self): f'{obs}_stations/{sta}.txt', database='hurricane') + package = 'compass.ocean.tests.hurricane.init' + filename = 'bathy_data.json' + with resources.open_text(package, filename) as bathy_file: + self.bathy_files = json.load(bathy_file) + + os.makedirs(f'{self.work_dir}/NCEI_data', exist_ok=True) + os.makedirs(f'{self.work_dir}/LULC_data', exist_ok=True) + for i, dem in enumerate(self.bathy_files["NCEI"]): + self.add_input_file( + filename=f'NCEI_data/{dem}', + target=f'ncei/{dem}', + database='bathymetry_database') + + self.add_input_file( + filename=f'LULC_data/landuse_from_{dem}', + target=f'LULC/landuse_from_{dem}', + database='hurricane') + def read_pointstats(self, pointstats_file): """ Read the pointwiseStats data from the MPAS-Ocean run @@ -204,6 +229,9 @@ def run(self): """ plt.switch_backend('agg') + plot_station_dems = self.config.getboolean('hurricane_analysis', + 'plot_station_dems') + # Get paths to run data to plot pointstats_file = {} comparison_runs = self.config.get('hurricane_analysis', @@ -237,6 +265,18 @@ def run(self): for i, run in enumerate(data): hwm_mod[run] = [] + # Create new colormap for LULC + tab20_colors = plt.cm.get_cmap('tab20').colors + tab20 = [] + for c in tab20_colors: + tab20.append(mcolors.to_hex(c)) + new_colors = [ + '#91a9b1', # Seafoam green + '#b46617', # Burnt orange + ] + tab20.extend(new_colors) + self.tab25 = mcolors.ListedColormap(tab20, name='tab25') + # Plot time series for obs in self.observations: os.makedirs(f'{self.work_dir}/{obs}_plots', exist_ok=True) @@ -246,6 +286,7 @@ def run(self): for sta in self.observations[obs]: + print(sta) i = stations['name'].index(sta) # Read in observed data and get coordinates @@ -332,6 +373,10 @@ def run(self): bbox_extra_artists=(lgd, st,)) plt.close() + # Plot DEM and LULC around station + if plot_station_dems: + self.plot_dem(sta, sta_lon, sta_lat) + # Convert to numpy arrays hwm_obs = np.asarray(hwm_obs) for i, run in enumerate(data): @@ -384,3 +429,165 @@ def run(self): fig.tight_layout() fig.savefig(f'hwm_spatial_{run}.png', bbox_inches='tight') plt.close() + + def plot_dem(self, sta, sta_lon, sta_lat): + + dsMesh = xr.open_dataset('mesh.nc') + + # Find DEM tile containing station + lat_name = 'lat' + lon_name = 'lon' + for dem in self.bathy_files['NCEI']: + ds_topo = xr.open_dataset(f'NCEI_data/{dem}') + lon = ds_topo.lon.values + lat = ds_topo.lat.values + da_topo = ds_topo.Band1 + if sta_lon > np.min(lon) and sta_lon < np.max(lon) and \ + sta_lat > np.min(lat) and sta_lat < np.max(lat): + + if lat_name in da_topo.dims: + lat = da_topo[lat_name] + if lat.ndim == 1 and (lat.diff(lat_name) < 0).any(): + da_topo = da_topo.sortby(lat_name) + + if lon_name in da_topo.dims: + lon = da_topo[lon_name] + if lon.ndim == 1 and (lon.diff(lon_name) < 0).any(): + da_topo = da_topo.sortby(lon_name) + + break + + ds_lulc = xr.open_dataset(f'LULC_data/landuse_from_{dem}') + da_lulc = ds_lulc.Band1 + + fig = plt.figure(figsize=[18, 12]) + ax = [] + ax.append(fig.add_subplot(2, 2, 1)) + ax.append(fig.add_subplot(2, 2, 2)) + ax.append(fig.add_subplot(2, 2, 3)) + ax.append(fig.add_subplot(2, 2, 4)) + + # Plot DEM topo and LULC around station + for i, eps in enumerate([0.1, 0.01]): + bbox = np.array([sta_lon - eps, sta_lon + eps, + sta_lat - eps, sta_lat + eps]) + + patches = self.compute_cell_patches(dsMesh, bbox) + + skip_topo = False + try: + da = da_topo.sel(lon=slice(bbox[0], bbox[1]), + lat=slice(bbox[2], bbox[3])) + except KeyError: + print('topo slicing failed') + skip_topo = True + + if not skip_topo: + axi = 2 * i + da.plot(ax=ax[axi], + cmap=cmocean.cm.topo, + cbar_kwargs={'label': 'topo'}) + ax[axi].plot(sta_lon, sta_lat, + marker='o', + markerfacecolor='k', + markeredgecolor='r', + zorder=102) + ax[axi].axis('equal') + ax[axi].autoscale(enable=False) + ax[axi].add_collection(patches) + ax[axi].set_xlabel('longitude') + ax[axi].set_ylabel('latitude') + + tick_locations = range(2, 24) + tick_labels = ['h.i. dev', + 'm.i. dev', + 'l.i. dev', + 'open dev', + 'cul land', + 'pasture', + 'grassland', + 'dec forest', + 'eve forest', + 'mix forest', + 'scrub', + 'p.f. wetland', + 'p.s. wetland', + 'p.e. wetland', + 'e.f. wetland', + 'e.s. wetland', + 'e.e. wetland', + 'u.c. shore', + 'bare land', + 'open water', + 'p.a. bed', + 'e.a. bed'] + + da = da_lulc.sel(lon=slice(bbox[0], bbox[1]), + lat=slice(bbox[2], bbox[3])) + formt = plt.FuncFormatter( + lambda x, p: tick_labels[tick_locations.index(x)]) + + axi = 2 * i + 1 + da.plot(ax=ax[axi], + cmap=self.tab25, + vmin=2, + vmax=23, + cbar_kwargs={'label': 'LULC', + 'ticks': tick_locations, + 'format': formt}) + ax[axi].plot(sta_lon, sta_lat, + marker='o', + markerfacecolor='k', + markeredgecolor='r', + zorder=102) + ax[axi].axis('equal') + ax[axi].set_xlabel('longitude') + ax[axi].set_ylabel('latitude') + + fig.tight_layout() + fig.savefig(f'{sta}_dem.png', bbox_inches='tight') + + plt.close() + + def compute_cell_patches(self, dsMesh, bbox): + patches = [] + nVerticesOnCell = dsMesh.nEdgesOnCell.values + verticesOnCell = dsMesh.verticesOnCell.values - 1 + lonVertex = np.degrees(dsMesh.lonVertex.values) + latVertex = np.degrees(dsMesh.latVertex.values) + lonVertex = np.mod(lonVertex + 180.0, 360.0) - 180.0 + lonCell = np.degrees(dsMesh.lonCell.values) + latCell = np.degrees(dsMesh.latCell.values) + lonCell = np.mod(lonCell + 180.0, 360.0) - 180.0 + for iCell in range(dsMesh.sizes['nCells']): + if lonCell[iCell] < bbox[0] - 1: + continue + if lonCell[iCell] > bbox[1] + 1: + continue + if latCell[iCell] < bbox[2] - 1: + continue + if latCell[iCell] > bbox[3] + 1: + continue + + nVert = nVerticesOnCell[iCell] + vertexIndices = verticesOnCell[iCell, :nVert] + vertices = np.zeros((nVert, 2)) + vertices[:, 0] = lonVertex[vertexIndices] + vertices[:, 1] = latVertex[vertexIndices] + + in_box = False + if np.any(vertices[:, 0] > bbox[0]) and \ + np.any(vertices[:, 0] < bbox[1]) and \ + np.any(vertices[:, 1] > bbox[2]) and \ + np.any(vertices[:, 1] < bbox[3]): + in_box = True + if not in_box: + continue + + polygon = Polygon(vertices, closed=True) + patches.append(polygon) + + p = PatchCollection(patches, alpha=0.5, + facecolor='none', edgecolor='k') + + return p diff --git a/compass/ocean/tests/hurricane/analysis/analysis.cfg b/compass/ocean/tests/hurricane/analysis/analysis.cfg index 4d4c03fb01..1d5ab094ac 100644 --- a/compass/ocean/tests/hurricane/analysis/analysis.cfg +++ b/compass/ocean/tests/hurricane/analysis/analysis.cfg @@ -9,3 +9,5 @@ plot_max_date = 2012 11 04 00 00 # the name before the : is the lable to be use in legend labels # the path after the : is the path to the pointwiseStats.nc file (not including file name) analysis_runs = MPAS-O:./ + +plot_station_dems = False From f510b49a8968c64a67fb6a8d5a622fd480979df1 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Thu, 25 Sep 2025 09:50:55 -0700 Subject: [PATCH 42/68] Fix rebase issues from cull step topography smoothing option --- compass/ocean/tests/hurricane/mesh/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index 5a0fd864a8..79b9af7aa9 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -80,7 +80,7 @@ def __init__(self, test_group, mesh_name, use_lts): cull_mesh_step = CullMeshStep( test_case=self, base_mesh_step=base_mesh_step, with_ice_shelf_cavities=True, - preserve_floodplain=True, remap_topography=remap_step) + preserve_floodplain=True, unsmoothed_topo=remap_step) self.add_step(cull_mesh_step) From 79993553947884bd032a4a739e429ec2b685c8db Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 21 Oct 2025 12:27:20 -0700 Subject: [PATCH 43/68] Clean up parabolic bowl test case --- .../parabolic_bowl/namelist.subgrid.init | 2 ++ .../tests/parabolic_bowl/viz/__init__.py | 35 +++++++++++-------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/compass/ocean/tests/parabolic_bowl/namelist.subgrid.init b/compass/ocean/tests/parabolic_bowl/namelist.subgrid.init index c56e921b51..edc87d6d17 100644 --- a/compass/ocean/tests/parabolic_bowl/namelist.subgrid.init +++ b/compass/ocean/tests/parabolic_bowl/namelist.subgrid.init @@ -4,3 +4,5 @@ config_parabolic_bowl_subgrid_table_levels = 100 config_parabolic_bowl_subgrid_refinement_level = 10 config_parabolic_bowl_subgrid_use_thin_layer = .true. config_parabolic_bowl_subgrid_edge_bathymetry_max_pixel = .true. +config_subgrid_ssh_table_min = -100.0 +config_subgrid_ssh_table_max = 100.0 diff --git a/compass/ocean/tests/parabolic_bowl/viz/__init__.py b/compass/ocean/tests/parabolic_bowl/viz/__init__.py index b811138278..37425433de 100644 --- a/compass/ocean/tests/parabolic_bowl/viz/__init__.py +++ b/compass/ocean/tests/parabolic_bowl/viz/__init__.py @@ -2,6 +2,7 @@ import os import subprocess +import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np import xarray as xr @@ -43,6 +44,9 @@ def run(self): Run this step of the test case """ + mpl.rcParams['mathtext.fontset'] = 'stix' + mpl.rcParams['font.family'] = 'STIXGeneral' + points = self.get_points() self.timeseries_plots(points) self.inject_exact_solution() @@ -82,16 +86,16 @@ def timeseries_plots(self, points): for i, pt in enumerate(points): ssh = interp(pt).T - ax[i].plot(t / 86400, ssh, label=f'{res}km') + ax[i].plot(t / 86400, ssh, label=f'{res} km') for i, pt in enumerate(points): ssh_exact = self.exact_solution('zeta', pt[0], pt[1], t) - ax[i].plot(t / 86400, ssh_exact, label='exact') + ax[i].plot(t / 86400, ssh_exact, label='exact', color='k') for i, pt in enumerate(points): ax[i].set_xlabel('t (days)') ax[i].set_ylabel('ssh (m)') - ax[i].set_title(f'Point ({pt[0]/1000}, {pt[1]/1000})') + ax[i].set_title(f'Point ({pt[0] / 1000}, {pt[1] / 1000})') if i == len(points) - 1: lines, labels = ax[i].get_legend_handles_labels() @@ -127,7 +131,7 @@ def inject_exact_solution(self): ds.ssh_exact.encoding['_FillValue'] = None ds.layerThickness_exact.encoding['_FillValue'] = None ds.to_netcdf(f'output_{res}km.nc', - format="NETCDF3_64BIT_OFFSET", mode='a') + format="NETCDF3_64BIT", mode='a') ds.close() def contour_plots(self, points): @@ -155,7 +159,7 @@ def contour_plots(self, points): ncols = len(self.resolutions) + 1 fig, ax = plt.subplots(nrows=1, ncols=ncols, - figsize=(5 * ncols, 5), + figsize=(3 * ncols, 3), constrained_layout=True) for j, res in enumerate(self.resolutions): @@ -165,7 +169,7 @@ def contour_plots(self, points): levels=clevels, cmap=cmap, vmin=sol_min, vmax=sol_max, extend='both') ax[j].set_aspect('equal', 'box') - ax[j].set_title(f'{res}km resolution') + ax[j].set_title(f'{res} km resolution') ax[j].set_xlabel('x (km)') ax[j].set_ylabel('y (km)') ds.close() @@ -185,7 +189,9 @@ def contour_plots(self, points): ax[ncols - 1].set_ylabel('y (km)') ds.close() - cb = fig.colorbar(cm, ax=ax[-1], shrink=0.6) + tick_step = 0.5 + ticks = np.arange(sol_min, sol_max + tick_step, tick_step) + cb = fig.colorbar(cm, ax=ax[-1], shrink=0.7, ticks=ticks) cb.set_label('ssh (m)') t = round((time[i] - time[0]).total_seconds() / 86400., 2) fig.suptitle((f'{self.wetdry} ({self.ramp_type}) ' @@ -205,10 +211,10 @@ def rmse_plots(self): noramp_name = 'noramp_lts' comparisons = [] - cases = {'standard_ramp': f'../../../standard/{ramp_name}/viz', - 'standard_noramp': f'../../../standard/{noramp_name}/viz', - 'subgrid_ramp': f'../../../subgrid/{ramp_name}/viz', - 'subgrid_noramp': f'../../../subgrid/{noramp_name}/viz'} + cases = {'standard (ramp)': f'../../../standard/{ramp_name}/viz', + 'standard (no ramp)': f'../../../standard/{noramp_name}/viz', + 'subgrid (ramp)': f'../../../subgrid/{ramp_name}/viz', + 'subgrid (no ramp)': f'../../../subgrid/{noramp_name}/viz'} for case in cases: include = True for res in self.resolutions: @@ -217,7 +223,8 @@ def rmse_plots(self): if include: comparisons.append(case) - fig, ax = plt.subplots(nrows=1, ncols=1) + fig, ax = plt.subplots(figsize=(5, 4), + nrows=1, ncols=1, layout='constrained') max_rmse = 0 resolutions = self.resolutions @@ -245,11 +252,9 @@ def rmse_plots(self): ax.set_xlabel('Cell size (km)') ax.set_ylabel('RMSE (m)') - ax.invert_xaxis() - ax.legend(loc='lower right') + fig.legend(loc='outside lower center', ncol=3) ax.set_title('Layer thickness convergence') - fig.tight_layout() fig.savefig('error.png') def compute_rmse(self, varname, filename): From 0be480d2f9018191a40cdb23df8bf4ea0481246c Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 21 Oct 2025 12:29:36 -0700 Subject: [PATCH 44/68] Clean up buttermilk bay test case --- compass/ocean/tests/buttermilk_bay/initial_state.py | 2 +- compass/ocean/tests/buttermilk_bay/namelist.init | 8 +++++++- compass/ocean/tests/buttermilk_bay/namelist.subgrid.init | 6 +++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/compass/ocean/tests/buttermilk_bay/initial_state.py b/compass/ocean/tests/buttermilk_bay/initial_state.py index e9a8b12e93..f92ce05167 100644 --- a/compass/ocean/tests/buttermilk_bay/initial_state.py +++ b/compass/ocean/tests/buttermilk_bay/initial_state.py @@ -40,7 +40,7 @@ def __init__(self, test_case, name, resolution, self.add_input_file( filename='buttermilk_bathy.nc', target='buttermilk_bathy.nc', - database='bathymetry_database') + database='buttermilk_bay') for file in ['base_mesh.nc', 'culled_mesh.nc', 'culled_graph.info', 'ocean.nc', 'init_mode_forcing_data.nc']: diff --git a/compass/ocean/tests/buttermilk_bay/namelist.init b/compass/ocean/tests/buttermilk_bay/namelist.init index 6600f40fc1..57c8328155 100644 --- a/compass/ocean/tests/buttermilk_bay/namelist.init +++ b/compass/ocean/tests/buttermilk_bay/namelist.init @@ -4,6 +4,12 @@ config_use_wetting_drying = .true. config_drying_min_cell_height = 0.05 config_write_cull_cell_mask = .false. config_Buttermilk_bay_vert_levels = 1 -config_Buttermilk_bay_topography_file = 'buttermilk_bathy.nc' config_write_cull_cell_mask = .true. config_use_tidal_forcing = .true. +config_subgrid_topography_file = 'buttermilk_bathy.nc' +config_use_subgrid_wetting_drying = .true. +config_subgrid_table_levels = -1 +config_Buttermilk_bay_subgrid_table_levels = 100 +config_subgrid_refinement_level = 10 +config_subgrid_use_thin_layer = .false. +config_subgrid_edge_bathymetry_max_pixel = .true. diff --git a/compass/ocean/tests/buttermilk_bay/namelist.subgrid.init b/compass/ocean/tests/buttermilk_bay/namelist.subgrid.init index 85e8a4cca6..c342ea08d6 100644 --- a/compass/ocean/tests/buttermilk_bay/namelist.subgrid.init +++ b/compass/ocean/tests/buttermilk_bay/namelist.subgrid.init @@ -1,6 +1,6 @@ config_use_subgrid_wetting_drying = .true. config_subgrid_table_levels = -1 config_Buttermilk_bay_subgrid_table_levels = 100 -config_Buttermilk_bay_subgrid_refinement_level = 10 -config_Buttermilk_bay_subgrid_use_thin_layer = .false. -config_Buttermilk_bay_subgrid_edge_bathymetry_max_pixel = .true. +config_subgrid_refinement_level = 10 +config_subgrid_use_thin_layer = .false. +config_subgrid_edge_bathymetry_max_pixel = .true. From 369cbca7f9aa8544f4d15c1efd6c10b67f4bd814 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 21 Oct 2025 14:21:34 -0700 Subject: [PATCH 45/68] Improve DEM plotting around stations --- .../tests/hurricane/analysis/__init__.py | 195 +++++++++++++----- 1 file changed, 140 insertions(+), 55 deletions(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index 2a4ae51be7..f7aa6d10a3 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -6,6 +6,7 @@ import cartopy.crs as ccrs import cartopy.feature as cfeature import cmocean +import matplotlib as mpl import matplotlib.colors as mcolors import matplotlib.dates as mdates import matplotlib.gridspec as gridspec @@ -229,6 +230,9 @@ def run(self): """ plt.switch_backend('agg') + mpl.rcParams['mathtext.fontset'] = 'stix' + mpl.rcParams['font.family'] = 'STIXGeneral' + plot_station_dems = self.config.getboolean('hurricane_analysis', 'plot_station_dems') @@ -328,7 +332,7 @@ def run(self): # Plot observed data ax3 = fig.add_subplot(gs[1, :]) l1, = ax3.plot(obs_data['datetime'], obs_data['ssh'], 'C0-') - labels = ['Observed'] + labels = ['observed'] lines = [l1] hwm_obs.append(np.max(obs_data['ssh'])) @@ -369,7 +373,7 @@ def run(self): ncol=3, fancybox=False, edgecolor='k') st = plt.suptitle('Station ' + sta, y=1.025, fontsize=16) fig.tight_layout() - fig.savefig(f'{obs}_plots/{sta}.png', bbox_inches='tight', + fig.savefig(f'{obs}_plots/{sta}_sta.png', bbox_inches='tight', bbox_extra_artists=(lgd, st,)) plt.close() @@ -430,37 +434,72 @@ def run(self): fig.savefig(f'hwm_spatial_{run}.png', bbox_inches='tight') plt.close() - def plot_dem(self, sta, sta_lon, sta_lat): + def find_data_in_bbox(self, sta_lon, sta_lat, eps): dsMesh = xr.open_dataset('mesh.nc') # Find DEM tile containing station lat_name = 'lat' lon_name = 'lon' + locs = [[sta_lon - eps, sta_lat + eps], + [sta_lon, sta_lat + eps], + [sta_lon + eps, sta_lat + eps], + [sta_lon - eps, sta_lat], + [sta_lon, sta_lat], + [sta_lon + eps, sta_lat], + [sta_lon - eps, sta_lat - eps], + [sta_lon, sta_lat - eps], + [sta_lon + eps, sta_lat - eps]] + + bbox = np.array([sta_lon - eps, sta_lon + eps, + sta_lat - eps, sta_lat + eps]) + patches1, patches2 = self.compute_cell_patches(dsMesh, bbox) + + dems = {} for dem in self.bathy_files['NCEI']: ds_topo = xr.open_dataset(f'NCEI_data/{dem}') lon = ds_topo.lon.values lat = ds_topo.lat.values da_topo = ds_topo.Band1 - if sta_lon > np.min(lon) and sta_lon < np.max(lon) and \ - sta_lat > np.min(lat) and sta_lat < np.max(lat): + lon_min = np.min(lon) + lon_max = np.max(lon) + lat_min = np.min(lat) + lat_max = np.max(lat) + for loc in locs: + lon_pt = loc[0] + lat_pt = loc[1] + if lon_pt > lon_min and lon_pt < lon_max and \ + lat_pt > lat_min and lat_pt < lat_max: + + if lat_name in da_topo.dims: + lat = da_topo[lat_name] + if lat.ndim == 1 and (lat.diff(lat_name) < 0).any(): + da_topo = da_topo.sortby(lat_name) + + if lon_name in da_topo.dims: + lon = da_topo[lon_name] + if lon.ndim == 1 and (lon.diff(lon_name) < 0).any(): + da_topo = da_topo.sortby(lon_name) + + dems[dem] = da_topo - if lat_name in da_topo.dims: - lat = da_topo[lat_name] - if lat.ndim == 1 and (lat.diff(lat_name) < 0).any(): - da_topo = da_topo.sortby(lat_name) + lulcs = {} + for dem in dems: + ds_lulc = xr.open_dataset(f'LULC_data/landuse_from_{dem}') + da_lulc = ds_lulc.Band1 - if lon_name in da_topo.dims: - lon = da_topo[lon_name] - if lon.ndim == 1 and (lon.diff(lon_name) < 0).any(): - da_topo = da_topo.sortby(lon_name) + lulcs[dem] = da_lulc - break + return dems, lulcs, patches1, patches2 - ds_lulc = xr.open_dataset(f'LULC_data/landuse_from_{dem}') - da_lulc = ds_lulc.Band1 + def plot_dem(self, sta, sta_lon, sta_lat): + + eps = 0.25 + dems, lulcs, patches1, patches2 = self.find_data_in_bbox(sta_lon, + sta_lat, + eps) - fig = plt.figure(figsize=[18, 12]) + fig = plt.figure(figsize=[12, 8]) ax = [] ax.append(fig.add_subplot(2, 2, 1)) ax.append(fig.add_subplot(2, 2, 2)) @@ -472,33 +511,67 @@ def plot_dem(self, sta, sta_lon, sta_lat): bbox = np.array([sta_lon - eps, sta_lon + eps, sta_lat - eps, sta_lat + eps]) - patches = self.compute_cell_patches(dsMesh, bbox) - - skip_topo = False - try: - da = da_topo.sel(lon=slice(bbox[0], bbox[1]), - lat=slice(bbox[2], bbox[3])) - except KeyError: - print('topo slicing failed') - skip_topo = True + j = 0 + for dem in dems: + da_topo = dems[dem] + da_lulc = lulcs[dem] + skip_topo = False + try: + da = da_topo.sel(lon=slice(bbox[0] - .25 * eps, + bbox[1] + .25 * eps), + lat=slice(bbox[2] - .25 * eps, + bbox[3] + .25 * eps)) + except: # noqa: E722 + print('topo slicing failed') + skip_topo = True + + if da.sizes['lon'] == 0 or da.sizes['lat'] == 0: + skip_topo = True + + if skip_topo: + continue + + j = j + 1 + + # Plot DEM topo + if i == 0: + vmin = -40.0 + vmax = 40.0 + elif i == 1: + vmin = -20.0 + vmax = 20.0 - if not skip_topo: axi = 2 * i - da.plot(ax=ax[axi], - cmap=cmocean.cm.topo, - cbar_kwargs={'label': 'topo'}) - ax[axi].plot(sta_lon, sta_lat, - marker='o', - markerfacecolor='k', - markeredgecolor='r', - zorder=102) - ax[axi].axis('equal') + if j == 1: + da.plot(ax=ax[axi], + cmap=cmocean.cm.topo, + vmin=vmin, + vmax=vmax, + cbar_kwargs={'label': 'bathymetry/topography'}) + ax[axi].plot(sta_lon, sta_lat, + marker='o', + markerfacecolor='k', + markeredgecolor='r', + zorder=102) + if i == 0: + ax[axi].add_collection(patches1) + elif i == 1: + ax[axi].add_collection(patches2) + else: + da.plot(ax=ax[axi], + cmap=cmocean.cm.topo, + vmin=vmin, + vmax=vmax, + add_colorbar=False) ax[axi].autoscale(enable=False) - ax[axi].add_collection(patches) + ax[axi].axis('equal') ax[axi].set_xlabel('longitude') ax[axi].set_ylabel('latitude') + ax[axi].set_xlim(bbox[0], bbox[1]) + ax[axi].set_ylim(bbox[2], bbox[3]) - tick_locations = range(2, 24) + # Plot LULC + tick_locations = np.linspace(2.5, 23.5, 22).tolist() tick_labels = ['h.i. dev', 'm.i. dev', 'l.i. dev', @@ -522,27 +595,35 @@ def plot_dem(self, sta, sta_lon, sta_lat): 'p.a. bed', 'e.a. bed'] - da = da_lulc.sel(lon=slice(bbox[0], bbox[1]), - lat=slice(bbox[2], bbox[3])) + da = da_lulc formt = plt.FuncFormatter( lambda x, p: tick_labels[tick_locations.index(x)]) axi = 2 * i + 1 - da.plot(ax=ax[axi], - cmap=self.tab25, - vmin=2, - vmax=23, - cbar_kwargs={'label': 'LULC', - 'ticks': tick_locations, - 'format': formt}) - ax[axi].plot(sta_lon, sta_lat, - marker='o', - markerfacecolor='k', - markeredgecolor='r', - zorder=102) + if j == 1: + da.plot(ax=ax[axi], + cmap=self.tab25, + vmin=2, + vmax=24, + cbar_kwargs={'label': 'LULC', + 'ticks': tick_locations, + 'format': formt}) + ax[axi].plot(sta_lon, sta_lat, + marker='o', + markerfacecolor='k', + markeredgecolor='r', + zorder=102) + else: + da.plot(ax=ax[axi], + cmap=self.tab25, + add_colorbar=False, + vmin=2, + vmax=23) ax[axi].axis('equal') ax[axi].set_xlabel('longitude') ax[axi].set_ylabel('latitude') + ax[axi].set_xlim(bbox[0], bbox[1]) + ax[axi].set_ylim(bbox[2], bbox[3]) fig.tight_layout() fig.savefig(f'{sta}_dem.png', bbox_inches='tight') @@ -587,7 +668,11 @@ def compute_cell_patches(self, dsMesh, bbox): polygon = Polygon(vertices, closed=True) patches.append(polygon) - p = PatchCollection(patches, alpha=0.5, - facecolor='none', edgecolor='k') + # need two copies becuase same collection + # cannot be added to separate axes + p1 = PatchCollection(patches, alpha=0.5, + facecolor='none', edgecolor='k', zorder=10) + p2 = PatchCollection(patches, alpha=0.5, + facecolor='none', edgecolor='k', zorder=10) - return p + return p1, p2 From 188329bea0ae8163fbdc586d4b7b64ad83bc0c8c Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 21 Oct 2025 14:28:57 -0700 Subject: [PATCH 46/68] Remove highest resolution Delware Bay refinement - This was down to .6 km --- .../hurricane/mesh/devr45to5rr1/__init__.py | 44 +++++-------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py index 478a803b73..9e7518251a 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/__init__.py @@ -7,12 +7,12 @@ class DEVR45to5rr1BaseMesh(VRTidesMesh, FloodplainMeshStep): """ - A step for creating DEQU120at30cr10rr2 meshes + A step for creating DEVR45to5rr1BaseMesh meshes """ def region_multiplier(self, xgrid): """ - Create cell width array for this mesh on a regular latitude-longitude - grid + Create cell width multiplier array for this mesh on a + regular latitude-longitude grid Returns ------- @@ -30,7 +30,7 @@ def region_multiplier(self, xgrid): params = ct.default_params params['ddeg'] = xgrid[1] - xgrid[0] - # QU 120 background mesh and enhanced Atlantic (30km) + # Background params["mesh_type"] = "QU" params["dx_max_global"] = 1.0 params["region_box"] = ct.Atlantic @@ -40,49 +40,29 @@ def region_multiplier(self, xgrid): params["trans_width"] = 5000.0 * km params["trans_start"] = 500.0 * km - cell_width, lon, lat = ct.coastal_refined_mesh(params) + multiplier, lon, lat = ct.coastal_refined_mesh(params) - # Northeast refinement (10km) + # Northeast refinement params["region_box"] = ct.Delaware_Bay params["plot_box"] = ct.Western_Atlantic params["dx_min_coastal"] = 0.5 params["trans_width"] = 600.0 * km params["trans_start"] = 400.0 * km - cell_width, lon, lat = ct.coastal_refined_mesh( - params, cell_width, lon, lat) + multiplier, lon, lat = ct.coastal_refined_mesh( + params, multiplier, lon, lat) - # Delaware regional refinement (6km) + # Delaware regional refinement (1.25 km) params["region_box"] = ct.Delaware_Region params["plot_box"] = ct.Delaware params["dx_min_coastal"] = 0.25 params["trans_width"] = 175.0 * km params["trans_start"] = 75.0 * km - cell_width, lon, lat = ct.coastal_refined_mesh( - params, cell_width, lon, lat) - - # Delaware Bay high-resolution (2km) - Delaware_restrict = {"include": [np.array([[-75.853, 39.732], - [-74.939, 36.678], - [-71.519, 40.156], - [-74.784, 40.296]]), - np.array([[-76.024, 37.188], - [-75.214, 36.756], - [-74.512, 37.925], - [-75.274, 38.318]])], - "exclude": []} - params["region_box"] = ct.Delaware_Bay - params["plot_box"] = ct.Delaware - params["restrict_box"] = Delaware_restrict - params["dx_min_coastal"] = 0.125 - params["trans_width"] = 100.0 * km - params["trans_start"] = 17.0 * km + multiplier, lon, lat = ct.coastal_refined_mesh( + params, multiplier, lon, lat) - cell_width, lon, lat = ct.coastal_refined_mesh( - params, cell_width, lon, lat) - - return cell_width, lon, lat + return multiplier, lon, lat def build_cell_width_lat_lon(self): From 11478268c1d7f2460079b854636a3fdc4626bcaf Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 21 Oct 2025 14:31:12 -0700 Subject: [PATCH 47/68] Add clipping limits to subgrid hurricane init namelist --- compass/ocean/tests/hurricane/init/namelist.init_subgrid | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compass/ocean/tests/hurricane/init/namelist.init_subgrid b/compass/ocean/tests/hurricane/init/namelist.init_subgrid index 32603eb21f..0f04aca799 100644 --- a/compass/ocean/tests/hurricane/init/namelist.init_subgrid +++ b/compass/ocean/tests/hurricane/init/namelist.init_subgrid @@ -27,3 +27,5 @@ config_subgrid_lulc_lat_varname = 'lat' config_subgrid_lulc_lon_varname = 'lon' config_subgrid_lulc_varname = 'Band1' config_subgrid_lulc_fill_value = 99999 +config_subgrid_ssh_table_min = -8.0 +config_subgrid_ssh_table_max = 8.0 From deec9757f494dfd2081ca440d6c86cf748dcb4ec Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 11:55:02 -0800 Subject: [PATCH 48/68] Format decimal seconds for dt in buttermilk bay case --- compass/ocean/tests/buttermilk_bay/forward.py | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/compass/ocean/tests/buttermilk_bay/forward.py b/compass/ocean/tests/buttermilk_bay/forward.py index 92d38d14c4..d6abfe84f0 100644 --- a/compass/ocean/tests/buttermilk_bay/forward.py +++ b/compass/ocean/tests/buttermilk_bay/forward.py @@ -1,5 +1,3 @@ -import time - from compass.model import run_model from compass.step import Step @@ -107,11 +105,27 @@ def get_dt(self): dt_per_m = config.getfloat('buttermilk_bay', 'dt_per_m') dt = dt_per_m * self.resolution - # https://stackoverflow.com/a/1384565/7728169 - dt = time.strftime('%H:%M:%S', time.gmtime(dt)) + dt = self.format_seconds(dt, 1) return dt + def format_seconds(self, seconds, decimal_places=2): + # Handle negative values + is_negative = seconds < 0 + seconds = abs(seconds) + + # Extract hours, minutes, and seconds + hours = int(seconds // 3600) + remaining = seconds % 3600 + minutes = int(remaining // 60) + secs = remaining % 60 + + # Format the string with specified decimal places + sign = '-' if is_negative else '' + time = (f"{sign}{hours:02d}:{minutes:02d}:" + f"{secs:0{3 + decimal_places}.{decimal_places}f}") + return time + def _get_resources(self): """ get the these properties from the config options """ config = self.config From 30222eff460bd3743644b7c94a2b716318da8971 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 11:58:36 -0800 Subject: [PATCH 49/68] Enable mannings n subgrid friction in buttermilk bay case --- compass/ocean/tests/buttermilk_bay/namelist.forward | 2 ++ compass/ocean/tests/buttermilk_bay/namelist.init | 3 +++ compass/ocean/tests/buttermilk_bay/streams.forward | 8 ++++++++ compass/ocean/tests/buttermilk_bay/streams.init | 3 +++ .../ocean/tests/buttermilk_bay/streams.subgrid.forward | 2 ++ 5 files changed, 18 insertions(+) diff --git a/compass/ocean/tests/buttermilk_bay/namelist.forward b/compass/ocean/tests/buttermilk_bay/namelist.forward index 1e278c4f80..19de15b7c7 100644 --- a/compass/ocean/tests/buttermilk_bay/namelist.forward +++ b/compass/ocean/tests/buttermilk_bay/namelist.forward @@ -17,6 +17,8 @@ config_mom_del2 = 2.0e1 config_use_tidal_forcing = .true. config_tidal_forcing_type = 'direct' config_tidal_forcing_model = 'monochromatic' +config_use_variable_drag = .true. +config_implicit_bottom_drag_type = 'mannings' config_zero_drying_velocity_ramp = .true. config_zero_drying_velocity_ramp_hmin = 0.05 config_zero_drying_velocity_ramp_hmax = 0.10 diff --git a/compass/ocean/tests/buttermilk_bay/namelist.init b/compass/ocean/tests/buttermilk_bay/namelist.init index 57c8328155..f11d6f1b04 100644 --- a/compass/ocean/tests/buttermilk_bay/namelist.init +++ b/compass/ocean/tests/buttermilk_bay/namelist.init @@ -6,10 +6,13 @@ config_write_cull_cell_mask = .false. config_Buttermilk_bay_vert_levels = 1 config_write_cull_cell_mask = .true. config_use_tidal_forcing = .true. +config_use_variable_drag = .true. config_subgrid_topography_file = 'buttermilk_bathy.nc' config_use_subgrid_wetting_drying = .true. config_subgrid_table_levels = -1 config_Buttermilk_bay_subgrid_table_levels = 100 +config_subgrid_ssh_table_min = -3.0 +config_subgrid_ssh_table_max = 3.0 config_subgrid_refinement_level = 10 config_subgrid_use_thin_layer = .false. config_subgrid_edge_bathymetry_max_pixel = .true. diff --git a/compass/ocean/tests/buttermilk_bay/streams.forward b/compass/ocean/tests/buttermilk_bay/streams.forward index 7458065f52..4c74e45732 100644 --- a/compass/ocean/tests/buttermilk_bay/streams.forward +++ b/compass/ocean/tests/buttermilk_bay/streams.forward @@ -48,4 +48,12 @@ + + + + + diff --git a/compass/ocean/tests/buttermilk_bay/streams.init b/compass/ocean/tests/buttermilk_bay/streams.init index 2f3d87dd20..12f1f58e80 100644 --- a/compass/ocean/tests/buttermilk_bay/streams.init +++ b/compass/ocean/tests/buttermilk_bay/streams.init @@ -26,6 +26,7 @@ + @@ -41,6 +42,8 @@ + + + + From 30c605781f4d61ac4015c04a0ded2664a4c86ded Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 12:03:14 -0800 Subject: [PATCH 50/68] Update buttermilk bay analysis points --- compass/ocean/tests/buttermilk_bay/buttermilk_bay.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compass/ocean/tests/buttermilk_bay/buttermilk_bay.cfg b/compass/ocean/tests/buttermilk_bay/buttermilk_bay.cfg index 852bc42e33..8c64efd6ee 100644 --- a/compass/ocean/tests/buttermilk_bay/buttermilk_bay.cfg +++ b/compass/ocean/tests/buttermilk_bay/buttermilk_bay.cfg @@ -27,7 +27,8 @@ max_cells_per_core = 3000 [buttermilk_bay_viz] # coordinates (in km) for timeseries plot -points = [2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56] +#points = [2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56] +points = [2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56] # generate contour plots at a specified interval between output timesnaps plot_interval = 1 From cc01e98582417a7d7da5ab3e519847aeb80ceacf Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 12:11:10 -0800 Subject: [PATCH 51/68] Update subgrid refinement level based on resolution in buttermilk bay case --- compass/ocean/tests/buttermilk_bay/initial_state.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compass/ocean/tests/buttermilk_bay/initial_state.py b/compass/ocean/tests/buttermilk_bay/initial_state.py index f92ce05167..d9e5a8baca 100644 --- a/compass/ocean/tests/buttermilk_bay/initial_state.py +++ b/compass/ocean/tests/buttermilk_bay/initial_state.py @@ -1,3 +1,4 @@ +import numpy as np from mpas_tools.io import write_netcdf from mpas_tools.mesh.conversion import convert, cull from mpas_tools.planar_hex import make_planar_hex_mesh @@ -23,6 +24,7 @@ def __init__(self, test_case, name, resolution, """ self.coord_type = coord_type self.resolution = resolution + self.wetdry = wetdry super().__init__(test_case=test_case, name=name, ntasks=1, min_tasks=1, openmp_threads=1) @@ -48,6 +50,11 @@ def __init__(self, test_case, name, resolution, self.add_model_as_input() + def setup(self): + level = int(self.resolution * np.tan(np.pi / 6.0)) + 1 + option = {'config_subgrid_refinement_level': f'{level}'} + self.add_namelist_options(option, mode='init') + def run(self): """ Run this step of the test case @@ -62,6 +69,7 @@ def run(self): else: vert_levels = config.getint('vertical_grid', 'vert_levels') options = {'config_buttermilk_bay_vert_levels': f'{vert_levels}'} + self.update_namelist_at_runtime(options) # Determine mesh parameters From 869dc78dbf67a8dd18d5b4dd6f89224c3465003e Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 12:22:39 -0800 Subject: [PATCH 52/68] Update buttermilk bay viz --- .../tests/buttermilk_bay/viz/__init__.py | 153 ++++++++++++++---- 1 file changed, 126 insertions(+), 27 deletions(-) diff --git a/compass/ocean/tests/buttermilk_bay/viz/__init__.py b/compass/ocean/tests/buttermilk_bay/viz/__init__.py index 300c9f61a7..92232e304c 100644 --- a/compass/ocean/tests/buttermilk_bay/viz/__init__.py +++ b/compass/ocean/tests/buttermilk_bay/viz/__init__.py @@ -1,11 +1,17 @@ import datetime as dt import os import subprocess +from pathlib import Path +import matplotlib as mpl +import matplotlib.colors as mcolors import matplotlib.pyplot as plt +import matplotlib.ticker as ticker +import mosaic import numpy as np import xarray as xr -from scipy.interpolate import LinearNDInterpolator +from inpoly import inpoly2 +from scipy.interpolate import LinearNDInterpolator, NearestNDInterpolator from compass.step import Step @@ -42,6 +48,11 @@ def __init__(self, test_case, wetdry, resolutions): self.resolutions = resolutions self.wetdry = wetdry + self.add_input_file( + filename='buttermilk_bathy.nc', + target='buttermilk_bathy.nc', + database='buttermilk_bay') + for res in resolutions: self.add_input_file(filename=f'output_{res}m.nc', target=f'../forward_{res}m/output.nc') @@ -51,6 +62,14 @@ def run(self): Run this step of the test case """ + self.resolutions = self.config.getlist('buttermilk_bay', + 'resolutions', dtype=int) + + plot_mode = 'paper' + if plot_mode == 'paper': + mpl.rcParams['mathtext.fontset'] = 'stix' + mpl.rcParams['font.family'] = 'STIXGeneral' + points = self.get_points() self.timeseries_plots(points) self.contour_plots(points) @@ -73,37 +92,69 @@ def timeseries_plots(self, points): for each resolution """ + plot_mode = 'paper' fig, ax = plt.subplots(nrows=len(points), ncols=1, - figsize=(6, 2 * len(points))) + figsize=(5, 1.5 * len(points))) + colors = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', + 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray'] + + for j, res in enumerate(self.resolutions): + filename = f'output_{res}m.nc' + exists = self.check_file_exists(filename) + if not exists: + continue - for res in self.resolutions: - ds = xr.open_dataset(f'output_{res}m.nc') + ds = xr.open_dataset(filename) time = [dt.datetime.strptime(x.decode(), '%Y-%m-%d_%H:%M:%S') for x in ds.xtime.values] t = np.asarray([(x - time[0]).total_seconds() for x in time]) xy = np.vstack((ds.xCell.values, ds.yCell.values)).T - interp = LinearNDInterpolator(xy, ds.ssh.values.T) + interp = NearestNDInterpolator(xy, ds.ssh.values.T) for i, pt in enumerate(points): ssh = interp(pt).T - ax[i].plot(t / 86400, ssh, label=f'{res}m') + if res == 8: + label = 'reference' + color = 'k' + else: + label = f'{res}m' + color = colors[j] + ax[i].plot(t / 86400, ssh, label=label, color=color) for i, pt in enumerate(points): ax[i].set_xlabel('t (days)') ax[i].set_ylabel('ssh (m)') - ax[i].set_title(f'Point ({pt[0]/1000}, {pt[1]/1000})') + + if plot_mode == 'paper': + title = f'Station {i + 1}' + else: + title = f'Point ({pt[0] / 1000}, {pt[1] / 1000})' + ax[i].set_title(title) if i == len(points) - 1: lines, labels = ax[i].get_legend_handles_labels() - - fig.suptitle(f'Buttermilk Bay ({self.wetdry})') + # ax[i].set_ylim(-2.5,2.5) + + titles = {'subgrid': 'a)', 'standard': 'b)'} + if plot_mode == 'paper': + title = titles[self.wetdry] + ha = 'left' + x = 0.0 + y = 0.98 + else: + title = f'Buttermilk Bay ({self.wetdry})' + ha = 'center' + x = 0.5 + y = 0.98 + + fig.suptitle(title, x=x, y=y, ha=ha, fontsize='x-large') fig.tight_layout() fig.subplots_adjust(bottom=0.2) fig.legend(lines, labels, - loc='lower center', ncol=4) - fig.savefig('points.png') + loc='lower center', ncol=3) + fig.savefig('points.png', dpi=400) def contour_plots(self, points): """ @@ -111,11 +162,16 @@ def contour_plots(self, points): and show where the points used in `points.png` are located. """ - sol_min = -2 - sol_max = 2 - clevels = np.linspace(sol_min, sol_max, 50) + sol_min = -2.0 + sol_max = 2.0 cmap = plt.get_cmap('RdBu') + minval = 0.2 + maxval = 0.8 + cmap = mcolors.LinearSegmentedColormap.from_list( + 'truncated RdBu', + cmap(np.linspace(minval, maxval, 256))) + ds = xr.open_dataset(f'output_{self.resolutions[0]}m.nc') time = [dt.datetime.strptime(x.decode(), '%Y-%m-%d_%H:%M:%S') for x in ds.xtime.values] @@ -123,6 +179,7 @@ def contour_plots(self, points): plot_interval = self.config.getint('buttermilk_bay_viz', 'plot_interval') + for i, tstep in enumerate(time): if i % plot_interval != 0: @@ -130,30 +187,72 @@ def contour_plots(self, points): ncols = len(self.resolutions) fig, ax = plt.subplots(nrows=1, ncols=ncols, - figsize=(5 * ncols, 5), + figsize=(3 * ncols, 3), constrained_layout=True) for j, res in enumerate(self.resolutions): - ds = xr.open_dataset(f'output_{res}m.nc') - cm = ax[j].tricontourf(ds.xCell / 1000, ds.yCell / 1000, - ds['ssh'][i, :], - levels=clevels, cmap=cmap, + filename = f'output_{res}m.nc' + exists = self.check_file_exists(filename) + if not exists: + continue + ds = xr.open_dataset(filename) + descriptor = mosaic.Descriptor(ds) + cm = mosaic.polypcolor(ax[j], descriptor, ds['ssh'][i, :], vmin=sol_min, vmax=sol_max, - extend='both') + cmap=cmap, antialiaseds=False) ax[j].set_aspect('equal', 'box') ax[j].set_title(f'{res}m resolution') ax[j].set_xlabel('x (km)') ax[j].set_ylabel('y (km)') ds.close() - ax[j].set_aspect('equal', 'box') - ax[j].scatter(points[:, 0] / 1000, - points[:, 1] / 1000, 15, 'k') + formatter = ticker.FuncFormatter(lambda x_val, + pos: f'{x_val / 1000:g}') - cb = fig.colorbar(cm, ax=ax[-1], shrink=0.6) + ax[j].xaxis.set_major_formatter(formatter) + ax[j].yaxis.set_major_formatter(formatter) + + ax[j].set_aspect('equal', 'box') + ax[j].scatter(points[:, 0], + points[:, 1], 15, 'k') + ax[j].set_xlim([0.0, 4000]) + ax[j].set_ylim([0.0, 3500]) + + for j, sta in enumerate(range(len(points))): + if (j == 2) | (j == 3): + xoffset = 50 + yoffset = -200 + else: + xoffset = 0 + yoffset = 100 + ax[0].text(points[j, 0] + xoffset, + points[j, 1] + yoffset, str(j + 1), color='k') + + tick_step = 0.5 + ticks = np.arange(sol_min, sol_max + tick_step, tick_step) + cb = fig.colorbar(cm, ax=ax[-1], shrink=0.7, + ticks=ticks, extend='both') cb.set_label('ssh (m)') t = round((time[i] - time[0]).total_seconds() / 86400., 2) - fig.suptitle((f'Buttermilk Bay ({self.wetdry}) ' - f'ssh solution at t={t} days')) - fig.savefig(f'solution_{i:03d}.png') + plot_mode = 'paper' + if plot_mode == 'paper': + titles = {'subgrid': 'a)', 'standard': 'c)'} + title = titles[self.wetdry] + ha = 'left' + x = 0.0 + y = 0.98 + else: + title = f'Buttermilk Bay ({self.wetdry}) ' \ + f'ssh solution at t={t} days' + ha = 'center' + x = 0.5 + y = 0.98 + fig.suptitle(title, ha=ha, x=x, y=y, fontsize='x-large') + fig.savefig(f'solution_{i:03d}.png', dpi=400) plt.close() + + def check_file_exists(self, path_str): + p = Path(path_str) + if p.exists(): + return True + return False From 548b9ba149f8b135dbc8725f6d37c76a5593bff2 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 12:43:26 -0800 Subject: [PATCH 53/68] Update parabolic bowl viz step --- .../tests/parabolic_bowl/viz/__init__.py | 66 ++++++++++++++++--- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/compass/ocean/tests/parabolic_bowl/viz/__init__.py b/compass/ocean/tests/parabolic_bowl/viz/__init__.py index 37425433de..6e58172340 100644 --- a/compass/ocean/tests/parabolic_bowl/viz/__init__.py +++ b/compass/ocean/tests/parabolic_bowl/viz/__init__.py @@ -3,6 +3,7 @@ import subprocess import matplotlib as mpl +import matplotlib.colors as mcolors import matplotlib.pyplot as plt import numpy as np import xarray as xr @@ -71,7 +72,7 @@ def timeseries_plots(self, points): for each resolution """ - fig, ax = plt.subplots(nrows=len(points), ncols=1) + fig, ax = plt.subplots(figsize=(5, 4), nrows=len(points), ncols=1) for res in self.resolutions: ds = xr.open_dataset(f'output_{res}km.nc') @@ -99,12 +100,28 @@ def timeseries_plots(self, points): if i == len(points) - 1: lines, labels = ax[i].get_legend_handles_labels() - fig.suptitle(f'{self.wetdry} ({self.ramp_type})') + plot_mode = 'paper' + if plot_mode == 'paper': + ha = 'left' + x = 0.0 + y = 0.98 + titles = {'subgrid (ramp)': 'a)', + 'subgrid (noramp)': 'c)', + 'standard (ramp)': 'b)', + 'standard (npramp)': 'd)'} + title = titles[f'{self.wetdry} ({self.ramp_type})'] + else: + ha = 'center' + x = 0.5 + y = 0.98 + title = f'{self.wetdry} ({self.ramp_type}) ' + + fig.suptitle(title, x=x, y=y, ha=ha, fontsize='x-large') fig.tight_layout() fig.subplots_adjust(bottom=0.2) fig.legend(lines, labels, loc='lower center', ncol=4) - fig.savefig('points.png') + fig.savefig('points.png', dpi=400) def inject_exact_solution(self): """ @@ -145,6 +162,12 @@ def contour_plots(self, points): clevels = np.linspace(sol_min, sol_max, 50) cmap = plt.get_cmap('RdBu') + minval = 0.2 + maxval = 0.8 + cmap = mcolors.LinearSegmentedColormap.from_list( + 'truncated RdBu', + cmap(np.linspace(minval, maxval, 256))) + ds = xr.open_dataset(f'output_{self.resolutions[0]}km.nc') time = [dt.datetime.strptime(x.decode(), '%Y-%m-%d_%H:%M:%S') for x in ds.xtime.values] @@ -189,14 +212,30 @@ def contour_plots(self, points): ax[ncols - 1].set_ylabel('y (km)') ds.close() + plot_mode = 'paper' + if plot_mode == 'paper': + ha = 'left' + x = 0.0 + y = 0.98 + titles = {'subgrid (ramp)': 'a)', + 'subgrid (noramp)': 'c)', + 'standard (ramp)': 'b)', + 'standard (npramp)': 'd)'} + title = titles[f'{self.wetdry} ({self.ramp_type})'] + else: + ha = 'center' + x = 0.5 + y = 0.98 + t = round((time[i] - time[0]).total_seconds() / 86400., 2) + title = f'{self.wetdry} ({self.ramp_type}) ' \ + f'ssh solution at t={t} days' + tick_step = 0.5 ticks = np.arange(sol_min, sol_max + tick_step, tick_step) cb = fig.colorbar(cm, ax=ax[-1], shrink=0.7, ticks=ticks) cb.set_label('ssh (m)') - t = round((time[i] - time[0]).total_seconds() / 86400., 2) - fig.suptitle((f'{self.wetdry} ({self.ramp_type}) ' - f'ssh solution at t={t} days')) - fig.savefig(f'solution_{i:03d}.png') + fig.suptitle(title, x=x, y=y, ha=ha, fontsize='x-large') + fig.savefig(f'solution_{i:03d}.png', dpi=400) plt.close() def rmse_plots(self): @@ -215,6 +254,10 @@ def rmse_plots(self): 'standard (no ramp)': f'../../../standard/{noramp_name}/viz', 'subgrid (ramp)': f'../../../subgrid/{ramp_name}/viz', 'subgrid (no ramp)': f'../../../subgrid/{noramp_name}/viz'} + colors = {'standard (ramp)': '#e66101', + 'standard (no ramp)': '#fdb863', + 'subgrid (ramp)': '#5e3c99', + 'subgrid (no ramp)': '#b2abd2'} for case in cases: include = True for res in self.resolutions: @@ -240,7 +283,8 @@ def rmse_plots(self): max_rmse = rmse[i] ax.loglog(resolutions, rmse, - linestyle='-', marker='o', label=comp) + linestyle='-', marker='o', + label=comp, color=colors[comp]) rmse_1st_order = np.zeros(len(resolutions)) rmse_1st_order[0] = max_rmse @@ -254,8 +298,10 @@ def rmse_plots(self): ax.set_ylabel('RMSE (m)') fig.legend(loc='outside lower center', ncol=3) - ax.set_title('Layer thickness convergence') - fig.savefig('error.png') + plot_mode = 'plot' + if plot_mode != 'plot': + ax.set_title('Layer thickness convergence') + fig.savefig('error.png', dpi=400) def compute_rmse(self, varname, filename): """ From f940176493421e65e2c953d0b0c2272d9cbf2977 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Mon, 16 Feb 2026 12:46:30 -0800 Subject: [PATCH 54/68] Add comment to cull.py about floodplains --- compass/ocean/mesh/cull.py | 1 + 1 file changed, 1 insertion(+) diff --git a/compass/ocean/mesh/cull.py b/compass/ocean/mesh/cull.py index 180fa17af3..452ecd97e6 100644 --- a/compass/ocean/mesh/cull.py +++ b/compass/ocean/mesh/cull.py @@ -381,6 +381,7 @@ def _cull_mesh_with_logging(logger, with_cavities, with_critical_passages, dsPreserve.append(dsCritPassMask) if preserve_floodplain: + # base mesh contains regionCellMasks field to indicate floodplain dsPreserve.append(dsBaseMesh) # fix land locked cells after adding critical land blockages, as these From 78b87dd8c9166acef01e56cc1ed703d99d754a4f Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 17 Feb 2026 14:11:36 -0800 Subject: [PATCH 55/68] Increase floodplain elevation to 40m for devr45to5rr1 mesh --- .../ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index 02b10de0a4..a204274b1c 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -10,7 +10,7 @@ cull_mesh_min_cpus_per_task = 1 cull_mesh_max_memory = 1000 # Elevation threshold to use for including land cells -floodplain_elevation = 20.0 +floodplain_elevation = 40.0 # Resolution threshold to use for including land cells floodplain_resolution = 4.0 # Minimum depth to enforce outside floodplain region From d3538b57ac77bd8bd95984ce0eea1990cb9fb4b1 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 17 Feb 2026 14:18:58 -0800 Subject: [PATCH 56/68] Add floodplain region capability --- compass/ocean/mesh/floodplain.py | 51 ++++++++++++++++++- .../hurricane/mesh/mab_floodplain.geojson | 1 + 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 compass/ocean/tests/hurricane/mesh/mab_floodplain.geojson diff --git a/compass/ocean/mesh/floodplain.py b/compass/ocean/mesh/floodplain.py index c6427cb8dd..99e9fa48fa 100644 --- a/compass/ocean/mesh/floodplain.py +++ b/compass/ocean/mesh/floodplain.py @@ -1,5 +1,8 @@ import netCDF4 as nc4 import numpy as np +from geometric_features import read_feature_collection +from inpoly import inpoly2 +from mpas_tools.mesh.creation.signed_distance import _add_poly import compass.ocean.tests.tides.dem.dem_remap as dem_remap from compass.mesh.spherical import QuasiUniformSphericalMeshStep @@ -89,15 +92,24 @@ def run(self): 'floodplain_resolution') else: floodplain_resolution = 1e10 + if config.has_option('spherical_mesh', 'floodplain_geojson'): + floodplain_geojson = config.get( + 'spherical_mesh', + 'floodplain_geojson') + floodplain_region = read_feature_collection(floodplain_geojson) + else: + floodplain_region = None self.inject_preserve_floodplain( mesh_file=mesh_filename, floodplain_elevation=floodplain_elevation, floodplain_resolution=floodplain_resolution, + floodplain_region=floodplain_region, min_depth_outside_floodplain=min_depth_outside_floodplain) def inject_preserve_floodplain(self, mesh_file, floodplain_elevation, floodplain_resolution=1e10, + floodplain_region=None, min_depth_outside_floodplain=5.0): nc_mesh = nc4.Dataset(mesh_file, 'r+') @@ -116,14 +128,16 @@ def inject_preserve_floodplain(self, mesh_file, floodplain_elevation, nc_mesh.variables['transectCellMasks'][:] = 0.0 floodplain = self.find_floodplain(mesh_file, floodplain_elevation, - floodplain_resolution) + floodplain_resolution, + floodplain_region) nc_mesh.variables['regionCellMasks'][:] = floodplain nc_mesh.close() def find_floodplain(self, mesh_file, floodplain_elevation, - floodplain_resolution): + floodplain_resolution, + floodplain_region): nc_mesh = nc4.Dataset(mesh_file, 'r+') @@ -132,6 +146,39 @@ def find_floodplain(self, mesh_file, floodplain_elevation, floodplain = np.logical_and( h < floodplain_resolution, nc_mesh.variables[bottomDepth][:] < floodplain_elevation) + if floodplain_region: + print("adding floodplain region") + nodes = list() + edges = list() + for feature in floodplain_region.features: + if feature['geometry']['type'] == 'Polygon': + for poly in feature['geometry']['coordinates']: + _add_poly(poly, edges, nodes) + + elif feature['geometry']['type'] == 'MultiPolygon': + for mpoly in feature['geometry']['coordinates']: + for poly in mpoly: + _add_poly(poly, edges, nodes) + + nodes = np.array(nodes) + edges = np.array(edges) + print(nodes) + print(edges) + + lon = np.degrees(nc_mesh.variables['lonCell'][:]) + lon = np.mod(lon + 180.0, 360.0) - 180.0 + lat = np.degrees(nc_mesh.variables['latCell'][:]) + + points = np.vstack([lon, lat]).T + + floodplain_mask, _ = inpoly2(points, nodes, edges) + floodplain_mask = 1 * floodplain_mask + print(np.max(floodplain_mask)) + print(np.min(floodplain_mask)) + + else: + floodplain_mask = 1 + floodplain = floodplain_mask * floodplain nc_mesh.close() diff --git a/compass/ocean/tests/hurricane/mesh/mab_floodplain.geojson b/compass/ocean/tests/hurricane/mesh/mab_floodplain.geojson new file mode 100644 index 0000000000..b24e3a2bda --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/mab_floodplain.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"coordinates":[[[-78.47692088468482,40.78167025733467],[-79.32537408525468,36.634748860227475],[-76.33285460413717,33.70447594117671],[-70.53943507429763,35.793074722730466],[-67.19564144050713,40.53345729739641],[-67.60305752637075,43.10043562338495],[-74.89855518461096,43.16477040552536],[-78.47692088468482,40.78167025733467]]],"type":"Polygon"}}]} From 401e83c716169ae1c02ee8c2b7be18ee6cd1b82d Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 17 Feb 2026 14:22:06 -0800 Subject: [PATCH 57/68] Add RRS6to18 mesh --- compass/ocean/tests/hurricane/__init__.py | 2 +- .../ocean/tests/hurricane/mesh/__init__.py | 4 + .../tests/hurricane/mesh/rrs6to18/__init__.py | 55 ++++++++++ .../mesh/rrs6to18/mab_floodplain.geojson | 53 +++++++++ .../hurricane/mesh/rrs6to18/namelist.ocean | 2 + .../hurricane/mesh/rrs6to18/rrs6to18.cfg | 101 ++++++++++++++++++ 6 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 compass/ocean/tests/hurricane/mesh/rrs6to18/__init__.py create mode 100644 compass/ocean/tests/hurricane/mesh/rrs6to18/mab_floodplain.geojson create mode 100644 compass/ocean/tests/hurricane/mesh/rrs6to18/namelist.ocean create mode 100644 compass/ocean/tests/hurricane/mesh/rrs6to18/rrs6to18.cfg diff --git a/compass/ocean/tests/hurricane/__init__.py b/compass/ocean/tests/hurricane/__init__.py index 67018cb282..4601e44914 100644 --- a/compass/ocean/tests/hurricane/__init__.py +++ b/compass/ocean/tests/hurricane/__init__.py @@ -17,7 +17,7 @@ def __init__(self, mpas_core): name='hurricane') storm = 'sandy' - mesh_names = ['DEQU120at30cr10rr2', 'DEVR45to5rr1'] + mesh_names = ['DEQU120at30cr10rr2', 'DEVR45to5rr1', 'RRS6to18'] wetdry_options = ['off', 'standard', 'subgrid'] for mesh_name in mesh_names: diff --git a/compass/ocean/tests/hurricane/mesh/__init__.py b/compass/ocean/tests/hurricane/mesh/__init__.py index 79b9af7aa9..253aecea03 100644 --- a/compass/ocean/tests/hurricane/mesh/__init__.py +++ b/compass/ocean/tests/hurricane/mesh/__init__.py @@ -8,6 +8,7 @@ from compass.ocean.tests.hurricane.mesh.devr45to5rr1 import ( DEVR45to5rr1BaseMesh, ) +from compass.ocean.tests.hurricane.mesh.rrs6to18 import RRS6to18BaseMesh from compass.ocean.tests.tides.dem import CreatePixelFile from compass.testcase import TestCase @@ -64,6 +65,9 @@ def __init__(self, test_group, mesh_name, use_lts): ncell_nwav=80, ncell_nslp=4, filt_sdev=0.5, filt_halo=50, filt_plev=0.325) mesh_lower = 'devr45to5rr1' + elif mesh_name == 'RRS6to18': + base_mesh_step = RRS6to18BaseMesh(self, pixel_step, name=name) + mesh_lower = 'rrs6to18' else: raise ValueError(f'Unexpected mesh name {mesh_name}') diff --git a/compass/ocean/tests/hurricane/mesh/rrs6to18/__init__.py b/compass/ocean/tests/hurricane/mesh/rrs6to18/__init__.py new file mode 100644 index 0000000000..5901dddbcc --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/rrs6to18/__init__.py @@ -0,0 +1,55 @@ +import mpas_tools.mesh.creation.mesh_definition_tools as mdt +import numpy as np + +from compass.ocean.mesh.floodplain import FloodplainMeshStep + + +class RRS6to18BaseMesh(FloodplainMeshStep): + """ + A step for creating RRS6to18 and RRSwISC6to18 meshes + """ + + def __init__(self, test_case, pixel, name='base_mesh', subdir=None, + elev_file='RTopo_2_0_4_GEBCO_v2023_30sec_pixel.nc'): + + super().__init__(test_case=test_case, name=name, subdir=subdir) + + self.elev_file = elev_file + pixel_path = pixel.path + + self.add_input_file( + filename='bathy.nc', + work_dir_target=f'{pixel_path}/{elev_file}') + + self.add_input_file(filename='mab_floodplain.geojson', + package=self.__module__) + + def build_cell_width_lat_lon(self): + """ + Create cell width array for this mesh on a regular latitude-longitude + grid + + Returns + ------- + cellWidth : numpy.array + m x n array of cell width in km + + lon : numpy.array + longitude in degrees (length n and between -180 and 180) + + lat : numpy.array + longitude in degrees (length m and between -90 and 90) + """ + + dlon = 10. + dlat = 0.1 + nlon = int(360. / dlon) + 1 + nlat = int(180. / dlat) + 1 + lon = np.linspace(-180., 180., nlon) + lat = np.linspace(-90., 90., nlat) + + cellWidthVsLat = mdt.RRS_CellWidthVsLat(lat, cellWidthEq=18., + cellWidthPole=6.) + cellWidth = np.outer(cellWidthVsLat, np.ones([1, lon.size])) + + return cellWidth, lon, lat diff --git a/compass/ocean/tests/hurricane/mesh/rrs6to18/mab_floodplain.geojson b/compass/ocean/tests/hurricane/mesh/rrs6to18/mab_floodplain.geojson new file mode 100644 index 0000000000..20e4f19cbc --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/rrs6to18/mab_floodplain.geojson @@ -0,0 +1,53 @@ +{ + "type":"FeatureCollection", + "features":[ + { + "type":"Feature", + "properties": { + "name": "region for MAB floodplain", + "component": "ocean", + "object": "region", + "author": "Steven Brus" + }, + "geometry": { + "type":"Polygon", + "coordinates": [ + [ + [ + -78.47692088468482, + 40.78167025733467 + ], + [ + -79.32537408525468, + 36.634748860227475 + ], + [ + -76.33285460413717, + 33.70447594117671 + ], + [ + -70.53943507429763, + 35.793074722730466 + ], + [ + -67.19564144050713, + 40.53345729739641 + ], + [ + -67.60305752637075, + 43.10043562338495 + ], + [ + -74.89855518461096, + 43.16477040552536 + ], + [ + -78.47692088468482, + 40.78167025733467 + ] + ] + ] + } + } + ] +} diff --git a/compass/ocean/tests/hurricane/mesh/rrs6to18/namelist.ocean b/compass/ocean/tests/hurricane/mesh/rrs6to18/namelist.ocean new file mode 100644 index 0000000000..2132f5fe72 --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/rrs6to18/namelist.ocean @@ -0,0 +1,2 @@ +config_dt = '00:00:10' +config_mom_del4 = 4.0e8 diff --git a/compass/ocean/tests/hurricane/mesh/rrs6to18/rrs6to18.cfg b/compass/ocean/tests/hurricane/mesh/rrs6to18/rrs6to18.cfg new file mode 100644 index 0000000000..8d428f762c --- /dev/null +++ b/compass/ocean/tests/hurricane/mesh/rrs6to18/rrs6to18.cfg @@ -0,0 +1,101 @@ +# options for spherical meshes +[spherical_mesh] + +## config options related to the step for culling land from the mesh +convert_culled_mesh_to_cdf5 = True +# number of cores to use +cull_mesh_cpus_per_task = 18 +# minimum of cores, below which the step fails +cull_mesh_min_cpus_per_task = 1 +# maximum memory usage allowed (in MB) +cull_mesh_max_memory = 1000 + +# Elevation threshold to use for including land cells +floodplain_elevation = 20.0 +# Resolution threshold to use for including land cells +floodplain_resolution = 16.0 +floodplain_geojson = mab_floodplain.geojson +# Minimum depth to enforce outside floodplain region +min_depth_outside_floodplain = 1.0 + + +# options for global ocean testcases +[global_ocean] + +# The following options are detected from .gitconfig if not explicitly entered +author = autodetect +email = autodetect + + +# options for hurricane testcases +[hurricane] + +## config options related to the initial_state step +# number of MPI tasks to use +init_ntasks = 512 +# minimum of MPI tasks, below which the step fails +init_min_tasks = 1 +# maximum memory usage allowed (in MB) +init_max_memory = 1000 +# number of threads +init_threads = 1 + +## config options related to the forward steps +# number of MPI tasks to use +forward_ntasks = 1024 +# minimum of MPI tasks, below which the step fails +forward_min_tasks = 1024 +# maximum memory usage allowed (in MB) +forward_max_memory = 1000 +# number of threads +forward_threads = 1 + +# config options related to remapping topography to an MPAS-Ocean mesh +[remap_topography] + +# the name of the topography file in the bathymetry database +topo_filename = BedMachineAntarctica-v3_GEBCO_2023_ne3000_20250110.nc +src_scrip_filename = ne3000_20250110.scrip.nc + +# weight generator function: +# `tempest` for cubed-sphere bathy or `esmf` for latlon bathy +weight_generator = tempest + +# the description to include in metadata +description = Bathymetry is from GEBCO 2023, combined with BedMachine + Antarctica v3 around Antarctica. + +# the target and minimum number of MPI tasks to use in remapping +ntasks = 4096 +min_tasks = 2048 + +# remapping method {'bilinear', 'neareststod', 'conserve'} +# must use 'conserve' for tempestremap +method = conserve + +# threshold of what fraction of an MPAS cell must contain ocean in order to +# perform renormalization of elevation variables +renorm_threshold = 0.01 + +# the density of land ice from MALI (kg/m^3) +ice_density = 910.0 + +# smoothing parameters +# no smoothing (required for esmf): +# expandDist = 0 [m] +# expandFactor = 1 [cell fraction] +expandDist = 0 +expandFactor = 1 + +# The io section describes options related to file i/o +[io] + +# the NetCDF file format: NETCDF4, NETCDF4_CLASSIC, NETCDF3_64BIT, or +# NETCDF3_CLASSIC +format = NETCDF4 + +# the NetCDF output engine: netcdf4 or scipy +# the netcdf4 engine is not performing well on Chrysalis and Anvil, so we will +# try scipy for now. If we can switch to NETCDF4 format, netcdf4 will be +# required +engine = netcdf4 From 02b3b337c51ac8bdf968e409b2fb0e77d2a436d7 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 17 Feb 2026 14:58:04 -0800 Subject: [PATCH 58/68] Update hurricane analysis --- .../tests/hurricane/analysis/__init__.py | 328 ++++++++++++------ 1 file changed, 229 insertions(+), 99 deletions(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index f7aa6d10a3..dba79d2a18 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -14,6 +14,7 @@ import netCDF4 import numpy as np import xarray as xr +from cartopy.mpl.ticker import LatitudeFormatter, LongitudeFormatter from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon from scipy import spatial @@ -264,10 +265,12 @@ def run(self): # Initialize for plotting high water marks after time series plots hwm_obs = [] hwm_mod = {} + never_wet = {} station_lon = [] station_lat = [] for i, run in enumerate(data): hwm_mod[run] = [] + never_wet[run] = [] # Create new colormap for LULC tab20_colors = plt.cm.get_cmap('tab20').colors @@ -293,131 +296,136 @@ def run(self): print(sta) i = stations['name'].index(sta) + sta_lon = stations['lon'][i] + sta_lat = stations['lat'][i] + station_lon.append(sta_lon) + station_lat.append(sta_lat) + # Read in observed data and get coordinates obs_data = self.read_station_data(f'{obs}_data/{sta}.txt', obs, self.adjust_min_date, self.run_max_date) - self.adjust_station_data(obs_data) + hwm_obs.append(np.max(obs_data['ssh'][obs_data['ssh'] < 99.0])) - sta_lon = stations['lon'][i] - sta_lat = stations['lat'][i] - station_lon.append(sta_lon) - station_lat.append(sta_lat) - - # Create figure - fig = plt.figure(figsize=[6, 4]) - gs = gridspec.GridSpec(nrows=2, ncols=2, figure=fig) - - # Plot observation station location - ax1 = fig.add_subplot(gs[0, 0], projection=ccrs.PlateCarree()) - ax1.set_extent([sta_lon - 10.0, sta_lon + 10.00, - sta_lat - 7.0, sta_lat + 7.0], - crs=ccrs.PlateCarree()) - ax1.add_feature(cfeature.LAND, zorder=100) - ax1.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) - ax1.coastlines('50m', zorder=101) - ax1.plot(sta_lon, sta_lat, 'C0o', zorder=102) - - # Plot local observation station location - ax2 = fig.add_subplot(gs[0, 1], projection=ccrs.PlateCarree()) - ax2.set_extent([sta_lon - 2.5, sta_lon + 2.5, - sta_lat - 1.75, sta_lat + 1.75], - crs=ccrs.PlateCarree()) - ax2.add_feature(cfeature.LAND, zorder=100) - ax2.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) - ax2.coastlines('50m', zorder=101) - ax2.plot(sta_lon, sta_lat, 'C0o', zorder=102) - - # Plot observed data - ax3 = fig.add_subplot(gs[1, :]) - l1, = ax3.plot(obs_data['datetime'], obs_data['ssh'], 'C0-') - labels = ['observed'] - lines = [l1] - hwm_obs.append(np.max(obs_data['ssh'])) - - for i, run in enumerate(data): + for run in data: # Find closest output point to station location d, idx = tree[run].query(np.asarray([sta_lon, sta_lat])) - # Plot output point location - ax1.plot(data[run]['lon'][idx], - data[run]['lat'][idx], - 'C' + str(i + 1) + 'o') - ax2.plot(data[run]['lon'][idx], - data[run]['lat'][idx], - 'C' + str(i + 1) + 'o') - - # Plot modelled data - l2, = ax3.plot(data[run]['datetime'], - data[run]['ssh'][:, idx], - 'C' + str(i + 1) + '-') - labels.append(run) - lines.append(l2) hwm_mod[run].append(np.max(data[run]['ssh'][:, idx])) + diff = np.abs(np.max(data[run]['ssh'][1000:, idx]) - + np.min(data[run]['ssh'][1000:, idx])) + never_wet[run].append(diff) - # Set figure labels and axis properties and save - ax3.set_xlabel('time') - ax3.set_ylabel('ssh (m)') - plot_min_date = self.config.get('hurricane_analysis', - 'plot_min_date') - plot_max_date = self.config.get('hurricane_analysis', - 'plot_max_date') - min_date = datetime.datetime.strptime(plot_min_date, self.frmt) - max_date = datetime.datetime.strptime(plot_max_date, self.frmt) - ax3.set_xlim([min_date, max_date]) - ax3.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) - lgd = plt.legend(lines, labels, loc=9, - bbox_to_anchor=(0.5, -0.5), - ncol=3, fancybox=False, edgecolor='k') - st = plt.suptitle('Station ' + sta, y=1.025, fontsize=16) - fig.tight_layout() - fig.savefig(f'{obs}_plots/{sta}_sta.png', bbox_inches='tight', - bbox_extra_artists=(lgd, st,)) - plt.close() + self.plot_timeseries(obs, sta, sta_lon, sta_lat, + obs_data, tree, data) # Plot DEM and LULC around station if plot_station_dems: self.plot_dem(sta, sta_lon, sta_lat) # Convert to numpy arrays + station_lon = np.asarray(station_lon) + station_lat = np.asarray(station_lat) hwm_obs = np.asarray(hwm_obs) for i, run in enumerate(data): hwm_mod[run] = np.asarray(hwm_mod[run]) + never_wet[run] = np.asarray(never_wet[run]) + + print(station_lon) + print(station_lon.shape) + idx_lon, = np.where(station_lon < -71.67) + print(idx_lon) + print(idx_lon.shape) + print(never_wet['standard']) + idx_nw, = np.where((station_lon < -71.67) & + (never_wet['standard'] > 0.05)) + print(idx_nw) + print(idx_nw.shape) + idx_sg_only, = np.where((station_lon < -71.67) & + (never_wet['standard'] < 0.05) & + (never_wet['subgrid'] > 0.05)) + print(idx_sg_only) + print(idx_sg_only.shape) # Plot modeled vs. observed hwm scatter - fig = plt.figure() - ax = fig.add_subplot(111) + fig = plt.figure(figsize=(10, 3.33)) + ax = fig.add_subplot(131) labels = [] scatters = [] + text = [] for i, run in enumerate(data): - sc = ax.scatter(hwm_obs, hwm_mod[run], alpha=0.5) + diff = hwm_mod[run] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_lon]))) + mae = np.mean(np.abs(diff[idx_lon])) + sc = ax.scatter(hwm_obs[idx_lon], hwm_mod[run][idx_lon], alpha=0.5) + text.append(f'{run} RMSE: {round(rmse, 2)} m') + text.append(f'{run} MAE: {round(mae, 2)} m') scatters.append(sc) labels.append(run) ln, = ax.plot(hwm_obs, hwm_obs, 'k') scatters.append(ln) labels.append('perfect agreement') - lgd = plt.legend(scatters, labels, loc=9, - bbox_to_anchor=(0.5, -0.1), - ncol=3, fancybox=False, edgecolor='k') - ax.set_xlabel('observed') - ax.set_ylabel('modeled') + ax.text(0.4, 20, '\n'.join(text), verticalalignment='top') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('a)', loc='left', fontsize='x-large') + + ax = fig.add_subplot(132) + diff = hwm_mod['subgrid'] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_sg_only]))) + mae = np.mean(np.abs(diff[idx_sg_only])) + sc = ax.scatter(hwm_obs[idx_sg_only], + hwm_mod['subgrid'][idx_sg_only], alpha=0.5) + text = '\n'.join([f'subgrid RMSE: {round(rmse, 2)} m', + f'subgrid MAE: {round(mae, 2)} m']) + ax.text(0.4, 5.0, text, verticalalignment='top') + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + scatters.append(ln) + labels.append('perfect agreement') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('b)', loc='left', fontsize='x-large') + + ax = fig.add_subplot(133) + labels = [] + scatters = [] + text = [] + for i, run in enumerate(data): + diff = hwm_mod[run] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_nw]))) + mae = np.mean(np.abs(diff[idx_nw])) + sc = ax.scatter(hwm_obs[idx_nw], hwm_mod[run][idx_nw], alpha=0.5) + text.append(f'{run} RMSE: {round(rmse, 2)} m') + text.append(f'{run} MAE: {round(mae, 2)} m') + scatters.append(sc) + labels.append(run) + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + ax.text(2.8, 1.6, '\n'.join(text), verticalalignment='top') + scatters.append(ln) + labels.append('perfect agreement') + fig.legend(scatters, labels, loc='outside lower center', + bbox_to_anchor=(0.5, -0.1), + ncol=3, fancybox=False, edgecolor='k') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('c)', loc='left', fontsize='x-large') + fig.tight_layout() - fig.savefig('hwm_mod_obs.png', bbox_inches='tight', - bbox_extra_artists=(lgd,)) + fig.savefig('hwm_mod_obs.png', dpi=400, bbox_inches='tight') plt.close() # Plot geographic hwm error - station_lon = np.asarray(station_lon) - station_lat = np.asarray(station_lat) + station_lon = station_lon[idx_lon] + station_lat = station_lat[idx_lon] for run in data: - fig = plt.figure() + fig = plt.figure(figsize=(5, 4)) ax = fig.add_subplot(111, projection=ccrs.PlateCarree()) - diff = hwm_mod[run] - hwm_obs - cm = ax.scatter(station_lon, station_lat, c=diff, cmap='PuOr', - zorder=102, vmax=3.0, vmin=-3.0, edgecolor='k') + cm = ax.scatter(station_lon, station_lat, c=diff[idx_lon], + cmap='PuOr', zorder=102, vmax=3.0, vmin=-3.0, + edgecolor='k') ax.set_extent([np.min(station_lon) - 0.1, np.max(station_lon) + 0.1, @@ -428,10 +436,35 @@ def run(self): ax.add_feature(cfeature.OCEAN, zorder=100) ax.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) ax.coastlines('50m', zorder=101) - cb = fig.colorbar(cm, extend='both') + + xticks = np.linspace(np.min(station_lon) - 0.1, + np.max(station_lon) + 0.1, 5) + yticks = np.linspace(np.min(station_lat) - 0.1, + np.max(station_lat) + 0.1, 5) + ax.set_xticks(xticks, crs=ccrs.PlateCarree()) + ax.set_yticks(yticks, crs=ccrs.PlateCarree()) + lon_formatter = LongitudeFormatter(number_format='.2f', + zero_direction_label=True) + lat_formatter = LatitudeFormatter(number_format='.2f') + ax.xaxis.set_major_formatter(lon_formatter) + ax.yaxis.set_major_formatter(lat_formatter) + + plot_mode = 'paper' + title = run + if plot_mode == 'paper': + if 'subgrid' in run: + title = 'a)' + elif 'standard' in run: + title = 'b)' + loc = 'left' + else: + loc = 'center' + ax.set_title(title, loc=loc, fontsize='x-large') + cb = fig.colorbar(cm, extend='both', pad=0.1) cb.set_label('max high water error (m)') fig.tight_layout() - fig.savefig(f'hwm_spatial_{run}.png', bbox_inches='tight') + + fig.savefig(f'hwm_spatial_{run}.png', dpi=400, bbox_inches='tight') plt.close() def find_data_in_bbox(self, sta_lon, sta_lat, eps): @@ -466,10 +499,12 @@ def find_data_in_bbox(self, sta_lon, sta_lat, eps): lat_min = np.min(lat) lat_max = np.max(lat) for loc in locs: - lon_pt = loc[0] - lat_pt = loc[1] - if lon_pt > lon_min and lon_pt < lon_max and \ - lat_pt > lat_min and lat_pt < lat_max: + # lon_pt = loc[0] + # lat_pt = loc[1] + # if lon_pt > lon_min and lon_pt < lon_max and \ + # lat_pt > lat_min and lat_pt < lat_max: + if lon_max > bbox[0] and lon_min < bbox[1] and \ + lat_max > bbox[2] and lat_min < bbox[3]: if lat_name in da_topo.dims: lat = da_topo[lat_name] @@ -492,9 +527,83 @@ def find_data_in_bbox(self, sta_lon, sta_lat, eps): return dems, lulcs, patches1, patches2 + def plot_timeseries(self, obs, sta, sta_lon, sta_lat, + obs_data, tree, data): + + # Create figure + fig = plt.figure(figsize=[6, 4]) + gs = gridspec.GridSpec(nrows=2, ncols=2, figure=fig) + + # Plot observation station location + ax1 = fig.add_subplot(gs[0, 0], projection=ccrs.PlateCarree()) + ax1.set_extent([sta_lon - 10.0, sta_lon + 10.00, + sta_lat - 7.0, sta_lat + 7.0], + crs=ccrs.PlateCarree()) + ax1.add_feature(cfeature.LAND, zorder=100) + ax1.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) + ax1.coastlines('50m', zorder=101) + ax1.plot(sta_lon, sta_lat, 'C0o', zorder=102) + + # Plot local observation station location + ax2 = fig.add_subplot(gs[0, 1], projection=ccrs.PlateCarree()) + ax2.set_extent([sta_lon - 2.5, sta_lon + 2.5, + sta_lat - 1.75, sta_lat + 1.75], + crs=ccrs.PlateCarree()) + ax2.add_feature(cfeature.LAND, zorder=100) + ax2.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) + ax2.coastlines('50m', zorder=101) + ax2.plot(sta_lon, sta_lat, 'C0o', zorder=102) + + # Plot observed data + ax3 = fig.add_subplot(gs[1, :]) + l1, = ax3.plot(obs_data['datetime'], obs_data['ssh'], 'C0-') + labels = ['observed'] + lines = [l1] + + for i, run in enumerate(data): + + # Find closest output point to station location + d, idx = tree[run].query(np.asarray([sta_lon, sta_lat])) + + # Plot output point location + ax1.plot(data[run]['lon'][idx], + data[run]['lat'][idx], + 'C' + str(i + 1) + 'o') + ax2.plot(data[run]['lon'][idx], + data[run]['lat'][idx], + 'C' + str(i + 1) + 'o') + + # Plot modelled data + l2, = ax3.plot(data[run]['datetime'], + data[run]['ssh'][:, idx], + 'C' + str(i + 1) + '-') + labels.append(run) + lines.append(l2) + + # Set figure labels and axis properties and save + ax3.set_xlabel('time') + ax3.set_ylabel('ssh (m)') + plot_min_date = self.config.get('hurricane_analysis', + 'plot_min_date') + plot_max_date = self.config.get('hurricane_analysis', + 'plot_max_date') + min_date = datetime.datetime.strptime(plot_min_date, self.frmt) + max_date = datetime.datetime.strptime(plot_max_date, self.frmt) + ax3.set_xlim([min_date, max_date]) + ax3.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) + lgd = plt.legend(lines, labels, loc=9, + bbox_to_anchor=(0.5, -0.5), + ncol=3, fancybox=False, edgecolor='k') + st = plt.suptitle('Station ' + sta, y=1.025, fontsize=16) + fig.tight_layout() + fig.savefig(f'{obs}_plots/{sta}_sta.png', dpi=400, bbox_inches='tight', + bbox_extra_artists=(lgd, st,)) + plt.close() + def plot_dem(self, sta, sta_lon, sta_lat): - eps = 0.25 + # eps = 0.25 + eps = 0.76 dems, lulcs, patches1, patches2 = self.find_data_in_bbox(sta_lon, sta_lat, eps) @@ -507,11 +616,13 @@ def plot_dem(self, sta, sta_lon, sta_lat): ax.append(fig.add_subplot(2, 2, 4)) # Plot DEM topo and LULC around station + # for i, eps in enumerate([0.75]): for i, eps in enumerate([0.1, 0.01]): bbox = np.array([sta_lon - eps, sta_lon + eps, sta_lat - eps, sta_lat + eps]) j = 0 + # bbox_dems = np.array([1e10, -1e10, 1e10, -1e10]) for dem in dems: da_topo = dems[dem] da_lulc = lulcs[dem] @@ -532,6 +643,14 @@ def plot_dem(self, sta, sta_lon, sta_lat): continue j = j + 1 + # if da["lon"].min() < bbox_dems[0]: + # bbox_dems[0] = da["lon"].min() + # if da["lon"].max() > bbox_dems[1]: + # bbox_dems[1] = da["lon"].max() + # if da["lat"].min() < bbox_dems[2]: + # bbox_dems[2] = da["lat"].min() + # if da["lat"].max() > bbox_dems[3]: + # bbox_dems[3] = da["lat"].max() # Plot DEM topo if i == 0: @@ -550,8 +669,8 @@ def plot_dem(self, sta, sta_lon, sta_lat): cbar_kwargs={'label': 'bathymetry/topography'}) ax[axi].plot(sta_lon, sta_lat, marker='o', - markerfacecolor='k', - markeredgecolor='r', + markerfacecolor='tab:orange', + markeredgecolor='k', zorder=102) if i == 0: ax[axi].add_collection(patches1) @@ -567,6 +686,17 @@ def plot_dem(self, sta, sta_lon, sta_lat): ax[axi].axis('equal') ax[axi].set_xlabel('longitude') ax[axi].set_ylabel('latitude') + # if j == len(dems): + # if bbox_dems[0] > bbox[0]: + # bbox[0] = bbox_dems[0] + # if bbox_dems[1] < bbox[1]: + # bbox[1] = bbox_dems[1] + # if bbox_dems[2] > bbox[2]: + # bbox[2] = bbox_dems[2] + # if bbox_dems[3] < bbox[3]: + # bbox[3] = bbox_dems[3] + # ax[axi].set_xlim(bbox[0], bbox[1]) + # ax[axi].set_ylim(bbox[2], bbox[3]) ax[axi].set_xlim(bbox[0], bbox[1]) ax[axi].set_ylim(bbox[2], bbox[3]) @@ -610,8 +740,8 @@ def plot_dem(self, sta, sta_lon, sta_lat): 'format': formt}) ax[axi].plot(sta_lon, sta_lat, marker='o', - markerfacecolor='k', - markeredgecolor='r', + markerfacecolor='tab:orange', + markeredgecolor='k', zorder=102) else: da.plot(ax=ax[axi], @@ -626,7 +756,7 @@ def plot_dem(self, sta, sta_lon, sta_lat): ax[axi].set_ylim(bbox[2], bbox[3]) fig.tight_layout() - fig.savefig(f'{sta}_dem.png', bbox_inches='tight') + fig.savefig(f'{sta}_dem.png', dpi=400, bbox_inches='tight') plt.close() From 20663575f3fd25d66864368a4a3669866a5ad1ac Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Tue, 17 Feb 2026 15:13:45 -0800 Subject: [PATCH 59/68] Add error and plot_subgrid scripts for buttermilk bay case --- .../ocean/tests/buttermilk_bay/viz/errors.py | 143 ++++++++++++++++++ .../tests/buttermilk_bay/viz/plot_subgrid.py | 141 +++++++++++++++++ 2 files changed, 284 insertions(+) create mode 100644 compass/ocean/tests/buttermilk_bay/viz/errors.py create mode 100644 compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py diff --git a/compass/ocean/tests/buttermilk_bay/viz/errors.py b/compass/ocean/tests/buttermilk_bay/viz/errors.py new file mode 100644 index 0000000000..b545451eb5 --- /dev/null +++ b/compass/ocean/tests/buttermilk_bay/viz/errors.py @@ -0,0 +1,143 @@ +import datetime as dt +import os +import subprocess +from pathlib import Path + +import matplotlib as mpl +import matplotlib.colors as mcolors +import matplotlib.pyplot as plt +import matplotlib.ticker as ticker +import numpy as np +import xarray as xr +from scipy.interpolate import NearestNDInterpolator, RegularGridInterpolator + +mpl.rcParams['mathtext.fontset'] = 'stix' +mpl.rcParams['font.family'] = 'STIXGeneral' + +#resolutions = [256, 128, 64, 32, 16] +resolutions = [256, 128, 64, 32] + +ds_dem = xr.open_dataset('subgrid/viz/buttermilk_bathy.nc') +values = -1.0*ds_dem.Band1.values +interp_dem = RegularGridInterpolator((ds_dem.x.values, ds_dem.y.values), values.T, method='nearest') + +ds_reference = xr.open_dataset('subgrid/viz/output_8m.nc') +xy = np.vstack((ds_reference.xCell.values, ds_reference.yCell.values)).T +interp_ref = NearestNDInterpolator(xy, ds_reference.ssh.values.T) + +#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]]) +points = np.array([[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]]) +# No #3 +#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.51, 3.027], [1.26, 1.56]]) +# #5 Only +#points = np.array([[1.26, 1.56]]) +points = points * 1000 + +#ds_eval = xr.open_dataset('subgrid/viz/output_32m.nc') +#points = np.vstack((ds_eval.xCell.values, ds_eval.yCell.values)).T +#max_x = 3500 +#min_x = 0.5 +#max_y = 3500 +#min_y = 0.5 +#mask_x = (points[:,0] >= min_x) & (points[:,0] <= max_x) +#mask_y = (points[:,1] >= min_y) & (points[:,1] <= max_y) +#combined_mask = mask_x & mask_y +#points = points[combined_mask] + +h0 = 0.05 +#h0 = 0 + +rmse_subgrid = [] +rmse_standard = [] +Linf_subgrid = [] +Linf_standard = [] +for j,res in enumerate(resolutions): + print(f'resolution: {res}') + + ds_subgrid = xr.open_dataset(f'subgrid/viz/output_{res}m.nc') + xy = np.vstack((ds_subgrid.xCell.values, ds_subgrid.yCell.values)).T + interp_subgrid = NearestNDInterpolator(xy, ds_subgrid.ssh.values.T) + + ds_standard = xr.open_dataset(f'standard/viz/output_{res}m.nc') + xy = np.vstack((ds_standard.xCell.values, ds_standard.yCell.values)).T + interp_standard = NearestNDInterpolator(xy, np.squeeze(ds_standard.layerThickness.values).T) + + bathy = interp_dem(points) + + subgrid_ssh = interp_subgrid(points).T + subgrid_h = subgrid_ssh + bathy + #subgrid_h = np.clip(subgrid_h, h0, None) + subgrid_h[subgrid_h <= h0] = np.nan + + standard_h = interp_standard(points).T + + ref_ssh = interp_ref(points).T + ref_h = ref_ssh + bathy + #ref_h = np.clip(ref_h, h0, None) + ref_h[ref_h <= h0] = np.nan + + diff_subgrid = subgrid_h - ref_h + diff_standard = standard_h - ref_h + + sum_sqdiff_subgrid = np.nansum(np.square(diff_subgrid)) + sum_sqdiff_standard = np.nansum(np.square(diff_standard)) + + N_subgrid = np.sum(~np.isnan(diff_subgrid)) + N_standard = np.sum(~np.isnan(diff_standard)) + + rmse_subgrid.append(np.sqrt(sum_sqdiff_subgrid/N_subgrid)) + rmse_standard.append(np.sqrt(sum_sqdiff_standard/N_standard)) + print(f'rmse_subgrid: {rmse_subgrid[j]}') + print(f'rmse_standard: {rmse_standard[j]}') + + Linf_subgrid.append(np.nanmax(np.abs(subgrid_h - ref_h))) + Linf_standard.append(np.nanmax(np.abs(standard_h - ref_h))) + print(f'Linf_subgrid: {Linf_subgrid[j]}') + print(f'Linf_standard: {Linf_standard[j]}') + +#wct_subgrid = np.array([4.12, 9.82, 18.98, 47.39, 113.49]) * 12.0 +#wct_standard = np.array([3.99, 9.49, 17.61, 43.26, 104.97]) * 12.0 +#nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39*4, 113.49*8]) * 12.0 / 3600.0 +#nh_standard = np.array([3.99, 9.49, 17.61, 43.26*4, 104.97*8]) * 12.0 / 3600.0 +wct_subgrid = np.array([4.12, 9.82, 18.98, 47.39]) * 12.0 +wct_standard = np.array([3.99, 9.49, 17.61, 43.26]) * 12.0 +nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39*4]) * 12.0 / 3600.0 +nh_standard = np.array([3.99, 9.49, 17.61, 43.26*4]) * 12.0 / 3600.0 +rmse_subgrid = np.array(rmse_subgrid) +rmse_standard = np.array(rmse_standard) + +log_wct_standard_interp = np.interp(np.log10(rmse_subgrid), np.log10(np.flip(rmse_standard)), np.log10(np.flip(wct_standard))) +wct_standard_interp = 10**log_wct_standard_interp +print(wct_standard_interp) +print(wct_subgrid) +speedup = np.divide(wct_standard_interp, wct_subgrid) +print(speedup) + +fig = plt.figure(figsize=(5,4)) +ax = fig.add_subplot(1,1,1) +for i in range(3): + #ax.plot([wct_subgrid[i], wct_standard_interp[i]],[rmse_subgrid[i], rmse_subgrid[i]],'k-') + ax.annotate("",xy=(wct_subgrid[i], rmse_subgrid[i]), xytext=(wct_standard_interp[i], rmse_subgrid[i]), arrowprops=dict(arrowstyle="->")) + x = 0.5*(wct_subgrid[i] + wct_standard_interp[i]) + ax.text(0.95*x, 1.03*rmse_subgrid[i], f'{round(speedup[i],2)}'+r'$\times$', horizontalalignment='center') +ax.plot(wct_subgrid, rmse_subgrid, 'o-', label='subgrid') +ax.plot(wct_standard, rmse_standard, 'o-', label='standard') +ax.set_yscale('log') +ax.set_xscale('log') +ax.set_xlabel('wall clock time per day (s)') +ax.set_ylabel('RMSE (m)') +fig.subplots_adjust(bottom=0.2) +fig.legend(loc='lower center', ncol=2) +fig.savefig('buttermilk_bay_error_wct.png', dpi=400, bbox_inches='tight') + +fig = plt.figure() +ax = fig.add_subplot(1,1,1) +ax.plot(nh_subgrid, rmse_subgrid, 'o-', label='subgrid') +ax.plot(nh_standard, rmse_standard, 'o-', label='standard') +ax.set_yscale('log') +ax.set_xscale('log') +ax.set_xlabel('node hours per day') +ax.set_ylabel('RMSE (m)') +fig.subplots_adjust(bottom=0.2) +fig.legend(loc='lower center', ncol=2) +fig.savefig('buttermilk_bay_error_ndhr.png', dpi=400) diff --git a/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py b/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py new file mode 100644 index 0000000000..396bf7498b --- /dev/null +++ b/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py @@ -0,0 +1,141 @@ +import datetime as dt +import os +import subprocess + +import cmocean +import matplotlib as mpl +import matplotlib.colors as mcolors +import matplotlib.pyplot as plt +import matplotlib.ticker as ticker +import mosaic +import numpy as np +import xarray as xr +from inpoly import inpoly2 + + +def plot_subgrid(ax, X, Y, bathy, solution, mesh, shape, ssh, points): + + print(mesh.dims) + xVertex = mesh['xVertex'].values + yVertex = mesh['yVertex'].values + verticesOnCell = mesh['verticesOnCell'].values - 1 + nEdgesOnCell = mesh['nEdgesOnCell'].values + + tsnap = 227 + h0 = 0.0 + + pts = np.vstack((X.ravel(), Y.ravel())).T + for iCell in range(mesh.dims['nCells']): + print(iCell) + xnode = xVertex[verticesOnCell[iCell, 0:nEdgesOnCell[iCell]]] + ynode = yVertex[verticesOnCell[iCell, 0:nEdgesOnCell[iCell]]] + nodes = np.vstack((xnode, ynode)).T + edges = [] + for i in range(nEdgesOnCell[iCell]): + edges.append([i, (i+1) % (nEdgesOnCell[iCell])]) + edges = np.array(edges) + + inpt, onpt = inpoly2(pts, nodes, edges) + + inwet = np.where(inpt & ((bathy+h0) < ssh[tsnap,iCell]) & (ssh[tsnap,iCell] < 2.0 )) + + solution[inwet] = ssh[tsnap, iCell] + + sol_min = -2 + sol_max = 2 + levels = np.linspace(sol_min, sol_max, 50) + cmap = plt.get_cmap('RdBu') + minval = 0.2 + maxval = 0.8 + cmap = mcolors.LinearSegmentedColormap.from_list( + 'truncated RdBu', + cmap(np.linspace(minval, maxval, 256))) + ax.set_facecolor(color='lightgrey') + c = ax.contourf(X,Y,solution.reshape(shape), vmin=sol_min, vmax=sol_max, levels=levels, cmap=cmap, extend='both') + + ax.set_aspect('equal', 'box') + ax.set_title(f'{res}m resolution') + ax.set_xlabel('x (km)') + ax.set_ylabel('y (km)') + + formatter = ticker.FuncFormatter(lambda x_val, pos: f'{x_val /1000:g}') + + ax.xaxis.set_major_formatter(formatter) + ax.yaxis.set_major_formatter(formatter) + + ax.set_aspect('equal', 'box') + ax.scatter(points[:, 0], + points[:, 1], 15, 'k') + ax.set_xlim([0.0,4000]) + ax.set_ylim([0.0,3500]) + + return c + +mpl.rcParams['mathtext.fontset'] = 'stix' +mpl.rcParams['font.family'] = 'STIXGeneral' + + +ds_dem = xr.open_dataset('buttermilk_bathy.nc') +bathy = ds_dem['Band1'].values +x = ds_dem['x'].values +y = ds_dem['y'].values +X, Y = np.meshgrid(x, y) +solution = np.full_like(bathy, np.nan) +shape = bathy.shape + +fig = plt.figure(figsize=(5,4)) +ax = fig.add_subplot(111) +vmin = -20 +vmax = 20 +levels = np.linspace(vmin, vmax, 100) +print(levels) +c = ax.contourf(X,Y,bathy,cmap=cmocean.cm.topo, vmin=vmin, vmax=vmax, levels=levels, extend='both') +tick_step = 5 +ticks = np.arange(vmin, vmax + tick_step, tick_step) +cb = fig.colorbar(c, ticks=ticks) +ax.set_xlabel('x (km)') +ax.set_ylabel('y (km)') +cb.set_label('bathymetry/topography (m)') +ax.set_aspect('equal','box') +fig.tight_layout() +fig.savefig('bathy.png',bbox_inches='tight', dpi=400) + +#raise SystemExit(0) + +resolutions = [256, 128, 64] +#resolutions = [256] +#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]])*1000 +points = np.array([[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]])*1000 +ncols = len(resolutions) +if ncols < 2: + ncols = 2 +fig, ax = plt.subplots(nrows=1, ncols=ncols, + figsize=(3 * ncols, 3), + constrained_layout=True) +for i,res in enumerate(resolutions): + ds_mesh = xr.open_dataset(f'output_{res}m.nc') + ssh = ds_mesh['ssh'].values + cm = plot_subgrid(ax[i], X, Y, bathy.ravel(), solution.ravel(), ds_mesh, shape, ssh, points) + +tick_step = 0.5 +sol_min = -2 +sol_max = 2 +ticks = np.arange(sol_min, sol_max + tick_step, tick_step) +cb = fig.colorbar(cm, ax=ax[-1], shrink=0.7, ticks=ticks, extend='both') +title = 'b)' +ha = 'left' +x = 0.0 +y = 0.98 +for j, sta in enumerate(range(len(points))): + if (j == 2) | (j ==3): + xoffset = 50 + yoffset = -200 + else: + xoffset = 0 + yoffset = 100 + ax[0].text(points[j, 0] + xoffset, + points[j, 1] + yoffset, str(j + 1), color='k') + +fig.suptitle(title, ha=ha, x=x, y=y, fontsize='x-large') +cb.set_label('ssh (m)') +fig.savefig('subgrid_on_subgrid.png', dpi=400) From 854328d9e7b83f084b151101d0810617a89dbcb8 Mon Sep 17 00:00:00 2001 From: Steven Brus Date: Thu, 28 May 2026 14:30:05 -0700 Subject: [PATCH 60/68] Only load balance graph for subgrid --- compass/ocean/tests/hurricane/init/initial_state.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index e89020361d..4eec3463f5 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -215,9 +215,10 @@ def run(self): Run this step of the testcase """ - self.load_balance_graphfile(min_lon=-190, max_lon=190, - min_lat=-100, max_lat=100, - inside_weight=1) + if self.wetdry == 'subgrid': + self.load_balance_graphfile(min_lon=-190, max_lon=190, + min_lat=-100, max_lat=100, + inside_weight=1) run_model(self) if self.wetdry == 'subgrid': @@ -312,7 +313,9 @@ def run(self): init["landIceFraction"][0, :] = zeros init["landIceFloatingFraction"][0, :] = zeros - lat_mask = np.where(init["latCell"][:] < -59.0 * np.pi / 180.0)[0] + # lat_cutoff = -59.0 + lat_cutoff = 90.0 + lat_mask = np.where(init["latCell"][:] < lat_cutoff * np.pi / 180.0)[0] init["landIceDraft"][0, lat_mask] = -iced[lat_mask] # NB. sign init["landIcePressure"][0, lat_mask] = icep[lat_mask] init["landIceMask"][0, lat_mask] = (icep[lat_mask] > 0.) From b813562fc5ad3e0cd97396bfa1f51d2b5df7f6d5 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Tue, 23 Jun 2026 10:46:22 -0700 Subject: [PATCH 61/68] Compass v2.0.0 compatibility changes to hurricane - New function for hurricane/forward/analysis hwm comparison plots - Removed ocean_subgrid_final.nc naming from hurricane/init - Removed "mode" attribute from hurricane/forward/streams.ocean - Fixed xtime encoding and lat dimensions in hurricane/init/interpolate_atm_forcing.py - Increased init_min_tasks to 512 for devr45to5rr1 mesh - Added mosaic support --- .../tests/hurricane/analysis/__init__.py | 272 +++++++++--------- .../ocean/tests/hurricane/forward/forward.py | 7 +- .../tests/hurricane/forward/streams.ocean | 4 +- .../hurricane/forward/streams.ocean_subgrid | 4 +- .../tests/hurricane/init/initial_state.py | 12 +- .../hurricane/init/interpolate_atm_forcing.py | 6 +- .../hurricane/init/interpolate_mannings_n.py | 2 +- .../mesh/devr45to5rr1/devr45to5rr1.cfg | 2 +- deploy/pixi.toml.j2 | 1 + 9 files changed, 151 insertions(+), 159 deletions(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index dba79d2a18..563ca36f06 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -333,139 +333,8 @@ def run(self): hwm_mod[run] = np.asarray(hwm_mod[run]) never_wet[run] = np.asarray(never_wet[run]) - print(station_lon) - print(station_lon.shape) - idx_lon, = np.where(station_lon < -71.67) - print(idx_lon) - print(idx_lon.shape) - print(never_wet['standard']) - idx_nw, = np.where((station_lon < -71.67) & - (never_wet['standard'] > 0.05)) - print(idx_nw) - print(idx_nw.shape) - idx_sg_only, = np.where((station_lon < -71.67) & - (never_wet['standard'] < 0.05) & - (never_wet['subgrid'] > 0.05)) - print(idx_sg_only) - print(idx_sg_only.shape) - - # Plot modeled vs. observed hwm scatter - fig = plt.figure(figsize=(10, 3.33)) - ax = fig.add_subplot(131) - labels = [] - scatters = [] - text = [] - for i, run in enumerate(data): - diff = hwm_mod[run] - hwm_obs - rmse = np.sqrt(np.mean(np.square(diff[idx_lon]))) - mae = np.mean(np.abs(diff[idx_lon])) - sc = ax.scatter(hwm_obs[idx_lon], hwm_mod[run][idx_lon], alpha=0.5) - text.append(f'{run} RMSE: {round(rmse, 2)} m') - text.append(f'{run} MAE: {round(mae, 2)} m') - scatters.append(sc) - labels.append(run) - ln, = ax.plot(hwm_obs, hwm_obs, 'k') - scatters.append(ln) - labels.append('perfect agreement') - ax.text(0.4, 20, '\n'.join(text), verticalalignment='top') - ax.set_xlabel('observed HWM (m)') - ax.set_ylabel('modeled HWM (m)') - ax.set_title('a)', loc='left', fontsize='x-large') - - ax = fig.add_subplot(132) - diff = hwm_mod['subgrid'] - hwm_obs - rmse = np.sqrt(np.mean(np.square(diff[idx_sg_only]))) - mae = np.mean(np.abs(diff[idx_sg_only])) - sc = ax.scatter(hwm_obs[idx_sg_only], - hwm_mod['subgrid'][idx_sg_only], alpha=0.5) - text = '\n'.join([f'subgrid RMSE: {round(rmse, 2)} m', - f'subgrid MAE: {round(mae, 2)} m']) - ax.text(0.4, 5.0, text, verticalalignment='top') - ln, = ax.plot(hwm_obs, hwm_obs, 'k') - scatters.append(ln) - labels.append('perfect agreement') - ax.set_xlabel('observed HWM (m)') - ax.set_ylabel('modeled HWM (m)') - ax.set_title('b)', loc='left', fontsize='x-large') - - ax = fig.add_subplot(133) - labels = [] - scatters = [] - text = [] - for i, run in enumerate(data): - diff = hwm_mod[run] - hwm_obs - rmse = np.sqrt(np.mean(np.square(diff[idx_nw]))) - mae = np.mean(np.abs(diff[idx_nw])) - sc = ax.scatter(hwm_obs[idx_nw], hwm_mod[run][idx_nw], alpha=0.5) - text.append(f'{run} RMSE: {round(rmse, 2)} m') - text.append(f'{run} MAE: {round(mae, 2)} m') - scatters.append(sc) - labels.append(run) - ln, = ax.plot(hwm_obs, hwm_obs, 'k') - ax.text(2.8, 1.6, '\n'.join(text), verticalalignment='top') - scatters.append(ln) - labels.append('perfect agreement') - fig.legend(scatters, labels, loc='outside lower center', - bbox_to_anchor=(0.5, -0.1), - ncol=3, fancybox=False, edgecolor='k') - ax.set_xlabel('observed HWM (m)') - ax.set_ylabel('modeled HWM (m)') - ax.set_title('c)', loc='left', fontsize='x-large') - - fig.tight_layout() - fig.savefig('hwm_mod_obs.png', dpi=400, bbox_inches='tight') - plt.close() - - # Plot geographic hwm error - station_lon = station_lon[idx_lon] - station_lat = station_lat[idx_lon] - for run in data: - fig = plt.figure(figsize=(5, 4)) - ax = fig.add_subplot(111, projection=ccrs.PlateCarree()) - - cm = ax.scatter(station_lon, station_lat, c=diff[idx_lon], - cmap='PuOr', zorder=102, vmax=3.0, vmin=-3.0, - edgecolor='k') - - ax.set_extent([np.min(station_lon) - 0.1, - np.max(station_lon) + 0.1, - np.min(station_lat) - 0.1, - np.max(station_lat) + 0.1], - crs=ccrs.PlateCarree()) - ax.add_feature(cfeature.LAND, zorder=100, color='gray') - ax.add_feature(cfeature.OCEAN, zorder=100) - ax.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) - ax.coastlines('50m', zorder=101) - - xticks = np.linspace(np.min(station_lon) - 0.1, - np.max(station_lon) + 0.1, 5) - yticks = np.linspace(np.min(station_lat) - 0.1, - np.max(station_lat) + 0.1, 5) - ax.set_xticks(xticks, crs=ccrs.PlateCarree()) - ax.set_yticks(yticks, crs=ccrs.PlateCarree()) - lon_formatter = LongitudeFormatter(number_format='.2f', - zero_direction_label=True) - lat_formatter = LatitudeFormatter(number_format='.2f') - ax.xaxis.set_major_formatter(lon_formatter) - ax.yaxis.set_major_formatter(lat_formatter) - - plot_mode = 'paper' - title = run - if plot_mode == 'paper': - if 'subgrid' in run: - title = 'a)' - elif 'standard' in run: - title = 'b)' - loc = 'left' - else: - loc = 'center' - ax.set_title(title, loc=loc, fontsize='x-large') - cb = fig.colorbar(cm, extend='both', pad=0.1) - cb.set_label('max high water error (m)') - fig.tight_layout() - - fig.savefig(f'hwm_spatial_{run}.png', dpi=400, bbox_inches='tight') - plt.close() + # Plot comparisons + #self.plot_hwm(station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data) def find_data_in_bbox(self, sta_lon, sta_lat, eps): @@ -760,6 +629,143 @@ def plot_dem(self, sta, sta_lon, sta_lat): plt.close() + def plot_hwm(self, station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data): + + # Print diagnostics + print(station_lon) + print(station_lon.shape) + idx_lon, = np.where(station_lon < -71.67) + print(idx_lon) + print(idx_lon.shape) + print(never_wet['standard']) + idx_nw, = np.where((station_lon < -71.67) & + (never_wet['standard'] > 0.05)) + print(idx_nw) + print(idx_nw.shape) + idx_sg_only, = np.where((station_lon < -71.67) & + (never_wet['standard'] < 0.05) & + (never_wet['subgrid'] > 0.05)) + print(idx_sg_only) + print(idx_sg_only.shape) + + # Plot modeled vs. observed hwm scatter + fig = plt.figure(figsize=(10, 3.33)) + ax = fig.add_subplot(131) + labels = [] + scatters = [] + text = [] + for i, run in enumerate(data): + diff = hwm_mod[run] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_lon]))) + mae = np.mean(np.abs(diff[idx_lon])) + sc = ax.scatter(hwm_obs[idx_lon], hwm_mod[run][idx_lon], alpha=0.5) + text.append(f'{run} RMSE: {round(rmse, 2)} m') + text.append(f'{run} MAE: {round(mae, 2)} m') + scatters.append(sc) + labels.append(run) + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + scatters.append(ln) + labels.append('perfect agreement') + ax.text(0.4, 20, '\n'.join(text), verticalalignment='top') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('a)', loc='left', fontsize='x-large') + + ax = fig.add_subplot(132) + diff = hwm_mod['subgrid'] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_sg_only]))) + mae = np.mean(np.abs(diff[idx_sg_only])) + sc = ax.scatter(hwm_obs[idx_sg_only], + hwm_mod['subgrid'][idx_sg_only], alpha=0.5) + text = '\n'.join([f'subgrid RMSE: {round(rmse, 2)} m', + f'subgrid MAE: {round(mae, 2)} m']) + ax.text(0.4, 5.0, text, verticalalignment='top') + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + scatters.append(ln) + labels.append('perfect agreement') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('b)', loc='left', fontsize='x-large') + + ax = fig.add_subplot(133) + labels = [] + scatters = [] + text = [] + for i, run in enumerate(data): + diff = hwm_mod[run] - hwm_obs + rmse = np.sqrt(np.mean(np.square(diff[idx_nw]))) + mae = np.mean(np.abs(diff[idx_nw])) + sc = ax.scatter(hwm_obs[idx_nw], hwm_mod[run][idx_nw], alpha=0.5) + text.append(f'{run} RMSE: {round(rmse, 2)} m') + text.append(f'{run} MAE: {round(mae, 2)} m') + scatters.append(sc) + labels.append(run) + ln, = ax.plot(hwm_obs, hwm_obs, 'k') + ax.text(2.8, 1.6, '\n'.join(text), verticalalignment='top') + scatters.append(ln) + labels.append('perfect agreement') + fig.legend(scatters, labels, loc='outside lower center', + bbox_to_anchor=(0.5, -0.1), + ncol=3, fancybox=False, edgecolor='k') + ax.set_xlabel('observed HWM (m)') + ax.set_ylabel('modeled HWM (m)') + ax.set_title('c)', loc='left', fontsize='x-large') + + fig.tight_layout() + fig.savefig('hwm_mod_obs.png', dpi=400, bbox_inches='tight') + plt.close() + + # Plot geographic hwm error + station_lon = station_lon[idx_lon] + station_lat = station_lat[idx_lon] + for run in data: + fig = plt.figure(figsize=(5, 4)) + ax = fig.add_subplot(111, projection=ccrs.PlateCarree()) + + cm = ax.scatter(station_lon, station_lat, c=diff[idx_lon], + cmap='PuOr', zorder=102, vmax=3.0, vmin=-3.0, + edgecolor='k') + + ax.set_extent([np.min(station_lon) - 0.1, + np.max(station_lon) + 0.1, + np.min(station_lat) - 0.1, + np.max(station_lat) + 0.1], + crs=ccrs.PlateCarree()) + ax.add_feature(cfeature.LAND, zorder=100, color='gray') + ax.add_feature(cfeature.OCEAN, zorder=100) + ax.add_feature(cfeature.LAKES, alpha=0.5, zorder=101) + ax.coastlines('50m', zorder=101) + + xticks = np.linspace(np.min(station_lon) - 0.1, + np.max(station_lon) + 0.1, 5) + yticks = np.linspace(np.min(station_lat) - 0.1, + np.max(station_lat) + 0.1, 5) + ax.set_xticks(xticks, crs=ccrs.PlateCarree()) + ax.set_yticks(yticks, crs=ccrs.PlateCarree()) + lon_formatter = LongitudeFormatter(number_format='.2f', + zero_direction_label=True) + lat_formatter = LatitudeFormatter(number_format='.2f') + ax.xaxis.set_major_formatter(lon_formatter) + ax.yaxis.set_major_formatter(lat_formatter) + + plot_mode = 'paper' + title = run + if plot_mode == 'paper': + if 'subgrid' in run: + title = 'a)' + elif 'standard' in run: + title = 'b)' + loc = 'left' + else: + loc = 'center' + ax.set_title(title, loc=loc, fontsize='x-large') + cb = fig.colorbar(cm, extend='both', pad=0.1) + cb.set_label('max high water error (m)') + fig.tight_layout() + + fig.savefig(f'hwm_spatial_{run}.png', dpi=400, bbox_inches='tight') + plt.close() + def compute_cell_patches(self, dsMesh, bbox): patches = [] nVerticesOnCell = dsMesh.nEdgesOnCell.values diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index a5623cf66d..cb17edbcb1 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -85,12 +85,7 @@ def __init__(self, test_case, mesh, init, use_lts, wetdry, 'compass.ocean.tests.hurricane.forward', 'streams.ocean_subgrid') - if wetdry == 'subgrid': - initial_state_target = \ - f'{init.path}/initial_state/ocean_subgrid_final.nc' - else: - initial_state_target = \ - f'{init.path}/initial_state/ocean.nc' + initial_state_target = f'{init.path}/initial_state/ocean.nc' self.add_input_file(filename='input.nc', work_dir_target=initial_state_target) self.add_input_file( diff --git a/compass/ocean/tests/hurricane/forward/streams.ocean b/compass/ocean/tests/hurricane/forward/streams.ocean index 0a12a04409..c272b4d244 100644 --- a/compass/ocean/tests/hurricane/forward/streams.ocean +++ b/compass/ocean/tests/hurricane/forward/streams.ocean @@ -30,8 +30,7 @@ filename_template="points.nc" type="input" input_interval="initial_only" - runtime_format="single_file" - mode="forward;analysis"> + runtime_format="single_file"> @@ -74,7 +73,6 @@ + runtime_format="single_file"> @@ -132,7 +131,6 @@ precision="single" packages="pointwiseStatsAMPKG" output_interval="00:30:00" - mode="forward;analysis" io_type="netcdf" runtime_format="single_file"> diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index 4eec3463f5..720f73c894 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -91,10 +91,7 @@ def __init__(self, test_case, mesh, use_lts, wetdry): self.add_model_as_input() - if self.wetdry == 'subgrid': - self.add_output_file(filename='ocean_subgrid_final.nc') - else: - self.add_output_file(filename='ocean.nc') + self.add_output_file(filename='ocean.nc') self.add_output_file(filename='graph.info') def setup(self): @@ -153,7 +150,7 @@ def setup(self): if i == nfiles - 1: stream_replacements = { - 'output_file': 'ocean_subgrid_final.nc', + 'output_file': 'ocean.nc', 'input_file': f'ocean_subgrid{i}.nc'} else: stream_replacements = { @@ -240,10 +237,7 @@ def run(self): os.remove(f'ocean_subgrid{i - 2}.nc') mesh = nc.Dataset("mesh.nc", "r") - if self.wetdry == 'subgrid': - init = nc.Dataset("ocean_subgrid_final.nc", "r+") - else: - init = nc.Dataset("ocean.nc", "r+") + init = nc.Dataset("ocean.nc", "r+") # -- Estimate vert. grid for ice-shelves, min.-thicknesses, etc # -- Darren Engwirda diff --git a/compass/ocean/tests/hurricane/init/interpolate_atm_forcing.py b/compass/ocean/tests/hurricane/init/interpolate_atm_forcing.py index 004be7beaa..3da5989300 100644 --- a/compass/ocean/tests/hurricane/init/interpolate_atm_forcing.py +++ b/compass/ocean/tests/hurricane/init/interpolate_atm_forcing.py @@ -148,11 +148,11 @@ def plot_interp_data(self, orig_data, interp_data, return lon_data = orig_data[0] - lat_data = orig_data[1] + lat_data = orig_data[1][:-1] lon_grid = interp_data[0] lat_grid = interp_data[1] - data = orig_data[2] + data = orig_data[2][:-1, :] interp = interp_data[2] # Plot data @@ -210,7 +210,7 @@ def write_to_file(self, filename, data, var, xtime): # Create time variable time = data_nc.createVariable('xtime', 'S1', ('Time', 'StrLen')) - time[:, :] = netCDF4.stringtochar(xtime) + time[:, :] = netCDF4.stringtochar(xtime, encoding='ascii') # Set variables data_var = data_nc.createVariable(var, np.float64, ('Time', 'nCells')) diff --git a/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py index 1d6f26c54c..e374727db8 100644 --- a/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py +++ b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py @@ -50,7 +50,7 @@ def __init__(self, test_case, init): self.add_input_file( filename=self.grid_file, - work_dir_target=f'{init.path}/ocean_subgrid_final.nc') + work_dir_target=f'{init.path}/ocean.nc') def interpolate_data(self, grid_file, data_file): """ diff --git a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg index a204274b1c..e3b4895834 100644 --- a/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg +++ b/compass/ocean/tests/hurricane/mesh/devr45to5rr1/devr45to5rr1.cfg @@ -32,7 +32,7 @@ email = autodetect # number of MPI tasks to use init_ntasks = 512 # minimum of MPI tasks, below which the step fails -init_min_tasks = 1 +init_min_tasks = 512 # maximum memory usage allowed (in MB) init_max_memory = 1000 # number of threads diff --git a/deploy/pixi.toml.j2 b/deploy/pixi.toml.j2 index 5573454792..2a32d0b857 100644 --- a/deploy/pixi.toml.j2 +++ b/deploy/pixi.toml.j2 @@ -36,6 +36,7 @@ lxml = "*" matplotlib-base = ">=3.9.1" metis = "*" moab = {version = "{{ moab }}.*", build = "*_tempest_*"} +mosaic = "*" mpas_tools = "{{ mpas_tools }}.*" nco = "*" netcdf4 = {version = "*", build = "nompi_*"} From f5965aa9581138e6d9a4ea9763f522b4e34928b0 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Mon, 20 Jul 2026 15:24:37 -0700 Subject: [PATCH 62/68] Namelist changes to hurricane/forward to account for E3SM/master changes --- .../tests/hurricane/analysis/__init__.py | 1 + .../tests/hurricane/forward/namelist.ocean | 22 ++++++++++++++----- .../hurricane/forward/namelist.ocean.subgrid | 4 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index 563ca36f06..d4d759833f 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -722,6 +722,7 @@ def plot_hwm(self, station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data): fig = plt.figure(figsize=(5, 4)) ax = fig.add_subplot(111, projection=ccrs.PlateCarree()) + diff = hwm_mod[run] - hwm_obs cm = ax.scatter(station_lon, station_lat, c=diff[idx_lon], cmap='PuOr', zorder=102, vmax=3.0, vmin=-3.0, edgecolor='k') diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean b/compass/ocean/tests/hurricane/forward/namelist.ocean index 19a0221a64..12c14d45bc 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean @@ -2,10 +2,16 @@ config_start_time = '2012-10-10_00:00:00' config_stop_time = '2012-11-03_00:00:00' config_run_duration = 'none' config_time_integrator = 'RK4' +config_wall_slip_factor = 0.0 config_hmix_scaleWithMesh = .true. -config_use_mom_del4 = .true. +config_hmix_use_ref_cell_width = .true. +config_use_mom_del2 = .true. +config_mom_del2 = 3.333 +config_use_mom_del4 = .false. +config_mom_del4 = 3.333e10 config_ALE_thickness_proportionality = 'restingThickness_times_weights' config_vert_coord_movement = 'uniform_stretching' +config_use_variable_drag = .true. config_use_bulk_wind_stress = .true. config_use_time_varying_atmospheric_forcing = .true. config_time_varying_atmospheric_forcing_start_time = '2012-10-10_00:00:00' @@ -26,20 +32,26 @@ config_check_ssh_consistency = .false. config_use_wetting_drying = .true. config_prevent_drying = .true. config_drying_min_cell_height = 0.01 +config_zero_drying_velocity_ramp = .true. +config_zero_drying_velocity_ramp_hmin = 1e-2 +config_zero_drying_velocity_ramp_hmax = 2e-2 config_verify_not_dry = .false. config_zero_drying_velocity = .true. -config_thickness_flux_type = 'centered' -config_bottom_drag_mode = 'explicit' +config_thickness_flux_type = 'upwind' +config_bottom_drag_mode = 'implicit' +config_implicit_bottom_drag_type = 'mannings' config_explicit_bottom_drag_coeff = 2.0e-3 config_use_topographic_wave_drag = .true. +config_use_ssh_gradient_wetting_drying = .true. config_use_cvmix = .false. config_check_ssh_consistency = .true. config_disable_thick_vadv = .true. config_disable_thick_sflux = .true. config_disable_vel_vadv = .true. config_disable_tr_all_tend = .true. -config_disable_vel_vmix = .true. -config_disable_vel_hmix = .true. +config_disable_vel_hmix = .false. +config_disable_vel_explicit_bottom_drag = .true. +config_disable_vel_vmix = .false. config_land_ice_flux_mode = 'pressure_only' config_AM_pointwiseStats_enable = .true. config_AM_timeSeriesStatsCustom_enable = .true. diff --git a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid index 0b3feaf192..422c67e31a 100644 --- a/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid +++ b/compass/ocean/tests/hurricane/forward/namelist.ocean.subgrid @@ -12,7 +12,7 @@ config_implicit_bottom_drag_type = 'mannings' config_use_variable_drag = .true. config_hmix_use_ref_cell_width = .true. config_use_mom_del2 = .true. -config_mom_del2 = 3.333 -config_use_mom_del4 = .false. +config_mom_del2 = 10.0 +config_use_mom_del4 = .true. config_mom_del4 = 3.333e10 config_dt = '00:00:10' From f64ef5a0b7e60f3cdf10e72f8eb820ac75cb0921 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Tue, 21 Jul 2026 21:37:30 -0700 Subject: [PATCH 63/68] Updated user docs for ocean/hurricane test group --- .../ocean/test_groups/hurricane.rst | 206 ++++++++++++++---- .../images/hurricane_subgrid_error.png | Bin 0 -> 609886 bytes .../images/hurricane_subgrid_spatialerror.png | Bin 0 -> 320129 bytes ...hurricane_subgrid_stationSSSNJHUD002WL.png | Bin 0 -> 206098 bytes 4 files changed, 158 insertions(+), 48 deletions(-) create mode 100644 docs/users_guide/ocean/test_groups/images/hurricane_subgrid_error.png create mode 100644 docs/users_guide/ocean/test_groups/images/hurricane_subgrid_spatialerror.png create mode 100644 docs/users_guide/ocean/test_groups/images/hurricane_subgrid_stationSSSNJHUD002WL.png diff --git a/docs/users_guide/ocean/test_groups/hurricane.rst b/docs/users_guide/ocean/test_groups/hurricane.rst index b9976022d7..c385a2f9d1 100644 --- a/docs/users_guide/ocean/test_groups/hurricane.rst +++ b/docs/users_guide/ocean/test_groups/hurricane.rst @@ -9,14 +9,17 @@ realistic ocean domains with regional refinement. These simulations are forced with time-varying atmospheric reanalysis data for tropical cyclone events and tides. The meshes contain refined regions in order to resolve coastal estuaries, making it possible to simulate the -storm surge that results from a given hurricane event. -Currently, one mesh resolution and one storm, Hurricane Sandy, are supported. -More mesh resolutions will be supported in the future. - -These test are configured to use the barotropic, single layer configuration -of MPAS-Ocean. Each mesh can optionally be created to contain the floodplain -which can be used to simulate coastal inundation using MPAS-Ocean's -wetting and drying scheme. +storm surge that results from a given hurricane event. Additionally, the +simulations use tidal potential forcing and MPAS-Ocean's wetting and drying +scheme to simulate coastal inundation. The forward simulations can optionally +be run with a subgrid-scale correction scheme that accounts for fine-scale +bathymetric variation in partially-wet cells, improving the flood prediction +accuracy. ``hurricane`` currently supports 3 meshes (DEQU120at30cr10rr2, +DEVR45to5rr1, RRS6to18) and one storm, Hurricane Sandy. + +These tests are configured to use the barotropic, single layer configuration +of MPAS-Ocean. Each mesh is created to contain the floodplain, which is used to +simulate coastal inundation using the wetting and drying scheme. The time stepping options to run the simulations include the fourth order Runge-Kutta scheme (RK4), and two local time-stepping schemes. @@ -51,6 +54,12 @@ Note that meshes and test cases may modify these options, as noted below. # Elevation threshold to use for including land cells floodplain_elevation = 10.0 + # Resolution threshold to use for including land cells + floodplain_resolution = 10.0 + # Floodplain region extent GEOJSON file + floodplain_geojson = floodplain.geojson + # Minimum depth to enforce outside floodplain region + min_depth_outside_floodplain = 1.0 # options for global ocean testcases @@ -66,9 +75,9 @@ Note that meshes and test cases may modify these options, as noted below. ## config options related to the initial_state step # number of MPI tasks to use - init_ntasks = 36 + init_ntasks = 512 # minimum of MPI tasks, below which the step fails - init_min_tasks = 8 + init_min_tasks = 512 # maximum memory usage allowed (in MB) init_max_memory = 1000 # number of threads @@ -76,26 +85,102 @@ Note that meshes and test cases may modify these options, as noted below. ## config options related to the forward steps # number of MPI tasks to use - forward_ntasks = 180 + forward_ntasks = 1024 # minimum of MPI tasks, below which the step fails - forward_min_tasks = 18 + forward_min_tasks = 1024 # maximum memory usage allowed (in MB) forward_max_memory = 1000 # number of threads forward_threads = 1 + + [hurricane_analysis] + + # start and end dates for setting time period in timeseries plots + plot_min_date = 2012 10 24 00 00 + plot_max_date = 2012 11 04 00 00 + + # runs to include in analysis + # others can be added as comma separated list in the format + # run_name:path/to/file,other_run:path/to/other/file + # - the name before the : is the label to be use in legend labels + # - the path after the : is the path to the pointwiseStats.nc file + # (not including file name) + analysis_runs = MPAS-O:./ + + plot_station_dems = False + +.. _hurricane_meshes: + +Meshes +------ + +The process for creating hurricane meshes is described below in the +mesh test case. ``hurricane`` currently supports 3 meshes, each with differing +levels of refinement. The coarsest mesh (DEQU120at30cr10rr2) uses a global +quasi-uniform horizontal resolution of 120 km with 30 km Atlantic refinement +and floodplain refinement down to 2 km, and is primarily for testing purposes. +The intermediate mesh (DEVR45to5rr1) uses a variable horizontal resolution of +45 km to 5 km scaled by bathymetry with floodplain refinement down to 1 km. +The finest mesh (RRS6to18) is reproduced from the ``global_ocean`` test group. +These meshes are designed to work with the barotropic, single layer +``hurricane`` configurations, and they do not include ice-shelf cavities. + +.. _hurricane_mesh_dequ120at30cr10rr2: + +DEQU120at30cr10rr2 +^^^^^^^^^^^^^^^^^^ +The quasi-uniform 120 km mesh with regional refinement (DEQU120at30cr10rr2) +uses the following resolutions: (1) global horizontal resolution of 120 km, +(2) 30 km refinement in the Atlantic Ocean, (3) 10 km refinement along the +Mid-Atlantic Bight, and (4) 2 km refinement along the coastal floodplain. The +floodplain is defined by a 10 m elevation threshold. This mesh is primarily for +testing purposes. + +.. _hurricane_mesh_devr45to5rr1: + +DEVR45to5rr1 +^^^^^^^^^^^^ +The variable-resolution 45 km to 5 km mesh with regional refinement +(DEVR45to5rr1) uses the following resolutions: (1) global horizontal resolution +ranging from 45 km over the deep ocean to 5 km over the shallow ocean, (2) 1 km +refinement along the Mid-Atlantic Bight and the coastal floodplain. The +floodplain is defined by a 40 m elevation threshold, and only where refinement +exceeds 4 km. This mesh is designed for predicting hurricane flooding along the +US East Coast, such as the flooding caused by hurricanes Sandy and Irene. + +.. _hurricane_mesh_rrs6to18: + +RRS6to18 +^^^^^^^^ +The RRS6to18 mesh is a high-resolution global mesh with Rossby-radius-scaling +of horizontal resolution from 18 km down to 6 km, designed for E3SMv3. This +mesh is reproduced here from the ``global_ocean`` test group. The ``hurricane`` +version of this mesh includes a floodplain with an extent prescribed by a +GEOJSON region file. Additionally, the floodplain is constrained by a 20 m +elevation threshold, and only where refinement exceeds 16 km. The use of this +mesh for flooding simulations is experimental. + +.. _hurricane_test_cases: + +Test cases +---------- + .. _hurricane_mesh: mesh test case --------------- -The mesh test case uses the mesh step from the global ocean test group. -First, it generates the global mesh based on a specified mesh resolution -function. Next, bathymetry/topography data is interpolated on the mesh from the -STRM15+ data product. This interpolation step is necessary, because the -topography in the floodplain is used to set a mask for the cell culling -process. The land cells above the ``floodplain_elevation`` are then culled -from the mesh. Finally, the bathymetry is re-interpolated onto the mesh -since this data is not carried over from the cell culling process. +^^^^^^^^^^^^^^ +The mesh test case uses the ``mesh`` step from the ``global_ocean`` test group +to generate the global mesh based on a specified mesh resolution function. +Next, bathymetry/topography data is interpolated onto the mesh from the NASA +Shuttle Radar Topography Mission 15 arcsecond (STRM15+) data product. This +interpolation step is necessary, because the topography in the floodplain is +used to set a mask for the cell culling process. The land cells above the +``floodplain_elevation`` are then culled from the mesh. The floodplain can be +further constrained by a refinement threshold ``floodplain_resolution``, or a +region GEOJSON file ``floodplain_geojson``. Finally, the bathymetry is +re-interpolated onto the mesh since this data is not carried over from the +cell culling process. .. _hurricane_mesh_lts: @@ -109,65 +194,90 @@ load balancing. .. _hurricane_init: init test case --------------- -The init test performs steps to set up the vertical mesh, initial conditions, -atmospheric forcing, and prepares the station locations for timeseries output. - -initial state step -^^^^^^^^^^^^^^^^^^ -The initial state step runs MPAS-Ocean in init mode to create the initial -condition file for the forward run. The vertical mesh is setup for a -single layer case and the ssh with a thin layer on land for wetting and -drying cases. +^^^^^^^^^^^^^^ +The ``init`` test performs steps to set up the vertical mesh, +initial conditions, atmospheric forcing, and parameterized wave and bottom +drag, and prepares the station locations for timeseries output. interpolate atmosphere forcing step -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +""""""""""""""""""""""""""""""""""" The CFSv2 reanalysis wind vector components and atmospheric pressure fields for the storm event are interpolated onto the horizontal mesh at hourly intervals. These are read in and used to update the atmospheric forcing in the forward run. create pointstats file step -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +""""""""""""""""""""""""""" In order to perform validation of the forward simulation, timeseries data -is recored at mesh cell centers which are closest to observation stations. -This set reads in the observation station locations and finds the cells +is recorded at mesh cell centers which are closest to observation stations. +This step reads in the observation station locations and finds the cells closest to them. A file is created that is the input to the -pointWiseStats analysis member for the forward run. - -.. _hurricane_init_lts: +``pointWiseStats`` analysis member for the forward run. compute topographic wave drag step -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This step is carried out only if either LTS option is selected for the init test case. - +"""""""""""""""""""""""""""""""""" The reciprocal of the e-folding time, ``r_inv``, from the HyCOM model, is computed in this step. See `Buijsman et al. (2016) `_ for details on the computation. This coefficient is needed to account for the topographic wave drag tendency in the model. +initial state step +"""""""""""""""""" +The initial state step runs MPAS-Ocean in init mode to create the initial +condition file for the forward run. The vertical mesh is setup for a +single layer case and the ssh with a thin layer on land for wetting and +drying cases. + +.. _hurricane_init_subgrid: + +If the ``subgrid`` option is selected, the Digital Elevation Model (DEM) and +Land Use/Land Cover (LULC) tiles are processed to create look-up tables for +the forward step corrections, and the DEM tiles are averaged to create the +coastal and floodplain topography. + +.. _hurricane_init_lts: + +If either LTS option is selected for the init test case, the modified +partitioning done in the mesh step is used to run MPAS-Ocean init mode. + .. _hurricane_sandy: sandy test case ---------------- +^^^^^^^^^^^^^^^ The sandy test case is responsible for the forward model simulation and analysis. forward step -^^^^^^^^^^^^ +"""""""""""" The forward step runs the model simulation of the storm. The simulation begins with a spinup period, where the tides and atmospheric forcing are ramped to their full value to avoid shocking the system. -analysis step -^^^^^^^^^^^^^ -The analysis step plots the timeseries data at each observation station -to compare the modeled and observed data. Both NOAA and USGS station data -is used for the validation. +.. _hurricane_init_subgrid: + +If the ``subgrid`` option is selected, look-up tables are used to make the +DEM and LULC corrections in the forward mode. .. _hurricane_sandy_lts: If either LTS option is selected for the sandy test case, the LTS scheme is used to advance the solution in time rather than the default RK4 scheme. +analysis step +""""""""""""" +The analysis step plots the timeseries data at each observation station +to compare the modeled and observed data. Both NOAA and USGS station data +are used for the validation. + +.. image:: images/hurricane_subgrid_stationSSSNJHUD002WL.png + :width: 500 px + :align: center + +.. image:: images/hurricane_subgrid_error.png + :width: 500 px + :align: center + +.. image:: images/hurricane_subgrid_spatialerror.png + :width: 500 px + :align: center diff --git a/docs/users_guide/ocean/test_groups/images/hurricane_subgrid_error.png b/docs/users_guide/ocean/test_groups/images/hurricane_subgrid_error.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c2bfefb26429104a30373f1b5900f04f2eedf3 GIT binary patch literal 609886 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Π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

!yRt{`h}`%g$0S6x1bGw7Pfo$mP(F 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 literal 0 HcmV?d00001 diff --git a/docs/users_guide/ocean/test_groups/images/hurricane_subgrid_spatialerror.png b/docs/users_guide/ocean/test_groups/images/hurricane_subgrid_spatialerror.png new file mode 100644 index 0000000000000000000000000000000000000000..8093de913bc1bea21f175bb98fa5f450c0797232 GIT binary patch literal 320129 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�v=1{=VXRe{#K`{e&s-L- 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∈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

K$rSW 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

lKqXtY7!O}W`j;4JKg-zO5mH4 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�ea@pQYJziiTD!e|Y#KOSvS@WG4A+V^# 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

coqa$r50qmbs!eB1w} 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

G0c!4hrt;kKV-0|(({QUd? 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

R=J4~7Hn{lScoQzrfQ9R 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%0Dj1^<3C?6E}rBUet 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 Date: Wed, 22 Jul 2026 17:22:02 -0500 Subject: [PATCH 64/68] Updated developer docs for ocean/hurricane test group --- .../ocean/test_groups/hurricane.rst | 257 ++++++++++++++++-- .../ocean/test_groups/hurricane.rst | 32 +-- 2 files changed, 247 insertions(+), 42 deletions(-) diff --git a/docs/developers_guide/ocean/test_groups/hurricane.rst b/docs/developers_guide/ocean/test_groups/hurricane.rst index ff99106d0c..a23078d7f4 100644 --- a/docs/developers_guide/ocean/test_groups/hurricane.rst +++ b/docs/developers_guide/ocean/test_groups/hurricane.rst @@ -7,64 +7,269 @@ The ``hurricane`` test group implements regionally refined, single layer barotropic, tropical cyclone cases as described in :ref:`ocean_hurricane` in the User's Guide. -mesh ----- -The class -:py:class:`compass.ocean.tests.hurricane.mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2BaseMesh` -defines a step for generating the global regionally refined mesh for the test group. -It inherits from the :py:class:`compass.ocean.mesh.floodplain.FloodplainMeshStep` -and provides the :py:func:`compass.ocean.tests.hurricane.mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2BaseMesh.build_cell_width_lat_lon()` -method to specify the mesh resolution function using the :py:func:`mpas_tools.ocean.coastal_tools.coastal_refined_mesh()` -function. - -lts_regions ------------ -The class :py:class:`compass.ocean.tests.hurricane.lts.mesh.lts_regions.LTSRegionsStep` creates a -copy of the culled mesh file that additionally includes an array called ``LTSRegion``. +The ``hurricane`` test group uses the MPAS-Ocean wetting and drying scheme to +simulate coastal flooding due to storm surge. Three wetting and drying options +are accepted as a ``wetdry`` argument into the ``Init`` and ``Forward`` cases +(``off``, ``standard``, ``subgrid``). If ``subgrid`` is used, the test group +will build look-up tables from a high-resolution DEM in order to apply the +Shallow Water Subgrid scheme corrections to the barotropic momentum equations. + +The ``hurricane`` test group also supports two local time-stepping schemes +(``LTS``, ``FB-LTS``), passed as the ``use_lts`` argument in the ``Mesh``, +``Init`` and ``Forward`` cases. + +.. _dev_ocean_hurricane_meshes: + +Meshes +------ +The ``hurricane`` test group supports 3 meshes (``DEQU120at30cr10rr2``, +``DEVR45to5rr1``, ``RRS6to18``). Each mesh inherits from the +:py:class:`compass.ocean.mesh.floodplain.FloodplainMeshStep` class, +and provides a ``build_cell_width_lat_lon()`` method to specify the mesh +resolution array using the +:py:func:`mpas_tools.ocean.coastal_tools.coastal_refined_mesh()` function. Each +mesh also uses config options to determine how the floodplain is defined. + +.. _dev_ocean_hurricane_dequ120at30cr10rr2: + +DEQU120at30cr10rr2 +^^^^^^^^^^^^^^^^^^ +The ``DEQU120at30cr10rr2`` mesh is a quasi-uniform, 120 km horizontal resoution +global mesh with regional refinement along the Mid-Atlantic Bight down to 2 km. +The mesh is defined by +:py:class:`compass.ocean.tests.hurricane.mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2BaseMesh`. + +The default config options for this mesh are: + +.. code-block:: cfg + # options for spherical meshes + [spherical_mesh] + + ## config options related to the step for culling land from the mesh + # number of cores to use + cull_mesh_cpus_per_task = 18 + # minimum of cores, below which the step fails + cull_mesh_min_cpus_per_task = 1 + # maximum memory usage allowed (in MB) + cull_mesh_max_memory = 1000 + + # Elevation threshold to use for including land cells + floodplain_elevation = 10.0 + + + # options for hurricane testcases + [hurricane] + + ## config options related to the initial_state step + # number of MPI tasks to use + init_ntasks = 36 + # minimum of MPI tasks, below which the step fails + init_min_tasks = 8 + # maximum memory usage allowed (in MB) + init_max_memory = 1000 + # number of threads + init_threads = 1 + + ## config options related to the forward steps + # number of MPI tasks to use + forward_ntasks = 180 + # minimum of MPI tasks, below which the step fails + forward_min_tasks = 18 + # maximum memory usage allowed (in MB) + forward_max_memory = 1000 + # number of threads + forward_threads = 1 + +.. _dev_ocean_hurricane_devr45to5rr1: + +DEVR45to5rr1 +^^^^^^^^^^^^ +The ``DEVR45to5rr1`` mesh is a variable-resolution 45 km to 5 km global mesh +with regional refinement along the Mid-Atlantic Bight down to 1 km. +The mesh is defined by +:py:class:`compass.ocean.tests.hurricane.mesh.devr45to5rr1.DEVR45to5rr1BaseMesh`. + +The default config options for this mesh are: + +.. code-block:: cfg + # options for spherical meshes + [spherical_mesh] + + ## config options related to the step for culling land from the mesh + # number of cores to use + cull_mesh_cpus_per_task = 18 + # minimum of cores, below which the step fails + cull_mesh_min_cpus_per_task = 1 + # maximum memory usage allowed (in MB) + cull_mesh_max_memory = 1000 + + # Elevation threshold to use for including land cells + floodplain_elevation = 40.0 + # Resolution threshold to use for including land cells + floodplain_resolution = 4.0 + # Minimum depth to enforce outside floodplain region + min_depth_outside_floodplain = 1.0 + + + # options for hurricane testcases + [hurricane] + + ## config options related to the initial_state step + # number of MPI tasks to use + init_ntasks = 512 + # minimum of MPI tasks, below which the step fails + init_min_tasks = 512 + # maximum memory usage allowed (in MB) + init_max_memory = 1000 + # number of threads + init_threads = 1 + + ## config options related to the forward steps + # number of MPI tasks to use + forward_ntasks = 1024 + # minimum of MPI tasks, below which the step fails + forward_min_tasks = 1024 + # maximum memory usage allowed (in MB) + forward_max_memory = 1000 + # number of threads + forward_threads = 1 + +.. _dev_ocean_hurricane_rrs6to18: + +RRS6to18 +^^^^^^^^ +The ``RRS6to18`` mesh is a high-resolution global mesh with Rossby-radius-scaling +of horizontal resolution from 18 km down to 6 km. +The mesh is defined by +:py:class:`compass.ocean.tests.hurricane.mesh.rrs6to18.RRS6to18BaseMesh`. + +The default config options for this mesh are: + +.. code-block:: cfg + # options for spherical meshes + [spherical_mesh] + + ## config options related to the step for culling land from the mesh + convert_culled_mesh_to_cdf5 = True + # number of cores to use + cull_mesh_cpus_per_task = 18 + # minimum of cores, below which the step fails + cull_mesh_min_cpus_per_task = 1 + # maximum memory usage allowed (in MB) + cull_mesh_max_memory = 1000 + + # Elevation threshold to use for including land cells + floodplain_elevation = 20.0 + # Resolution threshold to use for including land cells + floodplain_resolution = 16.0 + floodplain_geojson = mab_floodplain.geojson + # Minimum depth to enforce outside floodplain region + min_depth_outside_floodplain = 1.0 + + + # options for hurricane testcases + [hurricane] + + ## config options related to the initial_state step + # number of MPI tasks to use + init_ntasks = 512 + # minimum of MPI tasks, below which the step fails + init_min_tasks = 1 + # maximum memory usage allowed (in MB) + init_max_memory = 1000 + # number of threads + init_threads = 1 + + ## config options related to the forward steps + # number of MPI tasks to use + forward_ntasks = 1024 + # minimum of MPI tasks, below which the step fails + forward_min_tasks = 1024 + # maximum memory usage allowed (in MB) + forward_max_memory = 1000 + # number of threads + forward_threads = 1 + + +Test cases +---------- + +.. _dev_ocean_hurricane_mesh: + +mesh test case +^^^^^^^^^^^^^^ +The ``mesh`` test case generates an MPAS horizontal mesh, then culls out the +land cells to improve model efficiency. For ``hurricane`` meshes, the culling +step preserves a coastal floodplain according to config options. The +:py:class:`compass.ocean.tests.hurricane.mesh.Mesh` class is instantiated with +the desired mesh name in order to build the mesh. + +.. _dev_ocean_hurricane_mesh_lts: + +If either of the local time-stepping schemes (LTS, FB-LTS) are enabled, the +:py:class:`compass.ocean.tests.hurricane.lts.mesh.lts_regions.LTSRegionsStep` +class creates a copy of the culled mesh file that additionally includes an +array called ``LTSRegion``. This array has appropriate flags that determine what time-step should be used on a certain cell of the mesh, according to the local-time stepping scheme. The ``graph.info`` file is also copied and modified to address proper load balancing. The aforementioned class receives the :py:class:`compass.ocean.mesh.cull.CullMeshStep` as input. +.. _dev_ocean_hurricane_init: + +init test case +^^^^^^^^^^^^^^ +The ``init`` test performs steps to set up the vertical mesh, initial +conditions, atmospheric forcing, and parameterized wave and bottom drag, and +prepares the station locations for timeseries output. + initial_state -------------- +============= The class :py:class:`compass.ocean.tests.hurricane.init.initial_state.InitialState` defines a step for running MPAS-Ocean in init mode. The vertical mesh is -set up with a single layer. - +set up with a single layer. For the subgrid scheme, the ``initial_state`` step +is where the ``wetdry`` parameter determines whether to build the subgrid +look-up tables and construct the floodplain topography averaged from the +high-resolution DEM. interpolate_atm_forcing ------------------------ +======================= The class :py:class:`compass.ocean.tests.hurricane.init.interpolate_atm_forcing.InterpolateAtmForcing` defines a step for interpolating CFSv2 reanalysis data for atmospheric winds and pressure onto the MPAS-Ocean mesh at hourly time intervals. The forward run uses this as input to update the time varying atmospheric forcing. - create_pointstats_file ----------------------- +====================== The class :py:class:`compass.ocean.tests.hurricane.init.create_pointstats_file.CreatePointstatsFile` defines a step to create the input file for the MPAS-Ocean pointWiseStats analysis member based on station locations which have observed data. topographic_wave_drag ---------------------- +===================== The class :py:class:`compass.ocean.tests.hurricane.lts.init.topographic_wave_drag.ComputeTopographicWaveDrag` defines a step for interpolating the reciprocal of the ``r_inv`` to the mesh edges. This step is needed to include the contribution of the topographic wave drag in the model momentum tendency. +.. _dev_ocean_hurricane_sandy: + +sandy test case +^^^^^^^^^^^^^^^ +The sandy test case is responsible for the forward model simulation and analysis. + forward -------- +======= The class :py:class:`compass.ocean.tests.hurricane.forward.forward.ForwardStep` -defines a step to run MPAS-Ocean in forward mode +defines a step to run MPAS-Ocean in forward mode. For the subgrid scheme, the +``forward`` step is where the ``wetdry`` parameter determines whether to apply +the subgrid corrections via the look-up tables built in the ``initial_state`` +step. analysis --------- +======== The class :py:class:`compass.ocean.tests.hurricane.analysis.Analysis` defines a step to generate validation plots comparing sea surface height timeseries between modeled and observed data at several different stations. Both NOAA and USGS observations are plotted. - - diff --git a/docs/users_guide/ocean/test_groups/hurricane.rst b/docs/users_guide/ocean/test_groups/hurricane.rst index c385a2f9d1..8eb7789c86 100644 --- a/docs/users_guide/ocean/test_groups/hurricane.rst +++ b/docs/users_guide/ocean/test_groups/hurricane.rst @@ -110,7 +110,7 @@ Note that meshes and test cases may modify these options, as noted below. plot_station_dems = False -.. _hurricane_meshes: +.. _ocean_hurricane_meshes: Meshes ------ @@ -126,7 +126,7 @@ The finest mesh (RRS6to18) is reproduced from the ``global_ocean`` test group. These meshes are designed to work with the barotropic, single layer ``hurricane`` configurations, and they do not include ice-shelf cavities. -.. _hurricane_mesh_dequ120at30cr10rr2: +.. _ocean_hurricane_mesh_dequ120at30cr10rr2: DEQU120at30cr10rr2 ^^^^^^^^^^^^^^^^^^ @@ -137,7 +137,7 @@ Mid-Atlantic Bight, and (4) 2 km refinement along the coastal floodplain. The floodplain is defined by a 10 m elevation threshold. This mesh is primarily for testing purposes. -.. _hurricane_mesh_devr45to5rr1: +.. _ocean_hurricane_mesh_devr45to5rr1: DEVR45to5rr1 ^^^^^^^^^^^^ @@ -149,7 +149,7 @@ floodplain is defined by a 40 m elevation threshold, and only where refinement exceeds 4 km. This mesh is designed for predicting hurricane flooding along the US East Coast, such as the flooding caused by hurricanes Sandy and Irene. -.. _hurricane_mesh_rrs6to18: +.. _ocean_hurricane_mesh_rrs6to18: RRS6to18 ^^^^^^^^ @@ -161,12 +161,12 @@ GEOJSON region file. Additionally, the floodplain is constrained by a 20 m elevation threshold, and only where refinement exceeds 16 km. The use of this mesh for flooding simulations is experimental. -.. _hurricane_test_cases: +.. _ocean_hurricane_test_cases: Test cases ---------- -.. _hurricane_mesh: +.. _ocean_hurricane_mesh: mesh test case ^^^^^^^^^^^^^^ @@ -182,7 +182,7 @@ region GEOJSON file ``floodplain_geojson``. Finally, the bathymetry is re-interpolated onto the mesh since this data is not carried over from the cell culling process. -.. _hurricane_mesh_lts: +.. _ocean_hurricane_mesh_lts: If either LTS option is selected for the mesh test case, an additional step is carried out after the mesh culling. This step appropriately flags @@ -191,7 +191,7 @@ use time-steps of different sizes on different regions of the mesh. The parallel partitioning is modified accordingly to achieve proper load balancing. -.. _hurricane_init: +.. _ocean_hurricane_init: init test case ^^^^^^^^^^^^^^ @@ -229,19 +229,19 @@ condition file for the forward run. The vertical mesh is setup for a single layer case and the ssh with a thin layer on land for wetting and drying cases. -.. _hurricane_init_subgrid: +.. _ocean_hurricane_init_subgrid: If the ``subgrid`` option is selected, the Digital Elevation Model (DEM) and Land Use/Land Cover (LULC) tiles are processed to create look-up tables for the forward step corrections, and the DEM tiles are averaged to create the coastal and floodplain topography. -.. _hurricane_init_lts: +.. _ocean_hurricane_init_lts: If either LTS option is selected for the init test case, the modified partitioning done in the mesh step is used to run MPAS-Ocean init mode. -.. _hurricane_sandy: +.. _ocean_hurricane_sandy: sandy test case ^^^^^^^^^^^^^^^ @@ -254,12 +254,12 @@ The forward step runs the model simulation of the storm. The simulation begins with a spinup period, where the tides and atmospheric forcing are ramped to their full value to avoid shocking the system. -.. _hurricane_init_subgrid: +.. _ocean_hurricane_init_subgrid: If the ``subgrid`` option is selected, look-up tables are used to make the DEM and LULC corrections in the forward mode. -.. _hurricane_sandy_lts: +.. _ocean_hurricane_sandy_lts: If either LTS option is selected for the sandy test case, the LTS scheme is used to advance the solution in time rather than the default RK4 scheme. @@ -271,13 +271,13 @@ to compare the modeled and observed data. Both NOAA and USGS station data are used for the validation. .. image:: images/hurricane_subgrid_stationSSSNJHUD002WL.png - :width: 500 px + :width: 800 px :align: center .. image:: images/hurricane_subgrid_error.png - :width: 500 px + :width: 800 px :align: center .. image:: images/hurricane_subgrid_spatialerror.png - :width: 500 px + :width: 800 px :align: center From 991007b2217b137e9344505668874ffd02255fce Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Tue, 28 Jul 2026 13:52:02 -0500 Subject: [PATCH 65/68] Fix _ocean_hurricane_sandy_subgrid ref in ocean/hurricane user docs --- docs/users_guide/ocean/test_groups/hurricane.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/ocean/test_groups/hurricane.rst b/docs/users_guide/ocean/test_groups/hurricane.rst index 8eb7789c86..6ffe427bb7 100644 --- a/docs/users_guide/ocean/test_groups/hurricane.rst +++ b/docs/users_guide/ocean/test_groups/hurricane.rst @@ -254,7 +254,7 @@ The forward step runs the model simulation of the storm. The simulation begins with a spinup period, where the tides and atmospheric forcing are ramped to their full value to avoid shocking the system. -.. _ocean_hurricane_init_subgrid: +.. _ocean_hurricane_sandy_subgrid: If the ``subgrid`` option is selected, look-up tables are used to make the DEM and LULC corrections in the forward mode. From fcb18cc64ae9b0543526f132afdb1fe4a8393c66 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Wed, 29 Jul 2026 11:19:45 -0500 Subject: [PATCH 66/68] Fix rst syntax in ocean/hurricane user docs --- .../ocean/test_groups/hurricane.rst | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/developers_guide/ocean/test_groups/hurricane.rst b/docs/developers_guide/ocean/test_groups/hurricane.rst index a23078d7f4..de81c346bf 100644 --- a/docs/developers_guide/ocean/test_groups/hurricane.rst +++ b/docs/developers_guide/ocean/test_groups/hurricane.rst @@ -42,6 +42,7 @@ The mesh is defined by The default config options for this mesh are: .. code-block:: cfg + # options for spherical meshes [spherical_mesh] @@ -92,6 +93,7 @@ The mesh is defined by The default config options for this mesh are: .. code-block:: cfg + # options for spherical meshes [spherical_mesh] @@ -146,6 +148,7 @@ The mesh is defined by The default config options for this mesh are: .. code-block:: cfg + # options for spherical meshes [spherical_mesh] @@ -225,7 +228,7 @@ conditions, atmospheric forcing, and parameterized wave and bottom drag, and prepares the station locations for timeseries output. initial_state -============= +""""""""""""" The class :py:class:`compass.ocean.tests.hurricane.init.initial_state.InitialState` defines a step for running MPAS-Ocean in init mode. The vertical mesh is set up with a single layer. For the subgrid scheme, the ``initial_state`` step @@ -234,20 +237,20 @@ look-up tables and construct the floodplain topography averaged from the high-resolution DEM. interpolate_atm_forcing -======================= +""""""""""""""""""""""" The class :py:class:`compass.ocean.tests.hurricane.init.interpolate_atm_forcing.InterpolateAtmForcing` defines a step for interpolating CFSv2 reanalysis data for atmospheric winds and pressure onto the MPAS-Ocean mesh at hourly time intervals. The forward run uses this as input to update the time varying atmospheric forcing. create_pointstats_file -====================== +"""""""""""""""""""""" The class :py:class:`compass.ocean.tests.hurricane.init.create_pointstats_file.CreatePointstatsFile` defines a step to create the input file for the MPAS-Ocean pointWiseStats analysis member based on station locations which have observed data. topographic_wave_drag -===================== +""""""""""""""""""""" The class :py:class:`compass.ocean.tests.hurricane.lts.init.topographic_wave_drag.ComputeTopographicWaveDrag` defines a step for interpolating the reciprocal of the ``r_inv`` to the mesh edges. This step is needed to include the contribution of the topographic wave drag @@ -260,7 +263,7 @@ sandy test case The sandy test case is responsible for the forward model simulation and analysis. forward -======= +""""""" The class :py:class:`compass.ocean.tests.hurricane.forward.forward.ForwardStep` defines a step to run MPAS-Ocean in forward mode. For the subgrid scheme, the ``forward`` step is where the ``wetdry`` parameter determines whether to apply @@ -268,7 +271,7 @@ the subgrid corrections via the look-up tables built in the ``initial_state`` step. analysis -======== +"""""""" The class :py:class:`compass.ocean.tests.hurricane.analysis.Analysis` defines a step to generate validation plots comparing sea surface height timeseries between modeled and observed data at several different stations. From 4b5c105134bf46772b3e8592c5e9c5bdb8e93de4 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Fri, 31 Jul 2026 13:13:37 -0500 Subject: [PATCH 67/68] Fix ocean/hurricane docstrings and update API --- .../tests/hurricane/analysis/__init__.py | 19 ++++++++++++++++++- .../ocean/tests/hurricane/forward/__init__.py | 6 +++++- .../ocean/tests/hurricane/forward/forward.py | 5 ++++- .../ocean/tests/hurricane/init/__init__.py | 6 +++++- .../tests/hurricane/init/initial_state.py | 7 +++++-- .../hurricane/init/interpolate_mannings_n.py | 3 --- docs/developers_guide/ocean/api.rst | 15 +++++++++++++++ .../ocean/test_groups/hurricane.rst | 16 ++++++++-------- 8 files changed, 60 insertions(+), 17 deletions(-) diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index d4d759833f..adda6f578e 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -337,6 +337,9 @@ def run(self): #self.plot_hwm(station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data) def find_data_in_bbox(self, sta_lon, sta_lat, eps): + """ + Find data in bounding box + """ dsMesh = xr.open_dataset('mesh.nc') @@ -398,6 +401,9 @@ def find_data_in_bbox(self, sta_lon, sta_lat, eps): def plot_timeseries(self, obs, sta, sta_lon, sta_lat, obs_data, tree, data): + """ + Plot timeseries + """ # Create figure fig = plt.figure(figsize=[6, 4]) @@ -470,6 +476,9 @@ def plot_timeseries(self, obs, sta, sta_lon, sta_lat, plt.close() def plot_dem(self, sta, sta_lon, sta_lat): + """ + Plot Digital Elevation Model around station + """ # eps = 0.25 eps = 0.76 @@ -629,7 +638,11 @@ def plot_dem(self, sta, sta_lon, sta_lat): plt.close() - def plot_hwm(self, station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data): + def plot_hwm(self, station_lon, station_lat, hwm_obs, hwm_mod, + never_wet, data): + """ + Plot High-Water Mark statistics + """ # Print diagnostics print(station_lon) @@ -768,6 +781,10 @@ def plot_hwm(self, station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data): plt.close() def compute_cell_patches(self, dsMesh, bbox): + """ + Compute cell patches + """ + patches = [] nVerticesOnCell = dsMesh.nEdgesOnCell.values verticesOnCell = dsMesh.verticesOnCell.values - 1 diff --git a/compass/ocean/tests/hurricane/forward/__init__.py b/compass/ocean/tests/hurricane/forward/__init__.py index de6968df22..ba8c9819d7 100644 --- a/compass/ocean/tests/hurricane/forward/__init__.py +++ b/compass/ocean/tests/hurricane/forward/__init__.py @@ -37,7 +37,11 @@ def __init__(self, test_group, mesh, storm, init, use_lts, wetdry): The test case that produces the initial condition for this run use_lts : bool - Whether local time-stepping is to be used + Whether local time-stepping is used (use `LTS` or `FB_LTS` as True) + + wetdry : str + Type of wetting-drying scheme (`off`, `standard`, or `subgrid`) + """ mesh_name = mesh.mesh_name diff --git a/compass/ocean/tests/hurricane/forward/forward.py b/compass/ocean/tests/hurricane/forward/forward.py index cb17edbcb1..78b9646732 100644 --- a/compass/ocean/tests/hurricane/forward/forward.py +++ b/compass/ocean/tests/hurricane/forward/forward.py @@ -37,7 +37,10 @@ def __init__(self, test_case, mesh, init, use_lts, wetdry, The test case that produces the initial condition for this run use_lts : bool - Whether local time-stepping is to be used + Whether local time-stepping is used (use `LTS` or `FB_LTS` as True) + + wetdry : str + Type of wetting-drying scheme (`off`, `standard`, or `subgrid`) name : str, optional the name of the step diff --git a/compass/ocean/tests/hurricane/init/__init__.py b/compass/ocean/tests/hurricane/init/__init__.py index 0d7ab0c8b4..f401b23bc5 100644 --- a/compass/ocean/tests/hurricane/init/__init__.py +++ b/compass/ocean/tests/hurricane/init/__init__.py @@ -43,7 +43,11 @@ def __init__(self, test_group, mesh, storm, use_lts, wetdry): The name of the storm to be run use_lts : bool - Whether local time-stepping is used + Whether local time-stepping is used (use `LTS` or `FB_LTS` as True) + + wetdry : str + Type of wetting-drying scheme (`off`, `standard`, or `subgrid`) + """ self.mesh = mesh diff --git a/compass/ocean/tests/hurricane/init/initial_state.py b/compass/ocean/tests/hurricane/init/initial_state.py index 720f73c894..493d59c278 100644 --- a/compass/ocean/tests/hurricane/init/initial_state.py +++ b/compass/ocean/tests/hurricane/init/initial_state.py @@ -32,8 +32,11 @@ def __init__(self, test_case, mesh, use_lts, wetdry): mesh : compass.ocean.tests.hurricane.mesh.Mesh The test case that creates the mesh used by this test case - use_lts: bool - Whether local time-stepping is used + use_lts : bool + Whether local time-stepping is used (use `LTS` or `FB_LTS` as True) + + wetdry : str + Type of wetting-drying scheme (`off`, `standard`, or `subgrid`) """ diff --git a/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py index e374727db8..ca72eac871 100644 --- a/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py +++ b/compass/ocean/tests/hurricane/init/interpolate_mannings_n.py @@ -31,9 +31,6 @@ def __init__(self, test_case, init): test_case : compass.ocean.tests.hurricane.init.Init The test case this step belongs to - mesh : compass.ocean.tests.global_ocean.mesh.Mesh - The test case that creates the mesh used by this test case - """ super().__init__(test_case=test_case, name='interpolate_mannings_n', ntasks=1, min_tasks=1, openmp_threads=1) diff --git a/docs/developers_guide/ocean/api.rst b/docs/developers_guide/ocean/api.rst index e18323b5d7..d91d1a76ac 100644 --- a/docs/developers_guide/ocean/api.rst +++ b/docs/developers_guide/ocean/api.rst @@ -393,6 +393,11 @@ test cases and steps mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2BaseMesh mesh.dequ120at30cr10rr2.DEQU120at30cr10rr2BaseMesh.build_cell_width_lat_lon + mesh.devr45to5rr1.DEVR45to5rr1BaseMesh + mesh.devr45to5rr1.DEVR45to5rr1BaseMesh.build_cell_width_lat_lon + mesh.devr45to5rr1.DEVR45to5rr1BaseMesh.region_multiplier + mesh.rrs6to18.RRS6to18BaseMesh + mesh.rrs6to18.RRS6to18BaseMesh.build_cell_width_lat_lon init.Init init.Init.configure @@ -408,6 +413,10 @@ test cases and steps init.interpolate_atm_forcing.InterpolateAtmForcing.plot_interp_data init.interpolate_atm_forcing.InterpolateAtmForcing.write_to_file init.interpolate_atm_forcing.InterpolateAtmForcing.run + init.interpolate_mannings_n.InterpolateManningsN + init.interpolate_mannings_n.InterpolateManningsN.interpolate_data + init.interpolate_mannings_n.InterpolateManningsN.plot_interp_data + init.interpolate_mannings_n.InterpolateManningsN.run forward.Forward forward.Forward.configure @@ -421,6 +430,12 @@ test cases and steps analysis.Analysis.read_pointstats analysis.Analysis.read_station_data analysis.Analysis.read_station_file + analysis.Analysis.adjust_station_data + analysis.Analysis.compute_cell_patches + analysis.Analysis.find_data_in_bbox + analysis.Analysis.plot_timeseries + analysis.Analysis.plot_dem + analysis.Analysis.plot_hwm analysis.Analysis.run lts.mesh.lts_regions.LTSRegionsStep diff --git a/docs/users_guide/ocean/test_groups/hurricane.rst b/docs/users_guide/ocean/test_groups/hurricane.rst index 6ffe427bb7..a626d4b55f 100644 --- a/docs/users_guide/ocean/test_groups/hurricane.rst +++ b/docs/users_guide/ocean/test_groups/hurricane.rst @@ -24,12 +24,12 @@ simulate coastal inundation using the wetting and drying scheme. The time stepping options to run the simulations include the fourth order Runge-Kutta scheme (RK4), and two local time-stepping schemes. The first LTS scheme is based on a strong stability preserving Runge-Kutta -scheme of order three and is called LTS3, see +scheme of order three and is called LTS3, see `Lilly et al. (2023) `_ for details. The second LTS scheme is based on a forward-backward Runge-Kutta scheme of order two and is called FB-LTS. -Each test case in the ``ocean/hurricane`` test group has a counterpart +Each test case in the ``ocean/hurricane`` test group has a counterpart for each LTS scheme which is identified by appending the test case name with ``_lts`` for LTS3 and ``_fblts`` for FB-LTS. @@ -173,7 +173,7 @@ mesh test case The mesh test case uses the ``mesh`` step from the ``global_ocean`` test group to generate the global mesh based on a specified mesh resolution function. Next, bathymetry/topography data is interpolated onto the mesh from the NASA -Shuttle Radar Topography Mission 15 arcsecond (STRM15+) data product. This +Shuttle Radar Topography Mission 15 arcsecond (SRTM15+) data product. This interpolation step is necessary, because the topography in the floodplain is used to set a mask for the cell culling process. The land cells above the ``floodplain_elevation`` are then culled from the mesh. The floodplain can be @@ -185,7 +185,7 @@ cell culling process. .. _ocean_hurricane_mesh_lts: If either LTS option is selected for the mesh test case, an additional step -is carried out after the mesh culling. This step appropriately flags +is carried out after the mesh culling. This step appropriately flags the cells of the mesh according to a user defined criterion in order to use time-steps of different sizes on different regions of the mesh. The parallel partitioning is modified accordingly to achieve proper @@ -217,15 +217,15 @@ closest to them. A file is created that is the input to the compute topographic wave drag step """""""""""""""""""""""""""""""""" The reciprocal of the e-folding time, ``r_inv``, from the HyCOM model, -is computed in this step. See -`Buijsman et al. (2016) `_ -for details on the computation. This coefficient is needed to account +is computed in this step. See +`Buijsman et al. (2016) `_ +for details on the computation. This coefficient is needed to account for the topographic wave drag tendency in the model. initial state step """""""""""""""""" The initial state step runs MPAS-Ocean in init mode to create the initial -condition file for the forward run. The vertical mesh is setup for a +condition file for the forward run. The vertical mesh is set up for a single layer case and the ssh with a thin layer on land for wetting and drying cases. From b63247472471748fd13a9b35848936191ca72e55 Mon Sep 17 00:00:00 2001 From: bmooremaley Date: Fri, 31 Jul 2026 14:13:57 -0500 Subject: [PATCH 68/68] Run linter on subgrid_hurricane changes --- .../ocean/tests/buttermilk_bay/viz/errors.py | 97 ++++++++++--------- .../tests/buttermilk_bay/viz/plot_subgrid.py | 66 +++++++------ .../tests/hurricane/analysis/__init__.py | 3 +- 3 files changed, 89 insertions(+), 77 deletions(-) diff --git a/compass/ocean/tests/buttermilk_bay/viz/errors.py b/compass/ocean/tests/buttermilk_bay/viz/errors.py index b545451eb5..194355a92c 100644 --- a/compass/ocean/tests/buttermilk_bay/viz/errors.py +++ b/compass/ocean/tests/buttermilk_bay/viz/errors.py @@ -1,12 +1,5 @@ -import datetime as dt -import os -import subprocess -from pathlib import Path - import matplotlib as mpl -import matplotlib.colors as mcolors import matplotlib.pyplot as plt -import matplotlib.ticker as ticker import numpy as np import xarray as xr from scipy.interpolate import NearestNDInterpolator, RegularGridInterpolator @@ -14,44 +7,47 @@ mpl.rcParams['mathtext.fontset'] = 'stix' mpl.rcParams['font.family'] = 'STIXGeneral' -#resolutions = [256, 128, 64, 32, 16] +# resolutions = [256, 128, 64, 32, 16] resolutions = [256, 128, 64, 32] ds_dem = xr.open_dataset('subgrid/viz/buttermilk_bathy.nc') -values = -1.0*ds_dem.Band1.values -interp_dem = RegularGridInterpolator((ds_dem.x.values, ds_dem.y.values), values.T, method='nearest') +values = -1.0 * ds_dem.Band1.values +interp_dem = RegularGridInterpolator( + (ds_dem.x.values, ds_dem.y.values), values.T, method='nearest') ds_reference = xr.open_dataset('subgrid/viz/output_8m.nc') xy = np.vstack((ds_reference.xCell.values, ds_reference.yCell.values)).T interp_ref = NearestNDInterpolator(xy, ds_reference.ssh.values.T) -#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]]) -points = np.array([[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]]) +# points = np.array( +# [[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]]) +points = np.array( + [[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]]) # No #3 -#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.51, 3.027], [1.26, 1.56]]) +# points = np.array([[2.8, 0.53], [1.9, 1.66], [2.51, 3.027], [1.26, 1.56]]) # #5 Only -#points = np.array([[1.26, 1.56]]) +# points = np.array([[1.26, 1.56]]) points = points * 1000 -#ds_eval = xr.open_dataset('subgrid/viz/output_32m.nc') -#points = np.vstack((ds_eval.xCell.values, ds_eval.yCell.values)).T -#max_x = 3500 -#min_x = 0.5 -#max_y = 3500 -#min_y = 0.5 -#mask_x = (points[:,0] >= min_x) & (points[:,0] <= max_x) -#mask_y = (points[:,1] >= min_y) & (points[:,1] <= max_y) -#combined_mask = mask_x & mask_y -#points = points[combined_mask] +# ds_eval = xr.open_dataset('subgrid/viz/output_32m.nc') +# points = np.vstack((ds_eval.xCell.values, ds_eval.yCell.values)).T +# max_x = 3500 +# min_x = 0.5 +# max_y = 3500 +# min_y = 0.5 +# mask_x = (points[:,0] >= min_x) & (points[:,0] <= max_x) +# mask_y = (points[:,1] >= min_y) & (points[:,1] <= max_y) +# combined_mask = mask_x & mask_y +# points = points[combined_mask] h0 = 0.05 -#h0 = 0 +# h0 = 0 rmse_subgrid = [] rmse_standard = [] Linf_subgrid = [] Linf_standard = [] -for j,res in enumerate(resolutions): +for j, res in enumerate(resolutions): print(f'resolution: {res}') ds_subgrid = xr.open_dataset(f'subgrid/viz/output_{res}m.nc') @@ -60,20 +56,21 @@ ds_standard = xr.open_dataset(f'standard/viz/output_{res}m.nc') xy = np.vstack((ds_standard.xCell.values, ds_standard.yCell.values)).T - interp_standard = NearestNDInterpolator(xy, np.squeeze(ds_standard.layerThickness.values).T) + interp_standard = NearestNDInterpolator( + xy, np.squeeze(ds_standard.layerThickness.values).T) bathy = interp_dem(points) subgrid_ssh = interp_subgrid(points).T subgrid_h = subgrid_ssh + bathy - #subgrid_h = np.clip(subgrid_h, h0, None) + # subgrid_h = np.clip(subgrid_h, h0, None) subgrid_h[subgrid_h <= h0] = np.nan standard_h = interp_standard(points).T ref_ssh = interp_ref(points).T ref_h = ref_ssh + bathy - #ref_h = np.clip(ref_h, h0, None) + # ref_h = np.clip(ref_h, h0, None) ref_h[ref_h <= h0] = np.nan diff_subgrid = subgrid_h - ref_h @@ -85,8 +82,8 @@ N_subgrid = np.sum(~np.isnan(diff_subgrid)) N_standard = np.sum(~np.isnan(diff_standard)) - rmse_subgrid.append(np.sqrt(sum_sqdiff_subgrid/N_subgrid)) - rmse_standard.append(np.sqrt(sum_sqdiff_standard/N_standard)) + rmse_subgrid.append(np.sqrt(sum_sqdiff_subgrid / N_subgrid)) + rmse_standard.append(np.sqrt(sum_sqdiff_standard / N_standard)) print(f'rmse_subgrid: {rmse_subgrid[j]}') print(f'rmse_standard: {rmse_standard[j]}') @@ -95,31 +92,41 @@ print(f'Linf_subgrid: {Linf_subgrid[j]}') print(f'Linf_standard: {Linf_standard[j]}') -#wct_subgrid = np.array([4.12, 9.82, 18.98, 47.39, 113.49]) * 12.0 -#wct_standard = np.array([3.99, 9.49, 17.61, 43.26, 104.97]) * 12.0 -#nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39*4, 113.49*8]) * 12.0 / 3600.0 -#nh_standard = np.array([3.99, 9.49, 17.61, 43.26*4, 104.97*8]) * 12.0 / 3600.0 +# wct_subgrid = np.array([4.12, 9.82, 18.98, 47.39, 113.49]) * 12.0 +# wct_standard = np.array([3.99, 9.49, 17.61, 43.26, 104.97]) * 12.0 +# nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39*4, 113.49*8]) * 12.0 / 3600.0 +# nh_standard = np.array([3.99, 9.49, 17.61, 43.26*4, 104.97*8]) * 12.0/3600.0 wct_subgrid = np.array([4.12, 9.82, 18.98, 47.39]) * 12.0 wct_standard = np.array([3.99, 9.49, 17.61, 43.26]) * 12.0 -nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39*4]) * 12.0 / 3600.0 -nh_standard = np.array([3.99, 9.49, 17.61, 43.26*4]) * 12.0 / 3600.0 +nh_subgrid = np.array([4.12, 9.82, 18.98, 47.39 * 4]) * 12.0 / 3600.0 +nh_standard = np.array([3.99, 9.49, 17.61, 43.26 * 4]) * 12.0 / 3600.0 rmse_subgrid = np.array(rmse_subgrid) rmse_standard = np.array(rmse_standard) -log_wct_standard_interp = np.interp(np.log10(rmse_subgrid), np.log10(np.flip(rmse_standard)), np.log10(np.flip(wct_standard))) +log_wct_standard_interp = np.interp( + np.log10(rmse_subgrid), np.log10(np.flip(rmse_standard)), + np.log10(np.flip(wct_standard))) wct_standard_interp = 10**log_wct_standard_interp print(wct_standard_interp) print(wct_subgrid) speedup = np.divide(wct_standard_interp, wct_subgrid) print(speedup) -fig = plt.figure(figsize=(5,4)) -ax = fig.add_subplot(1,1,1) +fig = plt.figure(figsize=(5, 4)) +ax = fig.add_subplot(1, 1, 1) for i in range(3): - #ax.plot([wct_subgrid[i], wct_standard_interp[i]],[rmse_subgrid[i], rmse_subgrid[i]],'k-') - ax.annotate("",xy=(wct_subgrid[i], rmse_subgrid[i]), xytext=(wct_standard_interp[i], rmse_subgrid[i]), arrowprops=dict(arrowstyle="->")) - x = 0.5*(wct_subgrid[i] + wct_standard_interp[i]) - ax.text(0.95*x, 1.03*rmse_subgrid[i], f'{round(speedup[i],2)}'+r'$\times$', horizontalalignment='center') + # ax.plot( + # [wct_subgrid[i], wct_standard_interp[i]], + # [rmse_subgrid[i], rmse_subgrid[i]], 'k-') + ax.annotate( + "", xy=(wct_subgrid[i], rmse_subgrid[i]), + xytext=(wct_standard_interp[i], rmse_subgrid[i]), + arrowprops=dict(arrowstyle="->")) + x = 0.5 * (wct_subgrid[i] + wct_standard_interp[i]) + ax.text( + 0.95 * x, 1.03 * rmse_subgrid[i], + f'{round(speedup[i], 2)}' + r'$\times$', + horizontalalignment='center') ax.plot(wct_subgrid, rmse_subgrid, 'o-', label='subgrid') ax.plot(wct_standard, rmse_standard, 'o-', label='standard') ax.set_yscale('log') @@ -131,7 +138,7 @@ fig.savefig('buttermilk_bay_error_wct.png', dpi=400, bbox_inches='tight') fig = plt.figure() -ax = fig.add_subplot(1,1,1) +ax = fig.add_subplot(1, 1, 1) ax.plot(nh_subgrid, rmse_subgrid, 'o-', label='subgrid') ax.plot(nh_standard, rmse_standard, 'o-', label='standard') ax.set_yscale('log') diff --git a/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py b/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py index 396bf7498b..5c644218c6 100644 --- a/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py +++ b/compass/ocean/tests/buttermilk_bay/viz/plot_subgrid.py @@ -1,13 +1,8 @@ -import datetime as dt -import os -import subprocess - import cmocean import matplotlib as mpl import matplotlib.colors as mcolors import matplotlib.pyplot as plt import matplotlib.ticker as ticker -import mosaic import numpy as np import xarray as xr from inpoly import inpoly2 @@ -32,12 +27,14 @@ def plot_subgrid(ax, X, Y, bathy, solution, mesh, shape, ssh, points): nodes = np.vstack((xnode, ynode)).T edges = [] for i in range(nEdgesOnCell[iCell]): - edges.append([i, (i+1) % (nEdgesOnCell[iCell])]) + edges.append([i, (i + 1) % (nEdgesOnCell[iCell])]) edges = np.array(edges) inpt, onpt = inpoly2(pts, nodes, edges) - inwet = np.where(inpt & ((bathy+h0) < ssh[tsnap,iCell]) & (ssh[tsnap,iCell] < 2.0 )) + inwet = np.where( + inpt & ((bathy + h0) < ssh[tsnap, iCell]) & + (ssh[tsnap, iCell] < 2.0)) solution[inwet] = ssh[tsnap, iCell] @@ -48,29 +45,31 @@ def plot_subgrid(ax, X, Y, bathy, solution, mesh, shape, ssh, points): minval = 0.2 maxval = 0.8 cmap = mcolors.LinearSegmentedColormap.from_list( - 'truncated RdBu', - cmap(np.linspace(minval, maxval, 256))) + 'truncated RdBu', cmap(np.linspace(minval, maxval, 256))) ax.set_facecolor(color='lightgrey') - c = ax.contourf(X,Y,solution.reshape(shape), vmin=sol_min, vmax=sol_max, levels=levels, cmap=cmap, extend='both') + c = ax.contourf( + X, Y, solution.reshape(shape), vmin=sol_min, vmax=sol_max, + levels=levels, cmap=cmap, extend='both') ax.set_aspect('equal', 'box') ax.set_title(f'{res}m resolution') ax.set_xlabel('x (km)') ax.set_ylabel('y (km)') - formatter = ticker.FuncFormatter(lambda x_val, pos: f'{x_val /1000:g}') + formatter = ticker.FuncFormatter(lambda x_val, pos: f'{x_val / 1000:g}') ax.xaxis.set_major_formatter(formatter) ax.yaxis.set_major_formatter(formatter) ax.set_aspect('equal', 'box') - ax.scatter(points[:, 0], - points[:, 1], 15, 'k') - ax.set_xlim([0.0,4000]) - ax.set_ylim([0.0,3500]) + ax.scatter( + points[:, 0], points[:, 1], 15, 'k') + ax.set_xlim([0.0, 4000]) + ax.set_ylim([0.0, 3500]) return c + mpl.rcParams['mathtext.fontset'] = 'stix' mpl.rcParams['font.family'] = 'STIXGeneral' @@ -83,39 +82,44 @@ def plot_subgrid(ax, X, Y, bathy, solution, mesh, shape, ssh, points): solution = np.full_like(bathy, np.nan) shape = bathy.shape -fig = plt.figure(figsize=(5,4)) +fig = plt.figure(figsize=(5, 4)) ax = fig.add_subplot(111) vmin = -20 vmax = 20 levels = np.linspace(vmin, vmax, 100) print(levels) -c = ax.contourf(X,Y,bathy,cmap=cmocean.cm.topo, vmin=vmin, vmax=vmax, levels=levels, extend='both') +c = ax.contourf( + X, Y, bathy, cmap=cmocean.cm.topo, vmin=vmin, vmax=vmax, + levels=levels, extend='both') tick_step = 5 ticks = np.arange(vmin, vmax + tick_step, tick_step) cb = fig.colorbar(c, ticks=ticks) ax.set_xlabel('x (km)') ax.set_ylabel('y (km)') cb.set_label('bathymetry/topography (m)') -ax.set_aspect('equal','box') +ax.set_aspect('equal', 'box') fig.tight_layout() -fig.savefig('bathy.png',bbox_inches='tight', dpi=400) +fig.savefig('bathy.png', bbox_inches='tight', dpi=400) -#raise SystemExit(0) +# raise SystemExit(0) resolutions = [256, 128, 64] -#resolutions = [256] -#points = np.array([[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]])*1000 -points = np.array([[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]])*1000 +# resolutions = [256] +# points = 1000 * np.array( +# [[2.8, 0.53], [1.9, 1.66], [2.4, 3.029], [2.51, 3.027], [1.26, 1.56]]) +points = 1000 * np.array( + [[2.8, 0.53], [1.9, 1.66], [3.0, 3.25], [2.6, 3.25], [1.26, 1.56]]) ncols = len(resolutions) if ncols < 2: ncols = 2 -fig, ax = plt.subplots(nrows=1, ncols=ncols, - figsize=(3 * ncols, 3), - constrained_layout=True) -for i,res in enumerate(resolutions): +fig, ax = plt.subplots( + nrows=1, ncols=ncols, figsize=(3 * ncols, 3), constrained_layout=True) +for i, res in enumerate(resolutions): ds_mesh = xr.open_dataset(f'output_{res}m.nc') ssh = ds_mesh['ssh'].values - cm = plot_subgrid(ax[i], X, Y, bathy.ravel(), solution.ravel(), ds_mesh, shape, ssh, points) + cm = plot_subgrid( + ax[i], X, Y, bathy.ravel(), solution.ravel(), + ds_mesh, shape, ssh, points) tick_step = 0.5 sol_min = -2 @@ -127,14 +131,14 @@ def plot_subgrid(ax, X, Y, bathy, solution, mesh, shape, ssh, points): x = 0.0 y = 0.98 for j, sta in enumerate(range(len(points))): - if (j == 2) | (j ==3): + if (j == 2) | (j == 3): xoffset = 50 yoffset = -200 else: xoffset = 0 yoffset = 100 - ax[0].text(points[j, 0] + xoffset, - points[j, 1] + yoffset, str(j + 1), color='k') + ax[0].text( + points[j, 0] + xoffset, points[j, 1] + yoffset, str(j + 1), color='k') fig.suptitle(title, ha=ha, x=x, y=y, fontsize='x-large') cb.set_label('ssh (m)') diff --git a/compass/ocean/tests/hurricane/analysis/__init__.py b/compass/ocean/tests/hurricane/analysis/__init__.py index adda6f578e..5cb70db83d 100644 --- a/compass/ocean/tests/hurricane/analysis/__init__.py +++ b/compass/ocean/tests/hurricane/analysis/__init__.py @@ -334,7 +334,8 @@ def run(self): never_wet[run] = np.asarray(never_wet[run]) # Plot comparisons - #self.plot_hwm(station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data) + # self.plot_hwm( + # station_lon, station_lat, hwm_obs, hwm_mod, never_wet, data) def find_data_in_bbox(self, sta_lon, sta_lat, eps): """