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 4616 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:28:25+02:00 (10 years ago)
Author:
gm
Message:

#1260 : see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90

    r4147 r4616  
    5454#  include "vectopt_loop_substitute.h90" 
    5555   !!---------------------------------------------------------------------- 
    56    !! NEMO/OPA 4.0 , NEMO Consortium (2011) 
     56   !! NEMO/OPA 3.7 , NEMO Consortium (2014) 
    5757   !! $Id$ 
    5858   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    144144            DO jj= 1, jpj 
    145145               DO ji= 1, jpi 
    146                   ztpc = ztpc + fse3w(ji,jj,jk) * e1t(ji,jj) * e2t(ji,jj)   & 
     146                  ztpc = ztpc + fse3w(ji,jj,jk) * e1e2t(ji,jj)                   & 
    147147                     &         * MAX( 0.e0, rn2(ji,jj,jk) ) * zav_tide(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
    148148               END DO 
     
    150150         END DO 
    151151         ztpc= rau0 / ( rn_tfe * rn_me ) * ztpc 
     152         IF( lk_mpp )   CALL mpp_sum( ztpc ) 
    152153         IF(lwp) WRITE(numout,*)  
    153154         IF(lwp) WRITE(numout,*) '          N Total power consumption by av_tide    : ztpc = ', ztpc * 1.e-12 ,'TW' 
     
    228229      DO jk = 1, jpkm1              
    229230         zdn2dz     (:,:,jk) = rn2(:,:,jk) - rn2(:,:,jk+1)           ! Vertical profile of dN2/dz 
    230 !CDIR NOVERRCHK 
    231231         zempba_3d_1(:,:,jk) = SQRT(  MAX( 0.e0, rn2(:,:,jk) )  )    !    -        -    of N 
    232232         zempba_3d_2(:,:,jk) =        MAX( 0.e0, rn2(:,:,jk) )       !    -        -    of N^2 
     
    292292            DO jj= 1, jpj 
    293293               DO ji= 1, jpi 
    294                   ztpc = ztpc + e1t(ji,jj) * e2t(ji,jj) * fse3w(ji,jj,jk) * MAX( 0.e0, rn2(ji,jj,jk) )   & 
    295                      &                     * zavt_itf(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
     294                  ztpc = ztpc + e1e2t(ji,jj) * fse3w(ji,jj,jk) * MAX( 0.e0, rn2(ji,jj,jk) )   & 
     295                     &                       * zavt_itf(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
    296296               END DO 
    297297            END DO 
    298298         END DO 
     299         IF( lk_mpp )   CALL mpp_sum( ztpc ) 
    299300         ztpc= rau0 * ztpc / ( rn_me * rn_tfe_itf ) 
    300301         IF(lwp) WRITE(numout,*) '          N Total power consumption by zavt_itf: ztpc = ', ztpc * 1.e-12 ,'TW' 
     
    446447            DO jj = 1, jpj 
    447448               DO ji = 1, jpi 
    448                   ztpc = ztpc + fse3w(ji,jj,jk) * e1t(ji,jj) * e2t(ji,jj) * zpc(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
     449                  ztpc = ztpc + fse3w(ji,jj,jk) * e1e2t(ji,jj) * zpc(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
    449450               END DO 
    450451            END DO 
    451452         END DO 
     453         IF( lk_mpp )   CALL mpp_sum( ztpc ) 
    452454         ztpc= rau0 * 1/(rn_tfe * rn_me) * ztpc 
    453455 
     
    492494            DO jj = 1, jpj 
    493495               DO ji = 1, jpi 
    494                   ztpc = ztpc + fse3w(ji,jj,jk) * e1t(ji,jj) * e2t(ji,jj) * zpc(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
     496                  ztpc = ztpc + fse3w(ji,jj,jk) * e1e2t(ji,jj) * zpc(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 
    495497               END DO 
    496498            END DO 
    497499         END DO 
     500         IF( lk_mpp )   CALL mpp_sum( ztpc ) 
    498501         ztpc= rau0 * 1/(rn_tfe * rn_me) * ztpc 
    499502         WRITE(numout,*) '          2 Total power consumption of the tidally driven part of Kz : ztpc = ', ztpc * 1.e-12 ,'TW' 
    500  
     503!!gm bug mpp  in these diagnostics 
    501504         DO jk = 1, jpk 
    502             ze_z =                  SUM( e1t(:,:) * e2t(:,:) * zav_tide(:,:,jk)    * tmask_i(:,:) )   & 
    503                &     / MAX( 1.e-20, SUM( e1t(:,:) * e2t(:,:) * tmask (:,:,jk) * tmask_i(:,:) ) ) 
    504             ztpc = 1.E50 
     505            ze_z =                  SUM( e1e2t(:,:) * zav_tide(:,:,jk) * tmask_i(:,:) )   & 
     506               &     / MAX( 1.e-20, SUM( e1e2t(:,:) * tmask  (:,:,jk) * tmask_i(:,:) ) ) 
     507            ztpc = 1.e50_wp 
    505508            DO jj = 1, jpj 
    506509               DO ji = 1, jpi 
    507                   IF( zav_tide(ji,jj,jk) /= 0.e0 )   ztpc =Min( ztpc, zav_tide(ji,jj,jk) ) 
     510                  IF( zav_tide(ji,jj,jk) /= 0.e0 )   ztpc = MIN( ztpc, zav_tide(ji,jj,jk) ) 
    508511               END DO 
    509512            END DO 
     
    512515         END DO 
    513516 
    514          WRITE(numout,*) '          e_tide : ', SUM( e1t*e2t*en_tmx ) / ( rn_tfe * rn_me ) * 1.e-12, 'TW' 
     517         WRITE(numout,*) '          e_tide : ', SUM( e1e2t*en_tmx ) / ( rn_tfe * rn_me ) * 1.e-12, 'TW' 
    515518         WRITE(numout,*)  
    516519         WRITE(numout,*) '          Initial profile of tidal vertical mixing' 
     
    521524               END DO 
    522525            END DO 
    523             ze_z =                  SUM( e1t(:,:) * e2t(:,:) * zkz(:,:)     * tmask_i(:,:) )   & 
    524                &     / MAX( 1.e-20, SUM( e1t(:,:) * e2t(:,:) * tmask (:,:,jk) * tmask_i(:,:) ) ) 
     526            ze_z =                  SUM( e1e2t(:,:) * zkz(:,:)       * tmask_i(:,:) )   & 
     527               &     / MAX( 1.e-20, SUM( e1e2t(:,:) * tmask (:,:,jk) * tmask_i(:,:) ) ) 
    525528            WRITE(numout,*) '                jk= ', jk,'   ', ze_z * 1.e4,' cm2/s' 
    526529         END DO 
    527530         DO jk = 1, jpk 
    528531            zkz(:,:) = az_tmx(:,:,jk) /rn_n2min 
    529             ze_z =                  SUM( e1t(:,:) * e2t(:,:) * zkz(:,:)     * tmask_i(:,:) )   & 
    530                &     / MAX( 1.e-20, SUM( e1t(:,:) * e2t(:,:) * tmask (:,:,jk) * tmask_i(:,:) ) ) 
     532            ze_z =                  SUM( e1e2t(:,:) * zkz(:,:)       * tmask_i(:,:) )   & 
     533               &     / MAX( 1.e-20, SUM( e1e2t(:,:) * tmask (:,:,jk) * tmask_i(:,:) ) ) 
    531534            WRITE(numout,*)  
    532535            WRITE(numout,*) '          N2 min - jk= ', jk,'   ', ze_z * 1.e4,' cm2/s min= ',MINVAL(zkz)*1.e4,   & 
    533536               &       'max= ', MAXVAL(zkz)*1.e4, ' cm2/s' 
    534537         END DO 
     538!!gm  end bug mpp 
    535539         ! 
    536540      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.