- Timestamp:
- 2020-06-03T16:26:23+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/agrif_connection.F90
r12414 r13024 7 7 !!---------------------------------------------------------------------- 8 8 INTEGER :: ji, jj, ind1, ind2 9 INTEGER :: ispongearea 9 INTEGER :: ispongearea, istart 10 10 REAL(wp) :: z1_spongearea 11 11 !!---------------------------------------------------------------------- … … 15 15 16 16 ALLOCATE(ztabramp(jpi,jpj)) 17 ispongearea = 1 + npt_connect * Agrif_irhox() 17 ispongearea = 1 + npt_connect * Agrif_irhox() 18 istart = npt_copy * Agrif_irhox() 18 19 z1_spongearea = 1._wp / REAL( ispongearea ) 19 20 … … 21 22 22 23 ! --- West --- ! 23 IF( ( nbondi == -1) .OR. (nbondi == 2)) THEN24 ind1 = 1+nbghostcells 25 ind2 = 1+nbghostcells+ ispongearea24 IF( ((nbondi == -1) .OR. (nbondi == 2) ).AND. .NOT. (jperio == 1 .OR. jperio == 4 .OR. jperio == 6)) THEN 25 ind1 = 1+nbghostcells + istart 26 ind2 = ind1 + ispongearea 26 27 DO jj = 1, jpj 27 28 DO ji = ind1, ind2 … … 32 33 33 34 ! --- East --- ! 34 IF( (nbondi == 1) .OR. (nbondi == 2) ) THEN 35 ind1 = nlci - nbghostcells - ispongearea 36 ind2 = nlci - nbghostcells 35 IF( ((nbondi == 1) .OR. (nbondi == 2) ).AND. .NOT. (jperio == 1 .OR. jperio == 4 .OR. jperio == 6)) THEN 36 !ind1 = nlci - nbghostcells - ispongearea 37 ind2 = nlci - nbghostcells - istart 38 ind1 = ind2 -ispongearea 39 40 37 41 DO jj = 1, jpj 38 42 DO ji = ind1, ind2 … … 43 47 44 48 ! --- South --- ! 45 IF( (nbondj == -1) .OR. (nbondj == 2) ) THEN 46 ind1 = 1+nbghostcells 47 ind2 = 1+nbghostcells + ispongearea 49 IF(( (nbondj == -1) .OR. (nbondj == 2) ).AND.(ln_bry_south)) THEN 50 ! ind1 = 1+nbghostcells 51 ! ind2 = 1+nbghostcells + ispongearea 52 ind1 = 1+nbghostcells + istart 53 ind2 = ind1 + ispongearea 48 54 DO jj = ind1, ind2 49 55 DO ji = 1, jpi … … 55 61 ! --- North --- ! 56 62 IF( (nbondj == 1) .OR. (nbondj == 2) ) THEN 57 ind1 = nlcj - nbghostcells - ispongearea 58 ind2 = nlcj - nbghostcells 63 ! ind1 = nlcj - nbghostcells - ispongearea 64 ! ind2 = nlcj - nbghostcells 65 66 ind2 = nlcj - nbghostcells - istart 67 ind1 = ind2 -ispongearea 68 59 69 DO jj = ind1, ind2 60 70 DO ji = 1, jpi … … 67 77 END SUBROUTINE Agrif_connection 68 78 79 SUBROUTINE Agrif_make_connection 80 use dom_oce 81 use agrif_parameters 82 !!---------------------------------------------------------------------- 83 !! *** ROUTINE Agrif_Sponge *** 84 !!---------------------------------------------------------------------- 85 INTEGER :: ji, jj, ind1, ind2 86 INTEGER :: ispongearea, istart 87 REAL(wp) :: z1_spongearea 88 !!---------------------------------------------------------------------- 89 ! 90 ! Define ramp from boundaries towards domain interior at T-points 91 ! Store it in ztabramp 92 93 ispongearea = 1 + npt_connect * Agrif_irhox() 94 istart = npt_copy * Agrif_irhox() 95 96 ! --- West --- ! 97 IF( (nbondi == -1) .OR. (nbondi == 2) ) THEN 98 99 ind1 = 1+nbghostcells + istart 100 ind2 = ind1 + ispongearea 101 DO jk=1,jpk 102 DO jj = 1, jpj 103 DO ji = ind1, ind2 104 105 ! print *,'VAL = ',ztabramp(ji,jj)*e3t_interp(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_0(ji,jj,jk), & 106 ! e3t_0(ji,jj,jk) 107 e3t_0(ji,jj,jk) = ztabramp(ji,jj)*e3t_interp(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_0(ji,jj,jk) 108 ENDDO 109 ENDDO 110 ENDDO 111 ENDIF 112 113 ! --- East --- ! 114 IF( (nbondi == 1) .OR. (nbondi == 2) ) THEN 115 ind2 = nlci - nbghostcells - istart 116 ind1 = ind2 -ispongearea 117 DO jk=1,jpk 118 DO jj = 1, jpj 119 DO ji = ind1, ind2 120 e3t_0(ji,jj,jk) = ztabramp(ji,jj)*e3t_interp(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_0(ji,jj,jk) 121 ENDDO 122 ENDDO 123 ENDDO 124 ENDIF 125 126 ! --- South --- ! 127 IF( (nbondj == -1) .OR. (nbondj == 2) ) THEN 128 ind1 = 1+nbghostcells + istart 129 ind2 = ind1 + ispongearea 130 DO jk=1,jpk 131 DO jj = ind1, ind2 132 DO ji = 1, jpi 133 e3t_0(ji,jj,jk) = ztabramp(ji,jj)*e3t_interp(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_0(ji,jj,jk) 134 END DO 135 ENDDO 136 ENDDO 137 ENDIF 138 139 ! --- North --- ! 140 IF( (nbondj == 1) .OR. (nbondj == 2) ) THEN 141 142 ind2 = nlcj - nbghostcells - istart 143 ind1 = ind2 -ispongearea 144 DO jk=1,jpk 145 DO jj = ind1, ind2 146 DO ji = 1, jpi 147 e3t_0(ji,jj,jk) = ztabramp(ji,jj)*e3t_interp(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_0(ji,jj,jk) 148 END DO 149 ENDDO 150 ENDDO 151 ENDIF 152 ! 153 ! 154 END SUBROUTINE Agrif_make_connection 155 69 156 #else 70 157 subroutine agrif_connection_empty
Note: See TracChangeset
for help on using the changeset viewer.