mom_diag_vkernels module reference

Provides kernels for single-column interpolation, re-integration (re-mapping of integrated quantities) and intensive-variable remapping in the vertical.

More…

Functions/Subroutines

interpolate_column()

Linearly interpolate interface data, u_src, from grid h_src to a grid h_dest.

reintegrate_column()

Conservatively calculate integrated data, uh_dest, on grid h_dest, from layer-integrated data, uh_src, on grid h_src.

diag_vkernels_unit_tests()

Returns true if any unit tests for module MOM_diag_vkernels fail.

test_interp()

Returns true if a test of interpolate_column() produces the wrong answer.

test_reintegrate()

Returns true if a test of reintegrate_column() produces the wrong answer.

Detailed Description

Provides kernels for single-column interpolation, re-integration (re-mapping of integrated quantities) and intensive-variable remapping in the vertical.

Function/Subroutine Documentation

subroutine mom_diag_vkernels/interpolate_column(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)

Linearly interpolate interface data, u_src, from grid h_src to a grid h_dest.

Parameters
  • nsrc :: [in] Number of source cells

  • h_src :: [in] Thickness of source cells

  • u_src :: [in] Values at source cell interfaces

  • ndest :: [in] Number of destination cells

  • h_dest :: [in] Thickness of destination cells

  • missing_value :: [in] Value to assign in vanished cells

  • u_dest :: [inout] Interpolated value at destination cell interfaces

Called from

mom_ale::ale_offline_inputs test_interp mom_diag_remap::vertically_interpolate_diag_field

subroutine mom_diag_vkernels/reintegrate_column(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)

Conservatively calculate integrated data, uh_dest, on grid h_dest, from layer-integrated data, uh_src, on grid h_src.

Parameters
  • nsrc :: [in] Number of source cells

  • h_src :: [in] Thickness of source cells

  • uh_src :: [in] Values at source cell interfaces

  • ndest :: [in] Number of destination cells

  • h_dest :: [in] Thickness of destination cells

  • missing_value :: [in] Value to assign in vanished cells

  • uh_dest :: [inout] Interpolated value at destination cell interfaces

Called from

mom_ale::ale_offline_inputs test_reintegrate mom_diag_remap::vertically_reintegrate_diag_field

function mom_diag_vkernels/diag_vkernels_unit_tests(verbose) [logical]

Returns true if any unit tests for module MOM_diag_vkernels fail.

Parameters

verbose :: [in] If true, write results to stdout

Call to

mom_io::stdout test_interp test_reintegrate

Called from

mom_unit_tests::unit_tests

function mom_diag_vkernels/test_interp(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true) [logical]

Returns true if a test of interpolate_column() produces the wrong answer. produces the wrong answer.

Parameters
  • verbose :: [in] If true, write results to stdout

  • missing_value :: [in] Value to indicate missing data

  • msg :: [in] Message to label test

  • nsrc :: [in] Number of source cells

  • h_src :: [in] Thickness of source cells

  • u_src :: [in] Values at source cell interfaces

  • ndest :: [in] Number of destination cells

  • h_dest :: [in] Thickness of destination cells

  • u_true :: [in] Correct value at destination cell interfaces

Call to

interpolate_column mom_io::stderr mom_io::stdout

Called from

diag_vkernels_unit_tests

function mom_diag_vkernels/test_reintegrate(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true) [logical]

Returns true if a test of reintegrate_column() produces the wrong answer. produces the wrong answer.

Parameters
  • verbose :: [in] If true, write results to stdout

  • missing_value :: [in] Value to indicate missing data

  • msg :: [in] Message to label test

  • nsrc :: [in] Number of source cells

  • h_src :: [in] Thickness of source cells

  • uh_src :: [in] Values of source cell stuff

  • ndest :: [in] Number of destination cells

  • h_dest :: [in] Thickness of destination cells

  • uh_true :: [in] Correct value of destination cell stuff

Call to

reintegrate_column mom_io::stderr mom_io::stdout

Called from

diag_vkernels_unit_tests