Changeset 2107
- Timestamp:
- Jan 9, 2017 12:21:49 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/modules.f90
r2101 r2107 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Preparation for doxygen comments (Giersch) 23 23 ! 24 24 ! Former revisions: … … 429 429 USE kinds 430 430 431 REAL(wp), DIMENSION(:), ALLOCATABLE :: aex, bex, dex, eex 432 431 REAL(wp), DIMENSION(:), ALLOCATABLE :: aex !< 432 REAL(wp), DIMENSION(:), ALLOCATABLE :: bex !< 433 REAL(wp), DIMENSION(:), ALLOCATABLE :: dex !< 434 REAL(wp), DIMENSION(:), ALLOCATABLE :: eex !< 435 433 436 SAVE 434 437 … … 445 448 USE kinds 446 449 447 REAL(wp), DIMENSION(:), ALLOCATABLE :: & 448 c_u_m, c_u_m_l, c_v_m, c_v_m_l, c_w_m, c_w_m_l, ddzu, ddzu_pres, & 449 dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor, l_grid, & 450 ptdf_x, ptdf_y, p_surf, pt_surf, pt_init, qsws_surf, q_init, q_surf, & 451 rdf, rdf_sc, ref_state, s_init, s_surf, sa_init, shf_surf, & 452 timenudge, time_surf, time_vert, tmp_tnudge, ug, u_init, & 453 u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs, zu, zw 454 455 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: & 456 c_u, c_v, c_w, diss_s_e, diss_s_nr, diss_s_pt, diss_s_q, & 457 diss_s_qr, diss_s_s, diss_s_sa, diss_s_u, diss_s_v, diss_s_w, dzu_mg,& 458 dzw_mg, flux_s_e, flux_s_nr, flux_s_pt, flux_s_q, flux_s_qr, & 459 flux_s_s, flux_s_sa, flux_s_u, flux_s_v, flux_s_w, f1_mg, f2_mg, & 460 f3_mg, mean_inflow_profiles, nrs, nrsws, nrswst, & 461 ol, & !< Obukhov length 462 precipitation_amount, precipitation_rate, ptnudge, pt_slope_ref, & 463 qnudge, qs, qsws, qswst, qswst_remote, qrs, qrsws, qrswst, & 464 saswsb, saswst, shf, ss, ssws, sswst, tnudge, td_lsa_lpt, td_lsa_q, & 465 td_sub_lpt, & 466 td_sub_q, total_2d_a, total_2d_o, ts, tswst, ug_vert, unudge, us, & 467 usws, uswst, vnudge, vg_vert, vsws, vswst, wnudge, wsubs_vert, & 468 z0, & !< roughness length for momentum 469 z0h, & !< roughness length for heat 470 z0q !< roughness length for moisture 471 472 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: & 473 d, de_dx, de_dy, de_dz, diss, diss_l_e, & 474 diss_l_nr, diss_l_pt, diss_l_q, diss_l_qr, diss_l_s, diss_l_sa, & 475 diss_l_u, diss_l_v, diss_l_w, flux_l_e, flux_l_nr, flux_l_pt, & 476 flux_l_q, flux_l_qr, flux_l_s, flux_l_sa, flux_l_u, flux_l_v, & 477 flux_l_w, kh, km, l_wall, prr, p_loc, tend, tric, & 478 u_m_l, u_m_n, u_m_r, u_m_s, v_m_l, v_m_n, v_m_r, v_m_s, w_m_l, & 479 w_m_n, w_m_r, w_m_s 450 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m !< 451 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_u_m_l !< 452 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m !< 453 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_v_m_l !< 454 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m !< 455 REAL(wp), DIMENSION(:), ALLOCATABLE :: c_w_m_l !< 456 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu !< 457 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzu_pres !< 458 REAL(wp), DIMENSION(:), ALLOCATABLE :: dd2zu !< 459 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzu !< 460 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddzw !< 461 REAL(wp), DIMENSION(:), ALLOCATABLE :: dzw !< 462 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyp !< 463 REAL(wp), DIMENSION(:), ALLOCATABLE :: inflow_damping_factor !< 464 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_grid !< 465 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_x !< 466 REAL(wp), DIMENSION(:), ALLOCATABLE :: ptdf_y !< 467 REAL(wp), DIMENSION(:), ALLOCATABLE :: p_surf !< 468 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_surf !< 469 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_init !< 470 REAL(wp), DIMENSION(:), ALLOCATABLE :: qsws_surf !< 471 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_init !< 472 REAL(wp), DIMENSION(:), ALLOCATABLE :: q_surf !< 473 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf !< 474 REAL(wp), DIMENSION(:), ALLOCATABLE :: rdf_sc !< 475 REAL(wp), DIMENSION(:), ALLOCATABLE :: ref_state !< 476 REAL(wp), DIMENSION(:), ALLOCATABLE :: s_init !< 477 REAL(wp), DIMENSION(:), ALLOCATABLE :: s_surf !< 478 REAL(wp), DIMENSION(:), ALLOCATABLE :: sa_init !< 479 REAL(wp), DIMENSION(:), ALLOCATABLE :: shf_surf !< 480 REAL(wp), DIMENSION(:), ALLOCATABLE :: timenudge !< 481 REAL(wp), DIMENSION(:), ALLOCATABLE :: time_surf !< 482 REAL(wp), DIMENSION(:), ALLOCATABLE :: time_vert !< 483 REAL(wp), DIMENSION(:), ALLOCATABLE :: tmp_tnudge !< 484 REAL(wp), DIMENSION(:), ALLOCATABLE :: ug !< 485 REAL(wp), DIMENSION(:), ALLOCATABLE :: u_init !< 486 REAL(wp), DIMENSION(:), ALLOCATABLE :: u_nzb_p1_for_vfc !< 487 REAL(wp), DIMENSION(:), ALLOCATABLE :: vg !< 488 REAL(wp), DIMENSION(:), ALLOCATABLE :: v_init !< 489 REAL(wp), DIMENSION(:), ALLOCATABLE :: v_nzb_p1_for_vfc !< 490 REAL(wp), DIMENSION(:), ALLOCATABLE :: w_subs !< 491 REAL(wp), DIMENSION(:), ALLOCATABLE :: zu !< 492 REAL(wp), DIMENSION(:), ALLOCATABLE :: zw !< 493 494 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_u !< 495 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_v !< 496 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_w !< 497 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_e !< 498 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_nr !< 499 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_pt !< 500 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_q !< 501 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_qr !< 502 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_s !< 503 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_sa !< 504 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_u !< 505 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_v !< 506 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_w !< 507 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzu_mg !< 508 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzw_mg !< 509 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_e !< 510 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_nr !< 511 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_pt !< 512 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_q !< 513 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_qr !< 514 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_s !< 515 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_sa !< 516 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_u !< 517 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_v !< 518 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_w !< 519 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f1_mg !< 520 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f2_mg !< 521 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: f3_mg !< 522 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: mean_inflow_profiles !< 523 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: nrs !< 524 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: nrsws !< 525 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: nrswst !< 526 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ol !< Obukhov length 527 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_amount !< 528 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_rate !< 529 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ptnudge !< 530 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: pt_slope_ref !< 531 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qnudge !< 532 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qs !< 533 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qsws !< 534 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qswst !< 535 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qswst_remote !< 536 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qrs !< 537 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qrsws !< 538 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qrswst !< 539 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: saswsb !< 540 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: saswst !< 541 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: shf !< 542 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ss !< 543 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ssws !< 544 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sswst !< 545 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tnudge !< 546 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_lpt !< 547 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_lsa_q !< 548 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_lpt !< 549 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: td_sub_q !< 550 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_a !< 551 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: total_2d_o !< 552 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts !< 553 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tswst !< 554 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ug_vert !< 555 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: unudge !< 556 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: us !< 557 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: usws !< 558 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: uswst !< 559 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vnudge !< 560 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vg_vert !< 561 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vsws !< 562 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vswst !< 563 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wnudge !< 564 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wsubs_vert !< 565 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0 !< roughness length for momentum 566 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0h !< roughness length for heat 567 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0q !< roughness length for moisture 568 569 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: d !< 570 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dx !< 571 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dy !< 572 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: de_dz !< 573 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss !< 574 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_e !< 575 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_nr !< 576 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_pt !< 577 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_q !< 578 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_qr !< 579 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_s !< 580 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_sa !< 581 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_u !< 582 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_v !< 583 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_w !< 584 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_e !< 585 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_nr !< 586 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_pt !< 587 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_q !< 588 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_qr !< 589 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_s !< 590 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_sa !< 591 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_u !< 592 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_v !< 593 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_w !< 594 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: kh !< 595 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: km !< 596 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: l_wall !< 597 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: prr !< 598 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: p_loc !< 599 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tend !< 600 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tric !< 601 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_l !< 602 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_n !< 603 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_r !< 604 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: u_m_s !< 605 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_l !< 606 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_n !< 607 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_r !< 608 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: v_m_s !< 609 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_l !< 610 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_n !< 611 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_r !< 612 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: w_m_s !< 480 613 481 614 #if defined( __nopointer ) 482 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 483 e, e_p, nr, nr_p, p, prho, pt, pt_p, q, q_p, qc, ql, ql_c, ql_v, & 484 ql_vp, qr, qr_p, rho_ocean, s, s_p, sa, sa_p, te_m, tnr_m, tpt_m, tq_m, & 485 tqr_m, ts_m, tsa_m, tu_m, tv_m, tw_m, u, u_p, v, v_p, vpt, w, w_p 615 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e !< 616 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_p !< 617 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr !< 618 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_p !< 619 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< 620 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho !< 621 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt !< 622 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_p !< 623 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q !< 624 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_p !< 625 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc !< 626 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql !< 627 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c !< 628 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< 629 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< 630 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr !< 631 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_p !< 632 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean !< 633 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s !< 634 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_p !< 635 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa !< 636 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_p !< 637 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: te_m !< 638 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tnr_m !< 639 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tpt_m !< 640 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tq_m !< 641 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tqr_m !< 642 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ts_m !< 643 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tsa_m !< 644 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tu_m !< 645 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tv_m !< 646 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tw_m !< 647 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u !< 648 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_p !< 649 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v !< 650 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_p !< 651 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt !< 652 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w !< 653 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_p !< 486 654 #else 487 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 488 e_1, e_2, e_3, p, prho_1, nr_1, nr_2, nr_3, pt_1, pt_2, pt_3, q_1, & 489 q_2, q_3, qc_1, ql_v, ql_vp, ql_1, ql_2, qr_1, qr_2, qr_3, rho_1, & 490 s_1, s_2, s_3, sa_1, sa_2, sa_3, u_1, u_2, u_3, v_1, v_2, v_3, vpt_1,& 491 w_1, w_2, w_3 492 493 REAL(wp), DIMENSION(:,:,:), POINTER :: & 494 e, e_p, nr, nr_p, prho, pt, pt_p, q, q_p, qc, ql, ql_c, qr, qr_p, & 495 rho_ocean, s, s_p, sa, sa_p, te_m, tnr_m, tpt_m, tq_m, tqr_m, ts_m, & 496 tsa_m, tu_m, tv_m, tw_m, u, u_p, v, v_p, vpt, w, w_p 655 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_1 !< 656 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_2 !< 657 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_3 !< 658 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< 659 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho_1 !< 660 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_1 !< 661 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_2 !< 662 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_3 !< 663 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_1 !< 664 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_2 !< 665 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_3 !< 666 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_1 !< 667 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_2 !< 668 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_3 !< 669 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_1 !< 670 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< 671 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< 672 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_1 !< 673 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_2 !< 674 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_1 !< 675 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_2 !< 676 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_3 !< 677 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_1 !< 678 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_1 !< 679 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_2 !< 680 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_3 !< 681 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_1 !< 682 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_2 !< 683 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_3 !< 684 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_1 !< 685 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_2 !< 686 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_3 !< 687 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_1 !< 688 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_2 !< 689 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_3 !< 690 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_1 !< 691 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_1 !< 692 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_2 !< 693 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_3 !< 694 695 REAL(wp), DIMENSION(:,:,:), POINTER :: e !< 696 REAL(wp), DIMENSION(:,:,:), POINTER :: e_p !< 697 REAL(wp), DIMENSION(:,:,:), POINTER :: nr !< 698 REAL(wp), DIMENSION(:,:,:), POINTER :: nr_p !< 699 REAL(wp), DIMENSION(:,:,:), POINTER :: prho !< 700 REAL(wp), DIMENSION(:,:,:), POINTER :: pt !< 701 REAL(wp), DIMENSION(:,:,:), POINTER :: pt_p !< 702 REAL(wp), DIMENSION(:,:,:), POINTER :: q !< 703 REAL(wp), DIMENSION(:,:,:), POINTER :: q_p !< 704 REAL(wp), DIMENSION(:,:,:), POINTER :: qc !< 705 REAL(wp), DIMENSION(:,:,:), POINTER :: ql !< 706 REAL(wp), DIMENSION(:,:,:), POINTER :: ql_c !< 707 REAL(wp), DIMENSION(:,:,:), POINTER :: qr !< 708 REAL(wp), DIMENSION(:,:,:), POINTER :: qr_p !< 709 REAL(wp), DIMENSION(:,:,:), POINTER :: rho_ocean !< 710 REAL(wp), DIMENSION(:,:,:), POINTER :: s !< 711 REAL(wp), DIMENSION(:,:,:), POINTER :: s_p !< 712 REAL(wp), DIMENSION(:,:,:), POINTER :: sa !< 713 REAL(wp), DIMENSION(:,:,:), POINTER :: sa_p !< 714 REAL(wp), DIMENSION(:,:,:), POINTER :: te_m !< 715 REAL(wp), DIMENSION(:,:,:), POINTER :: tnr_m !< 716 REAL(wp), DIMENSION(:,:,:), POINTER :: tpt_m !< 717 REAL(wp), DIMENSION(:,:,:), POINTER :: tq_m !< 718 REAL(wp), DIMENSION(:,:,:), POINTER :: tqr_m !< 719 REAL(wp), DIMENSION(:,:,:), POINTER :: ts_m !< 720 REAL(wp), DIMENSION(:,:,:), POINTER :: tsa_m !< 721 REAL(wp), DIMENSION(:,:,:), POINTER :: tu_m !< 722 REAL(wp), DIMENSION(:,:,:), POINTER :: tv_m !< 723 REAL(wp), DIMENSION(:,:,:), POINTER :: tw_m !< 724 REAL(wp), DIMENSION(:,:,:), POINTER :: u !< 725 REAL(wp), DIMENSION(:,:,:), POINTER :: u_p !< 726 REAL(wp), DIMENSION(:,:,:), POINTER :: v !< 727 REAL(wp), DIMENSION(:,:,:), POINTER :: v_p !< 728 REAL(wp), DIMENSION(:,:,:), POINTER :: vpt !< 729 REAL(wp), DIMENSION(:,:,:), POINTER :: w !< 730 REAL(wp), DIMENSION(:,:,:), POINTER :: w_p !< 497 731 #endif 498 732 499 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: rif_wall , tri500 501 REAL(wp), DIMENSION(:), ALLOCATABLE :: rho_air !< air density profile on the uv grid 502 REAL(wp), DIMENSION(:), ALLOCATABLE :: rho_air_zw !< air density profile on the wgrid503 REAL(wp), DIMENSION(:), ALLOCATABLE :: drho_air !< inverse air density profile on the uvgrid504 REAL(wp), DIMENSION(:), ALLOCATABLE :: drho_air_zw !< inverse air density profile on the wgrid505 506 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: rho_air_mg !< air density profiles on the uv grid for multigrid 507 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: rho_air_zw_mg !< air density profiles on the wgrid for multigrid508 509 REAL(wp), DIMENSION(:), ALLOCATABLE :: heatflux_input_conversion !< conversion factor array for heatflux input 510 REAL(wp), DIMENSION(:), ALLOCATABLE :: waterflux_input_conversion !< conversion factor array for waterflux input511 REAL(wp), DIMENSION(:), ALLOCATABLE :: momentumflux_input_conversion !< conversion factor array for momentumflux input512 REAL(wp), DIMENSION(:), ALLOCATABLE :: heatflux_output_conversion !< conversion factor array for heatflux output513 REAL(wp), DIMENSION(:), ALLOCATABLE :: waterflux_output_conversion !< conversion factor array for waterflux output514 REAL(wp), DIMENSION(:), ALLOCATABLE :: momentumflux_output_conversion !< conversion factor array for momentumflux output515 733 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: rif_wall !< 734 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: tri !< 735 736 REAL(wp), DIMENSION(:), ALLOCATABLE :: rho_air !< air density profile on the uv grid 737 REAL(wp), DIMENSION(:), ALLOCATABLE :: rho_air_zw !< air density profile on the w grid 738 REAL(wp), DIMENSION(:), ALLOCATABLE :: drho_air !< inverse air density profile on the uv grid 739 REAL(wp), DIMENSION(:), ALLOCATABLE :: drho_air_zw !< inverse air density profile on the w grid 740 741 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: rho_air_mg !< air density profiles on the uv grid for multigrid 742 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: rho_air_zw_mg !< air density profiles on the w grid for multigrid 743 744 REAL(wp), DIMENSION(:), ALLOCATABLE :: heatflux_input_conversion !< conversion factor array for heatflux input 745 REAL(wp), DIMENSION(:), ALLOCATABLE :: waterflux_input_conversion !< conversion factor array for waterflux input 746 REAL(wp), DIMENSION(:), ALLOCATABLE :: momentumflux_input_conversion !< conversion factor array for momentumflux input 747 REAL(wp), DIMENSION(:), ALLOCATABLE :: heatflux_output_conversion !< conversion factor array for heatflux output 748 REAL(wp), DIMENSION(:), ALLOCATABLE :: waterflux_output_conversion !< conversion factor array for waterflux output 749 REAL(wp), DIMENSION(:), ALLOCATABLE :: momentumflux_output_conversion !< conversion factor array for momentumflux output 516 750 517 751 SAVE … … 529 763 USE kinds 530 764 531 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: lwp_av, & !< Avg. liquid water path 532 precipitation_rate_av, & !< Avg. of precipitation rate 533 ol_av, & !< Avg. of Obukhov length 534 qsws_av, & !< Avg. of surface moisture flux 535 ssws_av, & !< Avg. of surface scalar flux 536 shf_av, & !< Avg. of surface heat flux 537 ts_av, & !< Avg. of characteristic temperature scale 538 us_av, & !< Avg. of friction velocity 539 z0_av, & !< Avg. of roughness length for momentum 540 z0h_av, & !< Avg. of roughness length for heat 541 z0q_av !< Avg. of roughness length for moisture 542 543 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 544 e_av, lpt_av, nr_av, p_av, pc_av, pr_av, prr_av, pt_av, q_av, qc_av, & 545 ql_av, ql_c_av, ql_v_av, ql_vp_av, qr_av, qv_av, rho_ocean_av, s_av, sa_av,& 546 u_av, v_av, vpt_av, w_av 765 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: lwp_av !< Avg. liquid water path 766 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: precipitation_rate_av !< Avg. of precipitation rate 767 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ol_av !< Avg. of Obukhov length 768 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: qsws_av !< Avg. of surface moisture flux 769 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ssws_av !< Avg. of surface scalar flux 770 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: shf_av !< Avg. of surface heat flux 771 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_av !< Avg. of characteristic temperature scale 772 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: us_av !< Avg. of friction velocity 773 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0_av !< Avg. of roughness length for momentum 774 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0h_av !< Avg. of roughness length for heat 775 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: z0q_av !< Avg. of roughness length for moisture 776 777 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_av !< 778 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: lpt_av !< 779 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_av !< 780 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p_av !< 781 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pc_av !< 782 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pr_av !< 783 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prr_av !< 784 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: pt_av !< 785 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_av !< 786 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_av !< 787 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_av !< 788 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c_av !< 789 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v_av !< 790 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp_av !< 791 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qr_av !< 792 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qv_av !< 793 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: rho_ocean_av !< 794 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: s_av !< 795 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_av !< 796 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: u_av !< 797 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: v_av !< 798 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: vpt_av !< 799 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_av !< 547 800 548 801 END MODULE averaging … … 558 811 USE kinds 559 812 560 REAL(wp) :: cp = 1005.0_wp, & !< heat capacity of dry air (J kg-1 K-1) 561 l_v = 2.5E+06_wp, & !< latent heat of vaporization (J kg-1) 562 l_d_cp, l_d_r, l_d_rv, & !< l_v / cp, l_v / r_d, l_v / r_v 563 rho_l = 1.0E3_wp, & !< density of water (kg m-3) 564 r_d = 287.0_wp, & !< sp. gas const. dry air (J kg-1 K-1) 565 r_v = 461.51_wp !< sp. gas const. water vapor (J kg-1 K-1) 566 567 568 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyrho, pt_d_t, t_d_pt 813 REAL(wp) :: cp = 1005.0_wp !< heat capacity of dry air (J kg-1 K-1) 814 REAL(wp) :: l_v = 2.5E+06_wp !< latent heat of vaporization (J kg-1) 815 REAL(wp) :: l_d_cp !< l_v / cp 816 REAL(wp) :: l_d_r !< l_v / r_d 817 REAL(wp) :: l_d_rv !< l_v / r_v 818 REAL(wp) :: rho_l = 1.0E3_wp !< density of water (kg m-3) 819 REAL(wp) :: r_d = 287.0_wp !< sp. gas const. dry air (J kg-1 K-1) 820 REAL(wp) :: r_v = 461.51_wp !< sp. gas const. water vapor (J kg-1 K-1) 821 822 823 REAL(wp), DIMENSION(:), ALLOCATABLE :: hyrho !< 824 REAL(wp), DIMENSION(:), ALLOCATABLE :: pt_d_t !< 825 REAL(wp), DIMENSION(:), ALLOCATABLE :: t_d_pt !< 569 826 570 827 SAVE … … 582 839 USE kinds 583 840 584 REAL(wp) :: pi = 3.141592654_wp 585 REAL(wp) :: adv_mom_1, adv_mom_3, adv_mom_5, adv_sca_1, adv_sca_3, adv_sca_5 841 REAL(wp) :: pi = 3.141592654_wp !< 842 REAL(wp) :: adv_mom_1 !< 843 REAL(wp) :: adv_mom_3 !< 844 REAL(wp) :: adv_mom_5 !< 845 REAL(wp) :: adv_sca_1 !< 846 REAL(wp) :: adv_sca_3 !< 847 REAL(wp) :: adv_sca_5 !< 586 848 587 588 849 SAVE 589 850 … … 601 862 602 863 TYPE plot_precision 603 CHARACTER (LEN=8) :: variable 604 INTEGER(iwp) :: precision 864 CHARACTER (LEN=8) :: variable !< 865 INTEGER(iwp) :: precision !< 605 866 END TYPE plot_precision 606 867 607 TYPE(plot_precision), DIMENSION(100) :: plot_3d_precision = & 608 (/ plot_precision( 'u', 2 ), plot_precision( 'v', 2 ), & 609 plot_precision( 'w', 2 ), plot_precision( 'p', 5 ), & 610 plot_precision( 'pt', 2 ), & 868 TYPE(plot_precision), DIMENSION(100) :: plot_3d_precision = & !< 869 (/ plot_precision( 'u', 2 ), plot_precision( 'v', 2 ), & 870 plot_precision( 'w', 2 ), plot_precision( 'p', 5 ), & 871 plot_precision( 'pt', 2 ), & 611 872 ( plot_precision( ' ', 1 ), i9 = 1,95 ) /) 612 873 613 874 TYPE file_status 614 LOGICAL :: opened, opened_before 875 LOGICAL :: opened !< 876 LOGICAL :: opened_before !< 615 877 END TYPE file_status 616 878 617 INTEGER, PARAMETER :: mask_xyz_dimension = 100, max_masks = 50 618 INTEGER(iwp), PARAMETER :: varnamelength = 30 !< length of output variable names 619 620 TYPE(file_status), DIMENSION(200+2*max_masks) :: & 879 INTEGER, PARAMETER :: mask_xyz_dimension = 100 !< 880 INTEGER, PARAMETER :: max_masks = 50 !< 881 INTEGER(iwp), PARAMETER :: varnamelength = 30 !< length of output variable names 882 883 TYPE(file_status), DIMENSION(200+2*max_masks) :: & !< 621 884 openfile = file_status(.FALSE.,.FALSE.) 622 885 623 CHARACTER (LEN=1) :: cycle_mg = 'w', timestep_reason = ' ' 624 CHARACTER (LEN=3) :: coupling_char = '' 625 CHARACTER (LEN=5) :: write_binary = 'false' 626 CHARACTER (LEN=8) :: most_method = 'lookup', & !< NAMELIST parameter defining method to be used to calculate Okukhov length, 627 run_date, & !< 628 run_time !< 629 CHARACTER (LEN=9) :: simulated_time_chr 630 CHARACTER (LEN=11) :: topography_grid_convention = ' ' 631 CHARACTER (LEN=12) :: version = ' ', revision = ' ', & 632 user_interface_current_revision = ' ', & 633 user_interface_required_revision = ' ' 634 CHARACTER (LEN=16) :: conserve_volume_flow_mode = 'default', & 635 loop_optimization = 'default', & 636 momentum_advec = 'ws-scheme', & 637 psolver = 'poisfft', & 638 scalar_advec = 'ws-scheme' 639 CHARACTER (LEN=20) :: approximation = 'boussinesq' 640 CHARACTER (LEN=40) :: flux_input_mode = 'approximation-specific' 641 CHARACTER (LEN=40) :: flux_output_mode = 'approximation-specific' 642 CHARACTER (LEN=20) :: bc_e_b = 'neumann', bc_lr = 'cyclic', & 643 bc_ns = 'cyclic', bc_p_b = 'neumann', & 644 bc_p_t = 'dirichlet', bc_pt_b = 'dirichlet', & 645 bc_pt_t = 'initial_gradient', & 646 bc_q_b = 'dirichlet', bc_q_t = 'neumann', & 647 bc_s_b = 'dirichlet', bc_s_t = 'initial_gradient', & 648 bc_sa_t = 'neumann', & 649 bc_uv_b = 'dirichlet', bc_uv_t = 'dirichlet', & 650 cloud_scheme = 'saturation_adjust', & 651 coupling_mode = 'uncoupled', & 652 coupling_mode_remote = 'uncoupled', & 653 dissipation_1d = 'detering', & 654 fft_method = 'system-specific', & 655 mixing_length_1d = 'blackadar', & 656 random_generator = 'numerical-recipes', & 657 reference_state = 'initial_profile', & 658 return_addres, return_username, & 659 timestep_scheme = 'runge-kutta-3' 660 CHARACTER (LEN=40) :: avs_data_file, topography = 'flat' 661 CHARACTER (LEN=64) :: host = ' ' 662 CHARACTER (LEN=80) :: log_message, run_identifier 663 CHARACTER (LEN=100) :: initializing_actions = ' ' 664 CHARACTER (LEN=110) :: run_description_header 665 CHARACTER (LEN=1000) :: message_string = ' ' 666 667 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output = ' ', & 668 data_output_user = ' ', doav = ' ' 669 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: & 670 data_output_masks = ' ', data_output_masks_user = ' ' 671 672 CHARACTER (LEN=varnamelength), DIMENSION(300) :: data_output_pr = ' ' 673 CHARACTER (LEN=varnamelength), DIMENSION(200) :: data_output_pr_user = ' ' 674 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,0:1,100) :: domask = ' ' 675 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do2d = ' ', do3d = ' ' 676 677 INTEGER(iwp), PARAMETER :: fl_max = 100, var_fl_max = 20 886 CHARACTER (LEN=1) :: cycle_mg = 'w' !< 887 CHARACTER (LEN=1) :: timestep_reason = ' ' !< 888 CHARACTER (LEN=3) :: coupling_char = '' !< 889 CHARACTER (LEN=5) :: write_binary = 'false' !< 890 CHARACTER (LEN=8) :: most_method = 'lookup' !< NAMELIST parameter defining method to be used to calculate Okukhov length, 891 CHARACTER (LEN=8) :: run_date !< 892 CHARACTER (LEN=8) :: run_time !< 893 CHARACTER (LEN=9) :: simulated_time_chr !< 894 CHARACTER (LEN=11) :: topography_grid_convention = ' ' !< 895 CHARACTER (LEN=12) :: version = ' ' !< 896 CHARACTER (LEN=12) :: revision = ' ' !< 897 CHARACTER (LEN=12) :: user_interface_current_revision = ' ' !< 898 CHARACTER (LEN=12) :: user_interface_required_revision = ' ' !< 899 CHARACTER (LEN=16) :: conserve_volume_flow_mode = 'default' !< 900 CHARACTER (LEN=16) :: loop_optimization = 'default' !< 901 CHARACTER (LEN=16) :: momentum_advec = 'ws-scheme' !< 902 CHARACTER (LEN=16) :: psolver = 'poisfft' !< 903 CHARACTER (LEN=16) :: scalar_advec = 'ws-scheme' !< 904 CHARACTER (LEN=20) :: approximation = 'boussinesq' !< 905 CHARACTER (LEN=40) :: flux_input_mode = 'approximation-specific' !< 906 CHARACTER (LEN=40) :: flux_output_mode = 'approximation-specific' !< 907 CHARACTER (LEN=20) :: bc_e_b = 'neumann' !< 908 CHARACTER (LEN=20) :: bc_lr = 'cyclic' !< 909 CHARACTER (LEN=20) :: bc_ns = 'cyclic' !< 910 CHARACTER (LEN=20) :: bc_p_b = 'neumann' !< 911 CHARACTER (LEN=20) :: bc_p_t = 'dirichlet' !< 912 CHARACTER (LEN=20) :: bc_pt_b = 'dirichlet' !< 913 CHARACTER (LEN=20) :: bc_pt_t = 'initial_gradient' !< 914 CHARACTER (LEN=20) :: bc_q_b = 'dirichlet' !< 915 CHARACTER (LEN=20) :: bc_q_t = 'neumann' !< 916 CHARACTER (LEN=20) :: bc_s_b = 'dirichlet' !< 917 CHARACTER (LEN=20) :: bc_s_t = 'initial_gradient' !< 918 CHARACTER (LEN=20) :: bc_sa_t = 'neumann' !< 919 CHARACTER (LEN=20) :: bc_uv_b = 'dirichlet' !< 920 CHARACTER (LEN=20) :: bc_uv_t = 'dirichlet' !< 921 CHARACTER (LEN=20) :: cloud_scheme = 'saturation_adjust' !< 922 CHARACTER (LEN=20) :: coupling_mode = 'uncoupled' !< 923 CHARACTER (LEN=20) :: coupling_mode_remote = 'uncoupled' !< 924 CHARACTER (LEN=20) :: dissipation_1d = 'detering' !< 925 CHARACTER (LEN=20) :: fft_method = 'system-specific' !< 926 CHARACTER (LEN=20) :: mixing_length_1d = 'blackadar' !< 927 CHARACTER (LEN=20) :: random_generator = 'numerical-recipes' !< 928 CHARACTER (LEN=20) :: reference_state = 'initial_profile' !< 929 CHARACTER (LEN=20) :: return_addres !< 930 CHARACTER (LEN=20) :: return_username !< 931 CHARACTER (LEN=20) :: timestep_scheme = 'runge-kutta-3' !< 932 CHARACTER (LEN=40) :: avs_data_file !< 933 CHARACTER (LEN=40) :: topography = 'flat' !< 934 CHARACTER (LEN=64) :: host = ' ' !< 935 CHARACTER (LEN=80) :: log_message !< 936 CHARACTER (LEN=80) :: run_identifier !< 937 CHARACTER (LEN=100) :: initializing_actions = ' ' !< 938 CHARACTER (LEN=110) :: run_description_header !< 939 CHARACTER (LEN=1000) :: message_string = ' ' !< 940 941 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output = ' ' !< 942 CHARACTER (LEN=varnamelength), DIMENSION(500) :: data_output_user = ' ' !< 943 CHARACTER (LEN=varnamelength), DIMENSION(500) :: doav = ' ' !< 944 945 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks = ' ' !< 946 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,100) :: data_output_masks_user = ' ' !< 947 948 CHARACTER (LEN=varnamelength), DIMENSION(300) :: data_output_pr = ' ' !< 678 949 679 INTEGER(iwp) :: abort_mode = 1, average_count_pr = 0, & 680 average_count_3d = 0, current_timestep_number = 0, & 681 coupling_topology = 0, & 682 dist_range = 0, disturbance_level_ind_b, & 683 disturbance_level_ind_t, doav_n = 0, dopr_n = 0, & 684 dopr_time_count = 0, dopts_time_count = 0, & 685 dots_time_count = 0, & 686 do2d_xy_n = 0, do2d_xz_n = 0, do2d_yz_n = 0, do3d_avs_n = 0, & 687 dp_level_ind_b = 0, dvrp_filecount = 0, & 688 dz_stretch_level_index, ensemble_member_nr = 0, gamma_mg, gathered_size, & 689 grid_level, ibc_e_b, ibc_p_b, ibc_p_t, & 690 ibc_pt_b, ibc_pt_t, ibc_q_b, ibc_q_t, ibc_s_b, ibc_s_t, & 691 ibc_sa_t, ibc_uv_b, ibc_uv_t, & 692 inflow_disturbance_begin = -1, inflow_disturbance_end = -1, & 693 intermediate_timestep_count, intermediate_timestep_count_max, & 694 io_group = 0, io_blocks = 1, iran = -1234567, & 695 masks = 0, maximum_grid_level, & 696 maximum_parallel_io_streams = -1, max_pr_user = 0, & 697 mgcycles = 0, mg_cycles = -1, mg_switch_to_pe0_level = -1, mid, & 698 nlsf = 1000, ntnudge = 1000, ngsrb = 2, & 699 nr_timesteps_this_run = 0, & 700 nsor = 20, nsor_ini = 100, n_sor, normalizing_region = 0, & 701 num_leg=0, num_var_fl, num_var_fl_user=0, & 702 nz_do3d = -9999, prt_time_count = 0, & 703 recycling_plane, runnr = 0, & 704 skip_do_avs = 0, subdomain_size, terminate_coupled = 0, & 705 terminate_coupled_remote = 0, timestep_count = 0 706 707 INTEGER(iwp) :: dist_nxl(0:1), dist_nxr(0:1), dist_nyn(0:1), dist_nys(0:1), & 708 do2d_no(0:1) = 0, do2d_xy_time_count(0:1), & 709 do2d_xz_time_count(0:1), do2d_yz_time_count(0:1), & 710 do3d_no(0:1) = 0, do3d_time_count(0:1), & 711 domask_no(max_masks,0:1) = 0, domask_time_count(max_masks,0:1),& 712 mask_size(max_masks,3) = -1, mask_size_l(max_masks,3) = -1, & 713 mask_start_l(max_masks,3) = -1, & 714 pt_vertical_gradient_level_ind(10) = -9999, & 715 q_vertical_gradient_level_ind(10) = -9999, & 716 s_vertical_gradient_level_ind(10) = -9999, & 717 sa_vertical_gradient_level_ind(10) = -9999, & 718 section(100,3), section_xy(100) = -9999, & 719 section_xz(100) = -9999, section_yz(100) = -9999, & 720 ug_vertical_gradient_level_ind(10) = -9999, & 721 vg_vertical_gradient_level_ind(10) = -9999, & 722 subs_vertical_gradient_level_i(10) = -9999 723 724 725 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xy, ntdim_2d_xz, ntdim_2d_yz, ntdim_3d 726 727 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: grid_level_count 728 729 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i, mask_j, mask_k 730 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: & 731 mask_i_global, mask_j_global, mask_k_global 732 733 LOGICAL :: bc_lr_cyc =.TRUE., bc_lr_dirrad = .FALSE., & 734 bc_lr_raddir = .FALSE., bc_ns_cyc = .TRUE., & 735 bc_ns_dirrad = .FALSE., bc_ns_raddir = .FALSE.,& 736 call_microphysics_at_all_substeps = .FALSE., & 737 call_psolver_at_all_substeps = .TRUE., & 738 cloud_droplets = .FALSE., cloud_physics = .FALSE., & 739 cloud_top_radiation = .FALSE., & 740 conserve_volume_flow = .FALSE., constant_diffusion = .FALSE., & 741 constant_flux_layer = .TRUE., & 742 constant_heatflux = .TRUE., constant_top_heatflux = .TRUE., & 743 constant_top_momentumflux = .FALSE., & 744 constant_top_salinityflux = .TRUE., & 745 constant_top_scalarflux = .TRUE., & 746 constant_scalarflux = .TRUE., & 747 constant_waterflux = .TRUE., create_disturbances = .TRUE., & 748 data_output_2d_on_each_pe = .TRUE., & 749 dissipation_control = .FALSE., disturbance_created = .FALSE., & 750 do2d_at_begin = .FALSE., do3d_at_begin = .FALSE., & 751 do_sum = .FALSE., & 752 dp_external = .FALSE., dp_smooth = .FALSE., & 753 dt_fixed = .FALSE., & 754 dt_3d_reached, dt_3d_reached_l, exchange_mg = .FALSE., & 755 first_call_lpm = .TRUE., & 756 force_print_header = .FALSE., galilei_transformation = .FALSE.,& 757 humidity = .FALSE., humidity_remote = .FALSE., & 758 inflow_l = .FALSE., inflow_n = .FALSE., & 759 inflow_r = .FALSE., inflow_s = .FALSE., & 760 large_scale_forcing = .FALSE., & 761 large_scale_subsidence = .FALSE. 762 LOGICAL :: lsf_exception = .FALSE. !< temporary flag for use of lsf with buildings on flat terrain 763 LOGICAL :: lsf_surf = .TRUE., & 764 lsf_vert = .TRUE., lptnudge = .FALSE., lqnudge = .FALSE., & 765 lunudge = .FALSE., lvnudge = .FALSE., lwnudge = .FALSE., & 766 masking_method = .FALSE., & 767 microphysics_sat_adjust = .FALSE., & 768 microphysics_kessler = .FALSE., & 769 microphysics_seifert = .FALSE., & 770 mg_switch_to_pe0 = .FALSE., & 771 monotonic_adjustment = .FALSE. 772 LOGICAL :: nest_bound_l = .FALSE. !< nested boundary on left side 773 LOGICAL :: nest_bound_n = .FALSE. !< nested boundary on north side 774 LOGICAL :: nest_bound_r = .FALSE. !< nested boundary on right side 775 LOGICAL :: nest_bound_s = .FALSE. !< nested boundary on south side 776 LOGICAL :: nest_domain = .FALSE. !< domain is nested into a parent domain 777 LOGICAL :: neutral = .FALSE., nudging = .FALSE., & 778 ocean = .FALSE., on_device = .FALSE., & 779 outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., & 780 outflow_s = .FALSE., passive_scalar = .FALSE., & 781 precipitation = .FALSE., & 782 random_heatflux = .FALSE., recycling_yshift = .FALSE.,& 783 run_control_header = .FALSE., run_coupled = .TRUE., & 784 scalar_rayleigh_damping = .TRUE., sloping_surface = .FALSE., & 785 stop_dt = .FALSE., synchronous_exchange = .FALSE., & 786 terminate_run = .FALSE., transpose_compute_overlap = .FALSE., & 787 turbulent_inflow = .FALSE. 788 LOGICAL :: turbulent_outflow = .FALSE. !< flag for turbulent outflow condition 789 LOGICAL :: urban_surface = .FALSE. !< flag for urban surface model 790 LOGICAL :: use_cmax = .TRUE., use_initial_profile_as_reference = .FALSE., & 791 use_prescribed_profile_data = .FALSE., & 792 use_single_reference_value = .FALSE., & 793 use_subsidence_tendencies = .FALSE., & 794 use_surface_fluxes = .FALSE., use_top_fluxes = .FALSE., & 795 use_ug_for_galilei_tr = .TRUE., use_upstream_for_tke = .FALSE. 796 LOGICAL :: virtual_flight = .FALSE. !< flag for virtual flight model 797 LOGICAL :: wall_adjustment = .TRUE., ws_scheme_sca = .FALSE., & 798 ws_scheme_mom = .FALSE. 799 800 LOGICAL :: data_output_xy(0:1) = .FALSE., data_output_xz(0:1) = .FALSE., & 801 data_output_yz(0:1) = .FALSE. 802 803 REAL(wp) :: advected_distance_x = 0.0_wp, advected_distance_y = 0.0_wp, & 804 alpha_surface = 0.0_wp, atmos_ocean_sign = 1.0_wp, & 805 averaging_interval = 0.0_wp, averaging_interval_pr = 9999999.9_wp, & 806 bc_pt_t_val, bc_q_t_val, bc_s_t_val, bottom_salinityflux = 0.0_wp, & 807 building_height = 50.0_wp, building_length_x = 50.0_wp, & 808 building_length_y = 50.0_wp, building_wall_left = 9999999.9_wp, & 809 building_wall_south = 9999999.9_wp, canyon_height = 50.0_wp, & 810 canyon_width_x = 9999999.9_wp, canyon_width_y = 9999999.9_wp, & 811 canyon_wall_left = 9999999.9_wp, canyon_wall_south = 9999999.9_wp, & 812 cfl_factor = -1.0_wp, cos_alpha_surface, & 813 coupling_start_time = 0.0_wp, disturbance_amplitude = 0.25_wp, & 814 disturbance_energy_limit = 0.01_wp, & 815 disturbance_level_b = -9999999.9_wp, & 816 disturbance_level_t = -9999999.9_wp, & 817 dp_level_b = 0.0_wp, & 818 dt = -1.0_wp, dt_averaging_input = 0.0_wp, & 819 dt_averaging_input_pr = 9999999.9_wp, dt_coupling = 9999999.9_wp, & 820 dt_data_output = 9999999.9_wp, & 821 dt_data_output_av = 9999999.9_wp, dt_disturb = 9999999.9_wp, & 822 dt_dopr = 9999999.9_wp, dt_dopr_listing = 9999999.9_wp, & 823 dt_dopts = 9999999.9_wp, dt_dots = 9999999.9_wp, & 824 dt_do2d_xy = 9999999.9_wp, dt_do2d_xz = 9999999.9_wp, & 825 dt_do2d_yz = 9999999.9_wp, dt_do3d = 9999999.9_wp, dt_dvrp = 9999999.9_wp, & 826 dt_max = 20.0_wp, & 827 dt_restart = 9999999.9_wp, & 828 dt_run_control = 60.0_wp, dt_3d = 1.0_wp, dz = -1.0_wp, & 829 dz_max = 9999999.9_wp, dz_stretch_factor = 1.08_wp, & 830 dz_stretch_level = 100000.0_wp, e_init = 0.0_wp, e_min = 0.0_wp, & 831 end_time = 0.0_wp, & 832 f = 0.0_wp, fs = 0.0_wp, g = 9.81_wp, inflow_damping_height = 9999999.9_wp, & 833 inflow_damping_width = 9999999.9_wp, kappa = 0.4_wp, km_constant = -1.0_wp,& 834 mask_scale_x = 1.0_wp, mask_scale_y = 1.0_wp, mask_scale_z = 1.0_wp, & 835 maximum_cpu_time_allowed = 0.0_wp, & 836 molecular_viscosity = 1.461E-5_wp, & 837 old_dt = 1.0E-10_wp, omega = 7.29212E-5_wp, omega_sor = 1.8_wp, & 838 outflow_source_plane = -9999999.9_wp, & !< x-position of outflow-source plane (turbulent outflow method) 839 particle_maximum_age = 9999999.9_wp, & 840 phi = 55.0_wp, prandtl_number = 1.0_wp, & 841 precipitation_amount_interval = 9999999.9_wp, prho_reference, & 842 pt_damping_factor = 0.0_wp, pt_damping_width = 0.0_wp, & 843 pt_reference = 9999999.9_wp, pt_slope_offset = 0.0_wp, & 844 pt_surface = 300.0_wp, pt_surface_initial_change = 0.0_wp, & 845 q_surface = 0.0_wp, q_surface_initial_change = 0.0_wp, & 846 rayleigh_damping_factor = -1.0_wp, rayleigh_damping_height = -1.0_wp, & 847 recycling_width = 9999999.9_wp, residual_limit = 1.0E-4_wp, & 848 restart_time = 9999999.9_wp, rho_reference, rho_surface, & 849 roughness_length = 0.1_wp, & 850 sa_surface = 35.0_wp, & 851 simulated_time = 0.0_wp, simulated_time_at_begin, sin_alpha_surface, & 852 skip_time_data_output = 0.0_wp, skip_time_data_output_av = 9999999.9_wp,& 853 skip_time_dopr = 9999999.9_wp, & 854 skip_time_do2d_xy = 9999999.9_wp, skip_time_do2d_xz = 9999999.9_wp, & 855 skip_time_do2d_yz = 9999999.9_wp, skip_time_do3d = 9999999.9_wp, & 856 surface_heatflux = 9999999.9_wp, surface_pressure = 1013.25_wp, & 857 surface_scalarflux = 9999999.9_wp, surface_waterflux = 9999999.9_wp, & 858 s_surface = 0.0_wp, s_surface_initial_change = 0.0_wp, & 859 termination_time_needed = -1.0_wp, time_coupling = 0.0_wp, & 860 time_disturb = 0.0_wp, time_dopr = 0.0_wp, time_dopr_av = 0.0_wp, & 861 time_dopr_listing = 0.0_wp, time_dopts = 0.0_wp, time_dosp = 0.0_wp, & 862 time_dosp_av = 0.0_wp, time_dots = 0.0_wp, time_do2d_xy = 0.0_wp, & 863 time_do2d_xz = 0.0_wp, time_do2d_yz = 0.0_wp, time_do3d = 0.0_wp, & 864 time_do_av = 0.0_wp, time_do_sla = 0.0_wp, time_dvrp = 0.0_wp, & 865 time_restart = 9999999.9_wp, time_run_control = 0.0_wp,& 866 time_since_reference_point, top_heatflux = 9999999.9_wp, & 867 top_momentumflux_u = 9999999.9_wp, & 868 top_momentumflux_v = 9999999.9_wp, top_salinityflux = 9999999.9_wp, & 869 top_scalarflux = 9999999.9_wp, & 870 ug_surface = 0.0_wp, u_bulk = 0.0_wp, u_gtrans = 0.0_wp, & 871 vg_surface = 0.0_wp, vpt_reference = 9999999.9_wp, & 872 v_bulk = 0.0_wp, v_gtrans = 0.0_wp, wall_adjustment_factor = 1.8_wp, & 873 zeta_max = 20.0_wp, & !< Maximum value of zeta = z/L 874 zeta_min = -9990.0_wp, & !< Minimum value of zeta = z/L 875 z_max_do2d = -1.0_wp, z0h_factor = 1.0_wp 876 877 REAL(wp) :: do2d_xy_last_time(0:1) = -1.0_wp, do2d_xz_last_time(0:1) = -1.0_wp, & 878 do2d_yz_last_time(0:1) = -1.0_wp, dpdxy(1:2) = 0.0_wp, & 879 dt_domask(max_masks) = 9999999.9_wp, & 880 mask_scale(3), & 881 pt_vertical_gradient(10) = 0.0_wp, & 882 pt_vertical_gradient_level(10) = -1.0_wp, & 883 q_vertical_gradient(10) = 0.0_wp, & 884 q_vertical_gradient_level(10) = -1.0_wp, & 885 s_vertical_gradient(10) = 0.0_wp, & 886 s_vertical_gradient_level(10) = -1.0_wp, & 887 sa_vertical_gradient(10) = 0.0_wp, & 888 sa_vertical_gradient_level(10) = -1.0_wp, & 889 skip_time_domask(max_masks) = 9999999.9_wp, threshold(20) = 0.0_wp, & 890 time_domask(max_masks) = 0.0_wp, & 891 tsc(10) = (/ 1.0_wp, 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp /), & 892 u_profile(100) = 9999999.9_wp, uv_heights(100) = 9999999.9_wp, & 893 v_profile(100) = 9999999.9_wp, & 894 ug_vertical_gradient(10) = 0.0_wp, & 895 ug_vertical_gradient_level(10) = -9999999.9_wp, & 896 vg_vertical_gradient(10) = 0.0_wp, & 897 vg_vertical_gradient_level(10) = -9999999.9_wp, & 898 volume_flow(1:3) = 0.0_wp, volume_flow_area(1:3) = 0.0_wp, & 899 volume_flow_initial(1:3) = 0.0_wp, wall_heatflux(0:4) = 0.0_wp, & 900 wall_humidityflux(0:4) = 0.0_wp, wall_nrflux(0:4) = 0.0_wp, & 901 wall_qflux(0:4) = 0.0_wp, wall_qrflux(0:4) = 0.0_wp, & 902 wall_salinityflux(0:4) = 0.0_wp, wall_sflux(0:4) = 0.0_wp, wall_scalarflux(0:4) = 0.0_wp, & 903 subs_vertical_gradient(10) = 0.0_wp, & 904 subs_vertical_gradient_level(10) = -9999999.9_wp 905 906 REAL(wp), DIMENSION(:), ALLOCATABLE :: dp_smooth_factor 907 908 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: & 909 mask_x = -1.0_wp, mask_y = -1.0_wp, mask_z = -1.0_wp 910 REAL(wp), DIMENSION(max_masks,3) :: & 911 mask_x_loop = -1.0_wp, mask_y_loop = -1.0_wp, mask_z_loop = -1.0_wp 950 CHARACTER (LEN=varnamelength), DIMENSION(200) :: data_output_pr_user = ' ' !< 912 951 952 CHARACTER (LEN=varnamelength), DIMENSION(max_masks,0:1,100) :: domask = ' ' !< 953 954 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do2d = ' ' !< 955 CHARACTER (LEN=varnamelength), DIMENSION(0:1,500) :: do3d = ' ' !< 956 957 INTEGER(iwp), PARAMETER :: fl_max = 100 !< 958 INTEGER(iwp), PARAMETER :: var_fl_max = 20 !< 959 960 INTEGER(iwp) :: abort_mode = 1 !< 961 INTEGER(iwp) :: average_count_pr = 0 !< 962 INTEGER(iwp) :: average_count_3d = 0 !< 963 INTEGER(iwp) :: current_timestep_number = 0 !< 964 INTEGER(iwp) :: coupling_topology = 0 !< 965 INTEGER(iwp) :: dist_range = 0 !< 966 INTEGER(iwp) :: disturbance_level_ind_b !< 967 INTEGER(iwp) :: disturbance_level_ind_t !< 968 INTEGER(iwp) :: doav_n = 0 !< 969 INTEGER(iwp) :: dopr_n = 0 !< 970 INTEGER(iwp) :: dopr_time_count = 0 !< 971 INTEGER(iwp) :: dopts_time_count = 0 !< 972 INTEGER(iwp) :: dots_time_count = 0 !< 973 INTEGER(iwp) :: do2d_xy_n = 0 !< 974 INTEGER(iwp) :: do2d_xz_n = 0 !< 975 INTEGER(iwp) :: do2d_yz_n = 0 !< 976 INTEGER(iwp) :: do3d_avs_n = 0 !< 977 INTEGER(iwp) :: dp_level_ind_b = 0 !< 978 INTEGER(iwp) :: dvrp_filecount = 0 !< 979 INTEGER(iwp) :: dz_stretch_level_index !< 980 INTEGER(iwp) :: ensemble_member_nr = 0 !< 981 INTEGER(iwp) :: gamma_mg !< 982 INTEGER(iwp) :: gathered_size !< 983 INTEGER(iwp) :: grid_level !< 984 INTEGER(iwp) :: ibc_e_b !< 985 INTEGER(iwp) :: ibc_p_b !< 986 INTEGER(iwp) :: ibc_p_t !< 987 INTEGER(iwp) :: ibc_pt_b !< 988 INTEGER(iwp) :: ibc_pt_t !< 989 INTEGER(iwp) :: ibc_q_b !< 990 INTEGER(iwp) :: ibc_q_t !< 991 INTEGER(iwp) :: ibc_s_b !< 992 INTEGER(iwp) :: ibc_s_t !< 993 INTEGER(iwp) :: ibc_sa_t !< 994 INTEGER(iwp) :: ibc_uv_b !< 995 INTEGER(iwp) :: ibc_uv_t !< 996 INTEGER(iwp) :: inflow_disturbance_begin = -1 !< 997 INTEGER(iwp) :: inflow_disturbance_end = -1 !< 998 INTEGER(iwp) :: intermediate_timestep_count !< 999 INTEGER(iwp) :: intermediate_timestep_count_max !< 1000 INTEGER(iwp) :: io_group = 0 !< 1001 INTEGER(iwp) :: io_blocks = 1 !< 1002 INTEGER(iwp) :: iran = -1234567 !< 1003 INTEGER(iwp) :: masks = 0 !< 1004 INTEGER(iwp) :: maximum_grid_level !< 1005 INTEGER(iwp) :: maximum_parallel_io_streams = -1 !< 1006 INTEGER(iwp) :: max_pr_user = 0 !< 1007 INTEGER(iwp) :: mgcycles = 0 !< 1008 INTEGER(iwp) :: mg_cycles = -1 !< 1009 INTEGER(iwp) :: mg_switch_to_pe0_level = -1 !< 1010 INTEGER(iwp) :: mid !< 1011 INTEGER(iwp) :: nlsf = 1000 !< 1012 INTEGER(iwp) :: ntnudge = 1000 !< 1013 INTEGER(iwp) :: ngsrb = 2 !< 1014 INTEGER(iwp) :: nr_timesteps_this_run = 0 !< 1015 INTEGER(iwp) :: nsor = 20 !< 1016 INTEGER(iwp) :: nsor_ini = 100 !< 1017 INTEGER(iwp) :: n_sor !< 1018 INTEGER(iwp) :: normalizing_region = 0 !< 1019 INTEGER(iwp) :: num_leg=0 !< 1020 INTEGER(iwp) :: num_var_fl !< 1021 INTEGER(iwp) :: num_var_fl_user=0 !< 1022 INTEGER(iwp) :: nz_do3d = -9999 !< 1023 INTEGER(iwp) :: prt_time_count = 0 !< 1024 INTEGER(iwp) :: recycling_plane !< 1025 INTEGER(iwp) :: runnr = 0 !< 1026 INTEGER(iwp) :: skip_do_avs = 0 !< 1027 INTEGER(iwp) :: subdomain_size !< 1028 INTEGER(iwp) :: terminate_coupled = 0 !< 1029 INTEGER(iwp) :: terminate_coupled_remote = 0 !< 1030 INTEGER(iwp) :: timestep_count = 0 !< 1031 1032 INTEGER(iwp) :: dist_nxl(0:1) !< 1033 INTEGER(iwp) :: dist_nxr(0:1) !< 1034 INTEGER(iwp) :: dist_nyn(0:1) !< 1035 INTEGER(iwp) :: dist_nys(0:1) !< 1036 INTEGER(iwp) :: do2d_no(0:1) = 0 !< 1037 INTEGER(iwp) :: do2d_xy_time_count(0:1) !< 1038 INTEGER(iwp) :: do2d_xz_time_count(0:1) !< 1039 INTEGER(iwp) :: do2d_yz_time_count(0:1) !< 1040 INTEGER(iwp) :: do3d_no(0:1) = 0 !< 1041 INTEGER(iwp) :: do3d_time_count(0:1) !< 1042 INTEGER(iwp) :: domask_no(max_masks,0:1) = 0 !< 1043 INTEGER(iwp) :: domask_time_count(max_masks,0:1) !< 1044 INTEGER(iwp) :: mask_size(max_masks,3) = -1 !< 1045 INTEGER(iwp) :: mask_size_l(max_masks,3) = -1 !< 1046 INTEGER(iwp) :: mask_start_l(max_masks,3) = -1 !< 1047 INTEGER(iwp) :: pt_vertical_gradient_level_ind(10) = -9999 !< 1048 INTEGER(iwp) :: q_vertical_gradient_level_ind(10) = -9999 !< 1049 INTEGER(iwp) :: s_vertical_gradient_level_ind(10) = -9999 !< 1050 INTEGER(iwp) :: sa_vertical_gradient_level_ind(10) = -9999 !< 1051 INTEGER(iwp) :: section(100,3) !< 1052 INTEGER(iwp) :: section_xy(100) = -9999 !< 1053 INTEGER(iwp) :: section_xz(100) = -9999 !< 1054 INTEGER(iwp) :: section_yz(100) = -9999 !< 1055 INTEGER(iwp) :: ug_vertical_gradient_level_ind(10) = -9999 !< 1056 INTEGER(iwp) :: vg_vertical_gradient_level_ind(10) = -9999 !< 1057 INTEGER(iwp) :: subs_vertical_gradient_level_i(10) = -9999 !< 1058 1059 1060 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xy !< 1061 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_xz !< 1062 INTEGER(iwp), DIMENSION(0:1) :: ntdim_2d_yz !< 1063 INTEGER(iwp), DIMENSION(0:1) :: ntdim_3d !< 1064 1065 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: grid_level_count !< 1066 1067 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i !< 1068 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j !< 1069 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k !< 1070 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_i_global !< 1071 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_j_global !< 1072 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mask_k_global !< 1073 1074 LOGICAL :: bc_lr_cyc =.TRUE. !< 1075 LOGICAL :: bc_lr_dirrad = .FALSE. !< 1076 LOGICAL :: bc_lr_raddir = .FALSE. !< 1077 LOGICAL :: bc_ns_cyc = .TRUE. !< 1078 LOGICAL :: bc_ns_dirrad = .FALSE. !< 1079 LOGICAL :: bc_ns_raddir = .FALSE. !< 1080 LOGICAL :: call_microphysics_at_all_substeps = .FALSE. !< 1081 LOGICAL :: call_psolver_at_all_substeps = .TRUE. !< 1082 LOGICAL :: cloud_droplets = .FALSE. !< 1083 LOGICAL :: cloud_physics = .FALSE. !< 1084 LOGICAL :: cloud_top_radiation = .FALSE. !< 1085 LOGICAL :: conserve_volume_flow = .FALSE. !< 1086 LOGICAL :: constant_diffusion = .FALSE. !< 1087 LOGICAL :: constant_flux_layer = .TRUE. !< 1088 LOGICAL :: constant_heatflux = .TRUE. !< 1089 LOGICAL :: constant_top_heatflux = .TRUE. !< 1090 LOGICAL :: constant_top_momentumflux = .FALSE. !< 1091 LOGICAL :: constant_top_salinityflux = .TRUE. !< 1092 LOGICAL :: constant_top_scalarflux = .TRUE. !< 1093 LOGICAL :: constant_scalarflux = .TRUE. !< 1094 LOGICAL :: constant_waterflux = .TRUE. !< 1095 LOGICAL :: create_disturbances = .TRUE. !< 1096 LOGICAL :: data_output_2d_on_each_pe = .TRUE. !< 1097 LOGICAL :: dissipation_control = .FALSE. !< 1098 LOGICAL :: disturbance_created = .FALSE. !< 1099 LOGICAL :: do2d_at_begin = .FALSE. !< 1100 LOGICAL :: do3d_at_begin = .FALSE. !< 1101 LOGICAL :: do_sum = .FALSE. !< 1102 LOGICAL :: dp_external = .FALSE. !< 1103 LOGICAL :: dp_smooth = .FALSE. !< 1104 LOGICAL :: dt_fixed = .FALSE. !< 1105 LOGICAL :: dt_3d_reached !< 1106 LOGICAL :: dt_3d_reached_l !< 1107 LOGICAL :: exchange_mg = .FALSE. !< 1108 LOGICAL :: first_call_lpm = .TRUE. !< 1109 LOGICAL :: force_print_header = .FALSE. !< 1110 LOGICAL :: galilei_transformation = .FALSE. !< 1111 LOGICAL :: humidity = .FALSE. !< 1112 LOGICAL :: humidity_remote = .FALSE. !< 1113 LOGICAL :: inflow_l = .FALSE. !< 1114 LOGICAL :: inflow_n = .FALSE. !< 1115 LOGICAL :: inflow_r = .FALSE. !< 1116 LOGICAL :: inflow_s = .FALSE. !< 1117 LOGICAL :: large_scale_forcing = .FALSE. !< 1118 LOGICAL :: large_scale_subsidence = .FALSE. !< 1119 LOGICAL :: lsf_exception = .FALSE. !< temporary flag for use of lsf with buildings on flat terrain 1120 LOGICAL :: lsf_surf = .TRUE. !< 1121 LOGICAL :: lsf_vert = .TRUE. !< 1122 LOGICAL :: lptnudge = .FALSE. !< 1123 LOGICAL :: lqnudge = .FALSE. !< 1124 LOGICAL :: lunudge = .FALSE. !< 1125 LOGICAL :: lvnudge = .FALSE. !< 1126 LOGICAL :: lwnudge = .FALSE. !< 1127 LOGICAL :: masking_method = .FALSE. !< 1128 LOGICAL :: microphysics_sat_adjust = .FALSE. !< 1129 LOGICAL :: microphysics_kessler = .FALSE. !< 1130 LOGICAL :: microphysics_seifert = .FALSE. !< 1131 LOGICAL :: mg_switch_to_pe0 = .FALSE. !< 1132 LOGICAL :: monotonic_adjustment = .FALSE. !< 1133 LOGICAL :: nest_bound_l = .FALSE. !< nested boundary on left side 1134 LOGICAL :: nest_bound_n = .FALSE. !< nested boundary on north side 1135 LOGICAL :: nest_bound_r = .FALSE. !< nested boundary on right side 1136 LOGICAL :: nest_bound_s = .FALSE. !< nested boundary on south side 1137 LOGICAL :: nest_domain = .FALSE. !< domain is nested into a parent domain 1138 LOGICAL :: neutral = .FALSE. !< 1139 LOGICAL :: nudging = .FALSE. !< 1140 LOGICAL :: ocean = .FALSE. !< 1141 LOGICAL :: on_device = .FALSE. !< 1142 LOGICAL :: outflow_l = .FALSE. !< 1143 LOGICAL :: outflow_n = .FALSE. !< 1144 LOGICAL :: outflow_r = .FALSE. !< 1145 LOGICAL :: outflow_s = .FALSE. !< 1146 LOGICAL :: passive_scalar = .FALSE. !< 1147 LOGICAL :: precipitation = .FALSE. !< 1148 LOGICAL :: random_heatflux = .FALSE. !< 1149 LOGICAL :: recycling_yshift = .FALSE. !< 1150 LOGICAL :: run_control_header = .FALSE. !< 1151 LOGICAL :: run_coupled = .TRUE. !< 1152 LOGICAL :: scalar_rayleigh_damping = .TRUE. !< 1153 LOGICAL :: sloping_surface = .FALSE. !< 1154 LOGICAL :: stop_dt = .FALSE. !< 1155 LOGICAL :: synchronous_exchange = .FALSE. !< 1156 LOGICAL :: terminate_run = .FALSE. !< 1157 LOGICAL :: transpose_compute_overlap = .FALSE. !< 1158 LOGICAL :: turbulent_inflow = .FALSE. !< 1159 LOGICAL :: turbulent_outflow = .FALSE. !< flag for turbulent outflow condition 1160 LOGICAL :: urban_surface = .FALSE. !< flag for urban surface model 1161 LOGICAL :: use_cmax = .TRUE. !< 1162 LOGICAL :: use_initial_profile_as_reference = .FALSE. !< 1163 LOGICAL :: use_prescribed_profile_data = .FALSE. !< 1164 LOGICAL :: use_single_reference_value = .FALSE. !< 1165 LOGICAL :: use_subsidence_tendencies = .FALSE. !< 1166 LOGICAL :: use_surface_fluxes = .FALSE. !< 1167 LOGICAL :: use_top_fluxes = .FALSE. !< 1168 LOGICAL :: use_ug_for_galilei_tr = .TRUE. !< 1169 LOGICAL :: use_upstream_for_tke = .FALSE. !< 1170 LOGICAL :: virtual_flight = .FALSE. !< flag for virtual flight model 1171 LOGICAL :: wall_adjustment = .TRUE. !< 1172 LOGICAL :: ws_scheme_sca = .FALSE. !< 1173 LOGICAL :: ws_scheme_mom = .FALSE. !< 1174 1175 LOGICAL :: data_output_xy(0:1) = .FALSE. !< 1176 LOGICAL :: data_output_xz(0:1) = .FALSE. !< 1177 LOGICAL :: data_output_yz(0:1) = .FALSE. !< 1178 1179 REAL(wp) :: advected_distance_x = 0.0_wp !< 1180 REAL(wp) :: advected_distance_y = 0.0_wp !< 1181 REAL(wp) :: alpha_surface = 0.0_wp !< 1182 REAL(wp) :: atmos_ocean_sign = 1.0_wp !< 1183 REAL(wp) :: averaging_interval = 0.0_wp !< 1184 REAL(wp) :: averaging_interval_pr = 9999999.9_wp !< 1185 REAL(wp) :: bc_pt_t_val !< 1186 REAL(wp) :: bc_q_t_val !< 1187 REAL(wp) :: bc_s_t_val !< 1188 REAL(wp) :: bottom_salinityflux = 0.0_wp !< 1189 REAL(wp) :: building_height = 50.0_wp !< 1190 REAL(wp) :: building_length_x = 50.0_wp !< 1191 REAL(wp) :: building_length_y = 50.0_wp !< 1192 REAL(wp) :: building_wall_left = 9999999.9_wp !< 1193 REAL(wp) :: building_wall_south = 9999999.9_wp !< 1194 REAL(wp) :: canyon_height = 50.0_wp !< 1195 REAL(wp) :: canyon_width_x = 9999999.9_wp !< 1196 REAL(wp) :: canyon_width_y = 9999999.9_wp !< 1197 REAL(wp) :: canyon_wall_left = 9999999.9_wp !< 1198 REAL(wp) :: canyon_wall_south = 9999999.9_wp !< 1199 REAL(wp) :: cfl_factor = -1.0_wp !< 1200 REAL(wp) :: cos_alpha_surface !< 1201 REAL(wp) :: coupling_start_time = 0.0_wp !< 1202 REAL(wp) :: disturbance_amplitude = 0.25_wp !< 1203 REAL(wp) :: disturbance_energy_limit = 0.01_wp !< 1204 REAL(wp) :: disturbance_level_b = -9999999.9_wp !< 1205 REAL(wp) :: disturbance_level_t = -9999999.9_wp !< 1206 REAL(wp) :: dp_level_b = 0.0_wp !< 1207 REAL(wp) :: dt = -1.0_wp !< 1208 REAL(wp) :: dt_averaging_input = 0.0_wp !< 1209 REAL(wp) :: dt_averaging_input_pr = 9999999.9_wp !< 1210 REAL(wp) :: dt_coupling = 9999999.9_wp !< 1211 REAL(wp) :: dt_data_output = 9999999.9_wp !< 1212 REAL(wp) :: dt_data_output_av = 9999999.9_wp !< 1213 REAL(wp) :: dt_disturb = 9999999.9_wp !< 1214 REAL(wp) :: dt_dopr = 9999999.9_wp !< 1215 REAL(wp) :: dt_dopr_listing = 9999999.9_wp !< 1216 REAL(wp) :: dt_dopts = 9999999.9_wp !< 1217 REAL(wp) :: dt_dots = 9999999.9_wp !< 1218 REAL(wp) :: dt_do2d_xy = 9999999.9_wp !< 1219 REAL(wp) :: dt_do2d_xz = 9999999.9_wp !< 1220 REAL(wp) :: dt_do2d_yz = 9999999.9_wp !< 1221 REAL(wp) :: dt_do3d = 9999999.9_wp !< 1222 REAL(wp) :: dt_dvrp = 9999999.9_wp !< 1223 REAL(wp) :: dt_max = 20.0_wp !< 1224 REAL(wp) :: dt_restart = 9999999.9_wp !< 1225 REAL(wp) :: dt_run_control = 60.0_wp !< 1226 REAL(wp) :: dt_3d = 1.0_wp !< 1227 REAL(wp) :: dz = -1.0_wp !< 1228 REAL(wp) :: dz_max = 9999999.9_wp !< 1229 REAL(wp) :: dz_stretch_factor = 1.08_wp !< 1230 REAL(wp) :: dz_stretch_level = 100000.0_wp !< 1231 REAL(wp) :: e_init = 0.0_wp !< 1232 REAL(wp) :: e_min = 0.0_wp !< 1233 REAL(wp) :: end_time = 0.0_wp !< 1234 REAL(wp) :: f = 0.0_wp !< 1235 REAL(wp) :: fs = 0.0_wp !< 1236 REAL(wp) :: g = 9.81_wp !< 1237 REAL(wp) :: inflow_damping_height = 9999999.9_wp !< 1238 REAL(wp) :: inflow_damping_width = 9999999.9_wp !< 1239 REAL(wp) :: kappa = 0.4_wp !< 1240 REAL(wp) :: km_constant = -1.0_wp !< 1241 REAL(wp) :: mask_scale_x = 1.0_wp !< 1242 REAL(wp) :: mask_scale_y = 1.0_wp !< 1243 REAL(wp) :: mask_scale_z = 1.0_wp !< 1244 REAL(wp) :: maximum_cpu_time_allowed = 0.0_wp !< 1245 REAL(wp) :: molecular_viscosity = 1.461E-5_wp !< 1246 REAL(wp) :: old_dt = 1.0E-10_wp !< 1247 REAL(wp) :: omega = 7.29212E-5_wp !< 1248 REAL(wp) :: omega_sor = 1.8_wp !< 1249 REAL(wp) :: outflow_source_plane = -9999999.9_wp !< x-position of outflow-source plane (turbulent outflow method) 1250 REAL(wp) :: particle_maximum_age = 9999999.9_wp !< 1251 REAL(wp) :: phi = 55.0_wp !< 1252 REAL(wp) :: prandtl_number = 1.0_wp !< 1253 REAL(wp) :: precipitation_amount_interval = 9999999.9_wp !< 1254 REAL(wp) :: prho_reference !< 1255 REAL(wp) :: pt_damping_factor = 0.0_wp !< 1256 REAL(wp) :: pt_damping_width = 0.0_wp !< 1257 REAL(wp) :: pt_reference = 9999999.9_wp !< 1258 REAL(wp) :: pt_slope_offset = 0.0_wp !< 1259 REAL(wp) :: pt_surface = 300.0_wp !< 1260 REAL(wp) :: pt_surface_initial_change = 0.0_wp !< 1261 REAL(wp) :: q_surface = 0.0_wp !< 1262 REAL(wp) :: q_surface_initial_change = 0.0_wp !< 1263 REAL(wp) :: rayleigh_damping_factor = -1.0_wp !< 1264 REAL(wp) :: rayleigh_damping_height = -1.0_wp !< 1265 REAL(wp) :: recycling_width = 9999999.9_wp !< 1266 REAL(wp) :: residual_limit = 1.0E-4_wp !< 1267 REAL(wp) :: restart_time = 9999999.9_wp !< 1268 REAL(wp) :: rho_reference !< 1269 REAL(wp) :: rho_surface !< 1270 REAL(wp) :: roughness_length = 0.1_wp !< 1271 REAL(wp) :: sa_surface = 35.0_wp !< 1272 REAL(wp) :: simulated_time = 0.0_wp !< 1273 REAL(wp) :: simulated_time_at_begin !< 1274 REAL(wp) :: sin_alpha_surface !< 1275 REAL(wp) :: skip_time_data_output = 0.0_wp !< 1276 REAL(wp) :: skip_time_data_output_av = 9999999.9_wp !< 1277 REAL(wp) :: skip_time_dopr = 9999999.9_wp !< 1278 REAL(wp) :: skip_time_do2d_xy = 9999999.9_wp !< 1279 REAL(wp) :: skip_time_do2d_xz = 9999999.9_wp !< 1280 REAL(wp) :: skip_time_do2d_yz = 9999999.9_wp !< 1281 REAL(wp) :: skip_time_do3d = 9999999.9_wp !< 1282 REAL(wp) :: surface_heatflux = 9999999.9_wp !< 1283 REAL(wp) :: surface_pressure = 1013.25_wp !< 1284 REAL(wp) :: surface_scalarflux = 9999999.9_wp !< 1285 REAL(wp) :: surface_waterflux = 9999999.9_wp !< 1286 REAL(wp) :: s_surface = 0.0_wp !< 1287 REAL(wp) :: s_surface_initial_change = 0.0_wp !< 1288 REAL(wp) :: termination_time_needed = -1.0_wp !< 1289 REAL(wp) :: time_coupling = 0.0_wp !< 1290 REAL(wp) :: time_disturb = 0.0_wp !< 1291 REAL(wp) :: time_dopr = 0.0_wp !< 1292 REAL(wp) :: time_dopr_av = 0.0_wp !< 1293 REAL(wp) :: time_dopr_listing = 0.0_wp !< 1294 REAL(wp) :: time_dopts = 0.0_wp !< 1295 REAL(wp) :: time_dosp = 0.0_wp !< 1296 REAL(wp) :: time_dosp_av = 0.0_wp !< 1297 REAL(wp) :: time_dots = 0.0_wp !< 1298 REAL(wp) :: time_do2d_xy = 0.0_wp !< 1299 REAL(wp) :: time_do2d_xz = 0.0_wp !< 1300 REAL(wp) :: time_do2d_yz = 0.0_wp !< 1301 REAL(wp) :: time_do3d = 0.0_wp !< 1302 REAL(wp) :: time_do_av = 0.0_wp !< 1303 REAL(wp) :: time_do_sla = 0.0_wp !< 1304 REAL(wp) :: time_dvrp = 0.0_wp !< 1305 REAL(wp) :: time_restart = 9999999.9_wp !< 1306 REAL(wp) :: time_run_control = 0.0_wp !< 1307 REAL(wp) :: time_since_reference_point !< 1308 REAL(wp) :: top_heatflux = 9999999.9_wp !< 1309 REAL(wp) :: top_momentumflux_u = 9999999.9_wp !< 1310 REAL(wp) :: top_momentumflux_v = 9999999.9_wp !< 1311 REAL(wp) :: top_salinityflux = 9999999.9_wp !< 1312 REAL(wp) :: top_scalarflux = 9999999.9_wp !< 1313 REAL(wp) :: ug_surface = 0.0_wp !< 1314 REAL(wp) :: u_bulk = 0.0_wp !< 1315 REAL(wp) :: u_gtrans = 0.0_wp !< 1316 REAL(wp) :: vg_surface = 0.0_wp !< 1317 REAL(wp) :: vpt_reference = 9999999.9_wp !< 1318 REAL(wp) :: v_bulk = 0.0_wp !< 1319 REAL(wp) :: v_gtrans = 0.0_wp !< 1320 REAL(wp) :: wall_adjustment_factor = 1.8_wp !< 1321 REAL(wp) :: zeta_max = 20.0_wp !< Maximum value of zeta = z/L 1322 REAL(wp) :: zeta_min = -9990.0_wp !< Minimum value of zeta = z/L 1323 REAL(wp) :: z_max_do2d = -1.0_wp !< 1324 REAL(wp) :: z0h_factor = 1.0_wp !< 1325 1326 REAL(wp) :: do2d_xy_last_time(0:1) = -1.0_wp !< 1327 REAL(wp) :: do2d_xz_last_time(0:1) = -1.0_wp !< 1328 REAL(wp) :: do2d_yz_last_time(0:1) = -1.0_wp !< 1329 REAL(wp) :: dpdxy(1:2) = 0.0_wp !< 1330 REAL(wp) :: dt_domask(max_masks) = 9999999.9_wp !< 1331 REAL(wp) :: mask_scale(3) !< 1332 REAL(wp) :: pt_vertical_gradient(10) = 0.0_wp !< 1333 REAL(wp) :: pt_vertical_gradient_level(10) = -1.0_wp !< 1334 REAL(wp) :: q_vertical_gradient(10) = 0.0_wp !< 1335 REAL(wp) :: q_vertical_gradient_level(10) = -1.0_wp !< 1336 REAL(wp) :: s_vertical_gradient(10) = 0.0_wp !< 1337 REAL(wp) :: s_vertical_gradient_level(10) = -1.0_wp !< 1338 REAL(wp) :: sa_vertical_gradient(10) = 0.0_wp !< 1339 REAL(wp) :: sa_vertical_gradient_level(10) = -1.0_wp !< 1340 REAL(wp) :: skip_time_domask(max_masks) = 9999999.9_wp !< 1341 REAL(wp) :: threshold(20) = 0.0_wp !< 1342 REAL(wp) :: time_domask(max_masks) = 0.0_wp !< 1343 REAL(wp) :: tsc(10) = (/ 1.0_wp, 1.0_wp, 0.0_wp, 0.0_wp, & !< 1344 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 0.0_wp /) 1345 REAL(wp) :: u_profile(100) = 9999999.9_wp !< 1346 REAL(wp) :: uv_heights(100) = 9999999.9_wp !< 1347 REAL(wp) :: v_profile(100) = 9999999.9_wp !< 1348 REAL(wp) :: ug_vertical_gradient(10) = 0.0_wp !< 1349 REAL(wp) :: ug_vertical_gradient_level(10) = -9999999.9_wp !< 1350 REAL(wp) :: vg_vertical_gradient(10) = 0.0_wp !< 1351 REAL(wp) :: vg_vertical_gradient_level(10) = -9999999.9_wp !< 1352 REAL(wp) :: volume_flow(1:3) = 0.0_wp !< 1353 REAL(wp) :: volume_flow_area(1:3) = 0.0_wp !< 1354 REAL(wp) :: volume_flow_initial(1:3) = 0.0_wp !< 1355 REAL(wp) :: wall_heatflux(0:4) = 0.0_wp !< 1356 REAL(wp) :: wall_humidityflux(0:4) = 0.0_wp !< 1357 REAL(wp) :: wall_nrflux(0:4) = 0.0_wp !< 1358 REAL(wp) :: wall_qflux(0:4) = 0.0_wp !< 1359 REAL(wp) :: wall_qrflux(0:4) = 0.0_wp !< 1360 REAL(wp) :: wall_salinityflux(0:4) = 0.0_wp !< 1361 REAL(wp) :: wall_sflux(0:4) = 0.0_wp !< 1362 REAL(wp) :: wall_scalarflux(0:4) = 0.0_wp !< 1363 REAL(wp) :: subs_vertical_gradient(10) = 0.0_wp !< 1364 REAL(wp) :: subs_vertical_gradient_level(10) = -9999999.9_wp !< 1365 1366 REAL(wp), DIMENSION(:), ALLOCATABLE :: dp_smooth_factor !< 1367 1368 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_x = -1.0_wp !< 1369 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_y = -1.0_wp !< 1370 REAL(wp), DIMENSION(max_masks,mask_xyz_dimension) :: mask_z = -1.0_wp !< 1371 1372 REAL(wp), DIMENSION(max_masks,3) :: mask_x_loop = -1.0_wp !< 1373 REAL(wp), DIMENSION(max_masks,3) :: mask_y_loop = -1.0_wp !< 1374 REAL(wp), DIMENSION(max_masks,3) :: mask_z_loop = -1.0_wp !< 1375 913 1376 ! 914 1377 !-- internal mask arrays ("mask,dimension,selection") 915 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask, mask_loop 1378 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask !< 1379 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: mask_loop !< 916 1380 917 1381 SAVE … … 927 1391 MODULE dvrp_variables 928 1392 929 USE kinds 930 931 CHARACTER (LEN=10) :: dvrp_output = 'rtsp', particle_color = 'none', & 932 particle_dvrpsize = 'none' 933 934 CHARACTER (LEN=20), DIMENSION(10) :: mode_dvrp = & 1393 USE kinds 1394 1395 CHARACTER (LEN=10) :: dvrp_output = 'rtsp' !< 1396 CHARACTER (LEN=10) :: particle_color = 'none' !< 1397 CHARACTER (LEN=10) :: particle_dvrpsize = 'none' !< 1398 1399 CHARACTER (LEN=20), DIMENSION(10) :: mode_dvrp = & !< 935 1400 (/ ( ' ', i9 = 1,10 ) /) 936 1401 937 CHARACTER (LEN=80) :: dvrp_directory = 'default', & 938 dvrp_file = 'default', & 939 dvrp_host = 'origin.rvs.uni-hannover.de', & 940 dvrp_password = '********', & 941 dvrp_username = ' ' 942 943 INTEGER(iwp) :: cluster_size = 1, dvrp_colortable_entries = 4, & 944 dvrp_colortable_entries_prt = 22, islice_dvrp, & 945 nx_dvrp, nxl_dvrp, nxr_dvrp, ny_dvrp, nyn_dvrp, nys_dvrp, & 946 nz_dvrp, pathlines_fadeintime = 5, pathlines_fadeouttime = 5, & 947 pathlines_linecount = 1000, pathlines_maxhistory = 40, & 948 pathlines_wavecount = 10, pathlines_wavetime = 50, & 949 vc_gradient_normals = 0, vc_mode = 0, vc_size_x = 2, & 950 vc_size_y = 2, vc_size_z = 2 951 952 INTEGER(iwp), DIMENSION(10) :: slicer_position_dvrp 953 954 LOGICAL :: cyclic_dvrp = .FALSE., dvrp_overlap, dvrp_total_overlap, & 955 local_dvrserver_running, lock_steering_update = .FALSE., & 956 use_seperate_pe_for_dvrp_output = .FALSE. 957 958 REAL(wp) :: clip_dvrp_l = 9999999.9_wp, clip_dvrp_n = 9999999.9_wp, & 959 clip_dvrp_r = 9999999.9_wp, clip_dvrp_s = 9999999.9_wp, & 960 superelevation = 1.0_wp, superelevation_x = 1.0_wp, & 961 superelevation_y = 1.0_wp, vc_alpha = 38.0_wp 962 963 REAL(wp), DIMENSION(2) :: color_interval = (/ 0.0_wp, 1.0_wp /), & 964 dvrpsize_interval = (/ 0.0_wp, 1.0_wp /) 965 966 REAL(wp), DIMENSION(3) :: groundplate_color = (/ 0.0_wp, 0.6_wp, 0.0_wp /), & 967 topography_color = (/ 0.8_wp, 0.7_wp, 0.6_wp /) 968 969 REAL(wp), DIMENSION(2,10) :: slicer_range_limits_dvrp 970 971 REAL(wp), DIMENSION(3,10) :: isosurface_color 972 973 REAL(sp), DIMENSION(2,100) :: interval_values_dvrp, & 974 interval_values_dvrp_prt, interval_h_dvrp, & 975 interval_h_dvrp_prt, interval_l_dvrp = 0.5_sp, & 976 interval_l_dvrp_prt = 0.5_sp, interval_s_dvrp = 1.0_sp, & 977 interval_s_dvrp_prt = 1.0_sp, interval_a_dvrp = 0.0_sp, & 978 interval_a_dvrp_prt = 0.0_sp 979 980 DATA slicer_range_limits_dvrp / -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, & 1402 CHARACTER (LEN=80) :: dvrp_directory = 'default' !< 1403 CHARACTER (LEN=80) :: dvrp_file = 'default' !< 1404 CHARACTER (LEN=80) :: dvrp_host = 'origin.rvs.uni-hannover.de' !< 1405 CHARACTER (LEN=80) :: dvrp_password = '********' !< 1406 CHARACTER (LEN=80) :: dvrp_username = ' ' !< 1407 1408 INTEGER(iwp) :: cluster_size = 1 !< 1409 INTEGER(iwp) :: dvrp_colortable_entries = 4 !< 1410 INTEGER(iwp) :: dvrp_colortable_entries_prt = 22 !< 1411 INTEGER(iwp) :: islice_dvrp !< 1412 INTEGER(iwp) :: nx_dvrp !< 1413 INTEGER(iwp) :: nxl_dvrp !< 1414 INTEGER(iwp) :: nxr_dvrp !< 1415 INTEGER(iwp) :: ny_dvrp !< 1416 INTEGER(iwp) :: nyn_dvrp !< 1417 INTEGER(iwp) :: nys_dvrp !< 1418 INTEGER(iwp) :: nz_dvrp, pathlines_fadeintime = 5 !< 1419 INTEGER(iwp) :: pathlines_fadeouttime = 5 !< 1420 INTEGER(iwp) :: pathlines_linecount = 1000 !< 1421 INTEGER(iwp) :: pathlines_maxhistory = 40 !< 1422 INTEGER(iwp) :: pathlines_wavecount = 10 !< 1423 INTEGER(iwp) :: pathlines_wavetime = 50 !< 1424 INTEGER(iwp) :: vc_gradient_normals = 0 !< 1425 INTEGER(iwp) :: vc_mode = 0 !< 1426 INTEGER(iwp) :: vc_size_x = 2 !< 1427 INTEGER(iwp) :: vc_size_y = 2 !< 1428 INTEGER(iwp) :: vc_size_z = 2 !< 1429 1430 INTEGER(iwp), DIMENSION(10) :: slicer_position_dvrp !< 1431 1432 LOGICAL :: cyclic_dvrp = .FALSE. !< 1433 LOGICAL :: dvrp_overlap !< 1434 LOGICAL :: dvrp_total_overlap !< 1435 LOGICAL :: local_dvrserver_running !< 1436 LOGICAL :: lock_steering_update = .FALSE. !< 1437 LOGICAL :: use_seperate_pe_for_dvrp_output = .FALSE. !< 1438 1439 REAL(wp) :: clip_dvrp_l = 9999999.9_wp !< 1440 REAL(wp) :: clip_dvrp_n = 9999999.9_wp !< 1441 REAL(wp) :: clip_dvrp_r = 9999999.9_wp !< 1442 REAL(wp) :: clip_dvrp_s = 9999999.9_wp !< 1443 REAL(wp) :: superelevation = 1.0_wp !< 1444 REAL(wp) :: superelevation_x = 1.0_wp !< 1445 REAL(wp) :: superelevation_y = 1.0_wp !< 1446 REAL(wp) :: vc_alpha = 38.0_wp !< 1447 1448 REAL(wp), DIMENSION(2) :: color_interval = (/ 0.0_wp, 1.0_wp /) !< 1449 REAL(wp), DIMENSION(2) :: dvrpsize_interval = (/ 0.0_wp, 1.0_wp /) !< 1450 1451 REAL(wp), DIMENSION(3) :: groundplate_color = (/ 0.0_wp, 0.6_wp, 0.0_wp /) !< 1452 REAL(wp), DIMENSION(3) :: topography_color = (/ 0.8_wp, 0.7_wp, 0.6_wp /) !< 1453 1454 REAL(wp), DIMENSION(2,10) :: slicer_range_limits_dvrp !< 1455 1456 REAL(wp), DIMENSION(3,10) :: isosurface_color !< 1457 1458 REAL(sp), DIMENSION(2,100) :: interval_values_dvrp !< 1459 REAL(sp), DIMENSION(2,100) :: interval_values_dvrp_prt !< 1460 REAL(sp), DIMENSION(2,100) :: interval_h_dvrp !< 1461 REAL(sp), DIMENSION(2,100) :: interval_h_dvrp_prt !< 1462 REAL(sp), DIMENSION(2,100) :: interval_l_dvrp = 0.5_sp !< 1463 REAL(sp), DIMENSION(2,100) :: interval_l_dvrp_prt = 0.5_sp !< 1464 REAL(sp), DIMENSION(2,100) :: interval_s_dvrp = 1.0_sp !< 1465 REAL(sp), DIMENSION(2,100) :: interval_s_dvrp_prt = 1.0_sp !< 1466 REAL(sp), DIMENSION(2,100) :: interval_a_dvrp = 0.0_sp !< 1467 REAL(sp), DIMENSION(2,100) :: interval_a_dvrp_prt = 0.0_sp !< 1468 1469 DATA slicer_range_limits_dvrp / -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, & !< 981 1470 -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, & 982 1471 -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, & 983 1472 -1.0_wp, 1.0_wp / 984 1473 985 DATA isosurface_color / 0.9_wp, 0.9_wp, 0.9_wp, 0.8_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.8_wp, & 1474 DATA isosurface_color / 0.9_wp, 0.9_wp, 0.9_wp, 0.8_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.8_wp, & !< 986 1475 0.1_wp, 0.8_wp, 0.1_wp, 0.6_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.6_wp, & 987 1476 0.1_wp, 0.6_wp, 0.1_wp, 0.4_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.1_wp, 0.4_wp, & 988 1477 0.1_wp, 0.4_wp, 0.1_wp / 989 1478 990 DATA interval_h_dvrp / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, & 1479 DATA interval_h_dvrp / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, & !< 991 1480 25.0_wp, -25.0_wp, 192 * 0.0_wp / 992 1481 993 DATA interval_h_dvrp_prt / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, & 1482 DATA interval_h_dvrp_prt / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, & !< 994 1483 25.0_wp, -25.0_wp, 192 * 0.0_wp / 995 1484 996 REAL(sp), DIMENSION(:), ALLOCATABLE :: xcoor_dvrp, ycoor_dvrp, zcoor_dvrp 1485 REAL(sp), DIMENSION(:), ALLOCATABLE :: xcoor_dvrp !< 1486 REAL(sp), DIMENSION(:), ALLOCATABLE :: ycoor_dvrp !< 1487 REAL(sp), DIMENSION(:), ALLOCATABLE :: zcoor_dvrp !< 997 1488 998 1489 TYPE steering 999 CHARACTER (LEN=24) :: name 1000 REAL(sp) :: min, max 1001 INTEGER(iwp) :: imin, imax 1490 CHARACTER (LEN=24) :: name !< 1491 REAL(sp) :: min !< 1492 REAL(sp) :: max !< 1493 INTEGER(iwp) :: imin !< 1494 INTEGER(iwp) :: imax !< 1002 1495 END TYPE steering 1003 1496 1004 TYPE(steering), DIMENSION(:), ALLOCATABLE :: steering_dvrp 1497 TYPE(steering), DIMENSION(:), ALLOCATABLE :: steering_dvrp !< 1005 1498 1006 1499 SAVE … … 1018 1511 USE kinds 1019 1512 1020 REAL(wp) :: ddx, ddx2, dx = 1.0_wp, dx2, ddy, ddy2, dy = 1.0_wp, dy2 1021 1022 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddx2_mg, ddy2_mg 1023 1024 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fwxm, fwxp, fwym, fwyp, fxm, fxp, & 1025 fym, fyp, wall_e_x, wall_e_y, & 1026 wall_u, wall_v, wall_w_x, wall_w_y, & 1027 zu_s_inner, zw_w_inner 1028 1513 REAL(wp) :: ddx !< 1514 REAL(wp) :: ddx2 !< 1515 REAL(wp) :: dx = 1.0_wp !< 1516 REAL(wp) :: dx2 !< 1517 REAL(wp) :: ddy !< 1518 REAL(wp) :: ddy2 !< 1519 REAL(wp) :: dy = 1.0_wp !< 1520 REAL(wp) :: dy2 !< 1521 1522 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddx2_mg !< 1523 REAL(wp), DIMENSION(:), ALLOCATABLE :: ddy2_mg !< 1524 1525 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fwxm !< 1526 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fwxp !< 1527 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fwym !< 1528 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fwyp !< 1529 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fxm !< 1530 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fxp !< 1531 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fym !< 1532 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: fyp !< 1533 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_e_x !< 1534 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_e_y !< 1535 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_u !< 1536 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_v !< 1537 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_w_x !< 1538 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wall_w_y !< 1539 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zu_s_inner !< 1540 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zw_w_inner !< 1541 1029 1542 SAVE 1030 1543 … … 1041 1554 USE kinds 1042 1555 1043 INTEGER(iwp) :: i_left, i_right, j_north, j_south, nbgp = 3, ngp_sums, & 1044 ngp_sums_ls, nnx, nx = 0, nx_a, nx_o, nxl, nxlg, nxlu, nxr, & 1045 nxrg, nx_on_file, nny, ny = 0, ny_a, ny_o, nyn, nyng, nys, & 1046 nysg, nysv, ny_on_file, nnz, nz = 0, nzb, nzb_diff, nzb_max, & 1047 nzt, nzt_diff 1048 1049 1050 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: & 1051 ngp_3d, ngp_3d_inner ! need to have 64 bit for grids > 2E9 1052 1053 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: & 1054 ngp_2dh, nxl_mg, nxr_mg, nyn_mg, nys_mg, nzt_mg 1055 1056 1057 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer, ngp_2dh_s_inner, & 1058 mg_loc_ind, nzb_diff_s_inner, nzb_diff_s_outer, nzb_diff_u, & 1059 nzb_diff_v, nzb_inner, nzb_outer, nzb_s_inner, nzb_s_outer, & 1060 nzb_u_inner, nzb_u_outer, nzb_v_inner, nzb_v_outer, & 1061 nzb_w_inner, nzb_w_outer 1062 1063 INTEGER(iwp), DIMENSION(:,:,:), POINTER :: flags 1064 1065 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: wall_flags_0, wall_flags_00 1066 1067 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 1068 wall_flags_1, wall_flags_2, wall_flags_3, wall_flags_4, & 1069 wall_flags_5, wall_flags_6, wall_flags_7, wall_flags_8, & 1070 wall_flags_9, wall_flags_10 1071 1072 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rflags_s_inner, rflags_invers 1556 INTEGER(iwp) :: i_left !< 1557 INTEGER(iwp) :: i_right !< 1558 INTEGER(iwp) :: j_north !< 1559 INTEGER(iwp) :: j_south !< 1560 INTEGER(iwp) :: nbgp = 3 !< 1561 INTEGER(iwp) :: ngp_sums !< 1562 INTEGER(iwp) :: ngp_sums_ls !< 1563 INTEGER(iwp) :: nnx !< 1564 INTEGER(iwp) :: nx = 0 !< 1565 INTEGER(iwp) :: nx_a !< 1566 INTEGER(iwp) :: nx_o !< 1567 INTEGER(iwp) :: nxl !< 1568 INTEGER(iwp) :: nxlg !< 1569 INTEGER(iwp) :: nxlu !< 1570 INTEGER(iwp) :: nxr !< 1571 INTEGER(iwp) :: nxrg !< 1572 INTEGER(iwp) :: nx_on_file !< 1573 INTEGER(iwp) :: nny !< 1574 INTEGER(iwp) :: ny = 0 !< 1575 INTEGER(iwp) :: ny_a !< 1576 INTEGER(iwp) :: ny_o !< 1577 INTEGER(iwp) :: nyn !< 1578 INTEGER(iwp) :: nyng !< 1579 INTEGER(iwp) :: nys !< 1580 INTEGER(iwp) :: nysg !< 1581 INTEGER(iwp) :: nysv !< 1582 INTEGER(iwp) :: ny_on_file !< 1583 INTEGER(iwp) :: nnz !< 1584 INTEGER(iwp) :: nz = 0 !< 1585 INTEGER(iwp) :: nzb !< 1586 INTEGER(iwp) :: nzb_diff !< 1587 INTEGER(iwp) :: nzb_max !< 1588 INTEGER(iwp) :: nzt !< 1589 INTEGER(iwp) :: nzt_diff !< 1590 1591 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: ngp_3d !< 1592 INTEGER(idp), DIMENSION(:), ALLOCATABLE :: ngp_3d_inner !< ! need to have 64 bit for grids > 2E9 1593 1594 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_2dh !< 1595 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxl_mg !< 1596 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nxr_mg !< 1597 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nyn_mg !< 1598 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nys_mg !< 1599 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: nzt_mg !< 1600 1601 1602 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer !< 1603 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_s_inner !< 1604 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: mg_loc_ind !< 1605 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_inner !< 1606 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_s_outer !< 1607 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_u !< 1608 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_diff_v !< 1609 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_inner !< 1610 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_outer !< 1611 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_inner !< 1612 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_s_outer !< 1613 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_inner !< 1614 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_u_outer !< 1615 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_inner !< 1616 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_v_outer !< 1617 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_inner !< 1618 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: nzb_w_outer !< 1619 1620 INTEGER(iwp), DIMENSION(:,:,:), POINTER :: flags !< 1621 1622 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: wall_flags_0 !< 1623 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE :: wall_flags_00 !< 1624 1625 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_1 !< 1626 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_2 !< 1627 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_3 !< 1628 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_4 !< 1629 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_5 !< 1630 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_6 !< 1631 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_7 !< 1632 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_8 !< 1633 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_9 !< 1634 INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: wall_flags_10 !< 1635 1636 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rflags_s_inner !< 1637 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rflags_invers !< 1073 1638 1074 1639 SAVE … … 1096 1661 USE kinds 1097 1662 1098 CHARACTER (LEN=*), INTENT(IN) :: mode 1099 INTEGER(iwp), INTENT(IN) :: i1, i2, j1, j2, k1, k2 1100 INTEGER(iwp) :: wert_ijk(3) 1101 INTEGER(iwp), OPTIONAL :: wert1_ijk(3) 1102 REAL(wp) :: offset, wert 1103 REAL(wp), OPTIONAL :: wert1 1104 REAL(wp), INTENT(IN) :: feld(i1:i2,j1:j2,k1:k2) 1663 CHARACTER (LEN=*), INTENT(IN) :: mode !< 1664 INTEGER(iwp), INTENT(IN) :: i1 !< 1665 INTEGER(iwp), INTENT(IN) :: i2 !< 1666 INTEGER(iwp), INTENT(IN) :: j1 !< 1667 INTEGER(iwp), INTENT(IN) :: j2 !< 1668 INTEGER(iwp), INTENT(IN) :: k1 !< 1669 INTEGER(iwp), INTENT(IN) :: k2 !< 1670 INTEGER(iwp) :: wert_ijk(3) !< 1671 INTEGER(iwp), OPTIONAL :: wert1_ijk(3) !< 1672 REAL(wp) :: offset !< 1673 REAL(wp) :: wert !< 1674 REAL(wp), OPTIONAL :: wert1 !< 1675 REAL(wp), INTENT(IN) :: feld(i1:i2,j1:j2,k1:k2) !< 1105 1676 1106 1677 END SUBROUTINE global_min_max … … 1132 1703 USE kinds 1133 1704 1134 CHARACTER (LEN=*), INTENT(IN) :: sk_char1705 CHARACTER (LEN=*), INTENT(IN) :: sk_char !< 1135 1706 #if defined( __nopointer ) 1136 REAL(wp), DIMENSION(:,:,:) :: sk 1707 REAL(wp), DIMENSION(:,:,:) :: sk !< 1137 1708 #else 1138 REAL(wp), DIMENSION(:,:,:), POINTER :: sk 1709 REAL(wp), DIMENSION(:,:,:), POINTER :: sk !< 1139 1710 #endif 1140 1711 END SUBROUTINE advec_s_bc 1141 1712 1142 1713 END INTERFACE 1143 1144 1714 1145 1715 SAVE … … 1157 1727 USE kinds 1158 1728 1159 INTEGER(iwp) :: current_timestep_number_1d = 0, damp_level_ind_1d 1160 1161 LOGICAL :: run_control_header_1d = .FALSE., stop_dt_1d = .FALSE. 1162 1163 REAL(wp) :: damp_level_1d = -1.0_wp, dt_1d = 60.0_wp, dt_max_1d = 300.0_wp, & 1164 dt_pr_1d = 9999999.9_wp, dt_run_control_1d = 60.0_wp, & 1165 end_time_1d = 864000.0_wp, old_dt_1d = 1.0E-10_wp, & 1166 qs1d, simulated_time_1d = 0.0_wp, time_pr_1d = 0.0_wp, & 1167 time_run_control_1d = 0.0_wp, ts1d, us1d, usws1d, & 1168 vsws1d, z01d, z0h1d 1169 1170 1171 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d, e1d_p, kh1d, km1d, l_black, l1d, & 1172 rif1d, te_e, te_em, te_u, te_um, te_v, & 1173 te_vm, u1d, u1d_p, v1d, v1d_p 1729 INTEGER(iwp) :: current_timestep_number_1d = 0 !< 1730 INTEGER(iwp) :: damp_level_ind_1d !< 1731 1732 LOGICAL :: run_control_header_1d = .FALSE. !< 1733 LOGICAL :: stop_dt_1d = .FALSE. !< 1734 1735 REAL(wp) :: damp_level_1d = -1.0_wp !< 1736 REAL(wp) :: dt_1d = 60.0_wp !< 1737 REAL(wp) :: dt_max_1d = 300.0_wp !< 1738 REAL(wp) :: dt_pr_1d = 9999999.9_wp !< 1739 REAL(wp) :: dt_run_control_1d = 60.0_wp !< 1740 REAL(wp) :: end_time_1d = 864000.0_wp !< 1741 REAL(wp) :: old_dt_1d = 1.0E-10_wp !< 1742 REAL(wp) :: qs1d !< 1743 REAL(wp) :: simulated_time_1d = 0.0_wp !< 1744 REAL(wp) :: time_pr_1d = 0.0_wp !< 1745 REAL(wp) :: time_run_control_1d = 0.0_wp !< 1746 REAL(wp) :: ts1d !< 1747 REAL(wp) :: us1d !< 1748 REAL(wp) :: usws1d !< 1749 REAL(wp) :: vsws1d !< 1750 REAL(wp) :: z01d !< 1751 REAL(wp) :: z0h1d !< 1752 1753 1754 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d !< 1755 REAL(wp), DIMENSION(:), ALLOCATABLE :: e1d_p !< 1756 REAL(wp), DIMENSION(:), ALLOCATABLE :: kh1d !< 1757 REAL(wp), DIMENSION(:), ALLOCATABLE :: km1d !< 1758 REAL(wp), DIMENSION(:), ALLOCATABLE :: l_black !< 1759 REAL(wp), DIMENSION(:), ALLOCATABLE :: l1d !< 1760 REAL(wp), DIMENSION(:), ALLOCATABLE :: rif1d !< 1761 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_e !< 1762 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_em !< 1763 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_u !< 1764 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_um !< 1765 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_v !< 1766 REAL(wp), DIMENSION(:), ALLOCATABLE :: te_vm !< 1767 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d !< 1768 REAL(wp), DIMENSION(:), ALLOCATABLE :: u1d_p !< 1769 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d !< 1770 REAL(wp), DIMENSION(:), ALLOCATABLE :: v1d_p !< 1174 1771 1175 1772 SAVE … … 1200 1797 CHARACTER(LEN=2) :: send_receive = 'al' 1201 1798 CHARACTER(LEN=7) :: myid_char = '' 1202 INTEGER(iwp) :: acc_rank, comm1dx, comm1dy, comm2d, comm_inter, & 1203 comm_palm, id_inflow = 0, & 1204 id_outflow = 0, & !< myidx of procs at outflow (turbulent outflow method) 1205 id_outflow_source = 0, & !< myidx of procs including ouflow source plane (turbulent outflow method) 1206 id_recycling = 0, ierr, & 1207 myid = 0, myidx = 0, myidy = 0, ndim = 2, ngp_a, & 1208 ngp_o, ngp_xy, ngp_y, npex = -1, npey = -1, & 1209 numprocs = 1, numprocs_previous_run = -1, & 1210 num_acc_per_node = 0, pleft, pnorth, pright, psouth, & 1211 req_count = 0, sendrecvcount_xy, sendrecvcount_yz, & 1212 sendrecvcount_zx, sendrecvcount_zyd, & 1213 sendrecvcount_yxd, target_id, tasks_per_node = -9999, & 1214 threads_per_task = 1, type_x, type_xy, & 1215 type_y 1216 1217 INTEGER(iwp) :: pdims(2) = 1, req(100) 1218 1219 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds, & 1220 hor_index_bounds_previous_run 1221 1222 LOGICAL :: background_communication =.FALSE., collective_wait = .FALSE., & 1223 sendrecv_in_background = .FALSE. 1799 1800 INTEGER(iwp) :: acc_rank !< 1801 INTEGER(iwp) :: comm1dx !< 1802 INTEGER(iwp) :: comm1dy !< 1803 INTEGER(iwp) :: comm2d !< 1804 INTEGER(iwp) :: comm_inter !< 1805 INTEGER(iwp) :: comm_palm !< 1806 INTEGER(iwp) :: id_inflow = 0 !< 1807 INTEGER(iwp) :: id_outflow = 0 !< myidx of procs at outflow (turbulent outflow method) 1808 INTEGER(iwp) :: id_outflow_source = 0 !< myidx of procs including ouflow source plane (turbulent outflow method) 1809 INTEGER(iwp) :: id_recycling = 0 !< 1810 INTEGER(iwp) :: ierr !< 1811 INTEGER(iwp) :: myid = 0 !< 1812 INTEGER(iwp) :: myidx = 0 !< 1813 INTEGER(iwp) :: myidy = 0 !< 1814 INTEGER(iwp) :: ndim = 2 !< 1815 INTEGER(iwp) :: ngp_a !< 1816 INTEGER(iwp) :: ngp_o !< 1817 INTEGER(iwp) :: ngp_xy !< 1818 INTEGER(iwp) :: ngp_y !< 1819 INTEGER(iwp) :: npex = -1 !< 1820 INTEGER(iwp) :: npey = -1 !< 1821 INTEGER(iwp) :: numprocs = 1 !< 1822 INTEGER(iwp) :: numprocs_previous_run = -1 !< 1823 INTEGER(iwp) :: num_acc_per_node = 0 !< 1824 INTEGER(iwp) :: pleft !< 1825 INTEGER(iwp) :: pnorth !< 1826 INTEGER(iwp) :: pright !< 1827 INTEGER(iwp) :: psouth !< 1828 INTEGER(iwp) :: req_count = 0 !< 1829 INTEGER(iwp) :: sendrecvcount_xy !< 1830 INTEGER(iwp) :: sendrecvcount_yz !< 1831 INTEGER(iwp) :: sendrecvcount_zx !< 1832 INTEGER(iwp) :: sendrecvcount_zyd !< 1833 INTEGER(iwp) :: sendrecvcount_yxd !< 1834 INTEGER(iwp) :: target_id !< 1835 INTEGER(iwp) :: tasks_per_node = -9999 !< 1836 INTEGER(iwp) :: threads_per_task = 1 !< 1837 INTEGER(iwp) :: type_x !< 1838 INTEGER(iwp) :: type_xy !< 1839 INTEGER(iwp) :: type_y !< 1840 1841 INTEGER(iwp) :: pdims(2) = 1 !< 1842 INTEGER(iwp) :: req(100) !< 1843 1844 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds !< 1845 INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE :: hor_index_bounds_previous_run !< 1846 1847 LOGICAL :: background_communication =.FALSE. !< 1848 LOGICAL :: collective_wait = .FALSE. !< 1849 LOGICAL :: sendrecv_in_background = .FALSE. !< 1224 1850 1225 1851 #if defined( __parallel ) 1226 1852 #if defined( __mpi2 ) 1227 CHARACTER (LEN=MPI_MAX_PORT_NAME) :: port_name 1853 CHARACTER (LEN=MPI_MAX_PORT_NAME) :: port_name !< 1228 1854 #endif 1229 1855 1230 INTEGER(iwp) :: ibuf(12), pcoord(2) 1231 INTEGER(iwp) :: status(MPI_STATUS_SIZE) 1232 INTEGER(iwp), DIMENSION(MPI_STATUS_SIZE,100) :: wait_stat 1233 1234 INTEGER(iwp) :: ngp_yz_int, type_xz_int, type_yz_int 1235 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_xz, ngp_yz, type_x_int, & 1236 type_xz, type_y_int, type_yz 1237 1238 LOGICAL :: left_border_pe = .FALSE., north_border_pe = .FALSE., & 1239 reorder = .TRUE., right_border_pe = .FALSE., & 1240 south_border_pe = .FALSE. 1241 1242 LOGICAL, DIMENSION(2) :: cyclic = (/ .TRUE. , .TRUE. /), & 1243 remain_dims 1856 INTEGER(iwp) :: ibuf(12) !< 1857 INTEGER(iwp) :: pcoord(2) !< 1858 INTEGER(iwp) :: status(MPI_STATUS_SIZE) !< 1859 1860 INTEGER(iwp), DIMENSION(MPI_STATUS_SIZE,100) :: wait_stat !< 1861 1862 INTEGER(iwp) :: ngp_yz_int !< 1863 INTEGER(iwp) :: type_xz_int !< 1864 INTEGER(iwp) :: type_yz_int !< 1865 1866 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_xz !< 1867 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: ngp_yz !< 1868 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_x_int !< 1869 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_xz !< 1870 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_y_int !< 1871 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: type_yz !< 1872 1873 LOGICAL :: left_border_pe = .FALSE. !< 1874 LOGICAL :: north_border_pe = .FALSE. !< 1875 LOGICAL :: reorder = .TRUE. !< 1876 LOGICAL :: right_border_pe = .FALSE. !< 1877 LOGICAL :: south_border_pe = .FALSE. !< 1878 1879 LOGICAL, DIMENSION(2) :: cyclic = (/ .TRUE. , .TRUE. /) !< 1880 LOGICAL, DIMENSION(2) :: remain_dims !< 1244 1881 #endif 1245 1882 … … 1258 1895 USE kinds 1259 1896 1260 INTEGER(iwp), PARAMETER :: crmax = 100 1261 1262 CHARACTER (LEN=20), DIMENSION(20) :: cross_ts_profiles = & 1897 INTEGER(iwp), PARAMETER :: crmax = 100 !< 1898 1899 CHARACTER (LEN=20), DIMENSION(20) :: cross_ts_profiles = & !< 1263 1900 (/ ' E E* ', ' dt ', & 1264 1901 ' u* w* ', ' th* ', & … … 1269 1906 ( ' ', i9 = 1, 9 ) /) 1270 1907 1271 CHARACTER (LEN=100), DIMENSION(crmax) :: cross_profiles = & 1908 CHARACTER (LEN=100), DIMENSION(crmax) :: cross_profiles = & !< 1272 1909 (/ ' u v ', & 1273 1910 ' pt ', & … … 1278 1915 ( ' ', i9 = 1, 94 ) /) 1279 1916 1280 INTEGER(iwp) :: profile_columns = 2, profile_rows = 3, profile_number = 0 1281 1282 INTEGER(iwp) :: cross_ts_numbers(crmax,crmax) = 0, & 1283 cross_ts_number_count(crmax) = 0, & 1284 dopr_index(300) = 0, dopr_initial_index(300) = 0, & 1285 dots_crossindex(100) = 0, dots_index(100) = 0 1917 INTEGER(iwp) :: profile_columns = 2 !< 1918 INTEGER(iwp) :: profile_rows = 3 !< 1919 INTEGER(iwp) :: profile_number = 0 !< 1920 1921 INTEGER(iwp) :: cross_ts_numbers(crmax,crmax) = 0 !< 1922 INTEGER(iwp) :: cross_ts_number_count(crmax) = 0 !< 1923 INTEGER(iwp) :: dopr_index(300) = 0 !< 1924 INTEGER(iwp) :: dopr_initial_index(300) = 0 !< 1925 INTEGER(iwp) :: dots_crossindex(100) = 0 !< 1926 INTEGER(iwp) :: dots_index(100) = 0 !< 1286 1927 1287 1928 1288 REAL(wp) :: cross_ts_uymax(20) = & 1929 REAL(wp) :: cross_ts_uymax(20) = & !< 1289 1930 (/ 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, & 1290 1931 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, & 1291 1932 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, & 1292 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp /) ,&1293 cross_ts_uymax_computed(20) = 999.999_wp, &1294 cross_ts_uymin(20) = &1933 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp /) 1934 REAL(wp) :: cross_ts_uymax_computed(20) = 999.999_wp !< 1935 REAL(wp) :: cross_ts_uymin(20) = & !< 1295 1936 (/ 999.999_wp, 999.999_wp, 999.999_wp, -5.000_wp, 999.999_wp, & 1296 1937 999.999_wp, 0.000_wp, 999.999_wp, 999.999_wp, 999.999_wp, & 1297 1938 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, & 1298 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp /) ,&1299 cross_ts_uymin_computed(20) = 999.999_wp1939 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp, 999.999_wp /) 1940 REAL(wp) :: cross_ts_uymin_computed(20) = 999.999_wp !< 1300 1941 1301 1942 SAVE … … 1312 1953 USE kinds 1313 1954 1314 CHARACTER (LEN=40) :: region(0:9) 1315 INTEGER(iwp) :: pr_palm = 130, statistic_regions = 0 1316 INTEGER(iwp) :: u_max_ijk(3) = -1, v_max_ijk(3) = -1, w_max_ijk(3) = -1 1317 LOGICAL :: flow_statistics_called = .FALSE. 1318 REAL(wp) :: u_max, v_max, w_max 1319 REAL(wp), DIMENSION(:), ALLOCATABLE :: mean_surface_level_height, & 1320 sums_divnew_l, sums_divold_l, & 1321 weight_substep, weight_pres 1322 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums, sums_wsts_bc_l, ts_value, & 1323 sums_wsus_ws_l, sums_wsvs_ws_l, & 1324 sums_us2_ws_l, sums_vs2_ws_l, & 1325 sums_ws2_ws_l, & 1326 sums_wsnrs_ws_l, & 1327 sums_wspts_ws_l, & 1328 sums_wsqs_ws_l, & 1329 sums_wsqrs_ws_l, & 1330 sums_wssas_ws_l, & 1331 sums_wsss_ws_l, & 1332 sums_ls_l 1955 CHARACTER (LEN=40) :: region(0:9) !< 1956 1957 INTEGER(iwp) :: pr_palm = 130 !< 1958 INTEGER(iwp) :: statistic_regions = 0 !< 1959 1960 INTEGER(iwp) :: u_max_ijk(3) = -1 !< 1961 INTEGER(iwp) :: v_max_ijk(3) = -1 !< 1962 INTEGER(iwp) :: w_max_ijk(3) = -1 !< 1963 1964 LOGICAL :: flow_statistics_called = .FALSE. !< 1965 1966 REAL(wp) :: u_max !< 1967 REAL(wp) :: v_max !< 1968 REAL(wp) :: w_max !< 1969 1970 REAL(wp), DIMENSION(:), ALLOCATABLE :: mean_surface_level_height !< 1971 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divnew_l !< 1972 REAL(wp), DIMENSION(:), ALLOCATABLE :: sums_divold_l !< 1973 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_substep !< 1974 REAL(wp), DIMENSION(:), ALLOCATABLE :: weight_pres !< 1975 1976 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums !< 1977 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsts_bc_l !< 1978 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ts_value !< 1979 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsus_ws_l !< 1980 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsvs_ws_l !< 1981 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_us2_ws_l !< 1982 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_vs2_ws_l !< 1983 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ws2_ws_l !< 1984 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsnrs_ws_l !< 1985 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wspts_ws_l !< 1986 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqs_ws_l !< 1987 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqrs_ws_l !< 1988 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wssas_ws_l !< 1989 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsss_ws_l !< 1990 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ls_l !< 1333 1991 1334 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: hom_sum, rmask, sums_l, & 1335 sums_l_l, sums_up_fraction_l 1336 1337 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: hom 1992 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: hom_sum !< 1993 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: rmask !< 1994 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l !< 1995 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_l_l !< 1996 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sums_up_fraction_l !< 1997 1998 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: hom !< 1338 1999 1339 2000 SAVE … … 1352 2013 USE kinds 1353 2014 1354 INTEGER(iwp) :: nxl_y, nxl_yd, nxl_z, nxr_y, nxr_yd, nxr_z, nyn_x, nyn_z, & 1355 nys_x, nys_z, nzb_x, nzb_y, nzb_yd, nzt_x, nzt_y, nzt_yd 2015 INTEGER(iwp) :: nxl_y !< 2016 INTEGER(iwp) :: nxl_yd !< 2017 INTEGER(iwp) :: nxl_z !< 2018 INTEGER(iwp) :: nxr_y !< 2019 INTEGER(iwp) :: nxr_yd !< 2020 INTEGER(iwp) :: nxr_z !< 2021 INTEGER(iwp) :: nyn_x !< 2022 INTEGER(iwp) :: nyn_z !< 2023 INTEGER(iwp) :: nys_x !< 2024 INTEGER(iwp) :: nys_z !< 2025 INTEGER(iwp) :: nzb_x !< 2026 INTEGER(iwp) :: nzb_y !< 2027 INTEGER(iwp) :: nzb_yd !< 2028 INTEGER(iwp) :: nzt_x !< 2029 INTEGER(iwp) :: nzt_y !< 2030 INTEGER(iwp) :: nzt_yd !< 1356 2031 1357 2032 SAVE
Note: See TracChangeset
for help on using the changeset viewer.