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 67 – NEMO

Changeset 67


Ignore:
Timestamp:
2004-04-22T14:15:44+02:00 (20 years ago)
Author:
opalod
Message:

CT : BUGFIX041 : Correction on salinity and temperature trends for cpp keys key_trdtra or key_trdmld

Location:
trunk/NEMO/OPA_SRC/TRA
Files:
3 edited

Legend:

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

    r3 r67  
    1212   USE oce             ! ocean dynamics and active tracers 
    1313   USE dom_oce         ! ocean space and time domain 
    14    USE trdtra_oce     ! ocean active tracer trends 
     14   USE trdtra_oce      ! ocean active tracer trends 
    1515   USE in_out_manager  ! I/O manager 
    1616   USE dynspg_fsc      ! surface pressure gradient  
     
    1818   USE trabbl          ! tracers: bottom boundary layer 
    1919   USE lib_mpp 
    20    USE lbclnk 
     20   USE lbclnk          ! ocean lateral boundary condition (or mpp link)  
     21   USE ptr             ! poleward transport diagnostics 
    2122 
    2223   IMPLICIT NONE 
     
    270271                  & - e1v(ji,jj-1) * vn(ji,jj-1,jk) 
    271272#   endif 
    272                ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) + tn(ji,jj,jk) * zfui  ) 
    273                ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) + tn(ji,jj,jk) * zfvj  ) 
    274                zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) + sn(ji,jj,jk) * zfui  ) 
    275                zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) + sn(ji,jj,jk) * zfvj  ) 
     273               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) - tn(ji,jj,jk) * zfui  ) 
     274               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) - tn(ji,jj,jk) * zfvj  ) 
     275               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) - sn(ji,jj,jk) * zfui  ) 
     276               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) - sn(ji,jj,jk) * zfvj  ) 
    276277               ! save i- and j- advective trends computed as Uh gradh(T) 
    277278               ttrdh(ji,jj,jk,1) = ztai 
     
    288289      IF( MOD( kt, nf_ptr ) == 0 ) THEN 
    289290# if defined key_s_coord || defined key_partial_steps 
    290          pht_adv(:,:) = prt_vj( zt2(:,:,:) ) 
    291          pst_adv(:,:) = prt_vj( zs2(:,:,:) ) 
     291         pht_adv(:) = prt_vj( zt2(:,:,:) ) 
     292         pst_adv(:) = prt_vj( zs2(:,:,:) ) 
    292293# else 
    293294         DO jk = 1, jpkm1 
     
    299300            END DO 
    300301         END DO 
    301          pht_adv(:,:) = prt_vj( zt2(:,:,:) ) 
    302          pst_adv(:,:) = prt_vj( zs2(:,:,:) ) 
     302         pht_adv(:) = prt_vj( zt2(:,:,:) ) 
     303         pst_adv(:) = prt_vj( zs2(:,:,:) ) 
    303304# endif 
    304305      ENDIF 
  • trunk/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r3 r67  
    1818   USE trabbl          ! tracers: bottom boudary layer 
    1919   USE lib_mpp 
    20    USE lbclnk 
     20   USE lbclnk          ! ocean lateral boundary condition (or mpp link)  
     21   USE ptr             ! poleward transport diagnostics 
     22 
    2123 
    2224   IMPLICIT NONE 
     
    330332                  & - e1v(ji,jj-1) * vn(ji,jj-1,jk) 
    331333#   endif 
    332                ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) + tn(ji,jj,jk) * zfui  ) 
    333                ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) + tn(ji,jj,jk) * zfvj  ) 
    334                zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) + sn(ji,jj,jk) * zfui  ) 
    335                zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) + sn(ji,jj,jk) * zfvj  ) 
     334               ztai =-zbtr * (  zt1(ji,jj,jk) - zt1(ji-1,jj  ,jk) - tn(ji,jj,jk) * zfui  ) 
     335               ztaj =-zbtr * (  zt2(ji,jj,jk) - zt2(ji  ,jj-1,jk) - tn(ji,jj,jk) * zfvj  ) 
     336               zsai =-zbtr * (  zs1(ji,jj,jk) - zs1(ji-1,jj  ,jk) - sn(ji,jj,jk) * zfui  ) 
     337               zsaj =-zbtr * (  zs2(ji,jj,jk) - zs2(ji  ,jj-1,jk) - sn(ji,jj,jk) * zfvj  ) 
    336338               ! save i- and j- advective trends computed as Uh gradh(T) 
    337339               ttrdh(ji,jj,jk,1) = ztai 
     
    348350      IF( MOD( kt, nf_ptr ) == 0 ) THEN 
    349351# if defined key_s_coord || defined key_partial_steps 
    350          pht_adv(:,:) = prt_vj( zt2(:,:,:) ) 
    351          pst_adv(:,:) = prt_vj( zs2(:,:,:) ) 
     352         pht_adv(:) = prt_vj( zt2(:,:,:) ) 
     353         pst_adv(:) = prt_vj( zs2(:,:,:) ) 
    352354# else 
    353355         DO jk = 1, jpkm1 
     
    359361            END DO 
    360362         END DO 
    361          pht_adv(:,:) = prt_vj( zt2(:,:,:) ) 
    362          pst_adv(:,:) = prt_vj( zs2(:,:,:) ) 
     363         pht_adv(:) = prt_vj( zt2(:,:,:) ) 
     364         pst_adv(:) = prt_vj( zs2(:,:,:) ) 
    363365# endif 
    364366      ENDIF 
  • trunk/NEMO/OPA_SRC/TRA/trazdf_iso_vopt.F90

    r34 r67  
    8080      CALL tra_zdf_iso 
    8181 
    82       IF( l_ctl .AND. lwp ) THEN         ! print mean trends (used for debugging) 
     82      IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    8383         zta = SUM( ta(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) ) 
    8484         zsa = SUM( sa(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) ) 
     
    9292      CALL tra_zdf_zdf( kt ) 
    9393 
    94       IF( l_ctl .AND. lwp ) THEN         ! print mean trends (used for debugging) 
     94      IF(l_ctl) THEN         ! print mean trends (used for debugging) 
    9595         zta = SUM( ta(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) ) 
    9696         zsa = SUM( sa(2:jpim1,2:jpjm1,1:jpkm1) * tmask(2:jpim1,2:jpjm1,1:jpkm1) ) 
    9797         WRITE(numout,*) ' zdf 1- Ta: ', zta, ' Sa: ', zsa 
    9898      ENDIF 
    99  
    100  
    10199 
    102100   END SUBROUTINE tra_zdf_iso_vopt 
     
    169167#  if defined key_trdtra   ||   defined key_trdmld 
    170168      REAL(wp) ::    zta, zsa                !temporary scalars 
     169      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztrd 
    171170#  endif 
    172171      !!--------------------------------------------------------------------- 
     
    242241      ! II.1. Vertical diffusion on t 
    243242      ! --------------------------- 
     243 
     244#  if defined key_trdtra || defined key_trdmld 
     245      ! save the temperature trend 
     246      ztrd(:,:,:) = ta(:,:,:) 
     247#  endif 
    244248 
    245249      !! Matrix inversion from the first level 
     
    312316               DO ji = fs_2, fs_jpim1   ! vector opt. 
    313317                  zta = ( ta(ji,jj,jk) - tb(ji,jj,jk) ) / r2dt(jk) 
    314                   ttrd(ji,jj,jk,4) = zta - ta(ji,jj,jk) + ttrd(ji,jj,jk,4) 
     318                  ttrd(ji,jj,jk,4) = zta - ztrd(ji,jj,jk) + ttrd(ji,jj,jk,4) 
    315319               END DO 
    316320            END DO 
     
    321325               DO ji = fs_2, fs_jpim1   ! vector opt. 
    322326                  zta = ( ta(ji,jj,jk) - tb(ji,jj,jk) ) / r2dt(jk) 
    323                   ttrd(ji,jj,jk,4) = zta - ta(ji,jj,jk) 
     327                  ttrd(ji,jj,jk,4) = zta - ztrd(ji,jj,jk) 
    324328               END DO 
    325329            END DO 
     
    330334 
    331335      ! II.2 Vertical diffusion on salinity 
    332       ! ---------------------------======== 
     336      ! ----------------------------------- 
     337 
     338#  if defined key_trdtra || defined key_trdmld 
     339      ! save the salinity trend 
     340      ztrd(:,:,:) = sa(:,:,:) 
     341#  endif 
    333342 
    334343#if defined key_zdfddm 
     
    426435               DO ji = fs_2, fs_jpim1   ! vector opt. 
    427436                  zsa = ( sa(ji,jj,jk) - sb(ji,jj,jk) ) / r2dt(jk) 
    428                   strd(ji,jj,jk,4) = zsa - sa(ji,jj,jk) + strd(ji,jj,jk,4) 
     437                  strd(ji,jj,jk,4) = zsa - ztrd(ji,jj,jk) + strd(ji,jj,jk,4) 
    429438               END DO 
    430439            END DO 
     
    435444               DO ji = fs_2, fs_jpim1   ! vector opt. 
    436445                  zsa = ( sa(ji,jj,jk) - sb(ji,jj,jk) ) / r2dt(jk) 
    437                   strd(ji,jj,jk,4) = zsa - sa(ji,jj,jk) 
     446                  strd(ji,jj,jk,4) = zsa - ztrd(ji,jj,jk) 
    438447               END DO 
    439448            END DO 
     
    511520         zcoeg3,                 &  !    "         " 
    512521         zuwki, zvwki,           &  !    "         " 
    513          zuwk, zsav,             &  !    "         " 
    514 #endif 
    515          zvwk, ztav 
     522         zuwk, zvwk,             &  !    "         " 
     523#endif 
     524         ztav, zsav 
    516525      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
    517526         zwz, zwt, ztfw, zsfw       ! temporary workspace arrays 
Note: See TracChangeset for help on using the changeset viewer.