user_shelf_init module reference

This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code.

More…

Data Types

user_ice_shelf_cs

The control structure for the user_ice_shelf module.

Functions/Subroutines

user_initialize_shelf_mass()

This subroutine sets up the initial mass and area covered by the ice shelf, based on user-provided code.

user_init_ice_thickness()

This subroutine updates the ice shelf thickness, as specified by user-provided code.

user_update_shelf_mass()

This subroutine updates the ice shelf mass, as specified by user-provided code.

write_user_log()

This subroutine writes out the user ice shelf code version number to the model log.

Detailed Description

This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code.

Type Documentation

type user_shelf_init/user_ice_shelf_cs

The control structure for the user_ice_shelf module.

Type fields:
  • % rho_ocean [real] :: The ocean’s typical density [R ~> kg m-3].

  • % max_draft [real] :: The maximum ocean draft of the ice shelf [Z ~> m].

  • % min_draft [real] :: The minimum ocean draft of the ice shelf [Z ~> m].

  • % flat_shelf_width [real] :: The range over which the shelf is min_draft thick [km].

  • % shelf_slope_scale [real] :: The range over which the shelf slopes [km].

  • % pos_shelf_edge_0 [real] :: The x-position of the shelf edge at time 0 [km].

  • % shelf_speed [real] :: The ice shelf speed of translation [km day-1].

  • % first_call [logical] :: If true, this module has not been called before.

Function/Subroutine Documentation

subroutine user_shelf_init/user_initialize_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)

This subroutine sets up the initial mass and area covered by the ice shelf, based on user-provided code.

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

  • mass_shelf :: [out] The ice shelf mass per unit area averaged

  • h_shelf :: [out] The ice shelf thickness [Z ~> m].

  • area_shelf_h :: [out] The area per cell covered by the ice shelf [L2 ~> m2].

  • hmask :: [out] A mask indicating which tracer points are

  • us :: [in] A structure containing unit conversion factors

  • cs :: A pointer to the user ice shelf control structure

  • param_file :: [in] A structure to parse for run-time parameters

  • new_sim :: [in] If true, this is a new run; otherwise it is being started from a restart file.

Call to:

user_update_shelf_mass write_user_log

Called from:

user_init_ice_thickness

subroutine user_shelf_init/user_init_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, param_file)

This subroutine updates the ice shelf thickness, as specified by user-provided code.

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

  • h_shelf :: [out] The ice shelf thickness [Z ~> m].

  • area_shelf_h :: [out] The area per cell covered by the ice shelf [L2 ~> m2].

  • hmask :: [out] A mask indicating which tracer points are

  • us :: [in] A structure containing unit conversion factors

  • param_file :: [in] A structure to parse for run-time parameters

Call to:

user_initialize_shelf_mass

Called from:

mom_ice_shelf_initialize::initialize_ice_thickness

subroutine user_shelf_init/user_update_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim)

This subroutine updates the ice shelf mass, as specified by user-provided code.

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

  • mass_shelf :: [inout] The ice shelf mass per unit area averaged

  • area_shelf_h :: [inout] The area per cell covered by the ice shelf [L2 ~> m2].

  • h_shelf :: [inout] The ice shelf thickness [Z ~> m].

  • hmask :: [inout] A mask indicating which tracer points are

  • cs :: A pointer to the user ice shelf control structure

  • time :: [in] The current model time

  • new_sim :: [in] If true, this the start of a new run.

Called from:

user_initialize_shelf_mass

subroutine user_shelf_init/write_user_log(param_file)

This subroutine writes out the user ice shelf code version number to the model log.

Parameters:

param_file :: [in] A structure to parse for run-time parameters

Called from:

user_initialize_shelf_mass