- Timestamp:
- 2019-12-10T12:57:49+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/ICE/iceitd.F90
r10994 r12143 88 88 89 89 IF( ln_icediachk ) CALL ice_cons_hsm(0, 'iceitd_rem', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 90 IF( ln_icediachk ) CALL ice_cons2D (0, 'iceitd_rem', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) 90 91 91 92 !----------------------------------------------------------------------------------------------- … … 210 211 CALL itd_glinear( zhb0(1:npti) , zhb1(1:npti) , h_ib_1d(1:npti) , a_i_1d(1:npti) , & ! in 211 212 & g0 (1:npti,1), g1 (1:npti,1), hL (1:npti,1), hR (1:npti,1) ) ! out 212 213 ! 213 214 ! Area lost due to melting of thin ice 214 215 DO ji = 1, npti … … 217 218 ! 218 219 zdh0 = h_i_1d(ji) - h_ib_1d(ji) 219 IF( zdh0 < 0.0 ) THEN ! remove area from category 1220 IF( zdh0 < 0.0 ) THEN ! remove area from category 1 220 221 zdh0 = MIN( -zdh0, hi_max(1) ) 221 222 !Integrate g(1) from 0 to dh0 to estimate area melted … … 225 226 zx1 = zetamax 226 227 zx2 = 0.5 * zetamax * zetamax 227 zda0 = g1(ji,1) * zx2 + g0(ji,1) * zx1 228 zda0 = g1(ji,1) * zx2 + g0(ji,1) * zx1 ! ice area removed 228 229 zdamax = a_i_1d(ji) * (1.0 - h_i_1d(ji) / h_ib_1d(ji) ) ! Constrain new thickness <= h_i 229 zda0 = MIN( zda0, zdamax ) ! ice area lost due to melting 230 ! of thin ice (zdamax > 0) 230 zda0 = MIN( zda0, zdamax ) ! ice area lost due to melting of thin ice (zdamax > 0) 231 231 ! Remove area, conserving volume 232 232 h_i_1d(ji) = h_i_1d(ji) * a_i_1d(ji) / ( a_i_1d(ji) - zda0 ) … … 316 316 ! 317 317 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'iceitd_rem', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 318 IF( ln_icediachk ) CALL ice_cons2D (1, 'iceitd_rem', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) 318 319 ! 319 320 END SUBROUTINE ice_itd_rem … … 347 348 DO ji = 1, npti 348 349 ! 349 IF( paice(ji) > epsi10 .AND. phice(ji) > 0._wp) THEN350 IF( paice(ji) > epsi10 .AND. phice(ji) > epsi10 ) THEN 350 351 ! 351 352 ! Initialize hL and hR … … 586 587 ! 587 588 IF( ln_icediachk ) CALL ice_cons_hsm(0, 'iceitd_reb', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 589 IF( ln_icediachk ) CALL ice_cons2D (0, 'iceitd_reb', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) 588 590 ! 589 591 jdonor(:,:) = 0 … … 664 666 ! 665 667 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'iceitd_reb', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 668 IF( ln_icediachk ) CALL ice_cons2D (1, 'iceitd_reb', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) 666 669 ! 667 670 END SUBROUTINE ice_itd_reb … … 685 688 REWIND( numnam_ice_ref ) ! Namelist namitd in reference namelist : Parameters for ice 686 689 READ ( numnam_ice_ref, namitd, IOSTAT = ios, ERR = 901) 687 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namitd in reference namelist' , lwp)690 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namitd in reference namelist' ) 688 691 REWIND( numnam_ice_cfg ) ! Namelist namitd in configuration namelist : Parameters for ice 689 692 READ ( numnam_ice_cfg, namitd, IOSTAT = ios, ERR = 902 ) 690 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namitd in configuration namelist' , lwp)693 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namitd in configuration namelist' ) 691 694 IF(lwm) WRITE( numoni, namitd ) 692 695 !
Note: See TracChangeset
for help on using the changeset viewer.