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 3187 for branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/step.F90 – NEMO

Ignore:
Timestamp:
2011-11-28T17:44:46+01:00 (12 years ago)
Author:
spickles2
Message:

Stephen Pickles, 28 Nov 2011.
First commit of dCSE NEMO project work, part 1 - index re-ordering,
OPA_SRC top level only. Includes fix for sub-optimal auto-partitioning
in nemogcm.F90.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/step.F90

    r2715 r3187  
    2323   !!            3.3  !  2010-05  (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface 
    2424   !!             -   !  2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase + merge TRC-TRA 
     25   !!                 !  2011-05  (S. Pickles) dCSE NEMO optimisations - z index first 
    2526   !!---------------------------------------------------------------------- 
    2627 
     
    4142 
    4243   PUBLIC   stp   ! called by opa.F90 
     44 
     45   !! * Control permutation of array indices 
     46   !! DCSE_NEMO: warning! dom_oce and zdf_oce public variables are made available 
     47   !! through the use of step_oce 
     48#  include "dom_oce_ftrans.h90" 
     49#  include "zdf_oce_ftrans.h90" 
    4350 
    4451   !! * Substitutions 
     
    7784      INTEGER ::   jk       ! dummy loop indice 
    7885      INTEGER ::   indic    ! error indicator if < 0 
     86#if defined key_z_first 
     87      INTEGER ::   ji, jj   ! dummy loop indices 
     88#endif 
    7989      !! --------------------------------------------------------------------- 
    8090 
     
    126136      ENDIF 
    127137      IF( ln_rnf_mouth ) THEN                         ! increase diffusivity at rivers mouths 
    128          DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + 2.e0 * rn_avt_rnf * rnfmsk(:,:) * tmask(:,:,jk)   ;   END DO 
     138#if defined key_z_first 
     139         DO ji = 1, jpi 
     140            DO jj = 1, jpj 
     141               DO jk = 2, nkrnf  
     142                  avt(ji,jj,jk) = avt(ji,jj,jk) + 2.e0 * rn_avt_rnf * rnfmsk(ji,jj) * tmask(ji,jj,jk) 
     143               END DO 
     144            END DO 
     145         END DO 
     146#else 
     147         DO jk = 2, nkrnf 
     148            avt(:,:,jk) = avt(:,:,jk) + 2.e0 * rn_avt_rnf * rnfmsk(:,:) * tmask(:,:,jk) 
     149         END DO 
     150#endif 
    129151      ENDIF 
    130152      IF( ln_zdfevd  )   CALL zdf_evd( kstp )         ! enhanced vertical eddy diffusivity 
     
    235257 
    236258      IF( ln_diahsb        )   CALL dia_hsb( kstp )         ! - ML - global conservation diagnostics 
    237       IF( lk_diaobs  )         CALL dia_obs( kstp )         ! obs-minus-model (assimilation) diagnostics (call after dynamics update) 
     259      IF( lk_diaobs  )         CALL dia_obs( kstp )         ! obs-minus-model (assimilation) diagnostics 
     260                               !                            ! (call after dynamics update) 
    238261 
    239262      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
Note: See TracChangeset for help on using the changeset viewer.