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.
agrif_connection.F90 in utils/tools_AGRIF_CMEMS_2020/DOMAINcfg/src – NEMO

source: utils/tools_AGRIF_CMEMS_2020/DOMAINcfg/src/agrif_connection.F90 @ 10727

Last change on this file since 10727 was 10727, checked in by rblod, 5 years ago

new nesting tools (attempt) and brutal cleaning of DOMAINcfg, see ticket #2129

File size: 2.5 KB
Line 
1#if defined key_agrif
2   SUBROUTINE Agrif_connection
3   use dom_oce
4   use agrif_parameters
5      !!----------------------------------------------------------------------
6      !!                 *** ROUTINE  Agrif_Sponge ***
7      !!----------------------------------------------------------------------
8      INTEGER  ::   ji, jj, ind1, ind2
9      INTEGER  ::   ispongearea
10      REAL(wp) ::   z1_spongearea
11      !!----------------------------------------------------------------------
12      !
13         ! Define ramp from boundaries towards domain interior at T-points
14         ! Store it in ztabramp
15
16         ALLOCATE(ztabramp(jpi,jpj))
17         ispongearea  = 1 + npt_connect * Agrif_irhox()
18         z1_spongearea = 1._wp / REAL( ispongearea )
19         
20         ztabramp(:,:) = 0._wp
21
22         ! --- West --- !
23         IF( (nbondi == -1) .OR. (nbondi == 2) ) THEN
24            ind1 = 1+nbghostcells
25            ind2 = 1+nbghostcells + ispongearea 
26            DO jj = 1, jpj
27               DO ji = ind1, ind2               
28                  ztabramp(ji,jj) = REAL( ind2 - ji ) * z1_spongearea * umask(ind1,jj,1)
29               END DO
30            ENDDO
31         ENDIF
32
33         ! --- East --- !
34         IF( (nbondi == 1) .OR. (nbondi == 2) ) THEN
35            ind1 = nlci - nbghostcells - ispongearea
36            ind2 = nlci - nbghostcells
37            DO jj = 1, jpj
38               DO ji = ind1, ind2
39                  ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ji - ind1 ) * z1_spongearea * umask(ind2-1,jj,1) )
40               ENDDO
41            ENDDO
42         ENDIF
43
44         ! --- South --- !
45         IF( (nbondj == -1) .OR. (nbondj == 2) ) THEN
46            ind1 = 1+nbghostcells
47            ind2 = 1+nbghostcells + ispongearea
48            DO jj = ind1, ind2 
49               DO ji = 1, jpi
50                  ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2 - jj ) * z1_spongearea * vmask(ji,ind1,1) )
51               END DO
52            ENDDO
53         ENDIF
54
55         ! --- North --- !
56         IF( (nbondj == 1) .OR. (nbondj == 2) ) THEN
57            ind1 = nlcj - nbghostcells - ispongearea
58            ind2 = nlcj - nbghostcells
59            DO jj = ind1, ind2
60               DO ji = 1, jpi
61                  ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( jj - ind1 ) * z1_spongearea * vmask(ji,ind2-1,1) )
62               END DO
63            ENDDO
64         ENDIF
65      !
66      !
67   END SUBROUTINE Agrif_connection
68   
69#else
70subroutine agrif_connection_empty
71end subroutine agrif_connection_empty
72#endif
Note: See TracBrowser for help on using the repository browser.