Ignore:
Timestamp:
2019-09-23T18:25:29+02:00 (13 months ago)
Author:
jchanut
Message:

#2222: 1) create remapping module (vremap) and integration of D. Engwirda piecewise polynomial recontruction package (PPR_LIB cpp key). 2) Various bug corrections with key_vertical activated.

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  
    4848   END SUBROUTINE Agrif_trc 
    4949 
    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 ) 
    5151      !!---------------------------------------------------------------------- 
    5252      !!                  *** ROUTINE interptrn *** 
     
    5555      INTEGER                                     , INTENT(in   ) ::   i1, i2, j1, j2, k1, k2, n1, n2 
    5656      LOGICAL                                     , INTENT(in   ) ::   before 
    57       INTEGER                                     , INTENT(in   ) ::   nb , ndir 
    5857      ! 
    59       INTEGER  ::   ji, jj, jk, jn, iref, jref, ibdy, jbdy   ! dummy loop indices 
     58      INTEGER  ::   ji, jj, jk, jn, ibdy, jbdy   ! dummy loop indices 
    6059      INTEGER  ::   imin, imax, jmin, jmax, N_in, N_out 
    6160      REAL(wp) ::   zrho, z1, z2, z3, z4, z5, z6, z7 
    62       LOGICAL :: western_side, eastern_side,northern_side,southern_side 
     61 
    6362      ! vertical interpolation: 
    6463      REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,n1:n2) :: ptab_child 
     
    6665      REAL(wp), DIMENSION(k1:k2) :: h_in 
    6766      REAL(wp), DIMENSION(1:jpk) :: h_out 
    68       REAL(wp) :: h_diff 
     67      !!---------------------------------------------------------------------- 
    6968 
    7069      IF( before ) THEN          
     
    9190 
    9291# 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  
    9692         DO jj=j1,j2 
    9793            DO ji=i1,i2 
    98                iref = ji 
    99                jref = jj 
    100                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) 
    10494               N_in = 0 
    10595               DO jk=k1,k2 !k2 = jpk of parent grid 
     
    111101               N_out = 0 
    112102               DO jk=1,jpk ! jpk of child grid 
    113                   IF (tmask(iref,jref,jk) == 0) EXIT  
     103                  IF (tmask(ji,jj,jk) == 0) EXIT  
    114104                  N_out = N_out + 1 
    115                   h_out(jk) = e3t_n(iref,jref,jk) 
     105                  h_out(jk) = e3t_a(ji,jj,jk) 
    116106               ENDDO 
    117107               IF (N_in > 0) THEN 
Note: See TracChangeset for help on using the changeset viewer.