mom_variables module reference

Provides transparent structures with groups of MOM6 variables and supporting routines.

More…

Data Types

p3d

A structure for creating arrays of pointers to 3D arrays.

p2d

A structure for creating arrays of pointers to 2D arrays.

surface

Pointers to various fields which may be used describe the surface state of MOM, and which will be returned to the calling program.

thermo_var_ptrs

Pointers to an assortment of thermodynamic fields that may be available, including potential temperature, salinity, heat capacity, and the equation of state control structure.

ocean_internal_state

Pointers to all of the prognostic variables allocated in MOM_variables.F90 and MOM.F90.

accel_diag_ptrs

Pointers to arrays with accelerations, which can later be used for derived diagnostics, like energy balances.

cont_diag_ptrs

Pointers to arrays with transports, which can later be used for derived diagnostics, like energy balances.

vertvisc_type

Vertical viscosities, drag coefficients, and related fields.

bt_cont_type

Container for information about the summed layer transports and how they will vary as the barotropic velocity is changed.

porous_barrier_type

Container for grids modifying cell metric at porous barriers.

Functions/Subroutines

allocate_surface_state()

Allocates the fields for the surface (return) properties of the ocean model.

deallocate_surface_state()

Deallocates the elements of a surface state type.

rotate_surface_state()

Rotate the surface state fields from the input to the model indices.

alloc_bt_cont_type()

Allocates the arrays contained within a BT_cont_type and initializes them to 0.

dealloc_bt_cont_type()

Deallocates the arrays contained within a BT_cont_type.

mom_thermovar_chksum()

Diagnostic checksums on various elements of a thermo_var_ptrs() type for debugging.

Detailed Description

Provides transparent structures with groups of MOM6 variables and supporting routines.

Type Documentation

type  mom_variables/p3d

A structure for creating arrays of pointers to 3D arrays.

Type fields:
  • % p :: real, dimension(:,:,:), pointer A pointer to a 3D array [various].

[source]

type  mom_variables/p2d

A structure for creating arrays of pointers to 2D arrays.

Type fields:
  • % p :: real, dimension(:,:), pointer A pointer to a 2D array [various].

[source]

type  mom_variables/surface

Pointers to various fields which may be used describe the surface state of MOM, and which will be returned to the calling program.

Type fields:
  • % sst :: real, dimension(:,:), allocatable The sea surface temperature [C ~> degC].

  • % sss :: real, dimension(:,:), allocatable The sea surface salinity [S ~> psu or gSalt/kg].

  • % sfc_density :: real, dimension(:,:), allocatable The mixed layer density [R ~> kg m-3].

  • % hml :: real, dimension(:,:), allocatable The mixed layer depth [Z ~> m].

  • % u :: real, dimension(:,:), allocatable The mixed layer zonal velocity [L T-1 ~> m s-1].

  • % v :: real, dimension(:,:), allocatable The mixed layer meridional velocity [L T-1 ~> m s-1].

  • % sea_lev :: real, dimension(:,:), allocatable The sea level [Z ~> m]. If a reduced surface gravity is.

  • % frazil :: real, dimension(:,:), allocatable The energy needed to heat the ocean column to the freezing point during.

  • % melt_potential :: real, dimension(:,:), allocatable Instantaneous amount of heat that can be used to melt sea ice [Q R Z ~> J m-2].

  • % ocean_mass :: real, dimension(:,:), allocatable The total mass of the ocean [R Z ~> kg m-2].

  • % ocean_heat :: real, dimension(:,:), allocatable The total heat content of the ocean in [C R Z ~> degC kg m-2].

  • % ocean_salt :: real, dimension(:,:), allocatable The total salt content of the ocean in [1e-3 S R Z ~> kgSalt m-2].

  • % taux_shelf :: real, dimension(:,:), allocatable The zonal stresses on the ocean under shelves [R L Z T-2 ~> Pa].

  • % tauy_shelf :: real, dimension(:,:), allocatable The meridional stresses on the ocean under shelves [R L Z T-2 ~> Pa].

  • % fco2 :: real, dimension(:,:), allocatable CO2 flux from the ocean to the atmosphere [R Z T-1 ~> kgCO2 m-2 s-1].

  • % t_is_cont :: logical If true, the temperature variable SST is actually the conservative temperature in [C ~> degC].

  • % s_is_abss :: logical If true, the salinity variable SSS is actually the absolute salinity in [S ~> gSalt kg-1].

  • % tr_fields :: type(coupler_2d_bc_type) A structure that may contain an array of named fields describing tracer-related quantities.

  • % arrays_allocated :: logical A flag that indicates whether the surface type has had its memory allocated.

