src.monarchs.physics.Numba.solver
This module contains functions used to solve the various heat/surface energy balance equations,
using the NumbaMinpack implementation.
This is rather unwieldy, but allows us to select a solver conditionally, and do so both in the main model code
using the relevant flag in model_setup.py
, but also in our test suite.
This is in part a tradeoff between usability of the model, and code clarity. This approach was chosen to maximise
usability, so that the different solvers can be generated according to the value of a single Boolean.
Attributes
Functions
|
Convert the variables from an instance of the IceShelf class into the |
|
Numba-compatible solver function to be used within the model. |
|
Numba-compatible form of the lake development version of the surface temperature equation. |
|
Numba-compatible form of the lake formation version of the surface temperature equation. |
|
NumbaMinpack version of the lake solver. |
|
NumbaMinpack version of the lid heat equation solver. Solves physics.Numba.heateqn. |
|
NumbaMinpack version of the lid surface energy balance solver. |
Module Contents
- src.monarchs.physics.Numba.solver.dev_eqn_cfunc
- src.monarchs.physics.Numba.solver.dev_eqnaddress
- src.monarchs.physics.Numba.solver.form_eqn_cfunc
- src.monarchs.physics.Numba.solver.form_eqnaddress
- src.monarchs.physics.Numba.solver.heq
- src.monarchs.physics.Numba.solver.heqfs
- src.monarchs.physics.Numba.solver.heqlid
- src.monarchs.physics.Numba.solver.sfc_energy_lid
- src.monarchs.physics.Numba.solver.sfc_energy_lid_address
- src.monarchs.physics.Numba.solver.sfc_energy_virtual_lid
- src.monarchs.physics.Numba.solver.sfc_energy_vlid_address