{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%%capture storage\n", "# The above redirects all output of the below commands to the variable 'storage' instead of displaying it.\n", "# It can be viewed by typing: 'storage()'\n", "# Setting up worksheet and importing equations from other worksheets\n", "load('temp/Worksheet_setup.sage')\n", "load_session('temp/leaf_enbalance_eqs.sobj')\n", "fun_loadvars(dict_vars) # any variables defined using var2() are saved with their attributes in dict_vars. Here we re-define them based on dict_vars from the other worksheet." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Equations to compute stomatal conductance based on sizes and densities of stomata\n", "Equation numbers in comments refer to Lehmann & Or, 2013" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
It actually does not seem to make much sense to add r_end to the resistances, as it does not reflect the geometry of the inter-cellular air space! Also eq_rvs_B is the correct one to use for stomata, as eq_rvs_S is valid for droplets, not holes!
" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "n_p == s_p^(-2)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter^(-2) == meter^(-2)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "assume(s_p>0)\n", "eq_np_sp = solve(eq_sp_np, n_p)[0]\n", "units_check(eq_np_sp)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "r_bwmol == B_l/k_dv" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter^2*second/mole == meter^2*second/mole" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Eq. 5\n", "eq_rbwmol = r_bwmol == B_l/k_dv\n", "units_check(eq_rbwmol)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'Ratio $D_{va}/V_m$'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "docdict[k_dv]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below, we compare our system of equations to Eq. 7a in Lehmann & Or (2015), i.e. we check if $\\frac{r_{bwmol}}{r_{tot}} = 1/(1 + s_p^2/B_l*(1/(2*r_p) + d_p/(\\pi*r_p^2)))$:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "2*pi*B_l*r_p^2/(2*pi*B_l*r_p^2 + (pi*r_p + 2*d_p)*s_p^2)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "2/(s_p^2*(1/r_p + 2*d_p/(pi*r_p^2))/B_l + 2)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verification of Eq. 7a\n", "eq1 = (r_bwmol/(2*r_end + r_sp + r_bwmol)).subs(eq_rend_rp, eq_rsp_rp, eq_rvs_B, eq_rbwmol).subs(eq_np_sp)\n", "eq1.simplify_full().show()\n", "eq7a = 1/(1 + s_p^2/B_l*(1/(2*r_p) + d_p/(pi*r_p^2)))\n", "eq7a.show()\n", "(eq1 - eq7a).simplify_full()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional equations for calculating conductances of laser perforated foils" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "A_p == pi*r_p^2" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter^2 == meter^2" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Pore area for circular pores\n", "eq_Ap = A_p == pi*r_p^2\n", "units_check(eq_Ap)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "r_p == sqrt(A_p/pi)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter == sqrt(A_p*meter^2/pi)/sqrt(A_p/pi)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# To deduce pore radius from pore area, assuming circular pore:\n", "eq_rp_Ap = solve(eq_Ap_rp, r_p)[0]\n", "units_check(eq_rp_Ap)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# For regular pore distribution we can derive the pore density from porosity and pore area\n", "eq_np = n_p == F_p/A_p" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g_sw == -(P_wa - P_wl)*R_mol*T_a*T_l*g_swmol/(P_a*P_wl*T_a - P_a*P_wa*T_l)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter/second == meter/second" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Conversion from mol/m2/s to m/s, i.e. from g_swmol to g_sw\n", "eq_gsw_gswmol = solve(eq_gtwmol_gtw(g_tw = g_sw, g_twmol = g_swmol), g_sw)[0]\n", "units_check(eq_gsw_gswmol)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g_sw == R_mol*T_a*g_swmol/P_a" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "meter/second == meter/second" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Simplification, neglecting effect of leaf-air temperature difference\n", "eq_gsw_gswmol_iso = eq_gsw_gswmol(T_l = T_a).simplify_full()\n", "units_check(eq_gsw_gswmol_iso)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Saving session so that it can be loaded using load_session().\n", "save_session('temp/stomatal_cond_eqs.sobj')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Variable | \n", "Description (value) | \n", "Units | \n", "
---|---|---|
\n", " | Cross-sectional pore area | \n", "m | \n", "
\n", " | Fraction of one-sided leaf area covered by stomata (1 if stomata are on one side only, 2 if they are on both sides) | \n", "1 | \n", "
\n", " | Fraction of projected area exchanging sensible heat with the air (2) | \n", "1 | \n", "
\n", " | Thermal diffusivity of dry air | \n", "m s | \n", "
\n", " | Boundary layer thickness | \n", "m | \n", "
\n", " | Specific heat of dry air (1010) | \n", "J K kg | \n", "
\n", " | Concentration of water in the free air | \n", "mol m | \n", "
\n", " | Concentration of water in the leaf air space | \n", "mol m | \n", "
\n", " | Pore depth | \n", "m | \n", "
\n", " | Binary diffusion coefficient of water vapour in air | \n", "m s | \n", "
\n", " | Latent heat flux from leaf | \n", "J m s | \n", "
\n", " | Transpiration rate in molar units | \n", "mol m s | \n", "
\n", " | Longwave emmissivity of the leaf surface (1.0) | \n", "1 | \n", "
\n", " | Fractional pore area (pore area per unit leaf area) | \n", "1 | \n", "
\n", " | Gravitational acceleration (9.81) | \n", "m s | \n", "
\n", " | Boundary layer conductance to water vapour | \n", "m s | \n", "
\n", " | Boundary layer conductance to water vapour | \n", "mol m s | \n", "
\n", " | Diffusive conductance of a stomatal pore | \n", "mol m s | \n", "
\n", " | Stomatal conductance to water vapour | \n", "m s | \n", "
\n", " | Stomatal conductance to water vapour | \n", "mol m s | \n", "
\n", " | Total leaf conductance to water vapour | \n", "m s | \n", "
\n", " | Total leaf layer conductance to water vapour | \n", "mol m s | \n", "
\n", " | Average 1-sided convective transfer coefficient | \n", "J K m s | \n", "
\n", " | Sensible heat flux from leaf | \n", "J m s | \n", "
\n", " | Thermal conductivity of dry air | \n", "J K m s | \n", "
\n", " | Ratio | \n", "mol m s | \n", "
\n", " | Characteristic length scale for convection (size of leaf) | \n", "m | \n", "
\n", " | Pore length | \n", "m | \n", "
\n", " | Latent heat of evaporation (2.45e6) | \n", "J kg | \n", "
\n", " | Molar mass of nitrogen (0.028) | \n", "kg mol | \n", "
\n", " | Molar mass of oxygen (0.032) | \n", "kg mol | \n", "
\n", " | Molar mass of water (0.018) | \n", "kg mol | \n", "
\n", " | Grashof number | \n", "1 | \n", "
\n", " | Lewis number | \n", "1 | \n", "
\n", " | Nusselt number | \n", "1 | \n", "
\n", " | Pore density | \n", "m | \n", "
\n", " | Critical Reynolds number for the onset of turbulence | \n", "1 | \n", "
\n", " | Reynolds number | \n", "1 | \n", "
\n", " | Sherwood number | \n", "1 | \n", "
\n", " | Kinematic viscosity of dry air | \n", "m s | \n", "
\n", " | Air pressure | \n", "Pa | \n", "
\n", " | Partial pressure of nitrogen in the atmosphere | \n", "Pa | \n", "
\n", " | Partial pressure of oxygen in the atmosphere | \n", "Pa | \n", "
\n", " | Vapour pressure in the atmosphere | \n", "Pa | \n", "
\n", " | Saturation vapour pressure at air temperature | \n", "Pa | \n", "
\n", " | Vapour pressure inside the leaf | \n", "Pa | \n", "
\n", " | Prandtl number (0.71) | \n", "1 | \n", "
\n", " | Boundary layer resistance to water vapour, inverse of | \n", "s m | \n", "
\n", " | Leaf BL resistance in molar units | \n", "s m mol | \n", "
\n", " | End correction, representing resistance between evaporating sites and pores | \n", "s m mol | \n", "
\n", " | Longwave radiation away from leaf | \n", "J m s | \n", "
\n", " | Molar gas constant (8.314472) | \n", "J K mol | \n", "
\n", " | Pore radius (for ellipsoidal pores, half the pore width) | \n", "m | \n", "
\n", " | Solar shortwave flux | \n", "J m s | \n", "
\n", " | Diffusive resistance of a stomatal pore | \n", "s m mol | \n", "
\n", " | Stomatal resistance to water vapour, inverse of | \n", "s m | \n", "
\n", " | Total leaf resistance to water vapour, | \n", "s m | \n", "
\n", " | Diffusive resistance of a stomatal vapour shell | \n", "s m mol | \n", "
\n", " | Density of dry air | \n", "kg m | \n", "
\n", " | Density of air at the leaf surface | \n", "kg m | \n", "
\n", " | Spacing between stomata | \n", "m | \n", "
\n", " | Stefan-Boltzmann constant (5.67e-8) | \n", "J K m s | \n", "
\n", " | Air temperature | \n", "K | \n", "
\n", " | Leaf temperature | \n", "K | \n", "
\n", " | Radiative temperature of objects surrounding the leaf | \n", "K | \n", "
\n", " | Molar volume of air | \n", "m mol | \n", "
\n", " | Wind velocity | \n", "m s | \n", "