crt1d.solvers.common ==================== .. py:module:: crt1d.solvers.common .. autoapi-nested-parse:: Common functions used by canopy RT solvers. Functions --------- .. autoapisummary:: crt1d.solvers.common.K_df_fn crt1d.solvers.common.tau_b_fn crt1d.solvers.common.tau_df_fn Module Contents --------------- .. py:function:: K_df_fn(K_b_fn, lai_tot, **kwargs) :math:`K_d` from :math:`K_b(\psi)` and total LAI, using :func:`tau_df_fn`. `**kwargs` passed on to :func:`tau_df_fn`. .. py:function:: tau_b_fn(K_b_fn, psi, lai) Transmittance of direct beam through foliage layers(s) with LAI `lai`. We need to be able to integrate over different zenith angles (to calulate :math:`\tau_d`), so we supply `K_b_fn` instead of ``K_b`` (:math:`K_b`) itself. :param K_b_fn: := ``G_fn(psi)/cos(psi)`` where ``G_fn`` computes :math:`G` for the chosen leaf angle distribution function based on :math:`\psi`. :type K_b_fn: :class:`function` :param psi: Solar zenith angle (radians). :type psi: :class:`float` or :term:`array_like` :param lai: LAI. :type lai: :class:`float` or :term:`array_like` .. py:function:: tau_df_fn(K_b_fn, lai, *, method='quad') Transmittance of diffuse light through foliage layer(s) with LAI `lai`. Weighted hemispherical integral of direct beam transmissivity :math:`\tau_b`. Isotropy assumption implicit. Note that it does not depend on :math:`\psi`. :param lai: LAI, one or multiple values. :type lai: :class:`float` or :term:`array_like` :param method: :type method: ``{'quad', '9sky'}`` .. rubric:: References * Campbell & Norman eq. 15.5 :cite:`campbell_introduction_2012`