Changeset 23 for trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obcvol.F90
- Timestamp:
- 02/13/12 19:45:12 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obcvol.F90
r1 r23 83 83 INTEGER :: ji, jj, jk 84 84 REAL(wp) :: zubtpecor 85 REAL(wp) :: zubtpecorE,zubtpecorW,zubtpecorS,zubtpecorN 85 86 REAL(wp) :: zCflxemp 86 87 REAL(wp) :: ztransw, ztranse, ztransn, ztranss, ztranst … … 105 106 106 107 zubtpecor = 0.e0 108 zubtpecorE = 0.e0 109 zubtpecorW = 0.e0 110 zubtpecorS = 0.e0 111 zubtpecorN = 0.e0 107 112 108 113 ! ... East open boundary … … 111 116 DO jk = 1, jpkm1 112 117 DO jj = 1, jpj 113 zubtpecor = zubtpecor- ua(ji,jj,jk)*e2u(ji,jj)*fse3u(ji,jj,jk) * &118 zubtpecorE = zubtpecorE - ua(ji,jj,jk)*e2u(ji,jj)*fse3u(ji,jj,jk) * & 114 119 & uemsk(jj,jk)*MAX(obctmsk(ji,jj),obctmsk(ji+1,jj) ) 115 120 END DO … … 123 128 DO jk = 1, jpkm1 124 129 DO jj = 1, jpj 125 zubtpecor = zubtpecor+ ua(ji,jj,jk)*e2u(ji,jj)*fse3u(ji,jj,jk) * &130 zubtpecorW = zubtpecorW + ua(ji,jj,jk)*e2u(ji,jj)*fse3u(ji,jj,jk) * & 126 131 & uwmsk(jj,jk) *MAX(obctmsk(ji,jj),obctmsk(ji+1,jj) ) 127 132 END DO … … 135 140 DO jk = 1, jpkm1 136 141 DO ji = 1, jpi 137 zubtpecor = zubtpecor- va(ji,jj,jk)*e1v(ji,jj)*fse3v(ji,jj,jk) * &142 zubtpecorN = zubtpecorN - va(ji,jj,jk)*e1v(ji,jj)*fse3v(ji,jj,jk) * & 138 143 & vnmsk(ji,jk) * MAX(obctmsk(ji,jj),obctmsk(ji,jj+1) ) 139 144 END DO … … 147 152 DO jk = 1, jpkm1 148 153 DO ji = 1, jpi 149 zubtpecor = zubtpecor+ va(ji,jj,jk)*e1v(ji,jj)*fse3v(ji,jj,jk) * &154 zubtpecorS = zubtpecorS + va(ji,jj,jk)*e1v(ji,jj)*fse3v(ji,jj,jk) * & 150 155 & vsmsk(ji,jk) * MAX(obctmsk(ji,jj),obctmsk(ji,jj+1) ) 151 156 END DO … … 154 159 ENDIF 155 160 156 IF( lk_mpp ) CALL mpp_sum( zubtpecor ) ! sum over the global domain 157 161 IF( lk_mpp ) CALL mpp_sum( zubtpecorN ) ! sum over the global domain 162 IF( lk_mpp ) CALL mpp_sum( zubtpecorS ) ! sum over the global domain 163 IF( lk_mpp ) CALL mpp_sum( zubtpecorW ) ! sum over the global domain 164 IF( lk_mpp ) CALL mpp_sum( zubtpecorE ) ! sum over the global domain 165 zubtpecor = zubtpecorE + zubtpecorW + zubtpecorN + zubtpecorS 158 166 159 167 ! 3. The normal velocity correction … … 165 173 IF(lwp) WRITE(numout,*)' cumulate flux EMP :', zCflxemp,' (m3/s)' 166 174 IF(lwp) WRITE(numout,*)' lateral transport :',zubtpecor,'(m3/s)' 175 IF(lwp) WRITE(numout,*)' East lateral transport (before corr.):',zubtpecorE,'(m3/s)' 176 IF(lwp) WRITE(numout,*)' West lateral transport (before corr.):',zubtpecorW,'(m3/s)' 177 IF(lwp) WRITE(numout,*)' North lateral transport (before corr.):',zubtpecorN,'(m3/s)' 178 IF(lwp) WRITE(numout,*)' South lateral transport (before corr.):',zubtpecorS,'(m3/s)' 167 179 IF(lwp) WRITE(numout,*)' net inflow :',zubtpecor-zCflxemp,'(m3/s)' 168 180 ENDIF … … 183 195 ztranst = 0.e0 ! total 184 196 185 IF( lp_obc_west ) THEN197 IF( lp_obc_west .AND. lp_obc_west_barotp_corr ) THEN 186 198 ! ... correction of the west velocity 187 199 DO ji = fs_niw0, fs_niw1 ! Vector opt. … … 200 212 END IF 201 213 202 IF( lp_obc_east ) THEN214 IF( lp_obc_east .AND. lp_obc_east_barotp_corr ) THEN 203 215 204 216 ! ... correction of the east velocity … … 221 233 END IF 222 234 223 IF( lp_obc_north ) THEN235 IF( lp_obc_north .AND. lp_obc_north_barotp_corr ) THEN 224 236 225 237 ! ... correction of the north velocity … … 241 253 END IF 242 254 243 IF( lp_obc_south ) THEN255 IF( lp_obc_south .AND. lp_obc_south_barotp_corr ) THEN 244 256 245 257 ! ... correction of the south velocity
Note: See TracChangeset
for help on using the changeset viewer.