- Timestamp:
- 2011-08-09T10:29:53+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2787_LOCEAN3_TRA_TRP/NEMOGCM/NEMO/TOP_SRC/trcrst.F90
r2715 r2819 285 285 286 286 INTEGER :: jn 287 REAL(wp) :: zdiag_var, zdiag_varmin, zdiag_varmax, zdiag_tot 288 REAL(wp) :: zder 287 REAL(wp) :: ztraf, zmin, zmax, zmean, zdrift 289 288 !!---------------------------------------------------------------------- 290 289 … … 296 295 ENDIF 297 296 298 zdiag_tot = 0.e0 299 DO jn = 1, jptra 300 # if defined key_degrad 301 zdiag_var = glob_sum( trn(:,:,:,jn) * cvol(:,:,:) * facvol(:,:,:) ) 302 # else 303 zdiag_var = glob_sum( trn(:,:,:,jn) * cvol(:,:,:) ) 304 # endif 305 zdiag_varmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 306 zdiag_varmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 297 DO jn = 1, jptra 298 IF( .NOT.lk_degrad ) THEN ; ztraf = glob_sum( trn(:,:,:,jn) * cvol(:,:,:) ) 299 ELSE ; ztraf = glob_sum( trn(:,:,:,jn) * cvol(:,:,:) * facvol(:,:,:) ) 300 ENDIF 301 zmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 302 zmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 307 303 IF( lk_mpp ) THEN 308 CALL mpp_min( z diag_varmin ) ! min over the global domain309 CALL mpp_max( z diag_varmax ) ! max over the global domain304 CALL mpp_min( zmin ) ! min over the global domain 305 CALL mpp_max( zmax ) ! max over the global domain 310 306 END IF 311 zdiag_tot = zdiag_tot + zdiag_var 312 zdiag_var = zdiag_var / areatot 313 IF(lwp) WRITE(numout,*) ' MEAN NO ', jn, ctrcnm(jn), ' = ', zdiag_var, & 314 & ' MIN = ', zdiag_varmin, ' MAX = ', zdiag_varmax 315 END DO 316 317 zder = ( ( zdiag_tot - trai ) / ( trai + 1.e-12 ) ) * 100._wp 318 IF(lwp) WRITE(numout,*) ' Integral of all tracers over the full domain = ', zdiag_tot 319 IF(lwp) WRITE(numout,*) ' Drift of the sum of all tracers =', zder, ' %' 307 zmean = ztraf / areatot 308 zdrift = ( ( ztraf - trai(jn) ) / ( trai(jn) + 1.e-12 ) ) * 100._wp 309 IF(lwp) WRITE(numout,*) ' tracer nb : ', jn,' ', TRIM( ctrcnm(jn) ) , & 310 & ' mean = ', zmean, ' min = ', zmin, ' max = ', zmax, ' drift = ', zdrift, ' %' 311 END DO 312 WRITE(numout,*) 320 313 321 314 END SUBROUTINE trc_rst_stat
Note: See TracChangeset
for help on using the changeset viewer.