Ignore:
Timestamp:
Oct 26, 2016 11:15:40 AM (8 years ago)
Author:
knoop
Message:

Anelastic approximation implemented

File:
1 edited

Legend:

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

    r2001 r2037  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Anelastic approximation implemented
    2323!
    2424! Former revisions:
     
    128128
    129129    USE arrays_3d,                                                             &
    130         ONLY:  d, ddzu, ddzu_pres, ddzw, dzw, p, p_loc, tend, u, v, w
     130        ONLY:  d, ddzu, ddzu_pres, ddzw, dzw, p, p_loc, rho_air, rho_air_zw,   &
     131               tend, u, v, w
    131132
    132133    USE control_parameters,                                                    &
     
    399400       DO  j = nys, nyn
    400401          DO  k = nzb_s_inner(j,i)+1, nzt
    401              d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
    402                           ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
    403                           ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k) ) * ddt_3d      &
    404                                                                 * d_weight_pres
     402             d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * rho_air(k) * ddx +       &
     403                          ( v(k,j+1,i) - v(k,j,i) ) * rho_air(k) * ddy +       &
     404                          ( w(k,j,i)   * rho_air_zw(k) -                       &
     405                            w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k)           &
     406                        ) * ddt_3d * d_weight_pres
    405407          ENDDO
    406408!
     
    427429       DO  j = nys, nyn
    428430          DO  k = 1, nzt
    429              d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx +             &
    430                         ( v(k,j+1,i) - v(k,j,i) ) * ddy +               &
    431                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k) ) * ddt_3d  &
    432                         * d_weight_pres * rflags_s_inner(k,j,i)
     431             d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * rho_air(k) * ddx +       &
     432                          ( v(k,j+1,i) - v(k,j,i) ) * rho_air(k) * ddy +       &
     433                          ( w(k,j,i)   * rho_air_zw(k) -                       &
     434                            w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k)           &
     435                        ) * ddt_3d * d_weight_pres * rflags_s_inner(k,j,i)
    433436          ENDDO
    434437       ENDDO
     
    808811          DO  j = nys, nyn
    809812             DO  k = nzb_s_inner(j,i)+1, nzt
    810                 d(k,j,i) = ( u(k,j,i+1) - u(k,j,i) ) * ddx +                   &
    811                            ( v(k,j+1,i) - v(k,j,i) ) * ddy +                   &
    812                            ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
     813             d(k,j,i) = ( u(k,j,i+1) - u(k,j,i) ) * rho_air(k) * ddx +         &
     814                        ( v(k,j+1,i) - v(k,j,i) ) * rho_air(k) * ddy +         &
     815                        ( w(k,j,i)   * rho_air_zw(k) -                         &
     816                          w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k)
    813817             ENDDO
    814818             DO  k = nzb+1, nzt
     
    823827          DO  j = nys, nyn
    824828             DO  k = 1, nzt
    825                    d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx +              &
    826                                 ( v(k,j+1,i) - v(k,j,i) ) * ddy +              &
    827                                 ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)            &
    828                               ) * rflags_s_inner(k,j,i)
     829                d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * rho_air(k) * ddx +    &
     830                             ( v(k,j+1,i) - v(k,j,i) ) * rho_air(k) * ddy +    &
     831                             ( w(k,j,i)   * rho_air_zw(k) -                    &
     832                               w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k)        &
     833                           ) * rflags_s_inner(k,j,i)
    829834             ENDDO
    830835          ENDDO
Note: See TracChangeset for help on using the changeset viewer.