landice

Landice()

The collection of all test case for the MALI core

Test Groups

antarctica

Antarctica(mpas_core)

A test group for Antarctica test cases

mesh_gen.MeshGen(test_group)

The default test case for the Antarctica test group simply creates the mesh and initial condition.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for Antarctica test cases

mesh.Mesh.run()

Run this step of the test case

calving_dt_convergence

CalvingDtConvergence(mpas_core)

A test group for a series of test cases for assessing timestep convergence related to calving.

dt_convergence_test.DtConvergenceTest(...)

A test case for running the same configuration with a series of values for config_adaptive_timestep_calvingCFL_fraction to check for convergence

dt_convergence_test.DtConvergenceTest.validate()

Test cases can override this method to perform validation of variables and timers

run_model.RunModel(test_case, name, mesh, ...)

A step for performing forward MALI runs as part of calving dt convergence test cases.

run_model.RunModel.run()

Run this step of the test case

circular_shelf

CircularShelf(mpas_core)

A test group for circular shelf test cases

decomposition_test.DecompositionTest(...)

A test case for performing two MALI runs of a circular shelf setup, one with one core and one with four.

decomposition_test.DecompositionTest.run()

This method is deprecated.

run_model.RunModel(test_case[, name, ...])

A step for performing forward MALI runs as part of circular_shelf test cases.

run_model.RunModel.run()

Run this step of the test case

setup_mesh.SetupMesh(test_case)

A step for creating a mesh and initial condition for circular_shelf test cases

setup_mesh.SetupMesh.run()

Run this step of the test case

visualize.Visualize(test_case[, name, ...])

A step for visualizing the output from a circular_shelf test case

visualize.Visualize.run()

Run this step of the test case

visualize.visualize_circular_shelf(config, ...)

Plot the output from a circular_shelf test case

crane

Crane(mpas_core)

A test group for Crane Glacier test cases.

mesh_gen.MeshGen(test_group)

The high resolution test case for the crane test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for thwaites test cases

mesh.Mesh.run()

Run this step of the test case

dome

Dome(mpas_core)

A test group for dome test cases

decomposition_test.DecompositionTest(...)

A test case for performing two MALI runs of a dome setup, one with one core and one with four.

decomposition_test.DecompositionTest.run()

This method is deprecated.

restart_test.RestartTest(test_group, ...)

A test case for performing two MALI runs of a dome setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.run()

This method is deprecated.

smoke_test.SmokeTest(test_group, ...)

The default test case for the dome test group simply creates the mesh and initial condition, then performs a short forward run on 4 cores.

smoke_test.SmokeTest.run()

This method is deprecated.

run_model.RunModel(test_case, velo_solver, ...)

A step for performing forward MALI runs as part of dome test cases.

run_model.RunModel.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_model.RunModel.run()

Run this step of the test case

setup_mesh.SetupMesh(test_case, mesh_type)

A step for creating a mesh and initial condition for dome test cases

setup_mesh.SetupMesh.run()

Run this step of the test case

visualize.Visualize(test_case, mesh_type[, ...])

A step for visualizing the output from a dome test case

visualize.Visualize.run()

Run this step of the test case

visualize.visualize_dome(config, logger, ...)

Plot the output from a dome test case

enthalpy_benchmark

EnthalpyBenchmark(mpas_core)

A test group for enthalpy benchmark test cases

A.A(test_group)

The Kleiner enthalpy benchmark test case A

A.A.configure()

Modify the configuration options for this test case

A.A.run()

This method is deprecated.

A.visualize.Visualize(test_case)

A step for visualizing the output from a dome test case

A.visualize.Visualize.run()

Run this step of the test case

B.B(test_group)

The Kleiner enthalpy benchmark test case B

B.B.configure()

Modify the configuration options for this test case

B.B.run()

This method is deprecated.

B.visualize.Visualize(test_case)

A step for visualizing the output from a dome test case

B.visualize.Visualize.run()

Run this step of the test case

run_model.RunModel(test_case, name[, ...])

A step for performing forward MALI runs as part of dome test cases.

run_model.RunModel.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_model.RunModel.run()

Run this step of the test case

setup_mesh.SetupMesh(test_case)

A step for creating a mesh and initial condition for enthalpy benchmark test cases

setup_mesh.SetupMesh.run()

Run this step of the test case

eismint2

Eismint2(mpas_core)

A test group for eismint2 test cases

decomposition_test.DecompositionTest(...)

A test case for performing two MALI runs of a EISMINT2 setup, one with one core and one with four.

decomposition_test.DecompositionTest.run()

