coord_hycom module reference

Regrid columns for the HyCOM coordinate.

More…

Data Types

hycom_cs

Control structure containing required parameters for the HyCOM coordinate.

Functions/Subroutines

init_coord_hycom()

Initialise a hycom_CS with pointers to parameters.

end_coord_hycom()

This subroutine deallocates memory in the control structure for the coord_hycom() module.

set_hycom_params()

This subroutine can be used to set the parameters for the coord_hycom() module.

build_hycom1_column()

Build a HyCOM coordinate column.

Detailed Description

Regrid columns for the HyCOM coordinate.

Type Documentation

type coord_hycom/hycom_cs

Control structure containing required parameters for the HyCOM coordinate.

Type fields
  • % nk [integer] :: Number of layers/levels in generated grid.

  • % coordinateresolution [real(:),allocatable] :: Nominal near-surface resolution [Z ~> m].

  • % target_density [real(:),allocatable] :: Nominal density of interfaces [R ~> kg m-3].

  • % max_interface_depths [real(:),allocatable] :: Maximum depths of interfaces [H ~> m or kg m-2].

  • % max_layer_thickness [real(:),allocatable] :: Maximum thicknesses of layers [H ~> m or kg m-2].

  • % interp_cs [type(interp_cs_type)] :: Interpolation control structure.

Function/Subroutine Documentation

subroutine coord_hycom/init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS)

Initialise a hycom_CS with pointers to parameters.

Parameters
  • cs :: Unassociated pointer to hold the control structure

  • nk :: [in] Number of layers in generated grid

  • coordinateresolution :: [in] Nominal near-surface resolution [Z ~> m]

  • target_density :: [in] Interface target densities [R ~> kg m-3]

  • interp_cs :: [in] Controls for interpolation

Call to

mom_error_handler::mom_error

Called from

mom_regridding::initcoord

subroutine coord_hycom/end_coord_hycom(CS)

This subroutine deallocates memory in the control structure for the coord_hycom() module. module.

Parameters

cs :: Coordinate control structure

Called from

mom_regridding::end_regridding

subroutine coord_hycom/set_hycom_params(CS, max_interface_depths, max_layer_thickness, interp_CS)

This subroutine can be used to set the parameters for the coord_hycom() module. module.

Parameters
  • cs :: Coordinate control structure

  • max_interface_depths :: [in] Maximum depths of interfaces [H ~> m or kg m-2]

  • max_layer_thickness :: [in] Maximum thicknesses of layers [H ~> m or kg m-2]

  • interp_cs :: [in] Controls for interpolation

Call to

mom_error_handler::mom_error

Called from

mom_regridding::set_regrid_max_depths mom_regridding::set_regrid_max_thickness mom_regridding::set_regrid_params

subroutine coord_hycom/build_hycom1_column(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)

Build a HyCOM coordinate column.

Parameters
  • cs :: [in] Coordinate control structure

  • eqn_of_state :: Equation of state structure

  • nz :: [in] Number of levels

  • depth :: [in] Depth of ocean bottom (positive [H ~> m or kg m-2])

  • t :: [in] Temperature of column [degC]

  • s :: [in] Salinity of column [ppt]

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • p_col :: [in] Layer pressure [R L2 T-2 ~> Pa]

  • z_col :: [in] Interface positions relative to the surface [H ~> m or kg m-2]

  • z_col_new :: [inout] Absolute positions of interfaces [H ~> m or kg m-2]

  • zscale :: [in] Scaling factor from the input coordinate thicknesses in [Z ~> m] to desired units for zInterface, perhaps GVZ_to_H.

  • h_neglect :: [in] A negligibly small width for the purpose of cell reconstruction [H ~> m or kg m-2]

  • h_neglect_edge :: [in] A negligibly small width for the purpose of edge value calculation [H ~> m or kg m-2]

Call to

regrid_interp::build_and_interpolate_grid

Called from

mom_regridding::build_grid_hycom1