Changeset 4561


Ignore:
Timestamp:
Jun 12, 2020 7:05:56 AM (4 years ago)
Author:
suehring
Message:

mesoscale nesting: Adapt mass-flux correction also for the anelastic approximation

File:
1 edited

Legend:

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

    r4457 r4561  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Adapt mass-flux correction also for the anelastic approximation
    2323!
    2424! Former revisions:
     
    138138        ONLY:  dzw,                                                            &
    139139               e,                                                              &
     140               drho_air_zw,                                                    &
    140141               diss,                                                           &
    141142               pt,                                                             &
     
    145146               rdf,                                                            &
    146147               rdf_sc,                                                         &
     148               rho_air,                                                        &
     149               rho_air_zw,                                                     &
    147150               s,                                                              &
    148151               u,                                                              &
     
    872875             DO  k = nzb+1, nzt
    873876                volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzw(k) * dy   &
     877                                                               * rho_air(k)    &
    874878                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    875                                        BTEST( wall_flags_total_0(k,j,i), 1 ) )
     879                                              BTEST( wall_flags_total_0(k,j,i), 1 ) )
    876880             ENDDO
    877881          ENDDO
     
    882886             DO  k = nzb+1, nzt
    883887                volume_flow_l(1) = volume_flow_l(1) - u(k,j,i) * dzw(k) * dy   &
     888                                                               * rho_air(k)    &
    884889                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    885                                        BTEST( wall_flags_total_0(k,j,i), 1 ) )
     890                                              BTEST( wall_flags_total_0(k,j,i), 1 ) )
    886891             ENDDO
    887892          ENDDO
     
    892897             DO  k = nzb+1, nzt
    893898                volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzw(k) * dx   &
     899                                                               * rho_air(k)    &
    894900                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    895                                        BTEST( wall_flags_total_0(k,j,i), 2 ) )
     901                                              BTEST( wall_flags_total_0(k,j,i), 2 ) )
    896902             ENDDO
    897903          ENDDO
     
    902908             DO  k = nzb+1, nzt
    903909                volume_flow_l(2) = volume_flow_l(2) - v(k,j,i) * dzw(k) * dx   &
     910                                                               * rho_air(k)    &
    904911                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    905                                        BTEST( wall_flags_total_0(k,j,i), 2 ) )
     912                                              BTEST( wall_flags_total_0(k,j,i), 2 ) )
    906913             ENDDO
    907914          ENDDO
     
    912919       DO  i = nxl, nxr
    913920          DO  j = nys, nyn
    914              volume_flow_l(3) = volume_flow_l(3) - w(k,j,i) * dx * dy
     921             volume_flow_l(3) = volume_flow_l(3) - rho_air_zw(k) * w(k,j,i) * dx * dy
    915922          ENDDO
    916923       ENDDO
     
    924931#endif
    925932
    926        w_correct = SUM( volume_flow ) * d_area_t
     933       w_correct = SUM( volume_flow ) * d_area_t * drho_air_zw(nzt)
    927934
    928935       DO  i = nxl, nxr
    929936          DO  j = nys, nyn
    930937             DO  k = nzt, nzt + 1
    931                 w(k,j,i) = w(k,j,i) + w_correct
     938                w(k,j,i) = w(k,j,i) + w_correct                                &
     939                                    * MERGE( 1.0_wp, 0.0_wp,                   &
     940                                             BTEST( wall_flags_total_0(k,j,i), 3 ) )
    932941             ENDDO
    933942          ENDDO
Note: See TracChangeset for help on using the changeset viewer.