Changeset 2528 for trunk/NEMOGCM/NEMO/LIM_SRC_2/ice_2.F90
- Timestamp:
- 2010-12-27T18:33:53+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_2/ice_2.F90
- Property svn:eol-style deleted
r1756 r2528 4 4 !! Sea Ice physics: diagnostics variables of ice defined in memory 5 5 !!===================================================================== 6 !! History : 2.0 ! 03-08 (C. Ethe) F90: Free form and module 6 !! History : 2.0 ! 2003-08 (C. Ethe) F90: Free form and module 7 !! 3.3 ! 2009-05 (G.Garric) addition of the lim2_evp cas 7 8 !!---------------------------------------------------------------------- 8 9 #if defined key_lim2 … … 10 11 !! 'key_lim2' : LIM 2.0 sea-ice model 11 12 !!---------------------------------------------------------------------- 12 !! LIM 2.0, UCL-LOCEAN-IPSL (2006)13 !! $Id$14 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)15 !!----------------------------------------------------------------------16 !! * Modules used17 13 USE par_ice_2 ! LIM sea-ice parameters 18 14 19 15 IMPLICIT NONE 20 16 PRIVATE 17 18 INTEGER , PUBLIC :: numit !: ice iteration index 19 REAL(wp), PUBLIC :: rdt_ice !: ice time step 21 20 22 ! !* Share parameters namelist (namicerun read in iceini)*21 ! !!* namicerun read in iceini * 23 22 CHARACTER(len=32) , PUBLIC :: cn_icerst_in = "restart_ice_in" !: suffix of ice restart name (input) 24 23 CHARACTER(len=32) , PUBLIC :: cn_icerst_out = "restart_ice" !: suffix of ice restart name (output) 25 24 LOGICAL , PUBLIC :: ln_limdyn = .TRUE. !: flag for ice dynamics (T) or not (F) 26 25 LOGICAL , PUBLIC :: ln_limdmp = .FALSE. !: Ice damping 27 REAL(wp) , PUBLIC :: hsndif = 0.e0 !: computation of temp. in snow (0) or not (9999) 28 REAL(wp) , PUBLIC :: hicdif = 0.e0 !: computation of temp. in ice (0) or not (9999) 29 REAL(wp), DIMENSION(2), PUBLIC :: acrit = (/ 1.e-06 , 1.e-06 /) !: minimum fraction for leads in 30 ! !: north and south hemisphere 31 !!* ice-dynamic namelist (namicedyn) * 32 INTEGER , PUBLIC :: nbiter = 1 !: number of sub-time steps for relaxation 33 INTEGER , PUBLIC :: nbitdr = 250 !: maximum number of iterations for relaxation 34 REAL(wp), PUBLIC :: rdt_ice !: ice time step 35 REAL(wp), PUBLIC :: epsd = 1.0e-20 !: tolerance parameter for dynamic 36 REAL(wp), PUBLIC :: alpha = 0.5 !: coefficient for semi-implicit coriolis 37 REAL(wp), PUBLIC :: dm = 0.6e+03 !: diffusion constant for dynamics 38 REAL(wp), PUBLIC :: om = 0.5 !: relaxation constant 39 REAL(wp), PUBLIC :: resl = 5.0e-05 !: maximum value for the residual of relaxation 40 REAL(wp), PUBLIC :: cw = 5.0e-03 !: drag coefficient for oceanic stress 41 REAL(wp), PUBLIC :: angvg = 0.e0 !: turning angle for oceanic stress 42 REAL(wp), PUBLIC :: pstar = 1.0e+04 !: first bulk-rheology parameter 43 REAL(wp), PUBLIC :: c_rhg = 20.e0 !: second bulk-rhelogy parameter 44 REAL(wp), PUBLIC :: etamn = 0.e+07 !: minimun value for viscosity 45 REAL(wp), PUBLIC :: creepl = 2.e-08 !: creep limit 46 REAL(wp), PUBLIC :: ecc = 2.e0 !: eccentricity of the elliptical yield curve 47 REAL(wp), PUBLIC :: ahi0 = 350.e0 !: sea-ice hor. eddy diffusivity coeff. (m2/s) 26 LOGICAL , PUBLIC :: ln_nicep = .TRUE. !: flag grid points output (T) or not (F) 27 REAL(wp) , PUBLIC :: hsndif = 0._wp !: snow temp. computation (0) or not (9999) 28 REAL(wp) , PUBLIC :: hicdif = 0._wp !: ice temp. computation (0) or not (9999) 29 REAL(wp), DIMENSION(2), PUBLIC :: acrit = (/ 1.e-6_wp , 1.e-6_wp /) !: minimum lead fraction in the 2 hemisphere 30 31 ! !!* ice-dynamic namelist (namicedyn) * 32 INTEGER , PUBLIC :: nbiter = 1 !: number of sub-time steps for relaxation 33 INTEGER , PUBLIC :: nbitdr = 250 !: maximum number of iterations for relaxation 34 INTEGER , PUBLIC :: nevp = 360 !: number of EVP subcycling iterations 35 INTEGER , PUBLIC :: telast = 3600 !: timescale for EVP elastic waves 36 REAL(wp), PUBLIC :: epsd = 1.0e-20_wp !: tolerance parameter for dynamic 37 REAL(wp), PUBLIC :: alpha = 0.5_wp !: coefficient for semi-implicit coriolis 38 REAL(wp), PUBLIC :: dm = 0.6e+03_wp !: diffusion constant for dynamics 39 REAL(wp), PUBLIC :: om = 0.5_wp !: relaxation constant 40 REAL(wp), PUBLIC :: resl = 5.0e-05_wp !: maximum value for the residual of relaxation 41 REAL(wp), PUBLIC :: cw = 5.0e-03_wp !: drag coefficient for oceanic stress 42 REAL(wp), PUBLIC :: angvg = 0._wp !: turning angle for oceanic stress 43 REAL(wp), PUBLIC :: pstar = 1.0e+04_wp !: first bulk-rheology parameter 44 REAL(wp), PUBLIC :: c_rhg = 20._wp !: second bulk-rhelogy parameter 45 REAL(wp), PUBLIC :: etamn = 0._wp !: minimun value for viscosity 46 REAL(wp), PUBLIC :: creepl = 2.e-08_wp !: creep limit 47 REAL(wp), PUBLIC :: ecc = 2._wp !: eccentricity of the elliptical yield curve 48 REAL(wp), PUBLIC :: ahi0 = 350._wp !: sea-ice hor. eddy diffusivity coeff. (m2/s) 49 REAL(wp), PUBLIC :: alphaevp = 1._wp !: coefficient for the solution of EVP int. stresses 48 50 49 REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( ecc * ecc )50 REAL(wp), PUBLIC :: rhoco !: = rau0 * cw51 REAL(wp), PUBLIC :: sangvg, cangvg !: sin and cos of the turning angle for ocean stress52 REAL(wp), PUBLIC :: pstarh !: pstar / 2.051 REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( ecc * ecc ) 52 REAL(wp), PUBLIC :: rhoco !: = rau0 * cw 53 REAL(wp), PUBLIC :: sangvg, cangvg !: sin and cos of the turning angle for ocean stress 54 REAL(wp), PUBLIC :: pstarh !: pstar / 2.0 53 55 54 56 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ahiu , ahiv !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) 55 57 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: pahu , pahv !: ice hor. eddy diffusivity coef. at ocean U- and V-points 58 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ust2s !: friction velocity 59 60 !!* Ice Rheology 61 # if defined key_lim2_vp 62 ! !!* VP rheology * 63 LOGICAL , PUBLIC :: lk_lim2_vp = .TRUE. !: Visco-Plactic reology flag 64 ! 56 65 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hsnm , hicm !: mean snow and ice thicknesses 57 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ust2s !: friction velocity 66 ! 67 # else 68 ! !!* EVP rheology * 69 LOGICAL , PUBLIC:: lk_lim2_vp = .FALSE. !: Visco-Plactic reology flag 70 ! 71 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: stress1_i !: first stress tensor element 72 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: stress2_i !: second stress tensor element 73 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: stress12_i !: diagonal stress tensor element 74 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: delta_i !: rheology delta factor (see Flato and Hibler 95) [s-1] 75 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: divu_i !: Divergence of the velocity field [s-1] -> limrhg.F90 76 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: shear_i !: Shear of the velocity field [s-1] -> limrhg.F90 77 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: at_i !: ice fraction 78 ! 79 REAL(wp), PUBLIC, DIMENSION(:,:) , POINTER :: vt_s ,vt_i !: mean snow and ice thicknesses 80 REAL(wp), PUBLIC, DIMENSION(jpi,jpj), TARGET :: hsnm , hicm !: target vt_s,vt_i pointers 81 #endif 58 82 59 !!* diagnostic quantities 60 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sist !: Sea-Ice Surface Temperature (Kelvin) 83 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvosif !: ice volume change at ice surface (only used for outputs) 84 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvobif !: ice volume change at ice bottom (only used for outputs) 85 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fdvolif !: Total ice volume change (only used for outputs) 86 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvonif !: Lateral ice volume change (only used for outputs) 87 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sist !: Sea-Ice Surface Temperature [Kelvin] 61 88 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tfu !: Freezing/Melting point temperature of sea water at SSS 62 89 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hicif !: Ice thickness … … 71 98 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdmicif !: Variation of ice mass 72 99 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qldif !: heat balance of the lead (or of the open ocean) 73 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qcmif !: Energy needed to bring the ocean surface layer until its freezing100 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qcmif !: Energy needed to freeze the ocean surface layer 74 101 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fdtcn !: net downward heat flux from the ice to the ocean 75 102 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qdtcn !: energy from the ice to the ocean point (at a factor 2) 76 103 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: thcm !: part of the solar energy used in the lead heat budget 77 104 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fstric !: Solar flux transmitted trough the ice 78 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ffltbif !: Arraylinked with the max heat contained in brine pockets (?)105 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ffltbif !: linked with the max heat contained in brine pockets (?) 79 106 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fscmbq !: Linked with the solar flux below the ice (?) 80 107 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fsbbq !: Also linked with the solar flux below the ice (?) 81 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qfvbq !: Arrayused to store energy in case of toral lateral ablation (?)108 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qfvbq !: used to store energy in case of toral lateral ablation (?) 82 109 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: dmgwi !: Variation of the mass of snow ice 83 84 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: u_ice, v_ice !: two components of the ice velocity at I-point (m/s) 85 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: u_oce, v_oce !: two components of the ocean velocity at I-point (m/s) 110 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: u_ice, v_ice !: two components of the ice velocity at I-point (m/s) 111 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: u_oce, v_oce !: two components of the ocean velocity at I-point (m/s) 86 112 87 113 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jplayersp1) :: tbif !: Temperature inside the ice/snow layer … … 102 128 #endif 103 129 130 !!---------------------------------------------------------------------- 131 !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) 132 !! $Id$ 133 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 104 134 !!====================================================================== 105 135 END MODULE ice_2
Note: See TracChangeset
for help on using the changeset viewer.