CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
mo_rte_solver_kernels Module Reference

Data Types

interface  add_arrays
 

Functions/Subroutines

subroutine lw_solver_noscat_oneangle (ncol, nlay, ngpt, top_at_1, d, weight, tau, lay_source, lev_source_inc, lev_source_dec, sfc_emis, sfc_src, incident_flux, flux_up, flux_dn, do_broadband, broadband_up, broadband_dn, do_jacobians, sfc_srcjac, flux_upjac, do_rescaling, ssa, g)
 LW fluxes, no scattering, mu (cosine of integration angle) specified by column Does radiation calculation at user-supplied angles; converts radiances to flux using user-supplied weights.
 
subroutine, public lw_solver_noscat (ncol, nlay, ngpt, top_at_1, nmus, ds, weights, tau, lay_source, lev_source_inc, lev_source_dec, sfc_emis, sfc_src, inc_flux, flux_up, flux_dn, do_broadband, broadband_up, broadband_dn, do_jacobians, sfc_srcjac, flux_upjac, do_rescaling, ssa, g)
 
subroutine, public lw_solver_2stream (ncol, nlay, ngpt, top_at_1, tau, ssa, g, lay_source, lev_source_inc, lev_source_dec, sfc_emis, sfc_src, inc_flux, flux_up, flux_dn)
 
subroutine, public sw_solver_noscat (ncol, nlay, ngpt, top_at_1, tau, mu0, inc_flux_dir, flux_dir)
 
subroutine, public sw_solver_2stream (ncol, nlay, ngpt, top_at_1, tau, ssa, g, mu0, sfc_alb_dir, sfc_alb_dif, inc_flux_dir, flux_up, flux_dn, flux_dir, has_dif_bc, inc_flux_dif, do_broadband, broadband_up, broadband_dn, broadband_dir)
 Shortwave two-stream calculation: compute layer reflectance, transmittance compute solar source function for diffuse radiation transport.
 
subroutine lw_source_noscat (lay_source, lev_source_up, lev_source_dn, tau, trans, source_dn, source_up)
 
subroutine lw_transport_noscat_dn (ncol, nlay, ngpt, top_at_1, trans, source_dn, radn_dn)
 
subroutine lw_transport_noscat_up (ncol, nlay, ngpt, top_at_1, trans, source_up, radn_up, do_jacobians, radn_upjac)
 
subroutine lw_two_stream (ncol, nlay, ngpt, tau, w0, g, gamma1, gamma2, rdif, tdif)
 
subroutine lw_combine_sources (ncol, nlay, ngpt, top_at_1, lev_src_inc, lev_src_dec, lev_source)
 
subroutine lw_source_2str (ncol, nlay, ngpt, top_at_1, sfc_emis, sfc_src, lay_source, lev_source, gamma1, gamma2, rdif, tdif, tau, source_dn, source_up, source_sfc)
 
subroutine sw_dif_and_source (ncol, nlay, ngpt, top_at_1, mu0, sfc_albedo, tau, w0, g, rdif, tdif, source_dn, source_up, source_sfc, flux_dn_dir)
 
subroutine adding (ncol, nlay, ngpt, top_at_1, albedo_sfc, rdif, tdif, src_dn, src_up, src_sfc, flux_up, flux_dn)
 
subroutine lw_transport_1rescl (ncol, nlay, ngpt, top_at_1, trans, source_dn, source_up, radn_up, radn_dn, an, cn, do_jacobians, radn_up_jac)
 
subroutine sum_broadband_factor (ncol, nlev, ngpt, factor, spectral_flux, broadband_flux)
 
subroutine apply_factor_3d (ncol, nlev, ngpt, factor, array)
 
subroutine add_arrays_3d (ncol, nlev, ngpt, increment, array)
 
subroutine add_arrays_2d (ncol, nlev, increment, array)
 
subroutine, public lw_solver_noscat (ncol, nlay, ngpt, top_at_1, nmus, ds, weights, tau, lay_source, lev_source_inc, lev_source_dec, sfc_emis, sfc_src, inc_flux, flux_up, flux_dn, do_broadband, broadband_up, broadband_dn, do_jacobians, sfc_srcjac, flux_upjac, do_rescaling, ssa, g)
 LW transport, no scattering, multi-angle quadrature Users provide a set of weights and quadrature angles Routine sums over single-angle solutions for each sets of angles/weights.
 
subroutine, public lw_solver_2stream (ncol, nlay, ngpt, top_at_1, tau, ssa, g, lay_source, lev_source_inc, lev_source_dec, sfc_emis, sfc_src, inc_flux, flux_up, flux_dn)
 Longwave two-stream calculation:
 
subroutine lw_source_noscat (ncol, nlay, lay_source, lev_source_up, lev_source_dn, tau, trans, source_dn, source_up)
 
subroutine lw_transport_noscat_dn (ncol, nlay, top_at_1, trans, source_dn, radn_dn)
 
subroutine lw_transport_noscat_up (ncol, nlay, top_at_1, trans, source_up, radn_up, do_jacobians, radn_upjac)
 
subroutine lw_transport_1rescl (ncol, nlay, top_at_1, trans, source_dn, source_up, radn_up, radn_dn, an, cn, do_jacobians, radn_up_jac)
 
pure subroutine lw_two_stream (ncol, nlay, tau, w0, g, gamma1, gamma2, rdif, tdif)
 
subroutine lw_combine_sources (ncol, nlay, top_at_1, lev_src_inc, lev_src_dec, lev_source)
 
subroutine lw_source_2str (ncol, nlay, top_at_1, sfc_emis, sfc_src, lay_source, lev_source, gamma1, gamma2, rdif, tdif, tau, source_dn, source_up, source_sfc)
 
pure subroutine sw_dif_and_source (ncol, nlay, top_at_1, mu0, sfc_albedo, tau, w0, g, rdif, tdif, source_dn, source_up, source_sfc, flux_dn_dir)
 
subroutine adding (ncol, nlay, top_at_1, albedo_sfc, rdif, tdif, src_dn, src_up, src_sfc, flux_up, flux_dn)
 

Variables

real(wp), parameter pi = acos(-1._wp)
 

Detailed Description

Numeric calculations for radiative transfer solvers

  • Emission/absorption (no-scattering) calculations
  • solver for multi-angle Gaussian quadrature
  • solver for a single angle, calling
    • source function computation (linear-in-tau)
    • transport
  • Extinction-only calculation (direct solar beam)
  • Two-stream calculations: solvers for LW and SW with different boundary conditions and source functions
    • source function calculation for LW, SW
    • two-stream calculations for LW, SW (using different assumtions about phase function)
    • transport (adding)
  • Application of boundary conditions