[825] | 1 | MODULE ice |
---|
| 2 | #if defined key_lim3 |
---|
| 3 | !!---------------------------------------------------------------------- |
---|
[834] | 4 | !! 'key_lim3' : LIM3 sea-ice model |
---|
[825] | 5 | !!---------------------------------------------------------------------- |
---|
| 6 | !! History : |
---|
| 7 | !! 2.0 ! 03-08 (C. Ethe) F90: Free form and module |
---|
[834] | 8 | !! 3.0 ! 08-03 (M. Vancoppenolle) : LIM3 ! |
---|
[825] | 9 | !!---------------------------------------------------------------------- |
---|
[834] | 10 | !! LIM 3.0, UCL-LOCEAN-IPSL (2005) |
---|
[1156] | 11 | !! $Id$ |
---|
[825] | 12 | !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt |
---|
| 13 | !!---------------------------------------------------------------------- |
---|
| 14 | !! * Modules used |
---|
| 15 | USE par_ice ! LIM sea-ice parameters |
---|
| 16 | |
---|
| 17 | IMPLICIT NONE |
---|
| 18 | PRIVATE |
---|
[834] | 19 | !! |
---|
| 20 | !!====================================================================== |
---|
| 21 | !! *** MODULE ice *** |
---|
| 22 | !! |
---|
| 23 | !! ************** |
---|
| 24 | !! * L I M 3.0 * |
---|
| 25 | !! ************** |
---|
| 26 | !! |
---|
| 27 | !! ''in ice we trust'' |
---|
| 28 | !! |
---|
| 29 | !! This module contains the sea ice |
---|
| 30 | !! diagnostics variables of ice defined |
---|
| 31 | !! in memory |
---|
| 32 | !! |
---|
| 33 | !!====================================================================== |
---|
| 34 | !! |
---|
| 35 | !! LIM3 by the use of sweat, agile fingers and sometimes brain juice, |
---|
| 36 | !! was developed in Louvain-la-Neuve by : |
---|
| 37 | !! |
---|
| 38 | !! * Martin Vancoppenolle (UCL-ASTR, Belgium) |
---|
| 39 | !! * Sylvain Bouillon (UCL-ASTR, Belgium) |
---|
| 40 | !! * Miguel Angel Morales Maqueda (POL, UK) |
---|
| 41 | !! |
---|
| 42 | !! Based on extremely valuable earlier work by |
---|
| 43 | !! |
---|
| 44 | !! * Thierry Fichefet |
---|
| 45 | !! * Hugues Goosse |
---|
| 46 | !! |
---|
| 47 | !! The following persons also contributed to the code in various ways |
---|
| 48 | !! |
---|
| 49 | !! * Gurvan Madec, Claude Talandier, Christian Ethe |
---|
| 50 | !! and Rachid Benshila (LOCEAN-IPSL, France) |
---|
| 51 | !! * Xavier Fettweis (UCL-ASTR), Ralph Timmermann (AWI, Germany) |
---|
| 52 | !! * Bill Lipscomb (LANL), Cecilia Bitz (UWa) |
---|
| 53 | !! and Elisabeth Hunke (LANL), USA. |
---|
| 54 | !! |
---|
| 55 | !! (c) UCL-ASTR, 2005-2008 |
---|
| 56 | !! |
---|
| 57 | !! For more info, the interested user is kindly invited to consult the |
---|
| 58 | !! following references |
---|
| 59 | !! For model description and validation : |
---|
| 60 | !! * Vancoppenolle et al., Ocean Modelling, 2008a. |
---|
| 61 | !! * Vancoppenolle et al., Ocean Modelling, 2008b. |
---|
| 62 | !! |
---|
| 63 | !! For a specific description of EVP : |
---|
| 64 | !! * Bouillon et al., in prep for 2008. |
---|
| 65 | !! |
---|
| 66 | !! Or the reference manual, that should be available by 2009 |
---|
| 67 | !! |
---|
| 68 | !!====================================================================== |
---|
| 69 | !! | |
---|
| 70 | !! ***************************************** | |
---|
| 71 | !! * * | |
---|
| 72 | !! ************ I C E S T A T E V A R I A B L E S **************** | |
---|
| 73 | !! * * | |
---|
| 74 | !! ***************************************** | |
---|
| 75 | !! | |
---|
| 76 | !! Introduction : | |
---|
| 77 | !! -------------- | |
---|
| 78 | !! | |
---|
| 79 | !! Every ice-covered grid cell is characterized by a series of state | |
---|
| 80 | !! variables. To account for unresolved spatial variability in ice | |
---|
| 81 | !! thickness, the ice cover in divided in ice thickness categories. | |
---|
| 82 | !! | |
---|
| 83 | !! Sea ice state variables depend on the ice thickness category | |
---|
| 84 | !! | |
---|
| 85 | !! Those variables are divided into two groups | |
---|
| 86 | !! * Extensive (or global) variables. | |
---|
| 87 | !! These are the variables that are transported by all means | |
---|
| 88 | !! * Intensive (or equivalent) variables. | |
---|
| 89 | !! These are the variables that are either physically more | |
---|
| 90 | !! meaningful and/or used in ice thermodynamics | |
---|
| 91 | !! | |
---|
| 92 | !! Routines in limvar.F90 perform conversions | |
---|
| 93 | !! - lim_var_glo2eqv : from global to equivalent variables | |
---|
| 94 | !! - lim_var_eqv2glo : from equivalent to global variables | |
---|
| 95 | !! | |
---|
| 96 | !! For various purposes, the sea ice state variables have sometimes | |
---|
| 97 | !! to be aggregated over all ice thickness categories. This operation | |
---|
| 98 | !! is done in : | |
---|
| 99 | !! - lim_var_agg | |
---|
| 100 | !! | |
---|
| 101 | !! in icestp.F90, the routines that compute the changes in the ice | |
---|
| 102 | !! state variables are called | |
---|
| 103 | !! - lim_dyn : ice dynamics | |
---|
| 104 | !! - lim_trp : ice transport | |
---|
| 105 | !! - lim_itd_me : mechanical redistribution (ridging and rafting) | |
---|
| 106 | !! - lim_thd : ice halo-thermodynamics | |
---|
| 107 | !! - lim_itd_th : thermodynamic changes in ice thickness distribution | |
---|
| 108 | !! and creation of new ice | |
---|
| 109 | !! | |
---|
| 110 | !! See the associated routines for more information | |
---|
| 111 | !! | |
---|
| 112 | !! List of ice state variables : | |
---|
| 113 | !! ----------------------------- | |
---|
| 114 | !! | |
---|
| 115 | !!-------------|-------------|---------------------------------|-------| |
---|
| 116 | !! name in | name in | meaning | units | |
---|
| 117 | !! 2D routines | 1D routines | | | |
---|
| 118 | !!-------------|-------------|---------------------------------|-------| |
---|
| 119 | !! | |
---|
| 120 | !! ******************************************************************* | |
---|
| 121 | !! *** Dynamical variables (prognostic) *** | |
---|
| 122 | !! ******************************************************************* | |
---|
| 123 | !! | |
---|
| 124 | !! u_ice | - | Comp. U of the ice velocity | m/s | |
---|
| 125 | !! v_ice | - | Comp. V of the ice velocity | m/s | |
---|
| 126 | !! | |
---|
| 127 | !! ******************************************************************* | |
---|
| 128 | !! *** Category dependent state variables (prognostic) *** | |
---|
| 129 | !! ******************************************************************* | |
---|
| 130 | !! | |
---|
| 131 | !! ** Global variables | |
---|
| 132 | !! | |
---|
| 133 | !!-------------|-------------|---------------------------------|-------| |
---|
| 134 | !! a_i | a_i_b | Ice concentration | | |
---|
| 135 | !! v_i | - | Ice volume per unit area | m | |
---|
| 136 | !! v_s | - | Snow volume per unit area | m | |
---|
| 137 | !! smv_i | - | Sea ice salt content | ppt.m | |
---|
| 138 | !! oa_i ! - ! Sea ice areal age content | day | |
---|
| 139 | !! e_i ! - ! Ice enthalpy | 10^9 J| |
---|
| 140 | !! - ! q_i_b ! Ice enthalpy per unit vol. | J/m3 | |
---|
| 141 | !! e_s ! - ! Snow enthalpy | 10^9 J| |
---|
| 142 | !! - ! q_s_b ! Snow enthalpy per unit vol. | J/m3 | |
---|
| 143 | !! | |
---|
| 144 | !!-------------|-------------|---------------------------------|-------| |
---|
| 145 | !! | |
---|
| 146 | !! ** Equivalent variables | |
---|
| 147 | !! | |
---|
| 148 | !!-------------|-------------|---------------------------------|-------| |
---|
| 149 | !! | |
---|
| 150 | !! ht_i | ht_i_b | Ice thickness | m | |
---|
| 151 | !! ht_s ! ht_s_b | Snow depth | m | |
---|
| 152 | !! sm_i ! sm_i_b | Sea ice bulk salinity ! ppt | |
---|
| 153 | !! s_i ! s_i_b | Sea ice salinity profile ! ppt | |
---|
| 154 | !! o_i ! - | Sea ice Age ! days | |
---|
| 155 | !! t_i ! t_i_b | Sea ice temperature ! K | |
---|
| 156 | !! t_s ! t_s_b | Snow temperature ! K | |
---|
| 157 | !! t_su ! t_su_b | Sea ice surface temperature ! K | |
---|
| 158 | !! | |
---|
| 159 | !! notes: the ice model only sees a bulk (i.e., vertically averaged) | |
---|
| 160 | !! salinity, except in thermodynamic computations, for which | |
---|
| 161 | !! the salinity profile is computed as a function of bulk | |
---|
| 162 | !! salinity | |
---|
| 163 | !! | |
---|
| 164 | !! the sea ice surface temperature is not associated to any | |
---|
| 165 | !! heat content. Therefore, it is not a state variable and | |
---|
| 166 | !! does not have to be advected. Nevertheless, it has to be | |
---|
| 167 | !! computed to determine whether the ice is melting or not | |
---|
| 168 | !! | |
---|
| 169 | !! ******************************************************************* | |
---|
| 170 | !! *** Category-summed state variables (diagnostic) *** | |
---|
| 171 | !! ******************************************************************* | |
---|
| 172 | !! at_i | at_i_b | Total ice concentration | | |
---|
| 173 | !! vt_i | - | Total ice vol. per unit area | m | |
---|
| 174 | !! vt_s | - | Total snow vol. per unit ar. | m | |
---|
| 175 | !! smt_i | - | Mean sea ice salinity | ppt | |
---|
| 176 | !! tm_i | - | Mean sea ice temperature | K | |
---|
| 177 | !! ot_i ! - ! Sea ice areal age content | day | |
---|
| 178 | !! et_i ! - ! Total ice enthalpy | 10^9 J| |
---|
| 179 | !! et_s ! - ! Total snow enthalpy | 10^9 J| |
---|
| 180 | !! bv_i ! - ! Mean relative brine volume | ??? | |
---|
| 181 | !! | |
---|
| 182 | !! | |
---|
| 183 | !!===================================================================== |
---|
[825] | 184 | |
---|
| 185 | LOGICAL, PUBLIC :: & |
---|
| 186 | con_i = .false. ! switch for conservation test |
---|
| 187 | |
---|
[834] | 188 | !!-------------------------------------------------------------------------- |
---|
[825] | 189 | !! * Share Module variables |
---|
[834] | 190 | !!-------------------------------------------------------------------------- |
---|
[1465] | 191 | REAL(wp), PUBLIC :: rdt_ice !: ice time step |
---|
| 192 | |
---|
[834] | 193 | INTEGER , PUBLIC :: & !!: ** ice-dynamic namelist (namicedyn) ** |
---|
| 194 | nbiter = 1 , & !: number of sub-time steps for relaxation |
---|
| 195 | nbitdr = 250 , & !: maximum number of iterations for relaxation |
---|
| 196 | nevp = 400 , & !: number of iterations for subcycling |
---|
| 197 | nlay_i = 5 !: number of layers in the ice |
---|
[825] | 198 | |
---|
[834] | 199 | REAL(wp), PUBLIC :: & !!: ** ice-dynamic namelist (namicedyn) ** |
---|
| 200 | epsd = 1.0e-20, & !: tolerance parameter for dynamic |
---|
| 201 | alpha = 0.5 , & !: coefficient for semi-implicit coriolis |
---|
| 202 | dm = 0.6e+03, & !: diffusion constant for dynamics |
---|
| 203 | om = 0.5 , & !: relaxation constant |
---|
| 204 | resl = 5.0e-05, & !: maximum value for the residual of relaxation |
---|
| 205 | cw = 5.0e-03, & !: drag coefficient for oceanic stress |
---|
| 206 | angvg = 0.0 , & !: turning angle for oceanic stress |
---|
| 207 | pstar = 1.0e+04, & !: determines ice strength (N/M), Hibler JPO79 |
---|
| 208 | c_rhg = 20.0 , & !: determines changes in ice strength |
---|
| 209 | etamn = 0.0e+07, & !: minimun value for viscosity : has to be 0 |
---|
| 210 | creepl = 2.0e-08, & !: creep limit : has to be under 1.0e-9 |
---|
[825] | 211 | ecc = 2.0 , & !: eccentricity of the elliptical yield curve |
---|
| 212 | ahi0 = 350.e0 , & !: sea-ice hor. eddy diffusivity coeff. (m2/s) |
---|
| 213 | telast = 2880.0 , & !: timescale for elastic waves (s) !SB |
---|
| 214 | alphaevp = 1.0 , & !: coeficient of the internal stresses !SB |
---|
| 215 | unit_fac = 1.0e9 !: conversion factor for ice / snow enthalpy |
---|
| 216 | |
---|
| 217 | REAL(wp), PUBLIC :: & !!: ** ice-salinity namelist (namicesal) ** |
---|
[834] | 218 | s_i_max = 20.0 , & !: maximum ice salinity (ppt) |
---|
| 219 | s_i_min = 0.1 , & !: minimum ice salinity (ppt) |
---|
[825] | 220 | s_i_0 = 3.5 , & !: 1st sal. value for the computation of sal .prof. |
---|
[921] | 221 | !: (ppt) |
---|
[825] | 222 | s_i_1 = 4.5 , & !: 2nd sal. value for the computation of sal .prof. |
---|
[921] | 223 | !: (ppt) |
---|
[825] | 224 | sal_G = 5.00 , & !: restoring salinity for gravity drainage |
---|
[921] | 225 | !: (ppt) |
---|
[825] | 226 | sal_F = 2.50 , & !: restoring salinity for flushing |
---|
[921] | 227 | !: (ppt) |
---|
[834] | 228 | time_G = 1.728e+06,&!: restoring time constant for gravity drainage |
---|
[921] | 229 | !: (= 20 days, in s) |
---|
[834] | 230 | time_F = 8.640e+05,&!: restoring time constant for gravity drainage |
---|
[921] | 231 | !: (= 10 days, in s) |
---|
[834] | 232 | bulk_sal = 4.0 !: bulk salinity (ppt) in case of constant salinity |
---|
[825] | 233 | |
---|
| 234 | INTEGER , PUBLIC :: & !!: ** ice-salinity namelist (namicesal) ** |
---|
[834] | 235 | num_sal = 1 , & !: salinity configuration used in the model |
---|
[921] | 236 | !: 1 - s constant in space and time |
---|
| 237 | !: 2 - prognostic salinity (s(z,t)) |
---|
| 238 | !: 3 - salinity profile, constant in time |
---|
| 239 | !: 4 - salinity variations affect only ice |
---|
| 240 | ! thermodynamics |
---|
[825] | 241 | sal_prof = 1 , & !: salinity profile or not |
---|
[834] | 242 | thcon_i_swi = 1 !: thermal conductivity of Untersteiner (1964) (1) or |
---|
[921] | 243 | !: Pringle et al (2007) (2) |
---|
[825] | 244 | |
---|
| 245 | REAL(wp), PUBLIC :: & !!: ** ice-mechanical redistribution namelist (namiceitdme) |
---|
| 246 | Cs = 0.25 , & !!: fraction of shearing energy contributing to ridging |
---|
| 247 | Cf = 17.0 , & !!: ratio of ridging work to PE loss |
---|
| 248 | fsnowrdg = 0.5 , & !!: fractional snow loss to the ocean during ridging |
---|
| 249 | fsnowrft = 0.5 , & !!: fractional snow loss to the ocean during ridging |
---|
| 250 | Gstar = 0.15 , & !!: fractional area of young ice contributing to ridging |
---|
| 251 | astar = 0.05 , & !!: equivalent of G* for an exponential participation function |
---|
[834] | 252 | Hstar = 100.0 , & !!: thickness that determines the maximal thickness of ridged |
---|
[921] | 253 | !!: ice |
---|
[834] | 254 | hparmeter = 0.75, & !!: threshold thickness (m) for rafting / ridging |
---|
| 255 | Craft = 5.0 , & !!: coefficient for smoothness of the hyperbolic tangent in rafting |
---|
| 256 | ridge_por = 0.0 , & !!: initial porosity of ridges (0.3 regular value) |
---|
| 257 | sal_max_ridge = 15.0, & !!: maximum ridged ice salinity (ppt) |
---|
[825] | 258 | betas = 1.0 , & !:: coef. for partitioning of snowfall between leads and sea ice |
---|
| 259 | kappa_i = 1.0 , & !!: coefficient for the extinction of radiation |
---|
[921] | 260 | !!: Grenfell et al. (2006) (m-1) |
---|
[834] | 261 | nconv_i_thd = 50 , & !!: maximal number of iterations for heat diffusion |
---|
| 262 | maxer_i_thd = 1.0e-4 !!: maximal tolerated error (C) for heat diffusion |
---|
[825] | 263 | |
---|
| 264 | INTEGER , PUBLIC :: & !!: ** ice-mechanical redistribution namelist (namiceitdme) |
---|
| 265 | ridge_scheme_swi = 0, & !!: scheme used for ice ridging |
---|
| 266 | raftswi = 1, & !!: rafting of ice or not |
---|
[834] | 267 | partfun_swi = 1, & !!: participation function Thorndike et al. JGR75 (0) |
---|
[921] | 268 | !!: or Lipscomb et al. JGR07 (1) |
---|
[834] | 269 | transfun_swi = 0, & !!: transfer function of Hibler, MWR80 (0) |
---|
[921] | 270 | !!: or Lipscomb et al., 2007 (1) |
---|
[825] | 271 | brinstren_swi = 0 !!: use brine volume to diminish ice strength |
---|
| 272 | |
---|
| 273 | REAL(wp), PUBLIC :: & !: |
---|
| 274 | usecc2 , & !: = 1.0 / ( ecc * ecc ) |
---|
| 275 | rhoco , & !: = rau0 * cw |
---|
| 276 | sangvg, cangvg , & !: sin and cos of the turning angle for ocean stress |
---|
| 277 | pstarh !: pstar / 2.0 |
---|
| 278 | |
---|
| 279 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
| 280 | u_oce, v_oce , & !: surface ocean velocity used in ice dynamics |
---|
| 281 | ahiu , ahiv , & !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) |
---|
| 282 | pahu , pahv , & !: ice hor. eddy diffusivity coef. at ocean U- and V-points |
---|
| 283 | ust2s, hicol , & !: friction velocity, ice collection thickness accreted in leads |
---|
| 284 | strength , & !: ice strength |
---|
| 285 | strp1, strp2 , & !: strength at previous time steps |
---|
| 286 | stress1_i , & !: first stress tensor element |
---|
| 287 | stress2_i , & !: second stress tensor element |
---|
| 288 | stress12_i , & !: diagonal stress tensor element |
---|
| 289 | delta_i , & !: Delta factor for the ice rheology (see Flato and Hibler 95) [s-1] -> limrhg.F90 |
---|
| 290 | divu_i , & !: Divergence of the velocity field [s-1] -> limrhg.F90 |
---|
| 291 | shear_i !: Shear of the velocity field [s-1] -> limrhg.F90 |
---|
| 292 | |
---|
| 293 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
| 294 | firic , & !: IR flux over the ice (only used for outputs) |
---|
| 295 | fcsic , & !: Sensible heat flux over the ice (only used for outputs) |
---|
| 296 | fleic , & !: Latent heat flux over the ice (only used for outputs) |
---|
| 297 | qlatic , & !: latent flux |
---|
| 298 | rdvosif, & !: Variation of volume at surface (only used for outputs) |
---|
| 299 | rdvobif, & !: Variation of ice volume at the bottom ice (only used for outputs) |
---|
| 300 | fdvolif, & !: Total variation of ice volume (only used for outputs) |
---|
| 301 | rdvonif, & !: Lateral Variation of ice volume (only used for outputs) |
---|
[1465] | 302 | sist , & !: Average Sea-Ice Surface Temperature (Kelvin) |
---|
| 303 | icethi , & !: total ice thickness (for all categories) (only used for outputs) |
---|
[825] | 304 | t_bo , & !: Sea-Ice bottom temperature (Kelvin) |
---|
| 305 | hicifp , & !: Ice production/melting |
---|
[921] | 306 | !obsolete... can be removed |
---|
[825] | 307 | frld , & !: Leads fraction = 1-a/totalarea REFERS TO LEAD FRACTION everywhere |
---|
[921] | 308 | !: except in the OUTPUTS!!!! |
---|
[825] | 309 | pfrld , & !: Leads fraction at previous time |
---|
| 310 | phicif , & !: Old ice thickness |
---|
| 311 | fbif , & !: Heat flux at the ice base |
---|
| 312 | rdmsnif, & !: Variation of snow mass |
---|
| 313 | rdmicif, & !: Variation of ice mass |
---|
| 314 | qldif , & !: heat balance of the lead (or of the open ocean) |
---|
| 315 | qcmif , & !: Energy needed to bring the ocean surface layer until its freezing |
---|
| 316 | fdtcn , & !: net downward heat flux from the ice to the ocean |
---|
| 317 | qdtcn , & !: energy from the ice to the ocean |
---|
| 318 | fstric , & !: transmitted solar radiation under ice |
---|
| 319 | fscmbq , & !: associated with lead chipotage with solar flux |
---|
| 320 | ffltbif, & !: Array linked with the max heat contained in brine pockets (?) |
---|
| 321 | fsbbq , & !: Also linked with the solar flux below the ice (?) |
---|
| 322 | qfvbq , & !: Array used to store energy in case of toral lateral ablation (?) |
---|
| 323 | dmgwi , & !: Variation of the mass of snow ice |
---|
| 324 | fsalt_res, & !: Residual salt flux due to correction of ice thickness |
---|
| 325 | fsbri , & !: Salt flux due to brine rejection |
---|
| 326 | fsalt_rpo, & !: Salt flux associated with porous ridged ice formation |
---|
| 327 | fheat_rpo, & !: Heat flux associated with porous ridged ice formation |
---|
| 328 | fhbri , & !: heat flux due to brine rejection |
---|
| 329 | fmmec , & !: Mass flux due to snow loss during compression |
---|
| 330 | fseqv , & !: Equivalent salt flux due to ice growth/melt |
---|
| 331 | fheat_res, & !: Residual heat flux due to correction of ice thickness |
---|
| 332 | fhmec !: Heat flux due to snow loss during compression |
---|
[921] | 333 | |
---|
| 334 | ! temporary arrays for dummy version of the code |
---|
[825] | 335 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
| 336 | dh_i_surf2D, dh_i_bott2D, fstbif, fsup2D, focea2D, q_s |
---|
| 337 | |
---|
| 338 | INTEGER, PUBLIC, DIMENSION(jpi, jpj, jpl) :: & !:: |
---|
[834] | 339 | patho_case ! number of the pathological case (if any, of course) |
---|
[825] | 340 | |
---|
[834] | 341 | !!-------------------------------------------------------------------------- |
---|
| 342 | !! * Ice global state variables |
---|
| 343 | !!-------------------------------------------------------------------------- |
---|
| 344 | !! Variables defined for each ice category |
---|
[825] | 345 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: |
---|
[834] | 346 | ht_i , & !: Ice thickness (m) |
---|
| 347 | a_i , & !: Ice fractional areas (concentration) |
---|
| 348 | v_i , & !: Ice volume per unit area (m) |
---|
| 349 | v_s , & !: Snow volume per unit area(m) |
---|
| 350 | ht_s , & !: Snow thickness (m) |
---|
| 351 | t_su , & !: Sea-Ice Surface Temperature (K) |
---|
| 352 | sm_i , & !: Sea-Ice Bulk salinity (ppt) |
---|
| 353 | smv_i , & !: Sea-Ice Bulk salinity times volume per area (ppt.m) |
---|
[921] | 354 | !: this is an extensive variable that has to be transported |
---|
[825] | 355 | o_i , & !: Sea-Ice Age (days) |
---|
[834] | 356 | ov_i , & !: Sea-Ice Age times volume per area (days.m) |
---|
[825] | 357 | oa_i !: Sea-Ice Age times ice area (days) |
---|
| 358 | |
---|
[834] | 359 | !! Variables summed over all categories, or associated to |
---|
| 360 | !! all the ice in a single grid cell |
---|
[825] | 361 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
| 362 | u_ice, v_ice, & !: two components of the ice velocity (m/s) |
---|
| 363 | tio_u, tio_v, & !: two components of the ice-ocean stress (N/m2) |
---|
[834] | 364 | vt_i , & !: ice total volume per unit area (m) |
---|
| 365 | vt_s , & !: snow total volume per unit area (m) |
---|
| 366 | at_i , & !: ice total fractional area (ice concentration) |
---|
| 367 | ato_i , & !: total open water fractional area (1-at_i) |
---|
[825] | 368 | et_i , & !: total ice heat content |
---|
| 369 | et_s , & !: total snow heat content |
---|
[834] | 370 | ot_i , & !: mean age over all categories |
---|
| 371 | tm_i , & !: mean ice temperature over all categories |
---|
| 372 | bv_i , & !: brine volume averaged over all categories |
---|
| 373 | smt_i !: mean sea ice salinity averaged over all categories |
---|
[825] | 374 | |
---|
| 375 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpm) :: & !: |
---|
| 376 | at_i_typ , & !: total area contained in each ice type |
---|
| 377 | vt_i_typ !: total volume contained in each ice type |
---|
| 378 | |
---|
| 379 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,nlay_s,jpl) :: & !: |
---|
| 380 | t_s, & !: Snow temperatures (K) |
---|
| 381 | e_s |
---|
| 382 | |
---|
| 383 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: ! go to trash |
---|
| 384 | e_i_cat |
---|
| 385 | |
---|
| 386 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jkmax,jpl) :: & !: |
---|
| 387 | t_i, & !: Ice temperatures [ Kelvins ] |
---|
| 388 | e_i, & !: Ice thermal contents [ Joules*10^9 ] |
---|
| 389 | s_i !: Ice salinities |
---|
| 390 | |
---|
[834] | 391 | !!-------------------------------------------------------------------------- |
---|
| 392 | !! * Moments for advection |
---|
| 393 | !!-------------------------------------------------------------------------- |
---|
[825] | 394 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
[921] | 395 | sxopw, syopw, sxxopw, syyopw, sxyopw !: open water in sea ice |
---|
[825] | 396 | |
---|
| 397 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: |
---|
[921] | 398 | sxice, syice, sxxice, syyice, sxyice, & !: ice thickness moments for advection |
---|
| 399 | sxsn, sysn, sxxsn, syysn, sxysn, & !: snow thickness |
---|
| 400 | sxa, sya, sxxa, syya, sxya, & !: lead fraction |
---|
| 401 | sxc0, syc0, sxxc0, syyc0, sxyc0, & !: snow thermal content |
---|
| 402 | sxsal, sysal, sxxsal, syysal, sxysal, & !: ice salinity |
---|
| 403 | sxage, syage, sxxage, syyage, sxyage !: ice age |
---|
[825] | 404 | |
---|
| 405 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jkmax,jpl) :: & !: |
---|
[921] | 406 | sxe , sye , sxxe , syye , sxye !: ice layers heat content |
---|
[825] | 407 | |
---|
[834] | 408 | !!-------------------------------------------------------------------------- |
---|
| 409 | !! * Old values of global variables |
---|
| 410 | !!-------------------------------------------------------------------------- |
---|
[825] | 411 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: |
---|
| 412 | old_v_s, old_v_i, & !: snow and ice volumes |
---|
| 413 | old_a_i, old_smv_i, old_oa_i |
---|
| 414 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,nlay_s,jpl) :: & !: |
---|
| 415 | old_e_s !: snow heat content |
---|
| 416 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jkmax,jpl) :: & !: |
---|
| 417 | old_e_i !: ice temperatures |
---|
| 418 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: ice velocity (gv6 and gv7) |
---|
| 419 | old_u_ice, old_v_ice |
---|
| 420 | |
---|
[834] | 421 | !!-------------------------------------------------------------------------- |
---|
| 422 | !! * Increment of global variables |
---|
| 423 | !!-------------------------------------------------------------------------- |
---|
| 424 | ! thd refers to changes induced by thermodynamics |
---|
| 425 | ! trp '' '' '' advection (transport of ice) |
---|
[825] | 426 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: |
---|
| 427 | d_a_i_thd , d_a_i_trp , & !: icefractions |
---|
| 428 | d_v_s_thd , d_v_s_trp, & !: snow volume |
---|
| 429 | d_v_i_thd , d_v_i_trp, & !: ice volume |
---|
| 430 | d_smv_i_thd, d_smv_i_trp, & |
---|
| 431 | d_sm_i_fl , d_sm_i_gd , & |
---|
| 432 | d_sm_i_se , d_sm_i_si , d_sm_i_la , & |
---|
| 433 | d_oa_i_thd , d_oa_i_trp, s_i_newice |
---|
| 434 | |
---|
| 435 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,nlay_s,jpl) :: & !: |
---|
| 436 | d_e_s_thd, d_e_s_trp |
---|
| 437 | |
---|
| 438 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jkmax,jpl) :: & !: |
---|
| 439 | d_e_i_thd, d_e_i_trp |
---|
[921] | 440 | |
---|
[825] | 441 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: ice velocity |
---|
| 442 | d_u_ice_dyn, d_v_ice_dyn |
---|
| 443 | |
---|
[834] | 444 | !!-------------------------------------------------------------------------- |
---|
| 445 | !! * Ice thickness distribution variables |
---|
| 446 | !!-------------------------------------------------------------------------- |
---|
| 447 | ! REMOVE |
---|
[894] | 448 | INTEGER, PUBLIC, DIMENSION(jpl) :: & !: |
---|
[825] | 449 | ice_types !: Vector making the connection between types and categories |
---|
| 450 | |
---|
[894] | 451 | INTEGER, PUBLIC, DIMENSION(jpm,2) :: & !: |
---|
[834] | 452 | ice_cat_bounds !: Matrix containing the integer upper and |
---|
[921] | 453 | !: lower boundaries of ice thickness categories |
---|
[825] | 454 | |
---|
[834] | 455 | ! REMOVE |
---|
[894] | 456 | INTEGER, PUBLIC, DIMENSION(jpm) :: & !: |
---|
[825] | 457 | ice_ncat_types !: Vector containing the number of thickness categories in each ice type |
---|
| 458 | |
---|
| 459 | REAL(wp), PUBLIC, DIMENSION(0:jpl) :: & !: |
---|
| 460 | hi_max !: Boundary of ice thickness categories in thickness space |
---|
| 461 | |
---|
| 462 | REAL(wp), PUBLIC, DIMENSION(jpl) :: & !: |
---|
| 463 | hi_mean !: Mean ice thickness in catgories |
---|
| 464 | |
---|
[834] | 465 | ! REMOVE |
---|
[825] | 466 | REAL(wp), PUBLIC, DIMENSION(0:jpl,jpm) :: & !: |
---|
[834] | 467 | hi_max_typ !: Boundary of ice thickness categories |
---|
[921] | 468 | !:in thickness space (same but specific for each ice type) |
---|
[825] | 469 | |
---|
[834] | 470 | !!-------------------------------------------------------------------------- |
---|
[921] | 471 | !! * Ice Run |
---|
| 472 | !!-------------------------------------------------------------------------- |
---|
| 473 | !! Namelist namicerun read in iceini |
---|
[1229] | 474 | CHARACTER(len=32) , PUBLIC :: cn_icerst_in = "restart_ice_in" !: suffix of ice restart name (input) |
---|
| 475 | CHARACTER(len=32) , PUBLIC :: cn_icerst_out = "restart_ice" !: suffix of ice restart name (output) |
---|
| 476 | LOGICAL , PUBLIC :: ln_limdyn = .TRUE. !: flag for ice dynamics (T) or not (F) |
---|
| 477 | LOGICAL , PUBLIC :: ln_nicep = .TRUE. !: flag for sea-ice points output (T) or not (F) |
---|
| 478 | REAL(wp) , PUBLIC :: hsndif = 0.e0 !: computation of temp. in snow (0) or not (9999) |
---|
| 479 | REAL(wp) , PUBLIC :: hicdif = 0.e0 !: computation of temp. in ice (0) or not (9999) |
---|
| 480 | REAL(wp) , PUBLIC :: cai = 1.40e-3 !: atmospheric drag over sea ice |
---|
| 481 | REAL(wp) , PUBLIC :: cao = 1.00e-3 !: atmospheric drag over ocean |
---|
| 482 | REAL(wp), DIMENSION(2), PUBLIC :: acrit = (/ 1.e-06 , 1.e-06 /) !: minimum fraction for leads in |
---|
| 483 | ! !: north and south hemisphere |
---|
[921] | 484 | !!-------------------------------------------------------------------------- |
---|
[834] | 485 | !! * Ice diagnostics |
---|
| 486 | !!-------------------------------------------------------------------------- |
---|
| 487 | !! Check if everything down here is necessary |
---|
[825] | 488 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: volume of ice formed in the leads |
---|
| 489 | v_newice |
---|
| 490 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: & !: thermodynamic growth rates |
---|
| 491 | dv_dt_thd, & |
---|
[834] | 492 | izero, fstroc, fhbricat |
---|
[825] | 493 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & |
---|
| 494 | diag_sni_gr, & ! snow ice growth |
---|
| 495 | diag_lat_gr, & ! lateral ice growth |
---|
| 496 | diag_bot_gr, & ! bottom ice growth |
---|
| 497 | diag_dyn_gr, & ! dynamical ice growth |
---|
| 498 | diag_bot_me, & ! vertical bottom melt |
---|
| 499 | diag_sur_me ! vertical surface melt |
---|
[888] | 500 | INTEGER , PUBLIC :: jiindx, jjindx !: indexes of the debugging point |
---|
[825] | 501 | |
---|
| 502 | #else |
---|
| 503 | !!---------------------------------------------------------------------- |
---|
| 504 | !! Default option Empty module NO LIM sea-ice model |
---|
| 505 | !!---------------------------------------------------------------------- |
---|
| 506 | #endif |
---|
| 507 | |
---|
| 508 | !!====================================================================== |
---|
| 509 | END MODULE ice |
---|