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

Anelastic approximation implemented

File:
1 edited

Legend:

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

    r2001 r2037  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Anelastic approximation implemented
    2323!
    2424! Former revisions:
     
    129129
    130130       USE arrays_3d,                                                          &
    131            ONLY:  ddzu_pres, ddzw
     131           ONLY:  ddzu_pres, ddzw, rho_air_zw
    132132
    133133       USE kinds
     
    140140
    141141       DO  k = 0, nz-1
    142           ddzuw(k,1) = ddzu_pres(k+1) * ddzw(k+1)
    143           ddzuw(k,2) = ddzu_pres(k+2) * ddzw(k+1)
     142          ddzuw(k,1) = ddzu_pres(k+1) * ddzw(k+1) * rho_air_zw(k)
     143          ddzuw(k,2) = ddzu_pres(k+2) * ddzw(k+1) * rho_air_zw(k+1)
    144144          ddzuw(k,3) = -1.0_wp * &
    145                        ( ddzu_pres(k+2) * ddzw(k+1) + ddzu_pres(k+1) * ddzw(k+1) )
     145                       ( ddzu_pres(k+2) * ddzw(k+1) * rho_air_zw(k+1) +        &
     146                         ddzu_pres(k+1) * ddzw(k+1) * rho_air_zw(k) )
    146147       ENDDO
    147148!
     
    168169
    169170          USE arrays_3d,                                                       &
    170               ONLY:  tric
     171              ONLY:  tric, rho_air
    171172
    172173          USE constants,                                                       &
     
    231232             DO  j = nys_z, nyn_z
    232233                DO  i = nxl_z, nxr_z
    233                    tric(i,j,k) = ddzuw(k,3) - ll(i,j)
     234                   tric(i,j,k) = ddzuw(k,3) - ll(i,j) * rho_air(k+1)
    234235                ENDDO
    235236             ENDDO
     
    491492
    492493       USE arrays_3d,                                                          &
    493            ONLY:  ddzu_pres, ddzw
     494           ONLY:  ddzu_pres, ddzw, rho_air, rho_air_zw
    494495
    495496       USE control_parameters,                                                 &
     
    526527       DO  k = 0, nz-1
    527528          DO  i = 0,nx
    528              tri_for_1d(2,i,k) = ddzu_pres(k+1) * ddzw(k+1)
    529              tri_for_1d(3,i,k) = ddzu_pres(k+2) * ddzw(k+1)
     529             tri_for_1d(2,i,k) = ddzu_pres(k+1) * ddzw(k+1) * rho_air_zw(k)
     530             tri_for_1d(3,i,k) = ddzu_pres(k+2) * ddzw(k+1) * rho_air_zw(k+1)
    530531          ENDDO
    531532       ENDDO
     
    591592          DO  k = 0, nz-1
    592593             DO  i = 0, nx
    593                 a = -1.0_wp * ddzu_pres(k+2) * ddzw(k+1)
    594                 c = -1.0_wp * ddzu_pres(k+1) * ddzw(k+1)
    595                 tri_for_1d(1,i,k) = a + c - l(i)
     594                a = -1.0_wp * ddzu_pres(k+2) * ddzw(k+1) * rho_air_zw(k+1)
     595                c = -1.0_wp * ddzu_pres(k+1) * ddzw(k+1) * rho_air_zw(k)
     596                tri_for_1d(1,i,k) = a + c - l(i) * rho_air(k+1)
    596597             ENDDO
    597598          ENDDO
Note: See TracChangeset for help on using the changeset viewer.