MOM6
mom_transform_fms Module Reference

Detailed Description

Support functions and interfaces to permit transformed model domains to interact with FMS operations registered on the non-transformed domains.

Data Types

interface  rotated_mpp_chksum
 Rotate and compute the FMS (mpp) checksum of a field. More...
 
interface  rotated_time_interp_external
 Read a field based on model time, and rotate to the model domain. More...
 
interface  rotated_write_field
 Rotate and write a registered field to an FMS output file. More...
 

Functions/Subroutines

integer function rotated_mpp_chksum_real_0d (field, pelist, mask_val, turns)
 Compute the FMS (mpp) checksum of a scalar. This function is provided to support the full FMS mpp_chksum interface.
 
integer function rotated_mpp_chksum_real_1d (field, pelist, mask_val, turns)
 Compute the FMS (mpp) checksum of a 1d field. This function is provided to support the full FMS mpp_chksum interface.
 
integer function rotated_mpp_chksum_real_2d (field, pelist, mask_val, turns)
 Compute the FMS (mpp) checksum of a rotated 2d field.
 
integer function rotated_mpp_chksum_real_3d (field, pelist, mask_val, turns)
 Compute the FMS (mpp) checksum of a rotated 3d field.
 
integer function rotated_mpp_chksum_real_4d (field, pelist, mask_val, turns)
 Compute the FMS (mpp) checksum of a rotated 4d field.
 
subroutine rotated_write_field_real_0d (io_unit, field_md, field, tstamp, turns)
 Write the rotation of a 1d field to an FMS output file This function is provided to support the full FMS write_field interface.
 
subroutine rotated_write_field_real_1d (io_unit, field_md, field, tstamp, turns)
 Write the rotation of a 1d field to an FMS output file This function is provided to support the full FMS write_field interface.
 
subroutine rotated_write_field_real_2d (io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)
 Write the rotation of a 2d field to an FMS output file.
 
subroutine rotated_write_field_real_3d (io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)
 Write the rotation of a 3d field to an FMS output file.
 
subroutine rotated_write_field_real_4d (io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)
 Write the rotation of a 4d field to an FMS output file.
 
subroutine rotated_time_interp_external_0d (fms_id, time, data_in, verbose, turns)
 Read a scalar field based on model time This function is provided to support the full FMS time_interp_external interface. More...
 
subroutine rotated_time_interp_external_2d (fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)
 Read a 2d field based on model time, and rotate to the model grid.
 
subroutine rotated_time_interp_external_3d (fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)
 Read a 3d field based on model time, and rotate to the model grid.
 

Function/Subroutine Documentation

◆ rotated_time_interp_external_0d()

subroutine mom_transform_fms::rotated_time_interp_external_0d ( integer, intent(in)  fms_id,
type(time_type), intent(in)  time,
real, intent(inout)  data_in,
logical, intent(in), optional  verbose,
integer, intent(in), optional  turns 
)
private

Read a scalar field based on model time This function is provided to support the full FMS time_interp_external interface.

Parameters
[in]fms_idFMS field ID
[in]timeModel time
[in,out]data_infield to write data
[in]verboseVerbose output
[in]turnsNumber of quarter turns

Definition at line 307 of file MOM_transform_FMS.F90.

307  integer, intent(in) :: fms_id !< FMS field ID
308  type(time_type), intent(in) :: time !< Model time
309  real, intent(inout) :: data_in !< field to write data
310  logical, intent(in), optional :: verbose !< Verbose output
311  integer, intent(in), optional :: turns !< Number of quarter turns
312 
313  if (present(turns)) &
314  call mom_error(fatal, "Rotation not supported for 0d fields.")
315 
316  call time_interp_external(fms_id, time, data_in, verbose=verbose)