user_shelf_init module reference
This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code.
Data Types
The control structure for the user_ice_shelf module. |
Functions/Subroutines
This subroutine sets up the initial mass and area covered by the ice shelf, based on user-provided code. |
|
This subroutine updates the ice shelf thickness, as specified by user-provided code. |
|
This subroutine updates the ice shelf mass, as specified by user-provided code. |
|
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 ::
realThe ocean’s typical density [R ~> kg m-3].% max_draft ::
realThe maximum ocean draft of the ice shelf [Z ~> m].% min_draft ::
realThe minimum ocean draft of the ice shelf [Z ~> m].% flat_shelf_width ::
realThe range over which the shelf is min_draft thick [km].% shelf_slope_scale ::
realThe range over which the shelf slopes [km].% pos_shelf_edge_0 ::
realThe x-position of the shelf edge at time 0 [km].% shelf_speed ::
realThe ice shelf speed of translation [km day-1].% first_call ::
logicalIf 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 ::
mass_shelf[out] The ice shelf mass per unit area averagedh_shelf ::
h_shelf[out] The ice shelf thickness [Z ~> m].area_shelf_h ::
area_shelf_h[out] The area per cell covered by the ice shelf [L2 ~> m2].hmask ::
hmask[out] A mask indicating which tracer points areus :: [in] A structure containing unit conversion factors
cs :: A pointer to the user ice shelf control structure
param_file ::
param_file[in] A structure to parse for run-time parametersnew_sim ::
new_sim[in] If true, this is a new run; otherwise it is being started from a restart file.
- Call to:
- Called from:
- 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 ::
h_shelf[out] The ice shelf thickness [Z ~> m].area_shelf_h ::
area_shelf_h[out] The area per cell covered by the ice shelf [L2 ~> m2].hmask ::
hmask[out] A mask indicating which tracer points areus :: [in] A structure containing unit conversion factors
param_file ::
param_file[in] A structure to parse for run-time parameters
- Call to:
- Called from:
- 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 ::
mass_shelf[inout] The ice shelf mass per unit area averagedarea_shelf_h ::
area_shelf_h[inout] The area per cell covered by the ice shelf [L2 ~> m2].h_shelf ::
h_shelf[inout] The ice shelf thickness [Z ~> m].hmask ::
hmask[inout] A mask indicating which tracer points arecs :: A pointer to the user ice shelf control structure
time :: [in] The current model time
new_sim ::
new_sim[in] If true, this the start of a new run.
- Called from:
- 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 ::
param_file[in] A structure to parse for run-time parameters- Called from: