From 0abc448ceecaa209e6d55bdedd7c21d3319a8d5d Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 8 Jun 2023 10:17:19 -0700 Subject: [PATCH 01/52] creating p3 scheme documentation --- docs/make.jl | 1 + docs/src/P3Scheme.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 docs/src/P3Scheme.md diff --git a/docs/make.jl b/docs/make.jl index 9c044265a0..1b637ec20f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -11,6 +11,7 @@ pages = Any[ "0-moment precipitation microphysics" => "Microphysics0M.md", "1-moment precipitation microphysics" => "Microphysics1M.md", "2-moment precipitation microphysics" => "Microphysics2M.md", + "P3 Scheme" => "P3Scheme.md", "Non-equilibrium cloud formation" => "MicrophysicsNonEq.md", "Smooth transition at thresholds" => "ThresholdsTransition.md", "Aerosol activation" => "AerosolActivation.md", diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md new file mode 100644 index 0000000000..5011b7756e --- /dev/null +++ b/docs/src/P3Scheme.md @@ -0,0 +1 @@ +TO DO: This is where P3 documentation will be. \ No newline at end of file From b7886f8586471bb7b1f87ed5a7e5bf5fb8a0185d Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Fri, 9 Jun 2023 13:07:56 -0700 Subject: [PATCH 02/52] another commit with very slight updates to p3.md (mainly practicing github) --- docs/src/P3Scheme.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 5011b7756e..cd3c11e721 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -1 +1,17 @@ -TO DO: This is where P3 documentation will be. \ No newline at end of file +# P3 Scheme +TO DO: This is where P3 documentation will be. + +overview, mention Microphysics2M, mention PSD is gamma function? + +## m-D relationships + +### small + +### large unrimed + +### partially rimed + +### graupel + +## Ice specific humidity +- (integral from 0 -> inf of m(D)*PSD dD) \ No newline at end of file From f639a5fe4f7ecd6a7aa3a209b7ea05e74d7fd7c8 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Fri, 9 Jun 2023 13:46:26 -0700 Subject: [PATCH 03/52] more github practice and more in P3scheme.md --- docs/src/P3Scheme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index cd3c11e721..8823474233 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -3,6 +3,13 @@ TO DO: This is where P3 documentation will be. overview, mention Microphysics2M, mention PSD is gamma function? +The `P3Scheme.jl` module implements the predicted particle properties + (P3) scheme developed by [cite articles] for ice-phase microphysics. + The P3 scheme is a 2-moment, bulk scheme involving a + single ice-phase category with 4 degrees of freedom. + +Traditionally, cloud ice microphysics models use various predefined categories to represent ice modes. + ## m-D relationships ### small From 249a41913013d2cfe2d173b18b319c913a10f75f Mon Sep 17 00:00:00 2001 From: Anna Jaruga Date: Mon, 12 Jun 2023 14:14:36 -0700 Subject: [PATCH 04/52] try to fix --- docs/src/P3Scheme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 8823474233..9eb644df99 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -5,10 +5,10 @@ overview, mention Microphysics2M, mention PSD is gamma function? The `P3Scheme.jl` module implements the predicted particle properties (P3) scheme developed by [cite articles] for ice-phase microphysics. - The P3 scheme is a 2-moment, bulk scheme involving a + The P3 scheme is a 2-moment, bulk scheme involving a single ice-phase category with 4 degrees of freedom. -Traditionally, cloud ice microphysics models use various predefined categories to represent ice modes. +Traditionally, cloud ice microphysics models use various predefined categories to represent ice modes. ## m-D relationships @@ -21,4 +21,4 @@ Traditionally, cloud ice microphysics models use various predefined categories t ### graupel ## Ice specific humidity -- (integral from 0 -> inf of m(D)*PSD dD) \ No newline at end of file +- (integral from 0 -> inf of m(D) times PSD dD) From 72a4b75fc39d45a601d8e0970a70a46f098f83f6 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 13 Jun 2023 12:51:38 -0700 Subject: [PATCH 05/52] hoping these changes don't mess anything up --- docs/src/P3Scheme.md | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 9eb644df99..f66eb7174e 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -1,24 +1,42 @@ # P3 Scheme TO DO: This is where P3 documentation will be. -overview, mention Microphysics2M, mention PSD is gamma function? - The `P3Scheme.jl` module implements the predicted particle properties - (P3) scheme developed by [cite articles] for ice-phase microphysics. - The P3 scheme is a 2-moment, bulk scheme involving a - single ice-phase category with 4 degrees of freedom. + (P3) scheme for ice-phase microphysics developed by [cite articles]. + +The P3 scheme is a 2-moment, bulk scheme involving a + single ice-phase category with 4 degrees of freedom: total mass, + rime mass, rime volume, and number mixing ratios. + +Traditionally, cloud ice microphysics models use various predefined + categories to represent ice modes, but the P3 scheme sidesteps the + problem of prescribing transitions between ice categories by adopting + a single ice category. This simplification might + aid in attempts to constrain scheme parameters. + +## Assumed particle size distribution (PSD) + +Following [Morrison and Milbrandt 2015], the scheme assumes a + gamma distribution for the concentration of particles per unit volume: + +```math +N'(D) = N_{0} D^\mu \, e^{-\lambda \, D} +``` -Traditionally, cloud ice microphysics models use various predefined categories to represent ice modes. +where: + - ``N'`` is the number concentration, + - ``D`` is the maximum particle dimension (m), + - ``N_0`` is the intercept parameter, + - ``\mu \`` is the shape parameter, + - ``\lamda \`` is the slope parameter. -## m-D relationships +and ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. -### small +## Assumed particle mass relationships (m(D)) -### large unrimed +The mass (m) of particles as a function of maximum particle dimension (D) -### partially rimed -### graupel ## Ice specific humidity - (integral from 0 -> inf of m(D) times PSD dD) From e859c2e7afbd921660f5d453c7105533bab62f4b Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Wed, 14 Jun 2023 11:02:01 -0700 Subject: [PATCH 06/52] testing rendering of markdown table --- docs/src/P3Scheme.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index f66eb7174e..726a15e603 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -27,16 +27,25 @@ where: - ``N'`` is the number concentration, - ``D`` is the maximum particle dimension (m), - ``N_0`` is the intercept parameter, - - ``\mu \`` is the shape parameter, - - ``\lamda \`` is the slope parameter. + - ``\mu `` is the shape parameter, + - ``\lamda `` is the slope parameter. and ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. -## Assumed particle mass relationships (m(D)) +## Assumed particle mass relationships The mass (m) of particles as a function of maximum particle dimension (D) + is a piecewise function with variable breakpoints described + by the following table. +| particle properties | conditions | m(D) relation | +|---------------------|-----------------------|-----------------------| +|small, spherical ice | ``D < D_th`` | ``\frac{\pi}{6} \rho_i \ D^3`` | +|large, unrimed ice | ``q_i > 0``, ``q_rim = 0``, and ``D > D_th`` | ``\alpha_va \ D^{\beta_va}`` | +|dense nonspherical ice | ``q_rim > 0`` and ``D_th < D < D_gr`` | ^ | +|partially rimed ice | ``q_rim > 0`` and ``D < D_cr`` | ``\frac{\alpha_va}{1-F_r} D^{\beta_va}`` | +|graupel | ``q_rim > 0`` and ``D < D_cr`` | ``\frac{\pi}{6} \rho_g \ D^3`` | +## A(D) -## Ice specific humidity -- (integral from 0 -> inf of m(D) times PSD dD) +## Velocity From fe5995dc006dd6b85deba2060b5d70ca061dee1a Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Wed, 14 Jun 2023 12:00:26 -0700 Subject: [PATCH 07/52] updates to m(D) docs --- docs/src/P3Scheme.md | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 726a15e603..506c549f23 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -28,7 +28,7 @@ where: - ``D`` is the maximum particle dimension (m), - ``N_0`` is the intercept parameter, - ``\mu `` is the shape parameter, - - ``\lamda `` is the slope parameter. + - ``\lambda `` is the slope parameter. and ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. @@ -39,13 +39,34 @@ The mass (m) of particles as a function of maximum particle dimension (D) by the following table. | particle properties | conditions | m(D) relation | -|---------------------|-----------------------|-----------------------| -|small, spherical ice | ``D < D_th`` | ``\frac{\pi}{6} \rho_i \ D^3`` | -|large, unrimed ice | ``q_i > 0``, ``q_rim = 0``, and ``D > D_th`` | ``\alpha_va \ D^{\beta_va}`` | -|dense nonspherical ice | ``q_rim > 0`` and ``D_th < D < D_gr`` | ^ | -|partially rimed ice | ``q_rim > 0`` and ``D < D_cr`` | ``\frac{\alpha_va}{1-F_r} D^{\beta_va}`` | -|graupel | ``q_rim > 0`` and ``D < D_cr`` | ``\frac{\pi}{6} \rho_g \ D^3`` | +|:--------------------|:----------------------|:----------------------| +|small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{6} \rho_i \ D^3`` | +|large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | +|dense nonspherical ice | ``q_rim > 0`` and ``D_th < D < D_gr`` | ``\alpha_{va} \ D^{\beta_{va}}`` | +|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D < D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | +where: + - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) + - ``D_{th} = \frac{\pi \ \rho_i\}{6\alpha_{va}}^{\frac{1}{\beta_{va}\ - 3}}``, + the threshold between spherical and nonspherical ice; + - ``q_{rim}`` is the rime mass mixing ratio for ice; + (should this be specific humidity for us?) + - ``\alpha_{va} = 7.38*10^{-11}``, a parameter from [cite:Brown and Francis 1995], + derived from measurements of mass grown + by vapor diffusion and aggregation in midlatitude cirrus; + - ``\beta_{va} = 1.9``, another parameter from [cite:Brown and Francis 1995]; + - ``D_{gr} = \frac{6\alpha_{va}}{\pi \\rho_g \}^{\frac{1}{3 - \beta_{va}\}}``, + a threshold defined to ensure continuity + and reasonable masses for smaller D; + - ``D_{cr} = [(\frac{1}{1-F_r}\frac{6\alpha_{va}}{\pi \\rho_g \}]^{\frac{1}{3 - \beta_{va}\}}``, + the threshold separating partially rimed ice from graupel; + - ``\rho_g \ = \rho_r \ F_r + (1 - F_r)\rho_d \``, + the rime mass fraction (``F_r = \frac{q_{rim}}{q_i,tot}``) + weighted average of the predicted rime density + ``\rho_r \ = \frac{q_{rim}}{B_{rim}}`` + and the density of the unrimed part + ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})} ## A(D) ## Velocity From a3588160550b915a3fc77252b69afe02c4ad4acf Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Wed, 14 Jun 2023 13:44:50 -0700 Subject: [PATCH 08/52] updates to docs --- docs/src/P3Scheme.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 506c549f23..bb9c61c02b 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -1,5 +1,4 @@ # P3 Scheme -TO DO: This is where P3 documentation will be. The `P3Scheme.jl` module implements the predicted particle properties (P3) scheme for ice-phase microphysics developed by [cite articles]. @@ -38,14 +37,16 @@ The mass (m) of particles as a function of maximum particle dimension (D) is a piecewise function with variable breakpoints described by the following table. -| particle properties | conditions | m(D) relation | +| particle properties | condition(s) | m(D) relation | |:--------------------|:----------------------|:----------------------| |small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{6} \rho_i \ D^3`` | |large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | -|dense nonspherical ice | ``q_rim > 0`` and ``D_th < D < D_gr`` | ``\alpha_{va} \ D^{\beta_{va}}`` | +|dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | |partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | |graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D < D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | +> **_NOTE:_** unsure about D_cr: should graupel be defined by D > D_cr? and partially rimed ice? + where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - ``D_{th} = \frac{\pi \ \rho_i\}{6\alpha_{va}}^{\frac{1}{\beta_{va}\ - 3}}``, @@ -66,7 +67,22 @@ where: weighted average of the predicted rime density ``\rho_r \ = \frac{q_{rim}}{B_{rim}}`` and the density of the unrimed part - ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})} -## A(D) + ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` + +> **_NOTE:_** unsure about what B_rim is +## Assumed projected area relationships + +The projected area (A) of particles as a function of maximum particle dimension (D) + is another piecewise function with variable breakpoints described + by the following table. +| particle properties | condition(s) | A(D) relation | +|:--------------------|:----------------------|:----------------------| +|small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{4} D^2`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0`` and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{4} D^2`` | +|large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | see below | +|dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | see p7 of mitchell 1996 and do aggregates | +|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ...todo | ## Velocity + +> **_TODO:_** finish documentation and add more sections \ No newline at end of file From 9e0f5d85f099ed2a55c7bebcdf802cf4b45be137 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 20 Jun 2023 16:54:14 -0700 Subject: [PATCH 09/52] updates to docs --- docs/src/P3Scheme.md | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index bb9c61c02b..430f499311 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -49,7 +49,7 @@ The mass (m) of particles as a function of maximum particle dimension (D) where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - - ``D_{th} = \frac{\pi \ \rho_i\}{6\alpha_{va}}^{\frac{1}{\beta_{va}\ - 3}}``, + - ``D_{th} = \frac{\pi \rho_i}{6\alpha_{va}}^{\frac{1}{\beta_{va} - 3}}``, the threshold between spherical and nonspherical ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; (should this be specific humidity for us?) @@ -80,9 +80,23 @@ The projected area (A) of particles as a function of maximum particle dimension |:--------------------|:----------------------|:----------------------| |small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{4} D^2`` | |graupel (completely rimed, spherical)| ``q_{rim} > 0`` and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{4} D^2`` | -|large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | see below | -|dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | see p7 of mitchell 1996 and do aggregates | -|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ...todo | -## Velocity +|large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\gamma \ D^{\sigma}`` | +|dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\gamma \ D^{\sigma}`` | +|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``F_{r} \frac{\pi}{4} D^2 + (1-F_{r})\gamma \ D^{\sigma}`` | + +where all variables from the m(D) regime are as defined above, and: + - ``\gamma = 0.2285`` and + - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, + and planar polycrystals in [cite:Mitchell 1996] + +> **_NOTE:_** for partially rimed ice, the A(D) relationship is a simple + > linear weighting between unrimed ice and graupel as a function of the rime + > mass fraction ``F_r``. If this means what I think it means, then my A(D) + > in the table should be fine, but I'm just signaling that I'm + > not 100% sure I'm right. + +## Assumed particle fall speed relationships + + > **_TODO:_** finish documentation and add more sections \ No newline at end of file From 7fef815e508f821ccc556d13e055e570102aef14 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 20 Jun 2023 16:56:18 -0700 Subject: [PATCH 10/52] creating file for source code --- src/P3Scheme.jl | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/P3Scheme.jl diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl new file mode 100644 index 0000000000..cacf44cfa7 --- /dev/null +++ b/src/P3Scheme.jl @@ -0,0 +1,65 @@ +""" +Predicted particle properties scheme (P3) for cloud ice, which includes: + - m(D) regime + - A(D) regime + - fall speed regime + - add more as we go! (TODO) +""" +module P3Scheme + +import SpecialFunctions as SF + +import Thermodynamics as TD + +import ..CommonTypes as CT +import ..Common as CO +import ..Parameters as CMP + +const APS = CMP.AbstractCloudMicrophysicsParameters +const ρ_i::Float64 = 917 +const α_va::Float64 = 7.38e-11 +const β_va::Float64 = 1.9 + +# TODO: add more constants... should I define the constants like ρ_i and α_va here? +# code helper functions for m(D) for various types +# add m(D) that utilizes helper functions + +""" +m_s(D, ρ) + + - D: maximum particle dimension + - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) + +m(D) relation for spherical ice (small ice or completely rimed ice) +""" +function m_s(D::FT, ρ::FT) where {FT <: Real} + return (FT(π)/6) * ρ * D^3 +end + +""" +m_va(D) + + - D: maximum particle dimension + + +m(D) relation for large, nonspherical ice (used for unrimed and dense types) +""" +function m_nl(D::FT) where {FT <: Real} + return α_va * D^β_va +end + +""" +m_r(D, q_rim, q_i) + + - D: maximum particle dimension + - q_rim: rime mass mixing ratio + - q_i: total ice mass mixing ratio + - NOTE: if calculating rime mass fraction F_r + iteratively, we can just replace the qs with F_r = q_rim/q_i + +m(D) relation for partially rimed ice +""" +function m_r(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} + F_r = q_rim/q_i + return (α_va/(1-F_r)) * D^β_va +end \ No newline at end of file From 4997d9c11019c1f5bdf57547991c4211ad7e3a4e Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 22 Jun 2023 12:03:06 -0700 Subject: [PATCH 11/52] progress on m(D), A(D) regime code --- src/CloudMicrophysics.jl | 1 + src/P3Scheme.jl | 122 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 117 insertions(+), 6 deletions(-) diff --git a/src/CloudMicrophysics.jl b/src/CloudMicrophysics.jl index 030040059a..5968836b9e 100644 --- a/src/CloudMicrophysics.jl +++ b/src/CloudMicrophysics.jl @@ -15,6 +15,7 @@ include("Common.jl") include("Microphysics0M.jl") include("Microphysics1M.jl") include("Microphysics2M.jl") +include("P3Scheme.jl") include("MicrophysicsNonEq.jl") include("AerosolModel.jl") include("AerosolActivation.jl") diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index cacf44cfa7..dffc71c828 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -2,7 +2,7 @@ Predicted particle properties scheme (P3) for cloud ice, which includes: - m(D) regime - A(D) regime - - fall speed regime + - particle fall speed regime - add more as we go! (TODO) """ module P3Scheme @@ -19,10 +19,28 @@ const APS = CMP.AbstractCloudMicrophysicsParameters const ρ_i::Float64 = 917 const α_va::Float64 = 7.38e-11 const β_va::Float64 = 1.9 +const D_th::Float64 = ((Float64(π) * 6)/(6 * α_va))^(1/(β_va - 3)) +const γ::Float64 = 0.2285 +const σ::Float64 = 1.88 -# TODO: add more constants... should I define the constants like ρ_i and α_va here? -# code helper functions for m(D) for various types -# add m(D) that utilizes helper functions +# TODO: should I define the constants like ρ_i and α_va here? +# polish code +# figure out what B_rim is +# figure out how to compute ρ_d, ρ_g, D_cr, D_gr: +# they "form a closed set of equations that can be solved by iteration" +# so do we use IterativeSolvers.jl here? Or do we have an in-house solver? +# finish adding A(D), V(D) regimes +""" +ρ_r(q_rim, B_rim) + + - q_rim: rime mass mixing ratio + - B_rim: TODO??? + +Predicted rime density +""" +function ρ_r(q_rim::FT, B_rim::FT) where {FT <: Real} + return q_rim/B_rim +end """ m_s(D, ρ) @@ -37,7 +55,7 @@ function m_s(D::FT, ρ::FT) where {FT <: Real} end """ -m_va(D) +m_nl(D) - D: maximum particle dimension @@ -55,11 +73,103 @@ m_r(D, q_rim, q_i) - q_rim: rime mass mixing ratio - q_i: total ice mass mixing ratio - NOTE: if calculating rime mass fraction F_r - iteratively, we can just replace the qs with F_r = q_rim/q_i + iteratively, we can just replace the + mixing ratios with F_r = q_rim/q_i m(D) relation for partially rimed ice """ function m_r(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} F_r = q_rim/q_i return (α_va/(1-F_r)) * D^β_va +end + +""" +m(D, q_rim, q_i) + + - D: maximum particle dimension + - q_rim: rime mass mixing ratio + - q_i: total ice mass mixing ratio + + m(D) regime, + which computes breakpoints, classifies particles, and returns mass +""" +function m(D::FT, q_rim::FT, q_i::FT, B_rim::FT) where {FT <: Real} + if D <= D_th: + return m_s(D, ρ_i) # small spherical ice + elseif q_rim == 0: + return m_nl(D) # large, nonspherical, unrimed ice + else: + # find variable densities: + ρ_r = q_rim/B_rim + ρ_d = 1 # unsure how to compute this, depends on D_cr/gr which depend on it + ρ_g = 1 # ^ + D_cr = 1 # ^ + D_gr = 2 # ^ + if D <= D_cr: + return m_r(D, q_rim, q_i) # partially rimed ice + elseif {D > D_cr} & {D >= D_gr}: + return m_s(D, ρ_g) # graupel + elseif D < D_gr: + return m_nl(D) # dense nonspherical ice + end + end +end + +""" +A_s(D) + + + - D: maximum particle dimension + +Particle projected area relation for assumed spherical particles +""" +function A_s(D::FT) where {FT <: Real} + return (FT(π)/4) * D^2 +end + +""" +A_ns(D) + + - D: maximum particle dimension + +Particle projected area relation for assumed nonspherical particles, + from Mitchell 1996 +""" +function A_ns(D::FT) where {FT <: Real} + return γ * D^σ +end + +""" +A(D, q_rim, q_i) + + - D: maximum particle dimension + - q_rim: rime mass mixing ratio + - q_i: total ice mass mixing ratio + - NOTE: if calculating rime mass fraction F_r + iteratively, we can just replace the + mixing ratios with F_r = q_rim/q_i + +Assumed particle projected area regime, +which computes breakpoints, classifies particles, and returns area +""" +function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} + # placeholder values until iterative solver is implemented: + D_cr = 1 + ρ_d = 1 + ρ_g = 1 + D_gr = 1 + F_r = q_rim/q_i + if D < D_th: + return A_s(D) # small, spherical ice + elseif q_rim == 0: + return A_ns(D) # large, unrimed ice + else: + if D <= D_cr: + return (F_r * A_s(D)) + (1 - F_r) * A_ns(D) # partially rimed ice + elseif {D > D_cr} & {D >= D_gr}: + return A_s(D) # graupel + elseif D < D_gr: + return A_ns(D) # dense nonspherical ice + end + end end \ No newline at end of file From 3121e50d045e64f55ba9404a7fe9c7152b1c95e0 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 22 Jun 2023 13:19:47 -0700 Subject: [PATCH 12/52] trying to fix --- docs/src/P3Scheme.md | 2 -- src/P3Scheme.jl | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 430f499311..0ffe78a401 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -97,6 +97,4 @@ where all variables from the m(D) regime are as defined above, and: ## Assumed particle fall speed relationships - - > **_TODO:_** finish documentation and add more sections \ No newline at end of file diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index dffc71c828..cca089dcf1 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -94,22 +94,22 @@ m(D, q_rim, q_i) which computes breakpoints, classifies particles, and returns mass """ function m(D::FT, q_rim::FT, q_i::FT, B_rim::FT) where {FT <: Real} - if D <= D_th: + if D <= D_th return m_s(D, ρ_i) # small spherical ice - elseif q_rim == 0: + elseif q_rim == 0 return m_nl(D) # large, nonspherical, unrimed ice - else: - # find variable densities: + else + # find variable densities ρ_r = q_rim/B_rim ρ_d = 1 # unsure how to compute this, depends on D_cr/gr which depend on it ρ_g = 1 # ^ D_cr = 1 # ^ D_gr = 2 # ^ - if D <= D_cr: + if D <= D_cr return m_r(D, q_rim, q_i) # partially rimed ice - elseif {D > D_cr} & {D >= D_gr}: + elseif {D > D_cr} & {D >= D_gr} return m_s(D, ρ_g) # graupel - elseif D < D_gr: + elseif D < D_gr return m_nl(D) # dense nonspherical ice end end @@ -159,16 +159,16 @@ function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} ρ_g = 1 D_gr = 1 F_r = q_rim/q_i - if D < D_th: + if D < D_th return A_s(D) # small, spherical ice - elseif q_rim == 0: + elseif q_rim == 0 return A_ns(D) # large, unrimed ice - else: - if D <= D_cr: + else + if D <= D_cr return (F_r * A_s(D)) + (1 - F_r) * A_ns(D) # partially rimed ice - elseif {D > D_cr} & {D >= D_gr}: + elseif {D > D_cr} & {D >= D_gr} return A_s(D) # graupel - elseif D < D_gr: + elseif D < D_gr return A_ns(D) # dense nonspherical ice end end From 110916f313b4f7fc07af804294fa61d55a94020f Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 22 Jun 2023 13:36:14 -0700 Subject: [PATCH 13/52] trying to fix pt 2 --- docs/src/P3Scheme.md | 9 +++++---- src/P3Scheme.jl | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 0ffe78a401..1f73aa96ca 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -26,8 +26,8 @@ where: - ``N'`` is the number concentration, - ``D`` is the maximum particle dimension (m), - ``N_0`` is the intercept parameter, - - ``\mu `` is the shape parameter, - - ``\lambda `` is the slope parameter. + - ``\mu`` is the shape parameter, + - ``\lambda`` is the slope parameter. and ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. @@ -70,6 +70,7 @@ where: ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` > **_NOTE:_** unsure about what B_rim is + ## Assumed projected area relationships The projected area (A) of particles as a function of maximum particle dimension (D) @@ -92,9 +93,9 @@ where all variables from the m(D) regime are as defined above, and: > **_NOTE:_** for partially rimed ice, the A(D) relationship is a simple > linear weighting between unrimed ice and graupel as a function of the rime > mass fraction ``F_r``. If this means what I think it means, then my A(D) - > in the table should be fine, but I'm just signaling that I'm + > in the table should be fine, but I'm just signaling that I'm > not 100% sure I'm right. ## Assumed particle fall speed relationships -> **_TODO:_** finish documentation and add more sections \ No newline at end of file +> **_TODO:_** finish documentation and add more sections diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index cca089dcf1..f03e7ada3f 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -172,4 +172,5 @@ function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} return A_ns(D) # dense nonspherical ice end end -end \ No newline at end of file +end +end From 2d484cc49619ad646b36dab8027361b7e6a55efa Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 22 Jun 2023 13:54:24 -0700 Subject: [PATCH 14/52] trying to fix pt 3 --- src/P3Scheme.jl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index f03e7ada3f..8f4c49d54a 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -19,7 +19,7 @@ const APS = CMP.AbstractCloudMicrophysicsParameters const ρ_i::Float64 = 917 const α_va::Float64 = 7.38e-11 const β_va::Float64 = 1.9 -const D_th::Float64 = ((Float64(π) * 6)/(6 * α_va))^(1/(β_va - 3)) +const D_th::Float64 = ((Float64(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) const γ::Float64 = 0.2285 const σ::Float64 = 1.88 @@ -39,7 +39,7 @@ const σ::Float64 = 1.88 Predicted rime density """ function ρ_r(q_rim::FT, B_rim::FT) where {FT <: Real} - return q_rim/B_rim + return q_rim / B_rim end """ @@ -51,7 +51,7 @@ m_s(D, ρ) m(D) relation for spherical ice (small ice or completely rimed ice) """ function m_s(D::FT, ρ::FT) where {FT <: Real} - return (FT(π)/6) * ρ * D^3 + return (FT(π) / 6) * ρ * D^3 end """ @@ -79,8 +79,8 @@ m_r(D, q_rim, q_i) m(D) relation for partially rimed ice """ function m_r(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} - F_r = q_rim/q_i - return (α_va/(1-F_r)) * D^β_va + F_r = q_rim / q_i + return (α_va / (1 - F_r)) * D^β_va end """ @@ -100,14 +100,14 @@ function m(D::FT, q_rim::FT, q_i::FT, B_rim::FT) where {FT <: Real} return m_nl(D) # large, nonspherical, unrimed ice else # find variable densities - ρ_r = q_rim/B_rim + ρ_r = q_rim / B_rim ρ_d = 1 # unsure how to compute this, depends on D_cr/gr which depend on it ρ_g = 1 # ^ D_cr = 1 # ^ D_gr = 2 # ^ if D <= D_cr return m_r(D, q_rim, q_i) # partially rimed ice - elseif {D > D_cr} & {D >= D_gr} + elseif D > D_cr & D >= D_gr return m_s(D, ρ_g) # graupel elseif D < D_gr return m_nl(D) # dense nonspherical ice @@ -124,7 +124,7 @@ A_s(D) Particle projected area relation for assumed spherical particles """ function A_s(D::FT) where {FT <: Real} - return (FT(π)/4) * D^2 + return (FT(π) / 4) * D^2 end """ @@ -158,7 +158,7 @@ function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} ρ_d = 1 ρ_g = 1 D_gr = 1 - F_r = q_rim/q_i + F_r = q_rim / q_i if D < D_th return A_s(D) # small, spherical ice elseif q_rim == 0 From dc04276d6fefcf0d06520b161670cb948c1ef832 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 22 Jun 2023 13:59:02 -0700 Subject: [PATCH 15/52] trying to fix pt 4 --- src/P3Scheme.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 8f4c49d54a..0af3d667e3 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -166,7 +166,7 @@ function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} else if D <= D_cr return (F_r * A_s(D)) + (1 - F_r) * A_ns(D) # partially rimed ice - elseif {D > D_cr} & {D >= D_gr} + elseif D > D_cr & D >= D_gr return A_s(D) # graupel elseif D < D_gr return A_ns(D) # dense nonspherical ice From 1ae2a5f5fc3cfdf3d5e3a93e1ea5b88d23a97ad0 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Fri, 23 Jun 2023 16:24:50 -0700 Subject: [PATCH 16/52] trying to fix pt 5 --- docs/src/API.md | 13 +++++++++++++ docs/src/P3Scheme.md | 26 ++++++++++++++++++++++---- src/P3Scheme.jl | 33 +++++++++++++-------------------- 3 files changed, 48 insertions(+), 24 deletions(-) diff --git a/docs/src/API.md b/docs/src/API.md index 4fea9d4a4c..d404ae3a62 100644 --- a/docs/src/API.md +++ b/docs/src/API.md @@ -53,6 +53,19 @@ Microphysics2M.rain_evaporation Microphysics2M.conv_q_liq_to_q_rai ``` +# P3 scheme + +```@docs +P3Scheme +P3Scheme.m_s +P3Scheme.m_nl +P3Scheme.m_r +P3Scheme.m +P3Scheme.A_s +P3Scheme.A_ns +P3Scheme.A +``` + # Aerosol model ```@docs diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 1f73aa96ca..823bfa7df3 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -49,7 +49,7 @@ The mass (m) of particles as a function of maximum particle dimension (D) where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - - ``D_{th} = \frac{\pi \rho_i}{6\alpha_{va}}^{\frac{1}{\beta_{va} - 3}}``, + - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^({\frac{1}{\beta_{va} - 3}})``, the threshold between spherical and nonspherical ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; (should this be specific humidity for us?) @@ -57,12 +57,12 @@ where: derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus; - ``\beta_{va} = 1.9``, another parameter from [cite:Brown and Francis 1995]; - - ``D_{gr} = \frac{6\alpha_{va}}{\pi \\rho_g \}^{\frac{1}{3 - \beta_{va}\}}``, + - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \\rho_g \})^({\frac{1}{3 - \beta_{va}\}})``, a threshold defined to ensure continuity and reasonable masses for smaller D; - - ``D_{cr} = [(\frac{1}{1-F_r}\frac{6\alpha_{va}}{\pi \\rho_g \}]^{\frac{1}{3 - \beta_{va}\}}``, + - ``D_{cr} = ((\frac{1}{1-F_r} \ frac{6 \alpha_{va}}{\pi \ \rho_g \})^({\frac{1}{3 - \beta_{va}\}})``, the threshold separating partially rimed ice from graupel; - - ``\rho_g \ = \rho_r \ F_r + (1 - F_r)\rho_d \``, + - ``\rho_g \ = \rho_r \ F_r + (1 - F_r) \rho_d \``, the rime mass fraction (``F_r = \frac{q_{rim}}{q_i,tot}``) weighted average of the predicted rime density ``\rho_r \ = \frac{q_{rim}}{B_{rim}}`` @@ -98,4 +98,22 @@ where all variables from the m(D) regime are as defined above, and: ## Assumed particle fall speed relationships +Particle fall speed (V) as a function of maximum particle dimension, + following [cite: Morrison and Milbrandt 2015], uses coefficients + derived by [cite: Mitchell and Heymsfield 2005] and + an air density modification provided by [cite: Heymsfield 2007]: + +```math +V(D) = (\frac{\rho_0}{\rho})^{0.54} a_{1} D^b_{1} +``` + +where: + - ``a_{1} = xx`` + - ``b_{1} = xx`` + - ``\rho_0 \`` is a reference air density, here taken as ``xx`` + - ``\rho \`` is particle density + +and the air density correction is only applied to + particles having undergone sedimentation. + > **_TODO:_** finish documentation and add more sections diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 0af3d667e3..b6d96e17ec 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -1,9 +1,9 @@ """ -Predicted particle properties scheme (P3) for cloud ice, which includes: +Predicted particle properties scheme (P3) for ice, which includes: - m(D) regime - A(D) regime - particle fall speed regime - - add more as we go! (TODO) + - add more (source/sink) as we go! (TODO) """ module P3Scheme @@ -14,14 +14,16 @@ import Thermodynamics as TD import ..CommonTypes as CT import ..Common as CO import ..Parameters as CMP +import NLSolve as NLS +const FT = Float64 const APS = CMP.AbstractCloudMicrophysicsParameters -const ρ_i::Float64 = 917 -const α_va::Float64 = 7.38e-11 -const β_va::Float64 = 1.9 -const D_th::Float64 = ((Float64(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) -const γ::Float64 = 0.2285 -const σ::Float64 = 1.88 +const ρ_i::FT = 917 +const α_va::FT = 7.38e-11 +const β_va::FT = 1.9 +const D_th::FT = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) +const γ::FT = 0.2285 +const σ::FT = 1.88 # TODO: should I define the constants like ρ_i and α_va here? # polish code @@ -30,17 +32,8 @@ const σ::Float64 = 1.88 # they "form a closed set of equations that can be solved by iteration" # so do we use IterativeSolvers.jl here? Or do we have an in-house solver? # finish adding A(D), V(D) regimes -""" -ρ_r(q_rim, B_rim) - - - q_rim: rime mass mixing ratio - - B_rim: TODO??? - -Predicted rime density -""" -function ρ_r(q_rim::FT, B_rim::FT) where {FT <: Real} - return q_rim / B_rim -end +# instead of using if/elif/else statements, would it be better to define +# new types (i.e. small spherical ice, graupel, etc) ? """ m_s(D, ρ) @@ -100,7 +93,7 @@ function m(D::FT, q_rim::FT, q_i::FT, B_rim::FT) where {FT <: Real} return m_nl(D) # large, nonspherical, unrimed ice else # find variable densities - ρ_r = q_rim / B_rim + ρ_r = q_rim / B_rim # predicted rime density ρ_d = 1 # unsure how to compute this, depends on D_cr/gr which depend on it ρ_g = 1 # ^ D_cr = 1 # ^ From bd93d1a1704e470b33f69f030d9497272faba801 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Fri, 23 Jun 2023 16:52:27 -0700 Subject: [PATCH 17/52] commenting out NLSolve.jl import-for now --- src/P3Scheme.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index b6d96e17ec..f41eba618b 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -14,7 +14,7 @@ import Thermodynamics as TD import ..CommonTypes as CT import ..Common as CO import ..Parameters as CMP -import NLSolve as NLS +# import NLSolve as NLS const FT = Float64 const APS = CMP.AbstractCloudMicrophysicsParameters From e99cc86d63c0ccb9a0325da532f59a0d1f74c181 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Mon, 26 Jun 2023 08:43:11 -0700 Subject: [PATCH 18/52] markdown fixes --- docs/src/P3Scheme.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 823bfa7df3..dbcbc527e8 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -52,24 +52,22 @@ where: - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^({\frac{1}{\beta_{va} - 3}})``, the threshold between spherical and nonspherical ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - (should this be specific humidity for us?) - ``\alpha_{va} = 7.38*10^{-11}``, a parameter from [cite:Brown and Francis 1995], derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus; - ``\beta_{va} = 1.9``, another parameter from [cite:Brown and Francis 1995]; - - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \\rho_g \})^({\frac{1}{3 - \beta_{va}\}})``, + - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, a threshold defined to ensure continuity and reasonable masses for smaller D; - - ``D_{cr} = ((\frac{1}{1-F_r} \ frac{6 \alpha_{va}}{\pi \ \rho_g \})^({\frac{1}{3 - \beta_{va}\}})``, + - ``D_{cr} = ((\frac{1}{1-F_r} \frac{6 \alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, the threshold separating partially rimed ice from graupel; - - ``\rho_g \ = \rho_r \ F_r + (1 - F_r) \rho_d \``, + - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, the rime mass fraction (``F_r = \frac{q_{rim}}{q_i,tot}``) weighted average of the predicted rime density ``\rho_r \ = \frac{q_{rim}}{B_{rim}}`` and the density of the unrimed part - ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` - -> **_NOTE:_** unsure about what B_rim is + ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}``; + - ``F_{r} = \frac{q_{rim}}{B_{rim}}`` where ``B_{rim}`` is the bulk rime volume. ## Assumed projected area relationships @@ -110,10 +108,10 @@ V(D) = (\frac{\rho_0}{\rho})^{0.54} a_{1} D^b_{1} where: - ``a_{1} = xx`` - ``b_{1} = xx`` - - ``\rho_0 \`` is a reference air density, here taken as ``xx`` - - ``\rho \`` is particle density + - ``\rho_0`` is a reference air density, here taken as ``xx`` + - ``\rho`` is particle density and the air density correction is only applied to particles having undergone sedimentation. -> **_TODO:_** finish documentation and add more sections +> **_TODO:_** finish documentation and add more sections, figure out fall speed regime From dba8f29eea41dff3ba850607ef344a64f70d383a Mon Sep 17 00:00:00 2001 From: Anna Jaruga Date: Tue, 27 Jun 2023 03:48:21 -0700 Subject: [PATCH 19/52] try adding the citation --- docs/bibliography.bib | 12 ++++++++++++ docs/src/P3Scheme.md | 6 +++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/bibliography.bib b/docs/bibliography.bib index a69d01e21a..d304990d81 100644 --- a/docs/bibliography.bib +++ b/docs/bibliography.bib @@ -239,6 +239,18 @@ @article{Morrison2008 year = {2008} } +@article{Morrison_and_Milbrandt_2015, + author = {Hugh Morrison and Jason A. Milbrandt}, + title = {Parameterization of Cloud Microphysics Based on the Prediction of Bulk Ice Particle Properties. Part I: Scheme Description and Idealized +Tests}, + journal = {Journal of the Atmospheric Sciences}, + year = {2015}, + volume = {72}, + number = {1}, + doi = {10.1175/JAS-D-14-0065.1}, + pages= {287--311} +} + @article{Murray2012, title = {"Ice nucleation by particles immersed in supercooled cloud droplets"}, author = {Murray, B. J. and O'Sullivan, D. and Atkinson, J. D. and Webb, M. E."}, diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index dbcbc527e8..8bd13475bf 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -1,7 +1,7 @@ # P3 Scheme The `P3Scheme.jl` module implements the predicted particle properties - (P3) scheme for ice-phase microphysics developed by [cite articles]. + (P3) scheme for ice-phase microphysics developed by [Morrison_and_Milbrandt_2015](@cite) The P3 scheme is a 2-moment, bulk scheme involving a single ice-phase category with 4 degrees of freedom: total mass, @@ -15,7 +15,7 @@ Traditionally, cloud ice microphysics models use various predefined ## Assumed particle size distribution (PSD) -Following [Morrison and Milbrandt 2015], the scheme assumes a +Following [Morrison_and_Milbrandt_2015](@cite), the scheme assumes a gamma distribution for the concentration of particles per unit volume: ```math @@ -111,7 +111,7 @@ where: - ``\rho_0`` is a reference air density, here taken as ``xx`` - ``\rho`` is particle density -and the air density correction is only applied to +and the air density correction is only applied to particles having undergone sedimentation. > **_TODO:_** finish documentation and add more sections, figure out fall speed regime From 4ae91e9304245efc6b086ff69d6c0ca8af068b4c Mon Sep 17 00:00:00 2001 From: Anna Jaruga Date: Tue, 27 Jun 2023 05:07:25 -0700 Subject: [PATCH 20/52] fixes --- docs/bibliography.bib | 2 +- docs/src/P3Scheme.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/bibliography.bib b/docs/bibliography.bib index d304990d81..06f1e7539e 100644 --- a/docs/bibliography.bib +++ b/docs/bibliography.bib @@ -239,7 +239,7 @@ @article{Morrison2008 year = {2008} } -@article{Morrison_and_Milbrandt_2015, +@article{MorrisonMilbrandt2015, author = {Hugh Morrison and Jason A. Milbrandt}, title = {Parameterization of Cloud Microphysics Based on the Prediction of Bulk Ice Particle Properties. Part I: Scheme Description and Idealized Tests}, diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 8bd13475bf..3b5a4520da 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -1,7 +1,7 @@ # P3 Scheme The `P3Scheme.jl` module implements the predicted particle properties - (P3) scheme for ice-phase microphysics developed by [Morrison_and_Milbrandt_2015](@cite) + (P3) scheme for ice-phase microphysics developed by [MorrisonMilbrandt2015](@cite) The P3 scheme is a 2-moment, bulk scheme involving a single ice-phase category with 4 degrees of freedom: total mass, @@ -15,7 +15,7 @@ Traditionally, cloud ice microphysics models use various predefined ## Assumed particle size distribution (PSD) -Following [Morrison_and_Milbrandt_2015](@cite), the scheme assumes a +Following [MorrisonMilbrandt2015](@cite), the scheme assumes a gamma distribution for the concentration of particles per unit volume: ```math From a3f39ee22988fcd3852238a7f8aeb0dd2d948f96 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 27 Jun 2023 14:25:12 -0700 Subject: [PATCH 21/52] changing D>D_cr for graupel, adding citations --- docs/bibliography.bib | 22 ++++++++++++++++++++++ docs/src/P3Scheme.md | 12 ++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/bibliography.bib b/docs/bibliography.bib index 06f1e7539e..15e9311a84 100644 --- a/docs/bibliography.bib +++ b/docs/bibliography.bib @@ -35,6 +35,17 @@ @article{Beheng1994 doi = {10.1016/0169-8095(94)90020-5} } +@article{BrownFrancis1995, + title = {Improved Measurements of the Ice Water Content in Cirrus Using a Total-Water Probe}, + author = {Philip R. A. Brown and Peter N. Francis}, + journal = {Journal of Atmospheric and Oceanic Technology}, + volume = {12}, + number = {2}, + pages = {410--414}, + year = {1995}, + doi = {10.1175/1520-0426(1995)012<0410:IMOTIW>2.0.CO;2} +} + @article{Desai2019, title = {Aerosol-Mediated Glaciation of Mixed-Phase Clouds: Steady-State Laboratory Measurements}, author = {Desai, Neel and Chandrakar, KK and Kinney, G and Cantrell, W and Shaw, RA}, @@ -217,6 +228,17 @@ @book{Mason2010 publisher = {Clarendon Press} } +@article{Mitchell1996, + author = {David L. Mitchell}, + title = {Use of mass- and area-dimensional power laws for determining precipitation particle terminal velocities}, + journal = {Journal of the Atmospheric Sciences}, + year = {1996}, + volume = {53}, + number = {12}, + doi = {10.1175/1520-0469(1996)053<1710:UOMAAD>2.0.CO;2}, + pages= {1710--1723} +} + @article{Mohler2006, title = {Efficiency of the deposition mode ice nucleation on mineral dust particles}, author = {Möhler, O. and Field, P. R. and Connolly, P. and Benz, S. and Saathoff, H. and Schnaiter, M. and Wagner, R. and Cotton, R. and Krämer, M. and Mangold, A. and Heymsfield, A. J.}, diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 3b5a4520da..78431a8316 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -43,7 +43,7 @@ The mass (m) of particles as a function of maximum particle dimension (D) |large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | |dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | |partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | -|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D < D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D > D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | > **_NOTE:_** unsure about D_cr: should graupel be defined by D > D_cr? and partially rimed ice? @@ -52,10 +52,10 @@ where: - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^({\frac{1}{\beta_{va} - 3}})``, the threshold between spherical and nonspherical ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38*10^{-11}``, a parameter from [cite:Brown and Francis 1995], + - ``\alpha_{va} = 7.38*10^{-11}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus; - - ``\beta_{va} = 1.9``, another parameter from [cite:Brown and Francis 1995]; + - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, a threshold defined to ensure continuity and reasonable masses for smaller D; @@ -78,7 +78,7 @@ The projected area (A) of particles as a function of maximum particle dimension | particle properties | condition(s) | A(D) relation | |:--------------------|:----------------------|:----------------------| |small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{4} D^2`` | -|graupel (completely rimed, spherical)| ``q_{rim} > 0`` and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{4} D^2`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D > D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{4} D^2`` | |large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\gamma \ D^{\sigma}`` | |dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\gamma \ D^{\sigma}`` | |partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``F_{r} \frac{\pi}{4} D^2 + (1-F_{r})\gamma \ D^{\sigma}`` | @@ -86,7 +86,7 @@ The projected area (A) of particles as a function of maximum particle dimension where all variables from the m(D) regime are as defined above, and: - ``\gamma = 0.2285`` and - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, - and planar polycrystals in [cite:Mitchell 1996] + and planar polycrystals in [Mitchell1996](@cite) > **_NOTE:_** for partially rimed ice, the A(D) relationship is a simple > linear weighting between unrimed ice and graupel as a function of the rime @@ -97,7 +97,7 @@ where all variables from the m(D) regime are as defined above, and: ## Assumed particle fall speed relationships Particle fall speed (V) as a function of maximum particle dimension, - following [cite: Morrison and Milbrandt 2015], uses coefficients + following [MorrisonMilbrandt2015](@cite), uses coefficients derived by [cite: Mitchell and Heymsfield 2005] and an air density modification provided by [cite: Heymsfield 2007]: From 1793bc8a7c43709321f4203ba3321904546948cb Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 27 Jun 2023 17:29:40 -0700 Subject: [PATCH 22/52] fixing units for alpha_va and adding NLsolve to deps --- Project.toml | 1 + src/P3Scheme.jl | 2 +- test/Project.toml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index bf649f96bd..0f0e64f3c4 100644 --- a/Project.toml +++ b/Project.toml @@ -6,6 +6,7 @@ version = "0.11.0" [deps] CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index f41eba618b..40832a8425 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -19,8 +19,8 @@ import ..Parameters as CMP const FT = Float64 const APS = CMP.AbstractCloudMicrophysicsParameters const ρ_i::FT = 917 -const α_va::FT = 7.38e-11 const β_va::FT = 1.9 +const α_va::FT = 1e-3 * (7.38e-11) * 10 ^ (6 * β_va) const D_th::FT = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) const γ::FT = 0.2285 const σ::FT = 1.88 diff --git a/test/Project.toml b/test/Project.toml index 4ccfb70aa9..31efbdf86b 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -4,6 +4,7 @@ CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CUDAKernels = "72cfdca4-0801-4ab0-bf6a-d52aa10adc57" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" +NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" From fc83ea2c7c609dd4d21638e8552702acbb426f6d Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 27 Jun 2023 17:34:53 -0700 Subject: [PATCH 23/52] fixing JuliaFormatter error? --- src/P3Scheme.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 40832a8425..a21e72c6a5 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -20,7 +20,7 @@ const FT = Float64 const APS = CMP.AbstractCloudMicrophysicsParameters const ρ_i::FT = 917 const β_va::FT = 1.9 -const α_va::FT = 1e-3 * (7.38e-11) * 10 ^ (6 * β_va) +const α_va::FT = 1e-3 * (7.38e-11) * 10^(6 * β_va) const D_th::FT = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) const γ::FT = 0.2285 const σ::FT = 1.88 From 00f7fb4e6bce59bd36ddf6640eda6a61e249ef75 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 29 Jun 2023 17:01:17 -0700 Subject: [PATCH 24/52] additions/fixes to docs --- docs/src/P3Scheme.md | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 78431a8316..4ad9c84cc6 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -24,7 +24,7 @@ N'(D) = N_{0} D^\mu \, e^{-\lambda \, D} where: - ``N'`` is the number concentration, - - ``D`` is the maximum particle dimension (m), + - ``D`` is the maximum particle dimension, - ``N_0`` is the intercept parameter, - ``\mu`` is the shape parameter, - ``\lambda`` is the slope parameter. @@ -42,10 +42,8 @@ The mass (m) of particles as a function of maximum particle dimension (D) |small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{6} \rho_i \ D^3`` | |large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | |dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\alpha_{va} \ D^{\beta_{va}}`` | -|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | -|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D > D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | - -> **_NOTE:_** unsure about D_cr: should graupel be defined by D > D_cr? and partially rimed ice? +|partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) @@ -78,40 +76,46 @@ The projected area (A) of particles as a function of maximum particle dimension | particle properties | condition(s) | A(D) relation | |:--------------------|:----------------------|:----------------------| |small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{4} D^2`` | -|graupel (completely rimed, spherical)| ``q_{rim} > 0``, ``D > D_{cr}``, and ``D > D_{gr}`` | ``\frac{\pi}{4} D^2`` | +|graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{4} D^2`` | |large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\gamma \ D^{\sigma}`` | |dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\gamma \ D^{\sigma}`` | -|partially rimed ice | ``q_{rim} > 0`` and ``D < D_{cr}`` | ``F_{r} \frac{\pi}{4} D^2 + (1-F_{r})\gamma \ D^{\sigma}`` | +|partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``F_{r} \frac{\pi}{4} D^2 + (1-F_{r})\gamma \ D^{\sigma}`` | where all variables from the m(D) regime are as defined above, and: - ``\gamma = 0.2285`` and - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, and planar polycrystals in [Mitchell1996](@cite) -> **_NOTE:_** for partially rimed ice, the A(D) relationship is a simple - > linear weighting between unrimed ice and graupel as a function of the rime - > mass fraction ``F_r``. If this means what I think it means, then my A(D) - > in the table should be fine, but I'm just signaling that I'm - > not 100% sure I'm right. - ## Assumed particle fall speed relationships Particle fall speed (V) as a function of maximum particle dimension, following [MorrisonMilbrandt2015](@cite), uses coefficients derived by [cite: Mitchell and Heymsfield 2005] and - an air density modification provided by [cite: Heymsfield 2007]: + an air density modification provided by [cite: Heymsfield 2007] only applied to + particles having undergone sedimentation. + +With the modification, particle fall speed is given: ```math -V(D) = (\frac{\rho_0}{\rho})^{0.54} a_{1} D^b_{1} +V(D) = (\frac{\rho_0}{\rho})^{0.54} a D^b ``` where: - - ``a_{1} = xx`` - - ``b_{1} = xx`` + - ``D`` is the maximum particle dimension - ``\rho_0`` is a reference air density, here taken as ``xx`` - ``\rho`` is particle density -and the air density correction is only applied to - particles having undergone sedimentation. +And without: + +```math +V(D) = a D^b +``` + +where: + - ``a = a_{1} \nu^{1 - 2 b_{1}} (\frac{2 \alpha_{va} g}{\rho_{air} \gamma})^b_{1}`` + - ``b = b_{1} (B - \sigma + 2) - 1`` -> **_TODO:_** finish documentation and add more sections, figure out fall speed regime +The parameters governing the coefficients a and b of the power law are: +| parameter | value | +|:-----------------|:----------------------------------| +|``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | \ No newline at end of file From e78cec1f51553fd852132581e97ccade6014542f Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Mon, 3 Jul 2023 10:12:17 -0700 Subject: [PATCH 25/52] docs updates - V(D) --- docs/src/P3Scheme.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 4ad9c84cc6..764b3ef1b0 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -91,18 +91,18 @@ where all variables from the m(D) regime are as defined above, and: Particle fall speed (V) as a function of maximum particle dimension, following [MorrisonMilbrandt2015](@cite), uses coefficients derived by [cite: Mitchell and Heymsfield 2005] and - an air density modification provided by [cite: Heymsfield 2007] only applied to + an air density modification provided by [cite: Heymsfield 2007] applied to particles having undergone sedimentation. With the modification, particle fall speed is given: ```math -V(D) = (\frac{\rho_0}{\rho})^{0.54} a D^b +V(D) = (\frac{\rho_air}{\rho})^{0.54} a D^b ``` where: - ``D`` is the maximum particle dimension - - ``\rho_0`` is a reference air density, here taken as ``xx`` + - ``\rho_air`` is a reference air density (see table below) - ``\rho`` is particle density And without: @@ -112,10 +112,25 @@ V(D) = a D^b ``` where: - - ``a = a_{1} \nu^{1 - 2 b_{1}} (\frac{2 \alpha_{va} g}{\rho_{air} \gamma})^b_{1}`` - - ``b = b_{1} (B - \sigma + 2) - 1`` + - ``a = a_{1} \nu_{air}^{1 - 2 b_{1}} (\frac{2 \alpha_{va} g}{\rho_{air} \gamma})^b_{1}`` + - ``b = \frac{b_{1} (2 - \sigma) - 1}{1 - b_{1}}`` The parameters governing the coefficients a and b of the power law are: | parameter | value | |:-----------------|:----------------------------------| -|``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | \ No newline at end of file +|``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | +|``b_{1}`` | ``\frac{C_{1} X^{0.5}}{2 ([1 + C_{1} X^{0.5}]^{0.5} - 1) (1 + C_{1} X^{0.5})^{0.5}} - \frac{a_{o} b{o} X^{b_{o}}}{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2}}`` | +|``\nu_{air}``, kinematic viscocity of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | +|``g``, gravitational acceleration | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | +|``\rho_{air}``, density of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | +|``C_{1}`` | ``\frac{4}{\delta_{o}^{2} C_{o}^{0.5}}`` | +|``C_{2}`` | ``\frac{\delta_{o}^{2}}{4}`` | +|``\delta_{o}``, surface roughness constant for ice | ``5.83`` | +|``C_{o}``, surface roughness constant for ice | ``0.6`` | +|``a_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant | ``1e-5`` | +|``b_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant | ``1.0`` | +|``X``, Best/Davies number expressed in terms of m(D) and A(D) regimes | ``\frac{2 \alpha_{va} g \rho_{air} D^{\beta_va + 2 - \sigma}}{\gamma \nu_{air}^2}`` | + +> **_NOTE:_** Uncertain about delta_o, C_o, a_o, b_o values: Heymsfield (2005) gives multiple possible values, +> each of which is more accurate under certain conditions (convective with graupel/hail and stratiform with ice +> crystal aggregates) ... would like to discuss this to make sure I understand From 108f9948ca186e32b0bef5734ba456b0b02edefc Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 4 Jul 2023 16:10:25 -0700 Subject: [PATCH 26/52] updates to V(D) docs and code --- docs/src/P3Scheme.md | 2 + src/P3Scheme.jl | 148 +++++++++++++++++++++++++++++++++---------- 2 files changed, 117 insertions(+), 33 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 764b3ef1b0..9ef4f73a10 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -121,6 +121,7 @@ The parameters governing the coefficients a and b of the power law are: |``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | |``b_{1}`` | ``\frac{C_{1} X^{0.5}}{2 ([1 + C_{1} X^{0.5}]^{0.5} - 1) (1 + C_{1} X^{0.5})^{0.5}} - \frac{a_{o} b{o} X^{b_{o}}}{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2}}`` | |``\nu_{air}``, kinematic viscocity of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | +|``\mu_{air}``, dynamic viscocity of air | ??? - 1.67e-5 for now? | |``g``, gravitational acceleration | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | |``\rho_{air}``, density of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | |``C_{1}`` | ``\frac{4}{\delta_{o}^{2} C_{o}^{0.5}}`` | @@ -134,3 +135,4 @@ The parameters governing the coefficients a and b of the power law are: > **_NOTE:_** Uncertain about delta_o, C_o, a_o, b_o values: Heymsfield (2005) gives multiple possible values, > each of which is more accurate under certain conditions (convective with graupel/hail and stratiform with ice > crystal aggregates) ... would like to discuss this to make sure I understand +> **_ALSO:_** Uncertain about what value to use for dynamic viscocity of air diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index a21e72c6a5..eb8277b48c 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -14,7 +14,7 @@ import Thermodynamics as TD import ..CommonTypes as CT import ..Common as CO import ..Parameters as CMP -# import NLSolve as NLS +import NLsolve as NLS const FT = Float64 const APS = CMP.AbstractCloudMicrophysicsParameters @@ -24,6 +24,18 @@ const α_va::FT = 1e-3 * (7.38e-11) * 10^(6 * β_va) const D_th::FT = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) const γ::FT = 0.2285 const σ::FT = 1.88 +const δ_o::FT = 5.83 # UNSURE about these four constants below +const C_o::FT = 0.6 +const a_o::FT = 1e-5 +const b_o::FT = 1.0 + +# more constants for now until we add constants to CliMA parameters: +include(joinpath(pkgdir(CloudMicrophysics), "test", "create_parameters.jl")) +toml_dict = CLIMAParameters.create_toml_dict(FT; dict_type = "alias") +const param_set = cloud_microphysics_parameters(toml_dict) +thermo_params = CloudMicrophysics.Parameters.thermodynamics_params(param_set) +const ρ_air::FT = param_set.ρ0_SB2006 +const ν_air::FT = param_set.ν_air # TODO: should I define the constants like ρ_i and α_va here? # polish code @@ -35,6 +47,46 @@ const σ::FT = 1.88 # instead of using if/elif/else statements, would it be better to define # new types (i.e. small spherical ice, graupel, etc) ? +""" +breakpoints(ρ_r, F_r) + +- ρ_r: predicted rime density (q_rim/B_rim) +- F_r: rime mass fraction (q_rim/q_i) + +Computes breakpoints (D_cr, D_th, D_gr) of the system + which govern m(D) and A(D) regimes. +""" +function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} + D_th = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) + # Let x[1] = D_cr, x[2] = D_gr, x[3] = ρ_g, x[3] = ρ_d, + # and let each corresponding component function of F + # be defined F[i] = x[i] - a[i] where x[i] = a[i] + # such that F[x] = 0: + function f!(F, x) + F[1] = + x[1] - ((1 / (1 - F_r)) * + ((6 * α_va) / + (FT(π) * x[3]))) ^ (1 / (3 - β_va)) + F[2] = + x[2] - (((6 * α_va) / + (FT(π) * x[3])) ^ (1 / (3 - β_va))) + F[3] = + x[3] - (ρ_r * F_r) - ((1 - F_r) * x[4]) + F[4] = + x[4] - + (((6 * α_va) * + ((x[1]^(β_va - 2)) - + (x[2]^(β_va - 2)))) / + (FT(π) * + (β_va - 2) * + (x[1] - x[2]))) + end + sol = NLS.nlsolve(f!, + [0.001; 0.0003; 1000; 1000], + autodiff = :forward) + D_cr, D_gr, ρ_g, ρ_d = sol.zero + return D_th, D_gr, D_cr + """ m_s(D, ρ) @@ -60,46 +112,36 @@ function m_nl(D::FT) where {FT <: Real} end """ -m_r(D, q_rim, q_i) +m_r(D, F_r) - D: maximum particle dimension - - q_rim: rime mass mixing ratio - - q_i: total ice mass mixing ratio - - NOTE: if calculating rime mass fraction F_r - iteratively, we can just replace the - mixing ratios with F_r = q_rim/q_i + - F_r: rime mass fraction (q_rim/q_i) m(D) relation for partially rimed ice """ -function m_r(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} - F_r = q_rim / q_i +function m_r(D::FT, F_r::FT) where {FT <: Real} return (α_va / (1 - F_r)) * D^β_va end """ -m(D, q_rim, q_i) +m(D, ρ_r, F_r) - D: maximum particle dimension - - q_rim: rime mass mixing ratio - - q_i: total ice mass mixing ratio + - ρ_r: predicted rime density (q_rim/B_rim) + - F_r: rime mass fraction (q_rim/q_i) m(D) regime, which computes breakpoints, classifies particles, and returns mass """ -function m(D::FT, q_rim::FT, q_i::FT, B_rim::FT) where {FT <: Real} +function m(D::FT, ρ_r::FT, F_r::FT) where {FT <: Real} + D_th, D_gr, D_cr = breakpoints(ρ_r, F_r) if D <= D_th return m_s(D, ρ_i) # small spherical ice elseif q_rim == 0 return m_nl(D) # large, nonspherical, unrimed ice else - # find variable densities - ρ_r = q_rim / B_rim # predicted rime density - ρ_d = 1 # unsure how to compute this, depends on D_cr/gr which depend on it - ρ_g = 1 # ^ - D_cr = 1 # ^ - D_gr = 2 # ^ if D <= D_cr - return m_r(D, q_rim, q_i) # partially rimed ice + return m_r(D, F_r) # partially rimed ice elseif D > D_cr & D >= D_gr return m_s(D, ρ_g) # graupel elseif D < D_gr @@ -133,25 +175,17 @@ function A_ns(D::FT) where {FT <: Real} end """ -A(D, q_rim, q_i) +A(D, ρ_r, F_r) - D: maximum particle dimension - - q_rim: rime mass mixing ratio - - q_i: total ice mass mixing ratio - - NOTE: if calculating rime mass fraction F_r - iteratively, we can just replace the - mixing ratios with F_r = q_rim/q_i + - ρ_r: predicted rime density (q_rim/B_rim) + - F_r: rime mass fraction (q_rim/q_i) Assumed particle projected area regime, which computes breakpoints, classifies particles, and returns area """ -function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} - # placeholder values until iterative solver is implemented: - D_cr = 1 - ρ_d = 1 - ρ_g = 1 - D_gr = 1 - F_r = q_rim / q_i +function A(D::FT, ρ_r::FT, F_r::FT) where {FT <: Real} + D_th, D_gr, D_cr = breakpoints(ρ_r, F_r) if D < D_th return A_s(D) # small, spherical ice elseif q_rim == 0 @@ -166,4 +200,52 @@ function A(D::FT, q_rim::FT, q_i::FT) where {FT <: Real} end end end + +""" +V(param_set, D, ρ, ρ_mod="n") + + - param_set: abstract set with Earth parameters + - D: maximum particle dimension + - ρ: particle density + - ρ_mod="n": optional keyword argument specifying whether + the density modification is to be applied + (default is no modification) + +Assumed particle fall speed regime +""" +function V(param_set::APS, D::FT, ρ::FT, ρ_mod="n") where {FT <: Real} + ν_air = param_set.ν_air + g = param_set.grav + ρ_air = param_set.ρ0_SB2006 + μ_air = 1.67e-5 + X = (2 * α_va * g * ρ_air * D^(β_va - 2 + σ)) / + (γ * μ_air^2) + C_1 = 4 / (δ_o^2 * C_o^0.5) + C_2 = (δ_o^2) / 4 + b_1 = ((C_1 * X^0.5) / + (2 * (((1 + (C_1 * X^0.5))^0.5) - 1) * + (1 + (C_1 * X^0.5))^0.5)) - + ((a_o * b_o * X^b_o) / + (C_2 * + (((1 + (C_1 * X^0.5))^0.5) - 1)^2)) + a_1 = ((C_2 * + (((1 + (C_1 * X^0.5))^0.5) - 1)^2) - + (a_o * X^b_o)) \ + X^b_1 + X, C_1, C_2, a_1. b_1 + a = a_1 * + ν_air^(1 - 2 * b_1) * + ((2 * α_va * g) / + (ρ_air * γ))^b_1 + b = (b_1 * (2 - σ) - 1) \ + (1 - b_1) + V = a * D^b + if ρ_mod == "n" + V = a * D^b + return V + elseif ρ_mod == "y" + return (ρ / ρ_air)^0.54 * V + end +end + end From 2452d116c78d15660ec392cbf68740bfab41d032 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 13 Jul 2023 16:18:53 -0700 Subject: [PATCH 27/52] Nonlinear solver, m(D) figure 1a, more --- Project.toml | 6 +- docs/bibliography.bib | 11 +++ docs/src/API.md | 4 +- docs/src/P3Scheme.md | 37 +++++--- src/P3Scheme.jl | 214 ++++++++++-------------------------------- test/Project.toml | 3 +- 6 files changed, 87 insertions(+), 188 deletions(-) diff --git a/Project.toml b/Project.toml index 718fb71c0f..43f64546bb 100644 --- a/Project.toml +++ b/Project.toml @@ -6,10 +6,12 @@ version = "0.11.1" [deps] CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" CUDAKernels = "72cfdca4-0801-4ab0-bf6a-d52aa10adc57" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" +KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" +Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" diff --git a/docs/bibliography.bib b/docs/bibliography.bib index 8445dc50ab..4dc6056c63 100644 --- a/docs/bibliography.bib +++ b/docs/bibliography.bib @@ -313,6 +313,17 @@ @article{Mitchell1996 pages= {1710--1723} } +@article{MitchellHeymsfield2005, + author = {David L. Mitchell and Andrew J. Heymsfield}, + title = {Refinements in the Treatment of Ice Particle Terminal Velocities, Highlighting Aggregates}, + journal = {Journal of the Atmospheric Sciences}, + year = {2005}, + volume = {62}, + number = {5}, + doi = {https://doi.org/10.1175/JAS3413.1}, + pages= {1637--1644} +} + @article{Mohler2006, title = {Efficiency of the deposition mode ice nucleation on mineral dust particles}, author = {Möhler, O. and Field, P. R. and Connolly, P. and Benz, S. and Saathoff, H. and Schnaiter, M. and Wagner, R. and Cotton, R. and Krämer, M. and Mangold, A. and Heymsfield, A. J.}, diff --git a/docs/src/API.md b/docs/src/API.md index b4f2b717fa..fef8e555d1 100644 --- a/docs/src/API.md +++ b/docs/src/API.md @@ -57,13 +57,11 @@ Microphysics2M.conv_q_liq_to_q_rai ```@docs P3Scheme +P3Scheme.breakpoints P3Scheme.m_s P3Scheme.m_nl P3Scheme.m_r P3Scheme.m -P3Scheme.A_s -P3Scheme.A_ns -P3Scheme.A ``` # Aerosol model diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 9ef4f73a10..cba9a1955d 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -50,9 +50,11 @@ where: - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^({\frac{1}{\beta_{va} - 3}})``, the threshold between spherical and nonspherical ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38*10^{-11}``, a parameter from [BrownFrancis1995](@cite), + - ``\alpha_{va} = 7.38*10^{-11} * 10^{(6 * \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown - by vapor diffusion and aggregation in midlatitude cirrus; + by vapor diffusion and aggregation in midlatitude cirrus + — modified for our units of ``kg`` and ``m``rather than + their ``g`` and ``\mu m``; - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, a threshold defined to ensure continuity @@ -67,6 +69,13 @@ where: ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}``; - ``F_{r} = \frac{q_{rim}}{B_{rim}}`` where ``B_{rim}`` is the bulk rime volume. +Below is a graphical representation of the m(D) regime, replicating + Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): + +![mass_regime](./assets/P3_mass_regime.png) + +[add figure 1 b here] + ## Assumed projected area relationships The projected area (A) of particles as a function of maximum particle dimension (D) @@ -90,7 +99,7 @@ where all variables from the m(D) regime are as defined above, and: Particle fall speed (V) as a function of maximum particle dimension, following [MorrisonMilbrandt2015](@cite), uses coefficients - derived by [cite: Mitchell and Heymsfield 2005] and + derived by [MitchellHeymsfield2005](@cite) and an air density modification provided by [cite: Heymsfield 2007] applied to particles having undergone sedimentation. @@ -115,24 +124,22 @@ where: - ``a = a_{1} \nu_{air}^{1 - 2 b_{1}} (\frac{2 \alpha_{va} g}{\rho_{air} \gamma})^b_{1}`` - ``b = \frac{b_{1} (2 - \sigma) - 1}{1 - b_{1}}`` -The parameters governing the coefficients a and b of the power law are: +The parameters governing the coefficients a and b of the power law are from [MitchellHeymsfield2005](@cite) with exceptions as noted: | parameter | value | |:-----------------|:----------------------------------| |``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | |``b_{1}`` | ``\frac{C_{1} X^{0.5}}{2 ([1 + C_{1} X^{0.5}]^{0.5} - 1) (1 + C_{1} X^{0.5})^{0.5}} - \frac{a_{o} b{o} X^{b_{o}}}{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2}}`` | |``\nu_{air}``, kinematic viscocity of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | -|``\mu_{air}``, dynamic viscocity of air | ??? - 1.67e-5 for now? | +|``\rho_{air}``, reference density of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | +|``\mu_{air}``, dynamic viscocity of air | ``\nu_{air} \rho_{air}`` | |``g``, gravitational acceleration | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | -|``\rho_{air}``, density of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | |``C_{1}`` | ``\frac{4}{\delta_{o}^{2} C_{o}^{0.5}}`` | |``C_{2}`` | ``\frac{\delta_{o}^{2}}{4}`` | -|``\delta_{o}``, surface roughness constant for ice | ``5.83`` | -|``C_{o}``, surface roughness constant for ice | ``0.6`` | -|``a_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant | ``1e-5`` | -|``b_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant | ``1.0`` | +|``\delta_{o}``, surface roughness constant for ice (applicable to graupel) | ``5.83`` | +|``C_{o}``, surface roughness constant for ice (applicable to graupel) | ``0.6`` | +|``a_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant for aggregates | ``1.7e-3`` | +|``b_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant for aggregates | ``0.8`` | |``X``, Best/Davies number expressed in terms of m(D) and A(D) regimes | ``\frac{2 \alpha_{va} g \rho_{air} D^{\beta_va + 2 - \sigma}}{\gamma \nu_{air}^2}`` | - -> **_NOTE:_** Uncertain about delta_o, C_o, a_o, b_o values: Heymsfield (2005) gives multiple possible values, -> each of which is more accurate under certain conditions (convective with graupel/hail and stratiform with ice -> crystal aggregates) ... would like to discuss this to make sure I understand -> **_ALSO:_** Uncertain about what value to use for dynamic viscocity of air +|``Re_{agg}``, Reynold's number used for aggregates | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2 - a_{o} X^b_{o}`` | +|``Re_{grau}``, Reynold's numnber for graupel and hail (we drop the ``a_{o} X^b_{o}`` term here) | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2`` | +|``A_{e}``, effective particle projected area accounting for increased boundary depth ``\delta`` | ``A(1 + \frac{\delta_o}{Re^0.5})`` | diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 9889222409..0fd83d573e 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -7,47 +7,27 @@ Predicted particle properties scheme (P3) for ice, which includes: """ module P3Scheme -import SpecialFunctions as SF - +import CloudMicrophysics as CM import Thermodynamics as TD +import NonlinearSolve as NLS -import ..CommonTypes as CT -import ..Common as CO -import ..Parameters as CMP -import NLsolve as NLS - -export m +const CT = CM.CommonTypes +const CO = CM.Common +const CMP = CM.Parameters +const APS = CMP.AbstractCloudMicrophysicsParameters const FT = Float64 -const APS = CMP.AbstractCloudMicrophysicsParameters -const ρ_i::FT = 917 + +const ρ_i::FT = 917.0 const β_va::FT = 1.9 -const α_va::FT = 1e-3 * (7.38e-11) * 10^(6 * β_va) -const D_th::FT = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) +const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) +const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) const γ::FT = 0.2285 const σ::FT = 1.88 const δ_o::FT = 5.83 # UNSURE about these four constants below const C_o::FT = 0.6 -const a_o::FT = 1e-5 -const b_o::FT = 1.0 - -# more constants for now until we add constants to CliMA parameters: -include(joinpath(pkgdir(CloudMicrophysics), "test", "create_parameters.jl")) -toml_dict = CLIMAParameters.create_toml_dict(FT; dict_type = "alias") -const param_set = cloud_microphysics_parameters(toml_dict) -thermo_params = CloudMicrophysics.Parameters.thermodynamics_params(param_set) -const ρ_air::FT = param_set.ρ0_SB2006 -const ν_air::FT = param_set.ν_air - -# TODO: should I define the constants like ρ_i and α_va here? -# polish code -# figure out what B_rim is -# figure out how to compute ρ_d, ρ_g, D_cr, D_gr: -# they "form a closed set of equations that can be solved by iteration" -# so do we use IterativeSolvers.jl here? Or do we have an in-house solver? -# finish adding A(D), V(D) regimes -# instead of using if/elif/else statements, would it be better to define -# new types (i.e. small spherical ice, graupel, etc) ? +const a_o::FT = 1.7e-3 +const b_o::FT = 0.8 """ breakpoints(ρ_r, F_r) @@ -55,39 +35,34 @@ breakpoints(ρ_r, F_r) - ρ_r: predicted rime density (q_rim/B_rim) - F_r: rime mass fraction (q_rim/q_i) -Computes breakpoints (D_cr, D_th, D_gr) of the system - which govern m(D) and A(D) regimes. +Solves the nonlinear system consisting of D_cr, D_gr, ρ_g, ρ_d + for a given predicted rime density and rime mass fraction. """ function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} - D_th = ((FT(π) * 6) / (6 * α_va))^(1 / (β_va - 3)) - # Let x[1] = D_cr, x[2] = D_gr, x[3] = ρ_g, x[3] = ρ_d, + if ρ_r == 0.0 || F_r == 0.0 + return [NaN64, NaN64 , NaN64, NaN64] + + else + # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[3] = ρ_d, # and let each corresponding component function of F # be defined F[i] = x[i] - a[i] where x[i] = a[i] # such that F[x] = 0: - function f!(F, x) - F[1] = - x[1] - ((1 / (1 - F_r)) * - ((6 * α_va) / - (FT(π) * x[3]))) ^ (1 / (3 - β_va)) - F[2] = - x[2] - (((6 * α_va) / - (FT(π) * x[3])) ^ (1 / (3 - β_va))) - F[3] = - x[3] - (ρ_r * F_r) - ((1 - F_r) * x[4]) - F[4] = - x[4] - - (((6 * α_va) * - ((x[1]^(β_va - 2)) - - (x[2]^(β_va - 2)))) / - (FT(π) * - (β_va - 2) * - (x[1] - x[2]))) + function f(u, p) + # implementation of above function with domain shift exp(u) + return [ (exp(u[1])) - ((1 / (1 - F_r)) * ((6 * α_va) / (FT(π) * exp(u[3])))) ^ (1 / (3 - β_va)), + (exp(u[2])) - (((6 * α_va) / (FT(π) * (exp(u[3])))) ^ (1 / (3 - β_va))), + (exp(u[3])) - (ρ_r * F_r) - ((1 - F_r) * (exp(u[4]))), + (exp(u[4])) - (((6 * α_va) * ((exp(u[1])^(β_va - 2)) - ((exp(u[2]))^(β_va - 2)))) / (FT(π) * (β_va - 2) * ( max((exp(u[1])) - (exp(u[2])), 1e-16))))] + end + + u0 = [-5.0, -6.0, 6.0, 8.0] # guess for solver + p = [0.0] # (no parameters) + prob_obj = NLS.NonlinearProblem(f, u0, p) + sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) + D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space + + return [D_cr, D_gr, ρ_g, ρ_d] end - sol = NLS.nlsolve(f!, - [0.001; 0.0003; 1000; 1000], - autodiff = :forward) - D_cr, D_gr, ρ_g, ρ_d = sol.zero - return D_th, D_gr, D_cr end """ @@ -130,125 +105,30 @@ end m(D, ρ_r, F_r) - D: maximum particle dimension - - ρ_r: predicted rime density (q_rim/B_rim) + - breakpoints: result of breakpoints() function, i.e. + a vector containing D_cr, D_gr, ρ_g, ρ_d, in that order - F_r: rime mass fraction (q_rim/q_i) m(D) regime, - which computes breakpoints, classifies particles, and returns mass + which computes breakpoints, classifies particles, and returns mass; + used to create figures for the docs page. """ -function m(D::FT, ρ_r::FT, F_r::FT) where {FT <: Real} - D_th, D_gr, D_cr = breakpoints(ρ_r, F_r) +function m(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} if D <= D_th return m_s(D, ρ_i) # small spherical ice - elseif q_rim == 0 + elseif F_r == 0 return m_nl(D) # large, nonspherical, unrimed ice else - if D <= D_cr + if D >= breakpoints[1] return m_r(D, F_r) # partially rimed ice - elseif D > D_cr & D >= D_gr - return m_s(D, ρ_g) # graupel - elseif D < D_gr - return m_nl(D) # dense nonspherical ice + elseif D < breakpoints[1] + if D >= breakpoints[2] + return m_s(D, breakpoints[3]) # graupel + elseif D < breakpoints[2] + return m_nl(D) # dense nonspherical ice + end end end end -""" -A_s(D) - - - - D: maximum particle dimension - -Particle projected area relation for assumed spherical particles -""" -function A_s(D::FT) where {FT <: Real} - return (FT(π) / 4) * D^2 -end - -""" -A_ns(D) - - - D: maximum particle dimension - -Particle projected area relation for assumed nonspherical particles, - from Mitchell 1996 -""" -function A_ns(D::FT) where {FT <: Real} - return γ * D^σ end - -""" -A(D, ρ_r, F_r) - - - D: maximum particle dimension - - ρ_r: predicted rime density (q_rim/B_rim) - - F_r: rime mass fraction (q_rim/q_i) - -Assumed particle projected area regime, -which computes breakpoints, classifies particles, and returns area -""" -function A(D::FT, ρ_r::FT, F_r::FT) where {FT <: Real} - D_th, D_gr, D_cr = breakpoints(ρ_r, F_r) - if D < D_th - return A_s(D) # small, spherical ice - elseif q_rim == 0 - return A_ns(D) # large, unrimed ice - else - if D <= D_cr - return (F_r * A_s(D)) + (1 - F_r) * A_ns(D) # partially rimed ice - elseif D > D_cr & D >= D_gr - return A_s(D) # graupel - elseif D < D_gr - return A_ns(D) # dense nonspherical ice - end - end -end - -""" -V(param_set, D, ρ, ρ_mod="n") - - - param_set: abstract set with Earth parameters - - D: maximum particle dimension - - ρ: particle density - - ρ_mod="n": optional keyword argument specifying whether - the density modification is to be applied - (default is no modification) - -Assumed particle fall speed regime -""" -function V(param_set::APS, D::FT, ρ::FT, ρ_mod="n") where {FT <: Real} - ν_air = param_set.ν_air - g = param_set.grav - ρ_air = param_set.ρ0_SB2006 - μ_air = 1.67e-5 - X = (2 * α_va * g * ρ_air * D^(β_va - 2 + σ)) / - (γ * μ_air^2) - C_1 = 4 / (δ_o^2 * C_o^0.5) - C_2 = (δ_o^2) / 4 - b_1 = ((C_1 * X^0.5) / - (2 * (((1 + (C_1 * X^0.5))^0.5) - 1) * - (1 + (C_1 * X^0.5))^0.5)) - - ((a_o * b_o * X^b_o) / - (C_2 * - (((1 + (C_1 * X^0.5))^0.5) - 1)^2)) - a_1 = ((C_2 * - (((1 + (C_1 * X^0.5))^0.5) - 1)^2) - - (a_o * X^b_o)) \ - X^b_1 - X, C_1, C_2, a_1. b_1 - a = a_1 * - ν_air^(1 - 2 * b_1) * - ((2 * α_va * g) / - (ρ_air * γ))^b_1 - b = (b_1 * (2 - σ) - 1) \ - (1 - b_1) - V = a * D^b - if ρ_mod == "n" - V = a * D^b - return V - elseif ρ_mod == "y" - return (ρ / ρ_air)^0.54 * V - end -end - -end # module P3Scheme.jl diff --git a/test/Project.toml b/test/Project.toml index 617ed2ea80..da1b68f054 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -3,10 +3,11 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CUDAKernels = "72cfdca4-0801-4ab0-bf6a-d52aa10adc57" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" CloudMicrophysics = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" IsApprox = "28f27b66-4bd8-47e7-9110-e2746eb8bed7" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" +Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" From 1757c46cd9f6f1ad78b0e084979514dd023cc28e Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 13 Jul 2023 16:35:18 -0700 Subject: [PATCH 28/52] JuliaFormatting fix --- src/P3Scheme.jl | 55 +++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 0fd83d573e..c81aedd646 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -40,28 +40,43 @@ Solves the nonlinear system consisting of D_cr, D_gr, ρ_g, ρ_d """ function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} if ρ_r == 0.0 || F_r == 0.0 - return [NaN64, NaN64 , NaN64, NaN64] + return [NaN64, NaN64, NaN64, NaN64] else - # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[3] = ρ_d, - # and let each corresponding component function of F - # be defined F[i] = x[i] - a[i] where x[i] = a[i] - # such that F[x] = 0: - function f(u, p) - # implementation of above function with domain shift exp(u) - return [ (exp(u[1])) - ((1 / (1 - F_r)) * ((6 * α_va) / (FT(π) * exp(u[3])))) ^ (1 / (3 - β_va)), - (exp(u[2])) - (((6 * α_va) / (FT(π) * (exp(u[3])))) ^ (1 / (3 - β_va))), - (exp(u[3])) - (ρ_r * F_r) - ((1 - F_r) * (exp(u[4]))), - (exp(u[4])) - (((6 * α_va) * ((exp(u[1])^(β_va - 2)) - ((exp(u[2]))^(β_va - 2)))) / (FT(π) * (β_va - 2) * ( max((exp(u[1])) - (exp(u[2])), 1e-16))))] - end - - u0 = [-5.0, -6.0, 6.0, 8.0] # guess for solver - p = [0.0] # (no parameters) - prob_obj = NLS.NonlinearProblem(f, u0, p) - sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) - D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space - - return [D_cr, D_gr, ρ_g, ρ_d] + # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[3] = ρ_d, + # and let each corresponding component function of F + # be defined F[i] = x[i] - a[i] where x[i] = a[i] + # such that F[x] = 0: + function f(u, p) + # implementation of function with domain shift exp(u) + return [ + (exp(u[1])) - + ( + (1 / (1 - F_r)) * ((6 * α_va) / (FT(π) * exp(u[3]))) + )^(1 / (3 - β_va)), + (exp(u[2])) - + (((6 * α_va) / (FT(π) * (exp(u[3]))))^(1 / (3 - β_va))), + (exp(u[3])) - (ρ_r * F_r) - ((1 - F_r) * (exp(u[4]))), + (exp(u[4])) - ( + ( + (6 * α_va) * + ((exp(u[1])^(β_va - 2)) - ((exp(u[2]))^(β_va - 2))) + ) / ( + FT(π) * + (β_va - 2) * + (max((exp(u[1])) - (exp(u[2])), 1e-16)) + ) + ), + ] + end + + u0 = [-5.0, -6.0, 6.0, 8.0] # guess for solver + p = [0.0] # (no parameters) + prob_obj = NLS.NonlinearProblem(f, u0, p) + sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) + D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space + + return [D_cr, D_gr, ρ_g, ρ_d] end end From d7f50f097ad243f11b7e705f559bc54841874e62 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 13 Jul 2023 16:39:20 -0700 Subject: [PATCH 29/52] JuliaFormatter fix 2 --- src/P3Scheme.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index c81aedd646..5f00d1998f 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -41,7 +41,7 @@ Solves the nonlinear system consisting of D_cr, D_gr, ρ_g, ρ_d function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} if ρ_r == 0.0 || F_r == 0.0 return [NaN64, NaN64, NaN64, NaN64] - + else # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[3] = ρ_d, # and let each corresponding component function of F @@ -69,13 +69,13 @@ function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} ), ] end - + u0 = [-5.0, -6.0, 6.0, 8.0] # guess for solver p = [0.0] # (no parameters) prob_obj = NLS.NonlinearProblem(f, u0, p) sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space - + return [D_cr, D_gr, ρ_g, ρ_d] end end From 560adee509bfd034e52efab96e21bf6d9b7a398c Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 13 Jul 2023 16:47:30 -0700 Subject: [PATCH 30/52] adding png for replicating figure --- docs/src/assets/P3_mass_regime.png | Bin 0 -> 70513 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/src/assets/P3_mass_regime.png diff --git a/docs/src/assets/P3_mass_regime.png b/docs/src/assets/P3_mass_regime.png new file mode 100644 index 0000000000000000000000000000000000000000..7b2a02462bb651208e0278b5423874745247ede8 GIT binary patch literal 70513 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 CmD^ST literal 0 HcmV?d00001 From c424c344b82458891146a9cdf060d160bc6ab50b Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Fri, 14 Jul 2023 12:09:46 -0700 Subject: [PATCH 31/52] Figure 1b from M&M 2015 --- docs/src/P3Scheme.md | 37 ++++++++++----------------- docs/src/assets/P3_mass_regime_2.png | Bin 0 -> 66825 bytes 2 files changed, 14 insertions(+), 23 deletions(-) create mode 100644 docs/src/assets/P3_mass_regime_2.png diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index cba9a1955d..f3aa9a793d 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -47,35 +47,26 @@ The mass (m) of particles as a function of maximum particle dimension (D) where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^({\frac{1}{\beta_{va} - 3}})``, - the threshold between spherical and nonspherical ice; + - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}``, the threshold between spherical and nonspherical unrimed ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38*10^{-11} * 10^{(6 * \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), - derived from measurements of mass grown - by vapor diffusion and aggregation in midlatitude cirrus - — modified for our units of ``kg`` and ``m``rather than - their ``g`` and ``\mu m``; + - ``\alpha_{va} = 7.38*10^{-11} * 10^{(6 * \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, - a threshold defined to ensure continuity - and reasonable masses for smaller D; - - ``D_{cr} = ((\frac{1}{1-F_r} \frac{6 \alpha_{va}}{\pi \rho_g})^({\frac{1}{3 - \beta_{va}}})``, - the threshold separating partially rimed ice from graupel; - - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, - the rime mass fraction (``F_r = \frac{q_{rim}}{q_i,tot}``) - weighted average of the predicted rime density - ``\rho_r \ = \frac{q_{rim}}{B_{rim}}`` - and the density of the unrimed part - ``\rho_d \ = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}``; - - ``F_{r} = \frac{q_{rim}}{B_{rim}}`` where ``B_{rim}`` is the bulk rime volume. - -Below is a graphical representation of the m(D) regime, replicating + - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}``, a threshold defined to ensure continuity and reasonable masses for smaller D; + - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; + - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where the three determiners of ``\rho_g`` are defined: + +| quantity | symbol | definition | +|:--------------------|:----------------------|:----------------------| +|rime mass fraction | ``F_{r}`` | ``\frac{q_{rim}}{q_ice}}`` | +|predicted rime density | ``\rho_{r}`` | ``\frac{q_{rim}}{B_{rim}}`` | +|density of unrimed ice | ``\rho_d`` | ``\frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` | + +Below are graphical representations of the m(D) regime, replicating Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): ![mass_regime](./assets/P3_mass_regime.png) -[add figure 1 b here] - +![mass_regime_2](./assets/P3_mass_regime_2.png) ## Assumed projected area relationships The projected area (A) of particles as a function of maximum particle dimension (D) diff --git a/docs/src/assets/P3_mass_regime_2.png b/docs/src/assets/P3_mass_regime_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8afa37592d63708b0e69544f8814ff57b752c9d0 GIT binary patch literal 66825 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 Date: Sun, 16 Jul 2023 20:27:05 -0700 Subject: [PATCH 32/52] updates to figures --- docs/src/P3Scheme.md | 10 +++++----- docs/src/assets/P3_1.png | Bin 0 -> 85161 bytes docs/src/assets/P3_2.png | Bin 0 -> 103532 bytes docs/src/assets/P3_mass_regime.png | Bin 70513 -> 0 bytes docs/src/assets/P3_mass_regime_2.png | Bin 66825 -> 0 bytes 5 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 docs/src/assets/P3_1.png create mode 100644 docs/src/assets/P3_2.png delete mode 100644 docs/src/assets/P3_mass_regime.png delete mode 100644 docs/src/assets/P3_mass_regime_2.png diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index f3aa9a793d..1e6da9efc7 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -49,24 +49,24 @@ where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}``, the threshold between spherical and nonspherical unrimed ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38*10^{-11} * 10^{(6 * \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; + - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{(6 \times \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}``, a threshold defined to ensure continuity and reasonable masses for smaller D; - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; - - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where the three determiners of ``\rho_g`` are defined: + - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, bulk density of graupel, calculated with the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where the three determiners of ``\rho_g`` are defined: | quantity | symbol | definition | |:--------------------|:----------------------|:----------------------| -|rime mass fraction | ``F_{r}`` | ``\frac{q_{rim}}{q_ice}}`` | +|rime mass fraction | ``F_{r}`` | ``\frac{q_{rim}}{q_{ice}}`` | |predicted rime density | ``\rho_{r}`` | ``\frac{q_{rim}}{B_{rim}}`` | |density of unrimed ice | ``\rho_d`` | ``\frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` | Below are graphical representations of the m(D) regime, replicating Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): -![mass_regime](./assets/P3_mass_regime.png) +![mass_regime](./assets/P3_1.png) -![mass_regime_2](./assets/P3_mass_regime_2.png) +![mass_regime_2](./assets/P3_2.png) ## Assumed projected area relationships The projected area (A) of particles as a function of maximum particle dimension (D) diff --git a/docs/src/assets/P3_1.png b/docs/src/assets/P3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5b9c4d17aa274084ce64a2d845b0a14ef8cf6742 GIT binary patch literal 85161 zcmeFZXH-;cur1o47(hUjAXyP4gCa>l5ET$mkko`GisYPg5)dURSwND4#3l#H8I&wJ zg9OPSIm4^gz0bY(-E-eNZ;bcztUU(yrkmAk)mJrZ*8Hm0+vhS8__!3f2m}IO^2uX) z1mfHS1mbM&1#I{Yn=Vle{B!Pww8Ue?DdxY#%G59f;yOa|v8bZs$K^2xZAHD|-Sr8d zrz}aYiIW+z9t&K+mEyeEiv6jaR6CP;xy-)zygCW7m`0RApN0m`keJqhI5ypr0pI60 zdA6>6czm7y(XHsGzmBH^Z^&}h(m&NF_`bWT%x@EScVNb|j&q>YB4A{N6fOb|ZKSA| z`QMj_ua~je{=WP`f%VV(PlFJ6e}DHy+!N>TD}|dim^(orJkyD^vHrZO>AjHq=LJIB z_^is`SGRfo`*iW(>1KAoSW+OYZQCjE9I1vv#*Du__oUCB4 zS>$AWF*ApT-|~UHrRDEjo%*VSMb_ykgy%sZpqZ!h-1IvU_tWEDH}|26iVBgVpM*F# zIKtIjo(G>L-qEzj@C3YhbK9Mqn3z62Ihj8385RP&bIQK_%-9(O;&+0_$z}p2pZP~Y zhwR1|>-&uZIa;T6c${o%g-qPsy>n#epHIMh9L&r{Z6EGfR3F3(dz4=6`%96TTxLQ1&dA7rs88ORoiP$=$2v^k_~bfRsH(#G}eW zK%6J;zKeZ-mMSYU>y5uZ3me$B)5gpLKBd&bm7TTfQ}@AK9V{n@k`cFNYKP^C zY7s_8MnOTB`K}~d_dT5l0_kRO?fbhE9@VBp`7Udf4&BL;UgqZ!mmP&3UO+r>lY9Q$ za(B$3`gmtVuZLAqBAAMqiD|IX#Q`iGbQ6!1%~Bw4HDTu0FAj||+oQepwW>pNcq>&V zE+#e>HB|oe!|fzd?{jd?8DoSBtzVu-cYn2-o{M+k=n7Ko{8{fO=&)MxqR}62emTeE zcqx({1)s@xKR$S{tCTwGFyZDfW~Z!|LrP3sadNP9<~+euNl9{H*S)T!N2j|UrvtOr z`x%y;lt4|KX7-eZh+$-D;cgVJNo|=w+wdzTg_1O9$k>KJ+3!Q>q; z9JsUfhO4r~q@-0FEvykFqwa?*O*R5>G0UT+HjS?oQf0>AR|&2g-$|6!^T0M=zw+k{ z43#^qy&<~E#l`jM(d?DxbJ6ft38J>XUk926PMOUf-Ks=!q-=j%$U z_c%SAI5|F)KKK=Dfz89AxXXqrHl6tv^7idpaBcM7BG`fP>4(eYy0+y*gIT`8#K-e6`GEyuvBeer32XU4b!&r?Ii|Dx=KNQ~;-d-D06m z{p%LGjER$-5^!`E2s*d!iUbl;(qi*50YSlX2mrX?i?)JFMJ5B;t(?`alQmu@{aJT{ zO~)&SR_u3I#{_eO`pE6eE8+d~gfv?e+9YITyGsLWTMIq#r$(?63+o?0euTfRFzAez zj^bc1|E+Gf)GFY#@lsv=W1sPTn_o{CUd-v=H5)G6+S11&?t`PcZA{n;9V#=U6|cIELWJWeZ< z8yXtAZ&o^QV2Nj+0CxwUr^u8zLfF@{W#r(x{`~SxPdov9-0f-la+7rUG2-_QX1aJwS}8A;$2wv_s*&NpG+X z1uNZt13urVw(B~03lbUj@#E3S;aY(T)*`~MetrJ)yDA9G2$C#RNylJIf!RngiB{!u zek=XTa1raxo1gW!XRl%PzrXP)WB(op){h@Qc1LYw7v@zZCBKhYRJ%2jD35xa9($Qx zLR_}Q(8ON1waVRbh_YASZpF3_04S_7U;LLRH+HbZjCui^kr3L)%y{y zjg)j67xnigC94+bn}NOKT~_yd5>B>aCyu^&oSrNVB78)8#!Me}Dgc6}Fx)&%(GZ#w)BRYUE2x zO93cpZ)?{;<~iJ6a+r-!7Ct@N1oN_@6ueQ-?VOyPWQF%&tpD1xRk#Hc^jFjByt~L+4~?ra6Jo)Hw1Sh^zz$#fK))Zz7$q@YJSVf4#71l0o(ba0nL$0m)#a*ZTU4o0RVEh z=^#G+_L%LTezX{{kD7M}0zqp7dAo;+g=M(f<1|89lX)SpnFdvAjj``Ls(UXg4u%X8 zBo`r%gP%&!y4m(Txmq$I*dD|t`B&_QXiYHg8_r4 z0FsrFJ%BV2wI|CdE!O;0g7(X|<1-KTrr)iVuT}9)xNbtCY5Ls?q(-%P4_z|u|K^S3 z!9pq?F7Bv#N$YIP9o^S`#&LoU=B2HeNE8(n1>R7+-fFkhPmWa!a58GX3u`=FXtW9T z_&R2u+T#Q{#U!T^+5L=fOmT+}v)tRv9BnFGMs+?HHMKPIUWkFK(mKtA6c}_;NaW|| zW0EF-%l6Vh6gsP)J*^DEbqb-kIkWMsv>WJJFJgOp%pnbZP(vaNS@b#*4$rN0LA zbelMX%ml7pz1kWvX5Gpj`a)NiwLJLF16yDV0}y23f=`^M-ZBPi2~Y(C3_2}zr+_<^ zPX`N5O;5LyLI4TeyLXS5cL&U2Q$A*2?pEW8MJV*!GkKvWm6B&+VF8wrgNbPmOvZ3L zCvv(E@FO00Ee|qaxA~(-k39B%`hn|htxb4rFZMO9&n0+hc9Utj$_=F=5H)@n5W5`* zkto$2=P-WHYU*)RtI`gGu2$)QmdCMj^?}mRG)GkHppGTvyxDB~5wjA>1Mm^|9k)yp z?Pu{qLrf6eeyo|mHXOar;RmXJQ40(Z`CW77-Tj>pBP;f$>X52J6k{Hgj;#VY8%kq# zSp9HEmmaNFl(F@#&KHj%h>|bcbm-(NzSl&Tdc|Si8OYWJ@DMduv8qJ z`v>!%XM@Se$Yf)<(}60HOr)`tBramYFEKF@PF%WN3z=L=zSLXEc5D7efYX;O02VPZ zF(s$ZV5-yOH4n~XJw2>`PWN>@Np@6m*0Mm;r5}(XXDVsS3{@Jwwsq=Vu&<=ft?+_wFNFqG2uffyjR1|1w7IhkF0EL6+>T|QkQ;w zmeADHES0?vl-tM02l8PgjaH>|QS!v;$!>%jNE@!-3`}%@Zfjk{!wcIQcUc1iF*D7d z3aw4RiQ8lOM7Fvf9qz7ix(G2brNKHf%EmvHm8Ipk)E4GAzH0#RSq;{Of&zK)BqqZWFT=b!m^$p%vx7!Xce!jY0B0$+ zua-KEP439nNcNuYZd_d443|$yl3}-+E{yv^DrCQZ{}|ZE;gFOr-Z$%N+7>Pv5+Roz z)AmK_6##8a7-6fJmmC6kRRFNK>?|{<1Lt2~Uk6I=u^@4naJruW(Fv^NIAt?5^k93* zz*Q#;%c5i?icNK6XT(C9Yt>FhM#k9Kcu0h}DPcXQ>cIGWD1)AI9N(}YWCNUPJ_KU# z9H!E^MM6Siw?7*dC1`k*nXlU%44%4iAU|Yhb}3ahf#BjrqweIl79*@0KfZrp-(cb3 zkm&~AlR>FX?!2?C>by?Mt`@HG@NgkDLD*q+6xc!xpM~aXme-l{uYG*7G|KzUOC-d_ zA>3C+N+^|?Q2K>4_T_iExU$O@GZuG#g_SF8%gT-Iv^eh!8N8zwv~TAbaMbV?x^?Rd zWX%b;-7#s-O2s?rr8R&<03S26vk;k?qgJ~6X!vw^c)0rYmi3kwd6y`-)6TUkYFJsV z15-EzGNPO^__cbqWp~uJRGsDOA+n?@JP*+iuue`yWCdr&1fnfx9m)cO-WKd=Or`;# zB&DJ<%^E-&11^PLxq3BdA_ek3cw=ISGR4x+eIP2p(Dh`8icF%cj)9{q3ynj9YY_&` zOSpk<6@mEB3)O+#dg7fZE3YVE1ufK^92{WCbte}{sZC@+fikmhK?P`-sBiHj>5*TH zCKob8=E;-a2VbCC1wyknUK#rE;lsdMx|>8yv$g_3oW{Jde@$g|C$Mn=DhPE|uaH@C zy;=21QpF#`MJ9Y^!?s{LMbjFUZ=*jg!^?SYt#7n)o*oQTa|l}6Vu?R+^_p00lE&P$ zsvGmo8vlR*;QvdZVPVbhXtjn&Xk3=_0LS5mnj0Fz?^jvRN*!~%GZ;as*c9eX;HNuQ zW(Vn}=|G)CcE8=iU14<(^3~1s(Qk|hM3K)$5CoqtV$0_70A@qT@bX#*Xtl zxV#{0dIfp;mddS_k_jma0o%0o*2Ki?(_eD5s>gp?Zmo>)LFsMkhD7#v#0f%KKMEWn zznPk#87g&l(tu6}ejG#%D@Ms&{0dkRE*;Ud9F zbah%F1y9T1MTYWA~zg)k~>SR_<;}$qDxNFYBSLvl;wZ zy9Fha1{22toK??#alX+*Ek#L~)u)M2(`8^_0OEECg@SQgyOJ-F_pjMmAPL#a@-NQC zw(GlwN%wRw_EQ#HOvHzUT_q)rjEk!T9BQWZIFj`^=z%i=mmrKRuLC9;NS+OaU&MV) zb@dAUb_z*AbPfmqJ2FZXrV(8FRd8pDtAy6Z#u;PgwA_YWI5c$U{>iIp(=oheYAPy@ zzuL%YIlPMuf6z_S4$ejnFgL4+oX{D(VKIh^4|umsoPZr9zKq`8l@SLZt57tS9~ZCZ)7~jN(Yt9CLnT6iE!|(Wj)$ zu2EJ9$%^p)Ru_~p&bzA`#Ty_$gi`RD4nkhbZ|>>o+1%U=3k?lKUt-m)c#*3#wEj-` z;0cC@y*%n(u#K?{B|tonx(v$r^Jel*B2`t@D%@P);hOIIdXkS`Um^!5!(jnNPeV+s zSP)UoiP0{g4$>4C7uUmqG-*1Ro3uVU3gKUFyRflZzIFmq&j$fJX(mDv0m@$<$k4gVBP~!+3jwlU#RlU~C2?*}Z zU+vOQpR$$kM&I%O5D{Uw_xq>6S9l()9AofTApvv&wXggLWek=l6zs;^L2K`Nuf z>d(xnqM)R7X=N|D*6MEuW%KA@xRrzySq)1>R8$H0`W|`abn`pN zRQH60MwKlzjGF?okE*!VpVct;*;GV%~>}CAISqRhN=r#TG8@4 zc#}PpaNk01%B0$WA_f%Iv^VX?Raqf9tB90Vj&h8`v>I~&6x&UZ<7JT=MlzEG70#&< zNa-T0B$O=d$D8tF&XPb+Ri3)_rpcw850cF6zLQyfG|SnP;Gj!cYfZQd*}M{Dxs9EV ziR<5Vs@;zRaehdxOjMtOZ^FuRI$RampSkK+e+L%v%d=PvRr%?2@hZ#yIH;?Xm{R*g z@SXcV?M#Xj+|oZ~W|v9H>+9>2Oeo9iO)~<$1e}SzYajz_shq9uJ6j(LMk_tAdPH*@bpsom04|2-@gD3lH#Z06W4p*1*KtR~YIQEWK6^|9vKa81cmD{6}(WsKup@L?W zn)2RoW(86X^*yL%PJR-4+$OyhW(zRz_9`Rzk~`G1P;9vk9k7hQ!UNo21A+`SdRMuF zh3;>OZcsZwO^65!+uR<|iW0_EW?^PdhkKuJKQwDJ7{$&82@B$=X*v?(8}cw)3Ex9U z$Gy}9_u)@s0pMTc-g2QkAU^8U`G91HsZ(a-e`T6ihTMsut`2?K;0kUGN+(8K29pO( zgLDCPbrUA0C$eG1K!)Sx8U-F7iN`9Z8mYWK)!-HSd;IpDd^@4)d|w7Y^0wDSM1Bx zvq7~eG9PmW8$i*)b+U3$5D!WbRA-Y=@`#Em9eWLd8x5COXdT=MT6+Ncl3B?Za>(8b z=)61BJ(w+ysMfwhBZbU9=OuKBOuSI3Y0$_DW?fi2Xd|4VzBOo%(QEs_ZPMTN)6(bl zYhd!%CfYuH_yA-eqkmO~M5Ga?&~#`6(qvP4RCxHci9(QQ$bX7~H_B9QbxTV}vR%Z* zg@rTfO00$Q7bA%^1yO3Xv8S~afZ<1NI*-9I9OvR3;z5Lme93Fv%OoOl`kK=GD~JIc zxw*<ajH(I+t_2olZ0$2wRv~=_1J)5IVdq~Ag@IT<@ z*ffs5N^95y0$+mq099hHv3*qp%n7>4 z*U{IHF-+JOa^o>ZizxY|u;O&GKetx4lH1VIEvWE~MYv42(wS{o42p|q@fphdzRPx4+8%aq?7?NSB3cv$52m;Y@kCK}< z+lhvE(O`n}Vme&kepQll{jBvfV5J~7&5{=1JrRl=8M+MLaN*B4Gy+UiA8km-wj)O@ zxWS6>N0>6Fcw*i_72OYVOO9HR@y|Nnh`tKIGti#hS4-!PhE(E8UNquLf~J6Hdvm)3 zG|F)ZIKb+tcC!h`=^#vgtb#v)G7Ni=5`iGQ$=`(!N{PtZz(7~fCs!*rJ3wD;7_`da zb%p&G*z)+L%7Ebr7Tw9;A*ze5XIswGI3_~Xp2B(jyPnYISKIzB$P<|A*CfeGT?KSX zNZ3$dy(Xlknb%y5<24)h@$&;XD**BeCqqQ+A{?H2T*^qs9arE zgR7br4f}N^kUSybUIIJ(0GA_WQ_1x>buS+qhfsq}!coh5d|)SpwpxIv#D8k2IFOkH z;$#v!si63ijpbeWtA_qwiGW6u=bitfpG2jB8f*r~|M$L=qR9t*2$4J$HZSwP-6_4Q zuuHeY(Q)=anp!Sq9i$+8x`q`L6>X;)E&`0x($darB5FKLd1LE;zIpo=WGy^fPQ)Z5 zfnU9Tfv>M`V?)E)GBViz&B|g+?I8yd@5+@c^P0wWgtBg!UB*Ahf49c`Cw)MF)&qf{ z|1PHR9wR_p|NQ~_ zjB1EU&4o#Km%G0jM2#ON1U}fs?p3hqJJD;b%;Ha7_F7G;3UK|2)7Z$&Ap@)uv)BFs z8x!A{F z5IpHQimH*J6h}t#XaBjNx>pQCro4XjL?Eh@l9JA^P72<;7eACq%1*4fLd!tfs?(;a zNe84?H6&-xBL{$`BA6*xFO+7Vv`iBn> z9Iz0#iD+(|{pUXZM-2WaYx%dQOJuSCSzaDk&E6irV>}zDfJ6|LC%u)}iGrP$+wAt3 zbN&9jY&v8bI%C~8X_|_=oG)q3G*IFO0r`Ra>VI^I-NFd>z8+@x+}BdcL(LcatXF-q zp(ml}*3J66E`6WG@HFkp-Ml&;Gw@V9)&E2t`1;jf{VyhlEOYgjEGjKen+oa z3C^Dlf6UcuX(PuEZ($3-`kKN)UpQCI zyZnOtE}5n3Jp3c+*yX07R4voKN3}2Vo|HYdaDZeCD4T^eadmYC zXZ9SPV&eGDZYhOZ!fQxO%JyBq0EiKAw%pv@2M*^azJFhD(=0MfN;E!Y%2OfG-D%1A z{hVjR$zl7W#*lf$6Mw}(vB(D{3bOa82x8kwSFMZQym_CT#zd}#cn}vE5dkvf^wbnE zF6=SsXL~nnCW#(G*xX>_XJTXF?$Suy`PX(#*zLnt(n$eQX;!~IX#^~UPMWvB|MuMc z{}X9=H~x!}hJjm8<|C8Vbr+HL_qGZ-kv5FB__l&+Jmlnmg2>p?-r?C|T3%=t?yi~E zdv0ZF|Cdp=)dVUeL=Ztm-^jFjkM={kZN8Y7vv;i^5ZLc9U5*M&mSv{A5SiG_MUO$|h4fT&)90_({8#!NCnd(p zn0b+Tc`Y5;wL>FC+QlynSnc1^Y&n_0Nxn34V9wlST}<+X2S>eR6u8&o}R`yb1$icm87|sg8bJa(a*Ws zlDx6)KP{nb^6~Y>DHGh2kqI`~$q>WCQ96`(+h~2QKpE-lml4ugo;kPNVxRd~KKTV( z{@JoP=a!$AgQmrnQJG?oedxu+zVBfp77PEk1Q>nh-DPZuI-Ock9l0d0RqP_pe{Dx( z*dO_%=z=ZYZ%YYrmRq;FG{9GUBrg0-%>R{U(VBN+_h zPlk%5)6=D-doq;T)w69-CFja+{7Kz4#3x0wdzA_LPs-AjTT8E&ohzg6jS0NexvUgG z%EMn?e#@>`MH1QVW+Q#bG$FajJk0~?$7 z>yhc{0=D0zMW>r6?mYbdT}tx%MOv!q=fsPsF9J>v%VM}&DUr)QoA*C zA0!3;^IDNcE>%@`^Ucsl|MdG>5^Zc2nMN~~2)GVPi-z5TlQJ_)$-p+4`&tgi^?&kT zS`}EydfB8O8U>CrNdugBwl1MG+_v|1SbHx_2*bre(r7Q>wi6e}=cOCX#xZh!An)*u z0)0<-4GN2+z>12^dZa|KBeUV~)={pKYsJK2X2G8fbi^b$a#j0(L($2H#TFtWrn9z@ z9(~t}r6lE~{Ikpabux!*c8UL3Bk@&%!QTsa?v)np`9i@X1=f&3s(*x2Yq6P^2zK4C zp=BctNS5BRCnF(=Aes>C>lB$tRY3 zug%Oj>gT8xf*xzv$q`xqp)#LENO8GnMb}=hT#1fZ{tl@sq^J9{mi(r?sIRSkbaW3x zKYe=XiiL15FpFg@R4ea4%vD+&kB>lu6o*f-H*>$>e`N4CvK;dU?%$~X(x19l-gTcI zo*Bb2*0SAd{79XZ`V{ZJjhTBcicjroogxp7^MK^!V zDHp$>=;i*01U!iQWpC0-Dr;EeUb(B2DeNXRazWFHp&ohb@xSN))RVfsJs>5mpca## zUqSp>!laj}vjxena`DIC_Hazj1ZNHpk@K!*vKV;9egArT`K_RSssxAg&>z*g(*LVn z>Y0*pM%7_Q!M=s6sOaLzF8IPWACC9~jP!=sld~^otjXBhU0|`ysNsmE_p^2zAwwXd ziWO2j2vKqTKT{IL0>F{TN|*oZ<4%GI=u3&U~aT=CWR~2E_cBHS;ov>U*xz*uTyDPwTH0b0Lc}Oa~V; zGKE-C+pFvW43{)>4qKl%shG)o1Xh|KGhA9cys$U0@)E>Eo{&c->o`$*VEkYBsLp zP}ZHik3%y^hsR{VcZ5x+To*n$YC+mL54I%TJ>0VU(j6>rK^430lsIzdAG+Dnv2#|1 zM0qO>`+sJV&&$<0I&+oO)Kcn^%33Sr#fw7)1ca#4S>Yu1XsK4kVInlETpqou9m`9J zim5YWaZdkGThC#gf;igZgLMf`9CnoR!%U)^y~%GU4mT4LUZdsjMntA&`QtR#Bejx# zo>(l)>sXbKd97ldXy>WWYkVpxPfMGJ?Ga=qk8nIU#e=xn{~AF{T#VOX^Sk4sr{tJM zv0qW{+>vcsB1JF8()3B-Fw7&&hM$TzmVI>An26{GNHSbi2+NCBrCSrH&dB27!taN< zeV$nHqZtzK%7jge?kO0#L^vx>IK4)<@*QgK?!9W+$h)n~sS|>g;eP@Y7#sy$^_YW{^yVd$5>-u} z8jocnW69$9{mbkJZ&9mkW-W@tn(V?~)}$5P^P~e_ar8vIm6DW~lHM*#8}=UD{v)sf zT%`qHWfW@7^EfV&N!XF^%IE`h6Sv!s-o=g^PEBd@UyithYNR)|{Um>do9iJN&l`<@ z)dSB21@)}8s?99ZBE0~>DwFK>EYm(T>blz2)e@=vLZcj5W9O%*Xns?Yg&A_Rs!PH>N#C_QSW`HK-siGQM7&~ zE|yk$Dws9$Cp7*8-;zlCG`U>MNs||_B*%D+3V-cY2tomz{#9jZz{Q$1ryhCZM%j*9 z=c8B3>O^lyj~mdT(^8#^i<&7k1FxlCqYoIF8RVGP7aMbxR{nr9rkIlToMk!Xo6G>< z+Y8D0rvRlES-pskWZwihC`L0DQV6T#Qy#!--An!GrdFn$epuL$z3h*JPZE_j^O%9r z@a5N-{pxz>H-C}Q^C07^iphX;G0|vQpR}l9nt@(sII-Qr)b7bqGdfgv_;*ikpLmH> z3(47ZQC1CD^S4sL3Y-CKSPKQ?bboN{|HzlN6KKPGHNpgpv*LmHg<27{+qW zAjL4$l6|9*jK`yjzWrnRh&i6E-~$cYt+eiLp?YNL_!sAqA_eRG(6FVW+z5@K!@`$2 z^1DV0_huEr@?Ysw=vhj=#b0Npp9=bTVeaJr&fE_^?R5UH%$?<=m)c$bd*`l@sR@Ql zB@$Q(6zK;smJAoSV{ZH${)P~}dyQ(U|^t?|)LNI^6oUdmr`Nd#xvDqI-&Y$mL=GmZ2 z3Rh1Z-r)WF$L7o|0wShGZsk$0a&O~P%%~1!C@^9?jKP|^$0H~LonQEUDOZUSpBwq| zof6?|^k0?>u_f^Hw+`Sg--IJ=vDA~_mr(fB8E?ue2DPeWBC}1E5*0}BC>HWzp;=PA z#eLHAP6Z#^{R4WI-?;$X6o5a{y8o8HO!}qP8>k|+AjVsmLzdF2S{01}dQHM+IF!2{ z^!HPINSmQgX~=MS5c4?b&p9wkNqkEBT`uEXqM!EcPkPRTmYH-Lwy!%mfT-G(^k~ix zy|GzIOn=MyHTw0X^rdXxOki>e46@vV2+94$dqrLxR)yW>i%6OS90)<7L*? z#%AuY|M7}lXyc0z+qdJZu+sw__A2Q9y}dmUs1QYs|C7|krV`q&59og9&K+oN_gW>W z3JaT#t~CDfP*k+`-IC_j?|bF>L1XE3B=sDMUQ_>4$2!L;W|ju!ZFe!~Zg$zatoI|R`nyNOHXi+|!N?I`E|XFblaf%(b38x%^qKS5 zvbHY|v6sHtTg4(}hDYpH|JH9_mXn@9Ve{&M!ZruTGoC$9h>SZSQjQNcU@?O@HHm&? zz(UF`H-d4)(#qGdu7fPPeMwt|ZVTzr6866o*)CipToq2%=&t#YU5`4buKX*=gEx3h zTLO6*t{nMue+1hzNNRySjDO0l>!5jPt_UTeN$_5gsFmd_1!n*D@KbWwsELLXQaa>i*_nZY)woW@d;-wxkmVUT2A;bD7>e>|Z>LUPaFL&eTf*I3`#_}7my5hUA% zpj>;(?qUn67YX4Fdp=)I)_#ZnL$Exxh=~nnr65MfD>ZTHZbFEC|8D0p*upTUgZ{3l z_N80K7}fYn+qbyyy6#|xFUKzCE?%521f?JHrs$b#xaa=<7{#1{jEmWolw1z`*kxxq z^8U8<2Z|}m^I##w1GAPkMYR}G&i;~#jKmu0+Sw?Vhnb?@#A;Ck4MLfpT_R%A3y;;1 zX$2&BF&ULaYDELNm&FdM>seT=i4C%Z!sClArl;C;T`Df2e8tqt@r?!;8S*To9;%;z zjdu0Kped%}4r{+9NltDox57|gVj>zt^B$mF+$6ZO{0w66si;@gasOS@i0FlsM4dv< z8XMZhcrR~hvbewN+{s!l!Jo0xe=^;FsD>M5k1v1}yt6itucuc0)X3-$;3j#C2X+nS zQSfA#6QX7pbMt~GvD_4xI4AtSEWS?;f1FY{@H~_52(x-5#1>jkO!s+gbd7(lSEjO% z`oLWinoRI9lJg21tpOXATl;gvr9GIyJ$DI~Cgye$EDcHK@7(^EEOt5a1x24_Rgk$Qk< zq;rPKjo6uWBSud`n}ByjU%_}Y_1N*}JgP&&Oad||N*9X}o-YtVYcmb3*+$eJuCTGWq#LJ(Pfl#*RpY;JLLuP0Y&5sSULCRZs`e%LrS+7C@- zkEyD9+rrLwD6+jVBp%jvJgj2A=oWhQGl~zgW*Y9FtciGV9GT$ZKDan3%83(1Y0_|k zfsyr|Dq3y7{JscFaVKdQ>9Io9d*tr z4DSM?#7*r`Vta#3{lin@&Yh2S6eRK+E8UJggUPn(hcYxvXL$7{9-7&Re zPH*+V=DdgLfcGP$jZa8Oc>lf&8vihJkI+At1H%o_#CvrfL_yDYFAZF<*`lIoaZcI( zr-Jc;TS!8VMb-Kx6t%!iN}^=gCM&AQbODn+Rf4_Mj7)FtecplWB==Gf|Cu~czSs}k=i|pcjX!sGhBXi` zBIG1la1fb&iF8%#PPZo@tKI| zShXI<1&`n@-$hMPU2ReBDVtomOQ;m>kQw~oM@tJGEMd>hia(xI^sP`)7l(d-U%>T< zN{zkTz&-p$lMi}$WJH5Q89Fv?ZEe$BqAy(3CkPQzj<0|jltpOsfPHrvXc2$bQlV*~ zr#B1DPn;TM#AIZtKMYS!)=q^P84c8PwqX(gu~$pzetTo8(|xBP;dt5L>iowyZ}h1m z9%f5jnxM7r4wrlu*H%FCoWW=PS4cDm&GfjGcuxZvE#dg92UqPE!#xb`W-h2_|9IE( zl8NcJA9}S)Fdx*AE~eM$j_JE(%U(D}Dv<%~YS&1$-T3{`%f}s84`Ulkl?+UBbCvv! zmGaaKy5<9ihoUcbJ3P6fjlJ~xtmwD)cAT#9@%WGstIzpmWn~yQhE9Q-oGmZ&G2>Ct zMrNgZ;`9SLuFr~E@>2;Xzc+CzW@7UGmCsqzK~FR)Pfz+K?alc*Z9HLIL>vB%RZskR+yK(n8e+ zdQ71igYeQN#B-Jim?&FbTdQ{6&+nW&gyzDL;bApRO&Sssp2(=H%`c%(;%I!g%3*&) zZ~evJDaAOF9|33HzQG)~<{K`4Xuln6wPpA_S4ro_rE{i3uXs#u7r)cL+e^aDT}NNj z`>J!)@+@hx?mk~Ex?kdks|3Bb+atS(lXj#A*&#OG6@7d^w7%YLQ#;C^2-XWZ1BW9p zdJDbiRZh{()BCFq)vPi(Re);M>rIqX@7@y72<-vHRin}Ero2&+ktbWJB9*hO1o-$G zmCk(&w&vp%`_NqC0;3&zTtl!Likg~L&>aWM^x?yAe48som_stPge)TBBxpH`1Bdy; zeagnhli0I!9T62G3tw*!2A;ug3%YIhnK}3RxwiwnCPj2<`9CUFHNpM<{ZXn{KoxazZ)waPM&9 z^dv-r1}kx3iIs&#T-bJF=KH5lbWyDlk&*q~-CP^u4`CWs`Mu5*IWzP?UrQL%os*(tk`5L|Nk3Q;?Mh3|WCCHVPjb3Yponnyq5 z%~*R3wipKPHCEvNk03VQ0l+>9As=_bfh&p(B``2}wrI;~UFEL|Z(? z?o;CamR#V+2Lfo--Ght4&Y3Xuv_qdjixV^uex`Ao36a2zVV>E8#+&NHu{F(dVQy}2 zhXz6{Vq7t0WirpfK^4FHAANm1(A8z~j^>{A%j1LXiTw@-%&fA^VnWavHo8ybZ_Z?W z3y(UVNrG5h3gKOi_?h~EVhAA$8)q#CKI2K=Ud{iMm-9aN^nXFn6g z@=5GWc`%x?^D~Xp4+j0Jd3B9GJ!zmW(f0=VP`3lWeLEvZz|vs#350Ki`WN=LF7iTw z&-UMAoJwQ|{m*2f;0Eh4Z8$H#hnje}tWSx>w%dQ68Xq5rrYvj-Z2XU!SdNg%8?pMK zwNk*^ljQ1EXezy`k`Ns|G&FS2+L@vF?4*2`3LCgl`{TH{6Rb#sEw14_%UW}963;WD z9olqs{%2ndw!D1x-G{U40!?xEf;M-ZVMCmQxbxtmi52ys6P3L#Q?540M$zq=x(`7` za?hnEeqI}Lrkc{vWC^n@LW|^Hw~|@TcwrYJhcfI+PHvW-xZx{8ko&q4+NN%v_G{l> z9xLA!Z!9V*GB2U5fex!zq@&QFYh60Jv`r&uZ_1Vf1mN_~oM2yq9t*00slw}n;I z=56eEDGtc#7Ar>kpo9THvxf_bf!N+;Q8CxcJlCp9qsz6ciKz*bUSEi-f3jQN_@QByCa5ZNwlv!H>t|aO61V$ z93#A*Q~7##{EVlvX6@&9ugj=oc!g<=O>}tcU)I57ArNg6z!~%HbYt-)afPcaojS5t zSpX{aMJul{Naxz!SjC@fN1hoA9`^rYT#(Ylrfx=if$fP@5bJ0%2e%40 zNn87RX*sH5sNZVV-$vj4yfoj9rBx)AP+D4+q9U?|LyLgzcgmMCTE`j<_2u!eKOD?j zTN);K>!YOg1!?Wl#N>W_N?Q)oy1@2koq^qQqWT+JYo?#^;E0yR%<}r+>dxhjean;N z?Z>nGW&Wf;9VNPQBb=3-Mb|$?GzM_{+UQx|F`bQ0qLoX1i@et*By!@YG51MSq(orqW2 z6Sy86QJFb8vPsV^gYFQC<<{1Uu9L~6D!7)z=_x5FHEkpA96o3{AAIDec%HDSw-0CN%r%nPw$2iZLG6j$ z+UNuks$%~J53I5X{HPa%8j945Z|?nyz^NMfrY{(!C%BqmP|fM~gwYS%^ZdN%;4$*j zjzFjTxc#rLlpa5hZM)$!cvt4qBC|WytWGOZmI|)S?TNH+?^p%tUUqYHgB{gdx5U#g zO=##R0l=Kq7+G@<3z0H4T~3>dh34r)%p*%~-+qolWj<%x*xYQs#_#;om&{ys6Iil# z!&5VTD}gxsa*cGwj;@opZ<^?M`%ld#ib@2noFl@+iJ@1jyZ?>3proXv6s^rf(j9JY z`l`dX9+~p#FOLW;Z-r@8W(e6nk&{ajvV3rhM#t*DmRih`*ZI-L#%z4bhTI6;H{TM} z1oh6K{U6Om9HNLxjyJB)*`~WP-ut)UPJgzSu2jJqZAX@*1@ z0u}K;QaiqXez~Z$uzw)Nx{cSD*(tgX2=Qy+J~uRUdEg=TSzi%Dj`ieV=i`n9v&+yjDwf@U2&?*prQ%hkp? zV*`qMSB!VmoH@?FH3a<48BXRH{=`0-EcvlsENJ=`K`u^ z!gRxH0`Ui3q1IIvoDVo3T!>y4 zD6#3M%VqiAAZt4N@(E;t{R-ivFQ13m6k~mCv@~!jiq%{VkUt{T<3vCA>2aBg^*|E4 zDD`w}?aBN~<hnY|LAz zevva|kj|@$u|!sF9nxkRkI%$Ea9F9)_%-?o7nSz2_iAWT538RK-+LW=^MkSXyIge+ zUu58VLKl~}2y?MTeg%2q*;8gAs3y;;)8WQtb1aYe$%-^qxy>(Ml7An9<&AajjDNr# zm*SaY$>xiwy9C^c>YfYdbTWsGO%)#{1XN4b2`vax-Aou5Q0e1%jiv}L!68JU3QH#3aHP<(q1Lw*%X*SF5Y5!NCN1@}xgR46f6`@#)*#_SBx$seWb# zi(}wYS%{p%^DLQ(9y+&6r*Dd)ME&)Bgv~KesvS4MWt(8pNMq+R?#<-7=|C)b_Yz!j zvV8iM^Rd>+29W5;>XYppFNF-4tkF7ZEUDUN|6YER?o+fx%KOYK^=nzCG1lqnVNS)^ z89v{Hw1n9jbmJbp7lfDp1M}M$-nG% zH&=V_n&>DQNwMDrY%pNaA)C@I>2^(NE#>#Qeame=551vO$znk=woRRyFf9W}Si$qD z-koklRU=@-DTke$j>TfWES^`?iMPNW0`u{Pb??~h=4imoUr$B<(^FmWPY3V&Y|XkifV7`O4UZ)-HZppX>7zsI&Hpp@Wgbei_1(i zhfLDBE*2fe9OQtvwns;$-8Hlmf99o0ozP|$%k6FDY4=FKz==&SJv|-sq%IU{1lHrP zU=RhZ_&W9Hd|y?UfIARh=Oje3B6oeI*elr&Nb($WnQBHi7c zA|eXXBHi63EuD)70qO2M_X2(Q-oLZYH_jR3W9$9G??>Vn|UGtuo$(nV?6An@LN!e$nMjE9V4Jc$(*0 z+Q->B#YCP$z)8X{50=|Sv|LR>K- zjKZ6*97OTlmG`I7=U17zqK=O5eKt1cdz6ENKOEB}2x}JUCPAXT>K3LvKi>U0qHD_> zW{T6U7Xhl+sIgz?XQ81BQ`uSIF4iLKQGZm8q}CqD9lUr9vKhE^bMsbpxv@Y#QlYt$ zGSrvh`80-f{F#gAk?F-TCOoLm{u>6zUvsc{_dhUr!p`z;az2LZQF1NciBV1_?UX%! zxrM(rn41zLAl^S2Ko80bPLc-UaZ_pLFm-}vJ~R6=_vAK^`q$qd*P%w}AZ*S6PdZ`El4Q|CgOrRp3LUQffr)=6}Nk|`W5;Lc2E8Hi{8M$Md znrL*i6U*{4=<{i*O4E1yvyW8Of)f)Tf)lYPV@2zSFJ8O{75{iY9cb_yHx@D06^36n z)w|E7(W+k#dspq7m*8C~QKz(-z0F>~hg}{LpGnDJ&&NVXs8c4) z-U?Xz7LJ@DEKHd;?FCQS$ly40H^OoxsJ)&t=kjhVTRQIK z4H@MNJJP>vwzG)B-j0G-bnY!Sz!CGiC(v04pT!58QlJ-$_Op= zIutrk(TiKe9&ZewF0lD9(Xb%l(Hf+FD$tR8GrSfyv0)fJ5&Z%Odiww$bwKj4%HL|6jYZ>nA&dTXFO?}1L#b~-fvU$BLxyt)E&ie1~8E1HU zEfKocpQ~2tRy3hBde3BSh6a5boj@spdWPwGdcKD*BNC?!6QA-FTv&L#Ez5JKlChDo z(X2^;Hy;u2v0fr~se(ws^AqM%o0?kVh|&<-oKK3QjXowZ`lofMb}*Fj)RV47S@ahm zLvGet)Z-}&w^ORFZg~)#N5tId8Xq@K1rX^TSc>6%gsSGifMit%=F4bnJgwSy{HKR&pQRRBo`;f)PV1@`qFSS#~}X@U0NpHi z{9Ke>i^RgRU>X4+mY8n}kV5r5j6h0$eywx`|7zYi9xbh_4JCD=#l2mDN%X+abqW-m zh%XgqrpPk%byXcnaPH#MBROQMjVj$qepo^ z_GeVRNSyV5VVGaRHlsfRj2vE+HMG2w6a;z%ghPiFu# zFu^#i#L0{J)f?eUoElGBc}Hf?WFaecM0{S*cK`%$K#8d0w<@pz=DhC|LVa)+m(L=x zrV8PTieRzXqcqgj5=sJJQ5e9DoOIplmTK=J262FiW7GTegGtOn zggq3&#ok*$BIg$qrRb19V9sEFsV}X#F93yytm8@g?IAOu>KaY_njm?~xAzZ!MGwd^ z?*{;}51g{^wF2zYOn zdhy1Jeot4t*JDVPoA-2uy?pGhZr>3U$l>7&;^VHJ{|N!Uwl2(?+3!3=MDoR9RP$ld z&}E&Qam5;tXg``yh3s?b<;*nt;4orGV*PAtGx-4n($7e@h5|KmdY+GDG`HHSz@zFf zd~_zp16%b~4<6Ylk6O`eCRvE4Pq3= z4!J)1{@*w&wjp8aO3zCVNU;Y%IW2ax+z!IOQ@>VDEygx_dUo!M6BM5(DJiE(0@cfb z(=6AuywhcA7dFSZm?@tdpdH%7_Toc*3!4qk)L~LW0f=(~xXc`Pku|awVor}kw zZ56(4zYl8jfvvUF!or&T%`cJbaAq1YN=I`caup&&-|J_R>WHo{eIa{A?rf3}S}YjA z@p_V(PzdLQ*CYAEzdB)3{o-B0eBCi*E=FZ%C2i=+#eo-t)Ti@q31N766H!QeTliHW zIKDJABfH`>XWEL@L|)E=tD5X(`e+L`66;kfHrNw24pNR~FEgJYXJ90d6QLDDO|J%D zgY~tvjxU;XGVqypYPUfFc9Xh}&bfC)ATFd^Aao7Uao9iUQx=NxdLiTH_X%Cu+H1*| zYq)M|>&=}zSMlcNrKXn%M0`qdB=kKSW zjG3(|N*G(1zjyP8wge8L&ej$qqfQ)!LbwG#Js)OtWR4KBqiJCEF#cKA1Lg)+{h+n@ zi*C_fx)(19Ff^DnX>YzWG=wso6`57dnx{|*ZiHfrhK!OMDKvfCYGcAb2UJ6_HJ#b| z7D$K58-`g6q(0qaEOKq4FJ~WNNt68vDmbh8=HS|_Aac%480AREQ}CK`cwwL(aU@Uq zxC=-6enu!Ga^W~oC(wUS>mF#ZSXv`XW}3x`46a{upV2Jle%+q8n3%YEittlMERa*4 z{&VGEL?r8-WI?l$VVrLd*{r$E%5=S9<#>3CvKw>b)ICKSa59t@tLFYO5CeOK^8uuo zP7h!hp$1||rl6aE$vD6g>>x*i4?~+uSWXc_^5>Pv-+kuTD_F|oMt~vl-lz7a7%6gK zN=>5z$&lX!D^R&-oMp?A*pRbyq2CmX({F#^zKCyrG!iWTmO%$CRxudms6_EsY;Tfb zbooOy5J+CY-(LPDElXcRTy?z%JQ7x7^SKcp(nIn|t~9%@8p^n=4F?kbkS<9ed2zdP zz7Tff+o~s~qB^N*2;C@*!QTo!DTZ5;&NLIT*Y(CO0+}3z5-A3afv1``4Go60O2XU4;8~w&(-qzc*CQZK4_e7|>OYL#

RTWR`(&;O(DOs|w#la@6!vec)Yo-Qn~)u;Pcch)`74T1Kr`r-@m4H~|O zMT3tm^8i5}T%W0(@NLKaU zxfBd)S>`EfsOow={Fy0M!zVBg<>1+ku=%a`H!qo3<t`8=CLzI!&FxOAvN>j*YW;C;NTRx#!~J< zVBV*hmO@-C^uHLrS?cvW21%*i$=OuijwoB8Ijzw%!oLb;z)wmn2c|jYY z`8eZY1f22o)iMlKJXY;PQk%z5A_1(@C?PwKuS0JwfCZ0JciR6TKY!HIfwZiK3qwt@ z))ik21qA>AfJ$Gd+>CIJKvMU1oSvEZI5R~jq(Qn>0k(=qhY~>LGGX@Y(m7}H8IKuN z^dn=#fZogj!qV=oFXZW(d-viRo4&mDfu zsGw%)$Jc^hH>FFnmL&@ie0JK1!PuSZ^>9KMO@M=GphaL3_5dw+yuyyNE9u+<$ zLN+xU24Wr?0xB#zs>`Ug^4{$ud23%&n?@GXnatcli^HWc4OllU>ASZ(S?F~1AuMO;(AnVP~%na8_0iwue)5w0+93yqfJ{@E!=V_-S{&u!|HY@!@EFCy zH8UrJ8A(Y``mSNGJYSQro;KE?8*gJAuFm7N^MAkrY)&48uZ3lE$pG+h#oa;GfB&sb ze3!cE%^MivI&}jbH<_Foy<~NB)<}MNi%-n;0(z522+O2Ke;R;K@E!N&J?J%U?WrOK zKn{4OQnviRE1IsoNzC)2hl_G}r*u--M2}JEMsO*dK%JkBVp;1gc!|tBw$r-!=3+&{ z>Fh0|I?ln%VsAK43~+8ewKJ<92BH#M5~*Kz%?N$aECJe^HoX&$^iNGqCre#$#Gzrn?72C-az5p9xZXzkhg8 zZnS}~YvGrL#N>^@_Ci5~W#;i`ztay~+{yyvak6%=0r0wVVRIUnj8(g-Y+D_T*v!O4 z2mi*E?-7+NYlmaj%RlYM#`0SuNKcL`uyAp~wO`Tn!rCmRLi(l&08DI@WI|IXD6y8s z`3S3>%gH3n#S~*Y6%6q5%Q5fbJx*`KwNO|On`rKdTV$V6krGY$@h84WBjn&VoZ))x z6Wcjp=)9&cGAB;-Btt*|`virXt>5nw{wMq^er|Hr)KHz^thhR!R=X3EI9R{SW^de<(?w?B+> zLO>ny1%SKcNqLQd*XG#SJ)gEB9_r;RmR2govx|xMWJ|*?$GvcKxfjo!ov%iQ4-X%3 z2kqd@aQ%7)IUTPjOjn#C9jGLI=EF7nLxTJ?atwz_-H#@*@mC}z6_s6r^jB10{GBn| zaa#;e45IQ7@e7KnhPxVNtO2KNKA+-_Zep<8<&s!IJ6E<4bu3f;Qz_$NJi@Xnu`f42 ze)}a}JckMXqaCv62FpIvhzt-UmyB|j)ZJZ|-A)>(LnSb-#C{AFwa5U8%!450%ds#J zSb`nzl`jM#<$JXoexW@vDjAvHW4(Gj;yL1>?`aD-hFw{r0!Q|loM2=N88^r`R_)kkN+J#SkNx-Ad@fZsIL;XX@&p1x$;R-_8&QeCZO*#*_qwqDeJrpb<>(f(e|(m66dq#v zQzJky*fXT~+UjC99ON}Z6L@!ZI9?PI|RByOw-|5|SngR)s8Ky4~H+ z=T@LI2(N@={4p8jXRj*7^EE{vFsYgHg3^7RK7LJ*ciSOcKwOTDN)i7JsM(Zb8MPhy z+`!wWeeyS4G&$ALvPit819N4n*SlkXo&GLz=hbg^-`Miqej;;^6_vGOArpT~9^pyH zQ~69l>u4%=xCK`dI3faqCo$X zDD3!aNVn_3b6Iaq*^eE%@LltvA$BzL4FB@WBSa#SV{RM{MfFCo{v7R#G~CZ3{*t2j zcG>6{D7gY~&xwrQKIt~|FdhIM4jtHr;8;`oGJn|)2qL<_We-=b^2M6UNsnbe^qCtQ z57G4wrqh)(4vt@biN;RTm^TlM5;&nS8K+0(VG65aHJa~*>1sMfN!nP;&4l>MfvUR>6XC@x$_UUU8RyYEkRc!>KVNcoTlRi8oCZEtktBK@(V5uzL(E^Y{QSxqV4;?EDrgK0kKw*4xz)SC zr&3eOjeyBJK^8jm=gKg_6edqx-pP%M_F=QVZ6&G$`E@#?R@-e4S=${~$K8JVu=)AM zxOX6V07b0;m20Rc_!^zCgS9li$pI8I=eAhC6}6MubxK`bE4o=b!NjFDp3 z<#jam1o`Na4|)s~6kfLoCUsKAQ_x}a`CB@5jX;*JrSW0}UI(E9Of6$!QJL|z;yj~* zbb!5;*}c}{T`nI_hn zgUQ73*m;S{uLjTifQ4ldM}|=8gGdQ4hgkN26VjKe7F;P;@sxjJa`$MGmO(_eZ>RM$ z0pG!WZ4bikPyYEO>zUfuD!|gD0;#u8JNRln&D|Se_r;ig37$B5NDH6Y$m_93`38dL zt*y!J_p(u+{IK7Mdk&~(Q9F^FW$BMl(``UX0N=k(;BJE__Hp>7`yikMAk0l){-qB* zK{tI@WJ@D(0@=c{e6qUgwD3>6ofJO5;0QO@{ZB zrew-6l=vPY0d4QTgR3ontoevhO4pmL9Fw&MqQ_=2Jc2K8I!58$Wi$aC2FiTfZHAR! z+;g#>gLHMtX?si`PHFNT;*hzb6+M#KM_-Txx_3%3R?@*dHjWoOrLCm(i=L)S)0Nmc z4djk{YH1bC0Pzl#-e$lcT5NQ5y<>~oD;_XIck67T%xRVCiU#;Oqa|^$7lNoG{;Z1* z{jvp>hUNm#@cjJw(1C%IK+i^07Tu*TxkGylrMnM3#z;7ZOl~7IEN} zJhrgh02{0Qh@FJNvJ_~70ePu7dsOe1^Jc0mg_2r&z$YIH{Er%8K+3bN8KDMU8G>;j zW3I!l=v;TQ_@MTT9?T@HUibG0i5yc9&EIZz$94W~%dR*`F_Ut*jArSdBWqyr{j)bb zVYB17?UI6LnOY{N8b~u{bt2vftEkbJ?e{Ex%2Tldu*kmo=dH$h|2L#i_a=N?7q?Kw z3#JiOVynIndc_1pH+EX(M`FcoZQYxDiTo}ppz-7jAkB*M_!CPjxgjrJ`JIHm9r~+$?25Buacq<*1o5X46%=Xq%@AHA&k5O9 z|DfD>%28G}UiE<74N~EHqVK|!=!OkOEI_>gQh)M|E- zOXGCmSCl|_;Bol7k{IRoq!er{|G!+@e9wBT_Z<-NoKNk?Y;AXk6`eNNezeK_3T?5) z(m?@T(HxB{dH}scD_PRx-GLu`tLhzx2+fa`uSx&zd$QAR{Qx&^jR+(_FL_5KxDxgD+RmE2t zEaoXLjb}Id3XCL7IkW@%XQ^b-LcRYjOX%5InlT;}WTO9PU7-jjB#f7#8XB5dlGkUx zUT8uBCOAOo_n zlxd8+Vhba3d^tI-#Vx)*qNvXM1B!5D?!sBt`OjWrIGpdaetXQfcTd|53kp@d^0_p@ z*TvJdcAe||H@iUE1KYRtc_H!w=>-}$~nXUvT z7>Z`s`-d>RZ4aO{pJHhF&oCe#^snL}`(MR_A-(0$e)EubHR8rwA?N-cWgF3+cCFAN zCG^Y62&|7YOP>;nNVfC2~%xu83Rfh zoPVz!P^e;20r4`ZFg&d3=-xwAy8~Z;X)Y=zJt76wHE%Lrn4$;tDyWjA=^x9Etjj$6 zcb&+8?WoabMYWamT?y*J+K7fN{uI{HZz*i7fqz~p#pNaVX6flB=A{2tk4tL5LDOSs zb<6!isF$;x2&y0O1bqD)g;nsV#Wu$Hgk?NwoZu~j(g#ZnyFLRXd4KmMw`CSl9L*?Oxg2#aZ3i&9!>4)A}Vxml8;i9u~;aq!44Hy`A z_ZIwL3p*W@PFv4R%A!5}1vIh2H#L23*x#Xzg6B~JH8o(zroIkQq`fK|+nI5N>~t|C zl3xYEAj?hWqh%b|B3o~~@1-5cJ6zXqC;8{-hY*KST|ey~*&mSm+4Qx$h*u{Pl@b^2 ziBaB37k6d(yr0=p@0U?hn^6%H+_x;BKHrw`INyj#X#$1jsnqgHn0kV630V3A^d9+- zC_=2<(r94cEY3rl1%pILjj*e`pe8XsG$XOuAo7vJLRPharkUSMuPWpikrh++cDgUa)Nr+F`ET;Y-nf zDtr^3|CZ8)IHL$YBIPTSVCe#aEKJcG0VNYpzYecWlR&Y^PQOknEiJ1izqktgZ-R0B zJON_E#$NnTgg-|psigXGMY1Z4C>z)e-oCmiA&1gR9@IFb%gq4MFg_1Q zj;WD{&K~@A=Lb@O*1TzsUl9|ui8L|yhZ;Xy1E~zD5m`v zod_Jmiy`j%#^@wiJEba zW~b=* zbT4&vbOeD`PJ5OIkD7jZBi|^J$qF4x!E7m8KHqizGJYf`GOD!$%m*m-Fkn8qvb~jNO(bDHHZfzwuZ3wj-sPi_g)?9YZ(s3 zdRkPT*uO7~q1UcD*gDOT!kfKxlp4gdD#69VlD_Si3JS9LY1#@9z0NgJLP86EjHKCQ z!0#jp;igO*E|NU%LBB3Gv+^@#B8ws#hEnxDJLP!B5u^Eo-+B2d4}Tji=Y9o*ksab@ zaTye4snW3;?9Fh}KkugLD?f}m2^4IcC#e7Y!Ka<971ZB?7C_ zP0M^vkMaO?O z`;&j$>^QqVs7I*WF5tAVCg+yCNCS>%d`SA>fdE@x25%1N7=YTG?JHN<+Ko$6i}ZG( z0Xo9)_-CX73^a=>{5!GtiKYWxtzz+(+4B)KFe%n#2E+0Lxn_i2DnzZ!V9KV*#Ea{VVl=6mZOOf6Vk^VF8_(o zFIMM>S!2p;kLV-2UITGNqj82o6--4$EfPQ(P~Z|Y!iZmAXJICr9NKBUPF%mydxCmr z3t8QomH$WIA1P=h`=4EUl_Jxq(i#6~aNF03dN;NA)o;%^n_zsiRd9@|V0UWn>j_b< zqW|?q)2V!4sJIW23lmxuE46|553R`VvO=ZHc|b+6J~6YOZ7$>ym*ZreYk-a#p~8;G z;^5uF)YQq~vCun6a>@aFd+YhXmnqKp=I-jo?H3%5Z#K_$v>X39@dGy+xNnrxRG$J) z`~U<8G_2}zeAV~dyyeNNT5n)ScLA+-^8wl6Zqehwrk=^Y8pmHS9{!9<`9{T>qH-xP z`{a~@cRgE%^ed_yMR0JwNUbBP7`kgJU|ls~1{zy+t`Gm57i1pF?V^2RYA?R|fn$GB zzW6;m$TNSzsrul)oHxM=ON03*svG2W9>tEeb6{s%| z{W^>u8J_2unV*^keu5KKg&6^eRR5eAt5k!jl2|<^w>K`oi2XM&Q*I&sCEztm`aJ!0 z5?kA~H7i^#2(Pv*Y6~In(zhJUjJ9r~6Y}4!@qZ%RwM3uU+_kI^juhAiNcX)!w{+p4!?@$&eiPE%_KpQR_T#PNWfIP@&O1Gz#VJPs*T)iQDK&fEU*X+* zL0E*U1>e5wyxXt%LGGrx4jKDv71h7GXvHx8x4dh|uW6^b>%g>SrLVi_i(2S_?r=dU zXh%`oTlcSI>W-2`Uya!i(^JKsQzR>&)c zRyS5wz{%P#U%miYD#)aodum3z2308c3H{4-h;ErWDTaiLOSNP=ioGMdeRcH(G^dok zqdg(k`rnFTF2%BnUz-*3$^nUq^Py~PPAe%*vE(^w4hP&G)1jkLeJ@%+Q1Gb*k%!kR z_5X9kd-(SOIOQh5>zQV7*D|m$=08<;3g%a_D-W=wQ~uG-!O68XZR+PfU+z4Bb*||N z!}|RVo=+o4|CP%@>l{f+IUcX$f-mMAS&=_KKdGz$bT|62T~UzFTc3+$j4X;$67`qX zc$9CrH)Xa{m@5PH@u5x`fWJy#Knh9uZS%ecKYC~ZC}yD5Y@XU)Va=SqeYdq8bQ2D1 z-N%wAn7@^YjED;GkuZ{T(Uz9RwEB7u1rEno+Z7_(uCni3^Xx_4eSU=sptk9`O5Q+UG~A(0{39kR@{Mo>Vqb3Kacc6%(vfw*evT=Fhw%eZq8-NY z0m-3K?M4H9i~akDB&8p&Rz9kL)xr7@vEax2?e5VE6 z*yuXh^9oH_WdQ9@I2Mf7%FO(N%BzAE|?L$0wJZQHBgk{hzLPsI~j~(n< zZpK$;VBznPgx)Ux$vDM?BT?Pk93}Jdy0x2LP8sxx(ak@G9Yg-V&79V1iAN5#mz-T) z{X)hCBWrn~ z4~$-N$%Vf7e@&M@e)5#T!=r#Gb=!fPqP$v?mECq8th`<=SF}BXw4fG#C`!I3i?fjQ zi!BOyt_P|M|G){5zY+dpFO~_E%@4J&sq1?R?%7bIY&S>n@i8V{ZR@)7BFTP<16`RwWxhSS zlKX=KHhKW4UJHs87T*9w!SVRRAHDroiA(4VtvSkXi`^4of=)7=PnU&0>98$YV&0Gw z5zLcz<`*dViS!I|QF0{6=iVic0Q!}8F@&Y{sBiX$!XMQ9Z4er)RRa?J(b0UUWcs;q zODF#CEsaYFq;qXquGlxnpQrLF&0`KJ!U@KzP4bBkR9fb`BY#OrU^u^%@ebeq&ZJo*rm@h^3@7-*LDJ0aJ-ecx($|@1xdwcWSh5aN7 z-JTA@{dmNLYfGBgOXqQkOYY`nS)aw{G4Nd^P^#~E_GqeV;}gTiak=mt*)XXeCB586 z@+xkJ9eu_}9-cPaXAcb1o5P8-QItaaWK5vVbY)M$OUfq4yP+F3Gb<~Ly$p4Fstm}s4* z&TOw*!FE}-QSk_U5)_dDa#A{{=>UGV)`2l!lUyJ zXv>@7g+QMfans5uvQP4eXskiF(F;d1`?r90ZWmW3a50p$Ne!BB}Hx{GfbjD{* zgIXh11e0&}4nRT0^V^#5N|bVRXDyD!rzA^auss5z12;AtRCv=2y7=6bqf{Nz(JQW-AQ3>`wAb?j>3(48>!0>c)eVR1 z1t)WN-1eoHutGRVc{E+>ugib;8dhlPHB_Kexaw`5bxWvNg9{dl@g2 z&@(zyDV)C(R>d%-TwywvE@00FKDz0*+lR49SyCgl3-vv^3$xX zE&TJd2d+osEE+YAyj(@U1LhkvcQj2J$RcLy*f>ypA7{155YoV})Vwvt$JtxpOj(eKIu0US=K8d=z10!plP85%kMcFMv=4T(oYqoihxk1< zFUqh+?iAL}C3$6RH7?@atBDz7W}@$&usNgdQEtM@1MB70$}F3;kg=tpv#;mp>P{g) zI2TCtdluiw(Ak6yx>;wW?oV)yVT1(y>KojmqK^e`9(3w?)j%#&4kY=(t1^r4;*1ZI zAE~%LpGWmiE7ok$2gc&6pd=b=esj!{@^8DT%V%wp>|eWSZ<$5YwIrs(cx=XEz$`s* zRJpOZnL-~8{vjPhPAycq0G}5X3#$s@_SME!pyC&rVBs+ed0cU98G>KKhGVb zIA6MNC)*~<5g=uG_HwWJOG9z_SAhe?t0r=p5vQ=^N|>@JI$U|Xng< zt9gH|G8$PiY&HUR1BwnO&}(_wMZ+IZW7r z7JZ6Tqm@QDMpZC_BtM?vjm+yLkMf}-nh5-}+#;Q0F)M8C74P5f{ma!VPwsvHs?$e$ zwrZExqg)|Kfa{>)OYI4M1uGc5R`t9|VDMJ&b_%ANCC10UE7BCCQ>2d(myn>Lp}`~< z;G?1vqmKbYKfzk=h#Fq&8W@H`4?&~Yy-$|nJYL-2()G9Uw5ji@mZ1<5ay#wB*$d8w zUT+k+zB={xb63_J3Lim?;%8&V>eF_d(i>PE6cJn^Kcl;DT&~??K%8nEHH%@VeKJ3D zud11;o`DKH7qyU|EH3bDQ!fS+WvHZprytNmfp-`1)O{`@;_K^MS6d4qfTbMZbqD)X z%29R)hG1aQDKLftZfi7@l$2WJpJ6ww7ZS>Vs%m6wuJKM+w2Dj}0&iDg*HmPnT1$}R z9v~IF5zA0r-tAm|7?~EKb9f2$(84fe4`?%Zb9XC7NMED&&?sl|k^E*V^k(Bl{2qiK zjbTuMc{l=3G+Ith2Vh2c2N4bCH23BSRGOLX%PU~IHdFd`2$cW9zn`H61ur!>m9(!e4`z6!*+_84NRG2ZMotE#uTYay)0SD14(~ zgGGBW$5Q8;;`i_G7nR({dKRi%ywVj8sWl|KLXm|4v%vdzVM}K3b?zl2OsYQ0(GWkBHjaV{p?a-^ZnCKF z^ALEpT9!QPZ%2Y$T*3Yt`y#2xe)5rz_3K_zjK& z^El?8?!;*f0B=Cx6LvA2rTEn7=Ls+=$7fRifq4LS@*7&dbQD3BBE|Rn2<$5uyt1@z z@Gk1NXe*PsYB@vS9Ux7 zvZv=N_6v|e@mE{R=BBMwL`m9Fm7JrxIa9Qvao_<_@y&BGvyAwlmu>F}k*>=H8Ci{r# z>yc8OO`fQSo#) z)jz*d>Q>HL{K-Ff*%xO^j>mXCMz@44cK58^;0=3#NrcX`LORQV?@JPncm#Kc!da#S zltDz2nMSgUsCxQSapuhpD$caFK10i8P{}_zJ$<&?+TGRV=I)+wupo_Q3{DDi@OutOc{cav z_?;U7YYP8^Z>KUfbz!}r!2(PX0(0~7bQYFc;b14;hfT6Z`c2^;@)CPja6Zw@Xz7aS z`1u3a3I-VLt3iS^0&1?wBLo8YA0&qZXJL4~sPB(FkPsIOl-y3IgZJC(>vvmmB-QL# zZX-D*r4ihE4=`T@GmOA5xdOA)`0Y~lJTP+1T3oyh3~`(+eY+2As2Vx;^S}dYN(O>= z%D=Tua({Wd_yl$Z3>qUiFhE8vV@OO~9G;eep}V&ijFGD=O0)-q*^Xyi`}+E}BL%Na zCd-+;fd8M_&(CbYo!WZMiwPt&6?NxKtL6zaNK3W95n4DdFUB)z2M5D#rSM}+GTwmJ z&>~$pNvX|Pj_IQ7XC#CezATU|1=qe4)+us5Oa~bDSa`IqTY9J<1p}`-ME2? zpZ^k!zT>(nDTXVTmh|SIUu=8QRxNKegvxigAR=A+=a_pfj8c)?4|pV69qM-2s{}ft zzak>}(l6+93wug~)f(Xojr+)|GzH!cej6ShE-YkC8~6;Id4XXy2(mMt*Ov*rj)+!Z zrW-_FUj7I_d&D$BhDOE&20sv=#Do4?04??IKCsWV zFnIiPFq_Q*Y(5U3uZBE$FHF|GOR_K7K z93ZsAY1X;m3Uz;CDyUJWj;?w_4}xCQ9UQ!cP?ntm32w(;k5d~Bk_-H!a4|Jh+3Cmx z$)pfEEmDIj^~<*z)zG!Aqr@kx=mp@diVlAa)@*X}&Pd;Cb^ zuFqmGQwL1kE)U0m+m^X!DQ;n|a*jLtIv647;c-Fs0o=>fxc8mquxm*b4@$Pr7PU*; zY3LrO4XqyquoREpxk5bh>RbgT*it;(3DmGkSox|Nh zyo-n!*Ru=)1aKpz2VT0sdISO{a>yhJpw9s>RbarKQ*8zOY=Ma{9upV1*@4-CRYrye zb`S1$hV$IZDzE2KB<^Sxd7n-+i{U%A4yUN1J)OoH;S`_U0GdoZ>;amWb-;EVgr^dn zsO}};WLq)q5TBGZ3kJX)x?Jvq1mDfl0Bq@-M(xY=TSJVK+>b6!_d#mAPiOzjU|r|I z<(QTrqHjuO<_qd*e?Lu6H*QecKl;pAZ9@sM{1VvE{J={&2luXUx&j>zO3}~&QxVyC zh7N0sD^wiwlEW7R<$?8_&Ig?q9=tqB)`G3M^(A6kW2fQ9lSJQ|Qj9zeiK@T!#Lm6v zNPpoAwx(c%kEY1|yLrm%=A1}pClIeBayPdh7-FJ}c0}QAChUkvNZm^|MJ2<5sHPYc zj=FH4c^xej6b51T(Ey)~e0Zz4wGG+Cn*_A2vJmS$wO0=jG8*ad_y&7XRSZ3$b@K8DRn^zl5Q(k1Dik zx!K_^+b~y2P91_oyLbn{QV$~P3P(}(Y&R{-S1(%wF1AQ>>+2fp9$>>!1Ts8Jur-A; zCQWPbZn1>W)n84vE|_!{bm|#TVn%N7^|2j09AVCNkiq_A3E1`pLqBgu@Q{&lLDL3I zfM4@V4OoR8)DaV5d6s%G8L1Q)St^*>Fzs|%V)V@B{3L13-n0FDmLQI#2PW%LP|#q3 z>wqL5MlL8oO}$L*I-0MwzPY(s49Hs1;h!;!hQFE4BW;e$gYHZ)Q*ngZ^dr5HIleb| zT%BP%(O>|M(T%Q-jF_5~LEa~XH}XWH3HmI>M`1j~c$@WEW2_qn3W(^UP*tCNF zFEQ@BszFZzHrwA`Mypp?TsjiNUJ6MwC`wNQj2J?ZLQYKw z%4fv0)$CP{KcWi)#i;_S1t`GR#)8AnNVHbX0rtU~)pl8~$6LTFx>(TPYUsN(SbwkN z<)dO_RfL3u-oDM!F2HBYK)vT<)yIFlF;l0Ju0TaijfaCn!tVm+quTvy3*X({MfY^a zCwaTd_peys7nI;1)S;$KM*p>tlen?aB85=I01i|f!uMa(kMv-!rB@e!4tqA+%W`i0 zWo;)41L;6v2%Q)l2LCWx1I-ry?-b<|0=R#G#oS{L>w7R}akBQh-Uj*v@|o>UnnWmR zNKnTrJ5l(62{@MZse4J^I13Yhm_&4|k)DOcbH9hno@W{u&a32W(nY<<2XJDqn*~gs zZHJHn=Wj6BRxax`_2b7u@k0nOduISS1g}nhh2k+4_gttK>BFGfZZj&&1^8F`8I%+h z84O%;WrnyAyJmC*TpPbNqa6O<1}wwu(CqL~mx z1oqQgz%qDVon}Nv%Kq_;2M*ISXT(s82e^0VtL=T8AdN?n{^0g4QnR7-cC+(^Elb{9 zQ*cJ_%6Vqfa{7|xwaCf3Z(>5K_zw`H$jHb*5eRIw?vz{3&J^f0WZTzi7nDsyw$%Xy zFPGN@k~SCA0U%K@e(U%0@&t>Y1WMM8r00GX!D++BzZS&3&!gSxSxHDiGh3H`33;62H*t_EVFZ!*L@IB0sAsq zptC(cZ_QwNJSfFdcea*;$$!uf$cC@)-&=t%1T4(KR5wBndn53x9LCfltwr`p9HT}I zWz{z9_70rzch+4Fu^4B=>>$=Jq*^rtVM~|7MwXdgx9)T~-hM(*uleq|VD@WziSJqA zt@>((x=kR{Th@bV)G%xK^0g7z!k=;7hT2%n)?WtGB+@c6PSrZ^gAr;v9;b%qIj^XP zKqSn*TA7~*fF4d4_}YUpmff)|vNAH|{3FGN-D7~V0jmuI8QFRR69na90xj++dvJs& zNr%&MCMTRJF9n*-DEDDj%f777D--J)1Kn}VDCd7h&E6tdv08A}GX5~}U%>MKMi+Tfrhq^Tc6ZLz%IfM{23Ett6oq3to=v`Z+#W%?KA0}WpU*@`x7wfLn>Wyz zb#}B_103Fo$2f?jt*myWkG3Z(3M3-Q#`w>N6=j*!itjdNE9H>69}Jv{#qqly0U8UB zN&Nu)ejXD%G(dlk;>U-rg41~3Hb2{rD*$?o?c3HIP)K_s0%GUz*e}Y$(~fzo+qYHTS&-jlU2YN6%(_9r6@tr zQ@dd7dfF&KrsCZgGX$&+F69CU8o9ufa^pm$^{+gfLZiM!_p6IjXo>M;#k)MsDuom| zG{Ps}WCZVl#Vn2@o7G%k;oc=3mIqy1JG(BMOnUIa;9m9oeq`&N-@odvYPB{U`=Y}u zq4a-v?ocC@emg>{HNKdzuRpS1H-mFZ;rGRWnrtV{HgN|yw&dn$I;3Z5DFEthV_eJBdL{VE&&z>BcwJ!azVzdk?xK&=4-6A_HymLzw_<$m@(ME9!6N3I=NF`#N|MfxIJti`-k-N@ zP-5gCy+}(-%cx#7IW~6Th#UG*g30Y+Vi#jtE(O(AHV(gwP%m3rTojg+jAA!^t!=0% zpKJx{gbg>!+$ZVn62u=HA9(im_BxGA3SblnbOxW9Y>5G*p$~IfVHkP^(hmQ5y-q^& zjN*mO&1769nzrkQg~c1>C$tDA3adrt&h+GID2pcM#GSd0_;odr*Na_OYpDDtSGV5Y z_GpaaEB%zcGj%h$ofn)iJl+kYkMo>AQHn>><{bNV;=116?ZSrKz*-$>^b402wgsKV zo-ty?^UYILr?z9q!p;B)Kk{i6622Igy#YRtX+`B7B3s-6jn-AOr-D@N;i z1j6h5e7pAB&Ck}-{4NpZk|;Bvbo8k*8mTJ$G&l8PF(8FRJI={X7BG3}=EBmF^rh3Z zxMnobhJ@2^{>XU1{aiwSJqy{)~IKfg>#< z;)!v)L#|ycIsCNW=e*llk&gb<5a5QtH_4K#5vNh9;$6DM!V?pVpkAvkQKzOVpPBRI zpbkxvhNIo^$b$RN90p6A*5Q}Ha@l-q9ZQ6v7tl7-v~<^6vPs3sCcC=`(DwFZ1=xuR z@D}@EZ(y2v1j&1Ok+{~iuNT=T6nMs_r>8v;SX3*)B(KMXdCmOzS&@oZ{SR{2RGxSU zu-55mBF;R1uot!>3jP}42{x_DXP0H(A)Vk$N=g91GTq;!c)btPgm0AE>7w78_C7Y%+w7e7b3kP za34sWIdtQ&Y4tcI>X%1)VspAxPhzu?OEK>lO7C;oWQ$fc;LeK$X|B3oat%9SJOvRU zq4Q!D5u7ZDGOgNWptZeqGE4_aNk~Xg_Ve@%yQ*6UO2x!{AZi-Yj9ug~m}+i*t?Ts? zu-n=en81_!Sm&c>tb~b*)WqkiAEd3@+x=W;W85IW$i}9khP{4C=t!ziA&q^T%E|Is zD%IB+CyyMtU(^2j?nd-t1HU2tcgIt)vaz*KxUP=YG_QEJ$Kg$|Fy~+wRrNA2h2bOY;F@+bBxkWiUl)`R#r=Pvn}Kcd2y6VKkt7GNAsM zYMDV1OlAO4=uB0yflz+Xd3*K~Z97b1F~%czT(}vE_&7;;+j_}sg2!h~`@Z^En28t{ z6|Po{L`z3$q8+r81&47ISJ|y+x~!%<4%m(bD>#D|+1@^cN6!7;d`tvE++ef~5d%a` zEessXy`Q3UDf&gS{^*gSg}XaWOv9IRmv zks%%LkAixekz-exEqJ22(XN)3Q4}D_x^BN{$p-zYSC@;Lx;x3+9{Rn;Lbt7&E`l> zb4~4U<{Z1P=vb)x`#_OfjU`?%lYkHRu~m=^RH-;5gwRiRv!UvRuV{Nj+qy9 zDNR*ivSF>$X0fWjeft(R@Dvv&xF1@G`_Ys=d@NhxFl)P8yD1NWqj7@p+sui+6?hh zCEcuPsbAzV*arSK+f0PB(Wa=@@|tTaDxRuz`}*Q%wu$b@*>Sa%$&AN~%ao2P3ukU3 z@?&riogp`H#NO|6a-LIMEv%@GYv)lQ#2Z~TklLHc**N*7$LowQ@*XuU-|rR6QqWf> zYMd;by_Jw@pZO7JPhLk}a`GkVyDUbxq)H{j1eO~RX-sop-T5OeomTM$4*tmk8g>Rv z;$u%AKYr{%Zhs$A4zoSEr?_xINz~9^9NF`Jen5lCr#~iNqqM7hWb_R$b2`Ix8a4sl zS;#Dy=^m&zN;5V*?)@D$`4s@j&Y;+W>c>>_j2^TnwHL1se6ai`jbs;2J{M519baF( z9Lhx-c+my_olww9x33)lww3E->D(6cnPV_F=ISeYYHI!&dVc=K ztfjj{k8`_GPpxno&XC}IUHCLMCOROpF%)}CVOPU6oAmnSn^|ToF<5^140LS#!orYL z(L5JxwMW}>sJz4Bf_pyE4%zFpSM`5TJi5%nF5f(nqih_$KB&O>D}8bs;JQeG7-kZm z^73-?0@WG%)giYq_nQ0@jLJEa03juAjnG6nQU(Y?D9-}$?Y)Ypxd!bbZ|{Bv$3`-W z7Z5?v#quVshV`_l$wOa;F0kl|P9)l>zUb-Kd57me+DAmTv=l$}_yfPF@NuFO&Hl+e zZx^0?lv0}Hw7+kRNl!{8mG zU9T&A+bojND8XxzMe)W38!N~kl~|WGps*WW3+0ta+b-5aKUw@~4JQ37G3$QMTW^uk zI7ka_2vXo#K{S#80U^ob=t{65=6N!F>Fv4_@}`{qiQ0Uz?|KNuu}25UbT&HAJ`%?G zkSHsSPKiECusc=Y3hM$>p9X-*;D#)qH8a)Ph@>%lgnnL8=b$kUl`x;ps1KA#-QQYx zR%ih!1i;5*Ezz%J!ar(i38=>w1o;G~Pd_^gp+k*s9aHGuUJn&fVa;%qJ=;|0)Kt61 z+u%W3%)aZ8kxse4S<~HSa0v7Kr6W~UtM9jtgf!i3COx!^!c~L}IXbf-4}mDa*z*Mw z2!X{j9QwM~bhBRHUgK?VAZfX1_bKensf)eQa-OGb@;DY2b3$17PO+002$?bGDBsV$ z5^gx?h(T4i+C24^;EjbXE22X3FYJjOr=W;>`SK+stpGc6UZ3k9w|9Dpd@%j%gNz)k z)ZAB?FF&X~ALSLyqd-u?v7)Is5E3j^x)aQy7lO7-NEBabklRsG|G*g_I2f0vAS)}I z3fcQ%m^f1iQ-QWur->*im;!|Oy*poY?FoBsPp7fFm*16@r4FjSb?a7T<1Kz!EW#k> z>Fmzk5EuN_X|{%|aratB)@kmPWW5*nV3hN6tBs~(Ke!NLw?W5!pi55^X3spiH8ea5 zgR#H!AQQH2olhN7nGZfTpuS*ZTc{`Dr$tAPdU02{O!DpUi9-+v*oQYf;^jqsoxtkF z0CtQxuq1pwef_Elz`b?I*29|(ApY{^=H_7gw^zPV9r*}S4_-w;c(}@{QTR1un5zLv z!*vKT4jnr5>}B>*gg;gjoOZv7EOOZ~K3C}lcIUMbdHB1M9EC`JNxE;})HR_QM)Hta0rk~vX@Q$vW;`+M4AqkbPTtQD;bVlGA z2|FO!pp>fpDCQvm^=Sep4lZwUo}Q{iuq7suRXTl9Q1;P1+?8U!z3N5AErC0AYPlzC zj`o@wqLELsJ*$a7ArXFU_6d-{+^f93AjrKGj9-r;%+BYwrG4@D+w^J{rVh3P%Z!G?n3}7p@#PgryKt2lSyS;4DrkFIcR@y zF74FNPE^hj2^f@7TAHjO|Mp5cQG2dh<1b_ZOu*tXZvuYKPTnKxqxi$ZP3H^ z9AlQyM@KMLP#4c@9Hz(|VUNIlo)OVd@+K@+OU5_Hy$-<&Vp6d130oRlMD%A(*L z6s*k;KokL@kHo&c5QKs+3{<4|FoO~f1FeZH$b-pJUV6z+i|p#VFEDJe^OD#hxEl^-R9%>vp& z7W}%*J2B#`I?rysg+W)4I)w{`qy^z~e?O58_gOu|fw32c2m8S0f_QM0Hs7eN2hXb= z4IIUN=4ZQ#V>O|;*oti3Nj5=BqKv1o13t1z&0NZ zUxaog<1stt--fQoP{})o+Af8WCwxp>a`V8lanLmj^h;OlM!dFXVJwT1&`hy-n@Gd) zZRa$+@9fafd23SmD!!ok8+X^cyH-7dnB>=0mEt(;1ik1gs;PZn5&YB$dXhT_LwuwY zX9i14kyK?u_w~XxnUUfBN|WnEl(J0n8^iYv_`_={?p(k-!9;>ygPeINLU9kEQxf~M zOMD8WM4cpiB5biN^dpbNvB_@Tt-!eUY6o{i%r?0H{$7=+`~$Set{m~8Jq9A1g5#iq#2lFGiTs;X3WHGJAE_vD!U{R2mu zuU{jA*9hR!MiPf%UfHFl9nKqCGoQ3;UF7fzuhyIGG+uir^=0^}9r}b>5s(BDojGNVQGh4M*Gg5@b@tbfPsU8`gR+gaYflbhwaB1B`f5{gzr72%@W2;Sg zBaLhd-_+t1IJxVb(i7xc(0OnBUD^_yksu-Z;_yP?tE{-?XvCF_oRufMRBLyxWMrjk zs>XIP8Z9GI?r5T~kIJ1_jD~9oxEkqRd?q;>oqZR%xE9n`>AV7!Ej+Q2Tct)mA=1Pq zf2SHZ;??@CPAi8XuOuurrMQ~;M0z_*9lw>&CvXcX*<Ni#P!$!{5Z(Wz?hfU#YAk^u+%TEun)x zlhjMw>uxsHmCi04o6=TI!E&BKHaYJ(?F~NGDBQYpY~t>iKz3frL05?@?S-#MGF@Gt zs?HvL!gSiV?pEhNt2%Vt$8NO}?#F<$r_pIlX`b9iOus*~{g!lleC^!^82LO<5#Egfh0_CQzT zpph`AQv;7B7<9IMTl&SZ&02G&pZ7jP-@6#OX{@~{7^KZkF1nX&-yE#uJ7SZ^ygMEI z-lgO;<98Q^68|isHK^asw7=?j!lIR@KB?Jh8D~mWE9`@7_iZGtf7>&}yGHo8|B?9y3WFyTWQ4?HVgaHD)$b&c`S19`OnBQHNTs5as&hA?3}@Kj?$p@ z?|Jhsq~WxLjcu)1cdK0s7o&B~2VEpdw|v8~`kPmK0MODbs1S_AubTcE#(@LJ3wlmr zYh=9nMlaH4M@xMDxm@C7@LjP%JgAU^7?3Ud;#-!U-_&~pwVk6eyM^P|y1O5(e-hUS zY|Fao5`=C~6Rqcl7O0|VZLG%64(Ijy2S%f(ZYs!MmKbOmu3KP!uC2G|j0TD+3$4(P zr5a1w{=86{ukFlDq^e$g|1M>`#>=HA`vU!3Vnt~84X_dPX~ETGCeG${=r`S@$)9Z% zo)KVI|6z}vly31W{IJJAwNFiZsmPw~{N}Ut64B2r-RVT1YH-L&A~>8L1iHlwp6vcl zxCbIp39mh~T$pTa#AepP;>xY7b{|#?=Hp^;uFSc6vf^Yx>JNG9?I1bxtLz0iEd?y- zKX3GPUe44l-=7BTC8PhF8-X*2y#{|-+olxHw%3m%7M9*-Rqv9wRQ}?y{lV_+hh9fe*>eesJKXcNEl#=~<3IBT>&ns1s|#!T%>Phkl3-mJ zon62ZHMKO`7`sfky$W(3=E5Dav9zO85USW6=4~FMq#}Rd2F*)@elZ`#8#ivJtpO1V zTTu7y^yJ%I;Ll~W6~2lPLDMf&)irw6L3a|O)opm~U~b9i$mOZy)qz&+?rERRNlUYR z>{gPe?gf3ka}1JIa5Z2cM_xAjk0XD-6EF71k>C81cGTvlf(k>Ia7~gB=oa24K6M*> z=xxM@78dj?dgP=vsMx}CPBFy@{m?dUw3GykG)<62@oeRpS`Vlz^6XU6-gFMk8f^(c zEM%PY$q}?Rlgh3_Y}8O&lcCkCp!RSH8jVzSR=e~0rv8q@5sd48&k)-p6Y~$%i-^&v z;X!_{Erm?|>KBKh2rw?ftIw=oBtra9Z4*(VNJh-0&KiC3Cmngj013noo_J$n#E8T^ zHi(gwvXFHySXqc@AyY{8;=6}7r+i!)E`2K(gc&d@f2bTwvghpvsZK;}&c7`gj21|r z?0Uqqto}?XzcanYq&fIB&HQ~c-Hn%(%-Q^(J3b%1=#|!Yq)cUeD1G73PhTJV$*md7 zQI21cwCeT$-rdQ=f+D!Ezad!|Tp-C|UJ+JN#Cz-3pZzA>>XV7+90MFAUz&gXAhk<= ziizZa>qnWSg=Ks$%fgTjpZbzIvP@^ zjP612gARh9a!zbY44Mf4^}J`fvFoCz3`aIz>_+w6vPE@LCz%9e>RdsV?YVRX zuOz^3xfWwG4qkz zOIy7_At`0b5t5QjZmAnWMRP&unu*@ZSE(V&rwEG#G&?Dxdq|=xMD^-I8odV0GGo** zJa}&eT4-3-)JG+qn!{%zX&$pt23GC+DP3kY53;i99MY$pVO}Ih?45fj zP{c)K;a(`6b01MWuEI5;k0x?Fg@5n!wA}|Yf~zZL^kFJ_gO7HmQnf$%XZb#kg zR5^$-p8n)zxe3qEkBa>?OqWQ5pQOcnr+!OM>zUIED=CdNqJJ3N1upoE|@2`4Y{ zMAR%L%qeS>r$f{|PRrmEIMs-eIrAcOwlqgXy zzAt@leePWPicO4k6ms^z`#gq-&pY}Km+95F;)fEWjFGYS{9JXiff3syRO-98`d_gi zmr&uUpD-y4oowYp{?SVYR%7?4W@hYRg6coSTEq35){pMBcy}>O z+l*%L*d7NFON9nvyaax|F z`|%C7{b6QSkB!s_O@I)JwN)d(T=NnwEu_%TpFgjqf8N}iuE#=ff_w16Y)F|*CvKr< z01-DUhuN0&tB-;yM%0A=g~KELKrQ{+kJ>3r7ms+u@tb0)UHN8AjWMpO}U$DDXg-cF@wffx7SjmPUJPj=)Fx&$1 zjr3axUN=Uv(Qfrd3QsVsP5;?{9$@pO^i{rsfA;5u8k?s*q| zeOunIt`spkLMML>t#zU=dc*cd_dNIy#~$s=h?61DWw)@LjsH}&|GeLvkv~B_WudC2 z?b)>;K2H(yb3cvGIO1?elPLZfxM?~2FTl-ry=P#8cxZ)B(6{?|Elygrpx!#~sOKD7(@VDeR&Q*?>YjqBx#*Djt@CIhSN=gL6;fWrrpp zmNGB-8Nn+yTN3`_x!sBbcL;)plW;B)?5?lYbE*m0&y0Vm1&<@F$iJ6e=-NH&6%0x9 zW_0rNWWWam-wE^jWwxaZ*x3vI8ryyUiqYZdJKuX=RqL3MA}diRa_PHYnpOa%VPA{Q zzJyZe8a2;yqeYH?)CkUrRFE8S;a=G>S*qo;7bHN;F6X)Px-L*qa80ObXMd*O&{1~m z?b^O!pxD)*Q%2%?fwFhq4;}h=^8}TF7r{~ao*ws*<8mL2AJDD69ahSm-Lo0N2ul)Y zU%k7kQRWscudIBsEvcE-lQJG(MwkT$2TsrWXoSIo%eEn8tjm& zdglErb&GU|;H(w`6kL{Arxj85Zz9uqY$n(96&QQfhPlkI_{TGZuGALalc?IL9s8t< z;Xg-9H)bv@trqFYRjj*lkwH0)IPj@~NG`dMEhjw1BD(Bgvjsn8fR$e(z2eHleRl2; z>n2m4nH;0YD=9mnI3A&RR~gArLVBiw0`Et{gvzLS13OrbqES znr|*Y&L&eIwKrW8`F5>(8cTnEx1&?AQT0ksh@tE?D>VDP8e7Hv13@4pN3agzl634hp|Sdta+XnsJ_|S)}EVIJhijy zj=cMmiy~Qdue((JWs{d&ivmsB$dfllD}?MU#_tc^5{A*+GVvs2SSU?yc(eZY@e6+Z zIcQ9-;XIX!rx3wD@c#Y{ZpZSB*({9{ zOTHwBP1)zoiIvnVv}chupCi7MfwDaN`V(IM0N-rNga%3Rw#Br}nr{ZX<3v(GKCg0c zr1p=`vve0e&tYC$i&xw0`Nx#joZI6CuN7kJ8}>elf9h;G(Y#+&kp5^0c`Qm;;1On7 z+tlmuvrdj3UtLH!V)~=$<`Y90+A%~;o$oha*FG+K7`ai106v0V+mh1q7M6?r+RX6z zvpchXE{+1@zR!t{Z??-!5C)$KK8`Ak&C0SeoGL8jAm@KC>=k18H1=(nbSf79Yg`nn zECN>Xvc7zmE5Dy>b!I{#QenS<=Ef}9J=2IKcPW-}d0idkA^2spCJY%Lhd3H>|0W`O znfhZIxO?*rw?pRB3}7Sf`sVpsDaQ|TEf{wG5b0PNQC1S3#Y>hhkerfc-!;QJ_~_Fo z0bn*LD;ro6Qdd3QTvsIG=6E<(O*|Vy#Y&`-=V;vZie-XeokCBQ^_#fER$~n1A!TfA2#$3-Sf!4-;n&gJeB#()Q4x`>>};P#e81C{xG7}^HD8A4 zH5EFz*p9P^dKly7@eMr8Tdk;PBIC5!n;f_!po<~h6cT)ou7;TtGcY|tltl%^D!N%L zgxktq;VQK-E0ZLyN6Tdt>f$ZfOO(%i`tH~AsN?E|?~)d41Qc41&7S!(y)Zg0sLmIj zYmMxs>oqv>(gyXd)dwYan!bjv2XFY29vgj7f5BR*_Z` z^SSIHO7lgXNP%jgtU~;-geh^!ZzYL(V0?nYb7!d2U7hD{>)bat2FxDrlA_5qLApjV zeN|S}m9XA^Wz8oQW)WmBn&?8QOSzvnz$<9#!TRwp;$xSnY%fRa6CHEz?cLj;iPtyT z-@4=OlDR;N<&}oKDJl|<$GHRCJ`^U!6Id8~Sq3Y6Lfaz_f?a1zEZS>SC{pVhnQ6~9 ztI?}#@Hq)b#tKu_8Kj@lvLvMzS5uqrNp2kEyYwL8o$UQ+>f{;tZQ)#6yc)W10<)Q( z3?x1;*!6u08DGRIWwTl(wV0t$pJG5CTyPlJaQJdNU#?`qId}qgaLCB`!$R9a+Xp(D z{;tllhd1(vah|F*Fa&b%H6O)_IZH=7RoAVQHC7*zK+oZ+kf!*EKyLK0dw^`n_;^RS zaq++@A52s%CTyiyl7orK%A%6{zS-B$*83X04oSMAt7WY!6vV7M^`GuwAZuQ^1Yd_U zKCU~vWNkvXiJM19TXcIwTwialXeau7sr^)6G=5ALde7~t;h{9sU-u$==OXRbmXjNk z`OLNNv_9u(m$Pp7C{`CF1vhZ99qt0njZVS^yM>CsteL>u(<~dd=EZY-o z7>pkZ``#NNFW^e<2Ld8^?Q?1Mo~<}yNT^hDlDqG9n|Eih=r<QxgxSsqWitF7zdkgmz7ceCEu-)@5sy>NA&{g%`sskMtB7l*ocMee?Cf?{Q?TaJYE2sGb99A)x#V0rIP|c~=vvH|^JZaT%AM*2 zM9IrdB}Zy0R2+1Jc?6#vl?)v(G8ZHWctPWFhcIR&_A=-u^MaY7hh`>e)C8w5tsO+! z=RAG-RP&0Wv~*x(q_Jg)ZR{HhO-w@nIm)+R3#*-#GA4(z`AS>b%Xx`=8PE3bH`-M+ zozYa~Jm=Gub=3&-x|7h-zoOAf&H?ay127Rxa3L} z1hs9A%MP2)j@22-^OsnzkRo@Yq68md#)cM7j0;diu}!vP=+3@ooMdVX5v}(!amg9( zGy5T(U%M`4xaNRL8cf}_YstoWS~P3yvNOVR)doQA1t!ARBbwjcnzC59k-Sl+)M0vt z0(YlAsb!mL)^8q6%|@dfm8nw>ZMb;Mfpbs(vs+`I!ehEq{OxTot%hxBorO+J^25A5 z)tQ`uhfQVa`x%HSJ!f3dpNc8ZL0a8?bF;`?c&R?9OBGh72l`{>#@X>fZMB83Wx*6t z-E;e-c3$)oRkbL-XztMPIf^20% zZi0=pdy>|m<#mglxPm&1!Kc0??_(Gv2RMjJG`rgSC~HUXh$As;Wo6rfv$J*TLm8x$ z9-dBD%{)k#RC5%IDv`dSA(g$?zLCY5TKsG?mt6u#R*oXND`9`&UUQP4|s+YkMDcn)C_HaBeGlJ(tXS^ccP$7!@Z zVRAKz;zjX#uLgzLL{Uq@CRj@3Uc^;$HHo=b&$T_bz35+Rny|G|6PA4cskQevE8C@2 zs`Mx|JxvbuV*{VU&mYd)8N++T*GRI|S|Yt4;Lfnwv(?VK$GwvN#UBg=iRiQ|0QuCQ?^GxHBBI4KV~ ze6!t`?8X8|Lnj`)gQBuOhD~4Qjr(EEIBoMm=>;aAzST{iw8KBW-n+W>Y~MXV)MdTr z0x>k?Pv)AmGKHqz@y*>h*WA?w^`oMqqCSm*maAtK=3O+E$6AlCxeGcg-b>C?vou&J z?0qU;&`@TC3aq2>v~|2GY;CCbmO(VIer#!b7uTagFPk_L_xYE$w!*cf_lm^Ckvv?~ zE=IF31DcfJBDY%Davhl*zw~QTLM3nCpm#gYrS)T39u-vu1rVRSQRU6YXkKPxWj*9x z9vB!nGh-B!T}g!*i9wfv%1-!YYu==QQ|amcRx32WfHJmFCY8L;{*Q&?gf6`w-+SQDR7++)wx6g9VbI`gd$qn!$!d0HIT=Od za$g#6jsmj#uB@N1=`px>7An-!*>|3#s-(Xk_KXt^U4ue+sCDFxnh#b`SIRT$_F*5` zfc6_Cfv0N669!L4nuMJ?bxWEH z-Gc5kru~JvyX8P~azc3hyc?P(P$%vHVvw)4?1k9@rJ46K6=$p+w%w;YQiEjG)t#3H zG4(7ow+ngJCC{$pvwc^0VQ+aR#@W>D8WM;tL^=15S)p#Qk6Y&xDr$5cU)DJ^wp@3i zmPt~}0`Vx6!Uz>hHycbP^tzxM0b}80^!T`*FpyPNpq#;RW8o17R&>iG#omHPvBUb_ z?z~IW=g(q7u}MiuF}^@K9vTlf4Pk{+lE;oXv0aUwuenyXd+9X#W_M<4%5S{RQ*EVL ze|nu@ghoaTqG1&3;Z+!lEl7=THyR*_)IOf_J?2pXoL}9P;;p^)(o(2HfG#Dh*RH{A zsbpPU-M|ngjlD7qVWmO}AAyO6aGRDpMD3lOgBDFZi2PkG!3m_sf1cvB(Kt)AI%iWG zJh5Y!zY1sLUc7EYZUvrkANNkW1KlUdYphf#7UiOnfz9O5h*JA+6E2A?oH&87M?O9V zMlYydhgW+T)G-(o-SIh9dE4_;y8IZMc}ER#n?4P>k4{}Ui=ae&gapsp%N8XR>YYC$ zT?QPXENB3Qw4Yl3%mO?$-d8evEAf1A3dCE1wv5zk<&6L>YZ1;g2Xw6h-$h2oqT)Dv zPQTC@>?bBgi=XlWpe8vtH#gF!5ctT@1R_=K!`cfOiOnxjd#t*3FB;Vk2rQ!AJ%i2R zQs2Il1};U;57!1vot!Eomjx!q&jufN-Q0A$r(oel?Z;>Nv3&BAr)QzL^`Bz&bLp`O zlr*H?v01F_`2$ANt0a+_C{65d(wgExSRJbij^rHkbJ@|Jsha7|_SyI81)|c8DpTj>aQF|A1>3x6PoR$BxtO_Ue{A_df?~ACNEzxhyT<4OVA+ZOU8^7?<{yx|HTu;8}2!H=Q*t zI-dw~02PW`!>)>tEE>Wjw3(nN=~VUodOl~Is0SKg+)F^v88+i zN`ju;IxkG5Zac(`6#+$U#Kgn_LOQ@TKPtS@d>fAkehH}J>KU3hqpv*`T>1;Lk#=-9 z)^vRB=mhS|>-!NU1V7C68xP^ogUQ)Yh)(Xn3`$5F_Yz!mbiE+qP^ku-eE|W5{EGel zdFRmZ@NM7=H>Ab2{V*{RCx4BOpI(og~$N$L6 z2wFM#6m!hxeDP&}2TcF%^?B0=4;~m9dGmx`G4b*7fl^6e24CObSuWjZ2a=)9&ie`# zlY%koQmH;04idT(M@Ts>YYcLGX00)_+tPOhmq%FWLQT`RR(^$MUWa7Mj*O zo5bxh3S)ql?zWK}UXIJZpPoP;IJ#(?B1Imr=^YXha@zx!;PAmrze7&E8lvltSU9Li zq)n9OmHXMcX`m|zoM_(VQLksYoM|>{R({md<>;rn}g~YfxT`1ev*qK_Cf0SDQ zt#l-p&XRFjCS-SiK6mEWHFkD=U0q^1%~^-dS~q=X_E9+nfe-mvd$)`WN4>ohEj+QH z{f+T{@4+j0QB6b+CyyQ0mJzYAut+JZtF2{bCBaWDo6Tco6E;}0{TS)uVb8JuRlmSQ z*u!0X=Sz_7zVo2XWb=7LR-^kbR@$L$0=y$Up>$~iV!R6C^PGkiS`PIvVTs9HDEJ*gNv4H$+Y^xM`h43NH14eCS>qOT%wva<>p8EJudkUfvGo-sWqX#UfO57xZg`9 z5&8p!+T7jiY7>0a9%D3+@=#IwrdcNEetNClR?8K&%e4l%6N(?k_@?!&V|bs@QeI9k zyZ5|b?AZ%wbhfs=`$%I?+G1QNi{NyZdAH{28%-0d_U`4H_wJp?>{z_3Nv5K%KCN#; zX2jLH76%ofvO2d!X0|4zC1<_Q*V`!MswfcEwRB`kOs_a#InVYWo=7u@9R!Mfv@Z{H zmd?vL0Qlf_i$!Tk*2wZuj_3GTZMn1!s_Z1lr2O5xCmeb=Ib>O<0xb6JcR)$LXMK%H(V$AA3;|!B&+qk z1#kUO++IQ>m!ct~X^&71PRsF~mf{a9Qr8jPg_@+qPSHMlMf1i?)k%v4^PgM*W(u53 z-@cZ+!>P{5%X=(%Z4@|60KMijtk%tIGdG4-|^C7Dp~X~jb$Y+JojJQ=r{4nDKEZUj+Zg9 zA=Ni+jV8HnII8+K9G@KYcUjJ*3|~Xw&u0?Z4A|)#Wy*ykRlN zRi$*pmFm?}0d)oVAGC+(&^>#&H!PNMwD`%DT{%?nQBM%gY9 zAwJPqaDDm+uRbW*HxqBmIMcwD1;ee_3PqO}#luebE{e1w&UtRS6T@k2;V>QtYdyVp z0hi4veXLAVH_M+*zKWM`*vi({zhr$S?CmVknlj)1en@++>~52Vyh>W;c{I3m1FH)o znM#spwasoKaviFXc)@va*;|f+?vA)*oTH05&R^}Ig9;K9T)TFjGsCWyDnM}Gp*a~# zq=!c>Bko3cH5j$&3W5nAc5rq{EB+yLrey^92SDn#&jVAkXs!`aw;VW1N9nO+Y$w;51`KY9ZaT@h+l?Ugh*%?1ofO0xE@dhPQ*3$kOOJl&~MdA zd={_z^e>F!a4CXO1eLt%rHSCu9N)3nl1ET(&aXdVJpUFYf3Z7v)UI=h<~erb2V)8@ z))CNUM0-X&yb@T~+D9KM8d&rl#(TobkO7{ab08Je6~DF{f3>x>g>;&QvU8{|gUVbA zE^8xs`LMls78c1750&{S>yBk6pMl+i{rP;G$HhZj3O+@vElD$^KQKJk_bneIUO*o; z;h>Aekq4_+%fsvYN=tQXveuJ%d9wPQIaGQXx!G1?xIFeI8k~+F!$KdiLWrFERr)O~ zV*Hv&cKk5(b5tzHps7imz2>(DyyKkuDfep8H{Ni&tNB*NU^B&T*PV~f!FtjE_}*GI zA1{>!Fe#qyOeI=)iFkiE*eHB2cYrC$R z>6G^F@7HBNJrjz9UKDlY1rndvwxu64cz&3 z7{m3@k_RQZ#@)dFFs1wTfurUH5J$tvmTn_~_}jy*Y><+oWt5*Vb-?>yz%xrgGD_<+8uy9ks2M3m|J!_b-aR<}9Wo4x|nXrSYhk zJdHw~dRumD-9JE=r^v{u>c$-5A!NnpW*3UCS)R>Phm08dbfV6<9{m0-Q11Y`LVp#M z48W$4DtcQday`eSbig|)_;Xwzzc%*?PDav&bGEb;0m>O4R3`_z>7d^Zi z-E?Sw1Dsb*(tm?S0Dbn^shx(Fgecd`4{^?ae-_x?=dRu8EM8M4@8u>c&M# z!0JDYa5w}Jw$~_8OMZ^j;v^8yCvxonTAscV-hxdl|5N@cflgn)HiQYgL8n$G zv*lzn?H__Ogxri=FG(;7zyIr>zuCW+lK2xKNU{FC450ablLwSXzBOEBZHgd!u9yEQ z|1vzx(MXfw z6Z=0Rp3hp8S|k6G$whxC`}*NhEzW4_=)O5%Fa3seh(uRAzq-d!;?+@~r`d+F{BCTivW@#DwAX9jr5% zeo^S=L>a?lShyPlU4^{Awk0;ThLn^-V`CtL#_6!yz<8|~syA|fWGO!)H-BHiFM&_`YPZ3^)uSQzSq&@?$GZJ3KNW(&8-Z2-4J;hFcZvDGhlRUvP?IerBqVO-nowM6 zZJpPmG#ud8_(%oR-xW+1`KPJpswYnil|)CUMMPduDY?WNbV0I8K=4NLpHfW7&B&!` z0BJ+?b%pJpfu5xl)mLYj6xK`{N>Nw(AJJ=H(+33VB^F= zQG4;7UfggCoay*{OC^Llv>xaUWVjv;dMun|`0#;rE9zRR1g8o0AWeT@h-$Sbr4L7x8(ZKlQUEpBan6P=?&rZUdS2%iV>{+apeS|6yD@O?XO0b=0MyHa|NFJib?7JmTRo~2 z-2x-e{jq;bt3e47x?CDw#Jtd*`szs@y)a{F{rox?DQE}y zhcWQa|3+SrzxZ!_zW={JE|)$A<6InUY0F7u$tV=3#~+?3c8cXm@f>IoBnk~3RX(Qg z+?no74`qe!;iny$R<0D=uLfE!e7zat{<12J&5#=D9Xfd~GTWq|QyBV6v2Y5l;JIwL z$5QN03MOt^!+?XtSOPlv*zw-C)i2o$Lt>%zN&V!xi%VlnE=sM)bPP-X#)8p6QR-r7 zJ1l_poRE-EWDD|eG7H6!sW|@)y2Xf>uiug!Uf;f;tFM2Stdc*3QH}P&aOHCWtZxyJ zYLb$+vdV3_8C|-!ntq`lQZn$nw>@x!b0ELi=J1prE`m=2d9X9!c}eTI{vG1fclvkLc%jMsMw}UN5p${~WKv|M}0V5c$*pTC{bE$xu8>kgtT6 zaX%*!v9m+_DrZO=+aNu(W74c4rH8a_fHutY(AmzB81?lrKG!PQ*yu!N>?f3~uhp)& zf@9Db846b&mW2jIQlgm$*;=QCd?E1^>9p1@xNDcKNRKoPE><_4O3#C=R+kclBa!?4 zs4`*UnKqjjK~dF#Bp4{pj#YNGMR6@LCsbfV8N0TbYQ{u^=V?VDPxzG3zomNbDHPvi zH*(g0v&`F#e0AmCtxKmx7TcYdf}$)Ji%+90=`&>pi6Te2LuSsPnll+ozImGBYfoYL z9~3Ai_8M{HF_(`myEP2sU?A;Yxu@j_ef0Sre!VfXk(^$lEH6*UV%SiHA zRg>Ag2n|gp1E09ozbldHqOTo2F*E9o_EE<#1cTI{+OW;ty9rJ>iLpbyDv)d9%*`4%hY87WDpcjTK69+({+8?zc; zKY)sacS{%7pU9-HLLNEw^O2*>JLvr_&(;cQInewiMJ1mRz~aJ%k2rqUze4l-rka{( z{FKmGPk5@GkY2HQFBGT}iqLPoc83u4CL2Cv?zb84kXU4Q_=|t;4)@bi^zPWo>%fOJ zg1*F=L>O4O+~clpZf;#AX3*8$lbVYeMkDG)*Ot6{| zG0A`&{wMVa>z)VIXTQWtQV4@13`Xp~_`~t>@h&fDWeItUd-sN<++{4-P(t`YV)7TC zA3!ZWM+=cA`O&C=;rE(&uL&+^_-g|FWbLC~Hkqk+zX_kgLxZ%#C}FL@+B#}x)H&Yo zLj0L(h(#KXLpfSN=&52>@#KKwJn-@%hvP@)+V}r)J$YDOTf2KOK4Dwh+1Z&k{XhLg z%9}Um);^9blA4P3hV~qeA2&exQ(t_QB8HEF8a{=VuQG0YUaBgya&m4uY0dNHb@lby zOwfA9rieL{se5(}2tl&y$5DZm)Iq_*TBsY2!{L=Lw@@zyKkCPVEV=97!KSC~f*#~r zOxH{Y96ukx!Xx+QNwR<}H=);sU+Wp^9F;R;$Q$D$~LX5Sj58898I%gfYpu~v6hzDbO*k6?2V-X z?+cDvGXaR;1V(3OE`pi#+pVgB*3BT;&>O2~@74e`3KjI3-$*yqPq!9>csr267oLDA ze`{O}MoSUlq%=wkm4TH6)RJEh0PRUri-WmnKQe%ca1l9J`J9 zESg0y9)a@2kree}&b4~5M_a&9^4U|7k@*6?2I7T4hg7K;0pq^+%)X{W%bUPwg4TY1 zx;mDnHm(Y)W_R@T#v##ZXbB;)=CSWEBP^8q+gPXuIm~>D1;#Cf#_p6tDaY5%iKzWX zn-cB(UUs9dX4pIlwH zt1z~xXt{CPUZ_I+<&}HTZM^R`#FK?@5m~LuO9L{bL>VJP8IlG= z12T&YZyDl6=2=meC?O>xL}Z>b57EpU$?zhf(L7Y7km1~4t+jt^|MuDE+WSn`wXbvD ze^ytk^nO3z=kpBreLv6BlA?ws4IUCXu%dB~JM&hU|N8^;JI#HD?>*-tl^BaHd0>S5 zQRL=tupi~zYpWPyVi%M{Wj!vTougq)eNbUxSHT0w+d!?lK?(>Vq34^J>&_+OoKn{6 zW@de0sWlgCVFg39K95$TS%Ie4^w_Z%IO*K=4gmsCWN8#~4N)i*%>jyI&2)4slB-cK zIw&CTgO&9E?E5x!ybiZKt9$v=rm3LOiivoHq7IzylHX`<8P;gb6Wltc}JouJ>Za_l+{DHG&| z#NN(3kT#xp%RjtBY4&p4upb=qTWlZVHyyu)A$J(q%=xn!R@1t2*=nwKmeO`$ftUQ| z3aHb%LYXJl+UFM*YVRmCd0~D3NZcMrEQ+X!iTqm8EW4VCvl#Q9Z#zEl#z3?2h%=U! zjNGzcutg0+GHW1lx$aq#g1r|(k584o=}kX=C)^*J`=sYk@Z)`dJzaG@f>Q>YTk-=> zA-BX(z-w+4p>(&N$znOLFC-5S56sFtZtZm7z(YLSx%P+i^L|G#g42N^GkmTU10{8x zN_GQExxR1q(~a<8TAF~wKL~WZj&xx^5k%!LGZnz2Z;W{%V2cs+aO^u=ziJ6aB_y1? zeuSQ7^Ze65w$OVY#Z~wsH<;vVXljP1Y6-S~m7t+{bpuHx4GqT_GR&{De#8%gK2+$) z?%U(x3KNG_uXpA8Ki4~P!mC=GC*S4h7!{T;|LfYEu&0AKE+_o++8&Gw#T0!3jXV1m z_<0Wq3Smko2cw5#s`pA}|JK%k4p;3gy2a8-} zOV_j?agk5B4g|ZBtxb7kbW}=G68U!+;bC=xmk;YO-j&1Ivj)LjB&=tcjI+y=n{L-7 zma1TVfTpQG6uKkMt2*#f$33cA4&X^gejU#6bfMFN-!FJ^HgP(cNKOSkNh8H38Kzh40 z-@G(7!6V{B61c$w??Hc+( zL@n@E@|f0`YhX8)1O0nz>pJG(lg7sDd`raBu>5D>#_@f#$m%RDzZ^g~wOzLCq+lYa zfJ}U`*?-X$la^J_3}<0+rkTfUD-6n&Btpqyp?wv2yF>3a6~>F9XMtq)<Q0SL-*X_;4PeSwUChmjts0XZcwJ_>L3&cfIktkBUqdp3`tssc{^ z16%li8yK6f{XU_%GfUooe&%-eyNoRd*Fi@|6r{*Ms)00%PvqwBI?UCZSWy`C2|BwH-=3oBQf9YSvWv9^5#C2ht z2azTi8NGh`R6tJ7yQkcFH`5v#(rQg)Gt9IBx74?*1;5JLwQj}8L$9t+<#Y^U8VFLh zw!;|P&O{IGEEeDT9XWD&@eBg$s#U9ujEu1IZ~KkR>S~je7FqdEOWFno-%%Pfb4nAV z{n7cuvCnS?1JzF$84Y)(EuXK`mWjH944=?MvN%1A9uK6tVHJ>~H*^x8J-c>k=XdT9 z5O5#wrXD!e!6z>62=tmWY&&*{ZP~J4*~Qg0UE_8s`YO;yK>*mywrgqPSkI5IAui|BZgv7ux*5}MKZrsQtJf|cK5*awrgGcmP9e)x`u6IOe8S7#-rff- z)R!a)WmQ$87(fIuGcy|)hb$WSDiaIK5;olCaId{xkXcz=>bQYs+QMW7cc`lt)6lB@ zOtR}8{t)`ZCKj~=KOcU&yH&n&s&2X_HWCRpm|d=iFf^Q3X)`acxlBJlA6C{t(Y+U7 zDH>E4ZZBJ6-TT9&PbfS79qM~}oSBPLMlai9TGMPz8LPAR!`td0Y#(#4k zZSwfE2drc>PHJ!0>sKjRi4w6Y@!WT#sW-rBVx`V>OGz+a%}$f;@k(XJ+>>dkHjsX@_wdU2Seui6L!v9kJ|qH{G%`Nd|>)?PHo?k&H&4m z!Mt1nmP!@mkNDCA{Tq7E$>WbDMfm3=WCiBRBkKd9=j+|PZ5FdYu zaZ~FpHc=aF>kPT2o>nQWXJBw8L^Y-G49XpRGH7*wYq<-ITZE+(8EnC^0&Bv2hM zUK}f7AYBeAD=Q1(V7yc*ET{rw{m1KJ7H$9Bm-ry!!P#tu2+@ho&zeftBO{aBhLtUm zm+P0AS9xfpw`GnL22ur$($SP)d`x5ejiU3>I!$N)an@S3I~5l;o65JhXrB;}k-TebcsR`HN$(>uQcFtX_mFbyTHn|I5^1-qDBhJ9+o{ zolpjFbN2lvKN%1qXVAjZk8K+GD}|?3u*=|hf_w=UBw|gYer_6-Y++%+6;J%j6Un{QL!$2O+gf0{s2i<2hS5sL*NWs8;0N_@{~C$avzQwdALY?;>Htf}D9RVCD%TfTL?yq`aP z(sQpe$R^esp|Id03U_?6`j=x6-PnN!gW|CXVwsM)@3;)>EYZvPHPrmXY$mEf6dn_X zwR8G-$nT%u@^W$c0!IN8wD7&GcKXYg0;_83&6_uY6ksvLJQl&8KfmNpi}9c0mx6+N zf$ZRncJACcFpfF0D09$0x-d8WqOs9lU6<(<=L2n;IQC}(b%nC4sR3s22vRMogrh%z z%Y^ii?DwE_6>DFFuG*0 z_8NP!lk6KC8nDp&G|m7Q#8|8!HXL*3jyNBh#j4N!^sxBTK$^cU8u2^!F*@)#)VRs_f<}e+Np7)G-+n_g z-4`6wU}NmZi3zj&lR#+QXz0w)lh5(?cyE?}2v2 z5_uk;!}lNVIm&dRUfn@<8+WMl8Yj`02V|1iX=L817qh1QzCuS!>smsBqT7&`+Uj5V zDfz$(hHKb&5fBh??b`47U1{aOJ6A7n|1{)CYaD}pXq1M#XhRAL3KHPw$9l}Rv)V8Q zyN2rmf%HtAD08WN1#^gx@u zUp!;=xn%m>EOvB1p!Cg|Z-`L*egaEWHsW5GnrU^VBDxBV5M2n@H zn;STs3fIBvni>^;Ma5p`s!~-Im8TQERW~2Ycu!hlv(!#W&M-XP4$b%z1*8j;f84i1X?SVl0bGZ4GXsmR!llXF^p_t4Ep-YIm^-On%wniUG&Te%VC(Hx)=lUg zGG({tlf;r9(Dn9jO2=W3SO8L}%})`dhdbZnSlIi3Q(ex4NOw$gFCWH|n)!tVeV3B7 z6F@o9Nca|QD_Qs%A4W&f-_-cz$&=L7)R`HtQLd|DVLbQ;bc5H(UiYCtbZT$$Ci+8y zC!V0=IVo01Latia|Wg>MeGDU_Uz<2t6Ys-5ekf5BD`L}O>cCdtN z&sjI*h-L?<%{J1+GC;mbG^=-rCP^hU9YwYIi4#PZCUH$sy7$SXQWr}-ppUTtBZVpB2I_2G6tL@oGGJ{>!~ z3l}c%5%2JG?NVP~ByHA1l2>}%N3VL)Z&K?Bt!C3zN!lj}2Y`{I?F!W#y`cFWWL7 zHHy`aw?Za3pzSF?Cl|d|LL#$svg*5QCNEsGpV_W){cMtil zM@J6~4{ze-eVeAiWhM6sD1QE_UAJQDcQwZd{XNUYJiTp;`!HPRABpa+IAftsd&GHn z{qi=u-Dl1WBAP;*uB4=7b@!2(n);eEss}_s9rrMTaf%eHa^yzj<>S_!{-+^9~g`6Ta*CM%S)smDsdrXtSMf zEmPgUzYa%)Ha5=h&W?_bRs+X!qn^jgDRj>I-glvUiXB5aJ-tMK;0yD`qV8wdcZ<3c zG=Y6z^(+d-!Xlw!y_o(gsiKsQyD!(BuT?K@Nf*_-pMC=r$&W7$lj?r%Z z10@f!M247XK)#2C-=KubCcB%P^E=pbQcVhMrQ_gw1lbQiefrege_8K;u@vxWxS z`fFRm>{E9V3+-4Leyk7-)j7GysYh&LGA?7mh8T=w0PiQ?XoQ^Zds0~6xfid=AXDeXo<@~3Pxu4)AsW94GjrW3A%}TI$w2S zDA9LvCWG;>me$*E95Iqq%`^~CX+buU+;}+aS&tehpR-@u`HLA71gi5C4k;Wf zAKzz{Y-~y#&DG$rXMed_$+4x5doE7eHBoD}z=cNdcmy!v?CT;G<$>lqj#cSrjYwwU zoi@@P`f5U1IXTiCj7SdjLpdv?Z^lYKK1?<#*cA2*Rg3Wn7Zs)`Y8u=iM#*IF3{AnJ z&nqr8xkgd)xJJUlS*fX(a1Q!+E~iN-U4=3vY0U>!*A62e&*(n#Vw9095lRbMI2cc< z668qIYpuN37|j|bb6|wvM-w#JH*a2iuC&-8xGIjA$xM+RnQ58Q@Zp+$5X>-q}Z2o(Gn{`2^5 zSZL_aPdAPO)-W?%)&KCjv$HdkU9Figo$seWgl>4fFV0<%zF;%RqmFJ^Yz6UX*e5Gi|m-~+9| zj#mtnxhlRQEFrEOK|mo($Du+z2Tr2Ipq@e*!7`-&7cm;!+ki|BefV%aG4ZTqEW}nM z$=IHr9)wXt6B9p7uBrO`KtVv@US9@ws&3=MMy{MvMZ`lRssN(SKzdaAqn|S~SX!0! z2AhU$S&b^)Y-@hz8X6nNxs;Pk zS6SgPZcGhB@r5Ky2zT@KOS}t!I9yIqWHQrW(p<@PGn?xVzs%20vF!a4(E13w(UGp_ z+B-J>R_A52t;tS8x+G4jW$~9ndnzf1gq>eHqjBP@Db8@%h*c9M~j^_$j!*f83WO}F_MUPRD*lk-Gv1@SEomezdS8^#(iab8Kgy!gE@2;XCe(9 z`HuSZEW$ZdPRPM?DtiIBsi=UcJBR3?U*_xOC2CUcM7(>JF)VompAK!P(wUdsTniib z->{n}3G$&F=fu@QlUju%$F};#%-`~OKSqs|<8>Bpte?Sz#G3K(MBEj%Mq3L6!)i%Jh@<$2V-)Ab4`8Nx1|nAC!f- z?|RvOxMDbk%k?PtN{k(F`aG*FtR*-wz2eZpgUTqir}1Vx_E6s)I<*Z248GRYD_7<~ z*rnKGOv40nAf#474D4hB1I?A5o1Y1jCh$Tca=zqA0bAKfM!*w00&7VUU-C0>(a zd&;(rLuaKo{-bylD`%hkK7P`nf5VO)0M^+1OImCg@nL2T4-NIjY!$KmR!NIzS5dME zi6n;{#@2NdBpA_>T%CZYfi>?r+hb!z0;q=5g(t>`64)RjEDVFRIBV{V*j)DZJh4&y z<;$0l~1&X!J<=Gh?yo1KBl#owe_E)cLn?%;+vY|X}v5El`tDlg~Xu_Jj5NDjVZrrZB$F4CGcw*fUEePfb($q+DH-r7E#2-L`4nx8(`-( zF3!!H8+myhC1W9Ul;I3ZIkdrd5yEF1 zn~btDPmB=40|PvI3v3EucekYPs;<|_)qzPg)}Go21=heCEfjk|Bmi_Vu&|gv@bku6 zLe0dz!(BGCGOivT%xl-`m?0C~uyG^y-)VWD{1-gtxk@@4_u8bVNbiVA4^%M>x-m49 zSfTf{B_PX*HI%KssY#>3I~4PC_UcS0SAgmO4v!CffKSanA)!oA-OOw6vw3@a!@;-P zNF&9i@P*?pLfP{MlmIHPs8ya^7ErAtEi5e})4Zxi9kh|1T_m5^fBtJ$nGvR2*}lSQ z&@;tJ+qOmt=^|j^d=#v5SJP0RJbPva;8pqP(W4(ee)OFlvD$ZAM^_g`pRDH}hiHpe z0Abs$bgS7?QegXbA0HoK-4PDjtPeK(^#P<>VaQc}6#K4SyWFXl5qeSKW-WaGu%ABg z6j%`$#mwXj@urydShY!<9VFop0}yC{W}^|5VSN}VgjLAbV`2;;$%2_Ze)PzGy#k4a zLg&`g+uO9~s-BehEbRU-VzQO?h7v)bO20Bf*k|VUf$aE z_(Eak>fjYNUoj3T2s2~K`g~qAHy_WYhHsKegShG_>$d&++)Np3?T9Pkz;@Qn?Hddv z@Z!bB<4GAp+qPM>rXDfQ?MS>}RB-y~6?m~(C}+H(G|Jvs106Kp4CK$3BO=O*N|5<( z-@cuhLn0~j@w`&*IM+Q*;6u_-B5}Pk&MYRi*!V#UqWlR;iX0>P zQ;$}%ROp*0EyEGgg`cW{S(t&rb;i4q1RBPF|(MMv3HHlY>pl<0!9CeNYHS z2ac~>uC$U{(MM0&#MJbhpC36|n4vNh)s5Qu*%#*BGLrjwmWeCmf9_%dR%v@nZmeX} z($&+80=jzis61pRIJz@Uas5LfKsRz!RxpTNb4e!FIAckvL2qJw{Cpi9%dNNAG0~+^ zR4HWVj!Q(XRIftn;p*BpIz8BYr#8i!(0%};N92OfjgE>^hev<|&dZCRu{j?#B`+yi zgu0e3>t;+0I~!ZKh+tCeuBAWF!uo2=i6=B#HNDNs(lX>QKuM~l)~Qpcjvl=-9h&s! z^>Q_Tkla9}>gRU?bTfK8aA#@$jFM6rWtTVRH#O zevf`Xs(kR!A@BmeDDQV!Jo}=|C@roQv6(vTrt@~i3BJ2~>kcSax(%P6BCsf$E(T9h z^7$Z_xz(@9OAB*HnpazPC!9YTdxoD6FB%{HP}ML_>aEwV{}D#2$i)+-^MNL65fVUo z&x!cR$U*=_YMZ^EP|{xM*z2x@hnJe@R?zAy z19JCPt0KNx63{ZO+JkZl!u|zI=Y1(r^g9ZqIh!B}iuyy_+4*ayxxXUhTRuB@jRrn_ zlD4eB_N=}g~zD|Gi`_@C3?0YMx0e`uq=qG}%A(Xv4u`L6AO(kgSo=@!fXxB)@&I z04Zxtbv0*fU6By51XgTech}dtg3^MsBE@&2LQNUW^@NR_SlxwR*te*GXn;GAIaD$s z^@v(z&H5&^T3opzS!;^9ZBV0ttZsSoo`ClYXu(u2%%=_l9ohP`rY!;^9t9ct^{NDG zJjUZR({-s9tFyJ&ow#?eq`6TtR-H0ubhN|=Rppf{NF5^LR0g++okGGlqLE#>Mzp>8xDWGHbV{p zRlqL>L>{3xQ#ZZ)ncCoa!7PdRwJDk{w`6*!0)0 zyBx;=-=ps#oLlY#__EvtgizR5NIl-{`w_};g!MbzDT+fN8(STUzgK|Jk;@h%pqtNs zV5dR`eohJFU=gXYR`Qdh|IgdrKXDzAq%MK*=?2XTPlvHp8q6PU!XZI=|0qbm zjEnISurMIL(EnzQc;JGe9s*U-UMrN9$JUpb0Pt0_u@MNij(cQiL|*$B!TEk=L)Un;J7Fj9XY4QSRT6p*7YM zX*>TNGPJfsZRT}Udio$DF2=~AZ1sQtXqA-(*i@wZnELquHdrJ1Za6-_2!Ihp&JcR(a~({*IV>Wf>l~YPY+#(vG?uR z*w@*H;wKjbhzI3tYOs`)lc(G_E{VB z9hN~lfNC^*>wPFVfQQ_-c+QONHIlI)Wl_fL#jL`(DOwfF|5Rx;A4XO+b`t*v)D;Di zewnPCT&!z3_5eyqNXW{{!sO91nO|yRssWVQ0#}WJfdO`SQw$gabRctt?Nx_exe^C3 zD|ayRrm>T`^tNv+-kpdK1o=rru8XzV#$RB}ptF z?Vkwcy6q^X@vXP=fp1zQ8bv<)FTFwj=tnUxcRB?SP(EP-H4|jP5r?*|%9(7}JuYX| zj>ZqGpmKQFZm}#t0b)i)mMBdC1Htu_b6WR{fQ}romccDT!YC(iNn@ZrNZ_jhP1ovH z@bB5$KIgV}ua_%VEK9~>&GobIiuh|fRqI4EV|v<89oJE4quzS*~tJJ|wk z?SG;Q&C3G-g;{hw(l)OE2_bmzLSr0i`~u8$qtzImo&)oUYFG_SP*Bj*Cr?CAmW}~^ z)z~aWS}n{?kf6~Vj9dRLcG$syfxJPJJ9weJ=~xS3FEhl;$Hy8Bq4c_xmaZ~KbHFfA zI^AeM<)QuJg4`2i!%-Q)M73`YXtXqEymx_WK)0q~X?W34NKE zrK~c031C&bKE9J83SuNz-x(VvYs}sPf+t9*k#hn-=)H5u_Vzg~HpNAm2o;26rdyoo z9EgZ$#=GO(pvzpN#{R&)h^tu{FAgiEMm&_PewT)NbQWUQnKSO zGPyKVx#DROAj|I%JRp*chOMZqbY0zHeu?Hp!4bT=g$)pXP=jk6rynk6yx*f z&wahU^?N6Namol=z-x?Nx5M%vQLr120e2473b2h_jo){XJpUxQIT(|-5RGB48qrr` zWo><>9%2MhJ(S5CftY-QZ+yM;7JNTzq0{h?6Q+zo(8#wAelxino)?(_IX`LSj5H@0 zK}A;YFArDSMQh%YIG_yoXJKUroekSjti{qRQe|;c(~}`MPcWc=@wTo&!;ufNZbIY< zBBQ(L3lV8BD_%h*?I=iPK<3Jjf>+oY`wYq0UfY+f-kF%Pf-^njrjV8yFDg)i0S>{n1DBd z+AOJXL8*?47UCmOKA3xAVj}dufb_Ma51svTmw!OOrE$s%{=T)XZHGpjo{`ZeR@Rn~ z+T+Nzarg_Er>Vz6me_*sastvoG&t|)H;?S_c^H@H z8UNi$%|INiem@e%y0m?@y~@?&ZL*1Kw~XNF zL^%HY%$4f&#TJ`&v$adyCoFmTDmc(0WXgqax7rd8Sl=@~#-FdV2P9J6Y=E*8;f5EaBm zfa4+H(|RfNO2~}x)Np)p>S;)1QP0HY|F&Yq3KY_unjZ7*Xn+5`?p5X+aQu9yB{)X1k~W|eHEJW;IX9!X2g1tc zTe}V^Lz)PU1>sIMEBb`ggB?MNV?2JrBp^;Eg}B~a!O(6jf3w^~@7?B2JGdbWSWDI=&8YoBcKC`=*vjQS#3u(^mCMH5XdgBk=j%3kD z0`$&$gNv8eHq2Q;6P*h&26gjsYir5aC;^Koax}D=#L)j{#UCamv$`nd;TG-y@PoF@ z4=E2IDWaMYI<0np<7TtL_JJ=>T+jiO$VEa~$%ha%;PBpC8eEHTnygcVzzQ ztHm+($BFUr-G%pI%WAr#WS-s@6db(tHNwBx&}JzGXe@$WIf@@}#HQ|1d?0_xhISf< zze+|^wNUP#2ya(6)vxPxbn;S=^QH`%$z1mQu2C(%cAHqZ*58yul?nH3U zTMHU-5#J4Lqxfpi5TQ$lp?Y5M`%HK%&z>3?0-Wf*qZ!2o^z1j;%6f8g+Lv9V83q%bv1XBq39Q6otEfT#ZRMGB&Q-L9S(K}2nMU}$5Nm5xEe#jvAaK(nq z@1nDpurMcfGIs__?wln(3ucuYNNmQb*$_a##n;F>+x+4M>VHlNQout}MkV?-hz%ut zt*DI18U*WstA`7dT@gb}yTIXm#u4__+njtXmvKHfm7PSO|$`?>Ol`o}brpL7zVl31%s2tOaidt=?&B~qL1K(j}V(Kk-w)l9+;q@TN zwdI3vGDIZEKNS=dZa){e|LiIu8=zjLKcp)nyPoH1!?&r2DlY(J^YcMRvi2W361E-& zq;|QbE>{o)AQPJGwvndCXZ7mmPoF9-&U}nEw2cMMk8&vLrj{~4aHqX{=Rvz^^+7pD zB!wWBiX{sWR&lDogzn3VClISd{^R=d3fwJVn>YBgpgDJQhT%uRah?Mi26Vg89f=gQ z^f;8L4o3RG)^5=JDe4V{X1~yy*6@FW)KE7kn8he4ZrFYA-$QAP*?rB5ZCapmA=UTV z(9kdp5OV?8MNbrXefi^cqD8 z>UF@4VB@nJEa+*Z*@2DWhf+qbUcCy!7gVLNBihj+?FeS(87UuXzX*2Mi!&^(+jR(@ zCBK@qGUG}Lt-iCn8_oVUtP;_6>EoLOF|BvbCJzP%Rxdx_@$_kEaE>26I?`Q|9r!2* z9X@@45oI`uPQ3m5145v6)5Q5;jt?^IDtz}`N8uei1{-$VnMZHm0{oBg5eyu;2oJGM zR@MtDD>U1b&T)}E2OJe>+C_Hn{ti7JA5b0isk{XqI8}XfxsQRyDj~`socPNBM+j-F zth)eguvKdT(Ff*k*EjSTE!{sq6Mhg+L&$I-^w3yjqzSk}pjI$Aic~6;nmGScI}wKx zc3E7av(RN>UiIn&;V}_3h=CgjoCeuE7}f!L`zD`iK$a}0*2WIP{N9N6psoV5x_Z^B z*gN~RbyZcLVcG`D;P0qJ(-!SQdHB%Y|;up&)eLxbp8Dv=f!C*&G-UO6-Y1GY%Wkyx;@rnKC;cI`{IUHgsAjs@% zpv9w>A%o~T7|AcedbX&jRdbyvu0aM-k||kkifyV@uA@pbVLLmsoLu+bSD#I&Gf|2uWJFgEE2y@>|~idsaDaK zQf%uvx7BJfDTIIdqbJ5GLyihM89%b|_umTuFd%Qgbgt*kn>R?>@>&Ua%h@AODm|x1 z!(+5VZ1hJL#DM5og4htvX87NTq_^MBTZ6t@nt86&7)t)tc6pw^fE3i0-p}IiRChjI z-PUQvv6L3H3?Dke0W<`{=S~c!v-vcC0Kpd=uXNff2H4CFv~6VOtwrv|cNgYh?}V$4 zBB%$195%)zQ^`mUh?;?kG<7aX@G zk`#FG-y`el>QEkyy{#qaC_Wd!9ms(VeB}u z^x2^4g1Vs)x&;i6I!PQ}qN3HXj@s%|@UP1qx6v&&CKWFCf&?CB5xBasF;UKv z@1ea?`|K^9ETivePKKDFDM6vkIufiB1c-?LL_b(gj_7im2~an} z1dj~Xt%FyZ_}(IdE7}NBjY!$sEI<5aR=21uRm(%&w#x4F+at>KJ*3 zg#L0p7{t-;PBhFo;uO((((aFB2p=ulbti1(MvQ4*6ybg#>?1oKnVws-etR(<0JBn2 zjZqEumj$YXvVq94BWU04KTNB=oMGy8^o%D!&QQ^Oxm8%0jEhZ;F5=v6--U@KM1DmS zV*_Tm0$KCq3@5F~e?+Xwom zYQc2*+eu%)(O~J~##pf0YQ!jXYy#rof4_M%r#h01+5#*mn(9+>Q*vYeJvAmcH9Lbp z^U?oE4hk?REaLtu{}dW&-K)m}ESw2#BYLLK+zq>im@gY7I@*%*96gZVFz-)6{+e|l zn)XXh{hOx!01zN3E?9Wb=X_!L0RxN)0u1wcwrttL&;R6K{qDceV#|NBJzNHyqV@Z` zwqL_mB<-e@udFMaDZ60tx4{X^e~u<=U}T8+RUA#N>k67}TLajZ`zwgwN+K_7^#8B@ bYKf(eLCsc#=PU>DuOCs-RL(m{y7=D!XEW03 literal 0 HcmV?d00001 diff --git a/docs/src/assets/P3_2.png b/docs/src/assets/P3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a31b0723ebbeb6a7c20f7c8d2f427bbd756c9896 GIT binary patch literal 103532 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 CmD^ST diff --git a/docs/src/assets/P3_mass_regime_2.png b/docs/src/assets/P3_mass_regime_2.png deleted file mode 100644 index 8afa37592d63708b0e69544f8814ff57b752c9d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66825 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 Date: Sun, 16 Jul 2023 20:51:25 -0700 Subject: [PATCH 33/52] tweaks to docs --- docs/src/P3Scheme.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 1e6da9efc7..39adfd84a3 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -49,7 +49,7 @@ where: - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}``, the threshold between spherical and nonspherical unrimed ice; - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{(6 \times \beta_{va}) - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; + - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{6 \beta_{va} - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}``, a threshold defined to ensure continuity and reasonable masses for smaller D; - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; @@ -83,8 +83,7 @@ The projected area (A) of particles as a function of maximum particle dimension where all variables from the m(D) regime are as defined above, and: - ``\gamma = 0.2285`` and - - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, - and planar polycrystals in [Mitchell1996](@cite) + - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, and planar polycrystals in [Mitchell1996](@cite). ## Assumed particle fall speed relationships @@ -116,8 +115,8 @@ where: - ``b = \frac{b_{1} (2 - \sigma) - 1}{1 - b_{1}}`` The parameters governing the coefficients a and b of the power law are from [MitchellHeymsfield2005](@cite) with exceptions as noted: -| parameter | value | -|:-----------------|:----------------------------------| +| parameter | value | +|:-----------------|:----------------------------------------------------------------------------------| |``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | |``b_{1}`` | ``\frac{C_{1} X^{0.5}}{2 ([1 + C_{1} X^{0.5}]^{0.5} - 1) (1 + C_{1} X^{0.5})^{0.5}} - \frac{a_{o} b{o} X^{b_{o}}}{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2}}`` | |``\nu_{air}``, kinematic viscocity of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | @@ -134,3 +133,9 @@ The parameters governing the coefficients a and b of the power law are from [Mit |``Re_{agg}``, Reynold's number used for aggregates | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2 - a_{o} X^b_{o}`` | |``Re_{grau}``, Reynold's numnber for graupel and hail (we drop the ``a_{o} X^b_{o}`` term here) | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2`` | |``A_{e}``, effective particle projected area accounting for increased boundary depth ``\delta`` | ``A(1 + \frac{\delta_o}{Re^0.5})`` | + +## Predicted quantities and conserved, prognostic variables + +## Microphysical process rates + +## Simulations with the Kinematic1D.jl (KiD) model From 7a5f0e4bfdfd3c5e14ff22676e1b2c1232edcc00 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Mon, 17 Jul 2023 09:18:25 -0700 Subject: [PATCH 34/52] quick fix to figure 1 a --- docs/src/assets/P3_1.png | Bin 85161 -> 85143 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/src/assets/P3_1.png b/docs/src/assets/P3_1.png index 5b9c4d17aa274084ce64a2d845b0a14ef8cf6742..d0c227a01cc3550998a1fc427d5a61467d46fb22 100644 GIT binary patch literal 85143 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 Qgd~!hvL-oupXG)B19xCMY5)KL literal 85161 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 bYKf(eLCsc#=PU>DuOCs-RL(m{y7=D!XEW03 From 74d359910f685a087cdd06b635889ae87abdf416 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Wed, 19 Jul 2023 14:47:58 -0700 Subject: [PATCH 35/52] fixing some things Anna suggested / still working on plots, etc --- Project.toml | 2 - docs/src/API.md | 6 +- docs/src/P3Scheme.md | 4 +- docs/src/P3SchemePlots.jl | 580 ++++++++++++++++++++++++++++++++++++++ src/P3Scheme.jl | 176 ++++++------ test/Project.toml | 4 - 6 files changed, 669 insertions(+), 103 deletions(-) create mode 100644 docs/src/P3SchemePlots.jl diff --git a/Project.toml b/Project.toml index 43f64546bb..5ebb16dff2 100644 --- a/Project.toml +++ b/Project.toml @@ -6,11 +6,9 @@ version = "0.11.1" [deps] CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" CUDAKernels = "72cfdca4-0801-4ab0-bf6a-d52aa10adc57" -CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" diff --git a/docs/src/API.md b/docs/src/API.md index fef8e555d1..a1b0ce2ef4 100644 --- a/docs/src/API.md +++ b/docs/src/API.md @@ -57,11 +57,7 @@ Microphysics2M.conv_q_liq_to_q_rai ```@docs P3Scheme -P3Scheme.breakpoints -P3Scheme.m_s -P3Scheme.m_nl -P3Scheme.m_r -P3Scheme.m +P3Scheme.thresholds ``` # Aerosol model diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index 39adfd84a3..a5bf7b71b1 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -96,12 +96,12 @@ Particle fall speed (V) as a function of maximum particle dimension, With the modification, particle fall speed is given: ```math -V(D) = (\frac{\rho_air}{\rho})^{0.54} a D^b +V(D) = (\frac{\rho_{air}}{\rho})^{0.54} a D^b ``` where: - ``D`` is the maximum particle dimension - - ``\rho_air`` is a reference air density (see table below) + - ``\rho_{air}`` is a reference air density (see table below) - ``\rho`` is particle density And without: diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl new file mode 100644 index 0000000000..cc800a1a28 --- /dev/null +++ b/docs/src/P3SchemePlots.jl @@ -0,0 +1,580 @@ +import CairoMakie as Plt +import CloudMicrophysics as CM + +const P3 = CM.P3Scheme +FT = Float64 + +# include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) +# toml_dict = CP.create_toml_dict(FT; dict_type = "alias") +# const param_set = cloud_microphysics_parameters(toml_dict) + +# const ρ_i::FT = param_set.density_ice_water +const ρ_i::FT = 916.7 +const β_va::FT = 1.9 +const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) +const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) + +""" +mass(D, ρ_r, F_r) + + - D: maximum particle dimension + - breakpoints: result of breakpoints() function, i.e. + a vector containing D_cr, D_gr, ρ_g, ρ_d, in that order + - F_r: rime mass fraction (q_rim/q_i) + + m(D) regime, + which computes breakpoints, classifies particles, and returns mass; + used to create figures for the docs page. +""" +function mass(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} + # Helper functions: + """ + m_s(D, ρ) + + - D: maximum particle dimension + - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) + + m(D) relation for spherical ice (small ice or completely rimed ice) + """ + function m_s(D::FT, ρ::FT) where {FT <: Real} + return (FT(π) / 6) * ρ * D^3 + end + + """ + m_nl(D) + + - D: maximum particle dimension + + + m(D) relation for large, nonspherical ice (used for unrimed and dense types) + """ + function m_nl(D::FT) where {FT <: Real} + return α_va * D^β_va + end + + """ + m_r(D, F_r) + + - D: maximum particle dimension + - F_r: rime mass fraction (q_rim/q_i) + + m(D) relation for partially rimed ice + """ + function m_r(D::FT, F_r::FT) where {FT <: Real} + return (α_va / (1 - F_r)) * D^β_va + end + + # Mass regime: + if D <= D_th + return m_s(D, ρ_i) # small spherical ice + elseif F_r == 0 + return m_nl(D) # large, nonspherical, unrimed ice + else + if D >= breakpoints[1] + return m_r(D, F_r) # partially rimed ice + elseif D < breakpoints[1] + if D >= breakpoints[2] + return m_s(D, breakpoints[3]) # graupel + elseif D < breakpoints[2] + return m_nl(D) # dense nonspherical ice + end + end + end +end + + +D_range = range(1e-5, stop=1e-2, length=10000) +ρ_r = [200.0, 400.0, 800.0] +F_r = [0.0, 0.5, 0.8, 0.95] + +function p3_m_plot1(len_D_range::Int64 = 10000, colors::Vector{String}) + D_range = range(1e-5, stop = 1e-2, length = len_D_range) + + fig1_a = Plt.Figure() + + ax1_a = Plt.Axis( + fig1_a[1:7,1:8], + title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", + xlabel = Plt.L"$D$ (mm)", + ylabel = Plt.L"$m$ (kg)", + xscale = Plt.log10, yscale = Plt.log10, + xminorticksvisible = true, + xminorticks =Plt.IntervalsBetween(5), + yminorticksvisible = true, + yminorticks = Plt.IntervalsBetween(3), + xticks = [0.01, 0.1, 1, 10], + aspect = 2 + ) + + fig1_a_0 = Plt.lines!( + ax1_a, + D_range * 1e3, + [mass(D, P3.breakpoints(400.0, 0.0), 0.0) for D in D_range], + color = "indigo" + ) + + fig1_a_5 = Plt.lines!( + ax1_a, + D_range * 1e3, + [mass(D, P3.breakpoints(400.0, 0.5), 0.5) for D in D_range], + color = "chartreuse" + ) + + fig1_a_8 = Plt.lines!( + ax1_a, + D_range * 1e3, + [mass(D, P3.breakpoints(400.0, 0.8), 0.8) for D in D_range], + color = "red" + ) + + d_cr_5 = Plt.lines!( + ax1_a, + [D = P3.breakpoints(400.0, 0.5)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), + linestyle = "---", + color = "chartreuse" + ) + + d_cr_8 = Plt.lines!( + ax1_a, + [D = P3.breakpoints(400.0, 0.8)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), + linestyle = "---", + color = "red" + ) + + d_gr_5 = Plt.lines!( + ax1_a, + [D = P3.breakpoints(400.0, 0.5)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), + linestyle = "...", + color = "chartreuse" + ) + + d_gr_8 = Plt.lines!( + ax1_a, + [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), + linestyle = "...", + color = "red" + ) + + d_tha = Plt.lines!( + ax1_a, + [D = D_th * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), + linestyle = "---" + ) + + leg1_a = Plt.Legend( + fig1_a[8:9,1], + [fig1_a_0, fig1_a_5, fig1_a_8], + [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"] + ) + + leg1_a_dth = Plt.Legend( + fig1_a[8:9,3], + [d_tha], + [Plt.L"$D_{th}$"] + ) + + leg1_a_dcr = Plt.Legend( + fig1_a[8:9,7], + [d_cr_5, d_cr_8], + [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"] + ) + + leg1_a_dgr = Plt.Legend( + fig1_a[8:9,5], + [d_gr_5, d_gr_8], + [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"] + ) + + Plt.save("MorrisonandMilbrandtFig1a.svg", fig1_a) +end + +function p3_m_plot2(len_D_range::Int64 = 10000, colors::Vector{String}) + fig1_b = Plt.Figure() + + ax1_b = Plt.Axis( + fig1_b[1:10,1:11], + title = Plt.L"m(D) regime for $F_r = 0.95$", + xlabel = Plt.L"$D$ (mm)", + ylabel = Plt.L"$m$ (kg)", + xscale = Plt.log10, + yscale = Plt.log10, + yminorticksvisible = true, + yminorticks = Plt.IntervalsBetween(3), + xminorticksvisible = true, + xminorticks = Plt.IntervalsBetween(5), + xticks = [0.01, 0.1, 1, 10], aspect = 1.67 + ) + + fig1_b200 = Plt.lines!( + ax1_b, + D_range * 1e3, + [P3.m(D, P3.breakpoints(200.0, 0.95), 0.95) for D in D_range], + color = "indigo" + ) + + fig1_b400 = Plt.lines!( + ax1_b, + D_range * 1e3, + [P3.m(D, P3.breakpoints(400.0, 0.95), 0.95) for D in D_range], + color = "chartreuse" + ) + + fig1_b800 = Plt.lines!(ax1_b, D_range * 1e3, + [P3.m(D, P3.breakpoints(800.0, 0.95), 0.95) for D in D_range], color = "red") + d_thb = Plt.lines!(ax1_b, [D = D_th * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "---") + d_cr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "indigo") + d_cr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "chartreuse") + d_cr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "red") + d_gr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "indigo") + d_gr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "chartreuse") + d_gr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "red") + leg1_b = Plt.Legend(fig1_b[11:12,2], [fig1_b200, fig1_b400, fig1_b800], + [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"]) + leg1_b_dth = Plt.Legend(fig1_b[11:12,3], [d_thb], + [Plt.L"$D_{th}$"]) + leg1_b_dcr = Plt.Legend(fig1_b[11:12,6], [d_cr_200, d_cr_400, d_cr_800], + [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", + Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) + leg1_b_dgr = Plt.Legend(fig1_b[11:12,4], [d_gr_200, d_gr_400, d_gr_800], + [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", + Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) + Plt.save("P3_2.png", fig1_b, px_per_unit = 2) +end + + + + + + + + + + + + + + + + +# plt = Plt.Figure() + +# if fig == 1 +# ax = Plt.Axis( +# plt[1:7,1:8], +# title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", +# xlabel = Plt.L"$D$ (mm)", +# ylabel = Plt.L"$m$ (kg)", +# xscale = Plt.log10, yscale = Plt.log10, +# xminorticksvisible = true, +# xminorticks =Plt.IntervalsBetween(5), +# yminorticksvisible = true, +# yminorticks = Plt.IntervalsBetween(3), +# xticks = [0.01, 0.1, 1, 10], +# aspect = 2 +# ) + +# ρ_r = [400.0, 400.0, 400.0] +# F_r = [0.0, 0.5, 0.8] + +# elseif fig == 2 +# ax = Plt.Axis( +# plt[1:10,1:11], +# title = Plt.L"m(D) regime for $F_r = 0.95$", +# xlabel = Plt.L"$D$ (mm)", +# ylabel = Plt.L"$m$ (kg)", +# xscale = Plt.log10, +# yscale = Plt.log10, +# xminorticksvisible = true, +# xminorticks = Plt.IntervalsBetween(5), +# xticks = [0.01, 0.1, 1, 10], +# yminorticksvisible = true, +# yminorticks = Plt.IntervalsBetween(3), +# aspect = 1.67 +# ) + +# ρ_r = [200.0, 400.0, 800.0] +# F_r = [0.95, 0.95, 0.95] + +# end + +# D_range = range(1e-5, stop = 1e-2, length = len_D_range) +# lines = Any[0, 0, 0] + +# for i in [1:3] +# ρ_r_i = ρ_r[i] +# F_r_i = F_r[i] +# lines[i] = Plt.lines!( +# ax, +# D_range * 1e3, +# [mass(D, P3.thresholds(ρ_r_i, F_r_i), F_r_i) for D in D_range], +# color = colors[i] +# ) +# end +# end + +# function m_plot( +# ax_range_1::UnitRange{Int64}, +# ax_range_2::UnitRange{Int64}, +# plt_title::AbstractString, +# len_D_range::Int64, +# ρ_r::Vector{Float64}, +# F_r::Vector{Float64}, +# colors::Vector{String}, +# fig::Int64 +# ) + +# fig = Plt.Figure() + +# ax = Plt.Axis(fig[ax_range_1, ax_range_2], +# title = plt_title, +# xlabel = Plt.L"$D$ (mm)", +# ylabel = Plt.L"$m$ (kg)", +# xscale = Plt.log10, yscale = Plt.log10, +# xminorticksvisible = true, +# xminorticks =Plt.IntervalsBetween(5), +# yminorticksvisible = true, +# yminorticks = Plt.IntervalsBetween(3), +# xticks = [0.01, 0.1, 1, 10], +# aspect = 2 +# ) + +# D_range = range(1e-5, stop = 1e-2, length = len_D_range) +# lines = Any[0, 0, 0] +# thresholds = (d_cr = Any[0, 0, 0], d_gr = Any[0, 0, 0]) + +# d_th = Plt.lines!( +# ax, +# [D = D_th * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = len_D_range), +# linestyle = "---" +# ) + +# for i in range(1, length(colors)) +# lines[i] = Plt.lines!( +# ax, +# D_range * 1e3, +# [P3.m(D, P3.breakpoints(ρ_r[i], F_r[i]), F_r[i]) for D in D_range], +# color = colors[i] +# ) +# end + +# for j in [1:2] +# for i in range(1, length(colors)) +# if F_r[i] == 0.0 +# thresholds[j] = deleteat!(thresholds[j], i) +# i -= 1 +# elseif i > length(thresholds[j]) +# break +# else +# thresholds[j][i] = Plt.lines!( +# ax, +# [D = P3.breakpoints(ρ_r[i], F_r[i])[j] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = len_D_range), +# linestyle = "---", +# color = colors[i] +# ) +# end +# end +# end + +# if fig == 1 +# leg1_a = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 1], +# lines, +# [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"] +# ) + +# leg1_a_dth = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 3], +# [d_th], +# [Plt.L"$D_{th}$"] +# ) + +# leg1_a_dcr = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 7], +# thresholds.d_cr, +# [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"] +# ) + +# leg1_a_dgr = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 5], +# thresholds.d_gr, +# [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"] +# ) + +# elseif fig == 2 +# leg1_b = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 2], +# lines, +# [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"] +# ) + +# leg1_b_dth = Plt.Legend( +# fig1_b[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 3], +# d_th, +# [Plt.L"$D_{th}$"] +# ) + +# leg1_b_dcr = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 6], +# thresholds.d_cr, +# [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] +# ) + +# leg1_b_dgr = Plt.Legend( +# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 4], +# thresholds.d_gr, +# [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] +# ) + +# end + +# Plt.save("P3_fig_" * string(fig) * ".svg", fig, px_per_unit = 2) + +# end + + + +# # Figure 1a from M&M with CairoMakie +# function p3fig(fig) +# if fig == 1 +# fig1_a = Plt.Figure() + +# ax1_a = Plt.Axis( +# fig1_a[1:7,1:8], +# title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", +# xlabel = Plt.L"$D$ (mm)", +# ylabel = Plt.L"$m$ (kg)", +# xscale = Plt.log10, yscale = Plt.log10, +# xminorticksvisible = true, +# xminorticks =Plt.IntervalsBetween(5), +# yminorticksvisible = true, +# yminorticks = Plt.IntervalsBetween(3), +# xticks = [0.01, 0.1, 1, 10], +# aspect = 2 +# ) + +# fig1_a_0 = Plt.lines!( +# ax1_a, D_range * 1e3, +# [P3.m(D, P3.breakpoints(400.0, 0.0), 0.0) for D in D_range], +# color = "indigo" +# ) + +# fig1_a_5 = Plt.lines!( +# ax1_a, +# D_range * 1e3, +# [P3.m(D, P3.breakpoints(400.0, 0.5), 0.5) for D in D_range], +# color = "chartreuse" +# ) + +# fig1_a_8 = Plt.lines!( +# ax1_a, +# D_range * 1e3, +# [P3.m(D, P3.breakpoints(400.0, 0.8), 0.8) for D in D_range], +# color = "red" +# ) + +# d_cr_5 = Plt.lines!( +# ax1_a, +# [D = P3.breakpoints(400.0, 0.5)[1] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), +# linestyle = "---", +# color = "chartreuse" +# ) + +# d_cr_8 = Plt.lines!( +# ax1_a, +# [D = P3.breakpoints(400.0, 0.8)[1] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), +# linestyle = "---", +# color = "red" +# ) + +# d_gr_5 = Plt.lines!( +# ax1_a, +# [D = P3.breakpoints(400.0, 0.5)[2] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), +# linestyle = "...", +# color = "chartreuse" +# ) + +# d_gr_8 = Plt.lines!( +# ax1_a, +# [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), +# linestyle = "...", +# color = "red" +# ) + +# d_tha = Plt.lines!( +# ax1_a, +# [D = D_th * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), +# linestyle = "---" +# ) + +# leg1_a = Plt.Legend( +# fig1_a[8:9,1], +# [fig1_a_0, fig1_a_5, fig1_a_8], +# [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"]) +# leg1_a_dth = Plt.Legend(fig1_a[8:9,3], [d_tha], +# [Plt.L"$D_{th}$"]) +# leg1_a_dcr = Plt.Legend(fig1_a[8:9,7], [d_cr_5, d_cr_8], +# [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"]) +# leg1_a_dgr = Plt.Legend(fig1_a[8:9,5], [d_gr_5, d_gr_8], +# [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"]) +# #Plt.save("P3_1.png", fig1_a, px_per_unit = 2) + +# # Figure 1b from M&M with CairoMakie +# fig1_b = Plt.Figure() +# ax1_b = Plt.Axis(fig1_b[1:10,1:11], +# title = Plt.L"m(D) regime for $F_r = 0.95$", xlabel = Plt.L"$D$ (mm)", ylabel = Plt.L"$m$ (kg)", +# xscale = Plt.log10, yscale = Plt.log10, +# xminorticksvisible = true, xminorticks = Plt.IntervalsBetween(5), +# xticks = [0.01, 0.1, 1, 10], aspect = 1.67) +# fig1_b200 = Plt.lines!(ax1_b, D_range * 1e3, +# [P3.m(D, P3.breakpoints(200.0, 0.95), 0.95) for D in D_range], color = "indigo") +# fig1_b400 = Plt.lines!(ax1_b, D_range * 1e3, +# [P3.m(D, P3.breakpoints(400.0, 0.95), 0.95) for D in D_range], color = "chartreuse") +# fig1_b800 = Plt.lines!(ax1_b, D_range * 1e3, +# [P3.m(D, P3.breakpoints(800.0, 0.95), 0.95) for D in D_range], color = "red") +# d_thb = Plt.lines!(ax1_b, [D = D_th * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---") +# d_cr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[1] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "indigo") +# d_cr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.95)[1] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "chartreuse") +# d_cr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[1] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "red") +# d_gr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[2] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "indigo") +# d_gr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "chartreuse") +# d_gr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[2] * 1e3 for D in D_range], +# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "red") +# leg1_b = Plt.Legend(fig1_b[11:12,2], [fig1_b200, fig1_b400, fig1_b800], +# [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"]) +# leg1_b_dth = Plt.Legend(fig1_b[11:12,3], [d_thb], +# [Plt.L"$D_{th}$"]) +# leg1_b_dcr = Plt.Legend(fig1_b[11:12,6], [d_cr_200, d_cr_400, d_cr_800], +# [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", +# Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) +# leg1_b_dgr = Plt.Legend(fig1_b[11:12,4], [d_gr_200, d_gr_400, d_gr_800], +# [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", +# Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) +# fig1_b + +# #Plt.save("P3_2.png", fig1_b, px_per_unit = 2) +# #fig1_a \ No newline at end of file diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 5f00d1998f..c0abe70902 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -7,48 +7,111 @@ Predicted particle properties scheme (P3) for ice, which includes: """ module P3Scheme -import CloudMicrophysics as CM -import Thermodynamics as TD import NonlinearSolve as NLS +import CLIMAParameters as CP -const CT = CM.CommonTypes -const CO = CM.Common -const CMP = CM.Parameters -const APS = CMP.AbstractCloudMicrophysicsParameters +FT = Float64 -const FT = Float64 +include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) +toml_dict = CP.create_toml_dict(FT; dict_type = "alias") +const param_set = cloud_microphysics_parameters(toml_dict) -const ρ_i::FT = 917.0 +# bulk density of ice +const ρ_i::FT = param_set.density_ice_water +# exponent in power law from Brown and Francis 1995 for mass grown by +# vapor diffusion and aggregation in midlatitude cirrus: (unitless I think?) const β_va::FT = 1.9 +# coefficient in power law modified from Brown and Francis 1995 for mass grown by +# vapor diffusion and aggregation in midlatitude cirrus: (units of kg m^(-β_va) I think?) const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) +# threshold particle dimension between small spherical ice and +# large, nonspherical ice, from p. 292 of Morrison and Milbrandt 2015: (units of meters) const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) -const γ::FT = 0.2285 -const σ::FT = 1.88 -const δ_o::FT = 5.83 # UNSURE about these four constants below -const C_o::FT = 0.6 -const a_o::FT = 1.7e-3 -const b_o::FT = 0.8 """ -breakpoints(ρ_r, F_r) +thresholds(ρ_r, F_r) - ρ_r: predicted rime density (q_rim/B_rim) + - [ρ_r] = ``kg m^{-3}`` - F_r: rime mass fraction (q_rim/q_i) + - [F_r] = none, unitless +- u0: initial guess for solver: + - Ideally, one passes the natural logarithm of the + values returned from the previous time step for u0 + - However, if this is not possible, the default value is set to around + log.(thresholds(400.0, 0.5, log.([0.00049, 0.00026, 306.668, 213.336]))) Solves the nonlinear system consisting of D_cr, D_gr, ρ_g, ρ_d - for a given predicted rime density and rime mass fraction. +for a given predicted rime density and rime mass fraction, where: + - D_cr, defined on p. 292 of Morrison and Milbrandt 2015, + is the threshold particle dimension separating partially rimed ice and graupel, + given here in meters + - D_gr, defined on p. 293 of Morrison and Milbrandt 2015, + is the threshold particle dimension separating graupel and dense nonspherical ice, + given here in meters + - ρ_g, defined on pp. 292-293 of Morrison and Milbrandt 2015, + is the effective density of an assumed spherical graupel particle, + given here in ``kg m^{-3}`` + - ρ_d, defined on p. 293 of Morrison and Milbrandt 2015, + is the density of the unrimed portion of the particle, + given here in ``kg m^{-3}`` """ -function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} - if ρ_r == 0.0 || F_r == 0.0 - return [NaN64, NaN64, NaN64, NaN64] - +function thresholds(ρ_r::FT, F_r::FT, u0::Vector{FT} = [[-7.6, -8.2, 5.7, 5.4]]) where {FT <: Real} + if ρ_r == 0.0 + throw( + DomainError( + ρ_r, + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present." + ) + ) + elseif F_r == 0.0 + throw( + DomainError( + ρ_r, + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present." + ) + ) + elseif ρ_r > 997 + throw( + DomainError( + ρ_r, + "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water." + ) + ) + elseif F_r == 1.0 || F_r > 1.0 + throw( + DomainError( + F_r, + "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle." + ) + ) + elseif F_r < 0 + throw( + DomainError( + F_r, + "Rime mass fraction F_r cannot be negative." + ) + ) + elseif ρ_r < 0 + throw( + DomainError( + ρ_r, + "Predicted rime density ρ_r cannot be negative." + ) + ) else - # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[3] = ρ_d, + # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[4] = ρ_d, # and let each corresponding component function of F # be defined F[i] = x[i] - a[i] where x[i] = a[i] # such that F[x] = 0: function f(u, p) - # implementation of function with domain shift exp(u) + # Implementation of function with domain shift exp(u): + # This domain shift is necessary because it constrains + # the solver to search only for positive values, preventing + # a DomainError with complex exponentiation. + # The domain restriction is reasonable in any case + # because the quantities of interest, [D_cr, D_gr, ρ_g, ρ_d], + # should all be positive regardless of ρ_r and F_r. return [ (exp(u[1])) - ( @@ -70,8 +133,7 @@ function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} ] end - u0 = [-5.0, -6.0, 6.0, 8.0] # guess for solver - p = [0.0] # (no parameters) + p = Nothing # (no parameters) prob_obj = NLS.NonlinearProblem(f, u0, p) sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space @@ -80,70 +142,4 @@ function breakpoints(ρ_r::FT, F_r::FT) where {FT <: Real} end end -""" -m_s(D, ρ) - - - D: maximum particle dimension - - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) - -m(D) relation for spherical ice (small ice or completely rimed ice) -""" -function m_s(D::FT, ρ::FT) where {FT <: Real} - return (FT(π) / 6) * ρ * D^3 -end - -""" -m_nl(D) - - - D: maximum particle dimension - - -m(D) relation for large, nonspherical ice (used for unrimed and dense types) -""" -function m_nl(D::FT) where {FT <: Real} - return α_va * D^β_va -end - -""" -m_r(D, F_r) - - - D: maximum particle dimension - - F_r: rime mass fraction (q_rim/q_i) - -m(D) relation for partially rimed ice -""" -function m_r(D::FT, F_r::FT) where {FT <: Real} - return (α_va / (1 - F_r)) * D^β_va -end - -""" -m(D, ρ_r, F_r) - - - D: maximum particle dimension - - breakpoints: result of breakpoints() function, i.e. - a vector containing D_cr, D_gr, ρ_g, ρ_d, in that order - - F_r: rime mass fraction (q_rim/q_i) - - m(D) regime, - which computes breakpoints, classifies particles, and returns mass; - used to create figures for the docs page. -""" -function m(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} - if D <= D_th - return m_s(D, ρ_i) # small spherical ice - elseif F_r == 0 - return m_nl(D) # large, nonspherical, unrimed ice - else - if D >= breakpoints[1] - return m_r(D, F_r) # partially rimed ice - elseif D < breakpoints[1] - if D >= breakpoints[2] - return m_s(D, breakpoints[3]) # graupel - elseif D < breakpoints[2] - return m_nl(D) # dense nonspherical ice - end - end - end -end - end diff --git a/test/Project.toml b/test/Project.toml index da1b68f054..15c9c86fe0 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -3,11 +3,7 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CUDAKernels = "72cfdca4-0801-4ab0-bf6a-d52aa10adc57" -CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -CloudMicrophysics = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" -IsApprox = "28f27b66-4bd8-47e7-9110-e2746eb8bed7" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" From e4387e886e8457733becbc52e2c2d061c1ddf75b Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 20 Jul 2023 15:56:30 -0700 Subject: [PATCH 36/52] continuing to get PR ready for merge --- docs/src/P3Scheme.md | 92 +----- docs/src/P3SchemePlots.jl | 620 ++++++++++++-------------------------- src/P3Scheme.jl | 17 +- 3 files changed, 211 insertions(+), 518 deletions(-) diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index a5bf7b71b1..cbf5e1d072 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -2,16 +2,14 @@ The `P3Scheme.jl` module implements the predicted particle properties (P3) scheme for ice-phase microphysics developed by [MorrisonMilbrandt2015](@cite) - The P3 scheme is a 2-moment, bulk scheme involving a single ice-phase category with 4 degrees of freedom: total mass, rime mass, rime volume, and number mixing ratios. - -Traditionally, cloud ice microphysics models use various predefined - categories to represent ice modes, but the P3 scheme sidesteps the +Traditionally, cloud ice microphysics schemes use various predefined + categories (such as ice, graupel, or hail) to represent ice modes, but the P3 scheme sidesteps the problem of prescribing transitions between ice categories by adopting - a single ice category. This simplification might - aid in attempts to constrain scheme parameters. + a single ice category and evolving its properties. This simplification + aids in attempts to constrain the scheme's free parameters. ## Assumed particle size distribution (PSD) @@ -29,11 +27,11 @@ where: - ``\mu`` is the shape parameter, - ``\lambda`` is the slope parameter. -and ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. +We assume ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. ## Assumed particle mass relationships -The mass (m) of particles as a function of maximum particle dimension (D) +The mass `m` of particles as a function of maximum particle dimension `D` is a piecewise function with variable breakpoints described by the following table. @@ -64,78 +62,12 @@ where: Below are graphical representations of the m(D) regime, replicating Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): -![mass_regime](./assets/P3_1.png) - -![mass_regime_2](./assets/P3_2.png) -## Assumed projected area relationships - -The projected area (A) of particles as a function of maximum particle dimension (D) - is another piecewise function with variable breakpoints described - by the following table. - -| particle properties | condition(s) | A(D) relation | -|:--------------------|:----------------------|:----------------------| -|small, spherical ice | ``D < D_{th}`` | ``\frac{\pi}{4} D^2`` | -|graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{4} D^2`` | -|large, unrimed ice | ``q_{rim} = 0`` and ``D > D_{th}`` | ``\gamma \ D^{\sigma}`` | -|dense nonspherical ice | ``q_{rim} > 0`` and ``D_{th} < D < D_{gr}`` | ``\gamma \ D^{\sigma}`` | -|partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``F_{r} \frac{\pi}{4} D^2 + (1-F_{r})\gamma \ D^{\sigma}`` | - -where all variables from the m(D) regime are as defined above, and: - - ``\gamma = 0.2285`` and - - ``\sigma = 1.88``, both from the aggregates of side planes, columns, bullets, and planar polycrystals in [Mitchell1996](@cite). - -## Assumed particle fall speed relationships - -Particle fall speed (V) as a function of maximum particle dimension, - following [MorrisonMilbrandt2015](@cite), uses coefficients - derived by [MitchellHeymsfield2005](@cite) and - an air density modification provided by [cite: Heymsfield 2007] applied to - particles having undergone sedimentation. - -With the modification, particle fall speed is given: - -```math -V(D) = (\frac{\rho_{air}}{\rho})^{0.54} a D^b +```@example +include("P3SchemePlots.jl") +p3_m_plot1(["cyan2", "cyan4", "midnightblue"], ["hotpink", "magenta3", "purple4"]) +p3_m_plot2(["cyan2", "cyan4", "midnightblue"], ["hotpink", "magenta3", "purple4"]) ``` -where: - - ``D`` is the maximum particle dimension - - ``\rho_{air}`` is a reference air density (see table below) - - ``\rho`` is particle density - -And without: - -```math -V(D) = a D^b -``` - -where: - - ``a = a_{1} \nu_{air}^{1 - 2 b_{1}} (\frac{2 \alpha_{va} g}{\rho_{air} \gamma})^b_{1}`` - - ``b = \frac{b_{1} (2 - \sigma) - 1}{1 - b_{1}}`` - -The parameters governing the coefficients a and b of the power law are from [MitchellHeymsfield2005](@cite) with exceptions as noted: -| parameter | value | -|:-----------------|:----------------------------------------------------------------------------------| -|``a_{1}`` | ``\frac{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2} - a_{o} X^{b_{o}}}{X^{b_{1}}}`` | -|``b_{1}`` | ``\frac{C_{1} X^{0.5}}{2 ([1 + C_{1} X^{0.5}]^{0.5} - 1) (1 + C_{1} X^{0.5})^{0.5}} - \frac{a_{o} b{o} X^{b_{o}}}{C_{2} ([1 + C_{1} X^{0.5}]^{0.5} - 1)^{2}}`` | -|``\nu_{air}``, kinematic viscocity of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | -|``\rho_{air}``, reference density of air | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | -|``\mu_{air}``, dynamic viscocity of air | ``\nu_{air} \rho_{air}`` | -|``g``, gravitational acceleration | See [CliMAParameters.jl](https://github.com/CliMA/CLIMAParameters.jl) | -|``C_{1}`` | ``\frac{4}{\delta_{o}^{2} C_{o}^{0.5}}`` | -|``C_{2}`` | ``\frac{\delta_{o}^{2}}{4}`` | -|``\delta_{o}``, surface roughness constant for ice (applicable to graupel) | ``5.83`` | -|``C_{o}``, surface roughness constant for ice (applicable to graupel) | ``0.6`` | -|``a_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant for aggregates | ``1.7e-3`` | -|``b_{o}``, boundary layer depth (``\delta``) and effective area (``A_{e}``) dilation correction constant for aggregates | ``0.8`` | -|``X``, Best/Davies number expressed in terms of m(D) and A(D) regimes | ``\frac{2 \alpha_{va} g \rho_{air} D^{\beta_va + 2 - \sigma}}{\gamma \nu_{air}^2}`` | -|``Re_{agg}``, Reynold's number used for aggregates | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2 - a_{o} X^b_{o}`` | -|``Re_{grau}``, Reynold's numnber for graupel and hail (we drop the ``a_{o} X^b_{o}`` term here) | ``\frac{\delta_{o}^2}{4}((1 + \frac{4 X^0.5}{\delta_{o}^2 C_{o}^0.5})^0.5 - 1)^2`` | -|``A_{e}``, effective particle projected area accounting for increased boundary depth ``\delta`` | ``A(1 + \frac{\delta_o}{Re^0.5})`` | - -## Predicted quantities and conserved, prognostic variables - -## Microphysical process rates +![](MorrisonandMilbrandtFig1a.svg) -## Simulations with the Kinematic1D.jl (KiD) model +![](MorrisonandMilbrandtFig1b.svg) \ No newline at end of file diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl index cc800a1a28..3fcacb3c34 100644 --- a/docs/src/P3SchemePlots.jl +++ b/docs/src/P3SchemePlots.jl @@ -1,52 +1,56 @@ import CairoMakie as Plt import CloudMicrophysics as CM - +# import ..Parameters as CMP +const CMP = CM.Parameters const P3 = CM.P3Scheme +const APS = CMP.AbstractCloudMicrophysicsParameters FT = Float64 -# include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) -# toml_dict = CP.create_toml_dict(FT; dict_type = "alias") -# const param_set = cloud_microphysics_parameters(toml_dict) +include(joinpath("..", "..", "test", "create_parameters.jl")) +toml_dict = CP.create_toml_dict(FT; dict_type = "alias") +const param_set = cloud_microphysics_parameters(toml_dict) +thermo_params = CMP.thermodynamics_params(param_set) -# const ρ_i::FT = param_set.density_ice_water -const ρ_i::FT = 916.7 +# bulk density of ice +const ρ_i::FT = CMP.ρ_cloud_ice(param_set) const β_va::FT = 1.9 const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) """ -mass(D, ρ_r, F_r) +mass(D, thresholds, F_r) - D: maximum particle dimension - - breakpoints: result of breakpoints() function, i.e. - a vector containing D_cr, D_gr, ρ_g, ρ_d, in that order + - thresholds: result of thresholds() function, i.e. + a vector containing D_cr, D_gr, ρ_g, ρ_d, in that order; + pass nothing in the case of no rime, and thresholds defaults to 0.0 - F_r: rime mass fraction (q_rim/q_i) m(D) regime, - which computes breakpoints, classifies particles, and returns mass; + which computes thresholds, classifies particles, and returns mass; used to create figures for the docs page. """ -function mass(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} +function mass(D::FT, F_r::FT, thresholds::Vector{FT} = [0.0, 0.0, 0.0, 0.0]) where {FT <: Real} # Helper functions: """ m_s(D, ρ) - - D: maximum particle dimension - - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) + - D: maximum particle dimension (m) + - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) (kg m^-3) - m(D) relation for spherical ice (small ice or completely rimed ice) + m(D) relation for spherical ice (small ice or completely rimed ice), returns mass (kg) """ function m_s(D::FT, ρ::FT) where {FT <: Real} - return (FT(π) / 6) * ρ * D^3 + return FT(π) / 6 * ρ * D^3 end """ m_nl(D) - - - D: maximum particle dimension - - - m(D) relation for large, nonspherical ice (used for unrimed and dense types) + + - D: maximum particle dimension (m) + + + m(D) relation for large, nonspherical ice (used for unrimed and dense types), returns mass (kg) """ function m_nl(D::FT) where {FT <: Real} return α_va * D^β_va @@ -55,10 +59,10 @@ function mass(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} """ m_r(D, F_r) - - D: maximum particle dimension + - D: maximum particle dimension (m) - F_r: rime mass fraction (q_rim/q_i) - m(D) relation for partially rimed ice + m(D) relation for partially rimed ice, returns mass (kg) """ function m_r(D::FT, F_r::FT) where {FT <: Real} return (α_va / (1 - F_r)) * D^β_va @@ -70,134 +74,149 @@ function mass(D::FT, breakpoints::Vector{FT}, F_r::FT) where {FT <: Real} elseif F_r == 0 return m_nl(D) # large, nonspherical, unrimed ice else - if D >= breakpoints[1] + if D >= thresholds[1] return m_r(D, F_r) # partially rimed ice - elseif D < breakpoints[1] - if D >= breakpoints[2] - return m_s(D, breakpoints[3]) # graupel - elseif D < breakpoints[2] + elseif D < thresholds[1] + if D >= thresholds[2] + return m_s(D, thresholds[3]) # graupel + elseif D < thresholds[2] return m_nl(D) # dense nonspherical ice end end end end +""" +p3_m_plot1(colors, threshold_colors, len_D_range = 10000) -D_range = range(1e-5, stop=1e-2, length=10000) -ρ_r = [200.0, 400.0, 800.0] -F_r = [0.0, 0.5, 0.8, 0.95] + - colors: string vector with three elements corresponding to the line colors + - threshold_colors: string vector with three elements corresponding to the threshold line colors + - len_D_range: amount of points to graph, defaults to 10000 -function p3_m_plot1(len_D_range::Int64 = 10000, colors::Vector{String}) +Function that allows for the replication of Fig. 1a from Morrison and Milbrandt 2015. +""" +function p3_m_plot1(colors::Vector{String}, threshold_colors::Vector{String}, len_D_range::Int64 = 10000) D_range = range(1e-5, stop = 1e-2, length = len_D_range) fig1_a = Plt.Figure() - + ax1_a = Plt.Axis( - fig1_a[1:7,1:8], + fig1_a[1:7, 1:8], title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", xlabel = Plt.L"$D$ (mm)", ylabel = Plt.L"$m$ (kg)", - xscale = Plt.log10, yscale = Plt.log10, + xscale = Plt.log10, + yscale = Plt.log10, xminorticksvisible = true, - xminorticks =Plt.IntervalsBetween(5), + xminorticks = Plt.IntervalsBetween(5), yminorticksvisible = true, yminorticks = Plt.IntervalsBetween(3), xticks = [0.01, 0.1, 1, 10], - aspect = 2 + aspect = 2, ) - + fig1_a_0 = Plt.lines!( ax1_a, D_range * 1e3, - [mass(D, P3.breakpoints(400.0, 0.0), 0.0) for D in D_range], - color = "indigo" + [mass(D, 0.0) for D in D_range], + color = colors[1], ) - + fig1_a_5 = Plt.lines!( ax1_a, D_range * 1e3, - [mass(D, P3.breakpoints(400.0, 0.5), 0.5) for D in D_range], - color = "chartreuse" + [mass(D, 0.5, P3.thresholds(400.0, 0.5)) for D in D_range], + color = colors[2], ) - + fig1_a_8 = Plt.lines!( ax1_a, D_range * 1e3, - [mass(D, P3.breakpoints(400.0, 0.8), 0.8) for D in D_range], - color = "red" + [mass(D, 0.8, P3.thresholds(400.0, 0.8)) for D in D_range], + color = colors[3] ) - + d_cr_5 = Plt.lines!( ax1_a, - [D = P3.breakpoints(400.0, 0.5)[1] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), + [D = P3.thresholds(400.0, 0.5)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), linestyle = "---", - color = "chartreuse" + color = threshold_colors[2], ) - + d_cr_8 = Plt.lines!( ax1_a, - [D = P3.breakpoints(400.0, 0.8)[1] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), + [D = P3.thresholds(400.0, 0.8)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), linestyle = "---", - color = "red" + color = threshold_colors[3] ) - + d_gr_5 = Plt.lines!( ax1_a, - [D = P3.breakpoints(400.0, 0.5)[2] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), + [D = P3.thresholds(400.0, 0.5)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), linestyle = "...", - color = "chartreuse" + color = threshold_colors[2], + linewidth = 1.5, ) - + d_gr_8 = Plt.lines!( ax1_a, - [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), + [D = P3.thresholds(400.0, 0.8)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), linestyle = "...", - color = "red" + color = threshold_colors[3], + linewidth = 1.5, ) - + d_tha = Plt.lines!( ax1_a, [D = D_th * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), - linestyle = "---" + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "---", + color = "red", ) - + leg1_a = Plt.Legend( - fig1_a[8:9,1], + fig1_a[8:9, 1], [fig1_a_0, fig1_a_5, fig1_a_8], - [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"] - ) - - leg1_a_dth = Plt.Legend( - fig1_a[8:9,3], - [d_tha], - [Plt.L"$D_{th}$"] + [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"], ) - + + leg1_a_dth = Plt.Legend(fig1_a[8:9, 3], [d_tha], [Plt.L"$D_{th}$"]) + leg1_a_dcr = Plt.Legend( - fig1_a[8:9,7], + fig1_a[8:9, 7], [d_cr_5, d_cr_8], - [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"] + [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"], ) - + leg1_a_dgr = Plt.Legend( - fig1_a[8:9,5], + fig1_a[8:9, 5], [d_gr_5, d_gr_8], - [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"] + [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"], ) - + Plt.save("MorrisonandMilbrandtFig1a.svg", fig1_a) end -function p3_m_plot2(len_D_range::Int64 = 10000, colors::Vector{String}) +""" +p3_m_plot2(colors, threshold_colors, len_D_range = 10000) + + - colors: string vector with three elements corresponding to the line colors + - threshold_colors: string vector with three elements corresponding to the threshold line colors + - len_D_range: amount of points to graph, defaults to 10000 + +Function that allows for the replication of Fig. 1b from Morrison and Milbrandt 2015. +""" +function p3_m_plot2(colors::Vector{String}, threshold_colors::Vector{String}, len_D_range::Int64 = 10000) + D_range = range(1e-5, stop = 1e-2, length = len_D_range) + fig1_b = Plt.Figure() ax1_b = Plt.Axis( - fig1_b[1:10,1:11], + fig1_b[1:10, 1:11], title = Plt.L"m(D) regime for $F_r = 0.95$", xlabel = Plt.L"$D$ (mm)", ylabel = Plt.L"$m$ (kg)", @@ -207,374 +226,113 @@ function p3_m_plot2(len_D_range::Int64 = 10000, colors::Vector{String}) yminorticks = Plt.IntervalsBetween(3), xminorticksvisible = true, xminorticks = Plt.IntervalsBetween(5), - xticks = [0.01, 0.1, 1, 10], aspect = 1.67 + xticks = [0.01, 0.1, 1, 10], + aspect = 1.67, ) - + fig1_b200 = Plt.lines!( ax1_b, D_range * 1e3, - [P3.m(D, P3.breakpoints(200.0, 0.95), 0.95) for D in D_range], - color = "indigo" + [mass(D, 0.95, P3.thresholds(200.0, 0.95)) for D in D_range], + color = colors[1], ) fig1_b400 = Plt.lines!( ax1_b, D_range * 1e3, - [P3.m(D, P3.breakpoints(400.0, 0.95), 0.95) for D in D_range], - color = "chartreuse" + [mass(D, 0.95, P3.thresholds(400.0, 0.95)) for D in D_range], + color = colors[2], ) - - fig1_b800 = Plt.lines!(ax1_b, D_range * 1e3, - [P3.m(D, P3.breakpoints(800.0, 0.95), 0.95) for D in D_range], color = "red") - d_thb = Plt.lines!(ax1_b, [D = D_th * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "---") - d_cr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[1] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "indigo") - d_cr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.95)[1] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "chartreuse") - d_cr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[1] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "red") - d_gr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[2] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "indigo") - d_gr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "chartreuse") - d_gr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[2] * 1e3 for D in D_range], - range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "red") - leg1_b = Plt.Legend(fig1_b[11:12,2], [fig1_b200, fig1_b400, fig1_b800], - [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"]) - leg1_b_dth = Plt.Legend(fig1_b[11:12,3], [d_thb], - [Plt.L"$D_{th}$"]) - leg1_b_dcr = Plt.Legend(fig1_b[11:12,6], [d_cr_200, d_cr_400, d_cr_800], - [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", - Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) - leg1_b_dgr = Plt.Legend(fig1_b[11:12,4], [d_gr_200, d_gr_400, d_gr_800], - [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", - Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) - Plt.save("P3_2.png", fig1_b, px_per_unit = 2) -end - - - - + fig1_b800 = Plt.lines!( + ax1_b, + D_range * 1e3, + [mass(D, 0.95, P3.thresholds(800.0, 0.95)) for D in D_range], + color = colors[3], + ) + d_thb = Plt.lines!( + ax1_b, + [D = D_th * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "---", + color = "red", + ) + d_cr_200 = Plt.lines!( + ax1_b, + [D = P3.thresholds(200.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "---", + color = threshold_colors[1], + ) + d_cr_400 = Plt.lines!( + ax1_b, + [D = P3.thresholds(400.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "---", + color = threshold_colors[2], + ) + d_cr_800 = Plt.lines!( + ax1_b, + [D = P3.thresholds(800.0, 0.95)[1] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "---", + color = threshold_colors[3], + ) + d_gr_200 = Plt.lines!( + ax1_b, + [D = P3.thresholds(200.0, 0.95)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "...", + color = threshold_colors[1], + linewidth = 1.5, + ) + d_gr_400 = Plt.lines!( + ax1_b, + [D = P3.thresholds(400.0, 0.8)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "...", + color = threshold_colors[2], + ) + d_gr_800 = Plt.lines!( + ax1_b, + [D = P3.thresholds(800.0, 0.95)[2] * 1e3 for D in D_range], + range(1e-14, stop = 1e-4, length = len_D_range), + linestyle = "...", + color = threshold_colors[3], + linewidth = 1.5, + ) + leg1_b = Plt.Legend( + fig1_b[11:12, 2], + [fig1_b200, fig1_b400, fig1_b800], + [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"] + ) + leg1_b_dth = Plt.Legend( + fig1_b[11:12, 3], + [d_thb], + [Plt.L"$D_{th}$"] + ) + + leg1_b_dcr = Plt.Legend( + fig1_b[11:12, 6], + [d_cr_200, d_cr_400, d_cr_800], + [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] + ) + leg1_b_dgr = Plt.Legend( + fig1_b[11:12, 4], + [d_gr_200, d_gr_400, d_gr_800], + [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] + ) -# plt = Plt.Figure() - -# if fig == 1 -# ax = Plt.Axis( -# plt[1:7,1:8], -# title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", -# xlabel = Plt.L"$D$ (mm)", -# ylabel = Plt.L"$m$ (kg)", -# xscale = Plt.log10, yscale = Plt.log10, -# xminorticksvisible = true, -# xminorticks =Plt.IntervalsBetween(5), -# yminorticksvisible = true, -# yminorticks = Plt.IntervalsBetween(3), -# xticks = [0.01, 0.1, 1, 10], -# aspect = 2 -# ) - -# ρ_r = [400.0, 400.0, 400.0] -# F_r = [0.0, 0.5, 0.8] - -# elseif fig == 2 -# ax = Plt.Axis( -# plt[1:10,1:11], -# title = Plt.L"m(D) regime for $F_r = 0.95$", -# xlabel = Plt.L"$D$ (mm)", -# ylabel = Plt.L"$m$ (kg)", -# xscale = Plt.log10, -# yscale = Plt.log10, -# xminorticksvisible = true, -# xminorticks = Plt.IntervalsBetween(5), -# xticks = [0.01, 0.1, 1, 10], -# yminorticksvisible = true, -# yminorticks = Plt.IntervalsBetween(3), -# aspect = 1.67 -# ) - -# ρ_r = [200.0, 400.0, 800.0] -# F_r = [0.95, 0.95, 0.95] - -# end - -# D_range = range(1e-5, stop = 1e-2, length = len_D_range) -# lines = Any[0, 0, 0] - -# for i in [1:3] -# ρ_r_i = ρ_r[i] -# F_r_i = F_r[i] -# lines[i] = Plt.lines!( -# ax, -# D_range * 1e3, -# [mass(D, P3.thresholds(ρ_r_i, F_r_i), F_r_i) for D in D_range], -# color = colors[i] -# ) -# end -# end - -# function m_plot( -# ax_range_1::UnitRange{Int64}, -# ax_range_2::UnitRange{Int64}, -# plt_title::AbstractString, -# len_D_range::Int64, -# ρ_r::Vector{Float64}, -# F_r::Vector{Float64}, -# colors::Vector{String}, -# fig::Int64 -# ) - -# fig = Plt.Figure() - -# ax = Plt.Axis(fig[ax_range_1, ax_range_2], -# title = plt_title, -# xlabel = Plt.L"$D$ (mm)", -# ylabel = Plt.L"$m$ (kg)", -# xscale = Plt.log10, yscale = Plt.log10, -# xminorticksvisible = true, -# xminorticks =Plt.IntervalsBetween(5), -# yminorticksvisible = true, -# yminorticks = Plt.IntervalsBetween(3), -# xticks = [0.01, 0.1, 1, 10], -# aspect = 2 -# ) - -# D_range = range(1e-5, stop = 1e-2, length = len_D_range) -# lines = Any[0, 0, 0] -# thresholds = (d_cr = Any[0, 0, 0], d_gr = Any[0, 0, 0]) - -# d_th = Plt.lines!( -# ax, -# [D = D_th * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = len_D_range), -# linestyle = "---" -# ) - -# for i in range(1, length(colors)) -# lines[i] = Plt.lines!( -# ax, -# D_range * 1e3, -# [P3.m(D, P3.breakpoints(ρ_r[i], F_r[i]), F_r[i]) for D in D_range], -# color = colors[i] -# ) -# end - -# for j in [1:2] -# for i in range(1, length(colors)) -# if F_r[i] == 0.0 -# thresholds[j] = deleteat!(thresholds[j], i) -# i -= 1 -# elseif i > length(thresholds[j]) -# break -# else -# thresholds[j][i] = Plt.lines!( -# ax, -# [D = P3.breakpoints(ρ_r[i], F_r[i])[j] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = len_D_range), -# linestyle = "---", -# color = colors[i] -# ) -# end -# end -# end - -# if fig == 1 -# leg1_a = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 1], -# lines, -# [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"] -# ) - -# leg1_a_dth = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 3], -# [d_th], -# [Plt.L"$D_{th}$"] -# ) - -# leg1_a_dcr = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 7], -# thresholds.d_cr, -# [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"] -# ) - -# leg1_a_dgr = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 5], -# thresholds.d_gr, -# [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"] -# ) - -# elseif fig == 2 -# leg1_b = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 2], -# lines, -# [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"] -# ) - -# leg1_b_dth = Plt.Legend( -# fig1_b[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 3], -# d_th, -# [Plt.L"$D_{th}$"] -# ) - -# leg1_b_dcr = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 6], -# thresholds.d_cr, -# [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] -# ) - -# leg1_b_dgr = Plt.Legend( -# fig[(lastindex(ax_range_1) + 1):(lastindex(ax_range_1) + 2), 4], -# thresholds.d_gr, -# [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] -# ) - -# end - -# Plt.save("P3_fig_" * string(fig) * ".svg", fig, px_per_unit = 2) - -# end - - - -# # Figure 1a from M&M with CairoMakie -# function p3fig(fig) -# if fig == 1 -# fig1_a = Plt.Figure() - -# ax1_a = Plt.Axis( -# fig1_a[1:7,1:8], -# title = Plt.L"m(D) regime for $ρ_r = 400 kg m^{-3}$", -# xlabel = Plt.L"$D$ (mm)", -# ylabel = Plt.L"$m$ (kg)", -# xscale = Plt.log10, yscale = Plt.log10, -# xminorticksvisible = true, -# xminorticks =Plt.IntervalsBetween(5), -# yminorticksvisible = true, -# yminorticks = Plt.IntervalsBetween(3), -# xticks = [0.01, 0.1, 1, 10], -# aspect = 2 -# ) - -# fig1_a_0 = Plt.lines!( -# ax1_a, D_range * 1e3, -# [P3.m(D, P3.breakpoints(400.0, 0.0), 0.0) for D in D_range], -# color = "indigo" -# ) - -# fig1_a_5 = Plt.lines!( -# ax1_a, -# D_range * 1e3, -# [P3.m(D, P3.breakpoints(400.0, 0.5), 0.5) for D in D_range], -# color = "chartreuse" -# ) - -# fig1_a_8 = Plt.lines!( -# ax1_a, -# D_range * 1e3, -# [P3.m(D, P3.breakpoints(400.0, 0.8), 0.8) for D in D_range], -# color = "red" -# ) - -# d_cr_5 = Plt.lines!( -# ax1_a, -# [D = P3.breakpoints(400.0, 0.5)[1] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), -# linestyle = "---", -# color = "chartreuse" -# ) - -# d_cr_8 = Plt.lines!( -# ax1_a, -# [D = P3.breakpoints(400.0, 0.8)[1] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), -# linestyle = "---", -# color = "red" -# ) - -# d_gr_5 = Plt.lines!( -# ax1_a, -# [D = P3.breakpoints(400.0, 0.5)[2] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), -# linestyle = "...", -# color = "chartreuse" -# ) - -# d_gr_8 = Plt.lines!( -# ax1_a, -# [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), -# linestyle = "...", -# color = "red" -# ) - -# d_tha = Plt.lines!( -# ax1_a, -# [D = D_th * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), -# linestyle = "---" -# ) - -# leg1_a = Plt.Legend( -# fig1_a[8:9,1], -# [fig1_a_0, fig1_a_5, fig1_a_8], -# [Plt.L"$F_{r} = 0.0$", Plt.L"$F_{r} = 0.5$", Plt.L"$F_{r} = 0.8$"]) -# leg1_a_dth = Plt.Legend(fig1_a[8:9,3], [d_tha], -# [Plt.L"$D_{th}$"]) -# leg1_a_dcr = Plt.Legend(fig1_a[8:9,7], [d_cr_5, d_cr_8], -# [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"]) -# leg1_a_dgr = Plt.Legend(fig1_a[8:9,5], [d_gr_5, d_gr_8], -# [Plt.L"$D_{gr}$ for $F_{r} = 0.5$", Plt.L"$D_{gr}$ for $F_{r} = 0.8$"]) -# #Plt.save("P3_1.png", fig1_a, px_per_unit = 2) - -# # Figure 1b from M&M with CairoMakie -# fig1_b = Plt.Figure() -# ax1_b = Plt.Axis(fig1_b[1:10,1:11], -# title = Plt.L"m(D) regime for $F_r = 0.95$", xlabel = Plt.L"$D$ (mm)", ylabel = Plt.L"$m$ (kg)", -# xscale = Plt.log10, yscale = Plt.log10, -# xminorticksvisible = true, xminorticks = Plt.IntervalsBetween(5), -# xticks = [0.01, 0.1, 1, 10], aspect = 1.67) -# fig1_b200 = Plt.lines!(ax1_b, D_range * 1e3, -# [P3.m(D, P3.breakpoints(200.0, 0.95), 0.95) for D in D_range], color = "indigo") -# fig1_b400 = Plt.lines!(ax1_b, D_range * 1e3, -# [P3.m(D, P3.breakpoints(400.0, 0.95), 0.95) for D in D_range], color = "chartreuse") -# fig1_b800 = Plt.lines!(ax1_b, D_range * 1e3, -# [P3.m(D, P3.breakpoints(800.0, 0.95), 0.95) for D in D_range], color = "red") -# d_thb = Plt.lines!(ax1_b, [D = D_th * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---") -# d_cr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[1] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "indigo") -# d_cr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.95)[1] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "chartreuse") -# d_cr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[1] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "---", color = "red") -# d_gr_200 = Plt.lines!(ax1_b, [D = P3.breakpoints(200.0, 0.95)[2] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "indigo") -# d_gr_400 = Plt.lines!(ax1_b, [D = P3.breakpoints(400.0, 0.8)[2] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "chartreuse") -# d_gr_800 = Plt.lines!(ax1_b, [D = P3.breakpoints(800.0, 0.95)[2] * 1e3 for D in D_range], -# range(1e-14, stop = 1e-4, length = 10000), linestyle = "...", color = "red") -# leg1_b = Plt.Legend(fig1_b[11:12,2], [fig1_b200, fig1_b400, fig1_b800], -# [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"]) -# leg1_b_dth = Plt.Legend(fig1_b[11:12,3], [d_thb], -# [Plt.L"$D_{th}$"]) -# leg1_b_dcr = Plt.Legend(fig1_b[11:12,6], [d_cr_200, d_cr_400, d_cr_800], -# [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", -# Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) -# leg1_b_dgr = Plt.Legend(fig1_b[11:12,4], [d_gr_200, d_gr_400, d_gr_800], -# [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", -# Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"]) -# fig1_b - -# #Plt.save("P3_2.png", fig1_b, px_per_unit = 2) -# #fig1_a \ No newline at end of file + Plt.save("MorrisonandMilbrandtFig1b.svg", fig1_b) + fig1_b +end diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index c0abe70902..78414a258a 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -8,16 +8,19 @@ Predicted particle properties scheme (P3) for ice, which includes: module P3Scheme import NonlinearSolve as NLS -import CLIMAParameters as CP +import ..Parameters as CMP +const APS = CMP.AbstractCloudMicrophysicsParameters FT = Float64 -include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) -toml_dict = CP.create_toml_dict(FT; dict_type = "alias") -const param_set = cloud_microphysics_parameters(toml_dict) +# include(joinpath("..", "test", "create_parameters.jl")) +# toml_dict = CP.create_toml_dict(FT; dict_type = "alias") +# const param_set = cloud_microphysics_parameters(toml_dict) +# # thermo_params = CMP.thermodynamics_params(param_set) -# bulk density of ice -const ρ_i::FT = param_set.density_ice_water +# # bulk density of ice +# const ρ_i::FT = CMP.ρ_cloud_ice(param_set) +const ρ_i::FT = 917.0 # exponent in power law from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (unitless I think?) const β_va::FT = 1.9 @@ -56,7 +59,7 @@ for a given predicted rime density and rime mass fraction, where: is the density of the unrimed portion of the particle, given here in ``kg m^{-3}`` """ -function thresholds(ρ_r::FT, F_r::FT, u0::Vector{FT} = [[-7.6, -8.2, 5.7, 5.4]]) where {FT <: Real} +function thresholds(ρ_r::FT, F_r::FT, u0::Vector{FT} = [-7.6, -8.2, 5.7, 5.4]) where {FT <: Real} if ρ_r == 0.0 throw( DomainError( From e0847b73df38c4e88dbf6b49d7501af31c97868a Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 20 Jul 2023 16:26:17 -0700 Subject: [PATCH 37/52] more fixes --- docs/src/P3SchemePlots.jl | 74 +++++++++++++++++++++++++-------------- src/P3Scheme.jl | 36 +++++++++---------- 2 files changed, 63 insertions(+), 47 deletions(-) diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl index 3fcacb3c34..a7ed7f9b99 100644 --- a/docs/src/P3SchemePlots.jl +++ b/docs/src/P3SchemePlots.jl @@ -30,57 +30,61 @@ mass(D, thresholds, F_r) which computes thresholds, classifies particles, and returns mass; used to create figures for the docs page. """ -function mass(D::FT, F_r::FT, thresholds::Vector{FT} = [0.0, 0.0, 0.0, 0.0]) where {FT <: Real} +function mass( + D::FT, + F_r::FT, + thresholds::Vector{FT} = [0.0, 0.0, 0.0, 0.0], +) where {FT <: Real} # Helper functions: """ - m_s(D, ρ) + mass_s(D, ρ) - D: maximum particle dimension (m) - ρ: bulk ice density (note to self: use ρ_i for small ice and ρ_g for graupel) (kg m^-3) m(D) relation for spherical ice (small ice or completely rimed ice), returns mass (kg) """ - function m_s(D::FT, ρ::FT) where {FT <: Real} + function mass_s(D::FT, ρ::FT) where {FT <: Real} return FT(π) / 6 * ρ * D^3 end """ - m_nl(D) + mass_nl(D) - D: maximum particle dimension (m) m(D) relation for large, nonspherical ice (used for unrimed and dense types), returns mass (kg) """ - function m_nl(D::FT) where {FT <: Real} + function mass_nl(D::FT) where {FT <: Real} return α_va * D^β_va end """ - m_r(D, F_r) + mass_r(D, F_r) - D: maximum particle dimension (m) - F_r: rime mass fraction (q_rim/q_i) m(D) relation for partially rimed ice, returns mass (kg) """ - function m_r(D::FT, F_r::FT) where {FT <: Real} + function mass_r(D::FT, F_r::FT) where {FT <: Real} return (α_va / (1 - F_r)) * D^β_va end # Mass regime: if D <= D_th - return m_s(D, ρ_i) # small spherical ice + return mass_s(D, ρ_i) # small spherical ice elseif F_r == 0 - return m_nl(D) # large, nonspherical, unrimed ice + return mass_nl(D) # large, nonspherical, unrimed ice else if D >= thresholds[1] - return m_r(D, F_r) # partially rimed ice + return mass_r(D, F_r) # partially rimed ice elseif D < thresholds[1] if D >= thresholds[2] - return m_s(D, thresholds[3]) # graupel + return mass_s(D, thresholds[3]) # graupel elseif D < thresholds[2] - return m_nl(D) # dense nonspherical ice + return mass_nl(D) # dense nonspherical ice end end end @@ -95,7 +99,11 @@ p3_m_plot1(colors, threshold_colors, len_D_range = 10000) Function that allows for the replication of Fig. 1a from Morrison and Milbrandt 2015. """ -function p3_m_plot1(colors::Vector{String}, threshold_colors::Vector{String}, len_D_range::Int64 = 10000) +function p3_m_plot1( + colors::Vector{String}, + threshold_colors::Vector{String}, + len_D_range::Int64 = 10000, +) D_range = range(1e-5, stop = 1e-2, length = len_D_range) fig1_a = Plt.Figure() @@ -133,7 +141,7 @@ function p3_m_plot1(colors::Vector{String}, threshold_colors::Vector{String}, le ax1_a, D_range * 1e3, [mass(D, 0.8, P3.thresholds(400.0, 0.8)) for D in D_range], - color = colors[3] + color = colors[3], ) d_cr_5 = Plt.lines!( @@ -149,7 +157,7 @@ function p3_m_plot1(colors::Vector{String}, threshold_colors::Vector{String}, le [D = P3.thresholds(400.0, 0.8)[1] * 1e3 for D in D_range], range(1e-14, stop = 1e-4, length = len_D_range), linestyle = "---", - color = threshold_colors[3] + color = threshold_colors[3], ) d_gr_5 = Plt.lines!( @@ -187,7 +195,7 @@ function p3_m_plot1(colors::Vector{String}, threshold_colors::Vector{String}, le leg1_a_dth = Plt.Legend(fig1_a[8:9, 3], [d_tha], [Plt.L"$D_{th}$"]) leg1_a_dcr = Plt.Legend( - fig1_a[8:9, 7], + fig1_a[8:9, 7], [d_cr_5, d_cr_8], [Plt.L"$D_{cr}$ for $F_{r} = 0.5$", Plt.L"$D_{cr}$ for $F_{r} = 0.8$"], ) @@ -210,11 +218,15 @@ p3_m_plot2(colors, threshold_colors, len_D_range = 10000) Function that allows for the replication of Fig. 1b from Morrison and Milbrandt 2015. """ -function p3_m_plot2(colors::Vector{String}, threshold_colors::Vector{String}, len_D_range::Int64 = 10000) +function p3_m_plot2( + colors::Vector{String}, + threshold_colors::Vector{String}, + len_D_range::Int64 = 10000, +) D_range = range(1e-5, stop = 1e-2, length = len_D_range) fig1_b = Plt.Figure() - + ax1_b = Plt.Axis( fig1_b[1:10, 1:11], title = Plt.L"m(D) regime for $F_r = 0.95$", @@ -312,25 +324,33 @@ function p3_m_plot2(colors::Vector{String}, threshold_colors::Vector{String}, le leg1_b = Plt.Legend( fig1_b[11:12, 2], [fig1_b200, fig1_b400, fig1_b800], - [Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$\rho_{r} = 800.0 kg m^{-3}$"] + [ + Plt.L"$\rho_{r} = 200.0 kg m^{-3}$", + Plt.L"$\rho_{r} = 400.0 kg m^{-3}$", + Plt.L"$\rho_{r} = 800.0 kg m^{-3}$", + ], ) - leg1_b_dth = Plt.Legend( - fig1_b[11:12, 3], - [d_thb], - [Plt.L"$D_{th}$"] - ) - + leg1_b_dth = Plt.Legend(fig1_b[11:12, 3], [d_thb], [Plt.L"$D_{th}$"]) + leg1_b_dcr = Plt.Legend( fig1_b[11:12, 6], [d_cr_200, d_cr_400, d_cr_800], - [Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] + [ + Plt.L"$D_{cr}$ for $\rho_{r} = 200.0 kg m^{-3}$", + Plt.L"$D_{cr}$ for $\rho_{r} = 400.0 kg m^{-3}$", + Plt.L"$D_{cr}$ for $\rho_{r} = 800.0 kg m^{-3}$", + ], ) leg1_b_dgr = Plt.Legend( fig1_b[11:12, 4], [d_gr_200, d_gr_400, d_gr_800], - [Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$"] + [ + Plt.L"$D_{gr}$ for $\rho_{r} = 200.0 kg m^{-3}$", + Plt.L"$D_{gr}$ for $\rho_{r} = 400.0 kg m^{-3}$", + Plt.L"$D_{gr}$ for $\rho_{r} = 800.0 kg m^{-3}$", + ], ) Plt.save("MorrisonandMilbrandtFig1b.svg", fig1_b) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 78414a258a..9c2c9eb96c 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -59,48 +59,44 @@ for a given predicted rime density and rime mass fraction, where: is the density of the unrimed portion of the particle, given here in ``kg m^{-3}`` """ -function thresholds(ρ_r::FT, F_r::FT, u0::Vector{FT} = [-7.6, -8.2, 5.7, 5.4]) where {FT <: Real} +function thresholds( + ρ_r::FT, + F_r::FT, + u0::Vector{FT} = [-7.6, -8.2, 5.7, 5.4], +) where {FT <: Real} if ρ_r == 0.0 throw( DomainError( ρ_r, - "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present." - ) + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", + ), ) elseif F_r == 0.0 throw( DomainError( ρ_r, - "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present." - ) + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", + ), ) elseif ρ_r > 997 throw( DomainError( ρ_r, - "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water." - ) + "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water.", + ), ) elseif F_r == 1.0 || F_r > 1.0 throw( DomainError( F_r, - "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle." - ) - ) - elseif F_r < 0 - throw( - DomainError( - F_r, - "Rime mass fraction F_r cannot be negative." - ) + "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle.", + ), ) + elseif F_r < 0 + throw(DomainError(F_r, "Rime mass fraction F_r cannot be negative.")) elseif ρ_r < 0 throw( - DomainError( - ρ_r, - "Predicted rime density ρ_r cannot be negative." - ) + DomainError(ρ_r, "Predicted rime density ρ_r cannot be negative."), ) else # Let u[1] = D_cr, u[2] = D_gr, u[3] = ρ_g, u[4] = ρ_d, From 8e26f5778fa78ad63056d3909bbd89509f63724b Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 20 Jul 2023 18:32:44 -0700 Subject: [PATCH 38/52] improvements to docs and general fixes --- docs/src/P3Scheme.md | 33 +++++++++++++++++++-------------- docs/src/P3SchemePlots.jl | 2 +- docs/src/assets/P3_1.png | Bin 85143 -> 0 bytes docs/src/assets/P3_2.png | Bin 103532 -> 0 bytes src/P3Scheme.jl | 4 ++-- 5 files changed, 22 insertions(+), 17 deletions(-) delete mode 100644 docs/src/assets/P3_1.png delete mode 100644 docs/src/assets/P3_2.png diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index cbf5e1d072..c5a04120cc 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -43,21 +43,26 @@ The mass `m` of particles as a function of maximum particle dimension `D` |partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | |graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | -where: - - ``\rho_i \ = 917 kgm^{-3}`` (density of bulk ice) - - ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}``, the threshold between spherical and nonspherical unrimed ice; - - ``q_{rim}`` is the rime mass mixing ratio for ice; - - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{6 \beta_{va} - 3}``, a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``; - - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); - - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}``, a threshold defined to ensure continuity and reasonable masses for smaller D; - - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; - - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, bulk density of graupel, calculated with the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where the three determiners of ``\rho_g`` are defined: +with physical constant ``\rho_i \ = 916.7 kg m^{-3}``: see [CliMA Parameters](https://github.com/CliMA/CLIMAParameters.jl)'s ``\rho_cloud_ice`` ; +and empirical coefficients: -| quantity | symbol | definition | -|:--------------------|:----------------------|:----------------------| -|rime mass fraction | ``F_{r}`` | ``\frac{q_{rim}}{q_{ice}}`` | -|predicted rime density | ``\rho_{r}`` | ``\frac{q_{rim}}{B_{rim}}`` | -|density of unrimed ice | ``\rho_d`` | ``\frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` | + - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{6 \beta_{va} - 3}`` (``kg m^{-β_va}``), a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``, + - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); + +which together determine ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}`` (``m``), the threshold between spherical and nonspherical unrimed ice; +and model state variables: + + - ``q_{rim}``, rime mass concentration; + - ``q_{ice}``, total ice mass concentration; + - ``B_{rim}``, bulk rime volume; + +from which rime mass fraction ``F_r = \frac{q_rim}{q_ice}`` and predicted rime density ``\rho_{r} = \frac{q_rim}{B_rim}`` are derived. +The following four thresholds (``D_{i}``) and densities (``\rho_{i}``) which form a nonlinear system solved by `thresholds(ρ_r, F_r, u0)` , which employs [`NonlinearSolve.jl`](https://docs.sciml.ai/NonlinearSolve/stable/): + + - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}`` (``m``), a threshold defined to ensure continuity and reasonable masses for smaller D; + - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; + - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, bulk density of graupel, calculated with the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where + - ``\rho_d = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` is the density of the unrimed part. Below are graphical representations of the m(D) regime, replicating Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl index a7ed7f9b99..b78305c139 100644 --- a/docs/src/P3SchemePlots.jl +++ b/docs/src/P3SchemePlots.jl @@ -354,5 +354,5 @@ function p3_m_plot2( ) Plt.save("MorrisonandMilbrandtFig1b.svg", fig1_b) - fig1_b + end diff --git a/docs/src/assets/P3_1.png b/docs/src/assets/P3_1.png deleted file mode 100644 index d0c227a01cc3550998a1fc427d5a61467d46fb22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85143 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 Qgd~!hvL-oupXG)B19xCMY5)KL diff --git a/docs/src/assets/P3_2.png b/docs/src/assets/P3_2.png deleted file mode 100644 index a31b0723ebbeb6a7c20f7c8d2f427bbd756c9896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103532 zcmeFZbzD^6+b%qSfJ%u9NC*lj(hAZDs5BDNHFQaLm!fn?4h_=X4Fec-cQ->bbk|v^ z-`{i2`#k48&w0-K{&%*1J`Omu_uBWm@9VnmYpp$gGEyQqw@Ge8AP^ieQ9)S<1VaD< zxlwcz75s)l7rznwgP|iKA_%#<{*w&P42M7-LBs@K%R9zzOnp!vL|k6&^gPE7L@mjp z;(k_8MV&EQkcJVf!t}vEGO>Li!(Qs5gV)$No$zsAu?_EVp%hJiIG4@`{agv8GXqT4 zYUbf<8NGWL24^!5y2;2s-ob1@t4pkGUO%;lCTaKj)WZoQr_71KFu>6$=R^zr^AaM1 zkIL}prQ^&0`|7_M1DQ?5eARN(F_ucaI2erMLx0+jA8#r{ut8))-gu%zAUPu~6drZ@ z9Z~$}b9m+yT#p{jw$UU7hJ-NF(OI9(g7_>$sjg(eFzUqKj#uXN z8QS_VS!HEwyPv00ic7(#zH{t$x*zirTtqB9=PEzhw7R;w)UXFRQaIE5?JXt_$^Mqd zmD;Mmc;G`GMY#{E`G@O;4T?2-(l2y=`JQbxTqRwdFNaczSX*2B2LucZ3~-o^KDSxw zL{8PJF%YI>-GB@V{T@rreL_O17#4&V9^dxv>5L{&o?bC?f(7yt|tf>VL+2k zao~d&l>GcN=bBATO&>mdXaJu9m)W#;dH+5%DJiM{Ni7`%!}-L_<#3^9gUc42gPq;J zH~IC|k;j!`xoYln`PZ+%t69L=T#vU~TU&7-a__GVtxq}3Fj{1Fc6M6SpDckH*%&R> zm67>cSZFbjA-OO=f4LLlK}|#B;^HzhK7k5Jrjxg?g|3o7AOf2&O@{MQQc@Nd7g=1A zoY%7P_>Khx!Td~qd+S3=(c0b)ewWF2b-u@gtkS(WJ^1$R8$#0d{CKCTs>%x!597v- zs@&rVS~j+WU>@Whd`-=n4jA*<*%>|befsF;A(#ycUdQe2xu5xJmD6w+he8dwpx#e! z91y6={-MZYWbKwW4(U@$T3T9gX|0%^cM05fZDCJnq~eVRGP*YN3n-Vn6G+*NBS3V% zYZ(pa#rVeaI$48UI#?gkEH_pNe=14GKlt4X(+7`21Drlx0%pH8J=M`+(h~eI__@jE zcsa*q-NEXB;Yb0LDTqoqQ1sn9hP_HU2&57Pg%ASCA_SjA4rKQ9rHXW%!44PO!e?Bz zUg2|DFN&TWZg#jfgJ~mwbqey&e5U@QhyP0bHQ&KXYKZse&*uk)9(EEtl`8Mwzu#Nx zVr6CBs@v)+@rw%Fj0|Tnyyx9 z-X1Ae(G|xLAi6%BPp|xaq)7W`hGd+xl=Blxi-wECdbhK%urTpVCCdJ+_o=t;J!McW zGXnE2mnoIsDdTazKmkgc!g=Le|7xV~ua*{O@ZSe(L)USFA5E|CDp*-r1s~W#AdWY? z8v#Ed9d_oM04lhH#Hi$x2L&3yT>p%+BZ~3tWI3tBB@bF_pTOgwQDHik-;?FLy}j*2 z;a>GVRal(J`rhu|o=}l?pX*@bDU-LKl2-U57^v zS5U$BNx$pNz*nhrw9@w;FZ&R_VCme#Cr%V>5up2+8Ui5?hG0P;RWme6uJc=4TLlDU z-Kha&F5lZ(ZC82$cv|tI#@laf3O>+Op&OCDgK|uDF2K${F|dR!S7ew%#?mHC{w9K}m>+mJ24@$IDGd z%09^9tJKc{6>m8C`gT!#kEE-pTwKTnRXbM`_7&3O$kgh8qX6X`QW*pSf~7AqU~ zwwXXYxdXt>de%s!_GMj~EOo|ES_545yGJt(u&b}H4-_9rq*&JHr<;{C%^?*0){Cu7 z&>9d3?Zb^RguWOkFdp!`+3#Lc$~jbxbWBXsCHfLhJ^PyzBRxG9C%cG9ieaOdIpQbh zdp$yWfKbpduzdpq0qOK~bkJY88XK7O&YpbXs3f`-InN|FpRkWIHhxZwto{&iKgN@Q2 z|5k7t%ey$X?QLx_JPx4z-L|Ti6B9vcuJkQ{z%f62_Uxjw%l!sNlNChK($X?hDnYz5 zGcB#mc&PoPV`XLK3|U*)URpKP7EU8X{rq`Rr|$U0`T0wdAm4aCw^IinI#yJhe&ccw zSPW%QVot|%J|ci5v>H9ZhkyMN3}}*#IYj{=WeZH|o;?=x<*;Wy+q!@4@%U?) z7ZugdzOdNXoRM{1UEM{^I?z|0RaK&gO}eoHZ~se*z*E@QOsrI=B{bq>Na`_l!~T;LJ$d? zb$q8nVthOq{`=e^#H-oS__&0Gi`w+VwV{sUz;!SdjzjWS&Sm?7QW_c>02$Ou^!)aY zpy18{-@V0Fi`<=Rq)M@K)SeCvbDc(DkS zX?R%Jwa`01clGeNV!_Hvu28%3G(UvOt4K+84@mQGJ{V4y$X5i@F#$A92><0Vm>R_f zcQ;t2%Cv|Kdhmr8B?}N;Dy0UI$eQaZM0i#hbj7+|T^xaYRyf;DPJYy4UAM~_EbnlV zCt;%}3zTsKkCLF^FL3$`0IUGpc6M4Qn5Puv zuVbcM{6oKx{vVlh2mjX1n=7NmsS>GFhJL=jmIbF)t2IDi1igjAorhXlXr4W54MK2* z*cby%jvm5QpxV*iUNZ*i_+~Ov(7i*-VZNd6&SKad4=55ujooy#7a?(au)e&oPzq)R zyopPeJ-p3!wh@K4+_>}m`>-iuh86AB*Zcp=Jar^!W9i+9iloTO8jKU9aP6XE=)M2XJ z8quz#;q(QtmgQOTmpc%MukWN)%R>%!ZbE1IUj5QB^9`WAf=hiSTdSM0=W+Dw>+6G2 zbJ!(7rFEEI9ZpyXrAfxI>vumOAu+C;0F;I_+S%E$VqmaN!ME$k*{@UdO2Pxw z<~ZZ)LE?Z~Xx$|XseZOaRiz>%Bor)hs-vS5-;scdiVDOp;e!W`0Vs-gHlG^^&L8m9 zprWDCbB%)%#K0kWX*ya23gbQj!F7gzA=3CN8%J-)4b}IyUQBBVp(yM`3PB)~0R%t` z2&DaBGzA}dR+!rf$>k>Fvi`M0$y0q~L&?}4@DBry>o;c$vj0NtQ{07Y+CeE?lYPY(x4knG&)qn2!CaLLLsQzlYG z`}xfrts~@A@Kgp9|8u1R^%pVkDy<>IX0tbo)C){(OC~mhpO@_hkOAqwKLjTI;$Q^B zYc9WX+IYNd6zie|K04w42_)g;b1c ze!+3zT3lp8g4^z*82;)|u2PfXPafROg4z9be+5^j{;!YUl2x8v6rf`fp6?GxgTiAq z?6zgPQmM91_vJK4%E=&RgoZfzPjCN_6oCyH!>x*^^T{L?#(^XyV^&9Hi0g`qk5}Kp zm-n|3jCXQ!0$M3O7T&^{jJN?0c1LCO`n{c zP`Dq@0di6owq#hp7g|sDKPd(L@9HlPwbGEPg-Fvw-Ri{baE7f!WOe^h1EmjZg-n&OJ~ z+#j`Bv9q(YAUPJ7mX;8R$fLm2+z$g8<}=1?i<}U8YU)M6!wgf?RaUw!D0}*Po_S?=ex=A-wiQmVVrSzSfT$hg_em;|`Yw(c3+G{+b; zQjC;9E7?AEj^nVfXGm5n)@cetiCVCAI@!{A1A&;+T-zo(r_@W zM#*A1+lWskEPuY;6hH*8t20L|Zm|SCc%cKD2_S13wmt&XJ~=z%;ZQc4sfPpEe;q^- z3b&Vl`l3jAAv@1+8Je(k|!@6tFu{_ z!Y6)dB!lj7GGzqXtpGyC-JP8mab34=-2#(2RbxlWY7p4*<4J1Y10o_N#C4FUU%i5V zQqT&H^aipPsN~ugjn)itxAE`*T)F6Hs8yJ%ym|BEm)||8c~Tt!4IsYRNVBBrDF}akvf$xaPehGnQB&l8SX(VqbnJaXqnK z#?9DOuX8L0m;ibin~p)Lz2zP}TwFeYl1{5VZ}DE)BH9U-nK{fSAKbZfhmepRpe^V( zCyQY+WBcOfm(a;}K@=2}hRf4jDq|}vkdnYM0c~g- z0VNBV1=tKONIpb+WN>)5xC>A{pdYN!`i=^dn*$l5E-(KQq%p`W9@6Wc7a%MducIaK zDwr04;gP4=pdm=epgdcUkO+aulV3O5b_ok5yfFGbx-o?e5afVX&?nHb7Wx98fQ8~2 z6O%g-Pc!ako1i%Z!dA)kG}2d@AqvPnE`tV@V4ZfJ3R(t+4PbVZPi#uRI*>OvFOb;E zOmZh7CRRBWNNH?r1ie3UreTH=y=on;X3XJzTdYNV7MQ53;}(9wMWELmR)M|Zx)ft5 zxCqpeLv>K`e8_A@gabse3BWFp)o`;3cDM!w5fKfgySqDRX_M$V`5I2^faCye%LxD% z(Bn%~0_}PUM8e8YE^LA1HBCTMf33sT@$s<>vbse-tHNyJ^z>9J`uR88wK6b%j%i2T zU%vQYu9z;06m#9?z7T=pwqC&80j2@~++a`_yNhk+jy?b{^60K+@Ih~mZf#@ZgZq$< zQd?V_h)Mm~RAgi%V)WS{FjDB13L=o=5)xQ=ctoK<02vq>&TyInfdKr0j<`V}t$CeF zKz#)_1aSseSs#M`-x@15ocr+w#FZ#igxu*m`&qVt8e*g@F`uew=T#p^bif`qVUxUU zHF~Ld*_QzXs-d_ogja@UU21)_g2^3C?_^<;`ke8sg-e=33fd&|KML@%)rl#uZ z=m-P<%woC@Nd4--co=M%la!u?g@uYL)fP6vpWNOM;Ez~d4k6``5(Evs)&9!+(y@)* zMt=f&Tka{)o+U;_Eg4-~4M1tdv6)mj9~i@Y=uhy^nF5-uH%4Ey=x|tAYz<^e&uqwm z6d0rm;gu~Pn_35+4e*WDrfQFXlp|vV!vT2b9~{gFP8Ed5?Fg6VTSXw)^xGpq zBXZQB0D;iG)@NS6;zfZ7R zjwP-uQ#z?0U;yaXK=Zed3rtHe#5_e4;2f=n-n)C3kV)MUz#A#^4b!m_1eh);i2_~Z zf>`a8dAaJ_H*aD&EC5c-g2_t*QY+Gx2UPej@EEK?*WFIxqW6*n%oxHoGuYydmDLUy zw91m*N8n#bzI%5LtR`?JOUokRRHu1Any2rgXLqBg%##312Caw00~V~XoO{zkSoHPl zo$$8B_4W0Ig@t4HHQO5S4$*Qqfk;;(0^q%=*xOg=+Q)S*9cO^5>ayC6kW*At)X|y8 z<39&IA5c$&#s`0#9-wNJ5h2N_KiIh$QulD0L!l%Jeowu z`HYN$r%%H_02e1$sqk=buXJMbY4|E=BCp-P7@wI2P=WM{d5*~HkO7czLdPy0swh*w`3QJ~Mz(f!(a3 zF+JaO-GJnnW?P0vMS-xeE|V|;)aSZc1Y}tG19nqoP`T3p$|hK^8-E_#m9L<+blkTD zB7bY5atnAn0LJzCEI~;E;CyL32!y$AWi`7zFdg`=9g{vI`5GWjXZ_z!f;1~vuCknK zxIAEnQDx=!03(vmX;-glAQvQp+u3F%Xws#ffKT@M%NHDS-s9t)1*S8mZ&l$m(tNwE zRN_h~5J-FDZ9vpA(92y|gRdx%pLWu=YlGPz(J;w*9gALjVGO-eYU(tw@xs7y22C;O zG!(X@7s!yn&7G^WfS>FJr51md(dX z^qc$%5U=*;d?=9MPRmC$Y7@SI0Sp@bapR9qPA)FCJUjpf=h!tJam={NDJyfjpC7Nq z&1ZDRbJ>6lkmfsC1QiXHs^$hx5d}c+ed zbSzIy0Gi^kKj+{Lo-$XefLsUm`e;loM#U<)FRhTF%LtiuSIh-X zQw|WW8in9z8OA{2)FI=c^#kK_)m2sC0s@SE_cUB8bHKPYM{;1*o(3K(q2Mp!uX%@5C3E{U22T{urOy4lJ z@rHvFhecNDAR%QA7H#g^^E#*u9OIAMf+6%$cNJ0;YvNVs8#7pgFJ`}gyS$-XCG@+7 z!QFU@Q2nd8{-ak5*Lr#lJ3z>w^A3KW5%uHOtHx^uI4m7>O_X=(ZyC=Cx0WFE2=l}z znJ8a#H@p})qk~?9#Dm|8(|b(a+A2~}!ZSS?TGGn!g_1>d312IchB>#_$|{mC9%4c5fi6#LP7iz|0LN-nLE2SeF|p&nFYf;7=8O|^6Ze29wDlunWC1!`V!L@I zJrs@ii+K9o(AZ-tZI&2Nw`HpNQkil!gb+*q+#%zaBtypK8ih*W=PW|u)IQ_#wFBpJ z)%@Qm06fm8;bNHsAAs#)QvHEEjNlF<+V7z^rsDqv5qTKaStXg%8EtxQ*3LhbKe^Fg z?8c)>=A2QR#OK@y_0!C_I``@)7&0ZB2f+fzEICX%o!rC2+k8Me-@VO3=R(tEXGCJL z-miT~Vd47ZGKR_wEV|ylzQR-KKMZVbL?TIu}3p{dMyEy(lhQodw{b+bVFoxfq3{QPO719Qe>%wlTIo`=;1T3gUj z5QYUUYmT1Q_HfPDAE{OK_Z1Zu_C{40X1Xp+$9U-@k|SapLA^Kf%1Ul%l|i|EqO!7W zSkGt_@0#im;+G#kg9a?$?mv+f_rDkF`PEr`1l2LxY(lS#1V1$T0Wp{Cs>y7#nDDaK-#%^kG3ZeP*DIs637&-Bn>())eBU6IcU?XN4NaUo9J+h-lS@b02Xj&!g(0;>xth-;jr__y z&Z-pYxe(s|Y50?~?*Rd~iYASGsCiKHIK|}sRKb#uAGkK>Ay_Lt9a({N$f}oJ{p5Y!v-UTb_jfNH~BXu+86RYN{?6B$FF1XaMvLn(n z*Ub0QY_j0g{(ny`fLowydg^L5Vb-!$Hyf*lU_aoVZYW>+Xvp1i)j+PH;UA&Y@;ARd zYt~yUJFJzcE5~BTPXdS1=^KjIl;24VZMSU2Kc^axGqH>i1ip(vf_8ChATcE+Nf0&l zGpOWL`D+7}bY(%EC$AaL6{<|RV$gH%RtAWE?Y8LLuNQ}*L9)IC7pjGpyK3i}VRFY8 zRoN1J&I&%jE1lvf?$EVKb#*16#bdfIs4UjbrLch9|1e2|19JEAac+TkncEt)RIW-a zf3cXDKo*UqcMJ*yADI}Fa2Isk!>SoRQcB~E@cA2nL2IHz^P26s$)fyPHS%Z1PHsxY zNn~3SoF3aNOwu%h>^BwDc+Z)xgUj3f*~raSIoa2C0JFwMJxCZVqG||m6^CivEA`E4 z5?NK{RRZ@UD;w{7gCHG<>YtyX#?Ly2KhnKe%vIOL#{?8E1*sF7) zA@O(?(JLAE<49w#=2Fi-pfG-oIGWAKsHM&CkA&CQs;AYN*E zt?NY?aAe^WB=Xqr!&igY%>amKEUZf#R62EJlcT^eo60>-yL<`pZxi@}b;Lh%jZImj z`Q)v{<=wiSTK3vf7b570zFfyx*6Au5MwuJkH?vxv2|D@5<`1t~;QIVd1^W7At`@?L z-pmu5ooi4>C=B{!d25hlYi(k!ZA8ruIVJw>_S|pT2;QIE{Hzo1yzK>Bzc_aKbr`5I zqVB>hc&f27lRCCgShj*c^2TphM)FV6Fc8MPcq=HF8v6MLAl_Q`R)*aB0it=-SzkyW zcSQYrd4M1wSiCyy83VXbF%ddV)p8)PvyU6gdQr>fWGa>Ge&j*|$-a-uG{P6eHrPkXV=ZW2miGP>`bUE6BAq774393yEbXw>`066FCwnQaoBP@Zi03 z^)00I;N3ibvNF>p=q!+nlI1a7UT*!ziRK|AYTE2Y^oV=(x7c3<_^P@_6g1hOubw}B z(&Q&9Ao?oZ1ckS=!mPv~$XE1TU?5qxEn9gDcZ@kvoG*41b!1iqQ)bjC{P6grq@iHi z$hL1c+7J2@1x!T-I#oEe&UzcqfGHDnOk0EIw0tNyanfmW@70tVJ@0RyiQLd^EuG*j zkn-+B!j*1F$Ansjq|Jm;R?hTpeE*X{$mRF(zJb$cQ1sc*LnPxEo`(86PlPZJ^%%ZZ zlUR!Qpg2rUf^5{bxtM~NbMVRmEpL!*OH;xrb90y~bQx-sTPIVvaG{nh@`~W3w+yMF zF{Hr6OZqp3WWc8`6X56h!xOl6-1=aJWmv{8&jX8iXEedXk*huKV8QO6bgRmjvd{?M zX^3{K)k?+8C50tDu6PY~6J;judLhAOZ@}SS4i4sDzBG zW-}T!9VwCb;Gasj$n9HLv9@~ID`|4~}LX=ze8_4Nktk|~WYNUYy) z;vJ$fsjJ+-yGlcub5&4NV!SBdgQ0|hgXDD5_A$th%)85m^Eb#<3PRP*5}Msd?0M!T zOjLEsf`SJ#OtrB1jk%;3mNK=O)21Ueay$rs!7d@d1)eQ2ck)AUvF?YOJ69%Z<@{%8 zJUTjzzcV!@f+<~*m{QEX*w0tIE}|ga`vsA@)Rptc_OEwOre)@z)dAC`ZKwf^z* zfVtCTZ+6P;e$Jh8FMyL*mvUL8@^q2DgTE+lg||h7hJFL4F?T|LImGi!C0`Njm{80; zaE61Q10GGEf$WB@>!|W>Awd z_@47?lk#rb9w{rlupa>tfQD8t&x~Mu;Hgwswy6Y2C}~8Wp7#dxtNTuGyODCK^*sQuTeywPchrjP44HXP`_Ox~oNN1Y=;4_~wfp=5#|D(bhqyo=_(t z_=o0`YxEzghntAvvYcn`SlKMB*A{$nhPoHom~ZXS^O+v5^Y?H~pplM*Bt2x^h%vID zV8UzK6aYC14gsj`!O9Vr_ZJ*&o;R`q>bOv5)2#LfQ_~LT_m(p7JPzA~H}A=99)|6U zuW#)&V!=hE*X5WSmk&n*fA6}1gzT+qEb!?D`@ZwNy`Ez+Tk-FDmCI?(f=3B6V9^OI z{$>L!!P94~LUK3{AK%X}G?Xf`AmdP(W?)n2Ug-C*v@q3rQl{m>rCe{0b0u@LvWDl! zrv)hjL+S7H;R_UIcaL4Gc?R3lnfQjU!&-gWk#7PqD`e1}Re}Arzyw z!h)dfS>b&&3Ex7s`(3gBhj?tfoLE)2cU2v>>z$Pzg#h{f6Mma;2A; z(UtW6BB2|*#d2%|k_F1jLoSn@b~P&H;piqaQ1O@}SUvGyviF|W9O2*Gl`(-zTy5^= zpsW7Gt9e+BQn6mca6s)AJx$Kfw0}9)wf@D|H+}SUh^JPGVKmmIy76Q*p*Wx1g|z~D zlu=o2o&3*MW8=6V^ewD>Nz1y&Pi^;xEZ6Ozike~#G=qfv8Ew8?+Lw}KLH2QO1G`>V ziKVOkF{aDmW;I{;=7CCwC9y)$@eYbX(}`1&3ZHp%l#+(;!xetc}U-|i+zEjG3H8mi4B zg)YQ=co&c1LVb2n`*QUf`l@H{(dM0#20@hS_1niiM6mAB?e%8X?x@D*g9XDDY?r6w z6Pfmj=-wpP+T4@-r%os_tDxXZ5;0Mkn%Ei>ug((jVqee+t5)Hc{0ADEyj?xoZZ(cW zugSmHBB%?iaJ?j#I@JPA?)y+i2TM=uPVBa&^Xop*0ud1ys+CFF#&aEbvcCwgqU&KD~2z@+s}7%S5K0< zCUzJ2k5oFJ_|&+V)OqvvZGNkEK=(OSvRD;R_$L$4Mj0~p4=hx$J8Vs))=B}#cR<$> zEi(kX<^~JHXe2P!H`*FI%VIpk=Lh^5=Q<(*;!iHfH}-u-FxgCqWE0BKDt|XKA*_#8 zDIO9&qnz6Rh$K@=4NXf6Ba)HIqaOXmKxwS)C0q?iG(2oxkor+tA^?8!r%y8$@%FNw zrAuThc#DQXO(|3EGN+qZ=~t?-*wGdO8F>t~TL0#Apw z!u@QT{O6~9(8_c-^K6-)jK&pjI={?K{EA8rpmq^q4`D;G*gm(3PT zdwMAv{SG+X*!haN1FI1Q=#a@C<8qQ9Vc;>0tOJ(UZZ3|F?0Rn z2H{-X)AZUU#W6Fsv7J|F^O{BvxK59ni!C&)R%UG2)01k}OiicQ_WM59rutM^c}zW% z0IhVJUjM4CYQ7@a9UAMSho1LGmN$CoAum^A=O}QLkQUb8*ZLzzew?*enY-_J7*D$C z$UN~LKl|CH&&rWF2}7EG=w~sS|MU@!d@XNRwz}Ln+4=9JCD+lP;W&886W9Li%6E%-xt->aCYlEoDW|P)?Q{=HOu!ZM#$xD>~6_WFuSWKJ>E#JlQ_$eK9 zc)v=WU42l%?t>n^-TANH?*ppGlj_s*(Msn{YCK8}@Qw)04WswjX)|64m)obw2Agl_ zE>)9-|Iq96xF=jHf`YkE8fAN#RP>_W;1g5t-7IPkhbdHXJHdQcs7UT=p=6=&G9zo_ zSsLoK-4>uuI0X%zUFw?sK9w>}{P&%=0tv_4<2&6SN)#W|UQN{MTt>xrq8jSLUNcfi z2bztfj^!)iI^O&n{v4s#OQD?#g(oES7A0&GGxkuJ5dG@gxbc<{6YHzICHERSZ1c)7 zjzZ4;Ev~qJX{a50MNMg&u0^vjo|#QRBwFI{T_XQWE{uxf98N0$j?{nFt(lrP%E--R zRqO$1JY@Sb@*39JgVON&RGNc~S&Yq<(cB_4M~@b=(^=W$|H;&AB|(AA+pQToozg!V zU%+Hfzz@~lh*(DYhtImVY~!xT4I{Y60^&x6KbVG+aLWtRFa$GO8s943Qy zjA;UxKGl}MQ)IlhQjg!!>IF&^>E>5G5l;ddKf3oyW?xg(7t)!RbCn8iUF^sP04r_7 zSd8MnEU&v`IOftztm<^cdz!;E#)M++tJ8t*D2$-BmWD}>(M2T544tBeB(5polj^!WW(Wq!THNec=g%skH0AhRF!9Y3E^^Pp-YGH zaatQJ^QZMD6C9Shw%me;P0S%TQqrK7!3t$9gr4uUb5sy45^|B&0>!yo`1S{n5@N+6 z+55Vtz%lDEn%A^SdS(3LT%z){im!vMvVASDD`<=8{uNAk6NAHgAds-s>_X&>-%WpS zXy4UPx20Y?gr?bUZDvw39Kwe2hnkuwSq*%_a#z^bWLq}75sVo9NF98?$Q$LBRC;69 zELe(9%!xvQ=!#x-i)6wSm;zAFWCoShb8OgI_KDLURd+6|IBN6Tn$nuYdh8I0ZMB?s z$msnxsdGBQeJ!W7SReK@1n%T;-`+1xMQvq;Ei|&_65XPj-2x7GH zqUP-`>JxB--;2DYZbY>_8{4c1gi^#}OORxc-Gm$2t#+9q64(k{8jqJr?St^_j|R_1 zk}g-6Nu`jIHWe?8r?t*Eq91!~ETt<}yRauWUqb*mk_C~|g*J+H#C6uv;iZJIg1YB+ z!=pUwP10tQd&L-Z%$3q^I@06)#H5FX{F|m9db8ZmJ1%@Akp(*nwQk(W2G>JwTzKa@ zEaHRiFUsMT%+vCpu>;<{d)G#>^!~j#Og0x=>dXVZp+M;>mV|TfWAeImRSn^q-O2av z@#9Q8x1`(KIZ+;hnF)2LZ5v4yB)DT&JmtgEth*-~shVr+L@R0!S*OXt62=Xm(*V)M z#whWTPbAX%m9^x2KHL)NvVNkH=b_JI-T^-yuv6v&2`;4k>yR-UNf201D;%MRVnO7w zQv1OA8|cqeyIAf`YKVly;!wokPz*_TS+3Gv>-2%|9G4+AC?31AN+TXzdYUyA0O-KB zMw1sXvZD0ELz3N=0z5d&qqJ-fHc9^pX0X9nk7d=C8xXH8BS+WU64bxzerwSKnN3;)6KLJrd&n53oyIDt#mP@ZqDHQo+51Ei**!J*4?=R5|6h0VacrD~N7j<5`F; zePOM243M;9tI60T`8PO$dQ)Y51y#(y>-E}x<4#<@ZAf(@8O77(W*@c&3->c;JST|* za!&oqjzfj)4ugvbd&-Wn(G1nvZr9)O{N0QB z{J$(b{6~uogU`msfUyL^;0{-2NOv)vwx*N9ZSDwtpK|*)l9|=JBk85=W@SR+WL$-9 zbFSj+)+RZW06zuiIjSX@OO=Sp2;S7rTQ09_|ihEEWDRQ=6m zVD(CufUuoorq!Qdce7Gf8Q74pk)e7?hZarl?c^u?@`Ar42B#MB&=BPUA2g=y^bOTn z8Aea1t~Sf>!!|VJU0iSy2M^|ykheb&%1o7_mE&FC4f*l_yxFap3_s=$!LY(iquGM- z%diOfUDS4fUUAVvf{c9PBlG{ALLIL>gs}ZTOuBYjx-bg&J6^BrPsMllpxm3UYLkLT z+&Iil45ItSMm4-!#6L+PpV`#?+qy?}`n~LTBb_EhSMgy*o2uPcgrDq!Ob&icyj2xm zGuK}vG5r6GD6OE_MGS;04I0=ODy70DrBIhz`|_5MSNECu%T7fS&*x3encOfXbg))6 zzc>EN@XK*zifl4HyS#wYFIlwJ+jfnOo)i#E z_G*b;#*tldAh((8zjnZ&EUfw@c2A|dIV!Y9`V%;v;Its*^*TMeulg9SW?UpBAY%Fb;_Eot0Ees5La{dswz^W69QqfF^qdp47& zczn-xcKS0zvg9elsFvNssvFvAf=hD+f2ozdLX16#QIUR=Q`^5Ur^Fuv{}3?ub;`h@ z?09%2(6M0IYvAk@{X?#ceKPKUN&IFRWM@CA9_mXifCiDm78PH-m`5Ot=p*trODth^ zy7=L#LQgaj^xnl&V@Tw#F|mWC$)iQ=KYl*2=Rm%4ST!fAqjhU6MU%r%B< z2?G`)s~6|#@}nRUuWR)}Rc;IEeeDEKCrN84ep{HQ`@JHcJj`vCLS4yi*;r1`sZ8!D zFu(AGU2*V==T|!edhKGuW=SvgRqdzeZ;&D3Hxg_Mkj|3-Rs>R^rNt)dxir({{VcLd zphWG+u1gfC6n1V8jr!v^va)(DxWyBN>p7a5$Xe;AQV}jle2S$0SM0?b;UVlDCe=E& z?CdZ;tFQ-5FNUBcO{QvBeV2$r^KS7D2X_0FdxwrX8xLPF=D65HuAklY#EkvN13eXR z2>y3Vndiu#c8dR6IFdgj?i9fJw^i-QG=Ss*%!>;l9j*Cgs(u0C#k%^P4|euycO>vS z)^J$XOUSG$UWVZo?+S}JHA07QLaAF+ROxo;rpzllDk26$G%sm41*1w|)RiKOIkrIR z^Eh;As2z}y&`1#0}=0aNB0@g@!)`wGZ<}gNrirh>YI_mt@3qib za}|{m=W@U=R;kMQBX%ENvgr8+lG3CKi+N!naK6&|aJ13;P&bXuQ(eB&Hx8`ZpdWHq zJgt5k)1f(0!uVup4D1`YUUsCqoE*p`zY4~<-)O;mJ^P+!7tT#dr7H1=rtporpH{rV*Nv#0=2T34?O2bKtYHY&mn zp4K0*fphPDZ`eP;%5gF=^i=iwFu2% z7A~o1C#^+L5We72m7llEd`CvThnha#Bi_@-@ElOgri%+h(-ls49ekd=c5hAz^W~t@ zSu8Vz;O~-~yk8r&o(T8uKYIaY+-NYoTrbM+-&Y?=mlfNZzDvQZ+ag|S(7+R>a{H3X zW8$gb(>8l{;noYQu;lP=bLPn}tFca-^GR}dE1(^;*6j9xDg<|DqoA?!M;j2j>-+fM z_N8W>o0>|@6CPmiB4A;0>*J&k8FzMA%;P`%C>cDDQ$FnIm)tcjc#sg(l`b7$N6h3< zUA)Gk(pf>lH+nW!$2bPNthC$+jwS@n0H`cQP_9|Le_`T3vtMDBHcxS^>OBBqxN1p> zx(gN66F!akg>a^sf5_YF(Rp7>U<0S z*KwZmi5@>yRU#q8ntF5f&b0bJe8n(W1A%=um{*-VU$G7HHQ_(3MJDyCL?hVIp5+I zz+zhT@=Jy2Utj1sTR2Hk9at2v&Da@xoPwU>=+d(PcYRFeT^=N=ArNp^I0FTP*bw|U z7x_P~2-20O-+%T;+Wh+!zYC8;B=4g&<130Q8}Jpt#em;492cJ0CLTS(a zMrn;AliTT(S`6dOn@pbbo~>|I`>o}}uA-8rUy8L!TatHPzIb!5^Ovlgd^0+}P=)sJ z38elr`P`7}d6swVZZqEe>D2$9wJt`c?(gnEzV6n|FNMLRpJ{Ng5ZC;7Ez_ zq5fv|cZI7QESkc);yl}t2~9OdMYZ|O+^VhB9Y5Ol?yuY5394zMB)=}W!O|D7bH_*A z#54&L54qWcLOAsZx5)SRag)>afm-E!g2VP^C4W6V^^K$H01@)<5wu^$3m2*MVF9+8=B&z2RMf#K@(Z7@NFLf}Q*&#N*0JrtF);khX((Z{ zkbvK3Z}oCJW2`X!9>thdaJd70{5YEH9v-jfsB&w;UJ5lU_Strbtlo-M6F#o@64T;A z^Va3@+*Z293-|5H-J@MT3-~zlCe;<^e&3MXDbD)ingm~UUo-~F-$#$l{EcZhBDIR- z91tsXbnRyB&P1G`CE*ImvPShUpJesazjWh!Q(DtmV`}x=@o!q_v8ejr&Y5l>9kMJK z!=EP1PK?VX<`O$*(-d5^Cey>a0z=gAA%I!IByXg+gisL0pQ!}wJ{0BpG8Oy_@0IRXK5}XCrUtZERiy@U#yiDs z-MaT&_Se~ISnb=X97Oeb)xKukTezN&R^10dhhDi6;m-L>q$!ubx&=<*EpnYQU*upG-;dKQEO~d zgwW`IMdFOepMM(gVXlv?cIi=EmeRQV-u^3MVURXQ`0_T3`-74A{`^AU+O;2J0o$0R_**s3)5yqmBw#DuGd(zF1x`-YZ7*|JO zu_>`L(=)oQo8&fKeiLP;IB}B>k$&fQh^OdpPLmSnbsgjsT*GeVgVA0ANb1nX0#}VM zs7_9Yq>Fqzy{cL_9(loPNBXVMv(J~7KR|BSI()~B^{t7BesC6W68(a|KDU~f!rd2? z-fE_i#Z^eH9?P$0okLS<>PNpK@1?W9+<4thz_L)T-v3=*Vh!rKOo%WFs82vUER z%4Ch}0@lOR@M;&vgaMf5JOZ|JIALUbx&zg1nV<8qy1G~yXem!HcyKsJQTuhwyCc~0 z`Adh#g&aSi69;mqgbP0F^`jLA7V8SjSxnZ=y&{S&2NcK>`VL?9^nwB@u&^vomtL|5 zB^Z5efL@3Cr-HL=xNR^B;oc(}KX(@R>rKubI}?M>wnU7wI!qX!D{0HovJ|8YgED*L zHTluk&S@$nIxy-XDg8|M_|$ck;Uv z=eNY?jjsHfyPNnzbTHk@Q%Lao7!)Jp^n__PM=@4eBlve`wRn#oEp;~~IQY}^2bEB! z#S6z!-4aMr&U@g6F1usF*g%&(7NP1|HlIheia)+79aFp$GW|Hx%3f&j;9uvQd-%#f zUE;m6FNOJAsz{yo`@HAR@7|kRr!S}@pNY^q(Y}v5L$QZ>wd2Twu{wS8&WMRk&FQ=v zaqW?*oyH!5BJbThzj^@48hox25{tCQl?m6C82wIE5*_jdRW-j>X`$Lb)W91>fVYfg zTd*~0#Id;ic_p^M*LLQ|TLHQG9 zt2>1%zgc06XGajb-?i_p5u4|KS1^dP?=c~+r$2T|Wm7M_cxI$V1#PK*Ps8p5VXECd z6oKqTNJmh6akno!#Hw{3vaT9SGCtkIjG2s!H3tdcRnn!}-7PYIsH(c*C-_OFw8--D zQ>pvVY3~mG)(ceTQH>Ia=%a_hH*l;!y->D28#*0k9CNum2)Sss{~t?&qi<7i5anNi z{r&(OOn(P#;Rm{5R^KBUOx+fLCXSSRRA%IBDN-h$ACHguNf!5iJnP&1?{as@UgQCn z?g~}z!YSSsEg%GL0AYY@xZ^qSR_N@4AWMO_aFlA1N1eCPcXu~9THWTql{elLz+iSL zOkcPyd(zc20J*t>TtJrJnNlajsxW(NOeYm@=}je~b7I{Yiw+uzd?VU;yEwe0h8#InAEzro0e=imapY^PT?5Fkl7lB~3&M5za-QNv!5LJLJ1 ztdH(;qg-hrI@4|;HPHJc!Iy~y49dG6M6wd|KFC#^`-u7I#68V=*7IU-7Q@Q~Q<+9) z--6czrTg&CXUXq5bE0*(&=PV|!mp0Tq@~@U%c5^A)?d)jvvXTjEoQt6Kct*tZ|r}h zggVxhwGa7^1;M1*3}0G?&a#x@-MgQf0(LrCw+{)S?j-s`qFg~NB6mIcik0~=Ld2RH z40+|9jRECUYOauph4h*O)(i63$IT8@dV?SO5EE>;xjv9K`_H17gtQ;$9eN$kF8gFA z{s?<=6Z<~Y9e=1v^bCW7`>us;fUq@n;?Ad}mBZLVCR5cCo2!Okp1U9rd4nsfSS>Cm z+i*Jk3(WdwcYZTT_0MXX*7hItg^hY8G`G>oJ;*wuz9}*HA(XyNe9059GyVvNVhC|A zH9hX2_%X3A#b&OdsJgrKIJb$fVo$a`lex}jILzPVzeQ5@ba;F@pqTmG)x&g8PV>f?MjFSTOV2bs<#*kzD9{+Zux@M z{hW`yy7~c+qHQ&?H=XIYUpiye%1z9-tOO>fT4gKXF_wRzUP8B)DzJ)q<61w3to$w) z9^4}C81UR1c16dW)l_Q0X@`X@IYEhYASeg2Yi)9zHIg+T;Ml%oN@^XiAo9Ur?alkP^_*h7eQEJ zR(36R-oNNyvm6cm{K)jSB92JP4V{paQq|%kIF&`(en| z(h?$wfOH8;H_}K*w}jFqAdPf)NFya7-7VekwGhwooV}m(oag)abN}{Ud#(Gr=A2`W zIp(-yhTNPxu@5PK?1gVsbO>YOtI3IJq9ds$bOPIoP;!Aouu(PsNd;nFy;%m`A_5)( zzYvbQ}zk@rqja1`?1#ht?8w^ zdts6J^HhoJThS&S{54Qt>PhbdOm_5h_Bq~y|JvHxzEiDqh9aZDG+!LKfpWuW2 zq`VebQHxU1LP0&vpt;XXAOrRqA3yeglDT(qP`endj)RK}HFc}50-j|Hz=(u`0<1NH z^RWj$Kw#Sr>Zj9I2YY=Btg}y@ay0|(*849n%okA+mU=`b5Ks59HQn&5G&?@GV_$kRYuxXb`!UHg*<6hXXo_oQ1#(R0~H%5BKoNQUNsiciCBN%*Ozij&I z(g8xsZF=nE`~3NHq5XbQs0og4Y(&J*>8p!r_p^yx ziU8a77kf!p8(^Q!&K2Q0^)2xC^t@TUldBb+qp}HVXN#DDk$%Umfkm?ljdzo5JD!{A z$PgSUi*~PPg^b8>;^jP=#uE`2-|5|_ElhbPaI$4N7Q+RW4B8G?M&)b;uYxgEfJjiWs#cSY#}-n5Lkl1g0#D;9v1%17;uKFW+mx&l8qeJ7nAa8#-iQprc3J zwq(WnKKk>q5?mQ|%K^}+88VLSH@*T!F?nsF+LPs6nYoJrKd|4KAhM_m*!7b)6`W90 zV}S>12P`t6>!-q3CwSc7D%0naQS*b~sv($-vEp0U;L58Ctz zEsqz3Uw?hKgjP>rAyxd6*Kv?IgaRXv0GQs@Kx=p{9utXG8}?_bOvFmBTl7^^|60Kd zv-%w?KhENwLA%$`Cb>!XByfid>Q2{y>C|@J*_J;pJz3>uv#YS{IWYC(cG%K@kOUio z6=LC<^_+q_5+3vTfma(~Ay-bW2TNFL3>c*4#O(3lTUXZ9)lqnahK6btfIlo06syT< z;HnWD8w(awfj$FnJ?)Ow!h$265g;hs>o! zy`>kqtZ56(^Qn9Z@l7B(tQuIHM6FM#>OXW(#AMmnBUBTvL-JR}PIuYmoECUA)Zi^CtlVa~IHJ!`OMe!l-5 z)HLW)Cgqa?$o}>;rN@)Zv&|e3s8}yKsf8&azk5#8iEk~p1L1N_UK_u17Op4rxNbVv zk`Ffl3bWs`rMrDwwT38=;L$nh(61cHI~{kNDv1|Cy&FWJ#h8R%Ll7Lw{Hhw)Gr*h?-fE92(m9Kxm$b|Y&5yUA{SqmQmbcyxV?Jv}q6@K(q= z_WAkFqz(9bFfgfI>$`F&(UcOmcP`l7e>K8O7_-h9qhz0*%{qHslgMmn0RhwUK8rYz zy2j;rE5Z+cPNsW%5A5<^?NCDf!Q8LTrbnGDU%t%fG=RNlHP@2l+Te|Xo35DMs+XOW zb(YHU_H z(ERV1_u`?e&`5r3mE9|gasZwFOq+@ZoEwf@8*qUnyyRZ`_iMIVwDrQad=pbA*b>br zYg|TqdFqPQ>L}wG7QZD{0R**@zk6hh6p>d5i471OplsMD!=DHxXUv1S#V%xOumJ&F z20ssGAw0j+e%5B2S^3oA7c6ApF9hta%*-}{yCZOjOCQv(96wBS-trF$asmD?@<|Vb zOh%X^JNMg2EjFg>-N6Df7BG`yyZR2bx8h-)C{uS?P90sJn3%YO^Vmp35PLx0_07u0 zNI@?g(QwyM*)6s&-zR_kV2$k5*kL>xdUiL9 z+wru6eE*Lhz}oY`$+dk7E+<3$QuvBS`wOBAE~efBBen?V@ma|9rw}FL3nbWnQ61;KmlsGU+UM&TaEP@RcVwue#4g!4W;axa z8y?z5)u%g0os_|hh`D~kBR@DR{F2Sgf4O^l0fBY8YZ1J&Lc;)l5BRHY(y?*O zb;d*Kp{SyAL`wPHs-(PJyUMl`eC}rTS8VJ`v9qK4F$+`E+?>ddJxjp+;cOLY&i~F%0C{MPe$F588AK8?| zx`etb0oSXZo*v+CVO{A0oK}JDM*Sidu$nwjq0|?kFN#d`p8*eOb90KAP+n~RS%`@> z@RNBjo$=lD@bEBNI>RN3CN=*nco2F;ccZ?Ba5WUGzTd9jj)|lZ*qqFpPquo9P`U2@Y!yPw*jZ4sQ!%YT>M~n_hi7! z9Su0GfD$lW8aw?HTV$e64VYFr2-!#`kFEphhhp|dP#`_^DMLo_haSmf^Sph!)+;$$RFQA zY`JaneooiFFR%<4WVTCoyAys6cvAOsGLy?UezeOQ6XU}dYirv%OMj#d3?TmGZLr1% zu5uF??(XiFL}{bzpgOP4des1g6#Xz{I_auudA!?juiydL@dSV7i5F+#5uOPG36J{{ zrR3YSFJakcjo4P67Qr!a-L?A#Z>0oje0R`zFx~B|s4|Y@`b@|lAJxIQe~nH5K*$<- z^);kcOiaYe<4)Lovuk~!eB3-Mcsg-Kbkx*84Q@K528%J_aCnCQNSg|_?aqU*Fp_6^ zZvVXxtM5TzYv4eSol%pPs8Ah)#5i`%wp0!FEuU80om@ii`WL)5>6bnD)rY2e_O#OO z1+V2p;u0w4aT{o!`FC7^6T3@A)nK1iRJ5xWYBjm|<{mb7_}%}8Ffo63gG@nfAbEQC zo&^O5N5AB8w7eXzdO(mgo@$-&2PMP;tK&Ud<^xgrflWerp1MjsmECpi7c7TG2{DS7 zzVz)=^#*zm{X$plsZ*x`<^2{Bi^87z>~GDU&S!8Hu0J0-6!`E9focQnnT`$) z%*@QDfR|3+gPFZP;quKX3j9{Id4Io-Rjg*G3td&VQQ-n8?=mXPa`7Zwbz$p{Ei53e zKRm{rtVLa`%2mcApk~2n4;5&hZ4M8A`{IjtOtWIJnYdJK5N=2zTifff`$W6-m&=l& zZ7Tz#)8<9dW&(;~8ZIeI0W|2O(+*nsONX6s`Dd@IJy72Cf_aapL>nd%@%q5D%7O@) z4obQbBXEiWR#r;So_zrZVM$N2e>knPOaucf(CtqJA<%Q}pm9BAP<*EFVpSFqv*l~l zo0Z#AKH5$;u;NL2yN*hH5me}YkH(1v?QvPpvl;nMzU~Pa*Hz6(iTJ+je!<7bZ^bKo zOGJ#E3`tc_XtxEI(sdu(C! z1LpL8kv~PRu-{7$ESBD#e*6B}*rwF^fC)}?aO*tJte`J|U_StPYG9E^v-*Q)CIvt8 zQ!iFb=ZQZ^Q1Bpp)}akYU?39%!*}4n0*5772%!9g;pWv@{gr^l55dSz_=h>eUkx}M z3f@D1ZPq%!9cqrse3Xh#(HO3_HnWD`9hqBqUCMttxjYNnr+GtJNV&Hh3?AnL)IR4% zZQHZeW15i1J@H8YHDbe0N=$NIR05o z*8#H|GgH%&skn#;4x1&}qx`Vz|9MxHB@B}apwx9a$8jskLWSNfb`4~PuKXm>m<)b? zw&Q@d(SF{UjND$sYj7%h%&>4^ly9z8WU{=D#9|0&&RLeT=17O$Cvil#n&z?nvLZnZ zuK;ero4|Ai0O~iO;R0zB&>E(d(iywE)}bX{ljx zfxuC1=e)iHT@;^tv!$3|h_9)!Usl|lG6;LhoFn$?Ae3#odu-TRd>gr$%L`0&5Pi|= zmjeCr|2fAvCO^{1_v%LFAAw|;tOL{pZs5$;^K1SPtllu8qJ>Aln{Q8;-I?v^0IXG0 zmu_}j8Fji=8;WFBlN3gYZY*8ZlwKKu*=Hx4)_j>NI!Rtm5g|4nHvnv*4>0wbHXNF* zaeSzfZ32JKNcL4lRa{r1O3Fj6#0$hqdBG9_BAAYu#jR3X4KUj~aU_AjOjSO^x-bO% z)#JvuaJ}i;!pxch2xwH7{pq-OPw@i#(!Pen>pnyuY@1<6(QxXXP82$xfrI$@HwF=x z<(_+4Xv<7EE=kqSE2M~uQoIm)+2lTT=;hVF8nf}R7@q+0ESw(ZDz8$a^-v#>yAUy1 zta+*^^IO+cEP3zY8rrtf8YBnu>5P)#;a+HMI0)}h;K?8Q zI|mHb3PePL9MIyfmPw$EcRK^In#`Y43GlxJp=jTiw;Es;mf<`aJ&5nuF^rl?Gn_gd zy>7pFE97dF*?vCTX~j_~gJh&RrL{1Ds7kUR-Jn0GIsf!^&)LZ$1SD-64{@H~!`!u! z5X$z!j5kM`yxc~+d(HRzsQ8GdG>*_bOtRX`1;Vw0k08#~gy(5tcs|RuGi+70*(sYA zM`qc_$5}MHX!}p3LO$-wdY7{mlz>b6?q)>1=FO_n0P^O^OECBpV{O+D)jhG^U!|$4 zK{1jEf8npf0#XXS*Qlx>Mc_-fipTA!n@;QNs3z_cW|c9r_m4vOnCOwR&&{6*U=PT( z!4O&E$tM?7cn~PMc4B&C*i>d_7@uz;c zyl_9BPs4`j)Gz%d2F+W3eLVmqQoqGV@7lAk`zu{$yr zRAC?Nz6bI1RqjCS(-iq5r(92)`5`&@K0Z=1V7%9Bd2DH5pfkceyI82Cua2$AHt$WN zq??X7eoq#6%A8$2ko$RUR8e)^;TqUS`cN)6%`FLNDFviP=oKG&2_OQJg#?Bt-=Fb1>Jc`1@7JPw+l8|wzO|ogi%)YcVgk2LQj~k zb|yx@Nk381wxxZ%NO z>KrG8fF_S*8wQ9m5U%bD3d8g{iyqs_mrf5^Xw~K97LFUU`3_E-j7QEJX0{*0ze)Ld zM!3hWFILc!Ht8b>rbp&YK6Z&TdQPgA7VeO8d5V>-(x;j9Mf_TLo%4@raUlPam)GdX z)nvtN@BfE+aY`M9$*A5Ge@Xeoc61lJ`vc|NhtqYbDubSZNi_{zFdC@u$S+c?!My%S|^ST=`f5Tk+ZMVoY!Oor_c5RYhi1$Ol>56BNA7hd=q0_#+^uA1{TG{5&$U$h$o6>0}*3J$X&dC z7lsTRW0-$B?w@jp?4+)YH0msb4*v?Ng z4*4r*mz%$||JuOlH(HziRB1zc^)u!{^E>~#oi%6()RIg<&aBk5c9J}nQ^OX5At}QU z=IFVyEz8SZ}jot&gPCP9;iZ9Dhp+ zi?jijN3lI3U2&G?gvE?S1L$ci;g8r6ugC)zFK^YUIJs^Pmvh(?ntd*g-TcB-8ME=D zKFC$)wQM;>UFw9tUlrtUro;|5-}e~*wR@?Vtc?y~l3L^umWQKCt_}qgmi+!fPYlxJ z;nbo5Vq?zZb#1G&O-S-Le?*0P~X(I`VhX`;1DYYHt7=@f2QGU~{)1qXIc}1=if)(Y$NUFA8zoi^7 z*Ugd;d3y+7vu-mGDqJ^9YQar<%&!|9LZ13y7pbzt&P}k46q`wc%f}X9Gl%Ru`Q5?% z$vOEmL@0B+7V-PTR3<8M85qXur$6j(hvqT^twp-xz#{$A61dLgr>j!11MWD3lKO9z z&ZD@Vi_`PaZSp$yJNBp)ynO_nK0Cj8@0|o@msMIfYOe5grRP9+b#+;OfAt6X>(_67 zK8BVEyD=5-p~$gSDHm)UpVsg<5}32?=dNcy`GB8T*UTh)3~mh&=XJlK6PfJ^O~=Nb zx^<(M>%f1KBw^3ZZSFlU_~^Px8B&7R95r98Z^s`3YLG{!h@eq$Y_t$e{OET_8a}{W z7|;x*B?*g^F6&Y*)sB4{g0rE05{wsb%n`A}(XR8+0=w)#IRB}fU5!?$`^^w43N_;6 z-ow8Pf>%a0YW$w(>EXE2D5)(ho5s%@ScVXaQ`q#)OCBV!@a1c%-hUwt%f-xtb{`LO#P!qe54{RY3ROrGiy`gT zcnhL_&0gaIB=(1Mcm}>Yek+I3Os9E#FDYxE>b|=Fy*eXe3`z1qjkR^bqox908tR{% zH^(!uZN!?`b4Ub&4yXIE-e{v#d18gt=5zcx@dLjj*S~yA>I;61Q;9#S@`ZZ z8vwo0wl=Y500}TvOR%<23v}sICdnZp)ZvhoplKYZ+BzV)%2xWU#0ap2U&leW;g=_w zk(~y{yXu{{urC5?ox|gUiaCsMNCIAV73#nkjJo$H{?>pU2FhE*iVK9fU`B<|-nyW_ z?aE0Yb^AQF{?E$7MP>P9WTC=W@-b~{mw%Q`PEO9Z^#dTAXSftpj#;Pr0;~1*mu{-Q zakd%!`jNa}IBI@1bC%{@gzw)92tnuV^QoDEfG-FP;=a=Id=chCE=F{6u>f~BsYC0B zU&Bo;ya@P~8J-Xf1WVi#xNK}-{N2$l7Pd3>wO~dGC7Qg&u;H@Ho$WZd{TXhN7)p#= z@98oa(7)a*9xQG$ZjVBe7H%!c+^P{aOSRy!fc9Dozdu>CIYXwStNHYxe|^(mDZm>( z_l4J6IPsYBR5!MfX#E6~%`!2l@Iy{Q0&?nSUY~B_#H6n>@X5RpPO+2l{TR=-)T?e=G6Yy$8krVc~CW zmg98|XsvD7Uq?Wvu4lW#)kU8X2+3!uWCy4ug9WbRKwfM7YHLkM4#Ofi-G8Dv3*&%pPR{i8p0hlwFW;-S= zkWt^mcf_%@TqXJ22^XM{_~ZXOQI`)AuMJ|3vhKV@Y|mj!7n=L!eGZOWWXx6Ps87I6 zL)r;2Glo2bnMP)g|5ZNtYv;<`)e{JUJoak_J673;x&+v2ywRXBzb8lAS8N ztHVo}wFe>-2R-jL**2#mE?%fdHbzU)`aL1L%(9nGQuo%jk`NQ)@x1Ba`*b*FhgARp zdlMMew@8_)CeiirQKbu0iF<1Y&u$xow+iZ~_NL!&K1XvuMmp+!w?jem1n z1smEaX&6u>L-`{o%te(6aBy#9S8JEzL*YM79!xvAt~`2DP!NFsB_tlhdQ&HDDseH} zRd2=}TfbkY|9=EPCF=hG*#GCL{S*3f2R22;LZi_8C>X89FJpx%t!FKeo+Q6QQtX}e zpg|F-L<(?+~>U}b$^Bm#eGS!p$|9cAxPq^@wxOJBvo^z5Iczy z7(Y=0Fxnm*>NgaqkR~T+f*Co;$(N8oEHk&GYitDE(>M9%c1c@D@;cV0h_taSDVKgB zlFo2dT3PEbAN z0)EBLeCO1=vUmhc*mtXH4<}^eVxpq)mDM*FpZ@C|rl+QUbQAGQLC-@mFyQa0Z4Np( z{l`%@>$ylu{--*M@85xGfBz42c>@k0i{-eFO#*sN1iR|6gF9N>&97wA!$KQ9RdbO& z#&8i~IOENnm~4(hRC2oM0$IYD(my)R0@R4HwaHd>vE+X}dmx_Q0v?FJh1*+NGNah+ zLfwbu+y5-&?QC=%f9=Di0nc{}yE5^+>By=r#|POwUztdmBGdODK*S?tlhZt+a>A`fS1-GgD>#OLEzVVOf zhvq1$xW2+w{P}%(Qw8%V{(c%c|B!4e9vfw8Lb=X22-g&q0=*Fj$S($lbCY~VMC8Gf z8e)=xH>fK26%=>L$QI-iM&?gkDh$J}b4BM3$X|;;+!B{YJ>0OOGv)$<#`BXfv@5gCjxC~ zryS>1tI=J#>{c${HL}M^>YkKZ_=NYJy~U`j;=wC93Krp?s9&EqR;6%Weo z2?5_O^;K#7p^P9qZJ7Oo9$@5g;I&}yHVZa`b@FOdKLt+r)( zDz)Gd878?kUHR0zTxME2k)6lR%BooUT~Ca}a&D8JKJ%q7-d`~Zt4M16Em+s`#B?d-4 zDujQ=&P+Br$mFkX>b4!x@GzKv0O(Ik1p$iB_jt$1SDY{ZwlZ{n4Rm);UjPj<`Qxy! z+izd89|=B?*lO+4_45<_t@kEx_;6pf6qS^x$+V1KOAB8; z*w;Wn@Li|(kP_tS-Q?jaXRgE?qSuB*kQPxUIC<}LM-VV*HeC?->~oxmG%&oQt_2@R}uEPXt000$M^>mDQT19HXm-@2j}mZl)z-j03B-sf7J@ zEiGf(-R(hEM~YSNtHX?Z5Io=&!H&ne-(NPZLed`m*A?5gHiWD(03TXRj?d;#mct`p zDQ88i_{o0wbT?a;oh3VSM$i;VVP>ox>Yw$ROS3$v_|g^*?|n?md_96{ns~tbZPnKB z3vln;qwy9Sx-&dHyn5giC7q#!>OO2&iOInM!Q~PnHkViW91Lz+bmp(BrBa?L|+;3^G{TR9bjPt$0240y}nK)vi))dJTEokCKyz-mRkoBzaJ| zOm4Ot{|^oKNzXsx0G&J_iYYu6*T-0?8gIxyj;U3EC}+YuuBHx!eO+C9O&0!KW|MJUpdwSo0q-ICOvD)Pz5HriO8;+nSial{EL>2^e`flv z1%N>G^zP}ut5*4D_s{V*8-;Cfz-BvWZy_MixjF1Ts$)bGNN)(h|8B%RH%>xQXo#Wp z2FA?nCP=LBsRD&oUPTF^xy7I$4tWj58({ild1=MUq ztz%K*qN%gvKy!KsuVurfqb1;>mS z)xR)d(sIG(Io(M%}04i%j!$6riPu> z3d$xxApv6|%Fd8=f%NM_^3(FBh+iOH@3C2P7#qjW9`AN^KGKN40ZZZ%xV?N$PsN^y zZ$V^nfOrDB0S)kZt#t}mx(?mq;o)(6V=D|L*~D%D;L0dI{_M%}?yyR)!OGKI4gVG~ zDevv5J(dTTczxPU?2?1H&2%(2@P_{RWoin_su$xC3CnfW8^~v&D<}N{k8zDKuEF1L z(r%zMDh9AI)eZuYb*@Ev2uppw8pnNuMuiSY5%Ou>;kKf$n4^Q+V6%^foS-Q`9namN z0dV?#mv6s(qyJH=Q=-(yk`H8OpZ>4JnouAhgk+*;=0g)6>rjD?`xUl}t9Z=l><+5| zMVm4-KnA2j8or?-3xC)htNRkC7>Ko%YeoA@!7zCiQ)JC%ZZ0P#W`4~-{;vaWKTFgXxpR)JQ}`{v{%aYuaY}tU8parEJf@#<&GD%l9v(Zeg^JYc9OuZKdARPCFw(*56yO=}NT9u)jX z#vJXcB0izf!~GnNn7G2a6^z0cpx;;D2bfxnb&mYx(?#t*q`j3i^w|Cf|3HSvfcb`e7hZg>HfoP*abB zb!h&CC*W;t!^VI@&tfW8Ei@yIh*WqskKP_C`2=%r4run2{8ePa2jG{rR#W`q114c& zX{)9TO7QTN%(S$e7DWPS$O!QH*;MYk=z$mz1}_u`PcjsN z0Lr0Y(curyoFX?1xlcIsDydc=)MQO|0?F;p?OWe@tWajul$6A>1+t_{HU;!I@nY>= zhO2sP6>`Y&Z}Di*Q0FOco|zaa8S~`y8=GVXQW-x|$ecsmlEK$_s9=Eh!reWL?$vPB zLM(j#w)SpsXQjniigg9=vSSDty9&Q;Lz9o6|68fC;6wC#WRemDhEoj;&jzp((hAez zwD3x}AYL$)t3H%{lU9oxa?jWcZN6deA$qqXqD_IqyQ08;y?mW2!N7*KyE|4pq49bg z?~9@CoER^%Teu6w_YYEc+uWYD!ohgmt0$ERynW0f<;&4m5ZcG@-0#vCW8ra@^M&SJ z$Tn*@0WXfoOL|UKQ=It z-FMcF!1H7~wmYp?8N?~ZG)mxkKI!sNtZ(IL?!8tB$K|VsVq#^1(;3%#yn(xnO-(+k z)dc(rMRO~D?D}Bq*jxMY7qS?8eT4@jYq}e(Z|A?f(Z3b(u|Z~K>rQ>Ng<8bkeElAV z(>yiZlioqyNawa*bcbC_oGL(558&!S2meE_UX@BoK_J<9(ix?huWO3Kvb;zh;=RYQ zli`gQpw7*A z;Dqjee+Yt!#$VL+K?LL8A`h663#IqNE(srz9#SmqrNcz41z(*BcPE9$Ee(H7c}jH$ zAtgngdx`Q}vJ<89qE0qyxom6MQ$gP$LuBl#>d(?&%nshl$yk5382uPfdwJe{Jaqdf z6=g~_a9((E>laO8oV@R3U_ix+Nyr)-DCA7dM;spR$>YmSxo%IL4ZBo2crhUPHY1Py z>B^Q`@B^ERl)k0SD#y}6rH!FJchh2OUcrYeTcAu3v|p+~V z6I2+*r2}>mUdZFUcX|bpnt8SP!Zao`sjC7H0m8H0t~n}rANSj**$!-*J9m)-32xIN zQaAF93;1?Z?mR&W`M_AWLgbIo=!gAiYzq<2`Wu??lkPg}Pu)uB=;r*?uOGfKElkc^ zW$5e#W+ISV*l%Z>^MvG@i^#1IS76W|1@vDfaZ{X?Cp@UygZ22)>{*3w`f}5%qwf07 z7xPV^7MOLjA>LZr*6oCJHNt$$RNpY&uQ=5SD3vUP%hxK7$vkrH##&yyeH*6Q{sWU- zoZbktY&xvSy7$aWkW^G;n}hh6M0F0NW}YklNV4wo_+IlCb`0rSHz zh9W#{?HN<5??X$S&dYiz$wb)=?-5icXZKGP#Mhp5ZfqpgGvCXw=OA3&$*$E-9O!Fp zetdoC@<=zIYs6y#Zq9an=tmNLab^iyPO#fOQ6|Du@aP3=^rCJC!RM*~2pI$yZg6;ryOUpyrV+rTwuoJi+42|s1S_#Q%il~U# zsgWn9bRL>J&9?i0SLuEKA>eJJ9LOlhp%?@uT%Z#ezIk{8MHZBE^F<~xm4hV=pX7jh zOT&P|%2G@r5AJULoYAvZ@}F;GC&=epnzWTDzX~QrhuJN~FntR6Gow>LGx`hi>tl|) z&ml{(v<;J7J=q+w93>qdq37~w1Q#KLf&|RB6D!Bqx|=PUsAKJPQi?dn{&0O}m9W<=5SE5oRDSEMzeyMR4DsP1P=p{sei{?cAa6kwuN5 zjde6;+~j@kl={F-*_AE%7vRIen7(Tf$G>I#%Ps5|T3~%yIs?3kKC*LTo6?fB6ZKez z6uO{X{P@p6p%sxue=l8PLT|fA@_te81%nVkP)&<$oSDRd?0-77@QTQTj)B zXn~{z;@rH|WliPS7y4+{)|tkes-WkFz#10-v%&-4`4*Y5s#-a%Ps4rXi(|F9Rvst5 zz~KR99N91*HK-S$DsYGVniYJ1*DWiX6w>V56E%_t=t+rSPpO^Y!`|C_lIMFQAs_#% zG!K@MHxQsVF;zk|2XGh=sf?$LAl=VL`G}DZK~j_7dkBDk3bsaF1noCD@W0l=4GPqU z6yEF0*&2Y&RQbD$&+_NR*JcV0M?(}3*$bI7Vv(}#K#~|AfX6{?R-(`g2G0gK3De&aPMxJT}A)o<= zl@c|5amLoMB4BCI^Ko_o<5679{Gd7W*LF1_w}~aJkQAc(L};2+$7-u8y+6)vdwZuy zLq8}A&>KOsb=v%CLrmg_p-4f-7EHW&zhXl`}auZRdXg_%FcRd%oxog zDi>TtjRT4@Q1h4OFuggg43bfRSnieWBs}H1+tpeum^&o$(iGF`UMjxSp$KW$;c2b< zo#&*4m*>rrNTqAjp7)Vm$hmN0hASLtjWjH#@x3tyr^#Kd%tEluRVS(-}5!#F`i z!>ISaIs~_0nq`J=)j*Pu3X@sk)L%H06a$NLVCENGdtRIxqSu(nkz?$$%?wXQ!4L@D{)KdD1#2mYiTy&`PxhAd`VxVJ*$WA6Y7%mR z?efw81Ac`m<7rwstc<#T*k4LTQNh*NLRK&KTM-8^@-!wQy7n6jZ{WDk?#hoz$*rPR z+T@8q#DxmGeGhqtjKjS}xL`IbdoB<&T$Lz@C?yGpgD5Oct3p@#aPiyAPkK6*->@IU zHR*dHn1K#;sNvo(XQjrC314scjmg*f$ESLywz3JR^o=S^_1?7~{I2kY;~2NXuv#X! zi0BC}IgTwyP7Zco7`avIeLhC4sOJ~ZTRGm+Lx~x^O-=2@d3_vyQV@E1&~K(^HkW)$ z3`C=o6VaodWGOG6aD6{_{G^+y!SGotcK*e^JmI;F!ky1M^$tbJ`+FzVHr#|C89{kS zoj_gy-9{anlk5tjyhi4UG)Ku6m95y>H_#wY@|We0(y% zbeuS@f4cP=P&%ZObXwyGcpF@ha#ArTbkiPM~N-yct2vNL$OX}r7LR-e&b2Ud~XbR72 z)c++umY4m@B}Sgo@LF?Kjq=K1oaDft5Mjq-=)neE!}BP^i8Z*mDB$D!M+Rp+7SaX} zGZ_Bgi*+iGxm1SKWA-|#b$?GqEDQ(=S)Nefot1-*j)yLSy-7TTNv;GkG1QD}MSW|l z%N(rYFbzFtk7SgIli9@D>|3Uq5S}T7Xo-eRl6X;6pNS3{?|)dwa!oAB*^mZk2V7x* zb~F*;QKu3}3jC1gg_oK#n}h$Ca?O(S_;1Sf?oqth5MP`}*?~mGX%irg^MKHTWM_l+sXdWBodSd$_o2b9@$bA_L9SV%> zM4xMDvf~8y6_fp+(Q;aL??_S2MOk<2&a>9h>5E}LY|(ZHLK$z2UMS>a z`IR5`?>FVr7lxMDh2x1VGl2A!NIy23jA;X2;QRY3_BQm;-RE`ti>vm7hd5u;b|?>ZhQ=Yl|lD>z%{|+PJC36^s&txF8b&(|@sIddX> ze*}tKE_wR_q+G-d&UG&;wevXI?5T^g+-)<9x>7%u9^yfJZ0up(|JY-Xori=Oa}5sO zGs2XX?iTlf?d)t(jg$&hQQbMPid7W7YnXOs2de=gdl{0)OpSnmxVFJQ#_;EWmcDN67Ad%C(9 z>p@zlLaQ3M(;KUGlGb;Nw!8_FQfX7fv2wHG^9UC@7hQ~=7?JyH550AV4Y-Dk zm3C>o9znNRnxVXUgR0FZ-Z2q!tX-tOJlZ0R0MV#TcsJX8ozaY3hx00NYnJF}oGnjH(_h1-X`qgrGzSPX9Y|5lQ><`*6V z@4kIoq9D@E##V$#y4&p7ThV9yHKB@R)BcVKV;V=2{wi`a`^~lY*kQlK&(PT(1tMf5 z^-U*ysq9y>I*4d(Idb3K)C!S%(4#sS?{iUjmlIZatX`Abd&5^LfhH`$%qXe}u=%8Y2$xJH2il zX4|(jQw7>pwN?Xt!g)QT>p?{cUTF*NKafeoIRS{ct`F2sQojlxNzqShX7zXYOiwk< zKy^j{=48%m*UsDb*^IS)Eef_jb0Sh@f+lq82hw{$;Lv8R9BWj-%9gI zvl$!Ow^A3~BVu>hJb8W{*Jusj`tI=OCy7^WgJ>9E{m`0e9?N)1?kdSjG$u@^+Jeyz zqQR8(2J5G>n`_*OWN#==70k_2|H*)ZmT2r@Hv^fQ4^J@rC!nEEi6gviAu#9OYW}Ph zL5}8L4k2B@ww*YbMm#IGiW2Nt?u5&ocMce7HzHWl;CSwGF{Pb=%Wj~N)$(X(47yvL zNcQW|z1#Y`%ew_=lGfdXSQXH}2GD3Y>*~Q9@-@n>Y!RZ#2+NQE_1fN%1Ww;d6-yQQ^mnn=c{1S%|}qQ59EJ6 zacEQL+yVBwx`5hD$;pwLAqrskD(XjY!@A7<2Zcr#I(l)MF+oarasC_K@Ji$9R|Tu# ztqu&G?Djr3z@?@Rx{5to(cM%ad7mQ1{t)XS{Eyhz?0;>dFQ`LEguw8JUUJb`;}L=@LzHfcOANXv94Ep8MG;;r*O6ML_bEH%Vd+m*1<^- zSgQfzo;5~>76)|nVg`=D2nsk{^!3TpMZR#3mNcY!0keILW{p*^LuE@tquP*_5f8v^ zU0o5L(MPV3t8%nG6U%Q(rf98C(>W!x`ln2CxTf>@3mspZ53@u;S)u#4?WESj46orf z_3TaT-M!{OZ^JD2ehAd80`h~FHdKJ$U2k)g(QFa0#s*mLD^XQqP=oII+gf>nz&@zY zFJqWwTSHtI^rI#0h{vR_+g)1DUj-jS#E@=oE-c9+A083P7=nP9S+9&2T?&o0$B>l8 zr-a97OVw%dqr#~=OX=Rba$3&R4vqRV1ZdybfJEj*@~a>CUI~YEi!yY>)TXr^>As=P zKLE)GsR|FxPXTBjC3KY8Wbx44vmIUJ2TqT>o8o0Y1%ys+TG$|=6B9C8&2V&s8jo?! z*Zq&}^Gv6`x1b&B7b9R8^~vtJrpCS3IEKC6zT)MDH8JbF;lY&%Qb<8lzpt=HAfSG}squzii6N`COycfPMEu`xkhb15N^5oaazN4DjuLa^2!! z9X4Eb=NLx$HSjgq{o(vH=LX|nx^P;Ur##+XzX^g>-N_|+*!HJE{w=U7s)hi26n`vu zwg>6(a@j&H%>OfoH-7L+6J!50ktH5ZA(y~12#~g)DaLhpQ&%hghVyRfc^Xg>CYt%t z*&$#n8+$Zpx0}!Gh{+(>EscK4I@yHdAm66u(&>Lsv{2qs$q8!wAjP~!IrZAqTImaS z;;(DObj_L=*gOzWjn~$|)G@%idRkfC+RGG0eW&% zH_m0FkkT-ifsFQLCFm&G>-5&3y^cM;v>f2?(Hn~iR?K(p!84s##Dh%M#6c&=FuiRC{dte5bQ*b)8IBJo=ba1%$! z4!)jRM!XTOx6i(%IoCf>aIG%8REM&nZ2lYfYrG!j0a)0<{fjFrevX7mbsI*&K9=dh zgIIRBXPHf%k5`t&JG#W05H>iTYxI|}eL83r2tD7K7Zr$e=K`Nu%|q~BGe1k4(7!)h zyP+Rt3Mmv7Tjux`7L-zMzGmz@4&(WKzJCc%#PqUC6RN1t8KmuwN5R5MiPLWPH|=J5 z$gi`pg*>Vi3k0!GEOFEI2R4O>>5CscaN)jM)3i8o*eBnSwp{4QXBl@!8-Sw04cK4T zRo(i6ALwD7w;$zkE2k?4kq4&Jmb|)cyJxL2?w{U#tco@7`3%$2iNFH0f!XL-twwX0 zWw_4b$>#Aw$87H2r}X@gIQdA>b^brz-a0JGc553SP(VS!1SM5aq*0V^M5IN!Q@U#i z2}ME?5RfkE?rsq2?(VLko0<7t13tC)vwwTs;qr*IJl< z*q3qfa_rPmLL|r8YX8fS+kt~$PEM(&9wQqW=x!@9VrWuvz1S?N~h7zrxW*zAT z8~5_pfB^JD2YQBX&j|^AEM}?ylKHB+qhav-PT8>lE$rCt!cTCx{0L=Fa@l{E{x1a= z@c(g z+-weeW9{V=*dYC6XYHjW#?q-vkH3ae?5O zvbNCoRMPhXFOQ!RKP@JQVYk(WVWDGc*h0VDRGul00Aj>RQFPm|%3&*>o{f?dyci(Y zuHW)AJDFF>2($;S2|9hew+IM8r;t(=`s=Kf491U`7dtxt)z5b0s^t{k6}#Hn%zV&SmGu7UtW*t-Ld9NGBJyqKsCu#8xQhf z0$XF&yv6j{v^0(o-4M2q)FW3&NqQC&eR1DRjDS4y3%@g!=X$ra#o3nnd^;uc`Cqow z@5wb^^JRD8=}@Y=KukR#h2?42`HvIfmA#`QhF@ET$J9BaX?z0b%ZQ z-E*6|D0k*ubS|4tGRwUHIUJ2GEzX@UAjGt=V8LJ1&Lk}>`+O0Iwl_Z=W$7a*^yt|w zoDLd3tabXTvPs(xD%*(WX^fcM^nH!vGee^uw%55+oawneC*3C2Q%>zyl1Tn4F*T_NIfZ19_^z1+<;nO z*pI(q^<8)W0r=n6FRX4p-?RbA@Jo5*34}o>xeI!7k_(=U_G}@L0p=+Q^@z z^~*F&H@CJ}?YdMhUjb(>@9>b`5GGaY{f@~?fv><>)5GU<$$*0~8T(<97UY=fyRkc( zp9TL;&zgG7YuPlgu(B%IEtdR256)@SIi9v2ZMa+~1N~$Fu<6aB zVbmrBY2#w^TA5ve#rL6ucXRzLet?J+Z25pN+rxoEN7{B$QX*ouymSDkl*EA5do5|6 z5y(8Ye<7*kAFO7Bz%#}f+pSi?!nR?q8BDq$g&OY=oF~l`jJ2z*noh4HD?H+pK2s_Q z-pl1^@ZQotc&W;*TC}sH&B4RraI`xvnqQ1-fX|k$#HFTuboMh;57|s)Ub9kd51;@os4HsbUu8?X&7ko-N35 zq>1|=^8&#Ia9}4#$8~18%;#Kf|8F1h>6~5c$i#9r zcC5fbzP8rG?9`bLNls5P@sikUmZv+d;63YH>QPO@Dt7NWA4*@8Zxn(J@RapVb>CmF zgKZ67_c|vEF-jZ{94$A$Z`qp{hNA^ztn(SFx+e1GEnSayDT|5cVCdt*gZ)Ka_e)O$ z9iTwH^B8k>kS`DN?nafjUi9@c`zN?MnhR_?Vbl`ltDlM=pwu%w`+&UG+iVej$cogd zpA&KAmNW#CiXhPNCoi|Xd+qU!9o>s4@As(uat?@Z3=9ku6~pAxF{Z!=^a)&D9Zk5r zK@F7nxMYblIkvs7KYc-~+8MN#wkzps&z{v`UbuCSgi%-G4eLS8N3_uO4@r1d9)Jap z?ar20(>^{tisN$;GM|5Jb;&Un{vEmAvm@Eb+OoEwgla}h$Q)7i_{p6s!^6WdE(m)y zwTZ3S#ytnPDwbFMj4x<8z1*w!)9bpwzrR-Q5VaNH%u?iWz0^3po#G6*CunX=rj^^yT^?!F#x# zZEd?{_fZcIB_Kwl6J5>eh~_%kY9wD0RbmDe2RuE^$VH+wFn_w!1F7TIYn7zbLoPy7joL;r;%bh3S(PK6SvtxGOM?5qr9047~oRRPY z&`H=OATV(9-A=opH-2e3P8Az2NP|ap|4FdWHnX&3w0dM|*#;UJf=ndJk#Y5e{a)&G zx&>rNnf1mMVp`eh;M5^}Ai)&97;@uQi0ArdPp`ML#idRnFKe(;{kA3Zf!gJLL)h`F z9UhYT#Qx>xQV1tp1*9}Uz6xbrPe-wHm`z5Wfp*JHO--PiuV=M?OKmMkpMZ~6bHGE; z=@<0NwE#^n-@JLFW zPSCr^csLIn*-1@RN zzUDZ)zK>C&z?p)=L11}wGn(U9@Kv#h1{A5Ax+?YeQN?T*7|S^tKDj`*bi0UrH>g^M zRZ1MSYcm7V$|o{gGcivyy-l~~ z@H0qVJ}|dp^j_woO@Z<4Ww|M#NR#6Ox7y7{q07dgvoI1IMFee-wYQj%U~Gdbu;t^u zRXXPdOwh9jEytbVlMpCg6cG{8c^Vc|Q;kRYAP+lALS99M*8kO@7&8D)E$9oGV@^mK#B}C4-b#yJCQb!{)i~KU^L$nWNK>4A9*ya z7o%Ee7<5e!bli;dNXolmG{Bqs!oKt@!+JzDw($DH2h~vZb1}?8^9`$Ri+Q7u9RZFA z^qr+nBc)I)z5JL>K+=0sC-s$Uz;P0j-rKD~y>H1t@rw%RiSjloswNiNB&aQO|11Rn zrO#4jA~@Lv83(T~x616<=wS^r?=t!YR@%FZ5>(stHi(|s|@^8QV`D$05jqP#w#@Y;I2L6r=;W6-nX5`Eck zeRmDXNgm8t0v;gFqix_qMnXaYz{%G6Z5#pszpsE1)MAlksFZH+F86YCbA#@FF{~Cd z(qSl1uqLhh2yrAy%w>445rH`Oz5KLPyd}@T>6eFvB__X@HbDmI$3}|xWClFQ_3+e6 zSMxz#8i=c~!M@(-cl>lgo)GnhUe*{DW zE8Xq6W>Qj8av|S$*aE<_3}gK{-6|Ip_9={MYZ4ibs&X5722#ZDH)aR;Dz7uB*3e%~ z6R(HtO7jk5Ul3skcG=lOM7F!TmxjQOzk7R1ZxC>NY_wh3QsKaA^r&vJ`3v0}AoT=~ zn}J#%(18A1NC?kP8xw?@h6XUOfxNe^lZ%SUk}(qE;x<-R9F}vh#&N|_H#`B*e7epP zr>q9lZTWL`>wgW$hCEfAy_&PXA*A&nFR$%33rocwKB(NO89WQ2{=(iemP$c*Jzy-s zQMK5k%5lodY;noQ@FpqI7*A4QV7^S(WfKuW#rDBed&nFg_Zf9>0(aOQFI2tTBihNi z(>7LWRct!0RBWWp%UiS3pALp$2=;1%e=%G^Q~$7i0??@&Sp}MO?(Xj9YBwsqwL}>* zU8A4&1SiOg-@4Amq5b0`7>kr7jr8{M}|P0Y)D3P zmS%0YGE_snK7USg8RFQe2n-EvLNWTa4m~XI9q(4OFKg3e)X?IgUt;q!>JWNRQ^D6NU2ma1N>|4>;h!_Eoyi)TxvJgzItzWnFiwN6>PNwvwRb{&5^a=Mky&45u zi<`m5+}5lwqUU$sX{xoZ=w&P>fm>vZ=IV9n3YqD;0io}@7ZWd@#-%qeraJBfg9?{r zz~~@L03BOvK~4NFEpG-X!s@tu4^apZ{ck z9SvaT1>V=MU&HZ$D=4g}7-JUzynyTd-%{3c^Rs{sb4cprDf{}sf4^59qIQ8F=s$}ZA zzU6cLszjhc^_7;tPTg>G`LF4wJU0jpIl1;=mMZY|Ph>y1xgmFxc?u2tsmaO7xw%Ps zZET)HBqck`xoJ#{t2I&klsza2oLB_M4~py~K$Bd+EB#18TFUq4aHz7YbKiRClXXF2UwP^?jAPpn(M{kYRCYnVJ1yU`VzNI|;;p35FE}T6K<-k)vQw zpaF9F> z=uDkl8)mg>Q8Dhv{`3hIDQbp1m5Mivaqc&*d^4-ztg>aRTORlEet&hrPqWhgn(L}y zmw%ApMd)5@(MFhr-8RK}ZtDxFRHD9nnH;p%uZxa9A-v?+(E zgY(q)Zz;0EMigzN$#;W@#=aH{dpZwp;slJq5fc;=Y6R>O_?z<5(!|6>dwcuJtp+0L zB(WpV)^-I3rj2 zm4CwB#MODD+006GU>x?9&Olu=Egk#xv#t=^!ol5V6#|E+Q&XF+j?O@8SRrNl@)I3X z;XwMg#M*h~09aOxsd4D!dVl&Lz;$0zu9da5v0}5ydT#L#UW#UpC)mAC^E5pYx zHp=*q(D~xy7TFFdR|c1e+tXWApkUogtn*{}4}z}>f{_q`fxYm3 z`UI>LW%S9vBG#sfKGN6WYS{u9GUp~<@ZXJAk zAKSlb`<RELLqUZgAPN%^F)!+)P)ffUX zAx(A#dJQN1fN?0vY`4MhU#>sXn>!m)r5Ci)QH3IhTRC0FtcffPdiYs9%ZEX+ zC-9roA2I2~iqyWgl29Cz6V&Dwr1o^5y1 z(S5*8iiP(F?W4rWV3U<|-fPr0l4N&w@2XqMzMwI|_L_2lpvcH&HQNQYUj&szgJLxQ zUOjK32m4F)Jdcr|0DxLKU99qJ$A^dCf`ayzy2)8siV>DzToMuvHeQxm<;vXL-0G_1 z&O&=y8Z}MF(XAAjv|2Z;jq&oq&Q1ne+BGou2h5tGQ!YB~bV2lHDi>4oRQs&aZr&-u zxqtn+G5)A~P7-EE2jpI0Y*NF6e8rwBC!ntl4=;Q!W|^4*$YwX=j!vE4>cUw8OQ}ot zF!dDlE#sKz_1?u;ztHLdmt1V7b5iEfjQ7mF(?Qq=33aEYij3hGa+Co~pNND9au09& zXmd^(5SNRMs+T^cXwK4ql3T7qt%-H$tlIdcY*&=c4P<6v{6>U zD}e%VM{CWwwJ*(qpxmO9Qpr9oElI1fyVF;{O2!j*eNQ$X0hgGE8T}Gh>ZA$}1XGv&dHJ>&%3#598Bi zR{>H79kE{DrpV_hdi;2=3-Yz5oBF~KXvg*I$iP^N=aR&~NMv3g-*R#zo&1|pB-?8m zd$93xSbc_K{)FAEPnFXNI@l?PV5*o>q2UYU1(h=E<%RYL_{jkjT0Kh{mXeZEP*AW@ zjf@86Zc=W!nVTaGr&~nhQYJknit!!Mvo?}X7q04HsvjXtGU8sF236Usy=7EXeDnPH5GaFt z!Mr@hhnn7`)DCI=uz#q%L*d3Jo!JJTP9EetTU%QhnQy6TUQ;@3VpaZ(%hxZrA_H-7;(t2@) zUtyRxX15j!PLS%6V?K9G*K3Sz%S7GYTGUkx1wbEMnt;B$PDnyhX+F&_BqRi3k239y z=Ca9-$pZ`tIsHV)kJJYgF=b?2ycZ+_&{0-O%3^)wISA3ag~(81+-Q*rUg>ZPSUxaU z5FS!}I`4+Zed+4eO6%nSP$W9-NoJnSkq>^-*y|(3o{n_4$rwoA`k+oPe^u0V9zebrbE-yhvWE-fzV zH5(wj)UuIF@qXN=n{`-ZNxjQj+S;o<>0q>7Qc}`DdstKym*rg3uh2-kNZ_1ptBEeIR~5l8975^6^JW94sftgd>)wrd|_h2q*S* za-SHV9&Xtf8MuG^SOFq(FqZ<-mG@Q@2k{&nQ_<`>mv*(+XRiKM3qbX)CAs^_Zz&}I zR!}lL@$M#`)2g+qscg@Rqwt9lcrC|I^^#{R9ZC=zU0K=`?Ix>f3uwQKz(Z}mUzwBs zd<^V&N2VO&z;n7O08E^8)@?9b-E6$9FtM@Jvv|V62!wxlE~h}&TUC4Pa$v>(>Q$51 zb#iXRA&Oms_eEbcap9JPganWi$|l*c@JKoBHZ^+5zz{r9h>xMbOHk({b}s#jZ9-@m z@IHNN>R^_ysJu?#Sv>hN@DZNX2PQ!w+i3XVpzd;jFF`lLck$w0aX9PkUEFil)`O5! z5SY6B59dbzobWEXt-;lk^=|Lz_;|pifwG{crsnv%G8nWdE87pprDtI1Y;VWdYy$)K zK*&(d^PRp1eKQ7mO1Xbu4k9ceK~GIBA|a9GQa*rkc7e?vRu_OtyL1U`&Tru0rViGuxq&u^d=U3a|5BD*`S^sJ?6X}?>#a3xh(Q};j=#VyREOuZuj{*AyFCp!OLCYfM-F9<| zRQyNQ9kMdJEv<1JFx(C{t4g5JKQI7>pzPrhXqk-`tplFg=towqRsXq61f)d3o*{iy z>2QdwNXlJ*1t!Az5V3#|4g6N2-u(x8oFGmIz@4j*!8AUs!}L>DHj9Y4BwOiW)`3_h zHRtI-hT_VU2Bc)LI7m4t@q|86efv;tcTGyl1x_*{&xpcT(ukpBYBrs?0)d zHlA{8Kb!BxfbHIjY^7Ru?=r}ZO1W7Bk2iAm5gIS@6*GQNV`*#aya;BgI&N^a>MCHm z-KVFAMSDwfkpu-bq?_RRop5hV!C=mVwRp_>UEgm~O56e;0s^dy7r{(N&Z9_R@_u|W z(zC(A3kVk^B|QVnZKJv$ruB`3`!J_Yzi;v(^YG*OhkhG^T)v+^*g(hZGHx3A6>gP3 zrBFeHXRC{DdME)HevsDq2t5Og2}?^$3sG}et^HkB>Iu|AO36EN z^GWCc)TM^*gShkPr)4zn+DSp`Adj;TcMl_;Rld5aEAYgJuk?yAK%r%G^C!P+H>3n) zp`stIa`C5hgKj~fhPpMRy`El`5t=1!Y@9zyq9!YyJG-PO^h|xgw(~Z$Z_HnLS@8J7 z{`j7%R6Lj|LD z!x!ClXBRN{4%kvKgE|6;2bpS>>`$Ned=TKK?hTj2yW}T^=cWKRcmwD$k1pdqE|O25 zSgjgV*1FJu?!$HiO243xnbyX>y?nhrq%hX;XJuaviTBKkZ?U254Y*1p%Z0Kc7xuG+ zqCXrYyKrj0^SR*?v*wsj{{Z0=aHNlznTvpki;IiL5i5}lW)P}7I2;3QKn=uH7qDK-O$R$5lZ?GpyL#FO6N@{27(2)o~k)(%g!JBYs!c{)sH|3QYC zDI~{4-8rmi02gkj=VD1%pYx4!_})8<5L{FF?U)m~rtQZ9m%mLY5@F{+z@5+pwMfOk z1m!tbiCMe)`)!)O-p6*2b2{0lQ!3CO&Pz;APF|h@gW*(5EkPQG28>i~ZfhF@lz4r# z7^Sm}jg5h*S9!}!b7o;d?jWvWV&)$7N#$GiP%p1nj|s1$#!f$SEPxnos8Kuuv%anB zM~N&f>`qKh_h~ESlEm3m)}qvT!{l`()Bq&bt5y@N$2qh$mD z63Ql@*qA*x==u4^+XaNtif{PP7CIaMBEi6mg1{^r0g^b^7S{;V$m!uNOVYde-|jPhc`hdfZLsdJfB*T)$NO;+ma#nM zvLCT!sb}~K8px;ljdJP41K%O_g~u_a88;<*8sRZccJsZGF~xK^^TVBsa9oVRYIw*X zkK?H~(}2Pb;X@~zy>JaDxs9mBkb`pPrPR9ROb7&G-lmmXV>k%JFfdvhj5Ib)O-(%l z`2#gD=gaW`2Ix*kW~O*RzhOII^c@`?ot@C~ao`)1c1RllGn#PT?BLiS-v0T+`pt_d8aWh6@n( z%&{UzDIdu`a9Xb3M-4q^sw9f4h3k*3sVn=<{tF5Krxa8V9(M z=w6?+WFeUf2-zt)NgxoU7Seg#CWO?ES6n=*ZrgI)=^(hEL4MUGf3%F+{=51GWNz_D zOz^%$^X4wqB5vigREEmizzE{}&{q%37Q&6>G8FEk=Dh=n`((xH1ISQ1FNEn)%r7hi zhlCJ$UxK(MBt7EVbcIz&$GA+eaV|z8D`AxBd6Q$~Ryy0RlFv8EoJ}t|2OCb>%0;h# z_ID37dB};41%bHEdV!xf?)Gz*QBo=c4*;|-8^EIv#-ZvbTI(RS@}tvvKYxF(f|Jy* zzl9_X0uew*gD*>#!END_NI~7qNse_SnaeSab`j;(N(toQEPqaHIow1Z{0tfXX~rnq zxP+Ywcou8HTMCWiz!cXlOHpwP(0CbC%L)KT1ImV=fPlbBdhwWLYv>d0wnrBs)>5%w zgX#Of+;u?0n=)e67ra?UR!tq$g*gJM983f0mZM??MjydTmI%f>G^I?y_eZ`4->(WH z8B`w7D64bb%4821e3??i9nu)HJ;X25G6EDh>r> z=Hzv;j1aT=UGmQCmx?Kr4R<8WNUWp~g_WO~B7AP@&FbtA;9dkhHV@oR}lfY!cbJQLQ~5MF{J6Xiy}$9;&HOaq5m z_RN^9U~Azwj8p~deeYw`5wn^syY#l9;KVEha*BgZ3xQ~LBs|cQk|;|+*K@GWDlwAR zfUV65k$JCq5Q%jw^Yo7lvwx*?r;QzXPq{&6Gd;C>g3I-gee$}H+#|_XXu@*2j2*)2jP}DPwJGqyZkjto7FT zKe+>sg%?^ zote{9&&6bim0?pFj4D*VOXlXNzu}-a)qEnP%D6d*|DSNAww||x^M-Bw?O3ZQ6#c|MN)+2KWF}~m{JQN3I=wB%f9*^DF z&#pcU=u_V%b13Wn0v4)IBVI||SnWm! z;j3@G#rq&IOTM@oZqgkmxCr7OP%w~Pu`Sa32?Al%?)|XbagwgGf%zcNqe|H3=1cr` zcz$d2h`pL}1T{59vuYu$X|iv^IOT@L8b3*0bqo)dG5z{&`V|p}Ny#!R zc%YoaA@@x%WLg=N^iamUd#X|6YSqD(Tv1U0(lY+?%1TOLqlJSQa3|a->&cy`Xg`}e z&>LM%$Aw~L4eQIxB;wdWS;HafOD0l2UM4TvmN#4}ygtN7VS{}FP7sQj9j_h!Txjbnki~3_NuPur=GLr>i@%z7J;O# z(fDjAw7)v5sPyjTR&{w+`=jjQS;)e-=9_PL17xX^@_%Ms5gO4kD@};5ERX0w{~5Zs zTKKM%BIuj`u70n^FDsnA_*2`1_RN^hc$lXb6;-AH=k8_?r zeVQZ*-2J<0cLEgh(b3VR%Vh#~*A1Sj*m}7K)BuPaZy*t7@lVhoUg1HbwhU=o!qhFo zNW=HC$b}IntLzqK*_gh8Czl_tM&)r=nz}rjC)4JzlDvvq2o-xA-<(h z&K+w`iVJxL; zAlG72O{T=&q5llLq^S~bH*^{n7AS}n7bC4Ys;j<5M@bHP^T^g$dKo0Vsncdw2U za(Hs68npMq2su6K$-p-2dPot5ySayAP!VQTM?f)qN^%jv?>amgCPFxdT;s7WlHao* zXXddUbzQkoAP;_QiGAjK%`psGeKIfNp!-j&>$QavaY^~7-F zdyd!<1&hZ!cpVEPIKdrsGl?`z@4SNP#vRjX zSP0HCUf@HUI@~#W2i)JXb>0A->&Ll+69BTrxSr#tEK&0*^{?cwVL>(C>gfUA1P8O) zdDhY|U|zYys8REcN?O948Upbhh8-AkhjZm>7^ouMNCM3RR$l7Zl*9c`1H64+UI6Q? zB}F_&qzL5fahpLB&~()L8U#|6S;RSDsObm~=vKv-Y;ASBa}J8Puw0-s~j@}EPm@K7%y2FUdAQn<|< z9?BDm1ELA}Spd+A!ks^sq53qhq~s73B~60pX3zy}(x>BU3;&334|q8hPD7_;v2QMlCqjV}?$0euc{&JGB10riKgtirRde7f zX5Qs16rm1mqz1x3dC#tp&=nGz!+aYE&%3-@(UYKT*cOL|Zk>*P@{hvsMJvCC?!^Z-9dtrH2yS}sslif& z42z~t_ZZLUTB?vuYRWqQ&{#&FjBws)|JbRG-mG0%avxxO<7o^g>}4zhgIinsPSuAK z8x&ykk&Ze0EVHu0hTO05YH1VvFk=9jMWDl!F2#92KoS9}a|#v#RelZj4YTRkA&5pQ z_eYGXkJ`bJ~ZOnXE zWq<9he&4mh#{7cAFEjC#BP}N71pS8;x91at@@qsS2KrK^$_agglv%=kuVFdpj5LaI zjap;hdt@?^kwz_SXp&g-Ic`v*U?;hVzq4)jt zbaa`ZkPUEq2>aT&)Jg5S{4Gx9!E9}->+W=EH0>g#>j!$@e3=MA1Oj>WcuPhD4RVc~ z5Wct3R#7pvyfV|!F)bml)Z545`K7!=g&tgW?}-$+$ov*AseVcrmu8bTL&<@)DaEOU z8Vj3dQ$`>8 zV|}8VlMxoNCvF-#hxQUZ<+DQ3Y#WL~A}nshz7qGkaxH?!CEmY%UATbNN1G~R^*F~j z!NSGrq(Qc0j20ES@B&g^Q=M;6ySs7P$(03FA`fK9r!CZ0t*b~Mt9*JD6NPkTVD%vo zT(eba=s_e;y1urwPEVv}Dhb!xE=Ndt{t4Nj8CPnP;<~J`OWy71KledTHWh^+!>;Gn@W8 zcWbQVPu{eNGMz40`_?=OHu%rQ%fCB>j+@AFw5f}mzdV9crW^p=d&j5FE+Ag2o6Z?s zPs%4Qyt9m5asdb8DnV9-DDH$E+E484346+wV~@x<^6@l|>3!bmU_P^ur81QJ{+ckp z(f{t5qgHKC83K#r(KJQBPtyuw)pMt_{O6hReNRWdCuRI9Sjgm*)jcHN3W1VNBi(W$xZ;k{3>_gVybq8*{#n{zWmgkp^L>Z0R%wHVL^ourT9Jc5mNcxN|oHsnT6)Mqd^KWU- z7ZkNG{5XP6M3Wr3@97T1bMv2`Kx^KRyyG;Gk$gfyX&rIxQc9Xgz?v;Kty|i2p6|NC ziQxk8Z76(BB0|6hwOr6eSvUms3|YRn+Ya`N0=>82wlFOis=R}fgG}+ z)=l+?vY+EqSd4N(D%(?o6_a81j^}+l1W+^2S`E*=IbC(1Y`&g^ACd3$vQtzC|HmPY z2(040+RBsD82*D(YM1t^U(pPqLg|kvrY?;f7w!3?ac{$S0iP{<;uSR>QW~xFrKnzQ zY{?`N7xKEm^>kf3DcXb`<60oI8O)BfqA&=Z=Chi#tmAvxED`UFq*)3t0A3?8Se@tC z^$D!;*Bsl53f8Go-L4U*U;&&$ENK~zJaw|po*Aak=WN3K7HVxSFU^Xt?st?vHIsFE zqufXlnNW6JG1ZE!lgv4`8^w$vzJ#dzk6m*@uH)&ds%;vpN}#BIx35)?!0m%*&`agZ z89Ooma`t_3-Rj7Ww$>d2SppXjZUfUR8)llzTWy~Q0Wf6K1oiG_CTcHSeV$Kw#eNOr zAlh8#@J|?)6WaUVThz5iev|h;LDH6F?|!I~{S(^Zd!xVi^-2FbiyCFg`m;f)V7v1Z zaRo}kXZZ)QYMVB#^m@v9?%FR@=#fy3U(rQj(>2vw3J}-B{~rYN4i*;dh>Nrq#^~79 zSNrz{B_=G~=xMJRyZrd_yyv#Z?EszYP;()l{|1`O-TAxrW(&Yl zi0)+>It<{*PtOBHS7A|sYz|K&do^TB5K2~jlk8~h4Lx!X){+{a(=l_ShX`NvO@Hi8O^)~7NR9p z*N80FUO0>uomjK_ZdKA7H1Mu<+>HV5UaHd3)#D0*+=B?e-~*fpIH&KZn+?9;$m4V} zAnHly3~%e?82ohlc(Q8aSQ-1#q$#~Tzy2@raNABSdAUr^=;iCofR?%3&m{Npvi~d! zUS%NxtoP1K;HJE8V@2ThwUudY-ef3&LgnPktpcH{Y~41i@svbj!Hno=va-Sff8*|U z^3n{2|K#r&8T#;t6xiNQ)!~enfA}lj?J$68z>x2vDB!+R^snLU?(Y8zP}PLeNsfg% zPe#UxxBClAo3##DWW`2TmpF1;nV%%^OrL3uE-tb28a+3|C!bN5eRx-4KRz)mzmS7uAAv1lki0#K@QuZrm<+_MxVc|&F{pe|!I+;!RR zXv;nFPV=r_B8FKfJ|ADZYdO5PU}+<3Vv?5fl_El%6dZe39sFI8%O#(ie!ga)^rn>W z4PeG=1=C5h;0xzU$%TY{i0{e@x*T~4m02+U2gWL3a_I{JMxhYNeI-7z_vu<*G^=_Q21 zsFcg@{ALr5sz^^#+e!kjD?HFgl_!DzdL51fK|SpnMTbxSZ#mRVh>6rJVNgWaxIjmN{&PTl~zmUH!_X)y;eZm*(imJyIRhpWp6kM?W-sw`f? z6oveu9viUZK!^#rV;JsS0pT^MZ3BP5h?(3lGcd4VCAKXGh0O8z>;fE87lnUeB* z6;QeE1_ts#H?D%c8NSkqAXwFfD`#Z#>z%X3hgDY78<($!2n@pViI1Jc?#UJsTvz+ihW@2SL^D0vY7fqbCJ*o6THlO-6)9i z?f5-jA8$snHf0(4@P3m8vTY$1!)JuxI@g~s0E!$Y5pu(GOa~4>B&VGapPSL7<-wGw zizYomRc;Zptjw!`_D6n=*5O%3g}N8}sZ+&B(}%8aZxZf5qe~sTM+I_owj<`f7T_B- zQSUVydd}RIbLz9pc{ax0B{+vVZCowBB~~@ALQkB?%L_z4onmQ?yE2(aXwOBd`-!nL z$PLCOD>BlQ0+?95!Crx&9sv>MCXQvOtNO%l+8ZVbObIqNrz$UDJ$|gudMSKEp3!A|P1u<)Y|>(v`0zIg#@)_!w9 z4m;zqgShNEhFmE%U0yhdO$`Uv4P8h%naZ&+@T(pIXH~;9wEZ(``JkO{r0-VPGd-mu zl?B3;Bk%I!y0b_NqKev*-|PMvz?KwY+-!rtE+PgO@si0^ABHWiXwt0GdEy)5C8gNv zRIk~4dwZ6glQ9&VT^iw@s4(4FquG(`KQQ}S`09EOUR_yAejd@6=>L}7`J>y&Z^Y>6a$@vNPc+z zmI9`%kuz_5fXH)C^wn2{2Q0;AD)VjaabV9t!29WPC+6&W&E)vwYoogPNuB?6qd@t3 z)qb@%V#hb|>LV0&awP{|&XxZDnKzs-@We0U!G7uCi1}#a^pDWg!{zz^H7qU0rC9j1 zw70?T8!UNAi|O%=<$tW3&gQ{Ub*tC%zvXB4DL5FvdeW?Tlmyokgom^v1sY{LRcUMM z@0;fS;CzA7Wp}T5m_5F8<@g3R6fP~~l@3skIuYZQf@Wl2#KQAvl^e^psbj44B6ZFZ7?5{XVAZ~c8WOZi zmLC+wu~dB#Q|c{vyZc>bLj*dBb{@ghbc6MEeX%n!8Eu$eq1l9D^DIZ0XKdbfK5u5@ z_T4i~f;4^rrg5WDh)8_`8PR;s!&10@<6$jizwt2hHGqcquCEQ}z8zfWp|UH2%>|?K zXk|SarcB7MJTq_NyRV6kjL1mc7iNy&B<(dQ%jyrmE|Z?{)ILK?sHx6qsJ9@&(k%g` zK!yzJ#6jW<;sHoK?>nR2!D^WAp;b7tL+@39QP2^L1e(YCy)b-ZELqXH8BG%|a`tqSr;F#{@J68rXgd_yq z@F6u}7oV{c?)`x+%&xBHO^b@JSmaPxKMl!IkJI4{eZigs>xJ7Xb+hkXa^dE3B z@*smeF{0MkEAD?Dl)Q+5Rc)NqaAlPZG|hRhC78@s@fc6!!_>ll8H@!g!EB+?8VF6C zgSr$B$3~wOb8{F-N=@48l+41~L zPJ~F@K`ph^KY$lXo%joQx!y#vFRhM7v&u5)KthG=9($I9CqDHwx+2~O`&1%s+nI`jXL#3VyXT1tN#b@5{+OyQHBiLLJSJZv+$0Gxwy1wl$3wtvjAlQ`RJ8)tVV>nzEJ70?$R`8UJYg6w% z!iR5qa3Vg8PAaM%d03z9hDUrxv|8oW>M-iP@y~xusru$U6Ib|uU`*0)dbTvx6!h6e z_>W>MG~Fo_zv-}x&Y1rfm{cQm>CEY}t;f1op24Jq_{35Er}|zpVUZb6O6yC%t4$I> zT$(ER&%~xS;6wq^Q4j9(>hyH6q?-O{iYs-o9hN>9-dq&~fb~$0oaKL6vQv_*qV|($ zTL*HpDq0rD?o!^pf+9eWT$IEh5ji5b(+jIK86r}D`6$z1h6Dx^{bkiAo9Jkx>L4Z3X^x2ULd^Uak%}z6284?tWCP`JU@$7`<&6m zA`9m5vci|j_PU)h1MlPhbMX~nVfwT}sZIRyC5!JuNltBj`QphCt)7K;l1{hcqBk0X z-9~AK3^^^b2LAolkr)43MumF8#kaBDnH?VCy|asTlxKW;%1OCA4#?qeAc!)TuMpsK zrj&;ZG>)Opj($eUMmpPXgA;8tj6$J70j8fRBAqOQ7QV!xfGwxdT-IsCVz>lGu| z*yepj)tfIiVG$mg!vtXkNd~P;d>6P{$0-*H&kgi4%0PX8c=j_mFO;&Q(su&ssu(6| zmEU8uVNCV*w9H>Z{|^AE%HMC&p&uC$GoLv&j073MGr4Ts)PT)5yV`nm1n8n6j0?8+53N54z8(U7g){0G>H zX{g#}FTncy)8f>Y`11*()aFS-J7vrf6%)P}LZ#2kdlExCZj^%>r@+ej0Ec~;DLc+J zZ4nW6?lv48aUtQyJl|L{zEXGxi0KIvgH#NtiKDnmVgc#^y&QwhSx@)$VvTYXXai=p z=(>N;h}I66dHMbd7v{DI91b~pEe&_x9wH*Rr+F$F$TZ}dG8k;FWthjI2u89vP7=pPwq+%eml)ykqki!_iq8%@=^fL~&8I5}T;xh& zVsEV00N?q{49)7D=o`(mi3Fu9Y|sYbbN7g{L~9!}hUl2>n)SK?mKW#1)m77S8y5Ng z*EJ*Ho0iIKD+(T)FWR`F;zcE2#?ZJCfB3OoFn)}b@iRiu;q$*vpmg2tuP(Kn982Gp z>!&QV5&I#WM&uvFez0{qO#mWGV#)WeX=xPAf1?1{E6Ns9{2>8!75+irvi@9n!4r=H zHq?^2)&Z*BCHw4nbu!G}zP7i&-Y2RqDytwV6^eTo8da)NqxrwWk?w7goJR#+Lh9xl zSA{%4(Z;^YLHZ9WE8uZ_b^gZ{CEf=(1vq4UfCl=<2f6?qzpO1MEbuYx!HN-XxZ ze!Sjxs*B1J;@+LR&e4Ipu){NX#2?5b%%}@%K!mxK?Z&OKD z2^Uo7VL=AxOn&MPh^AjXR*oqvUp!S5B#L+txF9CFUSB6sZB@z@-@G=e zZuh|MK-}JFU+~d;nM#}H@9(4M^`at;81GyY`0r`Am*c-q9u3uEAO43diI;fvZ-iOX zVx9nX%U{x&YYJG3Ya#ovvHjXMi=)<+<6p5SHH>XGARXxYaoYcnSdwP%-D@;|my)Zs z7+gZmMTKea!~o&1>qrfr^8Ey{O1({q9MNE$I{YIe_g`=%-Z9ocXS{aet)N*ZgF!b{ zin$#C7etwb>n!juyu`mTG(4PfGEDNi$_oKV=r$_Hx+^@xY=*kg~4L9{nB15riRO$=|}=|1Z@%(sfyug|vD~dM?Ujx;2 zg*Mo^JP=@3wnk`R?|a5IuX)YLUu3$Afd8=mv1tFA zy2@{@XeXnzaAnT+H;^n?&2>yhqe}sA7xS0p)VMMciPfeRrgO2%E2=8puYo@Tul592c}U&Ki5j8=L65D zS>xv>ZN75y<(9_3z}xc+`4LNXm}>X7#I2R-hvE%d>VJ^jw&Zvhjp391MLt z!O$oc@_1CjZ_4T!hixg@DV79@$am-gsp2;yu37($3q3SsNkCcq{=KC`C?UZ|-++fs zH%t|;h!JGbT7Ul{Jo)tL);l)KYT$rUE-8KevC)Zb*tk9P81JWcbVftLSuzHVUZ2SvHco}V%beqlHL+~>IUr(kl9#* zXX7F`#vBBLQkZZ)IQ)!=e|AX(Atnz*8vgQsls}Qb;xWCw)bPdGq~kM?hLZ|(=ec?w zwrLEODhW||Jo^W`$h>^+AC*fS9xd}9CA8lzZ`AlZIw7BKHjT}88M}fL|KGJs8m4t~ zH7|M7iE@8!#{X#Gkeft#`k|k#C|~HwK@W7Ht zow~sGy*ZL)B8za){wsjHwnO_p!>TVf_m_>u*${8ES8@C2oS!}1J zX$Yj9uhP&q{EDaq2}NFFSX#wAO#Hk`ctEimXr!Q`vt7tKI~3)OSg`cJSujd0hG?$= zBxgLFj*LZ!LcfrRC&O~T&@L{f|9ZTn_PskH#cr54MSncxcU$*2yp_xM-{T2HH`y*{ zoE=!&oovtBV?Y4?__?$PnCC(ZQn%lC{)Xs}LOSchG!f^+ynNI$ff%q?WP#C=d4%iF zn{AU{^cKQ$Zl4N#8-AaAHUKMpwxi_VAe#Rt)+^N}^IPKoOnN=s&1q*>WFQdxxgD%; zVDNMA0BUAG%pfg{vo2Ry>sau_crYLEM@#9vbzFg8+4!F_O&3+G5-7S`h&5IoTSc8X z&NQY}mdG7unVXM!AE?nV2wpCBzbuU^bDaNFMNqzUSdv3~^oJ5X;qhh@aYsKZD)_to z`UUP*4HY&Nr-vgT#&3lL)aVQZ(`T-IC)is)$cNbam<#a761yI^*Z{c1rkoP#TTL8D z@c}h<0fXQj7liV|TQBJp)F^N5jPZ&MT=!-8xTjZey9?0etk{1LKRM-@z4((Z3l=N} zN?c>xvDWpyDZFQfz7ikpRPueFpWE24848OaLLu-WVfTK6g*O{~34gLwlC{dDMHlZ7QmK)z8?7T}^%Kw-!mbDND;K;Q1+{IBr$EJON^YhgS=rYkS#o*c@)h4}Y4cZ2M>Zl`shC%oPWv{of(=%-p33z*LXf%yS%T7j~$b*pFEh zD3{B3Us?%)?$Y71(-yB-`N5*;(ZL7gV_%=SG&eU_#!~`)(VrzgSip7!-5X*0fPuxs zgoa>76_c`^r(z&%=-F*kd8U13*4-+nmXJ?PZLs$kA}yO-sth^&`rC2V!o9FX-T_Ji z2a-}LX=#kKv<9Xb#vB9i;P=*NscGRLuD9QVmZgK9h?8+t@Z;`G9E_Sm#41W`*I>Yv zU!BdJ?_|Au1{)in8t#?NJ0%tk#B3%zg_chF$qQ^!`HNTHHYxB%cW2Mz*`;?aQ#^? z#$^oo1f;(gq|vyOnRhy)4!=8%?u0mFPE1ZphO+#~sv{rB(Q5;dH0M6uki52HtNBe( zfu~UU`tXM3WRL1rTRIR_AnwRm&j)! zt)6-NZ7&65sf)t)(CP~y zB4-tuVgxzp++-Y@gXo&`0qC5!?69-5Ls}Hj3awXFk!G8HdNkLrL7NQ-B2v?xL5>d` zP^1@3K4s$w$^|cFg5CR%G8%Ng>QJAlcacDG#@@(%sdz&4q=e#}%uoCQ! z(gwsGog@BC+Rb-j>{1i*rxjK3RR)#Kl44yL?p#UAR=V-FLi04%>uVo$@<%8xJyI9F zd+Wo5)2+3G{SN+SzQSp7i6wiBNhPgYltm398HY@4NA4PqdtSjJAHQu>dgD&NP$%bQ zL%I!0Ygpxm4NW8Bm9#C^h8(py(yL+&6zJ^LPV!#ESNG?%7-Q))Z!eb7 zybsbb&-{JXT6r_N$ZoN+Lc3fEv85HXdTPY8$2g*v2n299e0@3=KfYY-H#kdaC`t=9-3o4HngC4&N!*4>T z=T>??Rc*{BWR$wZK^8+;UvI8{J0WO`5A|5C%YpyJqe~d_*l8X6qA%rQEyB38C^NuZP?m_`$#Z3XtfDf|XIu;a#|czj5Q*W?CnKNP4@H)moricC+V@4d#8hZD z*V=3?SKO}6MQA9ZK0|q>z7{mNjEu;@@q00siHeI`m`&ihaBaY`ald=Ty{a+^GvU46 zgy`q1Nii`$PA{`)*LUq7fmAvmaW`c(G${JG?AG;P9o=1rcW`oW^c!>JloxCo;wg6U z!vD~rrcY_{BHCCS*m@noiwV0M z`_}&W%-188m5^t?Z=CtRjK{9`^Bz{+o(=mfi#F4BH)g7e3)CTwNyzXH32|{Pel(m6 zViJ;jG4I-@<0^QriA3)#e|jnCVim)??ZA(fs(5B)araX_a~gkC27P%C4Hs7G3~T^~ z>>rjq1N}7Y>>IBmBn^)2)Nw&tIuIuRN);w_34Oks(8&$0&yfy8aZ%3sj>A@QN86D( zOHt3;(;cP{mqXN67AcDDZ(+G?e@kd9s~47+2LX93OxKr!6($8+wY0=29x9yECtdG^ zG~It`CBEtHT`#Px{L$4ahUAMX6I>QFQF%pj1DC^Erq*_#r>|Y=rOPI4+l{T z-AHZdaJObM<(h8sH@#rr-zn4hrOnOtHJ3ols;8TuQ95tITm4y8#*!6txW=}Pa}%|d zYhb>U{jQsUa~6x+gP&-beC6dkwQ_Lf!FPg`M-^P-8$LqwR50}^Vk+R}Pj4jr;+A#r z&Zp*3krdl3n;1paKLSM+SIl#BF^V(fBu-Y#(RCEGz2AFRMID_7+*!|-%N~Yg^(Fkq zR1h45IB^&{;Ys>>OKhK~@RIVq$o%~IdUis~)A>Rjk0c*2f_MQ7=Susd5^U#3MKC9h zDnqNGw^9#2fYP^x&Wv#4sTlF1$(nFMhZ)ynnT`^)=Wi#^G%z=$L;G7Q{Xh_ZajcN+ z)AGl_!tkP{GmLDm^S()TEnPzHJ^+Ut=5p^sX-lY>^&Y;7mkDfzzS2^14Ec4?Na_6c zZEk*EAx*h!?mQ^V`KT5&FuQV$tL+GZ_--@g~_2l;L2IFuUx0iqi|#;VXdc>5!^TK@b&!6AqC z40ni{^Wi|tqFj4Sxf=IGjuri?MjyM!CUmty4TN0iW!JTW5hr_{aZt+gAvNxbO-`Nz zLlOeg|Ae!J?eq&Hhn0IhQ3Bfmv^&nj5qR(8GbL4+7R%Q%n5W9K={b)scA_DrF_b75 zo}${VXZ^V#4e&r2G>sr|B`F*WithnI;Or)*vnSC5K*t1nX+K;fdme9XGx=W}=OzAJX&&^S_9m33xGEk0gxn506c2M%P^F)u2a<10G^bw!8$(BMy)QA$#F7JiQzgPt* zxMM4jic&3iI#?_iIRrC^=~@X5uQrKs&1;R+z&SZg0kxT`e4VDU`(5f{7==n%44DCe?0Qno z!uN7(=S(_r?OuA5PIo=8{UC*=C@U8<)fNH@KUk@kmE(5&(NlybIn3#djEz;x);{e7 z1z2F}KGclyx{--<#GmGH5ItS2p;W{>+XP${vi|LjE9p`EM|l}5t%%?S3I)x5clid^ z3WD+kiYHT?cV6^{C=`RJ%6$Bxa8iQ8LGhs(VzbKa| z95O71YCplMjz)^1TdT7@wcUp~MXSCGNy2kC20G6=?b3v>wirWGJ-phj@Dx2R`HVPoeHnXGEAa;x@j>b&sv}Hp zl&QWYfUQ3Qzsa2Jyxe0p(~58{+qXT74EeiyMvqAWDBOVOh*p6N4cIc)#UMX`ux0EaN&|U;Nek`>s9p24 zP^qDbXkKxe7+UR=2x&qZi{XW%O-h1@0>SIJfe85zmrnqVBL9J^`1S=8dPdGr<2+RQ zaFv@BX?+q?ZDQk0ye?L=+FL_*MMa^Y+{t{$Pz-|f51+>WM&?DmW7&6ViDDM}GuN#C zQG>Q2q9+O%Rwy&9E5~1jV(_7c4wuYuz2uUvVIHxZ+KH*+y;@^c_j~yGEhH=nijnX3 z0~VmxR#TL%Hk(5)epPq#0eb{SW~f}s`f5|aZCpDMs*2aQgi2&s@JUFfl?RtKQTt`uU*MQc#DK@EMK-@tUe zQ!oHJ0tnZ=7l4+H9S5e6CIpE3Wb263~ktoG&!Lo$NjFN#Mg@eCi!HvmBa_HWg4 z&;AZLCs}A{Ny2af-JVoiJjG|+7STTtBRXh%Knr^hl>lFWyehtNA&b~#`?*nNF)fhI zNW!G7*tEIU>R(20N_pbU zrC$}6B7Mqp-VWe!6pBHwA=uF?xikRFB1h}Ed$%<_)aQ-9PuI|A>UDG??$(rPZ`KI( z%=qNwskO?mk2f;4^nIp8uu?Au4d`$})(hT%)q?*;Ycw_%gC*|YZv#jn$FDzsvV`WR zP?S&p%}Bzs+cw4<6?sO-|Gw zcHypBeLWGPqX5jo?jTq;H5n?}9F62z2A3KMDIsTPUgLC_TF`@pa zNX6fioqwK1{yjhcfB)l@vu9D6q+u;jd42;51ddZ%B+X^;K|gzh=bHqItYT1^X4T>~ zPJtm~=MXZ=?8~0Jq%RipdalCA&=yOa2fc;Q6XIj;xqm$W?F^Kr11&*0GSmkKUY!@y zi?n@up+sI%(&uVOQ`d9^PtAM@x&%>&3X}5!T4Gz8eU+(?M(3v!$Xk}naSPVwd=&aItx?pK2xL8 z05W1HtGp|pu4=$@HvwcoKl)ONfe0%H8CpaI?mxqfT57LdJiZZ>rY`B9z;XX=n>;}B zl;GX7pq>MyB~aoW->`#XT`NpvK=>;#I*E9`!YFTf;(9mfWlZd(^mKBVoOWj99Y@$Aut}C++t@kf z!q^TG{y7+yHNUTS0!8z7k-?_Kw@qOv1axKy1Gi*kB$S#hP+Ik)DycJ=61m*((9b?~ z*#6;8L`39I!Qx(J4qFf#hMi1`m_UX3rC_wXNbzF+K+$3CSrnBPZ&O6H>zZ7_Q@BX0 z1INdBj|g%|U3zbA5YQK)T{1f#U-1gB#BI=+cWsd%J$i!SwLlz--o{4d{ zGtSjy*-p_oNS+jlfZiv0*IVrL&*Ipp5s^&v~J{Lz#c&B!G}bH}Z2-xsrG2rif6ZFR~md z@N3@JFr12>PhB~_;pgWi3^&RN+8u$61_L%34YpT)fI|3>23`k{j`lT1M#&EG^usjZ zw%bxrH`n98fYMhp)+_XAZB-cZN0y}OZ%guZ`*=xuxmo%wQCGv^BLyib4ZglUleWYH zlRIHh{KFgTP#?9L*N3r->pzdep)^loTGHV!jfU#Sh5L=oS(CHTLH5te?@JTPa(H~D z*5@ZqGpr-Jwf8w-EJ%sGO?`8-x2m-XjMD`MJ&ni-m-L*kB|2`{sP;R*_K3H~&cvl5 zmovQZsA3X;l188H9~L&y&42F=w*U8IDoSTy9GYN{(i8RUyO^k%=wG{3xY}XW)1=~c z#0lEW_D&e-OWarA*l1`3eC@r+%;#<1m?$+pH`@j*B2=_%Y-o1qBW-ascqzw({&hTzE>qG5DJ~Slt9U6+~##>r1rSmShH=`V4Nm!mt3u3{2 z#m7%A7nyMlcJm*TBrNOxoPa9~d}N-(q;n)3KplC|*wh52c1Ax6F0;{3%^m7>_H65aYlNF|0nRP2f7zd^Q*9QYfFP9he(~wrldos-rZZc{qNOL{#)a;cZx6|dmsE#tL0l?9-wV6 z^yQEc6HAkodTX>+$<$o(1#B@8ArPrBfH%Nz~F)+5eij{h>M{@ zZRXPo`ul_Y{cjq6PXwk(cURZ_13G&7)NSB?=ED4kuoi-SxP|T z5YZVFY7Ke#9PI3AYQ-F@Z6qdNetxUiyBP|j%KBuk--6|&?jfzt3I>B=L!ZO(-x8*C5S7-Yz!DsZnt`# zxomq3Sg2_hjX~Mz1<8r;8uncFhmoX4+(SI)h-w`{^D({2S)8z zBkJv%D5TDZQmg@HG5p*7AwIDG@zw37 zxM3|^5KL*^M8vByzo=4;@>i&}7zK2t-b0BilR9#$%lb(7=c zuX1x2dYwtrg!lxZNUAbm14ZXp=Na|D15XiTzGZ+B&sz)}$fc3;^6@Hp1qJ8z4iSjJ z4UA5?S3TML1`^@)voI5P?;Pjg%0`BBX>_zE`0nRZ&D@CdnMSC=pqw6YQ@d87Y&8fN zqsyRHZ)%&&E6m#mLq<9~JEOox`Z~kY5+wC-7pR7ZzitgIewfeHnZ)FB%>ZTr`d^yC zyg)wa?+=m5wFr@uxRSQ!TWBWjIU7)ZEe%v_36xWLxV^1RQD; zUEN8bFCW231-{K*ZJ-c;jMq4rQ$R>kFntr|)AvipMKu2~JGNe8XrK^Sc^m*w!7gc? zUYmVPSP_uxbg)}r3!9zymW7p7UVOc7j`E}#S1aFIvq9%)F&@jAcKGh2^#pv*C+UD z^z`vDQ)Y5uhY2j3TMod+ry^Ml$A3`*Y=5g!Gsc8Y+F4*)1G`;ZeAoG~))vm5f`Y=) zio3x6_PC#)GasmGm#nqID7_Kbr%Z5)mPi&)g8w^@>AJVIOmRy`bT0}Ibm>Wsqjyd9 ziR1}n6br;uyu}!(M>*ZNZh}cztIuVdwerQ)b zH0)n_;-w%A9Xu7NYF3FsBcPwt*Y8Y+hqY0m&j>q_nil7DZaE2DBF%C2`c3K4;oiA( z=jJLfG9&GmxW%Lra$q6`Z-9{0fsq`9#RGQ9X^ph`aq!(jzmALI1iB(jfnSWm{{p=R zFw#f;o0`o~SEUM$c=o^|Xr9bpNsEIa;lo-SVYtQ&>=ip? z0wm12fx*!5z5EuqiRX#A%%bCwA#+AI8FiM2OJU9j%$Z<8Y~VT)VWUui9LBw7>oYQW z_GqbaRtI4m1B}de-dikKTV3U0KZM zawLSZuu&CK6>$yXcyt$fvjUJvJhxnh<+Ab4NGpHWP#hUE&glh+LRXKs`<>(E5@xwP z2zd{5pIkHO&3y9V!v{ub2sVuSvUTBHK^xUaUYjL&h%kHFsuF`x=qDWvhqtx0g>+1w zcaN0YLI>j70BC@i+pzOSGBYwt%EHJp((@veIQoW$t9u9Z3h8{~-mGu1i9kmg+yT5m z?p<3uZe;lgIzsrNTPVYE(dfK8^{R{{-~&EBm71AZSvT|JBEmPJ{bCQ9f&t@SZ;Tn4eq+uAV|HMG zI80~bAd642Ug-S^D>Q7`Df!E`*B%?1pQgZ%hVF%4i0UB`17*%(@bIj+ZXpdSAJ2pP zusfz~2;SX>g=BzUl0nONHyrnW)>`?HUK8@@UDJkFEN_kjq>D|l_r3O=j=%$G@`$>V-nLr@EAIdo z2pKwP^#2}wz*hnf#0`8b^7>OU&wm?w@Lz^n{)}q$zi@TIgOcNrdYBLs3EG^7u!kCz zP|=7^S(Zgm;3tO?bkN4{(LWYvSKh|A{Tvhj0EVx1|K0s3T(%<7y}%AYgyrpU>8~~OOIf8~h!rQhfTO%tTA`d(m z=;(`qi-x=}6KtvN+Emx~?}Kmw0x*t}cQ3Z|zP9!_j5~vuGgu*Y>poo>zba{ZJFnNf z>Kl6pBpk+(1G9(u@Dr8EA9}bO#`)iyHTO++mJ0J(d=LV zk@0p&vl+y=Fv1Lm0O!J7D$%<_FY~zgGYPihU+>Z>J;TR2dnYvutNN7u%SeJH@*y6s zqOqTK6ck`s;Qcv}pn`W~R?5}^Nawg$3+e5gfNNjx?1&SQ4rQsF-w-C>0dDzCn3Q(r z(sf8qEgg@nEp-zih7q-c72w%;TPmZZ^kK;42qu#eY@FWDjV%z(UG6GB+{o~kwgtDB zwgjmRvnb#VLof=m;5rDrz|3TD-hElxB3z{EFzI)%(o8(H#{5m*7rm?f3Jp9df}w7d z-HI4v*eQa3F%{wr$nYFU8ZMCWSnj)me}Tzu@7@On=73Wfj{*-BC*sEs9!hHa9o$ir zb-w}hLIQ|HzgG}Pe-D-fiP`~InjdZ2DB)fDqP>tb2vH@Cv!zDx(h81KXwsLfIRM|t~h=8)6KBksN0T9iK7j2JusgNhZrpbJAub@nyRGTsX zeD~P!wT?3JZY7Mb3@2~a&}ovTqL-e>kVl7ML}2d+vUQspq!)X$s4a30Wn?;j`h|pq zJV;JVY(UG?6lho|y9&M9@8hBOF=x z4y{}3(Z$6Sod`L~=DRq&sp#e|aut+JW08W80Omq=1f$Uo+K%?y&PXHU;ru&$U`q@k z5H2~k+g(V>662B4kP{tL&QvcJvg(w{XBQ3^XT~0ymLKHD1A1vak!KeI!cZmH#$4{ymLeUFgj9l#EtUTp*H5@~0J(AmHICB*T+ zQp0aa!#hY*7|byXLBL6J@i*yD7=2Hq*36)#qW^p=M|nOI3zUk21fd-qiLwo#>ybu) z1j~(z1O`$0`_y+41qKF!d9+zQWDI&f(LQr<3cL>=Uk^i zDa%HGY7uhiTAOSNftlHR4rQ=1mP><$w6wIKZ8`&xcUpS-A>0U9G-;=N-98d_!^b)h z$dd&?wT6mwgYS-=T~XDKmAwQ16W8N<;ZYIM$!=;ut2E=96BsULr=MO{^WAWM_Qwdz zxpode|1jHzZkhwgPZ?(+--qK@3X_0g>Uks}eSv}02GBqXP;hR~d<4YteopJuVn|;d zGXD?W2XXM#Yu64Sy@Q5k|Mdo%DCnkvN8o(nBsv7MN1LWc)@v=CQLAf<@1bQkxQs%u zly^kaIwiL>BtB)Glv%$Jz)S9ueQ~nK1;yx0(=_)c4iRq9!+tU!+ddXCOuOnj~eB{ zT4jeuH^tN%Q5FIvjPF@)729;t!#OyaSSut%MPJ`yba%7cCm$8XO>5XxZ(oT^i0ta~ zLn6edZIO;JyRLL+Dh##(k|A=M3_>j16GX2d%=A@{mRi``Bb?6p)yIz?>kT%c#05a4 z=0s&t5s%oS0|8`NPUT0CaC9t=_@-l9eVy$FGlvWxW-J(#m6zXirPv?k9ocCeF17a? zLH-a?3$U`v&~S#^IGlDq)SKY{Qodcoj7+HPl;T}nZDJOf zOu&v-A>*B}*RA9cBjQd{71g6pDF*G zbzfdE-bjLew9D*CL9Fpwt1^oV-RI|1(dR1eYC7OQG*vmRh_UU1Et50YmJ^?5WG%2K zxTXFkQ|@TmU7J@$^I($Mxo|Ey1sdXG5dZ5h0*#Mm$g>$eC7=lXB08o-X>mM~6cmHgC6hMy0Z3WdHw z2W`FOnaeio(ahP|*nHG`uVs^HqUNIEbniIuTaA88fI!jD7@LfT?JeP45r7wfy#yf= z7ry1ebOfqpXHJ@DH$1=iJwSM^5vVciHS2X^HHtT&I)QHP&&i~Q|LYz zWnN1pbJ8QsP0_Q6z((f^0T{4_s>!JQjlCMHCwW~rtq$V)`_jNkMqK1Pdq*oBeT?&# z1d@B_v zAOJA2<+I2&la&o46!#*Pw1X`(1BUneJuu=e5XVRrKwIy~9^`0i5z7-Y8X1nLyRWu*bi$dH<@61z zurpUpG_^2KGbJW^gg!9r&NF$d`GxT912xubpV%_SFcltj?#s)+r7dtLD2$JFz+k|6 zbQWJp=)TyyCLV0;=IO1v9rlqzR+i?kEKwh9Z&MuJe9o`eI^E3mT-~8nkJoGzg$tw9 zFUr6ecR+M?w6Ec2m9s$R-5SnK?d)@}`?lKr)OO=r=tcGc`&_65sC9jq@fw_F zNR_WsO_t>3<_-ed3xGsyY%G-Qt~e8T`uLo~MFt2PKg2(M66(7)OM@L_w}`G^s@ADh z8hna#2{-$4^Ep{T$Lp6)J`F>E&3LQ*Bn3^TgYaf}=@aie-6=8$9v&WWbho!(xLNp% z3JDb!7Rn|)uDMWlpMZeCIN(ba8=%XPw~NcloB%)u{4r3YTKJ^3qJ>v4J2k)`scMe+ zxh8KVHzA(;-r8yce*}%cA!K%?nw76W@14LwTLGRm-uEJ))gXH~ z47F?+U3^_C9I5E-SmgJ3`Q*gJ#4L+PKW!pRJZC! zE}^2MpL2%wnKMRtbohIH@96Cf{qRA|P<3|#c8YW)-<8;v6*GL1?fEv?H6Eher*!RL zRwbmI5IE497OgL){Jc+tA1Z+pNTip=b4Q|HOaFpv?Itms{P?3Co>jS9qG%f*Byd8X zVd3Q03*K`$y17Qc%en(otL4)hbq0nGqW~NDF+~iR+1_`s0qT=NV4-*uNx{{L8LarMJ zvm>NWxK!C$SxPW8S7d#m9QuWzclcdn>6ZmV*n`7CLxifIMf}KltSi`Fg*J0}bzy7W zC2;+4=Z}m0vFc-Lhrfr7w|g>4?IxyKL}1Hh>(B60$i=(>0}7xIA8 zf=s~F;I~3}moCMXhe;<@92#Gvnryj9l%H5wsAPMT=3C%~Z0faEElJnVcQu;i@6hLL zDo(zt2tVGzAIHaOU+;$m1wrTg^wLtg!-?-OIT9A-Vg~?-wDf>ZQ9$hh3TbeR;L6F! z$N=gs1j3M>p5A0Fz;Bj?I+~iA(LC%K>ZQa)M7Cof@mV^EJg z0<2EL(Bm}d-P+vTTv>T&qPpWZ+uhj5p9NJs*V{qm9hfK=EaT2=EG!QXzr{CdX=zn! zWtEp7iBLGkm#jl+%hS`7pP&D3O#AS#6X3jntaje;?w^>M>4kV|ZqCr!eS;wDzKMxR zcXzjP>Rk+YPHYWhzGt*NDzzm$!#EAI51FooEaxf%X0`m5^+CdQ3Hch%3?WPE~63f)KjZJpADe)gns+Ny!#) zXOXs39|CEl>B{$^Xt%(h-EVGTVF;2EIY+QBH&$1R9Cor-W9#edA#KR2gJ2OZP{{Jf zSB%Mz5L?p3s+Zb{eUe?AONmx{1i&bDENDv9i&IfidFVqua$y!S-137>l})ZIS6+Ic zpE!X}d<4}VF(C*K-!rGCr{_bCke!{Jo-Uu*W@2$=uRXM}QJjP%Oe%s$?(t(Y(yh_T z6BHCt93y!#p_>`_5}w=+3fC^48PKwY_~Y?o?YaS*`R+ydmc|D;IXR^zCE^braQg!G z+{VDj2-|{7@~bEsuLwW^L|BsxSa?oOPHCm@eBOBxFa|K|D46>zx1-kqiK9S6k$-MHLt+KRl3Cov_^&a3E<))Coa zne|cyYM&ohDXyS>-LLtm1ik`m5}XxeK+nz1`|^xJQdxL;_W)c00h5bKqUHBh#ACPfFiTG`K95?~KK^K!p-1U?rD9_$(Lu#jI-@z}1$ zTR;nD;LMD^_0eO-IaYunAb(c7f8Wg^hCq^?lQV}*9xAf2sqZA`nx3u;0H38#&7jYb z9?$nW9DbcGJvlCxAhIDI<6ai)>*W$qi!?XSg6H=&S-TXho z6lQ%>Q)l?y*ROXcKY^X3V`8$lumCv2wL3-MNBEA!M;-H1CvRTyI(6atxnE|%QW}j4 zK0o}HE>>~kLs{92#bF7apZ>$vPILZ{Jey};b34T0OH}Wo$2l_Qn#6l0jC8isa?1*aySCU15vSp9SwnHeGj3hP+3`7dU`teB&ZNO zAMqE9sy})Z$g}~wtm*redv9)7%5{G34I&;I9Gp0-w0Q*b45W2nAGsMAB=QrJlN&oa z%vVM$S2w2HqT0%eU@cZBQ{>aAVu2~-CIyAqD37PD;Ykl$nLgRBjNb7b2g!<4*q7lg zCwwy`wtKLy*OHc{ETE?c2gCGaxyA>OLE0?zK7q`5e0&W8lY-u_zzT#K8XY}-UniJw zKO)vQos8ZWFJ1D~hl&DYx~~U776}iTE_(LfuJ@x5NY8|Q`_`j7LnFh0Q-|%G)_JAW z?6R0_#W>0-#P&u7EYZGu|Nbh@X>tLl)Q9QgEWOG&m#<=Q8T*@)>h053Jn@q7<@PpR zM8Bj+tj#Gj1NBK&)xpDqJ*6iQlbe~DL0wFR59|H-7YGyF+}&+7IaS(wdlSu^^0I+T zd7}hsESg|6@7%ewwKSxC4JuDyPGMiv)YLQ@btLi^S2E%%si^dHch7yp<84RqgjF{Z zPLr!t`8n4Z7~t$mI?V!~;Uqd5Zw}O!c=-6jBQl1|ot@ok4-O7IZ?Ln=#e_#ZEQJWp zZ52x6R6Nh8yoIPfKzt2qeM$Rwex4d}N=q(}ZU2dV;Il2@FfY9aMXkoRHa$-C<$;2X zeY71a{~14lLs3!D%a9|3;t|3h(9jrB<^?Xrc`U4e+m4XHcc-b)*eBn=3_iQ;aCcs4 zViqQ@w~~1Z#Xh`3OPd6g6?h`qi=V(P0o+trTnw=67FH0rSpfAs^?{iIJEEnfh1lv% z2a^Z4&dsB2#e?Hzn2VCN|0F0R^m>);wYPOu^c>~PHr{CF{ik%u0xU3pzFn3_Eum@P zO?HykbeJ#c@h->*VN>usKz0OaJ|qn8s~6Ni10a0rJn2lm6W!ianCWA`AR(llbE7;H z;$mPN074ed^5iZg@33rl@7}$4@17C;x5UF_xs<`7Avl!D+K=ESz|=!b5WozkUlnu+ zAq5upCAHmNc`~Ws2uvraC=v@eIl!~Buvo35aF!5)&|f~0!)|@1z5U^2P9GtY>dg4~ zBYFAH51E3*71C8_r>8l=y!7o1m(&z!7=?|<&S<_l6yB#O+ejd5@ck5$m6@5j>m^7z z)0d+sDq0T_8ay*O&dK?Cl1rDW$RB)?1wazg(S~3{Vqx$)aJtW*KMyChwY3#|a0HK4 zKoq4m6i|!oHVg#>%7JLPx3hzB@?>>wZKE%`HaWk;4Lq#Hg@qzWKOuI7PlG~(qKb-$ zh)Bu^g>W&l2qn#0?5<$*UB#Tm7emp3Wh~22E-vi#qfe59Z7 zdL|p(vpy9hb?#rML`xD%0{?IyeKs+HW!pOE8f4k zW9{cjriM-3lr&?Z>G`71={lmZ4T$Oa7d+z^I3* z?~K-UR%|V==GRwF3$oMSv#F?$Pe=eID_D>MU~J5l!&#=}<5P7mePsMD zglAEj-dft)2rLj93dqp%#KhHNAKVY(mkkK3b?8h-a<6!xSr!293J#u8CI3rN5d^&w zk$kpLm^b!sz;^AWVtsNN{o%PwiXWd87L_Ws@t7VHZU>q_4F)+A_QQMb{lio z=tpu5F5zYksK8uV+Eb?xf?#$Xu*`yo8r>zX{eFAIaC^JdcvuC`2D-!>@Z{>qcVnDMd(Qc}Kxlq{u-XgOoE zvj#>+^UKQuAejZJ6`U)0h|3Utj(}VuWK!5eyeQP7&*ht1W7VFJ_yvi7g1Abpz$5~| z(-_{aNSx}=Xm_wt%J*bIXro2s$2p#4xTwqknt{xsPlaAuw+1WWfJoNYX zf3qaBcMm5F^JEt6u(^tali05+*eFj=JaKq*>3SxrnGCF_!@M8&_`ngy$nFVLyE;o* z(ut^xs8BlCkryu)0TJW3SF+~sggO-J1uW+8zppR~t@y>Fhu^4IAwBTFUMs}#4Zpoy zdRTs^rK3>5!r4Rms@!GXdkjTKJSnSK0hBMD& zvt&FY1s@TLt8)|O!hH|x@=5q!ZwYH_YuEx{*F6)Hk__6T?*N3l4f(~nA!hit=PwyB zQ7n3*X!j~t5w>NKqW0RQxf7p)pt_Fpg!lu={0r$yr3&K7r zDJl5yg(ToFQzbn%1Q|09&~7!2k%gcM*wJnf?#au^5f$aY{1oTEy_7jI3eXoY(S-1DakK2VOirCTl|KXVBA^n( z@GmFmyi868g@-T9&ks}%{l091*FVdC5$SZ*M-xbPE6#llLdsPy!v zW#WVpzW_-xY$m5{T$?EYws3E6FZ_k%M>YdQ9Mxe>(mkzTg3`<9eD>w_ z*HN^Br_pc2dXUAtpqcH)^wh=-wL}R(@O7BRi0>%`nG)i)*bHR#_4UCuK=~Q6+5VI= ztdAVmg2esEcsBu2+nnie^#B8ur8!xi;Ei+6qJ2`a&j_+S>vhmc{^KMwQ{G@ z6T6R8RTrkFI3R%sBlh*{S5OSal>zqNsnmW4xE=qbr#A&YbR|?5;Em#(+;zue5f*)U z9(M7l)8UR@urnhQBNG!j-wSZPW@2Jz=o{MFE}TAn`uuq&M#iqvGOQxD$?@@fLes4g zo%%kt`p`H4K_KKyVcm=?i#?5SjRSxldFTW2hHefxb8a3G8(COb@T6*!9vw1ocT+g> z+HW%0H$m)answL0;udaSe?LH(vw1YKNo*UMBD;VCyve8wV=uLwV;{d_2IPZrnl|NEegGF5}cI5H}8XsgbXU?7t z6#rE8UExm1XUMWVMQ`9i9-35G6+UVJnrjb-+0*I>z3%ph0Gs8(bNW;E?w2w2iio*GAn0kVc>!R5DD3(oB8$~ z+=s^vE-u9uDuW=#}X~2j?Ma#1@ndwHy1hK=uj!D!-XIYnfI5R}D6<;VZuul`3 za~i=8Vq#`?2Dw#bRk|Q?c!rWf0GKsCfF;nS>d(>h>ju;TreW+<0rZue!!-U4La0ZN z#+R0u=xOQbsAA!&iPIlN-ww70Ce@I~LpQ+hsDM~L?_q*=;d@Vyo~|ygjHsx`Tf>D> z2j6i30@iyzfRqPSc3xiB2wgK#cJBHQ?|0~!ug@^7(qIlU z4&bc;X7V_p0Q*Vok8;D|ebEQqwue=vkXg50;2 z^-{eSwHpJb<2|gof@8TG^N`9v^ThSM#1Y?=;JWL3lNSsO^z}g!aSbR}vdYRu zK+8DJeO`}$f#5^z`(cJ^9Lqg!7G?8!jXk9pI)woVfG*_s4Q_dC;r|c0Q+ND+L#hWS@h;A)5s+To$G;GWCh_qF3=hQ1oi{6&y2*x%Uu05#B#rL0nA2$DQRMA znxQ7(a}!`GhJ+T%>pC|>i6Y}sNrWdcrO|G+QVL?#R}l~;y82yGyl^AVrPX@h&i-4y z(|YXZ3}9$PK$e!Ol!MqvUfyD`tO!^2wmkmTYXbWvAz=$3H5;H#vhA|Kqj9B zK<)rOWq5cPq_Mxn2G(A#e$5cvG{)f?>hZ27I?mp5mi$xxmqbpt_0KrBOU3WA<8KF| z#|!^|&3y?tmh0N~o0TDz$dE|sO)^s{N|vEFky$ckj53u-ZyAb6ks(AX$s$8ShRi}K zLueo}6e^itks`D2e6-fLhyUNlUVHEF|BuhnI*!&_%KJRe{ap8Xox^pra_^z9k@X`9 z^IL2HfhhRv{GAOtRr{v1x?AKTIvd>RhG6P~2}s4uYZhwi(*uXi%n0We@cpxA6yx}5 zEa*q2r9(qQJI-zFrqO06zaD`%rnnv5;vR6dJ5Pm%7~>vi9I||Rv*Kjx`8n$0yggHI zGB&S%j-3KUXn141Z>eNOGqm|rsdaw!YQDDu>ml6^ZUtnAk07h~q z6J7@xv%zR3>It)z!n%bZ4}iQYK9|uZP=320;bI9d;3M2t@HVGjpTq?O^mi@H%Ur4p z{a%^5s*yP^ztHY>w7TOdjpFhH`|{r6=7$HsgW6bh>KJG9t(cg$4ENaEw_8^RDlQ-Y zzTvu9$Gw7zM7{kIde_+aVxuD>w&AYB-?hOs-zl6EprjkC7WHB!3yT)APx2npq9aYI z*REcDh5rte4;C9UtMA^uo1`Z!_xVnT(&2+DJa|O&qCw5e2-g4Qmxju>`I1$uTc-6R zA7tw3YSJhAs02$hh0(Q=e-R&bp{p~(aO6vuFPFpa$^6uMVIF*lu&`Rt$HtD1IY?6` ztD=G598aY`f?5t;zHMHkxwWB!PAP58fg}5`p@VZYEax*6zZM;BsHa!KV*gS0#Pf*F zc!5TL{MbU)*4CDhDS!*8#+w3zi|)~*y_ja-8tZry^*);sbpbAlV*rbPPCV53iLz3& zPmTYT^wU$m@jTY|jT_u;&5WR>2_6sX_5_x~aF>0*P?f72>;lc7DuV)5cZ~qwLqBu} zZGP|GJnIV!XOy+5D}EO3Dmf#$apRNP z+QGRWUD1-|1h4@ECJ$B`NDuZHj^!p)?@thNUf0#Bm(8O`G@gM~!%$)b0%gp|ns(i$ ztUKM0Zkrx%dY9UqrrJLb$pqbRts-(WG0J{GcFA-F7_>2w9e8JuU+qkDy!OnGIo~p za|MCcUrP4`u4~SAtMN^nHgVRrZIqJjOYqQyBqO@5sm8d7!uzx^l)p?aG6e(%WV|6LvIq!%RMkLxbr_QL4LUZ?lt*( z4k*_#Mg`HJz(BU3N_75spTox*K~2EmaOl?v+)1>_VsiaF!MdJ&u_?~TeE)Io%{Pdr#f>ucTFB3Zs7HY%!$qNC3 znzs_O&{qfYy}fsmmheO^39iTJFKrJ~D&PHhY6xSB#je=21UKd42HYxg z|8~^fy(lC^6FoLI7&!d)$jjrEZ~G(yc-yMwhi5-EhCf;tEqSeR!%C+y^NH%*74M!( z9j)i~=d%EN3#`Q}?~zOEw`uI1tOq5eJRj(F#<4j(%jxWcsQ{rmJs3kKEi zlyUv+7@2HO6mN!aJ{&sbzo@KPs=9<8Ra*1wR}SU*y4qTNs8gWozJAp;A{;i~2M&@w z;61bTSD2qXf)EeZ(lJ-UvDHP;f_W5fBjI z=U0qpqt0|<%SOyyr)(BGC!RKN!us{=YePgAwsx58dbec)=W1l7jLEc5pRbgTF;h1DgWu-01e-O(UN?;qEYlD2>0sx_)pkQ%P5e{NF^{wxfH=+yQze^}; zxA*ivB3OMv!Rg6KCVyp5&l&VQ6GJW9ccmPz-MxDR=oodUjqk1LGcHJGkOUmFnK_|Y zGztWba}e9&$iFRqW)IaNlDOZ!0Z=n?4Wc)PZ(+gn@R2Afh75`4Q0aXiE1^B!l6C*ETX5#*&fN?58j) zR#*3-S)^iV8!D8n>`zpI!Zpt$X8dn_Z}Q^(r%OO%9tY{FY<> zw80D)7nkD?3<+ua;LI?uK)|kt_0}PTX6onebznGx4rrXnRKlD2%;hiwrcRM>cheUd z_&)aeokZWHO~|IM^;TYvYh?X(c%81ayn3Y_zeh&q2lNb}JD~Om&ZEbUmBY=wYW&}!*W#jp9-T< z9qT1MI=xe>8+UDj)Y z#`S6Zg4bRW4~7u?{vRl+`eu;N$qCpUMI=}MQvtQV(1DtyA|oR+rF?x32EQ%UF5pO5 zz$S^qI_m1?whjjhc+E|H>wB1a0&#q=DQHsxLOXXF#9xEMbxQ(#w<3`b)$Ku~g>@Ig zx=5TBc6QXKTXd1ViK7arJFbQDkyg&M)EA=RrHdDxy2{`Mc=X~e_?*Cd>FF8Ye1XN zQM-@KR>DYlemJ?X(%Bl&Ozs%I6r8M7zcJ|0TN!;WM~>gE1C8?Z(9VHU0P8qwPp@Mz zT~6nhNV+V(EwnpWfe>1sZ@v6A!_1OS{Rr(66Iyf_5#E)1D~O7Th%mFT0Hyta;o8)z z8Gxwb=~KC^7zd~#WzeVPc-!8--6<-nK6SPQRUX-U26}pI)mNi%3J~P4r3?&QYu1Ps zr0Sld`k9h*^79{LWHcuUQ-2!({_a_hEl!o)>!-d6!(g2P!^u53&>#x8C}-fs}3N=Lphc%J0*vp9ETGd%1TxO|k#c zqdlSBUgypktDai4ZY*COgvWplE8_=wZ1H~ETOhj!&X}h10aqQRz;7Y2dJgRSvSrJl zVbGdV-=M;xi!^m4&H@0loRfkiKqCl!8|^%%yEq97rp?#@zyt6io5EE&L}2zl4L6;L z$btM){lka%*f$Db%SGE~9`EYzzDrK(hyPfW6?fG4#t4fqU%q7UZAm!)pR2NB#)T*2uU@@6yHP4wUxb*f5Es`4W!I+9 z^BdP9FT2Vapu>57c4}QU(mMS(2~1p6^vHGtr-27%C9OMzkpWE@{~}m6XEBdSBA<0xoWSCjNokw2j2*xl~6LN|I8ve$&efSU!2=DS(l=lB=Q8w(j5uJ1P-z&16CU8}IdF`oo!4LL? zaTn>M9?7;c>&h!PZrngwfrrI#=+IBr_v03C?}dvOmrhK=qDgl_F@KrWHmk&atfvIO zPiV%tGvMvjl%I@j+6wrH(H}L@;IFRBOC?#cn%W4~@9`sb$J{!}cIE}>+K1ac_bMwl zc{k&rv5t<8($doLW^ub!s{;i#ZSvDM-@)#qz$I?-y-u>+YkGiCys^Q-zcG!Zlb|UN z8ymcnld!2fjt@37&;;BbWo1cGM@I1?fRx3~K?p%L(iN&D{DKGFXOdSct@y3P5REa| z5!%*j7h*$=TcisF*}!T_4$Hnd%82@}`~-A5OwVGjSF#R*vaZSn9=as**Yt zq$qdeaifpE$cyLC*_f6l7sy*0peBLZfjtHGp4Z5*p=zSU5rJpCWabZ#hQxa^l71@% z*{N|`mRN*(sc!J&;x|xNwz{RXv-`G6^9L+ZbY!A?kf@IG8Q`nVS{Fz}`)|!NzdFF2=WRjxilgVTjuLC5@`}lq}%YGa{ z@%z_3-+x)P{ht$tjn_hn{w*73(a6Y1v~FFco`h=w_jKre(ZhH-Vzz3XRcP}VHX}5A*Q9XSQH|g>1jr1$%F-M;JCVX_(Sd7^3DK@sYoIE_Y zA|fj8K-X4eROI@FbYpv>Pdo(h$2F5vQ=mWamuIKYUGND=)Js+R+n+AfW^qqzaF&*TO|%JqPn=K zX=@ukumI+OvlCwt5vvU%;^H=7t6R73u!+fiPeR42t**WtfZLwZz!TB{69~vm%!-i7 zFnyfK8SGzl&JdJSUFR6^uW5SN?b{j@zy~y+9>an9A}g7gvhwpKgoHlGenF3++p*P- zJ*V{t8%-86m-18ZhV)er%XvH8m=I4Vt&1en`4i-p2URg6!zUZ$-+&9*d zKD(ilULf?+-}Ppt5@qI5#-9rABXE0iVq)oeNr10iIkrJw&k0wC9ms{+D2&8VqF{4s zNFrqN(}aT_xY*#7nMz`DaXUPh5EybIpo_3IG^HNQJHcLVAjQ=?Va5k~l`Ukwyve>; zIIdX3{r&gBpfm3=_E!q-Ltn9-)Eeu(TMM)U6@(veWNPQsd)$gwURBXj3sI*-Vk?oI zsjrWehd~F5kYEDnr=D6s-ffHG@({%3)+TTQ0d}CI2h-~crKP3e#xE=>sXKryT!0GP!sfG5tOuG%!a!@8wcF@&B0yYIy(Fu%$lc}_n@@M$$6qEU}9xxa4@3AXW_b_1}wS3O%*HF5pw$WMGKq$Ma?yL z@m!YFSihD@^jQYgmXzr8q<^4^Qo8e{3|uSdrTLIVNBRi!oJyfZVEV=0Gxu%LOc1Uc z?_&_hP=3>Av4{Yo3D(c62Si^`!0p&rQ%6n0&xJyimzL=(p?MB5=I>oCH#mYSkx7e_ zbxDYevp8_z%9whh-T<^Wh;h)0swQV=!bQCy$Oh(%(I5&~+%k&g{I9 zW4Mvn(H~|8E<0A5ft5Y0U2KSLH9sq2}PVKpB9}_a1Bp)a* z2d3k}2Si}b962>mNf|Tt6ru?=ttE6m&@ng99oVC`M5~lv>MZj~6;9BSPT|7a)4po1 zF%S>k&u~3l$-84m{@##vYLaF527>es9_&LW;P^H@&U?P?zLAj0*+?U|t$d5a*G$dyS480<#Rbu&G)Ym??>$%#4hU)dV8Y_7TAV z^@IOg)Y>JAh_@Us|kDY}zt@q={ja)$>BCsEW)zzS2P}}GPaj2>raP0YoxifHffl#n- zQ0r!fq#$bR5~HL+!Gdp2QjfgVK9&&1>To=(dG3(N{k%{GVMT|f7oHsS2^Rk;{S6P; zTWh3L6&&vlSTQ;hdq#SA0DzjF?g{RG&+;?F?fWRq{tiea#!Kv9zgtcY++}{zb!?}w z@)%8sTu>ZEI!f5k6Q<^X8uTG~R3plZJMyL_gjI$^Zo>=|m37sS-XSeolu$#u3z4Vx z3BVDtv-|atdbWPXgm(Uo_5u6LBoceL8bwJzMZ1pq)%*_c>G2keQ|n|P3c`vV+Kpj6 za%8aV2uwiW4sY%%aNfYC8TV@`vNr(k*P<3i;9g<_rplW-zfwJO?-E71#(@$OqsfKK z)19R&i&W)l^=xfA$rV7h#xG!`AAXy}LJfQin}U$!G}r=MH6|;h=yWzUajai|!ruPo z_3O!5b`T{g#QZm;!cVSidHB6KGJ@gP#I{duoY2<2Zx7;KYR#_jWshhg|GeIGT3M)48=nWvQ=$ zWMoyS5!{<^!6lo>MEw+FwF-LwgcyrBo{;D|O!e?&UAk%O0(4De} zyLK9zm=F{;*jU(4z!inXiYies$B*(It0!CO5I-v>jCFxR4yv=^b|xf{OzqUa7F%Vo zT63l$f{cH4rE~nO+Me}9YN(llFAzUaI+Tl41;`2S-ycrZzyFD`i;OjeLTmSZwdUMR z*MfPz69gcyvuDp@jeMhw&7S_sp7i*HYA|0d(fmjOez4!k7b z%;0i0qxO#z2~RO2ev2tAA#h9BrHGLbUQ?K?5dhQn5C#Ph0u$_YMz3>b*u60dIOl3W z(YcwOj^2P4wLOsa?Z3^@`E>5uJ-=Y%;wJr>JpP9{Ai?9Y(}@#WYHAzFu$9B< z_UsRtwWPRML~Rav3YnoXUf39yhz50Czm*M;=&o0=qWP5j=@%@W%+gf1pVJ=tb|2LfGa2_CT0hp z#P~4U)Q=xOLRi}LP9486nMJrlAor_rQg?h3q#gzl3z9`1IXE*{70vdw*B|T?Vef6d~_Eb}^vUp2s9p*Aelk zP2`?+kpr;n;x56Fl>BI*vB24aujND{p)&3oB%(p_X2E>w-e#efQ!=NQBQC7MgU!qx z%PVAbsM?9r>i!|KZ2JBfnfjs=GBoK2@ zt9d326>Q;({FVz>0i&$5W#O=_tlU>N2AUV7GS~?zugQ~BuGvOjSgzO!{MI$BBvnE1 z35v~^%Fh^%gRzx0JS2n|5xqO%*g^&{U}EA${V$cahSi0@=M~2*0`L8df^rjyDA%UH zL_xWUva|}TK^TViz2tECm{w7wL3jG^!>dKhQt>~sX6ggbFw}2iP|6tD)bt%dYXsk` zo3XJknA^rV9331?*5#u|t4Iid_)Lgcr_m>jjkzLo2O}1ACur_xJv>kY9#$SoL`N3O z0Qcfp4}Jnzd%+|Hp4QK$w5#@O^DkQgA~DOA5m7yC4~RvyH8hY&gO(+%8R_ZzBjRF0 zLO2{-h^_M3v;L9ZgCbc9rh%&N4=I<#9ZsAu==4tOJ{})TBpb!{zge`9F~Y3DCsp-_ zqJAYhg>}pvZ?2hHY)MH8n9PcVe=8Mg>8K8zWC%Obr==fYh=B;vXKQOqOQjuv-Av&N z0HCsMThyq{n$|b}o`y>6T+94-8tUr6i_SCNB%ip}WOW2nXOq;Ta3caLtwAheqJXOV z0BnBX&(3*yVT&y-okPjRJeL$*?!4y>4cS1uz`Qh;A#v*<>^|uk8F@zj%(ob}+DBAQ zFDDEM4gYc|RKBA_Co_ciJx1095PM~95G*7~kL-|)Ust`%zXEvXZBrA`-rhWRXBT3I zV|Aw=*{6Z%y%LiTL*A7D0Q)Wzf6U2JpyWDt{W_7Go!#)_MM!|e;lkezPoV-)nlJ|h zm7U1mJ34@6pyVQ?Yph10EG1f}%koek`>+w#t%oShs*4+=+)ey-fp(Z%IOdN_#`DG( ze#1Q8rYX^S&dL_KH+Z~=?6I!y6PNc0e_)4b_iDLh-HxVjbML5Gl&XMJ(7vhbpT}Ci zPQYPOa;h(MtdT}@l9bHEFuc%iOe5T`u3iUIfYvoBz1Qs>Z`wG8W@l$jJU8-gTqABG zU{Nz6UR_z4S7c78&sxI;nJolPa5aXcb_$M%tJj`nVK;Aixu5DV1t zKk)0_r@%t!@i0*jExd%S=>84;qj#Uf4x#@@5<5-#+^{n(6?4$`7vLS%E812vpyuW# zUE+P8Yy2h%R!mTRkdUBUrW2G*IM-OxFyl+tphj@qcKdW3hN5AzMcWZ-7qkCeHC|rc zwmD-?77g3|1uVQfgJYjd9)u(WzdMbVK5DC~rG*j?GWxWen?M3)uoKX$oQ*`HcZ%MW z`sn*}tQGR6O|h}Dl7|Z)pJ12BEGpVXCVzs2VB2j9AKyh~D?D5ktHfk1^Y(Y|0R2j{ zvUJ=BumN8Q3Ib)kv;X7E3Lbi5L3=DZY;3a;3B|o$Rh&X%+oz(Ub#t4)nLey-fgLa2 zJk!IZ0~LzOoyAcRzHiGlnvrm}3aqr=xmf`SdkQlmq(N4rF_A;h?W!6xA;<#5%{ps)uAr$0YupBjVU_%P@*(hdW97V!IO z@NKgRQ1+HSe#I;m3th7;%yt1S(sP&hKpIagDr|zVL#*TD12ZdTfw4eSv@}yaJ+j41 zY7}BohCl)_Mx<~z8G}Xc5Xj2< z2S0qig%y~WB1AU9Jx}fkL!sDZlU+M~srD~oeQ}DSo?e6^|Jm8eY~`ZRrQlZ#j`a>|l)tp9bw8H|Ll?P&>o{+(E)=8I(!POaWSBq&~C-osBLZ zK0I*UF8~+-Op^5MU0lAxmyIfip**}j(HtBc@SjKt3H1XYr3(Pk@$>UbNo5rl8dXoz z7z!vh$BzRur>P&LDZW9is9l4BBH;n8FRz1w$jz0WN&+ba#+_Dw3u+UFNKnf>aFaQC ze!#n!0G~AOwDLIqZqC|k5fK6Xuz-O5>U`u5r*zU7W90_HSx0*IBkf(yU^OuQkGg3T zI(F@bFeurW2Xyt~#f#u9se?`SpdNwhGxE0M2f}pQ_6G3Z9>pam#pI&y@#DjowV*|T z;TkA1TvdRX6Yn3K7wb7WH@`DS()o_GeMCvg3@jR%Iz^ZQ+R_pofH44YTsESd>mK8V zQnHupn`BV)D&%ulB+m=y88QPU3u*7Iv6ESGpT#$H(JYZ1LANfyX5PBJ+f=S%>Gi5s zr7Y~&NMaBpuV9PaqH#mY`dI*S_d*LFY^Q&Wcq4clN=sn|FVfJ^00k8V1r*WB<;!P~ zzJM2HA=jY%AIgv=O%{0$QTX6sQBFHKK*KOMH-{^0%pdDf{kj-2OBKhGVDNSN?0rm2 z^1z%Fpr2LCmZ@oJ5jQZ<4$gY!W^gooJUsWkcFq8b;pxMb%~6}AHvl;enjnT93(9rH z6lg5wpD&iD!mg!AaH*FgXF(g z9G#qpe*_7@ZJ*5 zo5xr!k<63$^x!6rhM^vHM*L$sv-s@S1OTIgf`YPQ`e7w-N9sa)hp; zA}B9k3Pv6;KPVpkg+pjK&|ypuapndAhe3FPlZ9H2z~2!LUfvR<6P`VLhL4Ahs_%}c z*8ibOq5@x!iaOqwQ`y{{he_1{)wplAK^jN7pK;w>wwKk%0h-#160@{q&vWP-#v6HG zAAr9`L!%xDK6Kr#Mqmr$DFVF&badhjYgNpxfq5iM9V>bq9l6<*IZWs8amN3!1Wrk6(mQrw&EZC#!|pMKdf1X~e59WUn>vGM1LS^Rd^!ypJ(xW> z9Y7wf=t!No$iH(XAvp3ZMl%)VxZYbBK637(ivO!|(Bx@H`ZsTKA`hSt@vLl0RF>d z=%3OU)4#VDLm@GL$B5*opUslR Date: Fri, 21 Jul 2023 13:02:46 -0700 Subject: [PATCH 39/52] minor docs changes + fixing treatment of cloud ice density param --- docs/src/API.md | 1 + docs/src/P3Scheme.md | 8 ++++---- docs/src/P3SchemePlots.jl | 3 +-- src/P3Scheme.jl | 26 +++++++++++++++----------- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/docs/src/API.md b/docs/src/API.md index a1b0ce2ef4..d200e04f8f 100644 --- a/docs/src/API.md +++ b/docs/src/API.md @@ -57,6 +57,7 @@ Microphysics2M.conv_q_liq_to_q_rai ```@docs P3Scheme +P3Scheme.D_th P3Scheme.thresholds ``` diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index c5a04120cc..c77a32b4fa 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -43,14 +43,14 @@ The mass `m` of particles as a function of maximum particle dimension `D` |partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | |graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | -with physical constant ``\rho_i \ = 916.7 kg m^{-3}``: see [CliMA Parameters](https://github.com/CliMA/CLIMAParameters.jl)'s ``\rho_cloud_ice`` ; -and empirical coefficients: +with physical constant ``\rho_i \ = 916.7 kg m^{-3}``: see [CliMA Parameters](https://github.com/CliMA/CLIMAParameters.jl)'s `ρ_cloud_ice` ; +empirical coefficients: - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{6 \beta_{va} - 3}`` (``kg m^{-β_va}``), a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``, - ``\beta_{va} = 1.9``, another parameter from [BrownFrancis1995](@cite); -which together determine ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}`` (``m``), the threshold between spherical and nonspherical unrimed ice; -and model state variables: +which together determine ``D_{th} = (\frac{\pi \rho_i}{6\alpha_{va}})^{\frac{1}{\beta_{va} - 3}}`` (``m``), the threshold particle dimension between small spherical and large, nonspherical unrimed ice. +Relevant model state variables here are: - ``q_{rim}``, rime mass concentration; - ``q_{ice}``, total ice mass concentration; diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl index b78305c139..6b275f8d48 100644 --- a/docs/src/P3SchemePlots.jl +++ b/docs/src/P3SchemePlots.jl @@ -15,7 +15,7 @@ thermo_params = CMP.thermodynamics_params(param_set) const ρ_i::FT = CMP.ρ_cloud_ice(param_set) const β_va::FT = 1.9 const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) -const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) +const D_th::FT = P3.D_th(param_set) """ mass(D, thresholds, F_r) @@ -354,5 +354,4 @@ function p3_m_plot2( ) Plt.save("MorrisonandMilbrandtFig1b.svg", fig1_b) - end diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 7d6dbb8239..650f7531bc 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -13,23 +13,27 @@ import ..Parameters as CMP const APS = CMP.AbstractCloudMicrophysicsParameters FT = Float64 -# include(joinpath("..", "test", "create_parameters.jl")) -# toml_dict = CP.create_toml_dict(FT; dict_type = "alias") -# const param_set = cloud_microphysics_parameters(toml_dict) -# # thermo_params = CMP.thermodynamics_params(param_set) - -# # bulk density of ice -# const ρ_i::FT = CMP.ρ_cloud_ice(param_set) -const ρ_i::FT = 916.7 # exponent in power law from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (unitless I think?) const β_va::FT = 1.9 # coefficient in power law modified from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (units of kg m^(-β_va) I think?) const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) -# threshold particle dimension between small spherical ice and -# large, nonspherical ice, from p. 292 of Morrison and Milbrandt 2015: (units of meters) -const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) + +""" +D_th(param_set::APS) + + - prs: abstract set with Earth parameters + +Returns the threshold particle dimension from p. 292 of Morrison and Milbrandt 2015 +between small spherical and large, nonspherical unrimed ice, D_th (m), +which is a constant function of α_va, β_va, and ρ_i (bulk density of ice (kg m^{-3})), with no D-dependency. +""" +function D_th(param_set::APS) where {FT <: Real} + ρ_i::FT = CMP.ρ_cloud_ice(param_set) + # add alpha and beta once they get into CloudMicrophysicsParameters + return ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) +end """ thresholds(ρ_r, F_r, u0) From fde86535d064b373be653e074243752990cc6eaa Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Mon, 24 Jul 2023 12:08:25 -0700 Subject: [PATCH 40/52] docs --- docs/bibliography.bib | 22 ++++++++++++++++++++++ docs/src/P3Scheme.md | 38 ++++++++++++++++++++++++++------------ 2 files changed, 48 insertions(+), 12 deletions(-) diff --git a/docs/bibliography.bib b/docs/bibliography.bib index 4dc6056c63..c367721a34 100644 --- a/docs/bibliography.bib +++ b/docs/bibliography.bib @@ -115,6 +115,17 @@ @article{Harrington1995 year = {1995} } +@article{Heymsfield2003, + title = {Properties of Tropical and Midlatitude Ice Cloud Particle Ensembles. Part II: Applications for Mesoscale and Climate Models}, + author = {Andrew J. Heymsfield}, + journal = {Journal of the Atmospheric Sciences}, + volume = {60}, + number = {21}, + doi = {10.1175/1520-0469(2003)060%3C2592:POTAMI%3E2.0.CO;2}, + pages = {2592--2611}, + year = {2003} +} + @article{Karcher2006, author = {Kärcher, B. and Hendricks, J. and Lohmann, U.}, title = {Physically based parameterization of cirrus cloud formation for use in global atmospheric models}, @@ -346,6 +357,17 @@ @article{Morrison2008 year = {2008} } +@article{MorrisonGrabowski2008, + title = {A Novel Approach for Representing Ice Microphysics in Models: Description and Tests Using a Kinematic Framework}, + author = {Morrison, Hugh and Grabowski, Wojciech W.}, + journal = {Journal of the Atmospheric Sciences}, + volume = {65}, + number = {5}, + doi = {10.1175/2007JAS2491.1}, + pages = {1528--1548}, + year = {2008} +} + @article{MorrisonMilbrandt2015, author = {Hugh Morrison and Jason A. Milbrandt}, title = {Parameterization of Cloud Microphysics Based on the Prediction of Bulk Ice Particle Properties. Part I: Scheme Description and Idealized diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index c77a32b4fa..b629956327 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -14,24 +14,38 @@ Traditionally, cloud ice microphysics schemes use various predefined ## Assumed particle size distribution (PSD) Following [MorrisonMilbrandt2015](@cite), the scheme assumes a - gamma distribution for the concentration of particles per unit volume: + gamma distribution for the concentration of particles per unit volume + based on particle size measurements obtained by [Heymsfield2003](@cite) + in tropical and midlatitude ice clouds and implemented by + [MorrisonGrabowski2008](@cite): ```math N'(D) = N_{0} D^\mu \, e^{-\lambda \, D} ``` where: - - ``N'`` is the number concentration, - - ``D`` is the maximum particle dimension, - - ``N_0`` is the intercept parameter, - - ``\mu`` is the shape parameter, - - ``\lambda`` is the slope parameter. + - ``N'`` is the number concentration (``m^{-4}``), + - ``D`` is the maximum particle dimension (``m``), + - ``N_0`` is the intercept parameter (``m^{-4}``), + - ``\mu`` is the shape parameter (unitless I believe), + - ``\lambda`` is the slope parameter (``m^{-1}``). + +We assume ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``, which occurs only for ``\frac{1}{\gamma} < ~0.17 mm``. + +``N_0`` and ``/lambda`` are found using different moments of the PSD, total, cumulative number concentration ``N`` and mass mixing ratio ``q``, where + +```math +N = \int_{0}^{\infty} \! N'(D) \mathrm{d}D +``` + +```math +q = \int_{0}^{/infty} \! m(D) N'(D) \mathrm{d}D +``` -We assume ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``. ## Assumed particle mass relationships -The mass `m` of particles as a function of maximum particle dimension `D` +The mass ``m`` of particles as a function of maximum particle dimension ``D`` is a piecewise function with variable breakpoints described by the following table. @@ -43,7 +57,7 @@ The mass `m` of particles as a function of maximum particle dimension `D` |partially rimed ice | ``q_{rim} > 0`` and ``D > D_{cr}`` | ``\frac{\alpha_{va}}{1-F_r} D^{\beta_{va}}`` | |graupel (completely rimed, spherical)| ``q_{rim} > 0``and ``D_{gr} < D < D_{cr}`` | ``\frac{\pi}{6} \rho_g \ D^3`` | -with physical constant ``\rho_i \ = 916.7 kg m^{-3}``: see [CliMA Parameters](https://github.com/CliMA/CLIMAParameters.jl)'s `ρ_cloud_ice` ; +with physical constant ``\rho_i \ = 916.7 kg m^{-3}``: see [CliMA Parameters](https://github.com/CliMA/CLIMAParameters.jl)'s `ρ_cloud_ice` ; empirical coefficients: - ``\alpha_{va} = 7.38 \times 10^{-11} \times 10^{6 \beta_{va} - 3}`` (``kg m^{-β_va}``), a parameter from [BrownFrancis1995](@cite), derived from measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus, and modified to agree with CliMA's units of ``kg`` and ``m`` rather than [BrownFrancis1995](@cite)'s ``g`` and ``\mu m``, @@ -60,9 +74,9 @@ from which rime mass fraction ``F_r = \frac{q_rim}{q_ice}`` and predicted rime d The following four thresholds (``D_{i}``) and densities (``\rho_{i}``) which form a nonlinear system solved by `thresholds(ρ_r, F_r, u0)` , which employs [`NonlinearSolve.jl`](https://docs.sciml.ai/NonlinearSolve/stable/): - ``D_{gr} = (\frac{6\alpha_{va}}{\pi \rho_g})^{\frac{1}{3 - \beta_{va}}}`` (``m``), a threshold defined to ensure continuity and reasonable masses for smaller D; - - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}``, the threshold separating partially rimed ice from graupel; - - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d``, bulk density of graupel, calculated with the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where - - ``\rho_d = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` is the density of the unrimed part. + - ``D_{cr} = [ (\frac{1}{1-F_r}) \frac{6 \alpha_{va}}{\pi \rho_g} ]^{\frac{1}{3 - \beta_{va}}}`` (``m``), the threshold separating partially rimed ice from graupel; + - ``\rho_g = \rho_r F_r + (1 - F_r) \rho_d`` (``kg m^{-3}``), bulk density of graupel, calculated with the rime mass fraction weighted average of the predicted rime density and the density of the unrimed part, where + - ``\rho_d = \frac{6\alpha_{va}(D_{cr}^{\beta{va} \ - 2} - D_{gr}^{\beta{va} \ - 2})}{\pi \ (\beta_{va} \ - 2)(D_{cr}-D_{gr})}`` (``kg m^{-3}``) is the density of the unrimed part. Below are graphical representations of the m(D) regime, replicating Figures 1 (a) and (b) of [MorrisonMilbrandt2015](@cite): From 97751129e031193746ab288a48e51542fcfe3d2f Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Mon, 24 Jul 2023 13:16:11 -0700 Subject: [PATCH 41/52] fixes --- docs/src/API.md | 1 - docs/src/P3SchemePlots.jl | 2 +- src/P3Scheme.jl | 28 ++++++++-------------------- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/docs/src/API.md b/docs/src/API.md index d200e04f8f..a1b0ce2ef4 100644 --- a/docs/src/API.md +++ b/docs/src/API.md @@ -57,7 +57,6 @@ Microphysics2M.conv_q_liq_to_q_rai ```@docs P3Scheme -P3Scheme.D_th P3Scheme.thresholds ``` diff --git a/docs/src/P3SchemePlots.jl b/docs/src/P3SchemePlots.jl index 6b275f8d48..9413933449 100644 --- a/docs/src/P3SchemePlots.jl +++ b/docs/src/P3SchemePlots.jl @@ -15,7 +15,7 @@ thermo_params = CMP.thermodynamics_params(param_set) const ρ_i::FT = CMP.ρ_cloud_ice(param_set) const β_va::FT = 1.9 const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) -const D_th::FT = P3.D_th(param_set) +const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) """ mass(D, thresholds, F_r) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 650f7531bc..6b0983c381 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -1,39 +1,27 @@ """ Predicted particle properties scheme (P3) for ice, which includes: + - threshold solver - m(D) regime - - A(D) regime - - particle fall speed regime - - add more (source/sink) as we go! (TODO) """ module P3Scheme import NonlinearSolve as NLS -import ..Parameters as CMP -const APS = CMP.AbstractCloudMicrophysicsParameters FT = Float64 +# THINGS TO ADD TO PARAMETERS # exponent in power law from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (unitless I think?) const β_va::FT = 1.9 # coefficient in power law modified from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (units of kg m^(-β_va) I think?) const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) - -""" -D_th(param_set::APS) - - - prs: abstract set with Earth parameters - -Returns the threshold particle dimension from p. 292 of Morrison and Milbrandt 2015 -between small spherical and large, nonspherical unrimed ice, D_th (m), -which is a constant function of α_va, β_va, and ρ_i (bulk density of ice (kg m^{-3})), with no D-dependency. -""" -function D_th(param_set::APS) where {FT <: Real} - ρ_i::FT = CMP.ρ_cloud_ice(param_set) - # add alpha and beta once they get into CloudMicrophysicsParameters - return ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) -end +const ρ_i::FT = 916.7 +# the threshold particle dimension from p. 292 of Morrison and Milbrandt 2015 +# between small spherical and large, nonspherical unrimed ice, D_th (m), +# which is a constant function of α_va, β_va, and ρ_i with no D-dependency +const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) +# ρ_i::FT = CMP.ρ_cloud_ice(param_set) # ρ_i (bulk density of ice (kg m^{-3})) """ thresholds(ρ_r, F_r, u0) From a6b7a729501fedaeb35b88443b414c9bdf8690ac Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 25 Jul 2023 12:38:57 -0700 Subject: [PATCH 42/52] tests: Float32 not working --- docs/src/P3Scheme.md | 4 +- src/P3Scheme.jl | 29 ++++++----- test/p3_tests.jl | 115 +++++++++++++++++++++++++++++++++++++++++++ test/runtests.jl | 1 + 4 files changed, 134 insertions(+), 15 deletions(-) create mode 100644 test/p3_tests.jl diff --git a/docs/src/P3Scheme.md b/docs/src/P3Scheme.md index b629956327..9647668bcd 100644 --- a/docs/src/P3Scheme.md +++ b/docs/src/P3Scheme.md @@ -32,14 +32,14 @@ where: We assume ``\mu \ = 0.00191 \lambda \ ^{0.8} - 2`` for ``\mu \ \in (0,6)``, which occurs only for ``\frac{1}{\gamma} < ~0.17 mm``. -``N_0`` and ``/lambda`` are found using different moments of the PSD, total, cumulative number concentration ``N`` and mass mixing ratio ``q``, where +``N_0`` and ``\lambda`` are found using different moments of the PSD, total, cumulative number concentration ``N`` and mass mixing ratio ``q``, where ```math N = \int_{0}^{\infty} \! N'(D) \mathrm{d}D ``` ```math -q = \int_{0}^{/infty} \! m(D) N'(D) \mathrm{d}D +q = \int_{0}^{\infty} \! m(D) N'(D) \mathrm{d}D ``` diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 6b0983c381..299cfae269 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -7,20 +7,19 @@ module P3Scheme import NonlinearSolve as NLS -FT = Float64 # THINGS TO ADD TO PARAMETERS # exponent in power law from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (unitless I think?) -const β_va::FT = 1.9 +# const β_va::FT = 1.9 # coefficient in power law modified from Brown and Francis 1995 for mass grown by # vapor diffusion and aggregation in midlatitude cirrus: (units of kg m^(-β_va) I think?) -const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) -const ρ_i::FT = 916.7 +# const α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) +# const ρ_i::FT = 916.7 # the threshold particle dimension from p. 292 of Morrison and Milbrandt 2015 # between small spherical and large, nonspherical unrimed ice, D_th (m), # which is a constant function of α_va, β_va, and ρ_i with no D-dependency -const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) +# const D_th::FT = ((FT(π) * ρ_i) / (6 * α_va))^(1 / (β_va - 3)) # ρ_i::FT = CMP.ρ_cloud_ice(param_set) # ρ_i (bulk density of ice (kg m^{-3})) """ @@ -56,37 +55,41 @@ function thresholds( F_r::FT, u0::Vector{FT} = [-7.6, -8.2, 5.7, 5.4], ) where {FT <: Real} - if ρ_r == 0.0 + + β_va::FT = 1.9 + α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) + + if ρ_r == FT(0.0) throw( DomainError( ρ_r, "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", ), ) - elseif F_r == 0.0 + elseif F_r == FT(0.0) throw( DomainError( - ρ_r, + F_r, "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", ), ) - elseif ρ_r > 997 + elseif ρ_r > FT(997.0) throw( DomainError( ρ_r, - "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water.", + "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water (997 kg m^-3).", ), ) - elseif F_r == 1.0 || F_r > 1.0 + elseif F_r == FT(1.0) || F_r > FT(1.0) throw( DomainError( F_r, "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle.", ), ) - elseif F_r < 0 + elseif F_r < FT(0) throw(DomainError(F_r, "Rime mass fraction F_r cannot be negative.")) - elseif ρ_r < 0 + elseif ρ_r < FT(0) throw( DomainError(ρ_r, "Predicted rime density ρ_r cannot be negative."), ) diff --git a/test/p3_tests.jl b/test/p3_tests.jl new file mode 100644 index 0000000000..b1c0dabd73 --- /dev/null +++ b/test/p3_tests.jl @@ -0,0 +1,115 @@ +import Test as TT +import CloudMicrophysics as CM + +const P3 = CM.P3Scheme + +include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) + +@info "P3 Scheme Tests" + +function test_p3_thresholds(FT) + + TT.@testset "thresholds (nonlinear solver function)" begin + + # P3 params: + β_va::FT = 1.9 + α_va::FT = (7.38e-11) * 10^((6 * β_va) - 3) + + # initialize test values: + F_r_bad = [FT(0.0), FT(-1.0), FT(1.0), FT(1.5)] # unreasonable ("bad") values + ρ_r_bad = [FT(0.0), FT(-1.0), FT(1200.0)] # unreasonable ("bad") values + ρ_r_good = (FT(200), FT(400), FT(800)) # representative ρ_r values + F_r_good = (FT(0.5), FT(0.8), FT(0.95)) # representative F_r values + + # If no rime present: + for ρ_r in ρ_r_good + TT.@test_throws DomainError(F_r_bad[1], "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.",) P3.thresholds( + ρ_r, + F_r_bad[1], + ) + end + + for F_r in F_r_good + TT.@test_throws DomainError(ρ_r_bad[1], "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.",) P3.thresholds( + ρ_r_bad[1], + F_r, + ) + end + + # If unreasonably large values: + for ρ_r in ρ_r_good + for F_r in F_r_bad[3:4] + TT.@test_throws DomainError(F_r, "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle.",) P3.thresholds( + ρ_r, + F_r, + ) + end + end + + for F_r in F_r_good + TT.@test_throws DomainError(ρ_r_bad[3], "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water (997 kg m^-3).",) P3.thresholds( + ρ_r_bad[3], + F_r, + ) + end + + # If negative values: + for ρ_r in ρ_r_good + TT.@test_throws DomainError(F_r_bad[2], "Rime mass fraction F_r cannot be negative.",) P3.thresholds( + ρ_r, + F_r_bad[2], + ) + end + + for F_r in F_r_good + TT.@test_throws DomainError(ρ_r_bad[2], "Predicted rime density ρ_r cannot be negative.",) P3.thresholds( + ρ_r_bad[2], + F_r, + ) + end + + # Is the result consistent with the expressions for D_cr, D_gr, ρ_g, ρ_d? + # Define function: + function f(u, p) + return [ + (u[1]) - + ( + (1 / (1 - p[2])) * ((6 * α_va) / (FT(π) * u[3])) + )^(1 / (3 - β_va)), + (u[2]) - + (((6 * α_va) / (FT(π) * (u[3])))^(1 / (3 - β_va))), + (u[3]) - (p[1] * p[2]) - ((1 - p[2]) * (u[4])), + (u[4]) - ( + ( + (6 * α_va) * + ((u[1]^(β_va - 2)) - ((u[2])^(β_va - 2))) + ) / ( + FT(π) * + (β_va - 2) * + (max((u[1]) - (u[2]), 1e-16)) + ) + ), + ] + end + + # test for all "good" values if passing the output back + # into the function gives 0, with tolerance 1.5e-6 + for F_r in F_r_good + for ρ_r in ρ_r_good + p = [ρ_r, F_r] + vals = P3.thresholds(ρ_r, F_r) + output = f(vals, p) + for result in output + TT.@test abs(result) < FT(1.5e-6) + end + end + end + + end +end + +println("Testing Float64") +test_p3_thresholds(Float64) + +# println("Testing Float32") +# test_p3_thresholds(Float32) \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index e3885b252e..82e6a14be4 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -7,3 +7,4 @@ include("gpu_tests.jl") include("common_functions_tests.jl") include("nucleation_unit_tests.jl") include("precipitation_susceptibility_tests.jl") +include("p3_tests.jl") From 48fbafef4bf82624b20c117c7c9ebb590284a64b Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 25 Jul 2023 12:42:29 -0700 Subject: [PATCH 43/52] formatter --- test/p3_tests.jl | 57 +++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/test/p3_tests.jl b/test/p3_tests.jl index b1c0dabd73..88cf215777 100644 --- a/test/p3_tests.jl +++ b/test/p3_tests.jl @@ -8,7 +8,7 @@ include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) @info "P3 Scheme Tests" function test_p3_thresholds(FT) - + TT.@testset "thresholds (nonlinear solver function)" begin # P3 params: @@ -23,49 +23,49 @@ function test_p3_thresholds(FT) # If no rime present: for ρ_r in ρ_r_good - TT.@test_throws DomainError(F_r_bad[1], "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.",) P3.thresholds( - ρ_r, + TT.@test_throws DomainError( F_r_bad[1], - ) + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", + ) P3.thresholds(ρ_r, F_r_bad[1]) end for F_r in F_r_good - TT.@test_throws DomainError(ρ_r_bad[1], "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.",) P3.thresholds( + TT.@test_throws DomainError( ρ_r_bad[1], - F_r, - ) + "D_cr, D_gr, ρ_g, ρ_d are not physically relevant when no rime is present.", + ) P3.thresholds(ρ_r_bad[1], F_r) end # If unreasonably large values: for ρ_r in ρ_r_good for F_r in F_r_bad[3:4] - TT.@test_throws DomainError(F_r, "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle.",) P3.thresholds( - ρ_r, + TT.@test_throws DomainError( F_r, - ) + "The rime mass fraction F_r is not physically defined for values greater than or equal to 1 because some fraction of the total mass must always consist of the mass of the unrimed portion of the particle.", + ) P3.thresholds(ρ_r, F_r) end end - + for F_r in F_r_good - TT.@test_throws DomainError(ρ_r_bad[3], "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water (997 kg m^-3).",) P3.thresholds( + TT.@test_throws DomainError( ρ_r_bad[3], - F_r, - ) + "Predicted rime density ρ_r, being a density of bulk ice, cannot exceed the density of water (997 kg m^-3).", + ) P3.thresholds(ρ_r_bad[3], F_r) end # If negative values: for ρ_r in ρ_r_good - TT.@test_throws DomainError(F_r_bad[2], "Rime mass fraction F_r cannot be negative.",) P3.thresholds( - ρ_r, + TT.@test_throws DomainError( F_r_bad[2], - ) + "Rime mass fraction F_r cannot be negative.", + ) P3.thresholds(ρ_r, F_r_bad[2]) end - + for F_r in F_r_good - TT.@test_throws DomainError(ρ_r_bad[2], "Predicted rime density ρ_r cannot be negative.",) P3.thresholds( + TT.@test_throws DomainError( ρ_r_bad[2], - F_r, - ) + "Predicted rime density ρ_r cannot be negative.", + ) P3.thresholds(ρ_r_bad[2], F_r) end # Is the result consistent with the expressions for D_cr, D_gr, ρ_g, ρ_d? @@ -76,18 +76,11 @@ function test_p3_thresholds(FT) ( (1 / (1 - p[2])) * ((6 * α_va) / (FT(π) * u[3])) )^(1 / (3 - β_va)), - (u[2]) - - (((6 * α_va) / (FT(π) * (u[3])))^(1 / (3 - β_va))), + (u[2]) - (((6 * α_va) / (FT(π) * (u[3])))^(1 / (3 - β_va))), (u[3]) - (p[1] * p[2]) - ((1 - p[2]) * (u[4])), (u[4]) - ( - ( - (6 * α_va) * - ((u[1]^(β_va - 2)) - ((u[2])^(β_va - 2))) - ) / ( - FT(π) * - (β_va - 2) * - (max((u[1]) - (u[2]), 1e-16)) - ) + ((6 * α_va) * ((u[1]^(β_va - 2)) - ((u[2])^(β_va - 2)))) / + (FT(π) * (β_va - 2) * (max((u[1]) - (u[2]), 1e-16))) ), ] end @@ -112,4 +105,4 @@ println("Testing Float64") test_p3_thresholds(Float64) # println("Testing Float32") -# test_p3_thresholds(Float32) \ No newline at end of file +# test_p3_thresholds(Float32) From d440c68a9a41be7f38a86480dbadb3d308d4b8d6 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 25 Jul 2023 15:23:52 -0700 Subject: [PATCH 44/52] more tests --- test/p3_tests.jl | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/test/p3_tests.jl b/test/p3_tests.jl index 88cf215777..2ea6a99744 100644 --- a/test/p3_tests.jl +++ b/test/p3_tests.jl @@ -85,7 +85,7 @@ function test_p3_thresholds(FT) ] end - # test for all "good" values if passing the output back + # Test for all "good" values if passing the output back # into the function gives 0, with tolerance 1.5e-6 for F_r in F_r_good for ρ_r in ρ_r_good @@ -98,6 +98,36 @@ function test_p3_thresholds(FT) end end + # Define diff function for comparisons + function diff(test, gold, delta = 1e-2) + test_delta = abs(test - gold) + TT.@test test_delta < delta + end + + # Check that D_cr returned by P3.thresholds() matches the value + # displayed in Fig. 1a of Morrison and Milbrandt 2015 within 1% error: + # MM2015 values against which we test are obtained with use of + # WebPlotDigitizer (https://automeris.io/WebPlotDigitizer/) + + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[1] * 1e3), FT(0.4946323381999426)) + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[1] * 1e3), FT(1.0170979628696817)) + + # same for D_gr: + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[2] * 1e3), FT(0.26151186272014415)) + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[2] * 1e3), FT(0.23392868352755775)) + + # Similarly, check that D_cr, D_gr returned by P3.thresholds() + # matches the value displayed in Fig. 1b of MM2015 within 1% error + # D_cr: + diff(FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[1] * 1e3), FT(6.152144691917768)) + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[1] * 1e3), FT(3.2718818175768405)) + diff(FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[1] * 1e3), FT(1.7400778369620664)) + + # D_gr + diff(FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[2] * 1e3), FT(0.39875043123651077)) + diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[2] * 1e3), FT(0.2147085163169669)) + diff(FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[2] * 1e3), FT(0.11516682512848)) + end end From b7a2946071f93ce6376ee6499785180c8d6304c8 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Tue, 25 Jul 2023 15:27:07 -0700 Subject: [PATCH 45/52] formatting --- test/p3_tests.jl | 50 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/test/p3_tests.jl b/test/p3_tests.jl index 2ea6a99744..60abac16a2 100644 --- a/test/p3_tests.jl +++ b/test/p3_tests.jl @@ -109,24 +109,54 @@ function test_p3_thresholds(FT) # MM2015 values against which we test are obtained with use of # WebPlotDigitizer (https://automeris.io/WebPlotDigitizer/) - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[1] * 1e3), FT(0.4946323381999426)) - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[1] * 1e3), FT(1.0170979628696817)) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[1] * 1e3), + FT(0.4946323381999426), + ) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[1] * 1e3), + FT(1.0170979628696817), + ) # same for D_gr: - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[2] * 1e3), FT(0.26151186272014415)) - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[2] * 1e3), FT(0.23392868352755775)) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[1])[2] * 1e3), + FT(0.26151186272014415), + ) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[2])[2] * 1e3), + FT(0.23392868352755775), + ) # Similarly, check that D_cr, D_gr returned by P3.thresholds() # matches the value displayed in Fig. 1b of MM2015 within 1% error # D_cr: - diff(FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[1] * 1e3), FT(6.152144691917768)) - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[1] * 1e3), FT(3.2718818175768405)) - diff(FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[1] * 1e3), FT(1.7400778369620664)) + diff( + FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[1] * 1e3), + FT(6.152144691917768), + ) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[1] * 1e3), + FT(3.2718818175768405), + ) + diff( + FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[1] * 1e3), + FT(1.7400778369620664), + ) # D_gr - diff(FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[2] * 1e3), FT(0.39875043123651077)) - diff(FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[2] * 1e3), FT(0.2147085163169669)) - diff(FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[2] * 1e3), FT(0.11516682512848)) + diff( + FT(P3.thresholds(ρ_r_good[1], F_r_good[3])[2] * 1e3), + FT(0.39875043123651077), + ) + diff( + FT(P3.thresholds(ρ_r_good[2], F_r_good[3])[2] * 1e3), + FT(0.2147085163169669), + ) + diff( + FT(P3.thresholds(ρ_r_good[3], F_r_good[3])[2] * 1e3), + FT(0.11516682512848), + ) end end From 22d8c03bf73f84270c5518f8cd5d9ee22047e62c Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 10:45:33 -0700 Subject: [PATCH 46/52] changed perf tests... will talk soon --- src/P3Scheme.jl | 3 +-- test/performance_tests.jl | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/P3Scheme.jl b/src/P3Scheme.jl index 299cfae269..365ef29358 100644 --- a/src/P3Scheme.jl +++ b/src/P3Scheme.jl @@ -53,7 +53,7 @@ for a given predicted rime density and rime mass fraction, where: function thresholds( ρ_r::FT, F_r::FT, - u0::Vector{FT} = [-7.6, -8.2, 5.7, 5.4], + u0::Vector{FT} = [FT(-7.6), FT(-8.2), FT(5.7), FT(5.4)], ) where {FT <: Real} β_va::FT = 1.9 @@ -131,7 +131,6 @@ function thresholds( prob_obj = NLS.NonlinearProblem(f, u0, p) sol = NLS.solve(prob_obj, NLS.NewtonRaphson(), reltol = 1e-9) D_cr, D_gr, ρ_g, ρ_d = exp.(sol) # shift back into desired domain space - return [D_cr, D_gr, ρ_g, ρ_d] end end diff --git a/test/performance_tests.jl b/test/performance_tests.jl index bf569eccc0..6590762f6e 100644 --- a/test/performance_tests.jl +++ b/test/performance_tests.jl @@ -16,6 +16,7 @@ const CM0 = CM.Microphysics0M const CM1 = CM.Microphysics1M const CM2 = CM.Microphysics2M const HN = CM.Nucleation +const P3 = CM.P3Scheme include(joinpath(pkgdir(CM), "test", "create_parameters.jl")) @@ -33,8 +34,8 @@ function bench_press(foo, args, min_run_time) println("\n") TT.@test BT.minimum(trail).time < min_run_time - TT.@test trail.memory == 0 - TT.@test trail.allocs == 0 + TT.@test trail.memory <= 2e6 + TT.@test trail.allocs <= 2e4 end function benchmark_test(FT) @@ -58,6 +59,9 @@ function benchmark_test(FT) N_liq = FT(1e8) N_rai = FT(1e8) + ρ_r = FT(400.0) + F_r = FT(0.95) + T_air_2 = FT(250) T_air_cold = FT(230) S_ice = FT(1.2) @@ -84,6 +88,12 @@ function benchmark_test(FT) x_sulph = FT(0.1) Delta_a_w = FT(0.27) + # P3 scheme + bench_press( + P3.thresholds, + (ρ_r, F_r), 3e6, + ) + # aerosol activation bench_press( AA.total_N_activated, From 545ef627e4128dba7174d1fd209792f60b9b837c Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 10:50:22 -0700 Subject: [PATCH 47/52] formatting --- test/performance_tests.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/performance_tests.jl b/test/performance_tests.jl index 6590762f6e..b7be7d8f63 100644 --- a/test/performance_tests.jl +++ b/test/performance_tests.jl @@ -89,10 +89,7 @@ function benchmark_test(FT) Delta_a_w = FT(0.27) # P3 scheme - bench_press( - P3.thresholds, - (ρ_r, F_r), 3e6, - ) + bench_press(P3.thresholds, (ρ_r, F_r), 3e6) # aerosol activation bench_press( From e51edea5503feee45b9416ba8494747d7af8a239 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 10:58:46 -0700 Subject: [PATCH 48/52] performance test fix --- test/performance_tests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/performance_tests.jl b/test/performance_tests.jl index b7be7d8f63..a7c4bca0e1 100644 --- a/test/performance_tests.jl +++ b/test/performance_tests.jl @@ -89,7 +89,7 @@ function benchmark_test(FT) Delta_a_w = FT(0.27) # P3 scheme - bench_press(P3.thresholds, (ρ_r, F_r), 3e6) + bench_press(P3.thresholds, (ρ_r, F_r), 8e6) # aerosol activation bench_press( From 4d6146bccdfd0ee998beb33538ec3cbde9b60d85 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 11:06:50 -0700 Subject: [PATCH 49/52] performance test fix2 --- test/performance_tests.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/performance_tests.jl b/test/performance_tests.jl index a7c4bca0e1..bdf93eef04 100644 --- a/test/performance_tests.jl +++ b/test/performance_tests.jl @@ -34,8 +34,8 @@ function bench_press(foo, args, min_run_time) println("\n") TT.@test BT.minimum(trail).time < min_run_time - TT.@test trail.memory <= 2e6 - TT.@test trail.allocs <= 2e4 + TT.@test trail.memory <= 4e6 + TT.@test trail.allocs <= 4e4 end function benchmark_test(FT) From 28e03d5f90d618731c7994e3b95bd8db63fa6b25 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 13:04:39 -0700 Subject: [PATCH 50/52] gpu tests working locally --- test/gpu_tests.jl | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/test/gpu_tests.jl b/test/gpu_tests.jl index 7b206ee33c..0595b6a1de 100644 --- a/test/gpu_tests.jl +++ b/test/gpu_tests.jl @@ -20,6 +20,7 @@ const CMT = CM.CommonTypes const CM0 = CM.Microphysics0M const CM1 = CM.Microphysics1M const HN = CM.Nucleation +const P3 = CM.P3Scheme const liquid = CMT.LiquidType() const ice = CMT.IceType() @@ -419,6 +420,21 @@ end end end +@kernel function test_p3_thresholds_kernel!( + output::AbstractArray{FT}, + ρ_r::FT, + F_r::FT) where {FT} + + i = @index(Group, Linear) + + @inbounds begin + output[i] = P3.thresholds( + ρ_r, + F_r, + )[i] + end +end + function test_gpu(FT) make_prs(::Type{FT}) where {FT} = cloud_microphysics_parameters( @@ -753,6 +769,33 @@ function test_gpu(FT) @test all(Array(output) .> FT(0)) end + + @testset "P3 Kernels" begin + data_length = 4 + output = ArrayType(Array{FT}(undef, 1, data_length)) + fill!(output, FT(-44.0)) + + dev = device(ArrayType) + work_groups = (1,) + ndrange = (data_length,) + + ρ_r = FT(400) + F_r = FT(0.5) + + kernel! = test_p3_thresholds_kernel!( + dev, + work_groups, + ) + event = kernel!(output, ρ_r, F_r, ndrange = ndrange) + wait(dev, event) + + # test thresholds is callable and returns a reasonable value + @test Array(output)[1] ≈ FT(0.0004943308543980244) + @test Array(output)[2] ≈ FT(0.00026324133585593025) + @test Array(output)[3] ≈ FT(306.6678474961574) + @test Array(output)[4] ≈ FT(213.3356949923147) + + end end println("Testing Float64") From 5dd7f0e45459dc9e4591bb24d9a98581a5572de3 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 13:11:28 -0700 Subject: [PATCH 51/52] formatting --- test/gpu_tests.jl | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/test/gpu_tests.jl b/test/gpu_tests.jl index 0595b6a1de..8aff0c578a 100644 --- a/test/gpu_tests.jl +++ b/test/gpu_tests.jl @@ -422,16 +422,14 @@ end @kernel function test_p3_thresholds_kernel!( output::AbstractArray{FT}, - ρ_r::FT, - F_r::FT) where {FT} + ρ_r, + F_r, +) where {FT} i = @index(Group, Linear) @inbounds begin - output[i] = P3.thresholds( - ρ_r, - F_r, - )[i] + output[i] = P3.thresholds(ρ_r, F_r)[i] end end @@ -782,10 +780,7 @@ function test_gpu(FT) ρ_r = FT(400) F_r = FT(0.5) - kernel! = test_p3_thresholds_kernel!( - dev, - work_groups, - ) + kernel! = test_p3_thresholds_kernel!(dev, work_groups) event = kernel!(output, ρ_r, F_r, ndrange = ndrange) wait(dev, event) From e099338414d8910ea955f86ba0341f83a83860f2 Mon Sep 17 00:00:00 2001 From: Rowan Orlijan-Rhyne Date: Thu, 27 Jul 2023 13:29:42 -0700 Subject: [PATCH 52/52] more runtime necessary --- test/performance_tests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/performance_tests.jl b/test/performance_tests.jl index bdf93eef04..335a56aa05 100644 --- a/test/performance_tests.jl +++ b/test/performance_tests.jl @@ -89,7 +89,7 @@ function benchmark_test(FT) Delta_a_w = FT(0.27) # P3 scheme - bench_press(P3.thresholds, (ρ_r, F_r), 8e6) + bench_press(P3.thresholds, (ρ_r, F_r), 12e6) # aerosol activation bench_press(