Ignore:
Timestamp:
Oct 26, 2015 4:17:44 PM (6 years ago)
Author:
maronga
Message:

various bugfixes and modifications of the atmosphere-land-surface-radiation interaction. Completely re-written routine to calculate surface fluxes (surface_layer_fluxes.f90) that replaces prandtl_fluxes. Minor formatting corrections and renamings

File:
1 edited

Legend:

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

    r1683 r1691  
    1414! PALM. If not, see <http://www.gnu.org/licenses/>.
    1515!
    16 ! Copyright 1997-2014 Leibniz Universitaet Hannover
     16! Copyright 1997-2015 Leibniz Universitaet Hannover
    1717!--------------------------------------------------------------------------------!
    1818!
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Added output of radiative heating rates and Obukhov length. Removed output of
     22! rif.
    2223!
    2324! Former revisions:
     
    8384
    8485    USE arrays_3d,                                                             &
    85         ONLY:  e, kh, km, p, pt, q, ql, qc, nr, nrs, nrsws, nrswst, qr, qrs,   &
    86                qrsws, qrswst, qs, qsws, qswst, sa, saswsb, saswst, rif,        &
     86        ONLY:  e, kh, km, ol, p, pt, q, ql, qc, nr, nrs, nrsws, nrswst, qr,    &
     87               qrs, qrsws, qrswst, qs, qsws, qswst, sa, saswsb, saswst,        &
    8788               rif_wall, shf, ts, tswst, u, u_m_l, u_m_n, u_m_r, u_m_s, us,    &
    8889               usws, uswst, v, v_m_l, v_m_n, v_m_r, v_m_s, vpt, vsws, vswst,   &
     
    119120    USE radiation_model_mod,                                                   &
    120121        ONLY: rad_net, rad_net_av, rad_lw_in, rad_lw_in_av, rad_lw_out,        &
    121               rad_lw_out_av, rad_sw_in, rad_sw_in_av, rad_sw_out, rad_sw_out_av
     122              rad_lw_cs_hr, rad_lw_cs_hr_av, rad_lw_hr, rad_lw_hr_av,          &
     123              rad_lw_out_av, rad_sw_in, rad_sw_in_av, rad_sw_out,              &
     124              rad_sw_out_av, rad_sw_cs_hr, rad_sw_cs_hr_av, rad_sw_hr,         &
     125              rad_sw_hr_av
    122126
    123127    USE random_function_mod,                                                   &
     
    595599                   nrswst(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  = &
    596600                                          tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     601                CASE ( 'ol' )
     602                   IF ( k == 1 )  READ ( 13 )  tmp_2d
     603                   ol(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  = &
     604                                         tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    597605
    598606                CASE ( 'p' )
     
    867875                             tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    868876
     877                CASE ( 'rad_lw_cs_hr' )
     878                   IF ( .NOT. ALLOCATED( rad_lw_cs_hr ) )  THEN
     879                      ALLOCATE( rad_lw_cs_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     880                   ENDIF
     881                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     882                   rad_lw_cs_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     883                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     884
     885                CASE ( 'rad_lw_cs_hr_av' )
     886                   IF ( .NOT. ALLOCATED( rad_lw_out_av ) )  THEN
     887                      ALLOCATE( rad_lw_cs_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     888                   ENDIF
     889                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     890                   rad_lw_cs_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     891                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     892
     893                CASE ( 'rad_lw_hr' )
     894                   IF ( .NOT. ALLOCATED( rad_lw_hr ) )  THEN
     895                      ALLOCATE( rad_lw_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     896                   ENDIF
     897                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     898                   rad_lw_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     899                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     900
     901                CASE ( 'rad_lw_hr_av' )
     902                   IF ( .NOT. ALLOCATED( rad_lw_hr_av ) )  THEN
     903                      ALLOCATE( rad_lw_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     904                   ENDIF
     905                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     906                   rad_lw_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     907                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     908
    869909                CASE ( 'rad_sw_in' )
    870910                   IF ( .NOT. ALLOCATED( rad_sw_in ) )  THEN
     
    898938                   rad_sw_out_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
    899939                             tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     940
     941                CASE ( 'rad_sw_cs_hr' )
     942                   IF ( .NOT. ALLOCATED( rad_sw_cs_hr ) )  THEN
     943                      ALLOCATE( rad_sw_cs_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     944                   ENDIF
     945                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     946                   rad_sw_cs_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     947                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     948
     949                CASE ( 'rad_sw_cs_hr_av' )
     950                   IF ( .NOT. ALLOCATED( rad_sw_out_av ) )  THEN
     951                      ALLOCATE( rad_sw_cs_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     952                   ENDIF
     953                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     954                   rad_sw_cs_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     955                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     956
     957                CASE ( 'rad_sw_hr' )
     958                   IF ( .NOT. ALLOCATED( rad_sw_hr ) )  THEN
     959                      ALLOCATE( rad_sw_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     960                   ENDIF
     961                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     962                   rad_sw_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     963                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
     964
     965                CASE ( 'rad_sw_hr_av' )
     966                   IF ( .NOT. ALLOCATED( rad_sw_hr_av ) )  THEN
     967                      ALLOCATE( rad_sw_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     968                   ENDIF
     969                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     970                   rad_lw_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
     971                           tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    900972
    901973                CASE ( 'random_iv' )  ! still unresolved issue
     
    914986                   rho_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
    915987                                tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    916 
    917                 CASE ( 'rif' )
    918                    IF ( k == 1 )  READ ( 13 )  tmp_2d
    919                    rif(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  = &
    920                                          tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    921988
    922989                CASE ( 'rif_wall' )
Note: See TracChangeset for help on using the changeset viewer.