Changeset 3918 for palm/trunk/SOURCE


Ignore:
Timestamp:
Apr 18, 2019 1:33:11 PM (6 years ago)
Author:
suehring
Message:

Disable also green fraction at vertical building walls; update test configuration for urban_environment test case

File:
1 edited

Legend:

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

    r3914 r3918  
    2828! -----------------
    2929! $Id$
     30! Set green fraction to zero also at vertical surfaces
     31!
     32! 3914 2019-04-17 16:02:02Z suehring
    3033! In order to obtain correct surface temperature during spinup set window
    3134! fraction to zero (only during spinup) instead of just disabling
     
    44594462                 surf_usm_h%lai(m)  = building_pars_f%pars_xy(ind_lai_r,j,i)
    44604463
    4461               IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=                     &
    4462                    building_pars_f%fill )  THEN
    4463                  surf_usm_h%rho_c_wall(nzb_wall,m)   =                         &
    4464                                     building_pars_f%pars_xy(ind_hc1,j,i) 
    4465                  surf_usm_h%rho_c_wall(nzb_wall+1,m) =                         &
    4466                                     building_pars_f%pars_xy(ind_hc1,j,i)
    4467               ENDIF
    4468              
    4469              
    4470               IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=                     &
    4471                    building_pars_f%fill )                                      &
    4472                  surf_usm_h%rho_c_wall(nzb_wall+2,m) =                         &
    4473                                     building_pars_f%pars_xy(ind_hc2,j,i)
    4474                  
    4475               IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=                     &
    4476                    building_pars_f%fill )                                      &
    4477                  surf_usm_h%rho_c_wall(nzb_wall+3,m) =                         &
    4478                                     building_pars_f%pars_xy(ind_hc3,j,i)
     4464!               IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=                     &
     4465!                    building_pars_f%fill )  THEN
     4466!                  surf_usm_h%rho_c_wall(nzb_wall,m)   =                         &
     4467!                                     building_pars_f%pars_xy(ind_hc1,j,i) 
     4468!                  surf_usm_h%rho_c_wall(nzb_wall+1,m) =                         &
     4469!                                     building_pars_f%pars_xy(ind_hc1,j,i)
     4470!               ENDIF
     4471!              
     4472!              
     4473!               IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=                     &
     4474!                    building_pars_f%fill )                                      &
     4475!                  surf_usm_h%rho_c_wall(nzb_wall+2,m) =                         &
     4476!                                     building_pars_f%pars_xy(ind_hc2,j,i)
     4477!                  
     4478!               IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=                     &
     4479!                    building_pars_f%fill )                                      &
     4480!                  surf_usm_h%rho_c_wall(nzb_wall+3,m) =                         &
     4481!                                     building_pars_f%pars_xy(ind_hc3,j,i)
    44794482                 
    44804483              IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=                     &
     
    44954498                                    building_pars_f%pars_xy(ind_hc3,j,i)
    44964499                 
    4497               IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=                     &
    4498                    building_pars_f%fill )  THEN
    4499                  surf_usm_h%rho_c_window(nzb_wall,m)   =                       &
    4500                                     building_pars_f%pars_xy(ind_hc1,j,i) 
    4501                  surf_usm_h%rho_c_window(nzb_wall+1,m) =                       &
    4502                                     building_pars_f%pars_xy(ind_hc1,j,i)
    4503               ENDIF
    4504               IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=                     &
    4505                    building_pars_f%fill )                                      &
    4506                  surf_usm_h%rho_c_window(nzb_wall+2,m) =                       &
    4507                                     building_pars_f%pars_xy(ind_hc2,j,i)
    4508                  
    4509               IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=                     &
    4510                    building_pars_f%fill )                                      &
    4511                  surf_usm_h%rho_c_window(nzb_wall+3,m) =                       &
    4512                                     building_pars_f%pars_xy(ind_hc3,j,i)
     4500!               IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=                     &
     4501!                    building_pars_f%fill )  THEN
     4502!                  surf_usm_h%rho_c_window(nzb_wall,m)   =                       &
     4503!                                     building_pars_f%pars_xy(ind_hc1,j,i) 
     4504!                  surf_usm_h%rho_c_window(nzb_wall+1,m) =                       &
     4505!                                     building_pars_f%pars_xy(ind_hc1,j,i)
     4506!               ENDIF
     4507!               IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=                     &
     4508!                    building_pars_f%fill )                                      &
     4509!                  surf_usm_h%rho_c_window(nzb_wall+2,m) =                       &
     4510!                                     building_pars_f%pars_xy(ind_hc2,j,i)
     4511!                  
     4512!               IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=                     &
     4513!                    building_pars_f%fill )                                      &
     4514!                  surf_usm_h%rho_c_window(nzb_wall+3,m) =                       &
     4515!                                     building_pars_f%pars_xy(ind_hc3,j,i)
    45134516
    45144517              IF ( building_pars_f%pars_xy(ind_tc1,j,i) /=                     &
     
    47514754                                       building_pars_f%pars_xy(ind_lai_w,j,i)
    47524755                   
    4753                     IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=               &
    4754                          building_pars_f%fill )  THEN
    4755                        surf_usm_v(l)%rho_c_wall(nzb_wall,m)   =                &
    4756                                           building_pars_f%pars_xy(ind_hc1,j,i)
    4757                        surf_usm_v(l)%rho_c_wall(nzb_wall+1,m) =                &
    4758                                           building_pars_f%pars_xy(ind_hc1,j,i)
    4759                     ENDIF
    4760                    
    4761                    
    4762                     IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=               &
    4763                          building_pars_f%fill )                                &
    4764                        surf_usm_v(l)%rho_c_wall(nzb_wall+2,m) =                &
    4765                                           building_pars_f%pars_xy(ind_hc2,j,i)
    4766                        
    4767                     IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=               &         
    4768                          building_pars_f%fill )                                &
    4769                        surf_usm_v(l)%rho_c_wall(nzb_wall+3,m) =                &
    4770                                           building_pars_f%pars_xy(ind_hc3,j,i)
     4756!                     IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=               &
     4757!                          building_pars_f%fill )  THEN
     4758!                        surf_usm_v(l)%rho_c_wall(nzb_wall,m)   =                &
     4759!                                           building_pars_f%pars_xy(ind_hc1,j,i)
     4760!                        surf_usm_v(l)%rho_c_wall(nzb_wall+1,m) =                &
     4761!                                           building_pars_f%pars_xy(ind_hc1,j,i)
     4762!                     ENDIF
     4763!                    
     4764!                    
     4765!                     IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=               &
     4766!                          building_pars_f%fill )                                &
     4767!                        surf_usm_v(l)%rho_c_wall(nzb_wall+2,m) =                &
     4768!                                           building_pars_f%pars_xy(ind_hc2,j,i)
     4769!                        
     4770!                     IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=               &         
     4771!                          building_pars_f%fill )                                &
     4772!                        surf_usm_v(l)%rho_c_wall(nzb_wall+3,m) =                &
     4773!                                           building_pars_f%pars_xy(ind_hc3,j,i)
    47714774                       
    47724775                    IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=               &
     
    47874790                                          building_pars_f%pars_xy(ind_hc3,j,i)
    47884791                       
    4789                     IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=               &
    4790                          building_pars_f%fill )  THEN
    4791                        surf_usm_v(l)%rho_c_window(nzb_wall,m)   =              &
    4792                                           building_pars_f%pars_xy(ind_hc1,j,i)
    4793                        surf_usm_v(l)%rho_c_window(nzb_wall+1,m) =              &
    4794                                           building_pars_f%pars_xy(ind_hc1,j,i)
    4795                     ENDIF
    4796                     IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=               &
    4797                          building_pars_f%fill )                                &
    4798                        surf_usm_v(l)%rho_c_window(nzb_wall+2,m) =              &
    4799                                           building_pars_f%pars_xy(ind_hc2,j,i)
    4800                        
    4801                     IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=               &
    4802                          building_pars_f%fill )                                &
    4803                        surf_usm_v(l)%rho_c_window(nzb_wall+3,m) =              &
    4804                                           building_pars_f%pars_xy(ind_hc3,j,i)
     4792!                     IF ( building_pars_f%pars_xy(ind_hc1,j,i) /=               &
     4793!                          building_pars_f%fill )  THEN
     4794!                        surf_usm_v(l)%rho_c_window(nzb_wall,m)   =              &
     4795!                                           building_pars_f%pars_xy(ind_hc1,j,i)
     4796!                        surf_usm_v(l)%rho_c_window(nzb_wall+1,m) =              &
     4797!                                           building_pars_f%pars_xy(ind_hc1,j,i)
     4798!                     ENDIF
     4799!                     IF ( building_pars_f%pars_xy(ind_hc2,j,i) /=               &
     4800!                          building_pars_f%fill )                                &
     4801!                        surf_usm_v(l)%rho_c_window(nzb_wall+2,m) =              &
     4802!                                           building_pars_f%pars_xy(ind_hc2,j,i)
     4803!                        
     4804!                     IF ( building_pars_f%pars_xy(ind_hc3,j,i) /=               &
     4805!                          building_pars_f%fill )                                &
     4806!                        surf_usm_v(l)%rho_c_window(nzb_wall+3,m) =              &
     4807!                                           building_pars_f%pars_xy(ind_hc3,j,i)
    48054808                   
    48064809                    IF ( building_pars_f%pars_xy(ind_tc1,j,i) /=               &
     
    50475050       DO  m = 1, surf_usm_h%ns
    50485051          IF ( surf_usm_h%frac(ind_pav_green,m) > 0.0_wp )  THEN
     5052             surf_usm_h%frac(ind_veg_wall,m)  = surf_usm_h%frac(ind_veg_wall,m)&
     5053                                              + surf_usm_h%frac(ind_pav_green,m)
    50495054             surf_usm_h%frac(ind_pav_green,m) = 0.0_wp
    5050              surf_usm_h%frac(ind_veg_wall,m)  = 1.0_wp
    50515055          ENDIF
     5056       ENDDO
     5057       DO  l = 0, 3
     5058          DO  m = 1, surf_usm_v(l)%ns
     5059             IF ( surf_usm_v(l)%frac(ind_pav_green,m) > 0.0_wp )  THEN
     5060                surf_usm_v(l)%frac(ind_veg_wall,m)  =                          &
     5061                                             surf_usm_v(l)%frac(ind_veg_wall,m)&
     5062                                           + surf_usm_v(l)%frac(ind_pav_green,m)
     5063                surf_usm_v(l)%frac(ind_pav_green,m) = 0.0_wp
     5064             ENDIF
     5065          ENDDO
    50525066       ENDDO
    50535067
Note: See TracChangeset for help on using the changeset viewer.