Module | Source File | Description |
---|---|---|
ambient_mod | ambient.F90 | Provides an abstract derived type which can be subtyped in order to specify the temperature and salinity of the ambient ocean. |
asymmetric_plume_mod | asymmetric_plume.F90 | Provides a concrete implementation of the basal_surface data type, representing a buoyant plume beneath an ice shelf. |
ave_linear_eos_mod | averaged_linear_eos.F90 | Provides an abstract derived type which can be subtyped in order to implement an equation of state. |
ave_one_equation_melt_mod | averaged_one_equation_melt.f90 | Provides an implementation of melt similar to that used by Dallaston, Hewitt, and Wells (2015), prior to their neglecting certain terms on scaling arguments. This implementation has been modified to account for transverse variation in a horizontally-integrated model. |
basal_surface_mod | basal_surface.F90 | Provides an abstract data type to model the ground or ocean below the glacier. |
boundary_types_mod | boundary_types.f90 | Provides parameters which can be used to represent different types of boundary conditions. |
coriolis_block_mod | coriolis_block.F90 | Provides a derived type which representes the operator acting on velocity and its derivative with the Coriolis force. This can be used for preconditioning in the plume solver. |
cryosphere_mod | cryosphere.F90 | Provides a data structure representing a system of ice sheets and/or ice shelves, as well as the ground and/or ocean which they interact with. This is the fundamental data type of the ISOFT software suite. |
dallaston2015_glacier_boundary_mod | dallaston2015_glacier.F90 | Provides a derived type which specifies the boundary conditions for the ice shelf model used by Dallaston et al. (2015). These are Dirichlet conditions at the lower bound of the first condition as well as, for thickness, the upper bound. |
dallaston2015_melt_mod | dallaston2015_melt.F90 | Provides an implementation of abstract_melt_relationship which mimics the simple model used by Dallaston, Hewitt, and Wells (2015) for an ice shelf melting into a vertically integrated plume. |
dallaston2015_seasonal_mod | dallaston2015_seasonal.F90 | Provides a derived type which specifies the boundary conditions for a 1-D plume model, when subglacial discharge is oscillating over time. This corresponds to Dirichlet conditions at the grounding line and Neumann conditions (wth a gradient of 0) at the calving front. |
entrainment_mod | entrainment.F90 | Provides an abstract data type to model entrainment into a vertically integrated plume. |
equation_of_state_mod | equation_of_state.F90 | Provides an abstract derived type which can be subtyped in order to implement an equation of state. |
finite_difference_block_mod | finite_difference_block.F90 | Provides a derived type which representes a finite difference matrix/operator. This can be useful for preconditioning problems which use a spectral discretisation. |
glacier_boundary_mod | glacier_boundary.F90 | Provides an abstract derived type which can be subtyped in order to specify the boundary conditions for glacier types. |
glacier_mod | glacier.F90 | Provides an abstract type to represent large masses of ice, such as ice sheets and ice shelves. |
glens_law_mod | glens_law.F90 | Provides a concrete implementation for the abstract_viscosity type using Glen's flow law. |
ground_mod | ground.F90 | Provides a concrete implementation of the basal_surface data type, representing solid ground. |
ice_sheet_mod | ice_sheet.F90 | Provides a concrete implementation of the glacier type, using a vertically integrated model of an ice sheet. |
ice_shelf_mod | ice_shelf.F90 | Provides a concrete implementation of the glacier type, using a vertically integrated model of an ice shelf. |
jacobian_block_mod | jacobian_block.F90 | Provides a derived type which is useful for representing blocks in a Jacobian matrix. This follows the abstract calculus pattern, providing operators for matrix multiplication and for solving the linear(ised) system. See the documentation for the jacobian_block type for more details. |
jenkins1991_entrainment_mod | jenkins1991_entrainment.F90 | Provides a concrete implementation of abstract_entrainment in the form of the parameterisation used by Jenkins (1991). |
kochergin1987_entrainment_mod | kochergin1987_entrainment.F90 | Provides a concrete implementation of abstract_entrainment in the form of the parameterisation described by Kochergin (1987). |
linear_eos_mod | linear_eos.F90 | Provides an abstract derived type which can be subtyped in order to implement an equation of state. |
melt_relationship_mod | melt_relationship.F90 | Provides an abstract data type to model melting of an ice shelf into a vertically integrated plume. |
meta_mod | meta.F90 | Provides functions specifying the version of ISOFT, time of compilation, etc. |
meta_implementation_mod | meta_implementation.F90 | Implements functions specifying the version of ISOFT, time of compilation, etc. This is done in a submodule because it should be recompiled with every build (so that compilation time is accurate) but without a submodule that would require every module using it to be recompiled as well. |
newtonian_viscosity_mod | newtonian_viscosity.F90 | Provides a simple concrete implementation for the abstract_viscosity type, for a Newtonian fluid. |
nitsol_mod | nitsol.f90 | Provides an explicit interface to the NITSOL package. Variables held in common blocks which can be used to control NITSOL are also provided here. At some point I may produce a proper object oriented interface for it. |
ode_solvers_mod | ode_solvers.f90 | Provides routines to solve systems of ODEs. |
one_equation_melt_mod | one_equation_melt.F90 | Provides an implementation of melt similar to that used by Dallaston, Hewitt, and Wells (2015), prior to their neglecting certain terms on scaling arguments. |
plume_boundary_mod | plume_boundary.F90 | Provides an abstract derived type which can be subtyped in order to specify the boundary conditions for plume types. |
plume_mod | plume.F90 | Provides a concrete implementation of the basal_surface data type, representing a buoyant plume beneath an ice shelf. |
preconditioner_mod | preconditioner.F90 | Provides a type for preconditioning fields in an iterative solver using Picard iteration. |
prescribed_eos_mod | prescribed_salinity_eos.F90 | Provides an equation of state where the salinity is prescribed such that . This is useful for testing and debugging the plume model. |
pseudospectral_block_mod | pseudospectral_block.F90 | Provides a derived type which representes a finite difference matrix/operator. This can be useful for preconditioning problems which use a spectral discretisation. |
rksuite_90 | rksuite_90.f90 | |
rksuite_90_prec | rksuite_90.f90 | |
rootfind | rootfind.f90 | Provides subroutines implementing various root-finding algorithms, as well as a global bracket finder. |
seasonal_glacier_boundary_mod | seasonal_glacier.F90 | Provides a derived type which specifies the boundary conditions for the ice shelf model used by Dallaston et al. (2015), except that the ice flux at the grounding line varies sinusoidally in time. There are Dirichlet conditions at the lower bound of the first condition as well as, for thickness, the upper bound. |
simple_plume_boundary_mod | simple_plume.F90 | Provides a derived type which specifies the boundary conditions for a 1-D plume model. Dirichlet boundary conditions are used at the grounding line, while an outflow condition is used at the end of the domain. |
specfun_mod | specfun.f90 | SPECFUN is a FORTRAN90 library which evaluates certain special functions, by William Cody and Laura Stoltz. |
static_plume_mod | static_plume.F90 | Provides a concrete implementation of the basal_surface data type, representing a buoyant plume beneath an ice shelf. This implementation does not evolve the plume. |
transverse_coefficients_mod | transverse_coefficients.f90 | Provides functions to calculate the coefficients for the horizontally-integrated [asymmetric_plume] from the basal slope of the ice shelf. This module just provides the interface. The implmentation is automatically generated by the Python script XXXXXXXX based on various parameter choices, approximating the coefficients using interpolation. |
uniform_ambient_mod | uniform.F90 | Provides a derived type specifying uniform ambient temperature and salinity conditions beneath an ice shelf. |
uniform_gradient_field_mod | uniform_gradient_field.f90 | Provides an extension of the uniform field type which also appears to have a uniform gradient. This was written to allow some of the same code used when solving the plume in a Runge-Kutta solver, where I pass in uniform fields rather than ones using a Chebyshev grid. |
upstream_plume_mod | upstream_plume.F90 | Provides a derived type which specifies the boundary conditions for a 1-D plume model. In order to avoid boundary layer effects, an ODE solver is used to integrate the plume a little way upstream, past the boundary layer. |
viscosity_mod | viscosity.F90 | Provides an abstract data type to model viscosity into a vertically integrated plume. |