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/DOM/domvvl.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/DOM/domvvl.F90

    r2715 r3211  
    3232   REAL(wp),         ALLOCATABLE, SAVE, DIMENSION(:)     ::   r2dt   ! vertical profile time-step, = 2 rdttra  
    3333      !                                                              ! except at nit000 (=rdttra) if neuler=0 
     34 
     35   !! * Control permutation of array indices 
     36#  include "oce_ftrans.h90" 
     37#  include "dom_oce_ftrans.h90" 
     38#  include "sbc_oce_ftrans.h90" 
     39#  include "domvvl_ftrans.h90" 
    3440 
    3541   !! * Substitutions 
     
    110116      END DO   
    111117      !                                         ! Compute and mask the inverse of the local depth at T, U, V and F points 
     118#if defined key_z_first 
     119      ee_t(:,:) = 1. / ee_t(:,:) * tmask_1(:,:) 
     120      ee_u(:,:) = 1. / ee_u(:,:) * umask_1(:,:) 
     121      ee_v(:,:) = 1. / ee_v(:,:) * vmask_1(:,:) 
     122      DO jj = 1, jpjm1                               ! f-point case fmask cannot be used  
     123         ee_f(:,jj) = 1. / ee_f(:,jj) * umask_1(:,jj) * umask_1(:,jj+1) 
     124      END DO 
     125#else 
    112126      ee_t(:,:) = 1. / ee_t(:,:) * tmask(:,:,1) 
    113127      ee_u(:,:) = 1. / ee_u(:,:) * umask(:,:,1) 
     
    116130         ee_f(:,jj) = 1. / ee_f(:,jj) * umask(:,jj,1) * umask(:,jj+1,1) 
    117131      END DO 
     132#endif 
    118133      CALL lbc_lnk( ee_f, 'F', 1. )                  ! lateral boundary condition on ee_f 
    119134      ! 
     
    172187                                                ! initialise before scale factors at (u/v)-points 
    173188      ! Scale factor anomaly at (u/v)-points: surface averaging of scale factor at t-points 
     189#if defined key_z_first 
     190      DO jj = 1, jpjm1 
     191         DO ji = 1, jpim1 
     192            DO jk = 1, jpkm1 
     193#else 
    174194      DO jk = 1, jpkm1 
    175195         DO jj = 1, jpjm1 
    176196            DO ji = 1, jpim1 
     197#endif 
    177198               zv_t_ij           = zs_t(ji  ,jj  ) * fse3t_b(ji  ,jj  ,jk) 
    178199               zv_t_ip1j         = zs_t(ji+1,jj  ) * fse3t_b(ji+1,jj  ,jk) 
Note: See TracChangeset for help on using the changeset viewer.