Changeset 10425 for NEMO/trunk/src/SAS/stpctl.F90
- Timestamp:
- 2018-12-19T22:54:16+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/SAS/stpctl.F90
r10068 r10425 32 32 33 33 INTEGER :: idrun, idtime, idssh, idu, ids, istatus 34 LOGICAL :: lsomeoce 34 35 !!---------------------------------------------------------------------- 35 36 !! NEMO/SAS 4.0 , NEMO Consortium (2018) … … 57 58 !! 58 59 REAL(wp), DIMENSION(3) :: zmax 60 CHARACTER(len=20) :: clname 59 61 !!---------------------------------------------------------------------- 60 62 … … 64 66 WRITE(numout,*) '~~~~~~~' 65 67 ! ! open time.step file 66 CALL ctl_opn( numstp, 'time.step', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )68 IF( lwm ) CALL ctl_opn( numstp, 'time.step', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 67 69 ! ! open run.stat file 68 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 69 70 IF( lwm ) THEN 70 IF( ln_ctl .AND. lwm ) THEN 71 CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 72 clname = 'run.stat.nc' 73 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//"_"//TRIM(clname) 71 74 istatus = NF90_CREATE( 'run.stat.nc', NF90_CLOBBER, idrun ) 72 75 istatus = NF90_DEF_DIM( idrun, 'time' , NF90_UNLIMITED, idtime ) … … 76 79 istatus = NF90_ENDDEF(idrun) 77 80 ENDIF 78 79 81 ENDIF 82 IF( kt == nit000 ) lsomeoce = COUNT( ssmask(:,:) == 1._wp ) > 0 80 83 ! 81 IF(lw p) THEN !== current time step ==! ("time.step" file)84 IF(lwm) THEN !== current time step ==! ("time.step" file) 82 85 WRITE ( numstp, '(1x, i8)' ) kt 83 86 REWIND( numstp ) 84 87 ENDIF 85 88 ! !== test of extrema ==! 86 zmax(1) = MAXVAL( vt_i (:,:) ) ! max ice thickness 87 zmax(2) = MAXVAL( ABS( u_ice(:,:) ) ) ! max ice velocity (zonal only) 88 zmax(3) = MAXVAL( -tm_i (:,:)+273.15_wp , mask = ssmask(:,:) == 1._wp ) ! min ice temperature 89 ! 90 IF( lk_mpp ) THEN 91 CALL mpp_max_multiple( zmax(:), 3 ) ! max over the global domain 92 ENDIF 93 ! 94 IF( MOD( kt, nwrite ) == 1 .AND. lwp ) THEN 95 WRITE(numout,*) ' ==>> time-step= ', kt, ' vt_i max: ', zmax(1), ' |u_ice| max: ', zmax(2), ' tm_i min: ', -zmax(3) 96 ENDIF 97 89 IF( ln_ctl ) THEN ! must be done by all processes because of the mpp_max 90 zmax(1) = MAXVAL( vt_i (:,:) ) ! max ice thickness 91 zmax(2) = MAXVAL( ABS( u_ice(:,:) ) ) ! max ice velocity (zonal only) 92 zmax(3) = MAXVAL( -tm_i (:,:)+273.15_wp , mask = ssmask(:,:) == 1._wp ) ! min ice temperature 93 CALL mpp_max( "stpctl", zmax ) ! max over the global domain 94 END IF 98 95 ! !== run statistics ==! ("run.stat" file) 99 IF( lwp) WRITE(numrun,9400) kt, zmax(1), zmax(2), - zmax(3)100 IF( lwm ) THEN96 IF( ln_ctl .AND. lwm ) THEN 97 IF(lwp) WRITE(numrun,9500) kt, zmax(1), zmax(2), - zmax(3) 101 98 istatus = NF90_PUT_VAR( idrun, idssh, (/ zmax(1)/), (/kt/), (/1/) ) 102 99 istatus = NF90_PUT_VAR( idrun, idu, (/ zmax(2)/), (/kt/), (/1/) ) … … 106 103 END IF 107 104 ! 108 9 400 FORMAT(' it :', i8, ' vt_i_max: ', D23.16, ' |u|_max: ', D23.16,' tm_i_min: ', D23.16)105 9500 FORMAT(' it :', i8, ' vt_i_max: ', D23.16, ' |u|_max: ', D23.16,' tm_i_min: ', D23.16) 109 106 ! 110 107 END SUBROUTINE stp_ctl
Note: See TracChangeset
for help on using the changeset viewer.