Ignore:
Timestamp:
Apr 30, 2020 4:29:59 PM (4 years ago)
Author:
suehring
Message:

Bugfix in plant-canopy model for output of averaged transpiration rate after a restart; Revise check for output for plant heating rate and rename error message number; Surface-data output: enable output of mixing ratio and passive scalar concentration at the surface; Surface-data input: Add possibility to prescribe surface sensible and latent heat fluxes via static input file

File:
1 edited

Legend:

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

    r4500 r4514  
    2525! -----------------
    2626! $Id$
     27! Enable output of qsurf and ssurf
     28!
     29! 4500 2020-04-17 10:12:45Z suehring
    2730! Unify output conversion of sensible and latent heat flux
    2831!
     
    123126    USE indices,                                                               &
    124127        ONLY:  nbgp, nx, nxl, nxlg, nxr, nxrg, ny, nyn, nyng, nys, nysg,       &
    125                nzb, nzt, wall_flags_total_0
     128               nzb, nzt,                                                       &
     129               topo_top_ind,                                                   &
     130               wall_flags_total_0
    126131
    127132    USE kinds
     
    701706                IF ( mode == 'xy' )  level_z = zu
    702707
     708             CASE ( 'qsurf*_xy' )        ! 2d-array
     709                IF ( av == 0 )  THEN
     710                   DO  m = 1, surf_def_h(0)%ns
     711                      i                   = surf_def_h(0)%i(m)
     712                      j                   = surf_def_h(0)%j(m)
     713                      local_pf(i,j,nzb+1) = surf_def_h(0)%q_surface(m)
     714                   ENDDO
     715
     716                   DO  m = 1, surf_lsm_h%ns
     717                      i                   = surf_lsm_h%i(m)
     718                      j                   = surf_lsm_h%j(m)
     719                      local_pf(i,j,nzb+1) = surf_lsm_h%q_surface(m)
     720                   ENDDO
     721
     722                   DO  m = 1, surf_usm_h%ns
     723                      i                   = surf_usm_h%i(m)
     724                      j                   = surf_usm_h%j(m)
     725                      local_pf(i,j,nzb+1) = surf_usm_h%q_surface(m)
     726                   ENDDO
     727
     728                ELSE
     729                   IF ( .NOT. ALLOCATED( qsurf_av ) ) THEN
     730                      ALLOCATE( qsurf_av(nysg:nyng,nxlg:nxrg) )
     731                      qsurf_av = REAL( fill_value, KIND = wp )
     732                   ENDIF
     733                   DO  i = nxl, nxr
     734                      DO  j = nys, nyn
     735                         local_pf(i,j,nzb+1) = qsurf_av(j,i)
     736                      ENDDO
     737                   ENDDO
     738                ENDIF
     739                resorted       = .TRUE.
     740                two_d          = .TRUE.
     741                level_z(nzb+1) = zu(nzb+1)
     742
    703743             CASE ( 'qsws*_xy' )        ! 2d-array
    704744                IF ( av == 0 ) THEN
     
    845885                two_d = .TRUE.
    846886                level_z(nzb+1) = zu(nzb+1)
    847                
     887
     888             CASE ( 'ssurf*_xy' )        ! 2d-array
     889                IF ( av == 0 )  THEN
     890                   DO  i = nxl, nxr
     891                      DO  j = nys, nyn
     892                         k = topo_top_ind(j,i,0)
     893                         local_pf(i,j,nzb+1) = s(k+k,j,i)
     894                      ENDDO
     895                   ENDDO
     896                ELSE
     897                   IF ( .NOT. ALLOCATED( ssurf_av ) ) THEN
     898                      ALLOCATE( ssurf_av(nysg:nyng,nxlg:nxrg) )
     899                      ssurf_av = REAL( fill_value, KIND = wp )
     900                   ENDIF
     901                   DO  i = nxl, nxr
     902                      DO  j = nys, nyn
     903                         local_pf(i,j,nzb+1) = ssurf_av(j,i)
     904                      ENDDO
     905                   ENDDO
     906                ENDIF
     907                resorted       = .TRUE.
     908                two_d          = .TRUE.
     909                level_z(nzb+1) = zu(nzb+1)
     910
    848911             CASE ( 'ssws*_xy' )        ! 2d-array
    849912                IF ( av == 0 ) THEN
Note: See TracChangeset for help on using the changeset viewer.