recon1d_emplm_wa_poly module reference

Extrapolated-Monotonized Piecewise Linear Method 1D reconstruction.

More…

Data Types

emplm_wa_poly

Extrapolation Limited Monotonic PLM reconstruction following White and Adcroft, 2008.

Functions/Subroutines

reconstruct()

Calculate a 1D PLM reconstruction based on h(:) and u(:)

plm_extrapolate_slope()

Returns a PLM slope using h2 extrapolation from a cell to the left, in the same arbitrary units as the input values [A].

check_reconstruction()

Checks the EMPLM_WA_poly reconstruction for consistency.

unit_tests()

Runs PLM reconstruction unit tests and returns True for any fails, False otherwise.

Detailed Description

This extends MPLM_poly, following White and Adcroft, 2008 [87], by extraplating for the slopes of the first and last cells. This extrapolation is used by White et al., 2009, during grid-generation.

This stores and evaluates the reconstruction using a polynomial representation which is not preferred but was the form used in OM4.

Type Documentation

type recon1d_emplm_wa_poly/emplm_wa_poly

Extrapolation Limited Monotonic PLM reconstruction following White and Adcroft, 2008.

Type fields:
  • % reconstruct [procedure,private] :: Implementation of the EMPLM_WA_poly reconstruction with boundary extrapolation.

  • % check_reconstruction [procedure,private] :: Implementation of check reconstruction for the EMPLM_WA_poly reconstruction.

  • % unit_tests [procedure,private] :: Implementation of unit tests for the EMPLM_WA_poly reconstruction.

Function/Subroutine Documentation

subroutine recon1d_emplm_wa_poly/reconstruct(this, h, u)

Calculate a 1D PLM reconstruction based on h(:) and u(:)

Parameters:
  • this :: [inout] This reconstruction

  • h :: [in] Grid spacing (thickness) [typically H]

  • u :: [in] Cell mean values [A]

Call to:

plm_extrapolate_slope

function recon1d_emplm_wa_poly/plm_extrapolate_slope(h_l, h_c, h_neglect, u_l, u_c) [pure]

Returns a PLM slope using h2 extrapolation from a cell to the left, in the same arbitrary units as the input values [A]. Use the negative to extrapolate from the cell to the right.

Parameters:
  • h_l :: [in] Thickness of left cell in arbitrary grid thickness units [H]

  • h_c :: [in] Thickness of center cell in arbitrary grid thickness units [H]

  • h_neglect :: [in] A negligible thickness [H]

  • u_l :: [in] Value of left cell in arbitrary units [A]

  • u_c :: [in] Value of center cell in arbitrary units [A]

Called from:

reconstruct

function recon1d_emplm_wa_poly/check_reconstruction(this, h, u) [logical]

Checks the EMPLM_WA_poly reconstruction for consistency.

Parameters:
  • this :: [in] This reconstruction

  • h :: [in] Grid spacing (thickness) [typically H]

  • u :: [in] Cell mean values [A]

function recon1d_emplm_wa_poly/unit_tests(this, verbose, stdout, stderr) [logical]

Runs PLM reconstruction unit tests and returns True for any fails, False otherwise.

Parameters:
  • this :: [inout] This reconstruction

  • verbose :: [in] True, if verbose

  • stdout :: [in] I/O channel for stdout

  • stderr :: [in] I/O channel for stderr