- Timestamp:
- 2018-01-11T16:41:21+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/stpctl.F90
r9023 r9210 19 19 USE dom_oce ! ocean space and time domain variables 20 20 USE c1d ! 1D vertical configuration 21 USE diawri ! Standard run outputs (dia_wri_state routine) 21 22 ! 22 23 USE in_out_manager ! I/O manager 23 24 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 24 25 USE lib_mpp ! distributed memory computing 25 USE wet_dry, ONLY: ll_wd, ssh_ref ! reference depth for negative bathy26 USE wet_dry, ONLY : ll_wd, ssh_ref ! reference depth for negative bathy 26 27 27 28 IMPLICIT NONE … … 51 52 !! ** Actions : "time.step" file = last ocean time-step 52 53 !! "run.stat" file = run statistics 54 !! nstop indicator sheared among all local domain (lk_mpp=T) 53 55 !!---------------------------------------------------------------------- 54 56 INTEGER, INTENT(in ) :: kt ! ocean time-step index … … 62 64 INTEGER , DIMENSION(3) :: ilocu, ilocs 63 65 INTEGER , DIMENSION(2) :: iloch 64 REAL(wp), DIMENSION( 3) :: zmax66 REAL(wp), DIMENSION(4) :: zmax 65 67 !!---------------------------------------------------------------------- 66 68 ! … … 82 84 ! !== test of extrema ==! 83 85 IF( ll_wd ) THEN 84 zmax(1) = MAXVAL( ABS( sshn(:,:) + ssh_ref*tmask(:,:,1) ) ) 86 zmax(1) = MAXVAL( ABS( sshn(:,:) + ssh_ref*tmask(:,:,1) ) ) ! ssh max 85 87 ELSE 86 zmax(1) = MAXVAL( ABS( sshn(:,:) ) ) 88 zmax(1) = MAXVAL( ABS( sshn(:,:) ) ) ! ssh max 87 89 ENDIF 88 90 zmax(2) = MAXVAL( ABS( un(:,:,:) ) ) ! velocity max (zonal only) 89 91 zmax(3) = MAXVAL( -tsn(:,:,:,jp_sal) , mask = tmask(:,:,:) == 1._wp ) ! minus salinity max 92 zmax(4) = REAL( nstop , wp ) ! stop indicator 90 93 ! 91 IF( lk_mpp ) CALL mpp_max_multiple( zmax(:), 3 ) ! max over the global domain 94 IF( lk_mpp ) THEN 95 CALL mpp_max_multiple( zmax(:), 4 ) ! max over the global domain 96 ! 97 nstop = INT( zmax(4) ) ! nstop indicator sheared among all local domains 98 ENDIF 92 99 ! 93 100 IF( MOD( kt, nwrite ) == 1 .AND. lwp ) THEN … … 114 121 IF(lwp) THEN 115 122 WRITE(numout,cform_err) 116 WRITE(numout,*) ' stp ctl: |ssh| > 10 m or |U| > 10 m/s or S < 0 or NaN encounter in the tests'117 WRITE(numout,*) ' ====== '123 WRITE(numout,*) ' stp_ctl: |ssh| > 10 m or |U| > 10 m/s or S < 0 or NaN encounter in the tests' 124 WRITE(numout,*) ' ======= ' 118 125 WRITE(numout,9100) kt, zmax(1), iih, ijh 119 126 WRITE(numout,9200) kt, zmax(2), iiu, iju, iku … … 123 130 ENDIF 124 131 kindic = -3 132 ! 133 nstop = nstop + 1 ! increase nstop by 1 (on all local domains) 134 CALL dia_wri_state( 'output.abort', kt ) ! create an output.abort file 135 ! 125 136 ENDIF 126 137 9100 FORMAT (' kt=',i8,' |ssh| max: ',1pg11.4,', at i j : ',2i5)
Note: See TracChangeset
for help on using the changeset viewer.