Changeset 2292 for palm/trunk/SOURCE/modules.f90
- Timestamp:
- Jun 20, 2017 9:51:42 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/modules.f90
r2277 r2292 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 28 ! includes two more prognostic equations for cloud drop concentration (nc) 29 ! and cloud water content (qc). 30 ! 31 ! 2277 2017-06-12 10:47:51Z kanani 27 32 ! Added doxygen comments for variables/parameters, 28 33 ! removed unused variables dissipation_control, do2d_xy_n, do2d_xz_n, do2d_yz_n, … … 543 548 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: c_w !< phase speed of w-velocity component 544 549 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_e !< artificial numerical dissipation flux at south face of grid box - subgrid-scale TKE 550 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_nc !< artificial numerical dissipation flux at south face of grid box - clouddrop-number concentration 545 551 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_nr !< artificial numerical dissipation flux at south face of grid box - raindrop-number concentration 546 552 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_pt !< artificial numerical dissipation flux at south face of grid box - potential temperature 547 553 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_q !< artificial numerical dissipation flux at south face of grid box - mixing ratio 554 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_qc !< artificial numerical dissipation flux at south face of grid box - cloudwater 548 555 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_qr !< artificial numerical dissipation flux at south face of grid box - rainwater 549 556 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: diss_s_s !< artificial numerical dissipation flux at south face of grid box - passive scalar … … 555 562 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dzw_mg !< vertical grid size (w-grid) for multigrid pressure solver 556 563 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_e !< 6th-order advective flux at south face of grid box - subgrid-scale TKE 564 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_nc !< 6th-order advective flux at south face of grid box - clouddrop-number concentration 557 565 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_nr !< 6th-order advective flux at south face of grid box - raindrop-number concentration 558 566 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_pt !< 6th-order advective flux at south face of grid box - potential temperature 559 567 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_q !< 6th-order advective flux at south face of grid box - mixing ratio 568 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_qc !< 6th-order advective flux at south face of grid box - cloudwater 560 569 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_qr !< 6th-order advective flux at south face of grid box - rainwater 561 570 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: flux_s_s !< 6th-order advective flux at south face of grid box - passive scalar … … 594 603 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss !< TKE dissipation rate 595 604 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_e !< artificial numerical dissipation flux at left face of grid box - subgrid-scale TKE 605 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_nc !< artificial numerical dissipation flux at left face of grid box - clouddrop-number concentration 596 606 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_nr !< artificial numerical dissipation flux at left face of grid box - raindrop-number concentration 597 607 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_pt !< artificial numerical dissipation flux at left face of grid box - potential temperature 598 608 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_q !< artificial numerical dissipation flux at left face of grid box - mixing ratio 609 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_qc !< artificial numerical dissipation flux at left face of grid box - cloudwater 599 610 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_qr !< artificial numerical dissipation flux at left face of grid box - rainwater 600 611 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_s !< artificial numerical dissipation flux at left face of grid box - passive scalar … … 604 615 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: diss_l_w !< artificial numerical dissipation flux at left face of grid box - w-component 605 616 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_e !< 6th-order advective flux at south face of grid box - subgrid-scale TKE 617 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_nc !< 6th-order advective flux at south face of grid box - clouddrop-number concentration 606 618 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_nr !< 6th-order advective flux at south face of grid box - raindrop-number concentration 607 619 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_pt !< 6th-order advective flux at south face of grid box - potential temperature 608 620 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_q !< 6th-order advective flux at south face of grid box - mixing ratio 621 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_qc !< 6th-order advective flux at south face of grid box - cloudwater 609 622 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_qr !< 6th-order advective flux at south face of grid box - rainwater 610 623 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: flux_l_s !< 6th-order advective flux at south face of grid box - passive scalar … … 636 649 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e !< subgrid-scale turbulence kinetic energy (sgs tke) 637 650 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_p !< prognostic value of sgs tke 651 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc !< cloud drop number density 652 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc_p !< prognostic value of cloud drop number density 638 653 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr !< rain drop number density 639 654 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_p !< prognostic value of rain drop number density … … 646 661 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_p !< prognostic value of specific humidity 647 662 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc !< cloud water content 663 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_p !< cloud water content 648 664 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql !< liquid water content 649 665 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_c !< change in liquid water content due to … … 659 675 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: sa_p !< prognostic value of ocean salinity 660 676 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: te_m !< weighted tendency of e for previous sub-timestep (Runge-Kutta) 677 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tnc_m !< weighted tendency of nc for previous sub-timestep (Runge-Kutta) 661 678 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tnr_m !< weighted tendency of nr for previous sub-timestep (Runge-Kutta) 662 679 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tpt_m !< weighted tendency of pt for previous sub-timestep (Runge-Kutta) 663 680 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tq_m !< weighted tendency of q for previous sub-timestep (Runge-Kutta) 681 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tqc_m !< weighted tendency of qc for previous sub-timestep (Runge-Kutta) 664 682 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: tqr_m !< weighted tendency of qr for previous sub-timestep (Runge-Kutta) 665 683 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ts_m !< weighted tendency of s for previous sub-timestep (Runge-Kutta) … … 681 699 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p !< pointer: perturbation pressure 682 700 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: prho_1 !< pointer for swapping of timelevels for respective quantity 701 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc_1 !< pointer for swapping of timelevels for respective quantity 702 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc_2 !< pointer for swapping of timelevels for respective quantity 703 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc_3 !< pointer for swapping of timelevels for respective quantity 683 704 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_1 !< pointer for swapping of timelevels for respective quantity 684 705 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_2 !< pointer for swapping of timelevels for respective quantity … … 691 712 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: q_3 !< pointer for swapping of timelevels for respective quantity 692 713 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_1 !< pointer for swapping of timelevels for respective quantity 714 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_2 !< pointer for swapping of timelevels for respective quantity 715 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: qc_3 !< pointer for swapping of timelevels for respective quantity 693 716 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_v !< pointer: volume of liquid water 694 717 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: ql_vp !< pointer: liquid water weighting factor … … 718 741 REAL(wp), DIMENSION(:,:,:), POINTER :: e !< pointer: subgrid-scale turbulence kinetic energy (sgs tke) 719 742 REAL(wp), DIMENSION(:,:,:), POINTER :: e_p !< pointer: prognostic value of sgs tke 743 REAL(wp), DIMENSION(:,:,:), POINTER :: nc !< pointer: cloud drop number density 744 REAL(wp), DIMENSION(:,:,:), POINTER :: nc_p !< pointer: prognostic value of cloud drop number density 720 745 REAL(wp), DIMENSION(:,:,:), POINTER :: nr !< pointer: rain drop number density 721 746 REAL(wp), DIMENSION(:,:,:), POINTER :: nr_p !< pointer: prognostic value of rain drop number density … … 726 751 REAL(wp), DIMENSION(:,:,:), POINTER :: q_p !< pointer: prognostic value of specific humidity 727 752 REAL(wp), DIMENSION(:,:,:), POINTER :: qc !< pointer: cloud water content 753 REAL(wp), DIMENSION(:,:,:), POINTER :: qc_p !< pointer: cloud water content 728 754 REAL(wp), DIMENSION(:,:,:), POINTER :: ql !< pointer: liquid water content 729 755 REAL(wp), DIMENSION(:,:,:), POINTER :: ql_c !< pointer: change in liquid water content due to … … 737 763 REAL(wp), DIMENSION(:,:,:), POINTER :: sa_p !< pointer: prognostic value of ocean salinity 738 764 REAL(wp), DIMENSION(:,:,:), POINTER :: te_m !< pointer: weighted tendency of e for previous sub-timestep (Runge-Kutta) 765 REAL(wp), DIMENSION(:,:,:), POINTER :: tnc_m !< pointer: weighted tendency of nc for previous sub-timestep (Runge-Kutta) 739 766 REAL(wp), DIMENSION(:,:,:), POINTER :: tnr_m !< pointer: weighted tendency of nr for previous sub-timestep (Runge-Kutta) 740 767 REAL(wp), DIMENSION(:,:,:), POINTER :: tpt_m !< pointer: weighted tendency of pt for previous sub-timestep (Runge-Kutta) 741 768 REAL(wp), DIMENSION(:,:,:), POINTER :: tq_m !< pointer: weighted tendency of q for previous sub-timestep (Runge-Kutta) 769 REAL(wp), DIMENSION(:,:,:), POINTER :: tqc_m !< pointer: weighted tendency of qc for previous sub-timestep (Runge-Kutta) 742 770 REAL(wp), DIMENSION(:,:,:), POINTER :: tqr_m !< pointer: weighted tendency of qr for previous sub-timestep (Runge-Kutta) 743 771 REAL(wp), DIMENSION(:,:,:), POINTER :: ts_m !< pointer: weighted tendency of s for previous sub-timestep (Runge-Kutta) … … 800 828 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e_av !< avg. subgrid-scale tke 801 829 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: lpt_av !< avg. liquid water potential temperature 830 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nc_av !< avg. cloud drop number density 802 831 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: nr_av !< avg. rain drop number density 803 832 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: p_av !< avg. perturbation pressure … … 1144 1173 LOGICAL :: microphysics_sat_adjust = .FALSE. !< use saturation adjust bulk scheme? 1145 1174 LOGICAL :: microphysics_kessler = .FALSE. !< use kessler bulk scheme? 1146 LOGICAL :: microphysics_seifert = .FALSE. !< use 2-moment Seifert and Beheng scheme? 1175 LOGICAL :: microphysics_morrison = .FALSE. !< use 2-moment Morrison (add. prog. eq. for nc and qc) 1176 LOGICAL :: microphysics_seifert = .FALSE. !< use 2-moment Seifert and Beheng scheme 1147 1177 LOGICAL :: mg_switch_to_pe0 = .FALSE. !< (Siggi add short description) 1148 1178 LOGICAL :: nest_bound_l = .FALSE. !< nested boundary on left side? … … 1980 2010 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_vs2_ws_l !< subdomain sum of horizontal momentum flux v'v' (5th-order advection scheme only) 1981 2011 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_ws2_ws_l !< subdomain sum of vertical momentum flux w'w' (5th-order advection scheme only) 2012 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsncs_ws_l !< subdomain sum of vertical clouddrop-number concentration flux w'nc' (5th-order advection scheme only) 1982 2013 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsnrs_ws_l !< subdomain sum of vertical raindrop-number concentration flux w'nr' (5th-order advection scheme only) 1983 2014 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wspts_ws_l !< subdomain sum of vertical sensible heat flux w'pt' (5th-order advection scheme only) 1984 2015 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqs_ws_l !< subdomain sum of vertical latent heat flux w'q' (5th-order advection scheme only) 2016 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqcs_ws_l !< subdomain sum of vertical cloudwater flux w'qc' (5th-order advection scheme only) 1985 2017 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wsqrs_ws_l !< subdomain sum of vertical rainwater flux w'qr' (5th-order advection scheme only) 1986 2018 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sums_wssas_ws_l !< subdomain sum of vertical salinity flux w'sa' (5th-order advection scheme only)
Note: See TracChangeset
for help on using the changeset viewer.