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

Ignore:
Timestamp:
2004-07-07T14:51:53+02:00 (20 years ago)
Author:
opalod
Message:

CT : UPDATE082 : Finalization of the poleward transport diagnostics

File:
1 edited

Legend:

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

    r74 r132  
    2020   USE ldfslp          ! iso-neutral slopes available 
    2121   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
    22    USE ptr             ! poleward transport diagnostics  
     22   USE diaptr          ! poleward transport diagnostics  
    2323 
    2424   IMPLICIT NONE 
     
    6767      !!   8.5  !  02-08  (G. Madec)  F90: Free form and module 
    6868      !!---------------------------------------------------------------------- 
     69      !! * Modules used 
     70      USE oce           , wk1 => ua,  &  ! use ua as workspace 
     71         &                wk2 => va      ! use va as workspace 
     72 
    6973      !! * Arguments 
    7074      INTEGER, INTENT( in ) ::   kt           ! ocean time-step index 
     
    7377      INTEGER ::   ji, jj, jk                 ! dummy loop indices 
    7478      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
    75          wk1, wk2,            &  ! work array used for rotated biharmonic 
    76          wk3, wk4                ! operator on tracers and/or momentum 
     79         wk3, wk4                ! work array used for rotated biharmonic 
     80         !                       ! operator on tracers and/or momentum 
    7781      !!---------------------------------------------------------------------- 
    7882 
     
    189193         zcof0, zcof1, zcof2,          & 
    190194         zcof3, zcof4 
    191       REAL(wp), DIMENSION(jpi,jpj) ::   & 
    192          zftu, zftv, zfsu, zfsv,       &  ! workspace 
     195      REAL(wp), DIMENSION(jpi,jpj) ::  & 
     196         zftu, zfsu,                   &  ! workspace 
    193197         zdkt, zdk1t,                  & 
    194198         zdks, zdk1s 
    195       REAL(wp), DIMENSION(jpi,jpk) ::   & 
     199      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
     200         zftv, zfsv                       ! workspace (only v components for ptr) 
     201      REAL(wp), DIMENSION(jpi,jpk) ::  & 
    196202         zftw, zfsw,                   &  ! workspace 
    197203         zdit, zdjt, zdj1t,            & 
     
    240246                             +zdk1t(ji+1,jj) + zdkt (ji,jj) )  ) 
    241247 
    242                zftv(ji,jj)= vmask(ji,jj,jk) *   & 
     248               zftv(ji,jj,jk)= vmask(ji,jj,jk) *   & 
    243249                  (  zabe2 *( pt(ji,jj+1,jk) - pt(ji,jj,jk) )   & 
    244250                   + zcof2 *( zdkt (ji,jj+1) + zdk1t(ji,jj)     & 
     
    250256                             +zdk1s(ji+1,jj) + zdks (ji,jj) )  ) 
    251257 
    252                zfsv(ji,jj)= vmask(ji,jj,jk) *   & 
     258               zfsv(ji,jj,jk)= vmask(ji,jj,jk) *   & 
    253259                  (  zabe2 *( ps(ji,jj+1,jk) - ps(ji,jj,jk) )   & 
    254260                   + zcof2 *( zdks (ji,jj+1) + zdk1s(ji,jj)     & 
     
    263269         DO jj = 2 , jpjm1 
    264270            DO ji = 2 , jpim1 
    265                ztah = zftu(ji,jj) - zftu(ji-1,jj) + zftv(ji,jj) - zftv(ji,jj-1) 
    266                zsah = zfsu(ji,jj) - zfsu(ji-1,jj) + zfsv(ji,jj) - zfsv(ji,jj-1) 
     271               ztah = zftu(ji,jj) - zftu(ji-1,jj) + zftv(ji,jj,jk) - zftv(ji,jj-1,jk) 
     272               zsah = zfsu(ji,jj) - zfsu(ji-1,jj) + zfsv(ji,jj,jk) - zfsv(ji,jj-1,jk) 
    267273               plt(ji,jj,jk) = ztah 
    268274               pls(ji,jj,jk) = zsah 
     
    273279      !                                                ! =============== 
    274280 
    275       IF( kaht == 2 .AND. MOD( kt, nf_ptr ) == 0 ) THEN 
    276 #if defined key_diaptr 
    277          ! "zonal" mean diffusive heat and salt transport 
    278 !         pht_ldf(:) = prt_vj( zftv(:,:) ) 
    279 !         pst_ldf(:) = prt_vj( zfsv(:,:) ) 
    280         write(numout,cform_err) 
    281         nstop = nstop + 1 
    282 #endif 
     281      ! "zonal" mean diffusive heat and salt transport 
     282      IF( ln_diaptr .AND. ( kaht == 2 ) .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
     283         pht_ldf(:) = ptr_vj( zftv(:,:,:) ) 
     284         pst_ldf(:) = ptr_vj( zfsv(:,:,:) ) 
    283285      ENDIF 
    284  
    285286 
    286287      !                             ! ************ !   ! =============== 
Note: See TracChangeset for help on using the changeset viewer.