This method is deprecated.

restart_test.RestartTest(test_group, ...)

A test case for performing two MALI runs of an EISMINT2 setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.run()

This method is deprecated.

standard_experiments.StandardExperiments(...)

A test case for performing the standard EISMINT2 experiments.

standard_experiments.StandardExperiments.run()

This method is deprecated.

standard_experiments.visualize.Visualize(...)

A step for visualizing the output from a EISMINT2 test case

standard_experiments.visualize.Visualize.run()

Run this step of the test case

standard_experiments.visualize.visualize_eismint2(...)

Plot the output from an EISMINT2 experiment

run_experiment.RunExperiment(test_case, ...)

A step for performing forward MALI runs as part of eismint2 test cases.

run_experiment.RunExperiment.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_experiment.RunExperiment.run()

Run this step of the test case

setup_mesh.SetupMesh(test_case)

A step for creating a mesh and initial condition for EISMINT2 test cases

setup_mesh.SetupMesh.run()

Run this step of the test case

ensemble_generator

EnsembleGenerator(mpas_core)

A test group for generating ensembles of MALI simulations for uncertainty quantification or parameter sensitivity tests.

ensemble_manager.EnsembleManager(test_case)

A step for an ensemble manager.

ensemble_manager.EnsembleManager.setup()

Sets up the ensemble manager

ensemble_manager.EnsembleManager.run()

Use the ensemble manager to manage and launch jobs for each run Each ensemble member is a step of the test case.

ensemble_member.EnsembleMember(test_case, ...)

A step for setting up a single ensemble member

ensemble_member.EnsembleMember.setup()

Set up this run by setting up a baseline run configuration and then modifying parameters for this ensemble member based on an externally provided unit parameter vector

ensemble_member.EnsembleMember.run()

Run this member of the ensemble.

spinup_ensemble.SpinupEnsemble(test_group)

A test case for performing an ensemble of simulations for uncertainty quantification studies.

spinup_ensemble.SpinupEnsemble.configure()

Configure a parameter ensemble of MALI simulations.

branch_ensemble.BranchEnsemble(test_group)

A test case for performing an ensemble of simulations for uncertainty quantification studies.

branch_ensemble.BranchEnsemble.configure()

Configure a parameter ensemble of MALI simulations.

greenland

Greenland(mpas_core)

A test group for Greenland test cases

decomposition_test.DecompositionTest(...)

A test case for performing two MALI runs of the Greenland Ice Sheet setup, one with one core and one with eight.

decomposition_test.DecompositionTest.run()

This method is deprecated.

restart_test.RestartTest(test_group, velo_solver)

A test case for performing two MALI runs of the Greenland Ice Sheet setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.run()

This method is deprecated.

smoke_test.SmokeTest(test_group, velo_solver)

The default test case for the Greenland test group simply downloads the mesh and initial condition, then performs a short forward run on 36 cores.

smoke_test.SmokeTest.run()

This method is deprecated.

run_model.RunModel(test_case, velo_solver[, ...])

A step for performing forward MALI runs as part of low-res 20km Greenland test cases.

run_model.RunModel.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_model.RunModel.run()

Run this step of the test case

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for greenland test cases

mesh.Mesh.run()

Run this step of the test case

mesh_gen.MeshGen(test_group)

The high resolution test case for the greenland test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

humboldt

Humboldt(mpas_core)

A test group for humboldt test cases

mesh_gen.MeshGen(test_group)

The MeshGen test case for the humboldt test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for humboldt test cases

mesh.Mesh.run()

Run this step of the test case

run_model.RunModel(test_case, velo_solver, ...)

A step for performing forward MALI runs as part of Humboldt test cases.

run_model.RunModel.run()

Run this step of the test case

decomposition_test.DecompositionTest(...[, ...])

A test case for performing two MALI runs of a humboldt setup, one with one core and one with four.

decomposition_test.DecompositionTest.validate()

Test cases can override this method to perform validation of variables and timers

restart_test.RestartTest(test_group, ...[, ...])

A test case for performing two MALI runs of a humboldt setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.validate()

Test cases can override this method to perform validation of variables and timers

hydro_radial

HydroRadial(mpas_core)

A test group for radially symmetric hydrology test cases

decomposition_test.DecompositionTest(test_group)

A test case for performing two MALI runs of a radially symmetric hydrological setup, one with one core and one with three.

decomposition_test.DecompositionTest.run()

This method is deprecated.

restart_test.RestartTest(test_group)

A test case for performing two MALI runs of a radially symmetric hydrological setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.run()

This method is deprecated.

