mom_interpolate module reference

This module provides added functionality to the FMS temporal and spatial interpolation routines.

More…

Functions/Subroutines

time_interp_external_0d()

Read a scalar field based on model time.

time_interp_external_2d()

Read a 2d field from an external based on model time, potentially including horizontal interpolation and rotation of the data.

time_interp_external_3d()

Read a 3d field based on model time, and rotate to the model grid.

Detailed Description

This module provides added functionality to the FMS temporal and spatial interpolation routines.

Function/Subroutine Documentation

subroutine mom_interpolate/time_interp_external_0d(field, time, data_in, verbose, scale)

Read a scalar field based on model time.

Parameters:
  • field :: [in] Handle for time interpolated field

  • time :: [in] The target time for the data

  • data_in :: [inout] The interpolated value in arbitrary units [A ~> a]

  • verbose :: [in] If true, write verbose output for debugging

  • scale :: [in] A scaling factor that new values of data_in are multiplied by before it is returned [A a-1 ~> 1]

subroutine mom_interpolate/time_interp_external_2d(field, time, data_in, interp, verbose, horz_interp, mask_out, turns, scale)

Read a 2d field from an external based on model time, potentially including horizontal interpolation and rotation of the data.

Parameters:
  • field :: [in] Handle for time interpolated field

  • time :: [in] The target time for the data

  • data_in :: [inout] The array in which to store the interpolated values in arbitrary units [A ~> a]

  • interp :: [in] A flag indicating the temporal interpolation method

  • verbose :: [in] If true, write verbose output for debugging

  • horz_interp :: [in] A structure to control horizontal interpolation

  • mask_out :: [out] An array that is true where there is valid data

  • turns :: [in] Number of quarter turns to rotate the data

  • scale :: [in] A scaling factor that new values of data_in are multiplied by before it is returned [A a-1 ~> 1]

subroutine mom_interpolate/time_interp_external_3d(field, time, data_in, interp, verbose, horz_interp, mask_out, turns, scale)

Read a 3d field based on model time, and rotate to the model grid.

Parameters:
  • field :: [in] Handle for time interpolated field

  • time :: [in] The target time for the data

  • data_in :: [inout] The array in which to store the interpolated values in arbitrary units [A ~> a]

  • interp :: [in] A flag indicating the temporal interpolation method

  • verbose :: [in] If true, write verbose output for debugging

  • horz_interp :: [in] A structure to control horizontal interpolation

  • mask_out :: [out] An array that is true where there is valid data

  • turns :: [in] Number of quarter turns to rotate the data

  • scale :: [in] A scaling factor that new values of data_in are multiplied by before it is returned [A a-1 ~> 1]