Changeset 11590
- Timestamp:
- 2019-09-23T18:25:29+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce.F90
r11574 r11590 17 17 18 18 PUBLIC agrif_oce_alloc ! routine called by nemo_init in nemogcm.F90 19 #if defined key_vertical 20 PUBLIC reconstructandremap ! remapping routine 21 #endif 19 22 20 ! !!* Namelist namagrif: AGRIF parameters 23 21 LOGICAL , PUBLIC :: ln_agrif_2way = .TRUE. !: activate two way nesting … … 95 93 END FUNCTION agrif_oce_alloc 96 94 97 #if defined key_vertical98 SUBROUTINE reconstructandremap(tabin,hin,tabout,hout,N,Nout)99 !!----------------------------------------------------------------------100 !! *** FUNCTION reconstructandremap ***101 !!----------------------------------------------------------------------102 IMPLICIT NONE103 INTEGER N, Nout104 REAL(wp) tabin(N), tabout(Nout)105 REAL(wp) hin(N), hout(Nout)106 REAL(wp) coeffremap(N,3),zwork(N,3)107 REAL(wp) zwork2(N+1,3)108 INTEGER jk109 DOUBLE PRECISION, PARAMETER :: dsmll=1.0d-8110 REAL(wp) q,q01,q02,q001,q002,q0111 REAL(wp) z_win(1:N+1), z_wout(1:Nout+1)112 REAL(wp),PARAMETER :: dpthin = 1.D-3113 INTEGER :: k1, kbox, ktop, ka, kbot114 REAL(wp) :: tsum, qbot, rpsum, zbox, ztop, zthk, zbot, offset, qtop115 116 z_win(1)=0.; z_wout(1)= 0.117 DO jk=1,N118 z_win(jk+1)=z_win(jk)+hin(jk)119 ENDDO120 121 DO jk=1,Nout122 z_wout(jk+1)=z_wout(jk)+hout(jk)123 ENDDO124 125 DO jk=2,N126 zwork(jk,1)=1./(hin(jk-1)+hin(jk))127 ENDDO128 129 DO jk=2,N-1130 q0 = 1./(hin(jk-1)+hin(jk)+hin(jk+1))131 zwork(jk,2)=hin(jk-1)+2.*hin(jk)+hin(jk+1)132 zwork(jk,3)=q0133 ENDDO134 135 DO jk= 2,N136 zwork2(jk,1)=zwork(jk,1)*(tabin(jk)-tabin(jk-1))137 ENDDO138 139 coeffremap(:,1) = tabin(:)140 141 DO jk=2,N-1142 q001 = hin(jk)*zwork2(jk+1,1)143 q002 = hin(jk)*zwork2(jk,1)144 IF (q001*q002 < 0) then145 q001 = 0.146 q002 = 0.147 ENDIF148 q=zwork(jk,2)149 q01=q*zwork2(jk+1,1)150 q02=q*zwork2(jk,1)151 IF (abs(q001) > abs(q02)) q001 = q02152 IF (abs(q002) > abs(q01)) q002 = q01153 154 q=(q001-q002)*zwork(jk,3)155 q001=q001-q*hin(jk+1)156 q002=q002+q*hin(jk-1)157 158 coeffremap(jk,3)=coeffremap(jk,1)+q001159 coeffremap(jk,2)=coeffremap(jk,1)-q002160 161 zwork2(jk,1)=(2.*q001-q002)**2162 zwork2(jk,2)=(2.*q002-q001)**2163 ENDDO164 165 DO jk=1,N166 IF(jk.EQ.1 .OR. jk.EQ.N .OR. hin(jk).LE.dpthin) THEN167 coeffremap(jk,3) = coeffremap(jk,1)168 coeffremap(jk,2) = coeffremap(jk,1)169 zwork2(jk,1) = 0.170 zwork2(jk,2) = 0.171 ENDIF172 ENDDO173 174 DO jk=2,N175 q002=max(zwork2(jk-1,2),dsmll)176 q001=max(zwork2(jk,1),dsmll)177 zwork2(jk,3)=(q001*coeffremap(jk-1,3)+q002*coeffremap(jk,2))/(q001+q002)178 ENDDO179 180 zwork2(1,3) = 2*coeffremap(1,1)-zwork2(2,3)181 zwork2(N+1,3)=2*coeffremap(N,1)-zwork2(N,3)182 183 DO jk=1,N184 q01=zwork2(jk+1,3)-coeffremap(jk,1)185 q02=coeffremap(jk,1)-zwork2(jk,3)186 q001=2.*q01187 q002=2.*q02188 IF (q01*q02<0) then189 q01=0.190 q02=0.191 ELSEIF (abs(q01)>abs(q002)) then192 q01=q002193 ELSEIF (abs(q02)>abs(q001)) then194 q02=q001195 ENDIF196 coeffremap(jk,2)=coeffremap(jk,1)-q02197 coeffremap(jk,3)=coeffremap(jk,1)+q01198 ENDDO199 200 zbot=0.0201 kbot=1202 DO jk=1,Nout203 ztop=zbot !top is bottom of previous layer204 ktop=kbot205 IF (ztop.GE.z_win(ktop+1)) then206 ktop=ktop+1207 ENDIF208 209 zbot=z_wout(jk+1)210 zthk=zbot-ztop211 212 IF(zthk.GT.dpthin .AND. ztop.LT.z_wout(Nout+1)) THEN213 214 kbot=ktop215 DO while (z_win(kbot+1).lt.zbot.and.kbot.lt.N)216 kbot=kbot+1217 ENDDO218 zbox=zbot219 DO k1= jk+1,Nout220 IF (z_wout(k1+1)-z_wout(k1).GT.dpthin) THEN221 exit !thick layer222 ELSE223 zbox=z_wout(k1+1) !include thin adjacent layers224 IF(zbox.EQ.z_wout(Nout+1)) THEN225 exit !at bottom226 ENDIF227 ENDIF228 ENDDO229 zthk=zbox-ztop230 231 kbox=ktop232 DO while (z_win(kbox+1).lt.zbox.and.kbox.lt.N)233 kbox=kbox+1234 ENDDO235 236 IF(ktop.EQ.kbox) THEN237 IF(z_wout(jk).NE.z_win(kbox).OR.z_wout(jk+1).NE.z_win(kbox+1)) THEN238 IF(hin(kbox).GT.dpthin) THEN239 q001 = (zbox-z_win(kbox))/hin(kbox)240 q002 = (ztop-z_win(kbox))/hin(kbox)241 q01=q001**2+q002**2+q001*q002+1.-2.*(q001+q002)242 q02=q01-1.+(q001+q002)243 q0=1.-q01-q02244 ELSE245 q0 = 1.0246 q01 = 0.247 q02 = 0.248 ENDIF249 tabout(jk)=q0*coeffremap(kbox,1)+q01*coeffremap(kbox,2)+q02*coeffremap(kbox,3)250 ELSE251 tabout(jk) = tabin(kbox)252 ENDIF253 ELSE254 IF(ktop.LE.jk .AND. kbox.GE.jk) THEN255 ka = jk256 ELSEIF (kbox-ktop.GE.3) THEN257 ka = (kbox+ktop)/2258 ELSEIF (hin(ktop).GE.hin(kbox)) THEN259 ka = ktop260 ELSE261 ka = kbox262 ENDIF !choose ka263 264 offset=coeffremap(ka,1)265 266 qtop = z_win(ktop+1)-ztop !partial layer thickness267 IF(hin(ktop).GT.dpthin) THEN268 q=(ztop-z_win(ktop))/hin(ktop)269 q01=q*(q-1.)270 q02=q01+q271 q0=1-q01-q02272 ELSE273 q0 = 1.274 q01 = 0.275 q02 = 0.276 ENDIF277 278 tsum =((q0*coeffremap(ktop,1)+q01*coeffremap(ktop,2)+q02*coeffremap(ktop,3))-offset)*qtop279 280 DO k1= ktop+1,kbox-1281 tsum =tsum +(coeffremap(k1,1)-offset)*hin(k1)282 ENDDO !k1283 284 qbot = zbox-z_win(kbox) !partial layer thickness285 IF(hin(kbox).GT.dpthin) THEN286 q=qbot/hin(kbox)287 q01=(q-1.)**2288 q02=q01-1.+q289 q0=1-q01-q02290 ELSE291 q0 = 1.0292 q01 = 0.293 q02 = 0.294 ENDIF295 296 tsum = tsum +((q0*coeffremap(kbox,1)+q01*coeffremap(kbox,2)+q02*coeffremap(kbox,3))-offset)*qbot297 298 rpsum=1.0d0/zthk299 tabout(jk)=offset+tsum*rpsum300 301 ENDIF !single or multiple layers302 ELSE303 IF (jk==1) THEN304 write(*,'(a7,i4,i4,3f12.5)')'problem = ',N,Nout,zthk,z_wout(jk+1),hout(1)305 ENDIF306 tabout(jk) = tabout(jk-1)307 308 ENDIF !normal:thin layer309 ENDDO !jk310 311 return312 end subroutine reconstructandremap313 #endif314 315 95 #endif 316 96 !!====================================================================== -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90
r11574 r11590 33 33 USE agrif_oce_sponge 34 34 USE lib_mpp 35 USE vremap 35 36 36 37 IMPLICIT NONE … … 661 662 REAL(wp), DIMENSION(k1:k2) :: h_in 662 663 REAL(wp), DIMENSION(1:jpk) :: h_out 664 !!---------------------------------------------------------------------- 663 665 664 666 IF( before ) THEN … … 698 700 IF (tmask(ji,jj,jk) == 0) EXIT 699 701 N_out = N_out + 1 700 h_out(jk) = e3t_ n(ji,jj,jk)702 h_out(jk) = e3t_a(ji,jj,jk) 701 703 ENDDO 702 704 IF (N_in > 0) THEN 703 705 DO jn=1,jpts 704 call reconstructandremap(tabin(1:N_in,jn),h_in ,ptab_child(ji,jj,1:N_out,jn),h_out,N_in,N_out)706 call reconstructandremap(tabin(1:N_in,jn),h_in(1:N_in),ptab_child(ji,jj,1:N_out,jn),h_out(1:N_out),N_in,N_out) 705 707 ENDDO 706 708 ENDIF … … 737 739 END SUBROUTINE interpsshn 738 740 739 SUBROUTINE interpun( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before , nb, ndir)741 SUBROUTINE interpun( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before ) 740 742 !!---------------------------------------------------------------------- 741 743 !! *** ROUTINE interpun *** … … 745 747 REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,m1:m2), INTENT(inout) :: ptab 746 748 LOGICAL, INTENT(in) :: before 747 INTEGER, INTENT(in) :: nb , ndir748 749 !! 749 750 INTEGER :: ji,jj,jk … … 752 753 REAL(wp), DIMENSION(k1:k2) :: tabin, h_in 753 754 REAL(wp), DIMENSION(1:jpk) :: h_out 754 INTEGER :: N_in, N_out , iref755 INTEGER :: N_in, N_out 755 756 REAL(wp) :: h_diff 756 LOGICAL :: western_side, eastern_side757 757 !!--------------------------------------------- 758 758 ! … … 772 772 # if defined key_vertical 773 773 ! VERTICAL REFINEMENT BEGIN 774 western_side = (nb == 1).AND.(ndir == 1)775 eastern_side = (nb == 1).AND.(ndir == 2)776 774 777 775 DO ji=i1,i2 778 iref = ji779 IF (western_side) iref = MAX(2,ji)780 IF (eastern_side) iref = MIN(nlci-2,ji)781 776 DO jj=j1,j2 782 777 N_in = 0 … … 795 790 N_out = 0 796 791 DO jk=1,jpk 797 if (umask( iref,jj,jk) == 0) EXIT792 if (umask(ji,jj,jk) == 0) EXIT 798 793 N_out = N_out + 1 799 h_out(N_out) = e3u_a( iref,jj,jk)794 h_out(N_out) = e3u_a(ji,jj,jk) 800 795 ENDDO 801 796 … … 829 824 END SUBROUTINE interpun 830 825 831 SUBROUTINE interpvn( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before , nb, ndir)826 SUBROUTINE interpvn( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before ) 832 827 !!---------------------------------------------------------------------- 833 828 !! *** ROUTINE interpvn *** … … 837 832 REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,m1:m2), INTENT(inout) :: ptab 838 833 LOGICAL, INTENT(in) :: before 839 INTEGER, INTENT(in) :: nb , ndir840 834 ! 841 835 INTEGER :: ji,jj,jk … … 844 838 REAL(wp), DIMENSION(k1:k2) :: tabin, h_in 845 839 REAL(wp), DIMENSION(1:jpk) :: h_out 846 INTEGER :: N_in, N_out , jref840 INTEGER :: N_in, N_out 847 841 REAL(wp) :: h_diff 848 LOGICAL :: northern_side,southern_side849 842 !!--------------------------------------------- 850 843 ! … … 864 857 # if defined key_vertical 865 858 866 southern_side = (nb == 2).AND.(ndir == 1)867 northern_side = (nb == 2).AND.(ndir == 2)868 869 859 DO jj=j1,j2 870 jref = jj871 IF (southern_side) jref = MAX(2,jj)872 IF (northern_side) jref = MIN(nlcj-2,jj)873 860 DO ji=i1,i2 874 861 N_in = 0 … … 886 873 N_out = 0 887 874 DO jk=1,jpk 888 if (vmask(ji,j ref,jk) == 0) EXIT875 if (vmask(ji,jj,jk) == 0) EXIT 889 876 N_out = N_out + 1 890 h_out(N_out) = e3v_a(ji,j ref,jk)877 h_out(N_out) = e3v_a(ji,jj,jk) 891 878 END DO 892 879 IF (N_out == 0) THEN -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90
r11574 r11590 23 23 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 24 24 USE iom 25 USE vremap 25 26 26 27 IMPLICIT NONE … … 319 320 DO jj=j1,j2 320 321 DO ji=i1,i2 321 tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t_ n(ji,jj,jk)322 tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t_b(ji,jj,jk) 322 323 END DO 323 324 END DO … … 342 343 IF (tmask(ji,jj,jk) == 0) EXIT 343 344 N_out = N_out + 1 344 h_out(jk) = e3t_ n(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above345 h_out(jk) = e3t_b(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above 345 346 ENDDO 346 347 IF (N_in > 0) THEN 347 h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in))348 tabres(ji,jj,k2,:) = tabres(ji,jj,k2-1,:) !what is this line for?????349 348 DO jn=1,jpts 350 call reconstructandremap(tabin(1:N_in,jn),h_in ,tabres_child(ji,jj,1:N_out,jn),h_out,N_in,N_out)349 call reconstructandremap(tabin(1:N_in,jn),h_in(1:N_in),tabres_child(ji,jj,1:N_out,jn),h_out(1:N_out),N_in,N_out) 351 350 ENDDO 352 351 ENDIF … … 446 445 tabres(ji,jj,jk,m1) = ub(ji,jj,jk) 447 446 # if defined key_vertical 448 tabres(ji,jj,jk,m2) = e3u_ n(ji,jj,jk)*umask(ji,jj,jk)447 tabres(ji,jj,jk,m2) = e3u_b(ji,jj,jk)*umask(ji,jj,jk) 449 448 # endif 450 449 END DO … … 475 474 if (umask(ji,jj,jk) == 0) EXIT 476 475 N_out = N_out + 1 477 h_out(N_out) = e3u_ n(ji,jj,jk)476 h_out(N_out) = e3u_b(ji,jj,jk) 478 477 ENDDO 479 478 … … 507 506 DO jj = j1,j2 508 507 DO ji = i1+1,i2 ! vector opt. 509 zbtr = r1_e1e2t(ji,jj) / e3t_ n(ji,jj,jk) * fsahm_spt(ji,jj)510 hdivdiff(ji,jj,jk) = ( e2u(ji ,jj)*e3u_ n(ji ,jj,jk) * ubdiff(ji ,jj,jk) &511 & -e2u(ji-1,jj)*e3u_ n(ji-1,jj,jk) * ubdiff(ji-1,jj,jk) ) * zbtr508 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj) 509 hdivdiff(ji,jj,jk) = ( e2u(ji ,jj)*e3u_b(ji ,jj,jk) * ubdiff(ji ,jj,jk) & 510 & -e2u(ji-1,jj)*e3u_b(ji-1,jj,jk) * ubdiff(ji-1,jj,jk) ) * zbtr 512 511 END DO 513 512 END DO … … 599 598 tabres(ji,jj,jk,m1) = vb(ji,jj,jk) 600 599 # if defined key_vertical 601 tabres(ji,jj,jk,m2) = vmask(ji,jj,jk) * e3v_ n(ji,jj,jk)600 tabres(ji,jj,jk,m2) = vmask(ji,jj,jk) * e3v_b(ji,jj,jk) 602 601 # endif 603 602 END DO … … 627 626 if (vmask(ji,jj,jk) == 0) EXIT 628 627 N_out = N_out + 1 629 h_out(N_out) = e3v_ n(ji,jj,jk)628 h_out(N_out) = e3v_b(ji,jj,jk) 630 629 ENDDO 631 630 … … 653 652 DO jj = j1+1,j2 654 653 DO ji = i1,i2 ! vector opt. 655 zbtr = r1_e1e2t(ji,jj) / e3t_ n(ji,jj,jk) * fsahm_spt(ji,jj)656 hdivdiff(ji,jj,jk) = ( e1v(ji,jj ) * e3v_ n(ji,jj ,jk) * vbdiff(ji,jj ,jk) &657 & -e1v(ji,jj-1) * e3v_ n(ji,jj-1,jk) * vbdiff(ji,jj-1,jk) ) * zbtr654 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj) 655 hdivdiff(ji,jj,jk) = ( e1v(ji,jj ) * e3v_b(ji,jj ,jk) * vbdiff(ji,jj ,jk) & 656 & -e1v(ji,jj-1) * e3v_b(ji,jj-1,jk) * vbdiff(ji,jj-1,jk) ) * zbtr 658 657 END DO 659 658 END DO -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_update.F90
r11574 r11590 24 24 USE lib_mpp ! MPP library 25 25 USE domvvl ! Need interpolation routines 26 USE vremap ! Vertical remapping 26 27 27 28 IMPLICIT NONE … … 319 320 N_in = 0 320 321 DO jk=k1,k2 !k2 = jpk of child grid 321 IF (tabres(ji,jj,jk,n2) < 900) EXIT322 IF (tabres(ji,jj,jk,n2) < -900._wp ) EXIT 322 323 N_in = N_in + 1 323 324 tabin(jk,:) = tabres(ji,jj,jk,n1:n2-1)/tabres(ji,jj,jk,n2) -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_interp.F90
r11574 r11590 48 48 END SUBROUTINE Agrif_trc 49 49 50 SUBROUTINE interptrn( ptab, i1, i2, j1, j2, k1, k2, n1, n2, before , nb, ndir)50 SUBROUTINE interptrn( ptab, i1, i2, j1, j2, k1, k2, n1, n2, before ) 51 51 !!---------------------------------------------------------------------- 52 52 !! *** ROUTINE interptrn *** … … 55 55 INTEGER , INTENT(in ) :: i1, i2, j1, j2, k1, k2, n1, n2 56 56 LOGICAL , INTENT(in ) :: before 57 INTEGER , INTENT(in ) :: nb , ndir58 57 ! 59 INTEGER :: ji, jj, jk, jn, i ref, jref, ibdy, jbdy ! dummy loop indices58 INTEGER :: ji, jj, jk, jn, ibdy, jbdy ! dummy loop indices 60 59 INTEGER :: imin, imax, jmin, jmax, N_in, N_out 61 60 REAL(wp) :: zrho, z1, z2, z3, z4, z5, z6, z7 62 LOGICAL :: western_side, eastern_side,northern_side,southern_side 61 63 62 ! vertical interpolation: 64 63 REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,n1:n2) :: ptab_child … … 66 65 REAL(wp), DIMENSION(k1:k2) :: h_in 67 66 REAL(wp), DIMENSION(1:jpk) :: h_out 68 REAL(wp) :: h_diff67 !!---------------------------------------------------------------------- 69 68 70 69 IF( before ) THEN … … 91 90 92 91 # if defined key_vertical 93 western_side = (nb == 1).AND.(ndir == 1) ; eastern_side = (nb == 1).AND.(ndir == 2)94 southern_side = (nb == 2).AND.(ndir == 1) ; northern_side = (nb == 2).AND.(ndir == 2)95 96 92 DO jj=j1,j2 97 93 DO ji=i1,i2 98 iref = ji99 jref = jj100 if(western_side) iref=MAX(2,ji)101 if(eastern_side) iref=MIN(nlci-1,ji)102 if(southern_side) jref=MAX(2,jj)103 if(northern_side) jref=MIN(nlcj-1,jj)104 94 N_in = 0 105 95 DO jk=k1,k2 !k2 = jpk of parent grid … … 111 101 N_out = 0 112 102 DO jk=1,jpk ! jpk of child grid 113 IF (tmask( iref,jref,jk) == 0) EXIT103 IF (tmask(ji,jj,jk) == 0) EXIT 114 104 N_out = N_out + 1 115 h_out(jk) = e3t_ n(iref,jref,jk)105 h_out(jk) = e3t_a(ji,jj,jk) 116 106 ENDDO 117 107 IF (N_in > 0) THEN -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90
r10068 r11590 93 93 DO jj=j1,j2 94 94 DO ji=i1,i2 95 tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t_ n(ji,jj,jk)95 tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t_b(ji,jj,jk) 96 96 END DO 97 97 END DO … … 114 114 IF (tmask(ji,jj,jk) == 0) EXIT 115 115 N_out = N_out + 1 116 h_out(jk) = e3t_ n(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above116 h_out(jk) = e3t_b(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above 117 117 ENDDO 118 118 IF (N_in > 0) THEN 119 h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in))120 tabres(ji,jj,k2,:) = tabres(ji,jj,k2-1,:) !what is this line for?????121 119 DO jn=1,jptra 122 120 call reconstructandremap(tabin(1:N_in,jn),h_in,tabres_child(ji,jj,1:N_out,jn),h_out,N_in,N_out) -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_user.F90
r11574 r11590 324 324 ! 3. Location of interpolation 325 325 !----------------------------- 326 CALL Agrif_Set_bc( tsn_id, (/0,ind1 /) )327 CALL Agrif_Set_bc( un_interp_id, (/0,ind1 /) )328 CALL Agrif_Set_bc( vn_interp_id, (/0,ind1 /) )326 CALL Agrif_Set_bc( tsn_id, (/0,ind1-1/) ) 327 CALL Agrif_Set_bc( un_interp_id, (/0,ind1-1/) ) 328 CALL Agrif_Set_bc( vn_interp_id, (/0,ind1-1/) ) 329 329 330 330 CALL Agrif_Set_bc( tsn_sponge_id, (/-nn_sponge_len*Agrif_irhox()-1,0/) ) ! if west and rhox=3 and sponge=2 and ghost=1: columns 2 to 9 … … 594 594 ! 3. Location of interpolation 595 595 !----------------------------- 596 CALL Agrif_Set_bc(trn_id,(/0,ind1 /))596 CALL Agrif_Set_bc(trn_id,(/0,ind1-1/)) 597 597 CALL Agrif_Set_bc(trn_sponge_id,(/-nn_sponge_len*Agrif_irhox()-1,0/)) 598 598
Note: See TracChangeset
for help on using the changeset viewer.