spinup_test.SpinupTest(test_group)

A spin-up test case for the radially symmetric hydrological test group that creates the mesh and initial condition, then performs a long short forward run on 4 cores until a quasi-steady state is reached.

spinup_test.SpinupTest.run()

This method is deprecated.

steady_state_drift_test.SteadyStateDriftTest(...)

This test case assesses the drift of the model away from an initial condition that is a quasi-exact solution.

steady_state_drift_test.SteadyStateDriftTest.run()

This method is deprecated.

run_model.RunModel(test_case[, name, ...])

A step for performing forward MALI runs as part of radially symmetric

run_model.RunModel.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_model.RunModel.run()

Run this step of the test case

setup_mesh.SetupMesh(test_case, ...)

A step for creating a mesh and initial condition for dome test cases

setup_mesh.SetupMesh.run()

Run this step of the test case

visualize.Visualize(test_case[, name, ...])

A step for visualizing the output from a dome test case

visualize.Visualize.run()

Run this step of the test case

visualize.visualize_hydro_radial(config, logger)

Plot the output from a hydro_radial test case

ismip6_forcing

Ismip6Forcing(mpas_core)

A test group for processing the ISMIP6 atmosphere, ocean and shelf-collapse forcing data

configure.configure(config, check_model_options)

A shared function for configuring options for all ismip6 forcing test cases

create_mapfile.build_mapping_file(config, ...)

Build a mapping file if it does not exist.

create_mapfile.create_scrip_from_latlon(...)

Create a scripfile based on the lat/lon coordinates of a source dataset.

atmosphere.Atmosphere(test_group)

A test case for processing the ISMIP6 atmosphere forcing data.

atmosphere.Atmosphere.configure()

Configures test case

atmosphere.process_smb.ProcessSMB(test_case)

A step for processing the ISMIP6 surface mass balance data

atmosphere.process_smb.ProcessSMB.setup()

Set up this step of the test case

atmosphere.process_smb.ProcessSMB.run()

Run this step of the test case

atmosphere.process_smb.ProcessSMB.remap_ismip6_smb_to_mali(...)

Remap the input ismip6 smb forcing data onto mali mesh

atmosphere.process_smb.ProcessSMB.rename_ismip6_smb_to_mali_vars(...)

Rename variables in the remapped source input data to the ones that MALI uses.

atmosphere.process_smb.ProcessSMB.correct_smb_anomaly_for_climatology(...)

Apply the MALI base SMB to the ismip6 SMB anomaly field

atmosphere.process_smb_racmo.ProcessSmbRacmo(...)

A step for processing the regional RACMO surface mass balance data

atmosphere.process_smb_racmo.ProcessSmbRacmo.setup()

Set up this step of the test case

atmosphere.process_smb_racmo.ProcessSmbRacmo.run()

Run this step of the test case

atmosphere.process_smb_racmo.ProcessSmbRacmo.remap_source_smb_to_mali(...)

Remap the input ismip6 smb forcing data onto mali mesh

atmosphere.process_smb_racmo.ProcessSmbRacmo.rename_source_smb_to_mali_vars(...)

Rename variables in the remapped source input data to the ones that MALI uses.

atmosphere.process_smb_racmo.ProcessSmbRacmo.correct_smb_anomaly_for_base_smb(...)

Apply the MALI base SMB to the ismip6 SMB anomaly field

ocean_basal.OceanBasal(test_group)

A test case for processing the ISMIP6 ocean basalmelt param.

ocean_basal.OceanBasal.configure()

Configures test case

ocean_basal.process_basal_melt.ProcessBasalMelt(...)

A step for processing (combine, remap and rename) the ISMIP6 basalmelt data

ocean_basal.process_basal_melt.ProcessBasalMelt.setup()

Set up this step of the test case

ocean_basal.process_basal_melt.ProcessBasalMelt.run()

Run this step of the test case

ocean_basal.process_basal_melt.ProcessBasalMelt.combine_ismip6_inputfiles(...)

Combine ismip6 input files before regridding onto mali mesh

ocean_basal.process_basal_melt.ProcessBasalMelt.remap_ismip6_basal_melt_to_mali_vars(...)

Remap the input ismip6 basal melt data onto mali mesh

ocean_basal.process_basal_melt.ProcessBasalMelt.rename_ismip6_basal_melt_to_mali_vars(...)

Rename variables in the remapped ismip6 input data to the ones that MALI uses.

ocean_thermal.OceanThermal(test_group, ...)

A test case for processing the ISMIP6 ocean thermal forcing data.

ocean_thermal.OceanThermal.configure()

