Changeset 12377 for NEMO/trunk/src/ICE/icecor.F90
- Timestamp:
- 2020-02-12T15:39:06+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEAD ext/AGRIF5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL
-
- Property svn:externals
-
NEMO/trunk/src/ICE/icecor.F90
r11536 r12377 35 35 36 36 !! * Substitutions 37 # include " vectopt_loop_substitute.h90"37 # include "do_loop_substitute.h90" 38 38 !!---------------------------------------------------------------------- 39 39 !! NEMO/ICE 4.0 , NEMO Consortium (2018) … … 88 88 zzc = rhoi * r1_rdtice 89 89 DO jl = 1, jpl 90 DO jj = 1, jpj 91 DO ji = 1, jpi 92 zsal = sv_i(ji,jj,jl) 93 sv_i(ji,jj,jl) = MIN( MAX( rn_simin*v_i(ji,jj,jl) , sv_i(ji,jj,jl) ) , rn_simax*v_i(ji,jj,jl) ) 94 sfx_res(ji,jj) = sfx_res(ji,jj) - ( sv_i(ji,jj,jl) - zsal ) * zzc ! associated salt flux 95 END DO 96 END DO 90 DO_2D_11_11 91 zsal = sv_i(ji,jj,jl) 92 sv_i(ji,jj,jl) = MIN( MAX( rn_simin*v_i(ji,jj,jl) , sv_i(ji,jj,jl) ) , rn_simax*v_i(ji,jj,jl) ) 93 sfx_res(ji,jj) = sfx_res(ji,jj) - ( sv_i(ji,jj,jl) - zsal ) * zzc ! associated salt flux 94 END_2D 97 95 END DO 98 96 ENDIF … … 108 106 ! !----------------------------------------------------- 109 107 IF( kn == 2 ) THEN ! Ice drift case: Corrections to avoid wrong values ! 110 DO jj = 2, jpjm1 !----------------------------------------------------- 111 DO ji = 2, jpim1 112 IF ( at_i(ji,jj) == 0._wp ) THEN ! what to do if there is no ice 113 IF ( at_i(ji+1,jj) == 0._wp ) u_ice(ji ,jj) = 0._wp ! right side 114 IF ( at_i(ji-1,jj) == 0._wp ) u_ice(ji-1,jj) = 0._wp ! left side 115 IF ( at_i(ji,jj+1) == 0._wp ) v_ice(ji,jj ) = 0._wp ! upper side 116 IF ( at_i(ji,jj-1) == 0._wp ) v_ice(ji,jj-1) = 0._wp ! bottom side 117 ENDIF 118 END DO 119 END DO 108 DO_2D_00_00 109 IF ( at_i(ji,jj) == 0._wp ) THEN ! what to do if there is no ice 110 IF ( at_i(ji+1,jj) == 0._wp ) u_ice(ji ,jj) = 0._wp ! right side 111 IF ( at_i(ji-1,jj) == 0._wp ) u_ice(ji-1,jj) = 0._wp ! left side 112 IF ( at_i(ji,jj+1) == 0._wp ) v_ice(ji,jj ) = 0._wp ! upper side 113 IF ( at_i(ji,jj-1) == 0._wp ) v_ice(ji,jj-1) = 0._wp ! bottom side 114 ENDIF 115 END_2D 120 116 CALL lbc_lnk_multi( 'icecor', u_ice, 'U', -1., v_ice, 'V', -1. ) 121 117 ENDIF … … 165 161 ! 166 162 ! controls 167 IF( ln_ctl ) CALL ice_prt3D ('icecor') ! prints 163 IF( sn_cfctl%l_prtctl ) & 164 & CALL ice_prt3D ('icecor') ! prints 168 165 IF( ln_icectl .AND. kn == 2 ) & 169 166 & CALL ice_prt ( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) ! prints
Note: See TracChangeset
for help on using the changeset viewer.