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 5758 for branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90 – NEMO

Ignore:
Timestamp:
2015-09-24T08:31:40+02:00 (9 years ago)
Author:
gm
Message:

#1593: LDF-ADV, step II.1: phasing the improvements/simplifications of diffusive trend (see wiki)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r5147 r5758  
    66   !! History :  2.0  !  2005-11  (G. Madec)  Original code 
    77   !!            3.3  !  2010-09  (C. Ethe, G. Madec)  merge TRC-TRA + switch from velocity to transport 
    8    !!            4.0  !  2011-06  (G. Madec)  Addition of Mixed Layer Eddy parameterisation 
     8   !!            3.6  !  2011-06  (G. Madec)  Addition of Mixed Layer Eddy parameterisation 
     9   !!            4.0  !  2014-05  (G. Madec)  Add 2nd/4th order cases for CEN and FCT schemes  
     10   !!             -   !  2014-12  (G. Madec) suppression of cross land advection option 
    911   !!---------------------------------------------------------------------- 
    1012 
     
    2224   USE traadv_ubs      ! UBS      scheme           (tra_adv_ubs    routine) 
    2325   USE traadv_qck      ! QUICKEST scheme           (tra_adv_qck    routine) 
    24    USE traadv_eiv      ! eddy induced velocity     (tra_adv_eiv    routine) 
    2526   USE traadv_mle      ! ML eddy induced velocity  (tra_adv_mle    routine) 
    2627   USE cla             ! cross land advection      (cla_traadv     routine) 
    27    USE ldftra_oce      ! lateral diffusion coefficient on tracers 
     28   USE ldftra          ! lateral diffusion coefficient on tracers 
     29   USE ldfslp          ! Lateral diffusion: slopes of neutral surfaces 
    2830   ! 
    2931   USE in_out_manager  ! I/O manager 
     
    7476      !! ** Method  : - Update (ua,va) with the advection term following nadv 
    7577      !!---------------------------------------------------------------------- 
    76       ! 
    7778      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    7879      ! 
     
    8485      ! 
    8586      CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 
     87      ! 
    8688      !                                          ! set time step 
    8789      IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
     
    9597      !                                               !==  effective transport  ==! 
    9698      DO jk = 1, jpkm1 
    97          zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk)                  ! eulerian transport only 
    98          zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
    99          zwn(:,:,jk) = e1t(:,:) * e2t(:,:)      * wn(:,:,jk) 
     99         zun(:,:,jk) = e2u  (:,:) * fse3u(:,:,jk) * un(:,:,jk)                  ! eulerian transport only 
     100         zvn(:,:,jk) = e1v  (:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
     101         zwn(:,:,jk) = e1e2t(:,:)                 * wn(:,:,jk) 
    100102      END DO 
    101103      ! 
     
    109111      zwn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
    110112      ! 
    111       IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )   & 
    112          &              CALL tra_adv_eiv( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the eiv transport (if necessary) 
    113       ! 
    114       IF( ln_mle    )   CALL tra_adv_mle( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the mle transport (if necessary) 
    115       ! 
    116       CALL iom_put( "uocetr_eff", zun )                                         ! output effective transport       
     113      IF( ln_ldfeiv .AND. .NOT. ln_traldf_triad )   & 
     114         &              CALL ldf_eiv_trp( kt, nit000, zun, zvn, zwn, 'TRA' )   ! add the eiv transport (if necessary) 
     115      ! 
     116      IF( ln_mle    )   CALL tra_adv_mle( kt, nit000, zun, zvn, zwn, 'TRA' )   ! add the mle transport (if necessary) 
     117      ! 
     118      CALL iom_put( "uocetr_eff", zun )                                        ! output effective transport       
    117119      CALL iom_put( "vocetr_eff", zvn ) 
    118120      CALL iom_put( "wocetr_eff", zwn ) 
    119121      ! 
    120       IF( ln_diaptr )   CALL dia_ptr( zvn )                                     ! diagnose the effective MSF  
     122      IF( ln_diaptr )   CALL dia_ptr( zvn )                                    ! diagnose the effective MSF  
    121123      ! 
    122124    
Note: See TracChangeset for help on using the changeset viewer.