Ignore:
Timestamp:
May 9, 2017 2:16:14 PM (8 years ago)
Author:
hellstea
Message:

nesting bugfix

File:
1 edited

Legend:

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

    r2177 r2219  
    680680         
    681681!
    682 !--       Check that the children domain is completely inside the parent domain.
     682!--       Check that the child domain is completely inside the parent domain.
    683683             xez = ( nbgp + 1 ) * dx
    684684             yez = ( nbgp + 1 ) * dy
     
    21662166     
    21672167!
    2168 !--    Default values:
     2168!--    Default values for under-relaxation lengths:
    21692169       IF ( anterp_relax_length_l < 0.0_wp )  THEN
    21702170          anterp_relax_length_l = 0.1_wp * ( nx + 1 ) * dx
     
    41234123!--   valid anyway in such locations.
    41244124      IF ( topography /= 'flat' )  THEN
     4125
    41254126         IF ( var == 'u' .OR. var == 'w' )  THEN                 
    4126 
    41274127!
    41284128!--         Solid surface only on south/north side of the node                   
     
    41304130               DO  k = kb(j,i)+1, nzt_topo_nestbc
    41314131                  IF ( ( logc(2,k,j) /= 0 )  .AND.  ( logc(1,k,j) == 0 ) )  THEN
    4132 
    41334132!
    41344133!--                  Direction of the wall-normal index is carried in as the
     
    41384137                     DO  jcorr = 0, ncorr-1
    41394138                        jco = j + jinc * jcorr
    4140                         f(k,jco,i) = logc_ratio(2,jcorr,k,j) * f(k,j1,i)
     4139                        IF ( jco >= nys .AND. jco <= nyn )  THEN
     4140                           f(k,jco,i) = logc_ratio(2,jcorr,k,j) * f(k,j1,i)
     4141                        ENDIF
    41414142                     ENDDO
    41424143                  ENDIF
     
    41444145            ENDDO
    41454146         ENDIF
    4146 
    41474147!
    41484148!--      Solid surface on both below and on south/north side of the node           
     
    41564156                  DO  jcorr = 0, ncorr-1
    41574157                     jco = j + jinc * jcorr
    4158                      DO  kcorr = 0, ncorr-1
    4159                         kco = k + kcorr
    4160                         f(kco,jco,i) = 0.5_wp * ( logc_ratio(1,kcorr,k,j) *     &
    4161                                                   f(k1,j,i)                     &
    4162                                                 + logc_ratio(2,jcorr,k,j) *     &
    4163                                                   f(k,j1,i) )
    4164                      ENDDO
     4158                     IF ( jco >= nys .AND. jco <= nyn )  THEN
     4159                        DO  kcorr = 0, ncorr-1
     4160                           kco = k + kcorr
     4161                           f(kco,jco,i) = 0.5_wp * ( logc_ratio(1,kcorr,k,j) *  &
     4162                                                     f(k1,j,i)                  &
     4163                                                   + logc_ratio(2,jcorr,k,j) *  &
     4164                                                     f(k,j1,i) )
     4165                        ENDDO
     4166                     ENDIF
    41654167                  ENDDO
    41664168               ENDIF
     
    43244326!--   locations.
    43254327      IF ( topography /= 'flat' )  THEN
     4328
    43264329         IF ( var == 'v' .OR. var == 'w' )  THEN
    43274330            DO  i = nxl, nxr
    43284331               DO  k = kb(j,i), nzt_topo_nestbc
    4329 
    43304332!
    43314333!--               Solid surface only on left/right side of the node           
    43324334                  IF ( ( logc(2,k,i) /= 0 )  .AND.  ( logc(1,k,i) == 0 ) )  THEN
    4333 
    43344335!
    43354336!--                  Direction of the wall-normal index is carried in as the
     
    43394340                     DO  icorr = 0, ncorr-1
    43404341                        ico = i + iinc * icorr
    4341                         f(k,j,ico) = logc_ratio(2,icorr,k,i) * f(k,j,i1)
     4342                        IF ( ico >= nxl .AND. ico <= nxr )  THEN
     4343                           f(k,j,ico) = logc_ratio(2,icorr,k,i) * f(k,j,i1)
     4344                        ENDIF
    43424345                     ENDDO
    43434346                  ENDIF
     
    43454348            ENDDO
    43464349         ENDIF
    4347 
    43484350!
    43494351!--      Solid surface on both below and on left/right side of the node           
     
    43574359                  DO  icorr = 0, ncorr-1
    43584360                     ico = i + iinc * icorr
    4359                      DO  kcorr = 0, ncorr-1
    4360                         kco = k + kcorr
    4361                         f(kco,i,ico) = 0.5_wp * ( logc_ratio(1,kcorr,k,i) *     &
    4362                                                   f(k1,j,i)  &
    4363                                                 + logc_ratio(2,icorr,k,i) *     &
    4364                                                   f(k,j,i1) )
    4365                      ENDDO
     4361                     IF ( ico >= nxl .AND. ico <= nxr )  THEN
     4362                        DO  kcorr = 0, ncorr-1
     4363                           kco = k + kcorr
     4364                           f(kco,j,ico) = 0.5_wp * ( logc_ratio(1,kcorr,k,i) *  &
     4365                                                     f(k1,j,i)                  &
     4366                                                   + logc_ratio(2,icorr,k,i) *  &
     4367                                                     f(k,j,i1) )
     4368                        ENDDO
     4369                     ENDIF
    43664370                  ENDDO
    43674371               ENDIF
     
    47974801          DO  jj = jcsp, jcnm
    47984802!
    4799 !--          For simplicity anterpolate within buildings too
     4803!--          For simplicity anterpolate within buildings and under elevated
     4804!--          terrain too
    48004805             DO  kk = kcb, kct
    48014806!
Note: See TracChangeset for help on using the changeset viewer.