- Timestamp:
- 2010-10-27T15:18:11+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limdyn_2.F90
r2287 r2319 22 22 USE dom_ice_2 ! 23 23 USE limistate_2 ! 24 #if defined key_lim2_vp 24 25 USE limrhg_2 ! ice rheology 25 26 #else 27 USE limrhg ! LIM : EVP ice rheology 28 #endif 26 29 USE lbclnk ! 27 30 USE lib_mpp ! … … 87 90 i_jpj = jpj 88 91 IF(ln_ctl) CALL prt_ctl_info( 'lim_dyn : i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj ) 89 CALL lim_rhg_2( i_j1, i_jpj ) 92 #if defined key_lim2_vp 93 CALL lim_rhg_2( i_j1, i_jpj ) ! VP rheology 94 #else 95 CALL lim_rhg ( i_j1, i_jpj ) ! EVP rheology 96 #endif 90 97 ! 91 98 ELSE ! optimization of the computational area … … 105 112 i_j1 = i_j1 + 1 106 113 END DO 114 #if defined key_lim2_vp 107 115 i_j1 = MAX( 1, i_j1-1 ) 108 116 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj … … 110 118 CALL lim_rhg_2( i_j1, i_jpj ) 111 119 ! 120 #else 121 i_j1 = MAX( 1, i_j1-2 ) 122 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, 'ij_jpj = ', i_jpj 123 CALL lim_rhg( i_j1, i_jpj ) 124 ! 125 #endif 112 126 ! Southern hemisphere 113 127 i_j1 = 1 … … 116 130 i_jpj = i_jpj - 1 117 131 END DO 132 #if defined key_lim2_vp 118 133 i_jpj = MIN( jpj, i_jpj+2 ) 119 134 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj … … 121 136 CALL lim_rhg_2( i_j1, i_jpj ) 122 137 ! 138 #else 139 i_jpj = MIN( jpj, i_jpj+1 ) 140 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, 'ij_jpj = ', i_jpj 141 CALL lim_rhg( i_j1, i_jpj ) 142 ! 143 #endif 144 123 145 ELSE ! local domain extends over one hemisphere only 124 146 ! ! Rheology is computed only over the ice cover … … 138 160 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 139 161 ! 140 CALL lim_rhg_2( i_j1, i_jpj ) 162 #if defined key_lim2_vp 163 i_jpj = MIN( jpj, i_jpj+2) 164 CALL lim_rhg_2( i_j1, i_jpj ) ! VP rheology 165 #else 166 i_j1 = MAX( 1, i_j1-2 ) 167 i_jpj = MIN( jpj, i_jpj+1) 168 CALL lim_rhg ( i_j1, i_jpj ) ! EVP rheology 169 #endif 141 170 ! 142 171 ENDIF … … 148 177 ! computation of friction velocity 149 178 ! -------------------------------- 150 ! ice-ocean velocity at U & V-points (u_ice v_ice at I-point ; ssu_m, ssv_m at U- & V-points) 151 152 DO jj = 1, jpjm1 153 DO ji = 1, jpim1 ! NO vector opt. 154 zu_io(ji,jj) = 0.5 * ( u_ice(ji+1,jj+1) + u_ice(ji+1,jj ) ) - ssu_m(ji,jj) 155 zv_io(ji,jj) = 0.5 * ( v_ice(ji+1,jj+1) + v_ice(ji ,jj+1) ) - ssv_m(ji,jj) 156 END DO 157 END DO 179 SELECT CASE( cl_grid ) 180 CASE( 'C' ) ! C-grid ice dynamics (EVP) 181 ! ice-ocean & ice velocity at ocean velocity points 182 zu_io(:,:) = u_ice(:,:) - ssu_m(:,:) 183 zv_io(:,:) = v_ice(:,:) - ssv_m(:,:) 184 ! 185 CASE( 'B' ) ! B-grid ice dynamics (VP) 186 ! ice-ocean velocity at U & V-points (u_ice v_ice at I-point ; ssu_m, ssv_m at U- & V-points) 187 DO jj = 1, jpjm1 188 DO ji = 1, jpim1 ! NO vector opt. 189 zu_io(ji,jj) = 0.5 * ( u_ice(ji+1,jj+1) + u_ice(ji+1,jj ) ) - ssu_m(ji,jj) 190 zv_io(ji,jj) = 0.5 * ( v_ice(ji+1,jj+1) + v_ice(ji ,jj+1) ) - ssv_m(ji,jj) 191 END DO 192 END DO 193 END SELECT 194 158 195 ! frictional velocity at T-point 159 196 DO jj = 2, jpjm1 … … 198 235 NAMELIST/namicedyn/ epsd, alpha, & 199 236 & dm, nbiter, nbitdr, om, resl, cw, angvg, pstar, & 200 & c_rhg, etamn, creepl, ecc, ahi0 237 & c_rhg, etamn, creepl, ecc, ahi0 & 238 & nevp, telast,alphaevp 201 239 !!------------------------------------------------------------------- 202 240 … … 223 261 WRITE(numout,*) ' eccentricity of the elliptical yield curve ecc = ', ecc 224 262 WRITE(numout,*) ' horizontal diffusivity coeff. for sea-ice ahi0 = ', ahi0 263 WRITE(numout,*) ' number of iterations for subcycling nevp = ', nevp 264 WRITE(numout,*) ' timescale for elastic waves telast = ', telast 265 WRITE(numout,*) ' coefficient for the solution of int. stresses alphaevp = ', alphaevp 225 266 ENDIF 226 267
Note: See TracChangeset
for help on using the changeset viewer.