Configures test case

ocean_thermal.process_thermal_forcing.ProcessThermalForcing(...)

A step for creating a mesh and initial condition for dome test cases

ocean_thermal.process_thermal_forcing.ProcessThermalForcing.setup()

Set up this step of the test case

ocean_thermal.process_thermal_forcing.ProcessThermalForcing.run()

Run this step of the test case

ocean_thermal.process_thermal_forcing.ProcessThermalForcing.remap_ismip6_thermal_forcing_to_mali_vars(...)

Remap the input ismip6 thermal forcing data onto mali mesh

ocean_thermal.process_thermal_forcing.ProcessThermalForcing.rename_ismip6_thermal_forcing_to_mali_vars(...)

Rename variables in the remapped ismip6 input data to the ones that MALI uses.

shelf_collapse.ShelfCollapse(test_group)

A test case for processing the ISMIP6 shelf-collapse mask data.

shelf_collapse.ShelfCollapse.configure()

Configures test case

shelf_collapse.process_shelf_collapse.ProcessShelfCollapse.setup()

Set up this step of the test case

shelf_collapse.process_shelf_collapse.ProcessShelfCollapse.run()

Run this step of the test case

shelf_collapse.process_shelf_collapse.ProcessShelfCollapse.remap_ismip6_shelf_mask_to_mali_vars(...)

Remap the input ismip6 ice shelf-collapse mask data onto mali mesh

shelf_collapse.process_shelf_collapse.ProcessShelfCollapse.rename_ismip6_shelf_mask_to_mali_vars(...)

Rename variables in the remapped ismip6 input data to the ones that MALI uses.

ismip6_run

Ismip6Run(mpas_core)

A test group for automated setup of a suite of standardized ISMIP6 simulations

ismip6_ais_proj2300.Ismip6AisProj2300(test_group)

A test case for automated setup of a suite of standardized simulations for ISMIP6-Projections2300-Antarctica See: https://www.climate-cryosphere.org/wiki/index.php?title=ISMIP6-Projections2300-Antarctica) # noqa

ismip6_ais_proj2300.Ismip6AisProj2300.configure()

Set up the desired ISMIP6 AIS 2300 experiments.

ismip6_ais_proj2300.Ismip6AisProj2300.run()

A dummy run method

ismip6_ais_proj2300.set_up_experiment.SetUpExperiment(...)

A step for setting up an ISMIP6 experiment

ismip6_ais_proj2300.set_up_experiment.SetUpExperiment.setup()

Set up the test case in the work directory, including downloading any dependencies.

ismip6_ais_proj2300.set_up_experiment.SetUpExperiment.run()

Run this step of the test case

isunnguata_sermia

IsunnguataSermia(mpas_core)

A test group for isunnguata_sermia test cases

mesh_gen.MeshGen(test_group)

The MeshGen test case for the isunnguata_sermia test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for isunnguata sermia test cases

mesh.Mesh.run()

Run this step of the test case

kangerlussuaq

Kangerlussuaq(mpas_core)

A test group for kangerlussuaq test cases

mesh_gen.MeshGen(test_group)

The default test case for the Kangerlussuaq test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for kangerlussuaq test cases

mesh.Mesh.run()

Run this step of the test case

koge_bugt_s

KogeBugtS(mpas_core)

A test group for koge_bugt_s test cases

mesh_gen.MeshGen(test_group)

The default test case for the Koge_Bugt_S test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for koge_bugt_s test cases

mesh.Mesh.run()

Run this step of the test case

mesh_modifications

MeshModifications(mpas_core)

A test group for automating modifications to existing meshes

subdomain_extractor.SubdomainExtractor(...)

A class for a test case that extracts a subdomain from a larger domain

subdomain_extractor.extract_region.ExtractRegion(...)

A step for extracting a regional domain from a larger domain

mismipplus

MISMIPplus(mpas_core)

A test group for MISMIP+ test cases.

smoke_test.SmokeTest(test_group, resolution)

A test case for running a smoke test of the MISMIP+ configuration

smoke_test.SmokeTest.validate()

Test cases can override this method to perform validation of variables and timers

spin_up.SpinUp(test_group)

Test case for creating the MISMIP+ mesh, initial conditions, input files, and runs a short segment of the spin up experiments

spin_up.SpinUp.configure()

Set up the directory structure, based on the requested resolution.

setup_mesh.SetupMesh(test_case, name[, subdir])

A step for creating a mesh and initial condition for MISMIP+ test cases Experimental protocol described in: Asay-Davis, et al. 2016.

setup_mesh.SetupMesh.run()

