Changeset 4602 for palm


Ignore:
Timestamp:
Jul 14, 2020 2:49:45 PM (8 months ago)
Author:
suehring
Message:

Bugfix in level 3 initialization of pavements - wrongly assumed existence of pavement_subsurface_pars; Add missing initialization of albedo type with values given from static input file (so far albedo type was only initialized via the values given in the *_pars lists)

Location:
palm/trunk/SOURCE
Files:
2 edited

Legend:

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

    r4581 r4602  
    2020! Current revisions:
    2121! -----------------
    22 ! 
    23 ! 
     22!
     23!
    2424! Former revisions:
    2525! -----------------
    2626! $Id$
     27! - Bugfix in level 3 initialization of pavements - wrongly assumed existence of
     28!   pavement_subsurface_pars
     29! - Add missing initialization of albedo type with values given from static input
     30!   file
     31!
     32! 4581 2020-06-29 08:49:58Z suehring
    2733! Minor formatting of error message
    2834!
     
    264270
    265271    USE netcdf_data_input_mod,                                                 &
    266         ONLY :  building_type_f,                                               &
     272        ONLY :  albedo_type_f,                                                 &
     273                building_type_f,                                               &
    267274                char_fill,                                                     &
    268275                char_lod,                                                      &
     
    40364043                   surf_lsm_h%z0q(m) = pavement_pars_f%pars_xy(ind_p_z0h,j,i)
    40374044                ENDIF
     4045                IF ( pavement_pars_f%pars_xy(ind_p_at,j,i) /=                  &
     4046                     pavement_pars_f%fill )                                    &
     4047                   surf_lsm_h%albedo_type(m,ind_pav_green) =                   &
     4048                                   INT( pavement_pars_f%pars_xy(ind_p_at,j,i) )
     4049                IF ( pavement_pars_f%pars_xy(ind_p_emis,j,i) /=                &
     4050                     pavement_pars_f%fill )                                    &
     4051                   surf_lsm_h%emissivity(m,ind_pav_green)  =                   &
     4052                                   pavement_pars_f%pars_xy(ind_p_emis,j,i)
     4053             ENDIF
     4054
     4055          ENDDO
     4056!
     4057!--       Vertical surfaces
     4058          DO  l = 0, 3
     4059             DO  m = 1, surf_lsm_v(l)%ns
     4060                i = surf_lsm_v(l)%i(m) + MERGE( 0, surf_lsm_v(l)%ioff,         &
     4061                                                surf_lsm_v(l)%building_covered(m) )
     4062                j = surf_lsm_v(l)%j(m) + MERGE( 0, surf_lsm_v(l)%joff,         &
     4063                                                surf_lsm_v(l)%building_covered(m) )
     4064!
     4065!--             If surface element is not a pavement surface and any value in
     4066!--             pavement_pars is given, neglect this information and give an
     4067!--             informative message that this value will not be used.
     4068                IF ( .NOT. surf_lsm_v(l)%pavement_surface(m)  .AND.            &
     4069                      ANY( pavement_pars_f%pars_xy(:,j,i) /=                   &
     4070                      pavement_pars_f%fill ) )  THEN
     4071                   WRITE( message_string, * )                                  &
     4072                                 'surface element at grid point (j,i) = (',    &
     4073                                 j, i, ') is not a pavement surface, ',        &
     4074                                 'so that information given in ',              &
     4075                                 'pavement_pars at this point is neglected.'
     4076                   CALL message( 'land_surface_model_mod', 'PA0647', 0, 0, myid, 6, 0 )
     4077                ELSE
     4078                   IF ( pavement_pars_f%pars_xy(ind_p_z0,j,i) /=               &
     4079                        pavement_pars_f%fill )                                 &
     4080                      surf_lsm_v(l)%z0(m) = pavement_pars_f%pars_xy(ind_p_z0,j,i)
     4081                   IF ( pavement_pars_f%pars_xy(ind_p_z0h,j,i) /=              &
     4082                        pavement_pars_f%fill )  THEN
     4083                      surf_lsm_v(l)%z0h(m) = pavement_pars_f%pars_xy(ind_p_z0h,j,i)
     4084                      surf_lsm_v(l)%z0q(m) = pavement_pars_f%pars_xy(ind_p_z0h,j,i)
     4085                   ENDIF
     4086                   IF ( pavement_pars_f%pars_xy(ind_p_at,j,i) /=               &
     4087                        pavement_pars_f%fill )                                 &
     4088                      surf_lsm_v(l)%albedo_type(m,ind_pav_green) =             &
     4089                                   INT( pavement_pars_f%pars_xy(ind_p_at,j,i) )
     4090
     4091                   IF ( pavement_pars_f%pars_xy(ind_p_emis,j,i) /=             &
     4092                        pavement_pars_f%fill )                                 &
     4093                      surf_lsm_v(l)%emissivity(m,ind_pav_green)  =             &
     4094                                   pavement_pars_f%pars_xy(ind_p_emis,j,i)
     4095                ENDIF
     4096             ENDDO
     4097          ENDDO
     4098       ENDIF
     4099!
     4100!--    Moreover, for grid points which are flagged with pavement-type 0 or whre
     4101!--    pavement_subsurface_pars_f is provided, soil heat conductivity and
     4102!--    capacity are initialized with parameters given in
     4103!--    pavement_subsurface_pars read from file.
     4104       IF ( pavement_subsurface_pars_f%from_file )  THEN
     4105!
     4106!--       Set pavement depth to nzt_soil. Please note, this is just a
     4107!--       workaround at the moment.
     4108          DO  m = 1, surf_lsm_h%ns
     4109             IF ( surf_lsm_h%pavement_surface(m) )  THEN
     4110
     4111                i = surf_lsm_h%i(m)
     4112                j = surf_lsm_h%j(m)
     4113
     4114                surf_lsm_h%nzt_pavement(m) = nzt_soil
     4115
    40384116                IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i) &
    40394117                     /= pavement_subsurface_pars_f%fill )  THEN
     
    40544132                                                  * 0.25_wp
    40554133                ENDIF
    4056                 IF ( pavement_pars_f%pars_xy(ind_p_at,j,i) /=                  &
    4057                      pavement_pars_f%fill )                                    &
    4058                    surf_lsm_h%albedo_type(m,ind_pav_green) =                   &
    4059                                    INT( pavement_pars_f%pars_xy(ind_p_at,j,i) )
    4060                 IF ( pavement_pars_f%pars_xy(ind_p_emis,j,i) /=                &
    4061                      pavement_pars_f%fill )                                    &
    4062                    surf_lsm_h%emissivity(m,ind_pav_green)  =                   &
    4063                                    pavement_pars_f%pars_xy(ind_p_emis,j,i)
    4064              ENDIF
    4065 
    4066           ENDDO
    4067 !
    4068 !--       Vertical surfaces
    4069           DO  l = 0, 3
    4070              DO  m = 1, surf_lsm_v(l)%ns
    4071                 i = surf_lsm_v(l)%i(m) + MERGE( 0, surf_lsm_v(l)%ioff,         &
    4072                                                 surf_lsm_v(l)%building_covered(m) )
    4073                 j = surf_lsm_v(l)%j(m) + MERGE( 0, surf_lsm_v(l)%joff,         &
    4074                                                 surf_lsm_v(l)%building_covered(m) )
    4075 !
    4076 !--             If surface element is not a pavement surface and any value in
    4077 !--             pavement_pars is given, neglect this information and give an
    4078 !--             informative message that this value will not be used.
    4079                 IF ( .NOT. surf_lsm_v(l)%pavement_surface(m)  .AND.            &
    4080                       ANY( pavement_pars_f%pars_xy(:,j,i) /=                   &
    4081                       pavement_pars_f%fill ) )  THEN
    4082                    WRITE( message_string, * )                                  &
    4083                                  'surface element at grid point (j,i) = (',    &
    4084                                  j, i, ') is not a pavement surface, ',        &
    4085                                  'so that information given in ',              &
    4086                                  'pavement_pars at this point is neglected.'
    4087                    CALL message( 'land_surface_model_mod', 'PA0647', 0, 0, myid, 6, 0 )
    4088                 ELSE
    4089 
    4090                    IF ( pavement_pars_f%pars_xy(ind_p_z0,j,i) /=               &
    4091                         pavement_pars_f%fill )                                 &
    4092                       surf_lsm_v(l)%z0(m) = pavement_pars_f%pars_xy(ind_p_z0,j,i)
    4093                    IF ( pavement_pars_f%pars_xy(ind_p_z0h,j,i) /=              &
    4094                         pavement_pars_f%fill )  THEN
    4095                       surf_lsm_v(l)%z0h(m) = pavement_pars_f%pars_xy(ind_p_z0h,j,i)
    4096                       surf_lsm_v(l)%z0q(m) = pavement_pars_f%pars_xy(ind_p_z0h,j,i)
     4134
     4135                DO  k = nzb_soil, nzt_soil
     4136                   IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,k,j,i) /= &
     4137                        pavement_subsurface_pars_f%fill )  THEN
     4138                      surf_lsm_h%lambda_h_def(k,m) =                              &
     4139                          pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,k,j,i)
    40974140                   ENDIF
    4098                    IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)&
    4099                         /= pavement_subsurface_pars_f%fill )  THEN
    4100                       surf_lsm_v(l)%lambda_surface_s(m) =                      &
    4101                       pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)&
    4102                                                   * ddz_soil(nzb_soil)         &
    4103                                                   * 2.0_wp
    4104                       surf_lsm_v(l)%lambda_surface_u(m) =                      &
    4105                       pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)&
    4106                                                   * ddz_soil(nzb_soil)         &
    4107                                                   * 2.0_wp
     4141                   IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,k,j,i) /= &
     4142                        pavement_subsurface_pars_f%fill )  THEN
     4143                      surf_lsm_h%rho_c_total_def(k,m) =                           &
     4144                          pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,k,j,i)
    41084145                   ENDIF
    4109                    IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,0,j,i) &
    4110                         /= pavement_subsurface_pars_f%fill )  THEN
    4111                       surf_lsm_v(l)%c_surface(m)    =                          &
    4112                          pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,0,j,i)&
    4113                                                   * dz_soil(nzb_soil)          &
    4114                                                   * 0.25_wp
    4115                    ENDIF
    4116                    IF ( pavement_pars_f%pars_xy(ind_p_at,j,i) /=               &
    4117                         pavement_pars_f%fill )                                 &
    4118                       surf_lsm_v(l)%albedo_type(m,ind_pav_green) =             &
    4119                                    INT( pavement_pars_f%pars_xy(ind_p_at,j,i) )
    4120 
    4121                    IF ( pavement_pars_f%pars_xy(ind_p_emis,j,i) /=             &
    4122                         pavement_pars_f%fill )                                 &
    4123                       surf_lsm_v(l)%emissivity(m,ind_pav_green)  =             &
    4124                                    pavement_pars_f%pars_xy(ind_p_emis,j,i)
    4125                 ENDIF
    4126              ENDDO
    4127           ENDDO
    4128        ENDIF
    4129 !
    4130 !--    Moreover, for grid points which are flagged with pavement-type 0 or whre
    4131 !--    pavement_subsurface_pars_f is provided, soil heat conductivity and
    4132 !--    capacity are initialized with parameters given in
    4133 !--    pavement_subsurface_pars read from file.
    4134        IF ( pavement_subsurface_pars_f%from_file )  THEN
    4135 !
    4136 !--       Set pavement depth to nzt_soil. Please note, this is just a
    4137 !--       workaround at the moment.
    4138           DO  m = 1, surf_lsm_h%ns
    4139              IF ( surf_lsm_h%pavement_surface(m) )  THEN
    4140 
    4141                 i = surf_lsm_h%i(m)
    4142                 j = surf_lsm_h%j(m)
    4143 
    4144                 surf_lsm_h%nzt_pavement(m) = nzt_soil
    4145 
    4146                 DO  k = nzb_soil, nzt_soil
    4147                    surf_lsm_h%lambda_h_def(k,m) =                              &
    4148                        pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,k,j,i)
    4149                    surf_lsm_h%rho_c_total_def(k,m) =                           &
    4150                        pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,k,j,i)
    41514146                ENDDO
    41524147
     
    41644159                   surf_lsm_v(l)%nzt_pavement(m) = nzt_soil
    41654160
     4161                   IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)                  &
     4162                        /= pavement_subsurface_pars_f%fill )  THEN
     4163                      surf_lsm_v(l)%lambda_surface_s(m) =                                          &
     4164                      pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)                    &
     4165                                                  * ddz_soil(nzb_soil)                             &
     4166                                                  * 2.0_wp
     4167                      surf_lsm_v(l)%lambda_surface_u(m) =                                          &
     4168                      pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)                    &
     4169                                                  * ddz_soil(nzb_soil)                             &
     4170                                                  * 2.0_wp
     4171                   ENDIF
     4172                   IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,0,j,i)                     &
     4173                        /= pavement_subsurface_pars_f%fill )  THEN
     4174                      surf_lsm_v(l)%c_surface(m)    =                                              &
     4175                         pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,0,j,i)                    &
     4176                                                  * dz_soil(nzb_soil)                              &
     4177                                                  * 0.25_wp
     4178                   ENDIF
     4179
    41664180                   DO  k = nzb_soil, nzt_soil
    4167                       surf_lsm_v(l)%lambda_h_def(k,m) =                        &
    4168                        pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,k,j,i)
    4169                       surf_lsm_v(l)%rho_c_total_def(k,m) =                     &
    4170                        pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,k,j,i)
     4181                      IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,0,j,i)               &
     4182                           /= pavement_subsurface_pars_f%fill )  THEN
     4183                         surf_lsm_v(l)%lambda_h_def(k,m) =                                         &
     4184                            pavement_subsurface_pars_f%pars_xyz(ind_p_lambda_h,k,j,i)
     4185                      ENDIF
     4186                      IF ( pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,0,j,i)                  &
     4187                           /= pavement_subsurface_pars_f%fill )  THEN
     4188                         surf_lsm_v(l)%rho_c_total_def(k,m) =                                      &
     4189                            pavement_subsurface_pars_f%pars_xyz(ind_p_rho_c,k,j,i)
     4190                      ENDIF
    41714191                   ENDDO
    41724192
     
    41754195          ENDDO
    41764196       ENDIF
    4177 
     4197!
     4198!--    Initialize albedo type via given type from static input file. Please note, even though
     4199!--    the albedo type has been already given by the pars, albedo_type overwrites these values.
     4200       IF ( albedo_type_f%from_file )  THEN
     4201          DO  m = 1, surf_lsm_h%ns
     4202             i = surf_lsm_h%i(m)
     4203             j = surf_lsm_h%j(m)
     4204             IF ( albedo_type_f%var(j,i) /= albedo_type_f%fill )                                   &
     4205                surf_lsm_h%albedo_type(m,:) = albedo_type_f%var(j,i)
     4206          ENDDO
     4207          DO  l = 0, 3
     4208             DO  m = 1, surf_lsm_v(l)%ns
     4209                i = surf_lsm_v(l)%i(m) + MERGE( 0, surf_lsm_v(l)%ioff,                             &
     4210                                                surf_lsm_v(l)%building_covered(m) )
     4211                j = surf_lsm_v(l)%j(m) + MERGE( 0, surf_lsm_v(l)%joff,                             &
     4212                                                surf_lsm_v(l)%building_covered(m) )
     4213                IF ( albedo_type_f%var(j,i) /= albedo_type_f%fill )                                &
     4214                   surf_lsm_v(l)%albedo_type(m,:) = albedo_type_f%var(j,i)
     4215             ENDDO
     4216          ENDDO
     4217       ENDIF
    41784218!
    41794219!--    Initial run actions
  • palm/trunk/SOURCE/urban_surface_mod.f90

    r4581 r4602  
    2222! Current revisions:
    2323! -----------------
    24 ! 
    25 ! 
     24!
     25!
    2626! Former revisions:
    2727! -----------------
    2828! $Id$
     29! Add missing initialization of albedo type with values given from static input file
     30!
     31! 4581 2020-06-29 08:49:58Z suehring
    2932! Missing initialization in case of cyclic_fill runs
    3033!
     
    35133516
    35143517    USE netcdf_data_input_mod,                                                                     &
    3515         ONLY:  building_pars_f,                                                                    &
     3518        ONLY:  albedo_type_f,                                                                      &
     3519               building_pars_f,                                                                    &
    35163520               building_surface_pars_f,                                                            &
    35173521               building_type_f,                                                                    &
     
    43404344
    43414345!
    4342 !--              In order to distinguish between ground floor level and above-ground-floor level
    4343 !--              surfaces, set input indices.
    4344                  ind_wall_frac    = MERGE( ind_wall_frac_gfl, ind_wall_frac_agfl,                  &
    4345                                            surf_usm_v(l)%ground_level(m) )
    4346                  ind_green_frac_w = MERGE( ind_green_frac_w_gfl, ind_green_frac_w_agfl,            &
    4347                                            surf_usm_v(l)%ground_level(m) )
    4348                  ind_win_frac     = MERGE( ind_win_frac_gfl, ind_win_frac_agfl,                    &
    4349                                            surf_usm_v(l)%ground_level(m) )
    4350                  ind_lai_w        = MERGE( ind_lai_w_gfl, ind_lai_w_agfl,                          &
    4351                                            surf_usm_v(l)%ground_level(m) )
    4352                  ind_z0           = MERGE( ind_z0_gfl, ind_z0_agfl,                                &
    4353                                            surf_usm_v(l)%ground_level(m) )
    4354                  ind_z0qh         = MERGE( ind_z0qh_gfl, ind_z0qh_agfl,                            &
    4355                                            surf_usm_v(l)%ground_level(m) )
    4356                  ind_hc1          = MERGE( ind_hc1_gfl, ind_hc1_agfl,                              &
    4357                                            surf_usm_v(l)%ground_level(m) )
    4358                  ind_hc2          = MERGE( ind_hc2_gfl, ind_hc2_agfl,                              &
    4359                                            surf_usm_v(l)%ground_level(m) )
    4360                  ind_hc3          = MERGE( ind_hc3_gfl, ind_hc3_agfl,                              &
    4361                                            surf_usm_v(l)%ground_level(m) )
    4362                  ind_tc1          = MERGE( ind_tc1_gfl, ind_tc1_agfl,                              &
    4363                                            surf_usm_v(l)%ground_level(m) )
    4364                  ind_tc2          = MERGE( ind_tc2_gfl, ind_tc2_agfl,                              &
    4365                                            surf_usm_v(l)%ground_level(m) )
    4366                  ind_tc3          = MERGE( ind_tc3_gfl, ind_tc3_agfl,                              &
    4367                                            surf_usm_v(l)%ground_level(m) )
    4368                  ind_emis_wall    = MERGE( ind_emis_wall_gfl, ind_emis_wall_agfl,                  &
    4369                                            surf_usm_v(l)%ground_level(m) )
    4370                  ind_emis_green   = MERGE( ind_emis_green_gfl, ind_emis_green_agfl,                &
    4371                                            surf_usm_v(l)%ground_level(m) )
    4372                  ind_emis_win     = MERGE( ind_emis_win_gfl, ind_emis_win_agfl,                    &
    4373                                            surf_usm_v(l)%ground_level(m) )
    4374                  ind_trans        = MERGE( ind_trans_gfl, ind_trans_agfl,                          &
    4375                                            surf_usm_v(l)%ground_level(m) )
    4376 
    4377 !
    4378 !--              Initialize relatvie wall- (0), green- (1) and window (2) fractions
    4379                  IF ( building_pars_f%pars_xy(ind_wall_frac,j,i) /= building_pars_f%fill )         &
    4380                     surf_usm_v(l)%frac(m,ind_veg_wall) = building_pars_f%pars_xy(ind_wall_frac,j,i)
    4381 
    4382                  IF ( building_pars_f%pars_xy(ind_green_frac_w,j,i) /= building_pars_f%fill )      &
    4383                     surf_usm_v(l)%frac(m,ind_pav_green) =                                          &
    4384                     building_pars_f%pars_xy(ind_green_frac_w,j,i)
    4385 
    4386                  IF ( building_pars_f%pars_xy(ind_win_frac,j,i) /= building_pars_f%fill )          &
    4387                     surf_usm_v(l)%frac(m,ind_wat_win) = building_pars_f%pars_xy(ind_win_frac,j,i)
    4388 
    4389                  IF ( building_pars_f%pars_xy(ind_lai_w,j,i) /= building_pars_f%fill )             &
    4390                     surf_usm_v(l)%lai(m) = building_pars_f%pars_xy(ind_lai_w,j,i)
    4391 
    4392                  IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
    4393                     surf_usm_v(l)%rho_c_wall(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4394                     surf_usm_v(l)%rho_c_wall(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4395                  ENDIF
    4396 
    4397 
    4398                  IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )               &
    4399                     surf_usm_v(l)%rho_c_wall(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
    4400 
    4401                  IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )               &
    4402                     surf_usm_v(l)%rho_c_wall(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
    4403 
    4404                  IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
    4405                     surf_usm_v(l)%rho_c_green(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4406                     surf_usm_v(l)%rho_c_green(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4407                  ENDIF
    4408                  IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )               &
    4409                     surf_usm_v(l)%rho_c_green(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
    4410 
    4411                  IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )               &
    4412                     surf_usm_v(l)%rho_c_green(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
    4413 
    4414                  IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
    4415                     surf_usm_v(l)%rho_c_window(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4416                     surf_usm_v(l)%rho_c_window(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
    4417                  ENDIF
    4418                  IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )               &
    4419                     surf_usm_v(l)%rho_c_window(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
    4420 
    4421                  IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )               &
    4422                     surf_usm_v(l)%rho_c_window(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
    4423 
    4424                  IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
    4425                     surf_usm_v(l)%lambda_h(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
    4426                     surf_usm_v(l)%lambda_h(nzb_wall+1,m) = building_pars_f%pars_xy(ind_tc1,j,i)
    4427                  ENDIF
    4428                  IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )               &
    4429                     surf_usm_v(l)%lambda_h(nzb_wall+2,m) = building_pars_f%pars_xy(ind_tc2,j,i)
    4430 
    4431                  IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )               &
    4432                     surf_usm_v(l)%lambda_h(nzb_wall+3,m) = building_pars_f%pars_xy(ind_tc3,j,i)
    4433 
    4434                  IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
    4435                     surf_usm_v(l)%lambda_h_green(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
    4436                     surf_usm_v(l)%lambda_h_green(nzb_wall+1,m) =                                   &
    4437                     building_pars_f%pars_xy(ind_tc1,j,i)
    4438                  ENDIF
    4439                  IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )               &
    4440                     surf_usm_v(l)%lambda_h_green(nzb_wall+2,m) =                                   &
    4441                     building_pars_f%pars_xy(ind_tc2,j,i)
    4442 
    4443                  IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )               &
    4444                     surf_usm_v(l)%lambda_h_green(nzb_wall+3,m) =                                   &
    4445                     building_pars_f%pars_xy(ind_tc3,j,i)
    4446 
    4447                  IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
    4448                     surf_usm_v(l)%lambda_h_window(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
    4449                     surf_usm_v(l)%lambda_h_window(nzb_wall+1,m) =                                  &
    4450                     building_pars_f%pars_xy(ind_tc1,j,i)
    4451                  ENDIF
    4452                  IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )               &
    4453                     surf_usm_v(l)%lambda_h_window(nzb_wall+2,m) =                                  &
    4454                     building_pars_f%pars_xy(ind_tc2,j,i)
    4455 
    4456                  IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )               &
    4457                     surf_usm_v(l)%lambda_h_window(nzb_wall+3,m) =                                  &
    4458                     building_pars_f%pars_xy(ind_tc3,j,i)
    4459 
    4460                  IF ( building_pars_f%pars_xy(ind_indoor_target_temp_summer,j,i) /=                &
    4461                       building_pars_f%fill )                                                       &
    4462                     surf_usm_v(l)%target_temp_summer(m) =                                          &
    4463                     building_pars_f%pars_xy(ind_indoor_target_temp_summer,j,i)
    4464 
    4465                  IF ( building_pars_f%pars_xy(ind_indoor_target_temp_winter,j,i) /=                &
    4466                       building_pars_f%fill )                                                       &
    4467                     surf_usm_v(l)%target_temp_winter(m) =                                          &
    4468                     building_pars_f%pars_xy(ind_indoor_target_temp_winter,j,i)
    4469 
    4470                  IF ( building_pars_f%pars_xy(ind_emis_wall,j,i) /= building_pars_f%fill )         &
    4471                     surf_usm_v(l)%emissivity(m,ind_veg_wall) =                                     &
    4472                     building_pars_f%pars_xy(ind_emis_wall,j,i)
    4473 
    4474                  IF ( building_pars_f%pars_xy(ind_emis_green,j,i) /= building_pars_f%fill )        &
    4475                     surf_usm_v(l)%emissivity(m,ind_pav_green) =                                    &
    4476                     building_pars_f%pars_xy(ind_emis_green,j,i)
    4477 
    4478                  IF ( building_pars_f%pars_xy(ind_emis_win,j,i) /= building_pars_f%fill )          &
    4479                     surf_usm_v(l)%emissivity(m,ind_wat_win)   =                                    &
    4480                     building_pars_f%pars_xy(ind_emis_win,j,i)
    4481 
    4482                  IF ( building_pars_f%pars_xy(ind_trans,j,i) /= building_pars_f%fill )             &
    4483                     surf_usm_v(l)%transmissivity(m) =                                              &
    4484                     building_pars_f%pars_xy(ind_trans,j,i)
    4485 
    4486                  IF ( building_pars_f%pars_xy(ind_z0,j,i) /= building_pars_f%fill )                &
    4487                     surf_usm_v(l)%z0(m) = building_pars_f%pars_xy(ind_z0,j,i)
    4488 
    4489                  IF ( building_pars_f%pars_xy(ind_z0qh,j,i) /= building_pars_f%fill )              &
    4490                     surf_usm_v(l)%z0h(m) = building_pars_f%pars_xy(ind_z0qh,j,i)
    4491 
    4492                  IF ( building_pars_f%pars_xy(ind_z0qh,j,i) /= building_pars_f%fill )              &
    4493                     surf_usm_v(l)%z0q(m) = building_pars_f%pars_xy(ind_z0qh,j,i)
    4494 
    4495                  IF ( building_pars_f%pars_xy(ind_alb_wall_agfl,j,i) /= building_pars_f%fill )     &
    4496                     surf_usm_v(l)%albedo_type(m,ind_veg_wall)  =                                   &
    4497                     building_pars_f%pars_xy(ind_alb_wall_agfl,j,i)
    4498 
    4499                  IF ( building_pars_f%pars_xy(ind_alb_green_agfl,j,i) /= building_pars_f%fill )    &
    4500                     surf_usm_v(l)%albedo_type(m,ind_pav_green) =                                   &
    4501                     building_pars_f%pars_xy(ind_alb_green_agfl,j,i)
    4502 
    4503                  IF ( building_pars_f%pars_xy(ind_alb_win_agfl,j,i) /= building_pars_f%fill )      &
    4504                     surf_usm_v(l)%albedo_type(m,ind_wat_win)   =                                   &
    4505                     building_pars_f%pars_xy(ind_alb_win_agfl,j,i)
    4506 
    4507                  IF ( building_pars_f%pars_xy(ind_thick_1_agfl,j,i) /= building_pars_f%fill )      &
    4508                     surf_usm_v(l)%zw(nzb_wall,m) = building_pars_f%pars_xy(ind_thick_1_agfl,j,i)
    4509 
    4510                  IF ( building_pars_f%pars_xy(ind_thick_2_agfl,j,i) /= building_pars_f%fill )      &
    4511                     surf_usm_v(l)%zw(nzb_wall+1,m) = building_pars_f%pars_xy(ind_thick_2_agfl,j,i)
    4512 
    4513                  IF ( building_pars_f%pars_xy(ind_thick_3_agfl,j,i) /= building_pars_f%fill )      &
    4514                     surf_usm_v(l)%zw(nzb_wall+2,m) = building_pars_f%pars_xy(ind_thick_3_agfl,j,i)
    4515 
    4516                  IF ( building_pars_f%pars_xy(ind_thick_4_agfl,j,i) /= building_pars_f%fill )      &
    4517                     surf_usm_v(l)%zw(nzb_wall+3,m) = building_pars_f%pars_xy(ind_thick_4_agfl,j,i)
    4518 
    4519                  IF ( building_pars_f%pars_xy(ind_thick_1_agfl,j,i) /= building_pars_f%fill )      &
    4520                     surf_usm_v(l)%zw_green(nzb_wall,m) =                                           &
    4521                     building_pars_f%pars_xy(ind_thick_1_agfl,j,i)
    4522 
    4523                  IF ( building_pars_f%pars_xy(ind_thick_2_agfl,j,i) /= building_pars_f%fill )      &
    4524                     surf_usm_v(l)%zw_green(nzb_wall+1,m) =                                         &
    4525                     building_pars_f%pars_xy(ind_thick_2_agfl,j,i)
    4526 
    4527                  IF ( building_pars_f%pars_xy(ind_thick_3_agfl,j,i) /= building_pars_f%fill )      &
    4528                     surf_usm_v(l)%zw_green(nzb_wall+2,m) =                                         &
    4529                     building_pars_f%pars_xy(ind_thick_3_agfl,j,i)
    4530 
    4531                  IF ( building_pars_f%pars_xy(ind_thick_4_agfl,j,i) /= building_pars_f%fill )      &
    4532                     surf_usm_v(l)%zw_green(nzb_wall+3,m) =                                         &
    4533                     building_pars_f%pars_xy(ind_thick_4_agfl,j,i)
     4346!--           In order to distinguish between ground floor level and above-ground-floor level
     4347!--           surfaces, set input indices.
     4348              ind_wall_frac    = MERGE( ind_wall_frac_gfl, ind_wall_frac_agfl,                     &
     4349                                        surf_usm_v(l)%ground_level(m) )
     4350              ind_green_frac_w = MERGE( ind_green_frac_w_gfl, ind_green_frac_w_agfl,               &
     4351                                        surf_usm_v(l)%ground_level(m) )
     4352              ind_win_frac     = MERGE( ind_win_frac_gfl, ind_win_frac_agfl,                       &
     4353                                        surf_usm_v(l)%ground_level(m) )
     4354              ind_lai_w        = MERGE( ind_lai_w_gfl, ind_lai_w_agfl,                             &
     4355                                        surf_usm_v(l)%ground_level(m) )
     4356              ind_z0           = MERGE( ind_z0_gfl, ind_z0_agfl,                                   &
     4357                                        surf_usm_v(l)%ground_level(m) )
     4358              ind_z0qh         = MERGE( ind_z0qh_gfl, ind_z0qh_agfl,                               &
     4359                                        surf_usm_v(l)%ground_level(m) )
     4360              ind_hc1          = MERGE( ind_hc1_gfl, ind_hc1_agfl,                                 &
     4361                                        surf_usm_v(l)%ground_level(m) )
     4362              ind_hc2          = MERGE( ind_hc2_gfl, ind_hc2_agfl,                                 &
     4363                                        surf_usm_v(l)%ground_level(m) )
     4364              ind_hc3          = MERGE( ind_hc3_gfl, ind_hc3_agfl,                                 &
     4365                                        surf_usm_v(l)%ground_level(m) )
     4366              ind_tc1          = MERGE( ind_tc1_gfl, ind_tc1_agfl,                                 &
     4367                                        surf_usm_v(l)%ground_level(m) )
     4368              ind_tc2          = MERGE( ind_tc2_gfl, ind_tc2_agfl,                                 &
     4369                                        surf_usm_v(l)%ground_level(m) )
     4370              ind_tc3          = MERGE( ind_tc3_gfl, ind_tc3_agfl,                                 &
     4371                                        surf_usm_v(l)%ground_level(m) )
     4372              ind_emis_wall    = MERGE( ind_emis_wall_gfl, ind_emis_wall_agfl,                     &
     4373                                        surf_usm_v(l)%ground_level(m) )
     4374              ind_emis_green   = MERGE( ind_emis_green_gfl, ind_emis_green_agfl,                   &
     4375                                        surf_usm_v(l)%ground_level(m) )
     4376              ind_emis_win     = MERGE( ind_emis_win_gfl, ind_emis_win_agfl,                       &
     4377                                        surf_usm_v(l)%ground_level(m) )
     4378              ind_trans        = MERGE( ind_trans_gfl, ind_trans_agfl,                             &
     4379                                        surf_usm_v(l)%ground_level(m) )
     4380
     4381!
     4382!--           Initialize relatvie wall- (0), green- (1) and window (2) fractions
     4383              IF ( building_pars_f%pars_xy(ind_wall_frac,j,i) /= building_pars_f%fill )            &
     4384                 surf_usm_v(l)%frac(m,ind_veg_wall) = building_pars_f%pars_xy(ind_wall_frac,j,i)
     4385
     4386              IF ( building_pars_f%pars_xy(ind_green_frac_w,j,i) /= building_pars_f%fill )         &
     4387                 surf_usm_v(l)%frac(m,ind_pav_green) =                                             &
     4388                 building_pars_f%pars_xy(ind_green_frac_w,j,i)
     4389
     4390              IF ( building_pars_f%pars_xy(ind_win_frac,j,i) /= building_pars_f%fill )             &
     4391                 surf_usm_v(l)%frac(m,ind_wat_win) = building_pars_f%pars_xy(ind_win_frac,j,i)
     4392
     4393              IF ( building_pars_f%pars_xy(ind_lai_w,j,i) /= building_pars_f%fill )                &
     4394                 surf_usm_v(l)%lai(m) = building_pars_f%pars_xy(ind_lai_w,j,i)
     4395
     4396              IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
     4397                 surf_usm_v(l)%rho_c_wall(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4398                 surf_usm_v(l)%rho_c_wall(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4399              ENDIF
     4400
     4401
     4402              IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )                  &
     4403                 surf_usm_v(l)%rho_c_wall(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
     4404
     4405              IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )                  &
     4406                 surf_usm_v(l)%rho_c_wall(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
     4407
     4408              IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
     4409                 surf_usm_v(l)%rho_c_green(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4410                 surf_usm_v(l)%rho_c_green(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4411              ENDIF
     4412              IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )                  &
     4413                 surf_usm_v(l)%rho_c_green(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
     4414
     4415              IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )                  &
     4416                 surf_usm_v(l)%rho_c_green(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
     4417
     4418              IF ( building_pars_f%pars_xy(ind_hc1,j,i) /= building_pars_f%fill )  THEN
     4419                 surf_usm_v(l)%rho_c_window(nzb_wall,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4420                 surf_usm_v(l)%rho_c_window(nzb_wall+1,m) = building_pars_f%pars_xy(ind_hc1,j,i)
     4421              ENDIF
     4422              IF ( building_pars_f%pars_xy(ind_hc2,j,i) /= building_pars_f%fill )                  &
     4423                 surf_usm_v(l)%rho_c_window(nzb_wall+2,m) = building_pars_f%pars_xy(ind_hc2,j,i)
     4424
     4425              IF ( building_pars_f%pars_xy(ind_hc3,j,i) /= building_pars_f%fill )                  &
     4426                 surf_usm_v(l)%rho_c_window(nzb_wall+3,m) = building_pars_f%pars_xy(ind_hc3,j,i)
     4427
     4428              IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
     4429                 surf_usm_v(l)%lambda_h(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
     4430                 surf_usm_v(l)%lambda_h(nzb_wall+1,m) = building_pars_f%pars_xy(ind_tc1,j,i)
     4431              ENDIF
     4432              IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )                  &
     4433                 surf_usm_v(l)%lambda_h(nzb_wall+2,m) = building_pars_f%pars_xy(ind_tc2,j,i)
     4434
     4435              IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )                  &
     4436                 surf_usm_v(l)%lambda_h(nzb_wall+3,m) = building_pars_f%pars_xy(ind_tc3,j,i)
     4437
     4438              IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
     4439                 surf_usm_v(l)%lambda_h_green(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
     4440                 surf_usm_v(l)%lambda_h_green(nzb_wall+1,m) =                                      &
     4441                 building_pars_f%pars_xy(ind_tc1,j,i)
     4442              ENDIF
     4443              IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )                  &
     4444                 surf_usm_v(l)%lambda_h_green(nzb_wall+2,m) =                                      &
     4445                 building_pars_f%pars_xy(ind_tc2,j,i)
     4446
     4447              IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )                  &
     4448                 surf_usm_v(l)%lambda_h_green(nzb_wall+3,m) =                                      &
     4449                 building_pars_f%pars_xy(ind_tc3,j,i)
     4450
     4451              IF ( building_pars_f%pars_xy(ind_tc1,j,i) /= building_pars_f%fill )  THEN
     4452                 surf_usm_v(l)%lambda_h_window(nzb_wall,m) = building_pars_f%pars_xy(ind_tc1,j,i)
     4453                 surf_usm_v(l)%lambda_h_window(nzb_wall+1,m) =                                     &
     4454                 building_pars_f%pars_xy(ind_tc1,j,i)
     4455              ENDIF
     4456              IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= building_pars_f%fill )                  &
     4457                 surf_usm_v(l)%lambda_h_window(nzb_wall+2,m) =                                     &
     4458                 building_pars_f%pars_xy(ind_tc2,j,i)
     4459
     4460              IF ( building_pars_f%pars_xy(ind_tc3,j,i) /= building_pars_f%fill )                  &
     4461                 surf_usm_v(l)%lambda_h_window(nzb_wall+3,m) =                                     &
     4462                 building_pars_f%pars_xy(ind_tc3,j,i)
     4463
     4464              IF ( building_pars_f%pars_xy(ind_indoor_target_temp_summer,j,i) /=                   &
     4465                   building_pars_f%fill )                                                          &
     4466                 surf_usm_v(l)%target_temp_summer(m) =                                             &
     4467                 building_pars_f%pars_xy(ind_indoor_target_temp_summer,j,i)
     4468
     4469              IF ( building_pars_f%pars_xy(ind_indoor_target_temp_winter,j,i) /=                   &
     4470                   building_pars_f%fill )                                                          &
     4471                 surf_usm_v(l)%target_temp_winter(m) =                                             &
     4472                 building_pars_f%pars_xy(ind_indoor_target_temp_winter,j,i)
     4473
     4474              IF ( building_pars_f%pars_xy(ind_emis_wall,j,i) /= building_pars_f%fill )            &
     4475                 surf_usm_v(l)%emissivity(m,ind_veg_wall) =                                        &
     4476                 building_pars_f%pars_xy(ind_emis_wall,j,i)
     4477
     4478              IF ( building_pars_f%pars_xy(ind_emis_green,j,i) /= building_pars_f%fill )           &
     4479                 surf_usm_v(l)%emissivity(m,ind_pav_green) =                                       &
     4480                 building_pars_f%pars_xy(ind_emis_green,j,i)
     4481
     4482              IF ( building_pars_f%pars_xy(ind_emis_win,j,i) /= building_pars_f%fill )             &
     4483                 surf_usm_v(l)%emissivity(m,ind_wat_win)   =                                       &
     4484                 building_pars_f%pars_xy(ind_emis_win,j,i)
     4485
     4486              IF ( building_pars_f%pars_xy(ind_trans,j,i) /= building_pars_f%fill )                &
     4487                 surf_usm_v(l)%transmissivity(m) =                                                 &
     4488                 building_pars_f%pars_xy(ind_trans,j,i)
     4489
     4490              IF ( building_pars_f%pars_xy(ind_z0,j,i) /= building_pars_f%fill )                   &
     4491                 surf_usm_v(l)%z0(m) = building_pars_f%pars_xy(ind_z0,j,i)
     4492
     4493              IF ( building_pars_f%pars_xy(ind_z0qh,j,i) /= building_pars_f%fill )                 &
     4494                 surf_usm_v(l)%z0h(m) = building_pars_f%pars_xy(ind_z0qh,j,i)
     4495
     4496              IF ( building_pars_f%pars_xy(ind_z0qh,j,i) /= building_pars_f%fill )                 &
     4497                 surf_usm_v(l)%z0q(m) = building_pars_f%pars_xy(ind_z0qh,j,i)
     4498
     4499              IF ( building_pars_f%pars_xy(ind_alb_wall_agfl,j,i) /= building_pars_f%fill )        &
     4500                 surf_usm_v(l)%albedo_type(m,ind_veg_wall)  =                                      &
     4501                 building_pars_f%pars_xy(ind_alb_wall_agfl,j,i)
     4502
     4503              IF ( building_pars_f%pars_xy(ind_alb_green_agfl,j,i) /= building_pars_f%fill )       &
     4504                 surf_usm_v(l)%albedo_type(m,ind_pav_green) =                                      &
     4505                 building_pars_f%pars_xy(ind_alb_green_agfl,j,i)
     4506
     4507              IF ( building_pars_f%pars_xy(ind_alb_win_agfl,j,i) /= building_pars_f%fill )         &
     4508                 surf_usm_v(l)%albedo_type(m,ind_wat_win)   =                                      &
     4509                 building_pars_f%pars_xy(ind_alb_win_agfl,j,i)
     4510
     4511              IF ( building_pars_f%pars_xy(ind_thick_1_agfl,j,i) /= building_pars_f%fill )         &
     4512                 surf_usm_v(l)%zw(nzb_wall,m) = building_pars_f%pars_xy(ind_thick_1_agfl,j,i)
     4513
     4514              IF ( building_pars_f%pars_xy(ind_thick_2_agfl,j,i) /= building_pars_f%fill )         &
     4515                 surf_usm_v(l)%zw(nzb_wall+1,m) = building_pars_f%pars_xy(ind_thick_2_agfl,j,i)
     4516
     4517              IF ( building_pars_f%pars_xy(ind_thick_3_agfl,j,i) /= building_pars_f%fill )         &
     4518                 surf_usm_v(l)%zw(nzb_wall+2,m) = building_pars_f%pars_xy(ind_thick_3_agfl,j,i)
     4519
     4520              IF ( building_pars_f%pars_xy(ind_thick_4_agfl,j,i) /= building_pars_f%fill )         &
     4521                 surf_usm_v(l)%zw(nzb_wall+3,m) = building_pars_f%pars_xy(ind_thick_4_agfl,j,i)
     4522
     4523              IF ( building_pars_f%pars_xy(ind_thick_1_agfl,j,i) /= building_pars_f%fill )         &
     4524                 surf_usm_v(l)%zw_green(nzb_wall,m) =                                              &
     4525                 building_pars_f%pars_xy(ind_thick_1_agfl,j,i)
     4526
     4527              IF ( building_pars_f%pars_xy(ind_thick_2_agfl,j,i) /= building_pars_f%fill )         &
     4528                 surf_usm_v(l)%zw_green(nzb_wall+1,m) =                                            &
     4529                 building_pars_f%pars_xy(ind_thick_2_agfl,j,i)
     4530
     4531              IF ( building_pars_f%pars_xy(ind_thick_3_agfl,j,i) /= building_pars_f%fill )         &
     4532                 surf_usm_v(l)%zw_green(nzb_wall+2,m) =                                            &
     4533                 building_pars_f%pars_xy(ind_thick_3_agfl,j,i)
     4534
     4535              IF ( building_pars_f%pars_xy(ind_thick_4_agfl,j,i) /= building_pars_f%fill )         &
     4536                 surf_usm_v(l)%zw_green(nzb_wall+3,m) =                                            &
     4537                 building_pars_f%pars_xy(ind_thick_4_agfl,j,i)
    45344538
    45354539           ENDDO
     
    48224826        ENDDO
    48234827     ENDIF
     4828!
     4829!--    Initialize albedo type via given type from static input file. Please note, even though
     4830!--    the albedo type has been already given by the pars, albedo_type overwrites these values.
     4831       IF ( albedo_type_f%from_file )  THEN
     4832          DO  m = 1, surf_usm_h%ns
     4833             i = surf_usm_h%i(m)
     4834             j = surf_usm_h%j(m)
     4835             IF ( albedo_type_f%var(j,i) /= albedo_type_f%fill )                                   &
     4836                surf_usm_h%albedo_type(m,:) = albedo_type_f%var(j,i)
     4837          ENDDO
     4838          DO  l = 0, 3
     4839             DO  m = 1, surf_usm_v(l)%ns
     4840                i = surf_usm_v(l)%i(m) + surf_usm_v(l)%ioff
     4841                j = surf_usm_v(l)%j(m) + surf_usm_v(l)%joff
     4842
     4843                IF ( albedo_type_f%var(j,i) /= albedo_type_f%fill )                                &
     4844                   surf_usm_v(l)%albedo_type(m,:) = albedo_type_f%var(j,i)
     4845             ENDDO
     4846          ENDDO
     4847       ENDIF
    48244848!
    48254849!--  Run further checks to ensure that the respecitve material fractions are prescribed properly.
Note: See TracChangeset for help on using the changeset viewer.