recon1d_ppm_hybgen module reference

Piecewise Parabolic Method 1D reconstruction following Colella and Woodward, 1984.

More…

Data Types

ppm_hybgen

PPM reconstruction following White and Adcroft, 2008.

Functions/Subroutines

reconstruct()

Calculate a 1D PPM_hybgen reconstructions based on h(:) and u(:)

check_reconstruction()

Checks the PPM_hybgen reconstruction for consistency.

unit_tests()

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

Detailed Description

This implementation of PPM follows Colella and Woodward, 1984 colella1984, with cells resorting to PCM for extrema including first and last cells in column. The algorithm was first ported from Hycom as hybgen_ppm_coefs() in the in the mom_hybgen_remap() module. This module is a refactor to facilitate more complete testing and evaluation.module. This module is a refactor to facilitate more complete testing and evaluation.

The mom_hybgen_remap.hybgen_ppm_coefs() function (reached with “PPM_HYGEN”), function (reached with “PPM_HYGEN”), regrid_edge_values.edge_values_explicit_h4cw() function followed by function followed by ppm_functions.ppm_reconstruction() (reached with “PPM_CW”), are equivalent. Similarly (reached with “PPM_CW”), are equivalent. Similarly recon1d_ppm_hybgen() (this implementation) is equivalent also. (this implementation) is equivalent also.

Type Documentation

type recon1d_ppm_hybgen/ppm_hybgen

PPM reconstruction following White and Adcroft, 2008.

Type fields:
  • % reconstruct [procedure,private] :: Implementation of the PPM_hybgen reconstruction.

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

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

Function/Subroutine Documentation

subroutine recon1d_ppm_hybgen/reconstruct(this, h, u)

Calculate a 1D PPM_hybgen reconstructions based on h(:) and u(:)

Parameters:
  • this :: [inout] This reconstruction

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

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

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

Checks the PPM_hybgen reconstruction for consistency.

Parameters:
  • this :: [in] This reconstruction

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

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

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

Runs PPM_hybgen 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