Run this step of the test case

setup_mesh.calculate_mesh_params(...[, Lx, ...])

Calculate the appropriate parameters for use by make_planar_hex_mesh from the desired nominal resolution (e.g. 8e3, 4e3, 2e3, 1e3...).

setup_mesh.mark_cull_cells_for_MISMIP(ds_mesh)

param ds_mesh:

setup_mesh.center_trough(ds_mesh)

Shift the origin so that the bed trough is centered about the Y-axis and the X-axis is shifted all the way to the left.

run_model.RunModel(test_case, name[, ...])

A step for performing forward MALI runs as part of MISMIP+ test cases.

run_model.RunModel.setup()

Set the number of MPI tasks based on a tentative scaling of a the ncells_at_1km_res heuristic from the config file based on the desired resolution.

run_model.RunModel.constrain_resources(...)

Update resources at runtime from config options

run_model.RunModel.run()

Run this step of the test case

tasks.get_ntasks_from_cell_count(config, ...)

Computes ntasks and min_tasks based on mesh size (i.e. cell_count).

tasks.exact_cell_count(mesh_filename)

Get the number of cells from an already generated mesh file.

tasks.approx_cell_count(resolution, ...)

Approximate the number of cells based on the resolution ratio squared times the number of cells at 1km resolution.

thwaites

Thwaites(mpas_core)

A test group for low-res 4-14km Thwaites test cases.

decomposition_test.DecompositionTest(test_group)

A test case for performing two MALI runs of the Thwaites setup, with two different core counts.

decomposition_test.DecompositionTest.run()

This method is deprecated.

restart_test.RestartTest(test_group[, ...])

A test case for performing two MALI runs of the Thwaites setup, one full run and one run broken into two segments with a restart.

restart_test.RestartTest.run()

This method is deprecated.

run_model.RunModel(test_case[, name, ...])

A step for performing forward MALI runs as part of Thwaites test cases.

run_model.RunModel.setup()

Set up the test case in the work directory, including downloading any dependencies.

run_model.RunModel.run()

Run this step of the test case

mesh_gen.MeshGen(test_group)

The high resolution test case for the thwaites test group simply creates the mesh and initial condition.

mesh_gen.MeshGen.run()

This method is deprecated.

mesh.Mesh(test_case)

A step for creating a mesh and initial condition for thwaites test cases

mesh.Mesh.run()

Run this step of the test case

Landice Framework

ais_observations

extrapolate.extrapolate_variable(nc_file, ...)

Function to extrapolate variable values into undefined regions

iceshelf_melt.calc_mean_TF(geometry_file, ...)

Function to calculate mean thermal forcing across all floating ice in a domain.

mesh.add_bedmachine_thk_to_ais_gridded_data(...)

Copy BedMachine thickness to AIS reference gridded dataset.

mesh.clean_up_after_interp(fname)

Perform some final clean up steps after interpolation

mesh.gridded_flood_fill(field[, iStart, jStart])

Generic flood-fill routine to create mask of connected elements in the desired input array (field) from a gridded dataset.

mesh.interp_ais_bedmachine(self, data_path, ...)

Interpolates BedMachine thickness and bedTopography dataset to a MALI mesh

mesh.interp_ais_measures(self, data_path, ...)

Interpolates MEASURES ice velocity dataset to a MALI mesh

mesh.mpas_flood_fill(seed_mask, grow_mask, ...)

Flood-fill for mpas meshes using mpas cells.

mesh.preprocess_ais_data(self, ...)

Perform adjustments to gridded AIS datasets needed for rest of compass workflow to utilize them

mesh.set_rectangular_geom_points_and_edges(...)

Set node and edge coordinates to pass to mpas_tools.mesh.creation.build_mesh.build_planar_mesh().

mesh.set_cell_width(self, section_name, thk)

Set cell widths based on settings in config file to pass to mpas_tools.mesh.creation.build_mesh.build_planar_mesh().

mesh.get_dist_to_edge_and_gl(self, thk, ...)

Calculate distance from each point to ice edge and grounding line, to be used in mesh density functions in compass.landice.mesh.set_cell_width().

mesh.build_cell_width(self, section_name, ...)

Determine MPAS mesh cell size based on user-defined density function.

mesh.build_mali_mesh(self, cell_width, x1, ...)

Create the MALI mesh based on final cell widths determined by compass.landice.mesh.build_cell_width(), using Jigsaw and MPAS-Tools functions.

mesh.make_region_masks(self, mesh_filename, ...)

Create masks for ice-sheet subregions based on data in MPAS-Dev/geometric_fatures.