FMS Coupler  2022.03
Data Types | Functions/Subroutines | Variables
ice_model_mod Module Reference

Data Types

type  ice_data_type
 
type  atmos_ice_boundary_type
 

Functions/Subroutines

subroutine, public update_ice_model_fast (Atmos_boundary, Ice)
 
subroutine, public update_ice_model_slow (Atmos_boundary, Ice)
 
subroutine prognostic_ice (Ice)
 
subroutine prognostic_sst (Ice)
 
subroutine, public ice_model_init (Ice, Time_Init, Time, Time_step_fast, Time_step_slow, glon_bnd, glat_bnd, Atmos_domain)
 
subroutine ice_register_restart (fileobj, Ice)
 
subroutine, public ice_model_end (Ice)
 
subroutine add_domain_dimension_data (fileobj)
 
logical function is_latlon (lon, lat)
 
subroutine get_cell_center (lonb, latb, lon, lat)
 
subroutine latlon2xyz (sph_coor, xyz_coor)
 
subroutine xyz2latlon (xyz_coor, sph_coor)
 

Variables

real cmin
 
real cmax
 
real diff = 2.092
 
real thickness_min = 0.10
 
real specified_ice_thickness = 2.0
 
real heat_capacity_ocean = 1.e07
 
real temp_ice_freeze = -1.66
 
real roughness_ice = 1.e-4
 
logical mixed_layer_ocean = .false.
 
logical use_climo_ice = .false.
 
logical use_annual_ice = .false.
 
logical use_climo_sst = .false.
 
logical use_annual_sst = .false.
 
character(len=64) ice_method = 'prognostic'
 
character(len=64) sst_method = 'specified'
 
character(len=64) specified
 
character(len=64) uniform
 
character(len=64) or
 
character(len=64) mixed_layer
 
real temp_ice = 270.
 
real temp_sst = 280.
 
real sst_anom = 0.
 
character(len=64) interp_method = "bilinear"
 
logical do_netcdf_restart = .true.
 
integer is
 
integer ie
 
integer js
 
integer je
 
type(fmsamipinterp_type), save amip_ice
 
type(fmsamipinterp_type), save amip_sst
 
logical module_is_initialized = .false.
 
character(len=64) fname = 'INPUT/ice_model.res.nc'
 
character(len=128) version = '$Id$'
 
character(len=128) tagname = '$Name$'
 
real, parameter latent = HLV + HLF
 

Function/Subroutine Documentation

◆ add_domain_dimension_data()

subroutine ice_model_mod::add_domain_dimension_data ( type(fmsnetcdfdomainfile_t)  fileobj)
private
Parameters
fileobjFms2io domain decomposed fileobj

◆ get_cell_center()

subroutine ice_model_mod::get_cell_center ( real, dimension(:,:), intent(in)  lonb,
real, dimension(:,:), intent(in)  latb,
real, dimension(:,:), intent(out)  lon,
real, dimension(:,:), intent(out)  lat 
)
private

◆ ice_model_end()

subroutine, public ice_model_mod::ice_model_end ( type(ice_data_type), intent(inout)  Ice)

◆ ice_model_init()

subroutine, public ice_model_mod::ice_model_init ( type(ice_data_type), intent(inout)  Ice,
type(fmstime_type), intent(in)  Time_Init,
type(fmstime_type), intent(in)  Time,
type(fmstime_type), intent(in)  Time_step_fast,
type(fmstime_type), intent(in)  Time_step_slow,
real, dimension(:,:), intent(in)  glon_bnd,
real, dimension(:,:), intent(in)  glat_bnd,
type(fmsmppdomain2d), intent(in), target  Atmos_domain 
)

◆ ice_register_restart()

subroutine ice_model_mod::ice_register_restart ( type(fmsnetcdfdomainfile_t), intent(inout)  fileobj,
type(ice_data_type), intent(inout)  Ice 
)
private
Parameters
[in,out]fileobjIce restart domain decomposed fileobj
[in,out]iceIce data type

◆ is_latlon()

