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 10806 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DYN/dynldf.F90 – NEMO

Ignore:
Timestamp:
2019-03-27T17:55:22+01:00 (5 years ago)
Author:
davestorkey
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps branch: Latest updates. Make sure all time-dependent 3D variables are converted in previously modified modules.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DYN/dynldf.F90

    r10068 r10806  
    4343CONTAINS 
    4444 
    45    SUBROUTINE dyn_ldf( kt ) 
     45   SUBROUTINE dyn_ldf( kt, ktlev1, ktlev2, pu_rhs, pv_rhs ) 
    4646      !!---------------------------------------------------------------------- 
    4747      !!                  ***  ROUTINE dyn_ldf  *** 
     
    4949      !! ** Purpose :   compute the lateral ocean dynamics physics. 
    5050      !!---------------------------------------------------------------------- 
    51       INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     51      INTEGER, INTENT(in) ::   kt               ! ocean time-step index 
     52      INTEGER, INTENT(in) ::   ktlev1, ktlev2   ! time level index for source terms 
     53      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) :: pu_rhs, pv_rhs ! momentum trends 
    5254      ! 
    5355      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdu, ztrdv 
     
    5860      IF( l_trddyn )   THEN                      ! temporary save of momentum trends 
    5961         ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) ) 
    60          ztrdu(:,:,:) = ua(:,:,:)  
    61          ztrdv(:,:,:) = va(:,:,:)  
     62         ztrdu(:,:,:) = pu_rhs(:,:,:)  
     63         ztrdv(:,:,:) = pv_rhs(:,:,:)  
    6264      ENDIF 
    6365 
    6466      SELECT CASE ( nldf_dyn )                   ! compute lateral mixing trend and add it to the general trend 
    6567      ! 
    66       CASE ( np_lap   )    ;   CALL dyn_ldf_lap( kt, ub, vb, ua, va, 1 )      ! iso-level    laplacian 
     68      CASE ( np_lap   )    ;   CALL dyn_ldf_lap( kt, ktlev1, ktlev2, uu(:,:,:,ktlev1), vv(:,:,:,ktlev1), pu_rhs, pv_rhs, 1 )      ! iso-level    laplacian 
    6769      CASE ( np_lap_i )    ;   CALL dyn_ldf_iso( kt )                         ! rotated      laplacian 
    68       CASE ( np_blp   )    ;   CALL dyn_ldf_blp( kt, ub, vb, ua, va    )      ! iso-level bi-laplacian 
     70      CASE ( np_blp   )    ;   CALL dyn_ldf_blp( kt, ktlev1, ktlev2, uu(:,:,:,ktlev1), vv(:,:,:,ktlev1), pu_rhs, pv_rhs    )      ! iso-level bi-laplacian 
    6971      ! 
    7072      END SELECT 
    7173 
    7274      IF( l_trddyn ) THEN                        ! save the horizontal diffusive trends for further diagnostics 
    73          ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    74          ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
     75         ztrdu(:,:,:) = pu_rhs(:,:,:) - ztrdu(:,:,:) 
     76         ztrdv(:,:,:) = pv_rhs(:,:,:) - ztrdv(:,:,:) 
    7577         CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt ) 
    7678         DEALLOCATE ( ztrdu , ztrdv ) 
Note: See TracChangeset for help on using the changeset viewer.