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 12680 for NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN – NEMO

Ignore:
Timestamp:
2020-04-03T18:54:55+02:00 (4 years ago)
Author:
techene
Message:

dynatfQCO.F90, stepLF.F90 : fixed (remove pe3. from dyn_atf_qco input arguments), all : remove e3. tables and include gurvan's feedbacks

Location:
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/dynatf.F90

    r12581 r12680  
    5858 
    5959   PUBLIC    dyn_atf   ! routine called by step.F90 
     60 
     61#if defined key_qco 
     62   !!---------------------------------------------------------------------- 
     63   !!   'key_qco'      EMPTY ROUTINE     Quasi-Eulerian vertical coordonate 
     64   !!---------------------------------------------------------------------- 
     65CONTAINS 
     66 
     67   SUBROUTINE dyn_atf ( kt, Kbb, Kmm, Kaa, puu, pvv, pe3t, pe3u, pe3v ) 
     68      INTEGER                             , INTENT(in   ) :: kt               ! ocean time-step index 
     69      INTEGER                             , INTENT(in   ) :: Kbb, Kmm, Kaa    ! before and after time level indices 
     70      REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: puu, pvv         ! velocities to be time filtered 
     71      REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: pe3t, pe3u, pe3v ! scale factors to be time filtered 
     72 
     73      WRITE(*,*) 'dyn_atf: You should not have seen this print! error?', kt 
     74   END SUBROUTINE dyn_atf 
     75 
     76#else 
    6077 
    6178   !! * Substitutions 
     
    314331   END SUBROUTINE dyn_atf 
    315332 
     333#endif 
     334 
    316335   !!========================================================================= 
    317336END MODULE dynatf 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/sshwzv.F90

    r12622 r12680  
    114114      ! 
    115115#if defined key_agrif 
    116       Kbb_a = Kbb; Kmm_a = Kmm; Krhs_a = Kaa; CALL agrif_ssh( kt ) 
     116      Kbb_a = Kbb   ;   Kmm_a = Kmm   ;   Krhs_a = Kaa 
     117      CALL agrif_ssh( kt ) 
    117118#endif 
    118119      ! 
     
    134135 
    135136 
    136    SUBROUTINE wzv( kt, Kbb, Kmm, pww, Kaa ) 
     137   SUBROUTINE wzv( kt, Kbb, Kmm, Kaa, pww ) 
    137138      !!---------------------------------------------------------------------- 
    138139      !!                ***  ROUTINE wzv  *** 
     
    151152      INTEGER                         , INTENT(in)    ::   kt             ! time step 
    152153      INTEGER                         , INTENT(in)    ::   Kbb, Kmm, Kaa  ! time level indices 
    153       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pww            ! now vertical velocity 
     154      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pww            ! vertical velocity at Kmm 
    154155      ! 
    155156      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     
    165166         IF(lwp) WRITE(numout,*) '~~~~~ ' 
    166167         ! 
    167          pww(:,:,jpk) = 0._wp                  ! bottom boundary condition: w=0 (set once for all) 
    168       ENDIF 
    169       !                                           !------------------------------! 
    170       !                                           !     Now Vertical Velocity    ! 
    171       !                                           !------------------------------! 
    172       z1_2dt = 1. / ( 2. * rdt )                         ! set time step size (Euler/Leapfrog) 
     168         pww(:,:,jpk) = 0._wp           ! bottom boundary condition: w=0 (set once for all) 
     169      ENDIF 
     170      ! 
     171      z1_2dt = 1. / ( 2. * rdt )        ! set time step size (Euler/Leapfrog) 
    173172      IF( neuler == 0 .AND. kt == nit000 )   z1_2dt = 1. / rdt 
    174173      ! 
    175       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN      ! z_tilde and layer cases 
     174      !                                               !===============================! 
     175      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN      !==  z_tilde and layer cases  ==! 
     176         !                                            !===============================! 
    176177         ALLOCATE( zhdiv(jpi,jpj,jpk) ) 
    177178         ! 
     
    188189         DO jk = jpkm1, 1, -1                       ! integrate from the bottom the hor. divergence 
    189190            ! computation of w 
    190             pww(:,:,jk) = pww(:,:,jk+1) - (  e3t(:,:,jk,Kmm) * hdiv(:,:,jk)    & 
    191                &                         + zhdiv(:,:,jk)                       & 
    192                &                         + z1_2dt * ( e3t(:,:,jk,Kaa)          & 
    193                &                                    - e3t(:,:,jk,Kbb) )  ) * tmask(:,:,jk) 
     191            pww(:,:,jk) = pww(:,:,jk+1) - (   e3t(:,:,jk,Kmm) * hdiv(:,:,jk)   & 
     192               &                            +                  zhdiv(:,:,jk)   & 
     193               &                            + z1_2dt * ( e3t(:,:,jk,Kaa)       & 
     194               &                                       - e3t(:,:,jk,Kbb) )   ) * tmask(:,:,jk) 
    194195         END DO 
    195196         !          IF( ln_vvl_layer ) pww(:,:,:) = 0.e0 
    196197         DEALLOCATE( zhdiv ) 
    197       ELSE   ! z_star and linear free surface cases 
    198          DO jk = jpkm1, 1, -1                       ! integrate from the bottom the hor. divergence 
    199             ! computation of w 
     198         !                                            !=================================! 
     199      ELSEIF( ln_linssh )   THEN                      !==  linear free surface cases  ==! 
     200         !                                            !=================================! 
     201         DO jk = jpkm1, 1, -1                               ! integrate from the bottom the hor. divergence 
     202            pww(:,:,jk) = pww(:,:,jk+1) - (  e3t(:,:,jk,Kmm) * hdiv(:,:,jk)  ) * tmask(:,:,jk) 
     203         END DO 
     204         !                                            !==========================================! 
     205      ELSE                                            !==  Quasi-Eulerian vertical coordinate  ==!   ('key_qco') 
     206         !                                            !==========================================! 
     207         DO jk = jpkm1, 1, -1                               ! integrate from the bottom the hor. divergence 
    200208            pww(:,:,jk) = pww(:,:,jk+1) - (  e3t(:,:,jk,Kmm) * hdiv(:,:,jk)    & 
    201209               &                         + z1_2dt * ( e3t(:,:,jk,Kaa)          & 
Note: See TracChangeset for help on using the changeset viewer.