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 3211 for branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90 – NEMO

Ignore:
Timestamp:
2011-12-11T16:00:26+01:00 (13 years ago)
Author:
spickles2
Message:

Stephen Pickles, 11 Dec 2011

Commit to bring the rest of the DCSE NEMO development branch
in line with the latest development version. This includes
array index re-ordering of all OPA_SRC/.

File:
1 edited

Legend:

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

    r2715 r3211  
    3232 
    3333   PUBLIC   tra_adv_eiv   ! routine called by step.F90 
     34 
     35   !! * Control permutation of array indices 
     36#  include "oce_ftrans.h90" 
     37#  include "dom_oce_ftrans.h90" 
     38#  include "trc_oce_ftrans.h90" 
     39#  include "ldftra_oce_ftrans.h90" 
     40#  include "ldfslp_ftrans.h90" 
    3441 
    3542   !! * Substitutions 
     
    7077      INTEGER                         , INTENT(in   ) ::   kt       ! ocean time-step index 
    7178      CHARACTER(len=3)                , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    72       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pun      ! in : 3 ocean velocity components  
    73       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pvn      ! out: 3 ocean velocity components 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pwn      ! increased by the eiv 
     79 
     80      !! DCSE_NEMO: This style defeats ftrans 
     81!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pun      ! in : 3 ocean velocity components  
     82!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pvn      ! out: 3 ocean velocity components 
     83!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pwn      ! increased by the eiv 
     84 
     85!FTRANS pun pvn pwn :I :I :z 
     86      REAL(wp), INTENT(inout) ::   pun(jpi,jpj,jpk)      ! in : 3 ocean velocity components  
     87      REAL(wp), INTENT(inout) ::   pvn(jpi,jpj,jpk)      ! out: 3 ocean velocity components 
     88      REAL(wp), INTENT(inout) ::   pwn(jpi,jpj,jpk)      ! increased by the eiv 
    7589      !! 
    7690      INTEGER  ::   ji, jj, jk                 ! dummy loop indices 
     
    105119      zu_eiv(:,:) = 0.e0   ;   zv_eiv(:,:) = 0.e0   ;    zw_eiv(:,:) = 0.e0   
    106120       
     121!!DCSE_NEMO: TODO - restucture loop(s) so that loop over levels is innermost 
    107122                                                    ! ================= 
    108123      DO jk = 1, jpkm1                              !  Horizontal slab 
     
    165180            zztmp = 0.5 * rau0 * rcp  
    166181            z2d(:,:) = 0.e0  
     182#if defined key_z_first 
     183            DO jj = 2, jpjm1 
     184               DO ji = fs_2, fs_jpim1   ! vector opt. 
     185                  DO jk = 1, jpkm1 
     186#else 
    167187            DO jk = 1, jpkm1 
    168188               DO jj = 2, jpjm1 
    169189                  DO ji = fs_2, fs_jpim1   ! vector opt. 
     190#endif 
    170191                     z2d(ji,jj) = z2d(ji,jj) + zztmp * u_eiv(ji,jj,jk) & 
    171192                       &         * (tsn(ji,jj,jk,jp_tem)+tsn(ji+1,jj,jk,jp_tem)) * e1u(ji,jj) * fse3u(ji,jj,jk)  
     
    176197            CALL iom_put( "ueiv_heattr", z2d )                  ! heat transport in i-direction 
    177198            z2d(:,:) = 0.e0  
     199#if defined key_z_first 
     200            DO jj = 2, jpjm1 
     201               DO ji = fs_2, fs_jpim1   ! vector opt. 
     202                  DO jk = 1, jpkm1 
     203#else 
    178204            DO jk = 1, jpkm1 
    179205               DO jj = 2, jpjm1 
    180206                  DO ji = fs_2, fs_jpim1   ! vector opt. 
     207#endif 
    181208                     z2d(ji,jj) = z2d(ji,jj) + zztmp * v_eiv(ji,jj,jk) & 
    182209                     &           * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) * e2v(ji,jj) * fse3v(ji,jj,jk)  
Note: See TracChangeset for help on using the changeset viewer.