- Timestamp:
- 2020-11-30T09:53:57+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/SI3_martin_ponds/src/ICE/icedyn_adv_pra.F90
r13637 r13908 178 178 z0ei(:,:,jk,jl) = pe_i(:,:,jk,jl) * e1e2t(:,:) ! Ice heat content 179 179 END DO 180 IF ( ln_pnd_LEV ) THEN180 IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 181 181 z0ap(:,:,jl) = pa_ip(:,:,jl) * e1e2t(:,:) ! Melt pond fraction 182 182 z0vp(:,:,jl) = pv_ip(:,:,jl) * e1e2t(:,:) ! Melt pond volume … … 214 214 END DO 215 215 ! 216 IF ( ln_pnd_LEV ) THEN216 IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 217 217 CALL adv_x( zdt , zudy , 1._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap ) !--- melt pond fraction 218 218 CALL adv_y( zdt , zvdx , 0._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap ) … … 249 249 & sxxe(:,:,jk,:), sye(:,:,jk,:), syye(:,:,jk,:), sxye(:,:,jk,:) ) 250 250 END DO 251 IF ( ln_pnd_LEV ) THEN251 IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 252 252 CALL adv_y( zdt , zvdx , 1._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap ) !--- melt pond fraction 253 253 CALL adv_x( zdt , zudy , 0._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap ) … … 278 278 CALL lbc_lnk_multi( 'icedyn_adv_pra', z0ei , 'T', 1._wp, sxe , 'T', -1._wp, sye , 'T', -1._wp & ! ice enthalpy 279 279 & , sxxe , 'T', 1._wp, syye , 'T', 1._wp, sxye , 'T', 1._wp ) 280 IF ( ln_pnd_LEV ) THEN280 IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 281 281 CALL lbc_lnk_multi( 'icedyn_adv_pra', z0ap , 'T', 1._wp, sxap , 'T', -1._wp, syap , 'T', -1._wp & ! melt pond fraction 282 282 & , sxxap, 'T', 1._wp, syyap, 'T', 1._wp, sxyap, 'T', 1._wp & … … 302 302 pe_i(:,:,jk,jl) = z0ei(:,:,jk,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 303 303 END DO 304 IF ( ln_pnd_LEV ) THEN304 IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 305 305 pa_ip(:,:,jl) = z0ap(:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 306 306 pv_ip(:,:,jl) = z0vp(:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) … … 769 769 ! ! -- check h_ip -- ! 770 770 ! if h_ip is larger than the surrounding 9 pts => reduce h_ip and increase a_ip 771 IF( ln_pnd_LEV . AND. pv_ip(ji,jj,jl) > 0._wp ) THEN771 IF( ln_pnd_LEV .OR. ln_pnd_TOPO .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 772 772 zhip = pv_ip(ji,jj,jl) / MAX( epsi20, pa_ip(ji,jj,jl) ) 773 773 IF( zhip > phip_max(ji,jj,jl) .AND. pa_ip(ji,jj,jl) < 0.15 ) THEN … … 1005 1005 END DO 1006 1006 ! 1007 IF( ln_pnd_LEV ) THEN ! melt pond fraction1007 IF( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN ! melt pond fraction 1008 1008 IF( iom_varid( numrir, 'sxap', ldstop = .FALSE. ) > 0 ) THEN 1009 1009 CALL iom_get( numrir, jpdom_auto, 'sxap' , sxap , psgn = -1._wp ) … … 1047 1047 sxc0 = 0._wp ; syc0 = 0._wp ; sxxc0 = 0._wp ; syyc0 = 0._wp ; sxyc0 = 0._wp ! snow layers heat content 1048 1048 sxe = 0._wp ; sye = 0._wp ; sxxe = 0._wp ; syye = 0._wp ; sxye = 0._wp ! ice layers heat content 1049 IF( ln_pnd_LEV ) THEN1049 IF( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN 1050 1050 sxap = 0._wp ; syap = 0._wp ; sxxap = 0._wp ; syyap = 0._wp ; sxyap = 0._wp ! melt pond fraction 1051 1051 sxvp = 0._wp ; syvp = 0._wp ; sxxvp = 0._wp ; syyvp = 0._wp ; sxyvp = 0._wp ! melt pond volume … … 1115 1115 END DO 1116 1116 ! 1117 IF( ln_pnd_LEV ) THEN ! melt pond fraction1117 IF( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN ! melt pond fraction 1118 1118 CALL iom_rstput( iter, nitrst, numriw, 'sxap' , sxap ) 1119 1119 CALL iom_rstput( iter, nitrst, numriw, 'syap' , syap )
Note: See TracChangeset
for help on using the changeset viewer.