diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_base_mesh.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_base_mesh.xml new file mode 100644 index 0000000000..94d602309b --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_base_mesh.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + jigsaw_to_MPAS.build_mesh + + + + diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_culled_mesh.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_culled_mesh.xml new file mode 120000 index 0000000000..9c49ba6246 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_culled_mesh.xml @@ -0,0 +1 @@ +../../config_files/config_culled_mesh.xml \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_driver.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_driver.xml new file mode 120000 index 0000000000..6e64036436 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_driver.xml @@ -0,0 +1 @@ +../../config_files/config_driver_init.xml \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_e3sm_coupling.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_e3sm_coupling.xml new file mode 120000 index 0000000000..de631f670a --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_e3sm_coupling.xml @@ -0,0 +1 @@ +../../config_files/config_e3sm_coupling.xml \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_initial_state.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_initial_state.xml new file mode 120000 index 0000000000..5c7c5154d7 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_initial_state.xml @@ -0,0 +1 @@ +../../config_files/config_initial_state.xml \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/config_mesh_metrics.xml b/testing_and_setup/compass/ocean/coastal/Maine/init/config_mesh_metrics.xml new file mode 120000 index 0000000000..1d71c75ff0 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/config_mesh_metrics.xml @@ -0,0 +1 @@ +../../config_files/config_mesh_metrics.xml \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/Maine/init/define_base_mesh.py b/testing_and_setup/compass/ocean/coastal/Maine/init/define_base_mesh.py new file mode 100755 index 0000000000..9911125115 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/init/define_base_mesh.py @@ -0,0 +1,213 @@ +#!/usr/bin/env python +from __future__ import absolute_import, division, print_function, \ + unicode_literals + +import numpy as np +import jigsaw_to_MPAS.coastal_tools as ct + + +def cellWidthVsLatLon(): + + km = 1000.0 + + params = ct.default_params + + # Use 1.0 degree for fast scoping, and 0.1 for the final creation: + params["ddeg"] = 0.2 + #params["ddeg"] = 1.0 + #params["ddeg"] = 0.5 + + params["dx_min_coastal"] = 12.0*km + params["trans_start"] = 400.0*km + params["trans_width"] = 600.0*km + params["n_longest"] = 20 + params["mesh_type"] = "EC" + + params["plot_box"] = ct.Entire_Globe + params["plot_option"] = False + + print("***Gulf Coast***") + params["region_box"] = ct.US_Gulf_Coast + params["restrict_box"] = ct.Gulf_restrict + params["trans_start"] = 400.0*km + params["trans_width"] = 600.0*km + cell_width, lon, lat = ct.coastal_refined_mesh(params) + + print("***East Coast***") + params["region_box"] = ct.US_East_Coast + params["restrict_box"] = ct.East_Coast_restrict + params["trans_start"] = 400.0*km + params["trans_width"] = 600.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Gulf Stream extension***") + params["restrict_box"] = ct.Empty + params["trans_width"] = 600.0*km + params["region_box"] = {"include":[np.array([-78,-70,40,42])], + "exclude":[]} + params["trans_start"] = 700.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + params["region_box"] = {"include":[np.array([-74,-50,42,55])], + "exclude":[]} + params["trans_start"] = 1100.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Gulf Coast spot***") + params["restrict_box"] = ct.Empty + params["trans_width"] = 100.0*km + params["region_box"] = {"include":[np.array([-98,-94,28,30])], + "exclude":[]} + params["trans_start"] = 400.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Greenland***") + params["region_box"] = ct.Greenland + params["restrict_box"] = ct.Empty + params["trans_width"] = 600.0*km + params["trans_start"] = 275.0*km + cell_width, lon, lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Greenland-Iceland smooth kink***") + params["region_box"] = {"include":[np.array([-45,-40,59,62])], + "exclude":[]} + params["trans_start"] = 700.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print( "***Hudson Bay***") + params["region_box"] = {"include":[np.array([-100,-70,50,65])], + "exclude":[]} + params["restrict_box"] = {"include":[np.array([-100,-70,50,65])], + "exclude":[]} + params["trans_start"] = 600.0*km + params["trans_width"] = 100.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print( "***Northern Canada***") + params["region_box"] = {"include":[np.array([-168,-59,67,85])], + "exclude":[]} + params["restrict_box"] = ct.Empty + params["trans_start"] = 275.0*km + params["trans_width"] = 600.0*km + params["n_longest"] = 20 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Alaska***") + params["region_box"] = ct.Alaska + params["trans_start"] = 400.0*km + params["trans_width"] = 600.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print( "***Crook at Alaska/Canada***") + params["region_box"] = {"include":[np.array([-144,-127,68.5,71])], + "exclude":[]} + params["restrict_box"] = ct.Empty + params["trans_start"] = 550.0*km + params["trans_width"] = 600.0*km + params["n_longest"] = 20 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Caribbean***") + params["region_box"] = ct.Caribbean + params["restrict_box"] = ct.Caribbean_restrict + params["trans_width"] = 400.0*km + params["trans_start"] = 300.0*km + params["n_longest"] = 50 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***West Coast***") + params["region_box"] = ct.US_West_Coast + params["restrict_box"] = ct.Empty + params["trans_width"] = 600.0*km + params["trans_start"] = 400.0*km + params["n_longest"] = 10 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Aleutian Islands (West)***") + params["region_box"] = ct.Aleutian_Islands_W + params["n_longest"] = 100 + params["trans_start"] = 200.0*km + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("****Aleutian Islands (East)***") + params["region_box"] = ct.Aleutian_Islands_E + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Bering Sea (East)****") + params["region_box"] = ct.Bering_Sea_E + params["trans_start"] = 400.0*km + params["trans_width"] = 600.0*km + params["n_longest"] = 10 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Bering Sea (West)***") + params["region_box"] = ct.Bering_Sea_W + params["restrict_box"] = ct.Bering_Sea_restrict + params["trans_start"] = 450.0*km + params["trans_width"] = 600.0*km + params["n_longest"] = 10 + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + print("***Newfoundland***") + Newfoundland = {"include":[np.array([-65.0,-50.0,44.0,60.0]), + np.array([-65.5,-64.5,61.0,62.0])], + "exclude":[]} + params["region_box"] = Newfoundland + params["restrict_box"] = ct.Empty + 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) + + print("***Labrador Sea***") + params["region_box"] = ct.Empty + params["restrict_box"] = ct.Empty + params["point_list"] = [np.array([-50.0,55.0])] + 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) + + print("***Central America (West Coast)***") + Central_America = {"include":[np.array([[-110.26,20.69], + [-87.84, 8.94 ], + [-84.55, 12.03], + [-104.26,23.11]]), + np.array([[-88.02, 10.47], + [-81.53, 6.14], + [-81.45, 8.07], + [-84.80, 11.51]]), + np.array([[-81.92, 7.76], + [-76.84, 4.51], + [-77.41, 8.22], + [-79.23, 9.28]])], + "exclude":[]} + params["region_box"] = Central_America + params["restrict_box"] = ct.Empty + params["point_list"] = None + 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) + + # coast of Maine + params["dx_min_coastal"] = 6.0*km + params["trans_start"] = 500.0*km + params["trans_width"] = 300.0*km + params["n_longest"] = 20 + params["region_box"] = {"include":[np.array([-70,-68,43,45])], + "exclude":[]} + params["restrict_box"] = {"include":[], + "exclude":[np.array([-73,-60,46,50])]} + params["point_list"] = [[-68.8,43.8]] + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + # coast of Maine + params["dx_min_coastal"] = 2.0*km + params["trans_start"] = 150.0*km + params["trans_width"] = 300.0*km + params["n_longest"] = 20 + params["region_box"] = {"include":[np.array([-70,-68,43,45])], + "exclude":[]} + params["restrict_box"] = {"include":[], + "exclude":[np.array([-73,-50,46,50])]} + params["point_list"] = [[-68.8,43.8]] + cell_width,lon,lat = ct.coastal_refined_mesh(params,cell_width,lon,lat) + + return cell_width / km, lon, lat diff --git a/testing_and_setup/compass/ocean/coastal/Maine/template_forward.xml b/testing_and_setup/compass/ocean/coastal/Maine/template_forward.xml new file mode 100644 index 0000000000..f366a59c1a --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/Maine/template_forward.xml @@ -0,0 +1,13 @@ + diff --git a/testing_and_setup/compass/ocean/coastal/config_files b/testing_and_setup/compass/ocean/coastal/config_files new file mode 120000 index 0000000000..4f18796931 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/config_files @@ -0,0 +1 @@ +../global_ocean/config_files \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/scripts b/testing_and_setup/compass/ocean/coastal/scripts new file mode 120000 index 0000000000..4ab0a94d65 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/scripts @@ -0,0 +1 @@ +../global_ocean/scripts \ No newline at end of file diff --git a/testing_and_setup/compass/ocean/coastal/template_initial_state.xml b/testing_and_setup/compass/ocean/coastal/template_initial_state.xml new file mode 120000 index 0000000000..afaaef0154 --- /dev/null +++ b/testing_and_setup/compass/ocean/coastal/template_initial_state.xml @@ -0,0 +1 @@ +../global_ocean/template_initial_state.xml \ No newline at end of file