- Timestamp:
- 2020-05-14T21:46:00+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Property svn:externals
-
old new 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@HEAD sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/ICE/iceitd.F90
r12178 r12928 48 48 REAL(wp), DIMENSION(0:100) :: rn_catbnd ! ice categories bounds 49 49 ! 50 !! * Substitutions 51 # include "do_loop_substitute.h90" 50 52 !!---------------------------------------------------------------------- 51 53 !! NEMO/ICE 4.0 , NEMO Consortium (2018) … … 96 98 ! 97 99 npti = 0 ; nptidx(:) = 0 98 DO jj = 1, jpj 99 DO ji = 1, jpi 100 IF ( at_i(ji,jj) > epsi10 ) THEN 101 npti = npti + 1 102 nptidx( npti ) = (jj - 1) * jpi + ji 103 ENDIF 104 END DO 105 END DO 100 DO_2D_11_11 101 IF ( at_i(ji,jj) > epsi10 ) THEN 102 npti = npti + 1 103 nptidx( npti ) = (jj - 1) * jpi + ji 104 ENDIF 105 END_2D 106 106 107 107 !----------------------------------------------------------------------------------------------- … … 211 211 CALL itd_glinear( zhb0(1:npti) , zhb1(1:npti) , h_ib_1d(1:npti) , a_i_1d(1:npti) , & ! in 212 212 & g0 (1:npti,1), g1 (1:npti,1), hL (1:npti,1), hR (1:npti,1) ) ! out 213 213 ! 214 214 ! Area lost due to melting of thin ice 215 215 DO ji = 1, npti … … 218 218 ! 219 219 zdh0 = h_i_1d(ji) - h_ib_1d(ji) 220 IF( zdh0 < 0.0 ) THEN ! remove area from category 1220 IF( zdh0 < 0.0 ) THEN ! remove area from category 1 221 221 zdh0 = MIN( -zdh0, hi_max(1) ) 222 222 !Integrate g(1) from 0 to dh0 to estimate area melted … … 226 226 zx1 = zetamax 227 227 zx2 = 0.5 * zetamax * zetamax 228 zda0 = g1(ji,1) * zx2 + g0(ji,1) * zx1 228 zda0 = g1(ji,1) * zx2 + g0(ji,1) * zx1 ! ice area removed 229 229 zdamax = a_i_1d(ji) * (1.0 - h_i_1d(ji) / h_ib_1d(ji) ) ! Constrain new thickness <= h_i 230 zda0 = MIN( zda0, zdamax ) ! ice area lost due to melting 231 ! of thin ice (zdamax > 0) 230 zda0 = MIN( zda0, zdamax ) ! ice area lost due to melting of thin ice (zdamax > 0) 232 231 ! Remove area, conserving volume 233 232 h_i_1d(ji) = h_i_1d(ji) * a_i_1d(ji) / ( a_i_1d(ji) - zda0 ) … … 349 348 DO ji = 1, npti 350 349 ! 351 IF( paice(ji) > epsi10 .AND. phice(ji) > 0._wp) THEN350 IF( paice(ji) > epsi10 .AND. phice(ji) > epsi10 ) THEN 352 351 ! 353 352 ! Initialize hL and hR … … 598 597 ! !--------------------------------------- 599 598 npti = 0 ; nptidx(:) = 0 600 DO jj = 1, jpj 601 DO ji = 1, jpi 602 IF( a_i(ji,jj,jl) > 0._wp .AND. v_i(ji,jj,jl) > (a_i(ji,jj,jl) * hi_max(jl)) ) THEN 603 npti = npti + 1 604 nptidx( npti ) = (jj - 1) * jpi + ji 605 ENDIF 606 END DO 607 END DO 599 DO_2D_11_11 600 IF( a_i(ji,jj,jl) > 0._wp .AND. v_i(ji,jj,jl) > (a_i(ji,jj,jl) * hi_max(jl)) ) THEN 601 npti = npti + 1 602 nptidx( npti ) = (jj - 1) * jpi + ji 603 ENDIF 604 END_2D 608 605 ! 609 606 !!clem CALL tab_2d_1d( npti, nptidx(1:npti), h_i_1d(1:npti), h_i(:,:,jl) ) … … 639 636 ! !----------------------------------------- 640 637 npti = 0 ; nptidx(:) = 0 641 DO jj = 1, jpj 642 DO ji = 1, jpi 643 IF( a_i(ji,jj,jl+1) > 0._wp .AND. v_i(ji,jj,jl+1) <= (a_i(ji,jj,jl+1) * hi_max(jl)) ) THEN 644 npti = npti + 1 645 nptidx( npti ) = (jj - 1) * jpi + ji 646 ENDIF 647 END DO 648 END DO 638 DO_2D_11_11 639 IF( a_i(ji,jj,jl+1) > 0._wp .AND. v_i(ji,jj,jl+1) <= (a_i(ji,jj,jl+1) * hi_max(jl)) ) THEN 640 npti = npti + 1 641 nptidx( npti ) = (jj - 1) * jpi + ji 642 ENDIF 643 END_2D 649 644 ! 650 645 CALL tab_2d_1d( npti, nptidx(1:npti), a_i_1d(1:npti), a_i(:,:,jl+1) ) ! jl+1 is ok … … 687 682 !!------------------------------------------------------------------ 688 683 ! 689 REWIND( numnam_ice_ref ) ! Namelist namitd in reference namelist : Parameters for ice690 684 READ ( numnam_ice_ref, namitd, IOSTAT = ios, ERR = 901) 691 685 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namitd in reference namelist' ) 692 REWIND( numnam_ice_cfg ) ! Namelist namitd in configuration namelist : Parameters for ice693 686 READ ( numnam_ice_cfg, namitd, IOSTAT = ios, ERR = 902 ) 694 687 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namitd in configuration namelist' )
Note: See TracChangeset
for help on using the changeset viewer.