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 503 for trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90 – NEMO

Ignore:
Timestamp:
2006-09-27T10:52:29+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_064 : CT : general trends update including the addition of mean windows analysis possibility in the mixed layer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r457 r503  
    11MODULE traldf_iso 
    2    !!============================================================================== 
     2   !!====================================================================== 
    33   !!                   ***  MODULE  traldf_iso  *** 
    44   !! Ocean active tracers:  horizontal component of the lateral tracer mixing trend 
    5    !!============================================================================== 
     5   !!====================================================================== 
     6   !! History :        !  94-08  (G. Madec, M. Imbard) 
     7   !!                  !  97-05  (G. Madec)  split into traldf and trazdf 
     8   !!             8.5  !  02-08  (G. Madec)  Free form, F90 
     9   !!             9.0  !  05-11  (G. Madec)  merge traldf and trazdf :-) 
     10   !!---------------------------------------------------------------------- 
    611#if   defined key_ldfslp   ||   defined key_esopa 
    712   !!---------------------------------------------------------------------- 
    813   !!   'key_ldfslp'               slope of the lateral diffusive direction 
     14   !!---------------------------------------------------------------------- 
    915   !!---------------------------------------------------------------------- 
    1016   !!   tra_ldf_iso  : update the tracer trend with the horizontal  
     
    1420   !!                  vector optimization, use k-j-i loops. 
    1521   !!---------------------------------------------------------------------- 
    16    !! * Modules used 
    1722   USE oce             ! ocean dynamics and active tracers 
    1823   USE dom_oce         ! ocean space and time domain 
     
    2631   USE prtctl          ! Print control 
    2732 
    28  
    2933   IMPLICIT NONE 
    3034   PRIVATE 
    3135 
    32    !! * Accessibility 
    33    PUBLIC tra_ldf_iso   ! routine called by step.F90 
     36   PUBLIC   tra_ldf_iso   ! routine called by step.F90 
    3437 
    3538   !! * Substitutions 
     
    3942   !!---------------------------------------------------------------------- 
    4043   !!   OPA 9.0 , LOCEAN-IPSL (2005)  
     44   !! $Header$  
     45   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    4146   !!---------------------------------------------------------------------- 
    4247 
     
    8186      !!         ta = ta + difft 
    8287      !! 
    83       !! ** Action : 
    84       !!         Update (ta,sa) arrays with the before rotated diffusion trend 
    85       !!            (except the dk[ dk[.] ] term) 
    86       !! 
    87       !! History : 
    88       !!        !  94-08  (G. Madec, M. Imbard) 
    89       !!        !  97-05  (G. Madec)  split into traldf and trazdf 
    90       !!   8.5  !  02-08  (G. Madec)  Free form, F90 
    91       !!   9.0  !  04-08  (C. Talandier) New trends organization 
    92       !!        !  05-11  (G. Madec)  merge traldf and trazdf :-) 
    93       !!---------------------------------------------------------------------- 
    94       !! * Modules used 
    95       USE oce           , zftv => ua,   &  ! use ua as workspace 
    96          &                zfsv => va       ! use va as workspace 
    97  
    98       !! * Arguments 
    99       INTEGER, INTENT( in ) ::   kt        ! ocean time-step index 
    100  
    101       !! * Local declarations 
    102       INTEGER ::   ji, jj, jk              ! dummy loop indices 
    103       INTEGER ::   iku, ikv                ! temporary integer 
    104       REAL(wp) ::   & 
    105          zabe1, zabe2, zcof1, zcof2,    &  ! temporary scalars 
    106          zmsku, zta,                    &  !    "           " 
    107          zmskv, zsa, zbtr,              &  !    "           " 
    108          zcoef0, zcoef3, zcoef4            !    "         " 
    109       REAL(wp), DIMENSION(jpi,jpj) ::   &  ! temporary workspace 
    110          zdkt , zdk1t, zftu,            &  !    "           " 
    111          zdks , zdk1s, zfsu                !    "           " 
    112       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   &  
    113          zdit, zdjt, ztfw,              &  ! temporary workspace 
    114          zdis, zdjs, zsfw                  !    "           " 
     88      !! ** Action :   Update (ta,sa) arrays with the before rotated diffusion 
     89      !!            trend (except the dk[ dk[.] ] term) 
     90      !!---------------------------------------------------------------------- 
     91      USE oce           , zftv => ua   ! use ua as workspace 
     92      USE oce           , zfsv => va   ! use va as workspace 
     93      !! 
     94      INTEGER, INTENT( in ) ::   kt    ! ocean time-step index 
     95      !! 
     96      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     97      INTEGER  ::   iku, ikv     ! temporary integer 
     98      REAL(wp) ::   zmsku, zabe1, zcof1, zcoef3, zta   ! temporary scalars 
     99      REAL(wp) ::   zmskv, zabe2, zcof2, zcoef4, zsa   !    "         " 
     100      REAL(wp) ::   zcoef0, zbtr                       !    "         " 
     101      REAL(wp), DIMENSION(jpi,jpj)     ::   zdkt , zdk1t, zftu   ! 2D workspace 
     102      REAL(wp), DIMENSION(jpi,jpj)     ::   zdks , zdk1s, zfsu   !    "           " 
     103      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdit, zdjt, ztfw     ! 3D workspace 
     104      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdis, zdjs, zsfw     !  "      " 
    115105      !!---------------------------------------------------------------------- 
    116106 
     
    130120      zdjs (1,:,:) = 0.e0     ;     zdjs (jpi,:,:) = 0.e0 
    131121!!end 
    132  
    133122 
    134123      ! Horizontal temperature and salinity gradient  
     
    217206         ! II.4 Second derivative (divergence) and add to the general trend 
    218207         ! ---------------------------------------------------------------- 
    219  
    220208         DO jj = 2 , jpjm1 
    221209            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    231219      !                                             ! =============== 
    232220 
    233       IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
    234          ! "zonal" mean lateral diffusive heat and salt transports 
     221      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN   ! Poleward diffusive heat and salt transports 
    235222         pht_ldf(:) = ptr_vj( zftv(:,:,:) ) 
    236223         pst_ldf(:) = ptr_vj( zfsv(:,:,:) ) 
     
    297284         END DO 
    298285      END DO 
    299  
     286      ! 
    300287   END SUBROUTINE tra_ldf_iso 
    301288 
     
    306293CONTAINS 
    307294   SUBROUTINE tra_ldf_iso( kt )               ! Empty routine 
    308       INTEGER :: kt 
    309295      WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt 
    310296   END SUBROUTINE tra_ldf_iso 
Note: See TracChangeset for help on using the changeset viewer.