Changeset 5123 for trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
- Timestamp:
- 2015-03-04T17:06:03+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r4990 r5123 11 11 !! 'key_lim3' LIM-3 sea-ice model 12 12 !!---------------------------------------------------------------------- 13 USE par_ice ! LIM sea-ice parameters14 13 USE in_out_manager ! I/O manager 15 14 USE lib_mpp ! MPP library … … 18 17 PRIVATE 19 18 20 PUBLIC ice_alloc ! Called in iceini.F9019 PUBLIC ice_alloc ! Called in sbc_lim_init 21 20 22 21 !!====================================================================== … … 110 109 !! smv_i | - | Sea ice salt content | ppt.m | 111 110 !! oa_i ! - ! Sea ice areal age content | day | 112 !! e_i ! - ! Ice enthalpy | 10^9 J|111 !! e_i ! - ! Ice enthalpy | J/m2 | 113 112 !! - ! q_i_1d ! Ice enthalpy per unit vol. | J/m3 | 114 !! e_s ! - ! Snow enthalpy | 10^9 J|113 !! e_s ! - ! Snow enthalpy | J/m2 | 115 114 !! - ! q_s_1d ! Snow enthalpy per unit vol. | J/m3 | 116 115 !! | … … 148 147 !! tm_i | - | Mean sea ice temperature | K | 149 148 !! ot_i ! - ! Sea ice areal age content | day | 150 !! et_i ! - ! Total ice enthalpy | 10^9 J|151 !! et_s ! - ! Total snow enthalpy | 10^9 J|149 !! et_i ! - ! Total ice enthalpy | J/m2 | 150 !! et_s ! - ! Total snow enthalpy | J/m2 | 152 151 !! bv_i ! - ! Mean relative brine volume | ??? | 153 152 !!===================================================================== … … 165 164 REAL(wp), PUBLIC :: r1_rdtice !: = 1. / rdt_ice 166 165 167 ! !!** ice-dynamic namelist (namicedyn) ** 168 INTEGER , PUBLIC :: nevp !: number of iterations for subcycling 169 REAL(wp), PUBLIC :: epsd !: tolerance parameter for dynamic 170 REAL(wp), PUBLIC :: om !: relaxation constant 171 REAL(wp), PUBLIC :: cw !: drag coefficient for oceanic stress 172 REAL(wp), PUBLIC :: pstar !: determines ice strength (N/M), Hibler JPO79 173 REAL(wp), PUBLIC :: c_rhg !: determines changes in ice strength 174 REAL(wp), PUBLIC :: creepl !: creep limit : has to be under 1.0e-9 175 REAL(wp), PUBLIC :: ecc !: eccentricity of the elliptical yield curve 176 REAL(wp), PUBLIC :: ahi0 !: sea-ice hor. eddy diffusivity coeff. (m2/s) 177 REAL(wp), PUBLIC :: telast !: timescale for elastic waves (s) 178 REAL(wp), PUBLIC :: relast !: ratio => telast/rdt_ice (1/3 or 1/9 depending on nb of subcycling nevp) 179 REAL(wp), PUBLIC :: alphaevp !: coeficient of the internal stresses 180 REAL(wp), PUBLIC :: hminrhg !: ice volume (a*h, in m) below which ice velocity is set to ocean velocity 166 ! !!** ice-thickness distribution namelist (namiceitd) ** 167 INTEGER , PUBLIC :: nn_catbnd !: categories distribution following: tanh function (1), or h^(-alpha) function (2) 168 REAL(wp), PUBLIC :: rn_himean !: mean thickness of the domain (used to compute the distribution, nn_itdshp = 2 only) 169 170 ! !!** ice-dynamics namelist (namicedyn) ** 171 LOGICAL , PUBLIC :: ln_icestr_bvf !: use brine volume to diminish ice strength 172 INTEGER , PUBLIC :: nn_icestr !: ice strength parameterization (0=Hibler79 1=Rothrock75) 173 INTEGER , PUBLIC :: nn_nevp !: number of iterations for subcycling 174 INTEGER , PUBLIC :: nn_ahi0 !: sea-ice hor. eddy diffusivity coeff. (3 ways of calculation) 175 REAL(wp), PUBLIC :: rn_pe_rdg !: ridging work divided by pot. energy change in ridging, nn_icestr = 1 176 REAL(wp), PUBLIC :: rn_cio !: drag coefficient for oceanic stress 177 REAL(wp), PUBLIC :: rn_pstar !: determines ice strength (N/M), Hibler JPO79 178 REAL(wp), PUBLIC :: rn_crhg !: determines changes in ice strength 179 REAL(wp), PUBLIC :: rn_creepl !: creep limit : has to be under 1.0e-9 180 REAL(wp), PUBLIC :: rn_ecc !: eccentricity of the elliptical yield curve 181 REAL(wp), PUBLIC :: rn_ahi0_ref !: sea-ice hor. eddy diffusivity coeff. (m2/s) 182 REAL(wp), PUBLIC :: rn_relast !: ratio => telast/rdt_ice (1/3 or 1/9 depending on nb of subcycling nevp) 181 183 182 184 ! !!** ice-salinity namelist (namicesal) ** 183 REAL(wp), PUBLIC :: s_i_max !: maximum ice salinity [PSU] 184 REAL(wp), PUBLIC :: s_i_min !: minimum ice salinity [PSU] 185 REAL(wp), PUBLIC :: s_i_0 !: 1st sal. value for the computation of sal .prof. [PSU] 186 REAL(wp), PUBLIC :: s_i_1 !: 2nd sal. value for the computation of sal .prof. [PSU] 187 REAL(wp), PUBLIC :: sal_G !: restoring salinity for gravity drainage [PSU] 188 REAL(wp), PUBLIC :: sal_F !: restoring salinity for flushing [PSU] 189 REAL(wp), PUBLIC :: time_G !: restoring time constant for gravity drainage (= 20 days) [s] 190 REAL(wp), PUBLIC :: time_F !: restoring time constant for gravity drainage (= 10 days) [s] 191 REAL(wp), PUBLIC :: bulk_sal !: bulk salinity (ppt) in case of constant salinity 185 REAL(wp), PUBLIC :: rn_simax !: maximum ice salinity [PSU] 186 REAL(wp), PUBLIC :: rn_simin !: minimum ice salinity [PSU] 187 REAL(wp), PUBLIC :: rn_sal_gd !: restoring salinity for gravity drainage [PSU] 188 REAL(wp), PUBLIC :: rn_sal_fl !: restoring salinity for flushing [PSU] 189 REAL(wp), PUBLIC :: rn_time_gd !: restoring time constant for gravity drainage (= 20 days) [s] 190 REAL(wp), PUBLIC :: rn_time_fl !: restoring time constant for gravity drainage (= 10 days) [s] 191 REAL(wp), PUBLIC :: rn_icesal !: bulk salinity (ppt) in case of constant salinity 192 192 193 193 ! !!** ice-salinity namelist (namicesal) ** 194 INTEGER , PUBLIC :: n um_sal!: salinity configuration used in the model194 INTEGER , PUBLIC :: nn_icesal !: salinity configuration used in the model 195 195 ! ! 1 - constant salinity in both space and time 196 196 ! ! 2 - prognostic salinity (s(z,t)) 197 197 ! ! 3 - salinity profile, constant in time 198 INTEGER , PUBLIC :: thcon_i_swi !: thermal conductivity: =0 Untersteiner (1964) ; =1 Pringle et al (2007) 198 INTEGER , PUBLIC :: nn_ice_thcon !: thermal conductivity: =0 Untersteiner (1964) ; =1 Pringle et al (2007) 199 INTEGER , PUBLIC :: nn_monocat !: virtual ITD mono-category parameterizations (1) or not (0) 199 200 200 201 ! !!** ice-mechanical redistribution namelist (namiceitdme) 201 REAL(wp), PUBLIC :: Cs !: fraction of shearing energy contributing to ridging 202 REAL(wp), PUBLIC :: Cf !: ratio of ridging work to PE loss 203 REAL(wp), PUBLIC :: fsnowrdg !: fractional snow loss to the ocean during ridging 204 REAL(wp), PUBLIC :: fsnowrft !: fractional snow loss to the ocean during ridging 205 REAL(wp), PUBLIC :: Gstar !: fractional area of young ice contributing to ridging 206 REAL(wp), PUBLIC :: astar !: equivalent of G* for an exponential participation function 207 REAL(wp), PUBLIC :: Hstar !: thickness that determines the maximal thickness of ridged ice 208 REAL(wp), PUBLIC :: hparmeter !: threshold thickness (m) for rafting / ridging 209 REAL(wp), PUBLIC :: Craft !: coefficient for smoothness of the hyperbolic tangent in rafting 210 REAL(wp), PUBLIC :: ridge_por !: initial porosity of ridges (0.3 regular value) 211 REAL(wp), PUBLIC :: betas !: coef. for partitioning of snowfall between leads and sea ice 212 REAL(wp), PUBLIC :: kappa_i !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m] 213 REAL(wp), PUBLIC :: nconv_i_thd !: maximal number of iterations for heat diffusion 214 REAL(wp), PUBLIC :: maxer_i_thd !: maximal tolerated error (C) for heat diffusion 202 REAL(wp), PUBLIC :: rn_cs !: fraction of shearing energy contributing to ridging 203 REAL(wp), PUBLIC :: rn_fsnowrdg !: fractional snow loss to the ocean during ridging 204 REAL(wp), PUBLIC :: rn_fsnowrft !: fractional snow loss to the ocean during ridging 205 REAL(wp), PUBLIC :: rn_gstar !: fractional area of young ice contributing to ridging 206 REAL(wp), PUBLIC :: rn_astar !: equivalent of G* for an exponential participation function 207 REAL(wp), PUBLIC :: rn_hstar !: thickness that determines the maximal thickness of ridged ice 208 REAL(wp), PUBLIC :: rn_hraft !: threshold thickness (m) for rafting / ridging 209 REAL(wp), PUBLIC :: rn_craft !: coefficient for smoothness of the hyperbolic tangent in rafting 210 REAL(wp), PUBLIC :: rn_por_rdg !: initial porosity of ridges (0.3 regular value) 211 REAL(wp), PUBLIC :: rn_betas !: coef. for partitioning of snowfall between leads and sea ice 212 REAL(wp), PUBLIC :: rn_kappa_i !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m] 213 REAL(wp), PUBLIC :: nn_conv_dif !: maximal number of iterations for heat diffusion 214 REAL(wp), PUBLIC :: rn_terr_dif !: maximal tolerated error (C) for heat diffusion 215 215 216 216 ! !!** ice-mechanical redistribution namelist (namiceitdme) 217 INTEGER , PUBLIC :: ridge_scheme_swi !: scheme used for ice ridging218 INTEGER , PUBLIC :: raft_swi !: rafting of ice or not219 INTEGER , PUBLIC :: partfun_swi !: participation function: =0 Thorndike et al. (1975), =1 Lipscomb et al. (2007) 220 INTEGER , PUBLIC :: brinstren_swi !: use brine volume to diminish ice strength221 222 REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( ecc * ecc )223 REAL(wp), PUBLIC :: r hoco !: = rau0 * cw224 217 LOGICAL , PUBLIC :: ln_rafting !: rafting of ice or not 218 INTEGER , PUBLIC :: nn_partfun !: participation function: =0 Thorndike et al. (1975), =1 Lipscomb et al. (2007) 219 220 REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( rn_ecc * rn_ecc ) 221 REAL(wp), PUBLIC :: rhoco !: = rau0 * cio 222 REAL(wp), PUBLIC :: r1_nlay_i !: 1 / nlay_i 223 REAL(wp), PUBLIC :: r1_nlay_s !: 1 / nlay_s 224 ! 225 225 ! !!** switch for presence of ice or not 226 226 REAL(wp), PUBLIC :: rswitch 227 227 ! 228 228 ! !!** define some parameters 229 REAL(wp), PUBLIC, PARAMETER :: unit_fac = 1.e+09_wp !: conversion factor for ice / snow enthalpy230 229 REAL(wp), PUBLIC, PARAMETER :: epsi06 = 1.e-06_wp !: small number 231 230 REAL(wp), PUBLIC, PARAMETER :: epsi10 = 1.e-10_wp !: small number … … 266 265 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: wfx_res !: residual component of wfx_ice [kg/m2] 267 266 267 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: afx_tot !: ice concentration tendency (total) [s-1] 268 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: afx_thd !: ice concentration tendency (thermodynamics) [s-1] 269 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: afx_dyn !: ice concentration tendency (dynamics) [s-1] 270 268 271 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sfx_bog !: salt flux due to ice growth/melt [PSU/m2/s] 269 272 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sfx_bom !: salt flux due to ice growth/melt [PSU/m2/s] … … 296 299 297 300 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ftr_ice !: transmitted solar radiation under ice 298 299 ! temporary arrays for dummy version of the code300 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: dh_i_surf2D, dh_i_bott2D, q_s301 301 302 302 !!-------------------------------------------------------------------------- … … 333 333 334 334 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: t_i !: ice temperatures [K] 335 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: e_i !: ice thermal contents [Giga J]335 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: e_i !: ice thermal contents [J/m2] 336 336 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: s_i !: ice salinities [PSU] 337 337 … … 356 356 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: e_i_b !: ice temperatures 357 357 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: u_ice_b, v_ice_b !: ice velocity 358 359 360 !!-------------------------------------------------------------------------- 361 !! * Increment of global variables 362 !!-------------------------------------------------------------------------- 358 359 !!-------------------------------------------------------------------------- 360 !! * Ice thickness distribution variables 361 !!-------------------------------------------------------------------------- 362 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hi_max !: Boundary of ice thickness categories in thickness space 363 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hi_mean !: Mean ice thickness in catgories 364 365 !!-------------------------------------------------------------------------- 366 !! * Ice Run 367 !!-------------------------------------------------------------------------- 368 ! !!: ** Namelist namicerun read in sbc_lim_init ** 369 INTEGER , PUBLIC :: jpl !: number of ice categories 370 INTEGER , PUBLIC :: nlay_i !: number of ice layers 371 INTEGER , PUBLIC :: nlay_s !: number of snow layers 372 CHARACTER(len=32), PUBLIC :: cn_icerst_in !: suffix of ice restart name (input) 373 CHARACTER(len=32), PUBLIC :: cn_icerst_out !: suffix of ice restart name (output) 374 LOGICAL , PUBLIC :: ln_limdyn !: flag for ice dynamics (T) or not (F) 375 LOGICAL , PUBLIC :: ln_nicep !: flag for sea-ice points output (T) or not (F) 376 REAL(wp) , PUBLIC :: rn_amax !: maximum ice concentration 377 ! 378 !!-------------------------------------------------------------------------- 379 !! * Ice diagnostics 380 !!-------------------------------------------------------------------------- 381 ! Increment of global variables 363 382 ! thd refers to changes induced by thermodynamics 364 383 ! trp '' '' '' advection (transport of ice) 365 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_a_i_thd , d_a_i_trp !: icefractions 366 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_v_s_thd , d_v_s_trp !: snow volume 367 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_v_i_thd , d_v_i_trp !: ice volume 368 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_smv_i_thd, d_smv_i_trp !: 369 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_sm_i_fl , d_sm_i_gd !: 370 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_sm_i_se , d_sm_i_si , d_sm_i_la !: 371 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: d_oa_i_thd , d_oa_i_trp !: 372 373 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: d_e_s_thd , d_e_s_trp !: 374 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: d_e_i_thd , d_e_i_trp !: 375 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: d_u_ice_dyn, d_v_ice_dyn !: ice velocity 376 377 !!-------------------------------------------------------------------------- 378 !! * Ice thickness distribution variables 379 !!-------------------------------------------------------------------------- 380 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hi_max !: Boundary of ice thickness categories in thickness space 381 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hi_mean !: Mean ice thickness in catgories 382 383 !!-------------------------------------------------------------------------- 384 !! * Ice Run 385 !!-------------------------------------------------------------------------- 386 ! !!: ** Namelist namicerun read in iceini ** 387 CHARACTER(len=32) , PUBLIC :: cn_icerst_in !: suffix of ice restart name (input) 388 CHARACTER(len=32) , PUBLIC :: cn_icerst_out !: suffix of ice restart name (output) 389 LOGICAL , PUBLIC :: ln_limdyn !: flag for ice dynamics (T) or not (F) 390 LOGICAL , PUBLIC :: ln_nicep !: flag for sea-ice points output (T) or not (F) 391 REAL(wp) , PUBLIC :: cai !: atmospheric drag over sea ice 392 REAL(wp) , PUBLIC :: cao !: atmospheric drag over ocean 393 REAL(wp) , PUBLIC :: amax !: maximum ice concentration 384 LOGICAL , PUBLIC :: ln_limdiahsb !: flag for ice diag (T) or not (F) 385 LOGICAL , PUBLIC :: ln_limdiaout !: flag for ice diag (T) or not (F) 386 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_vi !: transport of ice volume 387 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_vs !: transport of snw volume 388 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_ei !: transport of ice enthalpy (W/m2) 389 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_es !: transport of snw enthalpy (W/m2) 390 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_smv !: transport of salt content 394 391 ! 395 !!-------------------------------------------------------------------------- 396 !! * Ice diagnostics 397 !!-------------------------------------------------------------------------- 398 !! Check if everything down here is necessary 399 LOGICAL , PUBLIC :: ln_limdiahsb !: flag for ice diag (T) or not (F) 400 LOGICAL , PUBLIC :: ln_limdiaout !: flag for ice diag (T) or not (F) 401 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: dv_dt_thd !: thermodynamic growth rates 402 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_vi !: transport of ice volume 403 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_vs !: transport of snw volume 404 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_ei !: transport of ice enthalpy (W/m2) 405 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_trp_es !: transport of snw enthalpy (W/m2) 406 ! 407 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_heat_dhc !: snw/ice heat content variation [W/m2] 392 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_heat_dhc !: snw/ice heat content variation [W/m2] 408 393 ! 409 394 INTEGER , PUBLIC :: jiindx, jjindx !: indexes of the debugging point … … 422 407 INTEGER :: ice_alloc 423 408 ! 424 INTEGER :: ierr(1 9), ii409 INTEGER :: ierr(17), ii 425 410 !!----------------------------------------------------------------- 426 411 … … 439 424 440 425 ii = ii + 1 441 ALLOCATE( sist (jpi,jpj) , icethi (jpi,jpj) , t_bo (jpi,jpj) , &442 & frld (jpi,jpj) , pfrld (jpi,jpj) , phicif (jpi,jpj) , &443 & wfx_snw(jpi,jpj) , wfx_ice(jpi,jpj) , wfx_sub(jpi,jpj) , &426 ALLOCATE( sist (jpi,jpj) , icethi (jpi,jpj) , t_bo (jpi,jpj) , & 427 & frld (jpi,jpj) , pfrld (jpi,jpj) , phicif (jpi,jpj) , & 428 & wfx_snw(jpi,jpj) , wfx_ice(jpi,jpj) , wfx_sub(jpi,jpj) , & 444 429 & wfx_bog(jpi,jpj) , wfx_dyn(jpi,jpj) , wfx_bom(jpi,jpj) , wfx_sum(jpi,jpj) , & 445 & wfx_res(jpi,jpj) , wfx_sni(jpi,jpj) , wfx_opw(jpi,jpj) , wfx_spr(jpi,jpj) , qlead (jpi,jpj) , & 446 & fhtur (jpi,jpj) , ftr_ice(jpi,jpj,jpl) , & 447 & sfx_res(jpi,jpj) , sfx_bri(jpi,jpj) , sfx_dyn(jpi,jpj) , & 448 & sfx_bog(jpi,jpj) , sfx_bom(jpi,jpj) , sfx_sum(jpi,jpj) , sfx_sni(jpi,jpj) , sfx_opw(jpi,jpj) , & 430 & wfx_res(jpi,jpj) , wfx_sni(jpi,jpj) , wfx_opw(jpi,jpj) , wfx_spr(jpi,jpj) , & 431 & afx_tot(jpi,jpj) , afx_thd(jpi,jpj), afx_dyn(jpi,jpj) , & 432 & fhtur (jpi,jpj) , ftr_ice(jpi,jpj,jpl), qlead (jpi,jpj) , & 433 & sfx_res(jpi,jpj) , sfx_bri(jpi,jpj) , sfx_dyn(jpi,jpj) , & 434 & sfx_bog(jpi,jpj) , sfx_bom(jpi,jpj) , sfx_sum(jpi,jpj) , sfx_sni(jpi,jpj) , sfx_opw(jpi,jpj) , & 449 435 & hfx_res(jpi,jpj) , hfx_snw(jpi,jpj) , hfx_sub(jpi,jpj) , hfx_err(jpi,jpj) , hfx_err_rem(jpi,jpj), & 450 & hfx_in (jpi,jpj) , hfx_out(jpi,jpj) , fhld(jpi,jpj) , &451 & hfx_sum(jpi,jpj) , hfx_bom(jpi,jpj) , hfx_bog(jpi,jpj) , hfx_dif(jpi,jpj) , hfx_opw(jpi,jpj) , &436 & hfx_in (jpi,jpj) , hfx_out(jpi,jpj) , fhld(jpi,jpj) , & 437 & hfx_sum(jpi,jpj) , hfx_bom(jpi,jpj) , hfx_bog(jpi,jpj) , hfx_dif(jpi,jpj) , hfx_opw(jpi,jpj) , & 452 438 & hfx_thd(jpi,jpj) , hfx_dyn(jpi,jpj) , hfx_spr(jpi,jpj) , STAT=ierr(ii) ) 453 439 … … 464 450 & bv_i (jpi,jpj) , smt_i(jpi,jpj) , STAT=ierr(ii) ) 465 451 ii = ii + 1 466 ALLOCATE( t_s(jpi,jpj,nlay_s,jpl) , & 467 & e_s(jpi,jpj,nlay_s,jpl) , STAT=ierr(ii) ) 452 ALLOCATE( t_s(jpi,jpj,nlay_s,jpl) , e_s(jpi,jpj,nlay_s,jpl) , STAT=ierr(ii) ) 468 453 ii = ii + 1 469 454 ALLOCATE( t_i(jpi,jpj,nlay_i+1,jpl) , e_i(jpi,jpj,nlay_i+1,jpl) , s_i(jpi,jpj,nlay_i+1,jpl) , STAT=ierr(ii) ) … … 489 474 ii = ii + 1 490 475 ALLOCATE( v_s_b (jpi,jpj,jpl) , v_i_b (jpi,jpj,jpl) , e_s_b(jpi,jpj,nlay_s,jpl) , & 491 & a_i_b (jpi,jpj,jpl) , smv_i_b(jpi,jpj,jpl) , e_i_b(jpi,jpj,nlay_i+1 ,jpl) , & 492 & oa_i_b (jpi,jpj,jpl) , & 493 & u_ice_b(jpi,jpj) , v_ice_b(jpi,jpj) , STAT=ierr(ii) ) 494 495 ! * Increment of global variables 496 ii = ii + 1 497 ALLOCATE( d_a_i_thd(jpi,jpj,jpl) , d_a_i_trp (jpi,jpj,jpl) , d_v_s_thd (jpi,jpj,jpl) , d_v_s_trp (jpi,jpj,jpl) , & 498 & d_v_i_thd(jpi,jpj,jpl) , d_v_i_trp (jpi,jpj,jpl) , d_smv_i_thd(jpi,jpj,jpl) , d_smv_i_trp(jpi,jpj,jpl) , & 499 & d_sm_i_fl(jpi,jpj,jpl) , d_sm_i_gd (jpi,jpj,jpl) , d_sm_i_se (jpi,jpj,jpl) , d_sm_i_si (jpi,jpj,jpl) , & 500 & d_sm_i_la(jpi,jpj,jpl) , d_oa_i_thd(jpi,jpj,jpl) , d_oa_i_trp (jpi,jpj,jpl) , & 501 & STAT=ierr(ii) ) 502 ii = ii + 1 503 ALLOCATE( d_e_s_thd(jpi,jpj,nlay_s,jpl) , d_e_i_thd(jpi,jpj,nlay_i,jpl) , d_u_ice_dyn(jpi,jpj) , & 504 & d_e_s_trp(jpi,jpj,nlay_s,jpl) , d_e_i_trp(jpi,jpj,nlay_i,jpl) , d_v_ice_dyn(jpi,jpj) , STAT=ierr(ii) ) 476 & a_i_b (jpi,jpj,jpl) , smv_i_b(jpi,jpj,jpl) , e_i_b(jpi,jpj,nlay_i+1 ,jpl) , & 477 & oa_i_b (jpi,jpj,jpl) , u_ice_b(jpi,jpj) , v_ice_b(jpi,jpj) , STAT=ierr(ii) ) 505 478 506 479 ! * Ice thickness distribution variables … … 510 483 ! * Ice diagnostics 511 484 ii = ii + 1 512 ALLOCATE( dv_dt_thd(jpi,jpj,jpl), & 513 & diag_trp_vi(jpi,jpj), diag_trp_vs (jpi,jpj), diag_trp_ei(jpi,jpj), & 514 & diag_trp_es(jpi,jpj), diag_heat_dhc(jpi,jpj), STAT=ierr(ii) ) 485 ALLOCATE( diag_trp_vi(jpi,jpj), diag_trp_vs (jpi,jpj), diag_trp_ei (jpi,jpj), & 486 & diag_trp_es(jpi,jpj), diag_trp_smv(jpi,jpj), diag_heat_dhc(jpi,jpj), STAT=ierr(ii) ) 515 487 516 488 ice_alloc = MAXVAL( ierr(:) )
Note: See TracChangeset
for help on using the changeset viewer.