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 13463 for NEMO/branches/2019/dev_r11351_fldread_with_XIOS/src/OCE/DYN/dynldf.F90 – NEMO

Ignore:
Timestamp:
2020-09-14T17:40:34+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2195:update to trunk 13461

Location:
NEMO/branches/2019/dev_r11351_fldread_with_XIOS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@13382        sette 
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS/src/OCE/DYN/dynldf.F90

    r10068 r13463  
    3434   PUBLIC   dyn_ldf_init  ! called by opa  module  
    3535 
    36    !! * Substitutions 
    37 #  include "vectopt_loop_substitute.h90" 
    3836   !!---------------------------------------------------------------------- 
    3937   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    4341CONTAINS 
    4442 
    45    SUBROUTINE dyn_ldf( kt ) 
     43   SUBROUTINE dyn_ldf( kt, Kbb, Kmm, puu, pvv, Krhs ) 
    4644      !!---------------------------------------------------------------------- 
    4745      !!                  ***  ROUTINE dyn_ldf  *** 
     
    4947      !! ** Purpose :   compute the lateral ocean dynamics physics. 
    5048      !!---------------------------------------------------------------------- 
    51       INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     49      INTEGER                             , INTENT( in )  ::  kt               ! ocean time-step index 
     50      INTEGER                             , INTENT( in )  ::  Kbb, Kmm, Krhs   ! ocean time level indices 
     51      REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) ::  puu, pvv         ! ocean velocities and RHS of momentum equation 
    5252      ! 
    5353      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdu, ztrdv 
     
    5858      IF( l_trddyn )   THEN                      ! temporary save of momentum trends 
    5959         ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) ) 
    60          ztrdu(:,:,:) = ua(:,:,:)  
    61          ztrdv(:,:,:) = va(:,:,:)  
     60         ztrdu(:,:,:) = puu(:,:,:,Krhs)  
     61         ztrdv(:,:,:) = pvv(:,:,:,Krhs)  
    6262      ENDIF 
    6363 
    6464      SELECT CASE ( nldf_dyn )                   ! compute lateral mixing trend and add it to the general trend 
    6565      ! 
    66       CASE ( np_lap   )    ;   CALL dyn_ldf_lap( kt, ub, vb, ua, va, 1 )      ! iso-level    laplacian 
    67       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 
     66      CASE ( np_lap   )   
     67         CALL dyn_ldf_lap( kt, Kbb, Kmm, puu(:,:,:,Kbb), pvv(:,:,:,Kbb), puu(:,:,:,Krhs), pvv(:,:,:,Krhs), 1 ) ! iso-level    laplacian 
     68      CASE ( np_lap_i )  
     69         CALL dyn_ldf_iso( kt, Kbb, Kmm, puu, pvv, Krhs    )                                                   ! rotated      laplacian 
     70      CASE ( np_blp   )   
     71         CALL dyn_ldf_blp( kt, Kbb, Kmm, puu(:,:,:,Kbb), pvv(:,:,:,Kbb), puu(:,:,:,Krhs), pvv(:,:,:,Krhs)    ) ! iso-level bi-laplacian 
    6972      ! 
    7073      END SELECT 
    7174 
    7275      IF( l_trddyn ) THEN                        ! save the horizontal diffusive trends for further diagnostics 
    73          ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    74          ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    75          CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt ) 
     76         ztrdu(:,:,:) = puu(:,:,:,Krhs) - ztrdu(:,:,:) 
     77         ztrdv(:,:,:) = pvv(:,:,:,Krhs) - ztrdv(:,:,:) 
     78         CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt, Kmm ) 
    7679         DEALLOCATE ( ztrdu , ztrdv ) 
    7780      ENDIF 
    7881      !                                          ! print sum trends (used for debugging) 
    79       IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask,   & 
    80          &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     82      IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=puu(:,:,:,Krhs), clinfo1=' ldf  - Ua: ', mask1=umask,   & 
     83         &                                  tab3d_2=pvv(:,:,:,Krhs), clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    8184      ! 
    8285      IF( ln_timing )   CALL timing_stop('dyn_ldf') 
Note: See TracChangeset for help on using the changeset viewer.