MODULE ice_2 !!====================================================================== !! *** MODULE ice *** !! Sea Ice physics: diagnostics variables of ice defined in memory !!===================================================================== !! History : 2.0 ! 03-08 (C. Ethe) F90: Free form and module !!---------------------------------------------------------------------- #if defined key_lim2 !!---------------------------------------------------------------------- !! 'key_lim2' : LIM 2.0 sea-ice model !!---------------------------------------------------------------------- !! LIM 2.0, UCL-LOCEAN-IPSL (2006) !! $ Id: $ !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- !! * Modules used USE par_ice_2 ! LIM sea-ice parameters IMPLICIT NONE PRIVATE !!* ice-dynamic namelist (namicedyn) * INTEGER , PUBLIC :: nbiter = 1 !: number of sub-time steps for relaxation INTEGER , PUBLIC :: nbitdr = 250 !: maximum number of iterations for relaxation REAL(wp), PUBLIC :: epsd = 1.0e-20 !: tolerance parameter for dynamic REAL(wp), PUBLIC :: alpha = 0.5 !: coefficient for semi-implicit coriolis REAL(wp), PUBLIC :: dm = 0.6e+03 !: diffusion constant for dynamics REAL(wp), PUBLIC :: om = 0.5 !: relaxation constant REAL(wp), PUBLIC :: resl = 5.0e-05 !: maximum value for the residual of relaxation REAL(wp), PUBLIC :: cw = 5.0e-03 !: drag coefficient for oceanic stress REAL(wp), PUBLIC :: angvg = 0.e0 !: turning angle for oceanic stress REAL(wp), PUBLIC :: pstar = 1.0e+04 !: first bulk-rheology parameter REAL(wp), PUBLIC :: c_rhg = 20.e0 !: second bulk-rhelogy parameter REAL(wp), PUBLIC :: etamn = 0.e+07 !: minimun value for viscosity REAL(wp), PUBLIC :: creepl = 2.e-08 !: creep limit REAL(wp), PUBLIC :: ecc = 2.e0 !: eccentricity of the elliptical yield curve REAL(wp), PUBLIC :: ahi0 = 350.e0 !: sea-ice hor. eddy diffusivity coeff. (m2/s) REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( ecc * ecc ) REAL(wp), PUBLIC :: rhoco !: = rau0 * cw REAL(wp), PUBLIC :: sangvg, cangvg !: sin and cos of the turning angle for ocean stress REAL(wp), PUBLIC :: pstarh !: pstar / 2.0 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ahiu , ahiv !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: pahu , pahv !: ice hor. eddy diffusivity coef. at ocean U- and V-points REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hsnm , hicm !: mean snow and ice thicknesses REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ust2s !: friction velocity !!* diagnostic quantities !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: firic !: IR flux over the ice (only used for outputs) !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fcsic !: Sensible heat flux over the ice (only used for outputs) !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fleic !: Latent heat flux over the ice (only used for outputs) !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qlatic !: latent flux (only used for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvosif !: Variation of volume at surface (only used for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvobif !: Variation of ice volume at the bottom ice (only used for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fdvolif !: Total variation of ice volume (only used for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdvonif !: Lateral Variation of ice volume (only used for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sist !: Sea-Ice Surface Temperature (Kelvin ??? degree ??? I don't know) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tfu !: Freezing/Melting point temperature of sea water at SSS REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hicif !: Ice thickness REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hsnif !: Snow thickness REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hicifp !: Ice production/melting REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: frld !: Leads fraction = 1-a/totalarea REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: phicif !: ice thickness at previous time REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: pfrld !: Leads fraction at previous time REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qstoif !: Energy stored in the brine pockets REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fbif !: Heat flux at the ice base REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdmsnif !: Variation of snow mass REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: rdmicif !: Variation of ice mass REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qldif !: heat balance of the lead (or of the open ocean) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qcmif !: Energy needed to bring the ocean surface layer until its freezing REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fdtcn !: net downward heat flux from the ice to the ocean REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qdtcn !: energy from the ice to the ocean point (at a factor 2) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: thcm !: part of the solar energy used in the lead heat budget REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fstric !: Solar flux transmitted trough the ice REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ffltbif !: Array linked with the max heat contained in brine pockets (?) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fscmbq !: Linked with the solar flux below the ice (?) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fsbbq !: Also linked with the solar flux below the ice (?) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qfvbq !: Array used to store energy in case of toral lateral ablation (?) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: dmgwi !: Variation of the mass of snow ice REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: albege !: Albedo of the snow or ice (only for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: albecn !: Albedo of the ocean (only for outputs) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tauc !: Cloud optical depth REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ui_ice, vi_ice !: two components of the ice velocity at I-point (m/s) REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ui_oce, vi_oce !: two components of the ocean velocity at I-point (m/s) REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpsmax) :: scal0 !: ??? REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jplayersp1) :: tbif !: Temperature inside the ice/snow layer !! REAL(wp), DIMENSION(jpi,jpj,0:jpkmax+1) :: reslum !: Relative absorption of solar radiation in each ocean level !!* moment used in the advection scheme REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxice, syice, sxxice, syyice, sxyice !: for ice volume REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxsn, sysn, sxxsn, syysn, sxysn !: for snow volume REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxa, sya, sxxa, syya, sxya !: for ice cover area REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxc0, syc0, sxxc0, syyc0, sxyc0 !: for heat content of snow REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxc1, syc1, sxxc1, syyc1, sxyc1 !: for heat content of 1st ice layer REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxc2, syc2, sxxc2, syyc2, sxyc2 !: for heat content of 2nd ice layer REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sxst, syst, sxxst, syyst, sxyst !: for heat content of brine pockets #else !!---------------------------------------------------------------------- !! Default option Empty module NO LIM 2.0 sea-ice model !!---------------------------------------------------------------------- #endif !!====================================================================== END MODULE ice_2