Changeset 14546
- Timestamp:
- 2021-02-25T12:46:00+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_FKOSM_m11715/src/OCE/stpctl.F90
r11715 r14546 67 67 REAL(wp) :: zzz ! local real 68 68 REAL(wp), DIMENSION(9) :: zmax 69 LOGICAL :: ll_wrtstp, ll_colruns, ll_wrtruns 69 LOGICAL :: ll_wrtstp, ll_colruns, ll_wrtruns, ll_chku 70 70 CHARACTER(len=20) :: clname 71 71 !!---------------------------------------------------------------------- 72 72 ! 73 ll_chku = ( MOD( kt-nit000, 2 ) == 0 ) 73 74 ll_wrtstp = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 74 75 ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) … … 115 116 zmax(1) = MAXVAL( ABS( sshn(:,:) ) ) ! ssh max 116 117 ENDIF 117 zmax(2) = MAXVAL( ABS( un(:,:,:) ) ) ! velocity max (zonal only) 118 IF( ll_chku ) THEN 119 zmax(2) = MAXVAL( ABS( un(:,:,:) ) ) ! velocity max (zonal on odd timesteps) 120 ELSE 121 zmax(2) = MAXVAL( ABS( vn(:,:,:) ) ) ! velocity max (meridional on even timesteps) 122 ENDIF 118 123 zmax(3) = MAXVAL( -tsn(:,:,:,jp_sal) , mask = tmask(:,:,:) == 1._wp ) ! minus salinity max 119 124 zmax(4) = MAXVAL( tsn(:,:,:,jp_sal) , mask = tmask(:,:,:) == 1._wp ) ! salinity max … … 132 137 ! !== run statistics ==! ("run.stat" files) 133 138 IF( ll_wrtruns ) THEN 134 WRITE(numrun,9500) kt, zmax(1), zmax(2), -zmax(3), zmax(4) 139 IF( ll_chku ) THEN 140 WRITE(numrun,9500) kt, zmax(1), zmax(2), -zmax(3), zmax(4) 141 ELSE 142 WRITE(numrun,9501) kt, zmax(1), zmax(2), -zmax(3), zmax(4) 143 ENDIF 135 144 istatus = NF90_PUT_VAR( idrun, idssh, (/ zmax(1)/), (/kt/), (/1/) ) 136 145 istatus = NF90_PUT_VAR( idrun, idu, (/ zmax(2)/), (/kt/), (/1/) ) … … 156 165 IF( lk_mpp .AND. ln_ctl ) THEN 157 166 CALL mpp_maxloc( 'stpctl', ABS(sshn) , ssmask(:,:) , zzz, ih ) 158 CALL mpp_maxloc( 'stpctl', ABS(un) , umask (:,:,:), zzz, iu ) 167 IF( ll_chku ) THEN 168 CALL mpp_maxloc( 'stpctl', ABS(un) , umask (:,:,:), zzz, iu ) 169 ELSE 170 CALL mpp_maxloc( 'stpctl', ABS(vn) , vmask (:,:,:), zzz, iu ) 171 ENDIF 159 172 CALL mpp_minloc( 'stpctl', tsn(:,:,:,jp_sal), tmask (:,:,:), zzz, is1 ) 160 173 CALL mpp_maxloc( 'stpctl', tsn(:,:,:,jp_sal), tmask (:,:,:), zzz, is2 ) 161 174 ELSE 162 175 ih(:) = MAXLOC( ABS( sshn(:,:) ) ) + (/ nimpp - 1, njmpp - 1 /) 163 iu(:) = MAXLOC( ABS( un (:,:,:) ) ) + (/ nimpp - 1, njmpp - 1, 0 /) 176 IF( ll_chku ) THEN 177 iu(:) = MAXLOC( ABS( un (:,:,:) ) ) + (/ nimpp - 1, njmpp - 1, 0 /) 178 ELSE 179 iu(:) = MAXLOC( ABS( vn (:,:,:) ) ) + (/ nimpp - 1, njmpp - 1, 0 /) 180 ENDIF 164 181 is1(:) = MINLOC( tsn(:,:,:,jp_sal), mask = tmask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 165 182 is2(:) = MAXLOC( tsn(:,:,:,jp_sal), mask = tmask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 166 183 ENDIF 167 184 168 WRITE(ctmp1,*) ' stp_ctl: |ssh| > 20 m or | U| > 10 m/s or S <= 0 or S >= 100 or NaN encounter in the tests'185 WRITE(ctmp1,*) ' stp_ctl: |ssh| > 20 m or |[U,V]| > 10 m/s or S <= 0 or S >= 100 or NaN encounter in the tests' 169 186 WRITE(ctmp2,9100) kt, zmax(1), ih(1) , ih(2) 170 WRITE(ctmp3,9200) kt, zmax(2), iu(1) , iu(2) , iu(3) 187 IF( ll_chku ) THEN 188 WRITE(ctmp3,9200) kt, zmax(2), iu(1) , iu(2) , iu(3) 189 ELSE 190 WRITE(ctmp3,9201) kt, zmax(2), iu(1) , iu(2) , iu(3) 191 ENDIF 171 192 WRITE(ctmp4,9300) kt, - zmax(3), is1(1), is1(2), is1(3) 172 193 WRITE(ctmp5,9400) kt, zmax(4), is2(1), is2(2), is2(3) … … 188 209 9100 FORMAT (' kt=',i8,' |ssh| max: ',1pg11.4,', at i j : ',2i5) 189 210 9200 FORMAT (' kt=',i8,' |U| max: ',1pg11.4,', at i j k: ',3i5) 211 9201 FORMAT (' kt=',i8,' |V| max: ',1pg11.4,', at i j k: ',3i5) 190 212 9300 FORMAT (' kt=',i8,' S min: ',1pg11.4,', at i j k: ',3i5) 191 213 9400 FORMAT (' kt=',i8,' S max: ',1pg11.4,', at i j k: ',3i5) 192 214 9500 FORMAT(' it :', i8, ' |ssh|_max: ', D23.16, ' |U|_max: ', D23.16,' S_min: ', D23.16,' S_max: ', D23.16) 215 9501 FORMAT(' it :', i8, ' |ssh|_max: ', D23.16, ' |V|_max: ', D23.16,' S_min: ', D23.16,' S_max: ', D23.16) 193 216 ! 194 217 END SUBROUTINE stp_ctl
Note: See TracChangeset
for help on using the changeset viewer.