New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 15803 for NEMO/branches/UKMO/NEMO_4.0.4_EAP_rheology_fix/src/ICE/icedyn_rhg_evp.F90 – NEMO

Ignore:
Timestamp:
2022-04-26T14:32:50+02:00 (2 years ago)
Author:
annkeen
Message:

Change default ice_cvg.nc output to be mean rather than maximum

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_EAP_rheology_fix/src/ICE/icedyn_rhg_evp.F90

    r15742 r15803  
    985985      REAL(wp)          ::   zresm           ! local real  
    986986      CHARACTER(len=20) ::   clname 
    987       REAL(wp), DIMENSION(jpi,jpj) ::   zres           ! check convergence 
     987      LOGICAL           ::   ll_maxcvg 
     988      REAL(wp), DIMENSION(jpi,jpj) ::   zres1           ! check convergence 
     989      REAL(wp), DIMENSION(jpi,jpj) ::   zres2           ! check convergence 
     990      REAL(wp), DIMENSION(2)         ::   ztmp 
    988991      !!---------------------------------------------------------------------- 
     992      ll_maxcvg = .FALSE. 
    989993 
    990994      ! create file 
     
    10151019         zresm = 0._wp 
    10161020      ELSE 
    1017          DO jj = 1, jpj 
    1018             DO ji = 1, jpi 
    1019                zres(ji,jj) = MAX( ABS( pu(ji,jj) - pub(ji,jj) ) * umask(ji,jj,1), & 
     1021         zresm = 0._wp 
     1022         IF( ll_maxcvg ) THEN   ! error max over the domain 
     1023           DO jj = 1, jpj 
     1024              DO ji = 1, jpi 
     1025                 zres1(ji,jj) = MAX( ABS( pu(ji,jj) - pub(ji,jj) ) * umask(ji,jj,1), & 
    10201026                  &               ABS( pv(ji,jj) - pvb(ji,jj) ) * vmask(ji,jj,1) ) * zmsk15(ji,jj) 
    1021             END DO 
    1022          END DO 
    1023          zresm = MAXVAL( zres ) 
    1024          CALL mpp_max( 'icedyn_rhg_evp', zresm )   ! max over the global domain 
     1027                 zres2(ji,jj) = 0._wp 
     1028              END DO 
     1029           END DO 
     1030           zresm = MAXVAL( zres1 ) 
     1031           CALL mpp_max( 'icedyn_rhg_evp', zresm )   ! max over the global domain 
     1032         ELSE                    ! error averaged over the domain 
     1033           DO jj = 1, jpj 
     1034              DO ji = 1, jpi 
     1035                 zres1(ji,jj) = MAX( ABS( pu(ji,jj) - pub(ji,jj) ) * umask(ji,jj,1), & 
     1036                  &                 ABS( pv(ji,jj) - pvb(ji,jj) ) * vmask(ji,jj,1) ) * zmsk15(ji,jj) 
     1037                 zres2(ji,jj) = zmsk15(ji,jj) 
     1038              END DO 
     1039           END DO 
     1040           ztmp(1) = glob_sum( 'icedyn_rhg_evp', zres1 ) 
     1041           ztmp(2) = glob_sum( 'icedyn_rhg_evp', zres2 ) 
     1042           IF( ztmp(2) /= 0._wp )   zresm = ztmp(1) / ztmp(2) 
     1043         ENDIF 
    10251044      ENDIF 
    10261045 
Note: See TracChangeset for help on using the changeset viewer.