- Timestamp:
- 2017-06-15T12:01:17+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/LIM_SRC_3/limmp.F90
r8142 r8179 129 129 ENDIF 130 130 131 IF ( ln_pnd .AND. ( nn_pnd_scheme == 0 ) .AND. ( ln_pnd_fw ) ) THEN 132 WRITE(numout,*) ' Prescribed melt ponds do not conserve fresh water mass, hence ln_pnd_fw must be set to false ' 133 ln_pnd_fw = .FALSE. 134 IF(lwp) THEN ! control print 135 WRITE(numout,*) ' Active melt ponds freshwater coupling ln_pnd_fw = ', ln_pnd_fw 136 ENDIF 137 ENDIF 138 131 139 IF ( ln_pnd .AND. ( nn_pnd_scheme == 2 ) .AND. ( jpl == 1 ) ) THEN 132 140 WRITE(numout,*) ' Topographic melt ponds are incompatible with jpl = 1 ' … … 280 288 !------------------------------------------------------------------ 281 289 282 zwfx_mlw(:,:) = MAX( wfx_sum(:,:) + wfx_snw (:,:), 0._wp ) ! available meltwater for melt ponding290 zwfx_mlw(:,:) = MAX( wfx_sum(:,:) + wfx_snw_sum(:,:), 0._wp ) ! available meltwater for melt ponding 283 291 284 292 ! NB: zwfx_mlw can be slightly negative for very small values (why?) … … 289 297 ! if we understand and remove why wfx_sum or wfx_snw could be 290 298 ! negative, then, we can remove the MAX 299 ! NB: I now changed to wfx_snw_sum, this may fix the problem. 300 ! We should check 291 301 292 302 zrfrac(:,:,:) = zrmin + ( zrmax - zrmin ) * a_i(:,:,:) … … 352 362 353 363 a_ip_frac(ji,jj,jl) = MIN( 1._wp , SQRT( v_ip(ji,jj,jl) * z1_zpnd_aspect / a_i(ji,jj,jl) ) ) 364 !NB: the SQRT has been a recurring source of crash when v_ip or a_i tuns to be even only slightly negative 354 365 355 366 h_ip(ji,jj,jl) = zpnd_aspect * a_ip_frac(ji,jj,jl) … … 374 385 IF ( ln_pnd_fw ) THEN 375 386 376 wfx_snw (:,:) = wfx_snw(:,:) * ( 1. - zrmin - ( zrmax - zrmin ) * at_i(:,:) )377 378 wfx_sum(:,:) = wfx_sum(:,:) *( 1. - zrmin - ( zrmax - zrmin ) * at_i(:,:) )379 387 wfx_snw_sum(:,:) = wfx_snw_sum(:,:) * ( 1. - zrmin - ( zrmax - zrmin ) * at_i(:,:) ) 388 389 wfx_sum(:,:) = wfx_sum(:,:) * ( 1. - zrmin - ( zrmax - zrmin ) * at_i(:,:) ) 390 380 391 ENDIF 381 392 … … 496 507 kcells(:) = 0 497 508 498 zvolp(:,:) = wfx_sum(:,:) + wfx_snw (:,:) + vt_ip(:,:) ! Total available melt water, to be distributed as melt ponds509 zvolp(:,:) = wfx_sum(:,:) + wfx_snw_sum(:,:) + vt_ip(:,:) ! Total available melt water, to be distributed as melt ponds 499 510 zTsfcn(:,:,:) = zTsfcn(:,:,:) - rt0 ! Convert in Celsius 500 511
Note: See TracChangeset
for help on using the changeset viewer.