- Timestamp:
- 2013-07-11T15:59:14+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r3294 r3970 141 141 END DO 142 142 143 #if defined key_dynspg_ts 144 ! bg jchanut tschanges 145 ht_0(:,:) = 0._wp ! Reference ocean depth at T-points 146 DO jk = 1, jpk 147 ht_0(:,:) = ht_0(:,:) + fse3t_0(:,:,jk) * tmask(:,:,jk) 148 END DO 149 ! Reference ocean depth at F-points 150 ! Ensure that depth is non-zero over land 151 IF ( .not. ln_sco ) THEN 152 IF( rn_hmin < 0._wp ) THEN ; jk = - INT( rn_hmin ) ! from a nb of level 153 ELSE ; jk = MINLOC( gdepw_0, mask = gdepw_0 > rn_hmin, dim = 1 ) ! from a depth 154 ENDIF 155 hf_0(:,:) = gdepw_0(jk+1) 156 ELSE 157 hf_0(:,:) = hbatf(:,:) 158 END IF 159 160 DO jj = 1, jpjm1 161 hf_0(:,jj) = hf_0(:,jj)*(1._wp- umask(:,jj,1) * umask(:,jj+1,1)) 162 END DO 163 164 DO jk = 1, jpkm1 165 DO jj = 1, jpjm1 166 hf_0(:,jj) = hf_0(:,jj) + fse3f_0(:,jj,jk) * umask(:,jj,jk) * umask(:,jj+1,jk) 167 END DO 168 END DO 169 CALL lbc_lnk( hf_0, 'F', 1._wp ) 170 ! end jchanut tschanges 171 #endif 172 143 173 DO jj = 1, jpjm1 ! initialise before and now Sea Surface Height at u-, v-, f-points 144 174 DO ji = 1, jpim1 ! NO vector opt. … … 192 222 INTEGER :: iku, ikv ! local integers 193 223 INTEGER :: ii0, ii1, ij0, ij1 ! temporary integers 194 REAL(wp) :: zvt 224 REAL(wp) :: zvt, zvtip1, zvtjp1 ! local scalars 195 225 !!---------------------------------------------------------------------- 196 226 ! … … 202 232 WRITE(numout,*) '~~~~~~~~~ ' 203 233 pe3u_b(:,:,jpk) = fse3u_0(:,:,jpk) 204 pe3v_b(:,:,jpk) = fse3 u_0(:,:,jpk)234 pe3v_b(:,:,jpk) = fse3v_0(:,:,jpk) 205 235 ENDIF 206 236 … … 208 238 DO jj = 2, jpjm1 209 239 DO ji = fs_2, fs_jpim1 210 zvt = fse3t_b(ji,jj,jk) * e1e2t(ji,jj) 211 pe3u_b(ji,jj,jk) = 0.5_wp * ( zvt + fse3t_b(ji+1,jj,jk) * e1e2t(ji+1,jj) ) / ( e1u(ji,jj) * e2u(ji,jj) ) 212 pe3v_b(ji,jj,jk) = 0.5_wp * ( zvt + fse3t_b(ji,jj+1,jk) * e1e2t(ji,jj+1) ) / ( e1v(ji,jj) * e2v(ji,jj) ) 240 zvt = ( fse3t_b(ji ,jj ,jk) - fse3t_0(ji ,jj ,jk) ) * e1e2t(ji ,jj ) 241 zvtip1 = ( fse3t_b(ji+1,jj ,jk) - fse3t_0(ji+1,jj ,jk) ) * e1e2t(ji+1,jj ) 242 zvtjp1 = ( fse3t_b(ji ,jj+1,jk) - fse3t_0(ji ,jj+1,jk) ) * e1e2t(ji ,jj+1) 243 pe3u_b(ji,jj,jk) = fse3u_0(ji,jj,jk) + 0.5_wp * ( zvt + zvtip1 ) / ( e1u(ji,jj) * e2u(ji,jj) ) 244 pe3v_b(ji,jj,jk) = fse3v_0(ji,jj,jk) + 0.5_wp * ( zvt + zvtjp1 ) / ( e1v(ji,jj) * e2v(ji,jj) ) 213 245 END DO 214 246 END DO
Note: See TracChangeset
for help on using the changeset viewer.