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

Radiative transfer model RTM version 4.1

File:
1 edited

Legend:

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

    r4583 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! 4583 2020-06-29 12:36:47Z raasch
    2629! file re-formatted to follow the PALM coding standard
    2730!
     
    241244!
    242245!--             Natural-type surfaces, upward-facing
    243                 surf_s = surf_lsm_h%start_index(j,i)
    244                 surf_e = surf_lsm_h%end_index(j,i)
    245                 DO  m = surf_s, surf_e
    246                    k   = surf_lsm_h%k(m)
    247 
    248                    tend(k,j,i) = tend(k,j,i)                                                       &
    249                                  + ( - ( - surf_lsm_h%vsws(m) ) ) * ddzw(k) * drho_air(k)
     246                surf_s = surf_lsm_h(0)%start_index(j,i)
     247                surf_e = surf_lsm_h(0)%end_index(j,i)
     248                DO  m = surf_s, surf_e
     249                   k   = surf_lsm_h(0)%k(m)
     250
     251                   tend(k,j,i) = tend(k,j,i)                                                       &
     252                                 + ( - ( - surf_lsm_h(0)%vsws(m) ) ) * ddzw(k) * drho_air(k)
     253
     254                ENDDO
     255!
     256!--             Natural-type surfaces, downward-facing
     257                surf_s = surf_lsm_h(1)%start_index(j,i)
     258                surf_e = surf_lsm_h(1)%end_index(j,i)
     259                DO  m = surf_s, surf_e
     260                   k   = surf_lsm_h(1)%k(m)
     261
     262                   tend(k,j,i) = tend(k,j,i)                                                       &
     263                                 +  ( - surf_lsm_h(1)%vsws(m) ) * ddzw(k) * drho_air(k)
    250264
    251265                ENDDO
    252266!
    253267!--             Urban-type surfaces, upward-facing
    254                 surf_s = surf_usm_h%start_index(j,i)
    255                 surf_e = surf_usm_h%end_index(j,i)
    256                 DO  m = surf_s, surf_e
    257                    k   = surf_usm_h%k(m)
    258 
    259                    tend(k,j,i) = tend(k,j,i)                                                       &
    260                                  + ( - ( - surf_usm_h%vsws(m) ) ) * ddzw(k) * drho_air(k)
     268                surf_s = surf_usm_h(0)%start_index(j,i)
     269                surf_e = surf_usm_h(0)%end_index(j,i)
     270                DO  m = surf_s, surf_e
     271                   k   = surf_usm_h(0)%k(m)
     272
     273                   tend(k,j,i) = tend(k,j,i)                                                       &
     274                                 + ( - ( - surf_usm_h(0)%vsws(m) ) ) * ddzw(k) * drho_air(k)
     275
     276                ENDDO
     277!
     278!--             Urban-type surfaces, downward-facing
     279                surf_s = surf_usm_h(1)%start_index(j,i)
     280                surf_e = surf_usm_h(1)%end_index(j,i)
     281                DO  m = surf_s, surf_e
     282                   k   = surf_usm_h(1)%k(m)
     283
     284                   tend(k,j,i) = tend(k,j,i)                                                       &
     285                                 + ( - surf_usm_h(1)%vsws(m) ) * ddzw(k) * drho_air(k)
    261286
    262287                ENDDO
     
    446471!
    447472!--       Natural-type surfaces, upward-facing
    448           surf_s = surf_lsm_h%start_index(j,i)
    449           surf_e = surf_lsm_h%end_index(j,i)
    450           DO  m = surf_s, surf_e
    451              k   = surf_lsm_h%k(m)
    452 
    453              tend(k,j,i) = tend(k,j,i) + ( - ( - surf_lsm_h%vsws(m) ) ) * ddzw(k) * drho_air(k)
     473          surf_s = surf_lsm_h(0)%start_index(j,i)
     474          surf_e = surf_lsm_h(0)%end_index(j,i)
     475          DO  m = surf_s, surf_e
     476             k   = surf_lsm_h(0)%k(m)
     477
     478             tend(k,j,i) = tend(k,j,i) + ( - ( - surf_lsm_h(0)%vsws(m) ) ) * ddzw(k) * drho_air(k)
     479
     480          ENDDO
     481!
     482!--       Natural-type surfaces, downward-facing
     483          surf_s = surf_lsm_h(1)%start_index(j,i)
     484          surf_e = surf_lsm_h(1)%end_index(j,i)
     485          DO  m = surf_s, surf_e
     486             k   = surf_lsm_h(1)%k(m)
     487
     488             tend(k,j,i) = tend(k,j,i) + ( - surf_lsm_h(1)%vsws(m) ) * ddzw(k) * drho_air(k)
    454489
    455490          ENDDO
    456491!
    457492!--       Urban-type surfaces, upward-facing
    458           surf_s = surf_usm_h%start_index(j,i)
    459           surf_e = surf_usm_h%end_index(j,i)
    460           DO  m = surf_s, surf_e
    461              k   = surf_usm_h%k(m)
    462 
    463              tend(k,j,i) = tend(k,j,i) + ( - ( - surf_usm_h%vsws(m) ) ) * ddzw(k) * drho_air(k)
     493          surf_s = surf_usm_h(0)%start_index(j,i)
     494          surf_e = surf_usm_h(0)%end_index(j,i)
     495          DO  m = surf_s, surf_e
     496             k   = surf_usm_h(0)%k(m)
     497
     498             tend(k,j,i) = tend(k,j,i) + ( - ( - surf_usm_h(0)%vsws(m) ) ) * ddzw(k) * drho_air(k)
     499
     500          ENDDO
     501!
     502!--       Urban-type surfaces, downward-facing
     503          surf_s = surf_usm_h(1)%start_index(j,i)
     504          surf_e = surf_usm_h(1)%end_index(j,i)
     505          DO  m = surf_s, surf_e
     506             k   = surf_usm_h(1)%k(m)
     507
     508             tend(k,j,i) = tend(k,j,i) + ( - surf_usm_h(1)%vsws(m) ) * ddzw(k) * drho_air(k)
    464509
    465510          ENDDO
Note: See TracChangeset for help on using the changeset viewer.