diff --git a/compass/landice/mesh.py b/compass/landice/mesh.py index 0427e47556..850b556ed0 100644 --- a/compass/landice/mesh.py +++ b/compass/landice/mesh.py @@ -688,14 +688,14 @@ def build_mali_mesh(self, cell_width, x1, y1, geom_points, logger.info('writing grid_converted.nc') write_netcdf(dsMesh, 'grid_converted.nc') levels = section.get('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'grid_converted.nc', '-o', 'grid_preCull.nc', '-l', levels, '-v', 'glimmer'] check_call(args, logger=logger) - args = ['interpolate_to_mpasli_grid.py', '-s', + args = ['interpolate_to_mpasli_grid', '-s', gridded_dataset, '-d', 'grid_preCull.nc', '-m', 'b', '-t'] @@ -703,7 +703,7 @@ def build_mali_mesh(self, cell_width, x1, y1, geom_points, cullDistance = section.get('cull_distance') if float(cullDistance) > 0.: - args = ['define_cullMask.py', '-f', + args = ['define_landice_cull_mask', '-f', 'grid_preCull.nc', '-m', 'distance', '-d', cullDistance] @@ -715,7 +715,7 @@ def build_mali_mesh(self, cell_width, x1, y1, geom_points, if geojson_file is not None: # This step is only necessary because the GeoJSON region # is defined by lat-lon. - args = ['set_lat_lon_fields_in_planar_grid.py', '-f', + args = ['set_lat_lon_fields_in_planar_grid', '-f', 'grid_preCull.nc', '-p', projection] check_call(args, logger=logger) @@ -742,7 +742,7 @@ def build_mali_mesh(self, cell_width, x1, y1, geom_points, write_netcdf(dsMesh, 'culled.nc') logger.info('Marking horns for culling') - args = ['mark_horns_for_culling.py', '-f', 'culled.nc'] + args = ['mark_horns_for_culling', '-f', 'culled.nc'] check_call(args, logger=logger) @@ -753,24 +753,24 @@ def build_mali_mesh(self, cell_width, x1, y1, geom_points, dsMesh = sort_mesh(dsMesh) write_netcdf(dsMesh, 'dehorned.nc') - args = ['create_landice_grid_from_generic_MPAS_grid.py', '-i', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'dehorned.nc', '-o', mesh_name, '-l', levels, '-v', 'glimmer', '--beta', '--thermal', '--obs', '--diri'] check_call(args, logger=logger) - args = ['interpolate_to_mpasli_grid.py', '-s', + args = ['interpolate_to_mpasli_grid', '-s', gridded_dataset, '-d', mesh_name, '-m', 'b'] check_call(args, logger=logger) logger.info('Marking domain boundaries dirichlet') - args = ['mark_domain_boundaries_dirichlet.py', + args = ['mark_domain_boundaries_dirichlet', '-f', mesh_name] check_call(args, logger=logger) - args = ['set_lat_lon_fields_in_planar_grid.py', '-f', + args = ['set_lat_lon_fields_in_planar_grid', '-f', mesh_name, '-p', projection] check_call(args, logger=logger) @@ -1061,7 +1061,7 @@ def __guess_scrip_name(filename): logger.info('creating scrip file for source dataset') # Note: writing scrip file to workdir - args = ['create_SCRIP_file_from_planar_rectangular_grid.py', + args = ['create_scrip_file_from_planar_rectangular_grid', '-i', source_file, '-s', source_scrip, '-p', proj, @@ -1080,8 +1080,8 @@ def __guess_scrip_name(filename): check_call(args, logger=logger) # Perform actual interpolation using the weights - logger.info('calling interpolate_to_mpasli_grid.py') - args = ['interpolate_to_mpasli_grid.py', + logger.info('calling interpolate_to_mpasli_grid') + args = ['interpolate_to_mpasli_grid', '-s', source_file, '-d', dest_file, '-m', 'e', diff --git a/compass/landice/tests/antarctica/mesh.py b/compass/landice/tests/antarctica/mesh.py index fcff251304..ec46ac643c 100644 --- a/compass/landice/tests/antarctica/mesh.py +++ b/compass/landice/tests/antarctica/mesh.py @@ -120,8 +120,8 @@ def run(self): # Also, it should be assessed if bilinear or # barycentric used here is preferred for this application. # Current thinking is they are both equally appropriate. - logger.info('calling interpolate_to_mpasli_grid.py') - args = ['interpolate_to_mpasli_grid.py', '-s', + logger.info('calling interpolate_to_mpasli_grid') + args = ['interpolate_to_mpasli_grid', '-s', preprocessed_gridded_dataset, '-d', self.mesh_filename, diff --git a/compass/landice/tests/antarctica/mesh_gen/mesh_gen.cfg b/compass/landice/tests/antarctica/mesh_gen/mesh_gen.cfg index 74cbae28c0..cca24f5acd 100644 --- a/compass/landice/tests/antarctica/mesh_gen/mesh_gen.cfg +++ b/compass/landice/tests/antarctica/mesh_gen/mesh_gen.cfg @@ -61,7 +61,7 @@ bedmachine_filename = BedMachineAntarctica_2020-07-15_v02_edits_floodFill_extrap measures_filename = antarctica_ice_velocity_450m_v2_edits_extrap.nc # projection of the source datasets, according to the dictionary keys -# create_SCRIP_file_from_planar_rectangular_grid.py from MPAS_Tools +# create_scrip_file_from_planar_rectangular_grid from MPAS_Tools src_proj = ais-bedmap2 # number of processors to use for ESMF_RegridWeightGen diff --git a/compass/landice/tests/circular_shelf/setup_mesh.py b/compass/landice/tests/circular_shelf/setup_mesh.py index a678e0f784..3a2eadb66e 100644 --- a/compass/landice/tests/circular_shelf/setup_mesh.py +++ b/compass/landice/tests/circular_shelf/setup_mesh.py @@ -1,10 +1,9 @@ import numpy -from netCDF4 import Dataset as NetCDFFile - -from mpas_tools.planar_hex import make_planar_hex_mesh from mpas_tools.io import write_netcdf -from mpas_tools.mesh.conversion import convert, cull from mpas_tools.logging import check_call +from mpas_tools.mesh.conversion import convert, cull +from mpas_tools.planar_hex import make_planar_hex_mesh +from netCDF4 import Dataset as NetCDFFile from compass.model import make_graph_file from compass.step import Step @@ -60,7 +59,7 @@ def run(self): write_netcdf(dsMesh, 'mpas_grid.nc') levels = section.get('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels, diff --git a/compass/landice/tests/dome/setup_mesh.py b/compass/landice/tests/dome/setup_mesh.py index 912cf3dac8..8eb3c2e34d 100644 --- a/compass/landice/tests/dome/setup_mesh.py +++ b/compass/landice/tests/dome/setup_mesh.py @@ -1,10 +1,9 @@ import numpy -from netCDF4 import Dataset as NetCDFFile - -from mpas_tools.planar_hex import make_planar_hex_mesh from mpas_tools.io import write_netcdf -from mpas_tools.mesh.conversion import convert, cull from mpas_tools.logging import check_call +from mpas_tools.mesh.conversion import convert, cull +from mpas_tools.planar_hex import make_planar_hex_mesh +from netCDF4 import Dataset as NetCDFFile from compass.model import make_graph_file from compass.step import Step @@ -71,7 +70,7 @@ def run(self): write_netcdf(dsMesh, 'mpas_grid.nc') levels = section.get('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels] @@ -158,7 +157,7 @@ def _setup_dome_initial_conditions(config, logger, filename): thickness_field[r < r0] = h0 * (1.0 - (r[r < r0] / r0) ** 2) ** 0.5 elif dome_type == 'halfar': thickness_field[r < r0] = h0 * ( - 1.0 - (r[r < r0] / r0) ** (4.0 / 3.0)) ** (3.0 / 7.0) + 1.0 - (r[r < r0] / r0) ** (4.0 / 3.0)) ** (3.0 / 7.0) else: raise ValueError('Unexpected dome_type: {}'.format(dome_type)) thickness[0, :] = thickness_field diff --git a/compass/landice/tests/eismint2/setup_mesh.py b/compass/landice/tests/eismint2/setup_mesh.py index d3fb7d635e..088b9a95a2 100644 --- a/compass/landice/tests/eismint2/setup_mesh.py +++ b/compass/landice/tests/eismint2/setup_mesh.py @@ -1,9 +1,8 @@ import xarray - -from mpas_tools.planar_hex import make_planar_hex_mesh from mpas_tools.io import write_netcdf -from mpas_tools.mesh.conversion import convert, cull from mpas_tools.logging import check_call +from mpas_tools.mesh.conversion import convert, cull +from mpas_tools.planar_hex import make_planar_hex_mesh from compass.model import make_graph_file from compass.step import Step @@ -48,7 +47,7 @@ def run(self): dsMesh.close() radius = section.get('radius') - args = ['define_cullMask.py', + args = ['define_landice_cull_mask', '-f', 'mpas_grid.nc', '-m', 'radius', '-d', radius] @@ -61,7 +60,7 @@ def run(self): write_netcdf(dsMesh, 'mpas_grid2.nc') levels = section.get('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid2.nc', '-o', 'landice_grid.nc', '-l', levels, diff --git a/compass/landice/tests/enthalpy_benchmark/setup_mesh.py b/compass/landice/tests/enthalpy_benchmark/setup_mesh.py index 16e0ae81d5..313a1b8b92 100644 --- a/compass/landice/tests/enthalpy_benchmark/setup_mesh.py +++ b/compass/landice/tests/enthalpy_benchmark/setup_mesh.py @@ -1,9 +1,8 @@ -from netCDF4 import Dataset as NetCDFFile - -from mpas_tools.planar_hex import make_planar_hex_mesh from mpas_tools.io import write_netcdf -from mpas_tools.mesh.conversion import convert, cull from mpas_tools.logging import check_call +from mpas_tools.mesh.conversion import convert, cull +from mpas_tools.planar_hex import make_planar_hex_mesh +from netCDF4 import Dataset as NetCDFFile from compass.model import make_graph_file from compass.step import Step @@ -49,7 +48,7 @@ def run(self): dsMesh = convert(dsMesh, logger=logger) write_netcdf(dsMesh, 'mpas_grid.nc') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels, diff --git a/compass/landice/tests/greenland/mesh_gen/mesh_gen.cfg b/compass/landice/tests/greenland/mesh_gen/mesh_gen.cfg index a285a1cb7c..4cb6417f6c 100644 --- a/compass/landice/tests/greenland/mesh_gen/mesh_gen.cfg +++ b/compass/landice/tests/greenland/mesh_gen/mesh_gen.cfg @@ -62,7 +62,7 @@ bedmachine_filename = BedMachineGreenland-v5_edits_floodFill_extrap.nc measures_filename = greenland_vel_mosaic500_extrap.nc # projection of the source datasets, according to the dictionary keys -# create_SCRIP_file_from_planar_rectangular_grid.py from MPAS_Tools +# create_scrip_file_from_planar_rectangular_grid from MPAS_Tools src_proj = gis-gimp # number of processors to use for ESMF_RegridWeightGen diff --git a/compass/landice/tests/hydro_radial/setup_mesh.py b/compass/landice/tests/hydro_radial/setup_mesh.py index 1d0b6e4c67..b1c12d6d3c 100644 --- a/compass/landice/tests/hydro_radial/setup_mesh.py +++ b/compass/landice/tests/hydro_radial/setup_mesh.py @@ -1,10 +1,9 @@ import numpy as np -from netCDF4 import Dataset as NetCDFFile - -from mpas_tools.planar_hex import make_planar_hex_mesh from mpas_tools.io import write_netcdf -from mpas_tools.mesh.conversion import convert, cull from mpas_tools.logging import check_call +from mpas_tools.mesh.conversion import convert, cull +from mpas_tools.planar_hex import make_planar_hex_mesh +from netCDF4 import Dataset as NetCDFFile from compass.model import make_graph_file from compass.step import Step @@ -72,7 +71,7 @@ def run(self): write_netcdf(dsMesh, 'mpas_grid.nc') levels = section.get('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels, diff --git a/compass/landice/tests/ismip6_forcing/create_mapfile.py b/compass/landice/tests/ismip6_forcing/create_mapfile.py index 2f96266866..be74fc83a7 100644 --- a/compass/landice/tests/ismip6_forcing/create_mapfile.py +++ b/compass/landice/tests/ismip6_forcing/create_mapfile.py @@ -73,7 +73,7 @@ def build_mapping_file(config, cores, logger, ismip6_grid_file, mapping_file, if scrip_from_latlon: create_scrip_from_latlon(ismip6_grid_file, source_grid_scripfile) else: - args = ["create_SCRIP_file_from_planar_rectangular_grid.py", + args = ["create_scrip_file_from_planar_rectangular_grid", "--input", ismip6_grid_file, "--scrip", source_grid_scripfile, "--proj", ismip6_projection, @@ -89,7 +89,7 @@ def build_mapping_file(config, cores, logger, ismip6_grid_file, mapping_file, mali_mesh_copy = f"{mali_mesh_file}_copy" shutil.copy(mali_mesh_file, f"{mali_mesh_file}_copy") - args = ["set_lat_lon_fields_in_planar_grid.py", + args = ["set_lat_lon_fields_in_planar_grid", "--file", mali_mesh_copy, "--proj", ismip6_projection] @@ -133,7 +133,7 @@ def create_scrip_from_latlon(source_grid_file, source_grid_scripfile): dataset. This function is needed, c.f. the scrip utility in the MPAS-Tools repo - (i.e. `create_SCRIP_file_from_planar_rectangular_grid.py`), when a dataset + (i.e. `create_scrip_file_from_planar_rectangular_grid`), when a dataset does not have `x`/`y` coordinates to generate the scrip file from. This is the case for the atmospheric forcing datasets from ISMIP6 and for RACMO products. diff --git a/compass/landice/tests/ismip6_run/ismip6_ais_proj2300/create_slm_mapping_files.py b/compass/landice/tests/ismip6_run/ismip6_ais_proj2300/create_slm_mapping_files.py index 10933d2d8b..e94928535c 100644 --- a/compass/landice/tests/ismip6_run/ismip6_ais_proj2300/create_slm_mapping_files.py +++ b/compass/landice/tests/ismip6_run/ismip6_ais_proj2300/create_slm_mapping_files.py @@ -73,14 +73,14 @@ def _build_mapping_files(self, config, logger): args = ['ncremap', '-g', slm_scripfile, '-G', - f'latlon={nglv},{2*int(nglv)}#lat_typ=gss#lat_drc=n2s'] + f'latlon={nglv},{2 * int(nglv)}#lat_typ=gss#lat_drc=n2s'] check_call(args, logger=logger) # mali scripfile # first have to adjust lat-lon values as if they are on sphere shutil.copy(init_cond_path, mali_meshfile) - args = ['set_lat_lon_fields_in_planar_grid.py', + args = ['set_lat_lon_fields_in_planar_grid', '--file', mali_meshfile, '--proj', 'ais-bedmap2-sphere'] diff --git a/compass/landice/tests/mesh_modifications/subdomain_extractor/extract_region.py b/compass/landice/tests/mesh_modifications/subdomain_extractor/extract_region.py index ac984af1a6..d8b5c7d4a2 100644 --- a/compass/landice/tests/mesh_modifications/subdomain_extractor/extract_region.py +++ b/compass/landice/tests/mesh_modifications/subdomain_extractor/extract_region.py @@ -144,7 +144,7 @@ def run(self): # mark horns for culling logger.info('Marking horns for culling') - args = ['mark_horns_for_culling.py', '-f', + args = ['mark_horns_for_culling', '-f', os.path.join(tmpdir, f'{source_file_rootname}_culled.nc')] check_call(args, logger=logger) @@ -158,8 +158,8 @@ def run(self): write_netcdf(ds_out, dest_mesh_only_name) # set lat/lon - logger.info('calling set_lat_lon_fields_in_planar_grid.py') - args = ['set_lat_lon_fields_in_planar_grid.py', + logger.info('calling set_lat_lon_fields_in_planar_grid') + args = ['set_lat_lon_fields_in_planar_grid', '-f', dest_mesh_only_name, '-p', mesh_projection] check_call(args, logger=logger) @@ -206,8 +206,8 @@ def run(self): elif interp_method == 'mali_interp': # create landice mesh - logger.info('calling create_landice_grid_from_generic_MPAS_grid.py') # noqa - args = ['create_landice_grid_from_generic_MPAS_grid.py', + logger.info('calling create_landice_grid_from_generic_mpas_grid') # noqa + args = ['create_landice_grid_from_generic_mpas_grid', '-i', os.path.join(tmpdir, 'dest_mesh_only.nc'), '-o', dest_file_name, '-l', f'{levels}', '-v', 'glimmer', @@ -216,8 +216,8 @@ def run(self): # interpolate to new mesh using nearest neighbor to ensure we get # identical values - logger.info('calling interpolate_to_mpasli_grid.py') - args = ['interpolate_to_mpasli_grid.py', + logger.info('calling interpolate_to_mpasli_grid') + args = ['interpolate_to_mpasli_grid', '-s', source_file_path, '-d', dest_file_name, '-m', 'n'] check_call(args, logger=logger) @@ -226,7 +226,7 @@ def run(self): # mark Dirichlet boundaries logger.info('Marking domain boundaries dirichlet') - args = ['mark_domain_boundaries_dirichlet.py', + args = ['mark_domain_boundaries_dirichlet', '-f', dest_file_name] check_call(args, logger=logger) diff --git a/compass/landice/tests/mesh_modifications/subdomain_extractor/subdomain_extractor.cfg b/compass/landice/tests/mesh_modifications/subdomain_extractor/subdomain_extractor.cfg index c4b7395584..34f555c436 100644 --- a/compass/landice/tests/mesh_modifications/subdomain_extractor/subdomain_extractor.cfg +++ b/compass/landice/tests/mesh_modifications/subdomain_extractor/subdomain_extractor.cfg @@ -42,7 +42,7 @@ grow_iters = 15 # nstd weight file and then uses ncremap to perform remapping. # This method supports interpolating ancillary files (below) # but likely needs to be run on a compute node and is more fragile. -# 'mali_interp' uses the MALI interpolation script interpolate_to_mpasli_grid.py +# 'mali_interp' uses the MALI interpolation script interpolate_to_mpasli_grid # This method does not support ancillary files but may be more robust # and can likely be run quickly on a login node. interp_method = ncremap diff --git a/compass/landice/tests/mismipplus/setup_mesh.py b/compass/landice/tests/mismipplus/setup_mesh.py index 8c4cdae04b..964e19b374 100644 --- a/compass/landice/tests/mismipplus/setup_mesh.py +++ b/compass/landice/tests/mismipplus/setup_mesh.py @@ -119,7 +119,7 @@ def run(self): levels = section.get('levels') vertMethod = section.get('vetical_layer_distribution') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels, diff --git a/compass/version.py b/compass/version.py index 3fd0d93cfa..64a532e33d 100644 --- a/compass/version.py +++ b/compass/version.py @@ -1 +1 @@ -__version__ = '1.7.0-alpha.1' +__version__ = '1.7.0-alpha.2' diff --git a/conda/bootstrap.py b/conda/bootstrap.py index a5682ba2c2..04cf4c8109 100755 --- a/conda/bootstrap.py +++ b/conda/bootstrap.py @@ -263,6 +263,7 @@ def build_conda_env(env_type, recreate, mpi, conda_mpi, version, if env_type == 'test_release': # for a test release, we will be the compass package from the dev label channels = channels + ['-c e3sm/label/compass_dev'] + channels = ['-c conda-forge/label/mpas_tools_dev'] + channels channels = channels + ['-c e3sm/label/compass'] channels = f'--override-channels {" ".join(channels)}' diff --git a/conda/compass_env/spec-file.template b/conda/compass_env/spec-file.template index 2cc1536b9a..926b91b200 100644 --- a/conda/compass_env/spec-file.template +++ b/conda/compass_env/spec-file.template @@ -22,7 +22,7 @@ matplotlib-base >=3.9.1 metis moab >=5.5.1 moab=*={{ mpi_prefix }}_tempest_* -mpas_tools=0.36.0 +mpas_tools=1.0.0rc2 nco netcdf4=*=nompi_* numpy >=2.0,<3.0 diff --git a/docs/developers_guide/framework.rst b/docs/developers_guide/framework.rst index f2e7d71d19..482db29ddd 100644 --- a/docs/developers_guide/framework.rst +++ b/docs/developers_guide/framework.rst @@ -244,7 +244,7 @@ functions. Here is a code snippet from section = config['dome'] ... levels = section.getfloat('levels') - args = ['create_landice_grid_from_generic_MPAS_grid.py', + args = ['create_landice_grid_from_generic_mpas_grid', '-i', 'mpas_grid.nc', '-o', 'landice_grid.nc', '-l', levels] @@ -253,7 +253,7 @@ functions. Here is a code snippet from ... -This example calls the script ``create_landice_grid_from_generic_MPAS_grid.py`` +This example calls the script ``create_landice_grid_from_generic_mpas_grid`` from ``mpas_tools`` with several arguments, making use of the ``logger``. .. _dev_io: diff --git a/docs/developers_guide/landice/test_groups/circular_shelf.rst b/docs/developers_guide/landice/test_groups/circular_shelf.rst index 2c5b81f055..c5a0517827 100644 --- a/docs/developers_guide/landice/test_groups/circular_shelf.rst +++ b/docs/developers_guide/landice/test_groups/circular_shelf.rst @@ -30,7 +30,7 @@ constructed at runtime (using :py:func:`mpas_tools.planar_hex.make_planar_hex_mesh()`). A MALI grid is created with the MPAS-Tools script -``create_landice_grid_from_generic_MPAS_grid.py`` and a graph file is created +``create_landice_grid_from_generic_mpas_grid`` and a graph file is created to partition the mesh before the model run. Finally, the initial condition is defined in the private function diff --git a/docs/developers_guide/landice/test_groups/dome.rst b/docs/developers_guide/landice/test_groups/dome.rst index b18e8ae87d..175c5d33c7 100644 --- a/docs/developers_guide/landice/test_groups/dome.rst +++ b/docs/developers_guide/landice/test_groups/dome.rst @@ -47,7 +47,7 @@ The variable resolution mesh is downloaded from section of the config file. A MALI grid is created with the MPAS-Tools script -``create_landice_grid_from_generic_MPAS_grid.py`` and a graph file is created +``create_landice_grid_from_generic_mpas_grid`` and a graph file is created to partition the mesh before the model run. Finally, the initial condition is defined in the private function diff --git a/docs/developers_guide/landice/test_groups/eismint2.rst b/docs/developers_guide/landice/test_groups/eismint2.rst index c46c75b7f9..43cc627470 100644 --- a/docs/developers_guide/landice/test_groups/eismint2.rst +++ b/docs/developers_guide/landice/test_groups/eismint2.rst @@ -30,7 +30,7 @@ defines a step for setting up the mesh for each test case. The horizontal mesh is constructed at runtime (using :py:func:`mpas_tools.planar_hex.make_planar_hex_mesh()`). A MALI grid is created with the MPAS-Tools script -``create_landice_grid_from_generic_MPAS_grid.py`` and a graph file is created +``create_landice_grid_from_generic_mpas_grid`` and a graph file is created to partition the mesh before the model run. run_experiment diff --git a/docs/developers_guide/landice/test_groups/enthalpy_benchmark.rst b/docs/developers_guide/landice/test_groups/enthalpy_benchmark.rst index b92809ca7c..8fd8ba91c7 100644 --- a/docs/developers_guide/landice/test_groups/enthalpy_benchmark.rst +++ b/docs/developers_guide/landice/test_groups/enthalpy_benchmark.rst @@ -34,7 +34,7 @@ defines a step for setting up the mesh for each test case. The horizontal mesh is constructed at runtime (using :py:func:`mpas_tools.planar_hex.make_planar_hex_mesh()`). Then, a MALI grid is -created with the MPAS-Tools script ``create_landice_grid_from_generic_MPAS_grid.py`` +created with the MPAS-Tools script ``create_landice_grid_from_generic_mpas_grid`` and a graph file is created to partition the mesh before the model run. Finally, the initial condition is defined in the private function diff --git a/docs/developers_guide/landice/test_groups/hydro_radial.rst b/docs/developers_guide/landice/test_groups/hydro_radial.rst index e82704b221..c63e501b62 100644 --- a/docs/developers_guide/landice/test_groups/hydro_radial.rst +++ b/docs/developers_guide/landice/test_groups/hydro_radial.rst @@ -31,7 +31,7 @@ defines a step for setting up the mesh for each test case. The horizontal mesh is constructed at runtime (using :py:func:`mpas_tools.planar_hex.make_planar_hex_mesh()`). A MALI grid is created with the MPAS-Tools script -``create_landice_grid_from_generic_MPAS_grid.py`` and a graph file is created +``create_landice_grid_from_generic_mpas_grid`` and a graph file is created to partition the mesh before the model run. Finally, the initial condition is defined in the private function diff --git a/docs/developers_guide/landice/test_groups/ismip6_forcing.rst b/docs/developers_guide/landice/test_groups/ismip6_forcing.rst index 4f9d2e88aa..da9dab1faf 100644 --- a/docs/developers_guide/landice/test_groups/ismip6_forcing.rst +++ b/docs/developers_guide/landice/test_groups/ismip6_forcing.rst @@ -9,7 +9,7 @@ atmospheric and oceanic forcing data of the Ice Sheet Model Intercomparison for CMIP6 (ISMIP6) protocol from its native polarstereo grid to the unstructure MALI mesh. The test group includes five test cases: ``atmosphere``, ``ocean_basal``, ``ocean_thermal_obs``, ``ocean_thermal`` and -``shelf_collapse``. The ``atmosphere`` test case has two steps: +``shelf_collapse``. The ``atmosphere`` test case has two steps: ``process_smb`` and ``process_smb_racmo``; the ``ocean_basal`` and ``shelf_collpase`` test cases each have one step, ``process_basal_melt`` and ``process_shelf_collpase`` (respectively); the ``ocean_thermal_obs`` and ``ocean_thermal`` @@ -34,15 +34,15 @@ create_mapfile The module :py:class:`compass.landice.tests.ismip6_forcing.create_mapfile` defines a unified framework for creating the SCRIP and mapping files from the ISMIP6 -source data files. The function +source data files. The function :py:func:`compass.landice.tests.ismip6_forcing.create_mapfile.build_mapping_file` is the common interface to build the SCRIP files and mapping files. The ``scrip_from_latlon`` keyword argument is used to call the appropriate function for generating the SCRIP file. If ``scrip_from_latlon`` is ``false`` the -``create_SCRIP_file_from_planar_rectangular_grid.py`` command line executable -from the ``MPAS_Tools`` conda package is used, otherwise the +``create_scrip_file_from_planar_rectangular_grid`` command line executable +from the ``MPAS_Tools`` conda package is used, otherwise the :py:func:`compass.landice.tests.ismip6_forcing.create_mapfile.create_scrip_from_latlon` -function is used. Multiple methods for creating SCRIP files are necessary due to +function is used. Multiple methods for creating SCRIP files are necessary due to inconsistent dimensions names across the different ISMIP6 datasets. Test cases @@ -87,4 +87,4 @@ shelf_collapse ~~~~~~~~~~~~~~ The :py:class:`compass.landice.tests.ismip6_forcing.shelf_collapse.ShelfCollapse` test case performs the processing of ice shelf collapse masks by remapping the -original ISMIP6 forcing data to MALI's unstructured grid and renaming variables. +original ISMIP6 forcing data to MALI's unstructured grid and renaming variables. diff --git a/docs/developers_guide/landice/test_groups/ismip6_run.rst b/docs/developers_guide/landice/test_groups/ismip6_run.rst index 6a79f18a4e..6f29ef68ee 100644 --- a/docs/developers_guide/landice/test_groups/ismip6_run.rst +++ b/docs/developers_guide/landice/test_groups/ismip6_run.rst @@ -28,7 +28,7 @@ excessive subdirectories. The ``configure`` method is where the experiments to be set up are determined. The config option ``exp_list`` is parsed and each experiment to be included -is set up as a step of the test case by calling the +is set up as a step of the test case by calling the ``SetUpExperiment`` constructor (``__init__``). All of the experiments are removed from ``steps_to_run``, because the experiments (steps) are not meant to be run together through the test @@ -70,7 +70,7 @@ in the comparison of post-simulation ice mass calculations from the model output To address this issue, an interim solution has been made to project the southern polar region onto the MALI planar mesh assuming a sphere (this is done by setting the lat/long in the MALI mesh using the 'aid-bedmap2-sphere' projection string in -calling the function in 'set_lat_lon_fields_in_planar_grid.py'. Thus, the resulting +calling the function in 'set_lat_lon_fields_in_planar_grid'. Thus, the resulting MALI mesh for coupled MALI-SLM simulations that are setup from this testgroup have the lat/long values based off sphere. Once the simulation outputs are generated, it is necessary to calculate and apply the scaling factors to the MALI outputs diff --git a/docs/developers_guide/landice/test_groups/mesh_modifications.rst b/docs/developers_guide/landice/test_groups/mesh_modifications.rst index f20b2c3a29..0e58e954dd 100644 --- a/docs/developers_guide/landice/test_groups/mesh_modifications.rst +++ b/docs/developers_guide/landice/test_groups/mesh_modifications.rst @@ -42,7 +42,7 @@ steps: * interpolate fields from source mesh to subdomain mesh using nearest neighbor interpolation. - This can be done either with the ``interpolate_to_mpasli_grid.py`` script + This can be done either with the ``interpolate_to_mpasli_grid`` script or using ``ncremap``. The ncremap method is slower and potentially more fragile (depends on more external tools), but if used allows the option to remap additional files (e.g. forcing files). diff --git a/docs/tutorials/dev_add_rrm.rst b/docs/tutorials/dev_add_rrm.rst index 701c6e9e50..71a415514c 100644 --- a/docs/tutorials/dev_add_rrm.rst +++ b/docs/tutorials/dev_add_rrm.rst @@ -1868,7 +1868,7 @@ run: .. code-block:: bash - paraview_vtk_field_extractor.py -m init.nc \ + paraview_vtk_field_extractor -m init.nc \ -f output.nc -v normalVelocity,temperature,salinity \ -d nVertLevels=0 diff --git a/docs/users_guide/landice/test_groups/antarctica.rst b/docs/users_guide/landice/test_groups/antarctica.rst index cef797f9ee..ec49e5f1df 100644 --- a/docs/users_guide/landice/test_groups/antarctica.rst +++ b/docs/users_guide/landice/test_groups/antarctica.rst @@ -73,19 +73,19 @@ the mesh generation options are adjusted through the config file. # path to directory containing BedMachine and Measures datasets # (default value is for Perlmutter) data_path = /global/cfs/cdirs/fanssie/standard_datasets/AIS_datasets - + # filename of the BedMachine thickness and bedTopography dataset # (default value is for Perlmutter) bedmachine_filename = BedMachineAntarctica_2020-07-15_v02_edits_floodFill_extrap_fillVostok.nc - + # filename of the MEASURES ice velocity dataset # (default value is for Perlmutter) measures_filename = antarctica_ice_velocity_450m_v2_edits_extrap.nc - + # projection of the source datasets, according to the dictionary keys - # create_SCRIP_file_from_planar_rectangular_grid.py from MPAS_Tools + # create_scrip_file_from_planar_rectangular_grid from MPAS_Tools src_proj = ais-bedmap2 - + # number of processors to use for ESMF_RegridWeightGen nProcs = 128 diff --git a/docs/users_guide/landice/test_groups/greenland.rst b/docs/users_guide/landice/test_groups/greenland.rst index 146119b909..ae0285589b 100644 --- a/docs/users_guide/landice/test_groups/greenland.rst +++ b/docs/users_guide/landice/test_groups/greenland.rst @@ -90,19 +90,19 @@ The other test cases do not use config options. # path to directory containing BedMachine and Measures datasets # (default value is for Perlmutter) data_path = /global/cfs/cdirs/fanssie/standard_datasets/GIS_datasets/ - + # filename of the BedMachine thickness and bedTopography dataset # (default value is for Perlmutter) bedmachine_filename = BedMachineGreenland-v5_edits_floodFill_extrap.nc - + # filename of the MEASURES ice velocity dataset # (default value is for Perlmutter) measures_filename = greenland_vel_mosaic500_extrap.nc - + # projection of the source datasets, according to the dictionary keys - # create_SCRIP_file_from_planar_rectangular_grid.py from MPAS_Tools + # create_scrip_file_from_planar_rectangular_grid from MPAS_Tools src_proj = gis-gimp - + # number of processors to use for ESMF_RegridWeightGen nProcs = 128 diff --git a/docs/users_guide/landice/test_groups/ismip6_run.rst b/docs/users_guide/landice/test_groups/ismip6_run.rst index ac5b3390d3..2ab1ad04f0 100644 --- a/docs/users_guide/landice/test_groups/ismip6_run.rst +++ b/docs/users_guide/landice/test_groups/ismip6_run.rst @@ -173,7 +173,7 @@ in the comparison of post-simulation ice mass calculations from the model output To address this issue, an interim solution has been made to project the southern polar region onto the MALI planar mesh assuming a sphere (this is done by setting the lat/long in the MALI mesh using the 'aid-bedmap2-sphere' projection string in -calling the function in 'set_lat_lon_fields_in_planar_grid.py'. Thus, the resulting +calling the function in 'set_lat_lon_fields_in_planar_grid'. Thus, the resulting MALI mesh for coupled MALI-SLM simulations that are setup from this testgroup have the lat/long values based off sphere. Once the simulation outputs are generated, it is necessary to calculate and apply the scaling factors to the MALI outputs diff --git a/docs/users_guide/landice/test_groups/mesh_modifications.rst b/docs/users_guide/landice/test_groups/mesh_modifications.rst index 063bd37e81..33e1dba0b4 100644 --- a/docs/users_guide/landice/test_groups/mesh_modifications.rst +++ b/docs/users_guide/landice/test_groups/mesh_modifications.rst @@ -88,7 +88,7 @@ the test case. # nstd weight file and then uses ncremap to perform remapping. # This method supports interpolating ancillary files (below) # but likely needs to be run on a compute node and is more fragile. - # 'mali_interp' uses the MALI interpolation script interpolate_to_mpasli_grid.py + # 'mali_interp' uses the MALI interpolation script interpolate_to_mpasli_grid # This method does not support ancillary files but may be more robust # and can likely be run quickly on a login node. interp_method = ncremap