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/traldf_bilapg.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/traldf_bilapg.F90

    r2715 r3211  
    3030 
    3131   PUBLIC   tra_ldf_bilapg   ! routine called by step.F90 
     32 
     33   !! * Control permutation of array indices 
     34#  include "oce_ftrans.h90" 
     35#  include "dom_oce_ftrans.h90" 
     36#  include "ldftra_oce_ftrans.h90" 
     37#  include "ldfslp_ftrans.h90" 
     38#  include "trc_oce_ftrans.h90" 
    3239 
    3340   !! * Substitutions 
     
    6875      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    6976      USE wrk_nemo, ONLY:   wk1 => wrk_4d_1 , wk2 => wrk_4d_2     ! 4D workspace 
     77      !! DCSE_NEMO: need additional directives for renamed module variables 
     78!FTRANS wk1 wk2 :I :I :z : 
    7079      ! 
    7180      INTEGER         , INTENT(in   )                      ::   kt       ! ocean time-step index 
    7281      CHARACTER(len=3), INTENT(in   )                      ::   cdtype   ! =TRA or TRC (tracer indicator) 
    7382      INTEGER         , INTENT(in   )                      ::   kjpt     ! number of tracers 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb      ! before and now tracer fields 
    75       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta      ! tracer trend  
     83 
     84      !! DCSE_NEMO: This style defeats ftrans 
     85!     REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb      ! before and now tracer fields 
     86!     REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta      ! tracer trend  
     87!FTRANS ptb pta :I :I :z : 
     88      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)        ! before tracer fields 
     89      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)        ! tracer trend 
     90 
    7691      ! 
    7792      INTEGER ::   ji, jj, jk, jn   ! dummy loop indices 
     
    105120      ! --------------------------- 
    106121      DO jn = 1, kjpt 
     122#if defined key_z_first 
     123         DO jj = 2, jpjm1 
     124            DO ji = 2, jpim1 
     125               DO jk = 1, jpkm1 
     126#else 
    107127         DO jj = 2, jpjm1 
    108128            DO jk = 1, jpkm1 
    109129               DO ji = 2, jpim1 
     130#endif 
    110131                  ! add it to the general tracer trends 
    111132                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + wk2(ji,jj,jk,jn) 
     
    119140   END SUBROUTINE tra_ldf_bilapg 
    120141 
     142!! * Reset control of array index permutation 
     143#  include "oce_ftrans.h90" 
     144#  include "dom_oce_ftrans.h90" 
     145#  include "ldftra_oce_ftrans.h90" 
     146#  include "ldfslp_ftrans.h90" 
     147#  include "trc_oce_ftrans.h90" 
    121148 
    122149   SUBROUTINE ldfght ( kt, cdtype, pt, plt, kjpt, kaht ) 
     
    163190      USE wrk_nemo, ONLY:   zftw => wrk_xz_1 , zdit  => wrk_xz_2  
    164191      USE wrk_nemo, ONLY:   zdjt => wrk_xz_3 , zdj1t => wrk_xz_4 
    165       ! 
    166       INTEGER         , INTENT(in )                              ::  kt      ! ocean time-step index 
    167       CHARACTER(len=3), INTENT(in )                              ::  cdtype  ! =TRA or TRC (tracer indicator)  
    168       INTEGER         , INTENT(in )                              ::  kjpt    !: dimension of  
    169       REAL(wp)        , INTENT(in ), DIMENSION(jpi,jpj,jpk,kjpt) ::  pt      ! tracer fields ( before for 1st call 
    170       !                                                         ! and laplacian of these fields for 2nd call.  
    171       REAL(wp)        , INTENT(out), DIMENSION(jpi,jpj,jpk,kjpt) ::  plt     !: partial harmonic operator applied to  pt  components except 
    172       !                                                             !: second order vertical derivative term   
    173       INTEGER         , INTENT(in )                              ::  kaht    !: =1 multiply the laplacian by the eddy diffusivity coeff. 
    174       !                                                             !: =2 no multiplication  
     192 
     193      !! DCSE_NEMO: need additional directives for renamed module variables 
     194!FTRANS zftv :I :I :z 
     195 
     196      ! 
     197      INTEGER, INTENT(in )                               ::  kt      ! ocean time-step index 
     198      CHARACTER(len=3), INTENT(in )                      ::  cdtype  ! =TRA or TRC (tracer indicator)  
     199      INTEGER, INTENT(in )                               ::  kjpt    !: dimension of  
     200 
     201      !! DCSE_NEMO: This style defeats ftrans 
     202!     REAL(wp), INTENT(in ), DIMENSION(jpi,jpj,jpk,kjpt) ::  pt      ! tracer fields ( before for 1st call 
     203!     !                                                         ! and laplacian of these fields for 2nd call.  
     204!     REAL(wp), INTENT(out), DIMENSION(jpi,jpj,jpk,kjpt) ::  plt     !: partial harmonic operator applied to  pt components except 
     205!     !                                                              !: second order vertical derivative term   
     206 
     207!FTRANS pt plt :I :I :z : 
     208      REAL(wp), INTENT(in )  ::  pt(jpi,jpj,jpk,kjpt)      ! tracer fields ( before for 1st call 
     209      !                                                    ! and laplacian of these fields for 2nd call.  
     210      REAL(wp), INTENT(out)  ::  plt(jpi,jpj,jpk,kjpt)     !: partial harmonic operator applied to  pt components except 
     211      !                                                    !: second order vertical derivative term   
     212 
     213      INTEGER, INTENT(in )                               ::  kaht    !: =1 multiply the laplacian by the eddy diffusivity coeff. 
     214      !                                                              !: =2 no multiplication  
    175215      !! 
    176216      INTEGER ::   ji, jj, jk,jn          ! dummy loop indices 
Note: See TracChangeset for help on using the changeset viewer.