Changeset 1382 for palm/trunk


Ignore:
Timestamp:
Apr 30, 2014 12:15:41 PM (10 years ago)
Author:
boeske
Message:

minor changes in profile data output of lsf tendencies, variables renamed

Location:
palm/trunk/SOURCE
Files:
5 edited

Legend:

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

    r1375 r1382  
    2121! Current revisions:
    2222! -----------------
    23 !
     23! Renamed variables which store large scale forcing tendencies
     24! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt,
     25! q_lsa  -> td_lsa_q,   q_subs  -> td_sub_q,
     26! added Neumann boundary conditions for profile data output of large scale
     27! advection and subsidence terms at nzt+1
    2428!
    2529! Former revisions:
     
    103107
    104108    USE arrays_3d,                                                             &
    105         ONLY:  ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, pt_lsa, pt_subs, q,&
    106                qc, ql, qr, qs, qsws, qswst, q_lsa, q_subs, rho, sa, saswsb,    &
    107                saswst, shf, time_vert, ts, tswst, u, ug, us, usws, uswst, vsws,&
    108                v, vg, vpt, vswst, w, w_subs, zw
     109        ONLY:  ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, q, qc, ql, qr, qs, &
     110               qsws, qswst, rho, sa, saswsb, saswst, shf, td_lsa_lpt, td_lsa_q,&
     111               td_sub_lpt, td_sub_q, time_vert, ts, tswst, u, ug, us, usws,    &
     112               uswst, vsws, v, vg, vpt, vswst, w, w_subs, zw
    109113       
    110114    USE cloud_parameters,                                                      &
     
    10141018
    10151019          DO  k = nzb, nzt
    1016              sums_ls_l(k,0) = pt_lsa(k,nt)                                     &
    1017                               + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )
    1018              sums_ls_l(k,1) = q_lsa(k,nt)                                      &
    1019                               + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )
    1020           ENDDO
     1020             sums_ls_l(k,0) = td_lsa_lpt(k,nt)                                 &
     1021                              + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) )
     1022             sums_ls_l(k,1) = td_lsa_q(k,nt)                                   &
     1023                              + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) )
     1024          ENDDO
     1025
     1026          sums_ls_l(nzt+1,0) = sums_ls_l(nzt,0)
     1027          sums_ls_l(nzt+1,1) = sums_ls_l(nzt,1)
    10211028
    10221029          IF ( large_scale_subsidence .AND. use_subsidence_tendencies )  THEN
    10231030
    10241031             DO  k = nzb, nzt
    1025                 sums_ls_l(k,2) = pt_subs(k,nt)                                 &
    1026                                  + fac * ( pt_subs(k,nt+1) - pt_subs(k,nt) )
    1027                 sums_ls_l(k,3) = q_subs(k,nt)                                  &
    1028                                  + fac * ( q_subs(k,nt+1) - q_subs(k,nt) )
    1029              ENDDO
     1032                sums_ls_l(k,2) = td_sub_lpt(k,nt) + fac *                      &
     1033                                 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) )
     1034                sums_ls_l(k,3) = td_sub_q(k,nt) + fac *                        &
     1035                                 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) )
     1036             ENDDO
     1037
     1038             sums_ls_l(nzt+1,2) = sums_ls_l(nzt,2)
     1039             sums_ls_l(nzt+1,3) = sums_ls_l(nzt,3)
    10301040
    10311041          ENDIF
     
    11921202
    11931203       IF ( large_scale_forcing )  THEN
    1194           hom(:,1,81,sr) = sums_ls_l(:,0)          ! pt_lsa
    1195           hom(:,1,82,sr) = sums_ls_l(:,1)          ! q_lsa
     1204          hom(:,1,81,sr) = sums_ls_l(:,0)          ! td_lsa_lpt
     1205          hom(:,1,82,sr) = sums_ls_l(:,1)          ! td_lsa_q
    11961206          IF ( use_subsidence_tendencies )  THEN
    1197              hom(:,1,83,sr) = sums_ls_l(:,2)       ! pt_subs
    1198              hom(:,1,84,sr) = sums_ls_l(:,3)       ! q_subs
     1207             hom(:,1,83,sr) = sums_ls_l(:,2)       ! td_sub_lpt
     1208             hom(:,1,84,sr) = sums_ls_l(:,3)       ! td_sub_q
    11991209          ELSE
    1200              hom(:,1,83,sr) = sums(:,83)           ! pt_subs
    1201              hom(:,1,84,sr) = sums(:,84)           ! q_subs
     1210             hom(:,1,83,sr) = sums(:,83)           ! td_sub_lpt
     1211             hom(:,1,84,sr) = sums(:,84)           ! td_sub_q
    12021212          ENDIF
    1203           hom(:,1,85,sr) = sums(:,85)              ! pt_nudge
    1204           hom(:,1,86,sr) = sums(:,86)              ! q_nudge
    1205           hom(:,1,87,sr) = sums(:,87)              ! u_nudge
    1206           hom(:,1,88,sr) = sums(:,88)              ! v_nudge
     1213          hom(:,1,85,sr) = sums(:,85)              ! td_nud_lpt
     1214          hom(:,1,86,sr) = sums(:,86)              ! td_nud_q
     1215          hom(:,1,87,sr) = sums(:,87)              ! td_nud_u
     1216          hom(:,1,88,sr) = sums(:,88)              ! td_nud_v
    12071217       ENDIF
    12081218
     
    13861396
    13871397    USE arrays_3d,                                                             &
    1388         ONLY:  ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, pt_lsa, pt_subs, q,&
    1389                qc, ql, qr, qs, qsws, qswst, q_lsa, q_subs, rho, sa, saswsb,    &
    1390                saswst, shf, time_vert, ts, tswst, u, ug, us, usws, uswst, vsws,&
    1391                v, vg, vpt, vswst, w, w_subs, zw
     1398        ONLY:  ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, q, qc, ql, qr, qs, &
     1399               qsws, qswst, rho, sa, saswsb, saswst, shf, td_lsa_lpt, td_lsa_q,&
     1400               td_sub_lpt, td_sub_q, time_vert, ts, tswst, u, ug, us, usws,    &
     1401               uswst, vsws, v, vg, vpt, vswst, w, w_subs, zw
    13921402                 
    13931403       
     
    27632773
    27642774          DO  k = nzb, nzt
    2765              sums_ls_l(k,0) = pt_lsa(k,nt)                                     &
    2766                               + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )
    2767              sums_ls_l(k,1) = q_lsa(k,nt)                                      &
    2768                               + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )
    2769           ENDDO
     2775             sums_ls_l(k,0) = td_lsa_lpt(k,nt)                                 &
     2776                              + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) )
     2777             sums_ls_l(k,1) = td_lsa_q(k,nt)                                   &
     2778                              + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) )
     2779          ENDDO
     2780
     2781          sums_ls_l(nzt+1,0) = sums_ls_l(nzt,0)
     2782          sums_ls_l(nzt+1,1) = sums_ls_l(nzt,1)
    27702783
    27712784          IF ( large_scale_subsidence .AND. use_subsidence_tendencies )  THEN
    27722785
    27732786             DO  k = nzb, nzt
    2774                 sums_ls_l(k,2) = pt_subs(k,nt)                                 &
    2775                                  + fac * ( pt_subs(k,nt+1) - pt_subs(k,nt) )
    2776                 sums_ls_l(k,3) = q_subs(k,nt)                                  &
    2777                                  + fac * ( q_subs(k,nt+1) - q_subs(k,nt) )
    2778              ENDDO
     2787                sums_ls_l(k,2) = td_sub_lpt(k,nt) + fac *                      &
     2788                                 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) )
     2789                sums_ls_l(k,3) = td_sub_q(k,nt) + fac *                        &
     2790                                 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) )
     2791             ENDDO
     2792
     2793             sums_ls_l(nzt+1,2) = sums_ls_l(nzt,2)
     2794             sums_ls_l(nzt+1,3) = sums_ls_l(nzt,3)
    27792795
    27802796          ENDIF
     
    29432959
    29442960       IF ( large_scale_forcing )  THEN
    2945           hom(:,1,81,sr) = sums_ls_l(:,0)          ! pt_lsa
    2946           hom(:,1,82,sr) = sums_ls_l(:,1)          ! q_lsa
     2961          hom(:,1,81,sr) = sums_ls_l(:,0)          ! td_lsa_lpt
     2962          hom(:,1,82,sr) = sums_ls_l(:,1)          ! td_lsa_q
    29472963          IF ( use_subsidence_tendencies )  THEN
    2948              hom(:,1,83,sr) = sums_ls_l(:,2)       ! pt_subs
    2949              hom(:,1,84,sr) = sums_ls_l(:,3)       ! q_subs
     2964             hom(:,1,83,sr) = sums_ls_l(:,2)       ! td_sub_lpt
     2965             hom(:,1,84,sr) = sums_ls_l(:,3)       ! td_sub_q
    29502966          ELSE
    2951              hom(:,1,83,sr) = sums(:,83)           ! pt_subs
    2952              hom(:,1,84,sr) = sums(:,84)           ! q_subs
     2967             hom(:,1,83,sr) = sums(:,83)           ! td_sub_lpt
     2968             hom(:,1,84,sr) = sums(:,84)           ! td_sub_q
    29532969          ENDIF
    2954           hom(:,1,85,sr) = sums(:,85)              ! pt_nudge
    2955           hom(:,1,86,sr) = sums(:,86)              ! q_nudge
    2956           hom(:,1,87,sr) = sums(:,87)              ! u_nudge
    2957           hom(:,1,88,sr) = sums(:,88)              ! v_nudge
     2970          hom(:,1,85,sr) = sums(:,85)              ! td_nud_lpt
     2971          hom(:,1,86,sr) = sums(:,86)              ! td_nud_q
     2972          hom(:,1,87,sr) = sums(:,87)              ! td_nud_u
     2973          hom(:,1,88,sr) = sums(:,88)              ! td_nud_v
    29582974       END IF
    29592975
  • palm/trunk/SOURCE/ls_forcing.f90

    r1366 r1382  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Renamed variables which store large scale forcing tendencies
     23! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt,
     24! q_lsa  -> td_lsa_q,   q_subs  -> td_sub_q,
     25! high|lowpt_lsa -> high|low_td_lsa_lpt, ...
    2326!
    2427! Former revisions:
     
    8184
    8285       USE arrays_3d,                                                          &
    83            ONLY:  p_surf, pt_lsa, pt_subs, pt_surf, q_lsa, q_subs, q_surf,     &
    84                   qsws_surf, shf_surf, time_surf, time_vert, ug_vert, vg_vert, &
    85                   wsubs_vert, zu
     86           ONLY:  p_surf, pt_surf, q_surf, qsws_surf, shf_surf, td_lsa_lpt,    &
     87                  td_lsa_q, td_sub_lpt, td_sub_q, time_surf, time_vert,        &
     88                  ug_vert, vg_vert, wsubs_vert, zu
    8689
    8790       USE control_parameters,                                                 &
     
    116119       REAL(wp) ::  lowvg_vert        !:
    117120       REAL(wp) ::  lowwsubs_vert     !:
    118        REAL(wp) ::  highpt_lsa        !:
    119        REAL(wp) ::  lowpt_lsa         !:
    120        REAL(wp) ::  highq_lsa         !:
    121        REAL(wp) ::  lowq_lsa          !:
    122        REAL(wp) ::  highpt_subs       !:
    123        REAL(wp) ::  lowpt_subs        !:
    124        REAL(wp) ::  highq_subs        !:
    125        REAL(wp) ::  lowq_subs         !:
     121       REAL(wp) ::  high_td_lsa_lpt   !:
     122       REAL(wp) ::  low_td_lsa_lpt    !:
     123       REAL(wp) ::  high_td_lsa_q     !:
     124       REAL(wp) ::  low_td_lsa_q      !:
     125       REAL(wp) ::  high_td_sub_lpt   !:
     126       REAL(wp) ::  low_td_sub_lpt    !:
     127       REAL(wp) ::  high_td_sub_q     !:
     128       REAL(wp) ::  low_td_sub_q      !:
    126129       REAL(wp) ::  r_dummy           !:
    127130
    128        ALLOCATE( p_surf(0:nlsf), pt_lsa(nzb:nzt+1,0:nlsf),                     &
    129                  pt_subs(nzb:nzt+1,0:nlsf), pt_surf(0:nlsf),                   &
    130                  q_lsa(nzb:nzt+1,0:nlsf), q_subs(nzb:nzt+1,0:nlsf),            &
    131                  q_surf(0:nlsf), qsws_surf(0:nlsf), shf_surf(0:nlsf),          &
     131       ALLOCATE( p_surf(0:nlsf), pt_surf(0:nlsf), q_surf(0:nlsf),              &
     132                 qsws_surf(0:nlsf), shf_surf(0:nlsf),                          &
     133                 td_lsa_lpt(nzb:nzt+1,0:nlsf), td_lsa_q(nzb:nzt+1,0:nlsf),     &
     134                 td_sub_lpt(nzb:nzt+1,0:nlsf), td_sub_q(nzb:nzt+1,0:nlsf),     &
    132135                 time_vert(0:nlsf), time_surf(0:nlsf),                         &
    133136                 ug_vert(nzb:nzt+1,0:nlsf), vg_vert(nzb:nzt+1,0:nlsf),         &
    134137                 wsubs_vert(nzb:nzt+1,0:nlsf) )
    135138
    136        p_surf = 0.0_wp; pt_lsa = 0.0; pt_subs = 0.0; pt_surf = 0.0_wp
    137        q_lsa = 0.0; q_subs = 0.0; q_surf = 0.0_wp; qsws_surf = 0.0_wp
    138        shf_surf = 0.0_wp; time_vert = 0.0_wp; time_surf = 0.0_wp;
    139        ug_vert = 0.0_wp; vg_vert = 0.0_wp; wsubs_vert = 0.0_wp
     139       p_surf = 0.0_wp; pt_surf = 0.0_wp; q_surf = 0.0_wp; qsws_surf = 0.0_wp
     140       shf_surf = 0.0_wp; time_vert = 0.0_wp; td_lsa_lpt = 0.0_wp
     141       td_lsa_q = 0.0_wp; td_sub_lpt = 0.0_wp; td_sub_q = 0.0_wp
     142       time_surf = 0.0_wp; ug_vert = 0.0_wp; vg_vert = 0.0_wp
     143       wsubs_vert = 0.0_wp
    140144
    141145!
     
    224228
    225229          READ ( finput, *, IOSTAT=ierrn ) lowheight, lowug_vert, lowvg_vert,  &
    226                                            lowwsubs_vert, lowpt_lsa,           &
    227                                            lowq_lsa, lowpt_subs, lowq_subs
     230                                           lowwsubs_vert, low_td_lsa_lpt,      &
     231                                           low_td_lsa_q, low_td_sub_lpt,       &
     232                                           low_td_sub_q
    228233          IF ( ierrn /= 0 )  THEN
    229234             message_string = 'errors in file LSF_DATA'
     
    233238          READ ( finput, *, IOSTAT=ierrn ) highheight, highug_vert,            &
    234239                                           highvg_vert, highwsubs_vert,        &
    235                                            highpt_lsa, highq_lsa,              &
    236                                            highpt_subs, highq_subs
     240                                           high_td_lsa_lpt, high_td_lsa_q,     &
     241                                           high_td_sub_lpt, high_td_sub_q
    237242     
    238243          IF ( ierrn /= 0 )  THEN
     
    244249          DO  k = nzb, nzt+1
    245250             IF ( highheight < zu(k) )  THEN
    246                 lowheight     = highheight
    247                 lowug_vert    = highug_vert
    248                 lowvg_vert    = highvg_vert
    249                 lowwsubs_vert = highwsubs_vert
    250                 lowpt_lsa     = highpt_lsa
    251                 lowq_lsa      = highq_lsa
    252                 lowpt_subs    = highpt_subs
    253                 lowq_subs     = highq_subs
     251                lowheight      = highheight
     252                lowug_vert     = highug_vert
     253                lowvg_vert     = highvg_vert
     254                lowwsubs_vert  = highwsubs_vert
     255                low_td_lsa_lpt = high_td_lsa_lpt
     256                low_td_lsa_q   = high_td_lsa_q
     257                low_td_sub_lpt = high_td_sub_lpt
     258                low_td_sub_q   = high_td_sub_q
    254259
    255260                ierrn = 0
    256261                READ ( finput, *, IOSTAT=ierrn ) highheight, highug_vert,      &
    257262                                                 highvg_vert, highwsubs_vert,  &
    258                                                  highpt_lsa, highq_lsa,        &
    259                                                  highpt_subs, highq_subs
     263                                                 high_td_lsa_lpt,              &
     264                                                 high_td_lsa_q,                &
     265                                                 high_td_sub_lpt, high_td_sub_q
    260266
    261267                IF ( ierrn /= 0 )  THEN
     
    273279             fac = (highheight-zu(k))/(highheight - lowheight)
    274280
    275              ug_vert(k,nt)    = fac*lowug_vert    + (1.0_wp-fac)*highug_vert
    276              vg_vert(k,nt)    = fac*lowvg_vert    + (1.0_wp-fac)*highvg_vert
    277              wsubs_vert(k,nt) = fac*lowwsubs_vert + (1.0_wp-fac)*highwsubs_vert
    278 
    279              pt_lsa(k,nt)     = fac*lowpt_lsa     + (1.0_wp-fac)*highpt_lsa
    280              q_lsa(k,nt)      = fac*lowq_lsa      + (1.0_wp-fac)*highq_lsa
    281              pt_subs(k,nt)    = fac*lowpt_subs    + (1.0_wp-fac)*highpt_subs
    282              q_subs(k,nt)     = fac*lowq_subs     + (1.0_wp-fac)*highq_subs
     281             ug_vert(k,nt)    = fac * lowug_vert                               &
     282                                + ( 1.0_wp - fac ) * highug_vert
     283             vg_vert(k,nt)    = fac * lowvg_vert                               &
     284                                + ( 1.0_wp - fac ) * highvg_vert
     285             wsubs_vert(k,nt) = fac * lowwsubs_vert                            &
     286                                + ( 1.0_wp - fac ) * highwsubs_vert
     287
     288             td_lsa_lpt(k,nt) = fac * low_td_lsa_lpt                           &
     289                                + ( 1.0_wp - fac ) * high_td_lsa_lpt
     290             td_lsa_q(k,nt)   = fac * low_td_lsa_q                             &
     291                                + ( 1.0_wp - fac ) * high_td_lsa_q
     292             td_sub_lpt(k,nt) = fac * low_td_sub_lpt                           &
     293                                + ( 1.0_wp - fac ) * high_td_sub_lpt
     294             td_sub_q(k,nt)   = fac * low_td_sub_q                             &
     295                                + ( 1.0_wp - fac ) * high_td_sub_q
    283296
    284297          ENDDO
     
    413426
    414427       USE arrays_3d,                                                          &
    415            ONLY:  pt_lsa, pt_subs, q_lsa, q_subs, tend, time_vert       
     428           ONLY:  td_lsa_lpt, td_lsa_q, td_sub_lpt, td_sub_q, tend, time_vert       
    416429       
    417430       USE control_parameters,                                                 &
     
    455468                DO  j = nys, nyn
    456469                   DO  k = nzb_u_inner(j,i)+1, nzt
    457                       tend(k,j,i) = tend(k,j,i) + pt_lsa(k,nt)                 &
    458                                     + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )
     470                      tend(k,j,i) = tend(k,j,i) + td_lsa_lpt(k,nt) + fac *     &
     471                                    ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) )
    459472                   ENDDO
    460473                ENDDO
     
    466479                DO  j = nys, nyn
    467480                   DO  k = nzb_u_inner(j,i)+1, nzt
    468                       tend(k,j,i) = tend(k,j,i) + q_lsa(k,nt)                  &
    469                                     + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )
     481                      tend(k,j,i) = tend(k,j,i) + td_lsa_q(k,nt) + fac *       &
     482                                    ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) )
    470483                   ENDDO
    471484                ENDDO
     
    485498                   DO  j = nys, nyn
    486499                      DO  k = nzb_u_inner(j,i)+1, nzt
    487                          tend(k,j,i) = tend(k,j,i) + pt_subs(k,nt) + fac *     &
    488                                        ( pt_subs(k,nt+1) - pt_subs(k,nt) )
     500                         tend(k,j,i) = tend(k,j,i) + td_sub_lpt(k,nt) + fac *  &
     501                                       ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) )
    489502                      ENDDO
    490503                   ENDDO
     
    496509                   DO  j = nys, nyn
    497510                      DO  k = nzb_u_inner(j,i)+1, nzt
    498                          tend(k,j,i) = tend(k,j,i) + q_subs(k,nt) + fac *      &
    499                                        ( q_subs(k,nt+1) - q_subs(k,nt) )
     511                         tend(k,j,i) = tend(k,j,i) + td_sub_q(k,nt) + fac *    &
     512                                       ( td_sub_q(k,nt+1) - td_sub_q(k,nt) )
    500513                      ENDDO
    501514                   ENDDO
     
    515528
    516529       USE arrays_3d,                                                          &
    517            ONLY:  pt_lsa, pt_subs, q_lsa, q_subs, tend, time_vert       
     530           ONLY:  td_lsa_lpt, td_lsa_q, td_sub_lpt, td_sub_q, tend, time_vert       
    518531       
    519532       USE control_parameters,                                                 &
     
    555568
    556569             DO  k = nzb_u_inner(j,i)+1, nzt
    557                 tend(k,j,i) = tend(k,j,i) + pt_lsa(k,nt)                       &
    558                               + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )
     570                tend(k,j,i) = tend(k,j,i) + td_lsa_lpt(k,nt)                   &
     571                              + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) )
    559572             ENDDO
    560573
     
    562575
    563576             DO  k = nzb_u_inner(j,i)+1, nzt
    564                 tend(k,j,i) = tend(k,j,i) + q_lsa(k,nt)                        &
    565                               + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )
     577                tend(k,j,i) = tend(k,j,i) + td_lsa_q(k,nt)                     &
     578                              + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) )
    566579             ENDDO
    567580
     
    577590
    578591                DO  k = nzb_u_inner(j,i)+1, nzt
    579                    tend(k,j,i) = tend(k,j,i) + pt_subs(k,nt) + fac *           &
    580                                  ( pt_subs(k,nt+1) - pt_subs(k,nt) )
     592                   tend(k,j,i) = tend(k,j,i) + td_sub_lpt(k,nt) + fac *        &
     593                                 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) )
    581594                ENDDO
    582595 
     
    584597
    585598                DO  k = nzb_u_inner(j,i)+1, nzt
    586                    tend(k,j,i) = tend(k,j,i) + q_subs(k,nt) + fac *            &
    587                                  ( q_subs(k,nt+1) - q_subs(k,nt) )
     599                   tend(k,j,i) = tend(k,j,i) + td_sub_q(k,nt) + fac *          &
     600                                 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) )
    588601                ENDDO
    589602
  • palm/trunk/SOURCE/modules.f90

    r1366 r1382  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Renamed variables which store large scale forcing tendencies
     23! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt,
     24! q_lsa  -> td_lsa_q,   q_subs  -> td_sub_q
    2325!
    2426! Former revisions:
     
    288290          flux_s_e, flux_s_nr, flux_s_pt, flux_s_q, flux_s_qr, flux_s_sa,      &
    289291          flux_s_u, flux_s_v, flux_s_w, f1_mg, f2_mg, f3_mg,                   &
    290           mean_inflow_profiles, nrs, nrsws, nrswst, ptnudge, pt_lsa,           &
    291           pt_slope_ref, pt_subs, qnudge, qs, qsws, qswst, qswst_remote, qrs,   &
    292           qrsws, qrswst, q_lsa, q_subs, rif, saswsb, saswst, shf, tnudge,      &
    293           total_2d_a, total_2d_o, ts, tswst, ug_vert, unudge, us, usws, uswst, &
    294           vnudge, vg_vert, vsws, vswst, wnudge, wsubs_vert, z0, z0h
     292          mean_inflow_profiles, nrs, nrsws, nrswst, ptnudge, pt_slope_ref,     &
     293          qnudge, qs, qsws, qswst, qswst_remote, qrs, qrsws, qrswst, rif,      &
     294          saswsb, saswst, shf, tnudge, td_lsa_lpt, td_lsa_q, td_sub_lpt,       &
     295          td_sub_q, total_2d_a, total_2d_o, ts, tswst, ug_vert, unudge, us,    &
     296          usws, uswst, vnudge, vg_vert, vsws, vswst, wnudge, wsubs_vert, z0, z0h
    295297
    296298    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::                                 &
  • palm/trunk/SOURCE/nudging.f90

    r1381 r1382  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Changed the weighting factor that is used in the summation of nudging
     23! tendencies for profile data output from weight_pres to weight_substep,
     24! added Neumann boundary conditions for profile data output of nudging terms at
     25! nzt+1
    2326!
    2427! Former revisions:
     
    299302
    300303       USE statistics,                                                         &
    301            ONLY:  hom, sums_ls_l, weight_pres
     304           ONLY:  hom, sums_ls_l, weight_substep
    302305
    303306       IMPLICIT NONE
     
    333336             DO  i = nxl, nxr
    334337                DO  j = nys, nyn
     338
    335339                   DO  k = nzb_u_inner(j,i)+1, nzt
    336340
     
    341345
    342346                      sums_ls_l(k,6) = sums_ls_l(k,6) + tmp_tend *             &
    343                                        weight_pres(intermediate_timestep_count)
     347                                     weight_substep(intermediate_timestep_count)
    344348                   ENDDO
     349                 
     350                   sums_ls_l(nzt+1,6) = sums_ls_l(nzt,6)
     351 
    345352                ENDDO
    346353            ENDDO
     
    350357             DO  i = nxl, nxr
    351358                DO  j = nys, nyn
     359
    352360                   DO  k = nzb_u_inner(j,i)+1, nzt
    353361
     
    358366
    359367                      sums_ls_l(k,7) = sums_ls_l(k,7) + tmp_tend *             &
    360                                        weight_pres(intermediate_timestep_count)
     368                                     weight_substep(intermediate_timestep_count)
    361369                   ENDDO
     370                 
     371                   sums_ls_l(nzt+1,7) = sums_ls_l(nzt,7)
     372
    362373                ENDDO
    363374            ENDDO
     
    367378             DO  i = nxl, nxr
    368379                DO  j = nys, nyn
     380
    369381                   DO  k = nzb_u_inner(j,i)+1, nzt
    370382
     
    375387
    376388                      sums_ls_l(k,4) = sums_ls_l(k,4) + tmp_tend *             &
    377                                        weight_pres(intermediate_timestep_count)
     389                                     weight_substep(intermediate_timestep_count)
    378390                   ENDDO
     391
     392                   sums_ls_l(nzt+1,4) = sums_ls_l(nzt,4)
     393
    379394                ENDDO
    380395            ENDDO
     
    384399             DO  i = nxl, nxr
    385400                DO  j = nys, nyn
     401
    386402                   DO  k = nzb_u_inner(j,i)+1, nzt
    387403
     
    392408
    393409                      sums_ls_l(k,5) = sums_ls_l(k,5) + tmp_tend *             &
    394                                        weight_pres(intermediate_timestep_count)
     410                                     weight_substep(intermediate_timestep_count)
    395411                   ENDDO
     412                 
     413                   sums_ls_l(nzt+1,5) = sums_ls_l(nzt,5)
     414
    396415                ENDDO
    397416            ENDDO
     
    425444
    426445       USE statistics,                                                         &
    427            ONLY:  hom, sums_ls_l, weight_pres
     446           ONLY:  hom, sums_ls_l, weight_substep
    428447
    429448       IMPLICIT NONE
     
    466485
    467486                sums_ls_l(k,6) = sums_ls_l(k,6) + tmp_tend                     &
    468                                  * weight_pres(intermediate_timestep_count)
     487                                 * weight_substep(intermediate_timestep_count)
    469488             ENDDO
     489
     490             sums_ls_l(nzt+1,6) = sums_ls_l(nzt,6)
    470491
    471492          CASE ( 'v' )
     
    479500
    480501                sums_ls_l(k,7) = sums_ls_l(k,7) + tmp_tend                     &
    481                                  * weight_pres(intermediate_timestep_count)
     502                                 * weight_substep(intermediate_timestep_count)
    482503             ENDDO
    483504
     505             sums_ls_l(nzt+1,7) = sums_ls_l(nzt,7)
    484506
    485507          CASE ( 'pt' )
     
    493515
    494516                sums_ls_l(k,4) = sums_ls_l(k,4) + tmp_tend                     &
    495                                  * weight_pres(intermediate_timestep_count)
     517                                 * weight_substep(intermediate_timestep_count)
    496518             ENDDO
     519
     520             sums_ls_l(nzt+1,4) = sums_ls_l(nzt,4)
    497521
    498522
     
    507531
    508532                sums_ls_l(k,5) = sums_ls_l(k,5) + tmp_tend                     &
    509                                  * weight_pres(intermediate_timestep_count)
     533                                 * weight_substep(intermediate_timestep_count)
    510534             ENDDO
     535
     536             sums_ls_l(nzt+1,5) = sums_ls_l(nzt,5)
    511537
    512538          CASE DEFAULT
  • palm/trunk/SOURCE/subsidence.f90

    r1381 r1382  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! Changed the weighting factor that is used in the summation of subsidence
     23! tendencies for profile data output from weight_pres to weight_substep
     24! added Neumann boundary conditions for profile data output of subsidence terms
     25! at nzt+1
    2326!
    2427! Former revisions:
     
    163166
    164167       USE statistics,                                                         &
    165            ONLY:  sums_ls_l, weight_pres
     168           ONLY:  sums_ls_l, weight_substep
    166169
    167170       IMPLICIT NONE
     
    186189       DO  i = nxl, nxr
    187190          DO  j = nys, nyn
     191
    188192             DO  k = nzb_s_inner(j,i)+1, nzt
    189193                IF ( w_subs(k) < 0.0_wp )  THEN    ! large-scale subsidence
     
    199203                IF ( large_scale_forcing )  THEN
    200204                   sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend    &
    201                                       * weight_pres(intermediate_timestep_count)
     205                                   * weight_substep(intermediate_timestep_count)
    202206                ENDIF
    203207             ENDDO
     208
     209             sums_ls_l(nzt+1,ls_index) = sums_ls_l(nzt,ls_index)
     210
    204211          ENDDO
    205212       ENDDO
     
    259266
    260267       USE statistics,                                                         &
    261            ONLY:  sums_ls_l, weight_pres
     268           ONLY:  sums_ls_l, weight_substep
    262269
    263270       IMPLICIT NONE
     
    291298          IF ( large_scale_forcing )  THEN
    292299             sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend          &
    293                                      * weight_pres(intermediate_timestep_count)
     300                                   * weight_substep(intermediate_timestep_count)
    294301          ENDIF
    295302       ENDDO
     303
     304       sums_ls_l(nzt+1,ls_index) = sums_ls_l(nzt,ls_index)
    296305
    297306
Note: See TracChangeset for help on using the changeset viewer.