Changeset 2743 for palm


Ignore:
Timestamp:
Jan 12, 2018 4:03:39 PM (4 years ago)
Author:
suehring
Message:

In case of natural- and urban-type surfaces output surfaces fluxes in W/m2

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r2742 r2743  
    2525! -----------------
    2626! $Id$
     27! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
     28!
     29! 2742 2018-01-12 14:59:47Z suehring
    2730! Enable output of surface temperature
    2831!
     
    10471050
    10481051!
    1049 !-- When the land surface model is used, the flux output must be dynamic.
    1050     IF ( land_surface )  THEN
     1052!-- When the land- or urban-surface model is used, the flux output must be
     1053!-- dynamic.
     1054    IF ( land_surface  .OR.  urban_surface )  THEN
    10511055       flux_output_mode = 'dynamic'
    10521056    ENDIF
     
    33513355             IF ( TRIM( var ) == 'z0*'    )  unit = 'm'
    33523356             IF ( TRIM( var ) == 'z0h*'   )  unit = 'm'
     3357!
     3358!--          Output of surface latent and sensible heat flux will be in W/m2
     3359!--          in case of natural- and urban-type surfaces, even if
     3360!--          flux_output_mode is set to kinematic units.
     3361             IF ( land_surface  .OR.  urban_surface )  THEN
     3362                IF ( TRIM( var ) == 'shf*'   )  unit = 'W/m2'
     3363                IF ( TRIM( var ) == 'qsws*'  )  unit = 'W/m2'
     3364             ENDIF
    33533365
    33543366          CASE DEFAULT
  • palm/trunk/SOURCE/data_output_2d.f90

    r2742 r2743  
    2525! -----------------
    2626! $Id$
     27! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
     28!
     29! 2742 2018-01-12 14:59:47Z suehring
    2730! Enable output of surface temperature
    2831!
     
    194197
    195198    USE arrays_3d,                                                             &
    196         ONLY:  dzw, e, nc, nr, p, pt, precipitation_amount, precipitation_rate,&
     199        ONLY:  dzw, e, heatflux_output_conversion, nc, nr, p, pt,              &
     200               precipitation_amount, precipitation_rate,                       &
    197201               prr, q, qc, ql, ql_c, ql_v, ql_vp, qr, rho_ocean, s, sa,        &
    198                tend, u, v, vpt, w, zu, zw
     202               tend, u, v, vpt, w, zu, zw, waterflux_output_conversion
    199203       
    200204    USE averaging
    201205       
    202206    USE cloud_parameters,                                                      &
    203         ONLY:  hyrho, l_d_cp, pt_d_t
     207        ONLY:  cp, hyrho, l_d_cp, l_v, pt_d_t
    204208               
    205209    USE control_parameters,                                                    &
     
    809813             CASE ( 'qsws*_xy' )        ! 2d-array
    810814                IF ( av == 0 ) THEN
     815!
     816!--                In case of default surfaces, clean-up flux by density.
     817!--                In case of land- and urban-surfaces, convert fluxes into
     818!--                dynamic units
    811819                   DO  m = 1, surf_def_h(0)%ns
    812820                      i = surf_def_h(0)%i(m)
    813821                      j = surf_def_h(0)%j(m)
    814                       local_pf(i,j,nzb+1) = surf_def_h(0)%qsws(m)
     822                      k = surf_def_h(0)%k(m)
     823                      local_pf(i,j,nzb+1) = surf_def_h(0)%qsws(m) *            &
     824                                            waterflux_output_conversion(k)
    815825                   ENDDO
    816826                   DO  m = 1, surf_lsm_h%ns
    817827                      i = surf_lsm_h%i(m)
    818828                      j = surf_lsm_h%j(m)
    819                       local_pf(i,j,nzb+1) = surf_lsm_h%qsws(m)
     829                      k = surf_lsm_h%k(m)
     830                      local_pf(i,j,nzb+1) = surf_lsm_h%qsws(m) * l_v
    820831                   ENDDO
    821832                   DO  m = 1, surf_usm_h%ns
    822833                      i = surf_usm_h%i(m)
    823834                      j = surf_usm_h%j(m)
    824                       local_pf(i,j,nzb+1) = surf_usm_h%qsws(m)
     835                      k = surf_usm_h%k(m)
     836                      local_pf(i,j,nzb+1) = surf_usm_h%qsws(m) * l_v
    825837                   ENDDO
    826838                ELSE
     
    901913             CASE ( 'shf*_xy' )        ! 2d-array
    902914                IF ( av == 0 ) THEN
     915!
     916!--                In case of default surfaces, clean-up flux by density.
     917!--                In case of land- and urban-surfaces, convert fluxes into
     918!--                dynamic units.
    903919                   DO  m = 1, surf_def_h(0)%ns
    904920                      i = surf_def_h(0)%i(m)
    905921                      j = surf_def_h(0)%j(m)
    906                       local_pf(i,j,nzb+1) = surf_def_h(0)%shf(m)
     922                      k = surf_def_h(0)%k(m)
     923                      local_pf(i,j,nzb+1) = surf_def_h(0)%shf(m) *             &
     924                                            heatflux_output_conversion(k)
    907925                   ENDDO
    908926                   DO  m = 1, surf_lsm_h%ns
    909927                      i = surf_lsm_h%i(m)
    910928                      j = surf_lsm_h%j(m)
    911                       local_pf(i,j,nzb+1) = surf_lsm_h%shf(m)
     929                      k = surf_lsm_h%k(m)
     930                      local_pf(i,j,nzb+1) = surf_lsm_h%shf(m) * cp
    912931                   ENDDO
    913932                   DO  m = 1, surf_usm_h%ns
    914933                      i = surf_usm_h%i(m)
    915934                      j = surf_usm_h%j(m)
    916                       local_pf(i,j,nzb+1) = surf_usm_h%shf(m)
     935                      k = surf_usm_h%k(m)
     936                      local_pf(i,j,nzb+1) = surf_usm_h%shf(m) * cp
    917937                   ENDDO
    918938                ELSE
  • palm/trunk/SOURCE/sum_up_3d_data.f90

    r2742 r2743  
    2525! -----------------
    2626! $Id$
     27! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
     28!
     29! 2742 2018-01-12 14:59:47Z suehring
    2730! Enable output of surface temperature
    2831!
     
    157160
    158161    USE arrays_3d,                                                             &
    159         ONLY:  dzw, e, nc, nr, p, pt, precipitation_rate, q, qc, ql, ql_c,     &
    160                ql_v, qr, rho_ocean, s, sa, u, v, vpt, w
     162        ONLY:  dzw, e, heatflux_output_conversion, nc, nr, p, pt,              &
     163               precipitation_rate, q, qc, ql, ql_c,                            &
     164               ql_v, qr, rho_ocean, s, sa, u, v, vpt, w,                       &
     165               waterflux_output_conversion
    161166
    162167    USE averaging,                                                             &
     
    173178
    174179    USE cloud_parameters,                                                      &
    175         ONLY:  l_d_cp, pt_d_t
     180        ONLY:  cp, l_d_cp, l_v, pt_d_t
    176181
    177182    USE control_parameters,                                                    &
     
    740745
    741746          CASE ( 'qsws*' )
     747!
     748!--          In case of default surfaces, clean-up flux by density.
     749!--          In case of land- and urban-surfaces, convert fluxes into
     750!--          dynamic units.
    742751             DO  m = 1, surf_def_h(0)%ns
    743752                i = surf_def_h(0)%i(m)
    744753                j = surf_def_h(0)%j(m)
    745                 qsws_av(j,i) = qsws_av(j,i) + surf_def_h(0)%qsws(m)
     754                qsws_av(j,i) = qsws_av(j,i) + surf_def_h(0)%qsws(m) *          &
     755                                              waterflux_output_conversion(k)
    746756             ENDDO
    747757             DO  m = 1, surf_lsm_h%ns
    748758                i = surf_lsm_h%i(m)
    749759                j = surf_lsm_h%j(m)
    750                 qsws_av(j,i) = qsws_av(j,i) + surf_lsm_h%qsws(m)
     760                qsws_av(j,i) = qsws_av(j,i) + surf_lsm_h%qsws(m) * l_v
    751761             ENDDO
    752762             DO  m = 1, surf_usm_h%ns
    753763                i = surf_usm_h%i(m)
    754764                j = surf_usm_h%j(m)
    755                 qsws_av(j,i) = qsws_av(j,i) + surf_usm_h%qsws(m)
     765                qsws_av(j,i) = qsws_av(j,i) + surf_usm_h%qsws(m) * l_v
    756766             ENDDO
    757767
     
    813823
    814824          CASE ( 'shf*' )
     825!
     826!--          In case of default surfaces, clean-up flux by density.
     827!--          In case of land- and urban-surfaces, convert fluxes into
     828!--          dynamic units.
    815829             DO  m = 1, surf_def_h(0)%ns
    816830                i = surf_def_h(0)%i(m)
    817831                j = surf_def_h(0)%j(m)
    818                 shf_av(j,i) = shf_av(j,i) + surf_def_h(0)%shf(m)
     832                shf_av(j,i) = shf_av(j,i) + surf_def_h(0)%shf(m)  *            &
     833                                            heatflux_output_conversion(k)
    819834             ENDDO
    820835             DO  m = 1, surf_lsm_h%ns
    821836                i = surf_lsm_h%i(m)
    822837                j = surf_lsm_h%j(m)
    823                 shf_av(j,i) = shf_av(j,i) + surf_lsm_h%shf(m)
     838                shf_av(j,i) = shf_av(j,i) + surf_lsm_h%shf(m) * cp
    824839             ENDDO
    825840             DO  m = 1, surf_usm_h%ns
    826841                i = surf_usm_h%i(m)
    827842                j = surf_usm_h%j(m)
    828                 shf_av(j,i) = shf_av(j,i) + surf_usm_h%shf(m)
     843                shf_av(j,i) = shf_av(j,i) + surf_usm_h%shf(m) * cp
    829844             ENDDO
    830845
Note: See TracChangeset for help on using the changeset viewer.