New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
thd_ice.F90 in branches/dev_002_LIM/NEMO/LIM_SRC_3 – NEMO

source: branches/dev_002_LIM/NEMO/LIM_SRC_3/thd_ice.F90 @ 825

Last change on this file since 825 was 825, checked in by ctlod, 16 years ago

dev_002_LIM : add the LIM 3.0 component, see ticketr: #71

File size: 8.6 KB
Line 
1MODULE thd_ice
2   !!======================================================================
3   !!                       ***  MODULE thd_ice  ***
4   !! LIM sea-ice :   Ice thermodynamics in 1D
5   !!=====================================================================
6   !! History :
7   !!   2.0  !  02-11  (C. Ethe)  F90: Free form and module
8   !!----------------------------------------------------------------------
9   !!   LIM 2.0, UCL-LOCEAN-IPSL (2005)
10   !! $Header: /home/opalod/NEMOCVSROOT/NEMO/LIM_SRC/thd_ice.F90,v 1.4 2005/03/27 18:34:42 opalod Exp $
11   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
12   !!----------------------------------------------------------------------
13   !! * Modules used
14   USE par_ice
15
16   IMPLICIT NONE
17   PRIVATE
18
19   !! * Share Module variables
20   REAL(wp) , PUBLIC ::   & !!! ** ice-thermo namelist (namicethd) **
21      hmelt   = -0.15  ,  &  !: maximum melting at the bottom
22      hicmin  = 0.2    ,  &  !: ice th. corr. to max. ener. in brine pocket
23      hiclim  = 0.05   ,  &  !: minimum ice thickness
24      amax    = 0.999  ,  &  !: maximum lead fraction
25      sbeta   = 1.0    ,  &  !: numerical scheme for diffusion in ice
26      parlat  = 0.0    ,  &  !: percent. of energy used for lateral ablation
27      hakspl  = 0.5    ,  &  !: slope of distr. for Hakkinen-Mellro's lat. melt
28      hibspl  = 0.5    ,  &  !: slope of distribution for Hibler's lat. melt
29      exld    = 2.0    ,  &  !: exponent for leads-closure rate
30      hakdif  = 1.0    ,  &  !: coefficient for diffusions of ice and snow
31      thth    = 0.2    ,  &  !: thick. for comp. of eq. thermal conduct
32      hnzst   = 0.1    ,  &  !: thick. of the surf. layer in temp. comp.
33      parsub  = 1.0    ,  &  !: switch for snow sublimation or not
34      alphs   = 1.0    ,  &  !: coef. for snow density when snow-ice formation
35      fraz_swi= 1.0    ,  &  !: use of frazil ice collection in function of wind (1.0) or not (0.0)
36      maxfrazb= 0.7    ,  &  !: maximum portion of frazil ice collecting at the ice bottom
37      vfrazb  = 0.41667,  &  !: threshold drift speed for collection of bottom frazil ice
38      Cfrazb  = 5.0          !: squeezing coefficient for collection of bottom frazil ice
39
40   REAL(wp), PUBLIC, DIMENSION(2)  ::  &  !:   
41      hiccrit = (/0.3,0.3/)  !: ice th. for lateral accretion in the NH (SH) (m)
42
43   REAL(wp) , PUBLIC ::   &  !:
44      uscomi                 !: inverse of minimum lead fraction
45
46   INTEGER , PUBLIC, DIMENSION(jpij) ::   &  !:
47      npb     ,   &   !: number of points where computations has to be done
48      npac            !: correspondance between the points
49
50   REAL(wp), PUBLIC, DIMENSION(jpij) ::   &  !:
51      qldif_1d    ,     &  !: corresponding to the 2D var  qldif
52      qcmif_1d    ,     &  !: corresponding to the 2D var  qcmif
53      fstbif_1d   ,     &  !:    "                  "      fstric
54      fltbif_1d   ,     &  !:    "                  "      ffltbif
55      fscbq_1d    ,     &  !:    "                  "      fscmcbq
56      qsr_ice_1d  ,     &  !:    "                  "      qsr_ice
57      fr1_i0_1d   ,     &  !:    "                  "      fr1_i0
58      fr2_i0_1d   ,     &  !:    "                  "      fr2_i0
59      qnsr_ice_1d ,     &  !:    "                  "      qns_ice
60      qfvbq_1d    ,     &  !:    "                  "      qfvbq
61      t_bo_b               !:    "                  "      t_bo
62
63   REAL(wp), PUBLIC, DIMENSION(jpij) ::   &  !:
64      sprecip_1d  ,     &  !:    "                  "      sprecip
65      frld_1d     ,     &  !:    "                  "      frld
66      at_i_b      ,     &  !:    "                  "      frld
67      fbif_1d     ,     &  !:    "                  "      fbif
68      rdmicif_1d  ,     &  !:    "                  "      rdmicif
69      rdmsnif_1d  ,     &  !:    "                  "      rdmsnif
70      qlbbq_1d    ,     &  !:    "                  "      qlbsbq
71      dmgwi_1d    ,     &  !:    "                  "      dmgwi
72      dvsbq_1d    ,     &  !:    "                  "      rdvosif
73      dvbbq_1d    ,     &  !:    "                  "      rdvobif
74      dvlbq_1d    ,     &  !:    "                  "      rdvolif
75      dvnbq_1d    ,     &  !:    "                  "      rdvolif
76      dqns_ice_1d ,     &  !:    "                  "      dqns_ice
77      qla_ice_1d  ,     &  !:    "                  "      qla_ice
78      dqla_ice_1d ,     &  !:    "                  "      dqla_ice
79      ! to reintegrate longwave flux inside the ice thermodynamics
80      qtur_ice_1d ,     &  !:    "                  "      qtur_ice
81      dqtu_ice_1d ,     &  !:    "                  "      dqtu_ice
82      catm_ice_1d ,     &  !:    "                  "      catm_ice
83      tatm_ice_1d ,     &  !:    "                  "      tatm_ice
84      evsq_ice_1d ,     &  !:    "                  "      evsq_ice
85      sbud_ice_1d ,     &  !:    "                  "      sbud_ice
86      fsup        ,     &  !:    Energy flux sent from bottom to lateral ablation if |dhb|> 0.15 m
87      focea       ,     &  !:    Remaining energy in case of total ablation
88      i0          ,     &  !:    fraction of radiation transmitted to the ice interior
89      old_ht_i_b  ,     &  !:    Ice thickness at the beginnning of the time step [m]
90      old_ht_s_b  ,     &  !:    Snow thickness at the beginning of the time step [m]
91      fsbri_1d    ,     &  !:    Salt flux due to brine drainage
92      fhbri_1d    ,     &  !:    Heat flux due to brine drainage
93      fseqv_1d    ,     &  !:    Equivalent Salt flux due to ice growth/decay
94      dsm_i_fl_1d ,     &  !:    Ice salinity variations due to flushing
95      dsm_i_gd_1d ,     &  !:    Ice salinity variations due to gravity drainage
96      dsm_i_se_1d ,     &  !:    Ice salinity variations due to basal salt entrapment
97      dsm_i_la_1d ,     &  !:    Ice salinity variations due to lateral accretion   
98      dsm_i_si_1d ,     &  !:    Ice salinity variations due to lateral accretion   
99      hicol_b              !:    Ice collection thickness accumulated in fleads
100
101   REAL(wp), PUBLIC, DIMENSION(jpij) ::   &  !:
102      t_su_b      ,     &  !:    "                  "      t_su
103      a_i_b       ,     &  !:                              a_i
104      ht_i_b      ,     &  !:    "                  "      ht_s
105      ht_s_b      ,     &  !:    "                  "      ht_i
106      fc_su       ,     &  !:    Surface Conduction flux
107      fc_bo_i     ,     &  !:    Bottom  Conduction flux
108      dh_s_tot    ,     &  !:    Snow accretion/ablation        [m]
109      dh_i_surf   ,     &  !:    Ice surface accretion/ablation [m]
110      dh_i_bott   ,     &  !:    Ice bottom accretion/ablation  [m]
111      dh_snowice  ,     &  !:    Snow ice formation             [m of ice]
112      sm_i_b      ,     &  !:    Ice bulk salinity [ppt]
113      s_i_new     ,     &  !:    Salinity of new ice at the bottom
114      s_snowice   ,     &  !:    Salinity of new snow ice on top of the ice
115      o_i_b                !:    Ice age                        [days]
116
117   REAL(wp), PUBLIC, DIMENSION(jpij,nlay_s) ::   &  !:
118      t_s_b              !: corresponding to the 2D var  t_s
119   REAL(wp), PUBLIC, DIMENSION(jpij,jkmax) ::   &  !:
120      t_i_b,            &  !: corresponding to the 2D var  t_i
121      s_i_b,            &  !: profiled ice salinity
122      q_i_b,            &  !:    Ice  enthalpy per unit volume
123      q_s_b                !:    Snow enthalpy per unit volume
124
125  ! goes to trash, just for conservation checks
126   REAL(wp), PUBLIC, DIMENSION(jpij,jpl)    ::   &  !: ! goes to trash
127      qt_i_in   ,           &  !: ice energy summed over categories (initial)
128      qt_i_fin  ,           &  !: ice energy summed over categories (final)
129      qt_s_in, qt_s_fin  ,  &  !: snow energy summed over categories
130      dq_i, sum_fluxq    ,  &  !: increment of energy, sum of fluxes
131      fatm, foce,           &  !: atmospheric, oceanic, heat flux
132      cons_error, surf_error   !: conservation, surface error
133
134   REAL(wp), PUBLIC, DIMENSION(jpij,jkmax)::   &  !:  goes to trash
135      q_i_layer_in,         &
136      q_i_layer_fin,        &
137      dq_i_layer, radab
138
139   REAL(wp), PUBLIC, DIMENSION(jpij) ::   &  !:
140      ftotal_in  ,          &  !: initial total heat flux
141      ftotal_fin               !: final total heat flux
142
143   REAL(wp), PUBLIC, DIMENSION(jpij,0:nlay_s) ::   &  !:
144      fc_s
145   REAL(wp), PUBLIC, DIMENSION(jpij,0:jkmax)  ::   &  !:
146      fc_i
147   REAL(wp), PUBLIC, DIMENSION(jpij,nlay_s) ::   &  !:
148      de_s_lay
149   REAL(wp), PUBLIC, DIMENSION(jpij,jkmax)  ::   &  !:
150      de_i_lay
151   INTEGER , PUBLIC ::                           &
152      jiindex_1d   ! 1D index of debugging point
153
154   !!======================================================================
155END MODULE thd_ice
Note: See TracBrowser for help on using the repository browser.