stim_winton Module

The winton ice model

After Michael Winton

authors: Karsten Bolding, Adolf Stips and Jesper Larsen

The model consists of a zero heat capacity snow layer overlying two equally thick sea ice layers. The upper ice layer has a variable heat capacity to represent brine pockets. The lower ice layer has a fixed heat capacity. The prognostic variables are hs (snow layer thickness), hi (ice layer thickness), T1 and T2, the upper and lower ice layer temperatures located at the midpoints of the layers. The ice model performs two functions, the first is to calculate the ice temperature and the second is to calculate changes in the thickness of ice and snow.


                   THREE-LAYER VERTICAL THERMODYNAMICS

Reference: M. Winton, 2000: "A reformulated three-layer sea ice model",
Journal of Atmospheric and Oceanic Technology, 17, 525-531.


    -> +---------+ <- Ts - diagnostic surface temperature ( <= 0C )       
   /   |         |                                                        
 hs    |  snow   | <- 0-heat capacity snow layer                          
   \   |         |                                                       
    -> +---------+                                                        
   /   |         |                                                        
  /    |         | <- T1 - upper 1/2 ice temperature; this layer has      
 /     |         |         a variable (T/S dependent) heat capacity       
 \     |         |                                                       
  \    |         | <- T2 - lower 1/2 ice temp. (fixed heat capacity)      
   \   |         |                                                        
    -> +---------+ <- Tf - base of ice fixed at seawater freezing temp.

                                                 Mike Winton (mw@gfdl.gov)

Note: in this implementation the equations are multiplied by hi to improve thin ice accuracy

The code is based on the open source sea ice model included in the Modular Ocean Model.


Uses

  • module~~stim_winton~~UsesGraph module~stim_winton stim_winton module~stim_variables stim_variables module~stim_winton->module~stim_variables module~ice_thm_mod ice_thm_mod module~stim_winton->module~ice_thm_mod

Contents


Variables

TypeVisibility AttributesNameInitial
real(kind=rk), private, pointer:: Ts
real(kind=rk), private, pointer:: T1
real(kind=rk), private, pointer:: T2
real(kind=rk), private, pointer:: hi
real(kind=rk), private, pointer:: hs
real(kind=rk), private, pointer:: dh1
real(kind=rk), private, pointer:: dh2
real(kind=rk), private, pointer:: trn
real(kind=rk), private :: pen
real(kind=rk), private, pointer:: tmelt
real(kind=rk), private, pointer:: bmelt
real(kind=rk), private, pointer:: fb

Subroutines

public subroutine init_stim_winton(Ta)

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: Ta

Air temperature [C]

public subroutine do_stim_winton(ice_cover, dz, dt, Tw, S, Ta, precip, Qsw, Qfluxes)

This SUBROUTINE updates the sea ice prognostic variables. The updated variables are upper ice layer temperature (T1), lower ice layer temperature (T2), snow thickness (hs), and ice thickness (hi).

Read more…

Arguments

Type IntentOptional AttributesName
integer, intent(inout) :: ice_cover
real(kind=rk), intent(in) :: dz
real(kind=rk), intent(in) :: dt
real(kind=rk), intent(inout) :: Tw
real(kind=rk), intent(in) :: S
real(kind=rk), intent(in) :: Ta
real(kind=rk), intent(in) :: precip
real(kind=rk), intent(in) :: Qsw
private subroutine Qfluxes(T, qh, qe, qb)
Arguments
Type IntentOptional AttributesName
real(kind=rk), intent(in) :: T
real(kind=rk), intent(out) :: qh
real(kind=rk), intent(out) :: qe
real(kind=rk), intent(out) :: qb