Changeset 4675 for palm/trunk/UTIL/inifor/src/inifor.f90
- Timestamp:
- Sep 11, 2020 10:00:26 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/UTIL/inifor/src/inifor.f90
r4659 r4675 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Support for soil profile initialization 29 ! Improved code formatting 30 ! 31 ! 32 ! 4659 2020-08-31 11:21:17Z eckhard 28 33 ! List all warnings after successful run 29 34 ! Only define netCDF variables in enabled IO groups … … 202 207 !-- Set up the tables containing the input and output variables and set 203 208 !-- the corresponding netCDF dimensions for each output variable 204 CALL setup_variable_tables ( cfg%ic_mode )209 CALL setup_variable_tables 205 210 CALL setup_io_groups 206 211 CALL log_runtime( 'time', 'init' ) … … 273 278 CASE( 'init soil' ) 274 279 275 ALLOCATE( output_arr(0:output_var%grid%nx, 276 0:output_var%grid%ny, 280 ALLOCATE( output_arr(0:output_var%grid%nx, & 281 0:output_var%grid%ny, & 277 282 SIZE( output_var%grid%depths )) ) 278 283 279 284 CASE ( 'surface forcing' ) 280 285 281 ALLOCATE( output_arr(0:output_var%grid%nx, 286 ALLOCATE( output_arr(0:output_var%grid%nx, & 282 287 0:output_var%grid%ny, 1) ) 283 288 … … 299 304 CASE ( 'interpolate_3d' ) 300 305 301 ALLOCATE( output_arr(0:output_var%grid % nx, 302 0:output_var%grid % ny, 306 ALLOCATE( output_arr(0:output_var%grid % nx, & 307 0:output_var%grid % ny, & 303 308 1:output_var%grid % nz) ) 304 309 305 310 CALL log_runtime( 'time', 'alloc' ) 306 CALL interpolate_3d( 307 input_buffer(output_var%input_id)%array(:,:,:), 308 output_arr(:,:,:), 309 output_var%intermediate_grid, 311 CALL interpolate_3d( & 312 input_buffer(output_var%input_id)%array(:,:,:), & 313 output_arr(:,:,:), & 314 output_var%intermediate_grid, & 310 315 output_var%grid) 311 316 CALL log_runtime( 'time', 'comp' ) … … 315 320 CASE ( 'average profile' ) 316 321 317 ALLOCATE( output_arr(0:output_var%grid%nx, & 318 0:output_var%grid%ny, & 319 1:output_var%grid%nz) ) 322 ALLOCATE( output_arr(0:0, 0:0, 1:output_var%averaging_grid%nz) ) 320 323 CALL log_runtime( 'time', 'alloc' ) 321 322 CALL interp_average_profile( & 323 input_buffer(output_var%input_id)%array(:,:,:), & 324 output_arr(0,0,:), & 324 CALL interp_average_profile( & 325 input_buffer(output_var%input_id)%array(:,:,:), & 326 output_arr(0,0,:), & 325 327 output_var%averaging_grid ) 326 328 327 IF ( TRIM( output_var%name ) == 329 IF ( TRIM( output_var%name ) == & 328 330 'surface_forcing_surface_pressure' ) THEN 329 331 … … 331 333 output_arr(0,0,1) = p0 332 334 ELSE 333 CALL get_surface_pressure( 334 output_arr(0,0,:), rho_centre, 335 CALL get_surface_pressure( & 336 output_arr(0,0,:), rho_centre, & 335 337 output_var%averaging_grid ) 336 338 ENDIF 337 339 338 340 ENDIF 341 CALL log_runtime( 'time', 'comp' ) 342 343 CASE ( 'average levels' ) 344 345 ALLOCATE( output_arr(0:0, 0:0, 1:output_var%averaging_grid%nz) ) 346 CALL log_runtime( 'time', 'alloc' ) 347 CALL average_profile( & 348 input_buffer(output_var%input_id)%array(:,:,:), & 349 output_arr(0,0,:), & 350 output_var%averaging_grid & 351 ) 339 352 CALL log_runtime( 'time', 'comp' ) 340 353 … … 393 406 SELECT CASE( TRIM( output_var%name ) ) 394 407 395 CASE( 'internal_pressure_north', 396 'internal_pressure_south', 397 'internal_pressure_east', 408 CASE( 'internal_pressure_north', & 409 'internal_pressure_south', & 410 'internal_pressure_east', & 398 411 'internal_pressure_west' ) 399 412 400 CALL average_pressure_perturbation( 401 input_buffer(output_var%input_id) % array(:,:,:),&402 internal_arr(:), 403 cosmo_grid, output_var%averaging_grid 413 CALL average_pressure_perturbation( & 414 input_buffer(output_var%input_id)%array(:,:,:), & 415 internal_arr(:), & 416 cosmo_grid, output_var%averaging_grid & 404 417 ) 405 418 406 419 CASE DEFAULT 407 420 408 CALL average_profile( 409 input_buffer(output_var%input_id) % array(:,:,:),&410 internal_arr(:), 411 output_var%averaging_grid 421 CALL average_profile( & 422 input_buffer(output_var%input_id)%array(:,:,:), & 423 internal_arr(:), & 424 output_var%averaging_grid & 412 425 ) 413 426 414 427 END SELECT 415 428 416 417 !418 !-- Output of geostrophic pressure profiles (with --debug419 !-- option) is currently deactivated, since they are now420 !-- defined on averaged COSMO levels instead of PALM levels421 !-- (requires definiton of COSMO levels in netCDF output.)422 !IF (.TRUE.) THEN423 ! ALLOCATE( output_arr(1,1,1:output_var%grid % nz) )424 ! output_arr(1,1,:) = internal_arr(:)425 !ENDIF426 429 CALL log_runtime( 'time', 'comp' ) 427 430 … … 450 453 ug_cosmo, vg_cosmo ) 451 454 452 CALL interpolate_1d( ug_cosmo, ug_palm, 455 CALL interpolate_1d( ug_cosmo, ug_palm, & 453 456 output_var%grid ) 454 457 455 CALL interpolate_1d( vg_cosmo, vg_palm, 458 CALL interpolate_1d( vg_cosmo, vg_palm, & 456 459 output_var%grid ) 457 460 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.