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 [17], 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