Ignore:
Timestamp:
Jan 30, 2018 2:12:54 PM (6 years ago)
Author:
suehring
Message:

Nesting for chemical species implemented; Bugfix passive scalar boundary condition after anterpolation; Timeseries output of surface temperature; Enable initialization of 3D topography (was commented out so far)

File:
1 edited

Legend:

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

    r2753 r2773  
    2525! -----------------
    2626! $Id$
     27! Timeseries output of surface temperature.
     28!
     29! 2753 2018-01-16 14:16:49Z suehring
    2730! Tile approach for spectral albedo implemented.
    2831!
     
    709712!
    710713!--          2D-arrays (being collected in the last column of sums_l)
    711              IF ( surf_def_h(0)%end_index(j,i) >=                                 &
     714             IF ( surf_def_h(0)%end_index(j,i) >=                              &
    712715                  surf_def_h(0)%start_index(j,i) )  THEN
    713716                m = surf_def_h(0)%start_index(j,i)
    714                 sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +               &
     717                sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +            &
    715718                                        surf_def_h(0)%us(m)   * rmask(j,i,sr)
    716                 sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +             &
     719                sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +          &
    717720                                        surf_def_h(0)%usws(m) * rmask(j,i,sr)
    718                 sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +             &
     721                sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +          &
    719722                                        surf_def_h(0)%vsws(m) * rmask(j,i,sr)
    720                 sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +             &
     723                sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +          &
    721724                                        surf_def_h(0)%ts(m)   * rmask(j,i,sr)
    722725                IF ( humidity )  THEN
    723                    sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +        &
     726                   sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +     &
    724727                                            surf_def_h(0)%qs(m)   * rmask(j,i,sr)
    725728                ENDIF
    726729                IF ( passive_scalar )  THEN
    727                    sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +        &
     730                   sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +     &
    728731                                            surf_def_h(0)%ss(m)   * rmask(j,i,sr)
    729732                ENDIF
     733!
     734!--             Summation of surface temperature.
     735                sums_l(nzb+14,pr_palm,tn) = sums_l(nzb+14,pr_palm,tn)   +      &
     736                                            surf_def_h(0)%pt_surface(m) *      &
     737                                            rmask(j,i,sr)
    730738             ENDIF
    731739             IF ( surf_lsm_h%end_index(j,i) >= surf_lsm_h%start_index(j,i) )  THEN
    732740                m = surf_lsm_h%start_index(j,i)
    733                 sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +               &
     741                sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +            &
    734742                                        surf_lsm_h%us(m)   * rmask(j,i,sr)
    735                 sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +             &
     743                sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +          &
    736744                                        surf_lsm_h%usws(m) * rmask(j,i,sr)
    737                 sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +             &
     745                sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +          &
    738746                                        surf_lsm_h%vsws(m) * rmask(j,i,sr)
    739                 sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +             &
     747                sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +          &
    740748                                        surf_lsm_h%ts(m)   * rmask(j,i,sr)
    741749                IF ( humidity )  THEN
    742                    sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +        &
     750                   sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +     &
    743751                                            surf_lsm_h%qs(m)   * rmask(j,i,sr)
    744752                ENDIF
    745753                IF ( passive_scalar )  THEN
    746                    sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +        &
     754                   sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +     &
    747755                                            surf_lsm_h%ss(m)   * rmask(j,i,sr)
    748756                ENDIF
     757!
     758!--             Summation of surface temperature.
     759                sums_l(nzb+14,pr_palm,tn) = sums_l(nzb+14,pr_palm,tn)   +      &
     760                                            surf_lsm_h%pt_surface(m)    *      &
     761                                            rmask(j,i,sr)
    749762             ENDIF
    750763             IF ( surf_usm_h%end_index(j,i) >= surf_usm_h%start_index(j,i) )  THEN
    751764                m = surf_usm_h%start_index(j,i)
    752                 sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +               &
     765                sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +            &
    753766                                        surf_usm_h%us(m)   * rmask(j,i,sr)
    754                 sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +             &
     767                sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) +          &
    755768                                        surf_usm_h%usws(m) * rmask(j,i,sr)
    756                 sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +             &
     769                sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) +          &
    757770                                        surf_usm_h%vsws(m) * rmask(j,i,sr)
    758                 sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +             &
     771                sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) +          &
    759772                                        surf_usm_h%ts(m)   * rmask(j,i,sr)
    760773                IF ( humidity )  THEN
    761                    sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +        &
     774                   sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) +     &
    762775                                            surf_usm_h%qs(m)   * rmask(j,i,sr)
    763776                ENDIF
    764777                IF ( passive_scalar )  THEN
    765                    sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +        &
     778                   sums_l(nzb+13,pr_palm,tn) = sums_l(nzb+13,pr_palm,tn) +     &
    766779                                            surf_usm_h%ss(m)   * rmask(j,i,sr)
    767780                ENDIF
     781!
     782!--             Summation of surface temperature.
     783                sums_l(nzb+14,pr_palm,tn) = sums_l(nzb+14,pr_palm,tn)   +      &
     784                                            surf_usm_h%pt_surface(m)    *      &
     785                                            rmask(j,i,sr)
    768786             ENDIF
    769787          ENDDO
     
    18041822                                    ngp_2dh(sr)
    18051823       sums(nzb+13,pr_palm)       = sums(nzb+13,pr_palm)       / &    ! ss
     1824                                    ngp_2dh(sr)
     1825       sums(nzb+14,pr_palm)       = sums(nzb+14,pr_palm)       / &    ! surface temperature
    18061826                                    ngp_2dh(sr)
    18071827!--    eges, e*
     
    20882108       ts_value(15,sr) = hom(nzb+1,1,16,sr)         ! w'pt'   at k=1
    20892109       ts_value(16,sr) = hom(nzb+1,1,18,sr)         ! wpt     at k=1
    2090        ts_value(17,sr) = hom(nzb,1,4,sr)            ! pt(0)
     2110       ts_value(17,sr) = hom(nzb+14,1,pr_palm,sr)   ! pt(0)
    20912111       ts_value(18,sr) = hom(nzb+1,1,4,sr)          ! pt(zp)
    20922112       ts_value(19,sr) = hom(nzb+1,1,pr_palm,sr)    ! u'w'    at k=0
Note: See TracChangeset for help on using the changeset viewer.