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 11394 for branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90 – NEMO

Ignore:
Timestamp:
2019-08-02T15:14:02+02:00 (5 years ago)
Author:
mattmartin
Message:

First implementation of STOPACK in the GO6 package branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90

    r7061 r11394  
    2525   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2626   USE timing          ! Timing 
     27   USE stopack          
    2728 
    2829   IMPLICIT NONE 
     
    3031 
    3132   PUBLIC   zdf_evd    ! called by step.F90 
     33   REAL, SAVE, ALLOCATABLE, DIMENSION(:,:) :: rn_avevd0 
    3234 
    3335   !! * Substitutions 
     
    6971         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
    7072         IF(lwp) WRITE(numout,*) 
     73         ALLOCATE ( rn_avevd0(jpi,jpj) ) 
     74         rn_avevd0(:,:) = rn_avevd 
    7175      ENDIF 
    7276 
    7377      zavt_evd(:,:,:) = avt(:,:,:)           ! set avt prior to evd application 
     78 
     79      IF(nn_spp_aevd.GT.0) THEN 
     80         rn_avevd0(:,:) = rn_avevd 
     81         CALL spp_gen(kt, rn_avevd0, nn_spp_aevd, rn_aevd_sd, jk_spp_aevd) 
     82      ENDIF 
    7483 
    7584      SELECT CASE ( nn_evdm ) 
     
    8897                  IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN 
    8998#endif 
    90                      avt (ji  ,jj  ,jk) = rn_avevd * tmask(ji  ,jj  ,jk) 
    91                      avm (ji  ,jj  ,jk) = rn_avevd * tmask(ji  ,jj  ,jk) 
    92                      avmu(ji  ,jj  ,jk) = rn_avevd * umask(ji  ,jj  ,jk) 
    93                      avmu(ji-1,jj  ,jk) = rn_avevd * umask(ji-1,jj  ,jk) 
    94                      avmv(ji  ,jj  ,jk) = rn_avevd * vmask(ji  ,jj  ,jk) 
    95                      avmv(ji  ,jj-1,jk) = rn_avevd * vmask(ji  ,jj-1,jk) 
     99                     avt (ji  ,jj  ,jk) = rn_avevd0(ji,jj) * tmask(ji  ,jj  ,jk) 
     100                     avm (ji  ,jj  ,jk) = rn_avevd0(ji,jj) * tmask(ji  ,jj  ,jk) 
     101                     avmu(ji  ,jj  ,jk) = rn_avevd0(ji,jj) * umask(ji  ,jj  ,jk) 
     102                     avmu(ji-1,jj  ,jk) = rn_avevd0(ji,jj) * umask(ji-1,jj  ,jk) 
     103                     avmv(ji  ,jj  ,jk) = rn_avevd0(ji,jj) * vmask(ji  ,jj  ,jk) 
     104                     avmv(ji  ,jj-1,jk) = rn_avevd0(ji,jj) * vmask(ji  ,jj-1,jk) 
    96105                  ENDIF 
    97106               END DO 
     
    115124                  IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 )   & 
    116125#endif 
    117                      avt(ji,jj,jk) = rn_avevd * tmask(ji,jj,jk) 
     126                     avt(ji,jj,jk) = rn_avevd0(ji,jj) * tmask(ji,jj,jk) 
    118127               END DO 
    119128            END DO 
Note: See TracChangeset for help on using the changeset viewer.