Changeset 1398


Ignore:
Timestamp:
May 7, 2014 11:15:00 AM (10 years ago)
Author:
heinze
Message:

adjustments in case of nudging + bugfix for KIND in CMPLX function

Location:
palm/trunk/SOURCE
Files:
4 edited

Legend:

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

    r1381 r1398  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! Dirichlet-condition at the top for u and v changed to u_init and v_init also
     23! for large_scale_forcing
    2324!
    2425! Former revisions:
     
    162163        u_p(nzt+1,:,:) = u_init(nzt+1)
    163164        v_p(nzt+1,:,:) = v_init(nzt+1)
    164         IF ( large_scale_forcing) THEN
    165            u_p(nzt+1,:,:) = ug(nzt+1)
    166            v_p(nzt+1,:,:) = vg(nzt+1)
    167         END IF
    168165       !$acc end kernels
    169166    ELSE
  • palm/trunk/SOURCE/fft_xy.f90

    r1393 r1398  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! bugfix: typo removed for KIND in CMPLX function
    2323!
    2424! Former revisions:
     
    12101210                   y_out(0) = CMPLX( ar_tr(0,i,k), 0.0_wp, KIND=wp )
    12111211                   DO  j = 1, (ny+1)/2 - 1
    1212                       y_out(j) = CMPLX( ar_tr(j,i,k), ar_tr(ny+1-j,i,k,        &
    1213                                         KIND=wp) )
     1212                      y_out(j) = CMPLX( ar_tr(j,i,k), ar_tr(ny+1-j,i,k),       &
     1213                                        KIND=wp )
    12141214                   ENDDO
    12151215                   y_out((ny+1)/2) = CMPLX( ar_tr((ny+1)/2,i,k), 0.0_wp,       &
  • palm/trunk/SOURCE/nudging.f90

    r1383 r1398  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Subroutine nudge_ref is extended to set u_init and v_init to the current
     23! nudging profiles
    2324!
    2425! Former revisions:
     
    552553
    553554       USE arrays_3d,                                                          &
    554            ONLY:  time_vert, ptnudge, pt_init, qnudge, q_init
     555           ONLY:  time_vert, ptnudge, pt_init, qnudge, q_init, unudge, u_init, &
     556                  vnudge, v_init
    555557
    556558       USE kinds
     
    580582       pt_init = ptnudge(:,nt) + fac * ( ptnudge(:,nt+1) - ptnudge(:,nt) )
    581583       q_init  = qnudge(:,nt) + fac * ( qnudge(:,nt+1) - qnudge(:,nt) )
     584       u_init  = unudge(:,nt) + fac * ( unudge(:,nt+1) - unudge(:,nt) )
     585       v_init  = vnudge(:,nt) + fac * ( vnudge(:,nt+1) - vnudge(:,nt) )
    582586
    583587    END SUBROUTINE nudge_ref
    584588
    585 
    586589 END MODULE nudge_mod
  • palm/trunk/SOURCE/prognostic_equations.f90

    r1381 r1398  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Rayleigh-damping for horizontal velocity components changed: instead of damping
     23! against ug and vg, damping against u_init and v_init is used to allow for a
     24! homogenized treatment in case of nudging
    2325!
    2426! Former revisions:
     
    149151               ref_state, rho, sa, sa_init, sa_p, saswsb, saswst, shf, tend,   &
    150152               te_m, tnr_m, tpt_m, tq_m, tqr_m, tsa_m, tswst, tu_m, tv_m,      &
    151                tw_m, u, ug, u_p, v, vg, vpt, v_p, w, w_p
     153               tw_m, u, ug, u_init, u_p, v, vg, vpt, v_init, v_p, w, w_p
    152154       
    153155    USE control_parameters,                                                    &
     
    383385                u_p(k,j,i) = u(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +       &
    384386                                                  tsc(3) * tu_m(k,j,i) )       &
    385                                       - tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
     387                                      - tsc(5) * rdf(k) * ( u(k,j,i) - u_init(k) )
    386388             ENDDO
    387389
     
    442444                v_p(k,j,i) = v(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +       &
    443445                                                  tsc(3) * tv_m(k,j,i) )       &
    444                                       - tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
     446                                      - tsc(5) * rdf(k) * ( v(k,j,i) - v_init(k) )
    445447             ENDDO
    446448
     
    975977             u_p(k,j,i) = u(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +          &
    976978                                               tsc(3) * tu_m(k,j,i) )          &
    977                                    - tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
     979                                   - tsc(5) * rdf(k) * ( u(k,j,i) - u_init(k) )
    978980          ENDDO
    979981       ENDDO
     
    10511053             v_p(k,j,i) = v(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +          &
    10521054                                               tsc(3) * tv_m(k,j,i) )          &
    1053                                    - tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
     1055                                   - tsc(5) * rdf(k) * ( v(k,j,i) - v_init(k) )
    10541056          ENDDO
    10551057       ENDDO
     
    18111813!
    18121814!-- Prognostic equation for u-velocity component
    1813     !$acc kernels present( nzb_u_inner, rdf, tend, tu_m, u, ug, u_p )
     1815    !$acc kernels present( nzb_u_inner, rdf, tend, tu_m, u, u_init, u_p )
    18141816    !$acc loop independent
    18151817    DO  i = i_left, i_right
     
    18211823                u_p(k,j,i) = u(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +       &
    18221824                                                  tsc(3) * tu_m(k,j,i) )       &
    1823                                       - tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
     1825                                      - tsc(5) * rdf(k) * ( u(k,j,i) - u_init(k) )
    18241826!
    18251827!--             Tendencies for the next Runge-Kutta step
     
    18781880!
    18791881!-- Prognostic equation for v-velocity component
    1880     !$acc kernels present( nzb_v_inner, rdf, tend, tv_m, v, vg, v_p )
     1882    !$acc kernels present( nzb_v_inner, rdf, tend, tv_m, v, v_init, v_p )
    18811883    !$acc loop independent
    18821884    DO  i = i_left, i_right
     
    18881890                v_p(k,j,i) = v(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) +       &
    18891891                                                  tsc(3) * tv_m(k,j,i) )       &
    1890                                       - tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
     1892                                      - tsc(5) * rdf(k) * ( v(k,j,i) - v_init(k) )
    18911893!
    18921894!--             Tendencies for the next Runge-Kutta step
Note: See TracChangeset for help on using the changeset viewer.