Models

A Model is a WAVI.jl strcutures that contain all the information about the current state, parameters, initial conditions, and process parametrizations. An instance of a Model contains the following fields:

  • grid: an instance of a WAVI.jl Grid object, that stores information about the numerical grid.
  • params: an instance of a WAVI.jl Params object that stores phyiscal parameters that enter the model.
  • solver_params: an instance of a WAVI.jl SolverParams object that stores parameters relating to the numerical solution of the governing equations (see numerical implementation).
  • initial_conditions: an instance of a WAVI.jl InitialConditions object that stores initial data on the ice thickness, ice viscosity, ice temperature, and ice damage.
  • fields: an instance of a WAVI.jl Fields structure that stores information relating to the current state of the model on the various grids used in the solution (see numerical implementation for more information on these grids)
  • extra_physics: a dictionary that stores process parametrizations used in the ice sheet model (see process parametrizations for more information).

Model Construction

A Model is constructed using the Model(;<kwargs>) constructor (a function that constructs an instance of a Model). Here <kwargs> is shorthand for keyword arguments, allow the Model to be configured, some are optional and others are not (see below):

WAVI.ModelMethod
Model(;
    grid = nothing, 
    bed_elevation = nothing,
    params = Params(),
    solver_params = SolverParams(),
    initial_conditions = InitialConditions(),
    melt_rate = UniformMeltRate(),
    parallel_spec = BasicParallelSpec())

Construct a WAVI.jl model object.

Keyword arguments

  • grid: (required) an instance of a Grid object, which defines the computational grid
  • bed_elevation: (required) an array of size grid.nx x grid.ny which defines the bed elevation
  • params: a Params object that defines physical parameters
  • solver_params: a SolverParams object that defines parameters relating to the numerical scheme
  • initial_conditions: an InitialConditions object that (optionally) defines the initial ice thickness, temperature, viscosity, and damage
  • melt_rate: a melt rate model, responsible for controlling/setting the basal melt rate
  • parallel_spec: specification of parallel computation method.
source