From 93598f18b0af8c7fca3e11bf5aa0492629455652 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 7 Jan 2021 09:54:01 +0100 Subject: [PATCH 1/7] Rename SOwISC12to60 to be consistent with E3SM --- .../{SO60to10wISC => SOwISC12to60}/init/build_base_mesh.py | 0 .../init/config_E3SM_coupling_files.ini | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_base_mesh.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_culled_mesh.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_driver_init.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_e3sm_coupling.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_initial_state.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_ssh_adjustment.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/config_test.xml | 0 .../{SO60to10wISC => SOwISC12to60}/init/define_vertical_grid.py | 0 .../{SO60to10wISC => SOwISC12to60}/init/greenland.geojson | 0 .../{SO60to10wISC => SOwISC12to60}/init/high_res_region.geojson | 0 .../init/north_mid_res_region.geojson | 0 .../{SO60to10wISC => SOwISC12to60}/spin_up/config_driver.xml | 0 .../spin_up/config_prep_spin_up1.xml | 0 .../spin_up/config_prep_spin_up2.xml | 0 .../spin_up/config_prep_spin_up3.xml | 0 .../{SO60to10wISC => SOwISC12to60}/spin_up/config_simulation.xml | 0 .../{SO60to10wISC => SOwISC12to60}/template_forward.xml | 0 .../{SO60to10wISC => SOwISC12to60}/template_initial_state.xml | 0 20 files changed, 0 insertions(+), 0 deletions(-) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/build_base_mesh.py (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_E3SM_coupling_files.ini (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_base_mesh.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_culled_mesh.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_driver_init.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_e3sm_coupling.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_initial_state.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_ssh_adjustment.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/config_test.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/define_vertical_grid.py (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/greenland.geojson (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/high_res_region.geojson (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/init/north_mid_res_region.geojson (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/spin_up/config_driver.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/spin_up/config_prep_spin_up1.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/spin_up/config_prep_spin_up2.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/spin_up/config_prep_spin_up3.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/spin_up/config_simulation.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/template_forward.xml (100%) rename ocean/global_ocean/{SO60to10wISC => SOwISC12to60}/template_initial_state.xml (100%) diff --git a/ocean/global_ocean/SO60to10wISC/init/build_base_mesh.py b/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/build_base_mesh.py rename to ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py diff --git a/ocean/global_ocean/SO60to10wISC/init/config_E3SM_coupling_files.ini b/ocean/global_ocean/SOwISC12to60/init/config_E3SM_coupling_files.ini similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_E3SM_coupling_files.ini rename to ocean/global_ocean/SOwISC12to60/init/config_E3SM_coupling_files.ini diff --git a/ocean/global_ocean/SO60to10wISC/init/config_base_mesh.xml b/ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_base_mesh.xml rename to ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_culled_mesh.xml b/ocean/global_ocean/SOwISC12to60/init/config_culled_mesh.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_culled_mesh.xml rename to ocean/global_ocean/SOwISC12to60/init/config_culled_mesh.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_driver_init.xml b/ocean/global_ocean/SOwISC12to60/init/config_driver_init.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_driver_init.xml rename to ocean/global_ocean/SOwISC12to60/init/config_driver_init.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_e3sm_coupling.xml b/ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_e3sm_coupling.xml rename to ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_initial_state.xml b/ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_initial_state.xml rename to ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_ssh_adjustment.xml b/ocean/global_ocean/SOwISC12to60/init/config_ssh_adjustment.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_ssh_adjustment.xml rename to ocean/global_ocean/SOwISC12to60/init/config_ssh_adjustment.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/config_test.xml b/ocean/global_ocean/SOwISC12to60/init/config_test.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/config_test.xml rename to ocean/global_ocean/SOwISC12to60/init/config_test.xml diff --git a/ocean/global_ocean/SO60to10wISC/init/define_vertical_grid.py b/ocean/global_ocean/SOwISC12to60/init/define_vertical_grid.py similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/define_vertical_grid.py rename to ocean/global_ocean/SOwISC12to60/init/define_vertical_grid.py diff --git a/ocean/global_ocean/SO60to10wISC/init/greenland.geojson b/ocean/global_ocean/SOwISC12to60/init/greenland.geojson similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/greenland.geojson rename to ocean/global_ocean/SOwISC12to60/init/greenland.geojson diff --git a/ocean/global_ocean/SO60to10wISC/init/high_res_region.geojson b/ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/high_res_region.geojson rename to ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson diff --git a/ocean/global_ocean/SO60to10wISC/init/north_mid_res_region.geojson b/ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson similarity index 100% rename from ocean/global_ocean/SO60to10wISC/init/north_mid_res_region.geojson rename to ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson diff --git a/ocean/global_ocean/SO60to10wISC/spin_up/config_driver.xml b/ocean/global_ocean/SOwISC12to60/spin_up/config_driver.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/spin_up/config_driver.xml rename to ocean/global_ocean/SOwISC12to60/spin_up/config_driver.xml diff --git a/ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up1.xml b/ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up1.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up1.xml rename to ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up1.xml diff --git a/ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up2.xml b/ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up2.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up2.xml rename to ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up2.xml diff --git a/ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up3.xml b/ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up3.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/spin_up/config_prep_spin_up3.xml rename to ocean/global_ocean/SOwISC12to60/spin_up/config_prep_spin_up3.xml diff --git a/ocean/global_ocean/SO60to10wISC/spin_up/config_simulation.xml b/ocean/global_ocean/SOwISC12to60/spin_up/config_simulation.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/spin_up/config_simulation.xml rename to ocean/global_ocean/SOwISC12to60/spin_up/config_simulation.xml diff --git a/ocean/global_ocean/SO60to10wISC/template_forward.xml b/ocean/global_ocean/SOwISC12to60/template_forward.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/template_forward.xml rename to ocean/global_ocean/SOwISC12to60/template_forward.xml diff --git a/ocean/global_ocean/SO60to10wISC/template_initial_state.xml b/ocean/global_ocean/SOwISC12to60/template_initial_state.xml similarity index 100% rename from ocean/global_ocean/SO60to10wISC/template_initial_state.xml rename to ocean/global_ocean/SOwISC12to60/template_initial_state.xml From 951f5dc33cb7b5194f4193e6c18417bcb920aeb7 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 7 Jan 2021 10:18:15 +0100 Subject: [PATCH 2/7] Update for SOwISC12to60E2r4 mesh Remove high res around Greenland, add 30-km region in the north Atlantic. Move files_for_e3sm to its own testcase --- .../files_for_e3sm/config_driver.xml | 5 + .../config_files_for_e3sm.ini} | 14 +-- .../files_for_e3sm/config_files_for_e3sm.xml | 16 +++ .../SOwISC12to60/init/atlantic.geojson | 97 +++++++++++++++++++ .../SOwISC12to60/init/build_base_mesh.py | 61 ++++++------ .../SOwISC12to60/init/config_base_mesh.xml | 3 +- .../init/config_e3sm_coupling.xml | 1 - .../SOwISC12to60/init/greenland.geojson | 57 ----------- .../SOwISC12to60/init/high_res_region.geojson | 2 +- .../init/north_mid_res_region.geojson | 70 ------------- 10 files changed, 154 insertions(+), 172 deletions(-) create mode 100644 ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_driver.xml rename ocean/global_ocean/SOwISC12to60/{init/config_E3SM_coupling_files.ini => files_for_e3sm/config_files_for_e3sm.ini} (75%) create mode 100644 ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.xml create mode 100644 ocean/global_ocean/SOwISC12to60/init/atlantic.geojson delete mode 120000 ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml delete mode 100644 ocean/global_ocean/SOwISC12to60/init/greenland.geojson delete mode 100644 ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson diff --git a/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_driver.xml b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_driver.xml new file mode 100644 index 0000000000..b7331f7fd0 --- /dev/null +++ b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_driver.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ocean/global_ocean/SOwISC12to60/init/config_E3SM_coupling_files.ini b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini similarity index 75% rename from ocean/global_ocean/SOwISC12to60/init/config_E3SM_coupling_files.ini rename to ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini index 95e83fe73f..1cacd1a434 100644 --- a/ocean/global_ocean/SOwISC12to60/init/config_E3SM_coupling_files.ini +++ b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini @@ -15,18 +15,17 @@ description = MPAS Southern Ocean regionally refined mesh for E3SM version ${e3sm_version} with enhanced resolution (${min_res} km) around Antarctica, 45-km resolution in the mid southern latitudes, 30-km resolution in a 15-degree band around the equator, 60-km - resolution in northern mid latitudes, and a region transitioning - from 35-km resolution at the Arctic and North-Atlantic margins to - 15 km near Greenland. This mesh has ${levels} vertical levels and - includes cavities under the ice shelves in the Antarctic. + resolution in northern mid latitudes, 30 km in the north + Atlantic and 35 km in the Arctic. This mesh has ${levels} + vertical levels and includes cavities under the ice shelves + around Antarctica. e3sm_version = 2 -mesh_version = 03 +mesh_version = 4 creation_date = autodetect min_res = 12 max_res = 60 max_depth = autodetect levels = autodetect -runoff_description = <<>> # The following options are detected from .gitconfig if not explicitly entered author = autodetect @@ -76,6 +75,3 @@ enable = false [prescribed_ismf] enable = false -# path to the Rignot2013 data set. -# The default is a symlink to the initial conditions database -rignot_2013_file = ../MeltRatesRignot2013.nc diff --git a/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.xml b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.xml new file mode 100644 index 0000000000..1d91268ad3 --- /dev/null +++ b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + config_files_for_e3sm.ini + + + diff --git a/ocean/global_ocean/SOwISC12to60/init/atlantic.geojson b/ocean/global_ocean/SOwISC12to60/init/atlantic.geojson new file mode 100644 index 0000000000..1df1af372d --- /dev/null +++ b/ocean/global_ocean/SOwISC12to60/init/atlantic.geojson @@ -0,0 +1,97 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "name": "Atlantic region", + "component": "ocean", + "object": "region", + "author": "Xylar Asay-Davis" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -97.3828125, + 85.05112877979998 + ], + [ + -102.3046875, + 40.17887331434696 + ], + [ + -102.3046875, + 23.241346102386135 + ], + [ + -93.1640625, + 15.623036831528264 + ], + [ + -85.78125, + 13.581920900545844 + ], + [ + -83.583984375, + 9.535748998133627 + ], + [ + -81.2109375, + 8.059229627200192 + ], + [ + -79.013671875, + 9.795677582829743 + ], + [ + -75.9375, + 5.61598581915534 + ], + [ + -77.6953125, + 0 + ], + [ + 16.171875, + 0 + ], + [ + 27.773437499999996, + 26.745610382199022 + ], + [ + 37.96875, + 32.24997445586331 + ], + [ + 39.7265625, + 39.36827914916014 + ], + [ + 32.6953125, + 53.9560855309879 + ], + [ + 37.6171875, + 61.438767493682825 + ], + [ + 25.664062500000004, + 68.26938680456564 + ], + [ + 24.609375, + 85.05112877979998 + ], + [ + -97.3828125, + 85.05112877979998 + ] + ] + ] + } + } + ] +} \ No newline at end of file diff --git a/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py b/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py index d64f82540a..3d21a63228 100755 --- a/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py +++ b/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py @@ -37,11 +37,12 @@ def cellWidthVsLatLon(): cellWidthPole=45., latPosEq=7.5, latWidthEq=3.0) - # Transition at Equator cellWidthNorth = mdt.EC_CellWidthVsLat(lat, cellWidthEq=30., cellWidthMidLat=60., - cellWidthPole=60., + cellWidthPole=35., latPosEq=7.5, latWidthEq=3.0) + + # Transition at Equator latTransition = 0.0 latWidthTransition = 2.5 cellWidthVsLat = mdt.mergeCellWidthVsLat( @@ -53,7 +54,32 @@ def cellWidthVsLatLon(): _, cellWidth = np.meshgrid(lon, cellWidthVsLat) - # now, add the high-res region + cellWidthAtlantic = mdt.EC_CellWidthVsLat(lat, cellWidthEq=30., + cellWidthMidLat=30., + cellWidthPole=35., + latPosEq=7.5, latWidthEq=3.0) + + cellWidthAtlantic = mdt.mergeCellWidthVsLat( + lat, + cellWidthSouth, + cellWidthAtlantic, + latTransition, + latWidthTransition) + + _, cellWidthAtlantic = np.meshgrid(lon, cellWidthAtlantic) + + fc = read_feature_collection('atlantic.geojson') + + atlantic_signed_distance = signed_distance_from_geojson( + fc, lon, lat, earth_radius, max_length=0.25) + + trans_width = 400e3 + trans_start = 0. + weights = 0.5 * (1 + np.tanh((atlantic_signed_distance - trans_start) / + trans_width)) + + cellWidth = cellWidthAtlantic * (1 - weights) + cellWidth * weights + fc = read_feature_collection('high_res_region.geojson') so_signed_distance = signed_distance_from_geojson(fc, lon, lat, @@ -70,35 +96,6 @@ def cellWidthVsLatLon(): cellWidth = dx_min * (1 - weights) + cellWidth * weights - fc = read_feature_collection('north_mid_res_region.geojson') - - ar_signed_distance = signed_distance_from_geojson(fc, lon, lat, - earth_radius, - max_length=0.25) - - fc = read_feature_collection('greenland.geojson') - - gr_signed_distance = signed_distance_from_geojson(fc, lon, lat, - earth_radius, - max_length=0.25) - - frac = (-ar_signed_distance/(-ar_signed_distance + gr_signed_distance)) - - frac = np.maximum(0., np.minimum(1., frac)) - - dx_min = 15. - dx_max = 35. - - arctic_widths = dx_max + (dx_min - dx_max)*frac - - trans_width = 1000e3 - trans_start = 0. - - weights = 0.5 * (1 + np.tanh((ar_signed_distance - trans_start) / - trans_width)) - - cellWidth = arctic_widths * (1 - weights) + cellWidth * weights - return cellWidth, lon, lat diff --git a/ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml b/ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml index 009a5ac19e..ec513eaac5 100644 --- a/ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml +++ b/ocean/global_ocean/SOwISC12to60/init/config_base_mesh.xml @@ -3,8 +3,7 @@ - - + diff --git a/ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml b/ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml deleted file mode 120000 index b38d0325db..0000000000 --- a/ocean/global_ocean/SOwISC12to60/init/config_e3sm_coupling.xml +++ /dev/null @@ -1 +0,0 @@ -../../config_files_ISC/config_e3sm_coupling.xml \ No newline at end of file diff --git a/ocean/global_ocean/SOwISC12to60/init/greenland.geojson b/ocean/global_ocean/SOwISC12to60/init/greenland.geojson deleted file mode 100644 index 542f782a74..0000000000 --- a/ocean/global_ocean/SOwISC12to60/init/greenland.geojson +++ /dev/null @@ -1,57 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "name": "SO60to10 Greenland region", - "component": "ocean", - "object": "region", - "author": "Xylar Asay-Davis" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -37.6171875, - 82.72096436126803 - ], - [ - -68.5546875, - 78.56048828398782 - ], - [ - -52.734375, - 73.72659470212253 - ], - [ - -46.40625, - 60.930432202923335 - ], - [ - -29.53125, - 70.02058730174062 - ], - [ - -22.148437499999996, - 79.4323707591471 - ], - [ - -16.875, - 81.36128726057069 - ], - [ - -31.9921875, - 82.76537263027352 - ], - [ - -37.6171875, - 82.72096436126803 - ] - ] - ] - } - } - ] -} diff --git a/ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson b/ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson index 47a58fa247..76e93d0886 100644 --- a/ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson +++ b/ocean/global_ocean/SOwISC12to60/init/high_res_region.geojson @@ -4,7 +4,7 @@ { "type": "Feature", "properties": { - "name": "SO60to10 high res region", + "name": "SOwISC12to60 high res region", "component": "ocean", "object": "region", "author": "Xylar Asay-Davis" diff --git a/ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson b/ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson deleted file mode 100644 index 92eea40ccd..0000000000 --- a/ocean/global_ocean/SOwISC12to60/init/north_mid_res_region.geojson +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "stroke": "#555555", - "stroke-width": 2, - "stroke-opacity": 1, - "fill": "#555555", - "fill-opacity": 0.5, - "name": "SO60to10 northern mid res region", - "component": "ocean", - "object": "region", - "author": "Xylar Asay-Davis" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -158.90625, - 65 - ], - [ - -115.6640625, - 56.559482483762245 - ], - [ - -75.234375, - 36.59788913307022 - ], - [ - -3.8671874999999996, - 38.272688535980976 - ], - [ - 98.4375, - 73.62778879339942 - ], - [ - 180, - 65 - ], - [ - 180, - 90 - ], - [ - 0, - 90 - ], - [ - -180, - 90 - ], - [ - -180, - 65 - ], - [ - -158.90625, - 65 - ] - ] - ] - } - } - ] -} From 7f5683428352ab71584c530c44d8e43422153b51 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 7 Jan 2021 10:20:12 +0100 Subject: [PATCH 3/7] Remove unused metadata on runoff --- ocean/global_ocean/scripts/create_E3SM_coupling_files.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ocean/global_ocean/scripts/create_E3SM_coupling_files.py b/ocean/global_ocean/scripts/create_E3SM_coupling_files.py index b4be9e306d..ef706c4200 100755 --- a/ocean/global_ocean/scripts/create_E3SM_coupling_files.py +++ b/ocean/global_ocean/scripts/create_E3SM_coupling_files.py @@ -1277,9 +1277,7 @@ def append_mesh_metadata(config, filename): # {{{ config.getfloat('mesh', 'max_depth'), 'MPAS_Mesh_{}_Number_of_Levels'.format(prefix): config.getfloat('mesh', 'levels'), - 'MPAS_Mesh_Ice_Shelf_Cavities': ice_shelf_cavities, - 'MPAS_Mesh_Runoff_Description': config.get( - 'mesh', 'runoff_description')} + 'MPAS_Mesh_Ice_Shelf_Cavities': ice_shelf_cavities} packages = {'COMPASS': 'compass', 'JIGSAW': 'jigsaw', 'JIGSAW-Python': 'jigsawpy', 'MPAS-Tools': 'mpas_tools', From 1248c57613eb4c696a8e323cf0b88a5c9c598cf2 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 7 Jan 2021 14:38:36 +0100 Subject: [PATCH 4/7] Run initial_state on 4 nodes One node (36 cores) was too few on Anvil (out of memory). --- ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml b/ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml index 6a1d238463..85d031a422 100644 --- a/ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml +++ b/ocean/global_ocean/SOwISC12to60/init/config_initial_state.xml @@ -52,9 +52,9 @@ - 36 + 144 - + From 0ac75b2b3e0406edc54b40c181a9338d4d7fc958 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 7 Jan 2021 13:38:07 -0600 Subject: [PATCH 5/7] Move high-res region 1000 km farther north --- ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py b/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py index 3d21a63228..66a6bffd42 100755 --- a/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py +++ b/ocean/global_ocean/SOwISC12to60/init/build_base_mesh.py @@ -88,7 +88,7 @@ def cellWidthVsLatLon(): # Equivalent to 20 degrees latitude trans_width = 1600e3 - trans_start = -500e3 + trans_start = 500e3 dx_min = 12. weights = 0.5 * (1 + np.tanh((so_signed_distance - trans_start) / From 8d59dba5029b48f988be4848f7edef8cc3827645 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 8 Jan 2021 03:15:09 -0600 Subject: [PATCH 6/7] Switch to using short name in files for E3SM --- .../scripts/create_E3SM_coupling_files.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ocean/global_ocean/scripts/create_E3SM_coupling_files.py b/ocean/global_ocean/scripts/create_E3SM_coupling_files.py index ef706c4200..ccf72c3458 100755 --- a/ocean/global_ocean/scripts/create_E3SM_coupling_files.py +++ b/ocean/global_ocean/scripts/create_E3SM_coupling_files.py @@ -97,7 +97,7 @@ def main(): # {{{ config.get('main', 'ice_shelf_cavities'))) parse_mesh_metadata(config) - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') shutil.copyfile('mesh_before_metadata.nc', 'mesh.nc') append_mesh_metadata(config, 'mesh.nc') @@ -146,7 +146,7 @@ def main(): # {{{ def initial_condition_ocean(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') # create links init_filename = config.get('main', 'initial_condition') @@ -175,7 +175,7 @@ def initial_condition_ocean(config): # {{{ def graph_partition_ocean(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') date_string = config.get('main', 'date_string') # create links @@ -212,7 +212,7 @@ def graph_partition_ocean(config): # {{{ def initial_condition_seaice(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') init_filename = config.get('main', 'initial_condition') base_path = os.path.dirname(os.getcwd()) @@ -248,7 +248,7 @@ def initial_condition_seaice(config): # {{{ def scrip(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') date_string = config.get('main', 'date_string') ice_shelf_cavities = config.getboolean('main', 'ice_shelf_cavities') @@ -284,7 +284,7 @@ def scrip(config): # {{{ def transects_and_regions(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') ice_shelf_cavities = config.getboolean('main', 'ice_shelf_cavities') make_moc_masks(mesh_name) @@ -320,7 +320,7 @@ def transects_and_regions(config): # {{{ def mapping_analysis(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') make_analysis_lat_lon_map(config, mesh_name) make_analysis_polar_map(config, mesh_name, projection='antarctic') @@ -514,7 +514,7 @@ def make_domain_files(config, mapping_suffix): # {{{ def mapping_runoff(config): # {{{ - short_name = config.get('mesh', 'long_name') + short_name = config.get('mesh', 'short_name') date_string = config.get('main', 'date_string') ice_shelf_cavities = config.getboolean('main', 'ice_shelf_cavities') @@ -592,7 +592,7 @@ def mapping_runoff(config): # {{{ def salinity_restoring(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') date_string = config.get('main', 'date_string') ice_shelf_cavities = config.getboolean('main', 'ice_shelf_cavities') @@ -677,7 +677,7 @@ def salinity_restoring(config): # {{{ def prescribed_ismf(config): # {{{ - mesh_name = config.get('mesh', 'long_name') + mesh_name = config.get('mesh', 'short_name') date_string = config.get('main', 'date_string') ice_shelf_cavities = config.getboolean('main', 'ice_shelf_cavities') From 38c43dd62b75700f2cc4075e6a4b9ad281c776c2 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 14 Jan 2021 08:24:05 +0100 Subject: [PATCH 7/7] Add pull request to mesh description --- .../SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini index 1cacd1a434..c23e60284f 100644 --- a/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini +++ b/ocean/global_ocean/SOwISC12to60/files_for_e3sm/config_files_for_e3sm.ini @@ -18,7 +18,8 @@ description = MPAS Southern Ocean regionally refined mesh for E3SM version resolution in northern mid latitudes, 30 km in the north Atlantic and 35 km in the Arctic. This mesh has ${levels} vertical levels and includes cavities under the ice shelves - around Antarctica. + around Antarctica. The mesh is described in the following pull + request: https://github.com/MPAS-Dev/compass/pull/37 e3sm_version = 2 mesh_version = 4 creation_date = autodetect