1 |
C $Header: /u/gcmpack/MITgcm/pkg/thsice/THSICE_VARS.h,v 1.9 2007/04/16 22:38:24 heimbach Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_THSICE |
5 |
|
6 |
C !ROUTINE: THSICE_VARS.h |
7 |
C ------------------------------- |
8 |
C THSICE_VARS.h |
9 |
C variable for thermodynamics - Sea-Ice model |
10 |
C ------------------------------- |
11 |
|
12 |
C-- COMMON /THSICE_VARS/ state variables of sea-ice model : |
13 |
C iceMask :: sea-ice fraction: no ice=0, grid all ice 1 [] |
14 |
C iceHeight :: depth of ice layer [m] |
15 |
C snowHeight:: depth of snow layer [m] |
16 |
C Tsrf :: temperature at surface [oC] |
17 |
C Tice1 :: temperature of ice layer 1 [oC] |
18 |
C Tice2 :: temperature of ice layer 2 [oC] |
19 |
C Qice1 :: enthalpy of ice layer 1 [J/kg] |
20 |
C Qice2 :: enthalpy of ice layer 2 [J/kg] |
21 |
C snowAge :: snow age [s] |
22 |
COMMON /THSICE_VARS/ |
23 |
& iceMask, iceHeight, snowHeight, |
24 |
& Tsrf, Tice1, Tice2, |
25 |
& Qice1, Qice2, snowAge |
26 |
|
27 |
_RL iceMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
28 |
_RL iceHeight (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
29 |
_RL snowHeight(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
30 |
_RL Tsrf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
31 |
_RL Tice1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
32 |
_RL Tice2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
33 |
_RL Qice1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
34 |
_RL Qice2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
35 |
_RL snowAge(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
36 |
|
37 |
C-- COMMON /THSICE_FLUX/ hold fluxes needed for thsice model |
38 |
C sHeating :: surf heating left to melt snow or ice (= Atmos-Conduction) |
39 |
C flxCndBt :: heat flux conducted through the ice to bottom surface |
40 |
C snowPrc :: snow precipitation [kg/m2/s] |
41 |
C siceAlb :: area weighted sea-ice albedo [0-1] |
42 |
C atmospheric fluxes (change along the time-stepping): |
43 |
C icFlxSW :: short-wave heat flux (+=down) over sea-ice |
44 |
C (downward SW / net SW @ surface / net SW below sea-ice) |
45 |
C icFlxAtm :: Atmospheric surf. heat flux over sea-ice [W/m2] (+=down) |
46 |
C (over sea-ice only / weighted by ice-fraction) |
47 |
C icFrwAtm :: fresh-water flux (E-P) from the atmosphere [kg/m2/s] (+=up) |
48 |
C ( ice Evap only / ice E-P / ice - ocean weighted E-P ) |
49 |
C oceQnet :: net heat flux to the ocean (+=down) [W/m2] |
50 |
C oceQsw :: net short-wave that enter the ocean (+=down) [W/m2] |
51 |
C oceFWfx :: net fresh water flux to the ocean (+=down) [kg/m2] |
52 |
C oceSflx :: net salt flux to the ocean (+=down) [psu.kg/m2] |
53 |
COMMON / THSICE_FLUX / |
54 |
c & oceQsw, oceQnet, oceFWfx, oceSflx, |
55 |
& sHeating, flxCndBt, |
56 |
& snowPrc, siceAlb, |
57 |
& icFlxSW, icFlxAtm, icFrwAtm |
58 |
|
59 |
c _RL oceQnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
60 |
c _RL oceQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
61 |
c _RL oceFWfx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
62 |
c _RL oceSflx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
63 |
_RL sHeating(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
64 |
_RL flxCndBt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
65 |
_RL snowPrc (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
66 |
_RL siceAlb (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
67 |
_RL icFlxSW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
68 |
_RL icFlxAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
69 |
_RL icFrwAtm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
70 |
|
71 |
C-- COMMON /THSICE_DYN_R/ variables used with sea-ice advection/diffusion |
72 |
C oceFWfx :: fresh water flux to the ocean [kg/m^2/s] |
73 |
C oceSflx :: salt flux to the ocean [psu.kg/m^2/s] (~g/m^2/s) |
74 |
C oceQnet :: heat flux to the ocean [W/m^2] |
75 |
C--- |
76 |
C Note :: when ice volume is too small to be kept, ice & snow is melt |
77 |
C and fresh water, salt and heat are returned to the ocean. |
78 |
C For now, those fluxes are stored separately and will try to find |
79 |
C out how to incorporate them more naturally in the usual forcing. |
80 |
C--- |
81 |
COMMON /THSICE_DYN_R/ |
82 |
& oceFWfx, oceSflx, oceQnet |
83 |
|
84 |
_RL oceFWfx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
85 |
_RL oceSflx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
86 |
_RL oceQnet(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
87 |
|
88 |
C-- COMMON / THSICE_OCEMXLAYER / oceanic mixed layer state |
89 |
C hOceMxL :: thickness of the ocean mixed layer [m] |
90 |
C tOceMxL :: temperature in the ocean mixed layer [oC] |
91 |
C sOceMxL :: salinity in the ocean mixed layer [psu] |
92 |
C v2ocMxL :: velocity (square) in the mixed layer [m2/s2] |
93 |
COMMON / THSICE_OCEMXLAYER / |
94 |
& hOceMxL, tOceMxL, sOceMxL, v2ocMxL |
95 |
|
96 |
_RL hOceMxL(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
97 |
_RL tOceMxL(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
98 |
_RL sOceMxL(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
99 |
_RL v2ocMxL(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
100 |
|
101 |
#endif /* ALLOW_THSICE */ |
102 |
|
103 |
CEH3 ;;; Local Variables: *** |
104 |
CEH3 ;;; mode:fortran *** |
105 |
CEH3 ;;; End: *** |