Changeset 2277
- Timestamp:
- Jun 12, 2017 10:47:51 AM (7 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/close_file.f90
r2101 r2277 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Removed unused variables do2d_xy_n, do2d_xz_n, do2d_yz_n, do3d_avs_n 28 ! 29 ! 2101 2017-01-05 16:42:31Z suehring 27 30 ! 28 31 ! 2000 2016-08-20 18:09:15Z knoop … … 76 79 77 80 USE control_parameters, & 78 ONLY: do2d_xz_n, do2d_xy_n, do2d_yz_n, do3d_avs_n, host, max_masks,&81 ONLY: host, max_masks, & 79 82 mid, nz_do3d, openfile, run_description_header, z_max_do2d 80 83 -
palm/trunk/SOURCE/data_output_2d.f90
r2233 r2277 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Removed unused variables do2d_xy_n, do2d_xz_n, do2d_yz_n 28 ! 29 ! 2233 2017-05-30 18:08:54Z suehring 27 30 ! 28 31 ! 2232 2017-05-30 17:47:52Z suehring … … 178 181 ONLY: cloud_physics, data_output_2d_on_each_pe, data_output_xy, & 179 182 data_output_xz, data_output_yz, do2d, & 180 do2d_xy_last_time, do2d_xy_ n, do2d_xy_time_count,&181 do2d_xz_last_time, do2d_xz_ n, do2d_xz_time_count,&182 do2d_yz_last_time, do2d_yz_ n, do2d_yz_time_count,&183 do2d_xy_last_time, do2d_xy_time_count, & 184 do2d_xz_last_time, do2d_xz_time_count, & 185 do2d_yz_last_time, do2d_yz_time_count, & 183 186 ibc_uv_b, io_blocks, io_group, land_surface, message_string, & 184 187 ntdim_2d_xy, ntdim_2d_xz, ntdim_2d_yz, & … … 1402 1405 #endif 1403 1406 #endif 1404 do2d_xy_n = do2d_xy_n + 1 1407 1405 1408 ! 1406 1409 !-- For 2D-arrays (e.g. u*) only one cross-section is available. … … 1628 1631 #endif 1629 1632 #endif 1630 do2d_xz_n = do2d_xz_n + 11631 1633 1632 1634 CASE ( 'yz' ) … … 1847 1849 #endif 1848 1850 #endif 1849 do2d_yz_n = do2d_yz_n + 11850 1851 1851 1852 END SELECT -
palm/trunk/SOURCE/init_3d_model.f90
r2270 r2277 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Removed unused variable sums_up_fraction_l 28 ! 29 ! 2270 2017-06-09 12:18:47Z maronga 27 30 ! dots_num must be increased when LSM and/or radiation is used 28 31 ! … … 394 397 ONLY: hom, hom_sum, mean_surface_level_height, pr_palm, rmask, & 395 398 statistic_regions, sums, sums_divnew_l, sums_divold_l, sums_l, & 396 sums_l_l, sums_ up_fraction_l, sums_wsts_bc_l, ts_value,&399 sums_l_l, sums_wsts_bc_l, ts_value, & 397 400 weight_pres, weight_substep 398 401 … … 468 471 sums_l(nzb:nzt+1,pr_palm+max_pr_user,0:threads_per_task-1), & 469 472 sums_l_l(nzb:nzt+1,0:statistic_regions,0:threads_per_task-1), & 470 sums_up_fraction_l(10,3,0:statistic_regions), &471 473 sums_wsts_bc_l(nzb:nzt+1,0:statistic_regions), & 472 474 ts_value(dots_max,0:statistic_regions) ) … … 942 944 sums_divold_l = 0.0_wp 943 945 sums_l_l = 0.0_wp 944 sums_up_fraction_l = 0.0_wp945 946 sums_wsts_bc_l = 0.0_wp 946 947 -
palm/trunk/SOURCE/modules.f90
r2259 r2277 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Added doxygen comments for variables/parameters, 28 ! removed unused variables dissipation_control, do2d_xy_n, do2d_xz_n, do2d_yz_n, 29 ! do3d_avs_n, lptnudge, lqnudge, lunudge, lvnudge, lwnudge, skip_do_avs, 30 ! sums_up_fraction_l. 31 ! 32 ! 2259 2017-06-08 09:09:11Z gronemeier 27 33 ! Implemented synthetic turbulence generator 28 34 ! … … 458 464 !> Definition of all variables 459 465 !> 460 !> @todo Add description for each variable466 !> @todo Add missing variable descriptions (Siggi) 461 467 !------------------------------------------------------------------------------! 462 468 … … 471 477 USE kinds 472 478 473 REAL(wp), DIMENSION(:), ALLOCATABLE :: aex !< 474 REAL(wp), DIMENSION(:), ALLOCATABLE :: bex !< 475 REAL(wp), DIMENSION(:), ALLOCATABLE :: dex !< 476 REAL(wp), DIMENSION(:), ALLOCATABLE :: eex !< 479 REAL(wp), DIMENSION(:), ALLOCATABLE :: aex !< Siggi 480 REAL(wp), DIMENSION(:), ALLOCATABLE :: bex !< Siggi 481 REAL(wp), DIMENSION(:), ALLOCATABLE :: dex !< Siggi 482 REAL(wp), DIMENSION(:), ALLOCATABLE :: eex !< Siggi 477 483 478 484 SAVE … … 490 496 USE kinds 491 497 492 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m !< 493 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m_l !< 494 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m !< 495 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m_l !< 496 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m !< 497 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m_l !< 498 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu !< 499 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu_pres !< 500 REAL(wp), DIMENSION(:), ALLOCATABLE :: dd2zu !< 501 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzu !< 502 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzw !< 503 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzw !< 504 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyp !< 505 REAL(wp), DIMENSION(:), ALLOCATABLE :: inflow_damping_factor !< 506 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_grid !< 507 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_x !< 508 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_y !< 509 REAL(wp), DIMENSION(:), ALLOCATABLE :: p_surf !< 510 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_surf !< 511 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_init !< 512 REAL(wp), DIMENSION(:), ALLOCATABLE :: qsws_surf !< 513 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_init !< 514 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_surf !<515 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf !<516 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf _sc !<517 REAL(wp), DIMENSION(:), ALLOCATABLE :: r ef_state !<518 REAL(wp), DIMENSION(:), ALLOCATABLE :: s_init !<519 REAL(wp), DIMENSION(:), ALLOCATABLE :: s_surf !<520 REAL(wp), DIMENSION(:), ALLOCATABLE :: s a_init !<521 REAL(wp), DIMENSION(:), ALLOCATABLE :: s hf_surf !<522 REAL(wp), DIMENSION(:), ALLOCATABLE :: timenudge !<523 REAL(wp), DIMENSION(:), ALLOCATABLE :: time _surf !<524 REAL(wp), DIMENSION(:), ALLOCATABLE :: time_ vert !<525 REAL(wp), DIMENSION(:), ALLOCATABLE :: t mp_tnudge !<526 REAL(wp), DIMENSION(:), ALLOCATABLE :: ug !<527 REAL(wp), DIMENSION(:), ALLOCATABLE :: u _init !<528 REAL(wp), DIMENSION(:), ALLOCATABLE :: u_ nzb_p1_for_vfc !<529 REAL(wp), DIMENSION(:), ALLOCATABLE :: vg !< 530 REAL(wp), DIMENSION(:), ALLOCATABLE :: v_init !< 531 REAL(wp), DIMENSION(:), ALLOCATABLE :: v_nzb_p1_for_vfc !<532 REAL(wp), DIMENSION(:), ALLOCATABLE :: w_subs !<533 REAL(wp), DIMENSION(:), ALLOCATABLE :: z u !<534 REAL(wp), DIMENSION(:), ALLOCATABLE :: zw !< 535 536 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_ u !<537 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_ v !<538 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_w !<539 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ e !<540 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ nr !<541 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ pt !<542 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_q !<543 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ qr !<544 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_s !<545 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ sa !<546 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ u !<547 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_ v !<548 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: d iss_s_w !<549 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dz u_mg !<550 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzw_mg !<551 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ e !<552 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ nr !<553 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ pt !<554 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_q !<555 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ qr !<556 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_s !<557 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ sa !<558 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ u !<559 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_ v !<560 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f lux_s_w !<561 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f 1_mg !<562 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f 2_mg !<563 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f3_mg !<564 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: mean_inflow_profiles !<565 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_ amount !<566 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: p recipitation_rate !<567 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: pt nudge !<568 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: pt_slope_ref !<569 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qnudge !< 570 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tnudge !< 571 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_lpt !< 572 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_q !< 573 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_lpt !< 574 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_q !< 575 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_a !< 576 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_o !< 577 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ug_vert !< 578 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: unudge !< 579 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vnudge !< 580 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vg_vert !< 581 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wnudge !< 582 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wsubs_vert !< 498 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m !< Siggi 499 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m_l !< Siggi 500 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m !< Siggi 501 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m_l !< Siggi 502 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m !< Siggi 503 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m_l !< Siggi 504 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu !< 1/dzu 505 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu_pres !< modified ddzu for pressure solver 506 REAL(wp), DIMENSION(:), ALLOCATABLE :: dd2zu !< 1/(dzu(k)+dzu(k+1)) 507 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzu !< vertical grid size (u-grid) 508 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzw !< 1/dzw 509 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzw !< vertical grid size (w-grid) 510 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyp !< hydrostatic pressure 511 REAL(wp), DIMENSION(:), ALLOCATABLE :: inflow_damping_factor !< used for turbulent inflow (non-cyclic boundary conditions) 512 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_grid !< geometric mean of grid sizes dx, dy, dz 513 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_x !< damping factor for potential temperature in x-direction 514 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_y !< damping factor for potential temperature in y-direction 515 REAL(wp), DIMENSION(:), ALLOCATABLE :: p_surf !< time-dependent surface pressure (large scale forcing) 516 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_surf !< time-dependent surface temperature (large scale forcing) 517 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_init !< initial profile of potential temperature 518 REAL(wp), DIMENSION(:), ALLOCATABLE :: qsws_surf !< time-dependent surface latent heat flux (large scale forcing) 519 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_init !< initial profile of specific humidity 520 !< (or total water content with active cloud physics) 521 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_surf !< time-dependent surface specific humidity (large scale forcing) 522 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf !< rayleigh damping factor for velocity components 523 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf_sc !< rayleigh damping factor for scalar quantities 524 REAL(wp), DIMENSION(:), ALLOCATABLE :: ref_state !< reference state of potential temperature 525 !< (and density in case of ocean simulation) 526 REAL(wp), DIMENSION(:), ALLOCATABLE :: s_init !< initial profile of passive scalar concentration 527 REAL(wp), DIMENSION(:), ALLOCATABLE :: sa_init !< initial profile of salinity (ocean) 528 REAL(wp), DIMENSION(:), ALLOCATABLE :: shf_surf !< time-dependent surface sensible heat flux (large scale forcing) 529 REAL(wp), DIMENSION(:), ALLOCATABLE :: timenudge !< times at which vertical profiles are defined in NUDGING_DATA (nudging) 530 REAL(wp), DIMENSION(:), ALLOCATABLE :: time_surf !< times at which surface values/fluxes are defined in LSF_DATA (large scale forcing) 531 REAL(wp), DIMENSION(:), ALLOCATABLE :: time_vert !< times at which vertical profiles are defined in LSF_DATA (large scale forcing) 532 REAL(wp), DIMENSION(:), ALLOCATABLE :: tmp_tnudge !< current nudging time scale 533 REAL(wp), DIMENSION(:), ALLOCATABLE :: ug !< geostrophic wind component in x-direction 534 REAL(wp), DIMENSION(:), ALLOCATABLE :: u_init !< initial profile of horizontal velocity component u 535 REAL(wp), DIMENSION(:), ALLOCATABLE :: vg !< geostrophic wind component in y-direction 536 REAL(wp), DIMENSION(:), ALLOCATABLE :: v_init !< initial profile of horizontal velocity component v 537 REAL(wp), DIMENSION(:), ALLOCATABLE :: w_subs !< subsidence/ascent velocity 538 REAL(wp), DIMENSION(:), ALLOCATABLE :: zu !< vertical grid coordinate of u-grid (in m) 539 REAL(wp), DIMENSION(:), ALLOCATABLE :: zw !< vertical grid coordinate of w-grid (in m) 540 541 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_u !< phase speed of u-velocity component 542 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_v !< phase speed of v-velocity component 543 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_w !< phase speed of w-velocity component 544 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_e !< artificial numerical dissipation flux at south face of grid box - subgrid-scale TKE 545 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_nr !< artificial numerical dissipation flux at south face of grid box - raindrop-number concentration 546 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_pt !< artificial numerical dissipation flux at south face of grid box - potential temperature 547 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_q !< artificial numerical dissipation flux at south face of grid box - mixing ratio 548 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_qr !< artificial numerical dissipation flux at south face of grid box - rainwater 549 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_s !< artificial numerical dissipation flux at south face of grid box - passive scalar 550 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_sa !< artificial numerical dissipation flux at south face of grid box - salinity 551 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_u !< artificial numerical dissipation flux at south face of grid box - u-component 552 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_v !< artificial numerical dissipation flux at south face of grid box - v-component 553 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_w !< artificial numerical dissipation flux at south face of grid box - w-component 554 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzu_mg !< vertical grid size (u-grid) for multigrid pressure solver 555 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzw_mg !< vertical grid size (w-grid) for multigrid pressure solver 556 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_e !< 6th-order advective flux at south face of grid box - subgrid-scale TKE 557 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_nr !< 6th-order advective flux at south face of grid box - raindrop-number concentration 558 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_pt !< 6th-order advective flux at south face of grid box - potential temperature 559 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_q !< 6th-order advective flux at south face of grid box - mixing ratio 560 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_qr !< 6th-order advective flux at south face of grid box - rainwater 561 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_s !< 6th-order advective flux at south face of grid box - passive scalar 562 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_sa !< 6th-order advective flux at south face of grid box - salinity 563 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_u !< 6th-order advective flux at south face of grid box - u-component 564 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_v !< 6th-order advective flux at south face of grid box - v-component 565 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_w !< 6th-order advective flux at south face of grid box - w-component 566 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f1_mg !< Siggi 567 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f2_mg !< Siggi 568 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f3_mg !< Siggi 569 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: mean_inflow_profiles !< used for turbulent inflow (non-cyclic boundary conditions) 570 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_amount !< precipitation amount due to gravitational settling (bulk microphysics) 571 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_rate !< precipitation rate (bulk microphysics) 572 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ptnudge !< vertical profile of pot. temperature interpolated to vertical grid (nudging) 573 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: pt_slope_ref !< potential temperature in rotated coordinate system 574 !< (in case of sloped surface) 575 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qnudge !< vertical profile of specific humidity interpolated to vertical grid (nudging) 576 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tnudge !< vertical profile of nudging time scale interpolated to vertical grid (nudging) 577 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_lpt !< temperature tendency due to large scale advection (large scale forcing) 578 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_q !< specific humidity tendency due to large scale advection (large scale forcing) 579 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_lpt !< temperature tendency due to subsidence/ascent (large scale forcing) 580 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_q !< specific humidity tendency due to subsidence/ascent (large scale forcing) 581 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_a !< Siggi 582 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_o !< Siggi 583 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ug_vert !< vertical profile of geostrophic wind component in x-direction interpolated to vertical grid (large scale forcing) 584 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: unudge !< vertical profile of wind component in x-direction interpolated to vertical grid (nudging) 585 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vnudge !< vertical profile of wind component in y-direction interpolated to vertical grid (nudging) 586 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vg_vert !< vertical profile of geostrophic wind component in y-direction interpolated to vertical grid (large scale forcing) 587 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wnudge !< vertical profile of subsidence/ascent velocity interpolated to vertical grid (nudging) ??? 588 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wsubs_vert !< vertical profile of wind component in z-direction interpolated to vertical grid (nudging) ??? 583 589 584 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: d !< 585 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dx !< 586 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dy !< 587 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dz !< 588 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss !< 589 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_e !< 590 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_nr !< 591 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_pt !< 592 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_q !< 593 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_qr !< 594 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_s !< 595 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_sa !< 596 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_u !< 597 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_v !< 598 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_w !< 599 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_e !< 600 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_nr !< 601 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_pt !< 602 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_q !< 603 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_qr !< 604 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_s !< 605 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_sa !< 606 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_u !< 607 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_v !< 608 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_w !< 609 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: kh !< 610 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: km !< 611 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: l_wall !< 612 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: prr !< 613 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: p_loc !< 614 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tend !< 615 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tric !< 616 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_l !< 617 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_n !< 618 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_r !< 619 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_s !< 620 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_l !< 621 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_n !< 622 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_r !< 623 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_s !< 624 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_l !< 625 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_n !< 626 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_r !< 627 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_s !< 590 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: d !< divergence 591 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dx !< gradient of sgs tke in x-direction (lpm) 592 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dy !< gradient of sgs tke in y-direction (lpm) 593 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dz !< gradient of sgs tke in z-direction (lpm) 594 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss !< TKE dissipation rate 595 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_e !< artificial numerical dissipation flux at left face of grid box - subgrid-scale TKE 596 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_nr !< artificial numerical dissipation flux at left face of grid box - raindrop-number concentration 597 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_pt !< artificial numerical dissipation flux at left face of grid box - potential temperature 598 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_q !< artificial numerical dissipation flux at left face of grid box - mixing ratio 599 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_qr !< artificial numerical dissipation flux at left face of grid box - rainwater 600 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_s !< artificial numerical dissipation flux at left face of grid box - passive scalar 601 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_sa !< artificial numerical dissipation flux at left face of grid box - salinity 602 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_u !< artificial numerical dissipation flux at left face of grid box - u-component 603 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_v !< artificial numerical dissipation flux at left face of grid box - v-component 604 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_w !< artificial numerical dissipation flux at left face of grid box - w-component 605 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_e !< 6th-order advective flux at south face of grid box - subgrid-scale TKE 606 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_nr !< 6th-order advective flux at south face of grid box - raindrop-number concentration 607 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_pt !< 6th-order advective flux at south face of grid box - potential temperature 608 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_q !< 6th-order advective flux at south face of grid box - mixing ratio 609 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_qr !< 6th-order advective flux at south face of grid box - rainwater 610 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_s !< 6th-order advective flux at south face of grid box - passive scalar 611 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_sa !< 6th-order advective flux at south face of grid box - salinity 612 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_u !< 6th-order advective flux at south face of grid box - u-component 613 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_v !< 6th-order advective flux at south face of grid box - v-component 614 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_w !< 6th-order advective flux at south face of grid box - w-component 615 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: kh !< eddy diffusivity for heat 616 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: km !< eddy diffusivity for momentum 617 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: l_wall !< near-wall mixing length 618 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: prr !< rain rate 619 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: p_loc !< Siggi 620 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tend !< tendency field (time integration) 621 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tric !< Siggi 622 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_l !< Siggi 623 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_n !< Siggi 624 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_r !< Siggi 625 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_s !< Siggi 626 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_l !< Siggi 627 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_n !< Siggi 628 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_r !< Siggi 629 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_s !< Siggi 630 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_l !< Siggi 631 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_n !< Siggi 632 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_r !< Siggi 633 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_s !< Siggi 628 634 629 635 #if defined( __nopointer ) 630 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e !< 631 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_p !< 632 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr !< 633 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_p !< 634 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< 635 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho !< 636 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt !< 637 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_p !< 638 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q !< 639 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_p !< 640 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc !< 641 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql !< 642 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c !< 643 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< 644 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< 645 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr !< 646 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_p !< 647 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean !< 648 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s !< 649 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_p !< 650 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa !< 651 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_p !< 652 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: te_m !< 653 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tnr_m !< 654 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tpt_m !< 655 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tq_m !< 656 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tqr_m !< 657 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ts_m !< 658 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tsa_m !< 659 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tu_m !< 660 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tv_m !< 661 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tw_m !< 662 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u !< 663 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_p !< 664 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v !< 665 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_p !< 666 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt !< 667 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w !< 668 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_p !< 636 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e !< subgrid-scale turbulence kinetic energy (sgs tke) 637 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_p !< prognostic value of sgs tke 638 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr !< rain drop number density 639 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_p !< prognostic value of rain drop number density 640 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< perturbation pressure 641 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho !< potential density 642 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt !< potential temperature 643 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_p !< prognostic value of potential temperature 644 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q !< specific humidity 645 !< (or total water content with active cloud physics) 646 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_p !< prognostic value of specific humidity 647 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc !< cloud water content 648 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql !< liquid water content 649 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c !< change in liquid water content due to 650 !< condensation/evaporation during last time step 651 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< volume of liquid water 652 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< liquid water weighting factor 653 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr !< rain water content 654 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_p !< prognostic value of rain water content 655 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean !< density of ocean 656 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s !< passive scalar 657 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_p !< prognostic value of passive scalar 658 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa !< ocean salinity 659 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_p !< prognostic value of ocean salinity 660 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: te_m !< weighted tendency of e for previous sub-timestep (Runge-Kutta) 661 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tnr_m !< weighted tendency of nr for previous sub-timestep (Runge-Kutta) 662 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tpt_m !< weighted tendency of pt for previous sub-timestep (Runge-Kutta) 663 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tq_m !< weighted tendency of q for previous sub-timestep (Runge-Kutta) 664 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tqr_m !< weighted tendency of qr for previous sub-timestep (Runge-Kutta) 665 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ts_m !< weighted tendency of s for previous sub-timestep (Runge-Kutta) 666 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tsa_m !< weighted tendency of sa for previous sub-timestep (Runge-Kutta) 667 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tu_m !< weighted tendency of u for previous sub-timestep (Runge-Kutta) 668 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tv_m !< weighted tendency of v for previous sub-timestep (Runge-Kutta) 669 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tw_m !< weighted tendency of w for previous sub-timestep (Runge-Kutta) 670 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u !< horizontal velocity component u (x-direction) 671 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_p !< prognostic value of u 672 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v !< horizontal velocity component v (y-direction) 673 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_p !< prognostic value of v 674 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt !< virtual potential temperature 675 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w !< vertical velocity component w (z-direction) 676 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_p !< prognostic value of w 669 677 #else 670 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_1 !< 671 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_2 !< 672 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_3 !< 673 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< 674 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho_1 !< 675 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_1 !< 676 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_2 !< 677 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_3 !< 678 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_1 !< 679 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_2 !< 680 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_3 !< 681 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_1 !< 682 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_2 !< 683 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_3 !< 684 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_1 !< 685 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< 686 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< 687 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_1 !< 688 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_2 !< 689 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_1 !< 690 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_2 !< 691 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_3 !< 692 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_1 !< 693 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_1 !< 694 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_2 !< 695 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_3 !< 696 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_1 !< 697 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_2 !< 698 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_3 !< 699 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_1 !< 700 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_2 !< 701 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_3 !< 702 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_1 !< 703 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_2 !< 704 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_3 !< 705 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_1 !< 706 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_1 !< 707 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_2 !< 708 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_3 !< 709 710 REAL(wp), DIMENSION(:,:,:), POINTER :: e !< 711 REAL(wp), DIMENSION(:,:,:), POINTER :: e_p !< 712 REAL(wp), DIMENSION(:,:,:), POINTER :: nr !< 713 REAL(wp), DIMENSION(:,:,:), POINTER :: nr_p !< 714 REAL(wp), DIMENSION(:,:,:), POINTER :: prho !< 715 REAL(wp), DIMENSION(:,:,:), POINTER :: pt !< 716 REAL(wp), DIMENSION(:,:,:), POINTER :: pt_p !< 717 REAL(wp), DIMENSION(:,:,:), POINTER :: q !< 718 REAL(wp), DIMENSION(:,:,:), POINTER :: q_p !< 719 REAL(wp), DIMENSION(:,:,:), POINTER :: qc !< 720 REAL(wp), DIMENSION(:,:,:), POINTER :: ql !< 721 REAL(wp), DIMENSION(:,:,:), POINTER :: ql_c !< 722 REAL(wp), DIMENSION(:,:,:), POINTER :: qr !< 723 REAL(wp), DIMENSION(:,:,:), POINTER :: qr_p !< 724 REAL(wp), DIMENSION(:,:,:), POINTER :: rho_ocean !< 725 REAL(wp), DIMENSION(:,:,:), POINTER :: s !< 726 REAL(wp), DIMENSION(:,:,:), POINTER :: s_p !< 727 REAL(wp), DIMENSION(:,:,:), POINTER :: sa !< 728 REAL(wp), DIMENSION(:,:,:), POINTER :: sa_p !< 729 REAL(wp), DIMENSION(:,:,:), POINTER :: te_m !< 730 REAL(wp), DIMENSION(:,:,:), POINTER :: tnr_m !< 731 REAL(wp), DIMENSION(:,:,:), POINTER :: tpt_m !< 732 REAL(wp), DIMENSION(:,:,:), POINTER :: tq_m !< 733 REAL(wp), DIMENSION(:,:,:), POINTER :: tqr_m !< 734 REAL(wp), DIMENSION(:,:,:), POINTER :: ts_m !< 735 REAL(wp), DIMENSION(:,:,:), POINTER :: tsa_m !< 736 REAL(wp), DIMENSION(:,:,:), POINTER :: tu_m !< 737 REAL(wp), DIMENSION(:,:,:), POINTER :: tv_m !< 738 REAL(wp), DIMENSION(:,:,:), POINTER :: tw_m !< 739 REAL(wp), DIMENSION(:,:,:), POINTER :: u !< 740 REAL(wp), DIMENSION(:,:,:), POINTER :: u_p !< 741 REAL(wp), DIMENSION(:,:,:), POINTER :: v !< 742 REAL(wp), DIMENSION(:,:,:), POINTER :: v_p !< 743 REAL(wp), DIMENSION(:,:,:), POINTER :: vpt !< 744 REAL(wp), DIMENSION(:,:,:), POINTER :: w !< 745 REAL(wp), DIMENSION(:,:,:), POINTER :: w_p !< 678 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_1 !< pointer for swapping of timelevels for respective quantity 679 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_2 !< pointer for swapping of timelevels for respective quantity 680 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_3 !< pointer for swapping of timelevels for respective quantity 681 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< pointer: perturbation pressure 682 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho_1 !< pointer for swapping of timelevels for respective quantity 683 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_1 !< pointer for swapping of timelevels for respective quantity 684 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_2 !< pointer for swapping of timelevels for respective quantity 685 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_3 !< pointer for swapping of timelevels for respective quantity 686 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_1 !< pointer for swapping of timelevels for respective quantity 687 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_2 !< pointer for swapping of timelevels for respective quantity 688 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_3 !< pointer for swapping of timelevels for respective quantity 689 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_1 !< pointer for swapping of timelevels for respective quantity 690 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_2 !< pointer for swapping of timelevels for respective quantity 691 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_3 !< pointer for swapping of timelevels for respective quantity 692 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_1 !< pointer for swapping of timelevels for respective quantity 693 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< pointer: volume of liquid water 694 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< pointer: liquid water weighting factor 695 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_1 !< pointer for swapping of timelevels for respective quantity 696 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_2 !< pointer for swapping of timelevels for respective quantity 697 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_1 !< pointer for swapping of timelevels for respective quantity 698 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_2 !< pointer for swapping of timelevels for respective quantity 699 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_3 !< pointer for swapping of timelevels for respective quantity 700 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_1 !< pointer for swapping of timelevels for respective quantity 701 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_1 !< pointer for swapping of timelevels for respective quantity 702 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_2 !< pointer for swapping of timelevels for respective quantity 703 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_3 !< pointer for swapping of timelevels for respective quantity 704 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_1 !< pointer for swapping of timelevels for respective quantity 705 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_2 !< pointer for swapping of timelevels for respective quantity 706 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_3 !< pointer for swapping of timelevels for respective quantity 707 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_1 !< pointer for swapping of timelevels for respective quantity 708 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_2 !< pointer for swapping of timelevels for respective quantity 709 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_3 !< pointer for swapping of timelevels for respective quantity 710 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_1 !< pointer for swapping of timelevels for respective quantity 711 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_2 !< pointer for swapping of timelevels for respective quantity 712 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_3 !< pointer for swapping of timelevels for respective quantity 713 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_1 !< pointer for swapping of timelevels for respective quantity 714 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_1 !< pointer for swapping of timelevels for respective quantity 715 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_2 !< pointer for swapping of timelevels for respective quantity 716 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_3 !< pointer for swapping of timelevels for respective quantity 717 718 REAL(wp), DIMENSION(:,:,:), POINTER :: e !< pointer: subgrid-scale turbulence kinetic energy (sgs tke) 719 REAL(wp), DIMENSION(:,:,:), POINTER :: e_p !< pointer: prognostic value of sgs tke 720 REAL(wp), DIMENSION(:,:,:), POINTER :: nr !< pointer: rain drop number density 721 REAL(wp), DIMENSION(:,:,:), POINTER :: nr_p !< pointer: prognostic value of rain drop number density 722 REAL(wp), DIMENSION(:,:,:), POINTER :: prho !< pointer: potential density 723 REAL(wp), DIMENSION(:,:,:), POINTER :: pt !< pointer: potential temperature 724 REAL(wp), DIMENSION(:,:,:), POINTER :: pt_p !< pointer: prognostic value of potential temperature 725 REAL(wp), DIMENSION(:,:,:), POINTER :: q !< pointer: specific humidity 726 REAL(wp), DIMENSION(:,:,:), POINTER :: q_p !< pointer: prognostic value of specific humidity 727 REAL(wp), DIMENSION(:,:,:), POINTER :: qc !< pointer: cloud water content 728 REAL(wp), DIMENSION(:,:,:), POINTER :: ql !< pointer: liquid water content 729 REAL(wp), DIMENSION(:,:,:), POINTER :: ql_c !< pointer: change in liquid water content due to 730 !< condensation/evaporation during last time step 731 REAL(wp), DIMENSION(:,:,:), POINTER :: qr !< pointer: rain water content 732 REAL(wp), DIMENSION(:,:,:), POINTER :: qr_p !< pointer: prognostic value of rain water content 733 REAL(wp), DIMENSION(:,:,:), POINTER :: rho_ocean !< pointer: density of ocean 734 REAL(wp), DIMENSION(:,:,:), POINTER :: s !< pointer: passive scalar 735 REAL(wp), DIMENSION(:,:,:), POINTER :: s_p !< pointer: prognostic value of passive scalar 736 REAL(wp), DIMENSION(:,:,:), POINTER :: sa !< pointer: ocean salinity 737 REAL(wp), DIMENSION(:,:,:), POINTER :: sa_p !< pointer: prognostic value of ocean salinity 738 REAL(wp), DIMENSION(:,:,:), POINTER :: te_m !< pointer: weighted tendency of e for previous sub-timestep (Runge-Kutta) 739 REAL(wp), DIMENSION(:,:,:), POINTER :: tnr_m !< pointer: weighted tendency of nr for previous sub-timestep (Runge-Kutta) 740 REAL(wp), DIMENSION(:,:,:), POINTER :: tpt_m !< pointer: weighted tendency of pt for previous sub-timestep (Runge-Kutta) 741 REAL(wp), DIMENSION(:,:,:), POINTER :: tq_m !< pointer: weighted tendency of q for previous sub-timestep (Runge-Kutta) 742 REAL(wp), DIMENSION(:,:,:), POINTER :: tqr_m !< pointer: weighted tendency of qr for previous sub-timestep (Runge-Kutta) 743 REAL(wp), DIMENSION(:,:,:), POINTER :: ts_m !< pointer: weighted tendency of s for previous sub-timestep (Runge-Kutta) 744 REAL(wp), DIMENSION(:,:,:), POINTER :: tsa_m !< pointer: weighted tendency of sa for previous sub-timestep (Runge-Kutta) 745 REAL(wp), DIMENSION(:,:,:), POINTER :: tu_m !< pointer: weighted tendency of u for previous sub-timestep (Runge-Kutta) 746 REAL(wp), DIMENSION(:,:,:), POINTER :: tv_m !< pointer: weighted tendency of v for previous sub-timestep (Runge-Kutta) 747 REAL(wp), DIMENSION(:,:,:), POINTER :: tw_m !< pointer: weighted tendency of w for previous sub-timestep (Runge-Kutta) 748 REAL(wp), DIMENSION(:,:,:), POINTER :: u !< pointer: horizontal velocity component u (x-direction) 749 REAL(wp), DIMENSION(:,:,:), POINTER :: u_p !< pointer: prognostic value of u 750 REAL(wp), DIMENSION(:,:,:), POINTER :: v !< pointer: horizontal velocity component v (y-direction) 751 REAL(wp), DIMENSION(:,:,:), POINTER :: v_p !< pointer: prognostic value of v 752 REAL(wp), DIMENSION(:,:,:), POINTER :: vpt !< pointer: virtual potential temperature 753 REAL(wp), DIMENSION(:,:,:), POINTER :: w !< pointer: vertical velocity component w (z-direction) 754 REAL(wp), DIMENSION(:,:,:), POINTER :: w_p !< pointer: prognostic value of w 746 755 #endif 747 756 748 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: tri !< 757 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: tri !< Siggi 749 758 750 759 REAL(wp), DIMENSION(:), ALLOCATABLE :: rho_air !< air density profile on the uv grid … … 777 786 USE kinds 778 787 779 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: lwp_av !< Avg. liquid water path 780 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_rate_av !< Avg. of precipitation rate 781 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ol_av !< Avg. of Obukhov length 782 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qsws_av !< Avg. of surface moisture flux 783 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ssws_av !< Avg. of surface scalar flux 784 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: shf_av !< Avg. of surface heat flux 785 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_av !< Avg. of characteristic temperature scale 786 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: us_av !< Avg. of friction velocity 787 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0_av !< Avg. of roughness length for momentum 788 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0h_av !< Avg. of roughness length for heat 789 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0q_av !< Avg. of roughness length for moisture 790 791 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_av !< 792 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: lpt_av !< 793 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_av !< 794 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p_av !< 795 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pc_av !< 796 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pr_av !< 797 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prr_av !< 798 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_av !< 799 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_av !< 800 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_av !< 801 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_av !< 802 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c_av !< 803 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v_av !< 804 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp_av !< 805 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_av !< 806 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qv_av !< 807 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean_av !< 808 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_av !< 809 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_av !< 810 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_av !< 811 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_av !< 812 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_av !< 813 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_av !< 788 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: lwp_av !< avg. liquid water path 789 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_rate_av !< avg. precipitation rate 790 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ol_av !< avg. Obukhov length 791 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qsws_av !< avg. surface moisture flux 792 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ssws_av !< avg. surface scalar flux 793 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: shf_av !< avg. surface heat flux 794 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_av !< avg. characteristic temperature scale 795 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: us_av !< avg. friction velocity 796 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0_av !< avg. roughness length for momentum 797 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0h_av !< avg. roughness length for heat 798 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0q_av !< avg. roughness length for moisture 799 800 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_av !< avg. subgrid-scale tke 801 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: lpt_av !< avg. liquid water potential temperature 802 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_av !< avg. rain drop number density 803 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p_av !< avg. perturbation pressure 804 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pc_av !< avg. particle/droplet concentration 805 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pr_av !< avg. particle/droplet radius 806 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prr_av !< avg. precipitation rate 807 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_av !< avg. potential temperature 808 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_av !< avg. specific humidity 809 !< (or total water content with active cloud physics) 810 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_av !< avg. cloud water content 811 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_av !< avg. liquid water content 812 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c_av !< avg. change in liquid water content due to 813 !< condensation/evaporation during last time step 814 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v_av !< avg. volume of liquid water 815 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp_av !< avg. liquid water weighting factor 816 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_av !< avg. rain water content 817 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qv_av !< avg. water vapor content (specific humidity) 818 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean_av !< avg. ocean density 819 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_av !< avg. passive scalar 820 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_av !< avg. salinity 821 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_av !< avg. horizontal velocity component u 822 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_av !< avg. horizontal velocity component v 823 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_av !< avg. virtual potential temperature 824 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_av !< avg. vertical velocity component 814 825 815 826 END MODULE averaging … … 835 846 836 847 837 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyrho !< 838 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_d_t !< 839 REAL(wp), DIMENSION(:), ALLOCATABLE :: t_d_pt !< 848 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyrho !< density of air calculated with hydrostatic pressure 849 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_d_t !< ratio of potential and actual temperature 850 REAL(wp), DIMENSION(:), ALLOCATABLE :: t_d_pt !< ratio of actual and potential temperature 840 851 841 852 SAVE … … 853 864 USE kinds 854 865 855 REAL(wp) :: pi = 3.141592654_wp !< 856 REAL(wp) :: adv_mom_1 !< 857 REAL(wp) :: adv_mom_3 !< 858 REAL(wp) :: adv_mom_5 !< 859 REAL(wp) :: adv_sca_1 !< 860 REAL(wp) :: adv_sca_3 !< 861 REAL(wp) :: adv_sca_5 !< 866 REAL(wp) :: pi = 3.141592654_wp !< PI 867 REAL(wp) :: adv_mom_1 !< 1/4 - constant used in 5th-order advection scheme for momentum advection (1st-order part) 868 REAL(wp) :: adv_mom_3 !< 1/24 - constant used in 5th-order advection scheme for momentum advection (3rd-order part) 869 REAL(wp) :: adv_mom_5 !< 1/120 - constant used in 5th-order advection scheme for momentum advection (5th-order part) 870 REAL(wp) :: adv_sca_1 !< 1/2 - constant used in 5th-order advection scheme for scalar advection (1st-order part) 871 REAL(wp) :: adv_sca_3 !< 1/12 - constant used in 5th-order advection scheme for scalar advection (3rd-order part) 872 REAL(wp) :: adv_sca_5 !< 1/60 - constant used in 5th-order advection scheme for scalar advection (5th-order part) 862 873 863 874 SAVE … … 876 887 877 888 TYPE plot_precision 878 CHARACTER (LEN=8) :: variable !< 879 INTEGER(iwp) :: precision !< 889 CHARACTER (LEN=8) :: variable !< Siggi 890 INTEGER(iwp) :: precision !< Siggi 880 891 END TYPE plot_precision 881 892 882 TYPE(plot_precision), DIMENSION(100) :: plot_3d_precision = & !< 893 TYPE(plot_precision), DIMENSION(100) :: plot_3d_precision = & !< Siggi 883 894 (/ plot_precision( 'u', 2 ), plot_precision( 'v', 2 ), & 884 895 plot_precision( 'w', 2 ), plot_precision( 'p', 5 ), & … … 887 898 888 899 TYPE file_status 889 LOGICAL :: opened !< 890 LOGICAL :: opened_before !< 900 LOGICAL :: opened !< Siggi 901 LOGICAL :: opened_before !< Siggi 891 902 END TYPE file_status 892 903 893 INTEGER, PARAMETER :: mask_xyz_dimension = 100 !< 894 INTEGER, PARAMETER :: max_masks = 50 !< 904 INTEGER, PARAMETER :: mask_xyz_dimension = 100 !< limit of mask dimensions (100 points in each direction) 905 INTEGER, PARAMETER :: max_masks = 50 !< maximum number of masks 895 906 INTEGER(iwp), PARAMETER :: varnamelength = 30 !< length of output variable names 896 907 897 TYPE(file_status), DIMENSION(200+2*max_masks) :: & !< 908 TYPE(file_status), DIMENSION(200+2*max_masks) :: & !< Siggi 898 909 openfile = file_status(.FALSE.,.FALSE.) 899 910 900 CHARACTER (LEN=1) :: cycle_mg = 'w' !< 901 CHARACTER (LEN=1) :: timestep_reason = ' ' !< 902 CHARACTER (LEN=3) :: coupling_char = '' !< 903 CHARACTER (LEN=5) :: write_binary = 'false' !< 904 CHARACTER (LEN=8) :: most_method = 'newton' !< NAMELIST parameter defining method to be used to calculate Okukhov length, 905 CHARACTER (LEN=8) :: run_date !< 906 CHARACTER (LEN=8) :: run_time !< 907 CHARACTER (LEN=9) :: simulated_time_chr !< 908 CHARACTER (LEN=11) :: topography_grid_convention = ' ' !< 909 CHARACTER (LEN=12) :: version = ' ' !< 910 CHARACTER (LEN=12) :: revision = ' ' !< 911 CHARACTER (LEN=12) :: user_interface_current_revision = ' ' !< 912 CHARACTER (LEN=12) :: user_interface_required_revision = ' ' !< 913 CHARACTER (LEN=16) :: conserve_volume_flow_mode = 'default' !< 914 CHARACTER (LEN=16) :: loop_optimization = 'default' !< 915 CHARACTER (LEN=16) :: momentum_advec = 'ws-scheme' !< 916 CHARACTER (LEN=16) :: psolver = 'poisfft' !< 917 CHARACTER (LEN=16) :: scalar_advec = 'ws-scheme' !< 918 CHARACTER (LEN=20) :: approximation = 'boussinesq' !< 919 CHARACTER (LEN=40) :: flux_input_mode = 'approximation-specific' !< 920 CHARACTER (LEN=40) :: flux_output_mode = 'approximation-specific' !< 921 CHARACTER (LEN=20) :: bc_e_b = 'neumann' !< 922 CHARACTER (LEN=20) :: bc_lr = 'cyclic' !< 923 CHARACTER (LEN=20) :: bc_ns = 'cyclic' !< 924 CHARACTER (LEN=20) :: bc_p_b = 'neumann' !< 925 CHARACTER (LEN=20) :: bc_p_t = 'dirichlet' !< 926 CHARACTER (LEN=20) :: bc_pt_b = 'dirichlet' !< 927 CHARACTER (LEN=20) :: bc_pt_t = 'initial_gradient' !< 928 CHARACTER (LEN=20) :: bc_q_b = 'dirichlet' !< 929 CHARACTER (LEN=20) :: bc_q_t = 'neumann' !< 930 CHARACTER (LEN=20) :: bc_s_b = 'dirichlet' !< 931 CHARACTER (LEN=20) :: bc_s_t = 'initial_gradient' !< 932 CHARACTER (LEN=20) :: bc_sa_t = 'neumann' !< 933 CHARACTER (LEN=20) :: bc_uv_b = 'dirichlet' !< 934 CHARACTER (LEN=20) :: bc_uv_t = 'dirichlet' !< 935 CHARACTER (LEN=20) :: cloud_scheme = 'saturation_adjust' !< 936 CHARACTER (LEN=20) :: coupling_mode = 'uncoupled' !< 937 CHARACTER (LEN=20) :: coupling_mode_remote = 'uncoupled' !< 938 CHARACTER (LEN=20) :: dissipation_1d = 'detering' !< 939 CHARACTER (LEN=20) :: fft_method = 'system-specific' !< 940 CHARACTER (LEN=20) :: mixing_length_1d = 'blackadar' !< 941 CHARACTER (LEN=20) :: random_generator = 'random-parallel' !< 942 CHARACTER (LEN=20) :: reference_state = 'initial_profile' !< 943 CHARACTER (LEN=20) :: return_addres !< 944 CHARACTER (LEN=20) :: return_username !< 945 CHARACTER (LEN=20) :: timestep_scheme = 'runge-kutta-3' !< 946 CHARACTER (LEN=40) :: avs_data_file !< 947 CHARACTER (LEN=40) :: topography = 'flat' !< 948 CHARACTER (LEN=64) :: host = ' ' !< 949 CHARACTER (LEN=80) :: log_message !< 950 CHARACTER (LEN=80) :: run_identifier !< 951 CHARACTER (LEN=100) :: initializing_actions = ' ' !< 952 CHARACTER (LEN=210) :: run_description_header !< 953 CHARACTER (LEN=1000) :: message_string = ' ' !< 954 955 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output = ' ' !< 956 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output_user = ' ' !< 957 CHARACTER (LEN=varnamelength), DIMENSION(500) :: doav = ' ' !< 911 CHARACTER (LEN=1) :: cycle_mg = 'w' !< namelist parameter (see documentation) 912 CHARACTER (LEN=1) :: timestep_reason = ' ' !< 'A'dvection or 'D'iffusion criterion, written to RUN_CONTROL file 913 CHARACTER (LEN=3) :: coupling_char = '' !< Siggi 914 CHARACTER (LEN=5) :: write_binary = 'false' !< internal namelist parameter Siggi--> Why is this not a flag? 915 CHARACTER (LEN=8) :: most_method = 'newton' !< namelist parameter 916 CHARACTER (LEN=8) :: run_date !< date of simulation run, printed to HEADER file 917 CHARACTER (LEN=8) :: run_time !< time of simulation run, printed to HEADER file 918 CHARACTER (LEN=9) :: simulated_time_chr !< simulated time, printed to RUN_CONTROL file 919 CHARACTER (LEN=11) :: topography_grid_convention = ' ' !< namelist parameter 920 CHARACTER (LEN=12) :: version = ' ' !< PALM version number 921 CHARACTER (LEN=12) :: revision = ' ' !< PALM revision number 922 CHARACTER (LEN=12) :: user_interface_current_revision = ' ' !< Siggi 923 CHARACTER (LEN=12) :: user_interface_required_revision = ' ' !< Siggi 924 CHARACTER (LEN=16) :: conserve_volume_flow_mode = 'default' !< namelist parameter 925 CHARACTER (LEN=16) :: loop_optimization = 'default' !< namelist parameter 926 CHARACTER (LEN=16) :: momentum_advec = 'ws-scheme' !< namelist parameter 927 CHARACTER (LEN=16) :: psolver = 'poisfft' !< namelist parameter 928 CHARACTER (LEN=16) :: scalar_advec = 'ws-scheme' !< namelist parameter 929 CHARACTER (LEN=20) :: approximation = 'boussinesq' !< namelist parameter 930 CHARACTER (LEN=40) :: flux_input_mode = 'approximation-specific' !< type of flux input: dynamic or kinematic 931 CHARACTER (LEN=40) :: flux_output_mode = 'approximation-specific' !< type of flux output: dynamic or kinematic 932 CHARACTER (LEN=20) :: bc_e_b = 'neumann' !< namelist parameter 933 CHARACTER (LEN=20) :: bc_lr = 'cyclic' !< namelist parameter 934 CHARACTER (LEN=20) :: bc_ns = 'cyclic' !< namelist parameter 935 CHARACTER (LEN=20) :: bc_p_b = 'neumann' !< namelist parameter 936 CHARACTER (LEN=20) :: bc_p_t = 'dirichlet' !< namelist parameter 937 CHARACTER (LEN=20) :: bc_pt_b = 'dirichlet' !< namelist parameter 938 CHARACTER (LEN=20) :: bc_pt_t = 'initial_gradient' !< namelist parameter 939 CHARACTER (LEN=20) :: bc_q_b = 'dirichlet' !< namelist parameter 940 CHARACTER (LEN=20) :: bc_q_t = 'neumann' !< namelist parameter 941 CHARACTER (LEN=20) :: bc_s_b = 'dirichlet' !< namelist parameter 942 CHARACTER (LEN=20) :: bc_s_t = 'initial_gradient' !< namelist parameter 943 CHARACTER (LEN=20) :: bc_sa_t = 'neumann' !< namelist parameter 944 CHARACTER (LEN=20) :: bc_uv_b = 'dirichlet' !< namelist parameter 945 CHARACTER (LEN=20) :: bc_uv_t = 'dirichlet' !< namelist parameter 946 CHARACTER (LEN=20) :: cloud_scheme = 'saturation_adjust' !< namelist parameter 947 CHARACTER (LEN=20) :: coupling_mode = 'uncoupled' !< coupling mode for atmosphere-ocean coupling 948 CHARACTER (LEN=20) :: coupling_mode_remote = 'uncoupled' !< Siggi 949 CHARACTER (LEN=20) :: dissipation_1d = 'detering' !< namelist parameter 950 CHARACTER (LEN=20) :: fft_method = 'system-specific' !< namelist parameter 951 CHARACTER (LEN=20) :: mixing_length_1d = 'blackadar' !< namelist parameter 952 CHARACTER (LEN=20) :: random_generator = 'random-parallel' !< namelist parameter 953 CHARACTER (LEN=20) :: reference_state = 'initial_profile' !< namelist parameter 954 CHARACTER (LEN=20) :: return_addres !< Siggi 955 CHARACTER (LEN=20) :: return_username !< Siggi 956 CHARACTER (LEN=20) :: timestep_scheme = 'runge-kutta-3' !< namelist parameter 957 CHARACTER (LEN=40) :: avs_data_file !< Siggi 958 CHARACTER (LEN=40) :: topography = 'flat' !< namelist parameter 959 CHARACTER (LEN=64) :: host = ' ' !< Siggi 960 CHARACTER (LEN=80) :: log_message !< Siggi 961 CHARACTER (LEN=80) :: run_identifier !< Siggi 962 CHARACTER (LEN=100) :: initializing_actions = ' ' !< namelist parameter 963 CHARACTER (LEN=210) :: run_description_header !< Siggi 964 CHARACTER (LEN=1000) :: message_string = ' ' !< dynamic string for error message output 965 966 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output = ' ' !< namelist parameter 967 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output_user = ' ' !< namelist parameter 968 CHARACTER (LEN=varnamelength), DIMENSION(500) :: doav = ' ' !< label array for multi-dimensional, 969 !< averaged output quantities 958 970 959 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks = ' ' !< 960 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks_user = ' ' !< 961 962 CHARACTER (LEN=varnamelength), DIMENSION(300) :: data_output_pr = ' ' !< 971 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks = ' ' !< namelist parameter 972 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks_user = ' ' !< namelist parameter 973 974 CHARACTER (LEN=varnamelength), DIMENSION(300) :: data_output_pr = ' ' !< namelist parameter 963 975 964 CHARACTER (LEN=varnamelength), DIMENSION(200) :: data_output_pr_user = ' ' !< 976 CHARACTER (LEN=varnamelength), DIMENSION(200) :: data_output_pr_user = ' ' !< namelist parameter 965 977 966 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,0:1,100) :: domask = ' ' !< 978 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,0:1,100) :: domask = ' ' !< label array for multi-dimensional, 979 !< masked output quantities 967 980 968 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do2d = ' ' !< 969 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do3d = ' ' !< 970 971 INTEGER(iwp), PARAMETER :: fl_max = 100 !< 972 INTEGER(iwp), PARAMETER :: var_fl_max = 20 !< 981 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do2d = ' ' !< label array for 2d output quantities 982 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do3d = ' ' !< label array for 3d output quantities 983 984 INTEGER(iwp), PARAMETER :: fl_max = 100 !< maximum number of virtual-flight measurements 985 INTEGER(iwp), PARAMETER :: var_fl_max = 20 !< maximum number of different sampling variables in virtual flight measurements 973 986 974 INTEGER(iwp) :: abort_mode = 1 !< 975 INTEGER(iwp) :: average_count_pr = 0 !< 976 INTEGER(iwp) :: average_count_3d = 0 !< 977 INTEGER(iwp) :: current_timestep_number = 0 !< 978 INTEGER(iwp) :: coupling_topology = 0 !< 979 INTEGER(iwp) :: dist_range = 0 !< 980 INTEGER(iwp) :: disturbance_level_ind_b !< 981 INTEGER(iwp) :: disturbance_level_ind_t !< 982 INTEGER(iwp) :: doav_n = 0 !< 983 INTEGER(iwp) :: dopr_n = 0 !< 984 INTEGER(iwp) :: dopr_time_count = 0 !< 985 INTEGER(iwp) :: dopts_time_count = 0 !< 986 INTEGER(iwp) :: dots_time_count = 0 !< 987 INTEGER(iwp) :: do2d_xy_n = 0 !< 988 INTEGER(iwp) :: do2d_xz_n = 0 !< 989 INTEGER(iwp) :: do2d_yz_n = 0 !< 990 INTEGER(iwp) :: do3d_avs_n = 0 !< 991 INTEGER(iwp) :: dp_level_ind_b = 0 !< 992 INTEGER(iwp) :: dvrp_filecount = 0 !< 993 INTEGER(iwp) :: dz_stretch_level_index !< 994 INTEGER(iwp) :: ensemble_member_nr = 0 !< 995 INTEGER(iwp) :: gamma_mg !< 996 INTEGER(iwp) :: gathered_size !< 997 INTEGER(iwp) :: grid_level !< 998 INTEGER(iwp) :: ibc_e_b !< 999 INTEGER(iwp) :: ibc_p_b !< 1000 INTEGER(iwp) :: ibc_p_t !< 1001 INTEGER(iwp) :: ibc_pt_b !< 1002 INTEGER(iwp) :: ibc_pt_t !< 1003 INTEGER(iwp) :: ibc_q_b !< 1004 INTEGER(iwp) :: ibc_q_t !< 1005 INTEGER(iwp) :: ibc_s_b !< 1006 INTEGER(iwp) :: ibc_s_t !< 1007 INTEGER(iwp) :: ibc_sa_t !< 1008 INTEGER(iwp) :: ibc_uv_b !< 1009 INTEGER(iwp) :: ibc_uv_t !< 1010 INTEGER(iwp) :: inflow_disturbance_begin = -1 !< 1011 INTEGER(iwp) :: inflow_disturbance_end = -1 !< 1012 INTEGER(iwp) :: intermediate_timestep_count !< 1013 INTEGER(iwp) :: intermediate_timestep_count_max !< 1014 INTEGER(iwp) :: io_group = 0 !< 1015 INTEGER(iwp) :: io_blocks = 1 !< 1016 INTEGER(iwp) :: iran = -1234567 !< 987 INTEGER(iwp) :: abort_mode = 1 !< abort condition (nested runs) 988 INTEGER(iwp) :: average_count_pr = 0 !< number of samples in vertical-profile output 989 INTEGER(iwp) :: average_count_3d = 0 !< number of samples in 3d output 990 INTEGER(iwp) :: current_timestep_number = 0 !< current timestep number, printed to RUN_CONTROL file 991 INTEGER(iwp) :: coupling_topology = 0 !< processor topology for atmosphere-ocean coupling Siggi 992 INTEGER(iwp) :: dist_range = 0 !< Siggi 993 INTEGER(iwp) :: disturbance_level_ind_b !< lowest grid index where flow disturbance is applied 994 INTEGER(iwp) :: disturbance_level_ind_t !< highest grid index where flow disturbance is applied 995 INTEGER(iwp) :: doav_n = 0 !< number of 2d/3d output quantities subject to time averaging 996 INTEGER(iwp) :: dopr_n = 0 !< number of profile output quantities subject to time averaging 997 INTEGER(iwp) :: dopr_time_count = 0 !< number of output intervals for profile output 998 INTEGER(iwp) :: dopts_time_count = 0 !< number of output intervals for particle data timeseries 999 INTEGER(iwp) :: dots_time_count = 0 !< number of output intervals for timeseries output 1000 INTEGER(iwp) :: dp_level_ind_b = 0 !< lowest grid index for external pressure gradient forcing 1001 INTEGER(iwp) :: dvrp_filecount = 0 !< Siggi 1002 INTEGER(iwp) :: dz_stretch_level_index !< Siggi 1003 INTEGER(iwp) :: ensemble_member_nr = 0 !< namelist parameter 1004 INTEGER(iwp) :: gamma_mg !< Siggi 1005 INTEGER(iwp) :: gathered_size !< Siggi 1006 INTEGER(iwp) :: grid_level !< Siggi 1007 INTEGER(iwp) :: ibc_e_b !< integer flag for bc_e_b 1008 INTEGER(iwp) :: ibc_p_b !< integer flag for bc_p_b 1009 INTEGER(iwp) :: ibc_p_t !< integer flag for bc_p_t 1010 INTEGER(iwp) :: ibc_pt_b !< integer flag for bc_pt_b 1011 INTEGER(iwp) :: ibc_pt_t !< integer flag for bc_pt_t 1012 INTEGER(iwp) :: ibc_q_b !< integer flag for bc_q_b 1013 INTEGER(iwp) :: ibc_q_t !< integer flag for bc_q_t 1014 INTEGER(iwp) :: ibc_s_b !< integer flag for bc_s_b 1015 INTEGER(iwp) :: ibc_s_t !< integer flag for bc_s_t 1016 INTEGER(iwp) :: ibc_sa_t !< integer flag for bc_sa_t 1017 INTEGER(iwp) :: ibc_uv_b !< integer flag for bc_uv_b 1018 INTEGER(iwp) :: ibc_uv_t !< integer flag for bc_uv_t 1019 INTEGER(iwp) :: inflow_disturbance_begin = -1 !< namelist parameter 1020 INTEGER(iwp) :: inflow_disturbance_end = -1 !< namelist parameter 1021 INTEGER(iwp) :: intermediate_timestep_count !< number of current Runge-Kutta substep 1022 INTEGER(iwp) :: intermediate_timestep_count_max !< maximum number of Runge-Kutta substeps 1023 INTEGER(iwp) :: io_group = 0 !< Siggi 1024 INTEGER(iwp) :: io_blocks = 1 !< Siggi 1025 INTEGER(iwp) :: iran = -1234567 !< integer random number used for flow disturbances 1017 1026 INTEGER(iwp) :: lod = 1 !< level of detail, topography input parameter 1018 INTEGER(iwp) :: masks = 0 !< 1019 INTEGER(iwp) :: maximum_grid_level !< 1020 INTEGER(iwp) :: maximum_parallel_io_streams = -1 !< 1021 INTEGER(iwp) :: max_pr_user = 0 !< 1022 INTEGER(iwp) :: mgcycles = 0 !< 1023 INTEGER(iwp) :: mg_cycles = -1 !< 1024 INTEGER(iwp) :: mg_switch_to_pe0_level = -1 !< 1025 INTEGER(iwp) :: mid !< 1026 INTEGER(iwp) :: nlsf = 1000 !< 1027 INTEGER(iwp) :: ntnudge = 1000 !< 1028 INTEGER(iwp) :: ngsrb = 2 !< 1029 INTEGER(iwp) :: nr_timesteps_this_run = 0 !< 1030 INTEGER(iwp) :: nsor = 20 !< 1031 INTEGER(iwp) :: nsor_ini = 100 !< 1032 INTEGER(iwp) :: n_sor !< 1033 INTEGER(iwp) :: normalizing_region = 0 !< 1034 INTEGER(iwp) :: num_leg=0 !< 1035 INTEGER(iwp) :: num_var_fl !< 1036 INTEGER(iwp) :: num_var_fl_user=0 !< 1037 INTEGER(iwp) :: nz_do3d = -9999 !< 1038 INTEGER(iwp) :: prt_time_count = 0 !< 1039 INTEGER(iwp) :: recycling_plane !< 1040 INTEGER(iwp) :: runnr = 0 !< 1041 INTEGER(iwp) :: skip_do_avs = 0 !< 1042 INTEGER(iwp) :: subdomain_size !< 1043 INTEGER(iwp) :: terminate_coupled = 0 !< 1044 INTEGER(iwp) :: terminate_coupled_remote = 0 !< 1045 INTEGER(iwp) :: timestep_count = 0 !< 1046 1047 INTEGER(iwp) :: dist_nxl(0:1) !< 1048 INTEGER(iwp) :: dist_nxr(0:1) !< 1049 INTEGER(iwp) :: dist_nyn(0:1) !< 1050 INTEGER(iwp) :: dist_nys(0:1) !< 1051 INTEGER(iwp) :: do2d_no(0:1) = 0 !< 1052 INTEGER(iwp) :: do2d_xy_time_count(0:1) !< 1053 INTEGER(iwp) :: do2d_xz_time_count(0:1) !< 1054 INTEGER(iwp) :: do2d_yz_time_count(0:1) !< 1055 INTEGER(iwp) :: do3d_no(0:1) = 0 !< 1056 INTEGER(iwp) :: do3d_time_count(0:1) !< 1057 INTEGER(iwp) :: domask_no(max_masks,0:1) = 0 !< 1058 INTEGER(iwp) :: domask_time_count(max_masks,0:1) !< 1059 INTEGER(iwp) :: mask_size(max_masks,3) = -1 !< 1060 INTEGER(iwp) :: mask_size_l(max_masks,3) = -1 !< 1061 INTEGER(iwp) :: mask_start_l(max_masks,3) = -1 !< 1062 INTEGER(iwp) :: pt_vertical_gradient_level_ind(10) = -9999 !< 1063 INTEGER(iwp) :: q_vertical_gradient_level_ind(10) = -9999 !< 1064 INTEGER(iwp) :: s_vertical_gradient_level_ind(10) = -9999 !< 1065 INTEGER(iwp) :: sa_vertical_gradient_level_ind(10) = -9999 !< 1066 INTEGER(iwp) :: section(100,3) !< 1067 INTEGER(iwp) :: section_xy(100) = -9999 !< 1068 INTEGER(iwp) :: section_xz(100) = -9999 !< 1069 INTEGER(iwp) :: section_yz(100) = -9999 !< 1070 INTEGER(iwp) :: ug_vertical_gradient_level_ind(10) = -9999 !< 1071 INTEGER(iwp) :: vg_vertical_gradient_level_ind(10) = -9999 !< 1072 INTEGER(iwp) :: subs_vertical_gradient_level_i(10) = -9999 !< 1073 1074 1075 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xy !< 1076 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xz !< 1077 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_yz !< 1078 INTEGER(iwp), DIMENSION(0:1) :: ntdim_3d !< 1079 1080 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: grid_level_count !< 1081 1082 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i !< 1083 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j !< 1084 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k !< 1085 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i_global !< 1086 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j_global !< 1087 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k_global !< 1088 1089 LOGICAL :: bc_lr_cyc =.TRUE. !< 1090 LOGICAL :: bc_lr_dirrad = .FALSE. !< 1091 LOGICAL :: bc_lr_raddir = .FALSE. !< 1092 LOGICAL :: bc_ns_cyc = .TRUE. !< 1093 LOGICAL :: bc_ns_dirrad = .FALSE. !< 1094 LOGICAL :: bc_ns_raddir = .FALSE. !< 1095 LOGICAL :: call_microphysics_at_all_substeps = .FALSE. !< 1096 LOGICAL :: call_psolver_at_all_substeps = .TRUE. !< 1097 LOGICAL :: cloud_droplets = .FALSE. !< 1098 LOGICAL :: cloud_physics = .FALSE. !< 1099 LOGICAL :: cloud_top_radiation = .FALSE. !< 1100 LOGICAL :: conserve_volume_flow = .FALSE. !< 1101 LOGICAL :: constant_diffusion = .FALSE. !< 1102 LOGICAL :: constant_flux_layer = .TRUE. !< 1103 LOGICAL :: constant_heatflux = .TRUE. !< 1104 LOGICAL :: constant_top_heatflux = .TRUE. !< 1105 LOGICAL :: constant_top_momentumflux = .FALSE. !< 1106 LOGICAL :: constant_top_salinityflux = .TRUE. !< 1107 LOGICAL :: constant_top_scalarflux = .TRUE. !< 1108 LOGICAL :: constant_scalarflux = .TRUE. !< 1109 LOGICAL :: constant_waterflux = .TRUE. !< 1110 LOGICAL :: create_disturbances = .TRUE. !< 1111 LOGICAL :: data_output_2d_on_each_pe = .TRUE. !< 1112 LOGICAL :: dissipation_control = .FALSE. !< 1113 LOGICAL :: disturbance_created = .FALSE. !< 1114 LOGICAL :: do2d_at_begin = .FALSE. !< 1115 LOGICAL :: do3d_at_begin = .FALSE. !< 1116 LOGICAL :: do_sum = .FALSE. !< 1117 LOGICAL :: dp_external = .FALSE. !< 1118 LOGICAL :: dp_smooth = .FALSE. !< 1119 LOGICAL :: dt_fixed = .FALSE. !< 1120 LOGICAL :: dt_3d_reached !< 1121 LOGICAL :: dt_3d_reached_l !< 1122 LOGICAL :: exchange_mg = .FALSE. !< 1123 LOGICAL :: first_call_lpm = .TRUE. !< 1124 LOGICAL :: force_print_header = .FALSE. !< 1125 LOGICAL :: galilei_transformation = .FALSE. !< 1126 LOGICAL :: humidity = .FALSE. !< 1127 LOGICAL :: humidity_remote = .FALSE. !< 1128 LOGICAL :: inflow_l = .FALSE. !< 1129 LOGICAL :: inflow_n = .FALSE. !< 1130 LOGICAL :: inflow_r = .FALSE. !< 1131 LOGICAL :: inflow_s = .FALSE. !< 1132 LOGICAL :: large_scale_forcing = .FALSE. !< 1133 LOGICAL :: large_scale_subsidence = .FALSE. !< 1134 LOGICAL :: land_surface = .FALSE. !< flag parameter indicating wheather the lsm is used 1135 LOGICAL :: lsf_exception = .FALSE. !< temporary flag for use of lsf with buildings on flat terrain 1136 LOGICAL :: lsf_surf = .TRUE. !< 1137 LOGICAL :: lsf_vert = .TRUE. !< 1138 LOGICAL :: lptnudge = .FALSE. !< 1139 LOGICAL :: lqnudge = .FALSE. !< 1140 LOGICAL :: lunudge = .FALSE. !< 1141 LOGICAL :: lvnudge = .FALSE. !< 1142 LOGICAL :: lwnudge = .FALSE. !< 1143 LOGICAL :: masking_method = .FALSE. !< 1144 LOGICAL :: microphysics_sat_adjust = .FALSE. !< 1145 LOGICAL :: microphysics_kessler = .FALSE. !< 1146 LOGICAL :: microphysics_seifert = .FALSE. !< 1147 LOGICAL :: mg_switch_to_pe0 = .FALSE. !< 1148 LOGICAL :: nest_bound_l = .FALSE. !< nested boundary on left side 1149 LOGICAL :: nest_bound_n = .FALSE. !< nested boundary on north side 1150 LOGICAL :: nest_bound_r = .FALSE. !< nested boundary on right side 1151 LOGICAL :: nest_bound_s = .FALSE. !< nested boundary on south side 1152 LOGICAL :: nest_domain = .FALSE. !< domain is nested into a parent domain 1153 LOGICAL :: neutral = .FALSE. !< 1154 LOGICAL :: nudging = .FALSE. !< 1155 LOGICAL :: ocean = .FALSE. !< 1156 LOGICAL :: outflow_l = .FALSE. !< 1157 LOGICAL :: outflow_n = .FALSE. !< 1158 LOGICAL :: outflow_r = .FALSE. !< 1159 LOGICAL :: outflow_s = .FALSE. !< 1160 LOGICAL :: passive_scalar = .FALSE. !< 1161 LOGICAL :: precipitation = .FALSE. !< 1162 LOGICAL :: random_heatflux = .FALSE. !< 1163 LOGICAL :: recycling_yshift = .FALSE. !< 1164 LOGICAL :: run_control_header = .FALSE. !< 1165 LOGICAL :: run_coupled = .TRUE. !< 1166 LOGICAL :: scalar_rayleigh_damping = .TRUE. !< 1167 LOGICAL :: sloping_surface = .FALSE. !< 1168 LOGICAL :: stop_dt = .FALSE. !< 1169 LOGICAL :: synchronous_exchange = .FALSE. !< 1027 INTEGER(iwp) :: masks = 0 !< counter for number of masked output quantities 1028 INTEGER(iwp) :: maximum_grid_level !< Siggi 1029 INTEGER(iwp) :: maximum_parallel_io_streams = -1 !< Siggi 1030 INTEGER(iwp) :: max_pr_user = 0 !< number of user-defined profiles (must not change within a job chain) 1031 INTEGER(iwp) :: mgcycles = 0 !< Siggi 1032 INTEGER(iwp) :: mg_cycles = -1 !< namelist parameter 1033 INTEGER(iwp) :: mg_switch_to_pe0_level = -1 !< namelist parameter 1034 INTEGER(iwp) :: mid !< masked output running index 1035 INTEGER(iwp) :: nlsf = 1000 !< maximum number of profiles in LSF_DATA (large scale forcing) 1036 INTEGER(iwp) :: ntnudge = 1000 !< maximum number of profiles in NUDGING_DATA (nudging) 1037 INTEGER(iwp) :: ngsrb = 2 !< namelist parameter 1038 INTEGER(iwp) :: nr_timesteps_this_run = 0 !< number of timesteps (cpu time measurements) 1039 INTEGER(iwp) :: nsor = 20 !< namelist parameter 1040 INTEGER(iwp) :: nsor_ini = 100 !< namelist parameter 1041 INTEGER(iwp) :: n_sor !< number of iterations to be used in SOR-scheme 1042 INTEGER(iwp) :: normalizing_region = 0 !< namelist parameter 1043 INTEGER(iwp) :: num_leg=0 !< number of different legs in virtual flight measurements 1044 INTEGER(iwp) :: num_var_fl !< number of sampling/output variables in virtual flight measurements 1045 INTEGER(iwp) :: num_var_fl_user=0 !< number of user-defined sampling/output variables in virtual flight measurements 1046 INTEGER(iwp) :: nz_do3d = -9999 !< namelist parameter 1047 INTEGER(iwp) :: prt_time_count = 0 !< number of output intervals for particle data output 1048 INTEGER(iwp) :: recycling_plane !< position of recycling plane along x (in grid points) in case of turbulence recycling 1049 INTEGER(iwp) :: runnr = 0 !< number of run in job chain 1050 INTEGER(iwp) :: subdomain_size !< number of grid points in (3d) subdomain including ghost points 1051 INTEGER(iwp) :: terminate_coupled = 0 !< Siggi 1052 INTEGER(iwp) :: terminate_coupled_remote = 0 !< Siggi 1053 INTEGER(iwp) :: timestep_count = 0 !< Siggi --> is it not analogue to intermediate_timestep_count 1054 INTEGER(iwp) :: dist_nxl(0:1) !< left boundary of disturbance region 1055 INTEGER(iwp) :: dist_nxr(0:1) !< right boundary of disturbance region 1056 INTEGER(iwp) :: dist_nyn(0:1) !< north boundary of disturbance region 1057 INTEGER(iwp) :: dist_nys(0:1) !< south boundary of disturbance region 1058 INTEGER(iwp) :: do2d_no(0:1) = 0 !< number of 2d output quantities 1059 INTEGER(iwp) :: do2d_xy_time_count(0:1) !< number of output intervals for 2d data (xy) 1060 INTEGER(iwp) :: do2d_xz_time_count(0:1) !< number of output intervals for 2d data (xz) 1061 INTEGER(iwp) :: do2d_yz_time_count(0:1) !< number of output intervals for 2d data (yz) 1062 INTEGER(iwp) :: do3d_no(0:1) = 0 !< number of 3d output quantities 1063 INTEGER(iwp) :: do3d_time_count(0:1) !< number of output intervals for 3d data 1064 INTEGER(iwp) :: domask_no(max_masks,0:1) = 0 !< number of masked output quantities 1065 INTEGER(iwp) :: domask_time_count(max_masks,0:1) !< number of output intervals for masked data 1066 INTEGER(iwp) :: mask_size(max_masks,3) = -1 !< size of mask array per mask and dimension (for netcdf output) 1067 INTEGER(iwp) :: mask_size_l(max_masks,3) = -1 !< subdomain size of mask array per mask and dimension (for netcdf output) 1068 INTEGER(iwp) :: mask_start_l(max_masks,3) = -1 !< subdomain start index of mask array (for netcdf output) 1069 INTEGER(iwp) :: pt_vertical_gradient_level_ind(10) = -9999 !< grid index values of pt_vertical_gradient_level(s) 1070 INTEGER(iwp) :: q_vertical_gradient_level_ind(10) = -9999 !< grid index values of q_vertical_gradient_level(s) 1071 INTEGER(iwp) :: s_vertical_gradient_level_ind(10) = -9999 !< grid index values of s_vertical_gradient_level(s) 1072 INTEGER(iwp) :: sa_vertical_gradient_level_ind(10) = -9999 !< grid index values of sa_vertical_gradient_level(s) 1073 INTEGER(iwp) :: section(100,3) !< collective array for section_xy/xz/yz 1074 INTEGER(iwp) :: section_xy(100) = -9999 !< namelist parameter 1075 INTEGER(iwp) :: section_xz(100) = -9999 !< namelist parameter 1076 INTEGER(iwp) :: section_yz(100) = -9999 !< namelist parameter 1077 INTEGER(iwp) :: ug_vertical_gradient_level_ind(10) = -9999 !< grid index values of ug_vertical_gradient_level(s) 1078 INTEGER(iwp) :: vg_vertical_gradient_level_ind(10) = -9999 !< grid index values of vg_vertical_gradient_level(s) 1079 INTEGER(iwp) :: subs_vertical_gradient_level_i(10) = -9999 !< grid index values of subs_vertical_gradient_level(s) 1080 1081 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xy !< number of output intervals for 2d data (xy) 1082 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xz !< number of output intervals for 2d data (xz) 1083 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_yz !< number of output intervals for 2d data (yz) 1084 INTEGER(iwp), DIMENSION(0:1) :: ntdim_3d !< number of output intervals for 3d data 1085 1086 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: grid_level_count !< Siggi 1087 1088 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i !< subdomain grid index of masked output point on x-dimension 1089 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j !< subdomain grid index of masked output point on y-dimension 1090 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k !< subdomain grid index of masked output point on z-dimension 1091 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i_global !< global grid index of masked output point on x-dimension 1092 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j_global !< global grid index of masked output point on y-dimension 1093 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k_global !< global grid index of masked output point on z-dimension 1094 1095 LOGICAL :: bc_lr_cyc =.TRUE. !< left-right boundary condition cyclic? 1096 LOGICAL :: bc_lr_dirrad = .FALSE. !< left-right boundary condition dirichlet/radiation? 1097 LOGICAL :: bc_lr_raddir = .FALSE. !< left-right boundary condition radiation/dirichlet? 1098 LOGICAL :: bc_ns_cyc = .TRUE. !< north-south boundary condition cyclic? 1099 LOGICAL :: bc_ns_dirrad = .FALSE. !< north-south boundary condition dirichlet/radiation? 1100 LOGICAL :: bc_ns_raddir = .FALSE. !< north-south boundary condition radiation/dirichlet? 1101 LOGICAL :: call_microphysics_at_all_substeps = .FALSE. !< namelist parameter 1102 LOGICAL :: call_psolver_at_all_substeps = .TRUE. !< namelist parameter 1103 LOGICAL :: cloud_droplets = .FALSE. !< namelist parameter 1104 LOGICAL :: cloud_physics = .FALSE. !< namelist parameter 1105 LOGICAL :: cloud_top_radiation = .FALSE. !< namelist parameter 1106 LOGICAL :: conserve_volume_flow = .FALSE. !< namelist parameter 1107 LOGICAL :: constant_diffusion = .FALSE. !< diffusion coefficient constant? 1108 LOGICAL :: constant_flux_layer = .TRUE. !< namelist parameter 1109 LOGICAL :: constant_heatflux = .TRUE. !< heat flux at all surfaces constant? 1110 LOGICAL :: constant_top_heatflux = .TRUE. !< heat flux at domain top constant? 1111 LOGICAL :: constant_top_momentumflux = .FALSE. !< momentum flux at domain topconstant? 1112 LOGICAL :: constant_top_salinityflux = .TRUE. !< salinity flux at ocean domain top? 1113 LOGICAL :: constant_top_scalarflux = .TRUE. !< passive-scalar flux at domain top constant? 1114 LOGICAL :: constant_scalarflux = .TRUE. !< passive-scalar flux at surfaces constant? 1115 LOGICAL :: constant_waterflux = .TRUE. !< water flux at all surfaces constant? 1116 LOGICAL :: create_disturbances = .TRUE. !< namelist parameter 1117 LOGICAL :: data_output_2d_on_each_pe = .TRUE. !< namelist parameter 1118 LOGICAL :: disturbance_created = .FALSE. !< flow disturbance imposed? 1119 LOGICAL :: do2d_at_begin = .FALSE. !< namelist parameter 1120 LOGICAL :: do3d_at_begin = .FALSE. !< namelist parameter 1121 LOGICAL :: do_sum = .FALSE. !< contribute to time average of profile data? 1122 LOGICAL :: dp_external = .FALSE. !< namelist parameter 1123 LOGICAL :: dp_smooth = .FALSE. !< namelist parameter 1124 LOGICAL :: dt_fixed = .FALSE. !< fixed timestep (namelist parameter dt set)? 1125 LOGICAL :: dt_3d_reached !< internal timestep for particle advection 1126 LOGICAL :: dt_3d_reached_l !< internal timestep for particle advection 1127 LOGICAL :: exchange_mg = .FALSE. !< (Siggi add short description) 1128 LOGICAL :: first_call_lpm = .TRUE. !< call lpm only once per timestep? 1129 LOGICAL :: force_print_header = .FALSE. !< namelist parameter 1130 LOGICAL :: galilei_transformation = .FALSE. !< namelist parameter 1131 LOGICAL :: humidity = .FALSE. !< namelist parameter 1132 LOGICAL :: humidity_remote = .FALSE. !< (Siggi add short description) 1133 LOGICAL :: inflow_l = .FALSE. !< left domain boundary has non-cyclic inflow? 1134 LOGICAL :: inflow_n = .FALSE. !< north domain boundary has non-cyclic inflow? 1135 LOGICAL :: inflow_r = .FALSE. !< right domain boundary has non-cyclic inflow? 1136 LOGICAL :: inflow_s = .FALSE. !< south domain boundary has non-cyclic inflow? 1137 LOGICAL :: large_scale_forcing = .FALSE. !< namelist parameter 1138 LOGICAL :: large_scale_subsidence = .FALSE. !< namelist parameter 1139 LOGICAL :: land_surface = .FALSE. !< use land surface model? 1140 LOGICAL :: lsf_exception = .FALSE. !< use of lsf with buildings (temporary)? 1141 LOGICAL :: lsf_surf = .TRUE. !< use surface forcing (large scale forcing)? 1142 LOGICAL :: lsf_vert = .TRUE. !< use atmospheric forcing (large scale forcing)? 1143 LOGICAL :: masking_method = .FALSE. !< namelist parameter 1144 LOGICAL :: microphysics_sat_adjust = .FALSE. !< use saturation adjust bulk scheme? 1145 LOGICAL :: microphysics_kessler = .FALSE. !< use kessler bulk scheme? 1146 LOGICAL :: microphysics_seifert = .FALSE. !< use 2-moment Seifert and Beheng scheme? 1147 LOGICAL :: mg_switch_to_pe0 = .FALSE. !< (Siggi add short description) 1148 LOGICAL :: nest_bound_l = .FALSE. !< nested boundary on left side? 1149 LOGICAL :: nest_bound_n = .FALSE. !< nested boundary on north side? 1150 LOGICAL :: nest_bound_r = .FALSE. !< nested boundary on right side? 1151 LOGICAL :: nest_bound_s = .FALSE. !< nested boundary on south side? 1152 LOGICAL :: nest_domain = .FALSE. !< domain is nested into a parent domain? 1153 LOGICAL :: neutral = .FALSE. !< namelist parameter 1154 LOGICAL :: nudging = .FALSE. !< namelist parameter 1155 LOGICAL :: ocean = .FALSE. !< namelist parameter 1156 LOGICAL :: outflow_l = .FALSE. !< left domain boundary has non-cyclic outflow? 1157 LOGICAL :: outflow_n = .FALSE. !< north domain boundary has non-cyclic outflow? 1158 LOGICAL :: outflow_r = .FALSE. !< right domain boundary has non-cyclic outflow? 1159 LOGICAL :: outflow_s = .FALSE. !< south domain boundary has non-cyclic outflow? 1160 LOGICAL :: passive_scalar = .FALSE. !< namelist parameter 1161 LOGICAL :: precipitation = .FALSE. !< namelist parameter 1162 LOGICAL :: random_heatflux = .FALSE. !< namelist parameter 1163 LOGICAL :: recycling_yshift = .FALSE. !< namelist parameter 1164 LOGICAL :: run_control_header = .FALSE. !< onetime output of RUN_CONTROL header 1165 LOGICAL :: run_coupled = .TRUE. !< (Siggi add short description) 1166 LOGICAL :: scalar_rayleigh_damping = .TRUE. !< namelist parameter 1167 LOGICAL :: sloping_surface = .FALSE. !< use sloped surface? 1168 !< (namelist parameter alpha_surface) 1169 LOGICAL :: stop_dt = .FALSE. !< (Siggi add short description) 1170 LOGICAL :: synchronous_exchange = .FALSE. !< namelist parameter 1170 1171 LOGICAL :: synthetic_turbulence_generator = .FALSE. !< flag for synthetic turbulence generator module 1171 LOGICAL :: terminate_run = .FALSE. !< 1172 LOGICAL :: transpose_compute_overlap = .FALSE. !< 1173 LOGICAL :: turbulent_inflow = .FALSE. !< 1174 LOGICAL :: turbulent_outflow = .FALSE. !< flag for turbulent outflow condition 1175 LOGICAL :: urban_surface = .FALSE. !< flag for urban surface model 1176 LOGICAL :: use_cmax = .TRUE. !< 1177 LOGICAL :: use_initial_profile_as_reference = .FALSE. !< 1178 LOGICAL :: use_prescribed_profile_data = .FALSE. !< 1179 LOGICAL :: use_single_reference_value = .FALSE. !< 1180 LOGICAL :: use_subsidence_tendencies = .FALSE. !< 1181 LOGICAL :: use_surface_fluxes = .FALSE. !< 1182 LOGICAL :: use_top_fluxes = .FALSE. !< 1183 LOGICAL :: use_ug_for_galilei_tr = .TRUE. !< 1184 LOGICAL :: use_upstream_for_tke = .FALSE. !< 1185 LOGICAL :: virtual_flight = .FALSE. !< flag for virtual flight model 1186 LOGICAL :: wall_adjustment = .TRUE. !< 1187 LOGICAL :: ws_scheme_sca = .FALSE. !< 1188 LOGICAL :: ws_scheme_mom = .FALSE. !< 1189 LOGICAL :: data_output_xy(0:1) = .FALSE. !< 1190 LOGICAL :: data_output_xz(0:1) = .FALSE. !< 1191 LOGICAL :: data_output_yz(0:1) = .FALSE. !< 1192 1193 REAL(wp) :: advected_distance_x = 0.0_wp !< 1194 REAL(wp) :: advected_distance_y = 0.0_wp !< 1195 REAL(wp) :: alpha_surface = 0.0_wp !< 1196 REAL(wp) :: atmos_ocean_sign = 1.0_wp !< 1197 REAL(wp) :: averaging_interval = 0.0_wp !< 1198 REAL(wp) :: averaging_interval_pr = 9999999.9_wp !< 1199 REAL(wp) :: bc_pt_t_val !< 1200 REAL(wp) :: bc_q_t_val !< 1201 REAL(wp) :: bc_s_t_val !< 1202 REAL(wp) :: bottom_salinityflux = 0.0_wp !< 1203 REAL(wp) :: building_height = 50.0_wp !< 1204 REAL(wp) :: building_length_x = 50.0_wp !< 1205 REAL(wp) :: building_length_y = 50.0_wp !< 1206 REAL(wp) :: building_wall_left = 9999999.9_wp !< 1207 REAL(wp) :: building_wall_south = 9999999.9_wp !< 1208 REAL(wp) :: canyon_height = 50.0_wp !< 1209 REAL(wp) :: canyon_width_x = 9999999.9_wp !< 1210 REAL(wp) :: canyon_width_y = 9999999.9_wp !< 1211 REAL(wp) :: canyon_wall_left = 9999999.9_wp !< 1212 REAL(wp) :: canyon_wall_south = 9999999.9_wp !< 1213 REAL(wp) :: cfl_factor = -1.0_wp !< 1214 REAL(wp) :: cos_alpha_surface !< 1215 REAL(wp) :: coupling_start_time = 0.0_wp !< 1216 REAL(wp) :: disturbance_amplitude = 0.25_wp !< 1217 REAL(wp) :: disturbance_energy_limit = 0.01_wp !< 1218 REAL(wp) :: disturbance_level_b = -9999999.9_wp !< 1219 REAL(wp) :: disturbance_level_t = -9999999.9_wp !< 1220 REAL(wp) :: dp_level_b = 0.0_wp !< 1221 REAL(wp) :: dt = -1.0_wp !< 1222 REAL(wp) :: dt_averaging_input = 0.0_wp !< 1223 REAL(wp) :: dt_averaging_input_pr = 9999999.9_wp !< 1224 REAL(wp) :: dt_coupling = 9999999.9_wp !< 1225 REAL(wp) :: dt_data_output = 9999999.9_wp !< 1226 REAL(wp) :: dt_data_output_av = 9999999.9_wp !< 1227 REAL(wp) :: dt_disturb = 9999999.9_wp !< 1228 REAL(wp) :: dt_dopr = 9999999.9_wp !< 1229 REAL(wp) :: dt_dopr_listing = 9999999.9_wp !< 1230 REAL(wp) :: dt_dopts = 9999999.9_wp !< 1231 REAL(wp) :: dt_dots = 9999999.9_wp !< 1232 REAL(wp) :: dt_do2d_xy = 9999999.9_wp !< 1233 REAL(wp) :: dt_do2d_xz = 9999999.9_wp !< 1234 REAL(wp) :: dt_do2d_yz = 9999999.9_wp !< 1235 REAL(wp) :: dt_do3d = 9999999.9_wp !< 1236 REAL(wp) :: dt_dvrp = 9999999.9_wp !< 1237 REAL(wp) :: dt_max = 20.0_wp !< 1238 REAL(wp) :: dt_restart = 9999999.9_wp !< 1239 REAL(wp) :: dt_run_control = 60.0_wp !< 1240 REAL(wp) :: dt_3d = 1.0_wp !< 1241 REAL(wp) :: dz = -1.0_wp !< 1242 REAL(wp) :: dz_max = 9999999.9_wp !< 1243 REAL(wp) :: dz_stretch_factor = 1.08_wp !< 1244 REAL(wp) :: dz_stretch_level = 100000.0_wp !< 1245 REAL(wp) :: e_init = 0.0_wp !< 1246 REAL(wp) :: e_min = 0.0_wp !< 1247 REAL(wp) :: end_time = 0.0_wp !< 1248 REAL(wp) :: f = 0.0_wp !< 1249 REAL(wp) :: fs = 0.0_wp !< 1250 REAL(wp) :: g = 9.81_wp !< 1251 REAL(wp) :: inflow_damping_height = 9999999.9_wp !< 1252 REAL(wp) :: inflow_damping_width = 9999999.9_wp !< 1253 REAL(wp) :: kappa = 0.4_wp !< 1254 REAL(wp) :: km_constant = -1.0_wp !< 1255 REAL(wp) :: mask_scale_x = 1.0_wp !< 1256 REAL(wp) :: mask_scale_y = 1.0_wp !< 1257 REAL(wp) :: mask_scale_z = 1.0_wp !< 1258 REAL(wp) :: maximum_cpu_time_allowed = 0.0_wp !< 1259 REAL(wp) :: molecular_viscosity = 1.461E-5_wp !< 1260 REAL(wp) :: old_dt = 1.0E-10_wp !< 1261 REAL(wp) :: omega = 7.29212E-5_wp !< 1262 REAL(wp) :: omega_sor = 1.8_wp !< 1263 REAL(wp) :: outflow_source_plane = -9999999.9_wp !< x-position of outflow-source plane (turbulent outflow method) 1264 REAL(wp) :: particle_maximum_age = 9999999.9_wp !< 1265 REAL(wp) :: phi = 55.0_wp !< 1266 REAL(wp) :: prandtl_number = 1.0_wp !< 1267 REAL(wp) :: precipitation_amount_interval = 9999999.9_wp !< 1268 REAL(wp) :: prho_reference !< 1269 REAL(wp) :: pt_damping_factor = 0.0_wp !< 1270 REAL(wp) :: pt_damping_width = 0.0_wp !< 1271 REAL(wp) :: pt_reference = 9999999.9_wp !< 1272 REAL(wp) :: pt_slope_offset = 0.0_wp !< 1273 REAL(wp) :: pt_surface = 300.0_wp !< 1274 REAL(wp) :: pt_surface_initial_change = 0.0_wp !< 1275 REAL(wp) :: q_surface = 0.0_wp !< 1276 REAL(wp) :: q_surface_initial_change = 0.0_wp !< 1277 REAL(wp) :: rayleigh_damping_factor = -1.0_wp !< 1278 REAL(wp) :: rayleigh_damping_height = -1.0_wp !< 1279 REAL(wp) :: recycling_width = 9999999.9_wp !< 1280 REAL(wp) :: residual_limit = 1.0E-4_wp !< 1281 REAL(wp) :: restart_time = 9999999.9_wp !< 1282 REAL(wp) :: rho_reference !< 1283 REAL(wp) :: rho_surface !< 1284 REAL(wp) :: roughness_length = 0.1_wp !< 1285 REAL(wp) :: sa_surface = 35.0_wp !< 1286 REAL(wp) :: simulated_time = 0.0_wp !< 1287 REAL(wp) :: simulated_time_at_begin !< 1288 REAL(wp) :: sin_alpha_surface !< 1289 REAL(wp) :: skip_time_data_output = 0.0_wp !< 1290 REAL(wp) :: skip_time_data_output_av = 9999999.9_wp !< 1291 REAL(wp) :: skip_time_dopr = 9999999.9_wp !< 1292 REAL(wp) :: skip_time_do2d_xy = 9999999.9_wp !< 1293 REAL(wp) :: skip_time_do2d_xz = 9999999.9_wp !< 1294 REAL(wp) :: skip_time_do2d_yz = 9999999.9_wp !< 1295 REAL(wp) :: skip_time_do3d = 9999999.9_wp !< 1296 REAL(wp) :: surface_heatflux = 9999999.9_wp !< 1297 REAL(wp) :: surface_pressure = 1013.25_wp !< 1298 REAL(wp) :: surface_scalarflux = 9999999.9_wp !< 1299 REAL(wp) :: surface_waterflux = 9999999.9_wp !< 1300 REAL(wp) :: s_surface = 0.0_wp !< 1301 REAL(wp) :: s_surface_initial_change = 0.0_wp !< 1302 REAL(wp) :: termination_time_needed = -1.0_wp !< 1303 REAL(wp) :: time_coupling = 0.0_wp !< 1304 REAL(wp) :: time_disturb = 0.0_wp !< 1305 REAL(wp) :: time_dopr = 0.0_wp !< 1306 REAL(wp) :: time_dopr_av = 0.0_wp !< 1307 REAL(wp) :: time_dopr_listing = 0.0_wp !< 1308 REAL(wp) :: time_dopts = 0.0_wp !< 1309 REAL(wp) :: time_dosp = 0.0_wp !< 1310 REAL(wp) :: time_dosp_av = 0.0_wp !< 1311 REAL(wp) :: time_dots = 0.0_wp !< 1312 REAL(wp) :: time_do2d_xy = 0.0_wp !< 1313 REAL(wp) :: time_do2d_xz = 0.0_wp !< 1314 REAL(wp) :: time_do2d_yz = 0.0_wp !< 1315 REAL(wp) :: time_do3d = 0.0_wp !< 1316 REAL(wp) :: time_do_av = 0.0_wp !< 1317 REAL(wp) :: time_do_sla = 0.0_wp !< 1318 REAL(wp) :: time_dvrp = 0.0_wp !< 1319 REAL(wp) :: time_restart = 9999999.9_wp !< 1320 REAL(wp) :: time_run_control = 0.0_wp !< 1321 REAL(wp) :: time_since_reference_point !< 1322 REAL(wp) :: top_heatflux = 9999999.9_wp !< 1323 REAL(wp) :: top_momentumflux_u = 9999999.9_wp !< 1324 REAL(wp) :: top_momentumflux_v = 9999999.9_wp !< 1325 REAL(wp) :: top_salinityflux = 9999999.9_wp !< 1326 REAL(wp) :: top_scalarflux = 9999999.9_wp !< 1327 REAL(wp) :: tunnel_height = 9999999.9_wp !< height of tunnel outer wall 1328 REAL(wp) :: tunnel_length = 9999999.9_wp !< tunnel length 1329 REAL(wp) :: tunnel_width_x = 9999999.9_wp !< tunnel width in x, with respect to outer wall 1330 REAL(wp) :: tunnel_width_y = 9999999.9_wp !< tunnel width in y, with respect to outer wall 1331 REAL(wp) :: tunnel_wall_depth = 9999999.9_wp !< tunnel wall depth 1332 REAL(wp) :: ug_surface = 0.0_wp !< 1333 REAL(wp) :: u_bulk = 0.0_wp !< 1334 REAL(wp) :: u_gtrans = 0.0_wp !< 1335 REAL(wp) :: vg_surface = 0.0_wp !< 1336 REAL(wp) :: vpt_reference = 9999999.9_wp !< 1337 REAL(wp) :: v_bulk = 0.0_wp !< 1338 REAL(wp) :: v_gtrans = 0.0_wp !< 1339 REAL(wp) :: wall_adjustment_factor = 1.8_wp !< 1340 REAL(wp) :: zeta_max = 20.0_wp !< Maximum value of zeta = z/L 1341 REAL(wp) :: zeta_min = -20.0_wp !< Minimum value of zeta = z/L 1342 REAL(wp) :: z_max_do2d = -1.0_wp !< 1343 REAL(wp) :: z0h_factor = 1.0_wp !< 1344 1345 REAL(wp) :: do2d_xy_last_time(0:1) = -1.0_wp !< 1346 REAL(wp) :: do2d_xz_last_time(0:1) = -1.0_wp !< 1347 REAL(wp) :: do2d_yz_last_time(0:1) = -1.0_wp !< 1348 REAL(wp) :: dpdxy(1:2) = 0.0_wp !< 1349 REAL(wp) :: dt_domask(max_masks) = 9999999.9_wp !< 1350 REAL(wp) :: mask_scale(3) !< 1351 REAL(wp) :: pt_vertical_gradient(10) = 0.0_wp !< 1352 REAL(wp) :: pt_vertical_gradient_level(10) = -1.0_wp !< 1353 REAL(wp) :: q_vertical_gradient(10) = 0.0_wp !< 1354 REAL(wp) :: q_vertical_gradient_level(10) = -1.0_wp !< 1355 REAL(wp) :: s_vertical_gradient(10) = 0.0_wp !< 1356 REAL(wp) :: s_vertical_gradient_level(10) = -1.0_wp !< 1357 REAL(wp) :: sa_vertical_gradient(10) = 0.0_wp !< 1358 REAL(wp) :: sa_vertical_gradient_level(10) = -1.0_wp !< 1359 REAL(wp) :: skip_time_domask(max_masks) = 9999999.9_wp !< 1360 REAL(wp) :: threshold(20) = 0.0_wp !< 1361 REAL(wp) :: time_domask(max_masks) = 0.0_wp !< 1362 REAL(wp) :: tsc(10) = (/ 1.0_wp, 1.0_wp, 0.0_wp, 0.0_wp, & !< 1172 LOGICAL :: terminate_run = .FALSE. !< terminate run (cpu-time limit, restarts)? 1173 LOGICAL :: transpose_compute_overlap = .FALSE. !< namelist parameter 1174 LOGICAL :: turbulent_inflow = .FALSE. !< namelist parameter 1175 LOGICAL :: turbulent_outflow = .FALSE. !< namelist parameter 1176 LOGICAL :: urban_surface = .FALSE. !< use urban surface model? 1177 LOGICAL :: use_cmax = .TRUE. !< namelist parameter 1178 LOGICAL :: use_initial_profile_as_reference = .FALSE. !< use of initial profiles as reference state? 1179 LOGICAL :: use_prescribed_profile_data = .FALSE. !< use of prescribed wind profiles? 1180 !< (namelist parameters u_profile, v_profile) 1181 LOGICAL :: use_single_reference_value = .FALSE. !< use of single value as reference state? 1182 LOGICAL :: use_subsidence_tendencies = .FALSE. !< namelist parameter 1183 LOGICAL :: use_surface_fluxes = .FALSE. !< namelist parameter 1184 LOGICAL :: use_top_fluxes = .FALSE. !< namelist parameter 1185 LOGICAL :: use_ug_for_galilei_tr = .TRUE. !< namelist parameter 1186 LOGICAL :: use_upstream_for_tke = .FALSE. !< namelist parameter 1187 LOGICAL :: virtual_flight = .FALSE. !< use virtual flight model? 1188 LOGICAL :: wall_adjustment = .TRUE. !< namelist parameter 1189 LOGICAL :: ws_scheme_sca = .FALSE. !< use Wicker-Skamarock scheme (scalar advection)? 1190 LOGICAL :: ws_scheme_mom = .FALSE. !< use Wicker-Skamarock scheme (momentum advection)? 1191 LOGICAL :: data_output_xy(0:1) = .FALSE. !< output of xy cross-section data? 1192 LOGICAL :: data_output_xz(0:1) = .FALSE. !< output of xz cross-section data? 1193 LOGICAL :: data_output_yz(0:1) = .FALSE. !< output of yz cross-section data? 1194 1195 REAL(wp) :: advected_distance_x = 0.0_wp !< advected distance of model domain along x 1196 !< (galilei transformation) 1197 REAL(wp) :: advected_distance_y = 0.0_wp !< advected distance of model domain along y 1198 !< (galilei transformation) 1199 REAL(wp) :: alpha_surface = 0.0_wp !< namelist parameter 1200 REAL(wp) :: atmos_ocean_sign = 1.0_wp !< vertical-grid conversion factor 1201 !< (=1.0 in atmosphere, =-1.0 in ocean) 1202 REAL(wp) :: averaging_interval = 0.0_wp !< namelist parameter 1203 REAL(wp) :: averaging_interval_pr = 9999999.9_wp !< namelist parameter 1204 REAL(wp) :: bc_pt_t_val !< vertical gradient of pt near domain top 1205 REAL(wp) :: bc_q_t_val !< vertical gradient of humidity near domain top 1206 REAL(wp) :: bc_s_t_val !< vertical gradient of passive scalar near domain top 1207 REAL(wp) :: bottom_salinityflux = 0.0_wp !< namelist parameter 1208 REAL(wp) :: building_height = 50.0_wp !< namelist parameter 1209 REAL(wp) :: building_length_x = 50.0_wp !< namelist parameter 1210 REAL(wp) :: building_length_y = 50.0_wp !< namelist parameter 1211 REAL(wp) :: building_wall_left = 9999999.9_wp !< namelist parameter 1212 REAL(wp) :: building_wall_south = 9999999.9_wp !< namelist parameter 1213 REAL(wp) :: canyon_height = 50.0_wp !< namelist parameter 1214 REAL(wp) :: canyon_width_x = 9999999.9_wp !< namelist parameter 1215 REAL(wp) :: canyon_width_y = 9999999.9_wp !< namelist parameter 1216 REAL(wp) :: canyon_wall_left = 9999999.9_wp !< namelist parameter 1217 REAL(wp) :: canyon_wall_south = 9999999.9_wp !< namelist parameter 1218 REAL(wp) :: cfl_factor = -1.0_wp !< namelist parameter 1219 REAL(wp) :: cos_alpha_surface !< cosine of alpha_surface 1220 REAL(wp) :: coupling_start_time = 0.0_wp !< namelist parameter 1221 REAL(wp) :: disturbance_amplitude = 0.25_wp !< namelist parameter 1222 REAL(wp) :: disturbance_energy_limit = 0.01_wp !< namelist parameter 1223 REAL(wp) :: disturbance_level_b = -9999999.9_wp !< namelist parameter 1224 REAL(wp) :: disturbance_level_t = -9999999.9_wp !< namelist parameter 1225 REAL(wp) :: dp_level_b = 0.0_wp !< namelist parameter 1226 REAL(wp) :: dt = -1.0_wp !< namelist parameter 1227 REAL(wp) :: dt_averaging_input = 0.0_wp !< namelist parameter 1228 REAL(wp) :: dt_averaging_input_pr = 9999999.9_wp !< namelist parameter 1229 REAL(wp) :: dt_coupling = 9999999.9_wp !< namelist parameter 1230 REAL(wp) :: dt_data_output = 9999999.9_wp !< namelist parameter 1231 REAL(wp) :: dt_data_output_av = 9999999.9_wp !< namelist parameter 1232 REAL(wp) :: dt_disturb = 9999999.9_wp !< namelist parameter 1233 REAL(wp) :: dt_dopr = 9999999.9_wp !< namelist parameter 1234 REAL(wp) :: dt_dopr_listing = 9999999.9_wp !< namelist parameter 1235 REAL(wp) :: dt_dopts = 9999999.9_wp !< namelist parameter 1236 REAL(wp) :: dt_dots = 9999999.9_wp !< namelist parameter 1237 REAL(wp) :: dt_do2d_xy = 9999999.9_wp !< namelist parameter 1238 REAL(wp) :: dt_do2d_xz = 9999999.9_wp !< namelist parameter 1239 REAL(wp) :: dt_do2d_yz = 9999999.9_wp !< namelist parameter 1240 REAL(wp) :: dt_do3d = 9999999.9_wp !< namelist parameter 1241 REAL(wp) :: dt_dvrp = 9999999.9_wp !< namelist parameter 1242 REAL(wp) :: dt_max = 20.0_wp !< namelist parameter 1243 REAL(wp) :: dt_restart = 9999999.9_wp !< namelist parameter 1244 REAL(wp) :: dt_run_control = 60.0_wp !< namelist parameter 1245 REAL(wp) :: dt_3d = 1.0_wp !< time step 1246 REAL(wp) :: dz = -1.0_wp !< namelist parameter 1247 REAL(wp) :: dz_max = 9999999.9_wp !< namelist parameter 1248 REAL(wp) :: dz_stretch_factor = 1.08_wp !< namelist parameter 1249 REAL(wp) :: dz_stretch_level = 100000.0_wp !< namelist parameter 1250 REAL(wp) :: e_init = 0.0_wp !< namelist parameter 1251 REAL(wp) :: e_min = 0.0_wp !< namelist parameter 1252 REAL(wp) :: end_time = 0.0_wp !< namelist parameter 1253 REAL(wp) :: f = 0.0_wp !< Coriolis parameter 1254 REAL(wp) :: fs = 0.0_wp !< Coriolis parameter 1255 REAL(wp) :: g = 9.81_wp !< gravitational acceleration 1256 REAL(wp) :: inflow_damping_height = 9999999.9_wp !< namelist parameter 1257 REAL(wp) :: inflow_damping_width = 9999999.9_wp !< namelist parameter 1258 REAL(wp) :: kappa = 0.4_wp !< von Karman constant 1259 REAL(wp) :: km_constant = -1.0_wp !< namelist parameter 1260 REAL(wp) :: mask_scale_x = 1.0_wp !< namelist parameter 1261 REAL(wp) :: mask_scale_y = 1.0_wp !< namelist parameter 1262 REAL(wp) :: mask_scale_z = 1.0_wp !< namelist parameter 1263 REAL(wp) :: maximum_cpu_time_allowed = 0.0_wp !< given wall time for run 1264 REAL(wp) :: molecular_viscosity = 1.461E-5_wp !< molecular viscosity (used in lsm and lpm) 1265 REAL(wp) :: old_dt = 1.0E-10_wp !< length of previous timestep 1266 REAL(wp) :: omega = 7.29212E-5_wp !< namelist parameter 1267 REAL(wp) :: omega_sor = 1.8_wp !< namelist parameter 1268 REAL(wp) :: outflow_source_plane = -9999999.9_wp !< namelist parameter 1269 REAL(wp) :: particle_maximum_age = 9999999.9_wp !< namelist parameter 1270 REAL(wp) :: phi = 55.0_wp !< namelist parameter 1271 REAL(wp) :: prandtl_number = 1.0_wp !< namelist parameter 1272 REAL(wp) :: precipitation_amount_interval = 9999999.9_wp !< namelist parameter 1273 REAL(wp) :: prho_reference !< reference state of potential density 1274 REAL(wp) :: pt_damping_factor = 0.0_wp !< namelist parameter 1275 REAL(wp) :: pt_damping_width = 0.0_wp !< namelist parameter 1276 REAL(wp) :: pt_reference = 9999999.9_wp !< namelist parameter 1277 REAL(wp) :: pt_slope_offset = 0.0_wp !< temperature difference between left and right 1278 !< boundary of total domain 1279 REAL(wp) :: pt_surface = 300.0_wp !< namelist parameter 1280 REAL(wp) :: pt_surface_initial_change = 0.0_wp !< namelist parameter 1281 REAL(wp) :: q_surface = 0.0_wp !< namelist parameter 1282 REAL(wp) :: q_surface_initial_change = 0.0_wp !< namelist parameter 1283 REAL(wp) :: rayleigh_damping_factor = -1.0_wp !< namelist parameter 1284 REAL(wp) :: rayleigh_damping_height = -1.0_wp !< namelist parameter 1285 REAL(wp) :: recycling_width = 9999999.9_wp !< namelist parameter 1286 REAL(wp) :: residual_limit = 1.0E-4_wp !< namelist parameter 1287 REAL(wp) :: restart_time = 9999999.9_wp !< namelist parameter 1288 REAL(wp) :: rho_reference !< reference state of density 1289 REAL(wp) :: rho_surface !< surface value of density 1290 REAL(wp) :: roughness_length = 0.1_wp !< namelist parameter 1291 REAL(wp) :: sa_surface = 35.0_wp !< namelist parameter 1292 REAL(wp) :: simulated_time = 0.0_wp !< elapsed simulated time 1293 REAL(wp) :: simulated_time_at_begin !< elapsed simulated time of previous run (job chain) 1294 REAL(wp) :: sin_alpha_surface !< sine of alpha_surface (sloped surface) 1295 REAL(wp) :: skip_time_data_output = 0.0_wp !< namelist parameter 1296 REAL(wp) :: skip_time_data_output_av = 9999999.9_wp !< namelist parameter 1297 REAL(wp) :: skip_time_dopr = 9999999.9_wp !< namelist parameter 1298 REAL(wp) :: skip_time_do2d_xy = 9999999.9_wp !< namelist parameter 1299 REAL(wp) :: skip_time_do2d_xz = 9999999.9_wp !< namelist parameter 1300 REAL(wp) :: skip_time_do2d_yz = 9999999.9_wp !< namelist parameter 1301 REAL(wp) :: skip_time_do3d = 9999999.9_wp !< namelist parameter 1302 REAL(wp) :: surface_heatflux = 9999999.9_wp !< namelist parameter 1303 REAL(wp) :: surface_pressure = 1013.25_wp !< namelist parameter 1304 REAL(wp) :: surface_scalarflux = 9999999.9_wp !< namelist parameter 1305 REAL(wp) :: surface_waterflux = 9999999.9_wp !< namelist parameter 1306 REAL(wp) :: s_surface = 0.0_wp !< namelist parameter 1307 REAL(wp) :: s_surface_initial_change = 0.0_wp !< namelist parameter 1308 REAL(wp) :: termination_time_needed = -1.0_wp !< namelist parameter 1309 REAL(wp) :: time_coupling = 0.0_wp !< time since last coupling (surface_coupler) 1310 REAL(wp) :: time_disturb = 0.0_wp !< time since last flow disturbance 1311 REAL(wp) :: time_dopr = 0.0_wp !< time since last profile output 1312 REAL(wp) :: time_dopr_av = 0.0_wp !< time since last averaged profile output 1313 REAL(wp) :: time_dopr_listing = 0.0_wp !< time since last profile output (ASCII) on file 1314 REAL(wp) :: time_dopts = 0.0_wp !< time since last particle timeseries output 1315 REAL(wp) :: time_dosp = 0.0_wp !< time since last spectra output 1316 REAL(wp) :: time_dosp_av = 0.0_wp !< time since last averaged spectra output 1317 REAL(wp) :: time_dots = 0.0_wp !< time since last timeseries output 1318 REAL(wp) :: time_do2d_xy = 0.0_wp !< time since last xy cross-section output 1319 REAL(wp) :: time_do2d_xz = 0.0_wp !< time since last xz cross-section output 1320 REAL(wp) :: time_do2d_yz = 0.0_wp !< time since last yz cross-section output 1321 REAL(wp) :: time_do3d = 0.0_wp !< time since last 3d output 1322 REAL(wp) :: time_do_av = 0.0_wp !< time since last averaged-data output 1323 REAL(wp) :: time_do_sla = 0.0_wp !< time since last 1324 REAL(wp) :: time_dvrp = 0.0_wp !< time since last dvrp output 1325 REAL(wp) :: time_restart = 9999999.9_wp !< time at which run shall be terminated and restarted 1326 REAL(wp) :: time_run_control = 0.0_wp !< time since last RUN_CONTROL output 1327 REAL(wp) :: time_since_reference_point !< Siggi 1328 REAL(wp) :: top_heatflux = 9999999.9_wp !< namelist parameter 1329 REAL(wp) :: top_momentumflux_u = 9999999.9_wp !< namelist parameter 1330 REAL(wp) :: top_momentumflux_v = 9999999.9_wp !< namelist parameter 1331 REAL(wp) :: top_salinityflux = 9999999.9_wp !< namelist parameter 1332 REAL(wp) :: top_scalarflux = 9999999.9_wp !< namelist parameter 1333 REAL(wp) :: tunnel_height = 9999999.9_wp !< namelist parameter 1334 REAL(wp) :: tunnel_length = 9999999.9_wp !< namelist parameter 1335 REAL(wp) :: tunnel_width_x = 9999999.9_wp !< namelist parameter 1336 REAL(wp) :: tunnel_width_y = 9999999.9_wp !< namelist parameter 1337 REAL(wp) :: tunnel_wall_depth = 9999999.9_wp !< namelist parameter 1338 REAL(wp) :: ug_surface = 0.0_wp !< namelist parameter 1339 REAL(wp) :: u_bulk = 0.0_wp !< namelist parameter 1340 REAL(wp) :: u_gtrans = 0.0_wp !< transformed wind component (galilei transformation) 1341 REAL(wp) :: vg_surface = 0.0_wp !< namelist parameter 1342 REAL(wp) :: vpt_reference = 9999999.9_wp !< reference state of virtual potential temperature 1343 REAL(wp) :: v_bulk = 0.0_wp !< namelist parameter 1344 REAL(wp) :: v_gtrans = 0.0_wp !< transformed wind component (galilei transformation) 1345 REAL(wp) :: wall_adjustment_factor = 1.8_wp !< adjustment factor for mixing length l 1346 REAL(wp) :: zeta_max = 20.0_wp !< namelist parameter 1347 REAL(wp) :: zeta_min = -20.0_wp !< namelist parameter 1348 REAL(wp) :: z_max_do2d = -1.0_wp !< namelist parameter 1349 REAL(wp) :: z0h_factor = 1.0_wp !< namelist parameter 1350 1351 REAL(wp) :: do2d_xy_last_time(0:1) = -1.0_wp !< time of previous xy output 1352 REAL(wp) :: do2d_xz_last_time(0:1) = -1.0_wp !< time of previous xz output 1353 REAL(wp) :: do2d_yz_last_time(0:1) = -1.0_wp !< time of previous yz output 1354 REAL(wp) :: dpdxy(1:2) = 0.0_wp !< namelist parameter 1355 REAL(wp) :: dt_domask(max_masks) = 9999999.9_wp !< namelist parameter 1356 REAL(wp) :: mask_scale(3) !< collective array for mask_scale_x/y/z 1357 REAL(wp) :: pt_vertical_gradient(10) = 0.0_wp !< namelist parameter 1358 REAL(wp) :: pt_vertical_gradient_level(10) = -1.0_wp !< namelist parameter 1359 REAL(wp) :: q_vertical_gradient(10) = 0.0_wp !< namelist parameter 1360 REAL(wp) :: q_vertical_gradient_level(10) = -1.0_wp !< namelist parameter 1361 REAL(wp) :: s_vertical_gradient(10) = 0.0_wp !< namelist parameter 1362 REAL(wp) :: s_vertical_gradient_level(10) = -1.0_wp !< namelist parameter 1363 REAL(wp) :: sa_vertical_gradient(10) = 0.0_wp !< namelist parameter 1364 REAL(wp) :: sa_vertical_gradient_level(10) = -1.0_wp !< namelist parameter 1365 REAL(wp) :: skip_time_domask(max_masks) = 9999999.9_wp !< namelist parameter 1366 REAL(wp) :: threshold(20) = 0.0_wp !< namelist parameter 1367 REAL(wp) :: time_domask(max_masks) = 0.0_wp !< namelist parameter 1368 REAL(wp) :: tsc(10) = (/ 1.0_wp, 1.0_wp, 0.0_wp, 0.0_wp, & !< array used for controlling time-integration at different substeps 1363 1369 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp /) 1364 REAL(wp) :: u_profile(100) = 9999999.9_wp !< 1365 REAL(wp) :: uv_heights(100) = 9999999.9_wp !< 1366 REAL(wp) :: v_profile(100) = 9999999.9_wp !< 1367 REAL(wp) :: ug_vertical_gradient(10) = 0.0_wp !< 1368 REAL(wp) :: ug_vertical_gradient_level(10) = -9999999.9_wp !< 1369 REAL(wp) :: vg_vertical_gradient(10) = 0.0_wp !< 1370 REAL(wp) :: vg_vertical_gradient_level(10) = -9999999.9_wp !< 1371 REAL(wp) :: volume_flow(1:3) = 0.0_wp !< 1372 REAL(wp) :: volume_flow_area(1:3) = 0.0_wp !< 1373 REAL(wp) :: volume_flow_initial(1:3) = 0.0_wp !< 1374 REAL(wp) :: wall_heatflux(0:5) = 0.0_wp !< 1375 REAL(wp) :: wall_humidityflux(0:5) = 0.0_wp !< 1376 REAL(wp) :: wall_salinityflux(0:5) = 0.0_wp !< 1377 REAL(wp) :: wall_scalarflux(0:5) = 0.0_wp !< 1378 REAL(wp) :: subs_vertical_gradient(10) = 0.0_wp !< 1379 REAL(wp) :: subs_vertical_gradient_level(10) = -9999999.9_wp !< 1380 1381 REAL(wp), DIMENSION(:), ALLOCATABLE :: dp_smooth_factor !< 1382 1383 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_x = -1.0_wp !< 1384 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_y = -1.0_wp !< 1385 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_z = -1.0_wp !< 1370 REAL(wp) :: u_profile(100) = 9999999.9_wp !< namelist parameter 1371 REAL(wp) :: uv_heights(100) = 9999999.9_wp !< namelist parameter 1372 REAL(wp) :: v_profile(100) = 9999999.9_wp !< namelist parameter 1373 REAL(wp) :: ug_vertical_gradient(10) = 0.0_wp !< namelist parameter 1374 REAL(wp) :: ug_vertical_gradient_level(10) = -9999999.9_wp !< namelist parameter 1375 REAL(wp) :: vg_vertical_gradient(10) = 0.0_wp !< namelist parameter 1376 REAL(wp) :: vg_vertical_gradient_level(10) = -9999999.9_wp !< namelist parameter 1377 REAL(wp) :: volume_flow(1:3) = 0.0_wp !< Siggi 1378 REAL(wp) :: volume_flow_area(1:3) = 0.0_wp !< Siggi 1379 REAL(wp) :: volume_flow_initial(1:3) = 0.0_wp !< Siggi 1380 REAL(wp) :: wall_heatflux(0:5) = 0.0_wp !< namelist parameter 1381 REAL(wp) :: wall_humidityflux(0:5) = 0.0_wp !< namelist parameter 1382 REAL(wp) :: wall_salinityflux(0:5) = 0.0_wp !< namelist parameter 1383 REAL(wp) :: wall_scalarflux(0:5) = 0.0_wp !< namelist parameter 1384 REAL(wp) :: subs_vertical_gradient(10) = 0.0_wp !< namelist parameter 1385 REAL(wp) :: subs_vertical_gradient_level(10) = -9999999.9_wp !< namelist parameter 1386 1387 REAL(wp), DIMENSION(:), ALLOCATABLE :: dp_smooth_factor !< smoothing factor for external pressure gradient forcing 1388 1389 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_x = -1.0_wp !< namelist parameter 1390 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_y = -1.0_wp !< namelist parameter 1391 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_z = -1.0_wp !< namelist parameter 1386 1392 1387 REAL(wp), DIMENSION(max_masks,3) :: mask_x_loop = -1.0_wp !< 1388 REAL(wp), DIMENSION(max_masks,3) :: mask_y_loop = -1.0_wp !< 1389 REAL(wp), DIMENSION(max_masks,3) :: mask_z_loop = -1.0_wp !< 1393 REAL(wp), DIMENSION(max_masks,3) :: mask_x_loop = -1.0_wp !< namelist parameter 1394 REAL(wp), DIMENSION(max_masks,3) :: mask_y_loop = -1.0_wp !< namelist parameter 1395 REAL(wp), DIMENSION(max_masks,3) :: mask_z_loop = -1.0_wp !< namelist parameter 1390 1396 1391 1397 ! 1392 1398 !-- internal mask arrays ("mask,dimension,selection") 1393 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask !< 1394 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask_loop !< 1399 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask !< collective array for mask_x/y/z 1400 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask_loop !< collective array for mask_x/y/z_loop 1395 1401 1396 1402 SAVE … … 1408 1414 USE kinds 1409 1415 1410 CHARACTER (LEN=10) :: dvrp_output = 'rtsp' !< 1416 CHARACTER (LEN=10) :: dvrp_output = 'rtsp' !< Siggi (entire MODULE) 1411 1417 CHARACTER (LEN=10) :: particle_color = 'none' !< 1412 1418 CHARACTER (LEN=10) :: particle_dvrpsize = 'none' !< … … 1448 1454 LOGICAL :: dvrp_overlap !< 1449 1455 LOGICAL :: dvrp_total_overlap !< 1450 LOGICAL :: local_dvrserver_running !< 1456 LOGICAL :: local_dvrserver_running !< internally set namelist parameter 1451 1457 LOGICAL :: lock_steering_update = .FALSE. !< 1452 1458 LOGICAL :: use_seperate_pe_for_dvrp_output = .FALSE. !< … … 1526 1532 USE kinds 1527 1533 1528 REAL(wp) :: ddx !< 1529 REAL(wp) :: ddx2 !< 1530 REAL(wp) :: dx = 1.0_wp !< 1531 REAL(wp) :: dx2 !< 1532 REAL(wp) :: ddy !< 1533 REAL(wp) :: ddy2 !< 1534 REAL(wp) :: dy = 1.0_wp !< 1535 REAL(wp) :: dy2 !< 1536 1537 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddx2_mg !< 1538 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddy2_mg !< 1539 1540 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zu_s_inner !< 1541 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zw_w_inner !< 1534 REAL(wp) :: ddx !< 1/dx 1535 REAL(wp) :: ddx2 !< 1/dx2 1536 REAL(wp) :: dx = 1.0_wp !< horizontal grid size (along x-direction) 1537 REAL(wp) :: dx2 !< dx*dx 1538 REAL(wp) :: ddy !< 1/dy 1539 REAL(wp) :: ddy2 !< 1/dy2 1540 REAL(wp) :: dy = 1.0_wp !< horizontal grid size (along y-direction) 1541 REAL(wp) :: dy2 !< dy*dy 1542 1543 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddx2_mg !< 1/dx_l**2 (dx_l: grid spacing along x on different multigrid level) 1544 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddy2_mg !< 1/dy_l**2 (dy_l: grid spacing along y on different multigrid level) 1545 1546 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zu_s_inner !< height of topography top on scalar grid 1547 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zw_w_inner !< height of topography top on w grid 1542 1548 1543 1549 SAVE … … 1555 1561 USE kinds 1556 1562 1557 INTEGER(iwp) :: nbgp = 3 !< 1558 INTEGER(iwp) :: ngp_sums !< 1559 INTEGER(iwp) :: ngp_sums_ls !< 1560 INTEGER(iwp) :: nnx !< 1561 INTEGER(iwp) :: nx = 0 !< 1562 INTEGER(iwp) :: nx_a !< 1563 INTEGER(iwp) :: nx_o !< 1564 INTEGER(iwp) :: nxl !< 1565 INTEGER(iwp) :: nxlg !< 1566 INTEGER(iwp) :: nxlu !< 1567 INTEGER(iwp) :: nxr !< 1568 INTEGER(iwp) :: nxrg !< 1569 INTEGER(iwp) :: nx_on_file !< 1570 INTEGER(iwp) :: nny !< 1571 INTEGER(iwp) :: ny = 0 !< 1572 INTEGER(iwp) :: ny_a !< 1573 INTEGER(iwp) :: ny_o !< 1574 INTEGER(iwp) :: nyn !< 1575 INTEGER(iwp) :: nyng !< 1576 INTEGER(iwp) :: nys !< 1577 INTEGER(iwp) :: nysg !< 1578 INTEGER(iwp) :: nysv !< 1579 INTEGER(iwp) :: ny_on_file !< 1580 INTEGER(iwp) :: nnz !< 1581 INTEGER(iwp) :: nz = 0 !< 1582 INTEGER(iwp) :: nzb !< 1583 INTEGER(iwp) :: nzb_diff !< 1584 INTEGER(iwp) :: nzb_max !< 1585 INTEGER(iwp) :: nzt !< 1586 1587 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: ngp_3d !< 1563 INTEGER(iwp) :: nbgp = 3 !< number of boundary ghost points 1564 INTEGER(iwp) :: ngp_sums !< number of vertical profile grid points time number of output profiles - used for allreduce statements in MPI calls 1565 INTEGER(iwp) :: ngp_sums_ls !< number of vertical profile grid points time number of large-scale forcing profiles - used for allreduce statements in MPI calls 1566 INTEGER(iwp) :: nnx !< number of subdomain grid points in x-direction 1567 INTEGER(iwp) :: nx = 0 !< nx+1 = total number of grid points in x-direction 1568 INTEGER(iwp) :: nx_a !< Siggi 1569 INTEGER(iwp) :: nx_o !< Siggi 1570 INTEGER(iwp) :: nxl !< left-most grid index of subdomain (excluding ghost points) 1571 INTEGER(iwp) :: nxlg !< left-most grid index of subdomain (including ghost points) 1572 INTEGER(iwp) :: nxlu !< =nxl+1 (at left domain boundary with inflow from left), else =nxl 1573 INTEGER(iwp) :: nxr !< right-most grid index of subdomain (excluding ghost points) 1574 INTEGER(iwp) :: nxrg !< right-most grid index of subdomain (including ghost points) 1575 INTEGER(iwp) :: nx_on_file !< nx of previous run in job chain 1576 INTEGER(iwp) :: nny !< number of subdomain grid points in y-direction 1577 INTEGER(iwp) :: ny = 0 !< ny+1 = total number of grid points in y-direction 1578 INTEGER(iwp) :: ny_a !< Siggi 1579 INTEGER(iwp) :: ny_o !< Siggi 1580 INTEGER(iwp) :: nyn !< north-most grid index of subdomain (excluding ghost points) 1581 INTEGER(iwp) :: nyng !< north-most grid index of subdomain (including ghost points) 1582 INTEGER(iwp) :: nys !< south-most grid index of subdomain (excluding ghost points) 1583 INTEGER(iwp) :: nysg !< south-most grid index of subdomain (including ghost points) 1584 INTEGER(iwp) :: nysv !< =nys+1 (at south domain boundary with inflow from south), else =nys 1585 INTEGER(iwp) :: ny_on_file !< ny of previous run in job chain 1586 INTEGER(iwp) :: nnz !< number of subdomain grid points in z-direction 1587 INTEGER(iwp) :: nz = 0 !< total number of grid points in z-direction 1588 INTEGER(iwp) :: nzb !< bottom grid index of computational domain 1589 INTEGER(iwp) :: nzb_diff !< will be removed 1590 INTEGER(iwp) :: nzb_max !< vertical index of topography top 1591 INTEGER(iwp) :: nzt !< nzt+1 = top grid index of computational domain 1592 1593 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: ngp_3d !< number of grid points of the total domain 1588 1594 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: ngp_3d_inner !< ! need to have 64 bit for grids > 2E9 1589 1595 1590 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_2dh !< 1591 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxl_mg !< 1592 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxr_mg !< 1593 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nyn_mg !< 1594 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nys_mg !< 1595 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nzt_mg !< 1596 1597 1598 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer !< 1599 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_s_inner !< 1600 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mg_loc_ind !< 1601 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_inner !< 1602 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_outer !< 1603 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_inner !< 1604 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_outer !< 1605 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_inner !< 1606 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_outer !< 1607 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_inner !< 1608 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_outer !< 1609 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_inner !< 1610 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_outer !< 1611 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_inner !< 1612 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_outer !< 1613 1614 INTEGER(iwp), DIMENSION(:,:,:), POINTER :: flags !< 1615 1616 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_1 !< 1617 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_2 !< 1618 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_3 !< 1619 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_4 !< 1620 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_5 !< 1621 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_6 !< 1622 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_7 !< 1623 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_8 !< 1624 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_9 !< 1625 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_10 !< 1596 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_2dh !< number of grid points of a horizontal cross section through the total domain 1597 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxl_mg !< left-most grid index of subdomain on different multigrid level 1598 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxr_mg !< right-most grid index of subdomain on different multigrid level 1599 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nyn_mg !< north-most grid index of subdomain on different multigrid level 1600 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nys_mg !< south-most grid index of subdomain on different multigrid level 1601 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nzt_mg !< top-most grid index of subdomain on different multigrid level 1602 1603 1604 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer !< number of horizontal grid points which are non-topography and non-surface-bounded 1605 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_s_inner !< number of horizontal grid points which are non-topography 1606 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mg_loc_ind !< Siggi 1607 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_inner !< will be removed 1608 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_outer !< will be removed 1609 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_inner !< will be removed 1610 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_outer !< will be removed 1611 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_inner !< will be removed 1612 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_outer !< will be removed 1613 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_inner !< will be removed 1614 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_outer !< will be removed 1615 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_inner !< will be removed 1616 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_outer !< will be removed 1617 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_inner !< will be removed 1618 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_outer !< will be removed 1619 1620 INTEGER(iwp), DIMENSION(:,:,:), POINTER :: flags !< pointer to wall_flags_1-10 1621 1622 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_1 !< topograpyh masking flag on multigrid level 1 1623 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_2 !< topograpyh masking flag on multigrid level 2 1624 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_3 !< topograpyh masking flag on multigrid level 3 1625 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_4 !< topograpyh masking flag on multigrid level 4 1626 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_5 !< topograpyh masking flag on multigrid level 5 1627 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_6 !< topograpyh masking flag on multigrid level 6 1628 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_7 !< topograpyh masking flag on multigrid level 7 1629 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_8 !< topograpyh masking flag on multigrid level 8 1630 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_9 !< topograpyh masking flag on multigrid level 9 1631 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_10 !< topograpyh masking flag on multigrid level 10 1626 1632 1627 1633 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: advc_flags_1 !< flags used to degrade order of advection scheme 1628 1634 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: advc_flags_2 !< flags used to degrade order of advection scheme 1629 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: wall_flags_0 !< flags to mask topography 1635 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: wall_flags_0 !< flags to mask topography and surface-bounded grid points 1630 1636 1631 1637 SAVE … … 1653 1659 USE kinds 1654 1660 1655 CHARACTER (LEN=*), INTENT(IN) :: mode !< 1661 CHARACTER (LEN=*), INTENT(IN) :: mode !< Siggi (entire module, some variables are still in German) 1656 1662 INTEGER(iwp), INTENT(IN) :: i1 !< 1657 1663 INTEGER(iwp), INTENT(IN) :: i2 !< … … 1695 1701 USE kinds 1696 1702 1697 CHARACTER (LEN=*), INTENT(IN) :: sk_char !< 1703 CHARACTER (LEN=*), INTENT(IN) :: sk_char !< string for treated scalar in Bott-Chlond scheme 1698 1704 #if defined( __nopointer ) 1699 REAL(wp), DIMENSION(:,:,:) :: sk !< 1705 REAL(wp), DIMENSION(:,:,:) :: sk !< treated scalar array in Bott-Chlond scheme 1700 1706 #else 1701 REAL(wp), DIMENSION(:,:,:), POINTER :: sk !< 1707 REAL(wp), DIMENSION(:,:,:), POINTER :: sk !< treated scalar array in Bott-Chlond scheme 1702 1708 #endif 1703 1709 END SUBROUTINE advec_s_bc … … 1719 1725 USE kinds 1720 1726 1721 INTEGER(iwp) :: current_timestep_number_1d = 0 !< 1722 INTEGER(iwp) :: damp_level_ind_1d !< 1723 1724 LOGICAL :: run_control_header_1d = .FALSE. !< 1725 LOGICAL :: stop_dt_1d = .FALSE. !< 1726 1727 REAL(wp) :: damp_level_1d = -1.0_wp !< 1728 REAL(wp) :: dt_1d = 60.0_wp !< 1729 REAL(wp) :: dt_max_1d = 300.0_wp !< 1730 REAL(wp) :: dt_pr_1d = 9999999.9_wp !< 1731 REAL(wp) :: dt_run_control_1d = 60.0_wp !< 1732 REAL(wp) :: end_time_1d = 864000.0_wp !< 1733 REAL(wp) :: old_dt_1d = 1.0E-10_wp !< 1734 REAL(wp) :: qs1d !< 1735 REAL(wp) :: simulated_time_1d = 0.0_wp !< 1736 REAL(wp) :: time_pr_1d = 0.0_wp !< 1737 REAL(wp) :: time_run_control_1d = 0.0_wp !< 1738 REAL(wp) :: ts1d !< 1739 REAL(wp) :: us1d !< 1740 REAL(wp) :: usws1d !< 1741 REAL(wp) :: vsws1d !< 1742 REAL(wp) :: z01d !< 1743 REAL(wp) :: z0h1d !< 1744 1745 1746 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d !< 1747 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d_p !< 1748 REAL(wp), DIMENSION(:), ALLOCATABLE :: kh1d !< 1749 REAL(wp), DIMENSION(:), ALLOCATABLE :: km1d !< 1750 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_black !< 1751 REAL(wp), DIMENSION(:), ALLOCATABLE :: l1d !< 1752 REAL(wp), DIMENSION(:), ALLOCATABLE :: rif1d !< 1753 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_e !< 1754 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_em !< 1755 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_u !< 1756 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_um !< 1757 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_v !< 1758 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_vm !< 1759 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d !< 1760 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d_p !< 1761 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d !< 1762 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d_p !< 1727 INTEGER(iwp) :: current_timestep_number_1d = 0 !< current timestep number (1d-model) 1728 INTEGER(iwp) :: damp_level_ind_1d !< lower grid index of damping layer (1d-model) 1729 1730 LOGICAL :: run_control_header_1d = .FALSE. !< flag for output of run control header (1d-model) 1731 LOGICAL :: stop_dt_1d = .FALSE. !< termination flag, used in case of too small timestep (1d-model) 1732 1733 REAL(wp) :: damp_level_1d = -1.0_wp !< namelist parameter 1734 REAL(wp) :: dt_1d = 60.0_wp !< dynamic timestep (1d-model) 1735 REAL(wp) :: dt_max_1d = 300.0_wp !< timestep limit (1d-model) 1736 REAL(wp) :: dt_pr_1d = 9999999.9_wp !< namelist parameter 1737 REAL(wp) :: dt_run_control_1d = 60.0_wp !< namelist parameter 1738 REAL(wp) :: end_time_1d = 864000.0_wp !< namelist parameter 1739 REAL(wp) :: old_dt_1d = 1.0E-10_wp !< previous timestep (1d-model) 1740 REAL(wp) :: qs1d !< characteristic humidity scale (1d-model) 1741 REAL(wp) :: simulated_time_1d = 0.0_wp !< updated simulated time (1d-model) 1742 REAL(wp) :: time_pr_1d = 0.0_wp !< updated simulated time for profile output (1d-model) 1743 REAL(wp) :: time_run_control_1d = 0.0_wp !< updated simulated time for run-control output (1d-model) 1744 REAL(wp) :: ts1d !< characteristic temperature scale (1d-model) 1745 REAL(wp) :: us1d !< friction velocity (1d-model) 1746 REAL(wp) :: usws1d !< u-component of the momentum flux (1d-model) 1747 REAL(wp) :: vsws1d !< v-component of the momentum flux (1d-model) 1748 REAL(wp) :: z01d !< roughness length for momentum (1d-model) 1749 REAL(wp) :: z0h1d !< roughness length for scalars (1d-model) 1750 1751 1752 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d !< tke (1d-model) 1753 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d_p !< prognostic value of tke (1d-model) 1754 REAL(wp), DIMENSION(:), ALLOCATABLE :: kh1d !< turbulent diffusion coefficient for heat (1d-model) 1755 REAL(wp), DIMENSION(:), ALLOCATABLE :: km1d !< turbulent diffusion coefficient for momentum (1d-model) 1756 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_black !< mixing length Blackadar (1d-model) 1757 REAL(wp), DIMENSION(:), ALLOCATABLE :: l1d !< mixing length (1d-model) 1758 REAL(wp), DIMENSION(:), ALLOCATABLE :: rif1d !< Richardson flux number (1d-model) 1759 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_e !< Tobias (1d-model) 1760 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_em !< Tobias (1d-model) 1761 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_u !< Tobias (1d-model) 1762 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_um !< Tobias (1d-model) 1763 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_v !< Tobias (1d-model) 1764 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_vm !< Tobias (1d-model) 1765 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d !< u-velocity component (1d-model) 1766 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d_p !< prognostic value of u-velocity component (1d-model) 1767 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d !< v-velocity component (1d-model) 1768 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d_p !< prognostic value of v-velocity component (1d-model) 1763 1769 1764 1770 SAVE … … 1787 1793 #endif 1788 1794 #endif 1789 CHARACTER(LEN=2) :: send_receive = 'al' 1790 CHARACTER(LEN=7) :: myid_char = '' 1795 CHARACTER(LEN=2) :: send_receive = 'al' !< Siggi 1796 CHARACTER(LEN=7) :: myid_char = '' !< character string containing processor id number 1791 1797 1792 INTEGER(iwp) :: comm1dx !< 1793 INTEGER(iwp) :: comm1dy !< 1794 INTEGER(iwp) :: comm2d !< 1795 INTEGER(iwp) :: comm_inter !< 1796 INTEGER(iwp) :: comm_palm !< 1797 INTEGER(iwp) :: id_inflow = 0 !< 1798 INTEGER(iwp) :: comm1dx !< Siggi 1799 INTEGER(iwp) :: comm1dy !< Siggi 1800 INTEGER(iwp) :: comm2d !< Siggi 1801 INTEGER(iwp) :: comm_inter !< Siggi 1802 INTEGER(iwp) :: comm_palm !< Siggi 1803 INTEGER(iwp) :: id_inflow = 0 !< myidx of procs at inflow (turbulent inflow method) 1798 1804 INTEGER(iwp) :: id_outflow = 0 !< myidx of procs at outflow (turbulent outflow method) 1799 1805 INTEGER(iwp) :: id_outflow_source = 0 !< myidx of procs including ouflow source plane (turbulent outflow method) 1800 INTEGER(iwp) :: id_recycling = 0 !< 1801 INTEGER(iwp) :: ierr !< 1802 INTEGER(iwp) :: myid = 0 !< 1803 INTEGER(iwp) :: myidx = 0 !< 1804 INTEGER(iwp) :: myidy = 0 !< 1805 INTEGER(iwp) :: ndim = 2 !< 1806 INTEGER(iwp) :: ngp_a !< 1807 INTEGER(iwp) :: ngp_o !< 1808 INTEGER(iwp) :: ngp_xy !< 1809 INTEGER(iwp) :: ngp_y !< 1810 INTEGER(iwp) :: npex = -1 !< 1811 INTEGER(iwp) :: npey = -1 !< 1812 INTEGER(iwp) :: numprocs = 1 !< 1813 INTEGER(iwp) :: numprocs_previous_run = -1 !< 1814 INTEGER(iwp) :: pleft !< 1815 INTEGER(iwp) :: pnorth !< 1816 INTEGER(iwp) :: pright !< 1817 INTEGER(iwp) :: psouth !< 1818 INTEGER(iwp) :: req_count = 0 !< 1819 INTEGER(iwp) :: sendrecvcount_xy !< 1820 INTEGER(iwp) :: sendrecvcount_yz !< 1821 INTEGER(iwp) :: sendrecvcount_zx !< 1822 INTEGER(iwp) :: sendrecvcount_zyd !< 1823 INTEGER(iwp) :: sendrecvcount_yxd !< 1824 INTEGER(iwp) :: target_id !< 1825 INTEGER(iwp) :: tasks_per_node = -9999 !< 1826 INTEGER(iwp) :: threads_per_task = 1 !< 1827 INTEGER(iwp) :: type_x !< 1828 INTEGER(iwp) :: type_xy !< 1829 INTEGER(iwp) :: type_y !< 1830 1831 INTEGER(iwp) :: pdims(2) = 1 !< 1832 INTEGER(iwp) :: req(100) !< 1833 1834 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds !< 1835 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds_previous_run !< 1836 1837 LOGICAL :: collective_wait = .FALSE. !< 1838 LOGICAL :: sendrecv_in_background = .FALSE. !< 1806 INTEGER(iwp) :: id_recycling = 0 !< myidx of procs containing the recycling plane (turbulence recycling method) 1807 INTEGER(iwp) :: ierr !< Siggi 1808 INTEGER(iwp) :: myid = 0 !< id number of processor element 1809 INTEGER(iwp) :: myidx = 0 !< id number of processor elements with same position along x-direction 1810 INTEGER(iwp) :: myidy = 0 !< id number of processor elements with same position along y-direction 1811 INTEGER(iwp) :: ndim = 2 !< Siggi 1812 INTEGER(iwp) :: ngp_a !< number of grid points in atmosphere domain Siggi 1813 INTEGER(iwp) :: ngp_o !< number of grid points in ocean domain Siggi 1814 INTEGER(iwp) :: ngp_xy !< number of grid points at atmosphere-ocean interface Siggi 1815 INTEGER(iwp) :: ngp_y !< Siggi 1816 INTEGER(iwp) :: npex = -1 !< number of processor elements in x-direction 1817 INTEGER(iwp) :: npey = -1 !< number of processor elements in y-direction 1818 INTEGER(iwp) :: numprocs = 1 !< total number of appointed processor elements 1819 INTEGER(iwp) :: numprocs_previous_run = -1 !< total number of appointed processor elements in previous run (job chain) 1820 INTEGER(iwp) :: pleft !< MPI-address of the processor left of the current one 1821 INTEGER(iwp) :: pnorth !< MPI-address of the processor north of the current one 1822 INTEGER(iwp) :: pright !< MPI-address of the processor right of the current one 1823 INTEGER(iwp) :: psouth !< MPI-address of the processor south of the current one 1824 INTEGER(iwp) :: req_count = 0 !< MPI return variable - checks if Send-Receive operation is already finished 1825 INTEGER(iwp) :: sendrecvcount_xy !< Siggi 1826 INTEGER(iwp) :: sendrecvcount_yz !< Siggi 1827 INTEGER(iwp) :: sendrecvcount_zx !< Siggi 1828 INTEGER(iwp) :: sendrecvcount_zyd !< Siggi 1829 INTEGER(iwp) :: sendrecvcount_yxd !< Siggi 1830 INTEGER(iwp) :: target_id !< Siggi 1831 INTEGER(iwp) :: tasks_per_node = -9999 !< MPI tasks per computing node 1832 INTEGER(iwp) :: threads_per_task = 1 !< OPENMP threads per MPI task 1833 INTEGER(iwp) :: type_x !< derived MPI datatype for 2-D ghost-point exchange - north / south 1834 INTEGER(iwp) :: type_xy !< derived MPI datatype for 2-D ghost-point exchange - north / south 1835 INTEGER(iwp) :: type_y !< derived MPI datatype for 2-D exchange in atmosphere-ocean coupler 1836 1837 INTEGER(iwp) :: pdims(2) = 1 !< number of processors along x-y dimension 1838 INTEGER(iwp) :: req(100) !< MPI return variable indicating if send-receive operation is finished 1839 1840 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds !< horizontal index bounds 1841 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds_previous_run !< horizontal index bounds of previous run 1842 1843 LOGICAL :: collective_wait = .FALSE. !< Siggi 1844 LOGICAL :: sendrecv_in_background = .FALSE. !< Siggi 1839 1845 1840 1846 #if defined( __parallel ) 1841 1847 #if defined( __mpi2 ) 1842 CHARACTER (LEN=MPI_MAX_PORT_NAME) :: port_name !< 1848 CHARACTER (LEN=MPI_MAX_PORT_NAME) :: port_name !< Siggi 1843 1849 #endif 1844 1850 1845 INTEGER(iwp) :: ibuf(12) !< 1846 INTEGER(iwp) :: pcoord(2) !< 1847 INTEGER(iwp) :: status(MPI_STATUS_SIZE) !< 1851 INTEGER(iwp) :: ibuf(12) !< Siggi 1852 INTEGER(iwp) :: pcoord(2) !< Siggi 1853 INTEGER(iwp) :: status(MPI_STATUS_SIZE) !< Siggi 1848 1854 1849 INTEGER(iwp), DIMENSION(MPI_STATUS_SIZE,100) :: wait_stat !< 1855 INTEGER(iwp), DIMENSION(MPI_STATUS_SIZE,100) :: wait_stat !< Siggi 1850 1856 1851 INTEGER(iwp) :: ngp_yz_int !< 1852 INTEGER(iwp) :: type_xz_int !< 1853 INTEGER(iwp) :: type_yz_int !< 1854 1855 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_xz !< 1856 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_yz !< 1857 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_x_int !< 1858 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_xz !< 1859 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_y_int !< 1860 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_yz !< 1861 1862 LOGICAL :: left_border_pe = .FALSE. !< 1863 LOGICAL :: north_border_pe = .FALSE. !< 1864 LOGICAL :: reorder = .TRUE. !< 1865 LOGICAL :: right_border_pe = .FALSE. !< 1866 LOGICAL :: south_border_pe = .FALSE. !< 1867 1868 LOGICAL, DIMENSION(2) :: cyclic = (/ .TRUE. , .TRUE. /) !< 1869 LOGICAL, DIMENSION(2) :: remain_dims !< 1857 INTEGER(iwp) :: ngp_yz_int !< number of ghost points in yz-plane 1858 INTEGER(iwp) :: type_xz_int !< derived MPI datatype for 3-D integer ghost-point exchange - north / south 1859 INTEGER(iwp) :: type_yz_int !< derived MPI datatype for 3-D integer ghost-point exchange - left / right 1860 1861 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_xz !< number of ghost points in xz-plane on different multigrid level 1862 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_yz !< number of ghost points in yz-plane on different multigrid level 1863 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_x_int !< derived MPI datatype for 2-D integer ghost-point exchange - north / south 1864 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_xz !< derived MPI datatype for 3-D integer ghost-point exchange - north / south 1865 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_y_int !< derived MPI datatype for 2-D integer ghost-point exchange - left / right 1866 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_yz !< derived MPI datatype for 3-D integer ghost-point exchange - left / right 1867 1868 LOGICAL :: left_border_pe = .FALSE. !< = .TRUE. if PE is on left border of computational domain 1869 LOGICAL :: north_border_pe = .FALSE. !< = .TRUE. if PE is on north border of computational domain 1870 LOGICAL :: reorder = .TRUE. !< Siggi 1871 LOGICAL :: right_border_pe = .FALSE. !< = .TRUE. if PE is on right border of computational domain 1872 LOGICAL :: south_border_pe = .FALSE. !< = .TRUE. if PE is on south border of computational domain 1873 1874 LOGICAL, DIMENSION(2) :: cyclic = (/ .TRUE. , .TRUE. /) !< Siggi 1875 LOGICAL, DIMENSION(2) :: remain_dims !< Siggi 1870 1876 #endif 1871 1877 … … 1884 1890 USE kinds 1885 1891 1886 INTEGER(iwp), PARAMETER :: crmax = 100 !< 1892 INTEGER(iwp), PARAMETER :: crmax = 100 !< Siggi (entire module) 1887 1893 1888 1894 CHARACTER (LEN=20), DIMENSION(20) :: cross_ts_profiles = & !< … … 1942 1948 USE kinds 1943 1949 1944 CHARACTER (LEN=40) :: region(0:9) !< 1950 CHARACTER (LEN=40) :: region(0:9) !< label for statistic region 1945 1951 1946 INTEGER(iwp) :: pr_palm = 130 !< 1947 INTEGER(iwp) :: statistic_regions = 0 !< 1952 INTEGER(iwp) :: pr_palm = 130 !< maximum number of output profiles 1953 INTEGER(iwp) :: statistic_regions = 0 !< identifier for statistic regions 1948 1954 1949 INTEGER(iwp) :: u_max_ijk(3) = -1 !< 1950 INTEGER(iwp) :: v_max_ijk(3) = -1 !< 1951 INTEGER(iwp) :: w_max_ijk(3) = -1 !< 1955 INTEGER(iwp) :: u_max_ijk(3) = -1 !< index values (i,j,k) of location where u_max occurs 1956 INTEGER(iwp) :: v_max_ijk(3) = -1 !< index values (i,j,k) of location where v_max occurs 1957 INTEGER(iwp) :: w_max_ijk(3) = -1 !< index values (i,j,k) of location where w_max occurs 1952 1958 1953 LOGICAL :: flow_statistics_called = .FALSE. !< 1959 LOGICAL :: flow_statistics_called = .FALSE. !< flag that tells other routines if flow statistics was executed 1960 !< (after each timestep) 1954 1961 1955 REAL(wp) :: u_max !< 1956 REAL(wp) :: v_max !< 1957 REAL(wp) :: w_max !< 1962 REAL(wp) :: u_max !< maximum of absolute u-veloctiy in entire domain 1963 REAL(wp) :: v_max !< maximum of absolute v-veloctiy in entire domain 1964 REAL(wp) :: w_max !< maximum of absolute w-veloctiy in entire domain 1958 1965 1959 REAL(wp), DIMENSION(:), ALLOCATABLE :: mean_surface_level_height !< 1960 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divnew_l !< 1961 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divold_l !< 1962 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_substep !< 1963 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_pres !< 1966 REAL(wp), DIMENSION(:), ALLOCATABLE :: mean_surface_level_height !< Siggi 1967 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divnew_l !< subdomain sum (_l) of divergence after pressure 1968 !< solver call (new) 1969 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divold_l !< subdomain sum (_l) of divergence before pressure 1970 !< solver call (old) 1971 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_substep !< weighting factor for substeps in timestepping 1972 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_pres !< substep weighting factor for pressure solver 1964 1973 1965 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums !< 1966 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsts_bc_l !< 1967 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_value !< 1968 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsus_ws_l !< 1969 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsvs_ws_l !< 1970 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_us2_ws_l !< 1971 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_vs2_ws_l !< 1972 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ws2_ws_l !< 1973 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsnrs_ws_l !< 1974 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wspts_ws_l !< 1975 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqs_ws_l !< 1976 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqrs_ws_l !< 1977 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wssas_ws_l !< 1978 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsss_ws_l !< 1979 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ls_l !< 1974 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums !< global sum array for the various output quantities 1975 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsts_bc_l !< subdomain sum of sensible heat flux in Bott-Chlond scheme 1976 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_value !< timeseries output array for the various output quantities 1977 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsus_ws_l !< subdomain sum of vertical momentum flux w'u' (5th-order advection scheme only) 1978 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsvs_ws_l !< subdomain sum of vertical momentum flux w'v' (5th-order advection scheme only) 1979 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_us2_ws_l !< subdomain sum of horizontal momentum flux u'u' (5th-order advection scheme only) 1980 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_vs2_ws_l !< subdomain sum of horizontal momentum flux v'v' (5th-order advection scheme only) 1981 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ws2_ws_l !< subdomain sum of vertical momentum flux w'w' (5th-order advection scheme only) 1982 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsnrs_ws_l !< subdomain sum of vertical raindrop-number concentration flux w'nr' (5th-order advection scheme only) 1983 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wspts_ws_l !< subdomain sum of vertical sensible heat flux w'pt' (5th-order advection scheme only) 1984 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqs_ws_l !< subdomain sum of vertical latent heat flux w'q' (5th-order advection scheme only) 1985 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqrs_ws_l !< subdomain sum of vertical rainwater flux w'qr' (5th-order advection scheme only) 1986 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wssas_ws_l !< subdomain sum of vertical salinity flux w'sa' (5th-order advection scheme only) 1987 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsss_ws_l !< subdomain sum of vertical passive scalar flux w's' (5th-order advection scheme only) 1988 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ls_l !< subdomain sum of large scale forcing and nudging tendencies 1980 1989 1981 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: hom_sum !< 1982 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rmask !< 1983 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l !< 1984 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l_l !< 1985 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_up_fraction_l !< 1986 1987 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: hom !< 1990 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: hom_sum !< sum array for horizontal mean 1991 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rmask !< REAL flag array (0.0 or 1.0) for statistic regions 1992 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l !< subdomain sum (_l) gathered for various quantities 1993 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l_l !< subdomain sum (_l) of mixing length from diffusivities 1994 1995 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: hom !< horizontal mean of various quantities (profiles/timeseries) 1988 1996 1989 1997 SAVE … … 2002 2010 USE kinds 2003 2011 2004 INTEGER(iwp) :: nxl_y !< 2012 INTEGER(iwp) :: nxl_y !< Siggi (entire module) 2005 2013 INTEGER(iwp) :: nxl_yd !< 2006 2014 INTEGER(iwp) :: nxl_z !< -
palm/trunk/SOURCE/nudging_mod.f90
r2271 r2277 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Removed unused variables lptnudge, lqnudge, lunudge, lvnudge, lwnudge 28 ! 29 ! 2271 2017-06-09 12:34:55Z sward 27 30 ! Error message changed 28 31 ! … … 130 133 131 134 USE control_parameters, & 132 ONLY: dt_3d, lptnudge, lqnudge, lunudge, lvnudge, lwnudge, & 133 message_string, ntnudge 135 ONLY: dt_3d, message_string, ntnudge 134 136 135 137 USE indices, & … … 266 268 CLOSE ( finput ) 267 269 268 !269 !-- Prevent nudging if nudging profiles exhibt too small values270 !-- not used so far271 lptnudge = ANY( ABS( ptnudge ) > 1.0e-8_wp )272 lqnudge = ANY( ABS( qnudge ) > 1.0e-8_wp )273 lunudge = ANY( ABS( unudge ) > 1.0e-8_wp )274 lvnudge = ANY( ABS( vnudge ) > 1.0e-8_wp )275 lwnudge = ANY( ABS( wnudge ) > 1.0e-8_wp )276 270 277 271 END SUBROUTINE init_nudge
Note: See TracChangeset
for help on using the changeset viewer.