Changeset 11205 for NEMO/branches/2019/dev_r10973_AGRIF-01_jchanut_small_jpi_jpj/src/NST/agrif_oce_sponge.F90
- Timestamp:
- 2019-07-02T14:25:46+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10973_AGRIF-01_jchanut_small_jpi_jpj/src/NST/agrif_oce_sponge.F90
r10425 r11205 93 93 !!---------------------------------------------------------------------- 94 94 INTEGER :: ji, jj, ind1, ind2 95 INTEGER :: ispongearea 96 REAL(wp) :: z1_ spongearea95 INTEGER :: ispongearea, jspongearea 96 REAL(wp) :: z1_ispongearea, z1_jspongearea 97 97 REAL(wp), DIMENSION(jpi,jpj) :: ztabramp 98 98 !!---------------------------------------------------------------------- … … 104 104 105 105 ispongearea = 1 + nn_sponge_len * Agrif_irhox() 106 z1_spongearea = 1._wp / REAL( ispongearea ) 106 z1_ispongearea = 1._wp / REAL( ispongearea ) 107 jspongearea = 1 + nn_sponge_len * Agrif_irhoy() 108 z1_jspongearea = 1._wp / REAL( jspongearea ) 107 109 108 110 ztabramp(:,:) = 0._wp 109 111 110 112 ! --- West --- ! 111 IF( (nbondi == -1) .OR. (nbondi == 2) ) THEN 112 ind1 = 1+nbghostcells 113 ind2 = 1+nbghostcells + ispongearea 113 ind1 = 1+nbghostcells 114 ind2 = 1+nbghostcells + ispongearea 115 DO ji = mi0(ind1), mi1(ind2) 116 DO jj = 1, jpj 117 ztabramp(ji,jj) = REAL( ind2 - mig(ji) ) * z1_ispongearea 118 END DO 119 END DO 120 121 ! --- East --- ! 122 ind1 = jpiglo - nbghostcells - ispongearea 123 ind2 = jpiglo - nbghostcells 124 DO ji = mi0(ind1), mi1(ind2) 114 125 DO jj = 1, jpj 115 DO ji = ind1, ind2 116 ztabramp(ji,jj) = REAL( ind2 - ji ) * z1_spongearea * umask(ind1,jj,1) 117 END DO 126 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mig(ji) - ind1 ) * z1_ispongearea) 118 127 ENDDO 119 ENDIF 120 121 ! --- East --- ! 122 IF( (nbondi == 1) .OR. (nbondi == 2) ) THEN 123 ind1 = nlci - nbghostcells - ispongearea 124 ind2 = nlci - nbghostcells 125 DO jj = 1, jpj 126 DO ji = ind1, ind2 127 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ji - ind1 ) * z1_spongearea * umask(ind2-1,jj,1) ) 128 ENDDO 129 ENDDO 130 ENDIF 128 END DO 131 129 132 130 ! --- South --- ! 133 IF( (nbondj == -1) .OR. (nbondj == 2) ) THEN 134 ind1 = 1+nbghostcells 135 ind2 = 1+nbghostcells + ispongearea 136 DO jj = ind1, ind2 137 DO ji = 1, jpi 138 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2 - jj ) * z1_spongearea * vmask(ji,ind1,1) ) 139 END DO 140 ENDDO 141 ENDIF 131 ind1 = 1+nbghostcells 132 ind2 = 1+nbghostcells + jspongearea 133 DO jj = mj0(ind1), mj1(ind2) 134 DO ji = 1, jpi 135 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2 - mjg(jj) ) * z1_jspongearea) 136 END DO 137 END DO 142 138 143 139 ! --- North --- ! 144 IF( (nbondj == 1) .OR. (nbondj == 2) ) THEN 145 ind1 = nlcj - nbghostcells - ispongearea 146 ind2 = nlcj - nbghostcells 147 DO jj = ind1, ind2 148 DO ji = 1, jpi 149 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( jj - ind1 ) * z1_spongearea * vmask(ji,ind2-1,1) ) 150 END DO 151 ENDDO 152 ENDIF 140 ind1 = jpjglo - nbghostcells - jspongearea 141 ind2 = jpjglo - nbghostcells 142 DO jj = mj0(ind1), mj1(ind2) 143 DO ji = 1, jpi 144 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mjg(jj) - ind1 ) * z1_jspongearea) 145 END DO 146 END DO 153 147 154 148 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.