Changeset 1938 for branches/DEV_R1821_Rivers/NEMO/OPA_SRC/DOM/closea.F90
- Timestamp:
- 2010-06-16T16:34:29+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_R1821_Rivers/NEMO/OPA_SRC/DOM/closea.F90
r1601 r1938 180 180 INTEGER :: ji, jj, jc, jn ! dummy loop indices 181 181 REAL(wp) :: zze2 182 REAL(wp), DIMENSION (jpncs) :: zemp 182 REAL(wp), DIMENSION (jpncs) :: zfwf 183 184 REAL(wp), DIMENSION (jpi,jpj) :: fwf !: fresh water flux,for volume: emp-rnf 185 REAL(wp), DIMENSION (jpi,jpj) :: fwfs !: fresh water flux, for conc/dilution effect: emps-rnf 183 186 !!---------------------------------------------------------------------- 184 187 ! … … 216 219 ! !--------------------! 217 220 ! ! update emp, emps ! 218 z emp= 0.e0 !--------------------!221 zfwf = 0.e0 !--------------------! 219 222 DO jc = 1, jpncs 220 223 DO jj = ncsj1(jc), ncsj2(jc) 221 224 DO ji = ncsi1(jc), ncsi2(jc) 222 z emp(jc) = zemp(jc) + e1t(ji,jj) * e2t(ji,jj) * emp(ji,jj) * tmask_i(ji,jj)225 zfwf(jc) = zfwf(jc) + e1t(ji,jj) * e2t(ji,jj) * ( emp(ji,jj)-rnf(ji,jj) ) * tmask_i(ji,jj) 223 226 END DO 224 227 END DO 225 228 END DO 226 IF( lk_mpp ) CALL mpp_sum ( z emp(:) , jpncs ) ! mpp: sum over all the global domain229 IF( lk_mpp ) CALL mpp_sum ( zfwf(:) , jpncs ) ! mpp: sum over all the global domain 227 230 228 231 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! Black Sea case for ORCA_R2 configuration 229 zze2 = ( z emp(3) + zemp(4) ) / 2.230 z emp(3) = zze2231 z emp(4) = zze2232 zze2 = ( zfwf(3) + zfwf(4) ) / 2. 233 zfwf(3) = zze2 234 zfwf(4) = zze2 232 235 ENDIF 233 236 … … 236 239 IF( ncstt(jc) == 0 ) THEN 237 240 ! water/evap excess is shared by all open ocean 238 emp (:,:) = emp (:,:) + z emp(jc) / surf(jpncs+1)239 emps(:,:) = emps(:,:) + z emp(jc) / surf(jpncs+1)241 emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 242 emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 240 243 ELSEIF( ncstt(jc) == 1 ) THEN 241 244 ! Excess water in open sea, at outflow location, excess evap shared 242 IF ( z emp(jc) <= 0.e0 ) THEN245 IF ( zfwf(jc) <= 0.e0 ) THEN 243 246 DO jn = 1, ncsnr(jc) 244 247 ji = mi0(ncsir(jc,jn)) … … 246 249 IF ( ji > 1 .AND. ji < jpi & 247 250 .AND. jj > 1 .AND. jj < jpj ) THEN 248 emp (ji,jj) = emp (ji,jj) + z emp(jc) / &251 emp (ji,jj) = emp (ji,jj) + zfwf(jc) / & 249 252 (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj)) 250 emps(ji,jj) = emps(ji,jj) + z emp(jc) / &253 emps(ji,jj) = emps(ji,jj) + zfwf(jc) / & 251 254 (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj)) 252 255 END IF 253 256 END DO 254 257 ELSE 255 emp (:,:) = emp (:,:) + z emp(jc) / surf(jpncs+1)256 emps(:,:) = emps(:,:) + z emp(jc) / surf(jpncs+1)258 emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 259 emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 257 260 ENDIF 258 261 ELSEIF( ncstt(jc) == 2 ) THEN … … 263 266 ji = mi0(ncsir(jc,jn)) 264 267 jj = mj0(ncsjr(jc,jn)) ! Location of outflow in open ocean 265 emp (ji,jj) = emp (ji,jj) + z emp(jc) &268 emp (ji,jj) = emp (ji,jj) + zfwf(jc) & 266 269 / (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj) ) 267 emps(ji,jj) = emps(ji,jj) + z emp(jc) &270 emps(ji,jj) = emps(ji,jj) + zfwf(jc) & 268 271 / (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj) ) 269 272 END DO … … 273 276 DO jj = ncsj1(jc), ncsj2(jc) 274 277 DO ji = ncsi1(jc), ncsi2(jc) 275 emp (ji,jj) = emp (ji,jj) - z emp(jc) / surf(jc)276 emps(ji,jj) = emps(ji,jj) - z emp(jc) / surf(jc)278 emp (ji,jj) = emp (ji,jj) - zfwf(jc) / surf(jc) 279 emps(ji,jj) = emps(ji,jj) - zfwf(jc) / surf(jc) 277 280 END DO 278 281 END DO … … 280 283 END DO 281 284 ! 282 CALL lbc_lnk( emp , 'T', 1. ) 283 CALL lbc_lnk( emps, 'T', 1. ) 285 fwf(:,:) = emp(:,:) - rnf(:,:) 286 fwfs(:,:) = emps(:,:) - rnf(:,:) 287 CALL lbc_lnk( fwf , 'T', 1. ) 288 CALL lbc_lnk( fwfs, 'T', 1. ) 284 289 ! 285 290 END SUBROUTINE sbc_clo
Note: See TracChangeset
for help on using the changeset viewer.