logical function ice_model_mod::is_latlon ( real, dimension(:,:), intent(in)  lon,
real, dimension(:,:), intent(in)  lat 
)
private

◆ latlon2xyz()

subroutine ice_model_mod::latlon2xyz ( real, dimension(2), intent(in)  sph_coor,
real, dimension(3), intent(inout)  xyz_coor 
)
private

◆ prognostic_ice()

subroutine ice_model_mod::prognostic_ice ( type(ice_data_type), intent(inout)  Ice)
private

◆ prognostic_sst()

subroutine ice_model_mod::prognostic_sst ( type(ice_data_type), intent(inout)  Ice)
private

◆ update_ice_model_fast()

subroutine, public ice_model_mod::update_ice_model_fast ( type(atmos_ice_boundary_type), intent(in)  Atmos_boundary,
type (ice_data_type), intent(inout)  Ice 
)

◆ update_ice_model_slow()

subroutine, public ice_model_mod::update_ice_model_slow ( type(atmos_ice_boundary_type), intent(in)  Atmos_boundary,
type(ice_data_type), intent(inout)  Ice 
)

◆ xyz2latlon()

subroutine ice_model_mod::xyz2latlon ( real, dimension(3), intent(in)  xyz_coor,
real, dimension(2), intent(inout)  sph_coor 
)
private

Variable Documentation

◆ amip_ice

type(fmsamipinterp_type), save ice_model_mod::amip_ice
private

◆ amip_sst

type(fmsamipinterp_type), save ice_model_mod::amip_sst
private

◆ cmax

real ice_model_mod::cmax
private

◆ cmin

real ice_model_mod::cmin
private

◆ diff

real ice_model_mod::diff = 2.092
private

◆ do_netcdf_restart

logical ice_model_mod::do_netcdf_restart = .true.
private

◆ fname

character(len=64) ice_model_mod::fname = 'INPUT/ice_model.res.nc'
private

◆ heat_capacity_ocean

real ice_model_mod::heat_capacity_ocean = 1.e07
private

◆ ice_method

character(len=64) ice_model_mod::ice_method = 'prognostic'
private

◆ ie

integer ice_model_mod::ie
private

◆ interp_method

character(len=64) ice_model_mod::interp_method = "bilinear"
private

◆ is

integer ice_model_mod::is
private

◆ je

integer ice_model_mod::je
private

◆ js

integer ice_model_mod::js
private

◆ latent

real, parameter ice_model_mod::latent = HLV + HLF
private

◆ mixed_layer

character(len=64) ice_model_mod::mixed_layer
private

◆ mixed_layer_ocean

logical ice_model_mod::mixed_layer_ocean = .false.
private

◆ module_is_initialized

logical ice_model_mod::module_is_initialized = .false.
private

◆ or

character(len=64) ice_model_mod::or
private

◆ roughness_ice

real ice_model_mod::roughness_ice = 1.e-4
private

◆ specified

character(len=64) ice_model_mod::specified
private

◆ specified_ice_thickness

real ice_model_mod::specified_ice_thickness = 2.0
private

◆ sst_anom

real ice_model_mod::sst_anom = 0.
private

◆ sst_method

character(len=64) ice_model_mod::sst_method = 'specified'
private

◆ tagname

character(len=128) ice_model_mod::tagname = '$Name$'
private

◆ temp_ice

real ice_model_mod::temp_ice = 270.
private

◆ temp_ice_freeze

real ice_model_mod::temp_ice_freeze = -1.66
private

◆ temp_sst

real ice_model_mod::temp_sst = 280.
private

◆ thickness_min

real ice_model_mod::thickness_min = 0.10
private

◆ uniform

character(len=64) ice_model_mod::uniform
private

◆ use_annual_ice

logical ice_model_mod::use_annual_ice = .false.
private

◆ use_annual_sst

logical ice_model_mod::use_annual_sst = .false.
private

◆ use_climo_ice

logical ice_model_mod::use_climo_ice = .false.
private

◆ use_climo_sst

logical ice_model_mod::use_climo_sst = .false.
private

◆ version

character(len=128) ice_model_mod::version = '$Id$'
private