Changeset 10531 for NEMO/trunk
- Timestamp:
- 2019-01-16T14:17:50+01:00 (5 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/cfgs/SHARED/namelist_ice_ref
r10413 r10531 25 25 nlay_i = 2 ! number of ice layers 26 26 nlay_s = 1 ! number of snow layers (only 1 is working) 27 nn_virtual_itd = 0 ! virtual ITD mono-category parameterizations (1-3 => jpl = 1 only) or not (0) 28 ! 2: activate enhanced thermal conductivity only --- temporary option 29 ! 3: activate virtual thin ice melting only --- temporary option 27 ln_virtual_itd = .FALSE. ! virtual ITD mono-category parameterization (jpl=1 only) 28 ! i.e. enhanced thermal conductivity & virtual thin ice melting 30 29 ln_icedyn = .true. ! ice dynamics (T) or not (F) 31 30 ln_icethd = .true. ! ice thermo (T) or not (F) … … 64 63 ! recommended range: ?? L16=15 - home=10 65 64 rn_lfrelax = 1.e-5 ! relaxation time scale to reach static friction [s-1] 66 rn_tensile = 0.2 ! isotropic tensile strength65 rn_tensile = 0.2 ! ln_landfast_L16: isotropic tensile strength 67 66 / 68 67 !------------------------------------------------------------------------------ … … 167 166 ! 2: varying salinity parameterization S(z,t) 168 167 ! 3: prescribed salinity profile S(z), Schwarzacher, 1959 169 rn_icesal = 4. ! (nn_icesal=1) ice salinity (g/kg)170 rn_sal_gd = 5. ! restoring ice salinity, gravity drainage (g/kg)171 rn_time_gd = 1.73e+6 ! restoring time scale,gravity drainage (s)172 rn_sal_fl = 2. ! restoring ice salinity, flushing (g/kg)173 rn_time_fl = 8.64e+5 ! restoring time scale,flushing (s)168 rn_icesal = 4. ! (nn_icesal=1) ice salinity (g/kg) 169 rn_sal_gd = 5. ! (nn_icesal=2) restoring ice salinity, gravity drainage (g/kg) 170 rn_time_gd = 1.73e+6 ! (nn_icesal=2) restoring time scale, gravity drainage (s) 171 rn_sal_fl = 2. ! (nn_icesal=2) restoring ice salinity, flushing (g/kg) 172 rn_time_fl = 8.64e+5 ! (nn_icesal=2) restoring time scale, flushing (s) 174 173 rn_simax = 20. ! maximum tolerated ice salinity (g/kg) 175 174 rn_simin = 0.1 ! minimum tolerated ice salinity (g/kg) -
NEMO/trunk/src/ICE/ice.F90
r10425 r10531 114 114 INTEGER , PUBLIC :: nlay_i !: number of ice layers 115 115 INTEGER , PUBLIC :: nlay_s !: number of snow layers 116 INTEGER , PUBLIC :: nn_virtual_itd !: virtual ITD mono-category parameterizations (1-3) or not (0)116 LOGICAL , PUBLIC :: ln_virtual_itd !: virtual ITD mono-category parameterization (T) or not (F) 117 117 LOGICAL , PUBLIC :: ln_icedyn !: flag for ice dynamics (T) or not (F) 118 118 LOGICAL , PUBLIC :: ln_icethd !: flag for ice thermo (T) or not (F) -
NEMO/trunk/src/ICE/icedyn_rdgrft.F90
r10511 r10531 586 586 & + rhos * vsrft(ji) * ( 1._wp - rn_fsnwrft ) ) * r1_rdtice 587 587 588 ! Put the melt pond water into the ocean589 ! clem: I think the following lines must be commented since there590 ! is no net mass flux between melt ponds and the ocean (see icethd_pnd.F90 for ex.)591 !IF ( ln_pnd_fwb ) THEN592 ! wfx_pnd_1d(ji) = wfx_pnd_1d(ji) + ( rhow * vprdg(ji) * ( 1._wp - rn_fpndrdg ) & ! fresh water source for ocean593 ! & + rhow * vprft(ji) * ( 1._wp - rn_fpndrft ) ) * r1_rdtice594 !ENDIF595 596 588 ! virtual salt flux to keep salinity constant 597 589 IF( nn_icesal /= 2 ) THEN -
NEMO/trunk/src/ICE/iceforcing.F90
r10425 r10531 145 145 SELECT CASE( nice_jules ) 146 146 CASE( np_jules_ACTIVE ) ! compute conduction flux and surface temperature (as in Jules surface module) 147 CALL blk_ice_qcn ( nn_virtual_itd, t_su, t_bo, h_s, h_i )147 CALL blk_ice_qcn ( ln_virtual_itd, t_su, t_bo, h_s, h_i ) 148 148 END SELECT 149 149 CASE ( jp_purecpl ) !--- coupled formulation -
NEMO/trunk/src/ICE/icestp.F90
r10519 r10531 297 297 INTEGER :: ios ! Local integer 298 298 !! 299 NAMELIST/nampar/ jpl, nlay_i, nlay_s, nn_virtual_itd, ln_icedyn, ln_icethd, rn_amax_n, rn_amax_s, &299 NAMELIST/nampar/ jpl, nlay_i, nlay_s, ln_virtual_itd, ln_icedyn, ln_icethd, rn_amax_n, rn_amax_s, & 300 300 & cn_icerst_in, cn_icerst_indir, cn_icerst_out, cn_icerst_outdir 301 301 !!------------------------------------------------------------------- … … 317 317 WRITE(numout,*) ' number of ice layers nlay_i = ', nlay_i 318 318 WRITE(numout,*) ' number of snow layers nlay_s = ', nlay_s 319 WRITE(numout,*) ' virtual ITD param for jpl=1 ( 1-3) or not (0) nn_virtual_itd = ', nn_virtual_itd319 WRITE(numout,*) ' virtual ITD param for jpl=1 (T) or not (F) ln_virtual_itd = ', ln_virtual_itd 320 320 WRITE(numout,*) ' Ice dynamics (T) or not (F) ln_icedyn = ', ln_icedyn 321 321 WRITE(numout,*) ' Ice thermodynamics (T) or not (F) ln_icethd = ', ln_icethd … … 324 324 ENDIF 325 325 ! !--- check consistency 326 IF ( jpl > 1 .AND. nn_virtual_itd == 1) THEN327 nn_virtual_itd = 0326 IF ( jpl > 1 .AND. ln_virtual_itd ) THEN 327 ln_virtual_itd = .FALSE. 328 328 IF(lwp) WRITE(numout,*) 329 IF(lwp) WRITE(numout,*) ' nn_virtual_itd forced to 0as jpl>1, no need with multiple categories to emulate them'329 IF(lwp) WRITE(numout,*) ' ln_virtual_itd forced to false as jpl>1, no need with multiple categories to emulate them' 330 330 ENDIF 331 331 ! -
NEMO/trunk/src/ICE/icethd.F90
r10511 r10531 233 233 CALL ice_thd_temp ! --- temperature update --- ! 234 234 ! 235 !!gm please create a new logical (l_thd_mono or a better explicit name) set one for all in icestp.F90 module 236 !!gm l_thd_mono = ln_icedH .AND. ( ( nn_virtual_itd == 1 .OR. nn_virtual_itd == 4 ) .AND. jpl == 1 ) 237 !!gm by the way, the different options associated with nn_virtual_itd =1 to 4 are quite impossible to identify 238 !!gm more comment to add when ready the namelist, with an explicit print in the ocean.output 239 IF( ln_icedH ) THEN 240 IF ( ( nn_virtual_itd == 1 .OR. nn_virtual_itd == 3 ) .AND. jpl == 1 ) THEN 241 CALL ice_thd_mono ! --- extra lateral melting if virtual_itd --- ! 242 END IF 243 END IF 235 IF( ln_icedH .AND. ln_virtual_itd ) & 236 & CALL ice_thd_mono ! --- extra lateral melting if virtual_itd --- ! 244 237 ! 245 238 IF( ln_icedA ) CALL ice_thd_da ! --- lateral melting --- ! -
NEMO/trunk/src/ICE/icethd_zdf_bl99.F90
r10425 r10531 265 265 zghe(1:npti) = 1._wp 266 266 ! 267 SELECT CASE ( nn_virtual_itd ) 268 ! 269 CASE ( 1 , 2 ) 267 IF( ln_virtual_itd ) THEN 270 268 ! 271 269 zepsilon = 0.1_wp … … 277 275 END DO 278 276 ! 279 END SELECT277 ENDIF 280 278 ! 281 279 !----------------- -
NEMO/trunk/src/OCE/SBC/sbcblk.F90
r10511 r10531 926 926 927 927 928 SUBROUTINE blk_ice_qcn( k_virtual_itd, ptsu, ptb, phs, phi )928 SUBROUTINE blk_ice_qcn( ld_virtual_itd, ptsu, ptb, phs, phi ) 929 929 !!--------------------------------------------------------------------- 930 930 !! *** ROUTINE blk_ice_qcn *** … … 941 941 !! 942 942 !!--------------------------------------------------------------------- 943 INTEGER , INTENT(in ) :: k_virtual_itd! single-category option943 LOGICAL , INTENT(in ) :: ld_virtual_itd ! single-category option 944 944 REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: ptsu ! sea ice / snow surface temperature 945 945 REAL(wp), DIMENSION(:,:) , INTENT(in ) :: ptb ! sea ice base temperature … … 962 962 ! I Enhanced conduction factor ! 963 963 ! -------------------------------------! 964 ! Emulates the enhancement of conduction by unresolved thin ice ( k_virtual_itd = 1/2)964 ! Emulates the enhancement of conduction by unresolved thin ice (ld_virtual_itd = T) 965 965 ! Fichefet and Morales Maqueda, JGR 1997 966 966 ! 967 967 zgfac(:,:,:) = 1._wp 968 968 969 SELECT CASE ( k_virtual_itd ) 970 ! 971 CASE ( 1 , 2 ) 969 IF( ld_virtual_itd ) THEN 972 970 ! 973 971 zfac = 1._wp / ( rn_cnd_s + rcnd_i ) … … 984 982 END DO 985 983 ! 986 END SELECT984 ENDIF 987 985 988 986 ! -------------------------------------------------------------!
Note: See TracChangeset
for help on using the changeset viewer.