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 7522 for branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90 – NEMO

Ignore:
Timestamp:
2017-01-02T11:06:49+01:00 (7 years ago)
Author:
cetlod
Message:

3.6 stable : update the offline routines to be able to run passive tracers offline with linear free surface, see ticket #1775

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r5385 r7522  
    8888         r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
    8989      ENDIF 
    90       !                                                   ! effective transport 
    91       DO jk = 1, jpkm1 
    92          !                                                ! eulerian transport only 
    93          zun(:,:,jk) = e2u  (:,:) * fse3u(:,:,jk) * un(:,:,jk) 
    94          zvn(:,:,jk) = e1v  (:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
    95          zwn(:,:,jk) = e1e2t(:,:)                 * wn(:,:,jk) 
    96          ! 
    97       END DO 
    98       ! 
    99       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    100          zun(:,:,:) = zun(:,:,:) + un_td(:,:,:) 
    101          zvn(:,:,:) = zvn(:,:,:) + vn_td(:,:,:) 
     90      !   
     91      IF( lk_offline ) THEN 
     92         zun(:,:,:) = un(:,:,:)     ! effective transport already in un/vn/wn 
     93         zvn(:,:,:) = vn(:,:,:) 
     94         zwn(:,:,:) = wn(:,:,:) 
     95      ELSE 
     96         !                                                         ! effective transport 
     97         DO jk = 1, jpkm1 
     98            !                                                ! eulerian transport only 
     99            zun(:,:,jk) = e2u  (:,:) * fse3u(:,:,jk) * un(:,:,jk) 
     100            zvn(:,:,jk) = e1v  (:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
     101            zwn(:,:,jk) = e1e2t(:,:)                 * wn(:,:,jk) 
     102            ! 
     103         END DO 
     104         ! 
     105         IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
     106            zun(:,:,:) = zun(:,:,:) + un_td(:,:,:) 
     107            zvn(:,:,:) = zvn(:,:,:) + vn_td(:,:,:) 
     108         ENDIF 
     109         ! 
     110         zun(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
     111         zvn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
     112         zwn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
     113         ! 
     114 
     115         IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )   &  ! add the eiv transport (if necessary) 
     116            &              CALL tra_adv_eiv( kt, nittrc000, zun, zvn, zwn, 'TRC' ) 
     117         ! 
     118         IF( ln_mle    )   CALL tra_adv_mle( kt, nittrc000, zun, zvn, zwn, 'TRC' )    ! add the mle transport (if necessary) 
     119         ! 
    102120      ENDIF 
    103       ! 
    104       zun(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
    105       zvn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
    106       zwn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
    107  
    108       IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )   &  ! add the eiv transport (if necessary) 
    109          &              CALL tra_adv_eiv( kt, nittrc000, zun, zvn, zwn, 'TRC' ) 
    110       ! 
    111       IF( ln_mle    )   CALL tra_adv_mle( kt, nittrc000, zun, zvn, zwn, 'TRC' )    ! add the mle transport (if necessary) 
    112121      ! 
    113122      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
Note: See TracChangeset for help on using the changeset viewer.