- Timestamp:
- 2012-11-21T14:19:18+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90
r2715 r3625 18 18 USE oce ! dynamics and tracers 19 19 USE dom_oce ! ocean space and time domain 20 USE phycst 20 21 USE in_out_manager ! I/O manager 21 22 USE sbc_oce ! ocean surface boundary conditions … … 173 174 !! put as run-off in open ocean. 174 175 !! 175 !! ** Action : emp , emps updated surface freshwater fluxesat kt176 !! ** Action : emp updated surface freshwater flux at kt 176 177 !!---------------------------------------------------------------------- 177 178 INTEGER, INTENT(in) :: kt ! ocean model time step 178 179 ! 179 180 INTEGER :: ji, jj, jc, jn ! dummy loop indices 180 REAL(wp) :: zze2 181 REAL(wp) :: zze2, zcoef, zcoef1 181 182 REAL(wp), DIMENSION (jpncs) :: zfwf 182 183 !!---------------------------------------------------------------------- … … 214 215 ENDIF 215 216 ! !--------------------! 216 ! ! update emp , emps!217 ! ! update emp ! 217 218 zfwf = 0.e0 !--------------------! 218 219 DO jc = 1, jpncs … … 235 236 IF( ncstt(jc) == 0 ) THEN 236 237 ! water/evap excess is shared by all open ocean 237 emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 238 emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 238 zcoef = zfwf(jc) / surf(jpncs+1) 239 zcoef1 = rcp * zcoef 240 emp(:,:) = emp(:,:) + zcoef 241 qns(:,:) = qns(:,:) - zcoef1 * sst_m(:,:) 239 242 ELSEIF( ncstt(jc) == 1 ) THEN 240 243 ! Excess water in open sea, at outflow location, excess evap shared … … 245 248 IF ( ji > 1 .AND. ji < jpi & 246 249 .AND. jj > 1 .AND. jj < jpj ) THEN 247 emp (ji,jj) = emp (ji,jj) + zfwf(jc) / &248 (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj))249 emp s(ji,jj) = emps(ji,jj) + zfwf(jc) / &250 (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj))250 zcoef = zfwf(jc) / ( REAL(ncsnr(jc), wp) * e1t(ji,jj) * e2t(ji,jj) ) 251 zcoef1 = rcp * zcoef 252 emp(ji,jj) = emp(ji,jj) + zcoef 253 qns(ji,jj) = qns(ji,jj) - zcoef1 * sst_m(ji,jj) 251 254 END IF 252 255 END DO 253 256 ELSE 254 emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 255 emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 257 zcoef = zfwf(jc) / surf(jpncs+1) 258 zcoef1 = rcp * zcoef 259 emp(:,:) = emp(:,:) + zcoef 260 qns(:,:) = qns(:,:) - zcoef1 * sst_m(:,:) 256 261 ENDIF 257 262 ELSEIF( ncstt(jc) == 2 ) THEN … … 262 267 ji = mi0(ncsir(jc,jn)) 263 268 jj = mj0(ncsjr(jc,jn)) ! Location of outflow in open ocean 264 emp (ji,jj) = emp (ji,jj) + zfwf(jc) &265 / (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj) )266 emp s(ji,jj) = emps(ji,jj) + zfwf(jc) &267 / (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj))269 zcoef = zfwf(jc) / ( REAL(ncsnr(jc), wp) * e1t(ji,jj) * e2t(ji,jj) ) 270 zcoef1 = rcp * zcoef 271 emp(ji,jj) = emp(ji,jj) + zcoef 272 qns(ji,jj) = qns(ji,jj) - zcoef1 * sst_m(ji,jj) 268 273 END DO 269 274 ENDIF … … 272 277 DO jj = ncsj1(jc), ncsj2(jc) 273 278 DO ji = ncsi1(jc), ncsi2(jc) 274 emp (ji,jj) = emp (ji,jj) - zfwf(jc) / surf(jc) 275 emps(ji,jj) = emps(ji,jj) - zfwf(jc) / surf(jc) 279 zcoef = zfwf(jc) / surf(jc) 280 zcoef1 = rcp * zcoef 281 emp(ji,jj) = emp(ji,jj) - zcoef 282 qns(ji,jj) = qns(ji,jj) + zcoef1 * sst_m(ji,jj) 276 283 END DO 277 284 END DO … … 280 287 ! 281 288 CALL lbc_lnk( emp , 'T', 1. ) 282 CALL lbc_lnk( emps, 'T', 1. )283 289 ! 284 290 END SUBROUTINE sbc_clo
Note: See TracChangeset
for help on using the changeset viewer.