Ignore:
Timestamp:
May 30, 2017 2:52:52 PM (7 years ago)
Author:
hellstea
Message:

minor bugfix in pmc interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/pmc_interface_mod.f90

    r2220 r2229  
    2121! Current revisions:
    2222! ------------------
    23 !
     23! A minor indexing error in init_anterp_tophat is corrected.
    2424!
    2525! Former revisions:
     
    2727! $Id$
    2828!
    29 ! 2219 2017-05-09 14:16:14Z hellstea
    30 ! Two near-wall correction-related array indexing bugs corrected in the
    31 ! interpolation routines.
    32 !
    3329! 2174 2017-03-13 08:18:57Z maronga
    3430! Added support for cloud physics quantities, syntax layout improvements. Data
     
    21592155       INTEGER(iwp) ::  ii       !: Coarse-grid index
    21602156       INTEGER(iwp) ::  istart   !:
     2157       INTEGER(iwp) ::  ir       !:
    21612158       INTEGER(iwp) ::  j        !: Fine-grid index
    21622159       INTEGER(iwp) ::  jj       !: Coarse-grid index
    21632160       INTEGER(iwp) ::  jstart   !:
     2161       INTEGER(iwp) ::  jr       !:
    21642162       INTEGER(iwp) ::  k        !: Fine-grid index
    21652163       INTEGER(iwp) ::  kk       !: Coarse-grid index
     
    22282226          DO  WHILE ( ( coord_x(i) < cg%coord_x(ii) - 0.5_wp * cg%dx )  .AND.   &
    22292227                      ( i < nxrg ) )
    2230              i = i + 1
     2228             i  = i + 1
    22312229          ENDDO
    22322230          iflu(ii) = MIN( MAX( i, nxlg ), nxrg )
    2233           DO  WHILE ( ( coord_x(i) <= cg%coord_x(ii) + 0.5_wp * cg%dx )  .AND.  &
     2231          ir = i
     2232          DO  WHILE ( ( coord_x(ir) <= cg%coord_x(ii) + 0.5_wp * cg%dx )  .AND. &
    22342233                      ( i < nxrg+1 ) )
    2235              i = i + 1
     2234             i  = i + 1
     2235             ir = MIN( i, nxrg )
    22362236          ENDDO
    22372237          ifuu(ii) = MIN( MAX( i-1, iflu(ii) ), nxrg )
     
    22492249          DO  WHILE ( ( coord_x(i) + 0.5_wp * dx < cg%coord_x(ii) )  .AND.      &
    22502250                      ( i < nxrg ) )
    2251              i = i + 1
     2251             i  = i + 1
    22522252          ENDDO
    22532253          iflo(ii) = MIN( MAX( i, nxlg ), nxrg )
    2254           DO  WHILE ( ( coord_x(i) + 0.5_wp * dx <= cg%coord_x(ii) + cg%dx )    &
     2254          ir = i
     2255          DO  WHILE ( ( coord_x(ir) + 0.5_wp * dx <= cg%coord_x(ii) + cg%dx )   &
    22552256                      .AND.  ( i < nxrg+1 ) )
    2256              i = i + 1
     2257             i  = i + 1
     2258             ir = MIN( i, nxrg )
    22572259          ENDDO
    22582260          ifuo(ii) = MIN( MAX( i-1, iflo(ii) ), nxrg )
     
    22702272          DO  WHILE ( ( coord_y(j) < cg%coord_y(jj) - 0.5_wp * cg%dy )  .AND.   &
    22712273                      ( j < nyng ) )
    2272              j = j + 1
     2274             j  = j + 1
    22732275          ENDDO
    22742276          jflv(jj) = MIN( MAX( j, nysg ), nyng )
    2275           DO  WHILE ( ( coord_y(j) <= cg%coord_y(jj) + 0.5_wp * cg%dy )  .AND.  &
     2277          jr = j
     2278          DO  WHILE ( ( coord_y(jr) <= cg%coord_y(jj) + 0.5_wp * cg%dy )  .AND. &
    22762279                      ( j < nyng+1 ) )
    2277              j = j + 1
     2280             j  = j + 1
     2281             jr = MIN( j, nyng )
    22782282          ENDDO
    22792283          jfuv(jj) = MIN( MAX( j-1, jflv(jj) ), nyng )
     
    22902294          DO  WHILE ( ( coord_y(j) + 0.5_wp * dy < cg%coord_y(jj) )  .AND.      &
    22912295                      ( j < nyng ) )
    2292              j = j + 1
     2296             j  = j + 1
    22932297          ENDDO
    22942298          jflo(jj) = MIN( MAX( j, nysg ), nyng )
    2295           DO  WHILE ( ( coord_y(j) + 0.5_wp * dy <= cg%coord_y(jj) + cg%dy )    &
     2299          jr = j
     2300          DO  WHILE ( ( coord_y(jr) + 0.5_wp * dy <= cg%coord_y(jj) + cg%dy )   &
    22962301                      .AND.  ( j < nyng+1 ) )
    2297              j = j + 1
     2302             j  = j + 1
     2303             jr = MIN( j, nyng )
    22982304          ENDDO
    22992305          jfuo(jj) = MIN( MAX( j-1, jflo(jj) ), nyng )
     
    23152321          kflw(kk) = MIN( MAX( k, 1 ), nzt + 1 )
    23162322          DO  WHILE ( ( zw(k) <= cg%zu(kk+1) )  .AND.  ( k < nzt+1 ) )
    2317              k = k + 1
     2323             k  = k + 1
    23182324          ENDDO
    23192325          kfuw(kk) = MIN( MAX( k-1, kflw(kk) ), nzt + 1 )
Note: See TracChangeset for help on using the changeset viewer.