Changeset 3254 for palm/trunk/SOURCE/netcdf_data_input_mod.f90
- Timestamp:
- Sep 17, 2018 10:53:57 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/netcdf_data_input_mod.f90
r3241 r3254 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Additional check for surface_fractions and and checks for building_id and 28 ! building_type extended. 29 ! 30 ! 3241 2018-09-12 15:02:00Z raasch 27 31 ! unused variables removed 28 32 ! … … 37 41 ! 38 42 ! 3209 2018-08-27 16:58:37Z suehring 39 ! Read zsoil dimension leng htonly if soil variables are provided43 ! Read zsoil dimension length only if soil variables are provided 40 44 ! 41 45 ! 3183 2018-07-27 14:25:55Z suehring … … 3040 3044 ENDIF 3041 3045 ! 3046 !-- Check for correct dimension of surface_fractions, should run from 0-2. 3047 IF ( surface_fraction_f%from_file ) THEN 3048 IF ( surface_fraction_f%nf-1 > 2 ) THEN 3049 message_string = 'nsurface_fraction must not be larger than 3.' 3050 CALL message( 'netcdf_data_input_mod', 'PA0580', 1, 2, 0, 6, 0 ) 3051 ENDIF 3052 ENDIF 3053 ! 3042 3054 !-- Check orography for fill-values. For the moment, give an error message. 3043 3055 !-- More advanced methods, e.g. a nearest neighbor algorithm as used in GIS … … 3398 3410 IF ( buildings_f%lod == 1 ) THEN 3399 3411 IF ( buildings_f%var_2d(j,i) /= buildings_f%fill1 .AND. & 3400 building_type_f%var(j,i) == building_type_f%fill ) THEN 3401 3412 building_type_f%var(j,i) == building_type_f%fill .OR. & 3413 buildings_f%var_2d(j,i) == buildings_f%fill1 .AND. & 3414 building_type_f%var(j,i) /= building_type_f%fill ) THEN 3402 3415 WRITE( message_string, * ) 'Each location where a ' // & 3403 3416 'building is set requires a type ' // & … … 3411 3424 IF ( buildings_f%lod == 2 ) THEN 3412 3425 IF ( ANY( buildings_f%var_3d(:,j,i) == 1 ) .AND. & 3413 building_type_f%var(j,i) == building_type_f%fill ) THEN 3426 building_type_f%var(j,i) == building_type_f%fill .OR. & 3427 .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 ) .AND. & 3428 building_type_f%var(j,i) /= building_type_f%fill) THEN 3414 3429 WRITE( message_string, * ) 'Each location where a ' // & 3415 3430 'building is set requires a type ' // & … … 3428 3443 IF ( buildings_f%lod == 1 ) THEN 3429 3444 IF ( buildings_f%var_2d(j,i) /= buildings_f%fill1 .AND. & 3430 building_id_f%var(j,i) == building_id_f%fill ) THEN 3445 building_id_f%var(j,i) == building_id_f%fill .OR. & 3446 buildings_f%var_2d(j,i) == buildings_f%fill1 .AND. & 3447 building_id_f%var(j,i) /= building_id_f%fill ) THEN 3431 3448 WRITE( message_string, * ) 'Each location where a ' // & 3432 3449 'building is set requires an ID ' // & … … 3437 3454 ELSEIF ( buildings_f%lod == 2 ) THEN 3438 3455 IF ( ANY( buildings_f%var_3d(:,j,i) == 1 ) .AND. & 3439 building_id_f%var(j,i) == building_id_f%fill ) THEN 3456 building_id_f%var(j,i) == building_id_f%fill .OR. & 3457 .NOT. ANY( buildings_f%var_3d(:,j,i) == 1 ) .AND. & 3458 building_id_f%var(j,i) /= building_id_f%fill ) THEN 3440 3459 WRITE( message_string, * ) 'Each location where a ' // & 3441 3460 'building is set requires an ID ' // & … … 3447 3466 ENDIF 3448 3467 ! 3449 !-- Check if at each location where a building ID or a -type is set 3450 !-- also a bulding is defined. 3468 !-- Check if building ID is set where a bulding is defined. 3451 3469 IF ( buildings_f%from_file ) THEN 3452 3470 IF ( buildings_f%lod == 1 ) THEN 3453 IF ( buildings_f%var_2d(j,i) 3454 building_id_f%var(j,i) == building_id_f%fill ) THEN3471 IF ( buildings_f%var_2d(j,i) /= buildings_f%fill1 .AND. & 3472 building_id_f%var(j,i) == building_id_f%fill ) THEN 3455 3473 WRITE( message_string, * ) 'Each building grid point '// & 3456 3474 'requires an ID.', i, j … … 3459 3477 ENDIF 3460 3478 ELSEIF ( buildings_f%lod == 2 ) THEN 3461 IF ( ANY( buildings_f%var_3d(:,j,i) == 1 ) 3462 .AND.building_id_f%var(j,i) == building_id_f%fill ) THEN3479 IF ( ANY( buildings_f%var_3d(:,j,i) == 1 ) .AND. & 3480 building_id_f%var(j,i) == building_id_f%fill ) THEN 3463 3481 WRITE( message_string, * ) 'Each building grid point '// & 3464 3482 'requires an ID.', i, j
Note: See TracChangeset
for help on using the changeset viewer.