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 14623 for utils/tools/DOMAINcfg/src/agrif_connect.F90 – NEMO

Ignore:
Timestamp:
2021-03-21T19:40:22+01:00 (3 years ago)
Author:
ldebreu
Message:

AGFdomcfg: 1) Update DOMAINcfg to be compliant with the removal of halo cells 2) Update most of the LBC ... subroutines to a recent NEMO 4 version #2638

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools/DOMAINcfg/src/agrif_connect.F90

    r13204 r14623  
    7474         ELSEWHERE 
    7575           ssmask(i1:i2,j1:j2) = 1. 
    76          END WHERE            
     76         END WHERE   
    7777      ENDIF 
    7878      ! 
     
    146146                  IF( e3t_interp(ji,jj,jk) == -10 ) THEN ! the connection has not yet been done 
    147147                     e3t_interp(ji,jj,jk) = MAX( ptab(ji,jj,jk),MIN(e3zps_min, e3t_1d(jk)*e3zps_rat) ) 
    148                      e3t_interp(ji,jj,jk) = MIN( e3t_interp(ji,jj,jk),e3t_1d(jk) ) 
     148                  !   e3t_interp(ji,jj,jk) = MIN( e3t_interp(ji,jj,jk),e3t_1d(jk) ) 
    149149                     e3t_0(ji,jj,jk) = ( 1. - ztabramp(ji,jj) )*e3t_0(ji,jj,jk) + ztabramp(ji,jj)*e3t_interp(ji,jj,jk) 
    150150                  ENDIF 
     
    180180      ! --- West --- ! 
    181181      IF( ((nbondi == -1) .OR. (nbondi == 2) ).AND. .NOT. (jperio == 1 .OR. jperio == 4 .OR. jperio == 6)) THEN 
    182          ind1 = 1+nbghostcells + istart 
     182         ind1 = nn_hls + 1 + nbghostcells + istart 
    183183         ind2 = ind1 + ispongearea  
    184          DO jj = 1, jpj 
    185             DO ji = ind1, ind2                 
    186                ztabramp(ji,jj) = REAL( ind2 - ji ) * z1_spongearea * umask(ind1,jj,1) 
    187             END DO 
    188          ENDDO 
     184         DO ji = mi0(ind1), mi1(ind2)    
     185            DO jj = 1, jpj                
     186               ztabramp(ji,jj) = REAL(ind2 - mig(ji), wp) * z1_spongearea * umask(ind1,jj,1) 
     187            END DO 
     188         ENDDO 
     189            ! ghost cells: 
     190            ind1 = 1 
     191            ind2 = nn_hls + 1 + nbghostcells + istart  ! halo + land + nbghostcells 
     192            DO ji = mi0(ind1), mi1(ind2)    
     193               DO jj = 1, jpj                
     194                  ztabramp(ji,jj) = 1._wp 
     195               END DO 
     196            END DO 
    189197      ENDIF 
    190198 
    191199      ! --- East --- ! 
    192200      IF( ((nbondi == 1) .OR. (nbondi == 2) ).AND. .NOT. (jperio == 1 .OR. jperio == 4 .OR. jperio == 6)) THEN 
    193          ind2 = nlci - nbghostcells - istart 
     201         ind2 = jpiglo -  (nn_hls + nbghostcells ) - istart 
    194202         ind1 = ind2 -ispongearea        
    195          DO jj = 1, jpj 
    196             DO ji = ind1, ind2 
    197                ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ji - ind1 ) * z1_spongearea * umask(ind2-1,jj,1) ) 
     203         DO ji = mi0(ind1), mi1(ind2) 
     204            DO jj = 1, jpj 
     205               ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mig(ji) - ind1 ) * z1_spongearea * umask(ind2-1,jj,1) ) 
    198206            ENDDO 
    199207         ENDDO 
     208            ! ghost cells: 
     209            ind1 = jpiglo -  (nn_hls + nbghostcells ) - istart   ! halo + land + nbghostcells - 1 
     210            ind2 = jpiglo - 1 
     211            DO ji = mi0(ind1), mi1(ind2) 
     212               DO jj = 1, jpj 
     213                  ztabramp(ji,jj) = 1._wp 
     214               END DO 
     215            END DO 
    200216      ENDIF 
    201217 
    202218      ! --- South --- ! 
    203219      IF(( (nbondj == -1) .OR. (nbondj == 2) ).AND.(lk_south)) THEN 
    204          ind1 = 1+nbghostcells + istart 
     220         ind1 = nn_hls + 1 + nbghostcells + istart 
    205221         ind2 = ind1 + ispongearea  
    206          DO jj = ind1, ind2  
     222         DO jj = mj0(ind1), mj1(ind2)  
    207223            DO ji = 1, jpi 
    208                ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2 - jj ) * z1_spongearea * vmask(ji,ind1,1) ) 
    209             END DO 
    210          ENDDO 
     224               ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2 - mjg(jj) ) * z1_spongearea * vmask(ji,ind1,1) ) 
     225            END DO 
     226         ENDDO 
     227            ! ghost cells: 
     228            ind1 = 1 
     229            ind2 = nn_hls + 1 + nbghostcells + istart                 ! halo + land + nbghostcells 
     230            DO jj = mj0(ind1), mj1(ind2)  
     231               DO ji = 1, jpi 
     232                  ztabramp(ji,jj) = 1._wp 
     233               END DO 
     234            END DO 
    211235      ENDIF 
    212236 
    213237      ! --- North --- ! 
    214238      IF( (nbondj == 1) .OR. (nbondj == 2) ) THEN 
    215          ind2 = nlcj - nbghostcells - istart 
    216          ind1 = ind2 -ispongearea          
    217          DO jj = ind1, ind2 
     239         ind2 = jpjglo - (nn_hls + nbghostcells) - istart 
     240         ind1 = ind2 -ispongearea 
     241         DO jj = mj0(ind1), mj1(ind2) 
    218242            DO ji = 1, jpi 
    219                ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( jj - ind1 ) * z1_spongearea * vmask(ji,ind2-1,1) ) 
    220             END DO 
    221          ENDDO 
     243               ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mjg(jj) - ind1 ) * z1_spongearea * vmask(ji,ind2-1,1) ) 
     244            END DO 
     245         ENDDO 
     246            ! ghost cells: 
     247            ind1 = jpjglo - (nn_hls + nbghostcells) - istart      ! halo + land + nbghostcells - 1 
     248            ind2 = jpjglo 
     249            DO jj = mj0(ind1), mj1(ind2) 
     250               DO ji = 1, jpi 
     251                  ztabramp(ji,jj) = 1._wp 
     252               END DO 
     253            END DO 
    222254      ENDIF 
    223255      ! 
Note: See TracChangeset for help on using the changeset viewer.