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 15574 for NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/ISF/isfhdiv.F90 – NEMO

Ignore:
Timestamp:
2021-12-03T20:32:50+01:00 (3 years ago)
Author:
techene
Message:

#2605 #2715 trunk merged into dev_r14318_RK3_stage1

Location:
NEMO/branches/2021/dev_r14318_RK3_stage1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_RK3_stage1

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/ISF/isfhdiv.F90

    r13295 r15574  
    5252         IF ( ln_isfpar_mlt ) CALL isf_hdiv_mlt(misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par, fwfisf_par, fwfisf_par_b, phdiv) 
    5353         ! 
    54          ! ice sheet coupling contribution  
     54         ! ice sheet coupling contribution 
    5555         IF ( ln_isfcpl .AND. kt /= 0 ) THEN 
    5656            ! 
     
    9191      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    9292      INTEGER  ::   ikt, ikb  
    93       REAL(wp), DIMENSION(jpi,jpj) :: zhdiv 
     93      REAL(wp), DIMENSION(A2D(nn_hls)) :: zhdiv 
    9494      !!---------------------------------------------------------------------- 
    9595      ! 
     
    9797      ! 
    9898      ! compute integrated divergence correction 
    99       zhdiv(:,:) = 0.5_wp * ( pfwf(:,:) + pfwf_b(:,:) ) * r1_rho0 / phtbl(:,:) 
     99      DO_2D( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 
     100         zhdiv(ji,jj) = 0.5_wp * ( pfwf(ji,jj) + pfwf_b(ji,jj) ) * r1_rho0 / phtbl(ji,jj) 
     101      END_2D 
    100102      ! 
    101103      ! update divergence at each level affected by ice shelf top boundary layer 
    102       DO_2D( 1, 1, 1, 1 ) 
     104      DO_2D_OVR( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 
    103105         ikt = ktop(ji,jj) 
    104106         ikb = kbot(ji,jj) 
    105107         ! level fully include in the ice shelf boundary layer 
    106108         DO jk = ikt, ikb - 1 
    107             phdiv(ji,jj,jk) = phdiv(ji,jj,jk) + zhdiv(ji,jj) 
     109            phdiv(ji,jj,jk) = phdiv(ji,jj,jk) - zhdiv(ji,jj) 
    108110         END DO 
    109111         ! level partially include in ice shelf boundary layer  
    110          phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) + zhdiv(ji,jj) * pfrac(ji,jj) 
     112         phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) - zhdiv(ji,jj) * pfrac(ji,jj) 
    111113      END_2D 
    112114      ! 
     
    131133      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pqvol 
    132134      !!---------------------------------------------------------------------- 
    133       INTEGER :: jk 
     135      INTEGER :: ji, jj, jk 
    134136      !!---------------------------------------------------------------------- 
    135137      ! 
    136       DO jk=1,jpk  
    137          phdiv(:,:,jk) =  phdiv(:,:,jk) + pqvol(:,:,jk) * r1_e1e2t(:,:)   & 
    138             &                             / e3t(:,:,jk,Kmm) 
    139       END DO 
     138      DO_3D_OVR( nn_hls-1, nn_hls, nn_hls-1, nn_hls, 1, jpk ) 
     139         phdiv(ji,jj,jk) =  phdiv(ji,jj,jk) + pqvol(ji,jj,jk) * r1_e1e2t(ji,jj)   & 
     140            &                             / e3t(ji,jj,jk,Kmm) 
     141      END_3D 
    140142      ! 
    141143   END SUBROUTINE isf_hdiv_cpl 
Note: See TracChangeset for help on using the changeset viewer.