Ignore:
Timestamp:
Sep 9, 2020 8:27:58 PM (4 years ago)
Author:
pavelkrc
Message:

Radiative transfer model RTM version 4.1

File:
1 edited

Legend:

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

    r4559 r4671  
    1919! Current revisions:
    2020! ------------------
    21 ! 
    22 ! 
     21!
     22!
    2323! Former revisions:
    2424! -----------------
    2525! $Id$
     26! Implementation of downward facing USM and LSM surfaces
     27!
     28! 4559 2020-06-11 08:51:48Z raasch
    2629! file re-formatted to follow the PALM coding standard
    2730!
     
    441444             CASE ( 'ghf*_xy' )        ! 2d-array
    442445                IF ( av == 0 )  THEN
    443                    DO  m = 1, surf_lsm_h%ns
    444                       i                   = surf_lsm_h%i(m)
    445                       j                   = surf_lsm_h%j(m)
    446                       local_pf(i,j,nzb+1) = surf_lsm_h%ghf(m)
    447                    ENDDO
    448                    DO  m = 1, surf_usm_h%ns
    449                       i                   = surf_usm_h%i(m)
    450                       j                   = surf_usm_h%j(m)
    451                       local_pf(i,j,nzb+1) = surf_usm_h%frac(m,ind_veg_wall)  *                     &
    452                                             surf_usm_h%wghf_eb(m)        +                         &
    453                                             surf_usm_h%frac(m,ind_pav_green) *                     &
    454                                             surf_usm_h%wghf_eb_green(m)  +                         &
    455                                             surf_usm_h%frac(m,ind_wat_win)   *                     &
    456                                             surf_usm_h%wghf_eb_window(m)
     446                   DO  m = 1, surf_lsm_h(0)%ns
     447                      i                   = surf_lsm_h(0)%i(m)
     448                      j                   = surf_lsm_h(0)%j(m)
     449                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%ghf(m)
     450                   ENDDO
     451                   DO  m = 1, surf_usm_h(0)%ns
     452                      i                   = surf_usm_h(0)%i(m)
     453                      j                   = surf_usm_h(0)%j(m)
     454                      local_pf(i,j,nzb+1) = surf_usm_h(0)%frac(m,ind_veg_wall)  *                     &
     455                                            surf_usm_h(0)%wghf_eb(m)        +                         &
     456                                            surf_usm_h(0)%frac(m,ind_pav_green) *                     &
     457                                            surf_usm_h(0)%wghf_eb_green(m)  +                         &
     458                                            surf_usm_h(0)%frac(m,ind_wat_win)   *                     &
     459                                            surf_usm_h(0)%wghf_eb_window(m)
    457460                   ENDDO
    458461                ELSE
     
    479482                      local_pf(i,j,nzb+1) = surf_def_h(0)%ol(m)
    480483                   ENDDO
    481                    DO  m = 1, surf_lsm_h%ns
    482                       i = surf_lsm_h%i(m)
    483                       j = surf_lsm_h%j(m)
    484                       local_pf(i,j,nzb+1) = surf_lsm_h%ol(m)
    485                    ENDDO
    486                    DO  m = 1, surf_usm_h%ns
    487                       i = surf_usm_h%i(m)
    488                       j = surf_usm_h%j(m)
    489                       local_pf(i,j,nzb+1) = surf_usm_h%ol(m)
     484                   DO  m = 1, surf_lsm_h(0)%ns
     485                      i = surf_lsm_h(0)%i(m)
     486                      j = surf_lsm_h(0)%j(m)
     487                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%ol(m)
     488                   ENDDO
     489                   DO  m = 1, surf_usm_h(0)%ns
     490                      i = surf_usm_h(0)%i(m)
     491                      j = surf_usm_h(0)%j(m)
     492                      local_pf(i,j,nzb+1) = surf_usm_h(0)%ol(m)
    490493                   ENDDO
    491494                ELSE
     
    711714                   ENDDO
    712715
    713                    DO  m = 1, surf_lsm_h%ns
    714                       i                   = surf_lsm_h%i(m)
    715                       j                   = surf_lsm_h%j(m)
    716                       local_pf(i,j,nzb+1) = surf_lsm_h%q_surface(m)
    717                    ENDDO
    718 
    719                    DO  m = 1, surf_usm_h%ns
    720                       i                   = surf_usm_h%i(m)
    721                       j                   = surf_usm_h%j(m)
    722                       local_pf(i,j,nzb+1) = surf_usm_h%q_surface(m)
     716                   DO  m = 1, surf_lsm_h(0)%ns
     717                      i                   = surf_lsm_h(0)%i(m)
     718                      j                   = surf_lsm_h(0)%j(m)
     719                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%q_surface(m)
     720                   ENDDO
     721
     722                   DO  m = 1, surf_usm_h(0)%ns
     723                      i                   = surf_usm_h(0)%i(m)
     724                      j                   = surf_usm_h(0)%j(m)
     725                      local_pf(i,j,nzb+1) = surf_usm_h(0)%q_surface(m)
    723726                   ENDDO
    724727
     
    750753                      local_pf(i,j,nzb+1) = surf_def_h(0)%qsws(m) * waterflux_output_conversion(k)
    751754                   ENDDO
    752                    DO  m = 1, surf_lsm_h%ns
    753                       i = surf_lsm_h%i(m)
    754                       j = surf_lsm_h%j(m)
    755                       k = surf_lsm_h%k(m)
    756                       local_pf(i,j,nzb+1) = surf_lsm_h%qsws(m) * waterflux_output_conversion(k)
    757                    ENDDO
    758                    DO  m = 1, surf_usm_h%ns
    759                       i = surf_usm_h%i(m)
    760                       j = surf_usm_h%j(m)
    761                       k = surf_usm_h%k(m)
    762                       local_pf(i,j,nzb+1) = surf_usm_h%qsws(m) * waterflux_output_conversion(k)
     755                   DO  m = 1, surf_lsm_h(0)%ns
     756                      i = surf_lsm_h(0)%i(m)
     757                      j = surf_lsm_h(0)%j(m)
     758                      k = surf_lsm_h(0)%k(m)
     759                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%qsws(m) * waterflux_output_conversion(k)
     760                   ENDDO
     761                   DO  m = 1, surf_usm_h(0)%ns
     762                      i = surf_usm_h(0)%i(m)
     763                      j = surf_usm_h(0)%j(m)
     764                      k = surf_usm_h(0)%k(m)
     765                      local_pf(i,j,nzb+1) = surf_usm_h(0)%qsws(m) * waterflux_output_conversion(k)
    763766                   ENDDO
    764767                ELSE
     
    798801             CASE ( 'r_a*_xy' )        ! 2d-array
    799802                IF ( av == 0 )  THEN
    800                    DO  m = 1, surf_lsm_h%ns
    801                       i                   = surf_lsm_h%i(m)
    802                       j                   = surf_lsm_h%j(m)
    803                       local_pf(i,j,nzb+1) = surf_lsm_h%r_a(m)
    804                    ENDDO
    805 
    806                    DO  m = 1, surf_usm_h%ns
    807                       i   = surf_usm_h%i(m)
    808                       j   = surf_usm_h%j(m)
    809                       local_pf(i,j,nzb+1) = ( surf_usm_h%frac(m,ind_veg_wall)  *                   &
    810                                               surf_usm_h%r_a(m)       +                            &
    811                                               surf_usm_h%frac(m,ind_pav_green) *                   &
    812                                               surf_usm_h%r_a_green(m) +                            &
    813                                               surf_usm_h%frac(m,ind_wat_win)   *                   &
    814                                               surf_usm_h%r_a_window(m) )
     803                   DO  m = 1, surf_lsm_h(0)%ns
     804                      i                   = surf_lsm_h(0)%i(m)
     805                      j                   = surf_lsm_h(0)%j(m)
     806                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%r_a(m)
     807                   ENDDO
     808
     809                   DO  m = 1, surf_usm_h(0)%ns
     810                      i   = surf_usm_h(0)%i(m)
     811                      j   = surf_usm_h(0)%j(m)
     812                      local_pf(i,j,nzb+1) = ( surf_usm_h(0)%frac(m,ind_veg_wall)  *                   &
     813                                              surf_usm_h(0)%r_a(m)       +                            &
     814                                              surf_usm_h(0)%frac(m,ind_pav_green) *                   &
     815                                              surf_usm_h(0)%r_a_green(m) +                            &
     816                                              surf_usm_h(0)%frac(m,ind_wat_win)   *                   &
     817                                              surf_usm_h(0)%r_a_window(m) )
    815818                   ENDDO
    816819                ELSE
     
    851854                      local_pf(i,j,nzb+1) = surf_def_h(0)%shf(m) * heatflux_output_conversion(k)
    852855                   ENDDO
    853                    DO  m = 1, surf_lsm_h%ns
    854                       i = surf_lsm_h%i(m)
    855                       j = surf_lsm_h%j(m)
    856                       k = surf_lsm_h%k(m)
    857                       local_pf(i,j,nzb+1) = surf_lsm_h%shf(m) * heatflux_output_conversion(k)
    858                    ENDDO
    859                    DO  m = 1, surf_usm_h%ns
    860                       i = surf_usm_h%i(m)
    861                       j = surf_usm_h%j(m)
    862                       k = surf_usm_h%k(m)
    863                       local_pf(i,j,nzb+1) = surf_usm_h%shf(m) * heatflux_output_conversion(k)
     856                   DO  m = 1, surf_lsm_h(0)%ns
     857                      i = surf_lsm_h(0)%i(m)
     858                      j = surf_lsm_h(0)%j(m)
     859                      k = surf_lsm_h(0)%k(m)
     860                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%shf(m) * heatflux_output_conversion(k)
     861                   ENDDO
     862                   DO  m = 1, surf_usm_h(0)%ns
     863                      i = surf_usm_h(0)%i(m)
     864                      j = surf_usm_h(0)%j(m)
     865                      k = surf_usm_h(0)%k(m)
     866                      local_pf(i,j,nzb+1) = surf_usm_h(0)%shf(m) * heatflux_output_conversion(k)
    864867                   ENDDO
    865868                ELSE
     
    908911                      local_pf(i,j,nzb+1) = surf_def_h(0)%ssws(m)
    909912                   ENDDO
    910                    DO  m = 1, surf_lsm_h%ns
    911                       i = surf_lsm_h%i(m)
    912                       j = surf_lsm_h%j(m)
    913                       local_pf(i,j,nzb+1) = surf_lsm_h%ssws(m)
    914                    ENDDO
    915                    DO  m = 1, surf_usm_h%ns
    916                       i = surf_usm_h%i(m)
    917                       j = surf_usm_h%j(m)
    918                       local_pf(i,j,nzb+1) = surf_usm_h%ssws(m)
     913                   DO  m = 1, surf_lsm_h(0)%ns
     914                      i = surf_lsm_h(0)%i(m)
     915                      j = surf_lsm_h(0)%j(m)
     916                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%ssws(m)
     917                   ENDDO
     918                   DO  m = 1, surf_usm_h(0)%ns
     919                      i = surf_usm_h(0)%i(m)
     920                      j = surf_usm_h(0)%j(m)
     921                      local_pf(i,j,nzb+1) = surf_usm_h(0)%ssws(m)
    919922                   ENDDO
    920923                ELSE
     
    940943                      local_pf(i,j,nzb+1) = surf_def_h(0)%ts(m)
    941944                   ENDDO
    942                    DO  m = 1, surf_lsm_h%ns
    943                       i = surf_lsm_h%i(m)
    944                       j = surf_lsm_h%j(m)
    945                       local_pf(i,j,nzb+1) = surf_lsm_h%ts(m)
    946                    ENDDO
    947                    DO  m = 1, surf_usm_h%ns
    948                       i = surf_usm_h%i(m)
    949                       j = surf_usm_h%j(m)
    950                       local_pf(i,j,nzb+1) = surf_usm_h%ts(m)
     945                   DO  m = 1, surf_lsm_h(0)%ns
     946                      i = surf_lsm_h(0)%i(m)
     947                      j = surf_lsm_h(0)%j(m)
     948                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%ts(m)
     949                   ENDDO
     950                   DO  m = 1, surf_usm_h(0)%ns
     951                      i = surf_usm_h(0)%i(m)
     952                      j = surf_usm_h(0)%j(m)
     953                      local_pf(i,j,nzb+1) = surf_usm_h(0)%ts(m)
    951954                   ENDDO
    952955                ELSE
     
    973976                   ENDDO
    974977
    975                    DO  m = 1, surf_lsm_h%ns
    976                       i                   = surf_lsm_h%i(m)
    977                       j                   = surf_lsm_h%j(m)
    978                       local_pf(i,j,nzb+1) = surf_lsm_h%pt_surface(m)
    979                    ENDDO
    980 
    981                    DO  m = 1, surf_usm_h%ns
    982                       i   = surf_usm_h%i(m)
    983                       j   = surf_usm_h%j(m)
    984                       local_pf(i,j,nzb+1) = surf_usm_h%pt_surface(m)
     978                   DO  m = 1, surf_lsm_h(0)%ns
     979                      i                   = surf_lsm_h(0)%i(m)
     980                      j                   = surf_lsm_h(0)%j(m)
     981                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%pt_surface(m)
     982                   ENDDO
     983
     984                   DO  m = 1, surf_usm_h(0)%ns
     985                      i   = surf_usm_h(0)%i(m)
     986                      j   = surf_usm_h(0)%j(m)
     987                      local_pf(i,j,nzb+1) = surf_usm_h(0)%pt_surface(m)
    985988                   ENDDO
    986989
     
    10261029                      local_pf(i,j,nzb+1) = surf_def_h(0)%us(m)
    10271030                   ENDDO
    1028                    DO  m = 1, surf_lsm_h%ns
    1029                       i = surf_lsm_h%i(m)
    1030                       j = surf_lsm_h%j(m)
    1031                       local_pf(i,j,nzb+1) = surf_lsm_h%us(m)
    1032                    ENDDO
    1033                    DO  m = 1, surf_usm_h%ns
    1034                       i = surf_usm_h%i(m)
    1035                       j = surf_usm_h%j(m)
    1036                       local_pf(i,j,nzb+1) = surf_usm_h%us(m)
     1031                   DO  m = 1, surf_lsm_h(0)%ns
     1032                      i = surf_lsm_h(0)%i(m)
     1033                      j = surf_lsm_h(0)%j(m)
     1034                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%us(m)
     1035                   ENDDO
     1036                   DO  m = 1, surf_usm_h(0)%ns
     1037                      i = surf_usm_h(0)%i(m)
     1038                      j = surf_usm_h(0)%j(m)
     1039                      local_pf(i,j,nzb+1) = surf_usm_h(0)%us(m)
    10371040                   ENDDO
    10381041                ELSE
     
    11021105                      local_pf(i,j,nzb+1) = surf_def_h(0)%z0(m)
    11031106                   ENDDO
    1104                    DO  m = 1, surf_lsm_h%ns
    1105                       i = surf_lsm_h%i(m)
    1106                       j = surf_lsm_h%j(m)
    1107                       local_pf(i,j,nzb+1) = surf_lsm_h%z0(m)
    1108                    ENDDO
    1109                    DO  m = 1, surf_usm_h%ns
    1110                       i = surf_usm_h%i(m)
    1111                       j = surf_usm_h%j(m)
    1112                       local_pf(i,j,nzb+1) = surf_usm_h%z0(m)
     1107                   DO  m = 1, surf_lsm_h(0)%ns
     1108                      i = surf_lsm_h(0)%i(m)
     1109                      j = surf_lsm_h(0)%j(m)
     1110                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%z0(m)
     1111                   ENDDO
     1112                   DO  m = 1, surf_usm_h(0)%ns
     1113                      i = surf_usm_h(0)%i(m)
     1114                      j = surf_usm_h(0)%j(m)
     1115                      local_pf(i,j,nzb+1) = surf_usm_h(0)%z0(m)
    11131116                   ENDDO
    11141117                ELSE
     
    11341137                      local_pf(i,j,nzb+1) = surf_def_h(0)%z0h(m)
    11351138                   ENDDO
    1136                    DO  m = 1, surf_lsm_h%ns
    1137                       i = surf_lsm_h%i(m)
    1138                       j = surf_lsm_h%j(m)
    1139                       local_pf(i,j,nzb+1) = surf_lsm_h%z0h(m)
    1140                    ENDDO
    1141                    DO  m = 1, surf_usm_h%ns
    1142                       i = surf_usm_h%i(m)
    1143                       j = surf_usm_h%j(m)
    1144                       local_pf(i,j,nzb+1) = surf_usm_h%z0h(m)
     1139                   DO  m = 1, surf_lsm_h(0)%ns
     1140                      i = surf_lsm_h(0)%i(m)
     1141                      j = surf_lsm_h(0)%j(m)
     1142                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%z0h(m)
     1143                   ENDDO
     1144                   DO  m = 1, surf_usm_h(0)%ns
     1145                      i = surf_usm_h(0)%i(m)
     1146                      j = surf_usm_h(0)%j(m)
     1147                      local_pf(i,j,nzb+1) = surf_usm_h(0)%z0h(m)
    11451148                   ENDDO
    11461149                ELSE
     
    11661169                      local_pf(i,j,nzb+1) = surf_def_h(0)%z0q(m)
    11671170                   ENDDO
    1168                    DO  m = 1, surf_lsm_h%ns
    1169                       i = surf_lsm_h%i(m)
    1170                       j = surf_lsm_h%j(m)
    1171                       local_pf(i,j,nzb+1) = surf_lsm_h%z0q(m)
    1172                    ENDDO
    1173                    DO  m = 1, surf_usm_h%ns
    1174                       i = surf_usm_h%i(m)
    1175                       j = surf_usm_h%j(m)
    1176                       local_pf(i,j,nzb+1) = surf_usm_h%z0q(m)
     1171                   DO  m = 1, surf_lsm_h(0)%ns
     1172                      i = surf_lsm_h(0)%i(m)
     1173                      j = surf_lsm_h(0)%j(m)
     1174                      local_pf(i,j,nzb+1) = surf_lsm_h(0)%z0q(m)
     1175                   ENDDO
     1176                   DO  m = 1, surf_usm_h(0)%ns
     1177                      i = surf_usm_h(0)%i(m)
     1178                      j = surf_usm_h(0)%j(m)
     1179                      local_pf(i,j,nzb+1) = surf_usm_h(0)%z0q(m)
    11771180                   ENDDO
    11781181                ELSE
Note: See TracChangeset for help on using the changeset viewer.