Ignore:
Timestamp:
May 2, 2019 9:50:41 AM (2 years ago)
Author:
maronga
Message:

bugfixes in urban surface model; output of greenz roof transpiration added/corrected; minor formatting improvements

File:
1 edited

Legend:

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

    r3942 r3943  
    2525! -----------------
    2626! $Id$
     27! Temporarily disabled some (faulty) checks for static driver.
     28!
     29! 3942 2019-04-30 13:08:30Z kanani
    2730! Fix: increase LEN of all NetCDF attribute values (caused crash in
    2831! netcdf_create_global_atts due to insufficient length)
     
    42564259!
    42574260!--          Check if building_type is set at each building and vice versa.
    4258              IF ( building_type_f%from_file  .AND.  buildings_f%from_file )  THEN
    4259                 IF ( buildings_f%lod == 1 )  THEN
    4260                    IF ( buildings_f%var_2d(j,i)  /= buildings_f%fill1  .AND.   &
    4261                         building_type_f%var(j,i) == building_type_f%fill  .OR. &
    4262                         buildings_f%var_2d(j,i)  == buildings_f%fill1  .AND.   &
    4263                         building_type_f%var(j,i) /= building_type_f%fill )  THEN
    4264                       WRITE( message_string, * ) 'Each location where a ' //   &
    4265                                       '2D building is set requires a type ' // &
    4266                                       '( and vice versa ) in case the ' //     &
    4267                                       'urban-surface model is applied. ' //    &
    4268                                       'i, j = ', i, j
    4269                       CALL message( 'netcdf_data_input_mod', 'PA0573',         &
    4270                                      2, 2, myid, 6, 0 )
    4271                    ENDIF
    4272                 ENDIF
    4273                 IF ( buildings_f%lod == 2 )  THEN
    4274                    IF ( ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
    4275                         building_type_f%var(j,i) == building_type_f%fill  .OR. &
    4276                   .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
    4277                         building_type_f%var(j,i) /= building_type_f%fill )  THEN
    4278                       WRITE( message_string, * ) 'Each location where a ' //   &
    4279                                       '3D building is set requires a type ' // &
    4280                                       '( and vice versa ) in case the ' //     &
    4281                                       'urban-surface model is applied. ' //    &
    4282                                       'i, j = ', i, j
    4283                       CALL message( 'netcdf_data_input_mod', 'PA0573',         &
    4284                                      2, 2, myid, 6, 0 )
    4285                    ENDIF
    4286                 ENDIF
    4287              ENDIF
     4261!              IF ( building_type_f%from_file  .AND.  buildings_f%from_file )  THEN
     4262!                 IF ( buildings_f%lod == 1 )  THEN
     4263!                    IF ( buildings_f%var_2d(j,i)  /= buildings_f%fill1  .AND.   &
     4264!                         building_type_f%var(j,i) == building_type_f%fill  .OR. &
     4265!                         buildings_f%var_2d(j,i)  == buildings_f%fill1  .AND.   &
     4266!                         building_type_f%var(j,i) /= building_type_f%fill )  THEN
     4267!                       WRITE( message_string, * ) 'Each location where a ' //   &
     4268!                                       '2D building is set requires a type ' // &
     4269!                                       '( and vice versa ) in case the ' //     &
     4270!                                       'urban-surface model is applied. ' //    &
     4271!                                       'i, j = ', i, j
     4272!                       CALL message( 'netcdf_data_input_mod', 'PA0573',         &
     4273!                                      2, 2, myid, 6, 0 )
     4274!                    ENDIF
     4275!                 ENDIF
     4276!                 IF ( buildings_f%lod == 2 )  THEN
     4277!                    IF ( ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
     4278!                         building_type_f%var(j,i) == building_type_f%fill  .OR. &
     4279!                   .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
     4280!                         building_type_f%var(j,i) /= building_type_f%fill )  THEN
     4281!                       WRITE( message_string, * ) 'Each location where a ' //   &
     4282!                                       '3D building is set requires a type ' // &
     4283!                                       '( and vice versa ) in case the ' //     &
     4284!                                       'urban-surface model is applied. ' //    &
     4285!                                       'i, j = ', i, j
     4286!                       CALL message( 'netcdf_data_input_mod', 'PA0573',         &
     4287!                                      2, 2, myid, 6, 0 )
     4288!                    ENDIF
     4289!                 ENDIF
     4290!              ENDIF
    42884291!
    42894292!--          Check if at each location where a building is present also an ID
    42904293!--          is set and vice versa.
    4291              IF ( buildings_f%from_file )  THEN
    4292                 IF ( buildings_f%lod == 1 )  THEN
    4293                    IF ( buildings_f%var_2d(j,i) /= buildings_f%fill1  .AND.    &
    4294                         building_id_f%var(j,i)  == building_id_f%fill  .OR.    &
    4295                         buildings_f%var_2d(j,i) == buildings_f%fill1  .AND.    &
    4296                         building_id_f%var(j,i)  /= building_id_f%fill )  THEN
    4297                       WRITE( message_string, * ) 'Each location where a ' //   &
    4298                                       '2D building is set requires an ID ' //  &
    4299                                       '( and vice versa ). i, j = ', i, j
    4300                       CALL message( 'netcdf_data_input_mod', 'PA0574',         &
    4301                                      2, 2, myid, 6, 0 )
    4302                    ENDIF
    4303                 ELSEIF ( buildings_f%lod == 2 )  THEN
    4304                    IF ( ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
    4305                         building_id_f%var(j,i) == building_id_f%fill  .OR.     &
    4306                   .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
    4307                         building_id_f%var(j,i) /= building_id_f%fill )  THEN
    4308                       WRITE( message_string, * ) 'Each location where a ' //   &
    4309                                       '3D building is set requires an ID ' //  &
    4310                                       '( and vice versa ). i, j = ', i, j
    4311                       CALL message( 'netcdf_data_input_mod', 'PA0574',         &
    4312                                      2, 2, myid, 6, 0 )
    4313                    ENDIF
    4314                 ENDIF
    4315              ENDIF
     4294!              IF ( buildings_f%from_file )  THEN
     4295!                 IF ( buildings_f%lod == 1 )  THEN
     4296!                    IF ( buildings_f%var_2d(j,i) /= buildings_f%fill1  .AND.    &
     4297!                         building_id_f%var(j,i)  == building_id_f%fill  .OR.    &
     4298!                         buildings_f%var_2d(j,i) == buildings_f%fill1  .AND.    &
     4299!                         building_id_f%var(j,i)  /= building_id_f%fill )  THEN
     4300!                       WRITE( message_string, * ) 'Each location where a ' //   &
     4301!                                       '2D building is set requires an ID ' //  &
     4302!                                       '( and vice versa ). i, j = ', i, j
     4303!                       CALL message( 'netcdf_data_input_mod', 'PA0574',         &
     4304!                                      2, 2, myid, 6, 0 )
     4305!                    ENDIF
     4306!                 ELSEIF ( buildings_f%lod == 2 )  THEN
     4307!                    IF ( ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
     4308!                         building_id_f%var(j,i) == building_id_f%fill  .OR.     &
     4309!                   .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 )  .AND.           &
     4310!                         building_id_f%var(j,i) /= building_id_f%fill )  THEN
     4311!                       WRITE( message_string, * ) 'Each location where a ' //   &
     4312!                                       '3D building is set requires an ID ' //  &
     4313!                                       '( and vice versa ). i, j = ', i, j
     4314!                       CALL message( 'netcdf_data_input_mod', 'PA0574',         &
     4315!                                      2, 2, myid, 6, 0 )
     4316!                    ENDIF
     4317!                 ENDIF
     4318!              ENDIF
    43164319!
    43174320!--          Check if building ID is set where a bulding is defined.
Note: See TracChangeset for help on using the changeset viewer.