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 7181 for branches/CNRS – NEMO

Changeset 7181 for branches/CNRS


Ignore:
Timestamp:
2016-11-03T16:42:08+01:00 (7 years ago)
Author:
aumont
Message:

enhanced lateral diffusion at the equator on tracers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r5149 r7181  
    107107      REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3   ! local scalars 
    108108      REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4   !   -      - 
    109       REAL(wp) ::  zcoef0, zbtr, ztra            !   -      - 
     109      REAL(wp) ::  zcoef0, zbtr, ztra, zdep      !   -      - 
    110110      REAL(wp), POINTER, DIMENSION(:,:  ) ::  z2d 
    111       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zdkt, zdk1t, zdit, zdjt, ztfw  
     111      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zdkt, zdk1t, zdit, zdjt, ztfw, r_fact_lap  
    112112      !!---------------------------------------------------------------------- 
    113113      ! 
     
    115115      ! 
    116116      CALL wrk_alloc( jpi, jpj,      z2d )  
    117       CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t )  
     117      CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t, r_fact_lap )  
    118118      ! 
    119119 
     
    124124      ENDIF 
    125125      ! 
     126      r_fact_lap(:,:,:) = 1. 
     127      DO jk= 1, jpk 
     128         DO jj = 1, jpj 
     129            DO ji = 1, jpi 
     130               IF (fsdept(ji,jj,jk) > 200. .AND. gphit(ji,jj) < 3. .AND. gphit(ji,jj) > -3.) THEN 
     131                  zdep = MAX( fsdept(ji,jj,jk) - 200., 0. ) / 1000. 
     132 
     133                  r_fact_lap(ji,jj,jk) = MAX( 1., 4. * EXP( -zdep ) ) 
     134               ENDIF 
     135            END DO 
     136         END DO 
     137      END DO 
    126138      !                                                          ! =========== 
    127139      DO jn = 1, kjpt                                            ! tracer loop 
     
    200212            DO jj = 1 , jpjm1 
    201213               DO ji = 1, fs_jpim1   ! vector opt. 
    202                   zabe1 = ( fsahtu(ji,jj,jk) + pahtb0 ) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,jk) 
     214                  zabe1 = ( fsahtu(ji,jj,jk) + pahtb0 ) * r_fact_lap(ji,jj,jk) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,jk) 
    203215                  zabe2 = ( fsahtv(ji,jj,jk) + pahtb0 ) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,jk) 
    204216                  ! 
     
    209221                     &             + tmask(ji,jj+1,jk+1) + tmask(ji,jj,jk  ), 1. ) 
    210222                  ! 
    211                   zcof1 = - fsahtu(ji,jj,jk) * e2u(ji,jj) * uslp(ji,jj,jk) * zmsku 
     223                  zcof1 = - fsahtu(ji,jj,jk) * r_fact_lap(ji,jj,jk) * e2u(ji,jj) * uslp(ji,jj,jk) * zmsku 
    212224                  zcof2 = - fsahtv(ji,jj,jk) * e1v(ji,jj) * vslp(ji,jj,jk) * zmskv 
    213225                  ! 
     
    323335      ! 
    324336      CALL wrk_dealloc( jpi, jpj, z2d )  
    325       CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t )  
     337      CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t, r_fact_lap )  
    326338      ! 
    327339      IF( nn_timing == 1 )  CALL timing_stop('tra_ldf_iso') 
Note: See TracChangeset for help on using the changeset viewer.