[source]

type  mom_variables/thermo_var_ptrs

Pointers to an assortment of thermodynamic fields that may be available, including potential temperature, salinity, heat capacity, and the equation of state control structure.

Type fields:
  • % t :: real, dimension(:,:,:), pointer Potential temperature [C ~> degC].

  • % s :: real, dimension(:,:,:), pointer Salinity [PSU] or [gSalt/kg], generically [S ~> ppt].

  • % p_surf :: real, dimension(:,:), pointer Ocean surface pressure used in equation of state calculations [R L2 T-2 ~> Pa].

  • % eqn_of_state :: type(eos_type), pointer Type that indicates the equation of state to use.

  • % p_ref :: real The coordinate-density reference pressure [R L2 T-2 ~> Pa]. This is the pressure used to calculate Rml from T and S when eqn_of_state is associated.

  • % c_p :: real The heat capacity of seawater [Q C-1 ~> J degC-1 kg-1]. When conservative temperature is used, this is constant and exactly 3991.86795711963 J degC-1 kg-1.

  • % t_is_cont :: logical If true, the temperature variable tvT is actually the conservative temperature [C ~> degC].

  • % s_is_abss :: logical If true, the salinity variable tvS is actually the absolute salinity in units of [S ~> gSalt kg-1].

  • % min_salinity :: real The minimum value of salinity when BOUND_SALINITY=True [S ~> ppt].

  • % spv_avg :: real, dimension(:,:,:), allocatable The layer averaged in situ specific volume [R-1 ~> m3 kg-1].

  • % valid_spv_halo :: integer If positive, the valid halo size for SpV_avg, or if negative SpV_avg is not currently set.

  • % frazil :: real, dimension(:,:), pointer The energy needed to heat the ocean column to the freezing point since calculate_surface_state was last called [Q Z R ~> J m-2].

  • % frazil_was_reset :: logical If true, frazil has not accumulated since it was last reset.

  • % salt_deficit :: real, dimension(:,:), pointer The salt needed to maintain the ocean column at a minimum salinity of MIN_SALINITY since the last time that calculate_surface_state was called, [S R Z ~> gSalt m-2].

  • % tempxpme :: real, dimension(:,:), pointer The net inflow of water into the ocean times the temperature at which this inflow occurs since the last call to calculate_surface_state [C R Z ~> degC kg m-2]. This should be prescribed in the forcing fields, but as it often is not, this is a useful heat budget diagnostic.

  • % internal_heat :: real, dimension(:,:), pointer Any internal or geothermal heat sources that have been applied to the ocean since the last call to calculate_surface_state [C R Z ~> degC kg m-2].

  • % vart :: real, dimension(:,:,:), pointer SGS variance of potential temperature [C2 ~> degC2].

  • % vars :: real, dimension(:,:,:), pointer SGS variance of salinity [S2 ~> ppt2].

  • % covarts :: real, dimension(:,:,:), pointer SGS covariance of salinity and potential temperature [C S ~> degC ppt].

  • % tr_t :: type(tracer_type), pointer pointer to temp in tracer registry

  • % tr_s :: type(tracer_type), pointer pointer to salinty in tracer registry

[source]

type  mom_variables/ocean_internal_state

Pointers to all of the prognostic variables allocated in MOM_variables.F90 and MOM.F90.

