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.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | Ta | Air temperature [C] |
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).
Type | Intent | Optional | Attributes | Name | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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
|