Changeset 11590 for NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_interp.F90
- Timestamp:
- 2019-09-23T18:25:29+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.