Modules | |
| NSSL 2-moment microphysics modules | |
| This module provides a 1/2/3-moment bulk microphysics scheme based on a combination of Straka and Mansell (2005, JAM) and Zeigler (1985, JAS) and modified/upgraded in in Mansell, Zeigler, and Bruning (2010, JAS). Two-moment adaptive sedimentation follows Mansell (2010, JAS), using parameter infall = 4. | |
| subroutine, public | mp_nssl::mp_nssl_init (ncol, nlev, errflg, errmsg, threads, restart, fn_nml, input_nml_file, mpirank, mpiroot, mpicomm, qc, qr, qi, qs, qh, ccw, crw, cci, csw, chw, vh, con_g, con_rd, con_cp, con_rv, con_t0c, con_cliq, con_csol, con_eps, imp_physics, imp_physics_nssl, nssl_cccn, nssl_alphah, nssl_alphahl, nssl_alphar, nssl_ehw0, nssl_ehlw0, nssl_ccn_on, nssl_hail_on, nssl_invertccn, nssl_3moment) |
| This subroutine is a wrapper around the nssl_2mom_init(). | |
| subroutine, public | mp_nssl::mp_nssl_run (ncol, nlev, con_g, con_rd, mpirank, spechum, cccn, cccna, qc, qr, qi, qs, qh, qhl, ccw, crw, cci, csw, chw, chl, vh, vhl, zrw, zhw, zhl, tgrs, prslk, prsl, phii, omega, dtp, prcp, rain, graupel, ice, snow, sr, refl_10cm, do_radar_ref, first_time_step, restart, re_cloud, re_ice, re_snow, re_rain, nleffr, nieffr, nseffr, nreffr, imp_physics, convert_dry_rho, imp_physics_nssl, nssl_ccn_on, nssl_hail_on, nssl_invertccn, nssl_3moment, ntccn, ntccna, ten_t, ten_qv, ten_qc, ten_qr, ten_qi, ten_qs, ten_qh, ten_qhl, ten_cccn, ten_ccw, ten_crw, ten_cci, ten_csw, ten_chw, ten_chl, ten_vh, ten_vhl, ten_zrw, ten_zhw, ten_zhl, errflg, errmsg) |
| subroutine, public mp_nssl::mp_nssl_init | ( | integer, intent(in) | ncol, |
| integer, intent(in) | nlev, | ||
| integer, intent(out) | errflg, | ||
| character(len=*), intent(out) | errmsg, | ||
| integer, intent(in) | threads, | ||
| logical, intent(in) | restart, | ||
| character(len=*), intent(in) | fn_nml, | ||
| character(len=*), dimension(:), intent(in) | input_nml_file, | ||
| integer, intent(in) | mpirank, | ||
| integer, intent(in) | mpiroot, | ||
| type(mpi_comm), intent(in) | mpicomm, | ||
| real(kind_phys), dimension (:,:), intent(inout) | qc, | ||
| real(kind_phys), dimension (:,:), intent(inout) | qr, | ||
| real(kind_phys), dimension (:,:), intent(inout) | qi, | ||
| real(kind_phys), dimension (:,:), intent(inout) | qs, | ||
| real(kind_phys), dimension (:,:), intent(inout) | qh, | ||
| real(kind_phys), dimension(:,:), intent(inout) | ccw, | ||
| real(kind_phys), dimension(:,:), intent(inout) | crw, | ||
| real(kind_phys), dimension(:,:), intent(inout) | cci, | ||
| real(kind_phys), dimension(:,:), intent(inout) | csw, | ||
| real(kind_phys), dimension(:,:), intent(inout) | chw, | ||
| real(kind_phys), dimension (:,:), intent(inout) | vh, | ||
| real(kind_phys), intent(in) | con_g, | ||
| real(kind_phys), intent(in) | con_rd, | ||
| real(kind_phys), intent(in) | con_cp, | ||
| real(kind_phys), intent(in) | con_rv, | ||
| real(kind_phys), intent(in) | con_t0c, | ||
| real(kind_phys), intent(in) | con_cliq, | ||
| real(kind_phys), intent(in) | con_csol, | ||
| real(kind_phys), intent(in) | con_eps, | ||
| integer, intent(in) | imp_physics, | ||
| integer, intent(in) | imp_physics_nssl, | ||
| real(kind_phys), intent(in) | nssl_cccn, | ||
| real(kind_phys), intent(in) | nssl_alphah, | ||
| real(kind_phys), intent(in) | nssl_alphahl, | ||
| real(kind_phys), intent(in) | nssl_alphar, | ||
| real(kind_phys), intent(in) | nssl_ehw0, | ||
| real(kind_phys), intent(in) | nssl_ehlw0, | ||
| logical, intent(in) | nssl_ccn_on, | ||
| logical, intent(in) | nssl_hail_on, | ||
| logical, intent(in) | nssl_invertccn, | ||
| logical, intent(in) | nssl_3moment | ||
| ) |
This subroutine is a wrapper around the nssl_2mom_init().
Definition at line 30 of file mp_nssl.F90.
References module_mp_nssl_2mom::nssl_2mom_init(), and module_mp_nssl_2mom::nssl_2mom_init_const().
| subroutine, public mp_nssl::mp_nssl_run | ( | integer, intent(in) | ncol, |
| integer, intent(in) | nlev, | ||
| real(kind_phys), intent(in) | con_g, | ||
| real(kind_phys), intent(in) | con_rd, | ||
| integer, intent(in) | mpirank, | ||
| real(kind_phys), dimension(:,:), intent(in) | spechum, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | cccn, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | cccna, | ||
| real(kind_phys), dimension (:,:), intent(in) | qc, | ||
| real(kind_phys), dimension (:,:), intent(in) | qr, | ||
| real(kind_phys), dimension (:,:), intent(in) | qi, | ||
| real(kind_phys), dimension (:,:), intent(in) | qs, | ||
| real(kind_phys), dimension (:,:), intent(in) | qh, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | qhl, | ||
| real(kind_phys), dimension(:,:), intent(in) | ccw, | ||
| real(kind_phys), dimension(:,:), intent(in) | crw, | ||
| real(kind_phys), dimension(:,:), intent(in) | cci, | ||
| real(kind_phys), dimension(:,:), intent(in) | csw, | ||
| real(kind_phys), dimension(:,:), intent(in) | chw, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | chl, | ||
| real(kind_phys), dimension (:,:), intent(in) | vh, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | vhl, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | zrw, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | zhw, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | zhl, | ||
| real(kind_phys), dimension (:,:), intent(in) | tgrs, | ||
| real(kind_phys), dimension(:,:), intent(in) | prslk, | ||
| real(kind_phys), dimension (:,:), intent(in) | prsl, | ||
| real(kind_phys), dimension (:,:), intent(in) | phii, | ||
| real(kind_phys), dimension(:,:), intent(in) | omega, | ||
| real(kind_phys), intent(in) | dtp, | ||
| real(kind_phys), dimension (:), intent(out) | prcp, | ||
| real(kind_phys), dimension (:), intent(out) | rain, | ||
| real(kind_phys), dimension(:), intent(out) | graupel, | ||
| real(kind_phys), dimension (:), intent(out) | ice, | ||
| real(kind_phys), dimension (:), intent(out) | snow, | ||
| real(kind_phys), dimension (:), intent(out) | sr, | ||
| real(kind_phys), dimension(:,:), intent(inout) | refl_10cm, | ||
| logical, intent(in) | do_radar_ref, | ||
| logical, intent(in) | first_time_step, | ||
| logical, intent(in) | restart, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | re_cloud, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | re_ice, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | re_snow, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | re_rain, | ||
| integer, intent(in) | nleffr, | ||
| integer, intent(in) | nieffr, | ||
| integer, intent(in) | nseffr, | ||
| integer, intent(in) | nreffr, | ||
| integer, intent(in) | imp_physics, | ||
| logical, intent(in) | convert_dry_rho, | ||
| integer, intent(in) | imp_physics_nssl, | ||
| logical, intent(in) | nssl_ccn_on, | ||
| logical, intent(in) | nssl_hail_on, | ||
| logical, intent(in) | nssl_invertccn, | ||
| logical, intent(in) | nssl_3moment, | ||
| integer, intent(in) | ntccn, | ||
| integer, intent(in) | ntccna, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_t, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qv, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qc, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qr, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qi, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qs, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_qh, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_qhl, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_cccn, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_ccw, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_crw, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_cci, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_csw, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_chw, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_chl, | ||
| real(kind_phys), dimension(:,:), intent(out) | ten_vh, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_vhl, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_zrw, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_zhw, | ||
| real(kind_phys), dimension(:,:), intent(out), optional | ten_zhl, | ||
| integer, intent(out) | errflg, | ||
| character(len=*), intent(out) | errmsg | ||
| ) |
Definition at line 203 of file mp_nssl.F90.
References module_mp_nssl_2mom::calcnfromq(), and module_mp_nssl_2mom::nssl_2mom_driver().