Type fields:
  • % t :: real, dimension(:,:,:), pointer Pointer to the temperature state variable [C ~> degC].

  • % s :: real, dimension(:,:,:), pointer Pointer to the salinity state variable [S ~> ppt] (i.e., PSU or g/kg)

  • % u :: real, dimension(:,:,:), pointer Pointer to the zonal velocity [L T-1 ~> m s-1].

  • % v :: real, dimension(:,:,:), pointer Pointer to the meridional velocity [L T-1 ~> m s-1].

  • % h :: real, dimension(:,:,:), pointer Pointer to the layer thicknesses [H ~> m or kg m-2].

  • % uh :: real, dimension(:,:,:), pointer Pointer to zonal transports [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % vh :: real, dimension(:,:,:), pointer Pointer to meridional transports [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % cau :: real, dimension(:,:,:), pointer Pointer to the zonal Coriolis and Advective acceleration [L T-2 ~> m s-2].

  • % cav :: real, dimension(:,:,:), pointer Pointer to the meridional Coriolis and Advective acceleration [L T-2 ~> m s-2].

  • % pfu :: real, dimension(:,:,:), pointer Pointer to the zonal Pressure force acceleration [L T-2 ~> m s-2].

  • % pfv :: real, dimension(:,:,:), pointer Pointer to the meridional Pressure force acceleration [L T-2 ~> m s-2].

  • % diffu :: real, dimension(:,:,:), pointer Pointer to the zonal acceleration due to lateral viscosity [L T-2 ~> m s-2].

  • % diffv :: real, dimension(:,:,:), pointer Pointer to the meridional acceleration due to lateral viscosity [L T-2 ~> m s-2].

  • % pbce :: real, dimension(:,:,:), pointer Pointer to the baroclinic pressure force dependency on free surface movement.

  • % u_accel_bt :: real, dimension(:,:,:), pointer Pointer to the zonal barotropic-solver acceleration [L T-2 ~> m s-2].

  • % v_accel_bt :: real, dimension(:,:,:), pointer Pointer to the meridional barotropic-solver acceleration [L T-2 ~> m s-2].

  • % u_av :: real, dimension(:,:,:), pointer Pointer to zonal velocity averaged over the timestep [L T-1 ~> m s-1].

  • % v_av :: real, dimension(:,:,:), pointer Pointer to meridional velocity averaged over the timestep [L T-1 ~> m s-1].

  • % u_prev :: real, dimension(:,:,:), pointer Pointer to zonal velocity at the end of the last timestep [L T-1 ~> m s-1].

  • % v_prev :: real, dimension(:,:,:), pointer Pointer to meridional velocity at the end of the last timestep [L T-1 ~> m s-1].

[source]

type  mom_variables/accel_diag_ptrs

Pointers to arrays with accelerations, which can later be used for derived diagnostics, like energy balances.

Type fields:
  • % diffu :: real, dimension(:,:,:), pointer Zonal acceleration due to along isopycnal viscosity [L T-2 ~> m s-2].

  • % diffv :: real, dimension(:,:,:), pointer Meridional acceleration due to along isopycnal viscosity [L T-2 ~> m s-2].

  • % cau :: real, dimension(:,:,:), pointer Zonal Coriolis and momentum advection accelerations [L T-2 ~> m s-2].

  • % cav :: real, dimension(:,:,:), pointer Meridional Coriolis and momentum advection accelerations [L T-2 ~> m s-2].

  • % pfu :: real, dimension(:,:,:), pointer Zonal acceleration due to pressure forces [L T-2 ~> m s-2].

  • % pfv :: real, dimension(:,:,:), pointer Meridional acceleration due to pressure forces [L T-2 ~> m s-2].

  • % du_dt_visc :: real, dimension(:,:,:), pointer Zonal acceleration due to vertical viscosity [L T-2 ~> m s-2].

  • % dv_dt_visc :: real, dimension(:,:,:), pointer Meridional acceleration due to vertical viscosity [L T-2 ~> m s-2].

  • % du_dt_visc_gl90 :: real, dimension(:,:,:), pointer Zonal acceleration due to GL90 vertical viscosity.

  • % dv_dt_visc_gl90 :: real, dimension(:,:,:), pointer Meridional acceleration due to GL90 vertical viscosity.

  • % du_dt_str :: real, dimension(:,:,:), pointer Zonal acceleration due to the surface stress (included.

  • % dv_dt_str :: real, dimension(:,:,:), pointer Meridional acceleration due to the surface stress (included.

  • % du_dt_dia :: real, dimension(:,:,:), pointer Zonal acceleration due to diapycnal mixing [L T-2 ~> m s-2].

  • % dv_dt_dia :: real, dimension(:,:,:), pointer Meridional acceleration due to diapycnal mixing [L T-2 ~> m s-2].

  • % u_accel_bt :: real, dimension(:,:,:), pointer Pointer to the zonal barotropic-solver acceleration [L T-2 ~> m s-2].

  • % v_accel_bt :: real, dimension(:,:,:), pointer Pointer to the meridional barotropic-solver acceleration [L T-2 ~> m s-2].

  • % sal_u :: real, dimension(:,:,:), pointer Zonal acceleration due to self-attraction and loading [L T-2 ~> m s-2].

  • % sal_v :: real, dimension(:,:,:), pointer Meridional acceleration due to self-attraction and loading [L T-2 ~> m s-2].

  • % tides_u :: real, dimension(:,:,:), pointer Zonal acceleration due to astronomical tidal forcing [L T-2 ~> m s-2].

  • % tides_v :: real, dimension(:,:,:), pointer Meridional acceleration due to astronomical tidal forcing [L T-2 ~> m s-2].

  • % du_other :: real, dimension(:,:,:), pointer Zonal velocity changes due to any other processes that are not due to any explicit accelerations [L T-1 ~> m s-1].

  • % dv_other :: real, dimension(:,:,:), pointer Meridional velocity changes due to any other processes that are not due to any explicit accelerations [L T-1 ~> m s-1].

  • % bt_pgf_u :: real, dimension(:,:,:), pointer Zonal acceleration due to anomalous pressure gradient from barotropic solver, a 3D component of u_accel_bt that includes both PFuBT and the offset term for central differencing timestepping [L T-2 ~> m s-2].

  • % bt_pgf_v :: real, dimension(:,:,:), pointer Meridional acceleration due to anomalous pressure gradient from barotropic solver, a 3D component of v_accel_bt that includes both PFvBT and the offset term for central differencing timestepping [L T-2 ~> m s-2].

  • % bt_cor_u :: real, dimension(:,:), pointer Zonal acceleration due to anomalous Coriolis force from barotropic solver, a 2D component of u_accel_bt [L T-2 ~> m s-2].

  • % bt_cor_v :: real, dimension(:,:), pointer Meridional acceleration due to anomalous Coriolis force from barotropic solver, a 2D component of v_accel_bt [L T-2 ~> m s-2].

  • % bt_lwd_u :: real, dimension(:,:), pointer Zonal acceleration due to linear wave drag from barotropic solver, a 2D component of u_accel_bt [L T-2 ~> m s-2].

  • % bt_lwd_v :: real, dimension(:,:), pointer Meridional acceleration due to linear wave drag from barotropic solver, a 2D component of v_accel_bt [L T-2 ~> m s-2].

  • % gradkeu :: real, dimension(:,:,:), pointer gradKEu = - d/dx(u2) [L T-2 ~> m s-2]

  • % gradkev :: real, dimension(:,:,:), pointer gradKEv = - d/dy(u2) [L T-2 ~> m s-2]

  • % rv_x_v :: real, dimension(:,:,:), pointer rv_x_v = rv * v at u [L T-2 ~> m s-2]

  • % rv_x_u :: real, dimension(:,:,:), pointer rv_x_u = rv * u at v [L T-2 ~> m s-2]

  • % diag_hfrac_u :: real, dimension(:,:,:), pointer Fractional layer thickness at u points [nondim].

  • % diag_hfrac_v :: real, dimension(:,:,:), pointer Fractional layer thickness at v points [nondim].

  • % diag_hu :: real, dimension(:,:,:), pointer layer thickness at u points, modulated by the viscous remnant and fractional open areas [H ~> m or kg m-2]

  • % diag_hv :: real, dimension(:,:,:), pointer layer thickness at v points, modulated by the viscous remnant and fractional open areas [H ~> m or kg m-2]

  • % visc_rem_u :: real, dimension(:,:,:), pointer viscous remnant at u points [nondim]

  • % visc_rem_v :: real, dimension(:,:,:), pointer viscous remnant at v points [nondim]

[source]

type  mom_variables/cont_diag_ptrs

Pointers to arrays with transports, which can later be used for derived diagnostics, like energy balances.

Type fields:
  • % uh :: real, dimension(:,:,:), pointer Resolved zonal layer thickness fluxes, [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % vh :: real, dimension(:,:,:), pointer Resolved meridional layer thickness fluxes, [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % uh_smooth :: real, dimension(:,:,:), pointer Interface height smoothing induced zonal volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % vh_smooth :: real, dimension(:,:,:), pointer Interface height smoothing induced meridional volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % uhgm :: real, dimension(:,:,:), pointer Isopycnal height diffusion induced zonal volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % vhgm :: real, dimension(:,:,:), pointer Isopycnal height diffusion induced meridional volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1].

  • % diapyc_vel :: real, dimension(:,:,:), pointer The net diapycnal velocity [H T-1 ~> m s-1 or kg m-2 s-1].

[source]

type  mom_variables/vertvisc_type

Vertical viscosities, drag coefficients, and related fields.

Type fields:
  • % bbl_thick_u :: real, dimension(:,:), allocatable The bottom boundary layer thickness at the u-points [Z ~> m].

  • % bbl_thick_v :: real, dimension(:,:), allocatable The bottom boundary layer thickness at the v-points [Z ~> m].

  • % kv_bbl_u :: real, dimension(:,:), allocatable The bottom boundary layer viscosity at the u-points [H Z T-1 ~> m2 s-1 or Pa s].

  • % kv_bbl_v :: real, dimension(:,:), allocatable The bottom boundary layer viscosity at the v-points [H Z T-1 ~> m2 s-1 or Pa s].

  • % ustar_bbl :: real, dimension(:,:), allocatable The turbulence velocity in the bottom boundary layer at.

  • % bbl_meanke_loss :: real, dimension(:,:), allocatable The viscous loss of mean kinetic energy in the bottom boundary layer.

  • % bbl_meanke_loss_sqrtcd :: real, dimension(:,:), allocatable The viscous loss of mean kinetic energy in the bottom boundary layer.

  • % taux_shelf :: real, dimension(:,:), allocatable The zonal stresses on the ocean under shelves [R Z L T-2 ~> Pa].

  • % tauy_shelf :: real, dimension(:,:), allocatable The meridional stresses on the ocean under shelves [R Z L T-2 ~> Pa].

  • % tbl_thick_shelf_u :: real, dimension(:,:), allocatable Thickness of the viscous top boundary layer under ice shelves at u-points [Z ~> m].

  • % tbl_thick_shelf_v :: real, dimension(:,:), allocatable Thickness of the viscous top boundary layer under ice shelves at v-points [Z ~> m].

  • % kv_tbl_shelf_u :: real, dimension(:,:), allocatable Viscosity in the viscous top boundary layer under ice shelves at u-points [H Z T-1 ~> m2 s-1 or Pa s].

  • % kv_tbl_shelf_v :: real, dimension(:,:), allocatable Viscosity in the viscous top boundary layer under ice shelves at v-points [H Z T-1 ~> m2 s-1 or Pa s].

  • % nkml_visc_u :: real, dimension(:,:), allocatable The number of layers in the viscous surface mixed layer at u-points [nondim]. This is not an integer because there may be fractional layers, and it is stored in terms of layers, not depth, to facilitate the movement of the viscous boundary layer with the flow.

  • % nkml_visc_v :: real, dimension(:,:), allocatable The number of layers in the viscous surface mixed layer at v-points [nondim].

  • % ray_u :: real, dimension(:,:,:), allocatable The Rayleigh drag velocity to be applied to each layer at u-points [H T-1 ~> m s-1 or Pa s m-1].

  • % ray_v :: real, dimension(:,:,:), allocatable The Rayleigh drag velocity to be applied to each layer at v-points [H T-1 ~> m s-1 or Pa s m-1].

  • % mld :: real, dimension(:,:), pointer Instantaneous active mixing layer depth [Z ~> m].

  • % h_ml :: real, dimension(:,:), pointer Instantaneous active mixing layer thickness [H ~> m or kg m-2].

  • % sfc_buoy_flx :: real, dimension(:,:), pointer Surface buoyancy flux (derived) [Z2 T-3 ~> m2 s-3].

  • % kd_shear :: real, dimension(:,:,:), pointer The shear-driven turbulent diapycnal diffusivity at the interfaces between layers in tracer columns [H Z T-1 ~> m2 s-1 or kg m-1 s-1].

  • % kv_shear :: real, dimension(:,:,:), pointer The shear-driven turbulent vertical viscosity at the interfaces between layers in tracer columns [H Z T-1 ~> m2 s-1 or Pa s].

  • % kv_shear_bu :: real, dimension(:,:,:), pointer The shear-driven turbulent vertical viscosity at the interfaces between layers in corner columns [H Z T-1 ~> m2 s-1 or Pa s].

  • % kv_slow :: real, dimension(:,:,:), pointer The turbulent vertical viscosity component due to “slow” processes (e.g., tidal, background, convection etc) [H Z T-1 ~> m2 s-1 or Pa s].

  • % tke_turb :: real, dimension(:,:,:), pointer The turbulent kinetic energy per unit mass at the interfaces [Z2 T-2 ~> m2 s-2]. This may be at the tracer or corner points.

[source]

type  mom_variables/bt_cont_type

Container for information about the summed layer transports and how they will vary as the barotropic velocity is changed.

Type fields:
  • % fa_u_ee :: real, dimension(:,:), allocatable The effective open face area for zonal barotropic transport drawing from locations far to the east [H L ~> m2 or kg m-1].

  • % fa_u_e0 :: real, dimension(:,:), allocatable The effective open face area for zonal barotropic transport drawing from nearby to the east [H L ~> m2 or kg m-1].

  • % fa_u_w0 :: real, dimension(:,:), allocatable The effective open face area for zonal barotropic transport drawing from nearby to the west [H L ~> m2 or kg m-1].

  • % fa_u_ww :: real, dimension(:,:), allocatable The effective open face area for zonal barotropic transport drawing from locations far to the west [H L ~> m2 or kg m-1].

  • % ubt_ww :: real, dimension(:,:), allocatable uBT_WW is the barotropic velocity [L T-1 ~> m s-1], beyond which the marginal open face area is FA_u_WW. uBT_WW must be non-negative.

  • % ubt_ee :: real, dimension(:,:), allocatable uBT_EE is a barotropic velocity [L T-1 ~> m s-1], beyond which the marginal open face area is FA_u_EE. uBT_EE must be non-positive.

  • % fa_v_nn :: real, dimension(:,:), allocatable The effective open face area for meridional barotropic transport drawing from locations far to the north [H L ~> m2 or kg m-1].

  • % fa_v_n0 :: real, dimension(:,:), allocatable The effective open face area for meridional barotropic transport drawing from nearby to the north [H L ~> m2 or kg m-1].

  • % fa_v_s0 :: real, dimension(:,:), allocatable The effective open face area for meridional barotropic transport drawing from nearby to the south [H L ~> m2 or kg m-1].

  • % fa_v_ss :: real, dimension(:,:), allocatable The effective open face area for meridional barotropic transport drawing from locations far to the south [H L ~> m2 or kg m-1].

  • % vbt_ss :: real, dimension(:,:), allocatable vBT_SS is the barotropic velocity, [L T-1 ~> m s-1], beyond which the marginal open face area is FA_v_SS. vBT_SS must be non-negative.

  • % vbt_nn :: real, dimension(:,:), allocatable vBT_NN is the barotropic velocity, [L T-1 ~> m s-1], beyond which the marginal open face area is FA_v_NN. vBT_NN must be non-positive.

  • % h_u :: real, dimension(:,:,:), allocatable An effective thickness at zonal faces, taking into account the effects of vertical viscosity and fractional open areas [H ~> m or kg m-2]. This is primarily used as a non-normalized weight in determining the depth averaged accelerations for the barotropic solver.

  • % h_v :: real, dimension(:,:,:), allocatable An effective thickness at meridional faces, taking into account the effects of vertical viscosity and fractional open areas [H ~> m or kg m-2]. This is primarily used as a non-normalized weight in determining the depth averaged accelerations for the barotropic solver.

  • % pass_polarity_bt :: type(group_pass_type) Structure for polarity group halo updates.

  • % pass_fa_uv :: type(group_pass_type) Structure for face area group halo updates.

[source]

type  mom_variables/porous_barrier_type

Container for grids modifying cell metric at porous barriers.

Type fields:
  • % por_face_areau :: real, dimension(:,:,:), allocatable fractional open area of U-faces [nondim]

  • % por_face_areav :: real, dimension(:,:,:), allocatable fractional open area of V-faces [nondim]

  • % por_layer_widthu :: real, dimension(:,:,:), allocatable fractional open width of U-faces [nondim]

  • % por_layer_widthv :: real, dimension(:,:,:), allocatable fractional open width of V-faces [nondim]

[source]

Function/Subroutine Documentation

subroutine mom_variables/allocate_surface_state(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil, sfc_state_in, turns, use_marbl_tracers)

Allocates the fields for the surface (return) properties of the ocean model. Unused fields are unallocated.

Parameters:
  • g :: [in] ocean grid structure

  • sfc_state :: sfc_state [inout] ocean surface state type to be allocated.

  • use_temperature :: use_temperature [in] If true, allocate the space for thermodynamic variables.

  • do_integrals :: do_integrals [in] If true, allocate the space for vertically integrated fields.

  • gas_fields_ocn :: gas_fields_ocn [in] If present, this type describes the

  • use_meltpot :: use_meltpot [in] If true, allocate the space for melt potential

  • use_iceshelves :: use_iceshelves [in] If true, allocate the space for the stresses under ice shelves.

  • omit_frazil :: omit_frazil [in] If present and false, do not allocate the space to pass frazil fluxes to the coupler

  • sfc_state_in :: sfc_state_in [in] If present and its tr_fields are initialized,

  • turns :: turns [in] If present, the number of counterclockwise quarter turns to use on the new grid.

  • use_marbl_tracers :: use_marbl_tracers [in] If true, allocate the space for CO2 flux from MARBL

Called from:

rotate_surface_state

[source]

subroutine mom_variables/deallocate_surface_state(sfc_state)

Deallocates the elements of a surface state type.

Parameters:

sfc_state :: sfc_state [inout] ocean surface state type to be deallocated here.

[source]

subroutine mom_variables/rotate_surface_state(sfc_state_in, sfc_state, G, turns)

Rotate the surface state fields from the input to the model indices.

Parameters:
  • sfc_state_in :: sfc_state_in [in] The input unrotated surface state type that is the data source.

  • sfc_state :: sfc_state [inout] The rotated surface state type whose arrays will be filled in

  • g :: [in] The ocean grid structure

  • turns :: turns [in] The number of counterclockwise quarter turns to use on the rotated grid.

Call to:

allocate_surface_state

Called from:

mom_ice_shelf::adjust_ice_sheet_frazil mom::extract_surface_state mom_ice_shelf::initialize_ice_shelf mom_ice_shelf::shelf_calc_flux mom::step_mom

[source]

subroutine mom_variables/alloc_bt_cont_type(BT_cont, G, GV, alloc_faces)

Allocates the arrays contained within a BT_cont_type and initializes them to 0.

Parameters:
  • bt_cont :: The BT_cont_type whose elements will be allocated

  • g :: [in] The ocean’s grid structure

  • gv :: [in] The ocean’s vertical grid structure.

  • alloc_faces :: alloc_faces [in] If present and true, allocate memory for effective face thicknesses.

Call to:

mom_error_handler::mom_error

[source]

subroutine mom_variables/dealloc_bt_cont_type(BT_cont)

Deallocates the arrays contained within a BT_cont_type.

Parameters:

bt_cont :: The BT_cont_type whose elements will be deallocated.

[source]

subroutine mom_variables/mom_thermovar_chksum(mesg, tv, G, US)

Diagnostic checksums on various elements of a thermo_var_ptrs() type for debugging. type for debugging.

Parameters:
  • mesg :: mesg [in] A message that appears in the checksum lines

  • tv :: tv [in] A structure pointing to various thermodynamic variables

  • g :: [in] The ocean’s grid structure

  • us :: [in] A dimensional unit scaling type

Called from:

mom_diabatic_driver::diabatic_ale mom_diabatic_driver::diabatic_ale_legacy mom_diabatic_driver::layered_diabatic

[source]

[source]