- Timestamp:
- Apr 9, 2018 11:26:02 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/netcdf_data_input_mod.f90
r2947 r2953 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Bugfix in checks for initialization data 28 ! 29 ! 2947 2018-04-04 18:01:41Z suehring 27 30 ! Checks for dynamic input revised 28 31 ! … … 1982 1985 INTEGER(iwp) :: off_j !< offset in y-direction used for reading the v-component 1983 1986 1987 LOGICAL :: check_passed !< flag indicating if a check passed 1988 1984 1989 ! 1985 1990 !-- Skip routine if no input file with dynamic input data is available. … … 2344 2349 ENDDO 2345 2350 ! 2346 !-- Finally, check if the input data has any fill values. 2351 !-- Finally, check if the input data has any fill values. Please note, 2352 !-- checks depend on the LOD of the input data. 2347 2353 IF ( init_3d%from_file_u ) THEN 2348 IF ( ANY( u(nzb+1:nzt+1,nys:nyn,nxlu:nxr) == init_3d%fill_u ) ) THEN 2354 check_passed = .TRUE. 2355 IF ( init_3d%lod_u == 1 ) THEN 2356 IF ( ANY( init_3d%u_init(nzb+1:nzt+1) == init_3d%fill_u ) ) & 2357 check_passed = .FALSE. 2358 ELSEIF ( init_3d%lod_u == 2 ) THEN 2359 IF ( ANY( u(nzb+1:nzt+1,nys:nyn,nxlu:nxr) == init_3d%fill_u ) ) & 2360 check_passed = .FALSE. 2361 ENDIF 2362 IF ( .NOT. check_passed ) THEN 2349 2363 message_string = 'NetCDF input for u_init must not contain ' // & 2350 2364 'any _FillValues' … … 2352 2366 ENDIF 2353 2367 ENDIF 2368 2354 2369 IF ( init_3d%from_file_v ) THEN 2355 IF ( ANY( v(nzb+1:nzt+1,nysv:nyn,nxl:nxr) == init_3d%fill_v ) ) THEN 2370 check_passed = .TRUE. 2371 IF ( init_3d%lod_v == 1 ) THEN 2372 IF ( ANY( init_3d%v_init(nzb+1:nzt+1) == init_3d%fill_v ) ) & 2373 check_passed = .FALSE. 2374 ELSEIF ( init_3d%lod_v == 2 ) THEN 2375 IF ( ANY( v(nzb+1:nzt+1,nysv:nyn,nxl:nxr) == init_3d%fill_v ) ) & 2376 check_passed = .FALSE. 2377 ENDIF 2378 IF ( .NOT. check_passed ) THEN 2356 2379 message_string = 'NetCDF input for v_init must not contain ' // & 2357 2380 'any _FillValues' … … 2359 2382 ENDIF 2360 2383 ENDIF 2384 2361 2385 IF ( init_3d%from_file_w ) THEN 2362 IF ( ANY( w(nzb+1:nzt,nys:nyn,nxl:nxr) == init_3d%fill_w ) ) THEN 2386 check_passed = .TRUE. 2387 IF ( init_3d%lod_w == 1 ) THEN 2388 IF ( ANY( init_3d%w_init(nzb+1:nzt) == init_3d%fill_w ) ) & 2389 check_passed = .FALSE. 2390 ELSEIF ( init_3d%lod_w == 2 ) THEN 2391 IF ( ANY( w(nzb+1:nzt,nys:nyn,nxl:nxr) == init_3d%fill_w ) ) & 2392 check_passed = .FALSE. 2393 ENDIF 2394 IF ( .NOT. check_passed ) THEN 2363 2395 message_string = 'NetCDF input for w_init must not contain ' // & 2364 2396 'any _FillValues' … … 2366 2398 ENDIF 2367 2399 ENDIF 2400 2368 2401 IF ( init_3d%from_file_pt ) THEN 2369 IF ( ANY( pt(nzb+1:nzt+1,nys:nyn,nxl:nxr) == init_3d%fill_pt ) ) THEN 2402 check_passed = .TRUE. 2403 IF ( init_3d%lod_pt == 1 ) THEN 2404 IF ( ANY( init_3d%pt_init(nzb+1:nzt+1) == init_3d%fill_pt ) ) & 2405 check_passed = .FALSE. 2406 ELSEIF ( init_3d%lod_pt == 2 ) THEN 2407 IF ( ANY( pt(nzb+1:nzt+1,nys:nyn,nxl:nxr) == init_3d%fill_pt ) ) & 2408 check_passed = .FALSE. 2409 ENDIF 2410 IF ( .NOT. check_passed ) THEN 2370 2411 message_string = 'NetCDF input for pt_init must not contain ' // & 2371 2412 'any _FillValues' … … 2373 2414 ENDIF 2374 2415 ENDIF 2416 2375 2417 IF ( init_3d%from_file_q ) THEN 2376 IF ( ANY( q(nzb+1:nzt+1,nys:nyn,nxl:nxr) == init_3d%fill_q ) ) THEN 2418 check_passed = .TRUE. 2419 IF ( init_3d%lod_q == 1 ) THEN 2420 IF ( ANY( init_3d%q_init(nzb+1:nzt+1) == init_3d%fill_q ) ) & 2421 check_passed = .FALSE. 2422 ELSEIF ( init_3d%lod_q == 2 ) THEN 2423 IF ( ANY( q(nzb+1:nzt+1,nys:nyn,nxl:nxr) == init_3d%fill_q ) ) & 2424 check_passed = .FALSE. 2425 ENDIF 2426 IF ( .NOT. check_passed ) THEN 2377 2427 message_string = 'NetCDF input for q_init must not contain ' // & 2378 2428 'any _FillValues'
Note: See TracChangeset
for help on using the changeset viewer.