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 14205 for NEMO/trunk/src/OCE/DYN – NEMO

Ignore:
Timestamp:
2020-12-17T19:23:48+01:00 (4 years ago)
Author:
techene
Message:

#2385 cosmetics and cleaning

Location:
NEMO/trunk/src/OCE/DYN
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DYN/dynspg_ts.F90

    r14064 r14205  
    162162      REAL(wp), DIMENSION(jpi,jpj) :: zCdU_u, zCdU_v   ! top/bottom stress at u- & v-points 
    163163      REAL(wp), DIMENSION(jpi,jpj) :: zhU, zhV         ! fluxes 
    164 #if defined key_qco  
    165       REAL(wp), DIMENSION(jpi, jpj, jpk) :: ze3u, ze3v 
    166 #endif 
     164!!st#if defined key_qco  
     165!!st      REAL(wp), DIMENSION(jpi, jpj, jpk) :: ze3u, ze3v 
     166!!st#endif 
    167167      ! 
    168168      REAL(wp) ::   zwdramp                     ! local scalar - only used if ln_wd_dl = .True.  
     
    232232      !                                   !  ---------------------------  ! 
    233233#if defined key_qco  
    234       DO jk = 1 , jpk 
    235          ze3u(:,:,jk) = e3u(:,:,jk,Kmm) 
    236          ze3v(:,:,jk) = e3v(:,:,jk,Kmm) 
    237       END DO 
    238       ! 
    239       zu_frc(:,:) = SUM( ze3u(:,:,:) * uu(:,:,:,Krhs) * umask(:,:,:) , DIM=3 ) * r1_hu(:,:,Kmm) 
    240       zv_frc(:,:) = SUM( ze3v(:,:,:) * vv(:,:,:,Krhs) * vmask(:,:,:) , DIM=3 ) * r1_hv(:,:,Kmm) 
     234!!st      DO jk = 1 , jpk 
     235!!st         ze3u(:,:,jk) = e3u(:,:,jk,Kmm) 
     236!!st         ze3v(:,:,jk) = e3v(:,:,jk,Kmm) 
     237!!st      END DO 
     238!!st      ! 
     239!!st      zu_frc(:,:) = SUM( ze3u(:,:,:) * uu(:,:,:,Krhs) * umask(:,:,:) , DIM=3 ) * r1_hu(:,:,Kmm) 
     240!!st      zv_frc(:,:) = SUM( ze3v(:,:,:) * vv(:,:,:,Krhs) * vmask(:,:,:) , DIM=3 ) * r1_hv(:,:,Kmm) 
     241 
     242      zu_frc(:,:) = SUM( e3u_0(:,:,:) * uu(:,:,:,Krhs) * umask(:,:,:) , DIM=3 ) * r1_hu_0(:,:) 
     243      zv_frc(:,:) = SUM( e3v_0(:,:,:) * vv(:,:,:,Krhs) * vmask(:,:,:) , DIM=3 ) * r1_hv_0(:,:) 
     244       
    241245#else 
    242246      zu_frc(:,:) = SUM( e3u(:,:,:,Kmm) * uu(:,:,:,Krhs) * umask(:,:,:) , DIM=3 ) * r1_hu(:,:,Kmm) 
  • NEMO/trunk/src/OCE/DYN/sshwzv.F90

    r14139 r14205  
    261261 
    262262 
    263    SUBROUTINE ssh_atf( kt, Kbb, Kmm, Kaa, pssh, pssh_f ) 
     263   SUBROUTINE ssh_atf( kt, Kbb, Kmm, Kaa, pssh ) 
    264264      !!---------------------------------------------------------------------- 
    265265      !!                    ***  ROUTINE ssh_atf  *** 
     
    278278      INTEGER                         , INTENT(in   ) ::   kt             ! ocean time-step index 
    279279      INTEGER                         , INTENT(in   ) ::   Kbb, Kmm, Kaa  ! ocean time level indices 
    280       REAL(wp), DIMENSION(jpi,jpj,jpt)          , TARGET, INTENT(inout) ::   pssh           ! SSH field 
    281       REAL(wp), DIMENSION(jpi,jpj    ), OPTIONAL, TARGET, INTENT(  out) ::   pssh_f         ! filtered SSH field 
     280      REAL(wp), DIMENSION(jpi,jpj,jpt), INTENT(inout) ::   pssh           ! SSH field 
    282281      ! 
    283282      REAL(wp) ::   zcoef   ! local scalar 
    284       REAL(wp), POINTER, DIMENSION(:,:) ::   zssh   ! pointer for filtered SSH  
    285283      !!---------------------------------------------------------------------- 
    286284      ! 
     
    292290         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
    293291      ENDIF 
    294       !              !==  Euler time-stepping: no filter, just swap  ==! 
    295       IF ( .NOT.( l_1st_euler ) ) THEN   ! Only do time filtering for leapfrog timesteps 
    296          IF( PRESENT( pssh_f ) ) THEN   ;   zssh => pssh_f 
    297          ELSE                           ;   zssh => pssh(:,:,Kmm) 
    298          ENDIF 
    299          !                                                  ! filtered "now" field 
    300          pssh(:,:,Kmm) = pssh(:,:,Kmm) + rn_atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) ) 
     292      ! 
     293      IF( .NOT.l_1st_euler ) THEN   ! Apply Asselin time filter on Kmm field (not on euler 1st) 
    301294         ! 
    302          IF( .NOT.ln_linssh ) THEN                          ! "now" <-- with forcing removed 
     295         IF( ln_linssh ) THEN                ! filtered "now" field 
     296            pssh(:,:,Kmm) = pssh(:,:,Kmm) + rn_atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) ) 
     297            ! 
     298         ELSE                                ! filtered "now" field with forcing removed 
    303299            zcoef = rn_atfp * rn_Dt * r1_rho0 
    304             pssh(:,:,Kmm) = pssh(:,:,Kmm) - zcoef * (     emp_b(:,:) - emp   (:,:)   & 
    305                &                             - rnf_b(:,:)        + rnf   (:,:)       & 
    306                &                             + fwfisf_cav_b(:,:) - fwfisf_cav(:,:)   & 
    307                &                             + fwfisf_par_b(:,:) - fwfisf_par(:,:)   ) * ssmask(:,:) 
     300            pssh(:,:,Kmm) = pssh(:,:,Kmm) + rn_atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) )   & 
     301               &                          - zcoef   * (         emp_b(:,:) -        emp(:,:)   & 
     302               &                                              - rnf_b(:,:) +        rnf(:,:)   & 
     303               &                                       + fwfisf_cav_b(:,:) - fwfisf_cav(:,:)   & 
     304               &                                       + fwfisf_par_b(:,:) - fwfisf_par(:,:)   ) * ssmask(:,:) 
    308305 
    309306            ! ice sheet coupling 
    310307            IF( ln_isf .AND. ln_isfcpl .AND. kt == nit000+1 )   & 
    311                &   pssh(:,:,Kbb) = pssh(:,:,Kbb) - rn_atfp * rn_Dt * ( risfcpl_ssh(:,:) - 0.0 ) * ssmask(:,:) 
     308               &   pssh(:,:,Kbb) = pssh(:,:,Kbb) - rn_atfp * rn_Dt * ( risfcpl_ssh(:,:) - 0._wp ) * ssmask(:,:) 
    312309 
    313310         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.