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. More...
Functions/Subroutines | |
| subroutine, public | module_mp_nssl_2mom::nssl_2mom_init_const (con_g, con_rd, con_cp, con_rv, con_t0c, con_cliq, con_csol, con_eps) |
| NSSL MP subroutine to initialize physical constants provided by host model. | |
| subroutine, public | module_mp_nssl_2mom::nssl_2mom_init (ims, ime, jms, jme, kms, kme, nssl_params, ipctmp, mixphase, ihvol, idoniconlytmp, namelist_filename, internal_nml, nssl_graupelfallfac, nssl_hailfallfac, nssl_ehw0, nssl_ehlw0, nssl_icdx, nssl_icdxhl, nssl_icefallfac, nssl_snowfallfac, nssl_cccn, nssl_ufccn, nssl_alphah, nssl_alphahl, nssl_alphar, nssl_density_on, nssl_hail_on, nssl_ccn_on, nssl_icecrystals_on, ccn_is_ccna, nssl_ccn_opt, errmsg, errflg, infileunit, myrank, mpiroot) |
| NSSL MP setup routine (sets local options and array indices) | |
| subroutine, public | module_mp_nssl_2mom::nssl_2mom_driver (qv, qc, qr, qi, qs, qh, qhl, ccw, crw, cci, csw, chw, chl, cn, vhw, vhl, cna, cni, f_cn, f_cna, f_cina, f_qc, f_qr, f_qi, f_qs, f_qh, f_qhl, cn_nu, cn_co, cinp, f_cnnu, f_cnco, f_cinp, cna_co, cna_nu, f_cnaco, f_cnanu, cnuf, f_cnuf, cn_ac, f_cnac, zrw, zhw, zhl, f_zrw, f_zhw, f_zhl, f_vhw, f_vhl, qsw, qhw, qhlw, tt, th, pii, p, w, dn, dz, dtp, itimestep, is_theta_or_temp, ntmul, ntcnt, lastloop, rainnc, rainncv, dx, dy, axtra, snownc, snowncv, grplnc, grplncv, sr, hailnc, hailncv, hail_maxk1, hail_max2d, nwp_diagnostics, tkediss, re_cloud, re_ice, re_snow, re_rain, re_graup, re_hail, has_reqc, has_reqi, has_reqs, has_reqr, has_reqg, has_reqh, rainncw2, rainnci2, dbz, vzf, compdbz, rscghis_2d, rscghis_2dp, rscghis_2dn, scr, scw, sci, scs, sch, schl, sctot, elec_physics, induc, elecz, scion, sciona, f_scion, f_sciona, noninduc, noninducp, noninducn, ssat3d, ssati, nssl_ssat_output, pcc2, pre2, depsubr, mnucf2, melr2, ctr2, rim1_2, rim2_2, rim3_2, nctr2, nnuccd2, nnucf2, effc2, effr2, effi2, effs2, effg2, fc2, fr2, fi2, fs2, fg2, fnc2, fnr2, fni2, fns2, fng2, ipelectmp, isedonly_in, diagflag, ke_diag, errmsg, errflg, nssl_progn, wetscav_on, rainprod, evapprod, cu_used, qrcuten, qscuten, qicuten, qccuten, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte) |
| Driver subroutine that copies state data to local 2D arrays for microphysics calls. | |
| subroutine, public | module_mp_nssl_2mom::calcnfromq (nx, ny, nz, an, na, nor, norz, dn, qcw, qci, qsw, qrw, qhw, qhl, ccw, cci, csw, crw, chw, chl, cccn, cccna, vhw, vhl, qv, spechum, invertccn_flag, cwmasin) |
| Subroutine to calculate number concentrations from initial state that has only mixing ratio. | |
| subroutine, public | module_mp_nssl_2mom::calc_eff_radius (nx, ny, nz, na, jyslab, nor, norz, t1, t2, t3, t4, t5, t6, f_t4, f_t5, f_t6, qcw, qci, qsw, qrw, ccw, cci, csw, crw, an, dn) |
| Subroutine to calculate effective radii for use by radiation routines. | |
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.
Added info on graupel density and soaking is in Mansell and Ziegler (2013, JAS)
Average graupel and hail particle densities are predicted, which affects fall speed as well.
Maintainer: Ted Mansell, National Severe Storms Laboratory ted.m.nosp@m.anse.nosp@m.ll@no.nosp@m.aa.g.nosp@m.ov
Microphysics References:
Mansell, E. R., C. L. Ziegler, and E. C. Bruning, 2010: Simulated electrification of a small thunderstorm with two-moment bulk microphysics. J. Atmos. Sci., 67, 171-194, doi:10. 1175/2009JAS2965.1.
Mansell, E. R. and C. L. Ziegler, 2013: Aerosol effects on simulated storm electrification and precipitation in a two-moment bulk microphysics model. J. Atmos. Sci., 70 (7), 2032-2050, doi:10.1175/JAS-D-12-0264.1.
Ziegler, C. L., 1985: Retrieval of thermal and microphysical variables in observed convective storms. Part I: Model development and preliminary testing. J. Atmos. Sci., 42, 1487-1509.
Sedimentation reference:
Mansell, E. R., 2010: On sedimentation and advection in multimoment bulk microphysics. J. Atmos. Sci., 67, 3084-3094, doi:10.1175/2010JAS3341.1.
| subroutine, public module_mp_nssl_2mom::calc_eff_radius | ( | integer | nx, |
| integer | ny, | ||
| integer | nz, | ||
| integer | na, | ||
| integer | jyslab, | ||
| integer | nor, | ||
| integer | norz, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t1, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t2, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t3, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t4, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t5, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz), optional | t6, | ||
| logical, optional | f_t4, | ||
| logical, optional | f_t5, | ||
| logical, optional | f_t6, | ||
| real, dimension(nx,nz), optional | qcw, | ||
| real, dimension(nx,nz), optional | qci, | ||
| real, dimension(nx,nz), optional | qsw, | ||
| real, dimension(nx,nz), optional | qrw, | ||
| real, dimension(nx,nz), optional | ccw, | ||
| real, dimension(nx,nz), optional | cci, | ||
| real, dimension(nx,nz), optional | csw, | ||
| real, dimension(nx,nz), optional | crw, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz,na), optional | an, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz) | dn | ||
| ) |
Subroutine to calculate effective radii for use by radiation routines.
Definition at line 5866 of file module_mp_nssl_2mom.F90.
Referenced by module_mp_nssl_2mom::nssl_2mom_driver().
| subroutine, public module_mp_nssl_2mom::calcnfromq | ( | integer | nx, |
| integer | ny, | ||
| integer | nz, | ||
| real, dimension(-nor+1:nx+nor,-nor+1:ny+nor,-norz+1:nz+norz,na) | an, | ||
| integer | na, | ||
| integer | nor, | ||
| integer | norz, | ||
| real, dimension(nx,nz+1) | dn, | ||
| real, dimension(nx,nz), intent(inout), optional | qcw, | ||
| real, dimension(nx,nz), intent(inout), optional | qci, | ||
| real, dimension(nx,nz), intent(inout), optional | qsw, | ||
| real, dimension(nx,nz), intent(inout), optional | qrw, | ||
| real, dimension(nx,nz), intent(inout), optional | qhw, | ||
| real, dimension(nx,nz), intent(inout), optional | qhl, | ||
| real, dimension(nx,nz), intent(inout), optional | ccw, | ||
| real, dimension(nx,nz), intent(inout), optional | cci, | ||
| real, dimension(nx,nz), intent(inout), optional | csw, | ||
| real, dimension(nx,nz), intent(inout), optional | crw, | ||
| real, dimension(nx,nz), intent(inout), optional | chw, | ||
| real, dimension(nx,nz), intent(inout), optional | chl, | ||
| real, dimension(nx,nz), intent(inout), optional | cccn, | ||
| real, dimension(nx,nz), intent(inout), optional | cccna, | ||
| real, dimension(nx,nz), intent(inout), optional | vhw, | ||
| real, dimension(nx,nz), intent(inout), optional | vhl, | ||
| real, dimension(nx,nz), intent(inout), optional | qv, | ||
| real, dimension(nx,nz), intent(inout), optional | spechum, | ||
| logical, intent(in), optional | invertccn_flag, | ||
| real, optional | cwmasin | ||
| ) |
Subroutine to calculate number concentrations from initial state that has only mixing ratio.
Definition at line 5293 of file module_mp_nssl_2mom.F90.
Referenced by mp_nssl::mp_nssl_run(), and module_mp_nssl_2mom::nssl_2mom_driver().
| subroutine, public module_mp_nssl_2mom::nssl_2mom_driver | ( | real, dimension(ims:ime, kms:kme, jms:jme), intent(inout) | qv, |
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout) | qc, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout) | qr, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | qi, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout) | qs, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout) | qh, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | qhl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | ccw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | crw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cci, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | csw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | chw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | chl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cn, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | vhw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | vhl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cna, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cni, | ||
| logical, intent(in), optional | f_cn, | ||
| logical, intent(in), optional | f_cna, | ||
| logical, intent(in), optional | f_cina, | ||
| logical, intent(in), optional | f_qc, | ||
| logical, intent(in), optional | f_qr, | ||
| logical, intent(in), optional | f_qi, | ||
| logical, intent(in), optional | f_qs, | ||
| logical, intent(in), optional | f_qh, | ||
| logical, intent(in), optional | f_qhl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cn_nu, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cn_co, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cinp, | ||
| logical, intent(in), optional | f_cnnu, | ||
| logical, intent(in), optional | f_cnco, | ||
| logical, intent(in), optional | f_cinp, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cna_co, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cna_nu, | ||
| logical, intent(in), optional | f_cnaco, | ||
| logical, intent(in), optional | f_cnanu, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cnuf, | ||
| logical, intent(in), optional | f_cnuf, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | cn_ac, | ||
| logical, intent(in), optional | f_cnac, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | zrw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | zhw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | zhl, | ||
| logical, intent(in), optional | f_zrw, | ||
| logical, intent(in), optional | f_zhw, | ||
| logical, intent(in), optional | f_zhl, | ||
| logical, intent(in), optional | f_vhw, | ||
| logical, intent(in), optional | f_vhl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | qsw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | qhw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | qhlw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | tt, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | th, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in) | pii, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in) | p, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in) | w, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in) | dn, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in) | dz, | ||
| real, intent(in) | dtp, | ||
| integer, intent(in) | itimestep, | ||
| integer, intent(in), optional | is_theta_or_temp, | ||
| integer, intent(in), optional | ntmul, | ||
| integer, intent(in), optional | ntcnt, | ||
| logical, intent(in), optional | lastloop, | ||
| real, dimension(ims:ime, jms:jme) | rainnc, | ||
| real, dimension(ims:ime, jms:jme) | rainncv, | ||
| real, intent(in), optional | dx, | ||
| real, intent(in), optional | dy, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | axtra, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | snownc, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | snowncv, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | grplnc, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | grplncv, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | sr, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | hailnc, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | hailncv, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | hail_maxk1, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | hail_max2d, | ||
| integer, intent(in), optional | nwp_diagnostics, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | tkediss, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_cloud, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_ice, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_snow, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_rain, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_graup, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | re_hail, | ||
| integer, intent(in), optional | has_reqc, | ||
| integer, intent(in), optional | has_reqi, | ||
| integer, intent(in), optional | has_reqs, | ||
| integer, intent(in), optional | has_reqr, | ||
| integer, intent(in), optional | has_reqg, | ||
| integer, intent(in), optional | has_reqh, | ||
| real, dimension(ims:ime, jms:jme), intent(out), optional | rainncw2, | ||
| real, dimension(ims:ime, jms:jme), intent(out), optional | rainnci2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | dbz, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | vzf, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | compdbz, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | rscghis_2d, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | rscghis_2dp, | ||
| real, dimension(ims:ime, jms:jme), intent(inout), optional | rscghis_2dn, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | scr, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | scw, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | sci, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | scs, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | sch, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | schl, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | sctot, | ||
| integer, intent(in), optional | elec_physics, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | induc, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | elecz, | ||
| real, dimension(ims:ime, kms:kme, jms:jme, 2), intent(inout), optional | scion, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | sciona, | ||
| logical, intent(in), optional | f_scion, | ||
| logical, intent(in), optional | f_sciona, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | noninduc, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | noninducp, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | noninducn, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | ssat3d, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | ssati, | ||
| integer, intent(in), optional | nssl_ssat_output, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | pcc2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | pre2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | depsubr, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | mnucf2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | melr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | ctr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | rim1_2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | rim2_2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | rim3_2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | nctr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | nnuccd2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | nnucf2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | effc2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | effr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | effi2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | effs2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | effg2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fc2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fi2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fs2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fg2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fnc2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fnr2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fni2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fns2, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | fng2, | ||
| integer, intent(in), optional | ipelectmp, | ||
| integer, intent(in), optional | isedonly_in, | ||
| logical, intent(in), optional | diagflag, | ||
| integer, intent(in), optional | ke_diag, | ||
| character(len=*), intent(out) | errmsg, | ||
| integer, intent(out) | errflg, | ||
| logical, intent(in), optional | nssl_progn, | ||
| logical, intent(in), optional | wetscav_on, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | rainprod, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(inout), optional | evapprod, | ||
| integer, intent(in), optional | cu_used, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | qrcuten, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | qscuten, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | qicuten, | ||
| real, dimension(ims:ime, kms:kme, jms:jme), intent(in), optional | qccuten, | ||
| integer, intent(in) | ids, | ||
| integer, intent(in) | ide, | ||
| integer, intent(in) | jds, | ||
| integer, intent(in) | jde, | ||
| integer, intent(in) | kds, | ||
| integer, intent(in) | kde, | ||
| integer, intent(in) | ims, | ||
| integer, intent(in) | ime, | ||
| integer, intent(in) | jms, | ||
| integer, intent(in) | jme, | ||
| integer, intent(in) | kms, | ||
| integer, intent(in) | kme, | ||
| integer, intent(in) | its, | ||
| integer, intent(in) | ite, | ||
| integer, intent(in) | jts, | ||
| integer, intent(in) | jte, | ||
| integer, intent(in) | kts, | ||
| integer, intent(in) | kte | ||
| ) |
Driver subroutine that copies state data to local 2D arrays for microphysics calls.
Definition at line 2402 of file module_mp_nssl_2mom.F90.
References module_mp_nssl_2mom::calc_eff_radius(), and module_mp_nssl_2mom::calcnfromq().
Referenced by mp_nssl::mp_nssl_run().
| subroutine, public module_mp_nssl_2mom::nssl_2mom_init | ( | integer, intent(in), optional | ims, |
| integer, intent(in), optional | ime, | ||
| integer, intent(in), optional | jms, | ||
| integer, intent(in), optional | jme, | ||
| integer, intent(in), optional | kms, | ||
| integer, intent(in), optional | kme, | ||
| real, dimension(20), intent(in), optional | nssl_params, | ||
| integer, intent(in) | ipctmp, | ||
| integer, intent(in) | mixphase, | ||
| integer, intent(in), optional | ihvol, | ||
| logical, intent(in), optional | idoniconlytmp, | ||
| character(len=strsize), intent(in), optional | namelist_filename, | ||
| character(len=*), dimension(:), intent(in), optional | internal_nml, | ||
| real, intent(in), optional | nssl_graupelfallfac, | ||
| real, intent(in), optional | nssl_hailfallfac, | ||
| real, intent(in), optional | nssl_ehw0, | ||
| real, intent(in), optional | nssl_ehlw0, | ||
| integer, intent(in), optional | nssl_icdx, | ||
| integer, intent(in), optional | nssl_icdxhl, | ||
| real, intent(in), optional | nssl_icefallfac, | ||
| real, intent(in), optional | nssl_snowfallfac, | ||
| real, intent(in), optional | nssl_cccn, | ||
| integer, intent(in), optional | nssl_ufccn, | ||
| real, intent(in), optional | nssl_alphah, | ||
| real, intent(in), optional | nssl_alphahl, | ||
| real, intent(in), optional | nssl_alphar, | ||
| logical, intent(in), optional | nssl_density_on, | ||
| logical, intent(in), optional | nssl_hail_on, | ||
| logical, intent(in), optional | nssl_ccn_on, | ||
| logical, intent(in), optional | nssl_icecrystals_on, | ||
| integer, intent(inout), optional | ccn_is_ccna, | ||
| integer, intent(in), optional | nssl_ccn_opt, | ||
| character(len=*), intent(out) | errmsg, | ||
| integer, intent(out) | errflg, | ||
| integer, intent(in), optional | infileunit, | ||
| integer, intent(in), optional | myrank, | ||
| integer, intent(in), optional | mpiroot | ||
| ) |
NSSL MP setup routine (sets local options and array indices)
Definition at line 1276 of file module_mp_nssl_2mom.F90.
Referenced by mp_nssl::mp_nssl_init().
| subroutine, public module_mp_nssl_2mom::nssl_2mom_init_const | ( | real, intent(in) | con_g, |
| real, intent(in) | con_rd, | ||
| real, intent(in) | con_cp, | ||
| real, intent(in) | con_rv, | ||
| real, intent(in) | con_t0c, | ||
| real, intent(in) | con_cliq, | ||
| real, intent(in) | con_csol, | ||
| real, intent(in) | con_eps | ||
| ) |
NSSL MP subroutine to initialize physical constants provided by host model.
Definition at line 1245 of file module_mp_nssl_2mom.F90.
Referenced by mp_nssl::mp_nssl_init().