mom_marine_ice module reference

Routines incorporating the effects of marine ice (sea-ice and icebergs) into the ocean model dynamics and thermodynamics.

More…

Data Types

marine_ice_cs

Control structure for MOM_marine_ice.

Functions/Subroutines

iceberg_forces()

add_berg_flux_to_shelf adds rigidity and ice-area coverage due to icebergs to the forces type fields, and adds ice-areal coverage and modifies various thermodynamic fluxes due to the presence of icebergs.

iceberg_fluxes()

iceberg_fluxes adds ice-area-coverage and modifies various thermodynamic fluxes due to the presence of icebergs.

marine_ice_init()

Initialize control structure for MOM_marine_ice.

Detailed Description

Routines incorporating the effects of marine ice (sea-ice and icebergs) into the ocean model dynamics and thermodynamics.

Type Documentation

type mom_marine_ice/marine_ice_cs

Control structure for MOM_marine_ice.

Type fields
  • % kv_iceberg [real] :: The viscosity of the icebergs [L4 Z-2 T-1 ~> m2 s-1] (for ice rigidity)

  • % berg_area_threshold [real] :: Fraction of grid cell which iceberg must occupy so that fluxes below are set to zero. (0.5 is a good value to use.) Not applied for negative values.

  • % latent_heat_fusion [real] :: Latent heat of fusion [Q ~> J kg-1].

  • % density_iceberg [real] :: A typical density of icebergs [R ~> kg m-3] (for ice rigidity)

  • % time [type(time_type),pointer] :: A pointer to the ocean model’s clock.

  • % diag [type(diag_ctrl),pointer] :: A structure that is used to regulate the timing of diagnostic output.

Function/Subroutine Documentation

subroutine mom_marine_ice/iceberg_forces(G, forces, use_ice_shelf, sfc_state, time_step, CS)

add_berg_flux_to_shelf adds rigidity and ice-area coverage due to icebergs to the forces type fields, and adds ice-areal coverage and modifies various thermodynamic fluxes due to the presence of icebergs.

Parameters
  • g :: [inout] The ocean’s grid structure

  • forces :: [inout] A structure with the driving mechanical forces

  • sfc_state :: [inout] A structure containing fields that describe the surface state of the ocean.

  • use_ice_shelf :: [in] If true, this configuration uses ice shelves.

  • time_step :: [in] The coupling time step [s].

  • cs :: Pointer to the control structure for MOM_marine_ice

Called from

ocean_model_mod::update_ocean_model

subroutine mom_marine_ice/iceberg_fluxes(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS)

iceberg_fluxes adds ice-area-coverage and modifies various thermodynamic fluxes due to the presence of icebergs.

Parameters
  • g :: [inout] The ocean’s grid structure

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

  • fluxes :: [inout] A structure with pointers to themodynamic, tracer and mass exchange forcing fields

  • sfc_state :: [inout] A structure containing fields that describe the surface state of the ocean.

  • use_ice_shelf :: [in] If true, this configuration uses ice shelves.

  • time_step :: [in] The coupling time step [s].

  • cs :: Pointer to the control structure for MOM_marine_ice

Called from

ocean_model_mod::update_ocean_model

subroutine mom_marine_ice/marine_ice_init(Time, G, param_file, diag, CS)

Initialize control structure for MOM_marine_ice.

Parameters
  • time :: [in] Current model time

  • g :: [in] Ocean grid structure

  • param_file :: [in] Runtime parameter handles

  • diag :: [inout] Diagnostics control structure

  • cs :: Pointer to the control structure for MOM_marine_ice

Call to

mom_error_handler::mom_error

Called from

ocean_model_mod::ocean_model_init