From 59a6ed3dc634454b3d5902090ea81573d617eb9d Mon Sep 17 00:00:00 2001 From: tomjanus Date: Tue, 6 Aug 2024 11:46:25 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=204f8a0?= =?UTF-8?q?55f968b66f9b6264526f43234ae25f096fa=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .buildinfo | 4 + .nojekyll | 0 _images/docker-explanation-cropped.png | Bin 0 -> 79746 bytes ...geocaret-gee-connections.drawio-scaled.png | Bin 0 -> 180356 bytes _images/geocaret-logo.png | Bin 0 -> 20129 bytes _images/spreadsheet-2127832_640.png | Bin 0 -> 29760 bytes _sources/acknowledgments.rst.txt | 11 + _sources/algorithms.rst.txt | 8 + _sources/api/geocaret.rst.txt | 7 + _sources/config.rst.txt | 74 + .../ghg_emissions/alternative_outputs.rst.txt | 200 ++ _sources/ghg_emissions/gis_assets.rst.txt | 254 +++ _sources/ghg_emissions/index.rst.txt | 39 + _sources/ghg_emissions/input_data.rst.txt | 137 ++ _sources/ghg_emissions/koppen_codes.rst.txt | 46 + _sources/ghg_emissions/limitations.rst.txt | 55 + _sources/ghg_emissions/output_data.rst.txt | 285 +++ .../ghg_emissions/output_data_exports.rst.txt | 106 + _sources/index.rst.txt | 54 + .../installation/additional_steps.rst.txt | 87 + _sources/installation/building_image.rst.txt | 66 + _sources/installation/index.rst.txt | 42 + _sources/installation/install_package.rst.txt | 193 ++ _sources/installation/using_docker.rst.txt | 46 + _sources/installation/using_image.rst.txt | 105 + _sources/introduction.rst.txt | 76 + _sources/license.rst.txt | 33 + _sources/running_geocaret/index.rst.txt | 27 + .../running_geocaret/running_docker.rst.txt | 77 + .../running_python_package.rst.txt | 157 ++ _static/0fecf1cc5677455886b4.woff2 | Bin 0 -> 21956 bytes _static/1d5fc702ab9000c3247a.woff | Bin 0 -> 30184 bytes _static/2fe080a3bf49bdc12fcb.woff2 | Bin 0 -> 21088 bytes _static/39bd78ffb50669d6855a.woff | Bin 0 -> 28620 bytes _static/4f183a25813446a47ad9.woff2 | Bin 0 -> 23072 bytes _static/5f68b8c26e28d783a591.woff2 | Bin 0 -> 23148 bytes _static/63a0f5d460fb58135365.woff | Bin 0 -> 30232 bytes _static/70e1dc5f5622381d6e9e.woff | Bin 0 -> 29416 bytes _static/84504970850f0632d9c3.woff | Bin 0 -> 28636 bytes _static/a1e4997bd1fb9d7822e1.woff2 | Bin 0 -> 22188 bytes _static/a61d04152f1635036f0d.woff2 | Bin 0 -> 21820 bytes _static/awesome-docsearch.css | 1 + _static/awesome-docsearch.js | 0 _static/awesome-sphinx-design.css | 1 + _static/awesome-sphinx-design.js | 0 _static/basic.css | 925 ++++++++ _static/c226d7283d0d52c2d32c.woff | Bin 0 -> 27896 bytes _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 + _static/copybutton.js | 248 +++ _static/copybutton_funcs.js | 73 + _static/css/custom.css | 27 + _static/doctools.js | 156 ++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/files/99_output_specification.csv | 124 ++ _static/files/99_output_specification1.csv | 124 ++ _static/files/gis_layer_metadata.csv | 21 + _static/images/docker-explanation-cropped.png | Bin 0 -> 79746 bytes ...geocaret-gee-connections.drawio-scaled.png | Bin 0 -> 180356 bytes _static/images/geocaret-logo-transparent.png | Bin 0 -> 27635 bytes _static/images/geocaret-logo.png | Bin 0 -> 20129 bytes _static/images/spreadsheet-2127832_640.png | Bin 0 -> 29760 bytes _static/language_data.js | 199 ++ _static/minus.png | Bin 0 -> 90 bytes _static/plot_directive.css | 16 + _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 160 ++ _static/references.bib | 1328 +++++++++++ _static/searchtools.js | 619 ++++++ _static/sphinx_highlight.js | 154 ++ _static/tabs.css | 89 + _static/tabs.js | 145 ++ _static/theme.css | 7 + _static/theme.js | 2 + _static/theme.js.LICENSE.txt | 6 + _static/toggleprompt.js | 117 + acknowledgments.html | 161 ++ algorithms.html | 171 ++ api/geocaret.html | 170 ++ config.html | 244 +++ genindex.html | 208 ++ ghg_emissions/alternative_outputs.html | 374 ++++ ghg_emissions/gis_assets.html | 756 +++++++ ghg_emissions/index.html | 245 +++ ghg_emissions/input_data.html | 426 ++++ ghg_emissions/koppen_codes.html | 222 ++ ghg_emissions/limitations.html | 290 +++ ghg_emissions/output_data.html | 1949 +++++++++++++++++ ghg_emissions/output_data_exports.html | 410 ++++ index.html | 229 ++ installation/additional_steps.html | 250 +++ installation/building_image.html | 223 ++ installation/index.html | 197 ++ installation/install_package.html | 370 ++++ installation/using_docker.html | 204 ++ installation/using_image.html | 269 +++ introduction.html | 226 ++ license.html | 188 ++ objects.inv | Bin 0 -> 1126 bytes running_geocaret/index.html | 175 ++ running_geocaret/running_docker.html | 241 ++ running_geocaret/running_python_package.html | 327 +++ search.html | 208 ++ searchindex.js | 1 + 107 files changed, 15588 insertions(+) create mode 100644 .buildinfo create mode 100644 .nojekyll create mode 100644 _images/docker-explanation-cropped.png create mode 100644 _images/geocaret-gee-connections.drawio-scaled.png create mode 100644 _images/geocaret-logo.png create mode 100644 _images/spreadsheet-2127832_640.png create mode 100644 _sources/acknowledgments.rst.txt create mode 100644 _sources/algorithms.rst.txt create mode 100644 _sources/api/geocaret.rst.txt create mode 100644 _sources/config.rst.txt create mode 100644 _sources/ghg_emissions/alternative_outputs.rst.txt create mode 100644 _sources/ghg_emissions/gis_assets.rst.txt create mode 100644 _sources/ghg_emissions/index.rst.txt create mode 100644 _sources/ghg_emissions/input_data.rst.txt create mode 100644 _sources/ghg_emissions/koppen_codes.rst.txt create mode 100644 _sources/ghg_emissions/limitations.rst.txt create mode 100644 _sources/ghg_emissions/output_data.rst.txt create mode 100644 _sources/ghg_emissions/output_data_exports.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/installation/additional_steps.rst.txt create mode 100644 _sources/installation/building_image.rst.txt create mode 100644 _sources/installation/index.rst.txt create mode 100644 _sources/installation/install_package.rst.txt create mode 100644 _sources/installation/using_docker.rst.txt create mode 100644 _sources/installation/using_image.rst.txt create mode 100644 _sources/introduction.rst.txt create mode 100644 _sources/license.rst.txt create mode 100644 _sources/running_geocaret/index.rst.txt create mode 100644 _sources/running_geocaret/running_docker.rst.txt create mode 100644 _sources/running_geocaret/running_python_package.rst.txt create mode 100644 _static/0fecf1cc5677455886b4.woff2 create mode 100644 _static/1d5fc702ab9000c3247a.woff create mode 100644 _static/2fe080a3bf49bdc12fcb.woff2 create mode 100644 _static/39bd78ffb50669d6855a.woff create mode 100644 _static/4f183a25813446a47ad9.woff2 create mode 100644 _static/5f68b8c26e28d783a591.woff2 create mode 100644 _static/63a0f5d460fb58135365.woff create mode 100644 _static/70e1dc5f5622381d6e9e.woff create mode 100644 _static/84504970850f0632d9c3.woff create mode 100644 _static/a1e4997bd1fb9d7822e1.woff2 create mode 100644 _static/a61d04152f1635036f0d.woff2 create mode 100644 _static/awesome-docsearch.css create mode 100644 _static/awesome-docsearch.js create mode 100644 _static/awesome-sphinx-design.css create mode 100644 _static/awesome-sphinx-design.js create mode 100644 _static/basic.css create mode 100644 _static/c226d7283d0d52c2d32c.woff create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/css/custom.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/files/99_output_specification.csv create mode 100644 _static/files/99_output_specification1.csv create mode 100644 _static/files/gis_layer_metadata.csv create mode 100644 _static/images/docker-explanation-cropped.png create mode 100644 _static/images/geocaret-gee-connections.drawio-scaled.png create mode 100644 _static/images/geocaret-logo-transparent.png create mode 100644 _static/images/geocaret-logo.png create mode 100644 _static/images/spreadsheet-2127832_640.png create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plot_directive.css create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/references.bib create mode 100644 _static/searchtools.js create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/tabs.css create mode 100644 _static/tabs.js create mode 100644 _static/theme.css create mode 100644 _static/theme.js create mode 100644 _static/theme.js.LICENSE.txt create mode 100644 _static/toggleprompt.js create mode 100644 acknowledgments.html create mode 100644 algorithms.html create mode 100644 api/geocaret.html create mode 100644 config.html create mode 100644 genindex.html create mode 100644 ghg_emissions/alternative_outputs.html create mode 100644 ghg_emissions/gis_assets.html create mode 100644 ghg_emissions/index.html create mode 100644 ghg_emissions/input_data.html create mode 100644 ghg_emissions/koppen_codes.html create mode 100644 ghg_emissions/limitations.html create mode 100644 ghg_emissions/output_data.html create mode 100644 ghg_emissions/output_data_exports.html create mode 100644 index.html create mode 100644 installation/additional_steps.html create mode 100644 installation/building_image.html create mode 100644 installation/index.html create mode 100644 installation/install_package.html create mode 100644 installation/using_docker.html create mode 100644 installation/using_image.html create mode 100644 introduction.html create mode 100644 license.html create mode 100644 objects.inv create mode 100644 running_geocaret/index.html create mode 100644 running_geocaret/running_docker.html create mode 100644 running_geocaret/running_python_package.html create mode 100644 search.html create mode 100644 searchindex.js diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..86b872d --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 44fbe063ef6cbeb1ac0c86e5d26336d0 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_images/docker-explanation-cropped.png b/_images/docker-explanation-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..802383b3d3e2ae8f2e7acfe66cc19b319d1394d0 GIT binary patch literal 79746 zcmeFZWmFzbmo|z!1a}Ya?(PJ4cX!v|PH-m#x8UwB!QF$qI|K-t)8u()=ACuEA7|D& z-@jpnO4D7ntLoZz?OJ``k&5z?h;X=YARr)!(o$l|ARu5zARyqxFi^l9r_{7p5D;p4 zZ&giKWg`z_M`s6fD_b*SS1(61Vlz)Ga}W^EmC8&jciq<5kUuUM4zQWw`;L6yJ*LMl z89h~+$i~!C4OZ1Yafg4FMurg!FwA)E{^K(4|8`4cp%Ot+tn4zjd_&pv)8{bFI!EyJ z&6Q&#=V7X9u{-#{TkH>&9I*zg7H{a9K zvB;FC?R3PiXK%fdP6qUs+n~>Sxq@?btqV7Pa3+Fr)l-7zTmA(^wSM^bjDHw39mp@x zIyQSD$EJ|=!C{^RGo~NOZ<744B>0!_7N2kJK4I_C^1l9_!=9N@+)Z~K1sgWn$VeR<{`dU~4h_wmCp$VTz4>v|KkSa3NUr}G|9 z=jo=n<4AeNyTn@)X|4*(Gt>Dk=oIPvhvQAX!+QsAOrG~QubxXbI~POSejBg-=Fl;P zXtW=m!S8|R<9^?|u$^x?6&WVX$9) zyB{~-Y`UHUUC`ksm(#AD;0O0RqbHaeoS#NkHBmhDCFGWR9Q+0U%(OwNGmVVGC4?Cb zxkM(cDUiW<je6^WpgEoXFw`}K)MUp>9Gk?vjB>%Qs}st~qcw-3-BP}Z z5`MxKF}EvQs(h4kdZ-le%I4tvkY0;Qy{D-84U;Dd!=%suQ^jvZ1(JbeWqI<2dF3gR zp-ksVa(ML5u;dwupBRefXFpZv4Q5zZ6)mnW&c$(c ztb(Ocs|nj%G4UG&7ORQWxi7UrPP{p>pLKY5b1)W0Uo}q6KfTo0zd2}3S{`?`I(JvC zYLqu6haKqEQo@<3;zbB-%=zvM;(ivK!iaaE$7WSuV)$@hT>& zDR}5iWA){0${Y|^=GAp?LmgUXaDJUzW7#-9Hj>smj1Tg$Kq5D~=2EY5+1q{DqZYKO zx3Zi~g$;)q9Y{*Dsn4>N3qz0gZ`&2@NNrK>?OAO%8vNwdnB*CCkm3bnCM4^Ku3yfd zyl|G`MKsmoo$clH2p2&GnWKz%c{&t;>511f``DBHk$HRkuvwwfui1cGwfl{qmzExpBQsY)BYl|qF)>IoGHzj5Jgc>~ z>-h)vHDpd5#-gxmY`L+}?HQpHYTXvw) z=_qmew;eDQQ6oz)_te2g!&$f@=h7~bGTO)1R;irFEe2RF!kF~67%o&tv36Kn4O&9w zS6l&YOr}<)t@u_DtwJ(B&boWUtBr488%&s;YH|IRnOV1#`7l$W{VGkr2qJYt$hZ@?Iwyf+)No#HhdaVZ{<^5JjmB?$2O4cS32AElW#^@| z2(3NvkzP_YNFLU-%uCoCmm{Yutra}*3uE?CqkC{v{PP^V*_r>HrQaW@_#ns;)0p8c zm^o4vn?})Yc#x+r#@n*ce#y=8vc&L6Xis}j-UkP7 zLXRf#;;^BxG73P95c3-yzq1_P*O^BZ2G^^*qNO9kerr)y3A@?HaEf7H)oe`QbVw|@bGXWX|a@P;XK`UWM|GJ5cZtcWl#BN#5?54XQSIV*woCbgb)QguPq z-c+<}f~L8^=i1zS(WOiZ{$ShydABA6!YuB*kpd6uA;Zu<7kOL3T7P+HJ^+IzV_L&R z99%(x6L@BrCFG4@TQ_FO#GHAb{;RtF&%=mN$6va&5{XUk$WD1RSbm~MfT7=eYB|KG}`Llwn*BK@Hbh zh2Oj#xVSmkyA^O4v!vLvgw&?GimQ0tplJ)VU-o-qqYy;QL)hc5pe}iK=W~=yD3?S( zAVXNWE^t$nGY?3>OtQC1kxJUQVg;Deok?Q`*JA)lU5&T&9?vfYnbP|Z zo$(ElQ?i6`A+jIClH1C*W+fuKDnFlU>{;^mF|wLy+q?zmN+)#~Tm>xRv~D_yY3B4A zI|5?dMIu5^@9Sfq08@lQ$tOgZa01Wi?3f~PE|!E=%rDsL=U5pJJ!U&$L>P$*DHrBS zBdCgU*=5Gc@H-ZIB;vuVyxxm6knnOh^=wCok=7iG{$$QpW#{Qc(C0J2BGTiQ^+0%YkkM8k@a`hQ*qAoQ&;p`J#Z80$Kq1 z`(A{Ey!nK$4w@W%g0^B=sKv)2Ty8dRky$iS=7=dmySt7r5mZ%#16l+g{Qq4Y9!{I)r?mrl#!uzwewLpDycVh8;1+C5aCbg=W{x+=#bN% zZ^g1dC#EAexmVV%l)w-_$$OJK9jqh!=}&f|Csj14V!r((z23i-#T;ra!n}a!_^D)I zrpy4UU@mNIE28@G4%P{O4>g-aw8k0F8RfRZXXKb>x_~< zykWVxn(*XD=|I(8WleTX0~ilQcCJA1+;0iS28OR2!M z-KzVcl_viSvzYs)<}1_aZuD{ULKcm))VRSi8D<@}m((ZpPf``PsKXM!1G7ajs4G9n zdZ!W$KM4^N5uK`v!yf+-mRN-?G}s%RU&9=c)^NkJkpU$QN=Ek{kza=CX)*-W5E+12 zZU(;{cEdi_odlf}!upA(J!BDECVhu~!+5Xi1S$=AxuO;5^CM;EHwYrK5xAxXB4?%< zzVLY4OxG%XDM@S3v8&Bs(&rCK*jvcWTr}i&&hVO46*^*u3n!NbXGg;j0*CbkPhfGY zRCCfn;Hdec5oLt&$h1vgL30e;I;)EL^FDVTTI-g--KT6j7=@6N!?Ycb_Vv5jT_Qgb ze%Xrp25ltJBiB)%H$rf_8(+>^U)a;)08{2`LmsWx%zT=xQ^otUz{mS~-9}1Ye9ctW zD_Y0ubok=gS{M!A#eB!lpu1!VgxfLAQVcI(g~|!*E~k*r$e4EwWu?Kqe)>pNr0jR% zHCiDKSlaw;+mnmkg5*V`R)3C%-$TaZHEEw1anxDsRg&7MZOunROB-;Z>1|k>1Q>L5 zDR7>oo@vd*P$=xT^Nv4;E7?{QYNg{ISOiOLzu>F#N#jp!G0_F6hAX#Ey9Lt z7LIWfA{KCVhCzIk&EzbnMuzSI-jdrHUn$EYLP$|XL3xbiu=NTOK?AMl--2F}b$i!5 zn@`3x4$>e+Lxffr|GHpgOF%dvIr6xtLY%^B{m?Hu_JKJzIzWO3gkd4{!8C-n!VRMN z)c2z^Iv?&n<_A?8(rPvc*^FS@oQMYwEqWGaW`(e+62~Z!mT!dNW{#9=>+Kz)AI-|A z^IX3SaT1$Z6NRZt5JRca5j6Mps==j~!3Z_@5_~$6SJvz&!NL5M5t=MUNq#m%#!jk9 z^Mag@1dCmoiA39X*u){FCraJVV9}ID6Hj97y7m*fNKfapsWZz52$LwrK%{^vWxaKd zIt;A@9G(SIRND`fyu-rjIw4xjPR@eyfn9-P@gcZgPE-X;Ongg%F(I%;s8B+&GziNq z!an_y5Yvf^`26;op3LGHzT`TI^$2*H1ABS{Zpk?H>h_cgXX;ypk*CY)j5YeW)pZTlNGOJ0G*d!%&}k_%x%>6&wkydFbx58Tu8Znwl>JngW>%Qq#+R z=X3CYEV|nih?c3W4lw^B+>Rx4JZmnWN5mvvp6q!trCo!p2d4&;n`W9($KgY1mDG;I z`1MUJ79J~V@F(O#gkk(1lIa^mZU2*(Q7OrFfB2OoZJhXYAOq6TM-lB?8iwN=Uv5WK z&q{q`MRvXyIR36y=%k_g4{3}}fk>ttx=>g~FR-|SG+GSqkE~(p!nQ5Bh9Mn0Dq8c0 zi#EeGtEy7{_{iZXOAG0s@b%A3U{B8rH6pAzW@DN9sdxYkMEDTbHqG_jv$p*yz9 z@U*gFDTnRqq0YNAtQq4G&@pSY6Vpt=FItb37TklEXc$G)((VN;s>_aSFHD0wi~6i9 zz*fri7p0abuhEn|%}cG;AheJJj}+~ScBTJwq5Fk_}N#mEjMF{eg0&ihzQF%u&k3&R8%c6bC8H@xl zDc-smgfFI$Df5C_yd^Qg4;uMHVN*Wjahr^$^opF*iM9;)L%6PoqeE$RZkW;`pxQ;q zTdwy-8%56u-v|pUV#Ob!Zc^E~B72h}lF^Cze?Y*GFBlgn8MbO@jN1)v_}zddMxTPN zXn%yMN=JeloT-ptEKvc4=Y@*pW+mGDlH}6z+Ac%KO%vKI}-ns zp3wM%HK&cl0!mPc^|>B&GHpCeqpDN^?+X}#biOVVhn>heqV!sYgj=FlK5Vs89t;6z zz%>%oMX?@hP(~&kFR@ApkA!4yvHYlWp|lFAG~6dg7clu+tRVNLax@$tjYg$M8^F2dottDW}2rBO!DMT2&r5>2vfq?Feiqa!29%%SY>4o9m zo7m>Uu?KR?l++gHaNw*4E)ZuS3|Z}Vnc8)ZWnB8H%T<7of!Z*cjM-jdQt2M*fuf7` z_96t9tCvdCOC2my*4-#}OjEJd!Y$eovSprb00qBH7aU9PnV;4g3tat73OvR}GX?4! ztu?2nBhKP_NOnLc730_yFDlm<$T~k==BLeG@Or7+Tswa^2w{Enzz=zWcL>zvIariLNlnRL@S8iHALc+~8xy{2t_Q^7<$}ixQ({Pe<|8%4f=7j2!W*rPov!IX!>Wit zi7;FW;|Gm-oHL$*8r1o6Rpr`^-ri5%deTM^+$?a=~&dRk8}Hhc$^6CihcDY-ky_dU=I=WdFq^RMc2MiHo$ zu&fZrNf3#apJCYhQheC$-|XbZ%2b8ge%xL&i&7bWymMO6Ec*e@CN*&3V`Gps&ZRn{ z=2XhNu#IOmKZ46-J#7@vWXM9{p6M`Qu@kl}M@Vg1np3A4 zlo8Bmenpuq!u~Zhm(W}ESbBq$SR-W%^xKNp2b&M4Dtv})LE4Z>rmCJPB$LP(KS>3I z{*b+bxEG2?8)Mzm5Uw~{WrdI{20jIcH~V;elVqilEBQf(C_uUPRd{zJom^BTS%I%L z6+0w!sfYrdO=}67E@}l|0Q}k!+yvY&-v;SLXtT7Q!m_y~a067t`1C}$(?g~X#)0O$ z>HZI&2Wg0Fn?u_m)UO#!^76#vNAi_6FMWcenjnrm`xn&i7 zm=s}CQBQ5vTfod=CCX<5PkxYT@|oEX5mZR9m6YSjTDS2_|K9El=cQe=xA?SZ-AgQm z>DfgUQU>N!*>ZLUy#Y}hl2OVj!H+?MB(e-2pVeq{E=wU0F`20g6`Yw)aiaG`C92fQ zTWC-Tg9}M>ThcvR3GRka8PS_W()a?sRH#?pz%nF@Mn zrCHJUCJHa@IgKeTcAZXtUdD8VOTUK=YJiqeCqs0B48l z6{-q80z!^A9;#Gh+_Oa7F&c7q2`Qo;!J;e4l0F{TR7*7qo{^W;-+B!DC*TW%9b8H+ zc<;PLh6j-Z!3CMJO{}x13S5wz3_aNNN%--~$2HR_J$O&1$h=jIw$-0&qU)|Yp=3X# zRoq!Zh+arrUM+n-c>DwnusA12tJ5~v9^i;zxsMH!`iYtWIbd~C5@w(4lq5XwUu%5$ zZ8AQ8nMfsH?bDAff!wO1U3!*n*GN9}wVMdfVVfjQ)AUR#Jhl!>i!El&V8w6y?j>r~ z7b$cCHOc$KZge2#BpeIfP0cG`S5yd+Hb{f7yy}M4nqzo#g{{R&@xnrch zdI=LYPy8c7_Zo)$yY*xU=r)4sA6&IE6O0yEu%<$8v1|W zf}5T!zxb33;(ree$j5@EI^ykB$G^hvQMUWF%YzXau!`(5jB!qt3@R!4y{P#7Ae)T7 z#?92aP~r!gW$CLCdj>h)$;28HaiM*0&i1C$Ubw#?f7dPMgciAF{-9MC{?X~2@%_W? z)OSJu`(XZwZ^D0mO?J1}K3-(`dzjp=^ZvOQJZSfL`@`;D9V703q^_LhIiN0yjw)&V z!#d7nQ3A@nhsE~Gk0I!&lY2#^!WMbdz^e6x{qLv{_}IUQ!hf^xR4pT6P)36OK5({% zrsl~Ob#-Z%Z5o+1|G54NhaMCajONO=)vloW{Nsz?rC4 zH=Bj~_1XxMMr^)~TdIdgDPL#UHg zt8Uey@$UP>m(^Ve%iD2tj})VL-zuvdVcmYC&|)ytVVymiGciA0k_2oNU5gU@aHxzJ zkWK=F+)R{6VVL-g`P||3KqHJISXbpH4YN0)Ia&lQ0wbzuU*6CY;`P3?4vhk*bEx|& zer&0{`y}%gM8T5-x}EQ(<(uvBr;m6Du$Qwet}BDmsHt|Lg?N@Z1^mb+Zr6O4krh( z^^B`|`Qq}TBry0{E9^aL(FsevbXqc%hW?ZTTzLA%W#QZS@avLqe+*0Dw$^v~)#Xv%2wc_ouwD{wX<8y_M(1|aR-jFK+yX~Y)3I9TC zqv4-FzIK*n43hbw^qPJ$tcUcm5T&sgJeLo}cTXw)vMx&MQ@&tX|D$J?_~}E(xTVd~ zhhbgYiUE3*u*xzH;|R;Th!|q@nO;J$PEqBLbYLKADYk0t11x_mb@xb~byTmBQV_OO z4TWEYkZIfJFTw^iP3#VK>~+Iy6TY1*X%zje53Y&Ryzth#vkFp`(W$f|4ahx{8`^&g zVl4NJn!n}R(;JQVK6m+Wr?zbg?iR8q`e3MWXR=4aQH|>3Z0WR`qnyYE(#Dm`N}_Wm z6r={7>5Q*zPBm}c(gcIZ@MW=0dbVuE=1{i0oK zP}k{iQjeJdJonJE?aJMwKAeT2n%c#9V+SwKYH?3!qsy1<_ zkm?pUl|S{OE(&+_V6Pb8E$}%8132^8w`X4cxG)wFWCdELOHYp~ek<$Xa;%@I&HC2b zEJe0fP%s1>T?CNsk}QdRa<}fX)B2`xa6UiEuj$gV(-K;<4&R5Rtj+`rCyCe(2XB{A z3JbMbP!uVNjNB%cw=op#LGDhe_p~^ts@M+pmaL zJ)sFOo=-Y8 z6ZgDRjJ4aEjetrtFh*(p{7v)E{A-@C9p`jrvG4>^$xa5|31+(&kv(UpVZ51`D(X73 z0I3|tt?x8!CE8)XE9I>lq1}{f;9l^)${FhT z^Y8`NK8oA3Kwxw2q}bP-DjAL3;MjeYbo1_$z2%pL{EYUxr>s&JR-(k*cV8-(%7ged zLR|Syj*Bq(OJ{b;+*bj18$CzwJr_5=AOJ=DsJ|WElkFjF)4*xENqm6Bd8ZcUzWLROOsj3 z8-Icp-J2YL)6~p6il^qG)hu?F7gI$qN5sXTZs&i9`alZ44Q1_WUDk946>_(OT;cLL z%N)nkoCD2pF$_h^nsQ-Sqhck)#G5JfAWNQXb+o2|wXDqF@;McCFI@OJYz2Hug3|1Z zNG*z}mjVF{e=eU!821j>-XVyd4fY-lEWEL{TS-C7<-xT3$~vpBX(amj80eTaM=6M) z%SUBHoyM}|0KO%xC$181jiTlS7{afTblwQ)$Ot_C5Sw{3lZL$((#E@YQ4;ybrJ5-;h(@h>GMN2UqgE#Xk|Jg&oiTN=-XTK24cuRk+pP1NcR2aGeWRj!|K2vz1&;$*!b zia<&&vzvw3{g7tE1rW`>}rk{_IZ+$>;o#180I^TOM^E6jzP z{)mqpz*851TssC{!@bia)y-|hHEf$=`|u0#?sJ0{5@R3{b)`cfyjQyo8gD1khdyB* zkP-qAJ58I|LhVIbj63!U&kX{QIEwNIkb{UWle}C)$WVywpfLnz<~6v}NIDc}o=1tF zGE1Kk!3UVX3WCjX76?eDX5)jK;jc`JjQsk&AG`Vc{J=PyVg>Zz)pA8?N+L z3iR>6oY?GjS(MoVV#`ZYj7oSB$svzSNPSxs`5okVA=+U)B+VZW@nn)`U-^+`2{U_7 zYTR^}=PJ>6tzlcatTpS_Q67EW*-{)k_`^O@E+=umcu=Xa4)d@ECgs#~&G)rA`c zw<`g5ugOk)PQ(>js}Cxj5&=#d1lcw%GI7O08K<~h3SJeX@|>%bD8ad-YAZ@VJ z96nbg*B0tVV2IMHR{4eN7X5KcT#5j{Xczt-8FF%sCc`KWSgj^$pHlvb|K*BLFXY5LAs){?=NipuAh1s4t4ne_0wE&ZqahpP1b+`6-h9B8Q4uW;BINF5hI zaJ1AN%|+rHHVZ0Ob8jE)Hd##y1u3LoL^{^_g%TZhZRub+f`r>vPUmA)W|7&-WI~n( z!tP!Xo14W9&f^!BASn7s`r3r2X!GdrqRXy%>DB5O3*w8?=Mkyu7vecB*v3l)oSK!MCyTG@>6iDHlZ z!@fwgo98+IOEVwHyy~}*rnz>MZz6Y;-?|ql<8Nk}qjK!P4(?(3z8f&4mLre0G{XDP z(pY18-hqaErYqB6f7ub$1?dz~&S2Hyd*;rmakIxwM0jviphYlDYs5kf4ta}NO`+N! z#7N^v7@Ys+mi_Iw$s=B$CVwPw1e;lMsID#tu7A!KF-P1BFU6o-+GTYn^>EzIv6U`V ztM2LnJwwX$>s+9-^!Vpyf4#NNLm@UT^88mV4@R9zr2gW(PYbiu4CZ+b>uqVAm(|@S z8KG30JOU-vx6>Z3rZRms0VK_6hF>T_QQB?mWIjq2Pa28W&-Z=66Phe*$7!3Yys8I3 zE6c?2&zfRtIX)te@OV4`PuT@r7HOmw4uAKdHOXkEqMU%m-T4ph=iTgi> zn=EWf=$8=d!7If?OYHs^?Jf3X(7`4j(d`_V#0fjJ)$ZBIN}R+57I;?g&LKrNefD&u zPq?pXjsu)ZPTae{E1K0Qc(lUX=@Wd$3cj#z=Cl+N=gd-=@ete2Rx+S*_g#upo!gR3 zfJ^ER(A)FFe_=#?nd=(EJ%9N53ALXU7M#f~aPY}E3u<|aD}e^;>qz2m;UK36ud~7V zM-m-1nJ`rx0=s+BPyvxK3yfdjJCS>z$|$;jwnw2~YNSLGl_Xbood&ThKSg4P;q)oD zNa~z`D=Pe%0gG8DLr`;Ded-&OJ*Y?vH7b0*i+=PY=?#JxO+tfJjzp3Nnb2)s*7)t% zy!pe7kjHO0`srlw54g*OXjVc$$qWbxXo!`lsG_u}=zqLf3A|64>6^eW)h~n{wppBl zS<2Or8zCBYVk)fqL#bRb1TIhAa-nzc30@925gkjiw{dH0%6Or7KuZH!Lm2r5)XCjZ z*);*RTLzBaxMQ~^{Gsb%|AJS@QvItn)F7x@eY7hJiMdO;@f8Lr!gMq-8LLW8QXx9u z&=S9oPj}QU-DR7gq(PSvUl(GQYjHog2Kv z#D1`;Xxy*A_?(h8>D+2(2P$k!eyIGY?I=^~ig)9l@`|e0uB^Z3e}wOcv@`p9+7OoT zgEW;`I3$RNrle0K(>(?q&5B3C^LIFYw-`gHE(Vh`T`m+x-7fT>;LT3@t0HnXs@=O?{v z?Hu^W*^p*qON+5qsL%+Pm<0 z@{|6R%L81$-)1Bw{@caXhM!bZPLWvD!P$(Mje(7UiC)~(%AJK&0FIc?+0>jzSxn+z zB7nd6NiAJn9eEfTJv=-ZJXjeVoGlocxw*L+nOGQESm=Qs^e$fZu122p_AVdaMf@W} z%*@5a*~-z?%E6xaU8a$-gPSWqDJk%r_&?TX=O`!lpW^LZ{)Ga72cxHvBO@~d6Qi9S z1t*EUts;WwY@+2yPbbu2r&FV z<^H$c|FQSKoq=9*ay()VCT{P`lNRGAeV?Dl)WO8cl;`gyi;1b3sW~SLy^#@<2|b%R z3lqJuDXS4Zr?D}!F*`Rmlc~A!zloBzcX2hcH!*t`1qf%b0_2#Qo0u4za&Xc!vvZr$ zvl$r~(;Jzwo6>V}vvL}duooUtXEP&L2WM3W2U~v9_aza( zkNj)i#C-oKMas$r=;8Hl@&B@U6*H%Q{`$uSY_0x2A}0Q8wme2A|4iay5W*~jp^CU%z-OTGXQ1|GgA{TVAo8h zX8&Efi-WnVhmo_Hum!MFU^jpP{oM^Q)n6#7|9fu_OS5;Jm{{28nb_!A*i@NVc$k@Z zm|1Co3nnH~#(!;?@!hNcW5;}q|1V7V{&x7cFaV7E=N=GVfM~_|pW*6Xn7zaJfAQyE zy7<3110ec;C;1=Y`@eAgFI@j41pY^z|JShuJ-~uI zfO6*G3yB<13PBmmNQ!|VgAjvAN~?D<0C!*=rLZ1(5}*Q;?PGB z*dTC-vo(IhAiw}=F=18Dm9upZA9T03q3Z`*IR&Wzp@8XjRdIAB;(Su$?^MPQ9rf#3 zueOKlrQxCVFY*=NNe!XV#f3hJK?;95B385ZmfAF}H}mrsOSOe#7Xqt3-0ki4aCbMq z=ly)mzv*+x8fKMI49pKQ4~yCM{y%Xp_g6t1AICX1mtfkL}0b0jj2=UJs$zT-~77ib~&f);#l3lbXh5dJ9IAIR&eug39{Tjq` zm_~Vj;JPv){P5_L!Rer%Ylj^chJcfQTHUQ5W^@%(5-dA6Z;|6$tW|Fgd4ZNL=->7B zaws@v-8d`!4ugIUuzWK!GsqPuCnxX6{j`Nr70NC|x1Y-vIh92+X;71T=H|sOeuAI` zARw8}@?+Et7!Gia%eHl^=RRmBT;Jz#T(f-yh_b-`h0i}I^;q>wU}fUI_;okgtrmBF zei%J>A2Y6{;^Whu$Y58A!lXB?b)*MAZ7L)*+?nH$x35+oBMeg6e8~QR{$~ySNzKLc8}B6!|b^w1OLj7 z4!)Gs)Dy>S)_v#J2J;ErO09YcG)j3@OUn{mHp|@Y{_s-=|L1QRY*r$Nz>4Ql#y^+r z0;|NN)6D(m(50o<<~pj|)t1ucs#HM7tB-oK{Lmg_Naad8`7`rsK=H@kez>LEA7YW!ZkWAM3^rv#qqNB|87 z1o(N6jg8G+ZTGYLz5LF7+;VT%E0Bnp9skOD*9%Q#31|;mK6fA=%fLqoP-~S_yG5o` z*kBAEma6r2nt|WU&sr09|2Lm?*Eu<7F8shH0Nl6hIR7KSSd+*0cYXj%N1j#?)Y8&A znfo5s_4ahy!_v=$j)zzNu<36=lvlIj##e$&_;Z}%%d0>vd^HndEGn))r zo-S4jkKu9JS1i|C*o>z$*J;va@VHq|H>BO4ubz%Ec2}^-74dL~)HTwZtEX~cpLd{;t^DLU4uz$TwBy9KB3AANvF6>#wIjew!^KcCf) zj*nN|bd{=nKLIveaV;zbET1?xhehB2)omi3xnN}paO3$>m4$A9{}^2MPv1D~;5rst zT`Xd7SPvo|IL*hg-HvC;r#D(%zE`!K(A-^a8q9rHsCFuRd41Si`Voo7Z3Kvf_@%OR zvQU0^RzC$5x&sOhbyQJ5nYdt$NVnQ(qoEk#!G)i}<&;lKN*e2#v%S6jbk+aCta%lD zEHNpm(c^MMXw|&lYC2cA?e|U;xXbLTUw5|8jr94?+F&#wWCCd1ovk)20G`+h>_Ao7loM1yXRML08@6G#fpy^c>3z<#qSFH!2e4z=8_db6o`)vU5^KN zub2LRRQkgZ!K=;8&8_E4lvLdTN8^gMb?qHtb~{nETdpIYj*X37Y~J)M|M5dide)}8 zv$(L3>>Wz&E+4Py&z<_!#R@r9$8+ClX=pwjX1c_-d0bWj!AO013eTYNPP>C@TAaW<7TI10 zu-sJ(5V1)q)zysrnaz|ZwNy{XB`_d~Lq0pC69xSdq7wk{(p1;Ey>GnJlJ zeRoO~P!(PIAPs#la;i*8aq$JNqW$vfE;wtCi#07kOG7>gKzlNsCpukcHCL?GezESc zS$TAHB=mWIGzFL`jw|7>@}C$P85J%&AM~f|fRvzKsnc9lXK!UydN7qkgkEMbkx@ji z({u#H4~^&h^El5x=c~<2fIl~yjbQ?QFGE5?61W5;H;r@j^i+Bs>$9J=!ejd0$K*iF zbru0MWR2r8txyw#2YiU*Vm;6ua5}dk0uR-8dv|yD>9#Ch4|QGLOu)E)0ZTgB4kuCv zw%TO7oDX0|&C040$9E$&&7tpeEzWMgrWqL-X}#IiiHeG9TAOT;hJlV=Vlot~-Ra#} zcms`PW?@kdq%^hI{Zt+MnHHzr2H$6Q>HU2iPKOQM^W=9Xf;@d1^Pct8grz@yg2NrC z!k?a-odr9OCE$gUbEws%v)<@v1#%{#raE`7;LBA%JE4r2SjbAV0};%Tm6g@#$Ve$i zZg@xt6*VW)PH(4-DSKUE(iG za;Pm)$Pox^8rm&YW;Pe>XJT_bnhy5E{AXP$K+>`S3_P%D!CDQ-cQL1o`W;*)z}-u2 z!Q#=?7eJb|t_R?0!XFf$u7`+#PJNM(?=fLX0UnD1!TJGkaAsy^_Ns3GlMz1v+NwK~ z6Cgk+eg-tfUWJE-R`B-v481}acbFSU_*eTpmCol^Q4DP*gKlzj^NW=_;O9UdrQ+ad zT8t|NfO6)^3cLqA1gXt$-$Y>M?wuUL9F?$R%kOK+ zj!g{%U$rnJh&QQy&Tw^GjSiFrHo4CG6&oOEl)HaUiSziA#1Bj^BvkDI+IchVx}O*U zU2nI_vHtn86BrJ}&_5BIE@VS$y1I1Tn?xm*0Hq5s5iR2pmYqx9ycFCQNSiuLvdYLb z1U3%l{c4OoNX;6fwHW?j)NONHrEUY&jCBTyX4fC=-z+2|GYhP zkL_MVZ2YPAe?5&i`dvFj2yfke)dwHW*F>4)!%{;OHISdC?_E0hYHDF|y7}kLBbNXN zXXMwrZh^@Vj#9?R^j&Afaal~IVlKT-E1Mf!4&|lyU48-_z+PNZl1NENaNg%8C8O;CUsfegjwO`*M;yzn`>Oe((XD-r<@MB}@8pAIzu zZl3GD4~?a!{&-xRA_y>WKvj1V)%u-5D=r7)+(%D9%7?M8)@y%P?hVK1`!lcUyYAp!2(LyxYgbxqg%FR~8l)Yu#>xZa?93v$50#>jCsRwnp3Kx?Hov?9cWwrxq3# z&@s8;;o;>#SjyD=XP?RO@wpf4?a(Xw)fxa(VXxW*m}6*oIP^;Q+f(_Py+x? zayz|l%`q@B7guW0F)$z}Y#de^tWxl_9&VpsGq_#M-)U}D=e@Q()n5^Q?La~bmH@sv zAxTYDRrS0LAhXsBWoo%u85w2C$;r6^09UaG;+;IJ#pFDYEY!{LsylAJyeAugY^wu) zhqSVEvp)tzGEB>6>xEB%fCWMspq;k#2MEP{vxC9=Ttf5(<2$g6z)k^tl<_!h*=&C@$&1@QhL&U*_G74&6W2$fQ|(M;@GxDF_T0_N-C1$_f*QzaU}wjSkj3% zx3_oS1z)B8x&@B{g%-2`*8?aLIst*N=5zh(`Ip#Ob--gV>9t*_;nS5z#O9DA;R*Cuf`9X_1jn-<4@y(ia-fxeG3l&_74tDDw{Xp8YE~iNH#E{aK8ki~$$;gb07>n`cpMNa zP8Wde-E*qbY`;L@v6k208q>oj_g+3coi}fSjRBFF9VnEgl>tg}_j@<4+^9cHZR7Lp z1g8zaKgJ(`Pzexafer6ddOfEB4B;`rZrKfcKmZmZ&yXf_eSQ4|ut_|&F9Lv>O=NQ4 z#;@iG__mo(WMEjX+H!Q>PV!p+tjPnEo$deTg^16^bTpD5W@P#6XvX`vD2+=PKnCL1 zoQ#M_P_f*%VxX89Hs*HJo}HcjHT*HI1PGc>0F!YAx}L1qR3mm=+&be0;62{P3Xak(GNYiNcpv43&sXYjzE@W( zwI<;}p+*MziA-IC!f7;_x@|8}ri?C!&#Mlg(S!}-hqqQcKOz_Oi5qN|xa=78UE=iJ>K_v8^~@mYppIo#p+q9+j>*dY=Is2^y|0)NOub0&`7Ex zB492Pf7uKdDi9X|X88`?yRloJuQWcrJzqAOj-UcALqkg|189w$oczXTt!ne zy|2H2p~gs*9mu@zaS`B5h4NWED5L+-qsp3%0?7||M>C>+-3Io}I>0|5AqwOu6kCn5 z$!XDHYE`N)+j4Mc$%lr7;JbbSyy2Zyh1L)PFlllo0y@bh+~fUwWL3f||BT|AHdX{w zMIk5TZo2aFv0tL1j$!`RRto?HJ}Uj5z4Hwa5x^5j{eA`q;0QEAZt~C63`$B$ZKqZ3 z=xAvD&3Q;;laq_@M;ZC~q&&b$7*KSZB_t%gcbKm;lX*Yl0jNB?)hyXNqvhIX9sua& z|F=W4Q^xjn!r#qf`?FoX&%Y_=otBrEX{f1T8?xjn-_L>MrN6HSf2mL}M@2(xbUjv< zR<^gVg8D#M0Wgj+<83TBw}h#~xgbb*RZUH7;LCy1smd2V9lqB&u|^riUTwZd)GEc6 zKO#^vU%hPsQrmWrVRHmv;5f=nA08e4fv8FlI8vxvw)Fu&!TB~(48-1VjsOLe*ZRH> z(?-_1ZvTEPusawt2aw!Hig|Fm)ux614}ujs_N}4ZM}Nan+0FCoN{3hd?A)AMTKf)A zbtAOJrvu)t6t3F5S_uRh$Q8gg=H3s5Jh}_R@&M;A1IXAoFHq=0xXvTKXGWm>13%x{ zF$Ru*2o{=v5CWLWe^hj#@<3!N0jJV=ce;N&Xbj+qFI511!v1R}eTR143tvh^Q#H7BGAWhchzU6sSUQxf~6r{~yM_GODVsZI_fT zC8WDS6ltWpJ0+wf1*N-7y1To(TM+3k0V(NjkUn$!JnuK&anAYiF&waAuRYhAbKZH~ z^SV`G-Ous&hhx@hQUnprRvwT;A_>_q+<-TwrM%tKOqE|)XxSTrllB^X6y~^)Nj0ffpAS3_k8-8GN@O1lWbRDDYRR$i7@49&igl+I_q#K}ZLJ zPkZ3+fhN!b!=)0Jno4MffzK)mfGP2;c960G40T)yTyW_h{;H@Ggc7`;mRi`yJAjFs zZu(*bNj3qb1hIisyFg>qWM#uZI3!XCo^Sd~Sk{~h#Ib>h2lf!idkM(h*a|>80B$La^MHs!BoH;aXDx~ff=ix{2^5}#i^1Z^ z0dz|U=RJr+O1}9aXtY{`Ad}6wKT437lF}~<2(zG|#HZWep)4DYt<+K=C~CQwl)-56 zG&IZs1_;{>#KTe`(9fp)YlXPfrwZg$z$RvS07t~Y#B>mKybq$saqJ|0&l@rD{JA3k zT&RtL%QOxUHrPV|mrzqt5nbH@$65*u8vH`7=@@zm6a+Pg;X$7QAHSSZ5P)9**hN8$ z{jTlzMUY1;*M1yG?v+-;9D*g-`(-!A*An}wdItbusP8^a zZ=dgiapKKW?AgH3(8NK?>gu?v4*5XGg4*aW6hTM=fm`qc$)!Nb4GCd{P5&CKFLaq6 zSINl8$W-xj?41WSLl!2jNJvO6J2{~+hd`&zfiT%a79X0JJ(=6C!13TGmKg>Jpn;vM zZ-C@W5clkJ1>$;$edhsbu(x-_py$mdUb$v9#W>0958eQ9R@%SY1u;0lhe*uE(s?yf zIc>J!z^Itx)hob&_>oXe*P1Fg?9U!H9Ul9lyix?X2J9g~Ol5)HO9OTZEEf<1Uu)z~ zAWFNvKKA-`&1*JJ#%?i9H~t7hmd*1UE^=@g2qP8&?t+W>17z+599Ej;R&&SKAlWRc zt5by}*Gx>RdU_eQwzhG}$;BW&grIm}>tpin@7+D_Py5n9c;Fq|^_t#SmsU2JRSW={ z?|xtFdR)#3VUU)L0{FEUm?e@^fL$KxTE-iJdwzC)DO3sD@$`6?i@Y6!zE3W4XPH4- z92bZEaDP6QMg|6a(GQ?{9RSHqbO)eB-abg&qF{#hKK}!P5WmNYqm}m!R!UY@Wjqdh z-v@v(1JTwkWUW;9PCm<~u+bNZ-)5^436Z}27^dA|CDjMEZdyt9OK}jxvm?s%-`&iR zVhRB2B_s%%kbv=pSkD^D_T5-4NKpo8w4$IX++XN9f(Ls%vhNoB6_^FOFR^ss6;Nt? z6&>&b=u9s3gEN9Fc#S!(G~|;CDdd3i0TMD~P_nFCbc26~i498?{VSON_b0gb!Ij|l zN@0-N5M&g(TCjgW)%ehNaIpRXJh&qMf46~50)qCw_WegUiP3iYD96DlK%!n?|7T(l zI}Gj&9-oRA90~sWTMuFu;u@8v)5uX8=K-}>hYAwkF^fhY?8h*Avl8r+oYHx0zjfi-3Q&mD82(;*%Y zst}h@_p>cEEv+Sh=FV>1f%^mhW*%G5YI4zb0Q%+U`DZPNlIKThMT;~j#H<^Gd4QO~ zLrO{t7^#%mN_~CWNQn58rGZ(e34$Glt!UmN0AbO6(X!h+o9BG%VQ<+$?fP2c|y;VvcsM7Hzg6 zHG;Gc!0=)L`^mZNY?P&|qf-VkWS~@{1ga5`YQfHqnV6_39TStRe4z?QYPouM^Wxzw z2r6LKKqnFVIT z(nA2Kkdm~tbk-68=|Mo~2SH_kY?(kpP;hV9Lr{ERWMnLzZRiAGFmH( z{A-(1bX+#$rDbJN>pB540V-fd%hn(U1l|$Ttgo-n^3TcIzXmVJ_Th4lk%vb+X2Z6b z4NT8yA!BY|&DORCgdurndv7QuBJy(oY5^BWO{TL45avZZvNTqJ6m6I6duYyj1ibLY7rd3}-x1(RpLKrVg21e6) z{TLeT4}L27Az&2z>zdSIpP?!OZx4Hz{MNLjsHo`2CBR(S0LU%a3U*!9>Yq*G&;!Ak={v%81_{? znD6#SIB(}kbzzQr13k!o{Y=4*89}p4)R}s^-FYt74r`Vey^Qu`Cpx}k;V9tA7 zJ#2EZ)MGd#^CkpRQzrV4eq^Fm{({o-^YIl0Pzmb-g|JZrZIC^jmsTC?KKYtkZoM*W+ z={!h$m^J!qJfR$d!y)#qYu5sNKrJEtK*{-U@m&7>j9el2JaqbB^Cw7bm{edsJLgwf zR#s>Y9`Em2fFqg-04zq-0z}K(HI??S@q^mK{C|q?|MmESe5#eCssPISjt}w8(Crmm z^9nAI*xCZDD)<4c-v4}8?3>?#yp>k5XE=cc*)BvCm?12 zcYeAcc}-J;>M|eLzAjyfr^IO13-vD`c={!Pz4AIj9u{$@o{^h78TceY>R!`}*j5wM zWZY8JOo@V#S3Udj=CzFW`wa9pcodZ`8!i z)bNx*B!>I%guxZ~XYll^_G);c5r5zKyigJCD!=TEZveY;Jf!Bj8HcOqvr5lb?qYDC8o0hY?)!Tja96Z{Q z%jXi82a{U3q2Hw7BVg3P<`s#^iY!buS4#Kf#w~OdN>k*-C;t@cjjm=ei_41H3ADW= zp!0IBlWw_)H>fYIljFp%=}-SDmf_zpC}&p6YMOLKU6+7LPn(@CE0z2;J#K}odNz{V za)tk4KYlKrWL}4G$&v4JvQ+zSpGKYraz93m!)~wWBxs8LOYqT;#gGG!@X&@OzqNR7{|Xu^XX@7h1SZGCT+wUT26&0*Gq@+ z=3^lbKBvbwYD2{+pdwsyNqDi^nK4&e*`6JCK-3Wo*)VTgbFFz>_D_U$!^Cs4TBhhT zefl1`zTG*oo?+*B%(G?3UegK0yzEEi*L9qfwR+bs^41v{51pL#pXY5o-m+*_wqF~x zckXmSU$%tE0PQ!$gi@>|ViSFMOfj$SH?`}p)7-4(-Dq6cXyo3gT^O2si<%sPnXF!V z5Bc7DKdPAA09)yHD1TGV;X=IWb?0f5+8Jq^THrEn^d_vQvNC~WW1VDZVrALsWm?<2fw-Jn$Dw^hC1dM?HpfEY&@+>TgPK3? zwsF{lKWo(aECT?r|WwrPfyh&BKrZsq!ixST918e1;2GHn+{& zy~uCd@k_cnr7Z0`RWPoaW<^BmA_=UC?&NFV)|M<(w5)s`tskW@_};2pa#$-XNqrq& z@ynl~aM&LgN~A$koOIcyV|}NCi&AS7NtL6~p#uZ)4MgNquj|ZL5xGOoHqek_?>+H7 zJKZBNxl!!mn{FjGBRoZc$xxfkizmWw-3T{ldN0%fc3q6=LH>QqwT7g1L&)zG1|Flr z5CR%H3d_h4qf`b@nGoTWh6EN0?d7B&HKqqKg;I>%lTQ6hZRx_Cl~K(`xmS++EH~~o ze>@ma&=Pyp=rsJC#R@-Zl*VmP-pa}mvQHjOe;SOmP~Bwje5(qtx7!+~+`M=Z&&j6j znJN;vo7j6e*>TUr{B&a1em#Ik;4UN(-gKbMUfQRkAiw7n`U+yxy>r)x$CRAqOQb0c zjZg1PPF*(9!&S|`WKa$KW{9&J!v!`Ir^d8YT23Y6g81y1)P;pnMfFy`Io%*cYKbOt zDf^jQL%%8g(^$*eWq-3}ENZ3(`Qn^35U_^ISb=xa;>qs|Rw}E~*zolt%k(0pbBu5j zQuA5ef{7}+DIeb*F4j#}rY6#LPI0U0FImnB*&H$O9!S37%Q^` zd!Etm4qNMDxWb+QMPk-(SGV+9Dm!ewqT}ooStGsq6HnU*|!->7;$nm%1CQ)m&f zdvfPE5~yFl+eo~Snox1yEiC3AVE(;IW~M@I=*8nh`M>UOH3@actzkLk;;W%bhswh0 zdlT)$O*KQEfFRWEz_HQ-nSzo4UJ0*`!&h46K^cCJvl|NRpJtsH9Gf@J)jA(4%hUq` zxg3W2E!l1d86$Sitro6QA5RCL%oQwJ2H#~^%xT5cD1%c$;e?mAdyLZ~{AKbXr!bX&3OT>Cx0I-J&RTrO$|ddas`Q&E6$41`6MX+ba+SC6OS-uy74LdfK)F zZPGCx%!e;S!Vm>^+^z~tcLZ!Y3&n<1&`WKG-jO`CIHdC5o>}tU7xJR>W|(em>||E9 zRfLrtAZL!L9QF!&8e~KEts{+nJL;_osN1)e$#z;VRkV_LX*-3HWDgjR2X8-p1NGk2z}`T1O=*VT5Gs#0}=s zQ;%8Y#NQnEMLWc$)9+YCpPYYVUG7XuCHTp?Ui?bdV4{r)XWO$oUN- zn~#cFI$+Dy_rDEs-#&PH+|O{jUayaBmVUh80>)AaYmLDnF+Q=UY-32vuI{oi-F1^x zVfv-|6l<;haqN?-Hhbnbi~16mDVh*Ol$nk;cN61nxBznvDXH;W1V)uiu+d&OceS^l zt~0VWd!AvGvAXK*y_zz5A}Nd~QkD4YK)!DlGjq9PMx_nvF;KAQ7s6*w*O-iwUJJJjA zE8&J_dyFg$nqnx)hoYbP`wwlsidIsma5}#_3lcA?)5W;yrc|A*Xmv*~B;v0u^URc{ zFruDf2{j)ytt~Ce*2V3K8nZ|=NLi@ykWf@)A2}<=@2z-#xR6@nklJ9jd5gBNU0YPA zl!F{&tzl4V%{nA)(jsI0r_G|uMe4>LuP3U$OqD~!NBH_sP4h^Pn&a!77VOwecu%GJ z)Q@oVdziXY)es=aG2k>tG_68$FI|?r8y;F-GM>F|JvQstwKFUjrtp)J>e+N+OxF4wU6>dwCA;I1U;yt{)k&r0<(mysQKU@P-K z8tWGjK5D>VRfHh|}y_pCPMu;ePnqM}((4aW=R+yYF~Z2_V2DbeJ`_q?YQb-NZbZOO0X z2oz1U-Ic0k#vWGQYd3p}D4y8NF(_?kdL-Ol?G@u9$>HE*y$V_y#fWn~O&^<+nh z%j4@fDgMf~h&>4xv`hsKg<|2fQEB!8Ij}m-?fmg#oa$1svkcY~YDZ05XQDp_>$r^* zS_UP?sKt(SN)tjm6=m(?tkg>>db+3czEC8yI2|-W$$oa0jc{z+qv*F&L@*{H<`NL#x|gp}pWS_bKaN=_uI~_F z-EdRjHC|Q_Vw+Nq2+HdYGM$)IrOvWYG#_Kz;29A^l>6FPlyAU`yYO`O3*KTkv z-+FAST9`vY3B4E^oDmwb?zH|+-s3_hIbY^_(9s%~5}iLo==H#tbTl(IqyhYDM@$}$ z<(%dA@^qJ*tK)82swH`z`hnlYa9P&P4JhO{h7(i}R<@TctU#4%*1n<}cCwz6k6iZH z7V2?vsk+_^wK3g)P$-1!zIpUsp{W)-;h(Kg8SMb@md$Yn!J7kRPf4O@8HFfNT@!Gp zh8p$fDIWZts^%8`r_Lc^YmAwdp7viC;(FIB0*sFmJM-x1(qxo}Bh)OWihKfT(27pW z1H^iHrkUPnu2fcj9OJE8Dw2Fy3ycnGTdSoA>Zu4iYGZz#qN^pZm(g&{^ZBg_kjm+& zgW8B9!Zh?CU{x^LsCWAG6Q1#}Od{h!;r5JYd3rF)k@A$-2#(JUvW;{-5;?YlJ+%!l zCI>6~D--wGvURnl{bkg*ptA4Edyf0Ll^qkn(3EBs6?MCOoop(6EYLHxN78=U-elZ- zdPpk64Lxc%2@@6({<8)Fuvh;iy*YMk|FhLPI6Q!)ZC$HX`fM9nh=I+hwfpMPRW^G` zuSwxlz_YB$WM%M##AQ5Up+yI2rM-N7nt9X7i$v|m^-w~!${Rx5!4u*n{@=rL8o!R} zZ+k$;WpxvJAi%p9_^xheg)_4Y6=n(++T%MeiRg!s46D7O62+#8qca^1S95Y_sznZ- zL&28l+HwUny1We-Er^mM{i;&t#clkVjz{xutH0(CEmm4)s`az*OB`q8daUOT=g{Vs zIF}UHx9J>O>&v_4@}j{J+@B4Ah|$QxqCXbt_1;GAR&*J8D&YBV!u=I5H^GOyG_6fO z!bXyp**1%;O6Bj_wh{UaO6F8_!1-H!6D?gP4h$$R2WJodeAAESgN?QIyv%X}%(@k+ z5<0n|qsN8gQJ4XN{{1OxM2NeAD~zG7ni0QsdMlF3`#&*mH1fuKY?&||{8Hd|3pTDE ztW%9`l2rl85hR7Hv=VC$(dty3AoPmseNV!W+rX?L{uIq%KH1P_7}Be4&J#}GbDX$# zKByN}9w^hH`hB!MCa-FVP%Z7Jn#&T4s#LD%z{f<8{j-(L$Pds9;AWyKBnx}K&;64> zwMjRsHk^<@xXUA1A@^qDbQje{n}woms|Hxg zyNa0S@hwBfDaz6NT{bU)XCdhAB}qIkn6a1%HW0Bt2V3ZR{z)-G>ez- z&(Tr?#Kc_h0}|_NgzNEoUQbucS%!NZ?OGJV;6jTl8W?PElvk($Yc_^gdme z%@EY`#X7Aa^~#w@nS|n#>y&ZsW*66+^y|y34TYH;^B0FhV;V_ArT&?P{U!iY$j2fwVtTKUQ548vIj)+~uX&TU##(-L7V1~?d_LrSvwtXxl2bQug%G=m(y>Af zY|UAKXbDqGcH7#UvjFkIZNzwUJIO#bR*xFzUo|bdH8|S?(Wwk>Yd$eS*>_hZHwv+v zjl3q#e1j@!dLA~us6A1Ox&^=PVGiXKG~|zbZr6@#Sov;$h3+l37LM-Dh%E6qs4l91 z70Mkq$yn9iBbVjpVB$w`?X5h$ZsJ~auCV9_ ztQ5Tr{PJrMslj4d)~jvpR^%#r)IviQ6 zN)30URbd3?02Y0KObG8FY$F%-`zGvJMT_aHpFH0P7^Z&55n(C&?G-YxJzdhK&z1XG zw|aiZvgxQRlLhH<@vFndXWcoq$~WI)lpF60TvSyQ&rm{r7uF0mh2G_KzYquH24v*W zl6S+~pRrq|eMzE>8yAi1wM{fpwHW>NRSH0UsQpJ>{m}0duhVYvmr6*)z_nvTkml$% zK9WTesUg-|!GL2lYqMO^`R+kSFJX zHHGt&t>*si1HZ@ZNaGn-_a^#-$Mm>GEPL5w1X+q_=KYcKfYQTGjlu2AMI(-M82VI? z(~}T$D)scB=ZoKj2=z{d1w;F%{YpJ(nF#0m37>qtf_Ty`mf7@TN`?_K@1`hpc`srp zmmf#@-2Ap`B*et&nAk*dL#a=yNTtr4+d<%x{Za0BBy+~x=kS`(^T_S@qjxP&5$`Qg zdkqW>EU@uPM;4tV87kk^8I6(DOLCnMXPzBewLgBNif>xNd1WE&u;0HXq4qVP@Q7%w zo?RDIe-6#D2}_gu>BKfjn%*e#SKdp!|FTJS?l!dHgd??FLooMscs{pjTA$s0hgw?J zOxyC#dX|dc%=)55E;U|X)&Be9e1lyh$EQUSGpFMP`qv{HVe-VjB-j_rh5B&thduSS zOMzL@r|9MHhYT8rKGv6r>?a_=xF$N8D?VP$Ym_N4+s=*H zIVuJy04XlZ!voAz7#FkP`uNL2+RDZA4E6Me#PN>6sMy4;RH2a8mTiM2ah!ILLGXYo$WcB!)#jD zZ4e~@uRT)lMLy^?f~x|y(+QnDy0{Sr8B$_C(mZ7yAYXp7q#jpGk~ji~aL>=M!`<%M z8C2x12;INAgnZ>Wd7sWL@M_vOGjXT+siTP>3njo;OnO!CnU#2wg&D8m1G#x9j&k_jWChEuK{SillJq#F9-&s=N zuRI;diubsf;nc4EqLP)4xuV(5IK7XKfub^bjDfvy+^*0$UgAKAZh7Yd4}W{UlBs4P zF8*Qu#xyfu{t!Km`Cz=Eew4S=DXX26PsHo-?(JZy;^qb&ivi4&MaDQ=(RB6-8@tit z_3dJ(zH)Kvo{JSGaXw*1GwZk`$g_4q3YI(|09QVjYe)OAeH>YAQ%NFWe`->0KV_~< zBBUTMUvU-$(M0->KLeyJJ|uRZPx|ImuBb4a)9qz0G6hz=p1ipHNo(&ACgGP#9C>q4 zAe-5E|4k$xfs{RwDs-jL|C7wj&)*Xs09#2)A(8S5%b}oj*zEPgAj&u213~|cjLn0> zd#8i4hJ+ULl!baua3+%%aM#{2(-EP|5fssc6A}kE1!gm{G)w9(kT!j7$f}aOet5u# zU=V{P26?U1hqEc+oqMO-`m0C%r~UBUi?IP znpn{1oO7Ns6L*a8yf;b4Ei6;6-e2wXK|=eocY61jM-DrR@r!Kl{O0mJBp#9*_*q~4 zI-c~wD>4dLA&E<9f%PzHoVS0R_qaIjBSCJ#BjXg%2LbthE4%=_+Ga7qxL;4(N*{J2 zkVZ+ zAxDdPB;@c56JvB+Mo&xX*y{(229vKTc&0n~w4_Rr1SBx3gg{-D5;0~59ro+3E*Dn( z3Kgb0QwsxR5=&KDIrbJy6SdhDqDCxcGA>Y=b(^*KIX`#>$Awv9<0@p&KWANN9X%o+u%Q%}h*u>BV9N zpOC_IT;7C+ZuWNz>lit!Wm!%gkLJg_Z+TrcarOI`tDQee?Cu&`vX1BX#tY)p&|4>K zYwC@ArI~fx)y?sfS($K`Tzcr1><`s&wH|-a(VZyGr9_JlU@?$=F^wr;NSpm<8ug_mQbdXuUl*m zPHhl4u95MbZnu^Q*u-yV*(K5e;NCm-uqMwZCH~&;%&AP(b^oo&5k>$>qihdFkBhUy zceZ=}&3LI<4%4EU(Ix4faV3Gn^Xb7i5U-NKT6}P_ZU5e#g#F=DKnl*mtcX{O2w$rs z_mKxa7D<7|(`g>b!*%Gbi;Fbb!RE%6`9uvivvz`Q|EDw%F#Oec{;zE09n~c5cNn*G zrIn1#Zy7NsosQ;9)7`H208obB@&IC2UA_&9rO%g}GxG4&+Drrr=sPg0Yr#uXtTqN?`ZtZ#281iIKi-!0Tn*o}8u znd@!(y>FPl=PQ;_(b=OY z0LOr-?J>7uTs?NG$-&wKt#ck15F8LbGiwD;{M79Hl%+PFtEDqhVRcoNckReVlRljNNkWIA|u8d1ljiyPw@xudsdPIzHK=T>4#p%$ReLogK!QmHX6K$(O zhD(Ohiya%*c=N&I^Fb!Ycz1~oVpH?%6dUa#(Vp_YN7u+vfxEI7%Y|xVy`Py&2e45X%N4Dmk?9RZMEEW^MO`k%7^Cg&epjuYPSga9||fKy$iTH#N&P8f**6pPur;A(n9k znZ%*>ONMMI_i-Ma&eHA6-SS$u$4nZz2kEz4)F7YL1Q3dl-92DCbPEelzi#lcZo9J3 zZO;l;hWifJ z6dX(zteTIHNFI(UId(Ma@|3hRV2$h_B{+DzZ%W;&Vz(uAb};{T?1uIfE+grVHAW#_ z{O;-#G=2I&hCe24rv$#Y+EG{P(;`yS*Gp1l}-Mep3c=U?uPS(T@zqGJ;gVl9N7&0Z6Ti)MY1#TNGU zRh*zSQ>Nf%N0W#o?)$odotHW4-(wJzSxLG#haw@{^URFkg_?yj8k9MH;pzS{uR(Rv zMCm@x$vN{pqfO%?*3(cWm&X>9tNl^1xDwi!o8CNk^Pg>JikPXXFI!f)XJ;rM>XWdr zUwZeSyk-mk%JI>VFR=%y@8rB;1w3n*Ctr*HI4!9IU#79Iyr`&Zujk{T)4PXbjW^Ce z>vtCKN|a;Ylf#v%vuL)rWfg@~kCK{mJAZgk;u<{PUTBWksuEd19^-CSbfH7%1&buS zF#x+WTTPtdX2t3Y1LG`ItX>>(LlxA7iG`(By}VS>Wf#d8#wliZ#B8(hcf^*Erajq+-Ed3XZId27bg_^{%Cbm>In=9)V>!vM zt8qPuato0K{K(ds&a{CTEiKY}X)lzRWyTQz7lTn!RFu7YhOf29qI$J@o`sB>8g0EV zoc;@CI^$`>;-UAV=sV6n=e5e%t|$4AYBw&fn`z>?9)t!XL!x7hJVsa35}2#oeJGOl zNHaU+uK??WeZP@B!gMu}C zx`rM6{LULkyyJy#8tyj_3{0L+u%hf1{(#p@M$Z|k}QS!*l1nr=)l zk^}J6<9l_A5^XO=`O!LuUm(7V^-b#kTzBk*^X&RC{3xCG>^G(wtnB#L;NVxWuMQV- zJ&0Cny}ZFIcb zR`b-qh`gHaf!tvlvzD5SDkFrh>PGH9!f<=N6S(GgBwQ>01`+wBGwZ8MaFNBAU=%DY zCHCl;gosRz2j3OPhp!vcYkzt~mX0KsjVO9^<(LxhBRmB2CVt;;q2kWNr zQSc{k$`I8AN#FJ~W&mYKy{rtvrq(FPSIb7X^#sDX7+F9}vKvDQD z-NpgvM>IQNUsb<K(*?#x1EWF`B?a|3VJAM~V2qm%b6Ah5Y`Xo6Zo~ zJa6|09K7g+guvlpS-{@S&B}s85As730r#m7EGendE`1T%VzW(20cslL#=se$s*KRk!_vf^xyZM6=~KZtZ#t_}cklaRXmZb7CHQL|(^( zF2GRCHc#o}9Sjae^!NAg8XLm^oF+x=2v+b+ISV3FY#ZC#l)Suz`1tseQc^^~4bH(<0xWtPf;R^x83xl}|U9;&TEZ57u0B~5dCfY*Am;XbTx5XC{aH?0c(VF=2 z@y-UyyR%aO!h^Iw`h`zUP96q%ypkz!DjyRECjfvEWR#S!yiP~o!4OeVQQqJQ>a6CU zL#TbArApTi7_z*$m=VPb`HiRb{Cp`2o#aX|8=`iWGU?ZRdt_R@X!Ggn~fio5+>%fv? z#fyLwx8r~idk@ad{<)mfueM&|ArkN;%9V%=jEq!B|Ae=ktqBdtAevPlpwWrApuD`i zWRqS)gOjg(v38IpM*;B77jSIWsM{au- zWRS`}MM0{yp&#U?x-bwb;Ft9sz_LuriXCM~!h#BW`3A)OLiVfWJD7Jk37@O;hKcO>eifh;{05BsKrjbD;u?PT_Zn32 z5>;PcAJSgrCy>n-7cExjTO&~3o)5QQo`X>+a)!QJ)aL*K2FVTniwm9|&?rGtQW7F; z5XtywlrZoT9_$kp71b(uAKWbmbisgvf`}u>GcXw?_SL~59T)9SCM5&3`f6_l0F~}w zxt$Pd9Q4?DWc$0wu%P>aI5-pQc)T1A)bX1Y$6KLFYrq>Vr4kbOyb8r8CjvOqn9rYg zXFdb7JBT3S_64V-r<2aZgM$SDjm2fHNEwjxvOwbAUledM#JA_bYm=aRIIF+ z2>pP43x_ay#nX=g!8$olB|kJgymum3;>*rBIn9oP6tD|Wkk4D80^Lz}y*lvS+3C0N zi0Hhpc>#I@@!uW1rP)>8)wxM#)Hm|gLx5;L5TlY33I>J{G+^guKttHiM8Lwq!^2n2 ze;Oz9R>aY4^Z0Oj>Ss|6mGUfTDWdxq5%$)mAPGOj5$!G{BEL0pzcB zpbjG0uPJMEHR@W;Ukekk`DuuH{0S28Ccs3EO~k_%3-CtXy;Z2~NznIht2OVJmJ@Q6 zrjREU@Nai(STA_rm+KJvF^Sa#8PLR`)YRsGh7tZi!-}=1pj5Ei{8W$j;=&N{jG(gA zBTP$5IN5-Bd}rx=h^XLP3XNDV5M&1dVHOe^46;8BIkY5swiFUHZ=NNBu+RJ=;m6~b zeFKj;J06Ur1 zvjzo4hfJ%*N7}j+0XD*5KSJR3ZGArCrwJ^W=g0@%s$@`zVe8ZBfx%gkCo(HW|vq>CL5cAR>c z5E>V{NU$_}ecbaqv9tN|yEJ}}6tpqOBxX*imeiJd*)2J--Ut;+pUr6KlXJD;=d@z@ zAftsqk-@W(lLdGyvypteQ49+Lt0ssH|M@Zsrr$|2ZJ1sZR)7W7;-x=SEKE?`j=(0G zF^+T_V76H~|3F(043^>nfkMu2z@|C@4C$P0;;E28B1yp)&oRB@Tq)pp_Yh`O=ywN; z{JlTZ=sb5d-1-H7l{wn?W4$ms*L(;22$r0hCz_TPEva{orBjnMFd)xDOlm9pys`hH9}$Tw z&-XjCWtHuy$4RYrw0;!E+Ir;s<@YEnRnIU(Ix$ zqLh43U|u}kEnN99mI0giPRdk)M~PW#9Qa<%-$IFjdb9o9WHZ~&l(s(@YFFj4< z481ib0$Fa?*<7DjSK(PQ1-#xA$hthUX|Kn0TH%AYX{*lazEhBrf`=mFw$0Ot1au(a zt9+$+qF)3xDF*D+zLlnfArZlFhuIgZcU>FdToLVyAXd`U3=3`a8io0`0W^MTxyMxtvzI=N3+PwPo0 zOUIAJ%C_NTJ$%TvDtrBS=QTUndhhkL2m|GOHZTwzQW9C1k>Wd%`xKDrwY(RdmFV;o z9laJDVxeewbGlAj<#g1&RCEiXB@tm^!+@)mY!MkiH_7>aW-=si zc(}k7M#xz+z3FP(5sMd-lvRsVL=m?9B3sZ8w&bmra)7r;Y?bpJWu2JB10DyInk1bv zbe53xoSet4BD^3^5Itg~rZ7E)R;bFYwSp3drTH%uw#atIManJYcS}tR|dHKkwT=y996uy zA6Kn(WhRFzUR_PeZz@nB1Wx7*<~77Z#uv$@CeSg}tzEA;K|?jzJi(#|finZNB_ohD zf@VjRydoP}nPHslQrSg#uU0TYh)0E9%K~xm`F_hY)*@w6lQa(ww1AuD{;{!b_zw_u zVwhO{rqMGuhcL!>P0IBC3U+JQ1>V!M<0V%W24PSz63+~_7$+jVx9a7WAmtfGyB*z( zANL2!xYTm!+akC!=Cq@0ocYBe9!iP2N}D-}(}rd=ZJ@i&#pd^P zF{*6l<7;0(zn@&9iO_vnD!t3|^vG0Dc2O`ap`89A!idEh^H5OPbFB%=TnKQyGHd2g zY)J17_^Ggq#xH(J6=6=Qb!tClW@zB3Jzxs2xk*C|?+y`Y8WO0K8>nXH(rBH2dO3#@ z9TyiC6-CBoO{7wM$1-LMN$j9Nb9M~v&W~P+$U$PAtCey3#f|@=(f%q(Gn*ErkN0zV_5Mr z>_{c>+XfyYIUJRh^<_S>w<;7csT5+QU&%}+UBbfMu?|44B7 zQuy1IRb?beUE7b$5L+Cm2n$ni3HAor`C%SVuSPMfD#5=OAQY2KQWaD>kmN#Q(mLnt zcya~hLOp+{6%P!+we#sUG{F2TNs#QcBnY&f)NxvJ_~Wqeh?;rHpHo4E*lXw$HTiPA z6tP#!M1*I5Az@;1_h8=tE%e*xujt>+#@CpYRr&kx5rvjX%8>@HdQN4Qeh9K7CSN;v z13z3M8uSc(8UuH9{UvuoZSG7vf<~4K>g$?T7Wwpe&8mgK)}xje2pA;aL8rQxh<`&F zh%??Z0Q|b2w|As3Z&oTXCmImo4ir~kyAtO|VG6^tZBs=cXRYKEVxwK)e2xHZ1^0Gb zUtON|d?rjLyYwKqbKEiwnI!~X0iQJr5jpjp*( zkdnZ*wey*d$tjF=RU3UZTWW!CYj2ma^6J=BYxkmLXl?)3Qw>-=&yN4Jr^#y?HngdtE8VS;y9GGPP5~do`Yk3UJ|FcI!+tz z<4}9j34kX2~PV1^u!CdVuzm zqh?NF*Q7BAn;o5h&hOLI;g^$gtIJ=ne}iBe6%nEz7U4JNcyoQ#^Gm$tp1e3kkw9T&AL~zQ z&dJ1}tssJ*FYwCQ+G~ZGj|fmnTwmTnt%6o8fc3C=?G*k~0L$g~%L^VVc6OZI-CeWk zobq#i9*wd5=p4bfF;wtkocl;-6&aGn7y_TKBwV+If0R2;&PVRKA{52PVD4JR@%iOh zk_waBl{H@-5ru#_l&_DIF-rr}$G>VZdy^>e_tZ;8>_2YYxGDtjs|vk+`keZr+v!mc_a`(qkIlstGD=p7cVY>b!nHelqluDOba$*b0UY96GU|#Wi{1(W z$M{lf&h}1(KvQ5HEC%6r zHA%$#pHHRCrI53^=Y%~PW3SvmiqmmuYG|qDnR;{Oh?H-clnj zei_qgMiJDHnztnAeO{qAkqG2nGNh?GY-0B=Z@=B0u8YfbT>!D@PxwycZYzbaQo*Vc) zpFkTvsVNdqfu#>$mG~Ifgy|hq6D9 z=6Zdj$Kf}bLo$@gTvTKpGG{81GDK9!P|8p!%1jBFm5fOUA%#j&WXM!9lqAWVh)RY~ zk>9@Se17YBzR&vp@tn2JTBj55_iMQC>%Oji?Q8Fnj;1b(uB|${h8>F2!?(EAs_D-DO9tPCT26^N9JmY6FnmX@k_pZUTh~rdzto%w&uUjOllGP5xktmr`1&_BciAC+jr3Gfcm|!K0*(E z44aoMhZ%nVbX8!n|7O5gpZ@uSV;zrGE;8-SYtLq)H;8*p)AA#Tk=60So0si2)N-^Y z`!hAqi_m6EX)?uIM;^#p_KjEBo<09oESNmzIE$wpWsjum1Xi)xJ?Dorlf-TCv z@6Wz<<8j7FYAzCm8};-3MVbZ%+Ae(+T>EdSn>+rNoFw_Q^=RRtIhMETf&84KS0{XE zqh4!kxWBzCv3@V}n|Wz%W3Ded66m*@^7KDlty1O1v3#8~=rG+OK~5?LT9Z7sS{lKZ zznG(1i*lq^M2yd+ilvxjZe63dllCH`QH#;Vby{WuoEr4$(XASs^gk zzG-?T55vlp_J5bY>FCnWQFWL8KlHi#u3ucG?!_zXU{J#!_(cawZ({wOH0vL zB1Cb%E8@3v>(_zQhf7(n#g^V&mu=lr%WOM${-zWQI}_7Mrqk2s>1;kir|O?B0Cb6D zrT%6tGXX!3ZQ$H#^G>RAZl>6FMdlU)qaPn;v!avtVg40FwZe;5QUgL6a!**4ZgsF( zR9)_2XGxd8Lo3G+EBMsm1VeGE+nA|>01anL%(ERuHEAk~gI{mPt~@Jj*cl;v#PsFm z_H62wvrG{*CT;qhoO*JOwT=aUi}RN+Wu>mQe4m?p8^0o+5vaMIzFkWonn-KMPPa{) zb^yb#J!*0}A?;H2ujq)qvcsv1JC(zv^tQBy+fp>lW~UmxQ>|BPH@^rHpJYC@ZVfGC z&(3*^1H75@p+53K4~}cUI!(ps^7}Shjo{#=sHmfVUqs!}>Z2E09G-pdNI}M-Wt+*8 zl5)JgSa659&|@COx*XPg^CCV7Tgn*noMqkBu6ku#W!m)_5sgR6U6i<6RM$9U;}VZ| z#g}~W+Y+JU7UZ!qYy9%5-CLu>R*xla(ffT+Ls@{f_>Vcg^0{v`=u=gbnl-O=;zPNb z++Mqu_5LqrXjiI-US;2VO~GN94Yfo8=jzqxncW7raq)rXJphY{Sa_cmD#chRdD(<1dDlOyX|YT zHd9KZ+Y-R$M7hXL$x~;Gki_cG96O>tMa#**RQ^5GXi1=jitUpI!(^_}%|En)g>kn6 zE(*~;LCuVGtGJY*U>%k?^HTwK-fOY}~@*BBKv4 z2S9(Q<846uhFYk{W0%(qYuw%Z_t$qP-hNw3ZR>Y^BJQ1^%!bcDSu6YZyYHKksH2?^ z9=G?i;?m&sYTfnO2d7JnX{DgN3eWRB6vwXLCqmkfM|z0(_#DV_9e#Y?IQY+wu$Si( z&oF4c7myF1Hy^S6DY9XW|EvNKigj#%4-#WuU^b+c5d7(7N-$c1!#!cHbw4B}b{+lw zEyzx0nx~~ZK5yOg$RKSdo@R-Q>SdbepUGF4U#& z?It<pyTxnO6k$ZI!^7>i%&eEa#Sw$2Oo21qhZl*abwen z6-*bis7y4Jb@^3V(`YXC2^J*$Zu-UIs}v&o`W|mkoDse&)z^goNXBLht+7UNHx2n4 zAse+;2+5^pg*k+i=zo$ zZf(8iWEuX3y;4^GKlHC&vDlPYIDPyReu>fNIu{R56!bRN^auPFf4VrmXR+cVuS@EV zwQ+~aL;3W!+8%H}|BQ2Xx8tGyw5X1QKCg586)$ByKN(?0vs&*w=agHt_}lED0?~#$ zmrfpf)A*3<+|a9a&Q$M8zSrAw%YHkv_;5y%!XnZcHI{s0cEkHs9FyhrMEMd)HL=5BE!^PHXTGpO!QzcN zv%T$eJI-(4(N=qVPvN`rnOJs?dcU%x52t>7>i_h;R)*vTw?2-p9eDaXx7OkQV2nzG z-H&lasMqjpJ9v-nfU~jT{GTQI61TxyV;#4A^BGSc{9BQK3_rFeUrTN;e};g3Tewy0 zP6k?PQMs^-YW-BYnL*pw;%I}makevUGRmm7ri@NdA4+EuZe;z)rSld=@q}8@=)X$-U()ui#kqtK9sM|JHp~t z_;)v$zQ5LAtF_^Ehb)D1yv<>7_OtAXH(N*Kj`I9UEH)=OR6%dOyI z^Y?-ZUTIsRExV`U0PpeOf`rL0ob@T&tUe4-W$s=q>y7apy}t8TH!}m(gOheOYujjV zI{NSA_bpWH-y_rZ7oOJdyg!=2E$_sgDE^yD>_8zc1zOY=axNBC|6T9CB=a2R^=#A~ z{Vh9j!WIulwq3q*B|=a;Y^cTc-uGW0H7?x`vwh?eboK1qMY5uFM!(l_#J?)BKkV{h zVI@QkgRZ&q8QWcl%+)};uZY05Z4ch~r#X9@P2K?iq+{o6xfUhODD@vcwBLRPUuBQz zjtXv^p6Y13kr{Aw#hapjiuwFR>~&xB&l4xQZ^wH>q!lB3Mi72UC@u>?UUiB==9wT!n`JllE!E=KoEwFIs6BD`Lo z?rIqLpP@>WJQ5BS!FMZVrT;v2Q@bTYuaQih_KY+6D9O6PW+~SflQ~^J=?G37mz~13 z%-sS-8nyJb-Fv*xdndBF=?&b?T=U@M`U`slKh^XU*yttMJcwcsVv8#ev)OZ)R&Rp~ zYvr4yZkJF0;P6X%CZ>&98x7j?wIE_@`(wKP*B$m}PbP|XGiq?K>3jQbqrGU9k-W+0 zp|QK!21NC2&Nz^3G?Y&Z>~p;kq+#;-;-lE@e*XU6R3tE>sa~o`cU`ouv5_7sVRb7b zWoK!cm0HbsS{*tDfU_zBpEfz02nMDjD6G)pX~zw!99lunea^()?^i(b2)dt+9hO zyW`*eh0H;s@~PN;RYD&WCL{)=1XYPTqTUE1rw@P;&c&^AX8zT&o9}sQoDS zcPobpja6dYx?N77KUZ+3FtkoC+9yP&|uR$zTi;mhF7IM~q<~JtGIkFpwgo^z; zL&5H972CFr*|lPd&Y?9e9NtJQpexl+i*Mbs?PV|`5;eJy_{U|-Q$F$j!B%J?z6cd4SYbi`kHNOycGW+++QI(|8}0ueJ{-CnxCQWr9K<=X^oUb(!mJHWg8g|*glyVr412@PH3e98hOU3Zi zZA&cB7L5SfOy~$`FdrT_I1CO}=F4Ponsk#StiD4{-xgZ6%six@WY!3H68J8JfjLC> zrCmx_^A*~-@utZfNLoj<8O}E~=_$zBhf42nLBc)I=R3I*Y@I1MZmg|Z{-Xj#Kim7= zahETjhi{5KRNBV6?{D4}!xR4U??Pn5uVqXJ^zV?B=~p}H3f`Fhznr*%7a z?5IGeqTwcp7cQKST@>jmSwG_@@a&>S@jTw$KfVe&tQ1PmBiBY4Plb;(CmoqBAqkj* zBDtcy9IddCSObfNd9O;CX5d{^W1$uYE(f4PPa%{GAYIWA&#&(9ui9sMKPZS|387XB zL54ypw`VNb9w3RD#6@rO$hm7hJv9 zUgFZytK&BtHlTk+uffkG3)OGG>F1k0hf*N`UboO^1(K1J^V@B(A5x(NflBnjYdD%f z^qe95yEu$ThFlYrCFJBdi8+dzb&X z7^SCVXJ>OaM=sZ_0ON*=0?M2gR=@!GP3`SQAN*!o6#W+5@<+e8p}J}0x5xU#Lkz07 z(*!l$XLjs-`I*t7+0Pxq4-XdGoOkDgY(5pm<^2OjvI#bmmhA;vWM8L(ro~+wJV_iA@#wSVQ(d6gnLlB>yje}za$Xs&J z>X&tRsd4Jmsr=Ei(v6Xkk=oYQeCYwd9OazfG9S3j_3G6tuP-Hyao4X~jZYEor=WJI zz?Llx@SGUyt5m^SY(8CSe6T7&ts!b%FxY;zPNhPK$xxiG!TQiI{0&F74Ws#6n6MRK zqvZDc>!X{X=Y5}^)`Fnt6r@&@yepuiYztQ&^kUDW4Qpc~0Puc74onkIr{I|CYY0#9N4FZo1(!zV#>cpr5CH8>k6p51O)g=yEWBA}2fBt8gAN z>`fqnuH)uDQK1m{XOX?9a;jlN!!&@QJx_Wi{Qdpa=FHwtfrq9!TuQ7MU|W>%H~_9q z2K)BSDLU-h6$%3~*OW$zzy`S!0_VQG8!YL?8F*@&E3Bj}VIlCqVw>K8q@7!ymhwl$5l2qVx9gLKSE~$BuxDo8$t8)s#^_E-qmx zQ-3T0t6V&41l{gVZ_Oj7a zH$UJ^w=;GW$msODvv}d7i%KA6J#PF3(jH&)xv%eqLBO>be|Yzu$2?qFbeRNSs9J+E z`w?QQQ9odOrJCs4eQzYIwLjrjn)8PH-P@`l*?oGMxoW--t;ee}^YA^BO}TQ#MEveK zv)eEI?ubr5kF0;RZ11LrZmgBHr~tX_xhkMIeZ{3kc`*6!b6Z z(fuv4t7odfWsy^yA^=MP&{V6Tnj8J~rNjNH9|*8+{r>ZrkYM-1l9D>w#1?D)1lUKY zW=(Q_g7kfu1`SUP4A{(0bWNsBG&VG3VR<*4F<)0&@YI2LaZEkefq*$7mkl*t-slCj zeVfulgiZwA_uk?C>*ps*abQ5al^Q{8>_fS1ZEdaS9hORT_|*@(Ns5oUDH13Fd{qhs za<3Qgc6bp|sy{xDry6?}cIwGjg;@W`H-1M-K4ma7n*!-^2>ij zTai5!*~{?Ur{J%*VFyQ$wa+&&1?AF5KYp}<%|?U8B96Wah;}26$$zU_4tSZa_T=T+ z!}pFd62GRs*!`1K>D?=u8u;1aBUb|f)ahwDc`GCtfEi==tihaR&a>yf3>9- zy=d=QKDa@x!JCo&mb1`R^(O>J8rn+zI?!dFnlb8=9_3P6hT+U`{n{fml!f2FhvDy1 z3)_QYctpZ7afKEGi0}q!imM@`t2C*Ursz(MGbJ?FkrMQKvWlO?LpXRuok3Wag1w4o zchU9|`s-?AYr8k3rlyKM@tkld93CFtC@U+QbJgVAyOL)&lcdDOTi$&`lz;7_u%Q_a zNQU;^AY~1{QaO<3+qRza6L=bTGn$IWuw|l;p`|UKc;`q}pFL2m-*@Zgol6fzj}RxP zk}t?#=H5Ldd}B4^ZFndm7W zBcnLo$wG9i@PRpV3LwV6_3Aw;^BlBM?q-;n9mBJT8bMaFJ<+UTiqZsKX>UKLp+0RD zc+l8)gZDmO(u=cnN9=Gkugb%hd}i~Lwm5wFdSHc;`^HcuVxCxLJ;&o+-;5>ZA3Fkb zB$-6d$-Z8%C0KaODE1-3s|FaB`=qsX23udAS;k6=?gD%5pim6FD#a&3w^j0;bMb~r z&P>A?i1{Dk={Z9F_3X0ReCG7&sADjNDR3`@kap}>iN+ret9*DTHHkA9cmQ8>lB{d7 zL!x!zGxh3$vADb=l8pD+Bv4wHWx6CPfJhpRf*S>b(#nNRhd*Hid($;7H4`LMSv zynU{IXNO#xs`nMDXUX}V(!=TvZ@Ri3S@wXoyza=8z*-}-u5A($t(Q3NcSk{yn;I?( z4bPV57qRg4)zS+Jyx{4A9eq2Sx3_1XzGD>2xg9q!7gTFk;+6Kq*VXIbsJh3P5%~Re zH|NhF`ZUadZ_fR7|GLJBo<~KE+)FUw0nM)CX4k_9hBokYJ^JC=pp5%aos4fl@8kw# zn710e@uoV)MtZSo++DTZ!7ZQO^4YuRY3N0+Q4D9VLd$Y?fE+=w zv9XOm+?GuXwj~Yu>>tT{Wo9WcFIOlZ?Q3F|3VV`uNNXw@onf%K3d0FUnGcrX1fx{n zEbN1SlJ(%3i0Ei>VYIaf60iBT5)-Xmm{Uh{+mdXY>l{6D*7Vh=8s zMXhTvI2oP-Zs5v&4|}`BTulO{yT0J4Zs=0D)-ueZ<^HX!%L=F1i-hl{SAQEZxw^Uz z`<~e`j|8B$r|0*Dw#o;J@Yg8Sy@vP5j#Dn-bj6Un|6OMU!euYZjv>s-n2k$+Xyc$j zKR#8at>e_AVVGTMf!NvRdl!ihtc_&*2FhDY7owBuT`wr47_60ha&l)|;P-)=6CcW? zu}Aq)5ZJ)tCt2NJ8M)vq_yaSqlcB*OEFb#eYU7c>r4YCwtizG00kPTqs&kgwCK6pg za$nR)k9q#=O?iG1`O*;Xyb%_nkz^z27}mmvD(c*4I7Xp09Q15Zs-Zi@KqS_^ac#ka zBL>HoF1s6YMl6>|il1+K@j}#-_jczYyWeM)Y&Vhzwr+k$9f}i`QU23w=a1e(USbx| z@}gjqF??ZLxrg0*JCS4P_e|j#$UQyvuGluDwerCW%^+*x&z90m)ng?^QNvbErS3&S z``=%apXVEnuFJ{{pEiLt!IyvIByKxAooYMneEM&LE1@|xgRqzj@1>dOQ2^=N~k7IsMe4F4vMYn>PU;V?) zu8Hu?=~50M;`=(}RN>vxaK_9`ay&kE`t*(OW7gtRA1hxi(ffq&mDV}9XW!^=v->9E&iin1_xfxO=aVQGmMro zf8QrNa_m^?w_k9Y$b^d0(9;iNIZKv2Wvd-tm;PMjj57Xy;=pi`XRWvCbx&-^bX^W>QphfTG2ohHNuUi zDSN)S`I;tU)yb{aGi3#L4<0?b>08CjzHOFe?Oyh%|Ds_MJcxuFX}@gLph<$X_6bKa zFWnx8Ge6v3hr6pSeCxBS3!}jiZ`}Pe4a!^6a9r>zlPvx zD)!@DL4h4C2S_G8FghBBbhK@lt_>Eek4$3E38J$TqRa39=EQP|eWM+Yyc6$=1)u&J z7efjD+}?klI~CQ3akK+WBFctiRNSyP1u)A9Pa^4pY*qN0Cdg=y;DtnQ|3J!vlaG2s z$zg>c{|qZX`p2ot9|vLuHy_Jy`pJ)RqREOGR*Id8-SPi%0c_y7j1@@-t9I(W9mTHw z>J>jfUE^aMDo<{4sB36gzx|%1MKJ}a!1-LqWHny}ypIq73wW4Jl<&_s-@u?F67 z#K@1kjs?eFt={b!Ao6M&*x`@7z04YaFjbUu7o38Fu_<$wvBbAdc$^EiQQ38K*aG1t zs&aA<>I&oV`AVZNU0?+k59=Ymp7O2-4-efDj`2pkiS-AHbIr4ToouOs1Jb?`?Nw?X zt?L-AV#D}+^ww~4TE2EpOi1wTb5_7(k(s!gbhct;esI83T?Di}FW-*cgPp3(@h2D0 z^aUZJCmy`z11t?@toPoWbVb9PT~^Kd%M=p+9QJzU!!}H6r&2N~vc5ij`{1 z*ez-2*4R^~?>_k^Y91wFT~YQj#nb%GAz|0bA8*;uY`1KkXz`1d4Sy|62FJ(>Z-edc z;M7!-3g-3vuuFhJJTbmdh$ELTr&d%{QIQ)br$vRAH0(Am78gq;8;Bq%-9+I{lCokH zV(h}-FG)X3p868)Oa2dDslhb`7IRB?TJ#7q3q%(o90{{iRah}&#&gGa%uy!zbR09Y zmIYi_S6@GfXRz~zx_Gzrwd;Z9NR!29XFnL&g+?%F6;D)X*@5 zLZ}YYqhF;T!GB_Pj*3m4i^y^~sT`Bzt!YC$_^mC_8xq3V&0 zO4-#hV3@NSxT%Z`JDftFh4BYm;u1SxT6XogBWZ*qT^hobYQY8CR^b`}u>sB4!btob zEXh(juj`-59OY+Y3qoEtgko8{Dqsn3f;Ij*xpn01QG9CaabRzo+HG)<1Pc;X$KK>~ zY+JJuPt(2Evx~6w8vqx6f4xUC6K2!|_W`tqQsC^tqU}~Zg3i;&+06tbBv|p{xB(YV z6t3-f>hC*jUqPU^&$n(k++?#49TUPOv~o90<6~@*a=CD3DW?~qvU@Rt6HAI+90_2o zdz?yTzah60)JS6$k5ohdPf*aS#iFT{Z-V_@cf1Ok~U0$R*XRN3?493K*9(a`nYeg+KU_vu6cbe?V3Hpo%?=D>{(k|+d?`e z12|VK>*9g|ZxTGOWYKTj3bls`8Fc3_5^`z^CGi~}pB31)0 zZjBOzubL5J2jAz#!{cpyUwWS;vDD0!*?^@{pw1c zKbb5m7++pBP}EE-VVNs%Pe)ioYLjkjom$6BH4gbRvG?u;jJ&v<*e|zd|C#JWv2))T zF)N*&tY~Da!O3~GQgS}MpT90#Y;AW_NY~8NKuzWG{`sFD&h*cJXd~#lMVJ@fDJ2N^ zeG})ll#I-UoE%|z5JzCj;?e}!_3Ys^AjYr0MHU|Z8z`4q58U{K$jCUrmuGL@aE6A4 zx_NrmV<@BUhSExvbfBoih`8`mqM!Zo;}yJCDb*-D>W=mK&FrOAquW6YOp{YmYU=7} zNcN6j*i*Ws3UBvD7#R)>4N+@rYbU3sW|`eSu<&#AMyAo00t3|tuWqjoFR(K3@W?R9 zF9u@f<>jRzk#rNI=iKUkihSyRc@Mv!F;jPPd~8f$^JaQfK|$BA^KN2il&~xlkhqqf z9>X87K!wP7zPwxsE{itDj)h<)48wepHfCdB$^=rFtNOx7u9^1l-(M23&wYLPnnwmB z=YGvPqG;!4Wo3izUFH-FxmFDitk0b>hSpl)yCG zw{LG6InBL(eQkI5Iso_$cnJsJ<-H%^^$@qiD^uU6uV0HHzc=Gsb8p?U$Mq@({!u;k zq3k?7?l^sW;MJua%csV+ZrwqfU%**NMxLf}jupg;Ays>v9PS`DlYSLW(Y!m$(=sU2 ztMS&EKGaV^RsdPq8z1Vet#edlrk(739O-qA2oDTQOj>BnqCa*KeW)s#^1?zd)8oH> z5lFrko>=vckb-zu=}Q{l?jtX_-k@gGD5TLO!_aVlX4YhT^DqSx4EO-fyhpzmf1V*A z+~$30)yT^;4&+*^uL4d~`&Wg*B>#a$QI6a(CxCTmf#knG3o~nXhys0h>c4?#H6TDs z0}HW!>BQ~q>|8oZDknVQ!#3q`(7HMypD&{xNuyZ}#P-#bbFQl1(>iGZ_;mw>4hRM| z0tMc+^w4-XQunv0AaBng4!gsDL;x_we;i@_i6>WSa0_|@y+RV^T50@pd=Z+(@K z85sh^u56LI7%ex^)v@DWP-+vT^XbyuVe}kUp_db+BSb|Zi32YF4YwF&s8`F}+#J}s zQQ8h5h|)@rN=j;wO}j1q@+8Og&|^4m?lLvK+Hi8SurS780xqPd^Wm5f3efaQxRSV) zQg&uECOPd|aT>MxPSk?Vi6jvPCcHUo?N5Q-`IDu5B!TX0~Hq zk>phbBd`0cq@;8KX=K?SASee;q?~bgUk&{RrmNA5%{cB8^9_KBnOWWnT>e9A-3X)2 z5U52ku3Rg@389TmMlEOXU}}(h-uW;Rc%;;|-`e8AiOX)-Dby2*b666uH@W{pF305Z zDDUUDZ{LO%3I5$aZ-{&$Bsn=*YX=G|6_M8FWu=kNpSR|jin{kY0yapt;gn8-Dm;kT|Q5+i5@@#VHorV#3ynws@pKaiIq4_|4}U*RoF z%36f~A(S*Gkwul2mG6sog&Zt%6C4L8t6*N+z1g&{SB0YJK173H6N)BNq}f^MXU78a zQGdRA>|gj)56xnuMpWIS(!h?Ae+$>=GiT1YcSB@{>^iW*hl*B_qXidH z3~yP|IN#=${o}!7Rv+NvPG7>$czTL|mp%H&X@g|fE8heZL{lX3~{~vuD?EJWATIztZWqXoCKoDe}1F6$)PjeyMjXJeV?-cj_3X_MTc< zS#_q57Dbq(&EGT0uOqFQlRXL_D!e(MdP6&&KPqm{*A@OcF&|3`ATk}==^D6iQndU1 z=rqp*TNtLkVaPk|06-SsyEk-eAIsZ3QuE5R`&a6mfxr-Cikg}l5*###4-4UCUb1d_BHx@6kI(_?2MNAC)+OirM#`jOxT*+c9TCCmIsoPijxGZ`(CBwPA zLX`1mpmpK5>HhFZNF~u|Zke4#2=EA?Od{qD83_7r6GUy1KfhACKY+d0te~anNWE%eS|;v%z8&gRZ~d zT#3c1Na~T#7xhwd?3xX++Q0VU&#LdPAIesP39tYVR@%0fM(*T$Q@=K*3qb^`h41(_ z7kLfq^aED6ugGY2xgEcmeQw)>>!3F*D5|PfXzfTtdD@w~m6NGdIb3+%X)B@2d7fJj zST|Z9#5%`Odw8I=v)Mmz)X*aGN|mGswjGATcl)Ks$L~MknRjnXtjx%#PoX&EZLr6^ z7QPFDH`t!Nn`26iFk;puu1~xgyJ0&k!mvVAbhI?i9j&C&`}f6+_-=Q|e;#=#klH{8 zq<`1t9<-BLcg6BWv}Iv(JC|Is6JXR%Tw&ZUZ$<)>-Qi>y1#?qc(! zYa4?1ZikGRmVFNR@{HPnXCFr#y}b{6K06;_eZ@TK?qilf7iVX&zREvH2#kxY)zGxE zK_h`kexYBssjmg}>s6rFFhfos42AVTuY&~`P*T-GQRBe4eS1d-%J~f$w{C^u!3^Ub zomPm;BT4#l{BfE3&ySd7>v1LUE0Ux3oIPv((C(3vmaaio>jt$YN_pjqkNi5hqIJWb zztCTQbLIG6FdcK|Yzub(S!KRr#R|ek0ilQBmB@W>&V{^eZoaK?eb(IZLs`j!B4n4a zJ?rr3>Q*@+Et=xNj$V(}?Y3zzu>u2__a5P4&c`{u06cwgY>Xj6KLp2&eP@B$(46z> z;ki_&=U0TkPfck$IEX->h(JAP&u;*5wg$|z@5st=;1_iA^J6i2=~h1I%3kz*zqGhm zjGXMvox^L9RfLw7dS0Fps|6@sFDW$IcB2vTntYI||1VC2-w;cQE{h*K^Gzen%n`=E zL)#O(j1xf=b;)0@*SrM_oWK%vhkuJ6ba)rH>-TG9#$4U!SUe! zG$$wLeFZWpt})*(WEg3I6K}<9`ueQx`70?j<(3ivv>vpp7t8auHT#=v*sx(Gv4}78 z$CCsawNkk6sQ^PQ&I}rV|0S*1B~Yx`K#C~PQ7zElF;@R`B_re3d;GJg^)JoPvGQyI znaynYVOm<+Ma;q5{m@R|EGxVJPSvl)K$1;iuhN9;WGVbD`Wg>^SW0?e03%;UV3%8D za#7L^(>@GUb|1QUsDG*G7oyJ%@a_v91~}f`jbrt7nTwH;QOT#ZkN7?IP9DJmbN>T# z;rh=Q#@50w%YW@-6t4{Zo&r`2QwGxgxnF94D5&Xw=(+>cCK3N3M4MAFVV`FjzO zblx{v4&3_HNO}jzzL{`Tj7>~Dd;4|`1hd#j;lX@u0jaIjxo?&gKi(cDu)yWZt1Ydp zq|wJG;3l%aW6GfrtpS^DJ2@QiU99DntO#1OUwhWBm9*Bu`KDjmi~NX0)9A zDF&hFf@Wg7TY%C5B#}vOOCi%#9xHfwZvy<4p+ZJ5LQGMtKy_Gr|Nb*HGu)e*v+ zMdP2lefyx~bFL?_gbVjqz4Unbp^-^AqFDBkRDD+ zS=Z+?Ax`#JUtiw>Ffk^%WXTr!eEi4)pi=@^fTCq_=nz4-hI~u%esa|y2?UcO85ZJR zOJHuO6XGD*AMy*${YlDkJturgcW-%VesExbg5Mq+AFsuI5jX_N3MxyBlebmd1E;6& z4@I%wxwGj)?!FM`GEAl|0uXWY@Th|z+qyUzbkq4k$Pp5;EZm@{qZ2ZPiW(Iz6@@T} z5M$PHijo|L0n&QlK&*@^GO;RVeM|@TUHhw7nqFRt7)(GBP?G_KG2s z-QD@}Q7tcD)`3S=H;NqQXmwr?a79$7+Pb>84y`h%r?Fb0rly7@V*q6k*o$uE%s~Jk zO*=wDLnDUiNwJoo4@%N1N$ZO0>5=C8&_EFp5!C#4_^67@jcTf@Oi|WW*Na(w1jz!T z04K1MLiYBe1~5?Fsg1On)vt5*yn5{EJo~M80|eD5r=J|{MJgWhHe~bHgruaA5l4e| zXYS+2j{`E`$8G=-(ME%Of}Ww_D$;X7s3mNqEEGxvy1_~YbVJ?+lqri>t2=T6YQB1v zlOPTjH+MVBDzN*9fW}~p#GHg~>;mhPVe!J?#}>Rm&?B%DYA0JXY2418D|%a$bgunK zO>ZwR&QcvfHT!O;w*=u)uCAm5uVxqi4>4B%8h=Kkc|*95ukYIA1AQ#YPtHxo00Oy&c+b$o$v}3kylB^Td8K)TfNbzicboaN zSLE~GpG;0e>B6yV*Dmr`A5VKn`z-P7en5k=0*G=5Iv;~T2r(|jffZV-{P%Z82)hmU zz7tCiABLZ!-LT;rQ}6L(9?G>el^2v06>UD0xi0`C!MuMAc338A_b5mL}W86H17tRjqLM>@B zqhna2IR-wXn6Oe&ffs${)sLr@Dk>^SXhAoH4$)RiPmcj;z$M^{(i-GGcM^Il(gXx4 z%Ez-g7V$pLkVn5js(f%r2yHO=<=G-^8pO{1j5T9~8;1$=OLcm+Q{zoN2oZD%J}OiWDP;YSj|s5Ers zTY;RBCxW#jq^fF}W{n2w1LrPQ6vfOK?28!u_Ko%2xpN_FR- zCs{B{&b?v7v+8P!va$;uxvS1F{TwZvHhCiDP%h)5Bw6aPT}qcDuV% zs6d8SO1pl25UA#VtYLt(y6DpaOxb&F^h?bkv-Vj+Uj=ZOfaHwa4pT! z4cV13N$eD}2f?w6^*_~t3bX101--i!8c&}1YQZ_aa zMBGb9M~A2qgwi%xlRV2#NzKXEIV;-)u=0Vg7l~TWZ!si)K_(UQ>X3X{ew0DoYM+76 zEuhRz>5{+upOCJcE!Wzt^&)|0i9@FTr0LRHV0R0nI^_EE8VVw=#}r3Em>B>3|Mp7o zBmbK@_&?QkX?|;NeyznNU2U}cQA%Jn5d*fnz)Ha&wS?3i(X$GFFVJ)&y9ZwEzorbi zpn{ltrt(`qKjtzn4aH}_DY?Am|MRO~Uo^A4^uY3<&k@@ME?ny8|I4KsbJePh=^V-v z@;NeCP1JnNR!sg=9{xWr^FLYQ|4mx_cZZ@Y?|gG8LE@$QcdgdZR2F#k-cLi)M4ZQa$P(S7t4ohFIj(tx;FZ9%ZEzx0OKEngizYDPbRwr0 zz!5AsmJqF)YJBVEw;fnn0QZpw(W96{&ZVIn#-*Si5v?Qk9H1Ey*hKcKjpDim#7nXr zk)#SFHD?wTwbdGsCzXl~aQ3VMh9#i+brHLCldy2U_{IeNDO9i6JS)i7TF)`tB`GV* z0ptUxlZjX{dH`;xPip~vwQ+S_Rc_g8gJ*F0?H)tJM$i^hZC#u#3@j|P zalX1Z1HPSjTevQG|8@4+0=en^!2bx`gj|9Wbo1s$%*K`ZqgG)-JgZJ~Y&w|;)nf&nR^DFv0NF2i8W-vKY3`G8F6oYw{2sKrqEG<%8Z8l8T z0SIGYU?2rbH^3(uDVyz)$JXGyMI>9%bf@(-M&aK|6RB!ZEx`Bf#kShutPtr|(gkk^ z_>TB?x1ljqex`WQD@>JS<{d$y8F4U}g}5Ri7#S!8A+OL`p!OsElk z-jzD9MIDlH`*tL-CDVm~+a@Gp?AaDlfb3xR>=lwyA$j=(MrAG!q^p=NscvbBX3;|2dePL-K!>heEdLG%DZQIWcAmAg zu;7>>dcGVUCTp=q@R|`_k(MV>VYA)&^yLdPDv_x+WX1$5AdLqkKy;DTw^0IXiNp&+ zJ{S0;LHpJu{hV54e-sKbW4j$tX*NAsfw6=Wud~A!lDZy_BTr3MIVW-G!HM%ob`l-= zF&Cf%?i#m?C>N;&#yeM1+&;Zr2UJ#Mj0Omd5YB!aY9~4ixK^N7-Pr)f0BH(LN#Z+! z<>93T-@h-5+Xw@aooDd7?CjU|EA}3HjirS%k^DNACNjRqkTJ(DT0z0ueTjU_I2y1U zJ%RHyPD!pu5uEeBHFB*aI$6(yOj1ThY|%FX@Okutbv!K{omQq1o*)a_TFeaSt8*jZ zXaNwTe0*3x4Vr|G(D~qC?aWSQ2rILM>s&w{V7u^rFwg3V0%ZVctR3$>DxXqM08H*^ z40?>UQ|0F7lGO6nty>K>_7nl!4Ur56bh{Fn{Ts}@f^AF2!kBovFbjf8@WS%aWFSt% zXIQGX$B)zF#}twIp!h-JI{N%AH7<^vqgt67Ha0e;ft82UjEs?+h71A*w+?HfM+9WRqYfq(=cg!2Lnq&<#+BYpa#9wjIy=2vA6 zc8x7qYGf3k{r+)7lA#C)P=KyW+_kP`!q}R7H^=6EgiM6g33s;n*WA}g1WD3)L*X8V zffrzdA`(SKMXM;6Vq$io`+^)K290)hEI`tw!kFE0&{x8%));lZMS!{(8Y;A9OWyk~ z7v#2;Lb~37Hr8CZa>d5kne;cGiji~p`R(*8UBW|vCQDAd5^}-#ipGU>%(~%XG>#nM zNA`#4M*HRK*Ag`D-`qA|)tn^RRYpj6)fkdZPfw==;q8zr6cMNnc}xlFIZFBPWs+&3 z9Y+c_f<=`MyL9BTJap}k0b-m9*u&`v-P^lXk!aA^LkV?AnKWbL<2i`BHkx6yXzdI! z77bxI5tkc@fc)XH=SrLqopYu4BK8n4jzU2z=NRgjJkoewbtOJtFsYdoFO+JO<^q@X z$dDYSwerLRL83wxkqH`9adGjMxd8Qrffdq9^rvrEfZlTG>wRtthKyoCd&R7@zPJ*7 z5NhaQ3=h##prun@txoWkz~%Ws+P99-xkoqZRR7Z!j=RFs)AtsS1vC1vWCADO?rfd3 zA7Mm(a7Gf%W#_krHOPCZC^!7))*3-sulahL$`ad~z zuDprHDj2vwQctYu;(ln*7d#|%$x_XTY?G~InWE0zh|P?zGr7Hnnu7KW?yUc*Razou z%J8Qe3`5!1E{UT1CnmMm(9m$PHV!eLngSw5u=%OYSoG-dIn7`h$lt|@z4A*~fdWDf zzE30H6vJSJ@1O3oN*}*~W1K2T4W*KCDGpgWWCBy=*x!~Cy1?Q{8#tO}ip;YBRviEf z!0XSVl2g~+Xq@C^2#!Ossp z3aYB|0E{@+XT9?rDPq!8@vsv5Un4*l1fww!aZ_$hQg}EcV4_QCE87F3BIM9Rlj2;$ zMX4>#p8YeMMx6@WqcIe~Z9&Tu z-+2iV7bw+u+};{Yxu0t@ z$E?$~qRWi8N%73p3YrArUk24~2*ad~9dHtq8ya9!VA(XA?x;XwjHIs?9q}NX)OJAH zNLK{4<^Nbfs?zd0*6E2=?rxq!t6$u-vydOcbS41YEQD85vy)>k`#cg&EVrq#R~tbm zph1Ph%w$IR@dN06KqLNI!#9mmUbG_11`wQCwUNi0CL?bdt_h|mtlRiA1&cIu{i=5! zv&z(OyGnAIkHC0H>jwJ?;3pu51lc=$c}+b%PpTgjyz52=Z|wOUK=m-rXhQOk!NN!2 z%OV*L^JDKb-CunE=Y1q5?&i(`SF^AK{G(Z5>f)x>GAo#@WzvHzdhKdDae z&%dha@8<|*t-mdLR=HM`IOrg`{%24kdLK|GXfGN@anSCNZrFi) zPAJC*3N2~|*#FiuSy!4`TN{ud3&uYuNoRI$F8QgQcSljt;zDjOp_UPlmR?P|_MmuR z;Oac!W2vTp6=Gf)E5CXauuDSH0sVO!#ReURoW68yUC2npfGMQSMpJmCDqS;oeMlwo zIWkUh>ApuxA+0@5Ga$su8e>fvky%P50d{w_N=e6@apQNhWbB1eU` zh_2f~uTxWR5@V>!+uq;Hq>wA~{i!m_soek7n?=UfRx^J&Gh|>JOFh*7=X|| zVJ}Qk^q-^+{Z{xvBb!8Z)Ri_6hfaodGcN^ z-;@bBikkcGFV(!HzpctiD!*I5ZqxB+HI@xpznRQR;#VuM1EI}g z??%#zeU0>m9`5$$5{KXSSr%|;Qe?Q6Hc#M_3No` zhy1loGG@H8SJU93e5Y98LCmiaY9QXmFgii<3a5T{997Gw+4bu+HGG@(4p#qzQ4*pM zH-XyOIy#1o%)$)d=o8IsH{H&<)c)+dwJ1#^D3Pw>PtIl^Iprpyh>4)(Kx^_<;bMB*J~&_BPoU~L`Sod z`$UJMpgdcd-S1UNK+40ZEz%rV zcFWW=jU}=%HPU!tvj~@TemC}7XVlt1Lku=5bW$guX;uGScw;~IylkquAiJvg*U)h4 zI!gUY2E#|1CVM$%3*LSHcVJ~{WgiohUNYJ;7gG23i$>j7dY-jZK8c;*a?I-Y>Auq= zhp*lWs_I$ob0rhMWVc+E_iJiP+cfa=$TrS@5SumsWU&{|W3F4BMVi#RfBM^c2Q2g# ziT`)RTw$ax{(a-Po#KV1xo+!_g+_8l)ggpgFMD=LnY~J77;P$!BSP&3@y;{bVH}>q^>o!4Z7UDALfY+O zO3Xj9bKZwq8q)7eJYDui;o|jt<~64)FRVPai)!!;B{S`Dr0KDep#PqsrQ!bjVn?6& zm@uYxr`Vjn_L#e`ZoNz|lMB<9E$3%d*iJ>$$ke_#dB4Kgc>z z{9wM{SiQOUh-Sj!XyI3@YM&Ja&H8d(RZ9KeMZLE6jQX+Cu$8Or%x@9H$^;e4|I^ob z$79+5@BgxeBxMvzvR5jrVPqweh%&NQ6bd0_B_dg6RkD?t$jDY^$S9*NG74qy(f2s- z`}6reet-NP-~0aOz9p{fyw3Cee!q^_aXep<2lDhzlyeLEC$K55cyo{M7cS&b2{Gl; zE4?GGU+^AN8Hn@LGW%GJ_SefMT$?uX&v?(hi%w|zI88h$aAInT`BmFr=&fH;dXP)j-o4ku24@Nfa79Ojqsjf3egM*I^-8ZOj5E!_o zL^o*4dn{!sf4DrbY(E2ob!XrEz~YP@m&Ofh%TI}YFz8Y8zAo~?(75*XmuNCRo>Yen z|FUBbN_9S~Z`u2BsN%Y~Aa|L@T3)E^3^I}wS%7jaicZb%H? z*9|Q;y;%ub$-&OQNIN1yztO^FIrhWGzo+Q zmPJZ_4EC2sB|OymwffDymaT#@={T3>K}i?)+T(TQbsxJD1<<)FQtMYMZjDYhZl0Br zWYJ@Kr(Ar5JE+~S;kqb0UQ_zJg9i$Jd_OdC_{Od*`yKi71}-kq!9J`JKkcTc7?)_o zH(%;1FXQ<3drta%eD1cbIxI5J3s^=Tdz~I@-!h-ET;Z^tl)>6B7x$B#F^S?Z^*=w9 zmuHtkU1`oneb|w$`ZG(fc`TV&w+3+0biAs|lMkAkRvEW-l8})ae6tq@v3kwgd4&CQLS zNjN^9{O2!+5QS$A++xOtv*g@TH|q=cbxyG(A#_iuUH-^PF(v{{F4e+yS3Q+R-E&Laro%D8N>KrPIUalW z9?W^SAQUr}tp7g9bLXSe7H_Wk2-)v2sG6tkbyQ%?_cxJvseQ!2Fn)Tdh8pHvqDsVs zBr+1=3&OFlzBaPA9ES4%#fA|Fn_I=}UnRypan2B4WV>iEM}G3*xrsQxxQ%VNy)%+Z zIU66Z>co_HbTls3JyGc3PKi&8j5Tw~tdEtmn`-iLuI#Ups!o)Srb@o&2>s?{JK6V~ z{A$b7>N)Fh$uW?}G&kEycgBpF&%8R)te43i>F|W85-CmSxn>!&yVt#?Y?v4mtIz+! zyU@s>qtT`wJa10>ZTu7SLHQd=R4L5R4=sMZ%OJU2myADX$A}zOU2Wvq3a@$L07X8Y z_dWjSTsb_YCF*!4FQ4~`zLnm_X+4}t_xrGpnGxe+y6ZhsL+AlpuMt0$mitRMDiZ6d zk?pq`M|I7P+@f{wgRYb}H_C2TY}s`#q%SEl`i>*bjR6k!n?h+`Y1ePtif*^rj$x1x zxGFt$rj*U$F(D)((myTgq5In0Vpe-CjxiDa^UTbfHRKQCz?B;<| zWoSs16ZGKW!`JWL6)G(lZ##Np>3QvPE>JI=TwIz(k0GiO&V1PLc6OjG%0f7PM}CBb zhmV{{)4ft8QUByv7}Mi>fghqTfgnn+)ydH#bp40Mz`!}b?w2P&M@oVRJK;G~#IVgx zY(`X^?CILGm0bzwyHua!Ya|KeT(n+cx|TY zhtibNXNwIKHR5@lKRhRUB;%}RU|6(T%IVbNmM=xR%_pL;Wk2oJw=^7QMzj}-U83wjmx;W< z9`NeZr=5s14K&=OiyTw`Zf;AWd7;6se{f#yV`)mu&=>MjLmrTBJ|v(d1pPJ!T!m;MfTr< z1Jl`&v+OFg(L}E%`T`fk4pBsQAuowsNtK5aYYh&&2Gb41p5S)h>a#w74yt;pUWko> z0Xr<@n$eucRaJ@GehFbjfWx4U$LUs%x=i7JEm6>B99963MJsAkIdTzBUj#R37N41v z$;o>obVxiUZdWzke?^3c6Yf|N>F;X)Ut%U7I#?IhdNOz+7ZZj@BI)p998x7MwA|N- zCvAay!NAycJPSH1=yvUl)uCST2X`_qE^rHF462=;y?oKnc#$VX)T&Sa4kw?y$;(Z@jU->s zT>D{o`c5a<6~#keT3WI@y@t`iB1H3seY$vKn}J3N#6(M$>%K_s(MwFdwF@&Rr04H^b<;&k;^w&VkIx0^^6fjcy_wo!OQC~kyVH8 z6en8^6)qq@-#M#Y3mUA&#f!!kqdxFA68&X7bedIR5W~UKNLO_E1GN|w4EcTS5!4r6qFg&;k^j^;LV9X*rA}_ea)Xz*FiX2x zS>UhPUW@5molG0s*Gg%xAbCP*N{Qu00&h5G{3!af7{#>peh-n}M8Y;8`pg4PV#4NzeH{{gJRl=J%foS&lQNU-*NLo&MN70$!!sF2yK|LZsVI;84B|Fy zuIW31U=R!^sUj04t_m^7wwAyv=m){;5`C=du9<;mmskK(#TF(Pb`A_N+wteiz9hAWTX>QzKYcNqo-axPGLApg`8B79=XW z@6gq;8Z!$(Ax>LcQVeZ$BarM>cm@}aX__cSt= z=H6=)4shL?Acenc+p@CCj=V3WxYlg~xw4$R7^!LJB{$bq4+B$ezNYt@RpDLhB%mc^35ROW|uk6*o}Tm;Z#UvJGE9o`}OD}5@~Q-YfZ;&sa(Q- z+ska6v*H`vd%VhZ-7dXncU9OG^zHGtAPuJE(}G*gRPrTdl=e<7r-tF?dNXc%3i7zN zcD~B^NWNF(xh*ewk(t#jstgMYTQbPfW34E#`^I&BdNzBz$MM;4DIuY(59345MfPaE z4KAH6f>l=eD6Cw%x$b&9ho^`4`f|D3*^M&iU9@e~2|Pi6qUBm{dqVw}nmC)L1HC1zM{EVqciDjv%7PkoKj5$tJVDLkj!&^<*%tp*^U->8eUXRHIzPzO4DQAcy*EI zc%Qpg=aVv#U25`m3LdYoEWX;dWKwQ8=)K|nLtdQbcIwrGGS%-xrp$U61C?}Azd6#~ zxbn=>Og^~CpF1jMk~+qoY1dzd6YGckRM`CJ)aj`bcYFN`>-f}mvQy;a_^x4GS1;z! zOR5c0OTi&wO_|!h^+A(Q>fRnI-Ko6D`1bNr+px>$$#Z9D_KF_eDKnXME-Z5FXKl}$ zU1Hx{)Xpr*L_Ww+{NC^Jd@im^{p2Z;_wxET{jRl^T1}ScTi80(dmM4$I0-!p+C4Ik z6JJJlALal1)e#!pO%)pEfEA{e>lG2_j;Ysd3AwV3TZHcQi^qP#{Vyq*g_6%bnzqA% zV9y?*;@6ANcf&TBS@qXcupjkT>?Szjxo=<9*aHGSc|%o_)v6Uf60C zc&rXLx3p`$lM#R9zj8INt1wGsq@6ve zA!kE$x+MMZVT1i1oOg$)WxY3c#(J;sF_LjrwR91F^426Yva?y^mp$JhDK45*=j)Td z{dQPe<~nH0fH~HFc$~>e@@rGd=qeB{nw@dPafk?t#4njCrvpe4?a)tzmB0&F;uoQT zyPzJhk5;{iO5sD7zx&DR3h5N{<{aZ4Sb2vB_7@#XGv2df8_f6L zOAP!y`{R3KnZ!MgWaq`+ms|_9tJ>#9yWGFochNf6^e~Ym>>4E$d0ypz);90Z`Rl@w zocXfd^kq9Gm*08uCR`;VVhme^5}MW^vZ6Lr^&PmUF^vtx3K8Wgv!`G#QKG}U{kla| z>+l7*A&g|=iMloJlb@W5-W$G`UQ*qH2CyZ zzf+@7sq&6pW$)bTkwcn{Vn&=m0itu#3%D8_{F%hj&MES8UI;5`i>sU z5iX0H&!{ftnrd6l$c`N9os{+O5MaC&Qo#9WLxw{6sc1kU`?|mu-x`XEOD@NcFqHeS zC5e6sPDtqMQxubu+tyT>pRC5D#aa{iDT~J!O zulHw~-b=I^f;Y=OPDs#*PB>?S*0Lyvo~wEosbW)P_YU%-2{d~~WRi2&E7aY{Uby?! zjYf8ltvQ#5roZ*1{uQ&ZtIBUA>~YufV(+W1Nh9=_d1FxK6b8++ZkEWjX-CONlscji0&ul^wjn!B7CEv&O5020rbRNLSL~;jaJ!}QhmQRkY2_;W8QgLgTsk`Ll;399*1180WMg?*PGV2ps8=6DJLT7Dlpf?9P%k!tEqnQqOef-YJYk8+Rrp$4IZlW z#xh?>>)F!E4}4N)3kzBPy6eYNTa}T0Nf;+y01PfXhxoXrL$a{QG`@eSlAdA5v-cqV z4nsOPabhk+clIw{`?0>u5hk}IrJ|C@c7H3CJ9*bt!E;Mem0reR{DYV<&J5-Q-CrzP zaJ8*n;YGinV-MmBlIgc3#Mnw z#lQyd$0UMyh0K^@hVGuddnw@Al8}@X?dyB;bkXdiH+Y-{ecLF>;5f;gQ(4j%6&0;- zLL0h)n8_@5rKG5+{)JuH=3W^bw82c94G0R(-p&=2JeFf;R_SGv_3OdXYNPk157+1} z`X~fJ#JJKXK>LkMCYhPi?b@iAXwvG|@HJ^RI}h@$UbK3mH6p_Rg&MW^z9Q0J_Q;LIw{T9#N-C`_~4Sv_!ENJiZnpcauI>r z4<9~Q=H2&YO2=wD2w+g&R39J?9>t@j&i&$DD=;{y*xEWR+9AKtVA=tvB92^4_t)Mr zjOazLnfU+iuc`SkuJuqdt7Y?r?zH1urmqm__l`4$1UlfxQ54Gi4F!0zg*|CZG(Yra z>5pwyMIz+)^@z)>-}bJRtTNy>l#q(5Yg1ulJAS>$`}1bAQ#)?X-95?6o58bUc(gsC zCdf+OS9#j`$EggBz(5fX^H+9hB+}#0UbQk3Dvk=_jM9T#&+m^u(=TJs)>Fzlu9C+{ z0H1>-JK!hbJLqfgm8S!RSizL-O>m^JM!E z2aUh7e!fnnpR4ot-Z`xsBAUX)mqu%0O&{>U{%&Kt0rf$v-FGeG3mA7+6lm`KxM-rn z%hU2q^?Ip~@7%bHe(81NBJXecaebPjiK9pH@0XQC*Tm7)TBK8m&n`A49Z3ozF;#E5 zAFsI+9~HnirJeIha@T{fWNX^~y3~^$Gjudo24xMRQhN>@Sake?2uwKYG%JwRbe&CG zUgJq666To9@g__gu?64{Y;2`?cvkc%5A__f6e9dHP>SeeWJ>8`*xvij?0)H$Gx3Cm zmDZ2?>cy0TJU*jCpK3D##Yo===dUAav1yM$J{dV#xYJ__eU`0^oMnDVzHx~rZhz8` zU3UIKOJbMw+RD=+vG`Iw{e14Lr^lr`g2GGGiYrU<^75u(5F-HkD2icK?91`wFgdUMLVa^1KTBu231hES06d&DDdY6WbR?hiDt;?(?|ouYm+9p=JGlo}fJYN6`>MXSXoB>~nQNP^D6-}s zKQuV8v3qH9|AWuHr_ZTsI80OL6uTDIeWgiY(bK`}iCz0!w^52`Oc%VZd|pN0)dew7 zVls4PSf4nt;y_?^>iDDqFN2>GQYdcFM zs^C6<`e8mhC&#KQRh7{77XEw<1(O@80wKL>K^Tox@U#$kLB#8V8!R!FUE?MZ0u>Yy zscUYgg>NLL#X|wuLe%C;D9HbKuK<#Zgp@x2=$p1S1{i+{$1scoL|7@XWqfRmwc-!( z7pah1iKIY@(^sSKiX-(yb9Kjqre%2~# zb2tyWQfx_TZ@)KR_eZ7mOCma7e^`HPs?b_D>U^hHH+ybV!(qm#LM9E3wjIXIVLPSn ztts&Fss16!Ma0Ikg2*^~V(}WvaAH0Rtgca@^@@$7F-B2|j zVOJ!+BPNC~CPkH-Nl{gm%E-uQIou9DTe`j;5c}2;_p>> z(%Q_DeMV64b>*9Y0-xi8@7^7}Q#Co3EqwYc>)F=vCIoV4{tk}p?fBP{#-}hoK7Q^Y ziI|>3b~q+P`fo?BZsLK1FD_47{Gk+@AB#VxrBC^^vCR9SS>>Ik7d*PhY(rlRj0`59 ze(Zjh^}>L8;OD6Qe4jipHbjs<$Iee4sp%835ilYXy9ky0d?ZT(1SBfLi7$#F08IVr zaJ^=*?cDir((IZQTbxFH*)?U#B*DLHgE|q3uToO@y7l$Vb>6ESh zFQ_D_T!})}F8p^ykMV}GgOOUug0b0gdL@hbDgh8_8W5r*4cVH1g!u`{h&!B;50U9X zJ@p-`!o6d`h{q6?#hPezmVfEjr|)Ix6xsU7YlOv8;aOn+ZSB!srjY0Y^Om@K!@kZ6 zJm;2+KPz`W%aFSnVJ77Abs=x(s}G7>j%;a>5y>ifa(K+RSJA#wo_%LZlYEX!qSJMZ({HYm7 zp2Wr~H8orQ)Ln9Qznj@BwVIQBKUG+@I(V-mtZRvUKhb+2JmYcuSX%k=v$8_4Y7nT@ zB|NuFfxHNU`JEbb5WeuWo7yg4rP)M{n<;vQk~6=be{iAd`19gtVulOcY6WegIVEei zr_JVT=NcZ-{~ptwJ*X_{+N?GHAkE-|ntDYqY>Cnd?6EU>ucGj_< zd?=G%3bQ0P$@}J=Ubfr!ZLs+lN4&x{TD7<5O}?i~$^A{@8d=UMo!XcgW&Z7KLN7nP z9*;E;`SuS?xX3IFFJ9^$*qrB}Y<6y=vdQv_^eIz@+i}LO40HBo4y#uV@)(Vc9&c!N z^jYeb`V!`KGsg9}qH6SC)2?q%7)j>syFY7I)`-8|IWtJ)Ua2v$bRt)5yOEh_d*h$) zt}j_PNbkv4%r}Pi{QN!4a8dJxs5N8~b(@L&M-xzaP%LCZc5;{wC*zQ>wpy8ko!YOczIAv&cTMxT`L!Kx)Oa zRJAtlYvg^3FW09i`MD0;KGq~T-3;n?mXx4TK} zG8-m`s5U6%3U1ULdt;|YUGBLyryBA(=jwav&iBKYLUC>CNsn8C&)lcZJkzT3Cs$~9 zh3Ai5;@@7`+$OZwiQ{NCWj{N*VBl_zonovp1@5sy`RXlg?WzpvX~7n%>4Oqhix+~GW!+(Zb#HN`*+Cf zh4ElKu_Dv%3!L&1-p9oiP4ua7S5tK`igmW;Y{rtg$9%=?rMpOWXQA`9dyxtEsKvCd zN;(;^Jz7ja20`VE@6GQ&&Pmv$?`t=$4md0oMyB}e>2hIaPFAvs<`JLwL{5@y<>~2f zFOJ4M{busXe7*fNHnBG*jdY}E_9L9@DqL;7R+wV}c% zJ1wYkHkSAl_lWJK->RdX-m-J-VjXt8t8cY*UIf9+I?*TJ+}!f|newvTOk4Y#R|*wM z`(M?_NJ@2o|6IJegiF?B!pbWyAxJgH!>TKyZvS(;KcAz1T3X+Jlg6VP^hk4?sp!8S zvwWDTspAaQ&koZ{D$-G(l|q%z?)FZhW=|Od3k#VP?k?dEAtm3xQ^M;x7my5pJA)J!Y8VG;F!*h{e^Wy(=HboDdZeYiTIaZ*3?&DK3kJg z{=+5q=lMU&yDm%HihbpIkmcG_NfH!cOSm`P^7f0*nC+9G=Mo2nuY6VbTa7(uNXd4G z*q!ha>L+*ShE)k9C`0G3_d6G_YG-EMX|eu%tm&EgkD3$`>FQN|O2?&5{Aymyy{jTq z-VXIOBjKV~swQ=Hqh|iru6=ARZTO_dR?1o_i|e1M4rajeMvRR6m8>C#xuULDAIWZq zn+V&-0q!I{YGKQFTd9A> zBq(y%YFp6^zAnD*xh+X=>@!Hu*_l z{FqU{D;gNY>v9XkL}A-ZsPF2xZ!25>2Y@7%dJ zaq(DhzF7ngoD?JgIRjug=zeCxLFz1Xwfkp#k9Bo-Z$!%odf_C`Vg>*jOd%?=sF0%! zuM;~E`s+kfIm127+Q!BL(k%WgSI?M8WP^DaX}ExMEPw?~#O8@=U8(OnYz&xqB(%JY z+AhX2FtsZy6wn!EG3o*6Sw6rUjkDBFz z?hd#^ycmE-CknHH0A!%O=#atjj@Ki9OKA^G?+AG%GMjKfP*6j#kRXns4pD!0u?#^5 z=tYmaU1(@%Zee7I=tZPjuWBJ#Tt~F{fs%o5Jvej5+|N{%VQe^v@8V+Yo0100{Uf6N zWG0TAi!S!i7Ps9ku$VSj3Nz*1RG=D?dQuu zXR3#v`jneW!ZX|_2walvWp1S8?%>!jc;1IV(NRzD*3{Ap1SEhc>(1t-3!HO+-v-Tm zdWKpOHaV(#Yh3`4$q2988mnljna)^rkFQJ?jiXR zEm}kgQHzQcyFz>wB68C(l5*+{^LSx!7D;UE9Z{3~#Mms@HxQdpgCgKBL$lkc(zD>T zb_qVD0$4B}$Q11cNd5UxV?9&^5Pok~SNmiYH6UYw?s+JnT*TZna{uJ!0}!cI!1x48 zVS9G#hYzy-Qq$<>)?z3MRP8n86M7-fw|KD(jDKa+;^+~1@f*wztHCexvNw2SNL}yr znnrB4nd>((kfsK&l0W;_w)x#}j&6U${dTO5IQs5<5=8R*92LPL{h}7X13=1)kDOTM?PY=7mqyT+88TXz&gg93V zKX^v$B(5bv!$u)wT7AQi|0=;1M)jI6QS&GuAfUi=+OpDXo-W_4bH@>iiWWWW5FX}4uB<=9e~I8-7m*vEn><52GpcfnxO9BiK0bjl{oto zzwcZbj>2{C-Z4WL6I|YX?Nqm#o=`!kCX3~ne$F4&3$F%yDs-r~3~uZWwzm2+!{xa# zBeu3)P9oWcbCJ$i$#E)pY=e0X@AbmRbg~i=S^F-GUuGT|Ad7byj zSXr2#UgC%Z@nrxq2qp(ek!q1%!#ts5AWq3IOVuE=Ni4+x*WijMySN-69()*+&Mr+} z1U&%ht1!51$Vs3q4*dR2{I?P>bIj^S2Es=$9i2Yw^Ve>0c{Wvm@d$D}xEXJI&5xy^ z75$;akpsNj0eb(%MVo z-B|(H&Ut_x!va9NX_G%xI>N<;JBrmv91A^Gqv*98NVEgRLlA=llUA>er-xTS&5-q+ zGB2b2iOynNcTQ^RO{jZ=z^ugZC~BWPsRI28(LhQP0d|C}w3UU0V92=iE3mMzpc|ZKb&pI8 ziL4cPnKz~z*pNRrDl1Ad5N(9hg6PU=Rcoc zD?50qWAaCreXV4@0Dqjl2~C8l(o)s&4;!OHUlg7=epATn>3yeYWvqF=>{?CpZ`wc& z1G#-9(v)-OjxS|@RZ`XsBpnR`<#vN*Y>#Es4Nkh`UvrUgtRt9pFK&88e4OXQj8NyMXrz~^(1NmEFer(DDi zBZ?2CVY4G<`|JkmMx=M+`n78o5Qw3l#vXaTPYa2tMws;Wd#|{?IpDA8hXzz%QiOM*p9w$2UFS*6dEzEKDa$VY{$sMJx1(pl6>^syIxSWPBm{|KgOUv-D zVGHw5e8$>tS{7i#!6>Nr_ok59>$dLa8jmYpuN-WhHCj_HFE0l=FS0Bg;2Aue{EO22 zOv)*_WsbbPjhUi12@?zk$^RC(_!K0o+QvqHGlj3{_wJRIec4U@wnZ6oxG(?y^NnLw}r6+t5wO`sFH&aoMw>!yI7lw=+0 zaqQJRG=6hCJAtb{0H6skl1>9cNT^%DVc%+VvMY=pU1H+NenRGT%sx%nvT%8(v)oXb zVe<1P-*wl_w(&bYGvsFB#y59Zt)!I_WT3yM9^x?}9(kG`xrqQJ`hX|PslO+1W4 z*=M+$wZuMF7b`#5Wo#-xgA*#KLHYxJqfjC{dwbhU-`*@Qzu@5T8Y>!(Yy<#|?^r)v zhg;d$1ZJ~7BjFzTV7b~D4@LfS`}h1frp7s3N2qW&yhW;YLGJ?myl>pVpFGiKO~$ds z60KDLADpVa@ukfWO8E{F&tv`i>N}Z;?Cfj_8JT^(8+SPmF%zvHSkN*W*)uaUw|}q$ zJK(eD?8s)E4!}Q*+b1aUmV*I|XlyxLNKP*wp!AL>FOWngevgpQiLr-^^Yf}0t*Xa3 z0|y!F@)K&(;NalQV*#-F$^v?TTTI3xfd%xl!20^?(lqAx%+Z281Ty>mm0VB}@A)jx z5XW8Y)>oEiY|5Peq@|{&KbytVo`zG^TAF%2Y5l#BV8%|0xkZ#^uhRtfZEq1slo>QT z+ZcHhMRr7&Lf-3ykbtgdHcqE5DObIA<$Tm9@%rxmb&LLFX%rcQpR+`^kKKEZkMG98 z+MKq}omj!)b!$ZCcnU``4ezrsYVD9=A}7MgAf-1i8bbd)DmUBVCd?c{e2XRgY#%DG zz0mtEZ`H`~U|U#Q!l8rxq-rRd}Idl17Yby>s<3VOYaRmsge7X4Aj< z!MFPzlgC<0H*jd_0x9B#j5Dbd9XPnHSqz_6nmpy?DYTS$#KliNOO~H}sldr@%!v^*1a++XJ7@FTPG$}ck=d6D)%Iw& z>>?U!)>Sw>FIUgve4*>SFF4bM2}U0M>WD&_t7F|aS~VUXk%oEVc*L&2M~{qSXcz9E z(d}{`%J*ED$@^k+^6nf{(iGzk7x}jv2F)XeojtuOO1cM*u4uQiy_7C^QJ-pGmy(ec zzS>prb9b_V!_nJ8SD)Ly67;!F#P_qZS@XT`Zqm(>)!KaZ(y|o~gIn>C`0Swm(e56- zflu$M4X!@P7+$#E+tYh1<=d*jEr)ELw#SmRzHfJIg1T}mp)zP+lh8ta;j;!igO&RV z+M+mk>l-q3=BP$K3z`pY`i^NePoJGq*JzA+wAl6jg;bFg%OigYsrB{R`dBRvMb-4X zTLa3?o09GijJ%`7-lMSZuIMCt5V2`iLP9cmF#}7Egma=wz%z;EPnZe`)hMI z`LN4e6k{Hm7+)9X+q|kQ{wm+@dP3O^8js<&yo~{dzcX#QXoXy5=%4$` zsg%OBb!*y%v4Wef za$H)Xe}|2!35{3JQ9?04NYvq>`ATLr9Tfo~kAHE4<}QPq#8vCv560!aX5_z`K_=AI zeXo;XeT>@6=)+5E&fM{y!4m|a3p;i3wX)*cpB7)aw+p*(5;dx#c_U;WFJsT7l6v#H zI^Waus+!v9=;Z8FPi?-ghGz6gurTtvprR za%gYz)4kX4xcZY$GYgiit4Uvdj_R^oBJ2FCWjyVSK%8Xxf?p!$(pV2B)Ue3t;NVS| zvbV2{?18F}!wxYiJiP_Rm6A>`f(UFbx4S*kC=%bJp4X2KV($5}!sY|JJ4l;ISZUM{ zQ>7EbPrZ$^b{f=#d%h^CWxZF5+Dbuv*$;k7fWp?EE*9tc5WHA>x;P!{nNDf8fuu*?QgX$lvL*6Tr7*aG-tOa-* zQPV!YB!Cz_zC94L3iOPV4!J(*EQbppo!bq=kqyFJiV3+G3KH|l=~&-`qr|Yj?~AV* z8Zv4(HO`y|pdaPLE%eR_L=Hm51nU+>?82?fz*`tp-#BDc>LgZH0w2hJVEHS(MXo2_ zL5KPWnyPDQs(N9UBLxH8E@bBn#%0{m3apx&q%e?g-F;i;t&&~MFG3)i;!0NBBrM#b zenK;6|JTC7!N|M}J#)h2H^T7J-rgR%&ubjRcw2FyyI@*JCzU{j@l{h3 zP#PG~36vlH>b?W!p?B}rqrF&wJ(`x1{EfW#%ZS1?^jArKSoDS;c^7iSffcoCz{$mR z1=x=BFE1Yxex8IN0O(tE34Gf~s52}qEpGw^RW`11;zZP;>kdFu;>a70qk0vihOq?1@vA%=sE0 zE+eDK(G22p5`$r|1+W-Rg2@HoTdjhDN)K&P^0vw^k0sjrlv55ETJBdnWft=M$QBm? zrFSBpJZO=UskoeaBsWCw(Y8L&D%?{7Gg-isC;S*rqLcl(>dKFxHpSB1<<(W<#MbHe z;r)Be!$^uVVg-W`?No%)SfkoPSZ zfp9YM=nizZ<8tn1WeGv2^23mez;VoRWkhTP7x~Ez$Fn;nrKF|_fCiWt(MHu5`^1T< zKad8sv>I^ao+hfxv1(p^ekD=XG@Px6SG+M3aVxr?88=-?;Jx|bNZKZ|W6z#FKVh=a zyPW9ZikMKl!ax0i^i46*Q}ZP4z=K6l&@JY)bE4v-Zx+{ti$B*cSL7BfOsat3*-bLL z%ihhxV`I^?dQV6w#_O^W4h|3_XDV!ODWQB>+kB#eZ@BNq^6{BTytM;;yD_AmkU0r9J?>UilTjjq zUduBXdU8}+?c5P)t|#Nz7f3Ba%p!7ed5x(Ee1`7dYyDk($yW;S+z}^42%KVF?no3| z2F4sjx>UGwFyNsHW$KXdXRNRBj~-d!oznG`q3UPgkY>Q4_IYV(6I7$t^e`euf@BO2 zlpyr}>QHRcnVd5;+<|H5Y=nJ*(CvVM2k^r)#MuvoB?&;{i4!iN1>>xWu6>!3^UvU5 z;R=nfG+)7RvwI#LwzHQ@iH}VB&tZO#2e)M{gAr`fZ2^8Px)fa)8&xwtlqiHTu?)^Xbh&>SqG<`VirWNd5@ z$^uJ>M#Ek{z{l`4@vw$o8ExkR%KO~d(j9_~03=#TdjB;XYjGOAg{|$4z7G;2Kk?h6 zypv~<+uE$5p#j7#H3?OL?z`R$M@S;TIxFLC5HLeH!kW+5-~fw(FO0-^APh3ZKp|?p zk0orG#Mm0k$tL)D2x1prBMnjx``|qxrZ8an=ECQ*HmrpPhsd3o#Nn*$o%=s<@I)Qx zb-M2x*|&Vr16?|@8!|6N3SWf&xs#kN{CY*z3N7z+jpE0|M47)E*GXkx$*^32k3GTD z3bP)R6|;dAsO7g&-w**Aq{Uw0B|S&kpwtIdRqU)BY>W5H4-pU+7#4JfwCYi06SNL! zZlJ#wuK5lKiD-uNL0bjo0#XJyRCJA^uh_uq+S?g1{E|HKv)u}wMbDKvA&1^vL+fi$ zv5C3~buuw3;?8+rpw{6Fi|nQ$5i@z@sgSC)W1EX9Nrg79T6T4q2E+ zvhF@225u2U#c;b9Iepy;J5m!)+U;gvRP-{Qhtdz%2u4$~f6G5ey%_sy&Bpmn17al0NK2Af*K+L2nyEJ z*EWGldw|~4tcs|-bB7LXnE0=^g0p#_7^W+2WC{;dy!yrz`eM4{&kvWF6I!jc=kCW^ zzP+h)THN~iQ}iRHMRx^!Dn6N`dL$fT84<}tW&>3e0oi#d?PxU8G&DIGflm_K@oR7* zN6JxYHXt1raqAYPr|0&^LYZhiU<}JGJ*Ne1K?HB+WcmIzB+&>|EtnbAZJaZQug&lh zxINf{vW79os~*#|h_N|kC25F}K`a9GI;gTj}5(%I?G z4{ZJT0EE>r+B|!8+m0O}(93Gyy_>o3oiq`-!VvU`Yk9 zO-k0X&qi=W1^ z3>0WF=te$7m=h70+mNnaZUZeDc(I^rpMm>s>o|i^El7E|yAv>YobCuzk-4F(>nwSPFBTruw$>#k zIwlWE-?5Yb{8IKpkD3D_6?E(7llfWM*>n^X0ZIxHAtA@`ET$Je4p!kICRbnpmTE{% z1wggS)fItxi{SCSf^QBV@2$eZ13*njZ&^0=(|rrl&P76^%tqGs)|jrM{2_^RkwP5@K1n2LY3~^ z$y=WuPOfIzj#}?MC_-OVb)G$e;1~sh`P}RhDfmV;U9|q*1GBV@w2AE(=f}GvTf)Rx z?Uc_MZ!=q5wBAcVX|bWdE19tKmHp5yH0K&o624n(tNE{vjn1AfYod)rd_$qc;_X+R zeLcccFIXApGkngTVR==5Ixb8NwHjfExKog_%jfY!g}osUv*~ijAH48KA%#ln{nL@o zPG(Kp8&oM%>wM`sX=EwP`-Je35%;XPkyNq2-Ky=qq_-E@HK``>vxpxiKirU(e(P7- zYF)2zsj=p2@4}_+|M?r=Y{NPp|EbdMbHBuZFQqbPcW-0SuYZt~on~a)NOVmu(Gp)D z+m(!ove9H-R9(3`-qPfF6FNfXZ2vNgseiJ(JhqXo9)2zhzm2WX z0ZGI@%n^Who=M&k`hI4x1vgPkr%;$%ToJ2x@@ISAJ zcb|M~Xdip>xoyx>NPajsOH&hXo$4N2(s08?{HRT!OVI`@K|bP^mrvaM&+j7x^KUOd zKd7lp$b#UTw!yOq>71N|lCy!D@b6@kW(E&nT9NRPP(cc}9az>WNiTiY5C7-AHix#( z3>IZ)>uT!_jf|YN{ao_mMF1M>(DaB|gBfON2)J(5cS9c(21nvg(5b=8)U%OmJ%jD? zGTOxn3ciVC1cF-U&|%+=N?!S#u@4QZL0G4hd71GVZtgH4u3XCrJw4)X;ARf#1bGuC zNCfY9{v%@(c5DtX5Q8&0hZ-zUX$9g>DCWkV;oQ>M)6-CQdkeu0lLiuYYnOl<{u4oc zChRx_j;vVL)+TX*=Z|@G^moAI5Srw{WG&gQ-B;lsznMCVCOBo#g>Nr zTteck*;1UyY7am~6s0B3cB^|nHA-LvAH@y`XcL7yb1jYmW zM1PcP|GXNV9dw&E;ZCH)*9jkj!_^6f&S8k9RH)2IwK$y;BB%7fiLI}j*(5{w4^ zXi!qP2^&CmBS8Bk7+XuN%MJ0%d4##Jw!H>vmyCeKUI16K_#y@MPdb+?SNwBwL`dd1 z;xZ5f%V3TDvi+Fw0fS`^3z|zkg9h z)xE?d6a@kS7G;M`fJ7qnNBr~elS&nM>z4XTLIqCXIQsRJ%dscNbwW~S!hB=W^MV3@ z^c`o@2?EfYJ@WFqkTV9yozm}%{Af?HF+IhcuKVI26O5qdz`hNqh$`G}14BdgLI1pl zdWfI|8XLMP9L6v(=3{OH48#`C&BMVYi=t=*mqC z6WY*94IT{6Bkl~?SSd-whlBk(&pm5<&Luzje*{PL{7jy$V&IDuI#YnJnk&!tF71j!@M?~RF2*vX6dwLL&6C)m& z%&e?}0(=}>q@<*XJ}EJ+9g`ZIzEy^xgMej#zn|)&xj6|QTKq^jc>_J*^iB%wj3QLXisL0B3%yG%QI5c(TzRxjiv)35S+Jv|v2fmiD9UhENbW zd6OU4Kl_pj&sG3#5lklooewz#{iWOCEJD9%Ddt@8mT#eGP|w)vg?7TXYVS~Z?}-Hw zzZ?CSOQOUN=-eNMlOdL49BC*(R>t5|z49Lf5}U%UrK7esS=Y1^FBP`9jm)RxiVS<2F^far0-xyjtlYr4YaCKQHdTFa19+PTln63w7dG>-kUp17O>_ zm4ZNa{qMW@?^|U5zkbSpFTnr#SO5Ei|NqzS&2Qi3g{Db98NnzL{yCv~O68f7`OW_U DN_FNz literal 0 HcmV?d00001 diff --git a/_images/geocaret-gee-connections.drawio-scaled.png b/_images/geocaret-gee-connections.drawio-scaled.png new file mode 100644 index 0000000000000000000000000000000000000000..7a06b3a55863426708adcc43d1bd2f3b4885b7f6 GIT binary patch literal 180356 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

hMXZT>?Wn62?2L-yc}g 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 SpYDSXDMkjS`nkGxA^!t4zpM}d literal 0 HcmV?d00001 diff --git a/_images/geocaret-logo.png b/_images/geocaret-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eb3863a4564dd2ee38604636120ecf2fb32895ac GIT binary patch literal 20129 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 literal 0 HcmV?d00001 diff --git a/_images/spreadsheet-2127832_640.png b/_images/spreadsheet-2127832_640.png new file mode 100644 index 0000000000000000000000000000000000000000..d8e67c6c6d1020a84d0b88c575b18cd2e01e4231 GIT binary patch literal 29760 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. + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warning:: + DEPRECATED + +``c_mar_mm_alt1`` is the long term mean annual total runoff (sum of of storm surface runoff, baseflow-groundwater runoff and snow melt) provided in `GLDAS `__. + +This calculation method has been deprecated due to long calculation times due to the dataset's very fine temporal resolution. +The dataset in the form of time series is provided at a 3hr period, what adds to the computational burden during aggregation over many years. + +.. note:: + The data uses calendar, NOT hydrological year. + +Alternative Definition 2 +~~~~~~~~~~~~~~~~~~~~~~~~ + +``c_mar_mm_alt2`` is the long term annual mean (2000-2019) of the runoff variable in [mm] provided by `TerraClimate `__ + +.. note:: + The data uses calendar, NOT hydrological year. + +2. Maximum Depth +---------------- + +.. hint:: + Reservoir parameter + +Three alternative methods are supported: + +Default Definition 1 +~~~~~~~~~~~~~~~~~~~~ + +The default calculation of the maximum depth of the reservoir, ``r_max_depth`` uses the following approach: + +.. math:: + :nowrap: + + \begin{equation} + Maximum \; Depth = \textrm{Max}(Water \; Surface \; Elevation - Land \; Elevation) + \end{equation} + +where: + +.. math:: Water \; Surface \; Elevation = Elevation_{dam} + Water \; Level_{reservoir} + +The elevation of the reservoir water surface is estimated from either: + +(i) full supply level (m.a.s.l) +(ii) the elevation of the base of the dam + the dam height. + +.. hint:: + For some hydroelectric dams, we can back-calculate the dam height from the power equation if e.g. flow and power production are given. + +The depth at each point on the reservoir is determined by subtracting the land elevation from the water surface elevation at each pixel. +The maximum depth is then taken as the maximum of theses values. + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +In this alternative implementation (``r_max_depth_alt1``), the deepest location on the reservoir is assumed to be at the dam wall. + +.. note:: + This assumption is also made in the calculation of reservoir's 'maximum depth in G-Res_. + +The minimum elevation at the dam point location is subtracted from the maximum elevation over the area of the reservoir to provide the maximum depth of the reservoir: + +.. math:: + Maximum \; Depth = Maximum \; Elevation_{reservoir} - Elevation_{dam} + +.. _alternative-definition-2-1: + +Alternative Definition 2 +~~~~~~~~~~~~~~~~~~~~~~~~ + +In this alternative implementation (```r_max_depth_alt2``), the deepest location on the reservoir is taken as the difference between the highest and the lowest elevation determined over the area of the reservoir: + +.. math:: + Maximum \; Depth = Maximum \; Elevation_{reservoir} - Minimum \; Elevation_{reservoir} + +This calculation should provide identical results to the default calculation methods, but at the benefit of requiring a simpler Earth Engine calculation method. + +.. hint:: + Developers should consider replacing ``r_max_depth_alt`` with ``r_max_depth_alt2``. + +3. Mean Global Horizontal Radiance +---------------------------------- + +.. hint:: + Reservoir parameter + +Two different implementations of mean annual global horizontal radiance are supported: + +.. _default-definition-2: + +Default Definition +~~~~~~~~~~~~~~~~~~ + +By default the mean annual global horizontal radiance (``r_mghr_*``) values are extracted from the NASA/SSE Irradiance Data 1983-2005 GIS layer. + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warning:: + DEV + +The alternative definition of mean annual global horizontal radiance (``r_mghr_*_alt1``) is calculated as the MGHR [:math:`kWh\;m^{-2}\;d^{-1}`] from the long term annual mean (2000-2019) of downward surface shortwave radiation (srad) [:math:`W/m^{2}`] from TerraClimate. The procedure requires a series of unit conversions. + +4. Soil Moisture +---------------- + +.. hint:: + Catchment parameter + +Calculation of soil moisture is done with two alternative methods that use two different data sources. + +.. _default-definition-3: + +Default Definition +~~~~~~~~~~~~~~~~~~ + +``c_masm_mm``, i.e. mean annual soil moisture, is calculated as a long term mean (2000-2019) of monthly values from the soil field of TerraClimate *“Soil moisture, derived using a one-dimensional soil water balance model”* [mm/m]. + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warning:: + DEPRECATED + +This alternative definition (``c_masm_mm_alt1``) calculates the mean annual soil moisture as the long term mean (2016-2021) of monthly values from the ``smp`` field (Soil moisture profile (fraction)) of the NASA-USDA Enhanced SMAP Global Soil Moisture Dataset. + +5. Precipitation +---------------- + +.. hint:: + Catchment parameter + +.. _default-definition-4: + +Default Definition +~~~~~~~~~~~~~~~~~~ + +By default, the mean annual precipitation ``c_map_mm`` is calculated from mean monthly WorldClim2 bioclimatic variables. + +.. _alternative-definition-1-1: + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +The alternative for the mean annual precipitation (``c_map_mm_alt1``) is calculated as the long term mean (2000-2019) of monthly values from the Precipitation accumulation field of TerraClimate. + +6. Evapotranspiration +--------------------- + +.. hint:: + Catchment parameter + +.. _default-definition-5: + +Default Definition +~~~~~~~~~~~~~~~~~~ + +By default, mean annual evapotranspiration ``c_mpet_mm`` is calculated as a long term mean (2000-2019) of monthly values +from Reference evapotranspiration (ASCE Penman-Montieth) field of TerraClimate. + +.. _alternative-definition-1-2: + +Alternative Definition 1 +~~~~~~~~~~~~~~~~~~~~~~~~ + +This alternative (``c_mpet_mm_alt1``) is calculated from Regridded Monthly Terrestrial Water Balance Climatologies from the University of Delaware http://climate.geog.udel.edu/~climate/html_pages/download_whc150_2.html diff --git a/_sources/ghg_emissions/gis_assets.rst.txt b/_sources/ghg_emissions/gis_assets.rst.txt new file mode 100644 index 0000000..3b4de59 --- /dev/null +++ b/_sources/ghg_emissions/gis_assets.rst.txt @@ -0,0 +1,254 @@ +GIS Assets +========== + +Calculations in GeoCARET rely on access to various GIS assets (layer) which are used for reservoir and catchment delineations and calculating reservoir and catchment characteristics, such as population density, surface runoff, mean monthly temperatures, etc. + +The abbreviated table of GIS assets with data URLs in Google Earth Engine (GEE), Web links to the data and its documentations, and literature references, is provided below. + +.. note:: + **[home-folder]** in the *GEE Data URL* column refers to the location of private assets that we have uploaded to GEE and which would not have been accessible in GEE otherwise. The **[home-folder]** variable is **projects/ee-future-dams**. + +Access to Private Assets +------------------------ + +.. important:: + The users need to request permission from us to use those private assets before they can make successful runs with GeoCARET. + Please refer to the :doc:`../installation/index` for further instructions. + To request access to those assets please send email to: `Tomasz Janus - Email 1 `__ or `Tomasz Janus - Email 2 `__ with your email address registered with the Google Earth Engine. + + +Asset Table +----------- + +.. csv-table:: GIS Assets used for calculation of GHG emission model inputs + :file: gis_assets.csv + :delim: , + +GIS Assets with Metadata +------------------------ + +A fuller datasets of GIS assets containing additional metadata can be downloaded in a CSV file format by clicking on the icon below. + +.. image:: ../_static/images/spreadsheet-2127832_640.png + :width: 100 + :alt: Spreadsheet file icon + :target: ../_static/files/gis_layer_metadata.csv + +- The information about which GIS layer data source (layer and variable (band/feature)) is used for calculating each output parameter, is documented in :ref:`output_data_specs`. + + +The legend to the metadata fields is provided below. + ++---------------------------+------------------------------------------+ +| metadata_field | description | ++===========================+==========================================+ +| gis_layer_title | GIS layer title | ++---------------------------+------------------------------------------+ +| gis_layer_location | GIS layer storage location on Google | +| | Earth Engine | ++---------------------------+------------------------------------------+ +| ee_url | URL of GIS Layer Entry in Google Earth | +| | Engine | ++---------------------------+------------------------------------------+ +| ee_asset_type | Google Earth Engine asset type | ++---------------------------+------------------------------------------+ +| ee_asset_vars | Band/feature used from Google Earth | +| | Engine asset | ++---------------------------+------------------------------------------+ +| tool_data_usage | Description of how the GIS layer is | +| | utilised by this tool | ++---------------------------+------------------------------------------+ +| tool_data_year | Which years of data are utilised from | +| | the GIS layer | ++---------------------------+------------------------------------------+ +| temporal_resolution | Temporal resolution of the data | +| | e.g. daily, monthly, yearly values etc | ++---------------------------+------------------------------------------+ +| temporal_coverage | Temporal coverage of the GIS layer | ++---------------------------+------------------------------------------+ +| dataset_provider | Dataset provider | ++---------------------------+------------------------------------------+ +| dataset_provider_link | Dataset provider url | ++---------------------------+------------------------------------------+ +| pixel_resolution | Pixel Resolution | ++---------------------------+------------------------------------------+ +| terms_of_use | Terms of Use | ++---------------------------+------------------------------------------+ +| citations | Citations | ++---------------------------+------------------------------------------+ +| paper_url | Link to relevant publication | ++---------------------------+------------------------------------------+ +| notes | Additional notes | ++---------------------------+------------------------------------------+ + + +Private Assets +-------------- + +.. _code: http://maps.elie.ucl.ac.be/CCI/viewer/download.php#ftp_dwl + +GeoCARET relies on a number of data sources that were unavailable in Google Earth Engine catalog at the time of development. +These assets are hosted on our Google Earth Engine account at ``projects/ee-future-dams/XHEET_ASSETS``. +In order to use GeoCARET the users need to obtain privileges to access (read) the asset files individually -see `Access to Private Assets`_. +Please check :doc:`../installation/install_package` for more details`. + +Locations of Private Assets +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. note:: + The data below duplicates the data provided in `Asset Table`_ and `GIS Assets with Metadata`_. We have kept it in the documentation for now because we have not had time to check that there are no discrepancies between the two sources of the same data. + +1. ``projects/ee-future-dams/XHEET_ASSETS/HydroRIVERS_v10`` - shp file. +2. ``projects/ee-future-dams/XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-[Year]-v2-0-7cds`` [#]_ - nc file +3. ``projects/ee-future-dams/XHEET_ASSETS/GHI_NASA_low`` +4. ``projects/ee-future-dams/XHEET_ASSETS/cmp_ro_grdc`` - TiFF file +5. ``projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_bio_12`` +6. ``projects/ee-future-dams/XHEET_ASSETS/Beck_KG_V1_present_0p0083``- TiFF file. +7. ``projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_tavg`` +8. ``projects/ee-future-dams/XHEET_ASSETS/OlsenP_kgha1_World`` [#]_ +9. ``projects/ee-future-dams/XHEET_ASSETS/Eo150_clim_xyz_updated`` +10. ``projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_prec`` +11. ``projects/ee-future-dams/XHEET_ASSETS/C3S-LC-L4-LCCS-Map-300m-P1Y-2020-v2.1.1.nc`` - nc file + +.. rubric:: Footnotes + +.. [#] Currently used year is 2010, i.e. "Year" equals 2010 +.. [#] Currently we're using tha data from years (2022-02). + + +Asset Sources +************* + +.. _weblink1: http://www.gloh2o.org/koppen/ +.. _dataurl1: https://figshare.com/articles/dataset/Present_and_future_K_ppen-Geiger_climate_classification_maps_at_1-km_resolution/6396959/2 +.. _weblink2: http://maps.elie.ucl.ac.be/CCI/viewer/download.php +.. _dataurl2: https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form +.. _weblink3: http://maps.elie.ucl.ac.be/CCI/viewer/download.php +.. _dataurl3: https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form +.. _weblink4: https://geodata.lib.berkeley.edu/catalog/stanford-fd535zg0917 +.. _weblink4b: https://maps.princeton.edu/catalog/stanford-xx487wn6207 +.. _weblink4c: https://purl.stanford.edu/fd535zg0917 +.. _dataurl4: https://geodata.lib.berkeley.edu/catalog/stanford-fd535zg0917 +.. _dataurl4b: https://purl.stanford.edu/fd535zg0917 +.. _weblink5: https://www.hydrosheds.org/page/hydrorivers +.. _dataurl5: https://www.hydrosheds.org/page/hydrorivers +.. _weblink6: https://www.compositerunoff.sr.unh.edu/html/Runoff/index.html +.. _dataurl6: https://www.compositerunoff.sr.unh.edu/html/Runoff/index.html +.. _weblink7: https://www.worldclim.org/data/worldclim21.html# +.. _dataurl7: https://www.worldclim.org/data/worldclim21.html# +.. _weblink8: http://climate.geog.udel.edu/~climate/html_pages/download_whc150_2.html +.. _dataurl8: http://climate.geog.udel.edu/~climate/html_pages/download_whc150_2.html + ++---------+----------------+-----------------------+ +| Asset | Website | Data url | ++=========+================+=======================+ +| **6** | `weblink1`_ | `dataurl1`_ | ++---------+----------------+-----------------------+ +| **2** | `weblink2`_ | `dataurl2`_ | ++---------+----------------+-----------------------+ +| **11** | `weblink3`_ | `dataurl3`_ | ++---------+----------------+-----------------------+ +| **3** | `weblink4`_, | `dataurl4`_ | +| | `weblink4b`_, | `dataurl4b`_ | +| | `weblink4c`_ | | ++---------+----------------+-----------------------+ +| **1** | `weblink5`_ | `dataurl5`_ | ++---------+----------------+-----------------------+ +| **4** | `weblink6`_ | `dataurl6`_ | ++---------+----------------+-----------------------+ +| **5** | `weblink7`_ | `dataurl7`_ | ++---------+----------------+-----------------------+ +| **10** | `weblink7`_ | `dataurl7`_ | ++---------+----------------+-----------------------+ +| **7** | `weblink7`_ | `dataurl7`_ | ++---------+----------------+-----------------------+ +| **9** | `weblink8`_ | `dataurl8`_ | ++---------+----------------+-----------------------+ + +Preparation/Pre-processing +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Some of the assets had to be pre-processed before uploading them to GEE, such that their file formats and data conform to GEE's specifications. These pre-processing steps are listed below. + ++--------+-----------------+----------------------------------+----------------+ +| Asset | Name | Description | Pre-processing | +| | | | Notes | ++========+=================+==================================+================+ +| **6** | Köppen-Geiger | Global maps of the Köppen-Geiger | No | +| | climate | climate classification at an | pre-processing | +| | classifications | unprecedented 1‑km resolution | | +| | | for the present day (1980–2016) | | ++--------+-----------------+----------------------------------+----------------+ +| **2**, | Land Cover | Global land cover maps at 300 m | Data | +| **11** | Maps - v2.0.7 | spatial resolution [2]_; The | downloaded in | +| | (1992, 2000, | spatial coverage is latitude | netcdf format | +| | 2010), 2.1.1 | -90-90 degrees, longitude | converted to | +| | (2020) | -180-180 degrees, and the | GeoTiff using | +| | | coordinate system is the | example | +| | | geographic coordinate WGS84 [1]_ | `code`_ | ++--------+-----------------+----------------------------------+----------------+ +| **3** | NASA/SSE | Solar: Average Monthly and | No | +| | Irradiance | Annual Direct Normal Irradiance | pre-processing | +| | Data | Data, One-Degree Resolution of | | +| | 1983-2005 | the World from NASA/SSE, | | +| | | 1983-2005. This polygon | | +| | | shapefile represents the 22 year | | +| | | average monthly and annual | | +| | | measurements (kWh/m$^2$/day) of | | +| | | global horizontal irradiance | | +| | | (GHI) for the entire world. | | ++--------+-----------------+----------------------------------+----------------+ +| **1** | HydroRIVERS | HydroRIVERS is a database aiming | No | +| | v1.0 | to provide the vectorized line | pre-processing | +| | | network of all global rivers | | +| | | that have a catchment area of at | | +| | | least 10 km$^2$ or an average | | +| | | river flow of 0.1 cubic meters | | +| | | per second, or both. | | ++--------+-----------------+----------------------------------+----------------+ +| **4** | UNH/GRDC Runoff | Three sets of annual and monthly | Pre-processing | +| | Fields Data | climatological (1+12 layers per | to add | +| | (composite | set) runoff fields…The sets are | Projection | +| | monthly runoff | observed, WBM-simulated, and | information | +| | fields and | composite monthly runoff fields. | | +| | annual total | | | +| | runoff fields) | | | ++--------+-----------------+----------------------------------+----------------+ +| **5** | WorldClim | This is WorldClim version 2.1 | No | +| | Historical | climate data for 1970-2000. This | pre-processing | +| | Climate | version was released in January | | +| | data | 2020. There are monthly climate | | +| | | data for minimum, mean, and | | +| | | maximum temperature, | | +| | | precipitation, solar radiation, | | +| | | wind speed, water vapor | | +| | | pressure, and for total | | +| | | precipitation. There are also 19 | | +| | | “bioclimatic” variables. | | ++--------+-----------------+----------------------------------+----------------+ +| **10** | - | - | - | ++--------+-----------------+----------------------------------+----------------+ +| **7** | - | - | - | ++--------+-----------------+----------------------------------+----------------+ +| **9** | Regridded | - | Convert XYZ | +| | Monthly | | to tiff; Add | +| | Terrestial | | projection; | +| | Water | | derive annual | +| | Balance | | total | +| | Climatologies | | evapo | +| | | | transpiration | +| | | | from monthly | +| | | | values | ++--------+-----------------+----------------------------------+----------------+ + +.. rubric:: Footnotes + +.. [1] https://poles.tpdc.ac.cn/en/data/c205fc4f-4847-4a7d-bb04-7c60f27438ae/ +.. [2] http://maps.elie.ucl.ac.be/CCI/viewer/download.php#ftp_dwl + +Literature +---------- + +| + +.. bibliography:: ../_static/references.bib diff --git a/_sources/ghg_emissions/index.rst.txt b/_sources/ghg_emissions/index.rst.txt new file mode 100644 index 0000000..5ed8c4f --- /dev/null +++ b/_sources/ghg_emissions/index.rst.txt @@ -0,0 +1,39 @@ +.. _ghg-model-input-calcs: + +============================ +GHG Model Input Calculations +============================ + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _ReEmission: https://github.com/tomjanus/reemission + +This part of the documentation outlines the application of GeoCARET_ to calculating reservoir and catchment parameters required for the subsequent estimation of reservoir greenhouse gas emissions in our open-source software ReEmission_. +This is the initial intended application for GeoCARET_ - see :ref:`Origins`. +However, we are now redesigning GeoCARET_ into a more generic tool and a framework for reservoir- and catchment-scale analysis that can be configured by users into performing user-defined computations - see :ref:`Vision`. + +.. attention:: + What follows, the next chapters descibe the content related **solely** to running GeoCARET for its initial intended purpose, i.e. calculating inputs to greenhouse gas (GHG) emission model. + +Sections +======== + +This (sub) documentation is built around the four main subjects listed below: + +* Input data specification. +* The GIS layers (assets) required for the calculations. This includes the public assets available on GEE and the private assets uploaded by the users. +* Output data specification and alternative outputs. +* Limitations imposed by the input data, the GIS assets, and the algorithms. + +| + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + Preparing Input Data + gis_assets.rst + output_data.rst + output_data_exports.rst + alternative_outputs.rst + koppen_codes.rst + limitations.rst diff --git a/_sources/ghg_emissions/input_data.rst.txt b/_sources/ghg_emissions/input_data.rst.txt new file mode 100644 index 0000000..5918830 --- /dev/null +++ b/_sources/ghg_emissions/input_data.rst.txt @@ -0,0 +1,137 @@ +Preparing Inputs +================ + +To run GeoCARET command line interface (CLI), the input parameters for all dams/reservoirs being processed need to be supplied in a **CSV file** and provided as a command-line argument. +For example, if your input file is called ``dams.csv`` and resides inside the ``data`` sub-folder, you could run GeoCARET by typing: + +.. code-block:: bash + + > python heet_cli.py data/dams.csv projectname jobname standard + +See :doc:`../running_geocaret/running_python_package` for full details of all the arguments that are passed to GeoCARET CLI. Information about running GeoCARET using an alternative installation with Docker can be found in :doc:`../running_geocaret/running_docker`. + +Supported Geographical Region(s) +-------------------------------- + +Due to limitations imposed by the extent of some GIS layers, the analysis is only possible for dam locations in the latitude range **-60 to +60 decimal degrees (DD)**. Additionally, the analysis of dams at the locations falling within this range, but close to its upper and lower limits will fail if: + +- The HYDROBASINS level 12 subbasin the dam resides in partially lies outside of this range. - see :doc:`gis_assets`, :cite:t:`Lehner2008`. +- The modelled reservoir extends outside of this range. + +Input file specification +------------------------ + +The User Inputs file, MUST meet the following file specification and constraints: + +.. hint:: + Data type **Int** means an integer variable, **Str** is a string, **Bool** is a boolean (1/0) and **Num** is a floating-point numerical variable. + ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| name | title | description | type | required | unique | min | max | ++========================+==============+==============================+======+==========+========+========+========+ +| ``id`` | Dam | Dam identifier | Int | TRUE | TRUE | 1 | | +| | Identifier | | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``country`` | Country | The name of the country the | Str | TRUE | FALSE | | | +| | Name | dam is located in. SHOULD be | | | | | | +| | | the ISO 3166 official short | | | | | | +| | | name (EN). | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``name`` | Dam Name | The name of the dam | Str | TRUE | FALSE | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``river`` | River | The name of the river the | Str | FALSE | FALSE | | | +| | Name | dam will be constructed on | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``main_basin`` | Main Basin | The name of main river basin | Str | FALSE | FALSE | | | +| | Name | the dam will be located in | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``dam_lat`` | Dam | The latitude of the dam | Num | TRUE | FALSE | -60 | +60 | +| | Latitude | location in decimal degrees | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``dam_lon`` | Dam | The longitude of the dam | Num | TRUE | FALSE | -180 | +180 | +| | Longitude | location in decimal degrees | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``dam_height`` | Dam | The dam height in metres | Num | FALSE | FALSE | 10 | 300 | +| | Height | | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``fsl_masl`` | Full Supply | The full supply level of the | Num | FALSE | FALSE | 10 | 300 | +| | Level | reservoir (masl) | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``power_capacity`` | Power | The installed power capacity | Num | FALSE | FALSE | .001 | 2500 | +| | Capacity | of the dam in MegaWatts | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``turbine_efficiency`` | Turbine | The efficiency of the dam's | Num | FALSE | FALSE | 0 | 100 | +| | Efficiency | turbines, percent | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``pland_depth`` | Power | The depth of the power plant | Num | FALSE | FALSE | 0 | 300 | +| | Plant | below the base of the dam | | | | | | +| | Depth | wall in metres | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``year_commissioned`` | Year | Year Commissioned | Num | FALSE | FALSE | | | +| | Commissioned | | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ +| ``future_dam_model`` | Future | A flag to indicate whether | Bool | TRUE | FALSE | | | +| | Dam | the dam should be modelled | | | | | | +| | Model | as a future or existing dam | | | | | | ++------------------------+--------------+------------------------------+------+----------+--------+--------+--------+ + +Additionally: + +- The file **MUST** be in **UTF-8** ``csv`` format. +- Columns may be in any order. +- At least one of ``dam_height``, ``fsl_masl`` and power capacity **MUST** be present. +- Capitalisation of column names is ignored, i.e. column names ``dam_lat``, ``DAM_LAT`` and ``dam_Lat`` are all valid. +- Leading and trailing white spaces in column names are ignored. +- Extra columns with additional variables may be present, but will be ignored. + +Future Dams vs Existing Dams +---------------------------- + +GeoCARET can analyse new proposed sites, a.k.a. *future dams* as well as existing assets, a.k.a. *existing dams*. + +By setting the ``future_dam_model`` flag to true/false the user chooses whether to model individual dams as future/existing dams with the following constraints imposed: + +Recommendations +~~~~~~~~~~~~~~~ + +- Only the dams commissioned after year 2000 can be modelled as future dams, since the digital elevation model **SRTM** was developed in 2000 - see :doc:`gis_assets`. +- Only the dams commissioned before 2020 can be modelled as existing dams, since the landcover data currently is only available up to year 2020. +- Dams commissioned between 2001 and 2019 (inclusive) can be modelled either as existing or future dams. + +We recommend that existing dams commissioned in or after 2001 are modelled as future dams. + +Modelling existing dams +~~~~~~~~~~~~~~~~~~~~~~~ + +Where dams are modelled as existing dams, the reservoir is delineated using landcover water pixels at a resolution of ~350m. +The version of the landcover data year used for delineating existing reservoirs is chosen as follows. +We select the earliest available dataset created *after* commissioning of the dam. +For example for landcover data sets from years 1992, 2000, 2010 and 2020, a dam commissioned in year 1991 will be delineated using the landcover data from 1992; a dam commissioned in 1992 will be delineated using the data from the year 2000. + +Modelling future dams +~~~~~~~~~~~~~~~~~~~~~ + +Where dams are modelled as future dams, the reservoir is delineated using the function ``delineate_future_reservoir`` which extracts the reservoir by “flooding” the landscape. +The choice of the digital elevation model (DEM), e.g. DEM type and resolution, can be specified in ``delineator/heet_config.py`` - see :doc:`../config`. + +For landcover analysis, we select the first available data *before* commissioning of the dam. +For example for a set of landcover maps availbale from years 1992, 2000, 2010 and 2020, if a dam is commissioned in 1993, the landcover analysis will be conducted using the landcover data from year 1992. +If the landcover data preceding the inundation of the reservoir is not available, we apply the **buffer zone method** following the approach described in `The G-res tool v2.1 Technical +documentation `__. +We use the landcover data from 1992 as the input to the **buffer zone method** as it is the oldest landcover data available. + +User inputs file validation +--------------------------- + +Before the User Input file is uploaded to Google Earth Engine, it is checked for the potential problems listed below. +If any issues are detected, the input file will be rejected, the GeoCARET tool will exit and the user will be asked to make corrections: + +* **Duplicate column names**: duplicate column names are present in the input file. This check is case insensitive and white space insensitive so column names ``dam_lat`` and ``DAM_LAT`` in the same file are regarded as duplicates and are flagged for correction. + +* **Missing columns**: one or more required columns are missing from the input file.All required columns must be present in the file in addition to one of ``dam_height``, ``fsl_masl`` and ``power capacity``. + +* **Non uniqueness**: one or more columns which should contain unique values, contain one or more duplicate values. All columns where the unique constraint is True must contain unique values. + +* **Out of range values**: One or more columns contain out of range values. When a min or max value is specified for a column, a range check is applied to determine whether the supplied values are in range. All values must be within range. + +* **Mismatched data types**: One or more columns contains value(s) which do not match the intended data type. All supplied values must match the specified data type of the column they are in e.g. numbers stored as strings e.g. “11,000” are not permitted in numeric or integer fields. diff --git a/_sources/ghg_emissions/koppen_codes.rst.txt b/_sources/ghg_emissions/koppen_codes.rst.txt new file mode 100644 index 0000000..ce8a4ea --- /dev/null +++ b/_sources/ghg_emissions/koppen_codes.rst.txt @@ -0,0 +1,46 @@ +Köppen-Geiger climate zone classification +========================================= + +The predominant (modal) climate zone of the catchments is coded using Köppen-Geiger classification published in [Beck2018]_ and given below. +The climate zone for each reservoir/catchment is stored in the variable ``c_climate_zone``. +The below table is reproduced from the supplementary materials/associated data in [Beck2018]_. + +:: + + 1: Af Tropical, rainforest + 2: Am Tropical, monsoon + 3: Aw Tropical, savannah + 4: BWh Arid, desert, hot + 5: BWk Arid, desert, cold + 6: BSh Arid, steppe, hot + 7: BSk Arid, steppe, cold + 8: Csa Temperate, dry summer, hot summer + 9: Csb Temperate, dry summer, warm summer + 10: Csc Temperate, dry summer, cold summer + 11: Cwa Temperate, dry winter, hot summer + 12: Cwb Temperate, dry winter, warm summer + 13: Cwc Temperate, dry winter, cold summer + 14: Cfa Temperate, no dry season, hot summer + 15: Cfb Temperate, no dry season, warm summer + 16: Cfc Temperate, no dry season, cold summer + 17: Dsa Cold, dry summer, hot summer + 18: Dsb Cold, dry summer, warm summer + 19: Dsc Cold, dry summer, cold summer + 20: Dsd Cold, dry summer, very cold winter + 21: Dwa Cold, dry winter, hot summer + 22: Dwb Cold, dry winter, warm summer + 23: Dwc Cold, dry winter, cold summer + 24: Dwd Cold, dry winter, very cold winter + 25: Dfa Cold, no dry season, hot summer + 26: Dfb Cold, no dry season, warm summer + 27: Dfc Cold, no dry season, cold summer + 28: Dfd Cold, no dry season, very cold winter + 29: ET Polar, tundra + 30: EF Polar, frost + +References +---------- + +| + +.. [Beck2018] Beck, H.E., N.E. Zimmermann, T.R. McVicar, N. Vergopolan, A. Berg, E.F. Wood: Present and future Köppen-Geiger climate classification maps at 1-km resolution, Nature Scientific Data, 2018. diff --git a/_sources/ghg_emissions/limitations.rst.txt b/_sources/ghg_emissions/limitations.rst.txt new file mode 100644 index 0000000..afd48ef --- /dev/null +++ b/_sources/ghg_emissions/limitations.rst.txt @@ -0,0 +1,55 @@ +Limitations +=========== + +Some of the known limitations of this tool are discussed below. + +Relationship between hydrological parameters +-------------------------------------------- + +The tool outputs a number of hydrological parameters including mean annual runoff (mm/yr), mean annual precipitation (mm/yr) and +evapotranspiration (mm/yr). + +Please note, that the parameters provided by this tool do not meet the expected constraint: + + [Mean annual runoff = Mean annual precipitation + Mean annual + evapotranspiration] X + +This constraint is not met as each parameter is obtained from a different GIS data source, each of which differ with respect to temporal resolution and coverage, spatial resolution and modelling methodology.: + ++--------------------+-----------------+-----------------+----------+--------+-------+ +| Parameter | Description | GIS Layer : | Spatial | Te | Tem | +| | | Band | Re | mporal | poral | +| | | | solution | Reso | Cov | +| | | | (m) | lution | erate | +| | | | | | | ++====================+=================+=================+==========+========+=======+ +| ``c_map_mm`` | Mean annual | WorldClim 2: | 927.66 | Long | 1970 | +| | precipitation | | | term | - | +| | (mm/yr) | | | mean | 2000 | ++--------------------+-----------------+-----------------+----------+--------+-------+ +| ``c_map_mm_alt1`` | Mean annual | TerraClimate: | 4638.3 | Long | 2000 | +| | precipitation | pr | | term | -2019 | +| | (mm/yr) | | | mean | | ++--------------------+-----------------+-----------------+----------+--------+-------+ +| ``c_mar_mm`` | Mean annual | UNH-GRDC | 55659.74 | Long | < | +| | runoff (mm/yr) | Composite | | term | 2000 | +| | | Runoff Fields | | mean | | +| | | V1.0 | | | | ++--------------------+-----------------+-----------------+----------+--------+-------+ +| ``c_mar_mm_alt1`` | Mean annual | TerraClimate: | 4638.3 | Long | < | +| | runoff (mm/yr) | ro | | term | 2000 | +| | | | | mean | | ++--------------------+-----------------+-----------------+----------+--------+-------+ +| ``c_mpet_mm`` | Mean annual | TerraClimate: | 4638.3 | Long | 2000 | +| | eva | pet | | term | -2019 | +| | potranspiration | | | mean | | +| | (mm/yr) | | | | | +| | | | | | | ++--------------------+-----------------+-----------------+----------+--------+-------+ +| ``c_mpet_mm_alt1`` | Mean annual | Regridded | 55659.7 | | | +| | eva | Monthly | | | | +| | potranspiration | Terrestrial | | | | +| | (mm/yr) | Water Balance | | | | +| | | Climatologies | | | | +| | | (UDEL) | | | | ++--------------------+-----------------+-----------------+----------+--------+-------+ diff --git a/_sources/ghg_emissions/output_data.rst.txt b/_sources/ghg_emissions/output_data.rst.txt new file mode 100644 index 0000000..504c7f5 --- /dev/null +++ b/_sources/ghg_emissions/output_data.rst.txt @@ -0,0 +1,285 @@ +Output Data +=========== + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _RE-Emission: https://github.com/tomjanus/reemission + +When GHG emission model input calculations are run in GeoCARET_, GeoCARET creates a number of outputs which are saved to several locations locally and on remote servers - see `Output Locations`_. +This document is a guide to the output datasets generated and their location. + +Run Folder +---------- + +Key Points +~~~~~~~~~~ + +* When the GeoCARET_ is run for the first time, a folder ``XHEET/tmp`` is created in the top level of your **Google Drive** assets folder. This folder is written into by the currently running ``GeoCARET`` job. + +* Initially, all output files are written to the ``XHEET/tmp`` folder. + +* Once the analysis is complete, all output files are copied to the permanent **Earth Engine assets folder** and to **Google Drive** [optionally]. + +* All files are finally deleted from ``XHEET/tmp``. + +Output Locations +---------------- + +The results are saved into three locations: + +1. Google Earth Engine Cloud Project Assets folder +2. Google Drive (optional) +3. Local results folder on the user's personal machine + +1. Google Earth Engine Cloud Project Assets folder +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All output files generated by GeoCARET are saved inside your Google Earth Engine Cloud Project Assets folder. They are saved in a folder called ``XHEET``, which will be created inside the top-level folder of your cloud project. + + +.. attention:: + If your cloud project contains *multiple* top-level folders, + GeoCARET will use the *first folder it finds*, taking the folder + names in alphabetical order. + +Each time you run the analysis, a new sub-folder will be created to hold the outputs, with the name generated constructed from the ``jobname`` argument and the timestamp of the analysis: ``XHEET/<>-<>`` + +For exmaple, if your cloud project is called ``my-ee-project`` and it has a top-level folder called ``home``, and you started the analysis at 3pm on 2024-01-01 using the following command-line command: + +.. code-block:: bash + + > python heet_cli.py data/dams.csv my-ee-project job01 standard + +the outputs would be stored in ``my-ee-peoject/home/XHEET/JOB01-20240101-1300``. + +All outputs are native Earth Engine data structures: *feature collections*, *images* and *image collections*. + +2. Google Drive (Optional) +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All output files can also be saved to a Google Drive folder under condition that the config option ``export_to_drive = True`` in ``delineator/heet_config.py`` - see :doc:`../config` for more information about configuration settings. +For more information, please read: :doc:`output_data_exports`. + +Exported data +************* + +- Catchment, Reservoir and River delineations (vectors, feature collections) are exported as shape files. +- Catchment areas and inundated areas (pixels, rasters, images) are exported GeoTiff images. +- Catchment, reservoir and other parameters (feature collections) are exported as csv files. + +For more information, please refer to :ref:`exports_settings`. + +3. Local Results Folder +~~~~~~~~~~~~~~~~~~~~~~~ + +.. important:: + This destination is only for the calculated parameters, i.e. other outputs such as delineation shape files, are not saved to the local results folder. Instead they can be exported to Google Drive - see `2. Google Drive (Optional)`_. + +When the analysis is complete, the calculated reservoir and catchment properties, i.e. the ``output_parameters`` are downloaded to a local results folder in the form of a CSV file called ``output_parameters.csv``. The file will be stored in the folder + +.. code-block:: bash + + outputs/<>-<> + +e.g. + +.. code-block:: + + outputs/JOB01-20220130-1450/output_parameters.csv + +The values in ``output_parameters.csv`` are additionally validated against a set of constraints, e.g. minimum and maximum allowed value, defined in configuration file ``outputs.resource.yaml``. +The validation functions are defined in ``heet_validate.py``. +Any impossible or improbable calculated parameters are flagged in a CSV file ``heet_output_report.csv``, also saved to the local results folder. +A subset of data in ``output_parameters.csv`` is additionally saved as a specially formatted json file ``output_parameters.json`` that is designed to comply with the input file specifications of RE-Emission_. Alike the **csv** files, the **json** file will be stored in the folder + +.. code-block:: bash + + outputs/<>-<> + +e.g. + +.. code-block:: bash + + outputs/JOB01-20220130-1450/output_parameters.json + +Guide to Output Files +--------------------- + +The produced outputs come in two forms: geospatial data and tabular data. +The geospatial data is saved either in ``.shp`` or ``.GeoTiff`` format, depending whether it is in the form of vector(s) or raster(s), respectively. +The tabular data representing the *user inputs* and the *output parameters* is saved in the ``.csv`` format. + +Output File Inventory +~~~~~~~~~~~~~~~~~~~~~ + +The output data comes in different native Earth Engine formats (see ``ee_type``) which later determines the type of the output file (see ``drive_type``). +The file names (``file_prefix``), their titles and descriptions and types are provided in the table below. + ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``file_prefix`` | title | description | ``ee_type`` | ``drive_type`` | ++=======================+===============+==================================+===============+================+ +| ``user_inputs`` | User | User inputs | Feature | CSV | +| | inputs | | Collection | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``P_*`` | Raw dam | The raw dam location input by | Feature | SHP | +| | location | the user | Collection | | +| | | | [Ftc-ft-pt] | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``PS_*`` | Snapped | Dam location snapped to nearest | Feature | SHP | +| | dam | hydroriver | Collection | | +| | location | | [Ftc-ft-pt] | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``WCPTS_`` | Watershed | Watershed search grid. | Feature | SHP | +| | candidate | Hydrobasins 12 subbasin of dam | Collection | | +| | points | converted to a grid of point | [Ftc-fts-pts] | | +| | | locations (15’ pixel centres). | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``WDPTS_`` | Watershed | Points on watershed search grid | Feature | SHP | +| | detected | found by algorithm to belong to | Collection | | +| | points | dam catchment. | [Ftc-fts-pts] | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``CX_`` | Catchment | Catchment pixels | Image | GeoTiff | +| | pixels | | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``C_`` | Catchment | Catchment boundary | Feature | SHP | +| ``c_`` | boundary | | Collection | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``WBSX_`` | Waterbodies | Waterbodies pixels | Image | GeoTiff | +| | pixels | | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``WBS_`` | Waterbodies | Waterbodies boundaries | Feature | SHP | +| | boundaries | | Collection | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``R_`` | Reservoir | Reservoir boundary; boundary of | Feature | SHP | +| ``r_`` | boundary | waterbody which intersects the | Collection | | +| | | snapped dam location (or raw | | | +| | | location for existing dams). | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``rbz_`` | Reservoir | Buffer zone around reservoir | Feature | SHP | +| | buffer | (used for landcover analysis of | Collection | | +| | zone | existing dams commissioned | | | +| | | <=1992) | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``sr_`` | Simplified | Simplified reservoir boundary | Feature | SHP | +| | implified | (the outer boundary of the | Collection | | +| | reservoir | reservoir ignoring any islands). | | | +| | boundary | Used to determine inundated | | | +| | | river. | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``S_`` | Inundated | Inundated river reaches (stream | Feature | SHP | +| ``s_`` | river | line) | Collection | | +| | reaches | | | | +| | (streamline) | | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``MS_`` | Main | Main inundated river channel. | Feature | SHP | +| ``ms_`` | inundated | | Collection | | +| | river channel | | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``N_`` | Non-inundeted | Non inundated catchment | Feature | SHP | +| ``n_`` | catchment | | Collection | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ +| ``output_parameters`` | Calculated | Calculated parematers | Tabular | CSV | +| | Parameters | | | | ++-----------------------+---------------+----------------------------------+---------------+----------------+ + +.. _output_data_specs: + +Output Data Specification +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The variables output by GeoCARET in the tabular format are listed and described in the table below. + + +.. csv-table:: Specification of output variables saved in the tabular output form. + :file: ../_static/files/99_output_specification1.csv + +The specification can be also downloaded in a CSV file format by clicking on the icon below. + +.. image:: ../_static/images/spreadsheet-2127832_640.png + :width: 100 + :alt: Spreadsheet file icon + :target: ../_static/files/99_output_specification1.csv + +Guide to Codes +-------------- + +Error Codes +~~~~~~~~~~~ + +If the analysis of a dam location fails part way through, all output files and parameters calculated up to the point of failure will be saved and exported. +Any parameters that cannot be calculated are assigned a missing value using the codes below. +An error code is assigned to each dam to indicate whether the analysis completed successfully or not. + ++-----------------------+-----------------------------------------------+ +| Code | Definition | ++=======================+===============================================+ +| 0 | No Error (complete analysis) | ++-----------------------+-----------------------------------------------+ +| 1 | Analysis failed at snapping dam to hydroriver | ++-----------------------+-----------------------------------------------+ +| 2 | Analysis failed at catchment delineation or | +| | catchment parameter generation | ++-----------------------+-----------------------------------------------+ +| 3 | Analysis failed at reservoir delineation or | +| | reservoir parameter generation | ++-----------------------+-----------------------------------------------+ +| 4 | Analysis failed at non-inundated catchment | +| | delineation or non-inundated catchment | +| | parameter generation | ++-----------------------+-----------------------------------------------+ +| 5 | Analysis failed at river delineation or river | +| | parameter generation | ++-----------------------+-----------------------------------------------+ + +Missing Data Codes +~~~~~~~~~~~~~~~~~~ + +Missing data, e.g. data that could not be calculated for some reason or the calculation method is still under development, is handled in several ways depending on the root cause of the data being missing. See below + +1. Missing numerical/string parameters, which are still "under development" are assigned a string value of “UD”. +2. Missing numerical parameters (which are not under developemnt) are assigned a string value of “NA” (happens when delineation has failed). +3. Missing parameters are assigned a string value of “NONE” (happens when delineation has failed). +4. Missing numerical parameters are assigned a string value of “ND” when calculation evaluates to None, e.g. if there is missing data in GIS layer. +5. Missing string parameters are assigned a string value of “NODATA” when calculation evaluates to None e.g. if there is missing data in GIS layer. + +Provenance Codes +~~~~~~~~~~~~~~~~ + +.. note:: + Applies to future dams only. + +The variable ``r_imputed_water_elevation_prov`` is a key variable that is used to indicate how water elevation of the future dam has been derived for delineation. + ++-----------------------+-----------------------------------------------+ +| Code | Definition | ++=======================+===============================================+ +| 0 | User input full supply level | ++-----------------------+-----------------------------------------------+ +| 1 | User input dam height | ++-----------------------+-----------------------------------------------+ +| 2 | Dam height estimated from power capacity | +| | (user inputted turbine efficiency) | ++-----------------------+-----------------------------------------------+ +| 3 | Dam height estimated from power capacity | +| | (assuming turbine efficiency of 85%) | ++-----------------------+-----------------------------------------------+ + +.. attention:: + Plant depth is assumed to be “0” unless the user-specified a different value. + +Handling existing dams +---------------------- + +When modelling existing dams, the following parameters cannot be generated due to the lack of elevation data that pre-dates commissioning: + +- ``r_imputed_water_elevation`` +- ``r_volume_m3`` +- ``r_mean_depth_m`` +- ``r_maximum_depth_m`` +- ``r_maximum_depth_m_alt1`` +- ``r_maximum_depth_m_alt2`` + +.. attention:: + This data needs to be provided manually, e.g. obtained from different data sources. + +.. hint:: + For the purpose of GHG emission estimation we need: **reservoir volume**, **mean dept h** and **max depth**. Additional knowledge of bathymetry is very helpful for estimating CH4 emissions as it allows a more accurate estimation of the littoral zone, but it is not mandatory. Rather a luxury to have. diff --git a/_sources/ghg_emissions/output_data_exports.rst.txt b/_sources/ghg_emissions/output_data_exports.rst.txt new file mode 100644 index 0000000..5d385d1 --- /dev/null +++ b/_sources/ghg_emissions/output_data_exports.rst.txt @@ -0,0 +1,106 @@ +Exporting to Google Drive +========================= + +Exporting to Google Drive (GDrive) is controlled by the boolean flag ``export_to_drive`` in the config file ``delineator/heet_config.py``. + +1. Exporting to GDrive automatically +------------------------------------ + +If ``export_to_drive`` is True, the results will be exported to Google Drive automatically. + +2. Exporting to GDrive later +---------------------------- + +If ``export_to_drive`` is False, the results will **not** be exported to Google Drive automatically. +To export the results to Google Drive at a later time, use the utility script ``heet_export_cli.py`` as follows: + +.. code-block:: bash + + > python heet_export_cli.py [path-to-results-folder-on-ee] [destination-folder-on-gdrive] + +.. attention:: + Only a single top-level folder can be specified as the destination folder on GDrive + +.. hint:: + To read about other configuration options, please refer to :doc:`../config`. + +Example usage: + +.. code-block:: bash + + > python heet_export_cli.py users/tjanus/XHEET/MYDAMSD22_20230107-2140 XHEET_MYDAMSD22_20230107-2140 + +will export the calculation outputs from the job folder ``MYDAMSD22_20230107-2140`` residing in the users' working folder ``users/tjanus/XHEET`` on Earth Engine and save the data to the folder of the same name in GDrive. + +.. note:: + Please note the following `Earth Engine documentation `_ describing where in Google Drive the data will be written to. *“The Google Drive Folder that the export will reside in. Note: (a) if the folder name exists at any level, the output is written to it, (b) if duplicate folder names exist, output is written to the most recently modified folder, (c) if the folder name does not exist, a new folder will be created at the root, and (d) folder names with separators (e.g. ‘path/to/file’) are interpreted as literal strings, not system paths. Defaults to Drive root.”* + +.. _exports_settings: + +Export Settings and Outputs +--------------------------- + +We provide a setting that is given as an argument in the command-line call - see ``[output-option]`` in the :ref:`syntax` section of :doc:`../running_geocaret/running_python_package` for details. +The output options are provided as columns in the table below: *standard*, *extended*, *diagnostic*, *diagnostic-catch*, *diagnostic-res*, *diagnostic-riv*. +They control the amount of data that is calculated and saved to the Earth Engine folder during the analysis, as illustrated in the table below. + ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``file_prefix`` | title | st | ex | di | diag | diag | diag | +| | | and | ten | agno | nostic | nosti | nosti | +| | | ard | ded | stic | -catch | c-res | c-riv | ++=======================+==============+=====+=====+======+========+=======+=======+ +| ``user_inputs`` | User inputs | X | X | X | X | X | X | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``P_*`` | Raw dam | | X | X | X | X | | +| | location | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``PS_*`` | Snapped dam | X | X | X | X | X | X | +| | location | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``WCPTS_`` | Watershed | | | X | X | | | +| | candidate | | | | | | | +| | points | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``WDPTS_`` | Watershed | | | X | X | | | +| | detected | | | | | | | +| | points | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``CX_`` | Catchment | | | X | X | | | +| | pixels | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``C_`` | Catchment | X | X | X | X | X | X | +| ``c_`` | boundary | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``WBSX_`` | Waterbodies | | | X | | X | | +| | pixels | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``WBS_`` | Waterbodies | | | X | | X | | +| | boundaries | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``R_`` | Reservoir | X | X | X | X | X | X | +| ``r_`` | boundary | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``rbz_`` | Reservoir | X | X | X | X | X | X | +| | buffer zone | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``sr_`` | Simplified | | | | | | X | +| | reservoir | | | | | | | +| | boundary | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``S_`` | Inundated | | | | | | X | +| ``s_`` | river | | | | | | | +| | reaches | | | | | | | +| | (streamline) | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``MS_`` | Main | X | X | X | X | X | X | +| ``ms_`` | indundated | | | | | | | +| | river | | | | | | | +| | channel | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``N_`` | Noninundated | X | X | X | X | X | X | +| ``n_`` | catchment | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ +| ``output_parameters`` | Calculated | X | X | X | X | X | X | +| | Parameters | | | | | | | ++-----------------------+--------------+-----+-----+------+--------+-------+-------+ + diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 0000000..b26a996 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,54 @@ +.. geocaretdocs documentation master file, created by + sphinx-quickstart on Thu Jul 11 20:16:43 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. image:: _static/images/geocaret-logo.png + :align: center + :width: 100 % + +| + +====================================== +Welcome to GeoCARET's documentation +====================================== + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _GEE: https://earthengine.google.com/ + +**GeoCARET** : Pronounced geokærət as in bʌkət or geokæreɪ as in bʊˈkeɪ. + +Version: |version| + +GeoCARET_ is a command line Python tool for delineating and analysing catchments and reservoirs. +It relies on Google Earth Engine (`GEE`_) - Google's cloud-based platform developed for planetary-scale environmental analysis. GeoCARET_ uses Google Earth Engine as a backend for performing geometry operations and data processing and as a database of global spatial data in the form of GIS layers. +GeoCARET_ performs its computations on global spatial datasets available in `GEE`_ and additionally relies on several private assets. +We have made these assets accessible for analysis by uploading them to a dedicated `GEE`_ asset folder. + +.. important:: + The users need to request permission from us to use the dedicated private assets before they can make successful runs with GeoCARET_. + Please refer to the :doc:`installation/index` for further instructions. + To request access to those assets please send email to: `Tomasz Janus - Email 1 `__ or `Tomasz Janus - Email 2 `__ with your email address registered with the Google Earth Engine. + +.. toctree:: + :maxdepth: 3 + :glob: + :caption: Contents: + + introduction.rst + Installation + algorithms.rst + Running GeoCARET + GHG Model Input Calculations + config.rst + Python API reference + license.rst + acknowledgments.rst + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/_sources/installation/additional_steps.rst.txt b/_sources/installation/additional_steps.rst.txt new file mode 100644 index 0000000..acc585d --- /dev/null +++ b/_sources/installation/additional_steps.rst.txt @@ -0,0 +1,87 @@ +Additional Steps +================ + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _GEE: https://earthengine.google.com/ +.. _Google Earth Engine: https://earthengine.google.com/ + +1. Register to Use Google Earth Engine and create an associated Cloud Project +----------------------------------------------------------------------------- + +GeoCARET_ relies on `Google Earth Engine`_ - Google’s cloud-based platform developed for planetary-scale environmental analysis. GeoCARET uses Google Earth Engine as a backend for performing geomatry operations and data processing and as a database of global spatial data in the form of GIS layers. + +You must be registered with Google Earth Engine to make use of GeoCARET. +You must also have a Google Cloud Project associated with your Earth Engine account, which is where the GeoCARET_ tool outputs will be stored. + +Register to Use Google Earth Engine +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A Google account is required to access Earth Engine. To facilitate the Earth Engine registration approval process, we suggest that you use a Google account created with an email associated with your organization. +For example, if you belong to an academic institution such as a University, you can create a Google account using your institution email address. This account can be created in addition to any personal Google account you may have. +https://support.google.com/accounts/answer/27441?hl=en + +Once you have a suitable Google account, follow these steps to access Earth Engine: + +- Go to the Earth Engine Code Editor https://code.earthengine.google.com +- You will be taken to the **‘Choose an account’** page +- Select the appropriate Google account to use and enter your password when prompted +- Earth Engine may request access to your Google account - choose **‘allow’**. +- Follow the link to go to the registration page, fill out the application and submit. +- Once you receive a confirmation email, you will be able to login to https://code.earthengine.google.com + +Add a Cloud Project +~~~~~~~~~~~~~~~~~~~ + +You will also need to create a Google Cloud Project and add this to Earth Engine. +GeoCARET will store its outputs inside the Cloud Project. + +Visit https://code.earthengine.google.com and click on the **‘Assets’** tab in the left-hand column. +Under the **‘CLOUD ASSETS’** section you should see either: + +- The name of an existing cloud project, or +- The message: *“You haven’t selected any Cloud Projects yet. Click ‘Add a Project’ to access or upload assets.”* + +If you need to add a Cloud Project, you have 2 options - add an existing project, or create a new one. + +To add an existing project: + +1. Click the **‘ADD A PROJECT’** button and the **‘Select a Cloud Project’** dialog box will appear. +2. Click the **‘Project’** box and a list of available cloud projects will appear. This list might be empty. +3. If possible, choose the appropriate project and click the blue **‘SELECT’** button. The selected project will now appear under **‘CLOUD ASSETS’**. + +However, if there were no cloud projects in the list to choose from, you’ll need to add a new project: + +1. First, click the **‘user’** icon at the top-right of the page, and choose **‘Register a new Cloud Project’** from the menu. +2. On the next page click **‘Register a Noncommercial or Commercial Cloud project’** and follow the step-by-step instructions as appropriate. For example, you’ll probably want to choose **‘Unpaid usage’** and set **‘Academia & Research’** as the project type.  Click **‘Next’**. +3. Choose an organization, **ID** & **name** for the project and click **‘Continue to summary’**. +4. Click **‘Confirm’** to create the new project. + +Your Cloud Project will be created and you should be taken back to https://code.earthengine.google.com/, where your new project should appear under **‘CLOUD ASSETS’**. If not, click the **‘refresh’** icon, or click **‘ADD A PROJECT'** and this time your project should appear in the list. + +Add an assets folder to the Cloud Project +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The **Cloud Project** must contain at least one top-level **‘assets’** folder, which is where GeoCARET_ will store its outputs (inside a sub-folder it will create for you). + +If required, click on the **‘expand’** icon next to the name of the project in the *CLOUD ASSETS* tree, to check if it contains any folders. + +If there are no folders under the project, you’ll need to add one. +If there already is a folder, but you’d like to use a different one, you’ll need to add it. +To add a folder, click the red *‘NEW’* button and choose *‘Folder’* from the menu. +Enter a name for the folder when prompted. + +.. attention:: + + GeoCARET will use the *first* folder it finds alphabetically, so bear this in mind if adding more than one top-level folder to your Cloud Project. + +2. Request access to the GeoCARET private assets +------------------------------------------------ + +GeoCARET_ relies on several private assets not available in `Google Earth Engine`_. +You must be given access to these assets before you can run GeoCARET_. + +To request access to those assets please send email to: +`tomasz.k.janus@gmail.com `__ +or +`tjanus.heet@gmail.com `__ +with the email address your registered with `Google Earth Engine`_. diff --git a/_sources/installation/building_image.rst.txt b/_sources/installation/building_image.rst.txt new file mode 100644 index 0000000..8a9c5db --- /dev/null +++ b/_sources/installation/building_image.rst.txt @@ -0,0 +1,66 @@ +Building the GeoCARET Docker Image +================================== + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _git: https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F + +Docker can be used to quickly & easily create a run-time environment for running GeoCARET_, without having to install the correct version of **Python**, **gcloud CLI**, or **other required dependencies**. + +To use GeoCARET with Docker you will need to build and run an instance of a Docker image - see :ref:`What are Docker Images`. + +Generally, you will not need to build your own image, as we provide a **pre-built image** that will be suitable for most purposes. See :ref:`Pulling GeoCARET Docker image` for accessing & using the pre-built GeoCARET docker image. + +However, if you *do* want to build your own image, this guide will take you through the process. + +As a prerequisite, you need to first install Docker Desktop - an application that provides an easy-to-use interface for working with Docker on a desktop operating system. + +.. note:: + This documentation assumes that the reader is comfortable working in the shell (linux/macOS) or PowerShell (Windows) and has + basic experience with git_. + +Installing Docker Desktop (a prerequisite) +------------------------------------------ + +Docker Desktop is free and can be installed on Windows, Mac & Linux computers, Please visit https://docs.docker.com/get-docker/ and follow the appropriate instructions for installing Docker Desktop on your computer. + +Once installed, make sure Docker Desktop is running. To do so, open a shell prompt (Linux/macOS) or PowerShell (Windows) and type the following: + +.. code-block:: bash + + docker -v + +This should return the version number of the installed version of docker. If you see an error message along the lines of *‘Cannot connect to the Docker daemon’* then restart Docker Desktop and try again. + +Building the GeoCARET Docker image +---------------------------------- + +Clone the GeoCARET GitHub repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +First clone the GeoCARET GutHub repository to your computer: + +.. code-block:: bash + + git clone https://github.com/UoMResearchIT/geocaret + +Alternatively, if you don't use git_, download the package from the `GitHub page `_ and extract to the working folder. + +.. _build-the-geocaret-docker-image-1: + +Build the GeoCARET Docker Image +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Building the GeoCARET image is simple. Make sure that + +* Docker Desktop is running +* You are in the root folder of the GeoCARET code base that you cloned in the previous step. + +Then inside the root directory of GeoCARET, i.e. where `setup.py` is located, type: + +.. code-block:: bash + + docker build -t geocaret . + +Building the image might take a short while. The resulting image will be stored in a dedicated Docker folder on your computer. If you open Docker Desktop and go to the **‘Images’** section, you should see the **‘geocaret’** image in the list. + +You can now refer to :doc:`using_image` for details on how to run GeoCARET using your newly built Docker image. diff --git a/_sources/installation/index.rst.txt b/_sources/installation/index.rst.txt new file mode 100644 index 0000000..4c30e93 --- /dev/null +++ b/_sources/installation/index.rst.txt @@ -0,0 +1,42 @@ +.. _installation-guidelines: + +Installation Guidelines +======================= + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _GEE: https://earthengine.google.com/ +.. _Google Cloud: https://cloud.google.com/?hl=en + +Installation as a Python Package - Option 1 +------------------------------------------- + +GeoCARET_ is an application written in Python and has to be installed just like any Python package. +Since GeoCARET_ uses *Google Earth Engine* (GEE_), it requires installation of additional software to facilitate operability with GEE_. +All of the above steps are described in detail in the :doc:`install_package`. + +Installation using Docker - Option 2 +------------------------------------ + +We also provide an alternative, easier installation option, that uses Docker containarization. +You can find more information in :ref:`What is Docker` and subseqent chapters - :doc:`building_image` and :doc:`using_image`. + +.. note:: + Installing GeoCARET_ with Docker requires prior installation of the ``Docker Desktop`` software - see :doc:`building_image` and :doc:`using_image` for details. + +Additional Steps +---------------- + +Regardless of the installation method, whether as a standalone *Python* package or via a *Docker container*, the users need to create an account on `Google Cloud`_ and set up a project folder before being able to use GeoCARET_. +The users will also need permission to access private assets that are required for running the computations with GeoCARET_. +These steps are outlined in detail in :doc:`additional_steps`. + +.. toctree:: + :maxdepth: 3 + :hidden: + :caption: Installation Instructions: + + install_package.rst + using_docker.rst + building_image.rst + using_image.rst + additional_steps.rst diff --git a/_sources/installation/install_package.rst.txt b/_sources/installation/install_package.rst.txt new file mode 100644 index 0000000..ddbae27 --- /dev/null +++ b/_sources/installation/install_package.rst.txt @@ -0,0 +1,193 @@ +Installation as a Python Package +================================ + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _git: https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F +.. _Google Cloud: https://cloud.google.com/?hl=en + +GeoCARET_ is a command-line tool written in Python. +This documentation assumes that the reader is comfortable working in the shell (Linux/macOS) or PowerShell (Windows) and has basic experience with git_. +To learn more about Shell, BASH and PowerShell please have a look at this `Medium article `_. +Experience with Python is advantageous but not essential. + +To install and run GeoCARET_ on the command line, you will need to + +1. Install the correct version of Python, or make sure it is already installed. +2. Setup a virtual environment dedicated to GeoCARET_ (recommended). +3. Install GeoCARET_ and the dependencies, i.e. the packages and the software which GeoCARET_ relies on. This includes Google Cloud CLI application ``Gcloud``. +4. Register to use the Google Earth Engine service and create an associated `Google Cloud`_ Project. +5. Request access to the GeoCARET_ private assets. +6. Run the GeoCARET_ script using the correct command line syntax. + +This document provides a guide to steps **1** -- **3**. Steps **4** and **5** are described in :doc:`additional_steps`. +Step **6** is described in :doc:`../running_geocaret/running_python_package`. + +1. Installing Python +-------------------- + +GeoCARET_ requires **Python 3.8 or newer**. + +Windows Machines +~~~~~~~~~~~~~~~~ + +In order to install GeoCARET_ on Windows you need to have **Python 3.8** installed on your machine. +You can install **Python 3.8** by following this link: https://www.python.org/downloads/release/python-3810/ +Alternatively, you can use alternative Python distributions: `Anaconda and Miniconda `_. + +macOS / Linux +~~~~~~~~~~~~~ + +Python on Linux/MacOS can be installed in different ways. The most comprehensive list of Python releases is hosted at: https://www.python.org/downloads/. Alternatively, the users can install Python using system package managers such as ``apt`` for Debian-based Linux distributions or ``homebrew`` for MacOS. There are also tools that allow the users to manage Python installations and virtual environments (see `What is a Virtual Environment `_) within a single tool, such as e.g. ``pyenv``. Finally, virtual environments can be managed with different tools such as ``venv``, ``virtualenv``, the earlier mentioned ``pyenv``, etc. +To keep this documentation short, we cannot provide instructions for all those options. +In later steps we will use ``virtualenv`` but please know that alternative methods are available. +Instead, we let the user choose the method they're most comfortable with and consult relevant documentation(s) when needed. + +Terminal +^^^^^^^^ + +Installing GeoCARET_, and Python packages in general, usually requires writing installation commands within a command line interpreter. On macOS and Linux, the users can use the built-in terminal. On Windows, the users can opt for the built-in CommandPrompt (CMD) or PowerShell, or install Git Bash on Windows (https://gitforwindows.org/). Alternatively, on all platforms, if `Anaconda and Miniconda `_ has been installed, the users can take advantage of command-line interpreters shipped with those Anaconda and Miniconda distributions. + +2. Setting up a virtual environment +----------------------------------- + +.. note:: + It is not mandatory to install a virtual environment specifically for GeoCARET. Users can install GeoCARET in any existing virtual environment or even in the system Python installation. However, this approach is not recommended, as it can lead to package conflicts that might disrupt other Python-dependent software on the system. Therefore, it is advisable to use virtual environments tailored to specific applications. This practice isolates Python interpreters and package dependencies, preventing conflicts and ensuring stable operation. + +Windows Machines +~~~~~~~~~~~~~~~~ + +- Download the GeoCARET_ tool code from GitHub and unzip the code into a folder called `GeoCARET` (alternatively you can clone the repository if you use git_). +- Open Anaconda Prompt (search for “Anaconda Prompt” in Windows start menu) OR Open Anaconda Powershell Prompt (search for “Anaconda Prompt” in Windows start menu) our other Shell tool on your operating system. +- Using the command prompt, navigate to the GeoCARET tool folder +- Install ``virtualenv`` - one of the available tools for creating virtual environments: + +.. code-block:: bash + + > pip install virtualenv + +- Create a new virtual environment: +- First, check the location of you Python 3.8 installation with ``py --list-paths`` in CMD or PowerShell or with ``where python``, if you're using Git BASH. Put this installation path (wrapped in double quotes) after the ``--python`` flag, see below + +.. code-block:: bash + + > virtualenv --python=[installation_path] geocaretenv + +e.g. + +.. code-block:: bash + + > virtualenv --python="C:\Users\username\AppData\Local\Programs\Python\Python38\python.exe" geocaretenv + +macOS / Linux +~~~~~~~~~~~~~ + +- Download the GeoCARET_ tool code from GitHub and unzip the code into a folder called `GeoCARET` +- Open the Terminal +- Using the command prompt, navigate to the GeoCARET folder +- Install ``virtualenv`` - one of the available tools for creating virtual environments: + +.. code-block:: bash + + > pip install virtualenv + +- Create a new virtual environment: +- First, check the location of Python using ``which -a python`` and then find all available Python version with ``ls``, e.g. ``ls /usr/bin/python*``. + +.. attention:: + Remember to use the asterisk (*) + +- Look for the path that matches the Python installation that you intend to be using within the virtual environment, in case you have several Python installations on your system, e.g. ``/usr/bin/python3.8``. +- Create the virtual environment + +.. code-block:: bash + + > virtualenv --python="/usr/bin/python3.8" geocaretenv + +3. Installing GeoCARET and its dependencies +------------------------------------------- + +Windows Machines +~~~~~~~~~~~~~~~~ + +CMD/PowerShell +^^^^^^^^^^^^^^ + +- Navigate to the GeoCARET installation folder +- Activate the virtual environment: + +.. code-block:: bash + + > .\geocaretenv\Scripts\activate + +- Install required libraries + +.. code-block:: bash + + pip install -r requirements.txt + +- Deactivate the virtual environment + +.. code-block:: bash + + deactivate + +Git BASH +^^^^^^^^ + +- Navigate to the GeoCARET installation folder + +- Activate the virtual environment: + +.. code-block:: bash + + > source geocaretenv/Scripts/activate + +- Install required libraries + +.. code-block:: bash + + pip install -r requirements.txt + +- Deactivate the virtual environment + +.. code-block:: bash + + deactivate + +macOS / LINUX +~~~~~~~~~~~~~ + +- Navigate to the GeoCARET installation folder + +- Activate the virtual environment: + +.. code-block:: bash + + > source geocaretenv/bin/activate + +- Install required libraries + +.. code-block:: bash + + pip install -r requirements.txt + +- Deactivate the virtual environment + +.. code-block:: bash + + deactivate + +Gcloud command line tool (CLI) installation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This tool requires the ``gcloud`` command line tool. A working Gcloud installation is required on all operating systems. Download and install gcloud for your operating system here: - https://cloud.google.com/sdk/docs/install + +Final Steps (4 & 5) +------------------- + +To complete the installation, you need to set up a Google Cloud project and request access to some Private Assets. The instructions on how to do this can be found in :doc:`additional_steps`. + + + + + diff --git a/_sources/installation/using_docker.rst.txt b/_sources/installation/using_docker.rst.txt new file mode 100644 index 0000000..1e34363 --- /dev/null +++ b/_sources/installation/using_docker.rst.txt @@ -0,0 +1,46 @@ +About Docker +============ + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _GEE: https://earthengine.google.com/ + +.. _What is Docker: + +What is Docker? +--------------- + +Docker is a tool for packaging applications and their dependencies so they can run consistently on any computer. +Think of it like a shipping container for software. +Just as a shipping container can hold different items and be transported easily from place to place, Docker allows bundling application with everything they need to run and move it effortlessly between different computers or environments. +This ensures that the application behaves the same way no matter where it's used, making it easier to develop, test, and deploy software. + +In the context of our software, we create a Docker container with GeoCARET_ together with everything that it needs to run, i.e. the *Python Interpreter*, additional *Python libraries* aka. dependencies that the source-code relies on, and additional tools required by the Google Earth Engine (GEE_). +Once the Docker container has been built, it can run on a computer without the user having to worry about unmet dependencies and library and Python version conflicts. + +.. image:: ../_static/images/docker-explanation-cropped.png + :width: 800 + :alt: Dockerising GeoCARET + +Docker Images and Docker Containers +----------------------------------- + +You do not need to know the inner workings of Docker in order to use it to run GeoCARET_. +Howver, it is worth understanding the two most important Docker concepts i.e. **Images** and **Containers**. + +.. _What are Docker Images: + +Docker Images +^^^^^^^^^^^^^ + +A *Docker image* is a template that contains all the necessary files and instructions required to run a *containerized* application: a base operating system, the application source code & any libraries, dependencies, and other resources needed to execute the application. It is like a snapshot of a software environment that you can use to create containers (see below). Think of it as a blueprint or a recipe for what the container should look like and how it should behave. + +.. _What are Docker Containers: + +Docker Containers +^^^^^^^^^^^^^^^^^ + +A *Docker container* is a running instance of a *Docker Image*. It is an isolated environment that contains all the necessary resources for the application to run. Think of it as a very lightweight virtual machine running on your host computer, with the application running inside it. When you run a *Docker Image*, it creates a container. Containers are the actual running environments where the application executes. They are isolated from the operating system on your personal computer, which ensures consistency and security. + +In summary, a *Docker Image* is the definition of what your application and its environment should be, while a *Docker Container* is a running instance of that image. + + diff --git a/_sources/installation/using_image.rst.txt b/_sources/installation/using_image.rst.txt new file mode 100644 index 0000000..33171ba --- /dev/null +++ b/_sources/installation/using_image.rst.txt @@ -0,0 +1,105 @@ +Using the GeoCARET Docker Image +=============================== + +.. _GEE: https://earthengine.google.com/ + +The GeoCARET Docker image is the simplest way to run GeoCARET. This guide will take you through the required steps: + +1. Install Docker Desktop. +2. Pull the GeoCARET Docker image. +3. Use Docker compose to run GeoCARET. + + .. note:: + This documentation assumes that the reader: (1) Understands how to use Google Earth Engine (GEE) and has a properly configured GEE cloud project. See :doc:`additional_steps`. (2) Understands how to use the GeoCARET tool. See :doc:`../ghg_emissions/input_data` & :doc:`../running_geocaret/running_python_package` for full details. (3) Has a basic familiarity with the shell (macOS or linux) or PowerShell (Windows). + +Install Docker Desktop +---------------------- + +If you already have Docker installed on your computer then skip to the next section, `Pull the GeoCARET Docker image`_. + +Installing Docker Desktop +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Docker Desktop is free and can be installed on Windows, Mac & Linux computers, Please visit https://docs.docker.com/get-docker/ and follow the appropriate instructions for installing Docker Desktop on your computer. + +Once installed, make sure Docker Desktop is running, and open a shell prompt (Linux/macOS) or PowerShell (Windows) and typing the following: + +.. code-block:: bash + + docker -v + +This should return the version number of the installed version of docker. If you see an error message along the lines of ‘Cannot connect to the Docker daemon’ then restart Docker Desktop and try again. + +.. _Pulling GeoCARET Docker image: + +Pull the GeoCARET Docker image +------------------------------ + +.. attention:: + The GeoCARET image is not hosted as a package yet. Update a.s.a.p. You will need to build the Docker image yourself for now. + +Open a shell prompt (macOS/Linux) or PowerShell (Windows) and type: + +.. code-block:: bash + + docker pull ghcr.io/Reservoir-Research/geocaret + +Use Docker compose to run GeoCARET +---------------------------------- + +Prepare your workspace +~~~~~~~~~~~~~~~~~~~~~~ + +Docker compose is a tool for simplifying the execution of docker containers. We’ll use it to run GeoCARET. + +First you’ll need to create a new folder for your GeoCARET workspace, and then inside this you must then create three sub-folders: + +- **data**, which will hold your input data files. +- **outputs**, which will hold the analyses output files +- **auth**, which will hold your GEE_ authentication credentials + +For example open a shell prompt if on Linux or macOS, or PowerShell if on Windows, and type: + +.. code-block:: bash + + mkdir my_geocaret_work_folder + cd my_geocaret_work_folder + mkdir data + mkdir outputs + mkdir auth + +You will also need to download the file `compose.yml `__ and save it inside your GeoCARET workspace folder (e.g. ``my_geocaret_work_folder`` in the above example). + +.. important:: + + **Linux users & directory permissions** + + When run on a linux host computer, the GeoCARET docker image will only work if the user ID & group ID (``UID:GID``) of your user account is ``1000:1000``. Otherwise, GeoCARET will not be able to write to the ``auth/`` or ``outputs/`` folders. + If you use Linux on a personal laptop, then it is very likely your user account ``UID:GID`` will be ``1000:1000``. However, this may not be the case if you log in to a Linux server with multiple users. To check your user account, type: + + .. code-block:: bash + + id -u # print user ID (UID) + id -g # print group ID (GID) + + If your user account has a different UID and/or GID then you should either change the UID or GID, respectively so that they're ``1000:1000`` or install GeoCARET as a Python package - see :doc:`install_package`. + +Test that GeoCARET works +~~~~~~~~~~~~~~~~~~~~~~~~ + +To test everything is working correctly, you should first run the following from inside the GeoCARET workspace folder you just created: + +.. code-block:: bash + + cd my_geocaret_work_folder + docker compose run --rm geocaret + +You should see the message *“You must specify a command to run. See You must specify a command to run. See https://Reservoir-Research.github.io/geocaret/running_geocaret/running_docker.html for details.”* and GeoCARET will exit. + +Running GeoCARET with ``docker compose`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To run the GeoCARET Docker container, please read the instructions in :doc:`../running_geocaret/running_docker`. + +.. note:: + Please make sure you complete the additional installation steps first: -see :doc:`additional_steps`. diff --git a/_sources/introduction.rst.txt b/_sources/introduction.rst.txt new file mode 100644 index 0000000..11c496a --- /dev/null +++ b/_sources/introduction.rst.txt @@ -0,0 +1,76 @@ +Introduction +============ + +.. _GEE: https://earthengine.google.com/ +.. _G-Res: https://www.hydropower.org/publications/the-ghg-reservoir-tool-g-res-technical-documentation +.. _RE-Emission: https://github.com/tomjanus/reemission +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _gdown: https://pypi.org/project/gdown/ + +GeoCARET_ provides a *Python* interface for *Google Earth Engine* (GEE_): A planetary-scale platform for Earth science data & analysis. + +Functionality +------------- + +GeoCARET_ was created to provide the following functionalities: + +* To allow **scheduling large jobs on Google Earth Engine** from within the *Python* programming language. By large jobs we mean computations larger than what can be put into single scripts within the *Google Earth Engine*'s scripting window and involving several consecutive calculations where the outputs from the previous calculation steps are required as inputs in the next calculation steps. +* To **Automate the process of uploading inputs and downloading outputs** between local machines and *Google Earth Engine*'s servers. This step eliminates manual steps associated with data handling. +* To enable **executing computations** on *Google Earth Engine* **from Command Line**. + +Architecture +------------ + +A high-level architecture of GeoCARET_ and its functional interconnections with *Google Earth Engine* and *Google Drive*, is illustrated in `Figure 1`_. +GeoCARET_ uses *Google Earth Engine* (GEE_) for geospatial computation on publicly available assets accessible openly from within the GEE_ platform as well as the private assets stored in the users' project folders. +The computations and data storage are handled on the Google's dedicated servers. +GeoCARET_ communicates with GEE_ via the `Earth Engine Python API `_. +Data exchange between the user's local computer and GEE_ is facilitated via *Google Drive* linked to the user's Google account. +The communication is facilitated via the designated *Python API* and with the help of the *Google Drive Downloader* gdown_. + +| + +.. _Figure 1: + +.. image:: _static/images/geocaret-gee-connections.drawio-scaled.png + :width: 800 + :alt: GeoCARET overview + +**Figure 1** Functional diagram illustrating connections between **GeoCARET**, **Google Earth Engine** and **Google Drive** for uploading inputs, scheduling calculations and saving outputs to Google Drive and local folders. + +The usage of GeoCARET_ follows the following steps: (1) Uploading input data from the local folder to GEE_, (2) Running Calculations on GEE_, (3) Fetching Outputs from Google Drive to the local folder. + +.. _Origins: + +Origins +------- + +GeoCARET_ originated from a research project aimed at automating the estimation of greenhouse gas (GHG) emissions from reservoirs. Automation was essential to facilitate the analysis of emissions from multiple reservoirs, which preclude all the time-consuming manual operations that had been previously required for estimating reservoir emissions. GeoCARET_ provides inputs to the state-of-the-art reservoir emission model G-Res_, which is utilized in our open-source software RE-Emission_. + +G-Res_ requires a significant amount of input data, including environmental and climatic properties of reservoir catchments, as well as the morphology and characteristics of the inundated areas associated with reservoir creation. Initially, obtaining this data was time-consuming because it required manual delineation of the catchment and reservoir contours for each reservoir being analyzed, followed by calculations of the various properties of the catchment and reservoir, respectively. + +GeoCARET_ was developed to automate the process of calculating input data for G-Res_ (and Re-Emission_) by streamlining the delineation of reservoirs and catchments and the calculation of their parameters. This automation leverages global geospatial data layers related to hydrological, geomorphological, climatic, and land characteristics. + +.. note:: + GeoCARET is currently used solely for its intended initial purpose, albeit it is undergoing active (re)development to enable more applications - see Vision_. + +.. _Vision: + +Vision +------ + +GeoCARET_ is under active development. +We are working towards changing GeoCARET_ from being a specialized tool serving a single purpose to being a more generic framework for running and formulating various calculation jobs related to reservoir and catchment analysis. + +Our vision for the software is to make it into a collection of classes for building and orchestrating task pipelines which can achieve various tasks defined by the user. +In this manner it can be used to facilitate different computations related to reservoirs and catchments that could be of use to the water community. + +Some of the examples of such new applications can be: + +* Calculation of bathymetric tables for new (proposed) reservoirs. +* Detection of reservoirs from land cover maps and/or other remote sensing layers. +* Calculation of other reservoir and catchment metrics, such as e.g. displaced population by reservoir creation. + +What follows, this documentation is expected to undergo many changes as the software architecture evolves to incorporate new features. + + diff --git a/_sources/license.rst.txt b/_sources/license.rst.txt new file mode 100644 index 0000000..67b4e78 --- /dev/null +++ b/_sources/license.rst.txt @@ -0,0 +1,33 @@ +License +======= + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret + +Software +-------- + +`GeoCARET`_ is licensed under the `GNU General Public License, Version 3.0 or later `_. + +Copyright (C) 2024 Tomasz Janus \& Jaise Kuriakose, University of Manchester + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + +Documentation +------------- + +This documentation is licensed under the `GNU Free Documentation License, Version 1.3 or later `_. + +Copyright (C) 2024 Tomasz Janus \& Jaise Kuriakose, University of Manchester + +Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + +.. Citation +.. -------- + +.. Please consider citing the following paper when using GeoCARET: + +.. Janus, T., Kuriakose, J., Barry, C., 2024. xxxxx. Environmental Modelling & Software. https://doi.org/xxxxx diff --git a/_sources/running_geocaret/index.rst.txt b/_sources/running_geocaret/index.rst.txt new file mode 100644 index 0000000..624f0b7 --- /dev/null +++ b/_sources/running_geocaret/index.rst.txt @@ -0,0 +1,27 @@ +.. _running-geocaret: + +Running GeoCARET +================ + +.. _GeoCARET: https://github.com/Reservoir-Research/geocaret +.. _RE-Emission: https://github.com/tomjanus/reemission +.. _GEE: https://earthengine.google.com/ +.. _Google Cloud: https://cloud.google.com/?hl=en + +GeoCARET_ can be run as a **Python package** (standard) or as a **Docker image** (optional - see :doc:`../installation/using_docker` for a short description of what Docker is) depending on the chosen installation option - see :doc:`../installation/index`. + +Running GeoCARET_ requires a valid input file. To find out about the input file specification, please refer to :doc:`../ghg_emissions/input_data`. + +.. attention:: + + Currently, GeoCARET serves a single purpose: sourcing input data for GHG emission estimation using our software, RE-Emission_. Consequently, GeoCARET has a single run command and relies on an input data file formatted specifically for this single application. We are in the process of refactoring and reformulating GeoCARET into a more versatile and generic tool for reservoir and catchment analysis. This expansion means GeoCARET will support more analysis options, offer additional run commands, and allow users to create their own input files and specifications. + +For detailed instructions how to run GeoCARET as a Python package and/or as a Docker image, navigate to :doc:`running_python_package` and :doc:`running_docker`, respectively. + +.. toctree:: + :maxdepth: 3 + :hidden: + :caption: Running GeoCARET: + + running_python_package.rst + running_docker.rst diff --git a/_sources/running_geocaret/running_docker.rst.txt b/_sources/running_geocaret/running_docker.rst.txt new file mode 100644 index 0000000..f92ceb4 --- /dev/null +++ b/_sources/running_geocaret/running_docker.rst.txt @@ -0,0 +1,77 @@ +Running the GeoCARET Docker Container +===================================== + +Run a GeoCARET analysis +~~~~~~~~~~~~~~~~~~~~~~~ + +First, copy your input data file to the ``data`` sub-folder and then start GeoCARET by typing the following: + +.. code-block:: bash + + $ docker compose run --rm geocaret python heet_cli.py [input-file.csv] [projectname] [jobname] [output-option] + +where: + +* ``[input-file.csv]`` is the path to the user input file. +* ``[projectname]`` is the name of your Google Earth Engine project +* ``[jobname]`` is a short 10 character jobname to be used when creating output folders. May only contain the following characters **A-Z, a-z, 0-9, -**. +* ``[output-option]`` is the output data option defining the amount of output data: *standard*, *extended*, *diagnostic*, *diagnostic-catch*, *diagnostic-res*, *diagnostic-riv*. - see :doc:`../ghg_emissions/output_data` for details. + +Alternatively, you can run the analysis with the input data in one of the files in the ``tests/data`` folder, and assuming your project name is called ``test_project``, job name is called ``job01`` and data is output in the **standard** configuration. + +.. code-block:: bash + + $ docker compose run --rm geocaret python heet_cli.py tests/data/dams.csv test_project job01 standard + +See :doc:`../ghg_emissions/input_data` and :doc:`running_python_package` to read about input data file specification and about the usage of GeoCARET's command-line interface (CLI) arguments, respectively. + +Google Cloud authentication +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. hint:: + Needed when running GeoCARET for the first time only. + +If this is the first time you’ve run the GeoCARET tool, you will be asked to authenticate with Google’s cloud services: + +1. You’ll be shown a URL, which you should copy and paste into a web browser. In Windows PowerShell you can hold down the ``Ctrl`` key and click the URL to open it automatically. +2. Follow the instructions to authenticate with Google +3. After authenticating, you’ll be given a token, which you should paste back into the GeoCARET tool command line. +4. Press enter to start the analysis. + +.. +.. note:: + Your authentication details will be cached in the ``auth`` sub-folder inside the GeoCARET workspace folder. When you + subsequently run GeoCARET from this folder, you will not need to reauthenticate. + +Once authenticated the GeoCARET analysis will run. This could take several minutes to complete. + +Use existing Google cloud credentials +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you have previously authenticated with the Google cloud / GEE APIs, you may already have the necessary credentials stored on your computer (e.g. in /home/username/.config, which is the default location on Linux/macOS). + +You can use your existing credentials to avoid the need to authenticate when running GeoCARET, by setting the ``GEOCARET_AUTH_PATH`` environment variable: + +.. code-block:: bash + + GEOCARET_AUTH_PATH=/home/[username]/.config docker compose run --rm geocaret python heet_cli.py tests/data/dams.csv test_project job01 standard + +where [``username``] refers to your user name. + +Analysis Outputs +~~~~~~~~~~~~~~~~ + +When the GeoCARET analysis is complete, all output files generated are saved to a sub-folder of your Google Earth Engine project Assets folder, called ``XHEET``: + +.. code-block:: bash + + XHEET/<>-<> e.g. XHEET/JOB01-20220130-1450 + +The timestamp represents the date and time of when the calculations have been started, e.g. the timestamp in the code block above indicated that *JOB01* was started on the 30th of January 2020 at 14:50. + +The calculated outputs, i.e. **output_parameters** are downloaded to a local directory in a CSV text format and stored under ``outputs/output_parameters.csv``. + +Please see :doc:`../ghg_emissions/output_data` for full details of the GeoCARET analysis outputs. + +.. note:: + :doc:`../ghg_emissions/output_data` refers to the outputs created in the process of attaining input data for estimating reservoir greenhouse emissions. This is the primary application of GeoCARET for which GeoCARET been designed at its inception. We are now expending GeoCARET to function more as a generic tool for analysing reservoirs and catchments using geospatial data. Each application will have different input and output data specification. We will document these new features and all the code changes in due time. diff --git a/_sources/running_geocaret/running_python_package.rst.txt b/_sources/running_geocaret/running_python_package.rst.txt new file mode 100644 index 0000000..c00f756 --- /dev/null +++ b/_sources/running_geocaret/running_python_package.rst.txt @@ -0,0 +1,157 @@ +Running the GeoCARET Script +=========================== + +.. _RE-Emission: https://github.com/tomjanus/reemission + +.. note:: + The following instructions describe running GeoCARET to calculate input data for GHG Emission Estimation Tool RE-Emission_. + See :doc:`index`. + +First Steps +----------- + +.. _syntax: + +Syntax +~~~~~~ + +The syntax to run GeoCARET from command line is: + +.. code-block:: bash + + > python heet_cli.py [input-file.csv] [projectname] [jobname] [output-option] + +where: + +* ``[input-file.csv]`` is the path to the user input file. +* ``[projectname]`` is the name of your Google Earth Engine project +* ``[jobname]`` is a short 10 character jobname to be used when creating output folders. May only contain the following characters **A-Z, a-z, 0-9, -**. +* ``[output-option]`` is the output data option defining the amount of output data: *standard*, *extended*, *diagnostic*, *diagnostic-catch*, *diagnostic-res*, *diagnostic-riv*. - see :doc:`../ghg_emissions/output_data` for details. + +GeoCARET repository is shipped with an empty ``data/`` folder. Its purpose is to store user-defined input data. An example ``dams.csv`` file is included in ``tests/data``; In below examples, we will refer to this file's location. +Assuming your Earth Engine project is called **my-ee-project**, your jobname is called **job01** and you want to generate **standard** output data, you can run GeoCARET as follows: + +.. code-block:: bash + + > python heet_cli.py tests/data/dams.csv my-ee-project job01 standard + +Google Cloud authentication +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. hint:: + Needed when running GeoCARET for the first time only. + +If this is the first time you’ve run the GeoCARET tool, you will be asked to authenticate with Google’s cloud services: + +1. You’ll be shown a URL, which you should copy and paste into a web browser. In Windows PowerShell you can hold down the ``Ctrl`` key and click the URL to open it automatically. +2. Follow the instructions to authenticate with Google +3. After authenticating, you’ll be given a token, which you should paste back into the GeoCARET tool command line. +4. Press enter to start the analysis. + +Once authenticated the GeoCARET analysis will run. This could take several minutes to complete. + +Results and Visualization +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once GeoCARET completes its analysis, it will generate a number of output data files, both locally and inside your Cloud Project. See the :doc:`../ghg_emissions/output_data` for full details. + +You will also be shown a link to a Google Earth Engine script for visualizing the results inside Earth Engine. If you paste this link into a web browser, you will be taken to the Earth Engine Code Editor, with the script pre-loaded. + +The visualization script is generic and the *‘user specified parameters’* section at the top will need to be modified to visualize the results of a specific GeoCARET analysis. There are instructions for how to do this in the comments at the top of the script. + +.. note:: + The script will need modification of paths so that the paths point to the location of files generated by your job run. We are working on dynamic generation of the visualisation script for each run which will contain the correct paths each time a script is run. We will update the documentation soon. + +**In the meantime**, you will need to change the ``asset_folder`` variable to point to the location of the outputs of GeoCARET analysis you wish to visualize: + +.. code-block:: javascript + + var asset_folder = "projects/your-project-name/assets/top-level-folder/XHEET/JOBNAME_YYYYMMDD-HHMM"; + +Where: + +- ``your-project-name`` should be replaced with the name of your Earth Engine Cloud Project +- ``top-level-folder`` should be replaced with the name of the top-level assets folder inside that project +- ``JOBNAME_YYYYMMDD-HHMM`` should be replaced with the appropriate GeoCARET outputs folder + +Once you’ve modified the parameters as appropriate, you can run the script. + +Logs +~~~~ + +Any errors and issues will be logged in the logfile ``heet.log``. A new log file is created with each run. + +Usage Examples +-------------- + +Usage example for each operating system and command shell / prompt is listed below and includes virtual environment initialisation and deactivation steps. However, there are many tools available for managing virtual environments and they all have different syntax. We follow the syntax provided by the tool called ``virtualenv``. More information about command-line shell options available for each operating system, setting up virtual environments and the tools available for this task, can be found in :doc:`../installation/install_package`. +All examples below assume that the command prompt points to the root (main) folder in the GeoCARET installation. + +Windows cmd/Windows PowerShell (anaconda prompt) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Activate the virtual environment: + +.. code-block:: bash + + > .\geocaretenv\Scripts\activate + +- Run the GeoCARET tool code + +.. code-block:: bash + + > python heet_cli.py tests/data/dams.csv job01 standard + +- When done, deactivate environment + +.. code-block:: bash + + deactivate + +Windows (git bash) +~~~~~~~~~~~~~~~~~~ + +- Activate the virtual environment: + +.. code-block:: bash + + > source geocaretenv/Scripts/activate + +- Ensure UTF-8 characters display in terminal: + +.. code-block:: bash + + > export PYTHONIOENCODING=utf-8 + +- Run code + +.. code-block:: bash + + > python heet_cli.py tests/data/dams.csv job01 standard + +- When done, deactivate environment. + +.. code-block:: bash + + deactivate + +macOS / Linux +~~~~~~~~~~~~~ + +- Activate the virtual environment: + +.. code-block:: bash + + > source geocaretenv/bin/activate + +- Run code + +.. code-block:: bash + + > python heet_cli.py tests/data/dams.csv job01 standard + +- Deactivate environment + +.. code-block:: bash + + deactivate diff --git a/_static/0fecf1cc5677455886b4.woff2 b/_static/0fecf1cc5677455886b4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7080d064f8e96a6f499a05e68bfc213b732c5542 GIT binary patch literal 21956 zcmV)4K+3;&Pew8T0RR9109C{Q5C8xG0O8C4099cC0RR9100000000000000000000 z0000QffO5tRvdwvat2^OQ&d4zOaO%{5eN!_+(dz^PYZ?^00A}vBm;~d1Rw>3Xa}Pf z3c?uPCJ(fZD6-F-X~VMAFhg4qZQHVy~^@i_bcza}R#w&8`r^;M1R8r87L z0?E)0y_uArCzI@#wx_?`Gsj|W3AjEQlC`ZN2vzK^ps$1?p}`J%2!DhjG#8MFB|aBZ zf5iGD>MmOU>u+b%;`2Ql%^mX*qOP5RB;*}jMqDtbWrg7~z;3}7layn4&!6Yn)Iaw= zL_&}lLMY#FGh&&c)*8e7)>22ArGyY-3898kVvG`kh7e+mA(j|osWHSDYYZdQSz`Ep zVy$)7CB|B7owLq4Ypk<=KeK$lb(T77{gzQFrvqrv9bJ%V$sw#U>k!G z8!RL%>+yR+iXJP*Bq!^kW1&I)+y_r5!4_qXCwx{Qj;_)7Ko zD57v(NQ}TpG=nm9VM@L4ZQ!48tvsH?H6x_M}c)!(%|v#3@fB`lNUqxQR;NOEL+ zgiVA(g?fRgesAk}N3aHk&IDqj;WkmG(}JOzgK_x3HOx%9>Ogb(`sje{@qXG=;0 zyafGPPTbcn!wt4sC0IM66^dvG5`ra#BBAv?v(Mvyh#ULLQ|JnMIp@bVl?e}7PFY}w zQg?u8>HLP)6}XTp&+&~ut2raLpHkKO&$|F=!_oy&_JwR;j70IW9+LhAThv=Xpt_ zQm9JbZHjpyyHRo&e%n0_{?zMTP8I$Wl z2xE*0CYW6Pef#@qFJaZ{j_58#)~(MQ#^wKy*}D$!W}73@MNt%m{lh#v2*DLe$?>aX zI6OcAFwB10VYc&u0)h&U4@ro8NG5|2dlf=T4v{SzLO~6op@GoSK@=*2FggQq)>(*i zED)=#g7}%ALDFl7kU=MejLw131=}EW$wd$#0H|;=_+GjrR{{N_>k<>tApro7RQNi^ zfN~YOCxi*(RPZ(R&?sz|V}jNJ;1y;M9R*%(z%&|91lhagFd(*^YiPCbsun1m zqk1*mOX%-lyN%&_0R81Gn&{M#-fH>*^s8e-hk@+RuA(Ins>~hl7xvm^hphnmK0Q|e z#1v3`ckFvz+XBqoVG@n!KhqD0&)D#U}LM%0S=Vu5&~y#XD7+z!>I(kN00IZ(2i z2!MbBZ>N#yQJL&_UveD4mY68uF*4AlKTbhU)>`)yRG`(i`fMeI+bfee=ovp$|h!P_X0vc8lq7)PiEIa}tGOv=_?*N5EUU!&A zt~~kl3Y~O{*;(gUSe3J>V0VQ>wHw}5@3-62(k1ZafFXcM9#I@*f1Ar@kzIP^5)pajH4iHL`uL(ijB z#7Ai;9c3T^%0xmWQl>(c8q>{GtKJ+9nlxKrp~YG)bF>`IKU+1WnvlIOe-iG+O2&V5{m`p2m3JN!kHJTdQbYdWeeOPdmnfKA ztlPk?TtD2T%3huL&im6awllKlyxv@xwsD^dpG-^!uHlT;=w{Oh_Zv7tKavQ7%@_L^O^1zLm6?Y;-W33iHvbtq{V_|Bs2N8dNU9a#d#{BmS~q z?Ux~W$k~ZKUW=zp6ep%5#@#MgiV%Fz=V~PU<%~Mk1QTV&j@XMguWgMlO0BWhtOZM| z$-G3oxV)Bt@2kPF`*dm(y@%AteQ@vmOZ0wnwbtvi>KzP zxn#=XxM#r-D6^w`-u5So#*)Wx*R_-7QEMG&bCfa)NdF%h5l%SWS(R0pM`RF0A|9hZ zaAxBvbg5yP4uV8A0=G*rbjUc0=8LXvq!IWyN6_c>l_T2-p+Ly37_RAT9l_*7%AX?u zeGFndHesB}1Va3XIqzQ0ZfP=6j40{@z$~H9*Yojh?Y?8BSFG}?yFVUs)BWIPzCSUw zb|9l8p!dMw1qgz$O!Yt>^bpz9J{sCDOz-gYzkV(obnCIvxi&!tfJ8C1B(ouW&6GGJ zUVuU41;DnS0iQF{!X|jdB9~kStdJ*NHgCb(6TJ3BcsykDbITp@G4pj2Z$36y$BzTVpO^azh|PE0 zYaF<<8?`I^;lIGGK-1obIo#|9HYfJn0X@X#i95G253!la*|oOl|7+vfpig3^!{3}6 zZmaipr>DCQ6>g_xxDWM43TCcri~e(MW_J4IH><2xCd-{p7AX21=XGvT4BR>U`% z->T3Dd5z`8>O58t4M8w@kZXkdvaL_g)oI)Zmj7|`W-4HTA~Pz90}NxtY~-u|t$+h3 zT}K!}EdD$Kjc)nhZ?*~78hf_Uf4Gjivnl^i70FrK7QIHNo#lZgzU#hQzKSci9 zqjLZume^3*M<>=` zsiYWRCtUj!%hsk;MnUX zFc(Zr8JBE*dXk+s&RDLk_!#40IeO|0I^ih8SZ!-Ao#dD<*x#bxZLm2YPfle8x0b&mQnk{>25HTj>$`&(V;2!nkrIR*B$IwgTzOS^~plkYz zZfF3pJ<#a@k?Xp3a{%B-7i>TRv5MU^{yc(FBPHuMg#@BvNwXq}T1<;huuY4_f(UX0 z(qc+$QwRmr>Z8l{$HHgJP{vi2E9Y{q>{5=mMPH(|vL6L7RXL`_wusFd#dS22H;N;4 z(H4EIZKnPKnSy5k0m)f`Hpz+G1gbE0LhHA*hDsSd>%&k+Q$lm|$?6S^S``)EyejNC z_;d@eerq2Jx7FlCF(x}rU?_^xQsX`Mye_qV#%^FLaM{#-qzJuR4<2Cm%Ig;GuDS9a^K9>{0Cs7^$w@_3Hpo2lgt_fTtVP0;?r1 zJIr~U_EuQqkXh1-9BxgHq)-!H$if2#SL_A zB~K?d5Jqn=ctVz&;h9-aE;ATi@ex}i>9o*!D({=I1;S+pJt~QPamjoghY$`SuzK6k z2+3g<#Ji7R@+=Sniw)@6Y*fDG8SJPT$jJ$aD{zUsXtM#eHsO&jtzdl^m^3auHbtcz@lkAcL*RbGY6kpO$kBoVihKEdxJVOU&CAHti;IBYc^zy^tfj}sVi zjutqca@2vs8QbbtsA~|w92+;$8+e+FYt0*?_1DJb)V9=%Gm}$j|4uGGm!}`mdYm0W zOSNEm7ZABQF^&hlfVCp3v@wOAg}K&~ubO8>xvbyfG{QcIOoC@mw{T~7rX@+m<~8)Q%=76>xPq!|Oog^LCvZngd3Nobvbk5bpvhu*+z!AIn5K0zC7{W~%hPUx%(MF?b- zSr1c_*#%G7{hT9meJcYMAv~d#2+fs8Grj0V~NN)Mv987cd3rYz&qW%D0WzYw9Ez?cqefl0EL z^2{7Yr!qi&WlE>G#!O%tCl{|h#kdxJz$tj^DWEtwxs1!>bq>C`3a)>n9|sMSBdHVk zCr;XMWJjn1a8N8qXbngQ)AZYi*YPrt@`>ppB;|Qs{j*MZUk`?R6hZCV%|FQd#D28hXk1$ zkoH2Vy3E+u0U<)5lLIWe#QxSq%$|y$hoveTHIQ(_$PHODj z>_<&j@z%_zA0%E0F~NF$=JTkFOdtIrffaTa zKzh={90gMFaS+99Lw1=|1ZOP@#02+^rQTK;P6;X(UtHIKdT_vx%5K+X^obl8S|0{I z%_pd|e6m&=7%LeSK6NenrkG{qTezV>qRiUuNM*`u>?Z?2clT>48L<8jOnls4O^(F5!sbbW$(fKprbvD<6vQp*n@#=Fnd zdbd2Ww%`K4ZIpBlPeb|x_A66ZqlY?Wzfi`7dGj&CI9oF?hCV9Hx!f9cUyaAqsqWS8TxrUbj=A%R_D0r*eMXd{HRK|D?_$dS=}lp->Vq165FE3wzf)x z1-2Fb+BtlVS!>4cEVz_(!{YI8yJT*EwCdw;vGYP6zBgHO{Eg~6fzNn?{G8> zg0CN%rzY%SrlA9O0C30sHGt%XM&rTYV0iBGgFvM%dlrN^#UfSd`8aLBPDO<|V{Rb; z@^I3?H4imnUE&6Y`5gu*2MC>G-ii8Uz&wEmeSjm_X(~g;A zT3J_kE98>(l~!i{mWQ+EwtCJG{8; zY@Lm6VL4iK#>_}gS$5ZxtIaKV%DfXJAi9tixZ~$i^7kM62^W8Hl$R$)a^3RKO)MqO z`Ai+0li_K-_A9yMq|3&?ggP5=a@$r>Ef!O*Ej6`pJZW_Xr=nGL>_3BZPtkfSzWV%` zPG)12EXA>sZ*|7PUJfM-dsp*NG8yu)3o~7pMS6W0v^3YTkjjwp*l7Z5EqsSWFTac& z-}l3q3e59e20Qav3tcPbJ!;%$PP!&@Um2HGm}^D5zG%rz1jIHd=JQ;cwh(8%2ULl{ii95dCK#!ybNSTnzjo1DNf%r+PFs!8 z+Zf_q)otEJQ!JJ5P2KkL7he8EAWpB;VO4eC&D#BWOS^o}|6}XBfmw^B#I`MT8GV&& zUFI?pg|w9o{;2ga5goWtYNJlg^}1Md@*Hi^u|`rPpyA5tar1P2W7(8JJY*v$T|(z~ zk=C{8Z=qdCwx1phFn|LuD$tul5 z=h5n&744N)MXB0LVIcf$v^y|>&tK31b3m;v5k;88t%F)(cp6?r(F{j(M{Blr@GvG~ zo{gHR1Wh-h`b(-5g55uiDqXWe6=hg=9^=Qfw5{}D zM#9?IIF5jd(Zs?U?JP)Vq+VYihDn+;uwp(LpR^6r@u_?-M7KY*ZovUxemlDH@zQ8! z$8pwX-79&oxQHgpnQCmf)pYdrjISY`mRh+!49PSmMDF>F&43tHX@O_tEaT7>Vg)7; z$!$p{BdQq}R*ex6Pr|Hi1{D_(`<82FiYQtS{h1`7yMTP6V z&N!td*QU)u`;DP5$>CnOvNG@(JUW3gk^&PRGDsO*#sx4Z;Dq8Axogr6R62QY8f}~| zP77Z@lx5c?l3u0IH-=F7=ib2vRDd!UzJ!m{kd8|!#b;fvY9rmehNso;;rc zu`uh0gx|qs-r(*%+SbPS;bQ@R~j(=iE+GHz@!$B?faP38wW0%9J} zS$HxrPzK2lRop=CDbvXTBRi_NNc-(5k{zAJ%D7Q5KdN*`sXHfWp_NMcwP{rj@b@+u zV0Kmsd^`>52z+zO>GY6Re4UKT*36s8=GmHoF`J;moDs{co7Z0{8Vdt8sSJ4GJM+a|iYN7gn%$&A$OkZJZf5cos?Bp4NgDV^JqZh_s)H%jSANYnixNgp6bn zQx2TN!8bW;Y2aH&DIK#Zu5`oAy#6T&kk(m4%2bN&w34fo>1_%a=yQ3R#lF4z~LJsAOX!2{Jk`mlP=?iKO8&KxI+U-g!C;#vwEk*tFY8 zK|mY3TO%0q&6b^o3UkK%<6L-B zY@vYkH7v;jc_}10#So&Vp?0u54T+AY;-ogx zLo|8H)rY}BLxoz(S6g6IbyS!$9&+Ygae8Hdnru}dGL}nDSu$j(6jA)|7C;G$GSUDI zpe#70XScO?Q-6kX7~&Nh@>ha?aQwuDJKXmxXOb%$O0HEL8A;1?iy;+?U|*lQ;rfQ= z?kc_ml$tpcwT+}xHK|W!l2^5+a0dC0QW;!3TXn*h;NZJL?%YvgB@v2+M+-9{CCj3^ zo;=AA3fZ#9LK~#hi=B~Na=H1GScII)Msyj3$0B}LCcqyeD{jUH5kkfN?FFLv#iyyagFh;%bj2bVX zGjmcxq1to1i3cp^n`YQ-0BRYYHp0G~m+k)k)8B|ZF?_l~PO>tWVxeLuGZV(s~y9zXDg2wcUug#I?3UaeZJEa^#4$3QpZY9u~I@4mIh*B zoZxU67Sw)-rMtOXxev+T$V1wGPM*88>0EmL_?Y?}jFM`K%|gxOpDphkM76RJ6C<^g z$uQTLPefu;%aF%cxC1dQVq(B7I{1bGmOX7_kpQN6HFsVT(XVt-b@X*jsSLQjotcJM zN&#!P`qNdS+p=rd6lTz@tGStC-)zL8IH#d4bCdGsQkX4<8&EWcbFp+ciuv!;JqLO# zJF*2EGV;~8h7<$&pd1dTA<>$t`XeNf)uhdHS?`QflA%IOHZU*>sEC^5>%kUt_Dw%9 z>a80EQ6O5P8y<>&6Jf%RW2|7f)^)y6 zo3&<&0!1bxRKSpk{tSk&2ibJ6iW4;4wY5?~8#}Rq}KOz7F zn*aa+8#n>rBmfEkAe#pOkC?X`#OufeAYP+n4)}ccK>^@Hcp3nXX`r&w0L&HOcKPhF zp#%YdfBdjD6buMv$E}7H3xMHc+Z6WzRwm=Wfyij$(S!Jazi~b~vxr22iD5UMb{jHi z4>}ZwV=$(}pNJq4n}~)n$Z%vV5`jb`@kj{CM=FpWOu9Q;phkq7TMS+Knxr- zd|Ty%l_P){5tLQ7aoC*r*Uaa<_!IaWfc*eqL+_A)$WOKPUhWK&LJ+y}eG>p6upBrU z2m~yFR|Cwz^>3EGIsZ-ROmOB~vhde&T0sM=|J( zv*Ch|LW2Ly7IfZFgrU-voHYQ^z!?kgDAVp5hibQw!H}R3MKqhBu}z3jaB-r=h&7v? z@G!6la6YgL6CDGDhosuegi=WfNo0AI+&(h<VFgeYv)CuQ3 zt0H#m_)wdBKG3QK0=@fW4FI5B0Dx!!-~`|ovjDskAZi7G_!WY zCSBX}`w1^rWF+IxyWJT=S}P}GP_SYyO@dSh$WS6UY9f~Mga$z^SjS3=QAQBAk3@lT zVH9svf*eXCNTA+U)aZCJx6~V{jY(0d~;MvN`Ck%&u7N&bta{G&ml4WbLT<&32CHU1g_IlV=`^ooH18pejl|mzsYwDW0U}xd|25Ez( z93L~&AR|zvz#+hU-ae*1Zf@_w%|=BtaYGYoThea5iyJPLcETb=vt^VfK9ZhiviJIt zb+gFZyh%5So}K{Du(=oanXixN5Z(~p1|o6O$V}=KeSf3J-qT0Sxn;`U@(xfR=f?JZ zjP%qt6Bqt4`*Dj8NqqK-xwbvXD0SjSzruB}5dE<*ize3^H6e(`C^`BrZz4vcDM;wZ z(iQV7qFc5R1O_E1WFf&uV`4q)=h0K`AI#?VA9?*4Qe*)1r6ke;B{4M0`h}3sz@X5& zaCN`5J={f#gv;usoHNAdagPlI9LFroJTH?t%}oI@A1C}n{DhS={DqAtg+OONk&|dP z)KnT$8huWe+`)(+Wg5pz5=$; zHkg`*gbY;j3^qAMCaqyK%MjY2L0JMB4qqlx@qLcVP6t&mc+pd2@>xE~)4`%sw-(_W zp|#L?vYv=RhsRjg2=QPO?H&f67s|e=j+Cc^v%bzXUG9-(`v(ijI9%<9TIW=gy~8vS zVw1=aAI6bk_EwNF;ReaUa0Gp|JP8ci3!ajdNNtXt5<-!w0WC{77N^PO4y6smz@*T( za)x-ZUGfpjR8b=x)|V23%{%Rz1GYsIT=_%`U=j@41!lRXvHBOQXc{kd{tUwo?f%iZO3m5dHj^Gp(*D$zay++g`Db|D?KD}m%vx2 zJ+M5W1Zu^HHHbkXvPd=tUjulNV6SBYz@jwdGA}2?np}@=!0ENWCFB)?aMii@*vKcB2V?{~C z?{>G@WaB2mhE0%$`->GdHW2uc{?JD}hbfOze|(W7mj)91jS(R=is#aOOBD&Vpo!44 z4ktx&HReryt+?(+5jy(}%_>4eK8c?THUPreYyrDoRVNfR7;X}Xu_B+gK+P!zM*Yha zK5a@<5^EH~mVi3{&_LJRjuEH`)oiq|$`^o<`(}#bCl|Qk$xM)ISZW|nDI>kZR+pXW z@6b?3w;>N1zDi(}%}%(a1%J9m6diO2|POt>Qh-;y%k)`I6lv+RdJ80(#W|n5STH3Nzh7 z#=aUkLrZgFi`@%PM?*&bOh1E5YYI{=I&<0ntFC0!p7-=)h=Ra?*2 zV1#ob>D+y;)zMM*;xm%%?<e;TdAdZz5bP^^^=D@ERKu} zwu**&Yr&c@u4PdRB$3u!@2s-UH9z7ZMv#s$#o*!3mpUk$7z8N6Vr<3<$%WUC4pfP_AGGTKnUu0;a!mF?jUhxA~SM_3<-Flpv6 zZ*nFpP{5+D?(0if4ze?_{-DbTI*BkEs^m_Zg^==~N~C{juDIVb=tQouFb|`r5xriE z4UWhtJ0xcJ`&$TeMxEu1m$kw2aD!(^SY{+V&319Dvppi98+~owL-`1oVA!tmfk_}h zA8J}xqN1h+YVv+7n1|Zv8&^rLN%Smv)8Yr_Q#M$X$%$)PVh9pN{hZ1}4gv*H+_1tn z(>4S+n>ETuZ=m!jdj&^^xNIpY)D}L5?WqKca+5@5Gh%@r9!(B6c+v?KbaP<0_N4dT z2ERpx(KYY)v9~H#uOsf+sZH>xc0JQMBI)Q+q1Cm;(Cpl(UNTo^o|;4G0E{QaFLQ#0 zRD8R4N?ABuXwgu$MnQspsS-+osO~t_?~;*xw{M&XJr?ezY;D;Awk*&qXgK1Y8@iXL z@(}4!t<9tSwJMStZ2=bH#$;??=URkyAd-YV*i768PuulQsG$)SwH)?e!+e%AdANpU z@b~i7YUZ{I)$27S+Z96TkpgNIwbHV^MkNRmJgQ zJFf6$GRQEo7Hy$P*#4LifM2*br*UHAIs6nu{5bCMrwKWx0p^5;X$A^0N5bn2#~ItV zU$8NFKDQP9i>i1DWmr5lays z{L|n|Z;O`F-1xp}$v$8XD`3(ROmD=38QgU@^(9ejlC5v@7vqCgvDt7CU9L0}ry>eoo@p_2*3wJOb<|nPbqpe7BL?LaQqvu@hsY zc5JacTqP=g4r-OLsc9-W&bV-;2Smw z8^xX;%C(UiDX2Y`-cWV_m~y>o%e*-!sI$y+#x>dKq}lfRXE1&J7vYZYM#1pf#n@2~ z-Lb!*qr!o&OqXK@4%++EZKIn9%NZZnz3950lj;jd!sh)Ul~Gt1Fysl{rBOiDcUz>t9hU*-!4|2TsF`-a zM~%zdBWo3T%VRhw+~wav`HHq>|% zZgn5}FeUyj_uL>jmzHpAL>QIj<$84spL~n1Rb+sUJ{v4q$Fj@G`8LIY*j+N+ z;LV4W0fQ=R+>GnmLbPd}C8_Ed9kS}MX>z84QP(XkdQ6;Gk*aUV1!Y*`v<|@;DP1~) z0fs(!v=wgHjY<=tB&`j_hSI&x$V(V($C)#;HJz<){*}JkdiM-`t>pZEwhSiQERDx! zpA2%zM%}B>N9{JB^RxaLQH3}mqRL5GhotyD?0%TIzbUx{UNK4gN_~fgJ-EuXYiCZY zfDS4-e*e5Kez=_^k{*{BLo4?keZxZ!55MAehyO3)1jPQk*Z;4a2U4uOjIF2i7@SUr zBIjGfWM@?&^Sy>-<`A4d%d&;lyXW_N#$1Wey>}<1+!e3a^3LMps_|TmY~`NlK~0{q z*JWvgrAGF*n}qPa_ukIcoo26@G-$L}EPFHy+K(h9t~!3?sy00!iMUPSwA0`f1ry1l zeCFMI(1xD#qayuAc&)Q(^d!2!B!@uL@x;6$2P3V%(#iP; zf*y0673GW$3S}{)98h5@2a{`+iR9c82UDfCGkGQQc4h?xH9}%&E(F=3b}7$hXMzjA zNiw6)&I;ehLYrlTlc)Li_ZI1Q~HI*JULb?I2v6O{i~oB=qJy5GEUJwR4VJBsahqJKCkBOn2cw&izVyD zoyK|XK+@AvP*B(VvA1sL=TigBnm%VitHaB=&SFh*R_^m8`8gLfgUm^9QeG#%b9>Rg zw(gY@qZCw5dhKiv;7<0b{@gwhA3w2L{%7B0<6XwI#=yquPL9poP;OSj>_MJsP3*fs zGr9hJ7B#@+SAZ^PIIqr+S@F}d{fyWOK!U04Otw`flCiCJrb=C*hDgPr;$qc8Y)Hgp zK@f{6f>fX~9uw)H`5sDuhjvf_EA9?E7@J0skuiCx<*68xj6%UqtqTj#M^z7=Tv@a7 zm%*ASLjZjJl)n>IOe{|>L7_^L`$rVWn*2Ylh9f9f$b}WvoV2;o%jPm4Ld<`ebAfi! zyJD%TjKMCHTAS+~OZP`Mv3JqvJK0TO-Ei$lzW>$$RV9m8D&@<0)=HKtyrec6U&bxv zHJ|=Jis^v(%uWWQlgWn!`d79;)2dhkt4yP*{dEFu3d!DY)G&xsk?*LRYqkW3kg!Rc$rE;w9BX^dcg@qskOzim=q@iUh^g5O`!i z=6UZqW(Oo#b+e~pdOM8CW6;x>u=eQ{O&;*a!HGq+e=G{tak;Z}?wZN=gA>4#K2byZ z5Q0R7!Re9^!3QVj15%O=_YFmc5Ix`vyD+8P&g98syv%#q-ucO(W-dxP*YZLVs=uQiDAn7B)El~SEvijQ7Q4WORV zgqmZ=5jC9HD+%nlOQWynXcJGw#f&3B0ZgIGlpl_FwoZCC_$^8}EZ1c!a?4z{HP$j$ zdo?YO*~QGGQO!^nWCoPU1$gyca^6LBv{m_9yu>;hqaW&q)-q^yM6a*KGZp;sn-otXrUDh?WGFL8N8&B|Cw81;s>WrT`s+y*Ox*!ehc=rO5U-}$g zYNb*Rl@_s6k!;;cSb)Edm$gY;Voz2Ut&nXJmDmYl6Dy6mT$-L*QzuAwa%6HI?zcMJ zYH@i~6{Nsal`O7R+9l;`YfNcRJygnallZM1qOiJcma5edraN||Ggv$9*g;%}Pxi6L?UQTM<%Uw1t=c;425^r1;(Q%md~U7P z8YZS`AS?529Hy1Yu|fYU9`SXc;}zNrWwy22;`A0WSX7FdX$F}M$K`umi6i?OK=!bw zmtmxLU-uOFmN&WWKtJhSp10(;<-1^maVwYH&ASH{u=OOeo^|jm7ny)SBX+w06K_wC z@S$*$Q)uc`J^BQNLxKbu(j9f1%G( zD+9Ro%Vb=uhT&Y6PF4kj-pJ}?&IOl7s+}X%yTZ&;gDzk9Of}3wMi*m{`E{CL7$(yi zlmRMju1tID7e^-rHvU>wC3*^0=_k=@Q7Iy<9Y+Kp#>ZaG(LE(H zhgE~B?RKndBq_z&5La>LQXZkgM@RbJTdlWxwOE6i4JOw{F%e?!vdSJc`FixXK+8a<6=29ZJHq9mp&(HrvwpF+8sn6O}{ z99A?lFD*T*(olgftj+dQcyaqNcv2lAKGvv$*=7}HX6S3oRUmDKlw+%4Dbx-M-ynce zGI9xm;N$sZhJh#I7ds#|zZznlhZyHr6k7_-L1C|XE4mfgg4zgYtpp3-B zltM^vW9Wr26+S9RMWX4;jktx>905#$!v!fa=s5s;EbbfF3d7R2OI+^tYU9!s-@uN> zeO}x@@4AM2eV(-+>>AGe`C{O*is-q)5~dT?kcV-JlDlBG&=OS&rXw z_^If~;|YoiNeZ1Kr6r%*pm;?6!{+tx>|v8QHMRWtu!@ELzFA3H+l5|ju8 z^#0R}1q^jZKO9}rv8TDOW_=ydwcNe;l&mE}%{10wwihV*<<%UGvI621N#%<649(g; zh6`X}Y6rwClC;y8GMP;@9(^t|$F;RDrh1+0(qTf4*Ja~LctuVKEbUQ_M)xjH8NpxL z<=qL0u!@%QX(lgALuH!iYKDP{oEU5M?-_96e6A+^PSG$$W>8vVQkS-ncjSV;La9 zG)@{XUnol}(jezBXv?t4dJ4ssj9E{uV`$OJVo70pRZSK1EE%&|GM6n+RGCFwma&|w zRF+cNMy^3{IrZ(p|Ca`LNz?w9~sa@-sG_Ja}Md%z$#E zP;xX%iA2Z@+Odp}2A2~l$x^4vj9H+l&pcka>+hliuR_|bMjxPcO{BXf09UspeRDfJ z>iejeKccn1X(B#P&7-3x{!}MT-)0DPNRfR~&lQbo@PtXjwfozoFZyalQN5g`R@dce zIG3SF+S@DHTj(7$EgcIf%+C7hYK7u!&$r2vm8lvYH7oorNVO&jTO+im-Qeb~P1+j}i?D35G-j zQjWkpB=~cA%MplDj1X~{qRFnAj2e~2eNUWw_6MN*9NA}^CIJ;kYROLQ* zWW>AE=dN|-T$_8HNjU*INuAF@268mVWJ8@OGc_cRT9Bj5KON7Llo`wKot6VZZN%N7 zMPz|>JG_eET^rnMTAQ@%{OVC_=El$KY%y(Ln9|6#%27GF#-#ZIG&HpzF>1&)@=+zZ z)|hsrtu$suUFJsX=;~eP!Kpf~fke{cVQUFaN|U>Z;!J{V#F4TL$y}uy!Y&Ml4e+zn zsz9YyBY+Kn4h-Z0+By$}=?j4k2(%g{E2;UnYWPAdn3rM2G`qK80tut(wnnHn5ThIq{KTm;Kpw_Jd^MaSNB+AK}xV^i)S5KVD{d2#8U#m z)1Bk_)&mCWdvD=y<5v$(VfKbvXuxAZ0>&~3{9~wC=~-Fjm6ul9cO7F2GkfyTX2{ji zC%KpwPZQjM$xHU##6O33=`KA#GoTmS_Dn%n0u|_yhX*|eM<4cz2^=*qJ;egP&d~Fo z^8v1!uYZkXE4!+?ixd?`d(<;46zQ7~=gqu$gF@HfljSMODq%c`$D^ij>N3#P@dkNq zye@YO)+J~K9SFGuEuM{F$U6jzYll|5BhE&+zdSKA`>tcmP}6ZR6!X}s7-}CnOIV5P z9Hyq%ZM|u5><Q4qLwxu8}}M~BCsEEb|Q-(grANU(GhtS38wi zsxlqjX{K)6boLi zZGRlyX~TDwvHfy!X(LOo_prn^g_vHF&pKhA<9kMwDrG?o6>ckvVdt)^}KY9|3x??oY!nz^v4Cqr-mKOeWaJv7=0JmG8>TZBu4zbW`1QH_H@9fv8^@p`5A-+WZ3PWETVJ?o3*au_ z_Qq3)zNl@l+G5E8R)F`|cq3|w=KJF(&T|i6ezgJYUen-hU|flxLUzl(KAOt!FCIYZ ztuB{4uszW20&&Y+To-_Mi^L-I!ab2k-J`lZQ(;j;LQ##;D3j&pK6s5lynJ9Z$>e!? zHAM-j?{jmd(%jr%?;{Wo9+*u2nJCdODD*WE3Z=b=M%~wfncW?>!1@|s^5U+1b}f7t z?NS+?H3fkkqQ#cL>MCIHVry0BgKlq@yoP#f;NoXXuHaK9a?XrD#iwJ)=WRd)Q&+JC zWwJ_$oR|~ zgNjLRN#IxDd0dl&u2xpic?I$FqdI8xhU7T&{SP`CDOo!4V}tu=tfS5W1c61jif#_5 zc~Ppbq;+{@85#BrkIehb0ec(t+4G0og?jyh1&bD)h%Vj2`PtbE7J@RkYnAKTMPwNQ zQHG4YYeGdYF$`jCXB5cpa*w!&pEnBy8Jw9QI)h`;OUVLlU6ufO@qy7{H(eyI%jjS+ zpnuefbZOFLi~7gO@GyLMT9qzUn=U(j2*6npX`ui6CE4zauYo*wXi4+FC5@K*jk{uE z&NLR^2kFC;UNbWQVni~{UUNl#LmB0rS{mrHX)g%b4gCBj3c9>fe~Dfrl8Q{DM3Vi3 zAV-|V<4O5cg)imZ0gn}M>QRYv)M6=!iL*llmMGI34BRI17Z6g!1@MW&gfpjaKKtz^ zC;BDwh4Z^jIs28<<5MDo01SO0{KF((yVU~ zrq*b_E-@kgCTypR6}edrS&CdSeOvNXM6i5186%hD>Bd4wNp4YTMZT)UpM`xxts};w z(Xqq^auoOrR!~-EE|SZP6X*XyW)m3HbR&^3G?Qt1jwc$D#YEFlQPInamYrlfTB^>^ z+32N6l^JGxLSkI!F*P%xh%f|R4F6+v6lLnO9EHZx&$XYIeh%U`h^;uDa{m105*&iz zKqc({-4dn^E-(rB8qNK{Q@6L!w5|d>qR6ccQqEV*#33lp6JwWF+QRjr`FW}Qw6y;M z$DgH0AYD^oO@Q^xNIMGU3V1l$QH#RJt^rbQW`jUnt?Ac@s~ZHFS*~Z`IxD&`pF%hC z`gwFiK2<0rwBjIaWbz~ifm+6%%bueG{#GF?=3;d8RLtC%DSZ@QjLBlFWH?W{ux`;n znslHezv+h@+QEUu5LIC>ogKBHILkf^zZ#hY?YsU6zp0qD`pC zaiorgF;(I6e`L`HZmcoqPg!U#ChU7aIw8-|Nu`vME3#Jv=c(Z1e!?eR#^R19;g5ke zSGJ}OYlhgvT1U10!xQt`=Xt5~836dQf`wXjS3$IjyjFx%a|dM*SuBSigy=Uzb=_q? z|IasYq~q+C`gL;SIe%g;FLh&$(HL256p9`foj_|aw!?!V+6$(IR7M4%^8lWFr=n5D z0R+qY(OUAe@y6M>R)Xis;*m!5XkM86kIn#$qE53KhU)tVnUgFKiqj6P8EewMjBZe6 zkhfR$czP;;T!PVhAL$nWv>DnnwIw@o`c>c&5Y~BG*0Qf%i@Q6v6KGGIQM)E;Ts?I3 zMn6U>JK`CsNLgFufcKSA;+ISFr`)S9Z&#Oe_dU&&E?P|&ta(wb_35a4bP=(CtJXlr zi`YT^>eW)AYGRMOXAv6zwqufee_lfe(E2&H-~AwGE08BidgO-QGG%hkDgX``=pBiq z?#0$1*W7vSf)my^8TjW@=1a7hb$h=eCEF5hrnc)g4+Yie+nfa7QUyY%ec zr;!C1$~hNc%w6F+QhzrCEJ@)V4Y-r8K$UX$rsw9}c~5giPoJkcC3U%JZu^245T!ns z^W{g~wt-1NbF8Wd20Mj~%-t;t2gWWP;+6trvq0rDX)X!_N-SLdUAy4yy9)-;c@0J+ za2JJ$bYc+zXFZC{NqL{Q?w0!nn%!^nmyLCAP;5xCBUh2U&K>K%(zifqmrZp)pi9Q& z1Gngmuim@5M}ZO>!9Ygqn&s|a4GT%`#`Wn&K6n3aSV(p^S)u6kww|A5^85G(9C>)f zb7k})P=;Xk6ISa)%muudfRwC;&I%; z-XZkmHRS79xS;BD;Qk`8m4yrmVCbQ`j6A&Kxik9kSPEBFb5TZ8?EX6mndIMY$!Ra_ zML{!?R(X`X?FMk`F**HM061d_0T`!(om9N|k$3ziMjqbAM<2q{KjU2v1>B2d8O>hD zT~F#mtpLUrJ#GB+%Bt-c^y%$;rUD*%d^{UHhdq`BNeXi&>$w)OzP6W?P+^d_%bA%%Y&j_fSFhc$viCoMZTof`vF}x< zs=S>aYExO;RpqOCUy&N1|FHhA-O}3L3SM)9mM5K&}) zpykpmE(olyGJ3JK`1606A}n(ZCYQm1jlz!*4<-(Zx_hz9-WUk?6%P>DAzt!-dL-RR zf>DGp_4Uh59~$i0Vsi}oS50>~BQoB^r$2CVt;7~#Rc9CdnY~%B7R~t_+$L*L6yRs8^x+nh{o>NgRSC#<7J1d;Yf%|$S zSfrh#5Zj}=guGV6WPghv9SOOE?{EMmzX z)6gx2lX16_`izBcF>CpS!65#^WABA0<5_zz&ZTVP&8T<9#!$8J1DLY+p04Z`vOp4S)t8i#uw-f^BoaIva+TI23X@YxhL$RBcPM+B~F zO&Mx2frFba6yDr1?NuWa`o0YdC(bZ7l%WwPX|Ov7kJiqP=dbBId+uhw@&Fs*)3Ym# zR6xSK4E<^h9=3Z`XaE))fVy%v3_kW1Jrak;)35vrho3!8$7dJ+cKz|ME2*_nV}DeP-sJ`5J}8;v(oeL1FM++kB>NKKY1tX+cD7N+Z(Odvv@J z)j`PU>B%7MIXm;`cko)=J;3^oN!zvw`*tVV&7OTn`L2HC>YJ@VcaeN~s?Zx358{PY z%9Lbz8lFbEaUsham*AHe8tgftRbfCS`{glx7xkS_SCZH&ih*q8s5L|e?yT(Vwc%0w zqWD!3aZZK;|Eu(y{s`n7qKaf--zpGVnsTQkmAHg=E1{qY1*s0z=#eIdfL+haY=vPzEu5&Tlb9rbXz573K#VJ z)>?R2Q*Y|2J#BHZhlH|0SZt8L>fqs({;JEy+_fhZ{#m2{Utj=z56?mFT#)FGTjE~O zA}$?;%$XDPh~5!SRM-~!0+X7io;DqcM*T;x>Vy_@n)aV<@yTM0-zt#7>fP!ET_*fY>m?)y8ulT0lc|Q>dGGWt(PVh~vHi zy~OcZ!cU>KCD}3?YApt{2W6AZ4uJGRpph4#c*HOe8+VWacnX6bHwO6$#~;1mUc|q5 zX227)StZnsxI`X#{OyvJCZ~D15Cy%QnDZB^nkKiukmFBpb&SI}PV@1M(4 z=;nH-~r!}0iyO^g|q zBhUw;o65>`=qWD*QgH$s?^al1HZ5BEbYobc!SwM2UyIO&M{cfC5o^<{`<$z(+i&ih zY%7dI?TyRY9;m5*X<0W|_%(GO53=!urKhXCYTV2X#&cbDnF@(b-y@V5|DWhR3^9V| z`sx4}R|kWXFoZb}7t`En?g~U|!H~K8(O^5Qzzr|dz{JY%gXb=m0L+ z=0K5$0Ghd@w}?ChkWRpk=w?WTMs~mGAqwZTJ_X?Oz>I~(5L;a-2K?E9?Vy4T2Sgai zW&(U_rKEy)e5y64(@9sdW z#Od8Ybz;$ocARB(DZlk~#{43q;oUs)a#A8?Rp~u03&6agBwh*qKZ<@9!8~gyL+9JPC2JC3>=*q2da?pX39~OiAXZ7djVODWvcYLjgkw@rrWj4$BoL|6LVe z9;CXQKmMWX8P#CnQSe zxoJJ#hrM~W>l*5i%bZRBIfM_>Z-KT|-9yiiw<7Q7mW6XxRC~ECK&lc_E1+_K=}^Ms zMd-Z3Q)H)?cmv&Ce z(5BWe;g#FvZ#)%-4Eu{`5s{?0=&we7`D%eHPiMz>#Um$ty_zYyQSy z(u??$_Co*qH3h+wm#&D(DITwqIBl;WDRXp~XCCN({&HU{QR;mB;G6^Te^tSqd60$D z1#ht`bH_!$cgPZz*X6kCFtu_vmtA_P!I>@UcEs;A+V;u>`nrMEIPr;c|B8r46zH+a zPlVVin5QA^N8+vo+x^iMF_2*pXA`2rW@zNfBP0=<&CuavSqA(`r$4ywfqPo?`b-qm zBatdou0qb2Z!2pXTe=;C$zpT3Jib5(iD0orDnsO`La9<~Fx+0NbI==%Cc^CKb;OVoG9Xcjy6Ak5>{E`03I z9vYp&WU)D19$z375fu}ckd%^^k(HBIP*hS@QB_md(9GxLOusv0eOlT&x_bHshDOFF zre**L!AO-VEtYT#kwG|~mE*sk*UQax5T~`)W{LQw<4=X!v@~wjH4(ebQnGTw+IV~Y z_Y2+15Mj!mdws|D5A!}4V2#?zgI=!SF5pO1MNo3m@>7W-M|96Zik;8CcN}p;)(Rc2*z9+fYIy9TLTn zS!8)_AEgFjn!JLO0jcgN-&Wzi9On}-roN*Gd#y+!?9gc5Yg|a09EA_GN`|(aKHevm zl{Y#R)V(xl5Us%i7t{y`SgY}2^po0_9t`k%Y;f9f29;E*)a06yw$zbK;QVC+xDfQp z13tJOb>x^`O9mr%1EU(d>y`^@6!Tsn;=dC)>7UuNPj`ww#)Yy&vM`#o+u#+)cAAe> zV^3vM$7-!RmN^>qnqCBjV_-Zg>PT0r+)R9O`?GI*xPN#!`zlA=nVhCcqg+R;l`lOl zyUiS_VZr8&3nBB33rXu2%I0fxC(8L`-VEnV1nkJ9q3fN*C1~MNdE_g$gr;EJf`IJ%|)4jnl@o`f^Bl(G;9JwX9 z$$~UOc$}*o_?m;8U4x-|!_AATH7<7e^=@2&kVxUuyB*^oKhIz9c;zu~rd+T^Iimnu zbTAX8>BG%Fk>yLjVio7>0-<_JWVoCc5eQenH9| z6oKMWq78L$sdFJIX#l*Hg5)-m^J?q}46jEZ?boO3u}ijacfA9vz&l>XmeMJ_)1@pG zM@E6NpQAhy>QF)1c=+_iS!%4gyW@#6RTuQ^(%qcq|J#v0gy_9a?agg-EpBhD7E+d< zZ(%u`6iA-T);k3@(_!oyaexD7t`q&)Y?K!>t`@wSt-mzF)*F_#aMr#{ijWS_W5ph& zX5vn9!v;<9IzqaEgT;D;b&aa!WjsWQ-4oRS{%br^XQ+4R9(#q>3@XxEx?{LUb>wq0 b$c~|QlYxazqK7VL(`u)`U$_50E$Pt;F)AaK literal 0 HcmV?d00001 diff --git a/_static/1d5fc702ab9000c3247a.woff b/_static/1d5fc702ab9000c3247a.woff new file mode 100644 index 0000000000000000000000000000000000000000..5b991d8dbad8e1ba83a2a2229712f93c614374cf GIT binary patch literal 30184 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 E0FrN&BLDyZ literal 0 HcmV?d00001 diff --git a/_static/2fe080a3bf49bdc12fcb.woff2 b/_static/2fe080a3bf49bdc12fcb.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c3f046fc9a32a2cf739a51ad613214f0a8735bc5 GIT binary patch literal 21088 zcmV)FK)=6tPew8T0RR9108(H85C8xG0OAk;08#t^0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/_static/39bd78ffb50669d6855a.woff b/_static/39bd78ffb50669d6855a.woff new file mode 100644 index 0000000000000000000000000000000000000000..ee4944064f25794977ac1fa702fcd6c3e6d6a115 GIT binary patch literal 28620 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 hzhgPE_MA~kmj+q)w!6?5q0x!$-~9RQ4WCx=b z3w#B>KCu z-lZ5m*0^=Wlq+mphRM25!avlXedpflcGBqqnVxY&U*K*euORQ}4E3RxS9L(|Wh6orj#t>tK5MvB6#)ud(Vx%!f$i)zmPxu%RW59?hQi_Pd52ZBH)N(0Cib#=i zXqECfODW|jB1K9mQc5YMl%pKwxIBso2y49_-{? zo}V#fEEzwiX2dfTIotuYoTP*2h-VxR)#{>PZSB zLX3ovU3MX+FWXMVs*N8e;w|AelS^$6p0Jp1DRZRLWK&rF}F#%$@^#1hh z-9kLsY%-y^RfKf?f?pL_ga>ddJwLViH)q!V&xiF$I55%$?M3Z6rlJ{V+0}(yUs0x? zV8Um_z_5D*Y#4z9$nrBt>sur_2n8EhoMJ}d);z6)oTa^_OF6Wc+bf#J=k7w$7w12z znYJ?@AHIhjjT4<$Qs)p$)d|kI%|-WTF<=6q{l}T(tuhsyVx11RN<6N^F3*|H%2ZRj zRa+ST``_a9f;U_DOp?m73BP4CMa2jqj4;AmLQw*YF}` zI^6Bs0=%_JtsTHCY(la8;kcH68DR}c3rsC@njW*OQDc9JYU=V5=@*lH7ajpr(K7zQ z-ww;0OhbS^R!?gukbGS&8kK%1^hgb=l?%`vPoE?pmIrhcfJg#dh!8ksmd%Mj&}p=k z*ykaP2MfPQA_bwAI3c79Pyn0hmx_j;1XkjzMDYT7=oj7;3aM8F^fLOvG5})NHbu5P zv1y1h>?1Or3}rq^$+^1d<~OGSLXZf|Xhrg)(54?*4Z?4d7A$BUQ6kmj@uSBIC$8s>+gp?hHNAxo;lM=r@P z`_Za*!<#*AH!99`#y?!UWM@KBKhMUSS<`324eQXdU13#yY0X9w#u0YtIxP`0gp{47 zUEU+99dG+uk%05=?r2tZA^B(schLAy16dJ=`ZQHl%tgT0% zsRt9gfGI>{{=VhbY55)HPbC;GhK`OO*mM*g&9!Mde zyE=lr?TiXITO{QPE@zks92S8Bf&0rM&`J;y_#g~0DZ)W3g#A*kT`h&fgNSl@6(}=^ zL-rx`whDDwMY^J5T@ClqAT!kl?#!iQQ*Qv0`+}B$g3dn>;8it(jB8GElqN<;_GhIO zdjw2=RwkX3S=q|b`7DELFwx*3t`5m2H_xI)pdc&7;9(ybE)>{#4S^3i4YcMmTkS|?{jCX zizD#Ssr0^$Jz!sqxhqQp79B8PYp~!?Cl>%ZGI-l9~@w z)uN{$!bJKosQ+m|2OK<$A3U?0`qvz~J;W1B2kozv^vXT}`nLR20Mow;ZPf-YVv(mk zg~N?6)NMMNjo>SRlmtMcm7e~a%AsjEtPrQwY^Bw z(Qn^&e>vUUp=~#{ReyzVZo4R^{He~u%S?>>Akcq&+5P)M`QPyMeZp2f!%ll2s2~5j z)5!N!lM%qU_&NDo7k}ygu4CClbP)f=XZ!R^g5YPRZQ2T!eUs^3zWIx`$#S$tIX;c< zdw~5d+PVQR{*6z$ez@Dl^ddj)W5UXpCs$&?L00@U;U0Yci66r^f(||Z=q8Z_Nq-%o zGOYaZ4y({}h3h(t#-it4-?gF~YnEu&w6^M}_-S3kHdYRw?2NIy7grUd?VR!q9$j_E z-DQo+-T%1!?=p(1PwNn%qrsJbppoca=gaT&NVNZ?<(C_k+duZr<%jj!IN9zPF*UCJ zwqm%s#J68k4mTBTKgm|Z`*y;j!RDp^3LFANXuoFK?w#fAz;?glEH%_+IlH`we(2D{ zaEkKRPse}|W@IPrwUhaI4#V`QAuAgHoy-%VWTfP-Zp5+fxp1d z9{DDbKveQ0ehyzHlyY!ujaTq_PEhF+MvfO){sga8K4%-$N7-gRX62C@ui!<_lj#E< zt=p~xQ?lFauJPqM8REioJpfTga!>Hc!aYZxg@qkRB{$S z&rZdrRIqBeVW%BypaDa>XO%p_b}GAORJM<8Gqb9Us^Nz1b2gtm2939w>|yKG>TF|% zN;^qm<>8uc*!Za>a{I_4jKeHC+DcYKuR%jCY+;#4rjOcbb97{X;fZ-l3vEc+^ru~s z0LWZVq#i-<^%D00bk$Rh%7Ela59zNX(4(ak|79TtA>f&p3mod;r+x6_4vR?*xJKp0 zps#tiDyXw3m#vRQjic^DnPN}JOJxd`_O(@S_BGn33S`zfWn_+!3SpQYFPFm56;Io$ zC)s8^+#pVT3J{QKuOJ!_(ymIx;F=J%IedetI_C)*a$$!0f8K$utXttJV89o;WdBblzp7v^S{?dEd5 zb=6p-mrQX%19z5tQgLP+nx<0CvO&WjT%v~~9EsYAN_xi6g9V(%Bqg)v3UvKc2{|Up zVG1k7DD*|Xn`NMk;vCv^Bo~n|t!%uB|8jB?F(rdiwFs?gDr+>IQuJ=fa;Lp0)qX4z z-z{)jwZet58&6bfnJ)SC+ODtIThj$KK1G9FSrMC5pmx{g74fUoy}C^27^>z7-R@$H zO3H4}GqQCuz46=)tgt;CqGGBNR03V0C$fqrKsVKWCuk7ER|wsKViA=@lrO9(jF?o9 zKLYR~>VB1@X;hp{QkLBwD9*b|gNDcO33bJRbP<*6B41dRF{Tg}F9<(tFu?#vUgdJO zZl^OkRNdGEQGmrB)OUknB1MfMRq5EH9rWz7l77~U{c^SBnz$ux4ZpeA1QTDS<^ZYm>nk0otH# z^Prd40Iia5T{b{z>m~ie2EK3rDiw7Z+|ZIqjI`GUk&zEx?|_6}^TM_@b0wBU^e^k;mH7PVZ*ABRjmMFZ42fx33q`8LZrj zmsbIqLr4Wp^b)cTS&=L7^g?CD36%5v0-0Xae3Ul2Q((N7_gt&P(|WtD-u9gnh#>H=kRhSd*Bf#UAFBHJA% z=z&Lo53?1&%Yzv*h`1`IOPJ=1DN=Df?i{yK)=;CFP(-^kP1p#Q4uqdHeG@h)i!tbd zR=|fa(9~)@dP8E(Y=x=Nx`$D?izRjTnIug#X+-NlC#ytOC~2+I{su}(xz?~Xp((Uj zs-bE^U?f*g*5IS|Q!GPoLBtlCvo;;UI+g=$!lR3Vb8E?+>wUdg!#6~VVN zQ>ILlO!yCE`UXnAfqy|k64LSHe3m6AmExThuHWcKo;s;`6aEItM->l|Ct+Wz+^9P38)L6B*nAMoPN zqly3x>dTlxgB1QABS&^-ku>^YP$7al>S)9P24QV|VV+0g6gI2(hcN9q_FI6y!;8Vk zHtt7kkjOMVfJ7%(uKtwn2oR>ld~S-4zo52ojMw)#DQpX18c9p9ZmlXcU!5FqH|eQlexr(!se6K41>Sc+$c z;De!jW{5Wjwd=#VtU=bOe9rjhAlR+*O(SrXEzb$2Nj%sjn!q=>Z8)8ijXi-by>m`b zPr*Z%vB-*-HlQ30g0pD4JP^uSCJp$`70bY9inL?`dnWhq-LFaj69lMjU!S_13~m9 zE*cKLvu|=UBGlt@B%pGNuNWp*9bDn z8lk5+t=P+iWMf4C)YD*Cg>|ywW?S#ZoJtFRfCKPhwx+O)T^U$Po3fK&Fv8k8$O$12 zV}-6RL0ci4<{P3G9K&b}-JDCG>(P0F1_S&#TAi%UDkG_l!l0+l;Wx#c?yumc@&GO2 zUf0_18+w8x8m^XmdZLH8LEG>Xn4UMgf*z>JwD@_b%j#y1T>55~<57$cn0)61^cnUJ z?-=|UjBe^kzBgv2RUCqUbT9GsVRm4hfeGSm!w?0T26~8HmGvS4YSLY5&@ci21G-Ok zW|5?yVk}&3j=JsQdlOEde&E*iUN^h~rO!n)A6^w_V8X6yXHE0~)nik8wZxx5O-T;p zsGx=O&KM3|Xh4s!>_q_8iK}Din0re!2Qi z@xfVPrEd}BQ>hAax{JjQDRn_WE?o*5G|*uef|p9_6(h+n`oa?Hh==_s4i0_^PZTjr zpd^9KElBtd+1_uSs<2S9Z`8v8_$d69K*#$^cEZ~vGT%}iU|}u$7R5YOp}xx8V{RX>9nGV zVMATx2Q@(C_{;Y{xMEuPmh1zI`1E%Rfy$@di8W@G4L7Qa!zL+9XIaTotLD-Fa%d%=ul<5Vk8YszCe}5aWB*2 zb$AgDCDS3ljp#j$J=I_=jAYlbIe}8c??K@Y2AQIgbo;^spDTGTB8Rb|_?tcG92i+P zdw|}>80lpVmqFSkAu(!R#FB%q==%)HtUxN9Ev8b$L2q-o6q2nr>BOMQsyn}5VsMZ5 zbt^mj{FNq*<(Oh7+e$UFGh*S?n`0r}K#YQqcQK2uYZNwU(81RceI;aL;o04gK}{Yu{F`uQb`qBOrLA)RHC7#65kYXNoAK7wM}NClAUtNCsj1Mis&mI zoo`{Aw3})pDn=0HZomU{RRhzYp$#sEwP;t*x9TZi4g0sX)5MuC(9XsvQ3adT#F~7P zP82L%OujLqB6t_9m+K1xk%GGE|ESZ+FJJ>c$ zkM-Zzoq7>SG41&MjAB5LX`qX+leuUkK)GuBmH48bFQ9OUGa{)d#-PGD_{^EGt2=U` zvH+cjHTWWYKW9-H^*)yf)L1G4HNe{!L_l*$C@qmMOD?N6nHh;p!vjb@!f5PR?U`+! z?%@xHFxdWvv4A_K!b)*;9-r%Q`;n_A{^ zdL>(@#*_zH*866yyD{_`+2SB%?o_kMY)XMy&YGeCrK*`aK?A@kkWy9Cd@E@H*x>yk zwRyS#U!ba!W#=W5Une0qhVV3eplmdvL>N7kSypJEWHs`HRj2ovQPP3oTNr~JPQ+7T zR(zt;QrVKcwymFc+4Fo6P1*x z^ceN?ob;C}NqMa13LegBJy7K0q+z0Nb9}itxl2;w`BZt*Bpua`97rpxGO91Ei?jX3 zAP*5}f(=7fY@j%(>ii%QAf2i*CB9kY6KE#H8IjcVV=RoAHqDN|lqW1wX~>CSL0O@9 z+Cu>Nn<~W`ZoGBSJiV|2>bF)mg3=myjVDG{RoTAIqE#ZiQz&MdOLWz~o<~d*cZi_D zI>;yn(&oYEn6-NJ)={oAyw`Sgt(#$d{38&cQ09y+#+hxs=E`v<^CpdIwAXW*dV8-_ zY`u?b`OZZl@Tim&$ZbTUQF5XbtzOE`0}Hfd%R?ZZ@CG~PZcNEc=KgsKn3e@sGaj&3y^{1F0MKkzXVHj8paj`E570<$nO5R0=MiWQKd?Y;e8=?# zY6he5ioSBsc@0!hJUf_qr%4)ymRzraVc64e+Y738BHGeEeSK3Q(>Cn7?v8%Z2}b4k zA$LnBE@6FQui$ViM>#UR$=77qTmPv^%he9!*z3YIaL~jNlLAFUP^?E2)rmlZwdgn! zkDCXhaVCu2F(RpP7>ge3)qmy@6Wv(uuU&@5Ywtu6`Q+086p0{fO1g9!poN7>fZCy^ zfd_>#Njy>>0O(Z+9tIb-V(yOa-^CyR3bFbQu4|V~AH`QIU9TsEY${~<0g|ECLhxMP zM*FpnG-#-Y_e0=i74I;TxEtfOyjV|x4?8LtyhD&_pna%@GjAk7;aYVn@w}4vg4@Iy zEu95}3S<6U53h?eC_y-fWiIvr?LnpToXrw&s^nXqHK4S(UEGOwnYnGr6gYJJCzU%a z2WxeZkr?HG2cN}j%rUMrv)PU=l)nfh9duBwk+umk4J1No%xOIV3e!?!(BOcDNQ-1= z7D=fYg9;=5HPyn+;%_P-c(XYbd4L2c#(m1-9Y`sXkQj9*meJ*3lL4!WGj!_OG?GS9 zrh&GjFy*9@0P(cY8#LJ9P$W6BGmE4o34;pbCKs+1hh_#O!7c#`K|bTf42K}Ws~Eo9 zf>=<|-6#u)NiSMVT@r)8#B%8LYu+}G-|nm6NcYY1WYUX<&^uu(wpm4K;cb-=&kbES zTz|ka_mrOjN=w-dZ=1>TEVk#7`Mj?QdL#dpX&+ESq^Vpo~dN((7% z)$CdWC5PD+x9n3DmAJtryI7Z;ZayN@;5;!QJt7t|+8!rSvnWV2{E>L7<{+?nQK^g= z56TA{6XX>aiS=T9T4WBBVsa(N4P~%$M||3hw7?UcH-lx}NJNAPEGHKKON{Q7zJ?il z3QPpYnvoe}I%!0ks+1UgCZcPycqE<{c_U~-oDoUXkFjtCO--LXTijRYXpZp5Gun7X z_QFmZs-&Lb)}ziDs!~eQ0gbyVu~-eszUxBJgStjGEmNxpniwjM1^2@ z*q91xxC~2mONVh>M#2N7+ZJ9>lodAfg0OsbOmhq-lKYM}6SA4|pUW!;A~?z?3b@8o zCR5fh(GeK~zDy;p#z!EEgN(>v(;j>#1G9m4V+o_$(JS!L3nFN9!lddw?W(#m>XwDF zXvuIZQ1`CgU6DGURlBM*gLYmmvxxLYCPQTxwB&QZxZhtX_F>$LYr(h>Kz9;R{&=!; zN1v%s)PxN(%FgZ@$Qx7xiV=hc@@j_a-3WzS1Fb$F>qX*;!vqjTj6@Ov1~X%PJ~+d; z!NU*e38Q;gga>(LG%G-!Z@>cE;8D#upezt(Bq5*b5UrN~A4qol=U$O}upLpj*D=-J z?`j|Qxit}9Mo!cOC5rMOO(6S30%@{oOBPkKG$B<<6*YH{g+MpJTB~_H0AFHFn&#NJ@Falg41XN#AY*O+!t4>w0~BvU?UH9j zMz-siTioFxlRumY28&sR*-WR<1L%Qt2AxIUK^N0yi+QPA8Jpf&-`&Uz-{qCG0B_LY zA;y`$foc(8I0nDzTDl*d_R9J6UGw-e;4lDKkw##-_x9R>-4P4{aoBGI0F_rISULTb zS}LjvvGRTQ^H1l$>-zTb$gjve2tXHLnsETSgBw}b@kZ+!*=hJ6W&DHpamy1~4Nc(x zTK`T3uegDW>o~YcsSsEZaGeN%KwvfA_(0){Y8{#l0&PUcz!5A2S16vHgu;l3Rq+9L zrku_6DU`f1`DRj-ElPH0g{on4Dvl&B7@P9|;40@-Fi%@IU^Nue_17 zBEkg^goV5ELC$N9P$=Sx&IyNjfn63ZldFLeY+U0#aG+qp5MEn zQk=I{at3Ac3H99LK6TWBfTR@<09^_|*cxyxz|J?|pbJ248xZaTfB>3cYhUb}B6?sZ z#1k}mE|RavD}J)Y?nK}OC-acfh|b8Zrnx`&V=82XZ7zxhtSf?mc^VKIn__7Ou|WYJ zypZl>{u+~_iUDifdi+e?iSUr-&0WWW-JQaLCy;3pIUWDV1uxK+ywQLmcp5xF(*0O8 zdI;Ps-ogd^Rblov4qOAj0v+HTR4sf`QuAd|z^af0rs2Sam|uVyp}?N~Yt#hHVI|H{ zF^{T|c!(E26RFho%hFKV$drvcR`7-@owqaJvb%8G2GyW#6Ycr_$XY&ATQy(p*wM9Z z1kg6Oxw}_m(Xc)AW!nsMkJMZHyPIOw1B5N0>xvJ&^r(I+rmuB;9s~~vK%QBW_#xxeNN17O$g$veN6xyW5DCRcH zR?;MUBC6w+WP+F2&i1@`t7ZU1*%>QSZ%AIhSA9`+&zK13rzti>N8~XgL{+yMG^t1s zbNP9?Pp$eFg>v*`-};}M0b-<-NEK4~uuZceQT!LaGb+Naof_=KtssFE%JVYO!)L-y zoq%u?(>QT@1(?OEpqLLq+n3>C>qV1M-@(2h0T`gm&--$O)#!=HaHYe2FP~dZ+~#R0 z-uaNQv8tQe-@P;Q((fw_Iq;Ne;tDvys~O6>dX>=Y9Cj7V>ZH*|^))-K>S16cl_Ccf zc7g(@abN)#WuX&E)R^p8WG8W1=j&Xj12Pp^8J+DEqd2=){l1^a1n>n|rn9AoLc_X` zZmr!>#MZVTT4^| z5-<|6ECvzoJx0jpiAo_V)2r?*cE$|gg*g*$!;Z6}&K+hb?EY~Vf>jY~+X|hckfo^U zxx+M(n?Z4At@>?Z*3^*$8{K0dp~|6-b)*$`ImkOT)~Q=(Y?!;3qRGg%I833kmy;B; z0+xM29T_>Yz=sI*PS)%f6zQ$dTpkM`j5+w(m_q>XvP%41@&GGP^OXz_O|(h0DrAue zCpLLf6t^X{`5^?wAxdJDJOw6>pwSl|u79KS!XqW7PkRdcyqqLviL;o9OF_wNiM($t z7DdChM|P5=8BBBQG=?g!OyO|bnV9JTGz=KS+T1NLJr*;RXK&l6;rl?CIdjJq}ykK!TD=iC^Z0C^2AHe^Q?p>jbK8@F7fY*Ghbe$53Vv9K-34HkwH z4j`(Uxxvay&ov;;RHJhWi7Hc@H9XFVVjy`s148XUJz`1%aS4&FpU)tX^$Ur5+Pmm=DwsU50*L+Gl!43nM{HNZiQty5G$O8u*O%M>h^SExL zDjc|z9k6Lz@M0Pa>=o;6xfomH0iG&D+r9tFl|II=p;VKxYDoV)r3w~U` zGx@@PL2FUSSEs@(V&{YcQ~#@)HIIGFPZLTbb_&i$294XpAt4tBN6i}(Dr%O>5a~1` zgDRKP(O_aNN^cuPVO?KmUF3zZg*>eo zRi}Y7KrvsjDZ=t3;I2P~d?6vZzLr9iCjQ8BF&PLbO>}ofs#r6^yF0O4hdpZYEsnqw zCu|mOS^Y8PtdfoVJ;0laT3y0Q6)WpN<0oy%eRs+4Ok{ckKs61(X0Xwsw9*WvJ2G8- zb5Jd#v2YuOQ0TazhA86rJl&h+UJ>MdjkpHt8l#0u?JjGI@C zcqwJ$9#p~OjL+SbRDpnVDzkx+cwn`-RBp=#MZ=~Z<>beVCEp;scjfdyUs_&Bz?7j0}oa=@!Qun|q*SBhW!NPYqdSXXpJQ9&MwQHUZT)DYk#*7=1ICO!EL z%p3^m0%cYVKyD0Lo-$raq=+2lm7(!+I44n*{Djc%=@Oa}q=E8c%y1=#t%wNm&J}Q;QH_tp^}_Z=-u|O=LX4*+$51eH)EqkxmUp0)iFah^d*5Am$U54zqPDr zo?DW;-;XY)4GU}~bj_3X`zz6FgSN@Af?lqolh&#GA$pi)`sjL0F9s?c21db6)2njD z45!Ew`wBG%NZ!;?z!cR=I7%mJ7xxbvyMgam9Fts64L@?yyaFgi1=h)v?&G>3uIT#k zpYmM15}Up#R^U7(W!Kvq3^p8=S)(|0jKOGToL^h_X|-nif0;5$&%BQ}?xZfM>K`d! zPx)*zFKpE6e)w+#?a~TK7UiaezQNz*4J3Kyb!kS!lz*b(ild6Kt7-5Z9j9wPkQq%o8H0? znqu|};}#X^8HN4Xft-Y}X+ZgP^zf9cG6 zutq&==qk&I>6*Mf?i-&r6<2*{PztxdagjBaQO^ptJ5ZgMy5T4u$}fO?Dep@m9g@`t z<2HRu@oVadqj%4^U^=ZQ1*-V<^wvPnBPELYI@xF%de`iid?6vOS&-kq4gVE?Ikl45 z|H5@^-5#)EN@#CTXFzNGg)(tL+Lqr9IYYyUq^cxr`Gj4|lyMQL<*6stQi}<*$S^S2|QEUDJWWt9leh(XuJG(KfGP>41mIeCa^*} zG`IOu`OeykCNF`LWV!NkGF4~mMvE36^>B*x)WcN918M**ImNhzH|DA_sRpHQ*vy?F zK-x}1Ut3B_C3OpSpn8ekHS6D6F)`qufmne9EbHHQa89j?NbbOp6K!p&{$%jIAgs#O zI)#o}>ch@snPbpP+Aeti*L(vVQ0y5~aee!vd%id_@_o8IcHk)t+1a2r$oD$TP$|-! zp&`yxS6Bv5^{Ff9q$uf>vq%+b;GGskCTX!&L62C^YKCdyP)*biX=b9w-B0_tcmfi!5{qUFa5=l{QA{(ptA~XVn+07a>x_Jf zjFjW0Y3#zw@p_f9jnRGGJ2lYRNg8jO5C&`Zkqps^PnR+Y5NsqQZ}`c z2zH_IUMV%1V&?aWS+2s36+xb;uE0fd)jDLw3LEr2LLul(U(};0^efipdsnra_VM04 z)|L=)ia==X@v}?yg4oxXE@WJ61k32lWIZEUp>pq733vZ5Sr(8)(^b*qr5Mf{ynY@k zzN*MxGbtpKp;KlgiXCHHzlz)pM-B4Repup`qNvy{8WV^Ed=NdE-6y6*DBz*e2zI#= z?+$l}3rVn}1t$IbYP8sQyt!>D(ysENS;hX+56T53vnC;ocaPgjA{ES(C=fE9zUZ%L{zYLcN=4H*SR?P%( z7e3Kl2u2^me=eABfz4!#1FU;tW*g)=oATLK*tdoG@GRtsNxn8Nzvd?Ni0b$tt$pTJ zLv1y#%+J?a*j!YLF`Z`Jwo6$V%2S0Z+r*~Av2Gz!(2jG3`D#&1i3hAAF z?L@J{#1YZoK`|S4`^<-0KR>M+jbtRE75dsXzP8x!m6Rw}gg=_w3KS9_SY;@UFa6U{ zNaJt+sXqyMk(7^9U=Ni!i$Gow+v?UYl&-1 zYENw3vahO0-pQvLFE6zUr9jDb)h#^rNY*0B(1^gK7@rWz1tWv@{)=0; zrna^Ts$8wC2;?f)B%MyfP6##Pw)S$t1aM88&)r|}eU#G8W0P$ZvUVp;Jf*6Vm+Hk~ zLyX=PP!dK1KV4ZU)X2v;#|iUge1T3j&M6$rm)EY{lS%n$-@vj?L77dYd#kg)t30DV zJEL$#FJCX~9QX2j0ic?~A)GtZdO=#C7qkQ<6^;Z$oFOiyu(tp)p0A(p@hCQV1D4Dpz$q^`( zdbBJx9%=|Wm;rnP=?Gd@sfXNLrF1-Y%@!!1CzouCU9;_P(2tTzOeopJE}u>##~2*# z)I_<_gO-;S7qV~Lq9aT0I+;k34Xq(`JZF2UJL%LM5>q}M7|?iUQnQv?-V`-fHMtM zhSDE6iq`Ff{5vuFR=(EG794}T$LND{jP4HXza!m%F}IhyfO;BNc{KgGV=TIswBeLX zgV;-&Ay0JkR6#{KM~EQW-T5S_Ay}4!HMfx?`d z-H>=2EqCcumXZdXQxpyf{GGF0E+XB=F9(}o|7!yO5y&5{e&ZbM2ZU+3dWBFe9+ORd z4_BE=BT#acH^^0jZS6CmqP1l&e${^)Gm_97o~>lg0oSfq86!`h_ zaWKnKDgtB4q4X@KYUi)4{3S1CaI=h4ihVxWlsPXU0hr}`N^g?a2fwpGs`wNK@dR?! z8aRMAHSE7qW8tGWvnsJj5QsMY| zjhVq^ltN}lt5g3&YbtFD_CrQ=WbWM_wn8?oz}6}2N)MA0%suXZT?TQE^IHQJb?W8p z|4Pl|!_J#BN^lf)9o|CZ%Q_vUZ}L1o1}uuq!3X}xxoqeWeGdCM)4E} z@HbLUl?|e%8M8s=?CGNt?vn5g0j-5(7l>OHzjbPYc)6g$MWJy?*Ydx49Dvvi1fr)$ zGT8e33cYerr7KUMROnI2K(O$1R6Zgdk9#Acq6KkxOn zqL@H6kLg+vScoN9lX}|%?s>nj z(UTopmfpdwA@vy#7_P)SlP8A`0LwHqdgpsZbbZool)PN0DlKimIXU8BPR=NX!&OR` zXQzgoIcRf7xf8JA+Db1O^6qp2pEv)b4s36aMZ`|hUrvhWO2scK)ARUi8Y!=DouBnh znM0Pv@s@i@H|X@k35?GSm=I>R863F6U($?L59q~w!H$7ytIfv3@5rqMdHUDLWWOG( z7rX}kL8&U2a;TJ4YQ)BIf3+{n<5h|b$f3`e01=9eum28-km@g!>B(eTGC78vOaK{> z_jP;H%-Wcai@g&yy}KYU*cu&(eE3$OBQT!BD=;dy1u=-Os+p%o%DHU!6iQyU%%Quw zUkdrbJW5r`WqWpqHoJu)ZBa+(xI|=zYhT@)40%@LYwuq(Hq^C3-mcXePcs+P#BI?e z?Db6bw!LEiCh1sEu^;?}^49w1mxf4UP5~krL#xOC7BSZT9aOGg4f|QFAIPYsr97#t zGz3*))Ua>76)dB)esOvTqweH{O24J_EGXuzR8rE#W&yPZtwgJgjqS?4zs)o?B{7L5 z)?s?F3FOsx{R0O=DIeW{>piW8#W!eU0Ov%@9qtlZbMC$-RX>5lRpf_klssRKmLc?@ zWs~Z%a1P%sG!!(~EmCl*IZB$)wR=ovtG%vgoTq);O!l+4c49UZe?N2>sLg-T;QZIrR-w72E*-xpC( ziYn_gTJ;=TGTdAwS7>&kWF8~P-Uzv_L;jC{a@_tqYYeV7r@jE#cV={VW&ng%FW1Ux zcG0P%M6XV{zE~<0ec2-GeeTRc?HwTmw|>2GqLcQu!||??i!qfHc+xR-6B!#JZNN?6 zcA5P>6&GuMg5C+=MwH?N&c5}ydH=D&J_i4wQdieITT;_n8p@hL%+vsX<2gQ%u4PXm);@OX z3M&$9+|J%%QTDOZ`jnO+h}#BhXW5%eue8XGG$O51ZjsQyB~<(x5n3TCA|P^bg)uPCbU=I@34)whyg7mJ6IDU{ds;tk0F zbyVx;rn{$>7rDHgb+EstTDw8i*0$}d7p`GBs6UF0dnhEzFB0)I1u%c%7pO+NN|XYD zNIBM7q5>bdG$J7q@!$tcY>HB((I(}3v`LyvOTR)0wuM5hr50xq3T+#>ng1HPOOps5 zOHzHKQpW$17PoW8suiR6$=~u@w^?@8(tr(Xv?h%2LTymI zwE-*$Qwb;9jSB){9P1&>3LNNP$r${Qv?2Kl?5oav?vUgwrJfZ=u_vS3sRSUYkCd zsKCTdF`lPSt)8uItNbS>Xtz@Mlu|`tG>k${EP(twIv?zS{NQN#O<$192jlUuUk58m z8Lwa1k|17px-8lSxxbqRgSn{z{X{pDN9J69dkffc?|-2b^MWdHUniC9}^q z&sMz-0AI5o&24(raTf`I#{|;ZJDxsx+WYv|ZBIZ0d-m7uPue5(!Qe^!<(Q_H=%%#G z8Sq5UDD^TRorWt#f_nSuw2B37O|o?(#q>ZOh!% zy3W;mbHk*pGgL6N24BOk=Qkna+@fnQvIwl<#Ej`hzn)DwB5U&2-+ckoA661G-VTTeXC1x{;qVUMsnK& z^A$xNI_SzBMIk4GCI(is5v%}IKBZN zf1RU=&06ZHt9;8p&(%}OkXmz7@XzfP8J|x`;^yUXATCwJR z6`fD8CW_S>ytXaU+%0GW`;|X60zIEM_GI~@A^-MYVgGB>nfWcxG!YuxgY8VCO>jx9 z6{B!RLTW>YP*`9rINZ>eDlBu>Uw>)V(yo>pcHA`|R{>n|7OSFL~co-AzJ z_bXw46~0lvS{Pinj=Ye#8m``WJ-P+#q#UUBwy;OH6RjUfXopbc{9vBSCq_jwx*EX; z;LaPEhtWezZWSt&o$cTCx4;7XEw78)t`y+)R2q}!Y~|?V1d&F#3D)P3;|B_?lHk9xwkK~=Z`6qqjdJab)S>>pS^WBC7`){EfHYs z1xp(O^ZoOqOPosrLU@2kiK_(-Muyrm=&Cq;0JIoNdTWycVEmZ)5+?;3FDQ2Bn?G~RZ2_tvI)^lql=C4naftPTje6_Y>-C*W&<=HgJxOn4re9P_Ya3I;Ut^r8EmQGXOzX16zBwq@$ zdlB+oT+jF{t`zM27p>b_rYTJQ<3as)V(c~nTJ4RtGU?Dt*{JqoMB-NMdV>$%AP!eU zz7Oelfz|rcXkGKDPx?$*lOQ6VU;PZAeyTJM-#va@B%B==xNq+t*uS*dpL6jhe!)Bm z3*Zg`c4)>Pn(@t-$+fFcvRy8%tVrQ*-T9R&g`$<_ig!~ASEsF01|?~B_ip@9Nlhj^OR9-@!IEHXKNU)=2;=HJy@Z}*?GCF6Rr5B;QK7b2f^r$@C>+sa+J7n z7C1DiH}5>MJlbe)5$Rm1LUC~h-89yq{~aMG4DAyN9?kaLDrpa`de^zTCEZ}Nn<}Vt zgH3O4T42J5>O$3JCJ@(#;Qy}jiG9jtNewC_~V*DiQ% zUCt23G+0qDbG`MPAeX-oC&wLp@IP72v-=zqN4#eQNZb@*l zSeYmBWf$2eFwq3vX33F={W(Rps~IrtmTZ$vB$188EFLM5iA3USzDBe=A;By<;$c8y zf>fj#DV8CBtu%_WKKofNzPnS-l1O8f1=Ey~Y&Q3v9CS&#iyOv!1Ol$l)O$ z($WHaF_1-njWyQ|fXniLfBEa;nze6XO>;AWS($Gefaxadu$8;@p>OMMj z21v4XBni4Q=(U0*&!k$=^aRe(I{LY=Z$NL%QjWtuv7vv*0V%jwQ*iH*QWkK)2)FyVXx39~yqGeYBYyr1GzSKVOc(Q5nnP*cLZ=U-A z_P>8`4run!f0}d9mbt+#(@O76&Q!Sx4n5t*tX&(0&X2va6ZT7IqFWDNa@Oz+QJ5o< z($3KPO#K6*=yvq?wzt!M-K#fbs0K5%K=2(sF7q_fzK>!5<9l-_a#5kH zfqj3=9EJ8Dr|HNzox-!DCA686F+m07uh}vO3f9siPkiaEd)#h%Q+z++X_){*uG;8IL zU(LaOJmlX5`>(?OO1#M5lRD6sI0R>BDw=xNy zwtY1yHyVmKIZc)EDX!P8m0ymF$e+@bIHh1sB5-o=RT;qpTsC5Dbn94PSMZ4CeU%1s zD&W}^S9MDA0%C26*%Q2GCk!RfFQvt_sl0B<_w|IjyKxCi6VtBH9jh09(HAn4fzKz2 zLwoB;(-E^c{uUd@4*mF9wgtP0`BY_yRX1S_7Eh}^stjV;s4(h zv;XS?WrGkOj3f2b!)O`bI4b8@Fp@*x7D5|wEe+0veMcg+afG~_GW7yu2Z^LpNp18W z5>>gX{s8TVn-3TM@cD@xBlC9$QtRg_l=4%5_`#eW@>{mf@mhX|l6X8%8}kx22dItNg^m*7*dBlcbmU|*Hin5qoHzD1_~T-HuVHNDR%xm4w-7xJoEjE67Udt-=y#CAHF z%y$p+dI_<|1P*Utg+p7&xc#E4kw8Gjj^>HimZLbX_@f8QzXhwm3!`t<${HMH^L+)u zQgtEg|2OQ*Ulu;P!4uMh9>?w8g7Q*L>%tqgmxU^|^Z;My#?QUSeD@8cn@Gc2XpDE> zM79u!&m%fCOvbG@tEnw2Vx(-R53aW#CJ;#Ujk9IFd;qB@#2ppbDxJ%1Y6;`rX=I#8 zVAF>iSd52X$RW`f?u7G(b(~gt9?`Bn_8Q&hly;5|lEaerKhV)Fx30s%W&1z)Y5CnY zD)$5^N!fp)iNy#U_~=P@tNj2bZdyV3AIrV}H%)`;>lq>OhgnIKVbc!pRFI=EF>*3P z;;)husbi)@JnVmWN>2v{{?^j3T9D5%XUa7a$NBH4LR*r-Wp4ek!$~B4DVXx16+4~U zBG!>FMzpcC9ej<@F1HnHYtv=h){~4-*`w19&_4gR_J)q-jVAmNJF4Z~Olo@x1k~JG z%M!~pD*|4%AdQ$OA%S$zPRmT~WKyS&=+*C8ZP1n6S=;e{&)AwTRU;wxn8xmP?XYPI zSr6alH4umo=NwK3^WB$JJ%qT6Y=^geg`LyP|G%ZG=c(VT6@md;QtIRQs!OkDGjC5L z-9%y(VOTr#vnJ7poh-(~AKSMO2~iR4LWZPJy}Y5)#!ibRJpZvqBZ)n@&SQ+cjr9!X ztvBVgsF%=VH`2iw zu}He-u6xEX6xBh=t=1ruWkBrLsT+#H`9FjOvW|{ondpjjMADyaD%CG1S7&$|;q}nv z!!N`AsPOtx_ES$RUmZ!WfC?Ph&!3KcH!rZjJOE(9yu}o?zQYor>{s@7==-6=Qh=5r zxWi&jhkl~6x4G|klcXPns;ML?N##*Pbe(cWnv$VpC>ctIlBeV;c}iZn2x#{S()REj z(rcB54ynJEpXP)SNZuiB=ML#84I)(^9X&xxEBt8(b8wEMhE{2F>Z-7YJd=>F*+{wG zic+uC`}9MAjO7_=$_!fySh0=P}>@c;nT8P|bp25v}{y4~uOS92!2 zfqu@iMOFSqdOK24f-SN9uh0v){wOJXz!>j6cu!BrN(2txg7xMR0jg;#zteJy1N);!wD|@IogI& zgPR?gj&kxVQV#{NM&l_5XTtxDoG|MY5V>&?U(Bl?5$!`0XV@s)gDxk2U13Z^XFi0O6wu{&8 z-OTwU)ejOTD1>j6(okBI416vWoH;bC!CCPG5#}KXQf@tvsN-X-3<*SJHvtzzM&|x7 z%LsRHY77>0tCPa(0ogV0p1Tw>i7)|A*e?Dg8b;7*p*jLJCkM;}zmPlkR zeIUC>I~xPK+`Lle(?Oa)08|!5x9qv;zmv6`8z!A8t%@JQ^k#`tN88U6gjDO4h=JYx z;n-><$@n`q7H|;}%Dc*DVa>1e$d^BYxfNIGYZRf-E2DPuBYNwPiPK-<5MNBuNAsC4 z$KehB4;PoKRMzP|LS%G+`~ycnSE8}m*J+nzO&;jtRO#d8vF$fTjtGmwEf4@7Sz{b| z@fUANvKEiQOak!Lr)D7betYNs3Q0l!pzM7V94G(?_^0y9lXfhBGG1`bziaQDXAN3< zN?O_IcV}x;%oYfv@d-|`^dTWw4V!&Xn?a+9SJJ+mk+zsPHgg@en1C20h9w$Z)%YU`(t=?!SQ5wtcmHa!3)%2Jrr0*BA zOB3`|Sh7+EASiE2{n!t1YV)@-(U=;v}Z_|FBY=i-uy%ckdWcI;D+4LtGwFsVm zNCH@ftfS7l3~@x$N((8CC!RNIq-2%Q>~c)5gU9SROB2JXgxaP^!0qz5@;sl5K+}JK$*o2g0L)wg5`F*t^RSYE}X8qKf?H2%L1Aqj*WVIflpxn`05_+uVZy zk2l95P`Eh}q3F#?X!!aX_WB(L0Vv=FfZa$+u(lzKrxuitl44cJAj3nl(-4;jJJk1t)O3{DP+bjCqbxQ0utA{vV7UWB6<@l7H#o?CXJgNeFt9x0Nj)L; zvU8>>wEIev7ro?VM;&w3HIdLw%XVDvEv>9=Z0+nF9G#q9T;1Ho5~)nCP^#3B21ZZ} zCrC=GqxB5S@q)p_=!u*HLP1&L{H7Sq=?=8;pZaH7`~sm&7PYu z)^E#adN@)^Crw7Pu(GjpDC6W(u0ka@4=*3TD%EP#s#C8)qk!O;gR8X6m*^R{@HObS z#M03VKl@;?I6Q$!B2%a|I)lk#bGSUdKqwMRq%yfesZwjSt%kVnwjcdq$Vi>uU^JO6 zR-4`7bh$lVpI^9cU$KB2h@p5iEk{3J&*$q2O6!fz;koHm&sX;}dg^JXX^ha_EC*)K zE=^uv{`>{*YLIz;dH&@M-`~&rc+3d)?f4M=<=RVwoud13*1KuVTr2YCCLx|NLgZ_< zdoS|tz9|W&mbb{4B|iu-6=)y+ASS z$kNG&1^k%*d2n!f2PNq1Afzmpqg(9rT8Kjge_fwWbo5jwqzsyd7cD+DBvy?51oJPYS}W&p45pGn`&Ziu4e7nu(WRDYs`m5DIZpeekv zwQ3~wEx;)C7plMDvE*BTDlp6Jr-64I#1aLI_|vD0Q0nQv;KBktP&NfIUT_Ez<%U#! z8I>em&84iILRIz9RFxqyqLVr%m!i6yQi3Y>y#NKQ$ry3`r`G}o$9q1N1_Yy^9S|ru zoBd!iED{-w(L`;IFhJa(fVj&Dq}3vtJE?lcI-8Oh^1!5s;Rtq^#KUT?rr$H ziis*Y7LDD8dS+`XtF(DTuOAtW#5D z<`f(jDQIb)a?p?q8+!$|5Y=^T&P>3zb54c|Suk>mN|dmop+prFFF+bsmB$eAjyeXL z{bZ|c{NDFK6Vg`a=+*VjM%sN|cCfN7^9?Mg;{wae_3Gr)`}*O^CDsC@zS^W3rqf|w zOe@_dtLf^Kiiq2D^$r=jo1}qmfr73X20hsp+)uR2%YnuL(#z(+W5anVM-avSq$&iz zt3c-joE&=VNFflJLA(Dug1hhn`!Xu-HQ-IV44hN$a z3(bnFbt*P zD`hCnurvbeBBhj}^oO6J)M2Q@Ff65%q10s=mQt2wDND0_6X?HR`|NY?d-G`^gq9r9 z%mT0tv5YW4E)`8=Y=qv`QHcVQOGCVF{-FqDl9vT2LK2by0RkbL1oDy%B#;D>FeR`9 z1dm6Jusa6!m(>EG;7F}8Lt`_(20PF@3grc{sY>md8B|NQ|#>zLaP83nOlG7Mi78 zpw8c}>>Qy5cEI2ql_#*L)WJV-s%C7;1#_{GJpAZcqk~%Bg2l0s>-(u{=|{Vd_Bc>_ zSqFsx4M%q;GG!{Qj13=1IhA2awoGdbUuV&K6}m48yT+G8jMAd*`NMzntxxVLc(ZlS zB&jT$@LM)hRE!Y92qR2q`HjEXTl>tm9tK%HAxIDrkxZ$3xHYhrp^OCk&AAwsD_j^8 zLaO+&Us~SG0OlZVpaw5475!`X`rB!3HEdJ}7^DG+u3XOF*t=y+>!7!{YhqEcfPeI^lI1pgmnXz(kSqg)QjiN) z)a(wLo4csbd03w9XCNepd&0E_VBL(*&Hxr90C1tAf5mY?2O0}Y8eTQy9s zm#=KNo({l!Ft=&|c)1%eLy;p!vWtf-55uq(^n1Ij7S(=@RTT zUtc7?DLOmE7O4;hAOabYN#a;67(~ZPkPyWXB^~n7@0=LM&o|LA0y-Vh(E%hvr_gIC z9Gyiv6pdn$5yhc+l$>h80>J#hSW|C`q6jT8{6sYXg(CWJ3@Ik7sQw9M`v5>3-=?@N z=}H2YEW3$>?M6*6BHk5(Jzu>ql>_5)yd->061e*{1BE|kJx}r5TT-|>1U>~Kp?k3Q z0iynC7vinipq@!gw?XJnng1t?Q9wT5oM;7!2uv-kLg~<^0b&wTa<4k>1eGvnL^$sPol7pe!pJO60*h2Pq_fF#n_ZrK1qu~;i$j@8 z_tbcoQ@!^!d7wqBHXrHqsn2zL;!Dr;`PzU%L%uO;+zl8akaa9c>3cX6%8GOEJiuZtn%3vC{kh$rwUbE$D6$(yDOWK zP0kL=T9q}F9h4oE`6hGfO7dNikx9!W8jc$_8*&T+eYd_sPtd*5ZP$(HXgZ=UP`g4q zD3Oz)4bd#nAndeen);>sCw0C$O?6PUS(Tz zQe0I0FN8{ig1a#pOEZv+s`OXsH`BjLXQmV7TjgIZRkC-o`zp3X)*_3PO-sv7Yy2fH z{a5;1NEYvrIwdb9*Ceonok?tyc&m7+c1AAdh%Souh~y%Mh%8(x?8&GS{35s}kO(-R zasF}so{;=di1?AIS5gn8QhERK26>Gs?^2$pf0a^~Vpso^{3!WyazS!Natik=?m@1T zYvpQ^zE3*;V?4>41e2DyBXLDyN+RPOPZ&w)4#`R^XK7bBOE}#e4ktYRV*KHFbG#~E z5O+K7o4B)a=D35OqOo^lFU01@ir5#~hd&Z*20JA2A*=-~B#k8`wV%bT&mFHrg#P6 z*_U-mW&AtKX48yhOxw~Ct3neT`h=hM8aL{1O{!ZJBGBGgvyGU97Ui>VEDbki_z1}r z@@a@7{{8w+`-+E}?{Y#)P{Y;^Mg@4dgbl9ms(NY(); zqMHv|2rkOq#SpZ7tcfqJb0s2BHG*4f&?S+b)Ay#Lj2h{TC)OLsdSl+xwAJIo$Wa8n z=VJAVFfObt_oa;Q7rD>fLd^?&&Fl0jeNs=paBBFI8aah);TX- z;W{>M$O+;?s4q-4@_>+8X%FutY7%Ao?Y>;r z9P@7MpkMqx^J4@5;^^10%&2^PZrjH^m60{vIELL(KtK46^+yK(;Aq#wWE(Ry*jZXD zvunC>#7z$tcbE=5r*U6%!&5r+Ib^V*6+UnXPwvA*Ep3jD?az+yJwuTVNt=GZUhe>n zyRqnor`hitd;?Ir&owH8pQn9Xe;Fa4mXh=1A_6gBG2K&48-C{f)1Nn(v-+epDw|`z z@#9v7O!nHU^kp4g~16S73|^={AZ+Ji1`?x~_r-eYj4rAr~HCIA!%(j3lE3gSTIUb{u$e zfo4vh`_Ma`p`{KFi8mD7q0gBbqC?BG(pnb&jpRPYHw?Pcdr{wXC4v7v2r|Wqq7aDv z;b52Ezc4bszfz5(Gr#wEShiW>qu~S_+Olx{ecKZB-s||vp9FxN+$&ZinQqXR_&wWI zySbcYn`=0@DW_dw3lCL$QoD?}W}Yg&dki*=!4+LN8MXr8$(zepDb17#Yg zSX)k-`Yk3=X|45V;Ks3O^r~P0@EW{u%yrW>VNIY2`%GS=2vDs1@Ci03;0Uwna1A6X z&5^#uD~A!2%jfR^9-|)7WipKlWs>qT;DI7o=nOV|4lC4khf6b2sV?>WgwUg) zAGC-OE@YML*}9#{NL1U@^+rRCHSijeJb)4h%$b4fYVm z6qDm_kPU5YOu6UcG^N>GZ-IzOq`wUcT7sf^S_STJCXDq{RBTsN(YLOR4L0P#-zZYF zoV#Kq6*0cV<(Q)iRN>I#=yOwzKtZ{(kv_2o`?88Zk#D@X%pcp*&Mz|VTy|n%ZX=m~ zz&FdN3^u|lR#ySJQ%EIGbjH$#yx5g=I_Xk(0_8HFkefvu4EQHn|c3JON;QaxbLR&Q{%UjxaOFUJaFt4WoFnin5ABa_fVcPhP zhQXN;wm|Pjvn<)nQaZDnJ7D*%d*q&ZQW&U+v@4D_kDJn!H|+hhQZ>=-gY+OBWfk~$ ziN_^F^{pyE>A+p_&tigL*FOdLFkA8KG9Vj^NE>6i)bV^tGSv7oWInk;^Qk$%wo%Od}d z%Y-(n$P-DI=f1>^#GmC-G=#$0GgBUfCYgYj=;!Yo*mr^#7~tvvQpf$GZm5?y@R!?w z@*DjqQYIJK1pJD=02h8-M4`~=h1sZF1p8*Saa>;@0o$qwq!nZu=oxxmMxg}gsrGaw z9trsgke@gslE8y4w;pVA|K&6M8t0=K&^xI#6Yv;a4JvtDL;)J^t|-0t0)tjNJx|oVk$(Omxiz{Dig*x-c%H zkhoRb8kLh7KTpT?PVrrh8YJzmSfu-C)xLPa_mMcX7_g1$b8Vw|ESTH__%>HJ4M~KP zHFOuvxR-@|7m08xZG~l4TFxS_ZD3FOhSW9fBjR~*f86*5gys0T0(2XV$;Y4bEyNEb zGLfUWmQm2-3iE+|Od+%gG7U6|+MPo^0h-Wy%3y;E{t=;Ac4m!gW5FEksP}ubXOM#t3(ya!Ek5Yw?-6uJWE!rcz{St5{px>SDXJ*1pa{+3d80zQrZa>j3^1Wr1pX=Yhs{ zSGFPreVlJ(v-WtH7;?gl+$nqUwPAQ=DZe(XyOluq7u93CgQDZM;4G% zT(&gBb25Q0X}LtOAqu{Pd|6h^GL4i^VF;BXMpTGgWB-6e-tPQN`W$7k_v83;^Li6MlIU62!R5n-(Hyi4HJ$)>nMbQ1XloFW(J(h1G`Pq4uPpMYbM z)mU#NIguEAZmhm3<}mOHRHB9e4&#gBskd+FQ{+()t?bdKnkyRYLHJX!!PkgF54edv z_RFxaxeG@w{dJb(CdLO?ffK=W47$$?0UrZ1O@-giidkv3NAPlVuk=lSabR6Q2#Rfk zu>_e0Is&cFbd3NVR;^Ov=?otN9TsOq679iY;YM@Reb?R?HGT4y+4DF0zzd=3>4?f< zy|{o7j#oQVmIr7bGJ_`@ycc9nauiGoWLzQ>IU>&)wc3%`GylFx5T}cb^fA&&A4TxT zAUPU^v|Ycm_@ALDP|j+6;6W4OSW5Ac$@46x{K&ACX>8SF+hDE-O{omHl$#o#M$^!`rt|5mT&J5%eLFT40q^!L(hI!Uh{C zcsmqRG53m*B-eadFzJX#+BU=I;B@xaFC$bOl_Hy&I6$vNHPCW_$wuHY3 zC|)-3W=Mxb<}0KRU}5chcEvnZATt(Op-tEsFjyFK0R;p#CrhCPXd~imFWI~S5+p}E zhBKUqMJSPpaYtg3QFEM8-6aP;e+W2`D~(Yk1rhEVixz>W9{~XCu83B?f`PqWv#>Sewmq{czC8nJ*qCv=JaHey^ zx`E|x)%#DR03VV!;|3qOyfpAeB!3$Gte~lovO~!?mQd zddJ05gcVt`kO`Gyu;W*R+Zlj+hvZEmRPt(84H=yJomETo;7@p~i09$deAUWyB%f-0 zyOp5*W38$MIK?`~BR_nrXAJh^6g;IX&iPqsg|C=BF)e2?);3E|`tQ)oR?XU$TVC>)(b{s#~NkU{vsz%B4<6I7I@vTYJO&s z>0I@Xt-@TVmb(Q`gR`e&j@ib$kzZm3yJs$+99FRv+jUBw(?R=MpN&Y^1!B@W5dzN- zw$+()bz~5PL9FXd=Ff0(vkw4-}T*ieRgCP!Ew|U-D@?Uabb;4 zO@s0uYTEnOlx?79b@eCMAc31;IS);LqLNkOOKj3u#qfEGHOPXcb&N)ha9()2%#E-_ zN~erb6%ls+=gk=1(|v>XUM7f^sS6Bos!zaEj#d@*Hl@tx`U*dNsntlyxZSr?(~Y4I z$U!}D?v#qyBB}-RWXe&1>XgkLiKoD|z$zv4`O5nNz`{!Q#?|KO0(^-{Kda75WVlU) zZVcgj;*dCKM3rD>kZf6@fvS~7BvhT*XGT?rOm1Ne5pX5Gi!zZDmA-BMd4lj+bzA0F z;s07z1L0fxs39OXi^@SeVX)j=8I>z-P~zY0T#k%ezH}02LQidYds1>&sGyX+AFex+(-;85|_ zA@=EI9$>$+^&n7M>#lV*kyWd@Gg)I*P-w zM1oDxC|oF_)HXVQV2KMy9s${mH(34Wi6WaY9}FL&XTl%ugDjZ1+u9~|o&I$qU%@*V z4_IqhOZ5)`XyvKdXhcycAe+epbW!tpCEg-93N7`a1*?tkq`t%^U=&_4T%Np)PMwn3 z!7Mw?k`{Tc*XW>q`p1XBdPW#1ZO<#Z(k9!nXufm(s0%_h_+xiVC$5qA#BO18CkM63 z^qIaP%ij8TO(VSBVSMGbXdXCdip7NZqDW-zXmXtxbWStpk$BvE4vmE{7E?r0V*-m$ z4e8(WshMsp)wQe9D0?l66)2!^WGrBtk|vG9HC?F$7#s#Vdzem1;!$xp8o`euB~r}Y zQT}y;032fV9nH6{o<52{uT@@81kE&P=r>4%)QBK+^csnC1V8D8cDAp(?FqUT65A)fR1T1R*6rX9D<}+oDoS$HUE!wX&`jL1&;Qg>=QPDDDJX8Ri6675h$%ZiaJY@`%VshJHq5qTzgxWUEFg%p5@y|aHc;OJ<6AM1e@i>L436|#Be>?!#p)Ou?x{f$e_ z*;Yf9pXG=tzT9a{!2d(1QMEi4x|tFhanutRLEv#P7wS01Uft4ZoW~?QP`Yi=6>V8( zGp>Y`>!)Im!K4VEYrD{9%0I2H9K>)cAPzj%D}y;3%ydL%)K{tG)wmCF92#Q7<~?#| zgT+8kDKV+}#$L$%XGQeNnN&SJU1L{9-Lr^|k%qK_yIc0{iq&mjwQEc>80Xc}Mt-j{ z4c1&S()L4>e*d%L?aaNT7UoI-H6?NW_*K`AzEBa76E$X_&j0cufnza)JZb<8YykiO3cz&$HvrH9fXER5 zxNqB=U^6K1-g_Hh8x$D@m%U7XED%o6k0;T>X_2oul_q@` zegkkG0C?l20?+66wXU_*4P3x8^79=4fXPL81Acx@JK!0}nLG~`?zMxQf9~$XfMq}c zr~#Nv0|4}bD<68!n~k1n6$36(?PKq8D;RBsF8p8X`|7Myp;vE}Zvbk71_Xnx zY-2kdJ8|v8vm4(Y6ag`bAX10Pyeh;op%fbZK~rWxOAt8WG>vc(E{JlG&K196bd`yj zMT%5utkPx5lI=D-SIBTb)8S{{vCIm;uqq1LhHfD|-0@KY;a?Mq-art-Q0%SvP!M85 zZ93q0a&;)>Q0Dh&U`Xir;L8@6yu{BAY_IV5vH&dh3bc=q$bOp~5bOxKqmDb|hEtSI zdX0)&m@~A_iF95Jy-N(vdR>BR;v|XZA<-=vZnDX7-5U-{P7P{;54C&f18rI%(7IOv z0HCJ;0I>}KM*#jP0Lcr0&oKbv9RL6XcpVlyu>F`dLFgl^)$TIPVScB5xU1Qh0?oj5 zDl)Zxe5;i9MM8&!2j!4kn@Uq?u^F8pJ_1OmrP8zoP!6TjSXC-7nf@h2M;s`~$F2f6B}vJ zn(RY>N?T=ZG!eB*m^zozX`xxBtkhYoP2ze0R8zLX{r0mBq!R~=6hlTd%!X`%E!!z` zCZ?CB3aJiNNU70;)|knxj%=kjrds=1zt*vIZEvWRjYOB_PN739UE!cHij~`2mdT(V z*mS`ayTYzJ#B95>|Bcqe-g}R&+_FG5lW2&ErdkI*uy1k z(<%2o0B7rO;~C;{VMP=# zOiq!wZ={X4+QnR!CtW&*mpDy*nnr{pW@?HIPu(7C?i($XgwdE=#0Ob|tZI#6F`ctP;Caw>b_I!o2=bAm`v?j+7)q^8Bpe3CY-dZFjG6hYQ&Y*w6`M{FvWtC^@> zAD`tfT)u!hkPMkjtbnHqGtBVTO{?7!V5j4}4GVki-eoUVQ-p*eCCy{QgJdXhF^7`a z2tu91k=5YbN#0>FT-+O=oFWTjP)<6lr~7EabBc|UJcpp;t?BhfBfAKlt|gRn@JyUF zW;_*}>g3zHT4)+8iQS&XAqNtS5qeH9Y0%A+ePA)zy5rTeREg6hCXRCB)eR-m!C3N) z*+@l)Q3etu=N=aIoY4}NJpr!DjU`a|frho))q}>9DGb!9RYbRIwPr~q5134M&(xi~ zqOv%zWMgntpXb5+2o~d6itU4a+|2l}!X?Q6(m@h!12WE<8m>5E|@n=L|%lMDq#(a)}kZN!m@^*L=TdLn?7t)x*k& zir>=wx{8>zbtL))BAy!-Z2BPM8IGZNa<9Q6d|y%d>v8M=yX{ zO6dsex@s{IG=xH(TC*J~!P>Dwo|H`!&rb?TWFO@I3u7nO7E8?lkQO&-ZKb+kQ-`-U z{}x}DV5otB5auc=iUmDWv{d+w-86c!vAnp-v+elFrnNq4iwByuz0o~ zn4vU#$?Z5H>TsH_VFCu~YbiFi70>6yB8a?F)DIA|?~{bhwRxm)^hAq*YBR%jxP z*Xp>zu;(Vopn|j9?#r5|If$VL;>o_U2>$C5c|aqN)dwwwJl<%WQ4~hFDVsf;WjKsx z-zBk-D5Zo_c?O8Ea|&~&&{*+25Ai%leD)*Zy3Yl-WU~#}Su$KABX$U`?jLF(AUL^1 z*m{brBoKNsFX9Hu?K}*Y@_#c<`KlpGEEeF%BGc~YRLF5R@rNOawc%8WDp~D zr9yGe0IBA6p8LtzutZ*;fEj^GgSzbCF0((<^O_7bhLPu#14!^WLe*`I3|i03h8)Y*P?Peg<NPfu1{`qY#%|- zOZ2ySqVW9wd+HuT_i_bxt_2n8=+k`uODS&^j0%uUq8pkYAqT|@KT_1Ew&44Y+#OR> zdzAbXlLD@e*(+08mi1bQ2vAv2*BmM?Ni=|370)UiWi=|Vp1Y&c2>T_{5LRIo0uy@A zKuRz$UP8;Ak^%zdm0|I+EgUUtIUuZix`xISEYz`_2>T+V!oo^GiJI-i^$J0D0zi4LqPb`W@w*&q;~YEUPN|mlo^sOT`iy zkh_lD_W16-33iqB%_$)Vh0ultb;(@K4zt1@-OlNo!5W96T)1flO>UZ#6oNT1)X6$YQaK@CJ35Bf&PznwD9NG)(%o3nBCfBj7KLV?sGuj^ z@1Q88#3!!o(@7o%E@@f_`uyQKeVq~^Wl@y(PwH$kJ*b7 z%)3le;-Q!4P8X{eY%3D`jk-Gh$^x&fZr!t1t-LFS#ib3mu9P>Wp{Y>e&L+7xbtloW z_*JmN-i1k0!5u8p2iam}Av)V(p*pHz|#TvWu= zkb{bZ@GRixF%ef#5Orgu6kb6cdK*UrNtx6X&Px~6*mdoM#LD`>N?&}TKnq?~PNEkn zveZFf5nKT59^@67sl$A&boKU~lejlHI)9z1JJ&^-Uf`QIYh!2v_EL-lt=M zzsMudIBCebHGK8*#{M>`E;TjN&C&JE1HZ*W8T4Jm81{d=tGu;LOCF=BS|7F0Exum- z4@ikILqB=l)YVVxHt~kWUuO4YcOjm0;(p7;b8`1nT|uK?Xe}38^v;6QSR36{EVZgv z=8VTX*4=#9lP$^h6Y^v7eo@SobCB&umVB*PLR8F?-711%T?oUS;3> zHx*y(TIWW!j`tvTq*_zcNjG)%wn#spo{Ksv8fV7hV6mb$V)*vOP4PG@aFgB4y1o~m z?>hYzX%gHel$Ncpo2$EDcz{T+=7sFgnQZ6oeKFpHww;z8JbHmkvFuolai8Op$h-#1dM{#?;$c+JI`M#@cA2>%>?jdmw$<0Me5K^<-}fu$U1i zdYY3}>LhsQWocB0DRkD-01hs4;RFpazhC_wxO&cuxtEXj!vlMt`La9l#ZTKEUl z(H3Xwf_y#EWhMp7Yc?e}AVXBW|B$^D+Pq4h5o!zXf&gsN^is$H#Liou8R6=dXi#mK ziSF?VE=&2POpK?2(mDitt1i<;8&jG*UA$9nDHL5PlyuX_7kfc&SS`kev9P-L0l7UF#;l(ZvfXVDCdXYM-_)5`X>Du;pEr04V$S-n_ za;c(Orxb9!6qT1tlFjVz?y?hvJD2HB>CkdNN0(>=tr>t7cIX!yg<>=P*6xhbxavt? zba6`;a9J)Dv1199qy&U@JmoQtb_Fi!Oq6mycY@pKcVD9=8lo~*X3F3GtFI_ZW7*YY zl}e1}TGEm9*K;~%#FZ8pHe=iX;gS*{omW`ks6~Du>rEu`E{H}i>Z)AhK<6(jm8cF$ z$d2LAGAvgR#Lc+;kaBJkKTdDF*yd#|z92!z)8E~dLL*HzI=!kCwVQNZHs$x94NHa6 z1qZX>Mt+HrE~#!4lPF)5OPNvJJ)yW4nHTs^<>L&UN{7WfG{c&;eJ@0}k8gXX4DyJ> zK!rcU9L{*s#=W~|bnexaPn9m3Aw!PU)U_|_54nDsqd@s9q?S)YNx{d!okBUjb3w{c z1x6f$3=7c2a~z!i6?m*Kjc6*x&7T*>ktBLN;QG-Lole1e8OnAQeP+Wef4Cv1{4OKp z`)f{jwzcZ#%gTu@G!ffn%X&%}AKr{5SA)*N^y-za_amc*a? ze0(&GW$o|9dCMLHBPg)_4EwBXSUFEw%wg}`vH=J{OXs#j$L==WZ09tqyfFMt6=|H? z3==1}0F{kzT(i=hePYo+T=KghxB96_kFfW=*f@7;qAF@HBm{3dTBDm4dAC3GbS0!~ z-kxR^3L~V&3^zm-x2p}xO34dr^kDc*hyM|1?*Hfi7cH0a5@m|_haQOlmGF-(n#pd= zf%EDEF6v6`XSBc^qGe`IG@yaWorL;5v(GJq+{@_K_7EDvXC3a79WEjuqEbGf`zG(# zH&o&5PO;t+n-U0T$1!u)Y}A)}QZt>k^M`zE&(WmBiu2~P=zPj zU-U{8`VTTfBVhU_FA{xOQRh=2A2)?NMEK`B5hIvPKcV68$Rj-j^thkP zyx?^IVDsS5)>j0$kb8OVf6EB&?P#~bJ#=$p7opZam?RSFF5N^SY88sm-*!F?aDnX=ga&?m_ImnJGQi=)@tle#j46=mS@+4K@Ke|#u>;Ml} z>YPm=)`oc*`L5`lZh^p^dIRC5_aEW&Kli1kBS*o`n4hUGzwG_9>%DA=AkNEw10G7R z-!+fG@C@z~vSX2?a(%Kri_2xMkDERNn;TB3-xYOkjL~LJ(4C`NVs*C=O zOI%s-ErWKiKwMdOZ%RLH|H!NqCsd);XjOJ~i#V$-AuN5UO{kam`HBT?fZ?0;Qx*-> z)p+n_C|Fz4kg6M)wL5{*E>a7dJxpN-$UBsKIL>@FNLMC|t3bg#DO#m>dW5?8koa=6 zasZ66xIs@k-Sql=m|zNtoxTY^PbKjUVPt|I{}O$iSuRX)qLgitLYpk}*Vftr2fZ+f zo-x)S&`J>>N6-M?tG!M5IsWcGiAc?x>!3=_R14MUL7O({iko=4`uav(vA_N$pLeIQ z=1-|L%t|#jV{am9Of5hia_FF=FtSGcf zTjAz|{p!hij9ZN9=7^36^YvpldlM!>a@?eg`5#EJ5LH{w!i)ZE4F3-hplPZ1Hm7v| z*KmGvB;q{=@&I1vLDlGccmg{XIET`Y=3R)$6nxfobkXao#VreUUsN99WZ6C&`~sYd z4;j5W-|(;hgV3@MaI60vpk0j%0Zgc^`L|g_-!5WX^KXfe4}6QtGkZhJs4LL0thA6X z)~JkVRbwQs&TnVUCDhIO7p*Eb&S*%UKq$j~6Uix;e3aq-W1t(AuFOR#TQ^o@Ws0#z z*gP|WW~xDJ3av1ELQM$D{lmakDf2Meun%q!8ccl=Gn3M4QE;hQ$-c}d1m}|0Oe>hl zFcBKWGik%%Qxu{{~)|?_P;1qiBXf6>%}|6 zR&0{ZDNMCAr2Ock4Ev6yBv15FhLOtvpmb&GE>ngj{r=R|*Q1O5oOj9mHwbkEdCX7# zZEX*+cu_s*&}cv)sbslTmc=ZT#*}HkTrd8mQLy~Jh5Euj@cSmOKC|B?t6G{^i_)M~ zs)}k+2JOxJ3JX@BO*HLM;L5xlVR7&IeHpkiUwmqQqJg#;4Wl!28rx-QE{RFqQRRqY zi;e2l9bz?jM^`G0bE06%FdEi7n}j-T6wjYVp%vzu&MRV0{`8P&Yn5E9Qctf3p`c1OZqVa+(f0v-xIBWOrHAg8@Ci-w?eV3DY$NKSQzMZD@ z-)18Zk?I&FXmwGx){@(RFOt;xMaAAD+~iCBLI;R~yl45UU63bAeP}o21tEuszU8S8 zof#u{AYYL=0HxG98w47_^iBFRM$J2a9J`9|rjAtn?1=dpn61`wY_8_$F37{O$C}R1 z-c9g;5Id^|lS$?IkHsgl^y{xO{_j7Qz)#Lb!^*8q@P;gI81?IH<%S~V23b;A*eRKE z1EAYkT?7ghJ*!AXwy7LU8R3mYMX}{5pLe4_I4**8N<+O{_D)hQ5@(~hKrQjAvEFdu z_f~@elnTyAYvN{Lw8eQU_Jle#SnH&Y#WL9Cdn#>4$uiU4**GCsfu@z?aN4=WIe>_y^;Ze^7cjY$uO9<(vQk zhnP>g+yi*uM;f&eJs&O2p>nV1Ia*aTy;!3(qEwBfY7bMYCX!Pw^*8+s2vY5=HbPzW z3tYjR!kof9H{My>Kd0r36yB2-kpnzJl~p=|_5O(c>;$el!^l{vL=|I=I&>z+*lMe0 zmy}t9H2xXIOm@O)lkAjDgDS&XvM^cL+^)iU(0_BH_?@Ua2>-M7fa#b2)MN9gCK%SfFz!*89 zD+!*JVJmwaRU5pt`}wO(0{q8i{EG=~eqnyguH@vYmVmEcnKqP4SMC;o1I4VK6qBiW z8Zvf!O-^433*^&S$w6jpfRz420lFXuQ8!v`uG+)uoo>ZwXV}P^xiwZ0 z^fYQPXe52Gctf~h_Gs!3_^u=e;1H#XsuOjIV<{ zteESw!~JGKMgg!ihC0!@(27M~@Sn^oc|sG$;1hVuC#a*SJoQFRG$+j@j;=(j&^nW= zEluhY=jet;#5!@1M~415g65j)DT2!%bLSUgYiT9;kK5gdD?}>`N^@v!sm^$H-PL67 zg96oG?;~Jfi0ABIWGM6`i|YkiQKJ=4NEf}36l_?iwlyScwZ+MCwuKw>9ERxm;^ri4 zqZoAK^748zDcB~Xt353%t5TleMrR@d#QP&v&`!r+cZt}fThk@dfn6&w*#jJC$blv8S9@jH3U_SsUj-iy&oOINQ*O-h-! zP!~pZ>BANt_fdt4qTy*&psVmR<(XpQ%wY^>+AANg&VDz zeHyKr-I!@u3{tyE{yXIcMI%bZtHx*|-C3C%NL_Ox<~H%yY=~5?GVz=os7k=w~0+f@e(bB@R{E+@#~5T^txc3+Hi}p&MAoD6MX<`f_(g# zUugJs#YF~fkXEC=$ynDyXYnCKD>21Kn~u=eFGMA^wtq=a;_$0=lANLhDVXaj((QbpPt%wPK(*l$d3Kd>|+EOaEWs1kVfP6kx_MXG^(PKcxv`+bpu*czb^Z1E`KFIk6cU+O5_63-bgtX&!ycW{5LYgv5!R+nSb zsb7f*n}`5S`$`KDSzp`x0z%T}uJt=-A%twJ>;02=Mb*9%%oo=U)ZrYPZ0?_Nj+r)h z8P2h)ZomZ$uo*l&be7%i9KbaIiYA(Ntr++RLbks4{0kZ@zWPQFy=YAS#vGHF6`2LB z2xdYcrD(Xeh%R!`d%5<-_#HK~Hc1*1Eu zf@%e~V0(xu+3qmbmO`jaG*GZ;%Xm>Zb`bJxyhiE5{)Jp(N{GtY!B{_pN-{#eBJM;iZnaioQu@cO(p!~VW{k_U z$6_|0E!=*0KP}THznm(!#P6>yT*irCR_NGN5EsAM;Tq?}Z*e)6ik+Q$_m|2uQ*|{d z!$Zl#D{Gei8ogl8dS+A_wGpZ|!etf0b2vxS ztj{yjGlhuvqEeY7^o)kU=bEs#o?(A)qbnPx2<3&tQ~-@^GJZwDE9ye}!0jOST#aPB z`P}!g3%@#dI4_V@y(@pC_Lt1=2&~Gh#J2DRxbX|H(wm5YA~E{WaXR+ClUFQ~w~K~C z?+|uk^rL1vwhJ(e4kXK(&yi}5@V>;rQ|k$%4QvkD0V5jR<)m6Ed#2sGxB7X7s;N_9 zxK0Ht4TNcmerBi4rTyj)$Rkp&>hg+7Upi7}LCu?Z3#PV>c3q*5BX->_H{i4%LZx|8 z9tH9`#z`hED~aA%cg((55c1<#b?;w*Bbo-UY6xxyb=ypPt!(RNU{c-Qzv5!{4EQ8S zbw~X%ZhY}ROb{vW{xxE!XrSQc*>fMould@!5gcE6jQe$YikTKQ*aKJQt^#oL4 z1oHTT4+ZylhY#|A(qW}bDCO#C2w$b33kcu4f%W(H_f78J*T?i>v9ZeVc0F!Mr$jT- z5vIx{=n5Qc&18tWp*LIU?tgqlA08X8j2P16M>?eHk&XxrCsbQ&XK7DhH17FtbLdNK zW@Y|eI(=i61-88dS4PSG&fu~}oZX)fx6`f%S}0jwj2V|dx3M^w{M!t2Ur}&TJvQH; z_a8g@izzE5%Y(BHD+_Bya3Hym^>U@z){toxR(ZuH`p?X(7bw;7QwW4?V-jkc2(>^O zj4!#5FL}G}Y59tVUDXwRTO4`l5ac^F>yZCpv%ol_v#yv|-&>s9IDb{2HgDDZhQQei zDu|G0sayT4uV~XvrbD!uG?K~m87*c&H^B=aFzpZ>REkz23CN+yL*0}lk%N(kcNI1cB)!AtY$(c9#?N|Ou$D}! zi9s9cvm+N3W~t+o}gR(y%Ix=1&E zxd~%Bn+R^#ZU$q-1$i5ff#ay6{7Sq7UxHGZZBNi$B#WarEvtl+CbuNTm*_j3uGrW6W0aO`LrvtoV%Hh{VL85})(G|-GCi>smSVE8xroeI951av zkt%XLz5faYKdyDw=K=jZNhph-IsqGX|0^VAhnnnbZM&5*+k!speSecQ%`2*jDy_*0 z(9R>DWJYoGbEH(q9I^?@cC5FpQ!};%o!`QM`!G2JC5`FMBd^}UaKM|dR$jORThD(F z2ySDYjN5?Lhpoiua~ry4MpG1Ga9-5hFjuDG$(>wzKK0`ZMWr2*wI0`pN7wR? zWW@||$wRY0IyAvY(Ad-yf*Wvjz#|*dFCKN$n8&pxSB4*3erWkb4-cJ&wOsa3dWxMskRvgnGHId9-VdW0D#VCa&+`IAa$dg-Hsz% zR&&~UG~ad(4uiu+Vu<+hARV^dSI70ov@L#o70KUI7QXEG{~M5Hee_xG*R^M7zc@-n zj*xnf*t(dfZ442cyCSMvvMsm_$}qq<7*|<F(?l-%bGu^##|*V2EWgJrKqyzw2ZVJ14RjOdsF@FNj(YE+p98DrUwqdAXQ^uF9ZPMRo$8DU^6ZE# zKA>ztK921A27prK&}x>-7Il#xozY^9dt9 zO^c+%@i-2a!;iwe87^csC4OJbmVK8s$M25;z3nSUiO7xGUJit`?l15qOEAF`0oylP zPA4Vqp)VPG{w?IYdhe+b|a`#_@+;!$B#qWt3(;}rBN!+}8#8HP_e`r^#OXtMGKnP-p2_LsQ?E}d7)6M4> zBD4}sZ-O|x83*GE2zk=xkik<#1ctbf!SajbGY+x|?A5oPE2(wX*mIC}H72(8%f7zD zuZbxJ0P++AKq_Po+y>44tml5y0OyP4RRXul^EFf8AA>=lrGnMm?hU^G8^+lKXlG-#EW z61Q475kpI&s$hlOb8)H7J3?~0}<^@0NsE{$g{&cS_Ar)ckusE077NSa0+l}Z z!{12V|9|n}i+)RgZZmEw;&{DJBcKiX&6#Ol&%Y?p%IJLVThD!vr)T`dMN$*U347_8 zYjYuiP-clzBd;MMp*kdY0*SMSp^e_P%(ODe&2?CnIF|Y2hXMl;ns`+$X0eWa$gG3N z3t2XodtH$sgE?_nQvea`&ME_wb$PpBe%F#7hVFgTcN2``GfhDZwTYN&N{k*06aff)qg7W;<><+W)^44u>*~#|94K$`pG9%+d3T^OjU!E~Rsgvc)Y$|;&htFDdt=vJOKGhAoHtj3T z*06VchuFz9mry6oSLT_u)f|Ppy3A?WUg%mqj4vmvFG}8IghFGlsw6Dl4M>~_Y%#FX zHHLL=mzEVwjA#0#Rm@~v;(z~oCT;%Ov?|K6@Qo+aR_Rdj?PIHDIY^|{0$aU%y+fZ7 z7jmJj05*D+5ND;gB+rg6~L5;4Ozji~&FU7%!f*-viA`gj(tG4=^y>u#U zzCmXM!SD?notA=SsyPX&d)fACoXTd^*xjdsyalDB3-U+7+nG1IXlN8{U9fSq1sQFH z4S5DIr^ug8Z?mf8vUJs8YjEOcU6ZDrnWZ-_O?n1=JU=?MP!)L@4 z1jCi%KyC|Ye=SQ_wGCL+GP%6Yu`O+RD*P;+H0w;{%(5)$0T5Zqo@L0MOjuYNW#jtg z(PII=43P7pJ|5aQgT8?A_20^m{&l6(*bo2!2nv`R1(un_57^C4>H0}}fIZI+mAR?X zO=f4*g%fg5yW%S}k=(^y*Hp~4z(xTD6i`4JWt35N9SZxzSL(h+(tK!ugA>Y)mU9J;BySDa&IlSyydSWQA*U7Mf{x%@?q(*XcH(YU8NPp*ix&=Ptmo`o^iJ_g%IjY# z<@+G$J}Lxfm${w=dBehPmErqaa}?{EHH>$ORr;ZLy<(O1tt=`%t17#fsFM3Gxy3Q5 z%I%mh#WA0^Er~!k(x|968)~ZT#oO7Uf)A!IP|u2DmUcA@d9!t9RWz!KRo7n{Z}oL! z&44s-1}Z9VD(Zc2&3kiQ*MUz_cg=<7f5jm;bZ$(Am*&1b zx5xhZO!-#;;FJspxYm7hLGUK&AO>H={bd2=I<7LS^~B)ib4-o>SO0atT{cJXWQ z*d@FzCU)?<(g-#p3gu33XRAhvKPV*FIK&5d)4NV_9B~%ieyKfT)8Q@a+A(4810M9g z8Xng{hU6N&#HM3Mn|6HEt!F;u%`J3%?GLnF>H1~0_qQkv0nMn0=;nmLyD_4xmQDo2 zNBJ(l$myPwt=ctLdA4w)!yo@!Ap*rjuN8YNAN$tE*9z2@1mw|7%)u!eA2^;1DT4CQ zYCZkP%kPjcD!)`Kx@++9p`7MarqevDtn0oljz=|0z3t4YbU|ORykl1ioxmRY`|A0K zjLn@QoZlr**DtAmP5}YHQ{C2Vd2Pjz!R*NxT>rdML20+z&3AAtOSpJLDYWqSHcvNY zkNhp{-uhECs~zyNZxf#BwgG+XJ79I2&7g_+kNsG#qW44;JSx4r=4+mml@^14ft(h{ z1|0o8QIF0Ofe@pgdLl{j9^(n8_jrqYuZ;6;FYsTC^^{me)Pn%PC&=E#go|a{<-deX zCuRYF?;m!Z#n~TMfB!3}?OD@rpC+Jz0RTY2PmlNT!o}(*&zR!pvJc&}0xV+T6afQ#!(l}1 zi~YWZbUVaJ=y*sc4Yc1apvEYonV8tB<$dx)BGb{87W2Me`yJr<58xfAf}>m#wn3gp zDhewX17`8)&0nHdFc~t+M+!U5`%KCVEYhqfR6YE>eoL}dJ;l2D*AweokUhbWAys*G zFOqJXzsr`qVMP??u|z@72T-Kn*58%9QG>{lReAI0n)xvf=D5{;hx{5IvLED7mG8E! zcka+D%Hn!v-#PsA1Dmh;-9Ls)a$h&M4g+ij0P=X{^z8a_`?NtpVLFeBgG8oXT#zUQ zY~JrmMr~|*n4&e<7D3`FDo1O36Wit{e}7^Ld87O@#e&^hmhO^zyKVCw*F0}1#oK#qhI+cUuNu7l zBgv3%)Y@8;->vxbUPs4E|FhPq?c=GsQ|=v4QTQ3x&X8T zv}=poV3j6*))9Bae9EIig=S7~0GeUf|_h#`+FbsB|h(4S!OP zEg1v-*HiAH(}f1&{l^F}09$b&Kw%32JdRPW(MUn47GUoRck{RjNc+BujN&ifpgOLYpiKhdt}&nc=pmoH41a zv#q3V%5;6KeNi~ANXZjnGR1pFW8#9FGVUJ~MvP~I3Z=GCO#$I!KJQW>fz}d4#MmFDyj3%)iIO3`6QyJ00?~@41bZ}Ly6i|*)LF% z1AZcstlx8gb&%L05(EBb(BEtL*zqGQ%MW%M>-t!KZ5K2=xM~aQj9uIp;MLq z+esRNH?}NIhIB4xguCgiIT397FmKhXv2LyJWXthJro(L)5?Eu%2Q!+T-W_kslk2`; z`=d)17+ei9%;Ko1`DH6~`dFA}{;bO7pSqy$2dSR$3ta)namqSk12dV|qqwpd+lb~ks2haXSB{`l)3B^5OdEnU;S z3^H5blwe;2Rs{{;3oq?x=%OuGZaZa+h4|$Z1J#hhI#WK`{UMnvGZhP~Jo#+w910XF zQmjO&Im$Sdt5B&*wHmeRxYTQC?{5LmxK>A-fp0@Mzn+!@|K&lUF<2a)KqQeVR2rSZ zWU)D19$z37i6v5*T%lB{TS9HI33p7o>2CIDv^u@PXfj)@HoL>=a(g5;O0PvrgeBd) z^7Fr+*Mmiw^no=#AK1T{e&1aXtkUJh#+9fTxQtd_|eQ-NxX&=Jdt--bFf1c;hx3C zStI3XvddBP?O9FK$=Q+6k$PG7{3uG3?g%Jgh5;M7ViH$82JbMEiP!236$va?ru!VN z{oF0!ia_G-n)#FhY1~9i8YnUg2+Xv=XBP;EDd|t##~8J=e>Ut>(4K@@?F39e%cm6Q zwX%l<|KFa*c5EzJseroC+LkQ$B}|vXfC5W(j@d2rrCD5OUM>9ym)iG3*Co+0CV|@T zPaPdtoqvh8^cMvs8~GAhSPLlSl}7FGVmu*}m4F}NW=1TJlep!XnJM&V6WzMphyCr_ zpWDla`-g|!Zgn=}CjbnF)%qy(Zd-V?TGSXg58RD%|1A;HepdKTjE9 z+I<#?z%(-q7}r^QaB@8JSk?%7!8sr>;_PNalHny$_&6eV%^&y%LRtZP*B-#_iuiq} zR9DEdE-9Ty2BY*5kDu8-JaH9|mEW}P#a^H!Q56Rzuah7b<7%XNIWU!8d5PyhxpFTJ z6)i7MCqE*Sz`!ROz zLU)P$s_-z^U(A;+K7;5(pns_#L4Ot?^&*}ezBNfmn;60s#r}DbBwjkp87f~W%mLb`4NT8dFtk&Y1pf^_TCPU91LKLLwY zic0)S5D;YCpE}?ZVn-wsl!jLNwx68mXMc+j5MRoe`4a+6^&LLBKc8(OVE-SGO)cF_ zJ~=H22)-Q%2z$Qh0qCH=#`;DO5N3RzZCL*UYV-}&-%s+BbN$qbKS2Uv{7wF^mE)&w zmhsvDr#&>Dnq#?-rH$cdJB!Cpzdy(L`fJMJ1Z1V}`Z=!6rx^s!CkP-jA;qlqtv=^& z^Ql9^ecC7S!D!#w+Bi5uK-m6)fPlJyfIvyY6a1^{x@w?jq^Gx~?+ZZ&El-gBHKY{+ zVE_`^7Xsp2FP9hD5e9_-Dgj}P5|MZUawiAuUxfS^VzpXSnMAuPe@V4Ob8EfEW7qkC zdX){mGtS4ryWVpU)#X;KDV^u@&RVoTzJ@LG>8De!tC7)PWgj5X1G7DJ*P7lCtF6|W ztcayps_7IIKSj{m{8L7T-m)o{&a)hVwB9|wD^e!hL!PIg{3#o?2z-F|Jth1m&+~Iu zV8pkGBZU;o>`{-5$^<@B@}dnR4{N%!#Lh;S`wgCDx)&=S>d`owL50*G-Ym=5IMBv^ zPlA_gy`x*)f8ZxGN`D#pT~#3H;x`6G;+W8gatuMr*e3~QL~{a#t?m8SP6lt%* zmS#N0ix0g*-ACBGuS42OOqoRi;J|&g^DWJN75$=!|Ds_S7ECRCAUt#F9vZu_JS{%Brm?*gU%#4c zdO97_ngt~X>m+Z;fy)_@pCvh@)2d`th!hKfQcmZ`<_Xuz`e<`f!09KAh*OUmCh6-*%1lt`H;Ksr zY4liqW6Xp@M7UK${moh<&m>031g;7A!FY#d?*J*veDGc7FSRPl^rKG=U#pp3?2WBI>D&mQS#}deayX^eLnPP?j7 z&C|QWOr^qTnX1yk@-sphbyI2Hg}k(fl8a4=cqpwxIHz@XTY}sUVkubWk29D#hoq%& z=A-)JuT*JQL1}v)R^fTl&z}zsjz|rNCJnjsT=|)2JMhK{idFbCu`(MR0p5KgY^^zK zT6-hyTX8Of#!>9EbS-(Cwvi_~iRm~V2-bGzjje`?-eB6{-Yk#B?rliA4j%HK!Q6H1 z+qGxl5k(syQ+u^57HW0jsg)br26%q$2Drg#JJjkkB>Isd`yS})LrT_>;GghThW-|m zP*8yudYh?q3sZU&t?;lmJ8xljRO$GNeRP~XJJ(Hm|H3#;E{;P(?DNME+$EI>!{|Vy z&aSM^xm4$zH9C|ncI;>j?ns(wO%U!1Z?_mvwvRLjsLe0o%$VcKvZk8un`MTIR|wb8%3Y_BC}~eXq@Okkqo%m!9C9Q zHRPj#j)d`_8GQMF=(FczjejF!N<5k{!3$UGvsbB)inP?n=343JL9|WT&DdiGw+>)b z*~N3M?-I(o0VQ>Al8`(PsCXX-bxC6R5rvgz_~3DG=?A{SSJd?4nXX^;F10FO?% zVL7ye-%N}mBS^%njEqRcehPkvA#*w_d>D$zcP6r~txDbYef(0p9C z7;Y&!$}C@AK`e8u$*h2eIJOx%Zo$oVdJsK}42b$z1YRzAE>CtjS)TVdpQPM^**0EV zxEsUqpy$^EImkhsZEntBvKe(p=nEGFA3kz=UOzO~51a{?8Gz$vDfr6I<1dv~_?Zy|R96Lv3T!G+Pe9!d&<%VwvIo?Vl!t>$alNs1m-y573;L#1W zdw?61XH=HHP8jqIWAOxrr6Dguc}Y}S$=j{h6k4>0EzX0iK5ZW3@vsipJ@hockqmYV4i1Fx{F?zDD69$ za@4;t2l@>-2>W|H+}-b&uS^edFIS2~UXPa)OI`=>z$2|+ZN^$!q)S^N6na8cvElrT ziepZ8Hn{|fg9x^Uax7^3WGx&eu}6D9TbR)epIe-)Vch$FIC!jcF!xE>Cwn3?4^m&Y zc0kZDnr)1)O`9HIho`*!Q-%PfNSguI zEVrykzApc>?4dy+s!T4uI5@50i~BxSjxzK2L4aXHXxG0XKz&1cS3q1AdgPql-@%(i z@0=UCp?X=&BU4ewe$1lw+f)ATr!vnO-nuf$MBKTr?)*NFzr7eTx^M5wh0Dri`czyu;nL}EtsQmpGcO{m`DE(R`tYk63bM=^l9~(a|yX2-fZN|FPi`1NqkVM zd0d<3M12shbEo290jY*A$)XHzfx`Yr#X_E@=&ql|ApTwkdoIqlez|bc!pv%oLHc!r zzj(m<3YS|L^DvE_AWGjyOUj&rCLg!YVW-Tw!q^G3gUmWqv`rJKXLu*F>R2D}#k9~9 zP&Vw?fpk`6VJtuEX40#_aU#3`icW8fU%F&y1v=eRN1#5e)s?k=HVor;EtoT zf)oX7Odo^$ch8`6%rGew3x;wfYMqO~7VB31k3d1LUFg-;d0Kz40B>do!lfXmqQRB*V#H*EgiD4{1eQKIUISb`aS{2;y<#v%r6&8&4Y^E0Vr@OiZIOqef&#BT{ivsA7yHF-E9* zdS8Bw8i@&zrGA4Z(F?rH&>V}4Yb7{itJ(krVr`G9uS2>;z&wlH#*W4 z%l}0y!r;3@Q){uvLd5p~cyX@8AQB@xOxeq^F&33ec`b4AjS&J!s0u^0ZY$Yg%WqJB zRuKZi=IbQ*P$X0ql{EI}Q4(?tJSgP?pjED*Ch-}*ApGT5^=QP`d^D7jJojGGExb#ytoXK(9`ib9!Gk#!cU_pZYIbJYQlb$DcSnQuQt4CcLz;g~ zMCC$B)vAtkc5#M3(r6Bz5T;#Hzpi!X@Q8y~4&^Sx+f#BPPG4)hgIbZ(UD2hKa?{Yi zG@VAv6#CE{mY1y*5Upf6tZ78W6+*F1DeGt-FDY@t-EXR@vCb9HzIK}f;TqqoS`dR= zExu|CD2;)IMX@S;Jk<8!@vR>Qq3TZutkkL^33Jk0=PBL&mDp#Y#?u! z^#GrW^DNN6w(n5lGkR3;zyD&0MpphSDN6j6*sPGB_a}3TDq>cHL!ObUbBR>ct+MV< zZA?;b%A!3ws9s!7shm5ErU2tmR_W}GtJ=UToKjuaL)7?|wCw!cAz|q|02>Vs1NJbk z+Yu86Ai4qqU}Q$+443$~2cK8vy)4=}E^+!1xl4rzE@=T|Q z&o#oIOev+3c-5`j`ky0A8ddSo5$jf7&R*}W+EY4bfR@$6ZvI*K8W9b+)lK1Tx}oEp z+Vwd31ZXFDh)rMmD6QYMH^vkXQlBIq5@8;7C z1tC&5^U~VYZBh^Udqr94MW>q2CIuFcX~FKki6r0i=(#P{ny_7Jek}eM#*uoHdjE^z zd#)o+ZSnWTC8yzCZHoYlaieGpP^X1-!4|ZXhlOa_w>+5SZ^^D;HNkus)m~M7sxG0h z0+npYY?M$MJaIZG(ZlDfZGb;up#P#k58f^V6tD!lxb;k0aQRhxb4#%sxr;BlY6hXp z_yDabE8W5}`}?E1gsM=LHLdg3n8@2v8=0T;T7dKg!F6r(ds_&@aDV;n+m#tZa>z^3{< zru5`sMF}8IW_0Ki9Pk^k*|5;D3y*v6-{Fe-*So#T?=n#C)<0EoKOXOqUV>ZR1nh5b znr-xWXwNZyhJdBI{jWS8_+Gf}xm~c{eLVcx1w}9zTKZhv z@NBZVfYU!bfHxjK9}lhZm=L*9%nRP1ISug|Q zI{^0*8MVy*`;CTw;3<8KW1)fAw>nSBfmD4NRdU5lNZr1d3u+Wop%kaO%A0pIwP?~E z$A0UQ8+E6u<;xC%43Pu0V;ng!NoliChW(LRv3#bCeJ`q=z=WMsRH>ruY{H?JR$C#E zuG9hfz7N&TL|^<^t4Zdl2w}=cFvB9-_MI>DB`cTern4mg-E#?&5izVG*W_l>Q(LHWhyY$q~kT|ed6n~81L@=60 zwIiA^oqwv}d>OHeCh6#wIWM~jI4w8N z=Ex^FvzHvAdb8AsWZ-X%ow`cE5wQ+QA&R6EoVp6d>h2P@jHxFJPuJub0eIqnyl6gY zdGhpm4I&`%0kf006z+ScxB2*|zk%xD^2Mil!xY0%_O}A*%<596uNDnL87d0J!02+O zyaz&|4D+~Bplrz;0=x#1%ny|^plsQk7$YF=as&H-(y6OTru8;qi~1QgY-#=}h?8(R zj&w(=ukYAX5r>mLdh3VSaGXv11C!RlO7}}AlJ!+hs=TNw;Zu=k@ zy}72%0pQ?eSDcz!#!|`27H5BR_+6^9i$`lvZ5f*I_4x!t`n-{odv&L7m zci7@`c*eBr%=$cg&w=HS7{VBB-Ft%|aQj=|OU1co_>+n}-&-{EQpcPAJspP5^#S|@ z_9$T z3s%sZzj3x=jYiG!WOPdMcld?uW{L>c7Z(mXxnGwDcCSlNHVZx#sh9WQWqg`ncL!?| z0Z>Tu+0z+!_o6Gj+P16dFsad)TFM^@MMG;gCLaO*NF7gq9K2`HTn?&yaP(ID#i84y zv`%KDXdq?^oBX16VAKP6tZ3Q`p3$CK zHJHplsqIXsUuNiMpg5GynflKSA9Lce;~pp!4}Jrq4>%p$@=RFxX%>%tD-Ob4q8Ox@ zD)$dpv_<;K%2lA9NpJ;=c%l26$XWb3A(5=Me_%;e@-9?eKlR{jv_bsTPp{|5*yk#$ zn4*}hX`^oipLYeX2(6q_r;o$3mv|k154?T5(zg38Wg9i5+38Tm0p{y~q^<0vqe`4th7MSV7L*E)0l3>;-Gno-cUO1BH(6u zyyTd+ze6&IVy3W@KbgS0JkCZkVE34t3GoKG^%yln=77}cT{=^T@dP!iSuz7~R>9+x z=J^hgJ}_Ve=6nlYaB?3!+MnSZmbTSU*9QNQ>CejN)&Tp$0rgduD0)km75nm?uBB}W zvf`uASduv*L(x2j%VaG3!O@)&R+q5)I;_3wQGlzAV0I)!hguG&^R%t?NNIN#5TIC;DQVV(HE5Wcmjt;Z)8SaXC1ddyCNc zH_qa90C~D>=L!`^D@Uu;kQ7zN2-f zavmps%D`bt?ix3&`BV9a3%STqI&A6cDWjrU-3G*Ak@*Bw&PB(>JL-NoIX8h+XPusE zCg3og{w{tmTQ}wngf18zSmW(`kIi5?Te3iOds#SDHBxqU z;BX);=Ne8WRyS+PZaowMs~Rm1+%efaXH2A5oO2IxC$(0*SD0vk;mj^eZb-0*^L2be z-t`W0CS+v9Wj+(`r!hINOriwCR(fj09epwUxtSG9K1*?q;+a~IZ{2TK>W>;&iTlX>kSZmDJBCi*4 zyvEI!F$=lkSpqN?&XWtcqFN!GsOQd^K}UyF`oRTj$qO*Li|48Z9?pxWAcymG3>DC9>VwngP>g_OxczP_S z*hT42e{N7Z6xufv&b7s8DU`@S+82jKLUW0!=W++go|5gGapxQ(ighNb&QH8woF~sT zluX*BQ>8Dl&a#ru2}fEGPE8xQ_#Vcps6L0GW`e$$JD-wdgR>ukUd#uXv`tn7z4>1` z(+NJr|JL7Bro*T6S>n;h)B~QcwcGUXKL73})9&ISuFfSib|ifLMp%dAmOtU>;quTY z+VFBR3xI2tex{kTCI>O7^g|bFcDDca)^6{n05Oi_AXuukPda)K0X_%TbAi|>0#OxV zYX>XEK#w4z(N+KNpeV==wo1C|7>GVSEz>i%lKj1#pBY1VdkK_8?oZ zhTw3>&hyPI);v^sllbu1@nG@4*MQ<(u}+li+hiR7WUCOdx!v<)%e z{xe>^o4GTdhue*ZDG=J3`ZHQGQsQgBQMIC7FZTfWz}`JeW41z7AOi>LK4)BxUt;S! z48ijzJ@!ZU)AiBab^x_Ar%3@9ei=(&Qb``D=WayUZAiEYPi+b{Tgy>5azH-G)`WXG z2&aM0l1E8(zwhyjuvfw?d!sE}`W=ZaVhj{4Qk@^>5bA&5Z_Z|hPW0rjzTqE53C4xw zOSN%5@zObWnXp(Ywt2P~)BVgQ<}E_O(#gZRPUw$*s89#fl0q+MJd>QA?WG{lNEgnP**Wgl#WD{4;Y1;DFzzM16Gq?H6 zfvayxj#Lbjs$y-7YXIqo=_s0H{$r^er!_A6A7+HgF_c+P4Z~AUP02g+rHZt6dWBi> z;qjx&RWi%p$S0ys9&J6>1lI%?SL{}jk=?DFN9Z)j8$?vJ{2kJsVmZ6>fas~ta8uRd z8Pl$RaZGT#@L{!Cl11GK-?RdP=$q4~&5eiS$YvqTU>iLu%{3Ns$?gZlJ)qZ2okw^} z(Bgm95rBoH*~!O_v(UCOd|PjE-isvn$wNwQ6gJi4+RVSGOM4wPDLg&N9~&IU&y%m3 z`?Y=moZC5@M-Y;?lo;AwY=trnQ3aht<3~L;GO3+pVoZ`RJ5+WGh7@-n zb#dAl$m&huZnnau^tBY(+O{qcu=A{Wo&&rY^VM_kA-;hV`1?Uvg83a2>3f2dgPTkb zrr3<+MI}!tuN#va6Z0tu!_?DnFL5t%`f1utU*^#Au!4?oL&mdB zhD5q1%ijSXLxt*d9k@4R^hWaIXqSaEjxKGSegq4xV{xx)k9Nvps9csupY|>)Wosd2 z{D$)Kenm1R{+Zwol6&nm?xLrKijW_BS$s`;CrWlzY}FRf7El^+DSh@{;pjmiX(XI_ zwvq2aca&R$c*I)3+GAthtlI`dxMZoS zJSgapaD(D4s%3EMb!`ykm6 z9w|dOWtbQqn1X1gsrh|BHMHiexwFYSeg|RR$)KyZMzU0C)qKl>Sb*c(p6&lG`>XpB z8e8dJMu+Xk5eXpa$c?7Mdc28M|HGzjlrB!U=dOMA-^1R9nm;>hjl$WrHs7W4!_R+{dyV zrnL9=ck9*snFCh?c4~154ZWSBxaaPs{VSJR_?Dw!7d&>^%wpR8b!UfK7tyJ=ri`_e zWmxQbzoxNPm{b@Jmzag=>_vwud+X-bbu@N1OWJ$)+jX-NwB_%Xy-{&0(PZCLQlC1e zs^{k6-XsBRz*f5|iCiZ8zRVt6X9JSWH|!L&p_G6OWJdvk=2JMhDX;f`PF2!N`~S}Q z*tpK8zEp{KW7uy(-?y)_b{jJdnlC$DmE|NiVlBL|eBm+;y_dNu%k=A)^O%CsKlgH0 z%G6M}i2e2vrhn{MrYJ(G?awr+RUwnii4sc4OAb`Fm(SE~in767JVQB`&f--BH!rlx z9wf4_pP9jJo&-?G?LqqzsB!!~2)`oq9(*=vOHWP3N=|j-{R^#LRziQF!&oj^8EOXF zB5Q6L_QJc25#>IBlXV+%&`H47UM=wAY}xrKfO}x<&~wW8G64*$aMEGiY$@gPVF;c; zsUODq+4|d-$@Hf+iPD_bT}Kyx<8#t8BAaAIZSji9)GPD7(!q+W81X%JNrZv-`KZp= zdVb%z5JTNQo^f>u*MjN8ekWTh{Gti%X>1EY@*DG!RgN{hrbFsU#i-7lH&X2>9r8Gy zzuGt0DVM94Nl^##DEpUchN`PjYD?Ui0|3ih|j;5{F0Tv7pQ#zU+xx zz$r#IDe2^!)WvA~^EDH~n-nq0Qxz$p6sryzxsd= zU<)y!H;pi)H*kaqW2Cob^yUBhRgg1g4B7w@d2<|2jG6KB{blMEyomt~eZU*R`Ta-4 z&4n(^v4UY6RD!ae9ux%c6l&0aXO9f^z6l^glR-m6qtKW3^(bX!$@jq;nIw@M(APoi ztN$YDvHua#7oqFBM+gmF1dEIbi`7H<3u3bb`tw-Lr@hxizdtTKIz$gAh^hAMc71E* zf2n6>%eAItbuhlcn)Bvz3DO@DF?mr+IZ^RhBqR^HQXyrwmhq3U*a7J)2}ZWmWNNXW zg|SHm7;`_>Gb`j5si}-A>ox1z>qYBz>nV%_>#~eH;Tyj@-5At{lrgfkt%d9kj~64E zrKzyH&jWuONk`$cnYw7-szsXS{2Gk#G~l7Z&p;aMp6Dj>aaOlcyI-rbNutrb2iFZJ zEvVm5%+g4Hs6D^LAxNqW)B3?&RVgF)XOKSg-G+J7nx^ZRVE>g(h#oumWzqtPcx)0; z1$|T{`p;mRoDwckNk!SoX$|2RiT>FG`sl7MS+M%6m{m4512P>z9bVxR6 z7bV(#JwEHE1GD20!NzTkYvZnK%Ik6wW?YBe#OdXKCcan6jQ*y*_112T<5BcyaQ~A|2SRD z6ZbM8+w~BD|8@@V(=ujy<>qNqW=57~873|YVVxI@@wu>{=LbJNAdp;FBh;Z>chr`E z2&i!oxrKqV0-9oQ^S-EJIbu+Mxy~0;o21q%e>fTy*SFVyw2hOWWVin(4-PIaW{*?S zzPashd#Ny~bL)l=>kl1Zfx{3pf4=Xnked&Bcn@2CK1V*?bbt*cL5&m2RFC~vg zN)t*Hq5Dgr7!?X2llZfs>l4G`g*x-}C^|C`z}n@<3jDcE2xVHFI-~Ax5VxUs#c{pj z+VD&3PGBFf3pUDAkY@>LYmWQk2kTFt_i<7o&V(?F9h$}rBIwMe&7AKnr0vv7&I>ZF z{@|BhEqD>vcAvxOMEGq@#wYj0(E)<1wfpyZ(5cW>LP=K#YxplXQ!F^Ex3l-fac%A& zo9&nl=LKGN=VuO=?V!u`8SHT3!)wkz9y6&k&4lQF`Y-*^uVZzvB*6dl7e(;gc1{He zK5~8>H5@lxKj!O7`+H*|DHZ8M6T248mnr(d#=g~s(#{474$ql3GU?TwtNOj6ovXvB zpR0O$xWU2oOf#t!86&btQ{-?VhAr2a_7SfrGs4Kw*#sl^)D$AUI7rW4A`+&Kdii;Y zLPp+XJt3z98azIA$uvxP)UvZgxbb^%Z4*)z3_C{*3HWqjwXIi1oSAYPi6cg+hJz{Q zqy-vSM6ktLkpe%zq;;0HLR*;6E0M!(-!#u~Wq`!+F}-wD)f~3)Cf`>?ZWKJ%XJapq z5Io{_rMPJB@8yZXs~fq_nC453kDv~*7$INZ?|~KdLKZAwLF~*j`X)f{GVNGkVjCe*6pQM_W`DPR#vHKbr0D?isL+N5XPHwe=9A zFgr?iapC!1Djx(RS5$;^_8wUDo(^+qE!^8jxS)BtAi3}^yfkCMz7Nouw^Hn)%fS(~ zM(1UFC^sm~tCTxQp94xKEQ`1cN=mz<9=DTquGfL;mp-687$IiS_SoRsdeJ~VobJKW zZk}_RZ5NbmjWEm7g+bWM^0OMw3;(U_h%1<;nP1x=p@uck(sLl5N{F>30-wC|6PK4 zoX=#dx*O_zcR#qp{!GcA3v(qj_m(lJJ=3WfPpi0<*4|wc{jP7{o0ql-4gMD znck-xL|c^&M>)k0@3(&^xueV1jemRb^-a3Wy95R6;|SDkpSMcT4~5fGcW#IRM`|O*$b`7X{y) z@nnamct{l^G6_2lqy@~_eVq3a%q%q=#SIo`4QdnAKS-o0N*kFYN|b3dPO4saZPNuu z&_@VD(q#*Q)hd{4e|wyA%U|oRovvxG*@R$vcjrV$7YH&CeU&8ov2^)h<(x^r(WkB2 zX|?^FnbEK;6Jh>q{B_W*9xga>3W2dG7h~Y?wyNIEgdn!~g>nR=gDOLL*C93KG19B< zw_$s4ieTkoM(;G7os7VM$-Y}j`A=1VzeX2LVt4FAiMFw=MVF?qn`A&k+;!3^FH43U zy|~F=mz0ZoZ0eDr&eaF{hnf!-)_s?s0kxXU@Oc#CPp|%Bq|!W!hicyw8AS!NHj>^P zbkkl2*ZDoNP08>C3T?UZRPb;UU=;uenLVF5|cuSh?&>qfPjUuIOL`o@n zvxZz?ao3g=TRs?yuXp%oVAm=l*e$L%a1;C}rju zf!mHp(p_H1I@tMQ26_$P=A_)6x|$=(P?ZjM*CB31>yEsI-U+*q77fg3>id_bYUnkYiGNNAG=0E+AWQ_#D8U?HN$OW6r(yYi z*0_()<*fIZ!0$<`=p2igzTwj^{jm4Z6jLhaFKvLHI_GU{DYMIvHRx73IJVF*(&)ry!t`S@ zBMXNKd#!EtElB;|l?>VbSA=#PFWXp?)p7)`wJaa+_(a5$APw}_Y{oW^$R?ENO+Chz zZm)pB>6s(MUn!l2qo+WSA6~YpXZQH#{GJPLs(ZuU*_m_n`P{ot$&%)^6B!7U?%~;+ zgJg(5Fi@U&Jp2m-*(hrV5=en!D}m52VGWYmn|k3yHm9si*0ypFM+V}qPHn$|(8kNL zDG#v7agD#p8YQl~0%>ApKAv{!MPx(kk4?(fGBlZJR)pVUE>UwS(PrAp6~A$Rm#f1;&SVre1N_M`DPK)a7=7{%nxu(# z4C0KWwr}gJZq!PmbLI)(D>ct3Fm-p!i-?^4wzuqiRc*u-?#yQK;q3 z*<(L;@`sZV2bdzMrN3Q~1y_yv3xGx!#Y4}E89fy_8O)f!ac--_=b?3Ubrn%Q^oL9N zN6M^R0Z`lvVU|fqnzN*Su~2fr`L~K~aG59cuL-ABA->TC2H}C;kc77I%iMrA)K+`l zW%g&w^A(eLPbF{C2Z^pFy^R{Hh?FJS4mYx2d`OcQVdt+VE<>+ByDvb}#n35){a$L8+60)G4vXxSb z0RP3t?LF8p%mrrMIDofn?j0eKeY`itNuo%q`ivcw88y>OJokcz2(b0Oq?NWwyEa@i z$1i5}_Vs>U+_vvS*BN7CY`r>AhVWlN8x#DiBN6?BimrF%)}J*zZTG7=YqFJ|V7z}s zm23_t!Dtf_i4HKgXq0XBVCJ@2d;d;!0UYbww*YUb<-`6;yEGj5Z$U1oV>%YMW z7fjD*bspf-HRc|m1p$Fe z0a2@Z%stN!LSEA^K|7cdDleY50g2P@Scqu2J+`X!4a+xU+TGB=4^rmR#Qy8j8OIhU zQ{I*zPlQxtL@aGE^tf9#b}rczQ!gYr zZm1}Hi~r^;)pa0(Bm7M@8(W)PW<$UEX%7gYu0tDt#%z&g_b!_RxUJUtPWo(gwwArzy4)Iw>u-im^0j@;esw}6UoxK8o-Yz zKvy82C=i|gd&RBOkE+QhP-(3EIxR9vP}>PK&D#QY@6X_6dKp2evI<(VON6g1^P5ve z;D~*{jrS7E`Ii@XQRkY|K)3A?aj#ZYDt9iuKUcM%y;M!J;ZZLgFBgONZ_LGpW|++lIZ!cjgigX(Kq>Bd1%Db zM=4%I3B={JvnD;HNvW#+`iz9-1!{7bO0QbDu&BYE_*?m#XS?-O@g*?^R#$dh(40Br zFEenglF3go84eFiN3k)Z!b$wE>U;xuBlS{U>3>TfV3y@0z1SC6V}sHIF6UZ{n-kZ% zhP-Gj>C?IJ>T%co+`;%BmO4*q!SxfnJj8-U!D9L^FTRt3Q0YoZhas>(lxWALa=$%5 z{?%|Zvo|6M<+TeaS7N52Jg8idbHF~r+6kN2NTx+u<1VkIF@VnFhG1Ohz#iUm$)J>k zMq_MrpzFwa4Ma}>yF@axMLXv196;-+`Z|r*R4Jac)EL(NRM1b&67G@uYb64r0-+ebSkZOl=iGLIHE z+rMcU&eM^)r^J{HO1qM51bpUNosLlDcl`kbYxWMv4Y^qRqB!nN2-YHo>!_4JlM}$0 z4DViuUdV4aKp7aq9{W^PkA5`rzhU2dd>UMXrr#Q(;yVKf^X;hJg{mD~8tx7i5Bg#f z3fjH|XJ!r|s>+V|@{qN+_xJLRfMyr_;ND`pkU(3oO;78~=bu0Q%|wr0p!}?nBKYB= z%r!I|sqt4pLXNsqGA`IGX%)>G=B}c5H;AYI7;xCRGO{Pf31G$=MSS8UG4awZ52HOnvt-{bw$Fubhsl??D|*y{&2jkhZZj$ zlX236WivA}y8Mcasd3wY)DM;D;mI3oStNPmMCe0?h@nghEk~k-DX+`JptsBitvj45 zu{Qh;$F~FR!PRQP{w+5y?^QbSMz503|6>N+(_qI8yU5U}nqEjWMXt-)%niyy`fH*%KmSGw-NyzAJsRq}tUejZNp>B}u@dh+Wrb zoT=T@S%XQyw?Cwi#^+%FV^8LO%#D_g9b2DoM-i*;zP&yhUYctpkCz&*&vhyCeYILS zM@fW8A^n$zBjv?kQHSJ2a_sJ1+Wo9|fm_c)f({7|W#Q&;6<1bI#-%^opQ&^@X|N+d z(li+pM%5hIW$PVDR+ucQFs2nP$3*x{?{7_HarP#fJW}Rh0={CoF~(lGPxs&O-Y#=3 z{v?ytt(4j5d7Td()tn3rQjyX6hp^kU*g&ax^JWtN$Mb@7|H550m#(oo-T0vbsW_Tm ziY$?5g5Hd*la-=USU&mMJ+qj~PFa6P%G~7Q@KEQ~KSQsA1hXd(&KcthJsRmi`mgbv z%6(q-asp<|QW8&l-4nV%@p;^jhdI2G^nxS=TVdne)r*;hA{7@#WI622uR+&TJY0zj zOe)R3N<2z}HT@u>|gu<79-Qze*GGBDzS5 zoD6t)mrhX7qI><@m-=pwJs0~g#D+(^u`5a>G4*U~>BE7!%&WtzqW^l;Jg0eQf2ae> zh)$y$D#HHcTuD7iY#*N@sCS|<1T~d*eSQ)@b{W{4Lsnf4_PETkmmeiON8Rrl(e9J0 zDjr=cy;|OWXnG*_{D~qd_Aqf~H8WL7S1m_aEx}QlrGytJffG0KgZo0Wg37V%TN~M{ z_X5O1!)@t#@}FWauD^oH{-EQ?h}`8G9$$WR3uvg<1=JIt5!JjxrcBR)7L*rQ{zLd9 zc4-@W z>f65BZc;}pp4zhi5=o=|Z4Jh+%?H8=7aig!MEqtx&1?Bc6U!`a&s84W+hZ3zbvi=s{Q^MeIoRS875+a985YD@YK;TcBzreHo{} zpklQ@-=M$de(oWW@`mavX4YY+2*v0lb?xaV7nN3h>u1c$I?rZ@cDSB~Jh{gSN?QqL zx%m4t$glaoD2NqRR{sGcJheiMCPllX~@e~jk$nS&Vw+c`E z{v&5LK^||8L@>Vh$-`yi`jXX0Y*1xC^+uqgj8V1^CK)rp7Zdyx4ma#JZNzyDHi}er zUK3Gq(-omelNXR(!;Of7TgE|D8GjsnkJzb=h+90dba1D0Cu-nM!VyA>TZh~^8Q>dX zPaDrM`D3|ZlFGBWZ<6vQc`b9i2CC{|=JNw%urvEnyCw$Q@&y7cimdz$NgKDl9HKpJ zY`-tMXr>sT5rO3UXgL(NtO4v}|*{ zenAzEzoDQk$F_UWpK&2&CMzo|t79VAvJQ>{D>BAHT3G9}FhrfO6o&0otLy5n7s5ah zTj;jAy$n$FQ?M!O=0$P*L|rsmw+zn-xN?2ITo@0m(w`%Y`q4v}qizIg)Pw9kN_~Nz zMSmf(9!!_WP<6dVJv|nygYy>?t78);#HxutEvM$;$v94Sd17ILZ5Z|p!ZDj0+hQdW z?gq@+2o*MR$H8+ON80$Ibm!z+V`-@oo2n`;?d9#3qKJXTD#Th86_1MlH>$UEb_@b>qzuzg~q{t=hH7rFMC;7;{yvW9CdpZIzkH^0=hO zS{8A7f7m>}Zi1;YYBEJDO~7YkYJJZk)>V{f5^?~tDQ8bQ{3PoRD)L%q>KC{6>DRW* zXt}**W=3h=?QOR|JLUN)&%z)1g0#;Q9l#}T!~JxVqyvaag}&G*@@we(hGvo4!^zvw z>vAm%x)b%kJn*tqnM{gbBAk2xJw$QTesO}7EjSZlN=QBV5k>m%Pwv9abQke1Svh1E zlent_HwhiP@fy2ZSaRo5e5|&rR=GWEoW%-p1&lPx! z3+x_)Umeab*Z>=T zOO;UxA|$wAkq1&0d5a2cUV~o~E-2$`>$-jV6h_shEYH@?uU!+5gpM|aa@1T-u<2+d z6pwUO9W5=27nj^q)s;_Z-vgt2VRVk@T{+Kd&pxE$k8C+YraPXn6C7v2eE&VwDix2P zAvHm&eQV))Zj%wSZfE{U@ zOrja+CA@;>D4x0rpTH}AN%-(6wD>*r=K#xIydEGrsR%@X)f6k~tT4R5HlK7xM-P6y z~_e+<^nZKSoMGoNU%~S-P zB0ZEbP~n}QZ~fb00DJl$P`?W5e@E&Sc&q+?WaFKmM^66(x&xNS(ft^*k>wGQWUTn4 zGrGoTT9;iQo-}5!%g#slKeKl2GvuHUvY`9Xk4Yb;2eN1#>+F7X|Lunk-40O2Dv*l* zkY<{b=h_EH36JjKhgOm^nRPPn^x!*bEp;Ppqi_g3dWJtIofj!$By~fB$0$Fx0+-d$ z1JsnCxSgMGdqn)_uD_nE4`#v!08F?3OwpAGF3=*=TA@!$`Ywq$Q8Oj?GaOB4~E`QT@RYXs)Vp>2U;E-RS-+?ZlKK$%s$h=GZ~4fNEK7G7)+a2AH`CTCG$bX-wcYc8i-q=j-$F_cgGeQ}*H;4Ui84Yn1HYj8`q zFze$%oBV)iJSltcTWVYquiITa)vNbwJ+Y1ahME#kfHm{$t~6{Zh=TqtBudw72!PVv z!vADn|Go<;-W;`}c;%H0i|YZGp8zhBRI$YKr+v~`;`)8)244JN3-a*C0i3K1Q~j8; zk3qjjNIxmt-8P~ZeJL&KOX&uOtS7mBU+>?CIJwZXZ(tvK15PR3IRZMhhE4+Le+KAb z>idabN%1yxkf-RxIndTi;JJtLLmd?*<0<1_VD(4vj@ZBg@VAJ6C>778Gc>O<6?hI6Mkv`T*AE_mD+lemC<1vlwD>J(3)1t) zQqO(&kmn1jqd0=Tg69VkKTf^_`aLPNKL+jR;WBuBbK+~M{ml|4cfoV5{Cp5p7r9FC zIO^u)Vv4kIP{rs+c!ktrfQm^iO5w^u<&_fby(wHm1P9VH@s`vR!}I4P9QP&aW!QtW zrTL+L22vr$sKw|kt|Z=wY@5;W_N04BrnGw-)HU!p#19<_L-Ycc{0N-YVd9U4LlG5M z{c8b-1ax~}pZKSeaJYmVsGv9;E-ej*i~ri!N4N&GJPNdg5OpWPl+YSWJ-?sOC_kY% z;QJC zvj)=@go7Q!f!fO1{Tw#(;xYmKN*Fpc;!o`Xe@dI_PZ8hml>&|17(X44pT4kTl}rx) z1iTavjRDVtgO^hjxx%a-1^f=a0n?K>Nj2aQzM85hIVr*au^+=qkzX*LgE5v9$G6Wk zmXu}_ug1Epd^vbESt{by7?&Cqug12~v|-q*shnS>6|}Tko#V|$KQy9Nb6Bg*Gm3u` z&>h(gb@5?0C$uOu?B=XrPuv_@?{P_wwG2`dHz!`VM0Rtc<|UWjtkGkfrMY?O$@MT- zx|BykXn!mD0O*0kWG_1LWXhK)ph#XGk}$uX`%al4kP5@~9vj3d>UW4T#^YV`~&o#K3kp)K}@rk|?HgRNw1NpG3u;wtIjw~kylxZMpHDh z4yKU5D9V*3DStyeS1R5l<9Ey>p2)xo`NYnmFmtCtVcey=Qt+w2i@Qs1u`Jp9tGbnh?5)z!8%#~KtG#6n-4v{eSYejQZe1mJa{ z#Oc^*YDV){Ib z>4PcM)C=hZ<$57(eIr)|YgkIzwCmul=i!Oy^KUZi#YEbTLJ?wG#UYfPd8-gLn#K`2 zWm?r|i&L}`8fQ{-sQJ_)Y6-Ps40^|;du;lZ>)Gb>`H-dDXftm{G33mso6~8WF|S^cpUg_6|5%w-Rrcg<~u|b}4axMV|pZVHkXI zEY0;~Jbo@7fA#{}0E0HT9{me2$fbP5DD*J|^nfZZ|ERCCA3QKwOit&1P_RP8b zxoa+fjC1yy#%KHPUgMC~@Mi}OSQi0$$zNuS8A`T{Bpst}%;!jYM1vSKP zL{VD#@-y)#2$kNCZ{QQtyYMH%(APJE=O{h~Hn8|5*ubF+_Zkf0Yd3w!yu_ayTFOor z&Ry|jdauMQsrZ{9_2N*P#Riq=^o9jk$QHw3ds!knT`*hh5$^y1_lsYyKe_rQjSgd- z=Iz8Rpyym_)ecdI9|dZFs?!vig-2k7vl3o>CT2bqMTyJM7n_dbKk^Bon+^*@kKLU3 zJvASlai=58y zG&8$)bA^@jN}YmA{H{uHLRNo)diO`@a@OX7G=GncVCJIM;RSd*l~2_WI~+!p6F0*I zNrDep$ zLbks<&ywBK?yCs|YJBn;I2;Ckj;EJX0q}Gx2}k8@4O>h~s*|}&mq zVF#7)^##k~1^NM1VR6XPHBp~+`6a;HIdifGxIj4I@0^gOZduY~2^2R#M8}dJ@kT0C z>Kx&_yVU)23S->gRkpQVGcQ%|-lbkO3sM9=&{@}Y*UqU{?fQtTE-do6G<#m)%EM(| z3yBVEVV`dX=%!L7TCZq}%rB{j)yBwo``Hs0MYO6Z`VPKB*P+r*UO%CAezB^bj#br6 z(Ws8<@8OT?kFuKT+NutHzoDaFTODupbo6$3+WM+1<~K)cTWX~uT%*nND*zXdlvn*R z!G(+uxw(J{k;hDA$fUxI12!tcJs;;WIctj;W(_|{r_*PtG;OQLw=F2ptW{M;t0!=* z!LFz2w*xnQ^qt4Mn-u8E)S)^10Z*_8FeiJ(cxT_CPkAbx1c0ZBP4l?AloqW^LFo zYeF)q>}q2bb-fhDZ-y9l0j`##(8H;Q+?(zv_$PDw-A@WnxO;yQ{{{TJ&>p}{Y6rGp zi_|*|f5|HWPU($xcdnbV{%GCN^;6dGn6P*6xIN#Qc>Ug%y&$Q}sBX;Q4r!m*Bd?2@ z7PKj&w2Vi$@L!Sb#DdfYsVD65GVHKniE?{;UnHA}WK$7c2^*%e4T-51IqEbLnP%Zw zA)p5ZF`t}CROWPFA5c*OzPAG+TY8`(-H$F2KpTg&8o%TT@6T>X_h+HsH0W0+_X`GN zL5_tt38srhpNRcN^rj%5fZkfa5m_2eu0PqYbcUV|n1v!-M>I8Xe1z|CIIDvBJD0nsa@z! zi+C50{up>}ci$(Z#Vj-n+vRT^z`Gwwf}HiwusKMWnTx`eT~H+L~rfO@B88+sIjrUS)@=fq|j^OuzgKl_d%BV)bN=bs2QqrJAn3O67N&LJ59)y)VL8$}< zX;C@e+@{rX#S;peCup^*(ut3aYt?AA^Tsu|X|$@6iJ}*;o}IY;#wLxHHDtNm0anX8 z5~SpGHESeii#R5t4TgLR~2L}VZt6r$2TS!q}3KbiTud-lr@LdVj8Qh#aVp#?p6PF zX4Ty$mny5+n)q7LtljdLJ#4VbCVv`MWsDllD&hdfET~X??AX7i8A`Y+^|6`!ElXzl`_P;%<%Vj0&Yqs`6@~io zGxfaI<|`Xlo0YAfF|OQ^jRmZBjEm0QAXM``^CudrLxpN1mm3NcbJ?8xkx9GeqFM8< znb@$VL!2J73y$eso4cmlvz-&TXnSPMQt`gU13jp`xMFQlVNucMk^%}-*}w^s;~k-* z686fTY`R`2=*dauWIN3tmNH4hDhcH$d!`!%O~_krQ)^V}x_LGA(*l~6tPpfL@^cu5 z=eJHDxapF0g|oXo;~Z<9KGw*EwY@V}H$?Ib;b16K-jQF_9m@%uO@4>H&h^Ho-`&&M zvmliBTUFS-I#LW6P6z%@mSP_~V5kVM`~w#cb|5vF`Uv`KZ|AgV zSHaK*`lcb0k!VXUm-1B`sV<4Ws;D(1lb*y0OYm?)eJCTLUJf5h+SXc~>LPREjk&AV zF_mF=^*9w9DY;~FhelP@5mAx`A4&9 zw3e1>dyLlZd0hJl9X-~gho5O*hDB4^^UKScZ`Mc=Yx>f2bFzJ=8~^EjVBtn5Hv1b$|u^x1!_>Xp+FI5;@p=_*?S2xfX!obUN2UrEB@gdh#}q${Nhsl+Cc4~uA^@M|K-{L zny=}%JH9Q82bYkRW3%}2Z`CZZe`F@`_|fCg>v`?3rOO>Z@}6R<)J`p2Qla1~e;JBjJgYVGR7XM{qU-27dyK z&h<8;Rsp>&4E-uQ%g!0OPy`Z1?SvVV3$40vAbdVKZz9z9)jgeVQ}CyKeZOM$mN3v@ z$@Wo5Tn0HakEEhGCMjk_i_3No)Z@c^Vp;8Mx=p+>F5X7sK0iri!VquA1hL()oI1k| z{$$}mn5{k}C(xXGCFIB5XU<3&G-pVD#%9ohuMX#me9QbeqH!NoJX8)~rX2g4=!= zLyiZUMt0~G{37^-kZ7|>ScViV&p|BkKP4>bp?v^hvV^5Z%JaMce*2&ony`BSo3azz zE$Gj-d_c_vs9hK>S>FDQV3mmzk+}$wx#c!|SV$}nDX0J?X_99=Pxio54f}`ynwi(T zBmvwqSZ?yOIqik#-UT__v4hCrjven#?tt0962{&MW3wc;ip``%yz+wl9mQ8V@g>CC zvLV(+@=cln&IMy_w)6mR=o`Xr;-OUBtt4pan4~3fw?ZL=5;@lDN#s~GX5mk? zmUW%AmsH9zxni$dz2jA`G`}Jb#1DyXsu!Kc)g(tm+QU?KZ#a2}MtmX_5JFd{qC)*{ zai=`b?kkYngTI;>29BTyB%02wFVriyV0uK=mBE3jpl!Hm3z zyMmwbp9e1ue$Ia$LY3#`F%yeJ5V=^L_t zvIHFA&#o76zK{^%UU>T=i9o-EN+slUT1p2BMM_E{q0Dq32_J}T6sGo$$h&Ky{Au_o z*9+`DkHQ6gLC!JwvHcMLo|5{NV2dMo?%WnVmbS zS-27x$r#J6Q3}_=XR}l*v(C5}2!}lnibanEFmR<1_a$ zDdTfTU)O{_NztGplt->9h*1Ti3@nzB%vsVs_@KbBCF2JN1!nptlFRwiR8A*AY;OmM zuZjOb(mKf%-mZ;6YVO6exDtDJCi(^Z>ZYL=1$rG>F%IyF{7rPFFm&V2j4ZCi%Yd6D zm5&P4*`)3-BgaGA58yutiRw@NBzqMSOJUSK3TKqI!^{32lJRYTZfqXhyXhrn>y)CwtBU-n00oAZj?RhgfHO_iqkrHzBunpAVgXQz zlgXqsj>1br8aI8C&=fJTxa z*~H_IBGazV==uE6od^9y_+%;geu_#%sx7A?&0(3d4b6cbSH7WUX!dvfxhk4tZj}0c zs%Ds8R;T(n)mxA)MWSrGr-yAfKV_XA%#cIU@~ArTQtdN7^eh zC=a^(bGA$|I$xHNRb(&KH=5p;ym|hx+!sh>wn7^9KknOhaPTUnFG-)4!mPfSm*`&-M4*iK2D_PZz7}Vzp;aqb(e_Q@d zSGgS7rJ$7U8cmr?W}JqLtF<4WiN|XdwOli-mHz^BI#M{EYK*BQLGg)EI~?CGOHjj(&JxVn8=(h}1C3gsu@16oW&w{$;^zOJ%FM*b z!uFZgcHjRhFH(H|e3J3+&)XjY9^}+n|F0~_$eIMLcnesq`-s&_-c%ckp(q_Tp<{`^ zW#hg5yXP-Vd^8&^-+=mup4pB&#n-`ZUkg1#DZ5>t`f^6;S4|v>57RpnOFaVs_$OPy zKY4rDKM_FT5g6%kEQ(_?8rUd+^x%iE61+z1DV40-xflXCTX z0LOOo-`AhK^xi-7S@@L7y0&w8H@uSj5O%{mhj+t^JvrK|U*Reu6&@S0o}Nl>LLyL5 zLRCwVzf1~7I~C{~-HFRB^(%pnZ1kp4+$Pguoia&hkm&HW=iv$|%VcljZ#fnAK;D#z zGC}?lg`iLs$K|9GB5no9EAixLu6mWL3|087 zL|amnq%GByp7{Q0s|?YUXpBTCNp0@>9Ch&G{fFo|JX0l{T|GuZl(Jxf?i4?}U{=&$ zz>la_{D}1Z?u`B0<7sY$xa|DbUhyL`)E3cO09%`a9X!uVxwuB!5&T?`#u7dYi3`V6 zG0NZyG%GYby5NQgmCWmPPw;aRs%gCNolrRrX>(2wj3u5%VyQ@ zI*C27d&}ACuIsqI$pv5EGf@Vm*m7MHx(H2U!IN>?#H{N~*@ia(T^fifeBGW2uXAEI zftPOUXIdNJhoo_7E13D8gV8y7b=P&wPB8uVPFCQZ6yE`O?d_c~e^DwAy@NMUEZN5; zx`5?aMP^b`6c*=Yqc72qvc(+KYxSs9IY#k4@tDb{Qn`$I|5|_Q)cRfbYV`58X?EEA}_P@vRhwP%~Xd6DXl z;vBQxWXWMvi#W}k#z2Y7Vhj25@~b=G&SA3T1&cj5NXUvGVwKwCwK+l|r!y3CkZX=T zTv*?p{=^26miHCA1}LebT1l>OP)XSEgAP|P9-YzwIDdmZvp!goYa__g%wmR{(HJUo zTOB5o#~r8)2204j6{;37DyS-V+oY;sRJ?yoJ@bJ?0npMgNufn~Qa@RFa_k$lko?96 zVP+Ofv|{Pk{3WyB3TB)_ta7~=?IY6$=b?9k#km%}RQICU{nhrsjeYV408xkaesa+1g&h&2y}p%&9yor z1k5LnKtQj>Hrez3lip|w*zJL!-5wl$b=rgZb(5e2JPA0?zfwpHLZ;><`PXK+7?PHB zkWhD{sLDof2;$Y~kLZRCV%C~XNVopvzz_e4Kasx8A3O!t((j-jXk0ecPe~aKqQvn= zks-4O{a-*gtna~kSkVQvS9FTEra&G02ma)k_!qKHpG|ZECMxPA=HxFz!y|IngokCs?aX(VK}xf$(Z zo%WLEP<=^$(2`ddt8JaOd|XyOAE}T=;UgQV_9WML0w#IgHS2Ve2 zc6;G)vdP4>Jx-MPDz$br5c{Eo@ed29pU@mleP}x((Kc(0`0qPkvAHcKtI_1m%dY}O zVzY;Q-bhubzD2_=Vi}X!0NBFAbEL6hpBry$2-;q|76q!82lDy!2bC~qOTPOdKu z+nwo81V@gIWiWC}K?Nkvr9MQzMUR2Lp~Bx<*Te%QOc_Q9lOcuqM=ID(-O8U=((cYo@j!lD$90y*}U`3WFk6 z#vOfCxT#<|`U<`;;Vg3T_Ha>SNw5UaGn;+D;9!uv&}MU3XqhtWeK51g4IaY*`=7O%&vVhZuKL60{W^m>BI70~nI zYte5A%uI-Ax!=#IO8x!-%a)FGBp4>4$G_1=f*}e=ZD?Wdh8}$FcfU)B#ZWhxs)MOT z`0A~DQ+3o&0sB0tQ%PB`uu01O^ytz}{cUqegU(K%?;m&}WVg4Ekpr^0wvN+Gt*x!s zaMMe3LJaH5$qBKH3omS`s%jxeoiE4b^SN?-FzT=H9vD@Se^Iamr@tY1_{~7~x&2m) z06Rd;Bv##2==NJIg26pSb3HN$NB)ka39VDDC4#Dt5MZ6&;w?8Yn6Xv`zyW5sS}}|Eq5dDZjj?Uag*1E1ff>{9Kxp zlb^Pfr2K8V5O95T3@Lv;CFPh+Nja1Z*|L<=g%_6ccj;DKLmyD2{9PjDbgL}oQQ8C2 zaPneO-Z5IrX-}h;SE(8G#QXs7*8R_=JegEvMESpHl=+47Hd0pR6w2F4S(!)Wf3#8f zulz5G!@Pr8BV~nRC|^xc{|%97D`Nlv0096100K4ymUT?7Uk^O>00RT)00000+tR2< z00000+uG3b`7Qq?0-FQo00IC800IC200000c-muNWME+a^Y01+15?CL-M>4TW;4HF zn8$zw7+V0t90;@kc-mr$02EFSFqVU16o%XJ+O}=mwr$(CZQHi(jn}qqd)s-Nd&X+= z&U;A9>Ia@wBcsCQ2=s-1C2(%R~3r!L6ZLTYD#F{1Z6?ov?#3_Odwt z-}_ic&6@xJsMiLh6%A$4%dO$>{bU8k{*W8o8vbhrXRIEYfj#~$Ln7)4q#Iel8JGH4 z%=+i-J&Jn1v_V7qHZgXcItqCx3^$oKf@{g9HvYCEci=pAdh#m%Q18V>Jf+RG8HOL{ z(6^E_&_9|2srBAU=-JjmJCs6p)I=iWM|IQ%Ywg=kslkXU!KfIqm<{cgbmh>p7F<7=J}QOZw1v znH*1lakRz)wcVWr{*~8rTrFaa=J{7<>^1Ejv}ZE62iMo1_7nPT@^G*@w6&i8Kzrpu zX{VM?I_D0Jr*rjLUi3f4H+?Jf$%@Xi-75q{RPBDc-jQPGk_RD z006-C*|&Q!+t@5)n@w!nwr$(C?YwO_ujb7e06;y^9rOmnz(gqOIrvI*qQOhbSE7p(@-G55eQ{L3{>Z$B*z^A`zF2BOAyy zl0{uQf=;Kq=uvus-lorJC^K1CHjYhYYuO9-nf+t2EQ95|7IBVQ69vknBIMXz{nsdzM<|gx$8D&vxfHm1VV12QYY~LPaPqshU zrH<`%b7nXjo&8RnYq}%dx$bKBn)}1kyw=`GZbp5NuK`41k#GkLkNMLp46^c17Tbg^6<6qm$v5hij(Mc@SOgMPuB;B1f{ zRM)Ak2_Asxh5-P8&Nfpw?N@)3x=Ci+_Gz|l+qP}nws)9q+dJ(&3<`igU<8-}R)VeI zAUF$df!E+Wmys*URplCSExE4TEbcUSox9Jy=0m;=zmq>IS@EZ z8QNy;wq8wDmvayx%VhK4hI58u!CGpM3W2i=9 zqk}Qg*lk=jz9#wP@Z`$mH8Yi2(Hw6sH4mE)Q5u9%UDOv%MjO#ybP~PBc`?MLaR)pA zPs3aBMf}>zY~{D=TW9Q=c3XR#z0JPwlyo*Y-`tqn)}8EbcdxoXJ>9G1_40;!E4|C! zeV_On0z0S_bPJY;T-YJpMHs0^nv;oS71=?Kk?Z6yMYJGoLc7x$bOBvKH_#pQ06jr3 z&>JiT%f>{8S$WolEoAH2CH9QHW8Vs-D3GB*jsl>7T0s2=PSN!&c-muNWME+IW|+vp z!LWsa4ah?V%nVEbEjIz@c-ozjHA2Kd6hPl9?j6;1xH~ksySD4e>O_$%a3$n8^hl3H za3A^ZAE@G#5P@(7a1I_Fpq+D%4pPmPM~9f_#-qcG21Y$PLUTa#=qQ5$KV~h%flHST zKy~2Gqr)#T15H#1VFroD2?kjdR4fGj^g3U#i%J^7GHEQPF^H3;go$7cNePKy69Y+( zG)c#Q3L6U*iQ!nbqGDm8VKPn+Jt$-y3!4PpB#{*9`IzNXnV+}qhpN^{lOl^vktHnR z6v&dKpKki;qmK!enP%df99>^U`9p5;#&4fA1}0g@R=ia6pDI4g)g*~Q77YuNZYNKH zZX^Z@J!~+~DhH(fZNHBE0C4+gG5`Poc-mZpGnfzn07l<`wr$(CI@``&wv8{_P1&|> zoBNiHEzCV&0Dpe{yNd)s{D&3;LEMo6x9GzG`f`vJ1QS9(LU}_NUEJm__XsC~NTRsU z10M2-Xkv&Zj(GZ$z+;{;fM=}a5QjX=A9lbFI(CbNZU9HD`a zG}1&f3u&R1>C9vnGialo4mx?yS-P` z&C@mK^061zhI_$2q}CPO*o*T;vkQSjbA& zvXQOqWG@Ff%1O?0k*nO~E)RLiOWyL4ul(e%00k;Y!3t5R!W6CuMJh_siczfM6t4s& zDoM#oQL56Et_)==OWDd%uJV+x0(DcNid2lDN>r*c=5PU1l{1%hs=$U%eC9NM_~XlJ zdb6E;Rbr+pRTGFg3z)}Z7O{lcs!=UHd96Ctt3i!wQnOmrsy4N&L!EyKf(OF}fB*o1 zf7M*Y8ntcPPHNk>HAkIUawki+9J%u3D^RFNu@a@ql&eswO0^ob>eOq{s7bRHt=hEf z(5Xwe9=-bX8!%|duo0uijGHhiB5KOC8MEfhTd-)!vK6b=tlO|@%eEc6_Ut=w=*Y1X zr_Mq&WQ0ig3jg6d{Dhcu7cO17cH`Eadk-ExdG_Mfn|B{6Y5DQG%d5L>9Eif(cinAu z_pPr!?&WRMd(S%$L?RN7DMA6Ml7F9QhJo%tbR#g|1u%ob5Vo8i>m_rP+Bp6A{>AU3 z%p9MdT~T{{|E6qD%l2&6o*rMF?+&#yHi>msXr~jJ{@~unqgds-Rju(7_a4^zUxt01 zMcf>vrl+ngVE6=QZK6WV5}r8>_EGy%+MtE4KAjVVl;Xu`Fw zQ?X94$B`Inh9y?(*2ag=wxhvTAbH0WxVn_k8NaF!!(IE{d$(w2(% z&?v#@kdzyUa;jpR+AN|cCk4PA7^c@52q(Le$&(2es4)PvcY#B5rtt+y@73B)}U!K1gPrq1-t$u}d5ZYaXh+(9Yzy(L#r7!DHNS-P1f( zd7saFUJ}tzIi1bQXF>6W%6SI`ijF;l23rFPN$da?d)@&dsM-Glse06LrBvMwh_{1v#u!qUG6a5(6hK0DxWNL$aH(NB%A?tXhp;Kw7MVDy#m>Szv(0$ns@ud`h4~@wAQpL9 zL^}crslih4HLy3b=#mKZvdZlA#37FkZ(@Y zn~SwkxdH!xfx*ABdjS;w4+9apkhb~XsrKBKw-hXaC59^(yuuxk?A#s1-<48@|Jb;A zgtsAo-nsvP+Oy;9vb|dBIW^X?9dwseJSwPHYNus;Z;8Bsa=zBL_EvQ*&s+v9RPu-P)ik;1<|MQ2p5559nARN8`v8!$V literal 0 HcmV?d00001 diff --git a/_static/70e1dc5f5622381d6e9e.woff b/_static/70e1dc5f5622381d6e9e.woff new file mode 100644 index 0000000000000000000000000000000000000000..a23eb14c4a6b4ac4322993c396879a1addfbeaf8 GIT binary patch literal 29416 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≥szQfT91|35n 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 IVIUm70KP6$ApigX literal 0 HcmV?d00001 diff --git a/_static/84504970850f0632d9c3.woff b/_static/84504970850f0632d9c3.woff new file mode 100644 index 0000000000000000000000000000000000000000..350fd20812f39db14ef7604452d7c21cd849ec70 GIT binary patch literal 28636 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 literal 0 HcmV?d00001 diff --git a/_static/a1e4997bd1fb9d7822e1.woff2 b/_static/a1e4997bd1fb9d7822e1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ddecc6adf77250777c55c12d32dbb6e81ae603d5 GIT binary patch literal 22188 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 literal 0 HcmV?d00001 diff --git a/_static/a61d04152f1635036f0d.woff2 b/_static/a61d04152f1635036f0d.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f2ca96c3ae970071d6b9eca0869fa5b9fa692209 GIT binary patch literal 21820 zcmV)SK(fDgPew8T0RR91098By5C8xG0OA+`094rk0RR9100000000000000000000 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:1.5rem}.sd-tab-content pre:first-of-type{margin-top:0}.sd-tab-set>label{font-weight:500;letter-spacing:.05em}details.sd-dropdown,details.sd-dropdown:not([open])>.sd-card-header{border-color:hsl(var(--border))}details.sd-dropdown summary:focus{outline-style:solid}.sd-cards-carousel{overflow-x:auto}.sd-shadow-sm{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:0 0 transparent,0 0 transparent,0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important} diff --git a/_static/awesome-sphinx-design.js b/_static/awesome-sphinx-design.js new file mode 100644 index 0000000..e69de29 diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..f316efc --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/c226d7283d0d52c2d32c.woff b/_static/c226d7283d0d52c2d32c.woff new file mode 100644 index 0000000000000000000000000000000000000000..c56a9bf0d830186d407862096eafd9d040e530b8 GIT binary patch literal 27896 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

C6;w5S_e>`Nr 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 + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 0000000..2ea7ff3 --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/css/custom.css b/_static/css/custom.css new file mode 100644 index 0000000..acd5197 --- /dev/null +++ b/_static/css/custom.css @@ -0,0 +1,27 @@ +.docutils.align-default { + width: 100%; + display: block; /* Needed to apply overflow properties */ + overflow-x: auto; /* Horizontal scrollbar */ + overflow-y: auto; /* Vertical scrollbar */ + max-height: 750px; /* Optional: Limits the height of the table container */ +} + +/* Optional: Style the table itself to make it more readable */ +.docutils.align-default table { + border-collapse: collapse; + width: 100%; +} + +.docutils.align-default th, .docutils.align-default td { + border: 1px solid #ddd; + padding: 8px; +} + +.docutils.align-default th { + background-color: #f2f2f2; + text-align: left; +} + +.wide-table { + width: 200%; +} diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..4d67807 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..89435bb --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '1.0.0', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/files/99_output_specification.csv b/_static/files/99_output_specification.csv new file mode 100644 index 0000000..78fb248 --- /dev/null +++ b/_static/files/99_output_specification.csv @@ -0,0 +1,124 @@ +name,title,description,type,contraints,required,unique,minimum,maximum,gis_layer,ee_asset_vars +``id``,Dam Identifier, Dam identifier, integer,,TRUE,TRUE,1,,NA,- +``country``,Country Name, The name of the country the dam is located in (the ISO 3166 official short name (EN)), string,,TRUE,FALSE,,,NA,- +``name``,Dam Name, The name of the dam, string,,TRUE,FALSE,,,NA,- +``river``,River Name, The name of the river the dam will be constructed on, string,,TRUE,FALSE,,,NA,- +``main_basin``,Main Basin Name, The name of main river basin the dam will be located in, string,,TRUE,FALSE,,,NA,- +``dam_lat``,Dam Latitude, The latitude of the dam location in decimal degrees (DD), number,,TRUE,FALSE,-60,60,NA,- +``dam_lon``,Dam Longitude, The longitude of the dam location in decimal degrees (DD), number,,TRUE,FALSE,-180,180,NA,- +``dam_height``,Dam Height, The dam height in metres (m), number,,TRUE,FALSE,10,300,NA,- +``year_commissioned``,Year Commissioned,The year the dam was commissioned in,number,,TRUE,FALSE,0,,, +``fsl_msl``,Full Supply Level,The full supply level of the reservoir (masl), number,,TRUE,FALSE,-113,9148,NA,- +``power_capacity`` ,Power Capacity, The installed power capacity of the dam in megawatts (MW), number,,TRUE,FALSE,0.001,22500,NA,- +``turbine_efficiency``,Turbine Efficiency," The efficiency of the dam's turbines, percentage (%)", number,,TRUE,FALSE,0,100,NA,- +``plant_depth``,Power Plant Depth, The depth of the power plant below the base of the dam wall in metres (m), number,,TRUE,FALSE,0,300,NA,- +``ps_snap_displacement``,Snap Displacement,The distance between the hydroriver-snapped dam location and the raw dam location (m,number,,TRUE,FALSE,0,,NA,- +``ps_lat``,Snapped Dam Latitude, The latitude of the snapped dam location in decimal degrees (DD), number,,TRUE,FALSE,-90,90,NA,- +``ps_lon``,Snapped Dam Longitude, The longitude of the snapped dam location in decimal degrees (DD), number,,TRUE,FALSE,-180,180,NA,- +``d_dam_elevation_analysis``,Dam Elevation (Analysis),The elevation at the dam location used in reservoir delination, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``d_dam_elevation_snapped``,Dam Elevation (Snapped),The elevation at the snapped dam location, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``d_dam_elevation_raw``,Dam Elevation (Raw),The elevation at the raw dam location, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``c_area_km2``,Area [catchment],The area of the catchment ($km^2$), number,,TRUE,FALSE,0,,NA,- +``c_mean_slope_pc``,Mean slope [catchment],The mean slope of the catchment (%), number,,TRUE,FALSE,0,241.41,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``c_biome``,Predominant biome [catchment],The predominant biome of the catchment,string,,TRUE,FALSE,,,RESOLVE/ECOREGIONS/2017,f[BIOME_NAME] +``c_climate_zone``,Predominant climate [catchment],The predominant climate zone of the catchment (koppen climate zones - see 99_koppen_codes.md),number,,TRUE,FALSE,,,XHEET_ASSETS/Beck_KG_V1_present_0p0083,b[b1] +``c_population``,Population [catchment],The population of the catchment (persons),number,,TRUE,FALSE,0,,CIESIN/GPWv411/GPW_Population_Density,b[population_density] +``c_population_density``,Population density [catchment],The population density of the catchment ($persons/km^2$),number,,TRUE,FALSE,0,78683,CIESIN/GPWv411/GPW_Population_Density,b[population_density] +``c_landcover_0``,Landcover category 0 fraction [catchment],The landcover category 0 ('No Data') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_1``,Landcover category 1 fraction [catchment],The landcover category 1 ('Croplands') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_2``,Landcover category 2 fraction [catchment],The landcover category 2 ('Grassland/Shrubland') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_3``,Landcover category 3 fraction [catchment],The landcover category 3 ('Forest') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_4``,Landcover category 4 fraction [catchment],The landcover category 4 ('Wetlands') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_5``,Landcover category 5 fraction [catchment],The landcover category 5 ('Settlements') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_6``,Landcover category 6 fraction [catchment],The landcover category 6 ('Bare Areas') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_7``,Landcover category 7 fraction [catchment],The landcover category 7 ('Water Bodies') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_landcover_8``,Landcover category 8 fraction [catchment],The landcover category 8 ('Permanent snow and ice') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,b[b1] +``c_mpet_mm``,Mean annual evapotranspiration [catchment],The mean annual evapotranspiration for the catchment (mm/year),number,,TRUE,FALSE,0,2500,IDAHO_EPSCOR/TERRACLIMATE,b[pet] +``c_mpet_mm_alt1``,Mean annual evapotranspiration [catchment] alt1,The mean annual evapotranspiration for the catchment (mm/year) alt1,number,,TRUE,FALSE,0,2500,XHEET_ASSETS/Eo150_clim_xyz_updated,b[b1] +``c_map_mm``,Mean annual precipitation [catchment],The mean annual precipitation for the catchment (mm/year),number,,TRUE,FALSE,0,6000,XHEET_ASSETS/wc2-1_30s_bio_12,b[b1] +``c_map_mm_alt1``,Mean annual precipitation [catchment],The mean annual precipitation for the catchment (mm/year),number,,TRUE,FALSE,0,6000,IDAHO_EPSCOR/TERRACLIMATE,b[pr] +``c_mar_mm``,Mean annual runoff [catchment] default,The mean annual runoff for the catchment (mm/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,6000,XHEET_ASSETS/cmp_ro_grdc,b[b1] +``c_mar_mm_alt2``,Mean annual runoff alt2 [catchment],The mean annual runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar year, number,,TRUE,FALSE,0,6000,IDAHO_EPSCOR/TERRACLIMATE,b[ro] +``c_mmr_mm_alt2``,Mean monthly runoff alt2 [catchment],The mean monthly runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar month, number,,TRUE,FALSE,0,500,IDAHO_EPSCOR/TERRACLIMATE,b[ro] +``c_mad_m3_peryr``,Mean annual discharge [catchment] default,The mean annual discharge for the catchment (m3/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,,XHEET_ASSETS/cmp_ro_grdc,b[b1] +``c_mad_m3_pers``,Mean annual discharge [catchment] default,The mean annual discharge for the catchment (m3/s). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,,XHEET_ASSETS/cmp_ro_grdc,b[b1] +``c_msocs_kgperm2``,Mean soil organic carbon stocks [catchment],The mean soil organic carbon stocks of the catchment (0-30cm; $kg C m^2$),number,,TRUE,FALSE,0,,projects/soilgrids-isric/ocs_mean,b[ocs_mean] +``c_msocc_perc``,Mean soil organic carbon content [catchment],The mean soil organic carbon content of the catchment (0-30cm; $%$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean +``c_msocc_gperkg``,Mean soil organic carbon content [catchment],The mean soil organic carbon content of the catchment (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean +``c_msnc_gperkg``,Mean soil total nitrogen content [catchment],The mean soil nitrogen content of the catchment (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/nitrogen_mean,b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean +``c_msbdod_kgperdm3``,Mean soil bulk density [catchment],The mean soil bulk of the catchment (0-30cm; $kg/dm^3$),,,TRUE,FALSE,0,,projects/soilgrids-isric/bdod_mean,b[bdod_0-5cm_mean]|bdod_5-15cm_mean|bdod_15-30cm_mean +``c_doc_export``,DOC export [non-inundated catchment],The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1),number,,TRUE,FALSE,,,projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean|soc_30-60cm_mean|soc_60-100cm_mean|b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean|nitrogen_30-60cm_mean|nitrogen_60-100cm_mean +``c_mswn_molperkg``,Mean strata_weighted mols N /kg [catchment],Mean strata_weighted mols N /kg [catchment],number,,TRUE,FALSE,0,71, projects/soilgrids-isric/nitrogen_mean,b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean|nitrogen_30-60cm_mean|nitrogen_60-100cm_mean +``c_mswc_molperkg``,Mean strata_weighted mols C/kg [catchment],Mean strata_weighted mols C /kg [catchment],number,,TRUE,FALSE,0,83,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean|soc_30-60cm_mean|soc_60-100cm_mean +``c_soil_type``,Soil Type [catchment],The predominant soil type (mineral/organic) of the catchment area,string,,TRUE,FALSE,,,projects/soilgrids-isric/ocs_mean,b[ocs_mean] +``c_masm_mm``,Mean soil moisture [catchment],The nean soil moisture of the catchment (mm/m soil depth),number,,TRUE,FALSE,0,,NASA_USDA/HSL/SMAP10KM_soil_moisture,b[b1] +``c_mean_olsen``,Soil Olsen P [catchment],The soil Olsen P of the catchment (kg ha-1),number,,TRUE,FALSE,0,,XHEET_ASSETS/OlsenP_kgha1_World,b[b1] +``n_population``,Population [non-inundated catchment],The population of non-inundated catchment (persons),number,,TRUE,FALSE,0,,CIESIN/GPWv411/GPW_Population_Density,b[population_density] +``n_population_density``,Population density [non-inundated catchment],The population of non-inundated catchment ($persons/km^2$),number,,TRUE,FALSE,0,78683,CIESIN/GPWv411/GPW_Population_Density,b[population_density] +``n_doc_export``,DOC export [non-inundated catchment],The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1),number,,TRUE,FALSE,,,projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean|soc_30-60cm_mean|soc_60-100cm_mean|b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean|nitrogen_30-60cm_mean|nitrogen_60-100cm_mean +``n_mswn_molperkg``,Mean strata_weighted mols N /kg [ni catchment],Mean strata_weighted mols N /kg [ni catchment],number,,TRUE,FALSE,0,71, projects/soilgrids-isric/nitrogen_mean,b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean|nitrogen_30-60cm_mean|nitrogen_60-100cm_mean +``n_mswc_molperkg``,Mean strata_weighted mols C/kg [ni catchment],Mean strata_weighted mols C /kg [ni catchment],number,,TRUE,FALSE,0,83,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean|soc_30-60cm_mean|soc_60-100cm_mean +``r_imputed_water_level``,Imputed water level,The imputed water level (m) relative to the base of the dam,number,,TRUE,FALSE,0,,NA,- +``r_imputed_water_level_prov``,Imputed water level provenance,"The imputed water level provenance (0 - inputted water level, 1 - inputted dam height , 2- calculated dam height )",number,,TRUE,FALSE,0,,NA,- +``r_area_km2``,Area [reservoir],The area of the reservoir ($km^2$),number,,TRUE,FALSE,0,,NA,- +``r_volume_m3``,Volume [reservoir],The volume of the reservoir ($m^3$),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``r_mean_depth_m``,Mean depth [reservoir],The mean depth of the reservoir (m),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``r_maximum_depth_m``,Maximum depth [reservoir],The maximum depth of the reservoir (m); Default definition 1: max(Water Elevation(res) - Land Elevation(res)),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``r_maximum_depth_m_alt1``,Maximum depth [reservoir] alt 1,The maximum depth of the reservoir (m); Alternative definition 1: Max Elevation(res) - Min Elevation(dam) NB: this definition assumes that the deepest point of the reservoir is at the dam wall, number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``r_maximum_depth_m_alt2``,Maximum depth [reservoir] alt 2,The maximum depth of the reservoir (m); Alternative 2: Max Elevation(res) - Min Elevation(res),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM,b[elevation];b[b1];b[b1] +``r_landcover_bysoil_0``,Landcover/soil type category 0 fraction [reservoir],The landcover/soil type category ('Mineral - No Data') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_1``,Landcover/soil type category 1 fraction [reservoir],The landcover/soil type category 1 ('Mineral - Croplands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_2``,Landcover/soil type category 2 fraction [reservoir],The landcover/soil type category 2 ('Mineral - Grassland/Shrubland') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_3``,Landcover/soil type category 3 fraction [reservoir],The landcover/soil type category 3 ('Mineral - Forest') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_4``,Landcover/soil type category 4 fraction [reservoir],The landcover/soil type category 4 ('Mineral - Wetlands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_5``,Landcover/soil type category 5 fraction [reservoir],The landcover/soil type category 5 ('Mineral - Settlements') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_6``,Landcover/soil type category 6 fraction [reservoir],The landcover/soil type category 6 ('Mineral - Bare Areas') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_7``,Landcover/soil type category 7 fraction [reservoir],The landcover/soil type category 7 ('Mineral - Water Bodies') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_8``,Landcover/soil type category 8 fraction [reservoir],The landcover/soil type category 8 ('Mineral - Permanent snow and ice') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_9``,Landcover/soil type category 9 fraction [reservoir],The landcover/soil type category 9 ('Organic - No Data') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_10``,Landcover/soil type category 10 fraction [reservoir],The landcover/soil type category 10 ('Organic - Croplands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_11``,Landcover/soil type category 11 fraction [reservoir],The landcover/soil type category 11 ('Organic - Grassland/Shrubland') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_12``,Landcover/soil type category 12 fraction [reservoir],The landcover/soil type category 12 ('Organic - Forest') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_13``,Landcover/soil type category 13 fraction [reservoir],The landcover/soil type category 13 ('Organic - Wetlands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_14``,Landcover/soil type category 14 fraction [reservoir],The landcover/soil type category 14 ('Organic - Settlements') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_15``,Landcover/soil type category 15 fraction [reservoir],The landcover/soil type category 15 ('Organic - Bare Areas') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_16``,Landcover/soil type category 16 fraction [reservoir],The landcover/soil type category 16 ('Organic - Water Bodies') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_17``,Landcover/soil type category 17 fraction [reservoir],The landcover/soil type category 17 ('Organic - Permanent snow and ice') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_18``,Landcover/soil type category 18 fraction [reservoir],The landcover/soil type category 18 ('No Data - No Data') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_19``,Landcover/soil type category 19 fraction [reservoir],The landcover/soil type category 19 ('No Data - Croplands') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_20``,Landcover/soil type category 20 fraction [reservoir],The landcover/soil type category 20 ('No Data - Grassland/Shrubland') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_21``,Landcover/soil type category 21 fraction [reservoir],The landcover/soil type category 21 ('No Data - Forest') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_22``,Landcover/soil type category 22 fraction [reservoir],The landcover/soil type category 22 ('No Data - Wetlands') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_23``,Landcover/soil type category 23 fraction [reservoir],The landcover/soil type category 23 ('No Data - Settlements') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_24``,Landcover/soil type category 24 fraction [reservoir],The landcover/soil type category 24 ('No Data - Bare Areas') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_25``,Landcover/soil type category 25 fraction [reservoir],The landcover/soil type category 25 ('No Data - Water Bodies') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_landcover_bysoil_26``,Landcover/soil type category 26 fraction [reservoir],The landcover/soil type category 26 ('No Data - Permanent snow and ice') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived,- +``r_mean_temp_1``,Mean monthly temperature (Jan) [reservoir],Mean monthly temperature (Jan) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_2``,Mean monthly temperature (Feb) [reservoir],Mean monthly temperature (Feb) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_3``,Mean monthly temperature (Mar) [reservoir],Mean monthly temperature (Mar) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_4``,Mean monthly temperature (Apr) [reservoir],Mean monthly temperature (Apr) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_5``,Mean monthly temperature (May) [reservoir],Mean monthly temperature (May) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_6``,Mean monthly temperature (Jun) [reservoir],Mean monthly temperature (Jun) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_7``,Mean monthly temperature (Jul) [reservoir],Mean monthly temperature (Jul) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_8``,Mean monthly temperature (Aug) [reservoir],Mean monthly temperature (Aug) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_9``,Mean monthly temperature (Sep) [reservoir],Mean monthly temperature (Sep) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_10``,Mean monthly temperature (Oct) [reservoir],Mean monthly temperature (Oct) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_11``,Mean monthly temperature (Nov) [reservoir],Mean monthly temperature (Nov) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mean_temp_12``,Mean monthly temperature (Dec) [reservoir],Mean monthly temperature (Dec) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg,b[b1] +``r_mghr_all_kwhperm2perday``,Mean global horizonal radiance [reservoir],"Mean global horizontal radiance, reservoir ($kWh m^2 d^-1$); Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,f[annual] +``r_mghr_all_kwhperm2perday_alt1``,"Mean global horizonal radiance, alt1 [reservoir]",Mean global horizontal radiance ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].,number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,b[b1] +``r_mghr_may_sept_kwhperm2perday``,Mean global horizonal radiance May-Sept [reservoir],"Mean global horizontal radiance May-Sept, reservoir ($kWh m^2 d^-1$); Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,f[annual] +``r_mghr_may_sept_kwhperm2perday_alt1``,Mean global horizonal radiance May-Sept [reservoir],"Mean global horizontal radiance May-Sept, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,b[b1] +``r_mghr_nov_mar_kwhperm2perday``,Mean global horizonal radiance Nov-Mar [reservoir],"Mean global horizontal radiance Nov-Mar, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,f[annual] +``r_mghr_nov_mar_kwhperm2perday_alt1``,Mean global horizonal radiance Nov-Mar [reservoir],"Mean global horizontal radiance Nov-Mar, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low,b[b1] +``r_msocs_kgperm2``,Mean soil organic carbon stocks [reservoir],The mean soil organic carbon stocks of the reservoir (0-30cm; $kg C m^2$),number,,TRUE,FALSE,0,,projects/soilgrids-isric/ocs_mean,b[ocs_mean] +``r_msocc_perc``,Mean soil organic carbon content [reservoir],The mean soil organic carbon content of the reservoir (0-30cm; $%$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean +``r_msocc_gperkg``,Mean soil organic carbon content [reservoir],The mean soil organic carbon content of the reservoir (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean,b[soc_0-5cm_mean]|soc_5-15cm_mean|soc_15-30cm_mean +``r_msnc_gperkg``,Mean soil total nitrogen content [reservoir],The mean soil nitrogen content of the reservoir (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/nitrogen_mean,b[nitrogen_0-5cm_mean]|nitrogen_5-15cm_mean|nitrogen_15-30cm_mean +``r_msbdod_kgperdm3``,Mean soil bulk density [reservoir],The mean soil bulk of the reservoir (0-30cm; $kg/dm^3$),,,TRUE,FALSE,0,,projects/soilgrids-isric/bdod_mean,b[bdod_0-5cm_mean]|bdod_5-15cm_mean|bdod_15-30cm_mean +``r_mean_annual_windspeed_mpers``,Mean annual wind speed [reservoir],Mean annual wind speed at the reservoir ($m s^-1$),number,,TRUE,FALSE,0,,IDAHO_EPSCOR/TERRACLIMATE,b[vs] +``ms_length``,Length of inundated river [reservoir],Length of inundated river (km),number,,TRUE,FALSE,0,,XHEET_ASSETS/HydroRIVERS_v10,various +``t_landcover_analysis_yr``,Landcover data year (landcover analysis),Date of landcover data used in landcover analysis,number,,TRUE,FALSE,,,, +``t_landcover_delineation_yr``,Landcover data year (reservoir delineation),Date of landcover data used in delineation of existing reservoirs,number,,TRUE,FALSE,,,, +``t_landcover_buffer_method``,Buffer method indicator,Buffer method used in landcover analysis?,number,,TRUE,FALSE,,,, +``error_code``,Error codes,Error code; ,number,,TRUE,FALSE,0,,, diff --git a/_static/files/99_output_specification1.csv b/_static/files/99_output_specification1.csv new file mode 100644 index 0000000..c503964 --- /dev/null +++ b/_static/files/99_output_specification1.csv @@ -0,0 +1,124 @@ +name,title,description,type,contraints,required,unique,minimum,maximum,gis_layer +``id``,Dam Identifier, Dam identifier, integer,,TRUE,TRUE,1,,NA +``country``,Country Name, The name of the country the dam is located in (the ISO 3166 official short name (EN)), string,,TRUE,FALSE,,,NA +``name``,Dam Name, The name of the dam, string,,TRUE,FALSE,,,NA +``river``,River Name, The name of the river the dam will be constructed on, string,,TRUE,FALSE,,,NA +``main_basin``,Main Basin Name, The name of main river basin the dam will be located in, string,,TRUE,FALSE,,,NA +``dam_lat``,Dam Latitude, The latitude of the dam location in decimal degrees (DD), number,,TRUE,FALSE,-60,60,NA +``dam_lon``,Dam Longitude, The longitude of the dam location in decimal degrees (DD), number,,TRUE,FALSE,-180,180,NA +``dam_height``,Dam Height, The dam height in metres (m), number,,TRUE,FALSE,10,300,NA +``year_commissioned``,Year Commissioned,The year the dam was commissioned in,number,,TRUE,FALSE,0,, +``fsl_msl``,Full Supply Level,The full supply level of the reservoir (masl), number,,TRUE,FALSE,-113,9148,NA +``power_capacity`` ,Power Capacity, The installed power capacity of the dam in megawatts (MW), number,,TRUE,FALSE,0.001,22500,NA +``turbine_efficiency``,Turbine Efficiency," The efficiency of the dam's turbines, percentage (%)", number,,TRUE,FALSE,0,100,NA +``plant_depth``,Power Plant Depth, The depth of the power plant below the base of the dam wall in metres (m), number,,TRUE,FALSE,0,300,NA +``ps_snap_displacement``,Snap Displacement,The distance between the hydroriver-snapped dam location and the raw dam location (m,number,,TRUE,FALSE,0,,NA +``ps_lat``,Snapped Dam Latitude, The latitude of the snapped dam location in decimal degrees (DD), number,,TRUE,FALSE,-90,90,NA +``ps_lon``,Snapped Dam Longitude, The longitude of the snapped dam location in decimal degrees (DD), number,,TRUE,FALSE,-180,180,NA +``d_dam_elevation_analysis``,Dam Elevation (Analysis),The elevation at the dam location used in reservoir delination, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``d_dam_elevation_snapped``,Dam Elevation (Snapped),The elevation at the snapped dam location, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``d_dam_elevation_raw``,Dam Elevation (Raw),The elevation at the raw dam location, number,,TRUE,FALSE,-413,8848,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``c_area_km2``,Area [catchment],The area of the catchment ($km^2$), number,,TRUE,FALSE,0,,NA +``c_mean_slope_pc``,Mean slope [catchment],The mean slope of the catchment (%), number,,TRUE,FALSE,0,241.41,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``c_biome``,Predominant biome [catchment],The predominant biome of the catchment,string,,TRUE,FALSE,,,RESOLVE/ECOREGIONS/2017 +``c_climate_zone``,Predominant climate [catchment],The predominant climate zone of the catchment (koppen climate zones - see 99_koppen_codes.md),number,,TRUE,FALSE,,,XHEET_ASSETS/Beck_KG_V1_present_0p0083 +``c_population``,Population [catchment],The population of the catchment (persons),number,,TRUE,FALSE,0,,CIESIN/GPWv411/GPW_Population_Density +``c_population_density``,Population density [catchment],The population density of the catchment ($persons/km^2$),number,,TRUE,FALSE,0,78683,CIESIN/GPWv411/GPW_Population_Density +``c_landcover_0``,Landcover category 0 fraction [catchment],The landcover category 0 ('No Data') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_1``,Landcover category 1 fraction [catchment],The landcover category 1 ('Croplands') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_2``,Landcover category 2 fraction [catchment],The landcover category 2 ('Grassland/Shrubland') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_3``,Landcover category 3 fraction [catchment],The landcover category 3 ('Forest') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_4``,Landcover category 4 fraction [catchment],The landcover category 4 ('Wetlands') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_5``,Landcover category 5 fraction [catchment],The landcover category 5 ('Settlements') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_6``,Landcover category 6 fraction [catchment],The landcover category 6 ('Bare Areas') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_7``,Landcover category 7 fraction [catchment],The landcover category 7 ('Water Bodies') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_landcover_8``,Landcover category 8 fraction [catchment],The landcover category 8 ('Permanent snow and ice') fraction of the catchment,number,,TRUE,FALSE,0,1,XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class +``c_mpet_mm``,Mean annual evapotranspiration [catchment],The mean annual evapotranspiration for the catchment (mm/year),number,,TRUE,FALSE,0,2500,IDAHO_EPSCOR/TERRACLIMATE +``c_mpet_mm_alt1``,Mean annual evapotranspiration [catchment] alt1,The mean annual evapotranspiration for the catchment (mm/year) alt1,number,,TRUE,FALSE,0,2500,XHEET_ASSETS/Eo150_clim_xyz_updated +``c_map_mm``,Mean annual precipitation [catchment],The mean annual precipitation for the catchment (mm/year),number,,TRUE,FALSE,0,6000,XHEET_ASSETS/wc2-1_30s_bio_12 +``c_map_mm_alt1``,Mean annual precipitation [catchment],The mean annual precipitation for the catchment (mm/year),number,,TRUE,FALSE,0,6000,IDAHO_EPSCOR/TERRACLIMATE +``c_mar_mm``,Mean annual runoff [catchment] default,The mean annual runoff for the catchment (mm/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,6000,XHEET_ASSETS/cmp_ro_grdc +``c_mar_mm_alt2``,Mean annual runoff alt2 [catchment],The mean annual runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar year, number,,TRUE,FALSE,0,6000,IDAHO_EPSCOR/TERRACLIMATE +``c_mmr_mm_alt2``,Mean monthly runoff alt2 [catchment],The mean monthly runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar month, number,,TRUE,FALSE,0,500,IDAHO_EPSCOR/TERRACLIMATE +``c_mad_m3_peryr``,Mean annual discharge [catchment] default,The mean annual discharge for the catchment (m3/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,,XHEET_ASSETS/cmp_ro_grdc +``c_mad_m3_pers``,Mean annual discharge [catchment] default,The mean annual discharge for the catchment (m3/s). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002),number,,TRUE,FALSE,0,,XHEET_ASSETS/cmp_ro_grdc +``c_msocs_kgperm2``,Mean soil organic carbon stocks [catchment],The mean soil organic carbon stocks of the catchment (0-30cm; $kg C m^2$),number,,TRUE,FALSE,0,,projects/soilgrids-isric/ocs_mean +``c_msocc_perc``,Mean soil organic carbon content [catchment],The mean soil organic carbon content of the catchment (0-30cm; $%$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean +``c_msocc_gperkg``,Mean soil organic carbon content [catchment],The mean soil organic carbon content of the catchment (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean +``c_msnc_gperkg``,Mean soil total nitrogen content [catchment],The mean soil nitrogen content of the catchment (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/nitrogen_mean +``c_msbdod_kgperdm3``,Mean soil bulk density [catchment],The mean soil bulk of the catchment (0-30cm; $kg/dm^3$),,,TRUE,FALSE,0,,projects/soilgrids-isric/bdod_mean +``c_doc_export``,DOC export [non-inundated catchment],The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1),number,,TRUE,FALSE,,,projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean +``c_mswn_molperkg``,Mean strata_weighted mols N /kg [catchment],Mean strata_weighted mols N /kg [catchment],number,,TRUE,FALSE,0,71, projects/soilgrids-isric/nitrogen_mean +``c_mswc_molperkg``,Mean strata_weighted mols C/kg [catchment],Mean strata_weighted mols C /kg [catchment],number,,TRUE,FALSE,0,83,projects/soilgrids-isric/soc_mean +``c_soil_type``,Soil Type [catchment],The predominant soil type (mineral/organic) of the catchment area,string,,TRUE,FALSE,,,projects/soilgrids-isric/ocs_mean +``c_masm_mm``,Mean soil moisture [catchment],The nean soil moisture of the catchment (mm/m soil depth),number,,TRUE,FALSE,0,,NASA_USDA/HSL/SMAP10KM_soil_moisture +``c_mean_olsen``,Soil Olsen P [catchment],The soil Olsen P of the catchment (kg ha-1),number,,TRUE,FALSE,0,,XHEET_ASSETS/OlsenP_kgha1_World +``n_population``,Population [non-inundated catchment],The population of non-inundated catchment (persons),number,,TRUE,FALSE,0,,CIESIN/GPWv411/GPW_Population_Density +``n_population_density``,Population density [non-inundated catchment],The population of non-inundated catchment ($persons/km^2$),number,,TRUE,FALSE,0,78683,CIESIN/GPWv411/GPW_Population_Density +``n_doc_export``,DOC export [non-inundated catchment],The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1),number,,TRUE,FALSE,,,projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean +``n_mswn_molperkg``,Mean strata_weighted mols N /kg [ni catchment],Mean strata_weighted mols N /kg [ni catchment],number,,TRUE,FALSE,0,71, projects/soilgrids-isric/nitrogen_mean +``n_mswc_molperkg``,Mean strata_weighted mols C/kg [ni catchment],Mean strata_weighted mols C /kg [ni catchment],number,,TRUE,FALSE,0,83,projects/soilgrids-isric/soc_mean +``r_imputed_water_level``,Imputed water level,The imputed water level (m) relative to the base of the dam,number,,TRUE,FALSE,0,,NA +``r_imputed_water_level_prov``,Imputed water level provenance,"The imputed water level provenance (0 - inputted water level, 1 - inputted dam height , 2- calculated dam height )",number,,TRUE,FALSE,0,,NA +``r_area_km2``,Area [reservoir],The area of the reservoir ($km^2$),number,,TRUE,FALSE,0,,NA +``r_volume_m3``,Volume [reservoir],The volume of the reservoir ($m^3$),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``r_mean_depth_m``,Mean depth [reservoir],The mean depth of the reservoir (m),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``r_maximum_depth_m``,Maximum depth [reservoir],The maximum depth of the reservoir (m); Default definition 1: max(Water Elevation(res) - Land Elevation(res)),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``r_maximum_depth_m_alt1``,Maximum depth [reservoir] alt 1,The maximum depth of the reservoir (m); Alternative definition 1: Max Elevation(res) - Min Elevation(dam) NB: this definition assumes that the deepest point of the reservoir is at the dam wall, number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``r_maximum_depth_m_alt2``,Maximum depth [reservoir] alt 2,The maximum depth of the reservoir (m); Alternative 2: Max Elevation(res) - Min Elevation(res),number,,TRUE,FALSE,0,,USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM +``r_landcover_bysoil_0``,Landcover/soil type category 0 fraction [reservoir],The landcover/soil type category ('Mineral - No Data') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_1``,Landcover/soil type category 1 fraction [reservoir],The landcover/soil type category 1 ('Mineral - Croplands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_2``,Landcover/soil type category 2 fraction [reservoir],The landcover/soil type category 2 ('Mineral - Grassland/Shrubland') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_3``,Landcover/soil type category 3 fraction [reservoir],The landcover/soil type category 3 ('Mineral - Forest') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_4``,Landcover/soil type category 4 fraction [reservoir],The landcover/soil type category 4 ('Mineral - Wetlands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_5``,Landcover/soil type category 5 fraction [reservoir],The landcover/soil type category 5 ('Mineral - Settlements') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_6``,Landcover/soil type category 6 fraction [reservoir],The landcover/soil type category 6 ('Mineral - Bare Areas') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_7``,Landcover/soil type category 7 fraction [reservoir],The landcover/soil type category 7 ('Mineral - Water Bodies') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_8``,Landcover/soil type category 8 fraction [reservoir],The landcover/soil type category 8 ('Mineral - Permanent snow and ice') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_9``,Landcover/soil type category 9 fraction [reservoir],The landcover/soil type category 9 ('Organic - No Data') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_10``,Landcover/soil type category 10 fraction [reservoir],The landcover/soil type category 10 ('Organic - Croplands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_11``,Landcover/soil type category 11 fraction [reservoir],The landcover/soil type category 11 ('Organic - Grassland/Shrubland') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_12``,Landcover/soil type category 12 fraction [reservoir],The landcover/soil type category 12 ('Organic - Forest') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_13``,Landcover/soil type category 13 fraction [reservoir],The landcover/soil type category 13 ('Organic - Wetlands') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_14``,Landcover/soil type category 14 fraction [reservoir],The landcover/soil type category 14 ('Organic - Settlements') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_15``,Landcover/soil type category 15 fraction [reservoir],The landcover/soil type category 15 ('Organic - Bare Areas') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_16``,Landcover/soil type category 16 fraction [reservoir],The landcover/soil type category 16 ('Organic - Water Bodies') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_17``,Landcover/soil type category 17 fraction [reservoir],The landcover/soil type category 17 ('Organic - Permanent snow and ice') fraction of the reservoir,number,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_18``,Landcover/soil type category 18 fraction [reservoir],The landcover/soil type category 18 ('No Data - No Data') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_19``,Landcover/soil type category 19 fraction [reservoir],The landcover/soil type category 19 ('No Data - Croplands') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_20``,Landcover/soil type category 20 fraction [reservoir],The landcover/soil type category 20 ('No Data - Grassland/Shrubland') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_21``,Landcover/soil type category 21 fraction [reservoir],The landcover/soil type category 21 ('No Data - Forest') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_22``,Landcover/soil type category 22 fraction [reservoir],The landcover/soil type category 22 ('No Data - Wetlands') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_23``,Landcover/soil type category 23 fraction [reservoir],The landcover/soil type category 23 ('No Data - Settlements') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_24``,Landcover/soil type category 24 fraction [reservoir],The landcover/soil type category 24 ('No Data - Bare Areas') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_25``,Landcover/soil type category 25 fraction [reservoir],The landcover/soil type category 25 ('No Data - Water Bodies') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_landcover_bysoil_26``,Landcover/soil type category 26 fraction [reservoir],The landcover/soil type category 26 ('No Data - Permanent snow and ice') fraction of the reservoir,,,TRUE,FALSE,0,1,Derived +``r_mean_temp_1``,Mean monthly temperature (Jan) [reservoir],Mean monthly temperature (Jan) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_2``,Mean monthly temperature (Feb) [reservoir],Mean monthly temperature (Feb) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_3``,Mean monthly temperature (Mar) [reservoir],Mean monthly temperature (Mar) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_4``,Mean monthly temperature (Apr) [reservoir],Mean monthly temperature (Apr) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_5``,Mean monthly temperature (May) [reservoir],Mean monthly temperature (May) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_6``,Mean monthly temperature (Jun) [reservoir],Mean monthly temperature (Jun) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_7``,Mean monthly temperature (Jul) [reservoir],Mean monthly temperature (Jul) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_8``,Mean monthly temperature (Aug) [reservoir],Mean monthly temperature (Aug) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_9``,Mean monthly temperature (Sep) [reservoir],Mean monthly temperature (Sep) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_10``,Mean monthly temperature (Oct) [reservoir],Mean monthly temperature (Oct) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_11``,Mean monthly temperature (Nov) [reservoir],Mean monthly temperature (Nov) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mean_temp_12``,Mean monthly temperature (Dec) [reservoir],Mean monthly temperature (Dec) for reservoir (degrees C),number,,TRUE,FALSE,-90,57,XHEET_ASSETS/wc2-1_30s_tavg +``r_mghr_all_kwhperm2perday``,Mean global horizonal radiance [reservoir],"Mean global horizontal radiance, reservoir ($kWh m^2 d^-1$); Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_mghr_all_kwhperm2perday_alt1``,"Mean global horizonal radiance, alt1 [reservoir]",Mean global horizontal radiance ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].,number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_mghr_may_sept_kwhperm2perday``,Mean global horizonal radiance May-Sept [reservoir],"Mean global horizontal radiance May-Sept, reservoir ($kWh m^2 d^-1$); Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_mghr_may_sept_kwhperm2perday_alt1``,Mean global horizonal radiance May-Sept [reservoir],"Mean global horizontal radiance May-Sept, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_mghr_nov_mar_kwhperm2perday``,Mean global horizonal radiance Nov-Mar [reservoir],"Mean global horizontal radiance Nov-Mar, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Default definition from NASA/SSE Irradiance Data 1983-2005",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_mghr_nov_mar_kwhperm2perday_alt1``,Mean global horizonal radiance Nov-Mar [reservoir],"Mean global horizontal radiance Nov-Mar, reservoir ($kWh m^2 d^-1$); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].",number,,TRUE,FALSE,0,,XHEET_ASSETS/GHI_NASA_low +``r_msocs_kgperm2``,Mean soil organic carbon stocks [reservoir],The mean soil organic carbon stocks of the reservoir (0-30cm; $kg C m^2$),number,,TRUE,FALSE,0,,projects/soilgrids-isric/ocs_mean +``r_msocc_perc``,Mean soil organic carbon content [reservoir],The mean soil organic carbon content of the reservoir (0-30cm; $%$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean +``r_msocc_gperkg``,Mean soil organic carbon content [reservoir],The mean soil organic carbon content of the reservoir (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/soc_mean +``r_msnc_gperkg``,Mean soil total nitrogen content [reservoir],The mean soil nitrogen content of the reservoir (0-30cm; $g/kg$),,,TRUE,FALSE,0,,projects/soilgrids-isric/nitrogen_mean +``r_msbdod_kgperdm3``,Mean soil bulk density [reservoir],The mean soil bulk of the reservoir (0-30cm; $kg/dm^3$),,,TRUE,FALSE,0,,projects/soilgrids-isric/bdod_mean +``r_mean_annual_windspeed_mpers``,Mean annual wind speed [reservoir],Mean annual wind speed at the reservoir ($m s^-1$),number,,TRUE,FALSE,0,,IDAHO_EPSCOR/TERRACLIMATE +``ms_length``,Length of inundated river [reservoir],Length of inundated river (km),number,,TRUE,FALSE,0,,XHEET_ASSETS/HydroRIVERS_v10 +``t_landcover_analysis_yr``,Landcover data year (landcover analysis),Date of landcover data used in landcover analysis,number,,TRUE,FALSE,,, +``t_landcover_delineation_yr``,Landcover data year (reservoir delineation),Date of landcover data used in delineation of existing reservoirs,number,,TRUE,FALSE,,, +``t_landcover_buffer_method``,Buffer method indicator,Buffer method used in landcover analysis?,number,,TRUE,FALSE,,, +``error_code``,Error codes,Error code; ,number,,TRUE,FALSE,0,, diff --git a/_static/files/gis_layer_metadata.csv b/_static/files/gis_layer_metadata.csv new file mode 100644 index 0000000..d22d723 --- /dev/null +++ b/_static/files/gis_layer_metadata.csv @@ -0,0 +1,21 @@ +gis_layer_title,gis_layer_location,ee_url,ee_asset_type,ee_asset_vars,tool_data_usage,tool_data_year,temporal_resolution,temporal_coverage,dataset_provider,dataset_provider_link,pixel_resolution,terms_of_use,citations,paper_url,notes +NASA SRTM Digital Elevation 30m,USGS/SRTMGL1_003,https://developers.google.com/earth-engine/datasets/catalog/USGS_SRTMGL1_003,ee.Image,b[elevation],This tool uses point values of elevation and slope from this GIS layer originating from year 2000,2000,single timepoint [2000],2000-02-11T00:00:00Z–2000-02-22T00:00:00,NASA / USGS / JPL-Caltech,https://cmr.earthdata.nasa.gov/search/concepts/C1000000240-LPDAAC_ECS.html,30 m [30.92 m],"Unless otherwise noted, images and video on JPL public web sites (public sites ending with a jpl.nasa.gov address) may be used for any purpose without prior permission. For more information and exceptions visit the JPL Image Use Policy site.","Farr, T.G., Rosen, P.A., Caro, E., Crippen, R., Duren, R., Hensley, S., Kobrick, M., Paller, M., Rodriguez, E., Roth, L., Seal, D., Shaffer, S., Shimada, J., Umland, J., Werner, M., Oskin, M., Burbank, D., and Alsdorf, D.E., 2007, The shuttle radar topography mission: Reviews of Geophysics, v. 45, no. 2, RG2004, at https://doi.org/10.1029/2005RG000183.",https://doi.org/10.1029/2005RG000183, +RESOLVE Ecoregions 2017,RESOLVE/ECOREGIONS/2017,https://developers.google.com/earth-engine/datasets/catalog/RESOLVE_ECOREGIONS_2017,ee.FeatureCollection,f[BIOME_NAME],This tool uses point values of biome name from year 2017,2017,single timepoint [2017],2017-04-05T00:00:00Z–2017-04-05T00:00:00,RESOLVE Biodiversity and Wildlife Solutions,https://ecoregions.appspot.com/,"Not Reported, [N/A (vector)]", CC-BY 4.0.,"Bioscience, An Ecoregions-Based Approach to Protecting Half the Terrestrial Realm doi:10.1093/biosci/bix014",https://academic.oup.com/bioscience/article/67/6/534/3102935, +Koppen-Geiger Global 1-km climate classification maps,XHEET_ASSETS/Beck_KG_V1_present_0p0083,-,ee.Image,b[b1],This tool uses point values of climate zone (long-term average of data from 1980-2016),Aggregate 1980-2016,single long-term average [1980-2016],1980-01-01T00:00:00Z–2016-12-31T23:59:59,GloH2O,http://www.gloh2o.org/koppen/,"0.0083°, [927.66 m]",CC BY-NC 4.0,"Beck, H.E., N.E. Zimmermann, T.R. McVicar, N. Vergopolan, A. Berg, E.F. WoodPresent and future Köppen-Geiger climate classification maps at 1‑km resolutionScientific Data 5:180214, doi:10.1038/sdata.2018.214 (2018)",https://www.nature.com/articles/sdata2018214, +GPWv411: Population Density (Gridded Population of the World Version 4.11),CIESIN/GPWv411/GPW_Population_Density,https://developers.google.com/earth-engine/datasets/catalog/CIESIN_GPWv411_GPW_Population_Density,ee.ImageCollection,b[population_density],This tool uses point values of population density from 2020,2020,"multiple [n = 5] 1yr time points [2000, 2005, 2010, 2015, 2020]",2000-01-01T00:00:00Z–2020-01-01T00:00:00,NASA SEDAC at the Center for International Earth Science Information Network,https://sedac.ciesin.columbia.edu/data/set/gpw-v4-population-density-rev11,927.67 m [927.66 m], CC-BY 4.0.,"Center for International Earth Science Information Network - CIESIN - Columbia University. 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW. Accessed DAY MONTH YEAR.",https://doi.org/10.7927/H49C6VHW, +"CCI Land Cover Maps - v2.0.7 (Years 1992, 2000, 2010)",XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,-,ee.Image,b[b1],"This tool uses point values of landuse from year 1992, 2000, 2010, 2020","1992, 2000, 2010","single timepoint [1992, 2000, 2010, 2020]",-,CCL (Climate Change Initiative),http://maps.elie.ucl.ac.be/CCI/viewer/; https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form,300 m [309.22 m],Copyright; submit copy of publication ,You shall acknowledge the ESA CCI Land Cover project in the text of the publication,-, +CCI Land Cover Maps - v2.1.1 (Years 2020),XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class,-,ee.Image,b[b1],"This tool uses point values of landuse from year 1992, 2000, 2010, 2020",2020,"single timepoint [1992, 2000, 2010, 2020]",-,CCL (Climate Change Initiative),http://maps.elie.ucl.ac.be/CCI/viewer/; https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form,300 m [309.22 m],Copyright; submit copy of publication ,You shall acknowledge the ESA CCI Land Cover project in the text of the publication,-, +"TerraClimate: Monthly Climate and Climatic Water Balance for Global Terrestrial Surfaces, University of Idaho ",IDAHO_EPSCOR/TERRACLIMATE,https://developers.google.com/earth-engine/datasets/catalog/IDAHO_EPSCOR_TERRACLIMATE,ee.ImageCollection,"b[ro, soil, srad, pet, vs]",This tool uses point values of landuse from 2010,2000-2019,multiple [n = 768] monthly time points [1958 - 2021],1958-01-01T00:00:00Z–2021-12-01T00:00:00,University of California Merced,https://www.climatologylab.org/terraclimate.html,4638.3 m [4638.31 m],CC0,"Abatzoglou, J.T., S.Z. Dobrowski, S.A. Parks, K.C. Hegewisch, 2018, Terraclimate, a high-resolution global dataset of monthly climate and climatic water balance from 1958-2015, Scientific Data 5:170191, doi:10.1038/sdata.2017.191",, +WorldClim 2.1: new 1-km spatial resolution climate surfaces for global land areas (bioclimactic variables),XHEET_ASSETS/wc2-1_30s_bio_12,-,ee.Image,b[b1],This tool uses point values of mean annual precipitation from 1970 - 2000,Aggregate 1970 - 2000,single long-term average [1970-2000],1970-01-01T00:00:00Z–2000-01-01T00:00:00,University of California,https://www.worldclim.org/data/worldclim21.html,"30'', [927.66 m]",version 2; You are not allowed to redistribute these data (see: http://www.worldclim.com/version2) version 2.1 (used); no information,"Fick, S.E. and R.J. Hijmans, 2017. Worldclim 2: New 1-km spatial resolution climate surfaces for global land areas. International Journal of Climatology.",https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.5086, +WorldClim 2.1: new 1-km spatial resolution climate surfaces for global land areas (monthly mean temperature variables),XHEET_ASSETS/wc2-1_30s_tavg,-,ee.ImageCollection,b[b1],This tool uses point values of monthly mean temperature from 1970 - 2000,Aggregate 1970 - 2000,single long-term average [1970-2000],1970-01-01T00:00:00Z–2000-01-01T00:00:00,University of California,https://www.worldclim.org/data/worldclim21.html,"30'', [927.66 m]",version 2; You are not allowed to redistribute these data (see: http://www.worldclim.com/version2) version 2.1 (used); no information,"Fick, S.E. and R.J. Hijmans, 2017. Worldclim 2: New 1-km spatial resolution climate surfaces for global land areas. International Journal of Climatology.",https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.5086, +UNH-GRDC Composite Runoff Fields V1.0,XHEET_ASSETS/cmp_ro_grdc,-,ee.Image,b[b1],This tool uses point values of long term mean annual runoff,?2000,single long-term average [<2000],Not Reported; evidence of input data 1970-1980,University of New Hampshire,https://www.compositerunoff.sr.unh.edu/html/Runoff,"30', 0.5°, [55659.74 m]",Unknown,"Fekete, Balázs M., Charles J. Vörösmarty, and Wolfgang Grabs. ""High‐resolution fields of global runoff combining observed river discharge and simulated water balances."" Global Biogeochemical Cycles 16.3 (2002): 15-1.",https://doi.org/10.1029/1999GB001254,Published 2002; +SoilGrids250m 2.0 ,projects/soilgrids-isric/ocs_mean,https://gee-community-catalog.org/projects/isric/,ee.Image,b[ocs_mean],This tool uses point values of modelled organic soil content,?2016,single modelled time point (2016) using data from period up to 2016,Fri Mar 31 1905 19:00:00 GMT-0500 Mon Jul 04 2016 20:00:00 GMT-0400,International Soil Reference and Information Centre (ISRIC),https://gee-community-catalog.org/projects/isric/,250 m [250 m], CC-BY 4.0.,"de Sousa, L., Poggio, L., Batjes, N.H., Heuvelink, G.B.M., Kempen, B., Ribeiro, E., Rossiter, D. SoilGrids 2.0: producing quality-assessed soil information for the globe. Under submission to SOIL",, +NASA-USDA Enhanced SMAP Global Soil Moisture Data,NASA_USDA/HSL/SMAP10KM_soil_moisture,https://developers.google.com/earth-engine/datasets/catalog/NASA_USDA_HSL_SMAP10KM_soil_moisture,ee.ImageCollection,b[b1],This tool uses point values of soil moisture,Aggregate 2016 - 2021,"multiple [n = 894] 48hr time points [2015, 2022]",2015-04-02T12:00:00Z–2022-08-02T12:00:00,NASA GSFC,https://gimms.gsfc.nasa.gov/SMOS/SMAP/,10000 m [12781.68 m],This dataset is in the public domain and is available without restriction on use and distribution. See NASA's Earth Science Data & Information Policy for additional information.,"O'Neill, P. E., S. Chan, E. G. Njoku, T. Jackson, and R. Bindlish (2016). SMAP L3 Radiometer Global Daily 36 km EASE-Grid Soil Moisture, Version 4. Boulder, Colorado USA. NASA National Snow and Ice Data Center Distributed Active Archive Center.doi:10.5067/ZX7YX2Y2LHEB",doi:10.5067/ZX7YX2Y2LHEB, +TBD,XHEET_ASSETS/OlsenP_kgha1_World,-,ee.Image,b[b1],Not known,Not known,single timepoint,TBD,TBD,TBD,Not Reported [ 1000 m],TBD,TBD,, +"Solar: Average Monthly and Annual Direct Normal Irradiance Data, One-Degree Resolution of the World from NASA/SSE, 1983-2005",XHEET_ASSETS/GHI_NASA_low,-,ee.FeatureCollection,f[annual],This tool uses point values of MGHR,Aggregate 1983-2005,single long-term average(s) [1983-2005],1983-01-01T00:00:00Z–2005-01-01T00:00:00,NASA Langley Atmospheric Sciences Data Center,https://earthworks.stanford.edu/catalog/stanford-fd535zg0917,"1°, ~111000m, [N/A vector]",This item is in the public domain. There are no restrictions on use.,"NASA Langley Atmospheric Sciences Data Center. (2008). Solar: Average Monthly and Annual Direct Normal Irradiance Data, One-Degree Resolution of the World from NASA/SSE, 1983-2005. [Shapefile]. Retrieved from https://earthworks.stanford.edu/catalog/stanford-fd535zg0917",-, +HydroRIVERS,XHEET_ASSETS/HydroRIVERS_v10,-,ee.FeatureCollection,various,This tool uses multiple river reach attributes,2000,single timepoint [2000],2000-02-11T00:00:00Z–2000-02-22T00:00:00,WWF - HydroSheds,https://www.hydrosheds.org/products/hydrorivers,"15'', [N/A vector]","HydroSHEDS data are free for non-commercial and commercial use. For more information, please refer to the License Agreement.","Lehner, B., Grill G. (2013). Global river hydrography and network routing: baseline data and new approaches to study the world’s large river systems. Hydrological Processes, 27(15): 2171–2186. https://doi.org/10.1002/hyp.9740",https://doi.org/10.1002/hyp.9740, +WWF HydroSHEDS Basins Level N (n = 1…12),WWF/HydroSHEDS/v1/Basins/hybas_{n}; n=1-12,https://developers.google.com/earth-engine/datasets/catalog/WWF_HydroSHEDS_v1_Basins_hybas_12,ee.FeatureCollection,various,This tool uses multiple basin attributes,2000,single timepoint [2000],2000-02-11T00:00:00Z–2000-02-22T00:00:00,WWF - HydroSheds,https://www.hydrosheds.org/products/hydrosheds,"15'', [N/A vector]","HydroSHEDS data are free for non-commercial and commercial use. For more information, please refer to the License Agreement.","Lehner, B., Verdin, K., Jarvis, A. (2008). New global hydrography derived from spaceborne elevation data. Eos, Transactions, American Geophysical Union, 89(10): 93–94. https://doi.org/10.1029/2008eo100001",, +"WWF HydroSHEDS Flow Accumulation, 15 Arc-Seconds",WWF/HydroSHEDS/15ACC,https://developers.google.com/earth-engine/datasets/catalog/WWF_HydroSHEDS_15ACC,ee.Image,b[b1],This tool uses point values of flow accumulation,2000,single timepoint [2000],2000-02-11T00:00:00Z–2000-02-22T00:00:00,WWF - HydroSheds,https://www.hydrosheds.org/products/hydrosheds,"15'', [463.83 m]","HydroSHEDS data are free for non-commercial and commercial use. For more information, please refer to the License Agreement.","Lehner, B., Verdin, K., Jarvis, A. (2008). New global hydrography derived from spaceborne elevation data. Eos, Transactions, American Geophysical Union, 89(10): 93–94. https://doi.org/10.1029/2008eo100001",, +"WWF HydroSHEDS Drainage Direction, 15 Arc-Seconds",WWF/HydroSHEDS/15DIR,https://developers.google.com/earth-engine/datasets/catalog/WWF_HydroSHEDS_15DIR,ee.Image,b[b1],This tool uses point values of drainage direction,2000,single timepoint [2000],2000-02-11T00:00:00Z–2000-02-22T00:00:00,WWF - HydroSheds,https://www.hydrosheds.org/products/hydrosheds,"15'', [463.83 m]","HydroSHEDS data are free for non-commercial and commercial use. For more information, please refer to the License Agreement.","Lehner, B., Verdin, K., Jarvis, A. (2008). New global hydrography derived from spaceborne elevation data. Eos, Transactions, American Geophysical Union, 89(10): 93–94. https://doi.org/10.1029/2008eo100001",, +GLDAS-2.1: Global Land Data Assimilation System,NASA/GLDAS/V021/NOAH/G025/T3H,https://developers.google.com/earth-engine/datasets/catalog/NASA_GLDAS_V021_NOAH_G025_T3H,ee.ImageCollection,"b[Qsm_acc, Qsb_acc, Qsm_acc] ","This tool uses point values of Storm surface runoff, Baseflow-groundwater runoff and Snow melt)",Aggregate 2000-2022,"multiple [n ~= 56210] 3hr time points [2000, 2022]",2000-01-01T03:00:00Z–2022-10-11T21:00:00,NASA GES DISC at NASA Goddard Space Flight Center,https://doi.org/10.5067/E7TYRXPJKWOQ,27830 m,"Consistent with NASA Earth Science Data and Information Policy, data from the GES DISC archive are available free to the user community. For more information visit the GES DISC Data Policy page.","Rodell, M., P.R. Houser, U. Jambor, J. Gottschalck, K. Mitchell, C.-J. Meng, K. Arsenault, B. Cosgrove, J. Radakovich, M. Bosilovich, J.K. Entin, J.P. Walker, D. Lohmann, and D. Toll, The Global Land Data Assimilation System, Bull. Amer. Meteor. Soc., 85(3), 381-394, 2004.",, +Regridded Monthly Terrestrial Water Balance (Universoty of Delaware),XHEET_ASSETS/ Eo150_clim_xyz_updated ,,ee.Image,b[b1],This tool uses point values of mean monthly evapotranspiration,?,?,?,University of Delaware,http://climate.geog.udel.edu/~climate/html_pages/README.wb2.html, 0.5 x 0.5 degree ,,"Willmott, C. J. and K. Matsuura (2001) Terrestrial Water Balance Data Archive: Regridded Monthly Climatologies v1.02, http://climate.geog.udel.edu/~climate/html_pages/README.wb2.html",, \ No newline at end of file diff --git a/_static/images/docker-explanation-cropped.png b/_static/images/docker-explanation-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..802383b3d3e2ae8f2e7acfe66cc19b319d1394d0 GIT binary patch literal 79746 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 DN_FNz literal 0 HcmV?d00001 diff --git a/_static/images/geocaret-gee-connections.drawio-scaled.png b/_static/images/geocaret-gee-connections.drawio-scaled.png new file mode 100644 index 0000000000000000000000000000000000000000..7a06b3a55863426708adcc43d1bd2f3b4885b7f6 GIT binary patch literal 180356 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

hMXZT>?Wn62?2L-yc}g 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 SpYDSXDMkjS`nkGxA^!t4zpM}d literal 0 HcmV?d00001 diff --git a/_static/images/geocaret-logo-transparent.png b/_static/images/geocaret-logo-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..014461c08ba601ba65020a48c396071c275e0945 GIT binary patch literal 27635 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 I(Gkdw#q#@eS+$40;?e3-a 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 literal 0 HcmV?d00001 diff --git a/_static/images/geocaret-logo.png b/_static/images/geocaret-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eb3863a4564dd2ee38604636120ecf2fb32895ac GIT binary patch literal 20129 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 literal 0 HcmV?d00001 diff --git a/_static/images/spreadsheet-2127832_640.png b/_static/images/spreadsheet-2127832_640.png new file mode 100644 index 0000000000000000000000000000000000000000..d8e67c6c6d1020a84d0b88c575b18cd2e01e4231 GIT binary patch literal 29760 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 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plot_directive.css b/_static/plot_directive.css new file mode 100644 index 0000000..d45593c --- /dev/null +++ b/_static/plot_directive.css @@ -0,0 +1,16 @@ +/* + * plot_directive.css + * ~~~~~~~~~~~~ + * + * Stylesheet controlling images created using the `plot` directive within + * Sphinx. + * + * :copyright: Copyright 2020-* by the Matplotlib development team. + * :license: Matplotlib, see LICENSE for details. + * + */ + +img.plot-directive { + border: 0; + max-width: 100%; +} diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..11d1d45 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,160 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287e } /* Name.Function.Magic */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */pre { line-height: 125%; } +td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } +.dark .highlight .hll { background-color: #6e7681 } +.dark .highlight { background: #0d1117; color: #e6edf3 } +.dark .highlight .c { color: #8b949e; font-style: italic } /* Comment */ +.dark .highlight .err { color: #f85149 } /* Error */ +.dark .highlight .esc { color: #e6edf3 } /* Escape */ +.dark .highlight .g { color: #e6edf3 } /* Generic */ +.dark .highlight .k { color: #ff7b72 } /* Keyword */ +.dark .highlight .l { color: #a5d6ff } /* Literal */ +.dark .highlight .n { color: #e6edf3 } /* Name */ +.dark .highlight .o { color: #ff7b72; font-weight: bold } /* Operator */ +.dark .highlight .x { color: #e6edf3 } /* Other */ +.dark .highlight .p { color: #e6edf3 } /* Punctuation */ +.dark .highlight .ch { color: #8b949e; font-style: italic } /* Comment.Hashbang */ +.dark .highlight .cm { color: #8b949e; font-style: italic } /* Comment.Multiline */ +.dark .highlight .cp { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.dark .highlight .cpf { color: #8b949e; font-style: italic } /* Comment.PreprocFile */ +.dark .highlight .c1 { color: #8b949e; font-style: italic } /* Comment.Single */ +.dark .highlight .cs { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Special */ +.dark .highlight .gd { color: #ffa198; background-color: #490202 } /* Generic.Deleted */ +.dark .highlight .ge { color: #e6edf3; font-style: italic } /* Generic.Emph */ +.dark .highlight .ges { color: #e6edf3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.dark .highlight .gr { color: #ffa198 } /* Generic.Error */ +.dark .highlight .gh { color: #79c0ff; font-weight: bold } /* Generic.Heading */ +.dark .highlight .gi { color: #56d364; background-color: #0f5323 } /* Generic.Inserted */ +.dark .highlight .go { color: #8b949e } /* Generic.Output */ +.dark .highlight .gp { color: #8b949e } /* Generic.Prompt */ +.dark .highlight .gs { color: #e6edf3; font-weight: bold } /* Generic.Strong */ +.dark .highlight .gu { color: #79c0ff } /* Generic.Subheading */ +.dark .highlight .gt { color: #ff7b72 } /* Generic.Traceback */ +.dark .highlight .g-Underline { color: #e6edf3; text-decoration: underline } /* Generic.Underline */ +.dark .highlight .kc { color: #79c0ff } /* Keyword.Constant */ +.dark .highlight .kd { color: #ff7b72 } /* Keyword.Declaration */ +.dark .highlight .kn { color: #ff7b72 } /* Keyword.Namespace */ +.dark .highlight .kp { color: #79c0ff } /* Keyword.Pseudo */ +.dark .highlight .kr { color: #ff7b72 } /* Keyword.Reserved */ +.dark .highlight .kt { color: #ff7b72 } /* Keyword.Type */ +.dark .highlight .ld { color: #79c0ff } /* Literal.Date */ +.dark .highlight .m { color: #a5d6ff } /* Literal.Number */ +.dark .highlight .s { color: #a5d6ff } /* Literal.String */ +.dark .highlight .na { color: #e6edf3 } /* Name.Attribute */ +.dark .highlight .nb { color: #e6edf3 } /* Name.Builtin */ +.dark .highlight .nc { color: #f0883e; font-weight: bold } /* Name.Class */ +.dark .highlight .no { color: #79c0ff; font-weight: bold } /* Name.Constant */ +.dark .highlight .nd { color: #d2a8ff; font-weight: bold } /* Name.Decorator */ +.dark .highlight .ni { color: #ffa657 } /* Name.Entity */ +.dark .highlight .ne { color: #f0883e; font-weight: bold } /* Name.Exception */ +.dark .highlight .nf { color: #d2a8ff; font-weight: bold } /* Name.Function */ +.dark .highlight .nl { color: #79c0ff; font-weight: bold } /* Name.Label */ +.dark .highlight .nn { color: #ff7b72 } /* Name.Namespace */ +.dark .highlight .nx { color: #e6edf3 } /* Name.Other */ +.dark .highlight .py { color: #79c0ff } /* Name.Property */ +.dark .highlight .nt { color: #7ee787 } /* Name.Tag */ +.dark .highlight .nv { color: #79c0ff } /* Name.Variable */ +.dark .highlight .ow { color: #ff7b72; font-weight: bold } /* Operator.Word */ +.dark .highlight .pm { color: #e6edf3 } /* Punctuation.Marker */ +.dark .highlight .w { color: #6e7681 } /* Text.Whitespace */ +.dark .highlight .mb { color: #a5d6ff } /* Literal.Number.Bin */ +.dark .highlight .mf { color: #a5d6ff } /* Literal.Number.Float */ +.dark .highlight .mh { color: #a5d6ff } /* Literal.Number.Hex */ +.dark .highlight .mi { color: #a5d6ff } /* Literal.Number.Integer */ +.dark .highlight .mo { color: #a5d6ff } /* Literal.Number.Oct */ +.dark .highlight .sa { color: #79c0ff } /* Literal.String.Affix */ +.dark .highlight .sb { color: #a5d6ff } /* Literal.String.Backtick */ +.dark .highlight .sc { color: #a5d6ff } /* Literal.String.Char */ +.dark .highlight .dl { color: #79c0ff } /* Literal.String.Delimiter */ +.dark .highlight .sd { color: #a5d6ff } /* Literal.String.Doc */ +.dark .highlight .s2 { color: #a5d6ff } /* Literal.String.Double */ +.dark .highlight .se { color: #79c0ff } /* Literal.String.Escape */ +.dark .highlight .sh { color: #79c0ff } /* Literal.String.Heredoc */ +.dark .highlight .si { color: #a5d6ff } /* Literal.String.Interpol */ +.dark .highlight .sx { color: #a5d6ff } /* Literal.String.Other */ +.dark .highlight .sr { color: #79c0ff } /* Literal.String.Regex */ +.dark .highlight .s1 { color: #a5d6ff } /* Literal.String.Single */ +.dark .highlight .ss { color: #a5d6ff } /* Literal.String.Symbol */ +.dark .highlight .bp { color: #e6edf3 } /* Name.Builtin.Pseudo */ +.dark .highlight .fm { color: #d2a8ff; font-weight: bold } /* Name.Function.Magic */ +.dark .highlight .vc { color: #79c0ff } /* Name.Variable.Class */ +.dark .highlight .vg { color: #79c0ff } /* Name.Variable.Global */ +.dark .highlight .vi { color: #79c0ff } /* Name.Variable.Instance */ +.dark .highlight .vm { color: #79c0ff } /* Name.Variable.Magic */ +.dark .highlight .il { color: #a5d6ff } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/references.bib b/_static/references.bib new file mode 100644 index 0000000..8dee910 --- /dev/null +++ b/_static/references.bib @@ -0,0 +1,1328 @@ +% Encoding: UTF-8 + +@inproceedings{ester1996density, + title={A density-based algorithm for discovering clusters in large spatial databases with noise.}, + author={Ester, Martin and Kriegel, Hans-Peter and Sander, Jorg and Xu, Xiaowei and others}, + booktitle={kdd}, + volume={96}, + number={34}, + pages={226--231}, + year={1996} +} + +@article{Juutinen2003, +author = {Juutinen, Sari and Alm, Jukka and Larmola, Tuula and Huttunen, Jari T. and Morero, Micaela and Saarnio, Sanna and Martikainen, Pertti J. and Silvola, Jouko}, +title = {Methane (CH4) release from littoral wetlands of Boreal lakes during an extended flooding period}, +journal = {Global Change Biology}, +volume = {9}, +number = {3}, +pages = {413-424}, +keywords = {CH4, flood, lake, littoral zone, vascular plants, water level}, +doi = {https://doi.org/10.1046/j.1365-2486.2003.00595.x}, +url = {https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1365-2486.2003.00595.x}, +eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2486.2003.00595.x}, +abstract = {Abstract Lake littoral zones have a transitional nature and dynamic conditions, which are reflected in their CH4 emissions. Thus, detailed studies are needed to assess the littoral CH4 emissions in a regional scale. In this study, CH4 fluxes were followed during the ice-free seasons in 1998 and 1999 by using the static chamber method in the littoral zone of two lakes in Finland. An exceptionally high water level in 1998 caused an unusually long inundation in otherwise ephemerally flooded zone. The flooding was normal in year 1999. The factors controlling CH4 emissions were examined and statistical response functions were constructed. Further, the effect of extended flooding on the littoral CH4 budged was estimated. The methane flux was primarily regulated by the water level in grass and sedge dominated eulittoral zone, but not in infralittoral reed and water lily stands. Methane emissions in the sedge dominated zone decreased significantly, when the flood was high enough to submerge the venting structures of the plants. Besides water level, sediment temperature determined CH4 emission. The cumulative CH4 emissions from the whole littoral wetlands in wet year were 1.1 times (L. Kevätön), or 0.61 and 0.79 times (L. Mekrijärvi) those in dry year. The crucial factor was the discrepancy between the exceptional and the average water level. The extension of inundated area does not necessarily increase CH4 emissions if the flood reaches infrequently inundated areas, which apparently have low CH4 production potential. This is the case especially, if the emissions in lower zones simultaneously decrease due to high water level. Our study analyses these complex responses between CH4 emissions and water level.}, +year = {2003} +} + +@Article{Farr2007, + author = {Farr, Tom G. and Rosen, Paul A. and Caro, Edward and Crippen, Robert and Duren, Riley and Hensley, Scott and Kobrick, Michael and Paller, Mimi and Rodriguez, Ernesto and Roth, Ladislav and Seal, David and Shaffer, Scott and Shimada, Joanne and Umland, Jeffrey and Werner, Marian and Oskin, Michael and Burbank, Douglas and Alsdorf, Douglas}, + title = {{The Shuttle Radar Topography Mission}}, + journal = {Reviews of Geophysics}, + year = {2007}, + volume = {45}, + number = {2}, + abstract = {The Shuttle Radar Topography Mission produced the most complete, highest-resolution digital elevation model of the Earth. The project was a joint endeavor of NASA, the National Geospatial-Intelligence Agency, and the German and Italian Space Agencies and flew in February 2000. It used dual radar antennas to acquire interferometric radar data, processed to digital topographic data at 1 arc sec resolution. Details of the development, flight operations, data processing, and products are provided for users of this revolutionary data set.}, + doi = {https://doi.org/10.1029/2005RG000183}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2005RG000183}, + keywords = {topography, radar, interferometry}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2005RG000183}, +} + +@Article{Lehner2008, + author = {Lehner, Bernhard and Verdin, Kristine and Jarvis, Andy}, + title = {New Global Hydrography Derived From Spaceborne Elevation Data}, + journal = {Eos, Transactions American Geophysical Union}, + year = {2008}, + volume = {89}, + number = {10}, + pages = {93-94}, + doi = {https://doi.org/10.1029/2008EO100001}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2008EO100001}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2008EO100001}, +} + +@article{Baniecki2021, + author = {Hubert Baniecki and + Wojciech Kretowicz and + Piotr Piatyszek and + Jakub Wisniewski and + Przemyslaw Biecek}, + title = {{dalex: Responsible Machine Learning + with Interactive Explainability and Fairness in Python}}, + journal = {Journal of Machine Learning Research}, + year = {2021}, + volume = {22}, + number = {214}, + pages = {1-7}, + url = {http://jmlr.org/papers/v22/20-1473.html} +} + +@Article{Maarvara2019, + author = {Taylor Maarvara and Ronny Lauerwald and Goulven G. Laruelle and Zahra Akbarzadeh and Nicholas J. Bouskill and Philippe Van Cappellen and Pierre Regnier}, + title = {{Nitrous oxide emissions from inland waters: Are IPCC estimates too high?}}, + journal = {Global Change Biology}, + year = {2019}, + volume = {25}, + pages = {473-488}, + publisher = {John Wiley and Sons Ltd}, + doi = {10.1111/gcb.14504}, +} + +@article{Akbarzadeh2019, +author = {Akbarzadeh, Zahra and Maavara, Taylor and Slowinski, Stephanie and Van Cappellen, Philippe}, +title = {Effects of Damming on River Nitrogen Fluxes: A Global Analysis}, +journal = {Global Biogeochemical Cycles}, +volume = {33}, +number = {11}, +pages = {1339-1357}, +keywords = {nitrogen, river damming, nitrogen fixation, denitrification, burial, elimination}, +doi = {https://doi.org/10.1029/2019GB006222}, +url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2019GB006222}, +eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2019GB006222}, +abstract = {Abstract Damming creates biogeochemical hotspots along rivers that modify the riverine flow of nutrients, including nitrogen (N). Here, we quantify the impact of dams on global riverine N fluxes using a reservoir N mass balance model. In-reservoir processes represented in the model include primary production, mineralization of organic N, denitrification, and sedimentary burial. In addition, we explicitly account for N fixation as a source of N, assuming that the N to phosphorus (P) ratio of the inflow regulates the magnitude of N fixation in reservoirs. The model is scaled up via a Monte Carlo analysis that yields global relationships between N elimination in reservoirs, either by denitrification or burial, and the hydraulic residence time. These relationships are then combined with N loads to the world's dam reservoirs generated by the Global-NEWS model and the estimated N fixation fluxes. According to the results, in year 2000, worldwide N fixation in reservoirs was on the order of 70 Gmol yr−1, while denitrification and burial in reservoirs eliminated around 270 Gmol yr−1, equal to 7\% of N loading to the global river network. The latter is predicted to double to 14\% by 2030, mainly as a result of the current boom in dam building. The results further imply that, largely due to N fixation in reservoirs, damming causes a global upward shift in riverine N:P ratios, thus lessening N limitation in receiving water bodies.}, +year = {2019} +} + +@Article{Dimerstein2017, + author = {Dinerstein, Eric and Olson, David and Joshi, Anup and Vynne, Carly and Burgess, Neil D. and Wikramanayake, Eric and Hahn, Nathan and Palminteri, Suzanne and Hedao, Prashant and Noss, Reed and Hansen, Matt and Locke, Harvey and Ellis, Erle C and Jones, Benjamin and Barber, Charles Victor and Hayes, Randy and Kormos, Cyril and Martin, Vance and Crist, Eileen and Sechrest, Wes and Price, Lori and Baillie, Jonathan E. M. and Weeden, Don and Suckling, Kierán and Davis, Crystal and Sizer, Nigel and Moore, Rebecca and Thau, David and Birch, Tanya and Potapov, Peter and Turubanova, Svetlana and Tyukavina, Alexandra and de Souza, Nadia and Pintea, Lilian and Brito, José C. and Llewellyn, Othman A. and Miller, Anthony G. and Patzelt, Annette and Ghazanfar, Shahina A. and Timberlake, Jonathan and Klöser, Heinz and Shennan-Farpón, Yara and Kindt, Roeland and Lillesø, Jens-Peter Barnekow and van Breugel, Paulo and Graudal, Lars and Voge, Maianna and Al-Shammari, Khalaf F. and Saleem, Muhammad}, + title = {{An Ecoregion-Based Approach to Protecting Half the Terrestrial Realm}}, + journal = {BioScience}, + year = {2017}, + volume = {67}, + number = {6}, + pages = {534-545}, + month = {04}, + issn = {0006-3568}, + abstract = {{We assess progress toward the protection of 50\\% of the terrestrial biosphere to address the species-extinction crisis and conserve a global ecological heritage for future generations. Using a map of Earth's 846 terrestrial ecoregions, we show that 98 ecoregions (12\\%) exceed Half Protected; 313 ecoregions (37\\%) fall short of Half Protected but have sufficient unaltered habitat remaining to reach the target; and 207 ecoregions (24\\%) are in peril, where an average of only 4\\% of natural habitat remains. We propose a Global Deal for Nature—a companion to the Paris Climate Deal—to promote increased habitat protection and restoration, national- and ecoregion-scale conservation strategies, and the empowerment of indigenous peoples to protect their sovereign lands. The goal of such an accord would be to protect half the terrestrial realm by 2050 to halt the extinction crisis while sustaining human livelihoods.}}, + doi = {10.1093/biosci/bix014}, + eprint = {https://academic.oup.com/bioscience/article-pdf/67/6/534/17644834/bix014.pdf}, + url = {https://doi.org/10.1093/biosci/bix014}, +} + +@Article{Beck2018, + author = {Beck, Hylke E. and Zimmermann, Niklaus E. and McVicar, Tim R. and Vergopolan, Noemi and Berg, Alexis and Wood, Eric F.}, + title = {{Present and future K{\"o}ppen-Geiger climate classification maps at 1-km resolution}}, + journal = {Scientific Data}, + year = {2018}, + volume = {5}, + number = {1}, + pages = {180214}, + month = {Oct}, + issn = {2052-4463}, + abstract = {We present new global maps of the K{\"o}ppen-Geiger climate classification at an unprecedented 1-km resolution for the present-day (1980--2016) and for projected future conditions (2071--2100) under climate change. The present-day map is derived from an ensemble of four high-resolution, topographically-corrected climatic maps. The future map is derived from an ensemble of 32 climate model projections (scenario RCP8.5), by superimposing the projected climate change anomaly on the baseline high-resolution climatic maps. For both time periods we calculate confidence levels from the ensemble spread, providing valuable indications of the reliability of the classifications. The new maps exhibit a higher classification accuracy and substantially more detail than previous maps, particularly in regions with sharp spatial or elevation gradients. We anticipate the new maps will be useful for numerous applications, including species and vegetation distribution modeling. The new maps including the associated confidence maps are freely available via www.gloh2o.org/koppen.}, + day = {30}, + doi = {10.1038/sdata.2018.214}, + url = {https://doi.org/10.1038/sdata.2018.214}, +} + +@Misc{copernicus_lcc, + author = {{Copernicus Climate Change Service}}, + title = {{Land cover classification gridded maps from 1992 to present derived from satellite observation}}, + howpublished = {{Climate Data Store, Copernicus Climate Change Service (C3S) Climate Data Store (CDS)}}, + month = {(Accessed on 01-APR-2020)}, + year = {2019}, + doi = {10.24381/cds.006f2c9a}, + url = {https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form}, +} + +@Article{Abatzoglou2018, + author = {Abatzoglou, John T. and Dobrowski, Solomon Z. and Parks, Sean A. and Hegewisch, Katherine C.}, + title = {{TerraClimate, a high-resolution global dataset of monthly climate and climatic water balance from 1958--2015}}, + journal = {Scientific Data}, + year = {2018}, + volume = {5}, + number = {1}, + pages = {170191}, + month = {Jan}, + issn = {2052-4463}, + abstract = {We present TerraClimate, a dataset of high-spatial resolution (1/24{\textdegree}, {\textasciitilde}4-km) monthly climate and climatic water balance for global terrestrial surfaces from 1958--2015. TerraClimate uses climatically aided interpolation, combining high-spatial resolution climatological normals from the WorldClim dataset, with coarser resolution time varying (i.e., monthly) data from other sources to produce a monthly dataset of precipitation, maximum and minimum temperature, wind speed, vapor pressure, and solar radiation. TerraClimate additionally produces monthly surface water balance datasets using a water balance model that incorporates reference evapotranspiration, precipitation, temperature, and interpolated plant extractable soil water capacity. These data provide important inputs for ecological and hydrological studies at global scales that require high spatial resolution and time varying climate and climatic water balance data. We validated spatiotemporal aspects of TerraClimate using annual temperature, precipitation, and calculated reference evapotranspiration from station data, as well as annual runoff from streamflow gauges. TerraClimate datasets showed noted improvement in overall mean absolute error and increased spatial realism relative to coarser resolution gridded datasets.}, + day = {09}, + doi = {10.1038/sdata.2017.191}, + url = {https://doi.org/10.1038/sdata.2017.191}, +} + +@Misc{ciesin2019, + author = {{Center for International Earth Science Information Network - CIESIN - Columbia University}}, + title = {{Gridded Population of the World, Version 4 (GPWv4): Population Count, Revision 11. Palisades, New York: NASA Socioeconomic Data and Applications Center (SEDAC)}}, + year = {2019}, + note = {Accessed 01 APR 2020}, + doi = {https://doi.org/10.7927/H4JW8BX5}, +} + +@Article{Fick2017, + author = {Fick, Stephen E. and Hijmans, Robert J.}, + title = {{WorldClim 2: new 1-km spatial resolution climate surfaces for global land areas}}, + journal = {International Journal of Climatology}, + year = {2017}, + volume = {37}, + number = {12}, + pages = {4302-4315}, + abstract = {ABSTRACT We created a new dataset of spatially interpolated monthly climate data for global land areas at a very high spatial resolution (approximately 1 km2). We included monthly temperature (minimum, maximum and average), precipitation, solar radiation, vapour pressure and wind speed, aggregated across a target temporal range of 1970–2000, using data from between 9000 and 60 000 weather stations. Weather station data were interpolated using thin-plate splines with covariates including elevation, distance to the coast and three satellite-derived covariates: maximum and minimum land surface temperature as well as cloud cover, obtained with the MODIS satellite platform. Interpolation was done for 23 regions of varying size depending on station density. Satellite data improved prediction accuracy for temperature variables 5–15\% (0.07–0.17 °C), particularly for areas with a low station density, although prediction error remained high in such regions for all climate variables. Contributions of satellite covariates were mostly negligible for the other variables, although their importance varied by region. In contrast to the common approach to use a single model formulation for the entire world, we constructed the final product by selecting the best performing model for each region and variable. Global cross-validation correlations were ≥ 0.99 for temperature and humidity, 0.86 for precipitation and 0.76 for wind speed. The fact that most of our climate surface estimates were only marginally improved by use of satellite covariates highlights the importance having a dense, high-quality network of climate station data.}, + doi = {https://doi.org/10.1002/joc.5086}, + eprint = {https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/joc.5086}, + keywords = {interpolation, climate surfaces, WorldClim, MODIS, land surface temperature, cloud cover, solar radiation, wind speed, vapour pressure}, + url = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.5086}, +} + +@Software{heettool, + author = {Kamilla Kopec-Harding and Tomasz Janus and Chris Barry and Jaise Kuriakose}, + title = {{GeoCARET: Geospatial Catchment and Reservoir analysis Tool}}, + howpublished = {{GitHub}}, + year = {2022}, + license = {GPL-3.0}, + url = {https://github.com/UoMResearchIT/heet}, + version = {0.0.1}, +} + +@Misc{reemission2022, + author = {Tomasz Janus and Christopher Barry and Jaise Kuriakose}, + title = {{RE-Emission: A Python tool for calculating greenhouse gas emissions from reservoirs}}, + howpublished = {{GitHub}}, + year = {2022}, + url = {https://github.com/tomjanus/reemission}, +} + +@Article{Fekete2002, + author = {Fekete, Balázs M. and Vörösmarty, Charles J. and Grabs, Wolfgang}, + title = {{High-resolution fields of global runoff combining observed river discharge and simulated water balances}}, + journal = {Global Biogeochemical Cycles}, + year = {2002}, + volume = {16}, + number = {3}, + pages = {15-1-15-10}, + abstract = {This paper demonstrates the potential of combining observed river discharge information with climate-driven water balance model (WBM) outputs to develop composite runoff fields. Such combined runoff fields simultaneously reflect the numerical accuracy of the discharge measurements and preserve the spatial and temporal distribution of simulated runoff. Selected gauging stations from the World Meteorological Organization Global Runoff Data Centre (GRDC) data archive were geographically coregistered to a gridded simulated topological network at 30′ (longitude × latitude) spatial resolution (STN–30p). Interstation regions between gauging stations along the STN–30p network were identified, and annual interstation runoff was calculated. The annual interstation runoff was compared with outputs from WBM calculations, which were performed using long-term mean monthly climate forcings (air temperature and precipitation). The simulated runoff for each cell was multiplied by the ratio of observed to simulated runoff of the corresponding interstation region from the GRDC data set to create spatially distributed runoff fields at 30′ resolution. The resulting composite runoff fields (UNH/GRDC Composite Runoff Fields V1.0) are released to the scientific community along with intermediate data sets, such as station attributes and long-term monthly regimes of the selected gauging stations, the simulated topological network (STN–30p), STN–30p derived attributes for the selected stations, and gridded fields of the interstation regions along STN–30p. These data sets represent high-resolution fields that are of value to a broad range of water-related research, including terrestrial modeling, climate-atmosphere interactions, and global water resource assessments.}, + doi = {https://doi.org/10.1029/1999GB001254}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/1999GB001254}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/1999GB001254}, +} + +@Article{Poggio2021, + author = {Poggio, L. and de Sousa, L. M. and Batjes, N. H. and Heuvelink, G. B. M. and Kempen, B. and Ribeiro, E. and Rossiter, D.}, + title = {{SoilGrids 2.0: producing soil information for the globe with quantified spatial uncertainty}}, + journal = {SOIL}, + year = {2021}, + volume = {7}, + number = {1}, + pages = {217--240}, + doi = {10.5194/soil-7-217-2021}, + url = {https://soil.copernicus.org/articles/7/217/2021/}, +} + +@Article{Chan2016, + author = {Chan, Steven K. and Bindlish, Rajat and O'Neill, Peggy E. and Njoku, Eni and Jackson, Tom and Colliander, Andreas and Chen, Fan and Burgin, Mariko and Dunbar, Scott and Piepmeier, Jeffrey and Yueh, Simon and Entekhabi, Dara and Cosh, Michael H. and Caldwell, Todd and Walker, Jeffrey and Wu, Xiaoling and Berg, Aaron and Rowlandson, Tracy and Pacheco, Anna and McNairn, Heather and Thibeault, Marc and Martínez-Fernández, José and González-Zamora, Ángel and Seyfried, Mark and Bosch, David and Starks, Patrick and Goodrich, David and Prueger, John and Palecki, Michael and Small, Eric E. and Zreda, Marek and Calvet, Jean-Christophe and Crow, Wade T. and Kerr, Yann}, + title = {{Assessment of the SMAP Passive Soil Moisture Product}}, + journal = {IEEE Transactions on Geoscience and Remote Sensing}, + year = {2016}, + volume = {54}, + number = {8}, + pages = {4994-5007}, + doi = {10.1109/TGRS.2016.2561938}, + keywords = {Soil moisture;Spatial resolution;NASA;Microwave radiometry;Agriculture;Data models;Brightness temperature;land emission;L-band;Level 2 Passive Soil Moisture Product (L2_SM_P);Level 3 Daily Composite Version (L3_SM_P);passive microwave remote sensing;Soil Moisture Active Passive (SMAP);soil moisture;tau–omega ( $\tau-\omega$) model;validation;Brightness temperature;land emission;L-band;Level 2 Passive Soil Moisture Product (L2_SM_P);Level 3 Daily Composite Version (L3_SM_P);passive microwave remote sensing;Soil Moisture Active Passive (SMAP);soil moisture;tau–omega ( $\tau-\omega$) model;validation}, +} + +@Article{Willmott1985, + author = {Willmott, Cort J. and Rowe, Clinton M. and Mintz, Yale}, + title = {Climatology of the terrestrial seasonal water cycle}, + journal = {Journal of Climatology}, + year = {1985}, + volume = {5}, + number = {6}, + pages = {589-606}, + abstract = {Abstract Calculations of the spatial and seasonal variations of the continental fields of snow-cover, soil moisture and evapotranspiration are presented and interpreted. The calculations were made with a water budget analysis that is based on observed average monthly precipitation and an estimate of potential evapotranspiration derived from observed average monthly surface temperature, using a modified version of the method of Thornthwaite. Monthly average water budget analyses were made for 13,332 stations over the globe and, then spatially interpolated to a regular grid at 1° by 1° latitude-longitude intervals. From the monthly fields on a 4° by 5° subset of the 1° by 1° grid, the annual mean and standard deviation as well as the first and second annual harmonics were extracted and are displayed on global maps. Of the three fields, soil moisture has the largest space-time variation; snow-cover the smallest variation; and evapotranspiration an intermediate level of variation.}, + doi = {https://doi.org/10.1002/joc.3370050602}, + eprint = {https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/joc.3370050602}, + keywords = {Water balance, Evapotranspiration, Soil moisture, Snow-cover}, + url = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.3370050602}, +} + +@Misc{nasa_solar, + author = {{NASA Langley Atmospheric Sciences Data Center}}, + title = {{Solar: Average Monthly and Annual Direct Normal Irradiance Data, One-Degree Resolution of the World from NASA/SSE, 1983-2005}}, + year = {2008}, + note = {[Shapefile]. Retrieved from https://earthworks.stanford.edu/catalog/stanford-fd535zg0917}, +} + +@Misc{ifc_dam_db, + author = {{International Finances Corporation (IFC)}}, + title = {{SEA of the Hydropower Sector in Myanmar - Resources Page}}, + howpublished = {Electronic}, + month = {December}, + year = {2018}, + url = {https://www.ifc.org/en/insights-reports/2018/sea-of-the-hydropower-sector-in-myanmar-resources-page}, +} + +@Article{Lehner2013, + author = {Lehner, Bernhard and Grill, Günther}, + title = {Global river hydrography and network routing: baseline data and new approaches to study the world's large river systems}, + journal = {Hydrological Processes}, + year = {2013}, + volume = {27}, + number = {15}, + pages = {2171-2186}, + abstract = {Abstract Despite significant recent advancements, global hydrological models and their input databases still show limited capabilities in supporting many spatially detailed research questions and integrated assessments, such as required in freshwater ecology or applied water resources management. In order to address these challenges, the scientific community needs to create improved large-scale datasets and more flexible data structures that enable the integration of information across and within spatial scales; develop new and advanced models that support the assessment of longitudinal and lateral hydrological connectivity; and provide an accessible modeling environment for researchers, decision makers, and practitioners. As a contribution, we here present a new modeling framework that integrates hydrographic baseline data at a global scale (enhanced HydroSHEDS layers and coupled datasets) with new modeling tools, specifically a river network routing model (HydroROUT) that is currently under development. The resulting ‘hydro-spatial fabric’ is designed to provide an avenue for advanced hydro-ecological applications at large scales in a consistent and highly versatile way. Preliminary results from case studies to assess human impacts on water quality and the effects of dams on river fragmentation and downstream flow regulation illustrate the potential of this combined data-and-modeling framework to conduct novel research in the fields of aquatic ecology, biogeochemistry, geo-statistical modeling, or pollution and health risk assessments. The global scale outcomes are at a previously unachieved spatial resolution of 500 m and can thus support local planning and decision making in many of the world's large river basins. Copyright © 2013 John Wiley \& Sons, Ltd.}, + doi = {https://doi.org/10.1002/hyp.9740}, + eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/hyp.9740}, + keywords = {global hydrography, large-scale hydrological modeling, river network routing, hydrological connectivity, Geographic Information Systems}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/hyp.9740}, +} + + +@article{Deemer2016, + author = {Deemer, Bridget R. and Harrison, John A. and Li, Siyue and Beaulieu, Jake J. and DelSontro, Tonya and Barros, Nathan and Bezerra-Neto, José F. and Powers, Stephen M. and dos Santos, Marco A. and Vonk, J. Arie}, + title = "{Greenhouse Gas Emissions from Reservoir Water Surfaces: A New Global Synthesis}", + journal = {BioScience}, + volume = {66}, + number = {11}, + pages = {949-964}, + year = {2016}, + month = {10}, + abstract = "{Collectively, reservoirs created by dams are thought to be an important source of greenhouse gases (GHGs) to the atmosphere. So far, efforts to quantify, model, and manage these emissions have been limited by data availability and inconsistencies in methodological approach. Here, we synthesize reservoir CH4, CO2, and N2O emission data with three main objectives: (1) to generate a global estimate of GHG emissions from reservoirs, (2) to identify the best predictors of these emissions, and (3) to consider the effect of methodology on emission estimates. We estimate that GHG emissions from reservoir water surfaces account for 0.8 (0.5–1.2) Pg CO2 equivalents per year, with the majority of this forcing due to CH4. We then discuss the potential for several alternative pathways such as dam degassing and downstream emissions to contribute significantly to overall emissions. Although prior studies have linked reservoir GHG emissions to reservoir age and latitude, we find that factors related to reservoir productivity are better predictors of emission.}", + issn = {0006-3568}, + doi = {10.1093/biosci/biw117}, + url = {https://doi.org/10.1093/biosci/biw117}, + eprint = {https://academic.oup.com/bioscience/article-pdf/66/11/949/24328291/biw117.pdf}, +} + +@Article{Almeida2019, + author = {Almeida, Rafael M. and Shi, Qinru and Gomes-Selman, Jonathan M. and Wu, Xiaojian and Xue, Yexiang and Angarita, Hector and Barros, Nathan and Forsberg, Bruce R. and Garc{\'i}a-Villacorta, Roosevelt and Hamilton, Stephen K. and Melack, John M. and Montoya, Mariana and Perez, Guillaume and Sethi, Suresh A. and Gomes, Carla P. and Flecker, Alexander S.}, + title = {{Reducing greenhouse gas emissions of Amazon hydropower with strategic dam planning}}, + journal = {Nature Communications}, + year = {2019}, + volume = {10}, + number = {1}, + pages = {4281}, + month = {Sep}, + issn = {2041-1723}, + abstract = {Hundreds of dams have been proposed throughout the Amazon basin, one of the world's largest untapped hydropower frontiers. While hydropower is a potentially clean source of renewable energy, some projects produce high greenhouse gas (GHG) emissions per unit electricity generated (carbon intensity). Here we show how carbon intensities of proposed Amazon upland dams (median{\thinspace}={\thinspace}39{\thinspace}kg{\thinspace}CO2eq{\thinspace}MWh−1, 100-year horizon) are often comparable with solar and wind energy, whereas some lowland dams (median{\thinspace}={\thinspace}133{\thinspace}kg{\thinspace}CO2eq{\thinspace}MWh−1) may exceed carbon intensities of fossil-fuel power plants. Based on 158 existing and 351 proposed dams, we present a multi-objective optimization framework showing that low-carbon expansion of Amazon hydropower relies on strategic planning, which is generally linked to placing dams in higher elevations and smaller streams. Ultimately, basin-scale dam planning that considers GHG emissions along with social and ecological externalities will be decisive for sustainable energy development where new hydropower is contemplated.}, + day = {19}, + doi = {10.1038/s41467-019-12179-5}, + url = {https://doi.org/10.1038/s41467-019-12179-5}, +} + +@ARTICLE{Rocher-Ros2023-tr, + title = "Global methane emissions from rivers and streams", + author = "Rocher-Ros, Gerard and Stanley, Emily H and Loken, Luke C and + Casson, Nora J and Raymond, Peter A and Liu, Shaoda and Amatulli, + Giuseppe and Sponseller, Ryan A", + abstract = "Methane (CH4) is a potent greenhouse gas and its concentrations + have tripled in the atmosphere since the industrial revolution. + There is evidence that global warming has increased CH4 emissions + from freshwater ecosystems1,2, providing positive feedback to the + global climate. Yet for rivers and streams, the controls and the + magnitude of CH4 emissions remain highly uncertain3,4. Here we + report a spatially explicit global estimate of CH4 emissions from + running waters, accounting for 27.9 (16.7--39.7) Tg CH4 per year + and roughly equal in magnitude to those of other freshwater + systems5,6. Riverine CH4 emissions are not strongly temperature + dependent, with low average activation energy (EM = 0.14 eV) + compared with that of lakes and wetlands (EM = 0.96 eV)1. By + contrast, global patterns of emissions are characterized by large + fluxes in high- and low-latitude settings as well as in + human-dominated environments. These patterns are explained by + edaphic and climate features that are linked to anoxia in and + near fluvial habitats, including a high supply of organic matter + and water saturation in hydrologically connected soils. Our + results highlight the importance of land--water connections in + regulating CH4 supply to running waters, which is vulnerable not + only to direct human modifications but also to several climate + change responses on land.", + journal = "Nature", + volume = 621, + number = 7979, + pages = "530--535", + month = sep, + year = 2023 +} + +@ARTICLE{Xu2024-il, + title = "Globally elevated greenhouse gas emissions from polluted urban + rivers", + author = "Xu, Wenhao and Wang, Gongqin and Liu, Shaoda and Wang, Junfeng + and McDowell, William H and Huang, Kangning and Raymond, Peter A + and Yang, Zhifeng and Xia, Xinghui", + abstract = "Cities are at the heart of global anthropogenic greenhouse gas + (GHG) emissions, with rivers embedded in urban landscapes as a + potentially large yet uncharacterized GHG source. Urban rivers + emit GHGs due to excess carbon and nitrogen inputs from urban + environments and their watersheds. Here relying on a compiled + urban river GHG dataset and robust modelling, we estimated that + globally urban rivers emitted annually 1.1, 42.3 and 0.021 Tg + CH4, CO2 and N2O, totalling 78.1 $\pm$ 3.5 Tg CO2-equivalent + (CO2-eq) emissions. Predicted GHG emissions were nearly twofold + those from non-urban rivers (~815 versus 414 mmol CO2-eq m−2 d−1) + and similar to scope-1 urban emissions in intensity (1,058 mmol + CO2-eq m−2 d−1), with particularly higher CH4 and N2O emissions + linked to widespread eutrophication and altered carbon and + nutrient cycling in urban rivers. Globally, the emissions varied + with national income levels with the highest emissions happening + in lower--middle-income countries where river pollution control + is deficient. These findings highlight the importance of + pollution controls in mitigating urban river GHG emissions and + ensuring urban sustainability.", + journal = "Nature Sustainability", + month = may, + year = 2024 +} + +@article{Flecker2022, +author = {Alexander S. Flecker and Qinru Shi and Rafael M. Almeida and Héctor Angarita and Jonathan M. Gomes-Selman and Roosevelt García-Villacorta and Suresh A. Sethi and Steven A. Thomas and N. LeRoy Poff and Bruce R. Forsberg and Sebastian A. Heilpern and Stephen K. Hamilton and Jorge D. Abad and Elizabeth P. Anderson and Nathan Barros and Isabel Carolina Bernal and Richard Bernstein and Carlos M. Cañas and Olivier Dangles and Andrea C. Encalada and Ayan S. Fleischmann and Michael Goulding and Jonathan Higgins and Céline Jézéquel and Erin I. Larson and Peter B. McIntyre and John M. Melack and Mariana Montoya and Thierry Oberdorff and Rodrigo Paiva and Guillaume Perez and Brendan H. Rappazzo and Scott Steinschneider and Sandra Torres and Mariana Varese and M. Todd Walter and Xiaojian Wu and Yexiang Xue and Xavier E. Zapata-Ríos and Carla P. Gomes }, +title = {Reducing adverse impacts of Amazon hydropower expansion}, +journal = {Science}, +volume = {375}, +number = {6582}, +pages = {753-760}, +year = {2022}, +doi = {10.1126/science.abj4017}, +URL = {https://www.science.org/doi/abs/10.1126/science.abj4017}, +eprint = {https://www.science.org/doi/pdf/10.1126/science.abj4017}, +abstract = {Proposed hydropower dams at more than 350 sites throughout the Amazon require strategic evaluation of trade-offs between the numerous ecosystem services provided by Earth’s largest and most biodiverse river basin. These services are spatially variable, hence collective impacts of newly built dams depend strongly on their configuration. We use multiobjective optimization to identify portfolios of sites that simultaneously minimize impacts on river flow, river connectivity, sediment transport, fish diversity, and greenhouse gas emissions while achieving energy production goals. We find that uncoordinated, dam-by-dam hydropower expansion has resulted in forgone ecosystem service benefits. Minimizing further damage from hydropower development requires considering diverse environmental impacts across the entire basin, as well as cooperation among Amazonian nations. Our findings offer a transferable model for the evaluation of hydropower expansion in transboundary basins. Hydropower projects are proliferating in many parts of the world. The benefits they bring in electricity supply are often offset by environmental costs. In an international collaboration, Flecker et al. present a study that aims to optimize the retention of ecosystem services in the face of hydropower expansion in the Amazon basin (see the Perspective by Holtgrieve and Arias). The authors found that simultaneous consideration of multiple criteria (sediment transport, river connectivity, flow regulation, fish biodiversity, and greenhouse gas emissions) is necessary for optimizing the size and location of dams, and that the geographical scale of planning is also key (benefits from a smaller-scale plan may be detrimental at the basin scale). Their computational method allows the evaluation of each trade-off individually or all trade-offs simultaneously and is broadly applicable in other basin settings. —AMS Computational advances reveal opportunities for more sustainable hydropower development in large transboundary river basins.}} + + +@TechReport{WiserIPCC, + author = {Ryan Wiser and Zhenbin Yang and Maureen Hand and Olav Hohmeyer and David Infield and Peter H. Jensen and Vladimir Nikolaev and Mark O’Malley and Graham Sinden and Arthouros Zervos and Naim Darghouth and Dennis Elliott and Garvin Heath and Ben Hoen and Hannele Holttinen and Jason Jonkman and Andrew Mills and Patrick Moriarty and Sara Pryor and Scott Schreck and Charles Smith}, + title = {{Wind Energy}}, + institution = {In IPCC Special Report on Renewable Energy Sources and Climate Change Mitigation}, + year = {2011}, + url = {https://www.ipcc.ch/report/renewable-energy-sources-and-climate-change-mitigation/wind-energy/}, +} + +@TechReport{ArvizuIPCC, + author = {Dan Arvizu and Palani Balaya and Luisa F. Cabeza and Terry Hollands and Arnulf Jäger-Waldau and Michio Kondo and Charles Konseibo and Valentin Meleshko and Wesley Stein and Yutaka Tamaura and Honghua Xu and Roberto Zilles and Armin Aberle and Andreas Athienitis and Shannon Cowlin and Don Gwinner and Garvin Heath and Thomas Huld and Ted James and Lawrence Kazmerski and Margaret Mann and Koji Matsubara and Anton Meier and Arun Mujumdar and Takashi Oozeki and Oumar Sanogo and Matheos Santamouris and Michael Sterner and Paul Weyers}, + title = {{Direct Solar Energy}}, + institution = {In IPCC Special Report on Renewable Energy Sources and Climate Change Mitigation}, + year = {2011}, + url = {https://www.ipcc.ch/report/renewable-energy-sources-and-climate-change-mitigation/wind-energy/}, +} + +@TechReport{WorldBankGRes, + author = {Rikard Liden and William Rex and Kimberly Lyon and Karin Grandin and Karan Capoor and Marcus Wishart and Samuel Oguah and Pablo Cardinale and Anne Schopp and Harikumar Gadde and Peter Bergsten and Francisco Avendano and Amarilis Netwall and Sean Nelson}, + title = {{MGreenhouse Gases from Reservoirs Caused by Biogeochemical Processes}}, + institution = {World Bank}, + year = {2017}, + month = {December}, + url = {https://documents1.worldbank.org/curated/en/739881515751628436/pdf/Greenhouse-gases-from-reservoirs-caused-by-biogeochemical-processes.pdf}, +} + +@Article{Harrison2021, + author = {Harrison, John A. and Prairie, Yves T. and Mercier-Blais, Sara and Soued, Cynthia}, + title = {{Year-2020 Global Distribution and Pathways of Reservoir Methane and Carbon Dioxide Emissions According to the Greenhouse Gas From Reservoirs (G-res) Model}}, + journal = {Global Biogeochemical Cycles}, + year = {2021}, + volume = {35}, + number = {6}, + pages = {e2020GB006888}, + note = {e2020GB006888 2020GB006888}, + abstract = {Abstract Collectively, reservoirs constitute a significant global source of C-based greenhouse gases (GHGs). Yet, global estimates of reservoir carbon dioxide (CO2) and methane (CH4) emissions remain uncertain, varying more than four-fold in recent analyses. Here we present results from a global application of the Greenhouse Gas from Reservoirs (G-res) model wherein we estimate per-area and per-reservoir CO2 and CH4 fluxes, by specific flux pathway and in a spatially and temporally explicit manner, as a function of reservoir characteristics. We show: (a) CH4 fluxes via degassing and ebullition are much larger than previously recognized and diffusive CH4 fluxes are lower than previously estimated, while CO2 emissions are similar to those reported in past work; (b) per-area reservoir GHG fluxes are >29\% higher than suggested by previous studies, due in large part to our novel inclusion of the degassing flux in our global estimate; (c) CO2 flux is the dominant emissions pathway in boreal regions and CH4 degassing and ebullition are dominant in tropical and subtropical regions, with the highest overall reservoir GHG fluxes in the tropics and subtropics; and (d) reservoir GHG fluxes are quite sensitive to input parameters that are both poorly constrained and likely to be strongly influenced by climate change in coming decades (parameters such as temperature and littoral area, where the latter may be expanded by deepening thermoclines expected to accompany warming surface waters). Together these results highlight a critical need to both better understand climate-related drivers of GHG emission and to better quantify GHG emissions via CH4 ebullition and degassing.}, + doi = {https://doi.org/10.1029/2020GB006888}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2020GB006888}, + keywords = {reservoirs, methane, carbon dioxide, greenhouse gas, G-res, degassing}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2020GB006888}, +} + + +@Article{Barros2011, + author = {Barros, Nathan and Cole, Jonathan J. and Tranvik, Lars J. and Prairie, Yves T. and Bastviken, David and Huszar, Vera L. M. and del Giorgio, Paul and Roland, F{\'a}bio}, + title = {Carbon emission from hydroelectric reservoirs linked to reservoir age and latitude}, + journal = {Nature Geoscience}, + year = {2011}, + volume = {4}, + number = {9}, + pages = {593-596}, + month = {Sep}, + issn = {1752-0908}, + abstract = {Reservoirs emit significant amounts of greenhouse gases. An analysis of data from 85 globally distributed hydroelectric reservoirs indicates that about 48{\thinspace}Tg carbon is emitted as carbon dioxide and 3{\thinspace}Tg carbon as methane, and that carbon emissions are correlated with reservoir age and latitude.}, + day = {01}, + doi = {10.1038/ngeo1211}, + url = {https://doi.org/10.1038/ngeo1211}, +} + +@Article{Prairie2018, + author = {Prairie, Yves T. and Alm, Jukka and Beaulieu, Jake and Barros, Nathan and Battin, Tom and Cole, Jonathan and del Giorgio, Paul and DelSontro, Tonya and Gu{\'e}rin, Fr{\'e}d{\'e}ric and Harby, Atle and Harrison, John and Mercier-Blais, Sara and Ser{\c{c}}a, Dominique and Sobek, Sebastian and Vachon, Dominic}, + title = {{Greenhouse Gas Emissions from Freshwater Reservoirs: What Does the Atmosphere See?}}, + journal = {Ecosystems}, + year = {2018}, + volume = {21}, + number = {5}, + pages = {1058-1071}, + month = {Aug}, + issn = {1435-0629}, + abstract = {Freshwater reservoirs are a known source of greenhouse gas (GHG) to the atmosphere, but their quantitative significance is still only loosely constrained. Although part of this uncertainty can be attributed to the difficulties in measuring highly variable fluxes, it is also the result of a lack of a clear accounting methodology, particularly about what constitutes new emissions and potential new sinks. In this paper, we review the main processes involved in the generation of GHG in reservoir systems and propose a simple approach to quantify the reservoir GHG footprint in terms of the net changes in GHG fluxes to the atmosphere induced by damming, that is, `what the atmosphere sees.' The approach takes into account the pre-impoundment GHG balance of the landscape, the temporal evolution of reservoir GHG emission profile as well as the natural emissions that are displaced to or away from the reservoir site resulting from hydrological and other changes. It also clarifies the portion of the reservoir carbon burial that can potentially be considered an offset to GHG emissions.}, + day = {01}, + doi = {10.1007/s10021-017-0198-9}, + url = {https://doi.org/10.1007/s10021-017-0198-9}, +} + +@Article{Prairie2021, + author = {Yves T. Prairie and Sara Mercier-Blais and John A. Harrison and Cynthia Soued and Paul del Giorgio and Atle Harby and Jukka Alm and Vincent Chanudet and Roy Nahas}, + title = {{A new modelling framework to assess biogenic GHG emissions from reservoirs: The G-res tool}}, + journal = {Environmental Modelling \& Software}, + year = {2021}, + volume = {143}, + pages = {105117}, + issn = {1364-8152}, + abstract = {Human-made reservoirs are now recognized as potentially significant sources of greenhouse gases, comparable to other anthropogenic sources, yet efforts to estimate these reservoir emissions have been hampered by the complexity of the underlying processes and a lack of coherent budgeting approaches. Here we present a unique modelling framework, the G-res Tool, which was explicitly designed to estimate the net C footprint of reservoirs across the globe. The framework involves the development of statistically robust empirical models describing the four major emission pathways for carbon-based greenhouse gases (GHG) from reservoirs: diffusive CO2 and CH4 emissions, bubbling CH4 emissions from the reservoir surface, and CH4 emissions due to degassing downstream the reservoir, based on an extensive meta-analysis of published data from the past three decades. These empirical models allow the prediction of reservoir-specific emissions, how they may shift over time and account for naturally occurring GHG generating pathways in aquatic networks.}, + doi = {https://doi.org/10.1016/j.envsoft.2021.105117}, + keywords = {Carbon dioxide, Methane, Reservoir, G-res, Model, Greenhouse gas emission}, + url = {https://www.sciencedirect.com/science/article/pii/S1364815221001602}, +} + + +@Article{Rasanen2018, + author = {Timo A Räsänen and Olli Varis and Laura Scherer and Matti KummuHigh-resolution mapping of the world’s reservoirs and dams for sustainable river-flow management}, + title = {{Greenhouse gas emissions of hydropower in the Mekong River Basin}}, + journal = {Environmental Research Letters}, + year = {2018}, + volume = {13}, + number = {3}, + pages = {034030}, + month = {mar}, + abstract = {The Mekong River Basin in Southeast Asia is undergoing extensive hydropower development, but the magnitudes of related greenhouse gas emissions (GHG) are not well known. We provide the first screening of GHG emissions of 141 existing and planned reservoirs in the basin, with a focus on atmospheric gross emissions through the reservoir water surface. The emissions were estimated using statistical models that are based on global emission measurements. The hydropower reservoirs (119) were found to have an emission range of 0.2–1994 kg CO2e MWh−1 over a 100 year lifetime with a median of 26 kg CO2e MWh−1. Hydropower reservoirs facilitating irrigation (22) had generally higher emissions reaching over 22 000 kg CO2e MWh−1. The emission fluxes for all reservoirs (141) had a range of 26–1813 000 t CO2e yr−1 over a 100 year lifetime with a median of 28 000 t CO2e yr−1. Altogether, 82% of hydropower reservoirs (119) and 45% of reservoirs also facilitating irrigation (22) have emissions comparable to other renewable energy sources (<190 kg CO2e MWh−1), while the rest have higher emissions equalling even the emission from fossil fuel power plants (>380 kg CO2e MWh−1). These results are tentative and they suggest that hydropower in the Mekong Region cannot be considered categorically as low-emission energy. Instead, the GHG emissions of hydropower should be carefully considered case-by-case together with the other impacts on the natural and social environment.}, + doi = {10.1088/1748-9326/aaa817}, + publisher = {IOP Publishing}, + url = {https://dx.doi.org/10.1088/1748-9326/aaa817}, +} + +@Article{Soued2022, + author = {Soued, Cynthia and Harrison, John A. and Mercier-Blais, Sara and Prairie, Yves T.}, + title = {{Reservoir CO2 and CH4 emissions and their climate impact over the period 1900--2060}}, + journal = {Nature Geoscience}, + year = {2022}, + volume = {15}, + number = {9}, + pages = {700-705}, + month = {Sep}, + issn = {1752-0908}, + abstract = {Reservoirs are essential for human populations, but their global carbon footprint is substantial (0.73--2.41{\thinspace}PgCO2-equivalent{\thinspace}yr−1). Yet the temporal evolution of reservoir carbon emissions and their contribution to anthropogenic radiative forcing remains unresolved. Here we quantify the long-term historical and future evolution (1900--2060) of cumulative global reservoir area, carbon dioxide and methane emissions and the resulting radiative forcing. We show that global reservoir carbon emissions peaked in 1987 (4.4{\thinspace}TmolC{\thinspace}yr−1) and have been declining since, due largely to decreasing carbon dioxide emissions as reservoirs age. However, reservoir-induced radiative forcing continues to rise due to ongoing increases in reservoir methane emissions, which accounted for 5.2{\%} of global anthropogenic methane emissions in 2020. We estimate that, in the future, methane ebullition and degassing flux will make up >75{\%} of the reservoir-induced radiative forcing, making these flux pathways key targets for improved understanding and mitigation.}, + day = {01}, + doi = {10.1038/s41561-022-01004-2}, + url = {https://doi.org/10.1038/s41561-022-01004-2}, +} + +@TechReport{Prairie2017b, + author = {YT Prairie and J. Alm and A. Harby and S. Mercier-Blais and R. Nahas}, + title = {{The GHG Reservoir Tool (G-res) Technical documentation v2.1 (2019-08-21)}.}, + institution = {{UNESCO/IHA research project on the GHG status of freshwater reservoirs. Joint publication of the UNESCO Chair in Global Environmental Change and the International Hydropower Association}}, + year = {2017}, + note = {76 pages}, +} + +@Article{Deemer2021, + author = {Deemer, B. R. and Holgerson, M. A.}, + title = {{Drivers of Methane Flux Differ Between Lakes and Reservoirs, Complicating Global Upscaling Efforts}}, + journal = {Journal of Geophysical Research: Biogeosciences}, + year = {2021}, + volume = {126}, + number = {4}, + pages = {e2019JG005600}, + note = {e2019JG005600 2019JG005600}, + abstract = {Abstract Methane is an important greenhouse gas with growing atmospheric concentrations. Freshwater lakes and reservoirs contribute substantially to atmospheric methane concentrations, but the magnitude of this contribution is poorly constrained. Uncertainty stems partially from whether the sites currently sampled represent the global population as well as incomplete knowledge of which environmental variables predict methane flux. Thus, determining the main drivers of methane flux across diverse waterbody types will inform more accurate upscaling approaches. Here we use a new database of total, diffusive, and ebullitive areal methane emissions from 313 lakes and reservoirs (ranging in surface area from 6 m2 to 5,400 km2) to identify the best predictors of methane emission. We found that the best predictors of methane emission differed by waterbody type (lakes vs. reservoirs), and that ecosystem morphometric variables (e.g., surface area and maximum depth) were more important predictors in lakes whereas metrics of autochthonous production (e.g., chlorophyll a) were more important in reservoirs. We also found that productivity strongly predicted methane ebullition, whereas ecosystem morphometry and waterbody type were more important predictors of diffusive methane flux. Finally, we identify several knowledge gaps that limit upscaling efforts. First, we need more methane emission measurements in small reservoirs, large lakes, and both natural and artificial ponds. Additionally, more accurate upscaling efforts require improved global information about waterbody surface area, waterbody type (lake vs. reservoir), ice phenology, and the distribution of productivity-related predictor variables such as total phosphorus, DOC, and chlorophyll a.}, + doi = {https://doi.org/10.1029/2019JG005600}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2019JG005600}, + keywords = {chlorophyll a, DOC, greenhouse gas, lake size, methane, reservoir}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2019JG005600}, +} + +@Article{Tomlinson2020, + author = {J.E. Tomlinson and J.H. Arnott and J.J. Harou}, + title = {{A water resource simulator in Python}}, + journal = {Environmental Modelling \& Software}, + year = {2020}, + volume = {126}, + pages = {104635}, + issn = {1364-8152}, + abstract = {A new generalised water resource network modelling Python library, Pywr, is presented. Given hydrological inflows, Pywr simulates customisable water allocation and operation rules throughout complex multi-purpose managed water systems at each user-defined time-step. The model uses a low-level interface to existing linear programming solvers for fast priority-based optimisation-driven simulation. The library uses an object based system for users to provide input data and record simulation outputs. A novel multi-scenario simulation method provides an almost 4-fold improvement in model run-times and supports calculating robustness metrics across scenarios. A flexible interface to specify multi-objective optimisation formulations as part of a model’s input file is included. These features enable analysts to apply advanced water planning approaches, such as robust decision making and robust optimisation, to real systems. The library is available under the GPLv3 open source licence, includes several examples and a regression test suite.}, + doi = {https://doi.org/10.1016/j.envsoft.2020.104635}, + keywords = {Water resource simulation, Network optimisation, Open source, Python, Multi-reservoir operations, Decision making under deep uncertainty}, + url = {https://www.sciencedirect.com/science/article/pii/S1364815219307133}, +} + +@Article{Li2023, + author = {Li, Yao and Zhao, Gang and Allen, George H. and Gao, Huilin}, + title = {Diminishing storage returns of reservoir construction}, + journal = {Nature Communications}, + year = {2023}, + volume = {14}, + number = {1}, + pages = {3203}, + month = {Jun}, + issn = {2041-1723}, + abstract = {Surface water reservoirs are increasingly being relied upon to meet rising demands in the context of growing population and changing climate. However, the amount of water available in reservoirs (and the corresponding trends) have not been well quantified at the global scale. Here we use satellite observations to estimate the storage variations of 7245 global reservoirs from 1999 to 2018. Total global reservoir storage has increased at a rate of 27.82{\thinspace}{\textpm}{\thinspace}0.08 km3/yr, which is mainly attributed to the construction of new dams. However, the normalized reservoir storage (NS)---the ratio of the actual storage to the storage capacity---has declined by 0.82{\thinspace}{\textpm}{\thinspace}0.01{\%}. The decline of NS values is especially pronounced in the global south, while the global north mainly exhibits an NS increase. With predicted decreasing runoff and increasing water demand, these observed diminishing storage returns of reservoir construction will likely persist into the future.}, + day = {13}, + doi = {10.1038/s41467-023-38843-5}, + url = {https://doi.org/10.1038/s41467-023-38843-5}, +} + +@Article{Lehner2011, + author = {Lehner, Bernhard and Liermann, Catherine Reidy and Revenga, Carmen and Vörösmarty, Charles and Fekete, Balazs and Crouzet, Philippe and Döll, Petra and Endejan, Marcel and Frenken, Karen and Magome, Jun and Nilsson, Christer and Robertson, James C and Rödel, Raimund and Sindorf, Nikolai and Wisser, Dominik}, + title = {High-resolution mapping of the world's reservoirs and dams for sustainable river-flow management}, + journal = {Frontiers in Ecology and the Environment}, + year = {2011}, + volume = {9}, + number = {9}, + pages = {494-502}, + abstract = {Despite the recognized importance of reservoirs and dams, global datasets describing their characteristics and geographical distribution are largely incomplete. To enable advanced assessments of the role and effects of dams within the global river network and to support strategies for mitigating ecohydrological and socioeconomic costs, we introduce here the spatially explicit and hydrologically linked Global Reservoir and Dam database (GRanD). As of early 2011, GRanD contains information regarding 6862 dams and their associated reservoirs, with a total storage capacity of 6197 km3. On the basis of these records, we estimate that about 16.7 million reservoirs larger than 0.01 ha – with a combined storage capacity of approximately 8070 km3 – may exist worldwide, increasing Earth's terrestrial surface water area by more than 305 000 km2. We find that 575 900 river kilometers, or 7.6\% of the world's rivers with average flows above 1 cubic meter per second (m3 s−1), are affected by a cumulative upstream reservoir capacity that exceeds 2\% of their annual flow; the impact is highest for large rivers with average flows above 1000 m3 s−1, of which 46.7\% are affected. Finally, a sensitivity analysis suggests that smaller reservoirs have substantial impacts on the spatial extent of flow alterations despite their minor role in total reservoir capacity.}, + doi = {https://doi.org/10.1890/100125}, + eprint = {https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/100125}, + url = {https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/100125}, +} + +@Article{Habel2020, + author = {Habel, Michal and Mechkin, Karl and Podgorska, Krescencja and Saunes, Marius and Babi{\'{n}}ski, Zygmunt and Chalov, Sergey and Absalon, Damian and Podg{\'o}rski, Zbigniew and Obolewski, Krystian}, + title = {Dam and reservoir removal projects: a mix of social-ecological trends and cost-cutting attitudes}, + journal = {Scientific Reports}, + year = {2020}, + volume = {10}, + number = {1}, + pages = {19210}, + month = {Nov}, + issn = {2045-2322}, + abstract = {The removal of dams and reservoirs may seem to be an unforeseen and sometimes controversial step in water management. The removal of barriers may be different for each country or region, as each differs greatly in terms of politics, economy and social and cultural awareness. This paper addresses the complex problem of removing dams on rivers and their connected reservoirs. We demonstrate the scales of the changes, including their major ecological, economic, and social impacts. Arguments and approaches to this problem vary across states and regions, depending on the political system, economy and culture, as confirmed by the qualitative and quantitative intensities of the dam removal process and its global geographical variation. The results indicate that the removal of dams on rivers and their connected reservoirs applies predominantly to smaller structures (<{\thinspace}2.5 m). The existing examples provide an important conclusion that dams and reservoirs should be considered with regard to the interrelations between people and the environment. Decisions to deconstruct hydraulic engineering structures (or, likewise, to construct them) have to be applied with scrutiny. Furthermore, all decision-making processes have to be consistent and unified and thus developed to improve the lack of strategies currently implemented across world.}, + day = {05}, + doi = {10.1038/s41598-020-76158-3}, + url = {https://doi.org/10.1038/s41598-020-76158-3}, +} + +@Article{Moran2018, + author = {Emilio F. Moran and Maria Claudia Lopez and Nathan Moore and Norbert Müller and David W. Hyndman}, + title = {Sustainable hydropower in the 21st century}, + journal = {Proceedings of the National Academy of Sciences}, + year = {2018}, + volume = {115}, + number = {47}, + pages = {11891-11898}, + abstract = {Hydropower has been the leading source of renewable energy across the world, accounting for up to 71\% of this supply as of 2016. This capacity was built up in North America and Europe between 1920 and 1970 when thousands of dams were built. Big dams stopped being built in developed nations, because the best sites for dams were already developed and environmental and social concerns made the costs unacceptable. Nowadays, more dams are being removed in North America and Europe than are being built. The hydropower industry moved to building dams in the developing world and since the 1970s, began to build even larger hydropower dams along the Mekong River Basin, the Amazon River Basin, and the Congo River Basin. The same problems are being repeated: disrupting river ecology, deforestation, losing aquatic and terrestrial biodiversity, releasing substantial greenhouse gases, displacing thousands of people, and altering people’s livelihoods plus affecting the food systems, water quality, and agriculture near them. This paper studies the proliferation of large dams in developing countries and the importance of incorporating climate change into considerations of whether to build a dam along with some of the governance and compensation challenges. We also examine the overestimation of benefits and underestimation of costs along with changes that are needed to address the legitimate social and environmental concerns of people living in areas where dams are planned. Finally, we propose innovative solutions that can move hydropower toward sustainable practices together with solar, wind, and other renewable sources.}, + doi = {10.1073/pnas.1809426115}, + eprint = {https://www.pnas.org/doi/pdf/10.1073/pnas.1809426115}, + url = {https://www.pnas.org/doi/abs/10.1073/pnas.1809426115}, +} + +@Article{Gernaat2017, + author = {Gernaat, David E. H. J. and Bogaart, Patrick W. and Vuuren, Detlef P. van and Biemans, Hester and Niessink, Robin}, + title = {High-resolution assessment of global technical and economic hydropower potential}, + journal = {Nature Energy}, + year = {2017}, + volume = {2}, + number = {10}, + pages = {821-828}, + month = {Oct}, + issn = {2058-7546}, + abstract = {Hydropower is the most important renewable energy source to date, providing over 72{\%} of all renewable electricity globally. Yet, only limited information is available on the global potential supply of hydropower and the associated costs. Here we provide a high-resolution assessment of the technical and economic potential of hydropower at a near-global scale. Using 15''{\texttimes}15'' discharge and 3''{\texttimes}3'' digital elevation maps, we built virtual hydropower installations at{\thinspace}>3.8 million sites across the globe and calculated their potential using cost optimization methods. This way we identified over 60,000 suitable sites, which together represent a remaining global potential of 9.49{\thinspace}PWh{\thinspace}yr−1 below US{\$}0.50{\thinspace}kWh−1. The largest remaining potential is found in Asia Pacific (39{\%}), South America (25{\%}) and Africa (24{\%}), of which a large part can be produced at low cost ( 0.60). Type Ⅱ is mainly characterized by the low reservoir regulation capacity (SI < 0.35). In the type III systems, water demand can always be satisfied and is characterized by the abundance of water resources (m > 0.98) and adequate regulation capacity (SI > 1.02). For the rest of the reservoirs where DLWL is applicable, a multi-objective DLWL optimization method is put forward. Qing River Reservoir in Northeast China is taken as a base case to demonstrate the effectiveness of DLWL and study the influence of changing hydrologic and socioeconomic conditions on optimal seasonal DLWLs. Results indicate that to cope with increasing water supply pressure featured by increasing total demand, decreasing streamflow, and higher streamflow uncertainty, DLWL during the high-water demand periods ought to be raised and DLWL during the dry season that guides water supply for several months ought to be lowered. Insights from this work have general merit for instructing reservoir managers to take effective drought mitigation measures.}, + doi = {https://doi.org/10.1016/j.jhydrol.2023.129106}, + keywords = {Reservoir operation, Drought management, Hedging rule, Water supply, Multiobjective optimization}, + url = {https://www.sciencedirect.com/science/article/pii/S0022169423000483}, +} + +@InBook{Blume-Werry2022, + pages = {145--156}, + title = {Hydropower}, + publisher = {Springer International Publishing}, + year = {2022}, + author = {Blume-Werry, Eike and Everts, Martin}, + editor = {Hafner, Manfred and Luciani, Giacomo}, + address = {Cham}, + isbn = {978-3-030-86884-0}, + abstract = {Hydropower is one of the oldest power generation technologies and the source of the largest power stations in the world. Despite a phenomenal rise of new renewable generation technologies, hydropower remains responsible for most of the renewable electricity generation around the globe. This chapter explores the economics of power generation from hydro and its advantages as well disadvantages. It describes the characteristics of the three hydropower generation types: run-of-river, hydro storage and pumped storage in detail and provides an outlook on the future role of hydropower in modern energy systems.}, + booktitle = {The Palgrave Handbook of International Energy Economics}, + doi = {10.1007/978-3-030-86884-0_8}, + url = {https://doi.org/10.1007/978-3-030-86884-0_8}, +} + +@Article{Grill2019, + author = {Grill, G. and Lehner, B. and Thieme, M. and Geenen, B. and Tickner, D. and Antonelli, F. and Babu, S. and Borrelli, P. and Cheng, L. and Crochetiere, H. and Ehalt Macedo, H. and Filgueiras, R. and Goichot, M. and Higgins, J. and Hogan, Z. and Lip, B. and McClain, M. E. and Meng, J. and Mulligan, M. and Nilsson, C. and Olden, J. D. and Opperman, J. J. and Petry, P. and Reidy Liermann, C. and S{\'a}enz, L. and Salinas-Rodr{\'i}guez, S. and Schelle, P. and Schmitt, R. J. P. and Snider, J. and Tan, F. and Tockner, K. and Valdujo, P. H. and van Soesbergen, A. and Zarfl, C.}, + title = {Mapping the world's free-flowing rivers}, + journal = {Nature}, + year = {2019}, + volume = {569}, + number = {7755}, + pages = {215-221}, + month = {May}, + issn = {1476-4687}, + abstract = {Free-flowing rivers (FFRs) support diverse, complex and dynamic ecosystems globally, providing important societal and economic services. Infrastructure development threatens the ecosystem processes, biodiversity and services that these rivers support. Here we assess the connectivity status of 12 million kilometres of rivers globally and identify those that remain free-flowing in their entire length. Only 37 per cent of rivers longer than 1,000 kilometres remain free-flowing over their entire length and 23 per cent flow uninterrupted to the ocean. Very long FFRs are largely restricted to remote regions of the Arctic and of the Amazon and Congo basins. In densely populated areas only few very long rivers remain free-flowing, such as the Irrawaddy and Salween. Dams and reservoirs and their up- and downstream propagation of fragmentation and flow regulation are the leading contributors to the loss of river connectivity. By applying a new method to quantify riverine connectivity and map FFRs, we provide a foundation for concerted global and national strategies to maintain or restore them.}, + day = {01}, + doi = {10.1038/s41586-019-1111-9}, + url = {https://doi.org/10.1038/s41586-019-1111-9}, +} + +@Article{Dorber2020, + author = {Dorber, Martin and Arvesen, Anders and Gernaat, David and Verones, Francesca}, + title = {Controlling biodiversity impacts of future global hydropower reservoirs by strategic site selection}, + journal = {Scientific Reports}, + year = {2020}, + volume = {10}, + number = {1}, + pages = {21777}, + month = {Dec}, + issn = {2045-2322}, + abstract = {Further reservoir-based hydropower development can contribute to the United Nations' sustainable development goals (SDGs) on affordable and clean energy, and climate action. However, hydropower reservoir operation can lead to biodiversity impacts, thus interfering with the SDGs on clean water and life on land. We combine a high-resolution, location-specific, technical assessment with newly developed life cycle impact assessment models, to assess potential biodiversity impacts of possible future hydropower reservoirs, resulting from land occupation, water consumption and methane emissions. We show that careful selection of hydropower reservoirs has a large potential to limit biodiversity impacts, as for example, 0.3{\%} of the global hydropower potential accounts for 25{\%} of the terrestrial biodiversity impact. Local variations, e.g. species richness, are the dominant explanatory factors of the variance in the quantified biodiversity impact and not the mere amount of water consumed, or land occupied per kWh. The biodiversity impacts are mainly caused by land occupation and water consumption, with methane emissions being much less important. Further, we indicate a trade-off risk between terrestrial and aquatic biodiversity impacts, as due to the weak correlation between terrestrial and aquatic impacts, reservoirs with small aquatic biodiversity impacts tend to have larger terrestrial impacts and vice versa.}, + day = {11}, + doi = {10.1038/s41598-020-78444-6}, + url = {https://doi.org/10.1038/s41598-020-78444-6}, +} + +@Article{Gonzalez2023, + author = {Gonzalez, Jose M. and Tomlinson, James E. and Mart{\'i}nez Cese{\~{n}}a, Eduardo A. and Basheer, Mohammed and Obuobie, Emmanuel and Padi, Philip T. and Addo, Salifu and Baisie, Rasheed and Etichia, Mikiyas and Hurford, Anthony and Bottacin-Busolin, Andrea and Matthews, John and Dalton, James and Smith, D. Mark and Sheffield, Justin and Panteli, Mathaios and Harou, Julien J.}, + title = {Designing diversified renewable energy systems to balance multisector performance}, + journal = {Nature Sustainability}, + year = {2023}, + volume = {6}, + number = {4}, + pages = {415-427}, + month = {Apr}, + issn = {2398-9629}, + abstract = {Renewable energy system development and improved operation can mitigate climate change. In many regions, hydropower is called to counterbalance the temporal variability of intermittent renewables like solar and wind. However, using hydropower to integrate these renewables can affect aquatic ecosystems and increase cross-sectoral water conflicts. We develop and apply an artificial intelligence-assisted multisector design framework in Ghana, which shows how hydropower's flexibility alone could enable expanding intermittent renewables by 38{\%} but would increase sub-daily Volta River flow variability by up to 22 times compared to historical baseload hydropower operations. This would damage river ecosystems and reduce agricultural sector revenues by US{\$}169{\thinspace}million per year. A diversified investment strategy identified using the proposed framework, including intermittent renewables, bioenergy, transmission lines and strategic hydropower re-operation could reduce sub-daily flow variability and enhance agricultural performance while meeting future national energy service goals and reducing CO2 emissions. The tool supports national climate planning instruments such as nationally determined contributions (NDCs) by steering towards diversified and efficient power systems and highlighting their sectoral and emission trade-offs and synergies.}, + day = {01}, + doi = {10.1038/s41893-022-01033-0}, + url = {https://doi.org/10.1038/s41893-022-01033-0}, +} + +@Article{DelSontro2010, + author = {DelSontro, Tonya and McGinnis, Daniel F. and Sobek, Sebastian and Ostrovsky, Ilia and Wehrli, Bernhard}, + title = {{Extreme Methane Emissions from a Swiss Hydropower Reservoir: Contribution from Bubbling Sediments}}, + journal = {Environmental Science {\&} Technology}, + year = {2010}, + volume = {44}, + number = {7}, + pages = {2419-2425}, + month = {Apr}, + issn = {0013-936X}, + day = {01}, + doi = {10.1021/es9031369}, + publisher = {American Chemical Society}, + url = {https://doi.org/10.1021/es9031369}, +} + +@Article{Yan2021, + author = {Yan, Xingcheng and Thieu, Vincent and Garnier, Josette}, + title = {Long-Term Evolution of Greenhouse Gas Emissions From Global Reservoirs}, + journal = {Frontiers in Environmental Science}, + year = {2021}, + volume = {9}, + issn = {2296-665X}, + abstract = {The contribution of artificial reservoirs to greenhouse gas (GHG) emissions has been emphasized in previous studies. In the present study, we collected and updated data on GHG emission rates from reservoirs at the global scale, and applied a new classification method based on the hydrobelt concept. Our results showed that CH4 and CO2 emissions were significantly different in the hydrobelt groups (p < 0.01), while no significant difference was found for N2O emissions, possibly due to their limited measurements. We found that annual GHG emissions (calculated as C or N) from global reservoirs amounted to 12.9 Tg CH4-C, 50.8 Tg CO2-C, and 0.04 Tg N2O-N. Furthermore, GHG emissions (calculated as CO2 equivalents) were also estimated for the 1950–2017 period based on the cumulative number and surface area of global reservoirs in the different hydrobelts. The highest increase rate in both the number of reservoirs and their surface area, which occurred from 1950 to the 1980s, led to an increase in GHG emissions from reservoirs. Since then, the increase rate of reservoir construction, and hence GHG emissions, has slowed down. Moreover, we also examined the potential impact of reservoir eutrophication on GHG emissions and found that GHG emissions from reservoirs could increase by 40% under conditions in which total phosphorus would double. In addition, we showed that the characteristics of reservoirs (e.g., geographical location) and their catchments (e.g., surrounding terrestrial net primary production, and precipitation) may influence GHG emissions. Overall, a major finding of our study was to provide an estimate of the impact of large reservoirs during the 1950–2017 period, in terms of GHG emissions. This should help anticipate future GHG emissions from reservoirs considering all reservoirs being planned worldwide. Besides using the classification per hydrobelt and thus reconnecting reservoirs to their watersheds, our study further emphasized the efforts to be made regarding the measurement of GHG emissions in some hydrobelts and in considering the growing number of reservoirs.}, + doi = {10.3389/fenvs.2021.705477}, + url = {https://www.frontiersin.org/articles/10.3389/fenvs.2021.705477}, +} + +@Article{Bastviken2004, + author = {Bastviken, David and Cole, Jonathan and Pace, Michael and Tranvik, Lars}, + title = {Methane emissions from lakes: Dependence of lake characteristics, two regional assessments, and a global estimate}, + journal = {Global Biogeochemical Cycles}, + year = {2004}, + volume = {18}, + number = {4}, + abstract = {Lake sediments are “hot spots” of methane production in the landscape. However, regional and global lake methane emissions, contributing to the greenhouse effect, are poorly known. We developed predictions of methane emissions from easily measured lake characteristics based on measurements for 11 North American and 13 Swedish lakes, and literature values from 49 lakes. Results suggest that open water methane emission can be predicted from variables such as lake area, water depth, concentrations of total phosphorus, dissolved organic carbon, and methane, and the anoxic lake volume fraction. Using these relations, we provide regional estimates from lakes in Sweden and the upper midwest of the United States. Considering both open water and plant-mediated fluxes, we estimate global emissions as 8–48 Tg CH4 yr−1 (6–16\% of total natural methane emissions and greater than oceanic emission), indicating that lakes should be included as a significant source in global methane budgets.}, + doi = {https://doi.org/10.1029/2004GB002238}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2004GB002238}, + keywords = {methane emission, lakes, greenhouse gases, ebullition, regional, global}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2004GB002238}, +} + +@Article{Bastviken2011, + author = {David Bastviken and Lars J. Tranvik and John A. Downing and Patrick M. Crill and Alex Enrich-Prast}, + title = {Freshwater Methane Emissions Offset the Continental Carbon Sink}, + journal = {Science}, + year = {2011}, + volume = {331}, + number = {6013}, + pages = {50-50}, + abstract = {Inland freshwaters, which include lakes, reservoirs, streams, and rivers, may emit far more methane than previously thought. Inland waters (lakes, reservoirs, streams, and rivers) are often substantial methane (CH4) sources in the terrestrial landscape. They are, however, not yet well integrated in global greenhouse gas (GHG) budgets. Data from 474 freshwater ecosystems and the most recent global water area estimates indicate that freshwaters emit at least 103 teragrams of CH4 year−1, corresponding to 0.65 petagrams of C as carbon dioxide (CO2) equivalents year−1, offsetting 25\% of the estimated land carbon sink. Thus, the continental GHG sink may be considerably overestimated, and freshwaters need to be recognized as important in the global carbon cycle.}, + doi = {10.1126/science.1196808}, + eprint = {https://www.science.org/doi/pdf/10.1126/science.1196808}, + url = {https://www.science.org/doi/abs/10.1126/science.1196808}, +} + +@Article{Li2024, + author = {Li, Ya and Tian, Hanqin and Yao, Yuanzhi and Shi, Hao and Bian, Zihao and Shi, Yu and Wang, Siyuan and Maavara, Taylor and Lauerwald, Ronny and Pan, Shufen}, + title = {Increased nitrous oxide emissions from global lakes and reservoirs since the pre-industrial era}, + journal = {Nature Communications}, + year = {2024}, + volume = {15}, + number = {1}, + pages = {942}, + month = {Jan}, + issn = {2041-1723}, + abstract = {Lentic systems (lakes and reservoirs) are emission hotpots of nitrous oxide (N2O), a potent greenhouse gas; however, this has not been well quantified yet. Here we examine how multiple environmental forcings have affected N2O emissions from global lentic systems since the pre-industrial period. Our results show that global lentic systems emitted 64.6{\thinspace}{\textpm}{\thinspace}12.1 Gg N2O-N yr−1 in the 2010s, increased by 126{\%} since the 1850s. The significance of small lentic systems on mitigating N2O emissions is highlighted due to their substantial emission rates and response to terrestrial environmental changes. Incorporated with riverine emissions, this study indicates that N2O emissions from global inland waters in the 2010s was 319.6{\thinspace}{\textpm}{\thinspace}58.2 Gg N yr−1. This suggests a global emission factor of 0.051{\%} for inland water N2O emissions relative to agricultural nitrogen applications and provides the country-level emission factors (ranging from 0 to 0.341{\%}) for improving the methodology for national greenhouse gas emission inventories.}, + day = {31}, + doi = {10.1038/s41467-024-45061-0}, + url = {https://doi.org/10.1038/s41467-024-45061-0}, +} + +@TechReport{WorldBank2023b, + author = {Kim Alan Edwards and Kemoh Mansaray and Thi Da Myint and Fayavar Hayati and Aka Kyaw Min Maw}, + title = {{Myanmar Economic Monitor : Challenges Amid Conflict (English)}}, + institution = {World Bank Group, Washington D.C.}, + year = {2023}, + url = {http://documents.worldbank.org/curated/en/099121123082084971/P5006631739fd70a01a66c1e15bf7b34917}, +} + +@Article{Lei2022, + author = {Xiangyang Lei}, + title = {Research on development and utilization of hydropower in Myanmar}, + journal = {Energy Reports}, + year = {2022}, + volume = {8}, + pages = {16-21}, + issn = {2352-4847}, + note = {2021 6th International Conference on Clean Energy and Power Generation Technology}, + abstract = {Hydropower contributes a lot to electricity generation. Myanmar has enormous potential for water resources which can guarantee domestic electricity supply and export surplus power to neighbouring countries. This paper analyses the status-quo of water resources and obstacles of Myanmar’s hydropower development, and concludes that: (1) Myanmar harbours great potential for hydropower development and utilization; (2) the spatial distribution of hydropower stations and the supply of electricity are unbalanced; (3) main obstacles for hydropower development and utilization include weak governance over water resources, lack of fund and technology, natural disasters and environmentalism resistance. To achieve full electrification in 2030, it is essential for Myanmar to promote the construction of both small-scale and responsible large-scale hydropower stations.}, + doi = {https://doi.org/10.1016/j.egyr.2021.11.031}, + keywords = {Hydropower development and utilization, Obstacles, Prospects, Myanmar}, + url = {https://www.sciencedirect.com/science/article/pii/S2352484721011768}, +} + +@Article{eszterhai2021strategic, + author = {Eszterhai, Viktor and Thida, Hnin Mya}, + title = {{Strategic Choices of Small States in Asymmetric Dependence: Myanmar--China Relations through the case of the Myitsone Dam}}, + journal = {Journal of Contemporary Eastern Asia}, + year = {2021}, + volume = {20}, + number = {2}, + pages = {157--173}, + publisher = {World Association for Triple Helix and Future Strategy Studies}, +} + +@Article{McDowell2020, +author={McDowell, R. W. +and Noble, A. +and Pletnyakov, P. +and Haggard, B. E. +and Mosley, L. M.}, +title={Global mapping of freshwater nutrient enrichment and periphyton growth potential}, +journal={Scientific Reports}, +year={2020}, +month={Feb}, +day={27}, +volume={10}, +number={1}, +pages={3568}, +abstract={Periphyton (viz. algal) growth in many freshwater systems is associated with severe eutrophication that can impair productive and recreational use of water by billions of people. However, there has been limited analysis of periphyton growth at a global level. To predict where nutrient over-enrichment and undesirable periphyton growth occurs, we combined several databases to model and map global dissolved and total nitrogen (N) and phosphorus (P) concentrations, climatic and catchment characteristics for up to 1406 larger rivers that were analysed between 1990 and 2016. We predict that 31{\%} of the global landmass contained catchments may exhibit undesirable levels of periphyton growth. Almost three-quarters (76{\%}) of undesirable periphyton growth was caused by P-enrichment and mapped to catchments dominated by agricultural land in North and South America and Europe containing 1.7B people. In contrast, undesirable periphyton growth due to N-enrichment was mapped to parts of North Africa and parts of the Middle East and India affecting 280{\thinspace}M people. The findings of this global modelling approach can be used by landowners and policy makers to better target investment and actions at finer spatial scales to remediate poor water quality owing to periphyton growth.}, +issn={2045-2322}, +doi={10.1038/s41598-020-60279-w}, +url={https://doi.org/10.1038/s41598-020-60279-w} +} + +@Article{mcdowell2021, + author = {McDowell, Rich W. and Noble, Alasdair and Pletnyakov, Peter and Mosley, Luke M.}, + title = {Global database of diffuse riverine nitrogen and phosphorus loads and yields}, + journal = {Geoscience Data Journal}, + year = {2021}, + volume = {8}, + number = {2}, + pages = {132-143}, + abstract = {Abstract Human activities have increased the input of nitrogen and phosphorus into riverine systems. These inputs can increase algal growth that degrades aquatic ecosystems. We constructed a global database of diffuse loads (kg) and yields (kg ha−1 yr−1) of dissolved and total nitrogen and phosphorus forms for 7 years (centred around 2008) in 1,421 catchments. Yields were calculated from 640,950 measurements that were checked, filtered and harmonized from readily available sources. We used the yield data to create a georeferenced model to calculate yields of nitrogen and phosphorus forms across 6,020 catchments, globally. The database can be used to assess and inform policy to reduce nitrogen and phosphorus losses from land to freshwater, improve nutrient use efficiency on farms, and help calibrate global models being used to explore scenarios such as nutrient management efficiency in a changing climate. The source data and R code are provided at https://doi.org/10.25400/lincolnuninz.11894697.}, + doi = {https://doi.org/10.1002/gdj3.111}, + eprint = {https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/gdj3.111}, + keywords = {dissolved reactive phosphorus, eutrophication, modelling, nitrate}, + url = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/gdj3.111}, +} + +@Article{Khazaei2022, +author={Khazaei, Bahram +and Read, Laura K. +and Casali, Matthew +and Sampson, Kevin M. +and Yates, David N.}, +title={GLOBathy, the global lakes bathymetry dataset}, +journal={Scientific Data}, +year={2022}, +month={Feb}, +day={03}, +volume={9}, +number={1}, +pages={36}, +abstract={Waterbodies (natural lakes and reservoirs) are a critical part of a watershed's ecological and hydrological balance, and in many cases dictate the downstream river flows either through natural attenuation or through managed controls. Investigating waterbody dynamics relies primarily on understanding their morphology and geophysical characteristics that are primarily defined by bathymetry. Bathymetric conditions define stage-storage relationships and circulation/transport processes in waterbodies. Yet many studies oversimplify these mechanisms due to unavailability of the bathymetric data. We developed a novel GLObal Bathymetric (GLOBathy) dataset of 1.4+{\thinspace}million waterbodies to align with the well-established global dataset, HydroLAKES. GLOBathy uses a GIS-based framework to generate bathymetric maps based on the waterbody maximum depth estimates and HydroLAKES geometric/geophysical attributes of the waterbodies. The maximum depth estimates are validated at 1,503 waterbodies, making use of several observed data sources. We also provide estimations for head-Area-Volume (h-A-V) relationships of the HydroLAKES waterbodies, driven from the bathymetric maps of the GLOBathy dataset. The h-A-V relationships provide essential information for water balance and hydrological studies of global waterbody systems.}, +issn={2052-4463}, +doi={10.1038/s41597-022-01132-9}, +url={https://doi.org/10.1038/s41597-022-01132-9} +} + +@article{Carlino2023, +author = {Angelo Carlino and Matthias Wildemeersch and Celray James Chawanda and Matteo Giuliani and Sebastian Sterl and Wim Thiery and Ann van Griensven and Andrea Castelletti }, +title = {Declining cost of renewables and climate change curb the need for African hydropower expansion}, +journal = {Science}, +volume = {381}, +number = {6658}, +pages = {eadf5848}, +year = {2023}, +doi = {10.1126/science.adf5848}, +URL = {https://www.science.org/doi/abs/10.1126/science.adf5848}, +eprint = {https://www.science.org/doi/pdf/10.1126/science.adf5848}, +abstract = {Across continental Africa, more than 300 new hydropower projects are under consideration to meet the future energy demand that is expected based on the growing population and increasing energy access. Yet large uncertainties associated with hydroclimatic and socioeconomic changes challenge hydropower planning. In this work, we show that only 40 to 68\% of the candidate hydropower capacity in Africa is economically attractive. By analyzing the African energy systems’ development from 2020 to 2050 for different scenarios of energy demand, land-use change, and climate impacts on water availability, we find that wind and solar outcompete hydropower by 2030. An additional 1.8 to 4\% increase in annual continental investment ensures reliability against future hydroclimatic variability. However, cooperation between countries is needed to overcome the divergent spatial distribution of investment costs and potential energy deficits. A growing population and increasing energy demand have spurred investments in hydropower generation in Africa. At the same time, the cost of power from other types of renewable sources has continued to drop. Carlino et al. explored the ramifications of this trend on the economics of hydropower. They analyzed the African energy landscape from 2020 to 2050, and predicted that the declining cost of wind and solar power will make a large fraction of the current hydropower candidate installations economically uncompetitive over that period. Cooperation between countries could help to overcome the regionally unequal distribution of investment costs and potential energy deficits. —H. Jesse Smith The window for economically competitive African hydropower development is rapidly closing.}} + +@Article{Keller2021, +author={Keller, Philipp S. +and Marc{\'e}, Rafael +and Obrador, Biel +and Koschorreck, Matthias}, +title={Global carbon budget of reservoirs is overturned by the quantification of drawdown areas}, +journal={Nature Geoscience}, +year={2021}, +month={Jun}, +day={01}, +volume={14}, +number={6}, +pages={402-408}, +abstract={Reservoir drawdown areas---where sediment is exposed to the atmosphere due to water-level fluctuations---are hotspots for carbon dioxide (CO2) emissions. However, the global extent of drawdown areas is unknown, precluding an accurate assessment of the carbon budget of reservoirs. Here we show, on the basis of satellite observations of 6,794 reservoirs between 1985 and 2015, that 15{\%} of the global reservoir area was dry. Exposure of drawdown areas was most pronounced in reservoirs close to the tropics and shows a complex dependence on climatic (precipitation, temperature) and anthropogenic (water use) drivers. We re-assessed the global carbon emissions from reservoirs by apportioning CO2 and methane emissions to water surfaces and drawdown areas using published areal emission rates. The new estimate assigns 26.2 (15--40) (95{\%} confidence interval) TgCO2-C yr−1 to drawdown areas, and increases current global CO2 emissions from reservoirs by 53{\%} (60.3 (43.2--79.5) TgCO2-C yr−1). Taking into account drawdown areas, the ratio between carbon emissions and carbon burial in sediments is 2.02 (1.04--4.26). This suggests that reservoirs emit more carbon than they bury, challenging the current understanding that reservoirs are net carbon sinks. Thus, consideration of drawdown areas overturns our conception of the role of reservoirs in the carbon cycle.}, +issn={1752-0908}, +doi={10.1038/s41561-021-00734-z}, +url={https://doi.org/10.1038/s41561-021-00734-z} +} + +@article{MARCE2019240, +title = {Emissions from dry inland waters are a blind spot in the global carbon cycle}, +journal = {Earth-Science Reviews}, +volume = {188}, +pages = {240-248}, +year = {2019}, +issn = {0012-8252}, +doi = {https://doi.org/10.1016/j.earscirev.2018.11.012}, +url = {https://www.sciencedirect.com/science/article/pii/S0012825218301971}, +author = {Rafael Marcé and Biel Obrador and Lluís Gómez-Gener and Núria Catalán and Matthias Koschorreck and María Isabel Arce and Gabriel Singer and Daniel {von Schiller}}, +keywords = {Carbon dioxide, Methane, Intermittent, Stream, River, Lake}, +abstract = {A large part of the world's inland waters, including streams, rivers, ponds, lakes and reservoirs is subject to occasional, recurrent or even permanent drying. Moreover, the occurrence and intensity of drying events are increasing in many areas of the world because of climate change, water abstraction, and land use alteration. Yet, information on the gaseous carbon (C) fluxes from dry inland waters is scarce, thus precluding a comprehensive assessment of C emissions including all, also intermittently dry, inland waters. Here, we review current knowledge on gaseous C fluxes from lotic (streams and rivers) and lentic (ponds, lakes, and reservoirs) inland waters during dry phases and the response to rewetting, considering controls and sources as well as implications of including ‘dry’ fluxes for local and global scale estimates. Moreover, knowledge gaps and research needs are discussed. Our conservative estimates indicate that adding emissions from dry inland waters to current global estimates of CO2 emissions from inland waters could result in an increase of 0.22 Pg C year−1, or ~10% of total fluxes. We outline the necessary conceptual understanding to successfully include dry phases in a more complete picture of inland water C emissions and identify potential implications for global C cycle feedbacks.} +} + +@article{Kosten2018, +author = {Sarian Kosten and Sanne van den Berg and Raquel Mendonca and Jose R. Paranaiba and Fabio Roland and Sebastian Sobek and Jamon Van Den Hoek and Nathan Barros}, +title = {Extreme drought boosts CO2 and CH4 emissions from reservoir drawdown areas}, +journal = {Inland Waters}, +volume = {8}, +number = {3}, +pages = {329--340}, +year = {2018}, +publisher = {Taylor \& Francis}, +doi = {10.1080/20442041.2018.1483126}, +URL = {https://doi.org/10.1080/20442041.2018.1483126}, +eprint = {https://doi.org/10.1080/20442041.2018.1483126} +} + +@article{Biecek2018, + author = {Przemyslaw Biecek}, + title = {{DALEX: Explainers for Complex Predictive Models in R}}, + journal = {Journal of Machine Learning Research}, + year = {2018}, + volume = {19}, + number = {84}, + pages = {1-5}, + url = {http://jmlr.org/papers/v19/18-416.html} +} + +@Book{Biecek2021, + title = {{Explanatory Model Analysis}}, + publisher = {Chapman and Hall/CRC, New York}, + year = {2021}, + author = {Przemyslaw Biecek and Tomasz Burzykowski}, + isbn = {9780367135591}, + url = {https://pbiecek.github.io/ema/}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 0000000..92da3f8 --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,619 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '

" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/_static/tabs.css b/_static/tabs.css new file mode 100644 index 0000000..957ba60 --- /dev/null +++ b/_static/tabs.css @@ -0,0 +1,89 @@ +.sphinx-tabs { + margin-bottom: 1rem; +} + +[role="tablist"] { + border-bottom: 1px solid #a0b3bf; +} + +.sphinx-tabs-tab { + position: relative; + font-family: Lato,'Helvetica Neue',Arial,Helvetica,sans-serif; + color: #1D5C87; + line-height: 24px; + margin: 0; + font-size: 16px; + font-weight: 400; + background-color: rgba(255, 255, 255, 0); + border-radius: 5px 5px 0 0; + border: 0; + padding: 1rem 1.5rem; + margin-bottom: 0; +} + +.sphinx-tabs-tab[aria-selected="true"] { + font-weight: 700; + border: 1px solid #a0b3bf; + border-bottom: 1px solid white; + margin: -1px; + background-color: white; +} + +.sphinx-tabs-tab:focus { + z-index: 1; + outline-offset: 1px; +} + +.sphinx-tabs-panel { + position: relative; + padding: 1rem; + border: 1px solid #a0b3bf; + margin: 0px -1px -1px -1px; + border-radius: 0 0 5px 5px; + border-top: 0; + background: white; +} + +.sphinx-tabs-panel.code-tab { + padding: 0.4rem; +} + +.sphinx-tab img { + margin-bottom: 24 px; +} + +/* Dark theme preference styling */ + +@media (prefers-color-scheme: dark) { + body[data-theme="auto"] .sphinx-tabs-panel { + color: white; + background-color: rgb(50, 50, 50); + } + + body[data-theme="auto"] .sphinx-tabs-tab { + color: white; + background-color: rgba(255, 255, 255, 0.05); + } + + body[data-theme="auto"] .sphinx-tabs-tab[aria-selected="true"] { + border-bottom: 1px solid rgb(50, 50, 50); + background-color: rgb(50, 50, 50); + } +} + +/* Explicit dark theme styling */ + +body[data-theme="dark"] .sphinx-tabs-panel { + color: white; + background-color: rgb(50, 50, 50); +} + +body[data-theme="dark"] .sphinx-tabs-tab { + color: white; + background-color: rgba(255, 255, 255, 0.05); +} + +body[data-theme="dark"] .sphinx-tabs-tab[aria-selected="true"] { + border-bottom: 2px solid rgb(50, 50, 50); + background-color: rgb(50, 50, 50); +} diff --git a/_static/tabs.js b/_static/tabs.js new file mode 100644 index 0000000..48dc303 --- /dev/null +++ b/_static/tabs.js @@ -0,0 +1,145 @@ +try { + var session = window.sessionStorage || {}; +} catch (e) { + var session = {}; +} + +window.addEventListener("DOMContentLoaded", () => { + const allTabs = document.querySelectorAll('.sphinx-tabs-tab'); + const tabLists = document.querySelectorAll('[role="tablist"]'); + + allTabs.forEach(tab => { + tab.addEventListener("click", changeTabs); + }); + + tabLists.forEach(tabList => { + tabList.addEventListener("keydown", keyTabs); + }); + + // Restore group tab selection from session + const lastSelected = session.getItem('sphinx-tabs-last-selected'); + if (lastSelected != null) selectNamedTabs(lastSelected); +}); + +/** + * Key focus left and right between sibling elements using arrows + * @param {Node} e the element in focus when key was pressed + */ +function keyTabs(e) { + const tab = e.target; + let nextTab = null; + if (e.keyCode === 39 || e.keyCode === 37) { + tab.setAttribute("tabindex", -1); + // Move right + if (e.keyCode === 39) { + nextTab = tab.nextElementSibling; + if (nextTab === null) { + nextTab = tab.parentNode.firstElementChild; + } + // Move left + } else if (e.keyCode === 37) { + nextTab = tab.previousElementSibling; + if (nextTab === null) { + nextTab = tab.parentNode.lastElementChild; + } + } + } + + if (nextTab !== null) { + nextTab.setAttribute("tabindex", 0); + nextTab.focus(); + } +} + +/** + * Select or deselect clicked tab. If a group tab + * is selected, also select tab in other tabLists. + * @param {Node} e the element that was clicked + */ +function changeTabs(e) { + // Use this instead of the element that was clicked, in case it's a child + const notSelected = this.getAttribute("aria-selected") === "false"; + const positionBefore = this.parentNode.getBoundingClientRect().top; + const notClosable = !this.parentNode.classList.contains("closeable"); + + deselectTabList(this); + + if (notSelected || notClosable) { + selectTab(this); + const name = this.getAttribute("name"); + selectNamedTabs(name, this.id); + + if (this.classList.contains("group-tab")) { + // Persist during session + session.setItem('sphinx-tabs-last-selected', name); + } + } + + const positionAfter = this.parentNode.getBoundingClientRect().top; + const positionDelta = positionAfter - positionBefore; + // Scroll to offset content resizing + window.scrollTo(0, window.scrollY + positionDelta); +} + +/** + * Select tab and show associated panel. + * @param {Node} tab tab to select + */ +function selectTab(tab) { + tab.setAttribute("aria-selected", true); + + // Show the associated panel + document + .getElementById(tab.getAttribute("aria-controls")) + .removeAttribute("hidden"); +} + +/** + * Hide the panels associated with all tabs within the + * tablist containing this tab. + * @param {Node} tab a tab within the tablist to deselect + */ +function deselectTabList(tab) { + const parent = tab.parentNode; + const grandparent = parent.parentNode; + + Array.from(parent.children) + .forEach(t => t.setAttribute("aria-selected", false)); + + Array.from(grandparent.children) + .slice(1) // Skip tablist + .forEach(panel => panel.setAttribute("hidden", true)); +} + +/** + * Select grouped tabs with the same name, but no the tab + * with the given id. + * @param {Node} name name of grouped tab to be selected + * @param {Node} clickedId id of clicked tab + */ +function selectNamedTabs(name, clickedId=null) { + const groupedTabs = document.querySelectorAll(`.sphinx-tabs-tab[name="${name}"]`); + const tabLists = Array.from(groupedTabs).map(tab => tab.parentNode); + + tabLists + .forEach(tabList => { + // Don't want to change the tabList containing the clicked tab + const clickedTab = tabList.querySelector(`[id="${clickedId}"]`); + if (clickedTab === null ) { + // Select first tab with matching name + const tab = tabList.querySelector(`.sphinx-tabs-tab[name="${name}"]`); + deselectTabList(tab); + selectTab(tab); + } + }) +} + +if (typeof exports === 'undefined') { + exports = {}; +} + +exports.keyTabs = keyTabs; +exports.changeTabs = changeTabs; +exports.selectTab = selectTab; +exports.deselectTabList = deselectTabList; +exports.selectNamedTabs = selectNamedTabs; diff --git a/_static/theme.css b/_static/theme.css new file mode 100644 index 0000000..069e542 --- /dev/null +++ b/_static/theme.css @@ -0,0 +1,7 @@ +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:400;src:url(a1e4997bd1fb9d7822e1.woff2) format("woff2"),url(70e1dc5f5622381d6e9e.woff) format("woff")} +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(2fe080a3bf49bdc12fcb.woff2) format("woff2"),url(c226d7283d0d52c2d32c.woff) format("woff")} +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:500;src:url(4f183a25813446a47ad9.woff2) format("woff2"),url(63a0f5d460fb58135365.woff) format("woff")} +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(a61d04152f1635036f0d.woff2) format("woff2"),url(39bd78ffb50669d6855a.woff) format("woff")} +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:700;src:url(5f68b8c26e28d783a591.woff2) format("woff2"),url(1d5fc702ab9000c3247a.woff) format("woff")} +@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:700;src:url(0fecf1cc5677455886b4.woff2) format("woff2"),url(84504970850f0632d9c3.woff) format("woff")} +/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains\ Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--popover:0 0% 100%;--popover-foreground:222.2 47.4% 11.2%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--card:0 0% 100%;--card-foreground:222.2 47.4% 11.2%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 100% 50%;--destructive-foreground:210 40% 98%;--ring:215 20.2% 65.1%;--radius:0.5rem}.dark{--background:224 71% 4%;--foreground:213 31% 91%;--muted:223 47% 11%;--muted-foreground:215.4 16.3% 56.9%;--accent:216 34% 17%;--accent-foreground:210 40% 98%;--popover:224 71% 4%;--popover-foreground:215 20.2% 65.1%;--border:216 34% 17%;--input:216 34% 17%;--card:224 71% 4%;--card-foreground:213 31% 91%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 1.2%;--secondary:222.2 47.4% 11.2%;--secondary-foreground:210 40% 98%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--ring:216 34% 17%;--radius:0.5rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}#content svg{display:inline}#content hr{border-color:#e1e7ef;border-color:hsl(var(--border));margin-bottom:1rem;margin-top:1rem}@media (min-width:768px){#content hr{margin-bottom:1.5rem;margin-top:1.5rem}}#content h1{font-size:2.25rem;font-weight:700;line-height:2.5rem;margin-bottom:.5rem}#content h2{border-bottom-width:1px;border-color:#e1e7ef;border-color:hsl(var(--border));font-size:1.875rem;font-weight:600;line-height:2.25rem;margin-top:3rem;padding-bottom:.5rem}#content h3{font-size:1.5rem;font-weight:600;line-height:2rem;margin-top:2rem}#content .rubric,#content h4{font-size:1.25rem;font-weight:600;line-height:1.75rem;margin-top:2rem}#content section{scroll-margin:5rem}#content section>p{line-height:1.75rem;margin-top:1.5rem}#content section>p:first-child{margin-top:0}#content section>p.lead{color:#65758b;color:hsl(var(--muted-foreground));font-size:1.125rem;line-height:1.75rem}#content .centered{text-align:center}#content a.viewcode-back{color:#65758b!important;color:hsl(var(--muted-foreground))!important;position:absolute;right:0}#content a:not(.toc-backref){color:#0f1729;color:hsl(var(--primary));font-weight:500;text-decoration-line:underline;text-decoration-thickness:from-font;text-underline-offset:4px}#content ul:not(.search){list-style-type:disc;margin-left:1.5rem;margin-top:1.5rem}#content ul:not(.search) p,#content ul:not(.search)>li{margin-top:1.5rem}#content ul:not(.search) ul{margin-top:0}#content ol{list-style-type:decimal;margin-left:1.5rem;margin-top:1.5rem}#content ol ::marker{font-weight:500}#content ol::marker{font-weight:500}#content ol p,#content ol>li{margin-top:1.5rem}#content ol ol{margin-top:0}#content dl{margin-top:1.5rem}#content dl dt:not(.sig){font-weight:500;margin-top:1.5rem}#content dl dt:not(.sig):first-child{margin-bottom:0;margin-top:0}#content dl dd{margin-left:1.5rem}#content dl p{margin-bottom:.5rem;margin-top:.5rem}#content .align-center{margin-left:auto;margin-right:auto;text-align:center}#content .align-right{margin-left:auto;text-align:right}#content img{margin-top:1.5rem}#content figure img{display:inline-block}#content figcaption{color:#65758b;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.25rem;margin-bottom:3rem}#content figcaption>*{margin-top:1rem}blockquote{border-left-width:2px;font-style:italic;margin-bottom:1.5rem;margin-top:1.5rem;padding-left:1.5rem}blockquote .attribution{font-style:normal;margin-top:.5rem}table{font-size:.875rem;line-height:1.25rem;margin-bottom:1.5rem;margin-top:1.5rem;width:100%}table caption{color:#65758b;color:hsl(var(--muted-foreground));margin-bottom:1.5rem;text-align:left}table thead{border-bottom-width:1px;border-color:#e1e7ef;border-color:hsl(var(--border))}table th{font-weight:500;padding-bottom:.5rem;padding-left:.5rem;text-align:left}table th:first-child{padding-left:0}table th:is(.dark *){font-weight:600}table tbody tr{border-bottom-width:1px;border-color:#e1e7ef;border-color:hsl(var(--border))}table tbody td{padding:.5rem}table tbody td:first-child{padding-left:0}.footnote>.label{float:left;padding-right:.5rem}.footnote>:not(.label){margin-bottom:1.5rem;margin-left:2rem;margin-top:1.5rem}.footnote .footnote-reference,.footnote [role=doc-backlink]{text-decoration-line:none!important}.admonition{background-color:#fff;background-color:hsl(var(--background));border-color:#e1e7ef;border-color:hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);border-width:1px;color:#0f1729;color:hsl(var(--foreground));font-size:.875rem;line-height:1.25rem;margin-bottom:1.5rem;margin-top:1.5rem;padding:1rem}.admonition p:not(.admonition-title){margin-top:.5rem}.admonition .admonition-title{margin-top:0!important}.admonition-title{font-weight:500}.dark .admonition-title{font-weight:600;letter-spacing:.025em}.note{--tw-border-opacity:1;border-color:#0284c7;border-color:rgba(2,132,199,var(--tw-border-opacity));--tw-bg-opacity:1;background-color:#f0f9ff;background-color:rgba(240,249,255,var(--tw-bg-opacity));--tw-text-opacity:1;color:#0c4a6e;color:rgba(12,74,110,var(--tw-text-opacity))}.dark .note{background-color:rgba(96,165,250,.15);--tw-text-opacity:1;color:#e0f2fe;color:rgba(224,242,254,var(--tw-text-opacity))}.hint,.tip{--tw-border-opacity:1;border-color:#16a34a;border-color:rgba(22,163,74,var(--tw-border-opacity));--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgba(240,253,244,var(--tw-bg-opacity));--tw-text-opacity:1;color:#14532d;color:rgba(20,83,45,var(--tw-text-opacity))}.dark .hint,.dark .tip{background-color:rgba(74,222,128,.15);--tw-text-opacity:1;color:#dcfce7;color:rgba(220,252,231,var(--tw-text-opacity))}.danger,.error{--tw-border-opacity:1;border-color:#dc2626;border-color:rgba(220,38,38,var(--tw-border-opacity));--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgba(254,242,242,var(--tw-bg-opacity));--tw-text-opacity:1;color:#7f1d1d;color:rgba(127,29,29,var(--tw-text-opacity))}.dark .danger,.dark .error{background-color:hsla(0,91%,71%,.15);--tw-text-opacity:1;color:#fee2e2;color:rgba(254,226,226,var(--tw-text-opacity))}.attention,.caution,.important,.warning{--tw-border-opacity:1;border-color:#ca8a04;border-color:rgba(202,138,4,var(--tw-border-opacity));--tw-bg-opacity:1;background-color:#fefce8;background-color:rgba(254,252,232,var(--tw-bg-opacity));--tw-text-opacity:1;color:#713f12;color:rgba(113,63,18,var(--tw-text-opacity))}.dark .attention,.dark .caution,.dark .important,.dark .warning{background-color:rgba(250,204,21,.15);--tw-text-opacity:1;color:#fef9c3;color:rgba(254,249,195,var(--tw-text-opacity))}div.versionadded{border-left-width:3px;margin-top:1rem;--tw-border-opacity:1;border-color:#16a34a;border-color:rgba(22,163,74,var(--tw-border-opacity));font-size:.875rem;line-height:1.25rem;padding:.25rem 1rem}div.versionadded p{margin-top:0!important}div.versionadded p:last-child{margin-bottom:0!important}div.versionadded .versionmodified{font-weight:500;--tw-text-opacity:1;color:#14532d;color:rgba(20,83,45,var(--tw-text-opacity))}div.versionadded .versionmodified:is(.dark *){letter-spacing:.025em;--tw-text-opacity:1;color:#22c55e;color:rgba(34,197,94,var(--tw-text-opacity))}div.versionchanged{border-left-width:3px;margin-top:1rem;--tw-border-opacity:1;border-color:#ca8a04;border-color:rgba(202,138,4,var(--tw-border-opacity));font-size:.875rem;line-height:1.25rem;padding:.25rem 1rem}div.versionchanged p{margin-top:0!important}div.versionchanged p:last-child{margin-bottom:0!important}div.versionchanged .versionmodified{font-weight:500;--tw-text-opacity:1;color:#713f12;color:rgba(113,63,18,var(--tw-text-opacity))}div.versionchanged .versionmodified:is(.dark *){letter-spacing:.025em;--tw-text-opacity:1;color:#eab308;color:rgba(234,179,8,var(--tw-text-opacity))}div.deprecated{border-left-width:3px;margin-top:1rem;--tw-border-opacity:1;border-color:#dc2626;border-color:rgba(220,38,38,var(--tw-border-opacity));font-size:.875rem;line-height:1.25rem;padding:.25rem 1rem}div.deprecated p{margin-top:0!important}div.deprecated p:last-child{margin-bottom:0!important}div.deprecated .versionmodified{font-weight:500;--tw-text-opacity:1;color:#7f1d1d;color:rgba(127,29,29,var(--tw-text-opacity))}div.deprecated .versionmodified:is(.dark *){letter-spacing:.025em;--tw-text-opacity:1;color:#f87171;color:rgba(248,113,113,var(--tw-text-opacity))}.highlight{background-color:transparent!important;position:relative}.highlight:hover .copy{opacity:1}.highlight .gp,.highlight-pycon .go,.highlight-python .go{-webkit-user-select:none;-moz-user-select:none;user-select:none}.literal-block-wrapper{border-color:#e1e7ef;border-color:hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);border-width:1px;margin-left:0;margin-right:0;margin-top:1.5rem;max-width:none;padding-left:0;padding-right:0}.literal-block-wrapper pre{border-radius:0;border-style:none;margin-top:0}.literal-block-wrapper .code-block-caption{border-bottom-width:1px;border-color:#e1e7ef;border-color:hsl(var(--border));border-top-left-radius:.5rem;border-top-left-radius:var(--radius);border-top-right-radius:.5rem;border-top-right-radius:var(--radius);color:#65758b;color:hsl(var(--muted-foreground));font-size:.875rem;letter-spacing:.025em;line-height:1.25rem;padding:.5rem 1rem}code{background-color:#f1f5f9;background-color:hsl(var(--muted));border-radius:.25rem;font-family:JetBrains\ Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;padding:.2em .3em;position:relative;white-space:nowrap}code .ge,code em{color:#0f1729;color:hsl(var(--accent-foreground));font-weight:700;letter-spacing:.025em}:where(h1,h2,h3,h4,h5,h6) code{font-size:inherit}pre{border-color:#e1e7ef;border-color:hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);border-width:1px;font-size:.875rem;line-height:1.25rem;margin-top:1.5rem;overflow-x:auto;padding-bottom:1rem;padding-top:1rem}pre[data-theme=dark]{background-color:#fff;background-color:hsl(var(--background))}pre[data-theme=light]{--tw-bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity))}pre.literal-block{padding-left:1rem;padding-right:1rem}pre code{background-color:transparent;padding:0;white-space:pre}pre code>[id^=line-]{display:block;padding-left:1rem;padding-right:1rem}pre code [id^=line-]:has(.gd),pre code [id^=line-]:has(.gi),pre code [id^=line-]:has(del),pre code [id^=line-]:has(ins),pre code [id^=line-]:has(mark){padding-left:0;padding-right:0}pre code [id^=line-] del,pre code [id^=line-] ins,pre code [id^=line-] mark{display:block;padding-left:1rem;padding-right:1rem;position:relative}pre code [id^=line-] mark{background-color:#f1f5f9;background-color:hsl(var(--muted));color:inherit;--tw-shadow:2px 0 currentColor inset;--tw-shadow-colored:inset 2px 0 var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,inset 2px 0 currentColor;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}pre code [id^=line-] mark:is(.dark *){--tw-bg-opacity:1;background-color:#334155;background-color:rgba(51,65,85,var(--tw-bg-opacity));--tw-shadow:3px 0 currentColor inset;--tw-shadow-colored:inset 3px 0 var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,inset 3px 0 currentColor;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}pre code [id^=line-] ins{background-color:rgba(34,197,94,.3);--tw-text-opacity:1;color:#14532d;color:rgba(20,83,45,var(--tw-text-opacity));text-decoration-line:none}pre code [id^=line-] ins:before{left:2px;position:absolute;--tw-content:"\002b";content:"\002b";content:var(--tw-content)}pre code [id^=line-] ins:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;color:#bbf7d0;color:rgba(187,247,208,var(--tw-text-opacity))}pre code [id^=line-] del{background-color:rgba(239,68,68,.3);--tw-text-opacity:1;color:#7f1d1d;color:rgba(127,29,29,var(--tw-text-opacity));text-decoration-line:none}pre code [id^=line-] del:before{left:2px;position:absolute;--tw-content:"\2212";content:"\2212";content:var(--tw-content)}pre code [id^=line-] del:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;color:#fecaca;color:rgba(254,202,202,var(--tw-text-opacity))}pre span.linenos{background-color:transparent!important;padding-left:0;padding-right:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight-diff .gi{background-color:rgba(34,197,94,.3);display:inline-block;padding-left:1rem;padding-right:1rem;width:100%;--tw-text-opacity:1;color:#14532d;color:rgba(20,83,45,var(--tw-text-opacity))}.highlight-diff .gi:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;color:#bbf7d0;color:rgba(187,247,208,var(--tw-text-opacity))}.highlight-diff .gd{background-color:rgba(239,68,68,.3);display:inline-block;padding-left:1rem;padding-right:1rem;width:100%;--tw-text-opacity:1;color:#7f1d1d;color:rgba(127,29,29,var(--tw-text-opacity))}.highlight-diff .gd:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;color:#bbf7d0;color:rgba(187,247,208,var(--tw-text-opacity))}.guilabel,.menuselection{border-color:#e1e7ef;border-color:hsl(var(--border));border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px);border-width:1px;color:#0f1729;color:hsl(var(--accent-foreground));font-weight:500;padding:1px .5rem}#content kbd:not(.compound){background-color:#f1f5f9;background-color:hsl(var(--muted));border-radius:.25rem;border-width:1px;font-size:.875rem;font-weight:500;letter-spacing:.025em;line-height:1.25rem;padding:1px .25rem}.sig{border-color:#e1e7ef;border-color:hsl(var(--border));border-top-width:1px;font-family:JetBrains\ Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:700;padding-top:1.5rem;scroll-margin:5rem}.sig-name{color:#0f1729;color:hsl(var(--accent-foreground))}em.property{color:#65758b;color:hsl(var(--muted-foreground))}.option .sig-prename{font-style:italic}.viewcode-link{color:#65758b;color:hsl(var(--muted-foreground));float:right}.option-list kbd{background-color:transparent!important;border-style:none!important;font-size:1em!important;font-weight:700!important}.headerlink{align-items:center;display:inline-flex;margin-left:.25rem;position:relative;vertical-align:middle}.headerlink:after{z-index:1000000;-webkit-font-smoothing:subpixel-antialiased;letter-spacing:normal;text-shadow:none;text-transform:none;word-wrap:break-word;background-color:#f1f5f9;background-color:hsl(var(--muted));border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px);content:attr(data-tooltip);display:none;pointer-events:none;position:absolute;white-space:pre;--tw-bg-opacity:0.75;color:#65758b;color:hsl(var(--muted-foreground));font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.75rem;font-weight:400;line-height:1rem;opacity:0;padding:.25rem;text-align:center;text-decoration-line:none}.headerlink:focus:after,.headerlink:focus:before,.headerlink:hover:after,.headerlink:hover:before{animation-delay:.2s;animation-duration:.4s;animation-fill-mode:forwards;animation-name:tooltip-appear;animation-timing-function:ease-in;display:inline-block;-webkit-text-decoration:none;text-decoration:none}.headerlink:after{margin-top:6px;right:50%;top:100%}.headerlink:before{border-bottom-color:#1a202c;bottom:-7px;margin-right:-6px;right:50%;top:auto}.headerlink:after{margin-right:-16px}.headerlink>*{visibility:hidden;fill:currentColor;color:#65758b;color:hsl(var(--muted-foreground))}.admonition-title:hover .headerlink,.admonition-title:hover .headerlink>*,.code-block-caption:hover .headerlink,.code-block-caption:hover .headerlink>*,.headerlink:focus>*,dt:not(.does-not-exist):hover .headerlink,dt:not(.does-not-exist):hover .headerlink>*,figure:not(.does-not-exist):hover .headerlink,figure:not(.does-not-exist):hover .headerlink>*,h1:not(.does-not-exist):hover .headerlink,h1:not(.does-not-exist):hover .headerlink>*,h2:not(.does-not-exist):hover .headerlink,h2:not(.does-not-exist):hover .headerlink>*,h3:not(.does-not-exist):hover .headerlink,h3:not(.does-not-exist):hover .headerlink>*,h4:not(.does-not-exist):hover .headerlink,h4:not(.does-not-exist):hover .headerlink>*,table:not(.does-not-exist):hover .headerlink,table:not(.does-not-exist):hover .headerlink>*{visibility:visible}#left-sidebar .caption{border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:600;line-height:1.25rem;margin-bottom:.25rem;padding:1.5rem .5rem .25rem}#left-sidebar .caption:first-child{padding-top:0}#left-sidebar ul{display:grid;font-size:.875rem;grid-auto-flow:row;grid-auto-rows:max-content;line-height:1.25rem;overflow:hidden;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){#left-sidebar ul{transition-property:none}}#left-sidebar ul ul{margin-left:.75rem;opacity:1;padding:.5rem 0 .5rem .75rem;position:relative;transition-duration:.5s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}#left-sidebar ul ul:before{bottom:.25rem;left:0;position:absolute;top:.25rem;width:1px;--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgba(229,231,235,var(--tw-bg-opacity));--tw-content:"";content:"";content:var(--tw-content)}#left-sidebar ul ul:is(.dark *):before{content:var(--tw-content);--tw-bg-opacity:1;background-color:#262626;background-color:rgba(38,38,38,var(--tw-bg-opacity))}#left-sidebar a{align-items:center;border-color:transparent;border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px);border-width:1px;display:flex;padding:.375rem .5rem;width:100%}#left-sidebar a:hover{text-decoration-line:underline}#left-sidebar a:focus-visible{outline-offset:-1px}#left-sidebar a>button{border-radius:.25rem;color:#65758b;color:hsl(var(--muted-foreground))}#left-sidebar a>button:hover{background-color:rgba(15,23,41,.1);background-color:hsl(var(--primary)/.1)}#left-sidebar a>button>svg{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:center;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}#left-sidebar a.current{background-color:#f1f5f9;background-color:hsl(var(--accent));border-color:#e1e7ef;border-color:hsl(var(--border));border-width:1px;color:#0f1729;color:hsl(var(--accent-foreground));font-weight:500}#left-sidebar a.expandable{justify-content:space-between}#left-sidebar a.expandable.expanded>button>svg{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#right-sidebar ul{margin:0}#right-sidebar ul li{margin-top:0;padding-top:.5rem}#right-sidebar ul li a{color:#65758b;color:hsl(var(--muted-foreground));display:inline-block;text-decoration-line:none;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}#right-sidebar ul li a:hover{color:#0f1729;color:hsl(var(--foreground))}#right-sidebar ul li a:focus-visible{outline-offset:-1px}#right-sidebar ul li a[data-current=true]{color:#0f1729;color:hsl(var(--foreground));font-weight:500}#right-sidebar ul li ul{padding-left:1rem}#right-sidebar ul:not(:last-child){padding-bottom:.5rem}.contents>:not([hidden])~:not([hidden]),.toctree-wrapper>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:.5rem;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.contents,.toctree-wrapper{font-size:.875rem;line-height:1.25rem}.contents .caption,.contents .topic-title,.toctree-wrapper .caption,.toctree-wrapper .topic-title{font-weight:500;padding-top:1.5rem}.contents ul,.toctree-wrapper ul{list-style-type:none!important;margin:0!important}.contents ul li a.reference,.toctree-wrapper ul li a.reference{color:#65758b!important;color:hsl(var(--muted-foreground))!important;display:inline-block;font-weight:400!important;text-decoration-line:none!important;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.contents ul li a.reference:hover,.toctree-wrapper ul li a.reference:hover{color:#0f1729;color:hsl(var(--foreground))}.contents ul li ul,.toctree-wrapper ul li ul{padding-left:1rem}.contents ul:not(:last-child),.toctree-wrapper ul:not(:last-child){padding-bottom:.5rem}#search-results .search-summary{color:#65758b;color:hsl(var(--muted-foreground));font-size:1.25rem;line-height:1.75rem;margin-top:1.5rem}#search-results ul.search,#search-results ul.search li{margin-top:1.5rem}#search-results ul.search .context{color:#65758b;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.25rem;margin-top:.5rem}.highlighted{background-color:#f1f5f9;background-color:hsl(var(--accent));text-decoration-line:underline;text-decoration-thickness:2px}.highlight-link{border-color:#e1e7ef;border-color:hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);border-width:1px;font-size:.875rem;line-height:1.25rem;padding:.5rem 1rem;position:fixed;right:.5rem;top:4rem}.highlight-link:hover{background-color:#f1f5f9;background-color:hsl(var(--accent))}@media (min-width:1024px){.highlight-link{right:4rem}}.tooltipped{position:relative}.tooltipped:after{z-index:1000000;-webkit-font-smoothing:subpixel-antialiased;letter-spacing:normal;text-shadow:none;text-transform:none;word-wrap:break-word;background-color:#f1f5f9;background-color:hsl(var(--muted));border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px);content:attr(data-tooltip);display:none;pointer-events:none;position:absolute;white-space:pre;--tw-bg-opacity:0.75;color:#65758b;color:hsl(var(--muted-foreground));font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.75rem;font-weight:400;line-height:1rem;opacity:0;padding:.25rem;text-align:center;text-decoration-line:none}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.tooltipped:focus:after,.tooltipped:focus:before,.tooltipped:hover:after,.tooltipped:hover:before{animation-delay:.2s;animation-duration:.4s;animation-fill-mode:forwards;animation-name:tooltip-appear;animation-timing-function:ease-in;display:inline-block;-webkit-text-decoration:none;text-decoration:none}.tooltipped-no-delay:focus:after,.tooltipped-no-delay:focus:before,.tooltipped-no-delay:hover:after,.tooltipped-no-delay:hover:before{animation-delay:0s}.tooltipped-multiline:focus:after,.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{margin-top:6px;right:50%;top:100%}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{border-bottom-color:#1a202c;bottom:-7px;margin-right:-6px;right:50%;top:auto}.tooltipped-se:after{left:50%;margin-left:-16px;right:auto}.tooltipped-sw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{bottom:100%;margin-bottom:6px;right:50%}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{border-top-color:#1a202c;bottom:auto;margin-right:-6px;right:50%;top:-7px}.tooltipped-ne:after{left:50%;margin-left:-16px;right:auto}.tooltipped-nw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-s:after{transform:translateX(50%)}.tooltipped-w:after{bottom:50%;margin-right:6px;right:100%;transform:translateY(50%)}.tooltipped-w:before{border-left-color:#1a202c;bottom:50%;left:-7px;margin-top:-6px;top:50%}.tooltipped-e:after{bottom:50%;left:100%;margin-left:6px;transform:translateY(50%)}.tooltipped-e:before{border-right-color:#1a202c;bottom:50%;margin-top:-6px;right:-7px;top:50%}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{left:0;right:0}.inset-0,.inset-y-0{bottom:0;top:0}.bottom-8{bottom:2rem}.left-0{left:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-16{top:4rem}.top-2{top:.5rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.-mt-10{margin-top:-2.5rem}.mb-4{margin-bottom:1rem}.mb-\[2px\]{margin-bottom:2px}.ml-0{margin-left:0}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-auto{margin-right:auto}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[calc\(100vh-8rem\)\]{height:calc(100vh - 8rem)}.h-full{height:100%}.max-h-\[calc\(100vh-5rem\)\]{max-height:calc(100vh - 5rem)}.max-h-\[calc\(var\(--vh\)-4rem\)\]{max-height:calc(var(--vh) - 4rem)}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\[14px\]{width:14px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-prose{max-width:65ch}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;transform:translate(-100%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1)}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:.25rem;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:.5rem;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:1.5rem;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:.5rem;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[0\.5rem\]{border-radius:.5rem}.rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{border-color:#e1e7ef;border-color:hsl(var(--border))}.border-input{border-color:#e1e7ef;border-color:hsl(var(--input))}.bg-background{background-color:#fff;background-color:hsl(var(--background))}.bg-background\/80{background-color:hsla(0,0%,100%,.8);background-color:hsl(var(--background)/.8)}.bg-background\/95{background-color:hsla(0,0%,100%,.95);background-color:hsl(var(--background)/.95)}.bg-gray-700{--tw-bg-opacity:1;background-color:#374151;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.bg-muted{background-color:#f1f5f9;background-color:hsl(var(--muted))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-mono{font-family:JetBrains\ Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-loose{line-height:2}.text-foreground{color:#0f1729;color:hsl(var(--foreground))}.text-foreground\/60{color:rgba(15,23,41,.6);color:hsl(var(--foreground)/.6)}.text-muted-foreground{color:#65758b;color:hsl(var(--muted-foreground))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgba(185,28,28,var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,0 1px 2px 0 rgba(0,0,0,.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:blur(8px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:blur(8px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}[x-cloak]{display:none!important}@media (max-width:640px){.container{padding-left:1rem;padding-right:1rem}}.hover\:bg-accent:hover{background-color:#f1f5f9;background-color:hsl(var(--accent))}.hover\:bg-gray-950:hover{--tw-bg-opacity:1;background-color:#030712;background-color:rgba(3,7,18,var(--tw-bg-opacity))}.hover\:bg-muted:hover{background-color:#f1f5f9;background-color:hsl(var(--muted))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-accent-foreground:hover{color:#0f1729;color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:#0f1729;color:hsl(var(--foreground))}.hover\:text-foreground\/80:hover{color:rgba(15,23,41,.8);color:hsl(var(--foreground)/.8)}.hover\:placeholder-accent-foreground:hover::-moz-placeholder{color:#0f1729;color:hsl(var(--accent-foreground))}.hover\:placeholder-accent-foreground:hover::placeholder{color:#0f1729;color:hsl(var(--accent-foreground))}.hover\:opacity-100:hover{opacity:1}.focus\:translate-x-0:focus{--tw-translate-x:0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:bg-accent:focus{background-color:#f1f5f9;background-color:hsl(var(--accent))}.focus\:bg-gray-950:focus{--tw-bg-opacity:1;background-color:#030712;background-color:rgba(3,7,18,var(--tw-bg-opacity))}.focus\:text-accent-foreground:focus{color:#0f1729;color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-offset-\[-1px\]:focus-visible{outline-offset:-1px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:bg-accent{background-color:#f1f5f9;background-color:hsl(var(--accent))}.group:hover .group-hover\:text-accent-foreground{color:#0f1729;color:hsl(var(--accent-foreground))}.dark .dark\:block{display:block}.dark .dark\:hidden{display:none}.dark .dark\:-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(-90deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) invert(100%) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width:640px){.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:1rem;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:pr-12{padding-right:3rem}}@media (min-width:768px){.md\:sticky{position:sticky}.md\:top-14{top:3.5rem}.md\:z-30{z-index:30}.md\:my-0{margin-bottom:0;margin-top:0}.md\:-ml-2{margin-left:-.5rem}.md\:inline{display:inline}.md\:flex{display:flex}.md\:grid{display:grid}.md\:\!hidden{display:none!important}.md\:hidden{display:none}.md\:h-24{height:6rem}.md\:h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.md\:h-auto{height:auto}.md\:w-40{width:10rem}.md\:w-auto{width:auto}.md\:w-full{width:100%}.md\:flex-none{flex:none}.md\:translate-x-0{--tw-translate-x:0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-\[220px_minmax\(0\2c 1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:gap-2{gap:.5rem}.md\:gap-6{gap:1.5rem}.md\:overflow-auto{overflow:auto}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-0{padding-bottom:0;padding-top:0}.md\:text-left{text-align:left}}@media (min-width:1024px){.lg\:my-8{margin-bottom:2rem;margin-top:2rem}.lg\:w-64{width:16rem}.lg\:grid-cols-\[240px_minmax\(0\2c 1fr\)\]{grid-template-columns:240px minmax(0,1fr)}.lg\:gap-10{gap:2.5rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}@media (min-width:1280px){.xl\:block{display:block}.xl\:grid{display:grid}.xl\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}} diff --git a/_static/theme.js b/_static/theme.js new file mode 100644 index 0000000..56e812c --- /dev/null +++ b/_static/theme.js @@ -0,0 +1,2 @@ +/*! For license information please see theme.js.LICENSE.txt */ +!function(){var e={122:function(e){var t;t=function(){return function(){var e={686:function(e,t,n){"use strict";n.d(t,{default:function(){return x}});var r=n(279),i=n.n(r),o=n(370),a=n.n(o),s=n(817),l=n.n(s);function c(e){try{return document.execCommand(e)}catch(e){return!1}}var u=function(e){var t=l()(e);return c("cut"),t},f=function(e,t){var n=function(e){var t="rtl"===document.documentElement.getAttribute("dir"),n=document.createElement("textarea");n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;return n.style.top="".concat(r,"px"),n.setAttribute("readonly",""),n.value=e,n}(e);t.container.appendChild(n);var r=l()(n);return c("copy"),n.remove(),r},d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof e?n=f(e,t):e instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==e?void 0:e.type)?n=f(e.value,t):(n=l()(e),c("copy")),n};function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function h(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===_(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=a()(e,"click",(function(e){return t.onClick(e)}))}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget,n=this.action(t)||"copy",r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.action,n=void 0===t?"copy":t,r=e.container,i=e.target,o=e.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==i){if(!i||"object"!==p(i)||1!==i.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(i.hasAttribute("readonly")||i.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return o?d(o,{container:r}):i?"cut"===n?u(i):d(i,{container:r}):void 0}({action:n,container:this.container,target:this.target(t),text:this.text(t)});this.emit(r?"success":"error",{action:n,text:r,trigger:t,clearSelection:function(){t&&t.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(e){return v("action",e)}},{key:"defaultTarget",value:function(e){var t=v("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return v("text",e)}},{key:"destroy",value:function(){this.listener.destroy()}}],r=[{key:"copy",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return d(e,t)}},{key:"cut",value:function(e){return u(e)}},{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach((function(e){n=n&&!!document.queryCommandSupported(e)})),n}}],n&&h(t.prototype,n),r&&h(t,r),l}(i()),x=g},828:function(e){if("undefined"!=typeof Element&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},438:function(e,t,n){var r=n(828);function i(e,t,n,r,i){var a=o.apply(this,arguments);return e.addEventListener(n,a,i),{destroy:function(){e.removeEventListener(n,a,i)}}}function o(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}e.exports=function(e,t,n,r,o){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return i(e,t,n,r,o)})))}},879:function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},370:function(e,t,n){var r=n(879),i=n(438);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,(function(e){e.addEventListener(t,n)})),{destroy:function(){Array.prototype.forEach.call(e,(function(e){e.removeEventListener(t,n)}))}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(e){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},279:function(e){function t(){}t.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;rvoid 0!==e)),i.length?i.join(" ").trim():n}var i,o,a,s,l=!1,c=!1,u=[],f=-1;function d(e){let t=u.indexOf(e);-1!==t&&t>f&&u.splice(t,1)}function p(){l=!1,c=!0;for(let e=0;e{let i=e();JSON.stringify(i),r?n=i:queueMicrotask((()=>{t(i,n),n=i})),r=!1}));return()=>a(i)}var m=[],v=[],g=[];function x(e,t){"function"==typeof t?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,v.push(t))}function b(e){m.push(e)}function w(e,t,n){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(n)}function E(e,t){e._x_attributeCleanups&&Object.entries(e._x_attributeCleanups).forEach((([n,r])=>{(void 0===t||t.includes(n))&&(r.forEach((e=>e())),delete e._x_attributeCleanups[n])}))}var S=new MutationObserver(L),A=!1;function k(){S.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),A=!0}function O(){!function(){let e=S.takeRecords();j.push((()=>e.length>0&&L(e)));let t=j.length;queueMicrotask((()=>{if(j.length===t)for(;j.length>0;)j.shift()()}))}(),S.disconnect(),A=!1}var j=[];function C(e){if(!A)return e();O();let t=e();return k(),t}var T=!1,$=[];function L(e){if(T)return void($=$.concat(e));let t=new Set,n=new Set,r=new Map,i=new Map;for(let o=0;o1===e.nodeType&&t.add(e))),e[o].removedNodes.forEach((e=>1===e.nodeType&&n.add(e)))),"attributes"===e[o].type)){let t=e[o].target,n=e[o].attributeName,a=e[o].oldValue,s=()=>{r.has(t)||r.set(t,[]),r.get(t).push({name:n,value:t.getAttribute(n)})},l=()=>{i.has(t)||i.set(t,[]),i.get(t).push(n)};t.hasAttribute(n)&&null===a?s():t.hasAttribute(n)?(l(),s()):l()}i.forEach(((e,t)=>{E(t,e)})),r.forEach(((e,t)=>{m.forEach((n=>n(t,e)))}));for(let e of n)t.has(e)||v.forEach((t=>t(e)));t.forEach((e=>{e._x_ignoreSelf=!0,e._x_ignore=!0}));for(let e of t)n.has(e)||e.isConnected&&(delete e._x_ignoreSelf,delete e._x_ignore,g.forEach((t=>t(e))),e._x_ignore=!0,e._x_ignoreSelf=!0);t.forEach((e=>{delete e._x_ignoreSelf,delete e._x_ignore})),t=null,n=null,r=null,i=null}function M(e){return R(P(e))}function N(e,t,n){return e._x_dataStack=[t,...P(n||e)],()=>{e._x_dataStack=e._x_dataStack.filter((e=>e!==t))}}function P(e){return e._x_dataStack?e._x_dataStack:"function"==typeof ShadowRoot&&e instanceof ShadowRoot?P(e.host):e.parentNode?P(e.parentNode):[]}function R(e){return new Proxy({objects:e},q)}var q={ownKeys({objects:e}){return Array.from(new Set(e.flatMap((e=>Object.keys(e)))))},has({objects:e},t){return t!=Symbol.unscopables&&e.some((e=>Object.prototype.hasOwnProperty.call(e,t)||Reflect.has(e,t)))},get({objects:e},t,n){return"toJSON"==t?I:Reflect.get(e.find((e=>Reflect.has(e,t)))||{},t,n)},set({objects:e},t,n,r){const i=e.find((e=>Object.prototype.hasOwnProperty.call(e,t)))||e[e.length-1],o=Object.getOwnPropertyDescriptor(i,t);return o?.set&&o?.get?Reflect.set(i,t,n,r):Reflect.set(i,t,n)}};function I(){return Reflect.ownKeys(this).reduce(((e,t)=>(e[t]=Reflect.get(this,t),e)),{})}function D(e){let t=(n,r="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach((([i,{value:o,enumerable:a}])=>{if(!1===a||void 0===o)return;if("object"==typeof o&&null!==o&&o.__v_skip)return;let s=""===r?i:`${r}.${i}`;var l;"object"==typeof o&&null!==o&&o._x_interceptor?n[i]=o.initialize(e,s,i):"object"!=typeof(l=o)||Array.isArray(l)||null===l||o===n||o instanceof Element||t(o,s)}))};return t(e)}function z(e,t=(()=>{})){let n={initialValue:void 0,_x_interceptor:!0,initialize(t,n,r){return e(this.initialValue,(()=>function(e,t){return t.split(".").reduce(((e,t)=>e[t]),e)}(t,n)),(e=>B(t,n,e)),n,r)}};return t(n),e=>{if("object"==typeof e&&null!==e&&e._x_interceptor){let t=n.initialize.bind(n);n.initialize=(r,i,o)=>{let a=e.initialize(r,i,o);return n.initialValue=a,t(r,i,o)}}else n.initialValue=e;return n}}function B(e,t,n){if("string"==typeof t&&(t=t.split(".")),1!==t.length){if(0===t.length)throw error;return e[t[0]]||(e[t[0]]={}),B(e[t[0]],t.slice(1),n)}e[t[0]]=n}var F={};function H(e,t){F[e]=t}function W(e,t){return Object.entries(F).forEach((([n,r])=>{let i=null;Object.defineProperty(e,`$${n}`,{get(){return r(t,function(){if(i)return i;{let[e,n]=ue(t);return i={interceptor:z,...e},x(t,n),i}}())},enumerable:!1})})),e}function V(e,t,n,...r){try{return n(...r)}catch(n){U(n,e,t)}}function U(e,t,n=void 0){e=Object.assign(e??{message:"No error message given."},{el:t,expression:n}),console.warn(`Alpine Expression Error: ${e.message}\n\n${n?'Expression: "'+n+'"\n\n':""}`,t),setTimeout((()=>{throw e}),0)}var K=!0;function Z(e){let t=K;K=!1;let n=e();return K=t,n}function J(e,t,n={}){let r;return X(e,t)((e=>r=e),n),r}function X(...e){return Y(...e)}var Y=G;function G(e,t){let n={};W(n,e);let r=[n,...P(e)],i="function"==typeof t?function(e,t){return(n=(()=>{}),{scope:r={},params:i=[]}={})=>{ee(n,t.apply(R([r,...e]),i))}}(r,t):function(e,t,n){let r=function(e,t){if(Q[e])return Q[e];let n=Object.getPrototypeOf((async function(){})).constructor,r=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(async()=>{ ${e} })()`:e;let i=(()=>{try{let t=new n(["__self","scope"],`with (scope) { __self.result = ${r} }; __self.finished = true; return __self.result;`);return Object.defineProperty(t,"name",{value:`[Alpine] ${e}`}),t}catch(n){return U(n,t,e),Promise.resolve()}})();return Q[e]=i,i}(t,n);return(i=(()=>{}),{scope:o={},params:a=[]}={})=>{r.result=void 0,r.finished=!1;let s=R([o,...e]);if("function"==typeof r){let e=r(r,s).catch((e=>U(e,n,t)));r.finished?(ee(i,r.result,s,a,n),r.result=void 0):e.then((e=>{ee(i,e,s,a,n)})).catch((e=>U(e,n,t))).finally((()=>r.result=void 0))}}}(r,t,e);return V.bind(null,e,t,i)}var Q={};function ee(e,t,n,r,i){if(K&&"function"==typeof t){let o=t.apply(n,r);o instanceof Promise?o.then((t=>ee(e,t,n,r))).catch((e=>U(e,i,t))):e(o)}else"object"==typeof t&&t instanceof Promise?t.then((t=>e(t))):e(t)}var te="x-";function ne(e=""){return te+e}var re={};function ie(e,t){return re[e]=t,{before(t){if(!re[t])return void console.warn(String.raw`Cannot find directive \`${t}\`. \`${e}\` will use the default order of execution`);const n=ve.indexOf(t);ve.splice(n>=0?n:ve.indexOf("DEFAULT"),0,e)}}}function oe(e,t,n){if(t=Array.from(t),e._x_virtualDirectives){let n=Object.entries(e._x_virtualDirectives).map((([e,t])=>({name:e,value:t}))),r=ae(n);n=n.map((e=>r.find((t=>t.name===e.name))?{name:`x-bind:${e.name}`,value:`"${e.value}"`}:e)),t=t.concat(n)}let r={},i=t.map(de(((e,t)=>r[e]=t))).filter(he).map(function(e,t){return({name:n,value:r})=>{let i=n.match(ye()),o=n.match(/:([a-zA-Z0-9\-_:]+)/),a=n.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],s=t||e[n]||n;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:a.map((e=>e.replace(".",""))),expression:r,original:s}}}(r,n)).sort(ge);return i.map((t=>function(e,t){let n=re[t.type]||(()=>{}),[r,i]=ue(e);w(e,t.original,i);let o=()=>{e._x_ignore||e._x_ignoreSelf||(n.inline&&n.inline(e,t,r),n=n.bind(n,e,t,r),se?le.get(ce).push(n):n())};return o.runCleanups=i,o}(e,t)))}function ae(e){return Array.from(e).map(de()).filter((e=>!he(e)))}var se=!1,le=new Map,ce=Symbol();function ue(e){let t=[],[n,r]=function(e){let t=()=>{};return[n=>{let r=o(n);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach((e=>e()))}),e._x_effects.add(r),t=()=>{void 0!==r&&(e._x_effects.delete(r),a(r))},r},()=>{t()}]}(e);return t.push(r),[{Alpine:_t,effect:n,cleanup:e=>t.push(e),evaluateLater:X.bind(X,e),evaluate:J.bind(J,e)},()=>t.forEach((e=>e()))]}var fe=(e,t)=>({name:n,value:r})=>(n.startsWith(e)&&(n=n.replace(e,t)),{name:n,value:r});function de(e=(()=>{})){return({name:t,value:n})=>{let{name:r,value:i}=pe.reduce(((e,t)=>t(e)),{name:t,value:n});return r!==t&&e(r,t),{name:r,value:i}}}var pe=[];function _e(e){pe.push(e)}function he({name:e}){return ye().test(e)}var ye=()=>new RegExp(`^${te}([^:^.]+)\\b`),me="DEFAULT",ve=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",me,"teleport"];function ge(e,t){let n=-1===ve.indexOf(e.type)?me:e.type,r=-1===ve.indexOf(t.type)?me:t.type;return ve.indexOf(n)-ve.indexOf(r)}function xe(e,t,n={}){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}function be(e,t){if("function"==typeof ShadowRoot&&e instanceof ShadowRoot)return void Array.from(e.children).forEach((e=>be(e,t)));let n=!1;if(t(e,(()=>n=!0)),n)return;let r=e.firstElementChild;for(;r;)be(r,t),r=r.nextElementSibling}function we(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}var Ee=!1,Se=[],Ae=[];function ke(){return Se.map((e=>e()))}function Oe(){return Se.concat(Ae).map((e=>e()))}function je(e){Se.push(e)}function Ce(e){Ae.push(e)}function Te(e,t=!1){return $e(e,(e=>{if((t?Oe():ke()).some((t=>e.matches(t))))return!0}))}function $e(e,t){if(e){if(t(e))return e;if(e._x_teleportBack&&(e=e._x_teleportBack),e.parentElement)return $e(e.parentElement,t)}}var Le=[];function Me(e,t=be,n=(()=>{})){!function(r){se=!0;let i=Symbol();ce=i,le.set(i,[]);let o=()=>{for(;le.get(i).length;)le.get(i).shift()();le.delete(i)};t(e,((e,t)=>{n(e,t),Le.forEach((n=>n(e,t))),oe(e,e.attributes).forEach((e=>e())),e._x_ignore&&t()})),se=!1,o()}()}function Ne(e,t=be){t(e,(e=>{E(e),function(e){if(e._x_cleanups)for(;e._x_cleanups.length;)e._x_cleanups.pop()()}(e)}))}var Pe=[],Re=!1;function qe(e=(()=>{})){return queueMicrotask((()=>{Re||setTimeout((()=>{Ie()}))})),new Promise((t=>{Pe.push((()=>{e(),t()}))}))}function Ie(){for(Re=!1;Pe.length;)Pe.shift()()}function De(e,t){return Array.isArray(t)?ze(e,t.join(" ")):"object"==typeof t&&null!==t?function(e,t){let n=e=>e.split(" ").filter(Boolean),r=Object.entries(t).flatMap((([e,t])=>!!t&&n(e))).filter(Boolean),i=Object.entries(t).flatMap((([e,t])=>!t&&n(e))).filter(Boolean),o=[],a=[];return i.forEach((t=>{e.classList.contains(t)&&(e.classList.remove(t),a.push(t))})),r.forEach((t=>{e.classList.contains(t)||(e.classList.add(t),o.push(t))})),()=>{a.forEach((t=>e.classList.add(t))),o.forEach((t=>e.classList.remove(t)))}}(e,t):"function"==typeof t?De(e,t()):ze(e,t)}function ze(e,t){return t=!0===t?t="":t||"",n=t.split(" ").filter((t=>!e.classList.contains(t))).filter(Boolean),e.classList.add(...n),()=>{e.classList.remove(...n)};var n}function Be(e,t){return"object"==typeof t&&null!==t?function(e,t){let n={};return Object.entries(t).forEach((([t,r])=>{n[t]=e.style[t],t.startsWith("--")||(t=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()),e.style.setProperty(t,r)})),setTimeout((()=>{0===e.style.length&&e.removeAttribute("style")})),()=>{Be(e,n)}}(e,t):function(e,t){let n=e.getAttribute("style",t);return e.setAttribute("style",t),()=>{e.setAttribute("style",n||"")}}(e,t)}function Fe(e,t=(()=>{})){let n=!1;return function(){n?t.apply(this,arguments):(n=!0,e.apply(this,arguments))}}function He(e,t,n={}){e._x_transition||(e._x_transition={enter:{during:n,start:n,end:n},leave:{during:n,start:n,end:n},in(n=(()=>{}),r=(()=>{})){Ve(e,t,{during:this.enter.during,start:this.enter.start,end:this.enter.end},n,r)},out(n=(()=>{}),r=(()=>{})){Ve(e,t,{during:this.leave.during,start:this.leave.start,end:this.leave.end},n,r)}})}function We(e){let t=e.parentNode;if(t)return t._x_hidePromise?t:We(t)}function Ve(e,t,{during:n,start:r,end:i}={},o=(()=>{}),a=(()=>{})){if(e._x_transitioning&&e._x_transitioning.cancel(),0===Object.keys(n).length&&0===Object.keys(r).length&&0===Object.keys(i).length)return o(),void a();let s,l,c;!function(e,t){let n,r,i,o=Fe((()=>{C((()=>{n=!0,r||t.before(),i||(t.end(),Ie()),t.after(),e.isConnected&&t.cleanup(),delete e._x_transitioning}))}));e._x_transitioning={beforeCancels:[],beforeCancel(e){this.beforeCancels.push(e)},cancel:Fe((function(){for(;this.beforeCancels.length;)this.beforeCancels.shift()();o()})),finish:o},C((()=>{t.start(),t.during()})),Re=!0,requestAnimationFrame((()=>{if(n)return;let o=1e3*Number(getComputedStyle(e).transitionDuration.replace(/,.*/,"").replace("s","")),a=1e3*Number(getComputedStyle(e).transitionDelay.replace(/,.*/,"").replace("s",""));0===o&&(o=1e3*Number(getComputedStyle(e).animationDuration.replace("s",""))),C((()=>{t.before()})),r=!0,requestAnimationFrame((()=>{n||(C((()=>{t.end()})),Ie(),setTimeout(e._x_transitioning.finish,o+a),i=!0)}))}))}(e,{start(){s=t(e,r)},during(){l=t(e,n)},before:o,end(){s(),c=t(e,i)},after:a,cleanup(){l(),c()}})}function Ue(e,t,n){if(-1===e.indexOf(t))return n;const r=e[e.indexOf(t)+1];if(!r)return n;if("scale"===t&&isNaN(r))return n;if("duration"===t||"delay"===t){let e=r.match(/([0-9]+)ms/);if(e)return e[1]}return"origin"===t&&["top","right","left","center","bottom"].includes(e[e.indexOf(t)+2])?[r,e[e.indexOf(t)+2]].join(" "):r}ie("transition",((e,{value:t,modifiers:n,expression:r},{evaluate:i})=>{"function"==typeof r&&(r=i(r)),!1!==r&&(r&&"boolean"!=typeof r?function(e,t,n){He(e,De,""),{enter:t=>{e._x_transition.enter.during=t},"enter-start":t=>{e._x_transition.enter.start=t},"enter-end":t=>{e._x_transition.enter.end=t},leave:t=>{e._x_transition.leave.during=t},"leave-start":t=>{e._x_transition.leave.start=t},"leave-end":t=>{e._x_transition.leave.end=t}}[n](t)}(e,r,t):function(e,t,n){He(e,Be);let r=!t.includes("in")&&!t.includes("out")&&!n,i=r||t.includes("in")||["enter"].includes(n),o=r||t.includes("out")||["leave"].includes(n);t.includes("in")&&!r&&(t=t.filter(((e,n)=>nn>t.indexOf("out"))));let a=!t.includes("opacity")&&!t.includes("scale"),s=a||t.includes("opacity")?0:1,l=a||t.includes("scale")?Ue(t,"scale",95)/100:1,c=Ue(t,"delay",0)/1e3,u=Ue(t,"origin","center"),f="opacity, transform",d=Ue(t,"duration",150)/1e3,p=Ue(t,"duration",75)/1e3,_="cubic-bezier(0.4, 0.0, 0.2, 1)";i&&(e._x_transition.enter.during={transformOrigin:u,transitionDelay:`${c}s`,transitionProperty:f,transitionDuration:`${d}s`,transitionTimingFunction:_},e._x_transition.enter.start={opacity:s,transform:`scale(${l})`},e._x_transition.enter.end={opacity:1,transform:"scale(1)"}),o&&(e._x_transition.leave.during={transformOrigin:u,transitionDelay:`${c}s`,transitionProperty:f,transitionDuration:`${p}s`,transitionTimingFunction:_},e._x_transition.leave.start={opacity:1,transform:"scale(1)"},e._x_transition.leave.end={opacity:s,transform:`scale(${l})`})}(e,n,t))})),window.Element.prototype._x_toggleAndCascadeWithTransitions=function(e,t,n,r){const i="visible"===document.visibilityState?requestAnimationFrame:setTimeout;let o=()=>i(n);t?e._x_transition&&(e._x_transition.enter||e._x_transition.leave)?e._x_transition.enter&&(Object.entries(e._x_transition.enter.during).length||Object.entries(e._x_transition.enter.start).length||Object.entries(e._x_transition.enter.end).length)?e._x_transition.in(n):o():e._x_transition?e._x_transition.in(n):o():(e._x_hidePromise=e._x_transition?new Promise(((t,n)=>{e._x_transition.out((()=>{}),(()=>t(r))),e._x_transitioning&&e._x_transitioning.beforeCancel((()=>n({isFromCancelledTransition:!0})))})):Promise.resolve(r),queueMicrotask((()=>{let t=We(e);t?(t._x_hideChildren||(t._x_hideChildren=[]),t._x_hideChildren.push(e)):i((()=>{let t=e=>{let n=Promise.all([e._x_hidePromise,...(e._x_hideChildren||[]).map(t)]).then((([e])=>e?.()));return delete e._x_hidePromise,delete e._x_hideChildren,n};t(e).catch((e=>{if(!e.isFromCancelledTransition)throw e}))}))})))};var Ke=!1;function Ze(e,t=(()=>{})){return(...n)=>Ke?t(...n):e(...n)}var Je=[];function Xe(e){Je.push(e)}var Ye=!1;function Ge(e){let t=o;h(((e,n)=>{let r=t(e);return a(r),()=>{}})),e(),h(t)}function Qe(e,t,n,r=[]){switch(e._x_bindings||(e._x_bindings=i({})),e._x_bindings[t]=n,t=r.includes("camel")?t.toLowerCase().replace(/-(\w)/g,((e,t)=>t.toUpperCase())):t){case"value":!function(e,t){if("radio"===e.type)void 0===e.attributes.value&&(e.value=t),window.fromModel&&(e.checked="boolean"==typeof t?nt(e.value)===t:tt(e.value,t));else if("checkbox"===e.type)Number.isInteger(t)?e.value=t:Array.isArray(t)||"boolean"==typeof t||[null,void 0].includes(t)?Array.isArray(t)?e.checked=t.some((t=>tt(t,e.value))):e.checked=!!t:e.value=String(t);else if("SELECT"===e.tagName)!function(e,t){const n=[].concat(t).map((e=>e+""));Array.from(e.options).forEach((e=>{e.selected=n.includes(e.value)}))}(e,t);else{if(e.value===t)return;e.value=void 0===t?"":t}}(e,n);break;case"style":!function(e,t){e._x_undoAddedStyles&&e._x_undoAddedStyles(),e._x_undoAddedStyles=Be(e,t)}(e,n);break;case"class":!function(e,t){e._x_undoAddedClasses&&e._x_undoAddedClasses(),e._x_undoAddedClasses=De(e,t)}(e,n);break;case"selected":case"checked":!function(e,t,n){et(e,t,n),function(e,t,n){e[t]!==n&&(e[t]=n)}(e,t,n)}(e,t,n);break;default:et(e,t,n)}}function et(e,t,n){[null,void 0,!1].includes(n)&&function(e){return!["aria-pressed","aria-checked","aria-expanded","aria-selected"].includes(e)}(t)?e.removeAttribute(t):(rt(t)&&(n=t),function(e,t,n){e.getAttribute(t)!=n&&e.setAttribute(t,n)}(e,t,n))}function tt(e,t){return e==t}function nt(e){return!![1,"1","true","on","yes",!0].includes(e)||![0,"0","false","off","no",!1].includes(e)&&(e?Boolean(e):null)}function rt(e){return["disabled","checked","required","readonly","open","selected","autofocus","itemscope","multiple","novalidate","allowfullscreen","allowpaymentrequest","formnovalidate","autoplay","controls","loop","muted","playsinline","default","ismap","reversed","async","defer","nomodule"].includes(e)}function it(e,t,n){let r=e.getAttribute(t);return null===r?"function"==typeof n?n():n:""===r||(rt(t)?!![t,"true"].includes(r):r)}function ot(e,t){var n;return function(){var r=this,i=arguments;clearTimeout(n),n=setTimeout((function(){n=null,e.apply(r,i)}),t)}}function at(e,t){let n;return function(){let r=arguments;n||(e.apply(this,r),n=!0,setTimeout((()=>n=!1),t))}}function st({get:e,set:t},{get:n,set:r}){let i,s,l=!0,c=o((()=>{let o=e(),a=n();if(l)r(lt(o)),l=!1;else{let e=JSON.stringify(o),n=JSON.stringify(a);e!==i?r(lt(o)):e!==n&&t(lt(a))}i=JSON.stringify(e()),s=JSON.stringify(n())}));return()=>{a(c)}}function lt(e){return"object"==typeof e?JSON.parse(JSON.stringify(e)):e}var ct={},ut=!1,ft={};function dt(e,t,n){let r=[];for(;r.length;)r.pop()();let i=Object.entries(t).map((([e,t])=>({name:e,value:t}))),o=ae(i);return i=i.map((e=>o.find((t=>t.name===e.name))?{name:`x-bind:${e.name}`,value:`"${e.value}"`}:e)),oe(e,i,n).map((e=>{r.push(e.runCleanups),e()})),()=>{for(;r.length;)r.pop()()}}var pt={},_t={get reactive(){return i},get release(){return a},get effect(){return o},get raw(){return s},version:"3.14.0",flushAndStopDeferringMutations:function(){T=!1,L($),$=[]},dontAutoEvaluateFunctions:Z,disableEffectScheduling:function(e){_=!1,e(),_=!0},startObservingMutations:k,stopObservingMutations:O,setReactivityEngine:function(e){i=e.reactive,a=e.release,o=t=>e.effect(t,{scheduler:e=>{_?function(e){var t;t=e,u.includes(t)||u.push(t),c||l||(l=!0,queueMicrotask(p))}(e):e()}}),s=e.raw},onAttributeRemoved:w,onAttributesAdded:b,closestDataStack:P,skipDuringClone:Ze,onlyDuringClone:function(e){return(...t)=>Ke&&e(...t)},addRootSelector:je,addInitSelector:Ce,interceptClone:Xe,addScopeToNode:N,deferMutations:function(){T=!0},mapAttributes:_e,evaluateLater:X,interceptInit:function(e){Le.push(e)},setEvaluator:function(e){Y=e},mergeProxies:R,extractProp:function(e,t,n,r=!0){if(e._x_bindings&&void 0!==e._x_bindings[t])return e._x_bindings[t];if(e._x_inlineBindings&&void 0!==e._x_inlineBindings[t]){let n=e._x_inlineBindings[t];return n.extract=r,Z((()=>J(e,n.expression)))}return it(e,t,n)},findClosest:$e,onElRemoved:x,closestRoot:Te,destroyTree:Ne,interceptor:z,transition:Ve,setStyles:Be,mutateDom:C,directive:ie,entangle:st,throttle:at,debounce:ot,evaluate:J,initTree:Me,nextTick:qe,prefixed:ne,prefix:function(e){te=e},plugin:function(e){(Array.isArray(e)?e:[e]).forEach((e=>e(_t)))},magic:H,store:function(e,t){if(ut||(ct=i(ct),ut=!0),void 0===t)return ct[e];ct[e]=t,"object"==typeof t&&null!==t&&t.hasOwnProperty("init")&&"function"==typeof t.init&&ct[e].init(),D(ct[e])},start:function(){var e;Ee&&we("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Ee=!0,document.body||we("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Acknowledgments

+

This software and documentation would not have been possible without the joint effort of several people.

+

In particular, we would like to acknowledge Dr. Kamilla Harding-Kopec (PhD) for starting GeoCARET and writing most of the initial source-code (in fact all of the code in its current working form in the main branch of the GeoCARET’s repository), and for contributing the bulk of the text in this documentation.

+

We would also like to acknowledge Dr. James Sinnott (PhD) for creating the Docker image and for his contribution to this documentation, including writing the pages related to the use of Docker and setting up projects on Google Cloud.

+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/algorithms.html b/algorithms.html new file mode 100644 index 0000000..21967a6 --- /dev/null +++ b/algorithms.html @@ -0,0 +1,171 @@ + + + + + + + + + +Algorithms | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Algorithms

+

GeoCARET implements various algorithms, e.g. for delineating catchment and reservoirs, snapping dam locations to river sections, etc. +We will be gradually documenting these algorithms and putting their description here. +At the moment this section is under construction. Please visit us later.

+

Page Under Construction

+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/geocaret.html b/api/geocaret.html new file mode 100644 index 0000000..ea3e662 --- /dev/null +++ b/api/geocaret.html @@ -0,0 +1,170 @@ + + + + + + + + + +GeoCARET Python API documentation | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/config.html b/config.html new file mode 100644 index 0000000..2e4c54e --- /dev/null +++ b/config.html @@ -0,0 +1,244 @@ + + + + + + + + + +Configuration Options | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Configuration Options

+
+

Note

+

The following configuration options are related solely to the calculations of inputs to the G-Res greenhouse gas emission model and its implementation in our open-source software RE-Emission - i.e. the initial and currently the sole utility of GeoCARET. Nevertheless, as we keep re-designing the software and providing new functionalities, configuring new algorithms and functions will be provided to the user as a feature, i.e. the users will be able to add new functionalities and configure them with bespoke configuration settings. Nevertheless, for the time being, the below configuration options are restricted to GHG Model Input Calculations.

+
+

Configuration file delineator/heet_config.py contains a number of user-specified parameters that affect the way that core calculations are carried out.

+
+

Attention

+

Please note that changing those parameters is not recommended for an average user. Sensible defaults have been set by default and should work well for most cases; we do not recommend that you change these values unless you understand the impact of doing so.

+
+
+

Jensen Search Radius

+

Before we can delineate a reservoir created via construction of a dam, we first need to find a point on the river network on wich the dam is created. This is the point at the base of the dam with the lowest elevation. Often the dam location provided in the input file is not 100% precise for calculation purposes. We need to move i.e. snap the original (raw) dam location so that it lies exactly on the river network before we can proceed with reservoir delineation. When snapping the raw dam location to the nearest river, in our case the HydroRivers river network, the jensen_search_radius (m) defines how far from the raw dam location we should search for a river network.

+
+

Note

+

jensen_search_radius defaults to 1,000 metres

+
+
+
+

Upstream Basin Finding Method

+

Finding upstream (sub)basins is used in constructing a catchment of a reservoir from within a pool of smaller (sub)basins - see Algorithms for details. +We curently support three methods.

+
    +
  • upstreamMethod = 1: Identify basins upstream of the snapped dam by tracing basins upstream sequentially.

  • +
  • upstreamMethod = 2: Identify basins upstream of the snapped dam by removing downstream basins.

  • +
  • upstreamMethod = 3: Identify basins upstream of the snapped dam by analysis of Pfaffstetter IDs.

  • +
+
+

Note

+

By default upstreamMethod = 3

+
+
+
+

Use of Digital Elevation Models (DEMs)

+

We currently support two digital elevation models (DEMs): the hydrologically conditioned HydroSHEDS DEM and SRTM DEM for reservoir delineation and calculation of catchment parameters. +The DEM for reservoir delineation is set in parameter resHydroDEM while the DEM for parameter calculations is set in parameter paramHydroDEM.

+
+

Note

+

A hydrologically conditioned Digital Elevation Model (DEM) is a type of elevation data (most often a raster data) that has been processed to ensure that water flow paths, such as rivers and streams, follow natural drainage patterns without artificial barriers or errors. This conditioning involves modifying the DEM to correct any discrepancies, such as filling in depressions (sinks) or removing obstacles that would disrupt the natural flow of water. The DEM is additionally aligned with the river network (a separate layer of a vector form) such that the river network follows the natural drainage patterns delineated by the DEM.

+
+

Setting resHydroDEM or paramHydroDEM to True indicates seletion of the hydrologically conditioned DEM.

+

The parameter hydrodataset takes values either “03” or “15” and is used to select the resolution of the hydrologically conditioned DEM (either 3 or 15 Arc seconds). The SRTM DEM is provided at a 30m, (1 Arc second) resolution only.

+
+

Note

+

Default parametrs are:

+
    +
  • resHydroDEM defaults to True

  • +
  • paramHydroDEM defaults to True

  • +
  • hydrodataset defaults to “03”

  • +
+
+
+
+

Use of dam location for reservoir delineation

+

Parameter delineate_snapped is used to choose whether the raw or snapped (see also Jensen Search Radius) dam location is used for reservoir delineation. delineate_snapped defaults to True.

+
+
+

Export Options

+

Upon finishing calculations the results are located in files on Google Earth Engine (GEE). The users have an option to export the results to Google Drive automatically after the calculations have finished. The users can also view and analyse the results in the GEE’s graphical user interface (GUI). See the options below.

+
    +
  • export_to_drive is used to choose whether to automatically export results to Google Drive (Defaults to False)

  • +
  • direct_to_vis is used to choose whether the user is directed to a visualiation script on job completion (Defaults to True)

  • +
+
+

Note

+

The users can also export the results to Google Drive manually using the heet_export_cli.py script located in the GeoCARET’s’ root (main) installation folder.

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html new file mode 100644 index 0000000..d5c1a7e --- /dev/null +++ b/genindex.html @@ -0,0 +1,208 @@ + + + + + + + + + Index | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/alternative_outputs.html b/ghg_emissions/alternative_outputs.html new file mode 100644 index 0000000..900bac4 --- /dev/null +++ b/ghg_emissions/alternative_outputs.html @@ -0,0 +1,374 @@ + + + + + + + + + +Alternative Parameters and Definitions | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Alternative Parameters and Definitions

+

Some of GeoCARET’s output parameters can be calculated with more than one methododology, i.e. alternative implementation, or from different input data, i.e. alternative data. +What follows, these output parameters have one or more alternative values. +Where such alternative values are available, these names of those additional output parameters are suffixed with the suffix _alt followed by a number, e.g. _alt1, _alt2 etc. +Further information about the different parameter variants is provided in the description column in Output Data Specification.

+

The parameters with alternative values are discussed below.

+
+

Note

+
    +
  • Some alternative parameter values are currently implemented in the code, but are not output to users as they have been withdrawn. These are designated as DEPRECATED. Nevertheless, they may be of interest to future developers.

  • +
  • Alternative values are implemented in the code for some parameters, but they are automatically assigned a value of UD (undefined) for the reason being that they are still under development. These paramters are designated as DEV. As in the previous point, they may be of interest to future developers.

  • +
+
+
+

1. Mean Annual Runoff

+
+

Hint

+

Catchment parameter

+
+

Three alternative methods are supported:

+
+

Default Definition

+

By deafault, mean annual runoff, c_mar_mm [mm/year] is extracted and spatially averaged from the global composite runoff fields provided by Fekete(2002).

+
+
+

Alternative Definition 1

+
+

Warning

+

DEPRECATED

+
+

c_mar_mm_alt1 is the long term mean annual total runoff (sum of of storm surface runoff, baseflow-groundwater runoff and snow melt) provided in GLDAS.

+

This calculation method has been deprecated due to long calculation times due to the dataset’s very fine temporal resolution. +The dataset in the form of time series is provided at a 3hr period, what adds to the computational burden during aggregation over many years.

+
+

Note

+

The data uses calendar, NOT hydrological year.

+
+
+
+

Alternative Definition 2

+

c_mar_mm_alt2 is the long term annual mean (2000-2019) of the runoff variable in [mm] provided by TerraClimate

+
+

Note

+

The data uses calendar, NOT hydrological year.

+
+
+
+
+

2. Maximum Depth

+
+

Hint

+

Reservoir parameter

+
+

Three alternative methods are supported:

+
+

Default Definition 1

+

The default calculation of the maximum depth of the reservoir, r_max_depth uses the following approach:

+
+\begin{equation} + Maximum \; Depth = \textrm{Max}(Water \; Surface \; Elevation - Land \; Elevation) +\end{equation}

where:

+
+\[Water \; Surface \; Elevation = Elevation_{dam} + Water \; Level_{reservoir}\]
+

The elevation of the reservoir water surface is estimated from either:

+
    +
  1. full supply level (m.a.s.l)

  2. +
  3. the elevation of the base of the dam + the dam height.

  4. +
+
+

Hint

+

For some hydroelectric dams, we can back-calculate the dam height from the power equation if e.g. flow and power production are given.

+
+

The depth at each point on the reservoir is determined by subtracting the land elevation from the water surface elevation at each pixel. +The maximum depth is then taken as the maximum of theses values.

+
+
+

Alternative Definition 1

+

In this alternative implementation (r_max_depth_alt1), the deepest location on the reservoir is assumed to be at the dam wall.

+
+

Note

+

This assumption is also made in the calculation of reservoir’s ‘maximum depth in G-Res.

+
+

The minimum elevation at the dam point location is subtracted from the maximum elevation over the area of the reservoir to provide the maximum depth of the reservoir:

+
+\[Maximum \; Depth = Maximum \; Elevation_{reservoir} - Elevation_{dam}\]
+
+
+

Alternative Definition 2

+

In this alternative implementation (`r_max_depth_alt2), the deepest location on the reservoir is taken as the difference between the highest and the lowest elevation determined over the area of the reservoir:

+
+\[Maximum \; Depth = Maximum \; Elevation_{reservoir} - Minimum \; Elevation_{reservoir}\]
+

This calculation should provide identical results to the default calculation methods, but at the benefit of requiring a simpler Earth Engine calculation method.

+
+

Hint

+

Developers should consider replacing r_max_depth_alt with r_max_depth_alt2.

+
+
+
+
+

3. Mean Global Horizontal Radiance

+
+

Hint

+

Reservoir parameter

+
+

Two different implementations of mean annual global horizontal radiance are supported:

+
+

Default Definition

+

By default the mean annual global horizontal radiance (r_mghr_*) values are extracted from the NASA/SSE Irradiance Data 1983-2005 GIS layer.

+
+
+

Alternative Definition 1

+
+

Warning

+

DEV

+
+

The alternative definition of mean annual global horizontal radiance (r_mghr_*_alt1) is calculated as the MGHR [\(kWh\;m^{-2}\;d^{-1}\)] from the long term annual mean (2000-2019) of downward surface shortwave radiation (srad) [\(W/m^{2}\)] from TerraClimate. The procedure requires a series of unit conversions.

+
+
+
+

4. Soil Moisture

+
+

Hint

+

Catchment parameter

+
+

Calculation of soil moisture is done with two alternative methods that use two different data sources.

+
+

Default Definition

+

c_masm_mm, i.e. mean annual soil moisture, is calculated as a long term mean (2000-2019) of monthly values from the soil field of TerraClimate “Soil moisture, derived using a one-dimensional soil water balance model” [mm/m].

+
+
+

Alternative Definition 1

+
+

Warning

+

DEPRECATED

+
+

This alternative definition (c_masm_mm_alt1) calculates the mean annual soil moisture as the long term mean (2016-2021) of monthly values from the smp field (Soil moisture profile (fraction)) of the NASA-USDA Enhanced SMAP Global Soil Moisture Dataset.

+
+
+
+

5. Precipitation

+
+

Hint

+

Catchment parameter

+
+
+

Default Definition

+

By default, the mean annual precipitation c_map_mm is calculated from mean monthly WorldClim2 bioclimatic variables.

+
+
+

Alternative Definition 1

+

The alternative for the mean annual precipitation (c_map_mm_alt1) is calculated as the long term mean (2000-2019) of monthly values from the Precipitation accumulation field of TerraClimate.

+
+
+
+

6. Evapotranspiration

+
+

Hint

+

Catchment parameter

+
+
+

Default Definition

+

By default, mean annual evapotranspiration c_mpet_mm is calculated as a long term mean (2000-2019) of monthly values +from Reference evapotranspiration (ASCE Penman-Montieth) field of TerraClimate.

+
+
+

Alternative Definition 1

+

This alternative (c_mpet_mm_alt1) is calculated from Regridded Monthly Terrestrial Water Balance Climatologies from the University of Delaware http://climate.geog.udel.edu/~climate/html_pages/download_whc150_2.html

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/gis_assets.html b/ghg_emissions/gis_assets.html new file mode 100644 index 0000000..35c28ab --- /dev/null +++ b/ghg_emissions/gis_assets.html @@ -0,0 +1,756 @@ + + + + + + + + + +GIS Assets | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

GIS Assets

+

Calculations in GeoCARET rely on access to various GIS assets (layer) which are used for reservoir and catchment delineations and calculating reservoir and catchment characteristics, such as population density, surface runoff, mean monthly temperatures, etc.

+

The abbreviated table of GIS assets with data URLs in Google Earth Engine (GEE), Web links to the data and its documentations, and literature references, is provided below.

+
+

Note

+

[home-folder] in the GEE Data URL column refers to the location of private assets that we have uploaded to GEE and which would not have been accessible in GEE otherwise. The [home-folder] variable is projects/ee-future-dams.

+
+
+

Access to Private Assets

+
+

Important

+

The users need to request permission from us to use those private assets before they can make successful runs with GeoCARET. +Please refer to the Installation Guidelines for further instructions. +To request access to those assets please send email to: Tomasz Janus - Email 1 or Tomasz Janus - Email 2 with your email address registered with the Google Earth Engine.

+
+
+
+

Asset Table

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GIS Assets used for calculation of GHG emission model inputs

No.

Asset Name

GEE Data URL

Website

References

1

WWF Hydrosheds

WWF/HydroSHEDS

GEE1a, GEE1b, PROVIDER1

Lehner et al. [1]

2

WWF Hydrosheds Flow Accumulation 15 Arc Seconds

WWF/HydroSHEDS/15ACC

GEE2, PROVIDER2

Lehner et al. [1]

3

WWF Hydrosheds Drainage Direction 15 Arc Seconds

WWF/HydroSHEDS/15DIR

GEE3, PROVIDER3

Lehner et al. [1]

4

Hydrobasins 12

WWF/HydroSHEDS/v1/Basins/hybas_12

GEE4 , PROVIDER4

Lehner et al. [1]

5

NASA SRTM Digital Elevation 30m

USGS/SRTMGL1_003

GEE5 , PROVIDER5

Farr et al. [2]

6

RESOLVE Ecoregions 2017

RESOLVE/ECOREGIONS/2017

GEE6 , PROVIDER6

Poggio et al. [3]

7

Soilgrids 250m OCS

projects/soilgrids-isric/ocs_mean

GEE7

Poggio et al. [3]

8

Soilgrids 250m SOC

projects/soilgrids-isric/soc_mean

GEE8

Poggio et al. [3]

9

Soilgrids 250m N

projects/soilgrids-isric/nitrogen_mean

GEE9

Poggio et al. [3]

10

Soilgrids 250m BDOD

projects/soilgrids-isric/bdod_mean

GEE10

Poggio et al. [3]

11

Monthly Climate and Climatic Water Balance for Global Terrestrial Surfaces, University of Idaho

IDAHO_EPSCOR/TERRACLIMATE

GEE11 , PROVIDER11

Abatzoglou et al. [4]

12

NASA-USDA Enhanced SMAP Global Soil Moisture Data

NASA_USDA/HSL/SMAP10KM_soil_moisture

GEE12 , PROVIDER12

Chan et al. [5]

13

GPWv411: Population Density (Gridded Population of the World Version 4.11)

CIESIN/GPWv411/GPW_Population_Density

GEE13 , PROVIDER13

Center for International Earth Science Information Network - CIESIN - Columbia University [6]

14

Average Monthly and Annual Direct Normal Irradiance Data, One-Degree Resolution of the World, NASA/SSE, 1983-2005

[home-folder]/XHEET_ASSETS/GHI_NASA_low

PROVIDER14

NASA Langley Atmospheric Sciences Data Center [7]

15

UNH-GRDC Composite Runoff Fields V1.0

[home-folder]/XHEET_ASSETS/cmp_ro_grdc

PROVIDER15

Fekete et al. [8]

16

WorldClim 2.1: new 1-km spatial resolution climate surfaces for global land areas (monthly mean temperature variables)

[home-folder]/XHEET_ASSETS/wc2-1_30s_tavg

PROVIDER16

Fick and Hijmans [9]

17

WorldClim 2.1: new 1-km spatial resolution climate surfaces for global land areas (bioclimactic variables)

[home-folder]/XHEET_ASSETS/wc2-1_30s_bio_12

PROVIDER17

Fick and Hijmans [9]

18

OlsenP kgha1 World

[home-folder]/XHEET_ASSETS/OlsenP_kgha1_World

19

Regridded Monthly Terrestrial Water Balance (Universoty of Delaware)

[home-folder]/XHEET_ASSETS/Eo150_clim_xyz_updated

PROVIDER19

Willmott et al. [10]

20

Koppen-Geiger Global 1-km climate classification maps

[home-folder]/XHEET_ASSETS/Beck_KG_V1_present_0p0083

PROVIDER20

Beck et al. [11]

21

HydroRIVERS v10

[home-folder]/HEET_ASSETS/HydroRIVERS_v10

PROVIDER21

Lehner and Grill [12]

22

CCI Land Cover Maps (Years 1992, 2000, 2010, 2020)

[home-folder]/XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y

DOWNLOAD22 , VIEW22

Copernicus Climate Change Service [13]

+
+
+

GIS Assets with Metadata

+

A fuller datasets of GIS assets containing additional metadata can be downloaded in a CSV file format by clicking on the icon below.

+Spreadsheet file icon + +
    +
  • The information about which GIS layer data source (layer and variable (band/feature)) is used for calculating each output parameter, is documented in Output Data Specification.

  • +
+

The legend to the metadata fields is provided below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

metadata_field

description

gis_layer_title

GIS layer title

gis_layer_location

GIS layer storage location on Google +Earth Engine

ee_url

URL of GIS Layer Entry in Google Earth +Engine

ee_asset_type

Google Earth Engine asset type

ee_asset_vars

Band/feature used from Google Earth +Engine asset

tool_data_usage

Description of how the GIS layer is +utilised by this tool

tool_data_year

Which years of data are utilised from +the GIS layer

temporal_resolution

Temporal resolution of the data +e.g. daily, monthly, yearly values etc

temporal_coverage

Temporal coverage of the GIS layer

dataset_provider

Dataset provider

dataset_provider_link

Dataset provider url

pixel_resolution

Pixel Resolution

terms_of_use

Terms of Use

citations

Citations

paper_url

Link to relevant publication

notes

Additional notes

+
+
+

Private Assets

+

GeoCARET relies on a number of data sources that were unavailable in Google Earth Engine catalog at the time of development. +These assets are hosted on our Google Earth Engine account at projects/ee-future-dams/XHEET_ASSETS. +In order to use GeoCARET the users need to obtain privileges to access (read) the asset files individually -see Access to Private Assets. +Please check Installation as a Python Package for more details`.

+
+

Locations of Private Assets

+
+

Note

+

The data below duplicates the data provided in Asset Table and GIS Assets with Metadata. We have kept it in the documentation for now because we have not had time to check that there are no discrepancies between the two sources of the same data.

+
+
    +
  1. projects/ee-future-dams/XHEET_ASSETS/HydroRIVERS_v10 - shp file.

  2. +
  3. projects/ee-future-dams/XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-[Year]-v2-0-7cds [3] - nc file

  4. +
  5. projects/ee-future-dams/XHEET_ASSETS/GHI_NASA_low

  6. +
  7. projects/ee-future-dams/XHEET_ASSETS/cmp_ro_grdc - TiFF file

  8. +
  9. projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_bio_12

  10. +
  11. projects/ee-future-dams/XHEET_ASSETS/Beck_KG_V1_present_0p0083- TiFF file.

  12. +
  13. projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_tavg

  14. +
  15. projects/ee-future-dams/XHEET_ASSETS/OlsenP_kgha1_World [4]

  16. +
  17. projects/ee-future-dams/XHEET_ASSETS/Eo150_clim_xyz_updated

  18. +
  19. projects/ee-future-dams/XHEET_ASSETS/wc2-1_30s_prec

  20. +
  21. projects/ee-future-dams/XHEET_ASSETS/C3S-LC-L4-LCCS-Map-300m-P1Y-2020-v2.1.1.nc - nc file

  22. +
+

Footnotes

+ +
+

Asset Sources

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Asset

Website

Data url

6

weblink1

dataurl1

2

weblink2

dataurl2

11

weblink3

dataurl3

3

weblink4, +weblink4b, +weblink4c

dataurl4 +dataurl4b

1

weblink5

dataurl5

4

weblink6

dataurl6

5

weblink7

dataurl7

10

weblink7

dataurl7

7

weblink7

dataurl7

9

weblink8

dataurl8

+
+
+
+

Preparation/Pre-processing

+

Some of the assets had to be pre-processed before uploading them to GEE, such that their file formats and data conform to GEE’s specifications. These pre-processing steps are listed below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Asset

Name

Description

Pre-processing +Notes

6

Köppen-Geiger +climate +classifications

Global maps of the Köppen-Geiger +climate classification at an +unprecedented 1‑km resolution +for the present day (1980–2016)

No +pre-processing

2, +11

Land Cover +Maps - v2.0.7 +(1992, 2000, +2010), 2.1.1 +(2020)

Global land cover maps at 300 m +spatial resolution [2]; The +spatial coverage is latitude +-90-90 degrees, longitude +-180-180 degrees, and the +coordinate system is the +geographic coordinate WGS84 [1]

Data +downloaded in +netcdf format +converted to +GeoTiff using +example +code

3

NASA/SSE +Irradiance +Data +1983-2005

Solar: Average Monthly and +Annual Direct Normal Irradiance +Data, One-Degree Resolution of +the World from NASA/SSE, +1983-2005. This polygon +shapefile represents the 22 year +average monthly and annual +measurements (kWh/m\(^2\)/day) of +global horizontal irradiance +(GHI) for the entire world.

No +pre-processing

1

HydroRIVERS +v1.0

HydroRIVERS is a database aiming +to provide the vectorized line +network of all global rivers +that have a catchment area of at +least 10 km\(^2\) or an average +river flow of 0.1 cubic meters +per second, or both.

No +pre-processing

4

UNH/GRDC Runoff +Fields Data +(composite +monthly runoff +fields and +annual total +runoff fields)

Three sets of annual and monthly +climatological (1+12 layers per +set) runoff fields…The sets are +observed, WBM-simulated, and +composite monthly runoff fields.

Pre-processing +to add +Projection +information

5

WorldClim +Historical +Climate +data

This is WorldClim version 2.1 +climate data for 1970-2000. This +version was released in January +2020. There are monthly climate +data for minimum, mean, and +maximum temperature, +precipitation, solar radiation, +wind speed, water vapor +pressure, and for total +precipitation. There are also 19 +“bioclimatic” variables.

No +pre-processing

10

    +
  • +
+
    +
  • +
+
    +
  • +
+

7

    +
  • +
+
    +
  • +
+
    +
  • +
+

9

Regridded +Monthly +Terrestial +Water +Balance +Climatologies

    +
  • +
+

Convert XYZ +to tiff; Add +projection; +derive annual +total +evapo +transpiration +from monthly +values

+

Footnotes

+ +
+
+
+

Literature

+
+

+
+
+
+
+[1] +(1,2,3,4) +

Bernhard Lehner, Kristine Verdin, and Andy Jarvis. New global hydrography derived from spaceborne elevation data. Eos, Transactions American Geophysical Union, 89(10):93–94, 2008. URL: https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2008EO100001, arXiv:https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2008EO100001, doi:https://doi.org/10.1029/2008EO100001.

+
+
+[2] +

Tom G. Farr, Paul A. Rosen, Edward Caro, Robert Crippen, Riley Duren, Scott Hensley, Michael Kobrick, Mimi Paller, Ernesto Rodriguez, Ladislav Roth, David Seal, Scott Shaffer, Joanne Shimada, Jeffrey Umland, Marian Werner, Michael Oskin, Douglas Burbank, and Douglas Alsdorf. The Shuttle Radar Topography Mission. Reviews of Geophysics, 2007. URL: https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2005RG000183, arXiv:https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2005RG000183, doi:https://doi.org/10.1029/2005RG000183.

+
+
+[3] +(1,2,3,4,5) +

L. Poggio, L. M. de Sousa, N. H. Batjes, G. B. M. Heuvelink, B. Kempen, E. Ribeiro, and D. Rossiter. SoilGrids 2.0: producing soil information for the globe with quantified spatial uncertainty. SOIL, 7(1):217–240, 2021. URL: https://soil.copernicus.org/articles/7/217/2021/, doi:10.5194/soil-7-217-2021.

+
+
+[4] +

John T. Abatzoglou, Solomon Z. Dobrowski, Sean A. Parks, and Katherine C. Hegewisch. TerraClimate, a high-resolution global dataset of monthly climate and climatic water balance from 1958–2015. Scientific Data, 5(1):170191, Jan 2018. URL: https://doi.org/10.1038/sdata.2017.191, doi:10.1038/sdata.2017.191.

+
+
+[5] +

Steven K. Chan, Rajat Bindlish, Peggy E. O'Neill, Eni Njoku, Tom Jackson, Andreas Colliander, Fan Chen, Mariko Burgin, Scott Dunbar, Jeffrey Piepmeier, Simon Yueh, Dara Entekhabi, Michael H. Cosh, Todd Caldwell, Jeffrey Walker, Xiaoling Wu, Aaron Berg, Tracy Rowlandson, Anna Pacheco, Heather McNairn, Marc Thibeault, José Martínez-Fernández, Ángel González-Zamora, Mark Seyfried, David Bosch, Patrick Starks, David Goodrich, John Prueger, Michael Palecki, Eric E. Small, Marek Zreda, Jean-Christophe Calvet, Wade T. Crow, and Yann Kerr. Assessment of the SMAP Passive Soil Moisture Product. IEEE Transactions on Geoscience and Remote Sensing, 54(8):4994–5007, 2016. doi:10.1109/TGRS.2016.2561938.

+
+
+[6] +

Center for International Earth Science Information Network - CIESIN - Columbia University. Gridded Population of the World, Version 4 (GPWv4): Population Count, Revision 11. Palisades, New York: NASA Socioeconomic Data and Applications Center (SEDAC). 2019. Accessed 01 APR 2020. doi:https://doi.org/10.7927/H4JW8BX5.

+
+
+[7] +

NASA Langley Atmospheric Sciences Data Center. Solar: Average Monthly and Annual Direct Normal Irradiance Data, One-Degree Resolution of the World from NASA/SSE, 1983-2005. 2008. [Shapefile]. Retrieved from https://earthworks.stanford.edu/catalog/stanford-fd535zg0917.

+
+
+[8] +

Balázs M. Fekete, Charles J. Vörösmarty, and Wolfgang Grabs. High-resolution fields of global runoff combining observed river discharge and simulated water balances. Global Biogeochemical Cycles, 16(3):15–1–15–10, 2002. URL: https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/1999GB001254, arXiv:https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/1999GB001254, doi:https://doi.org/10.1029/1999GB001254.

+
+
+[9] +(1,2) +

Stephen E. Fick and Robert J. Hijmans. WorldClim 2: new 1-km spatial resolution climate surfaces for global land areas. International Journal of Climatology, 37(12):4302–4315, 2017. URL: https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.5086, arXiv:https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/joc.5086, doi:https://doi.org/10.1002/joc.5086.

+
+
+[10] +

Cort J. Willmott, Clinton M. Rowe, and Yale Mintz. Climatology of the terrestrial seasonal water cycle. Journal of Climatology, 5(6):589–606, 1985. URL: https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.3370050602, arXiv:https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/joc.3370050602, doi:https://doi.org/10.1002/joc.3370050602.

+
+
+[11] +

Hylke E. Beck, Niklaus E. Zimmermann, Tim R. McVicar, Noemi Vergopolan, Alexis Berg, and Eric F. Wood. Present and future Köppen-Geiger climate classification maps at 1-km resolution. Scientific Data, 5(1):180214, Oct 2018. URL: https://doi.org/10.1038/sdata.2018.214, doi:10.1038/sdata.2018.214.

+
+
+[12] +

Bernhard Lehner and Günther Grill. Global river hydrography and network routing: baseline data and new approaches to study the world's large river systems. Hydrological Processes, 27(15):2171–2186, 2013. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/hyp.9740, arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/hyp.9740, doi:https://doi.org/10.1002/hyp.9740.

+
+
+[13] +

Copernicus Climate Change Service. Land cover classification gridded maps from 1992 to present derived from satellite observation. Climate Data Store, Copernicus Climate Change Service (C3S) Climate Data Store (CDS), (Accessed on 01-APR-2020) 2019. URL: https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form, doi:10.24381/cds.006f2c9a.

+
+
+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/index.html b/ghg_emissions/index.html new file mode 100644 index 0000000..154aa03 --- /dev/null +++ b/ghg_emissions/index.html @@ -0,0 +1,245 @@ + + + + + + + + + +GHG Model Input Calculations | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

GHG Model Input Calculations

+

This part of the documentation outlines the application of GeoCARET to calculating reservoir and catchment parameters required for the subsequent estimation of reservoir greenhouse gas emissions in our open-source software ReEmission. +This is the initial intended application for GeoCARET - see Origins. +However, we are now redesigning GeoCARET into a more generic tool and a framework for reservoir- and catchment-scale analysis that can be configured by users into performing user-defined computations - see Vision.

+
+

Attention

+

What follows, the next chapters descibe the content related solely to running GeoCARET for its initial intended purpose, i.e. calculating inputs to greenhouse gas (GHG) emission model.

+
+
+

Sections

+

This (sub) documentation is built around the four main subjects listed below:

+
    +
  • Input data specification.

  • +
  • The GIS layers (assets) required for the calculations. This includes the public assets available on GEE and the private assets uploaded by the users.

  • +
  • Output data specification and alternative outputs.

  • +
  • Limitations imposed by the input data, the GIS assets, and the algorithms.

  • +
+
+

+
+ +
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/input_data.html b/ghg_emissions/input_data.html new file mode 100644 index 0000000..6784af7 --- /dev/null +++ b/ghg_emissions/input_data.html @@ -0,0 +1,426 @@ + + + + + + + + + +Preparing Inputs | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Preparing Inputs

+

To run GeoCARET command line interface (CLI), the input parameters for all dams/reservoirs being processed need to be supplied in a CSV file and provided as a command-line argument. +For example, if your input file is called dams.csv and resides inside the data sub-folder, you could run GeoCARET by typing:

+
> python heet_cli.py data/dams.csv projectname jobname standard
+
+
+

See Running the GeoCARET Script for full details of all the arguments that are passed to GeoCARET CLI. Information about running GeoCARET using an alternative installation with Docker can be found in Running the GeoCARET Docker Container.

+
+

Supported Geographical Region(s)

+

Due to limitations imposed by the extent of some GIS layers, the analysis is only possible for dam locations in the latitude range -60 to +60 decimal degrees (DD). Additionally, the analysis of dams at the locations falling within this range, but close to its upper and lower limits will fail if:

+
    +
  • The HYDROBASINS level 12 subbasin the dam resides in partially lies outside of this range. - see GIS Assets, Lehner et al. [1].

  • +
  • The modelled reservoir extends outside of this range.

  • +
+
+
+

Input file specification

+

The User Inputs file, MUST meet the following file specification and constraints:

+
+

Hint

+

Data type Int means an integer variable, Str is a string, Bool is a boolean (1/0) and Num is a floating-point numerical variable.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

name

title

description

type

required

unique

min

max

id

Dam +Identifier

Dam identifier

Int

TRUE

TRUE

1

country

Country +Name

The name of the country the +dam is located in. SHOULD be +the ISO 3166 official short +name (EN).

Str

TRUE

FALSE

name

Dam Name

The name of the dam

Str

TRUE

FALSE

river

River +Name

The name of the river the +dam will be constructed on

Str

FALSE

FALSE

main_basin

Main Basin +Name

The name of main river basin +the dam will be located in

Str

FALSE

FALSE

dam_lat

Dam +Latitude

The latitude of the dam +location in decimal degrees

Num

TRUE

FALSE

-60

+60

dam_lon

Dam +Longitude

The longitude of the dam +location in decimal degrees

Num

TRUE

FALSE

-180

+180

dam_height

Dam +Height

The dam height in metres

Num

FALSE

FALSE

10

300

fsl_masl

Full Supply +Level

The full supply level of the +reservoir (masl)

Num

FALSE

FALSE

10

300

power_capacity

Power +Capacity

The installed power capacity +of the dam in MegaWatts

Num

FALSE

FALSE

.001

2500

turbine_efficiency

Turbine +Efficiency

The efficiency of the dam’s +turbines, percent

Num

FALSE

FALSE

0

100

pland_depth

Power +Plant +Depth

The depth of the power plant +below the base of the dam +wall in metres

Num

FALSE

FALSE

0

300

year_commissioned

Year +Commissioned

Year Commissioned

Num

FALSE

FALSE

future_dam_model

Future +Dam +Model

A flag to indicate whether +the dam should be modelled +as a future or existing dam

Bool

TRUE

FALSE

+

Additionally:

+
    +
  • The file MUST be in UTF-8 csv format.

  • +
  • Columns may be in any order.

  • +
  • At least one of dam_height, fsl_masl and power capacity MUST be present.

  • +
  • Capitalisation of column names is ignored, i.e. column names dam_lat, DAM_LAT and dam_Lat are all valid.

  • +
  • Leading and trailing white spaces in column names are ignored.

  • +
  • Extra columns with additional variables may be present, but will be ignored.

  • +
+
+
+

Future Dams vs Existing Dams

+

GeoCARET can analyse new proposed sites, a.k.a. future dams as well as existing assets, a.k.a. existing dams.

+

By setting the future_dam_model flag to true/false the user chooses whether to model individual dams as future/existing dams with the following constraints imposed:

+
+

Recommendations

+
    +
  • Only the dams commissioned after year 2000 can be modelled as future dams, since the digital elevation model SRTM was developed in 2000 - see GIS Assets.

  • +
  • Only the dams commissioned before 2020 can be modelled as existing dams, since the landcover data currently is only available up to year 2020.

  • +
  • Dams commissioned between 2001 and 2019 (inclusive) can be modelled either as existing or future dams.

  • +
+

We recommend that existing dams commissioned in or after 2001 are modelled as future dams.

+
+
+

Modelling existing dams

+

Where dams are modelled as existing dams, the reservoir is delineated using landcover water pixels at a resolution of ~350m. +The version of the landcover data year used for delineating existing reservoirs is chosen as follows. +We select the earliest available dataset created after commissioning of the dam. +For example for landcover data sets from years 1992, 2000, 2010 and 2020, a dam commissioned in year 1991 will be delineated using the landcover data from 1992; a dam commissioned in 1992 will be delineated using the data from the year 2000.

+
+
+

Modelling future dams

+

Where dams are modelled as future dams, the reservoir is delineated using the function delineate_future_reservoir which extracts the reservoir by “flooding” the landscape. +The choice of the digital elevation model (DEM), e.g. DEM type and resolution, can be specified in delineator/heet_config.py - see Configuration Options.

+

For landcover analysis, we select the first available data before commissioning of the dam. +For example for a set of landcover maps availbale from years 1992, 2000, 2010 and 2020, if a dam is commissioned in 1993, the landcover analysis will be conducted using the landcover data from year 1992. +If the landcover data preceding the inundation of the reservoir is not available, we apply the buffer zone method following the approach described in The G-res tool v2.1 Technical +documentation. +We use the landcover data from 1992 as the input to the buffer zone method as it is the oldest landcover data available.

+
+
+
+

User inputs file validation

+

Before the User Input file is uploaded to Google Earth Engine, it is checked for the potential problems listed below. +If any issues are detected, the input file will be rejected, the GeoCARET tool will exit and the user will be asked to make corrections:

+
    +
  • Duplicate column names: duplicate column names are present in the input file. This check is case insensitive and white space insensitive so column names dam_lat and DAM_LAT in the same file are regarded as duplicates and are flagged for correction.

  • +
  • Missing columns: one or more required columns are missing from the input file.All required columns must be present in the file in addition to one of dam_height, fsl_masl and power capacity.

  • +
  • Non uniqueness: one or more columns which should contain unique values, contain one or more duplicate values. All columns where the unique constraint is True must contain unique values.

  • +
  • Out of range values: One or more columns contain out of range values. When a min or max value is specified for a column, a range check is applied to determine whether the supplied values are in range. All values must be within range.

  • +
  • Mismatched data types: One or more columns contains value(s) which do not match the intended data type. All supplied values must match the specified data type of the column they are in e.g. numbers stored as strings e.g. “11,000” are not permitted in numeric or integer fields.

  • +
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/koppen_codes.html b/ghg_emissions/koppen_codes.html new file mode 100644 index 0000000..3c1f414 --- /dev/null +++ b/ghg_emissions/koppen_codes.html @@ -0,0 +1,222 @@ + + + + + + + + + +Köppen-Geiger climate zone classification | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Köppen-Geiger climate zone classification

+

The predominant (modal) climate zone of the catchments is coded using Köppen-Geiger classification published in [Beck2018] and given below. +The climate zone for each reservoir/catchment is stored in the variable c_climate_zone. +The below table is reproduced from the supplementary materials/associated data in [Beck2018].

+
1:  Af   Tropical, rainforest
+2:  Am   Tropical, monsoon
+3:  Aw   Tropical, savannah
+4:  BWh  Arid, desert, hot
+5:  BWk  Arid, desert, cold
+6:  BSh  Arid, steppe, hot
+7:  BSk  Arid, steppe, cold
+8:  Csa  Temperate, dry summer, hot summer
+9:  Csb  Temperate, dry summer, warm summer
+10: Csc  Temperate, dry summer, cold summer
+11: Cwa  Temperate, dry winter, hot summer
+12: Cwb  Temperate, dry winter, warm summer
+13: Cwc  Temperate, dry winter, cold summer
+14: Cfa  Temperate, no dry season, hot summer
+15: Cfb  Temperate, no dry season, warm summer
+16: Cfc  Temperate, no dry season, cold summer
+17: Dsa  Cold, dry summer, hot summer
+18: Dsb  Cold, dry summer, warm summer
+19: Dsc  Cold, dry summer, cold summer
+20: Dsd  Cold, dry summer, very cold winter
+21: Dwa  Cold, dry winter, hot summer
+22: Dwb  Cold, dry winter, warm summer
+23: Dwc  Cold, dry winter, cold summer
+24: Dwd  Cold, dry winter, very cold winter
+25: Dfa  Cold, no dry season, hot summer
+26: Dfb  Cold, no dry season, warm summer
+27: Dfc  Cold, no dry season, cold summer
+28: Dfd  Cold, no dry season, very cold winter
+29: ET   Polar, tundra
+30: EF   Polar, frost
+
+
+
+

References

+
+

+
+
+
+[Beck2018] +(1,2) +

Beck, H.E., N.E. Zimmermann, T.R. McVicar, N. Vergopolan, A. Berg, E.F. Wood: Present and future Köppen-Geiger climate classification maps at 1-km resolution, Nature Scientific Data, 2018.

+
+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/limitations.html b/ghg_emissions/limitations.html new file mode 100644 index 0000000..195088a --- /dev/null +++ b/ghg_emissions/limitations.html @@ -0,0 +1,290 @@ + + + + + + + + + +Limitations | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Limitations

+

Some of the known limitations of this tool are discussed below.

+
+

Relationship between hydrological parameters

+

The tool outputs a number of hydrological parameters including mean annual runoff (mm/yr), mean annual precipitation (mm/yr) and +evapotranspiration (mm/yr).

+

Please note, that the parameters provided by this tool do not meet the expected constraint:

+
+

[Mean annual runoff = Mean annual precipitation + Mean annual +evapotranspiration] X

+
+

This constraint is not met as each parameter is obtained from a different GIS data source, each of which differ with respect to temporal resolution and coverage, spatial resolution and modelling methodology.:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Description

GIS Layer : +Band

Spatial +Re +solution +(m)

Te +mporal +Reso +lution

Tem +poral +Cov +erate

c_map_mm

Mean annual +precipitation +(mm/yr)

WorldClim 2:

927.66

Long +term +mean

1970 +- +2000

c_map_mm_alt1

Mean annual +precipitation +(mm/yr)

TerraClimate: +pr

4638.3

Long +term +mean

2000 +-2019

c_mar_mm

Mean annual +runoff (mm/yr)

UNH-GRDC +Composite +Runoff Fields +V1.0

55659.74

Long +term +mean

< +2000

c_mar_mm_alt1

Mean annual +runoff (mm/yr)

TerraClimate: +ro

4638.3

Long +term +mean

< +2000

c_mpet_mm

Mean annual +eva +potranspiration +(mm/yr)

TerraClimate: +pet

4638.3

Long +term +mean

2000 +-2019

c_mpet_mm_alt1

Mean annual +eva +potranspiration +(mm/yr)

Regridded +Monthly +Terrestrial +Water Balance +Climatologies +(UDEL)

55659.7

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/output_data.html b/ghg_emissions/output_data.html new file mode 100644 index 0000000..40995c9 --- /dev/null +++ b/ghg_emissions/output_data.html @@ -0,0 +1,1949 @@ + + + + + + + + + +Output Data | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Output Data

+

When GHG emission model input calculations are run in GeoCARET, GeoCARET creates a number of outputs which are saved to several locations locally and on remote servers - see Output Locations. +This document is a guide to the output datasets generated and their location.

+
+

Run Folder

+
+

Key Points

+
    +
  • When the GeoCARET is run for the first time, a folder XHEET/tmp is created in the top level of your Google Drive assets folder. This folder is written into by the currently running GeoCARET job.

  • +
  • Initially, all output files are written to the XHEET/tmp folder.

  • +
  • Once the analysis is complete, all output files are copied to the permanent Earth Engine assets folder and to Google Drive [optionally].

  • +
  • All files are finally deleted from XHEET/tmp.

  • +
+
+
+
+

Output Locations

+

The results are saved into three locations:

+
    +
  1. Google Earth Engine Cloud Project Assets folder

  2. +
  3. Google Drive (optional)

  4. +
  5. Local results folder on the user’s personal machine

  6. +
+
+

1. Google Earth Engine Cloud Project Assets folder

+

All output files generated by GeoCARET are saved inside your Google Earth Engine Cloud Project Assets folder. They are saved in a folder called XHEET, which will be created inside the top-level folder of your cloud project.

+
+

Attention

+

If your cloud project contains multiple top-level folders, +GeoCARET will use the first folder it finds, taking the folder +names in alphabetical order.

+
+

Each time you run the analysis, a new sub-folder will be created to hold the outputs, with the name generated constructed from the jobname argument and the timestamp of the analysis: XHEET/<<JOBNAME>>-<<TIMESTAMP>>

+

For exmaple, if your cloud project is called my-ee-project and it has a top-level folder called home, and you started the analysis at 3pm on 2024-01-01 using the following command-line command:

+
> python heet_cli.py data/dams.csv my-ee-project job01 standard
+
+
+

the outputs would be stored in my-ee-peoject/home/XHEET/JOB01-20240101-1300.

+

All outputs are native Earth Engine data structures: feature collections, images and image collections.

+
+
+

2. Google Drive (Optional)

+

All output files can also be saved to a Google Drive folder under condition that the config option export_to_drive = True in delineator/heet_config.py - see Configuration Options for more information about configuration settings. +For more information, please read: Exporting to Google Drive.

+
+

Exported data

+
    +
  • Catchment, Reservoir and River delineations (vectors, feature collections) are exported as shape files.

  • +
  • Catchment areas and inundated areas (pixels, rasters, images) are exported GeoTiff images.

  • +
  • Catchment, reservoir and other parameters (feature collections) are exported as csv files.

  • +
+

For more information, please refer to Export Settings and Outputs.

+
+
+
+

3. Local Results Folder

+
+

Important

+

This destination is only for the calculated parameters, i.e. other outputs such as delineation shape files, are not saved to the local results folder. Instead they can be exported to Google Drive - see 2. Google Drive (Optional).

+
+

When the analysis is complete, the calculated reservoir and catchment properties, i.e. the output_parameters are downloaded to a local results folder in the form of a CSV file called output_parameters.csv. The file will be stored in the folder

+
outputs/<<JOBNAME>>-<<TIMESTAMP>>
+
+
+

e.g.

+
outputs/JOB01-20220130-1450/output_parameters.csv
+
+
+

The values in output_parameters.csv are additionally validated against a set of constraints, e.g. minimum and maximum allowed value, defined in configuration file outputs.resource.yaml. +The validation functions are defined in heet_validate.py. +Any impossible or improbable calculated parameters are flagged in a CSV file heet_output_report.csv, also saved to the local results folder. +A subset of data in output_parameters.csv is additionally saved as a specially formatted json file output_parameters.json that is designed to comply with the input file specifications of RE-Emission. Alike the csv files, the json file will be stored in the folder

+
outputs/<<JOBNAME>>-<<TIMESTAMP>>
+
+
+

e.g.

+
outputs/JOB01-20220130-1450/output_parameters.json
+
+
+
+
+
+

Guide to Output Files

+

The produced outputs come in two forms: geospatial data and tabular data. +The geospatial data is saved either in .shp or .GeoTiff format, depending whether it is in the form of vector(s) or raster(s), respectively. +The tabular data representing the user inputs and the output parameters is saved in the .csv format.

+
+

Output File Inventory

+

The output data comes in different native Earth Engine formats (see ee_type) which later determines the type of the output file (see drive_type). +The file names (file_prefix), their titles and descriptions and types are provided in the table below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

file_prefix

title

description

ee_type

drive_type

user_inputs

User +inputs

User inputs

Feature +Collection

CSV

P_*

Raw dam +location

The raw dam location input by +the user

Feature +Collection +[Ftc-ft-pt]

SHP

PS_*

Snapped +dam +location

Dam location snapped to nearest +hydroriver

Feature +Collection +[Ftc-ft-pt]

SHP

WCPTS_

Watershed +candidate +points

Watershed search grid. +Hydrobasins 12 subbasin of dam +converted to a grid of point +locations (15’ pixel centres).

Feature +Collection +[Ftc-fts-pts]

SHP

WDPTS_

Watershed +detected +points

Points on watershed search grid +found by algorithm to belong to +dam catchment.

Feature +Collection +[Ftc-fts-pts]

SHP

CX_

Catchment +pixels

Catchment pixels

Image

GeoTiff

C_ +c_

Catchment +boundary

Catchment boundary

Feature +Collection

SHP

WBSX_

Waterbodies +pixels

Waterbodies pixels

Image

GeoTiff

WBS_

Waterbodies +boundaries

Waterbodies boundaries

Feature +Collection

SHP

R_ +r_

Reservoir +boundary

Reservoir boundary; boundary of +waterbody which intersects the +snapped dam location (or raw +location for existing dams).

Feature +Collection

SHP

rbz_

Reservoir +buffer +zone

Buffer zone around reservoir +(used for landcover analysis of +existing dams commissioned +<=1992)

Feature +Collection

SHP

sr_

Simplified +implified +reservoir +boundary

Simplified reservoir boundary +(the outer boundary of the +reservoir ignoring any islands). +Used to determine inundated +river.

Feature +Collection

SHP

S_ +s_

Inundated +river +reaches +(streamline)

Inundated river reaches (stream +line)

Feature +Collection

SHP

MS_ +ms_

Main +inundated +river channel

Main inundated river channel.

Feature +Collection

SHP

N_ +n_

Non-inundeted +catchment

Non inundated catchment

Feature +Collection

SHP

output_parameters

Calculated +Parameters

Calculated parematers

Tabular

CSV

+
+
+

Output Data Specification

+

The variables output by GeoCARET in the tabular format are listed and described in the table below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Specification of output variables saved in the tabular output form.

name

title

description

type

contraints

required

unique

minimum

maximum

gis_layer

id

Dam Identifier

Dam identifier

integer

TRUE

TRUE

1

NA

country

Country Name

The name of the country the dam is located in (the ISO 3166 official short name (EN))

string

TRUE

FALSE

NA

name

Dam Name

The name of the dam

string

TRUE

FALSE

NA

river

River Name

The name of the river the dam will be constructed on

string

TRUE

FALSE

NA

main_basin

Main Basin Name

The name of main river basin the dam will be located in

string

TRUE

FALSE

NA

dam_lat

Dam Latitude

The latitude of the dam location in decimal degrees (DD)

number

TRUE

FALSE

-60

60

NA

dam_lon

Dam Longitude

The longitude of the dam location in decimal degrees (DD)

number

TRUE

FALSE

-180

180

NA

dam_height

Dam Height

The dam height in metres (m)

number

TRUE

FALSE

10

300

NA

year_commissioned

Year Commissioned

The year the dam was commissioned in

number

TRUE

FALSE

0

fsl_msl

Full Supply Level

The full supply level of the reservoir (masl)

number

TRUE

FALSE

-113

9148

NA

power_capacity

Power Capacity

The installed power capacity of the dam in megawatts (MW)

number

TRUE

FALSE

0.001

22500

NA

turbine_efficiency

Turbine Efficiency

+

The efficiency of the dam’s turbines, percentage (%)

+
+

number

TRUE

FALSE

0

100

NA

plant_depth

Power Plant Depth

The depth of the power plant below the base of the dam wall in metres (m)

number

TRUE

FALSE

0

300

NA

ps_snap_displacement

Snap Displacement

The distance between the hydroriver-snapped dam location and the raw dam location (m

number

TRUE

FALSE

0

NA

ps_lat

Snapped Dam Latitude

The latitude of the snapped dam location in decimal degrees (DD)

number

TRUE

FALSE

-90

90

NA

ps_lon

Snapped Dam Longitude

The longitude of the snapped dam location in decimal degrees (DD)

number

TRUE

FALSE

-180

180

NA

d_dam_elevation_analysis

Dam Elevation (Analysis)

The elevation at the dam location used in reservoir delination

number

TRUE

FALSE

-413

8848

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

d_dam_elevation_snapped

Dam Elevation (Snapped)

The elevation at the snapped dam location

number

TRUE

FALSE

-413

8848

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

d_dam_elevation_raw

Dam Elevation (Raw)

The elevation at the raw dam location

number

TRUE

FALSE

-413

8848

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

c_area_km2

Area [catchment]

The area of the catchment (\(km^2\))

number

TRUE

FALSE

0

NA

c_mean_slope_pc

Mean slope [catchment]

The mean slope of the catchment (%)

number

TRUE

FALSE

0

241.41

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

c_biome

Predominant biome [catchment]

The predominant biome of the catchment

string

TRUE

FALSE

RESOLVE/ECOREGIONS/2017

c_climate_zone

Predominant climate [catchment]

The predominant climate zone of the catchment (koppen climate zones - see 99_koppen_codes.md)

number

TRUE

FALSE

XHEET_ASSETS/Beck_KG_V1_present_0p0083

c_population

Population [catchment]

The population of the catchment (persons)

number

TRUE

FALSE

0

CIESIN/GPWv411/GPW_Population_Density

c_population_density

Population density [catchment]

The population density of the catchment (\(persons/km^2\))

number

TRUE

FALSE

0

78683

CIESIN/GPWv411/GPW_Population_Density

c_landcover_0

Landcover category 0 fraction [catchment]

The landcover category 0 (‘No Data’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_1

Landcover category 1 fraction [catchment]

The landcover category 1 (‘Croplands’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_2

Landcover category 2 fraction [catchment]

The landcover category 2 (‘Grassland/Shrubland’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_3

Landcover category 3 fraction [catchment]

The landcover category 3 (‘Forest’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_4

Landcover category 4 fraction [catchment]

The landcover category 4 (‘Wetlands’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_5

Landcover category 5 fraction [catchment]

The landcover category 5 (‘Settlements’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_6

Landcover category 6 fraction [catchment]

The landcover category 6 (‘Bare Areas’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_7

Landcover category 7 fraction [catchment]

The landcover category 7 (‘Water Bodies’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_landcover_8

Landcover category 8 fraction [catchment]

The landcover category 8 (‘Permanent snow and ice’) fraction of the catchment

number

TRUE

FALSE

0

1

XHEET_ASSETS/ESACCI-LC-L4-LCCS-Map-300m-P1Y-2010-v2-0-7cds-lccs_class

c_mpet_mm

Mean annual evapotranspiration [catchment]

The mean annual evapotranspiration for the catchment (mm/year)

number

TRUE

FALSE

0

2500

IDAHO_EPSCOR/TERRACLIMATE

c_mpet_mm_alt1

Mean annual evapotranspiration [catchment] alt1

The mean annual evapotranspiration for the catchment (mm/year) alt1

number

TRUE

FALSE

0

2500

XHEET_ASSETS/Eo150_clim_xyz_updated

c_map_mm

Mean annual precipitation [catchment]

The mean annual precipitation for the catchment (mm/year)

number

TRUE

FALSE

0

6000

XHEET_ASSETS/wc2-1_30s_bio_12

c_map_mm_alt1

Mean annual precipitation [catchment]

The mean annual precipitation for the catchment (mm/year)

number

TRUE

FALSE

0

6000

IDAHO_EPSCOR/TERRACLIMATE

c_mar_mm

Mean annual runoff [catchment] default

The mean annual runoff for the catchment (mm/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002)

number

TRUE

FALSE

0

6000

XHEET_ASSETS/cmp_ro_grdc

c_mar_mm_alt2

Mean annual runoff alt2 [catchment]

The mean annual runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar year

number

TRUE

FALSE

0

6000

IDAHO_EPSCOR/TERRACLIMATE

c_mmr_mm_alt2

Mean monthly runoff alt2 [catchment]

The mean monthly runoff for the catchment (mm/year). Alternative definition 2: Long term mean (2000-2019) of TerraClimate total runoff (mm) per calendar month

number

TRUE

FALSE

0

500

IDAHO_EPSCOR/TERRACLIMATE

``c_mad_m3_peryr``

Mean annual discharge [catchment] default

The mean annual discharge for the catchment (m3/year). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002)

number

TRUE

FALSE

0

XHEET_ASSETS/cmp_ro_grdc

``c_mad_m3_pers``

Mean annual discharge [catchment] default

The mean annual discharge for the catchment (m3/s). Default definition using UNH/GRDC Composite Runoff Fields V1.0 - Fekete(2002)

number

TRUE

FALSE

0

XHEET_ASSETS/cmp_ro_grdc

c_msocs_kgperm2

Mean soil organic carbon stocks [catchment]

The mean soil organic carbon stocks of the catchment (0-30cm; \(kg C m^2\))

number

TRUE

FALSE

0

projects/soilgrids-isric/ocs_mean

c_msocc_perc

Mean soil organic carbon content [catchment]

The mean soil organic carbon content of the catchment (0-30cm; \(%\))

TRUE

FALSE

0

projects/soilgrids-isric/soc_mean

c_msocc_gperkg

Mean soil organic carbon content [catchment]

The mean soil organic carbon content of the catchment (0-30cm; \(g/kg\))

TRUE

FALSE

0

projects/soilgrids-isric/soc_mean

c_msnc_gperkg

Mean soil total nitrogen content [catchment]

The mean soil nitrogen content of the catchment (0-30cm; \(g/kg\))

TRUE

FALSE

0

projects/soilgrids-isric/nitrogen_mean

c_msbdod_kgperdm3

Mean soil bulk density [catchment]

The mean soil bulk of the catchment (0-30cm; \(kg/dm^3\))

TRUE

FALSE

0

projects/soilgrids-isric/bdod_mean

c_doc_export

DOC export [non-inundated catchment]

The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1)

number

TRUE

FALSE

projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean

c_mswn_molperkg

Mean strata_weighted mols N /kg [catchment]

Mean strata_weighted mols N /kg [catchment]

number

TRUE

FALSE

0

71

projects/soilgrids-isric/nitrogen_mean

c_mswc_molperkg

Mean strata_weighted mols C/kg [catchment]

Mean strata_weighted mols C /kg [catchment]

number

TRUE

FALSE

0

83

projects/soilgrids-isric/soc_mean

c_soil_type

Soil Type [catchment]

The predominant soil type (mineral/organic) of the catchment area

string

TRUE

FALSE

projects/soilgrids-isric/ocs_mean

c_masm_mm

Mean soil moisture [catchment]

The nean soil moisture of the catchment (mm/m soil depth)

number

TRUE

FALSE

0

NASA_USDA/HSL/SMAP10KM_soil_moisture

c_mean_olsen

Soil Olsen P [catchment]

The soil Olsen P of the catchment (kg ha-1)

number

TRUE

FALSE

0

XHEET_ASSETS/OlsenP_kgha1_World

n_population

Population [non-inundated catchment]

The population of non-inundated catchment (persons)

number

TRUE

FALSE

0

CIESIN/GPWv411/GPW_Population_Density

n_population_density

Population density [non-inundated catchment]

The population of non-inundated catchment (\(persons/km^2\))

number

TRUE

FALSE

0

78683

CIESIN/GPWv411/GPW_Population_Density

n_doc_export

DOC export [non-inundated catchment]

The dissolved organic carbon (DOC) export [non-inundated catchment] (kg y-1)

number

TRUE

FALSE

projects/soilgrids-isric/soc_mean; projects/soilgrids-isric/nitrogen_mean

n_mswn_molperkg

Mean strata_weighted mols N /kg [ni catchment]

Mean strata_weighted mols N /kg [ni catchment]

number

TRUE

FALSE

0

71

projects/soilgrids-isric/nitrogen_mean

n_mswc_molperkg

Mean strata_weighted mols C/kg [ni catchment]

Mean strata_weighted mols C /kg [ni catchment]

number

TRUE

FALSE

0

83

projects/soilgrids-isric/soc_mean

r_imputed_water_level

Imputed water level

The imputed water level (m) relative to the base of the dam

number

TRUE

FALSE

0

NA

r_imputed_water_level_prov

Imputed water level provenance

The imputed water level provenance (0 - inputted water level, 1 - inputted dam height , 2- calculated dam height )

number

TRUE

FALSE

0

NA

r_area_km2

Area [reservoir]

The area of the reservoir (\(km^2\))

number

TRUE

FALSE

0

NA

r_volume_m3

Volume [reservoir]

The volume of the reservoir (\(m^3\))

number

TRUE

FALSE

0

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

r_mean_depth_m

Mean depth [reservoir]

The mean depth of the reservoir (m)

number

TRUE

FALSE

0

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

r_maximum_depth_m

Maximum depth [reservoir]

The maximum depth of the reservoir (m); Default definition 1: max(Water Elevation(res) - Land Elevation(res))

number

TRUE

FALSE

0

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

r_maximum_depth_m_alt1

Maximum depth [reservoir] alt 1

The maximum depth of the reservoir (m); Alternative definition 1: Max Elevation(res) - Min Elevation(dam) NB: this definition assumes that the deepest point of the reservoir is at the dam wall

number

TRUE

FALSE

0

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

r_maximum_depth_m_alt2

Maximum depth [reservoir] alt 2

The maximum depth of the reservoir (m); Alternative 2: Max Elevation(res) - Min Elevation(res)

number

TRUE

FALSE

0

USGS/SRTMGL1_003 OR WWF/HydroSHEDS/03CONDEM OR WWF/HydroSHEDS/15CONDEM

r_landcover_bysoil_0

Landcover/soil type category 0 fraction [reservoir]

The landcover/soil type category (‘Mineral - No Data’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_1

Landcover/soil type category 1 fraction [reservoir]

The landcover/soil type category 1 (‘Mineral - Croplands’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_2

Landcover/soil type category 2 fraction [reservoir]

The landcover/soil type category 2 (‘Mineral - Grassland/Shrubland’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_3

Landcover/soil type category 3 fraction [reservoir]

The landcover/soil type category 3 (‘Mineral - Forest’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_4

Landcover/soil type category 4 fraction [reservoir]

The landcover/soil type category 4 (‘Mineral - Wetlands’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_5

Landcover/soil type category 5 fraction [reservoir]

The landcover/soil type category 5 (‘Mineral - Settlements’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_6

Landcover/soil type category 6 fraction [reservoir]

The landcover/soil type category 6 (‘Mineral - Bare Areas’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_7

Landcover/soil type category 7 fraction [reservoir]

The landcover/soil type category 7 (‘Mineral - Water Bodies’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_8

Landcover/soil type category 8 fraction [reservoir]

The landcover/soil type category 8 (‘Mineral - Permanent snow and ice’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_9

Landcover/soil type category 9 fraction [reservoir]

The landcover/soil type category 9 (‘Organic - No Data’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_10

Landcover/soil type category 10 fraction [reservoir]

The landcover/soil type category 10 (‘Organic - Croplands’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_11

Landcover/soil type category 11 fraction [reservoir]

The landcover/soil type category 11 (‘Organic - Grassland/Shrubland’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_12

Landcover/soil type category 12 fraction [reservoir]

The landcover/soil type category 12 (‘Organic - Forest’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_13

Landcover/soil type category 13 fraction [reservoir]

The landcover/soil type category 13 (‘Organic - Wetlands’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_14

Landcover/soil type category 14 fraction [reservoir]

The landcover/soil type category 14 (‘Organic - Settlements’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_15

Landcover/soil type category 15 fraction [reservoir]

The landcover/soil type category 15 (‘Organic - Bare Areas’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_16

Landcover/soil type category 16 fraction [reservoir]

The landcover/soil type category 16 (‘Organic - Water Bodies’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_17

Landcover/soil type category 17 fraction [reservoir]

The landcover/soil type category 17 (‘Organic - Permanent snow and ice’) fraction of the reservoir

number

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_18

Landcover/soil type category 18 fraction [reservoir]

The landcover/soil type category 18 (‘No Data - No Data’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_19

Landcover/soil type category 19 fraction [reservoir]

The landcover/soil type category 19 (‘No Data - Croplands’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_20

Landcover/soil type category 20 fraction [reservoir]

The landcover/soil type category 20 (‘No Data - Grassland/Shrubland’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_21

Landcover/soil type category 21 fraction [reservoir]

The landcover/soil type category 21 (‘No Data - Forest’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_22

Landcover/soil type category 22 fraction [reservoir]

The landcover/soil type category 22 (‘No Data - Wetlands’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_23

Landcover/soil type category 23 fraction [reservoir]

The landcover/soil type category 23 (‘No Data - Settlements’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_24

Landcover/soil type category 24 fraction [reservoir]

The landcover/soil type category 24 (‘No Data - Bare Areas’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_25

Landcover/soil type category 25 fraction [reservoir]

The landcover/soil type category 25 (‘No Data - Water Bodies’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_landcover_bysoil_26

Landcover/soil type category 26 fraction [reservoir]

The landcover/soil type category 26 (‘No Data - Permanent snow and ice’) fraction of the reservoir

TRUE

FALSE

0

1

Derived

r_mean_temp_1

Mean monthly temperature (Jan) [reservoir]

Mean monthly temperature (Jan) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_2

Mean monthly temperature (Feb) [reservoir]

Mean monthly temperature (Feb) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_3

Mean monthly temperature (Mar) [reservoir]

Mean monthly temperature (Mar) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_4

Mean monthly temperature (Apr) [reservoir]

Mean monthly temperature (Apr) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_5

Mean monthly temperature (May) [reservoir]

Mean monthly temperature (May) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_6

Mean monthly temperature (Jun) [reservoir]

Mean monthly temperature (Jun) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_7

Mean monthly temperature (Jul) [reservoir]

Mean monthly temperature (Jul) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_8

Mean monthly temperature (Aug) [reservoir]

Mean monthly temperature (Aug) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_9

Mean monthly temperature (Sep) [reservoir]

Mean monthly temperature (Sep) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_10

Mean monthly temperature (Oct) [reservoir]

Mean monthly temperature (Oct) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_11

Mean monthly temperature (Nov) [reservoir]

Mean monthly temperature (Nov) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mean_temp_12

Mean monthly temperature (Dec) [reservoir]

Mean monthly temperature (Dec) for reservoir (degrees C)

number

TRUE

FALSE

-90

57

XHEET_ASSETS/wc2-1_30s_tavg

r_mghr_all_kwhperm2perday

Mean global horizonal radiance [reservoir]

Mean global horizontal radiance, reservoir (\(kWh m^2 d^-1\)); Default definition from NASA/SSE Irradiance Data 1983-2005

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_mghr_all_kwhperm2perday_alt1

Mean global horizonal radiance, alt1 [reservoir]

Mean global horizontal radiance (\(kWh m^2 d^-1\)); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_mghr_may_sept_kwhperm2perday

Mean global horizonal radiance May-Sept [reservoir]

Mean global horizontal radiance May-Sept, reservoir (\(kWh m^2 d^-1\)); Default definition from NASA/SSE Irradiance Data 1983-2005

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_mghr_may_sept_kwhperm2perday_alt1

Mean global horizonal radiance May-Sept [reservoir]

Mean global horizontal radiance May-Sept, reservoir (\(kWh m^2 d^-1\)); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_mghr_nov_mar_kwhperm2perday

Mean global horizonal radiance Nov-Mar [reservoir]

Mean global horizontal radiance Nov-Mar, reservoir (\(kWh m^2 d^-1\)); Alternative definition 1: Default definition from NASA/SSE Irradiance Data 1983-2005

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_mghr_nov_mar_kwhperm2perday_alt1

Mean global horizonal radiance Nov-Mar [reservoir]

Mean global horizontal radiance Nov-Mar, reservoir (\(kWh m^2 d^-1\)); Alternative definition 1: Long term annual mean (2000-2019) of downward surface shortwave radiation (srad) from TerraClimate [UNAVAILABLE].

number

TRUE

FALSE

0

XHEET_ASSETS/GHI_NASA_low

r_msocs_kgperm2

Mean soil organic carbon stocks [reservoir]

The mean soil organic carbon stocks of the reservoir (0-30cm; \(kg C m^2\))

number

TRUE

FALSE

0

projects/soilgrids-isric/ocs_mean

r_msocc_perc

Mean soil organic carbon content [reservoir]

The mean soil organic carbon content of the reservoir (0-30cm; \(%\))

TRUE

FALSE

0

projects/soilgrids-isric/soc_mean

r_msocc_gperkg

Mean soil organic carbon content [reservoir]

The mean soil organic carbon content of the reservoir (0-30cm; \(g/kg\))

TRUE

FALSE

0

projects/soilgrids-isric/soc_mean

r_msnc_gperkg

Mean soil total nitrogen content [reservoir]

The mean soil nitrogen content of the reservoir (0-30cm; \(g/kg\))

TRUE

FALSE

0

projects/soilgrids-isric/nitrogen_mean

r_msbdod_kgperdm3

Mean soil bulk density [reservoir]

The mean soil bulk of the reservoir (0-30cm; \(kg/dm^3\))

TRUE

FALSE

0

projects/soilgrids-isric/bdod_mean

r_mean_annual_windspeed_mpers

Mean annual wind speed [reservoir]

Mean annual wind speed at the reservoir (\(m s^-1\))

number

TRUE

FALSE

0

IDAHO_EPSCOR/TERRACLIMATE

ms_length

Length of inundated river [reservoir]

Length of inundated river (km)

number

TRUE

FALSE

0

XHEET_ASSETS/HydroRIVERS_v10

t_landcover_analysis_yr

Landcover data year (landcover analysis)

Date of landcover data used in landcover analysis

number

TRUE

FALSE

t_landcover_delineation_yr

Landcover data year (reservoir delineation)

Date of landcover data used in delineation of existing reservoirs

number

TRUE

FALSE

t_landcover_buffer_method

Buffer method indicator

Buffer method used in landcover analysis?

number

TRUE

FALSE

error_code

Error codes

Error code;

number

TRUE

FALSE

0

+

The specification can be also downloaded in a CSV file format by clicking on the icon below.

+Spreadsheet file icon + +
+
+
+

Guide to Codes

+
+

Error Codes

+

If the analysis of a dam location fails part way through, all output files and parameters calculated up to the point of failure will be saved and exported. +Any parameters that cannot be calculated are assigned a missing value using the codes below. +An error code is assigned to each dam to indicate whether the analysis completed successfully or not.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Code

Definition

0

No Error (complete analysis)

1

Analysis failed at snapping dam to hydroriver

2

Analysis failed at catchment delineation or +catchment parameter generation

3

Analysis failed at reservoir delineation or +reservoir parameter generation

4

Analysis failed at non-inundated catchment +delineation or non-inundated catchment +parameter generation

5

Analysis failed at river delineation or river +parameter generation

+
+
+

Missing Data Codes

+

Missing data, e.g. data that could not be calculated for some reason or the calculation method is still under development, is handled in several ways depending on the root cause of the data being missing. See below

+
    +
  1. Missing numerical/string parameters, which are still “under development” are assigned a string value of “UD”.

  2. +
  3. Missing numerical parameters (which are not under developemnt) are assigned a string value of “NA” (happens when delineation has failed).

  4. +
  5. Missing parameters are assigned a string value of “NONE” (happens when delineation has failed).

  6. +
  7. Missing numerical parameters are assigned a string value of “ND” when calculation evaluates to None, e.g. if there is missing data in GIS layer.

  8. +
  9. Missing string parameters are assigned a string value of “NODATA” when calculation evaluates to None e.g. if there is missing data in GIS layer.

  10. +
+
+
+

Provenance Codes

+
+

Note

+

Applies to future dams only.

+
+

The variable r_imputed_water_elevation_prov is a key variable that is used to indicate how water elevation of the future dam has been derived for delineation.

+ + + + + + + + + + + + + + + + + + + + +

Code

Definition

0

User input full supply level

1

User input dam height

2

Dam height estimated from power capacity +(user inputted turbine efficiency)

3

Dam height estimated from power capacity +(assuming turbine efficiency of 85%)

+
+

Attention

+

Plant depth is assumed to be “0” unless the user-specified a different value.

+
+
+
+
+

Handling existing dams

+

When modelling existing dams, the following parameters cannot be generated due to the lack of elevation data that pre-dates commissioning:

+
    +
  • r_imputed_water_elevation

  • +
  • r_volume_m3

  • +
  • r_mean_depth_m

  • +
  • r_maximum_depth_m

  • +
  • r_maximum_depth_m_alt1

  • +
  • r_maximum_depth_m_alt2

  • +
+
+

Attention

+

This data needs to be provided manually, e.g. obtained from different data sources.

+
+
+

Hint

+

For the purpose of GHG emission estimation we need: reservoir volume, mean dept h and max depth. Additional knowledge of bathymetry is very helpful for estimating CH4 emissions as it allows a more accurate estimation of the littoral zone, but it is not mandatory. Rather a luxury to have.

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ghg_emissions/output_data_exports.html b/ghg_emissions/output_data_exports.html new file mode 100644 index 0000000..f502d59 --- /dev/null +++ b/ghg_emissions/output_data_exports.html @@ -0,0 +1,410 @@ + + + + + + + + + +Exporting to Google Drive | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Exporting to Google Drive

+

Exporting to Google Drive (GDrive) is controlled by the boolean flag export_to_drive in the config file delineator/heet_config.py.

+
+

1. Exporting to GDrive automatically

+

If export_to_drive is True, the results will be exported to Google Drive automatically.

+
+
+

2. Exporting to GDrive later

+

If export_to_drive is False, the results will not be exported to Google Drive automatically. +To export the results to Google Drive at a later time, use the utility script heet_export_cli.py as follows:

+
> python heet_export_cli.py [path-to-results-folder-on-ee] [destination-folder-on-gdrive]
+
+
+
+

Attention

+

Only a single top-level folder can be specified as the destination folder on GDrive

+
+
+

Hint

+

To read about other configuration options, please refer to Configuration Options.

+
+

Example usage:

+
> python heet_export_cli.py users/tjanus/XHEET/MYDAMSD22_20230107-2140 XHEET_MYDAMSD22_20230107-2140
+
+
+

will export the calculation outputs from the job folder MYDAMSD22_20230107-2140 residing in the users’ working folder users/tjanus/XHEET on Earth Engine and save the data to the folder of the same name in GDrive.

+
+

Note

+

Please note the following Earth Engine documentation describing where in Google Drive the data will be written to. “The Google Drive Folder that the export will reside in. Note: (a) if the folder name exists at any level, the output is written to it, (b) if duplicate folder names exist, output is written to the most recently modified folder, (c) if the folder name does not exist, a new folder will be created at the root, and (d) folder names with separators (e.g. ‘path/to/file’) are interpreted as literal strings, not system paths. Defaults to Drive root.”

+
+
+
+

Export Settings and Outputs

+

We provide a setting that is given as an argument in the command-line call - see [output-option] in the Syntax section of Running the GeoCARET Script for details. +The output options are provided as columns in the table below: standard, extended, diagnostic, diagnostic-catch, diagnostic-res, diagnostic-riv. +They control the amount of data that is calculated and saved to the Earth Engine folder during the analysis, as illustrated in the table below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

file_prefix

title

st +and +ard

ex +ten +ded

di +agno +stic

diag +nostic +-catch

diag +nosti +c-res

diag +nosti +c-riv

user_inputs

User inputs

X

X

X

X

X

X

P_*

Raw dam +location

X

X

X

X

PS_*

Snapped dam +location

X

X

X

X

X

X

WCPTS_

Watershed +candidate +points

X

X

WDPTS_

Watershed +detected +points

X

X

CX_

Catchment +pixels

X

X

C_ +c_

Catchment +boundary

X

X

X

X

X

X

WBSX_

Waterbodies +pixels

X

X

WBS_

Waterbodies +boundaries

X

X

R_ +r_

Reservoir +boundary

X

X

X

X

X

X

rbz_

Reservoir +buffer zone

X

X

X

X

X

X

sr_

Simplified +reservoir +boundary

X

S_ +s_

Inundated +river +reaches +(streamline)

X

MS_ +ms_

Main +indundated +river +channel

X

X

X

X

X

X

N_ +n_

Noninundated +catchment

X

X

X

X

X

X

output_parameters

Calculated +Parameters

X

X

X

X

X

X

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..88f1539 --- /dev/null +++ b/index.html @@ -0,0 +1,229 @@ + + + + + + + + + +Welcome to GeoCARET’s documentation | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+
+_images/geocaret-logo.png + +
+

+
+
+

Welcome to GeoCARET’s documentation

+

GeoCARET : Pronounced geokærət as in bʌkət or geokæreɪ as in bʊˈkeɪ.

+

Version: 1.0.0

+

GeoCARET is a command line Python tool for delineating and analysing catchments and reservoirs. +It relies on Google Earth Engine (GEE) - Google’s cloud-based platform developed for planetary-scale environmental analysis. GeoCARET uses Google Earth Engine as a backend for performing geometry operations and data processing and as a database of global spatial data in the form of GIS layers. +GeoCARET performs its computations on global spatial datasets available in GEE and additionally relies on several private assets. +We have made these assets accessible for analysis by uploading them to a dedicated GEE asset folder.

+
+

Important

+

The users need to request permission from us to use the dedicated private assets before they can make successful runs with GeoCARET. +Please refer to the Installation Guidelines for further instructions. +To request access to those assets please send email to: Tomasz Janus - Email 1 or Tomasz Janus - Email 2 with your email address registered with the Google Earth Engine.

+
+ +
+

Indices and tables

+ +
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/installation/additional_steps.html b/installation/additional_steps.html new file mode 100644 index 0000000..a210a11 --- /dev/null +++ b/installation/additional_steps.html @@ -0,0 +1,250 @@ + + + + + + + + + +Additional Steps | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Additional Steps

+
+

1. Register to Use Google Earth Engine and create an associated Cloud Project

+

GeoCARET relies on Google Earth Engine - Google’s cloud-based platform developed for planetary-scale environmental analysis. GeoCARET uses Google Earth Engine as a backend for performing geomatry operations and data processing and as a database of global spatial data in the form of GIS layers.

+

You must be registered with Google Earth Engine to make use of GeoCARET. +You must also have a Google Cloud Project associated with your Earth Engine account, which is where the GeoCARET tool outputs will be stored.

+
+

Register to Use Google Earth Engine

+

A Google account is required to access Earth Engine. To facilitate the Earth Engine registration approval process, we suggest that you use a Google account created with an email associated with your organization. +For example, if you belong to an academic institution such as a University, you can create a Google account using your institution email address. This account can be created in addition to any personal Google account you may have. +https://support.google.com/accounts/answer/27441?hl=en

+

Once you have a suitable Google account, follow these steps to access Earth Engine:

+
    +
  • Go to the Earth Engine Code Editor https://code.earthengine.google.com

  • +
  • You will be taken to the ‘Choose an account’ page

  • +
  • Select the appropriate Google account to use and enter your password when prompted

  • +
  • Earth Engine may request access to your Google account - choose ‘allow’.

  • +
  • Follow the link to go to the registration page, fill out the application and submit.

  • +
  • Once you receive a confirmation email, you will be able to login to https://code.earthengine.google.com

  • +
+
+
+

Add a Cloud Project

+

You will also need to create a Google Cloud Project and add this to Earth Engine. +GeoCARET will store its outputs inside the Cloud Project.

+

Visit https://code.earthengine.google.com and click on the ‘Assets’ tab in the left-hand column. +Under the ‘CLOUD ASSETS’ section you should see either:

+
    +
  • The name of an existing cloud project, or

  • +
  • The message: “You haven’t selected any Cloud Projects yet. Click ‘Add a Project’ to access or upload assets.”

  • +
+

If you need to add a Cloud Project, you have 2 options - add an existing project, or create a new one.

+

To add an existing project:

+
    +
  1. Click the ‘ADD A PROJECT’ button and the ‘Select a Cloud Project’ dialog box will appear.

  2. +
  3. Click the ‘Project’ box and a list of available cloud projects will appear. This list might be empty.

  4. +
  5. If possible, choose the appropriate project and click the blue ‘SELECT’ button. The selected project will now appear under ‘CLOUD ASSETS’.

  6. +
+

However, if there were no cloud projects in the list to choose from, you’ll need to add a new project:

+
    +
  1. First, click the ‘user’ icon at the top-right of the page, and choose ‘Register a new Cloud Project’ from the menu.

  2. +
  3. On the next page click ‘Register a Noncommercial or Commercial Cloud project’ and follow the step-by-step instructions as appropriate. For example, you’ll probably want to choose ‘Unpaid usage’ and set ‘Academia & Research’ as the project type.  Click ‘Next’.

  4. +
  5. Choose an organization, ID & name for the project and click ‘Continue to summary’.

  6. +
  7. Click ‘Confirm’ to create the new project.

  8. +
+

Your Cloud Project will be created and you should be taken back to https://code.earthengine.google.com/, where your new project should appear under ‘CLOUD ASSETS’. If not, click the ‘refresh’ icon, or click ‘ADD A PROJECT’ and this time your project should appear in the list.

+
+
+

Add an assets folder to the Cloud Project

+

The Cloud Project must contain at least one top-level ‘assets’ folder, which is where GeoCARET will store its outputs (inside a sub-folder it will create for you).

+

If required, click on the ‘expand’ icon next to the name of the project in the CLOUD ASSETS tree, to check if it contains any folders.

+

If there are no folders under the project, you’ll need to add one. +If there already is a folder, but you’d like to use a different one, you’ll need to add it. +To add a folder, click the red ‘NEW’ button and choose ‘Folder’ from the menu. +Enter a name for the folder when prompted.

+
+

Attention

+

GeoCARET will use the first folder it finds alphabetically, so bear this in mind if adding more than one top-level folder to your Cloud Project.

+
+
+
+
+

2. Request access to the GeoCARET private assets

+

GeoCARET relies on several private assets not available in Google Earth Engine. +You must be given access to these assets before you can run GeoCARET.

+

To request access to those assets please send email to: +tomasz.k.janus@gmail.com +or +tjanus.heet@gmail.com +with the email address your registered with Google Earth Engine.

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/installation/building_image.html b/installation/building_image.html new file mode 100644 index 0000000..1752a08 --- /dev/null +++ b/installation/building_image.html @@ -0,0 +1,223 @@ + + + + + + + + + +Building the GeoCARET Docker Image | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Building the GeoCARET Docker Image

+

Docker can be used to quickly & easily create a run-time environment for running GeoCARET, without having to install the correct version of Python, gcloud CLI, or other required dependencies.

+

To use GeoCARET with Docker you will need to build and run an instance of a Docker image - see Docker Images.

+

Generally, you will not need to build your own image, as we provide a pre-built image that will be suitable for most purposes. See Pull the GeoCARET Docker image for accessing & using the pre-built GeoCARET docker image.

+

However, if you do want to build your own image, this guide will take you through the process.

+

As a prerequisite, you need to first install Docker Desktop - an application that provides an easy-to-use interface for working with Docker on a desktop operating system.

+
+

Note

+

This documentation assumes that the reader is comfortable working in the shell (linux/macOS) or PowerShell (Windows) and has +basic experience with git.

+
+
+

Installing Docker Desktop (a prerequisite)

+

Docker Desktop is free and can be installed on Windows, Mac & Linux computers, Please visit https://docs.docker.com/get-docker/ and follow the appropriate instructions for installing Docker Desktop on your computer.

+

Once installed, make sure Docker Desktop is running. To do so, open a shell prompt (Linux/macOS) or PowerShell (Windows) and type the following:

+
docker -v
+
+
+

This should return the version number of the installed version of docker. If you see an error message along the lines of ‘Cannot connect to the Docker daemon’ then restart Docker Desktop and try again.

+
+
+

Building the GeoCARET Docker image

+
+

Clone the GeoCARET GitHub repository

+

First clone the GeoCARET GutHub repository to your computer:

+
git clone https://github.com/UoMResearchIT/geocaret
+
+
+

Alternatively, if you don’t use git, download the package from the GitHub page and extract to the working folder.

+
+
+

Build the GeoCARET Docker Image

+

Building the GeoCARET image is simple. Make sure that

+
    +
  • Docker Desktop is running

  • +
  • You are in the root folder of the GeoCARET code base that you cloned in the previous step.

  • +
+

Then inside the root directory of GeoCARET, i.e. where setup.py is located, type:

+
docker build -t geocaret .
+
+
+

Building the image might take a short while. The resulting image will be stored in a dedicated Docker folder on your computer. If you open Docker Desktop and go to the ‘Images’ section, you should see the ‘geocaret’ image in the list.

+

You can now refer to Using the GeoCARET Docker Image for details on how to run GeoCARET using your newly built Docker image.

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/installation/index.html b/installation/index.html new file mode 100644 index 0000000..66ff4e0 --- /dev/null +++ b/installation/index.html @@ -0,0 +1,197 @@ + + + + + + + + + +Installation Guidelines | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Installation Guidelines

+
+

Installation as a Python Package - Option 1

+

GeoCARET is an application written in Python and has to be installed just like any Python package. +Since GeoCARET uses Google Earth Engine (GEE), it requires installation of additional software to facilitate operability with GEE. +All of the above steps are described in detail in the Installation as a Python Package.

+
+
+

Installation using Docker - Option 2

+

We also provide an alternative, easier installation option, that uses Docker containarization. +You can find more information in What is Docker? and subseqent chapters - Building the GeoCARET Docker Image and Using the GeoCARET Docker Image.

+
+

Note

+

Installing GeoCARET with Docker requires prior installation of the Docker Desktop software - see Building the GeoCARET Docker Image and Using the GeoCARET Docker Image for details.

+
+
+
+

Additional Steps

+

Regardless of the installation method, whether as a standalone Python package or via a Docker container, the users need to create an account on Google Cloud and set up a project folder before being able to use GeoCARET. +The users will also need permission to access private assets that are required for running the computations with GeoCARET. +These steps are outlined in detail in Additional Steps.

+ +
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/installation/install_package.html b/installation/install_package.html new file mode 100644 index 0000000..510a0e8 --- /dev/null +++ b/installation/install_package.html @@ -0,0 +1,370 @@ + + + + + + + + + +Installation as a Python Package | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Installation as a Python Package

+

GeoCARET is a command-line tool written in Python. +This documentation assumes that the reader is comfortable working in the shell (Linux/macOS) or PowerShell (Windows) and has basic experience with git. +To learn more about Shell, BASH and PowerShell please have a look at this Medium article. +Experience with Python is advantageous but not essential.

+

To install and run GeoCARET on the command line, you will need to

+
    +
  1. Install the correct version of Python, or make sure it is already installed.

  2. +
  3. Setup a virtual environment dedicated to GeoCARET (recommended).

  4. +
  5. Install GeoCARET and the dependencies, i.e. the packages and the software which GeoCARET relies on. This includes Google Cloud CLI application Gcloud.

  6. +
  7. Register to use the Google Earth Engine service and create an associated Google Cloud Project.

  8. +
  9. Request access to the GeoCARET private assets.

  10. +
  11. Run the GeoCARET script using the correct command line syntax.

  12. +
+

This document provides a guide to steps 13. Steps 4 and 5 are described in Additional Steps. +Step 6 is described in Running the GeoCARET Script.

+
+

1. Installing Python

+

GeoCARET requires Python 3.8 or newer.

+
+

Windows Machines

+

In order to install GeoCARET on Windows you need to have Python 3.8 installed on your machine. +You can install Python 3.8 by following this link: https://www.python.org/downloads/release/python-3810/ +Alternatively, you can use alternative Python distributions: Anaconda and Miniconda.

+
+
+

macOS / Linux

+

Python on Linux/MacOS can be installed in different ways. The most comprehensive list of Python releases is hosted at: https://www.python.org/downloads/. Alternatively, the users can install Python using system package managers such as apt for Debian-based Linux distributions or homebrew for MacOS. There are also tools that allow the users to manage Python installations and virtual environments (see What is a Virtual Environment) within a single tool, such as e.g. pyenv. Finally, virtual environments can be managed with different tools such as venv, virtualenv, the earlier mentioned pyenv, etc. +To keep this documentation short, we cannot provide instructions for all those options. +In later steps we will use virtualenv but please know that alternative methods are available. +Instead, we let the user choose the method they’re most comfortable with and consult relevant documentation(s) when needed.

+
+

Terminal

+

Installing GeoCARET, and Python packages in general, usually requires writing installation commands within a command line interpreter. On macOS and Linux, the users can use the built-in terminal. On Windows, the users can opt for the built-in CommandPrompt (CMD) or PowerShell, or install Git Bash on Windows (https://gitforwindows.org/). Alternatively, on all platforms, if Anaconda and Miniconda has been installed, the users can take advantage of command-line interpreters shipped with those Anaconda and Miniconda distributions.

+
+
+
+
+

2. Setting up a virtual environment

+
+

Note

+

It is not mandatory to install a virtual environment specifically for GeoCARET. Users can install GeoCARET in any existing virtual environment or even in the system Python installation. However, this approach is not recommended, as it can lead to package conflicts that might disrupt other Python-dependent software on the system. Therefore, it is advisable to use virtual environments tailored to specific applications. This practice isolates Python interpreters and package dependencies, preventing conflicts and ensuring stable operation.

+
+
+

Windows Machines

+
    +
  • Download the GeoCARET tool code from GitHub and unzip the code into a folder called GeoCARET (alternatively you can clone the repository if you use git).

  • +
  • Open Anaconda Prompt (search for “Anaconda Prompt” in Windows start menu) OR Open Anaconda Powershell Prompt (search for “Anaconda Prompt” in Windows start menu) our other Shell tool on your operating system.

  • +
  • Using the command prompt, navigate to the GeoCARET tool folder

  • +
  • Install virtualenv - one of the available tools for creating virtual environments:

  • +
+
> pip install virtualenv
+
+
+
    +
  • Create a new virtual environment:

  • +
  • First, check the location of you Python 3.8 installation with py --list-paths in CMD or PowerShell or with where python, if you’re using Git BASH. Put this installation path (wrapped in double quotes) after the --python flag, see below

  • +
+
> virtualenv --python=[installation_path] geocaretenv
+
+
+

e.g.

+
> virtualenv --python="C:\Users\username\AppData\Local\Programs\Python\Python38\python.exe" geocaretenv
+
+
+
+
+

macOS / Linux

+
    +
  • Download the GeoCARET tool code from GitHub and unzip the code into a folder called GeoCARET

  • +
  • Open the Terminal

  • +
  • Using the command prompt, navigate to the GeoCARET folder

  • +
  • Install virtualenv - one of the available tools for creating virtual environments:

  • +
+
> pip install virtualenv
+
+
+
    +
  • Create a new virtual environment:

  • +
  • First, check the location of Python using which -a python and then find all available Python version with ls, e.g. ls /usr/bin/python*.

  • +
+
+

Attention

+

Remember to use the asterisk (*)

+
+
    +
  • Look for the path that matches the Python installation that you intend to be using within the virtual environment, in case you have several Python installations on your system, e.g. /usr/bin/python3.8.

  • +
  • Create the virtual environment

  • +
+
> virtualenv --python="/usr/bin/python3.8" geocaretenv
+
+
+
+
+
+

3. Installing GeoCARET and its dependencies

+
+

Windows Machines

+
+

CMD/PowerShell

+
    +
  • Navigate to the GeoCARET installation folder

  • +
  • Activate the virtual environment:

  • +
+
> .\geocaretenv\Scripts\activate
+
+
+
    +
  • Install required libraries

  • +
+
pip install -r requirements.txt
+
+
+
    +
  • Deactivate the virtual environment

  • +
+
deactivate
+
+
+
+
+

Git BASH

+
    +
  • Navigate to the GeoCARET installation folder

  • +
  • Activate the virtual environment:

  • +
+
> source geocaretenv/Scripts/activate
+
+
+
    +
  • Install required libraries

  • +
+
pip install -r requirements.txt
+
+
+
    +
  • Deactivate the virtual environment

  • +
+
deactivate
+
+
+
+
+
+

macOS / LINUX

+
    +
  • Navigate to the GeoCARET installation folder

  • +
  • Activate the virtual environment:

  • +
+
> source geocaretenv/bin/activate
+
+
+
    +
  • Install required libraries

  • +
+
pip install -r requirements.txt
+
+
+
    +
  • Deactivate the virtual environment

  • +
+
deactivate
+
+
+
+
+

Gcloud command line tool (CLI) installation

+

This tool requires the gcloud command line tool. A working Gcloud installation is required on all operating systems. Download and install gcloud for your operating system here: - https://cloud.google.com/sdk/docs/install

+
+
+
+

Final Steps (4 & 5)

+

To complete the installation, you need to set up a Google Cloud project and request access to some Private Assets. The instructions on how to do this can be found in Additional Steps.

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/installation/using_docker.html b/installation/using_docker.html new file mode 100644 index 0000000..dea0fbe --- /dev/null +++ b/installation/using_docker.html @@ -0,0 +1,204 @@ + + + + + + + + + +About Docker | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

About Docker

+
+

What is Docker?

+

Docker is a tool for packaging applications and their dependencies so they can run consistently on any computer. +Think of it like a shipping container for software. +Just as a shipping container can hold different items and be transported easily from place to place, Docker allows bundling application with everything they need to run and move it effortlessly between different computers or environments. +This ensures that the application behaves the same way no matter where it’s used, making it easier to develop, test, and deploy software.

+

In the context of our software, we create a Docker container with GeoCARET together with everything that it needs to run, i.e. the Python Interpreter, additional Python libraries aka. dependencies that the source-code relies on, and additional tools required by the Google Earth Engine (GEE). +Once the Docker container has been built, it can run on a computer without the user having to worry about unmet dependencies and library and Python version conflicts.

+Dockerising GeoCARET + +
+
+

Docker Images and Docker Containers

+

You do not need to know the inner workings of Docker in order to use it to run GeoCARET. +Howver, it is worth understanding the two most important Docker concepts i.e. Images and Containers.

+
+

Docker Images

+

A Docker image is a template that contains all the necessary files and instructions required to run a containerized application: a base operating system, the application source code & any libraries, dependencies, and other resources needed to execute the application. It is like a snapshot of a software environment that you can use to create containers (see below). Think of it as a blueprint or a recipe for what the container should look like and how it should behave.

+
+
+

Docker Containers

+

A Docker container is a running instance of a Docker Image. It is an isolated environment that contains all the necessary resources for the application to run. Think of it as a very lightweight virtual machine running on your host computer, with the application running inside it. When you run a Docker Image, it creates a container. Containers are the actual running environments where the application executes. They are isolated from the operating system on your personal computer, which ensures consistency and security.

+

In summary, a Docker Image is the definition of what your application and its environment should be, while a Docker Container is a running instance of that image.

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/installation/using_image.html b/installation/using_image.html new file mode 100644 index 0000000..898030f --- /dev/null +++ b/installation/using_image.html @@ -0,0 +1,269 @@ + + + + + + + + + +Using the GeoCARET Docker Image | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Using the GeoCARET Docker Image

+

The GeoCARET Docker image is the simplest way to run GeoCARET. This guide will take you through the required steps:

+
    +
  1. Install Docker Desktop.

  2. +
  3. Pull the GeoCARET Docker image.

  4. +
  5. Use Docker compose to run GeoCARET.

    +
    +

    Note

    +

    This documentation assumes that the reader: (1) Understands how to use Google Earth Engine (GEE) and has a properly configured GEE cloud project. See Additional Steps. (2) Understands how to use the GeoCARET tool. See Preparing Inputs & Running the GeoCARET Script for full details. (3) Has a basic familiarity with the shell (macOS or linux) or PowerShell (Windows).

    +
    +
  6. +
+
+

Install Docker Desktop

+

If you already have Docker installed on your computer then skip to the next section, Pull the GeoCARET Docker image.

+
+

Installing Docker Desktop

+

Docker Desktop is free and can be installed on Windows, Mac & Linux computers, Please visit https://docs.docker.com/get-docker/ and follow the appropriate instructions for installing Docker Desktop on your computer.

+

Once installed, make sure Docker Desktop is running, and open a shell prompt (Linux/macOS) or PowerShell (Windows) and typing the following:

+
docker -v
+
+
+

This should return the version number of the installed version of docker. If you see an error message along the lines of ‘Cannot connect to the Docker daemon’ then restart Docker Desktop and try again.

+
+
+
+

Pull the GeoCARET Docker image

+
+

Attention

+

The GeoCARET image is not hosted as a package yet. Update a.s.a.p. You will need to build the Docker image yourself for now.

+
+

Open a shell prompt (macOS/Linux) or PowerShell (Windows) and type:

+
docker pull ghcr.io/Reservoir-Research/geocaret
+
+
+
+
+

Use Docker compose to run GeoCARET

+
+

Prepare your workspace

+

Docker compose is a tool for simplifying the execution of docker containers. We’ll use it to run GeoCARET.

+

First you’ll need to create a new folder for your GeoCARET workspace, and then inside this you must then create three sub-folders:

+
    +
  • data, which will hold your input data files.

  • +
  • outputs, which will hold the analyses output files

  • +
  • auth, which will hold your GEE authentication credentials

  • +
+

For example open a shell prompt if on Linux or macOS, or PowerShell if on Windows, and type:

+
mkdir my_geocaret_work_folder
+cd my_geocaret_work_folder
+mkdir data
+mkdir outputs
+mkdir auth
+
+
+

You will also need to download the file compose.yml and save it inside your GeoCARET workspace folder (e.g. my_geocaret_work_folder in the above example).

+
+

Important

+

Linux users & directory permissions

+

When run on a linux host computer, the GeoCARET docker image will only work if the user ID & group ID (UID:GID) of your user account is 1000:1000. Otherwise, GeoCARET will not be able to write to the auth/ or outputs/ folders. +If you use Linux on a personal laptop, then it is very likely your user account UID:GID will be 1000:1000. However, this may not be the case if you log in to a Linux server with multiple users. To check your user account, type:

+
id -u  # print user ID (UID)
+id -g  # print group ID (GID)
+
+
+

If your user account has a different UID and/or GID then you should either change the UID or GID, respectively so that they’re 1000:1000 or install GeoCARET as a Python package - see Installation as a Python Package.

+
+
+
+

Test that GeoCARET works

+

To test everything is working correctly, you should first run the following from inside the GeoCARET workspace folder you just created:

+
cd my_geocaret_work_folder
+docker compose run --rm geocaret
+
+
+

You should see the message “You must specify a command to run. See You must specify a command to run. See https://Reservoir-Research.github.io/geocaret/running_geocaret/running_docker.html for details.” and GeoCARET will exit.

+
+
+

Running GeoCARET with docker compose

+

To run the GeoCARET Docker container, please read the instructions in Running the GeoCARET Docker Container.

+
+

Note

+

Please make sure you complete the additional installation steps first: -see Additional Steps.

+
+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/introduction.html b/introduction.html new file mode 100644 index 0000000..94b7bc1 --- /dev/null +++ b/introduction.html @@ -0,0 +1,226 @@ + + + + + + + + + +Introduction | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Introduction

+

GeoCARET provides a Python interface for Google Earth Engine (GEE): A planetary-scale platform for Earth science data & analysis.

+
+

Functionality

+

GeoCARET was created to provide the following functionalities:

+
    +
  • To allow scheduling large jobs on Google Earth Engine from within the Python programming language. By large jobs we mean computations larger than what can be put into single scripts within the Google Earth Engine’s scripting window and involving several consecutive calculations where the outputs from the previous calculation steps are required as inputs in the next calculation steps.

  • +
  • To Automate the process of uploading inputs and downloading outputs between local machines and Google Earth Engine’s servers. This step eliminates manual steps associated with data handling.

  • +
  • To enable executing computations on Google Earth Engine from Command Line.

  • +
+
+
+

Architecture

+

A high-level architecture of GeoCARET and its functional interconnections with Google Earth Engine and Google Drive, is illustrated in Figure 1. +GeoCARET uses Google Earth Engine (GEE) for geospatial computation on publicly available assets accessible openly from within the GEE platform as well as the private assets stored in the users’ project folders. +The computations and data storage are handled on the Google’s dedicated servers. +GeoCARET communicates with GEE via the Earth Engine Python API. +Data exchange between the user’s local computer and GEE is facilitated via Google Drive linked to the user’s Google account. +The communication is facilitated via the designated Python API and with the help of the Google Drive Downloader gdown.

+
+

+
+GeoCARET overview + +

Figure 1 Functional diagram illustrating connections between GeoCARET, Google Earth Engine and Google Drive for uploading inputs, scheduling calculations and saving outputs to Google Drive and local folders.

+

The usage of GeoCARET follows the following steps: (1) Uploading input data from the local folder to GEE, (2) Running Calculations on GEE, (3) Fetching Outputs from Google Drive to the local folder.

+
+
+

Origins

+

GeoCARET originated from a research project aimed at automating the estimation of greenhouse gas (GHG) emissions from reservoirs. Automation was essential to facilitate the analysis of emissions from multiple reservoirs, which preclude all the time-consuming manual operations that had been previously required for estimating reservoir emissions. GeoCARET provides inputs to the state-of-the-art reservoir emission model G-Res, which is utilized in our open-source software RE-Emission.

+

G-Res requires a significant amount of input data, including environmental and climatic properties of reservoir catchments, as well as the morphology and characteristics of the inundated areas associated with reservoir creation. Initially, obtaining this data was time-consuming because it required manual delineation of the catchment and reservoir contours for each reservoir being analyzed, followed by calculations of the various properties of the catchment and reservoir, respectively.

+

GeoCARET was developed to automate the process of calculating input data for G-Res (and Re-Emission) by streamlining the delineation of reservoirs and catchments and the calculation of their parameters. This automation leverages global geospatial data layers related to hydrological, geomorphological, climatic, and land characteristics.

+
+

Note

+

GeoCARET is currently used solely for its intended initial purpose, albeit it is undergoing active (re)development to enable more applications - see Vision.

+
+
+
+

Vision

+

GeoCARET is under active development. +We are working towards changing GeoCARET from being a specialized tool serving a single purpose to being a more generic framework for running and formulating various calculation jobs related to reservoir and catchment analysis.

+

Our vision for the software is to make it into a collection of classes for building and orchestrating task pipelines which can achieve various tasks defined by the user. +In this manner it can be used to facilitate different computations related to reservoirs and catchments that could be of use to the water community.

+

Some of the examples of such new applications can be:

+
    +
  • Calculation of bathymetric tables for new (proposed) reservoirs.

  • +
  • Detection of reservoirs from land cover maps and/or other remote sensing layers.

  • +
  • Calculation of other reservoir and catchment metrics, such as e.g. displaced population by reservoir creation.

  • +
+

What follows, this documentation is expected to undergo many changes as the software architecture evolves to incorporate new features.

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/license.html b/license.html new file mode 100644 index 0000000..495ae58 --- /dev/null +++ b/license.html @@ -0,0 +1,188 @@ + + + + + + + + + +License | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

License

+
+

Software

+

GeoCARET is licensed under the GNU General Public License, Version 3.0 or later.

+

Copyright (C) 2024 Tomasz Janus & Jaise Kuriakose, University of Manchester

+

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.

+

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

+

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.

+
+
+

Documentation

+

This documentation is licensed under the GNU Free Documentation License, Version 1.3 or later.

+

Copyright (C) 2024 Tomasz Janus & Jaise Kuriakose, University of Manchester

+

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..f2259bf54cdc9e603bdd610d80c7a1883d0888c2 GIT binary patch literal 1126 zcmV-s1eyCIAX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkMWp6`4 zQbkk>BOq2~a&u{KZaN?_E-)@I3L_v?Xk{RBWo=<;Ze(S0Aa78b#rNMXCQiPX<{x4c-p;I&2HQ_5We#%2sl^Pwc7$kE`e(Y+eKS= zk!_lzKvT4qFqafWDzSU&YxG6(0(p}>Nryj@NUfyZG(V?Z4rjg@e)A{F9+ZA3d0Fkb zvIZMlJ}))HbsrYOMI0J5tWs0gx&3P(_R{_`ZE|<-Y9CtTTV)TFO;xCD{=u= z4nWd7E*(U*s|vms#=xyPPpk^v+PaPLoIL~V{tDmpfcRqG)8#kvbor&_ZL4e#rUA>nyZ58lJ~(8 zbk_=561(H1^GN{ufj30#X~oCS7Rp#ErT2R7ZH1}|ui9b$;-nZ5hq!M%B3?T+#I(8> zRr=x}32(jj|J%lUz_+#gF$gk2TWPb5{Lg&c1gInzQ|Lc@RrDXfD*8`f4xK;Ny0NA( z+*(MqSwaqIMM*6!qFq3a2hxMQ^a8x?&Qz87HpGH_@;N>zJKN~8WiF@y8uZ|bpo%M@ zO8z(sE=ogLt=(S)0h2w{za&C|H^Qi7i*FhbfS=W`EBuGE1~jn7*I?a-Rxs!&%W1)% zmXd6AY-mIG9L|BRAxC4^l`sW0!1aR1K_?EF^%h_GGn#n+JWfLJCy?X0_jR&_-01}P zO~Y&2K(z$;F=RU1=0Oi8ApY&cdnY0*E-DyMOu{6y9RIBqhXYU~?ga}YHirU55oYg# zzeFjx`+X3g+2)zYOOyg$Xc~M20(7()Pr}VQH#Vwc-Dep01K{GE1X?Ilxy%Zw*F0q(Uq#`UmWa@5h*f!7ZbBn9KjWN}1M*X{m*VB<{e zr}~L>7eO7SXAAumHWhqgS3;R%Tksja4T>o3VN-K<>Z%SnK|q{<1nXq9;4MgoL0Gp^ zIzIbv*O=ZRDbwvcPRm&Yn*Q*_8@Qd!nZHH}eMfkW^_kJzv`VF}bBK6bbhr8Bc@=K^ zxX`qES{4g{C%|=r!!|minmd@{627)Ag$dEjd#ycvQ^Vp!lZ7a@tP!E?J1^gH2KmME{q~PBd^Z)<= literal 0 HcmV?d00001 diff --git a/running_geocaret/index.html b/running_geocaret/index.html new file mode 100644 index 0000000..5813259 --- /dev/null +++ b/running_geocaret/index.html @@ -0,0 +1,175 @@ + + + + + + + + + +Running GeoCARET | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Running GeoCARET

+

GeoCARET can be run as a Python package (standard) or as a Docker image (optional - see About Docker for a short description of what Docker is) depending on the chosen installation option - see Installation Guidelines.

+

Running GeoCARET requires a valid input file. To find out about the input file specification, please refer to Preparing Inputs.

+
+

Attention

+

Currently, GeoCARET serves a single purpose: sourcing input data for GHG emission estimation using our software, RE-Emission. Consequently, GeoCARET has a single run command and relies on an input data file formatted specifically for this single application. We are in the process of refactoring and reformulating GeoCARET into a more versatile and generic tool for reservoir and catchment analysis. This expansion means GeoCARET will support more analysis options, offer additional run commands, and allow users to create their own input files and specifications.

+
+

For detailed instructions how to run GeoCARET as a Python package and/or as a Docker image, navigate to Running the GeoCARET Script and Running the GeoCARET Docker Container, respectively.

+ +
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/running_geocaret/running_docker.html b/running_geocaret/running_docker.html new file mode 100644 index 0000000..645f0f2 --- /dev/null +++ b/running_geocaret/running_docker.html @@ -0,0 +1,241 @@ + + + + + + + + + +Running the GeoCARET Docker Container | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Running the GeoCARET Docker Container

+
+

Run a GeoCARET analysis

+

First, copy your input data file to the data sub-folder and then start GeoCARET by typing the following:

+
$ docker compose run --rm geocaret python heet_cli.py [input-file.csv] [projectname] [jobname] [output-option]
+
+
+

where:

+
    +
  • [input-file.csv] is the path to the user input file.

  • +
  • [projectname] is the name of your Google Earth Engine project

  • +
  • [jobname] is a short 10 character jobname to be used when creating output folders. May only contain the following characters A-Z, a-z, 0-9, -.

  • +
  • [output-option] is the output data option defining the amount of output data: standard, extended, diagnostic, diagnostic-catch, diagnostic-res, diagnostic-riv. - see Output Data for details.

  • +
+

Alternatively, you can run the analysis with the input data in one of the files in the tests/data folder, and assuming your project name is called test_project, job name is called job01 and data is output in the standard configuration.

+
$ docker compose run --rm geocaret python heet_cli.py tests/data/dams.csv test_project job01 standard
+
+
+

See Preparing Inputs and Running the GeoCARET Script to read about input data file specification and about the usage of GeoCARET’s command-line interface (CLI) arguments, respectively.

+
+
+

Google Cloud authentication

+
+

Hint

+

Needed when running GeoCARET for the first time only.

+
+

If this is the first time you’ve run the GeoCARET tool, you will be asked to authenticate with Google’s cloud services:

+
    +
  1. You’ll be shown a URL, which you should copy and paste into a web browser. In Windows PowerShell you can hold down the Ctrl key and click the URL to open it automatically.

  2. +
  3. Follow the instructions to authenticate with Google

  4. +
  5. After authenticating, you’ll be given a token, which you should paste back into the GeoCARET tool command line.

  6. +
  7. Press enter to start the analysis.

  8. +
+
+

Note

+

Your authentication details will be cached in the auth sub-folder inside the GeoCARET workspace folder. When you +subsequently run GeoCARET from this folder, you will not need to reauthenticate.

+
+

Once authenticated the GeoCARET analysis will run. This could take several minutes to complete.

+
+

Use existing Google cloud credentials

+

If you have previously authenticated with the Google cloud / GEE APIs, you may already have the necessary credentials stored on your computer (e.g. in /home/username/.config, which is the default location on Linux/macOS).

+

You can use your existing credentials to avoid the need to authenticate when running GeoCARET, by setting the GEOCARET_AUTH_PATH environment variable:

+
GEOCARET_AUTH_PATH=/home/[username]/.config docker compose run --rm geocaret python heet_cli.py tests/data/dams.csv test_project job01 standard
+
+
+

where [username] refers to your user name.

+
+
+
+

Analysis Outputs

+

When the GeoCARET analysis is complete, all output files generated are saved to a sub-folder of your Google Earth Engine project Assets folder, called XHEET:

+
XHEET/<<JOBNAME>>-<<TIMESTAMP>> e.g. XHEET/JOB01-20220130-1450
+
+
+

The timestamp represents the date and time of when the calculations have been started, e.g. the timestamp in the code block above indicated that JOB01 was started on the 30th of January 2020 at 14:50.

+

The calculated outputs, i.e. output_parameters are downloaded to a local directory in a CSV text format and stored under outputs/output_parameters.csv.

+

Please see Output Data for full details of the GeoCARET analysis outputs.

+
+

Note

+

Output Data refers to the outputs created in the process of attaining input data for estimating reservoir greenhouse emissions. This is the primary application of GeoCARET for which GeoCARET been designed at its inception. We are now expending GeoCARET to function more as a generic tool for analysing reservoirs and catchments using geospatial data. Each application will have different input and output data specification. We will document these new features and all the code changes in due time.

+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/running_geocaret/running_python_package.html b/running_geocaret/running_python_package.html new file mode 100644 index 0000000..37bbace --- /dev/null +++ b/running_geocaret/running_python_package.html @@ -0,0 +1,327 @@ + + + + + + + + + +Running the GeoCARET Script | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+

Running the GeoCARET Script

+
+

Note

+

The following instructions describe running GeoCARET to calculate input data for GHG Emission Estimation Tool RE-Emission. +See Running GeoCARET.

+
+
+

First Steps

+
+

Syntax

+

The syntax to run GeoCARET from command line is:

+
> python heet_cli.py [input-file.csv] [projectname] [jobname] [output-option]
+
+
+

where:

+
    +
  • [input-file.csv] is the path to the user input file.

  • +
  • [projectname] is the name of your Google Earth Engine project

  • +
  • [jobname] is a short 10 character jobname to be used when creating output folders. May only contain the following characters A-Z, a-z, 0-9, -.

  • +
  • [output-option] is the output data option defining the amount of output data: standard, extended, diagnostic, diagnostic-catch, diagnostic-res, diagnostic-riv. - see Output Data for details.

  • +
+

GeoCARET repository is shipped with an empty data/ folder. Its purpose is to store user-defined input data. An example dams.csv file is included in tests/data; In below examples, we will refer to this file’s location. +Assuming your Earth Engine project is called my-ee-project, your jobname is called job01 and you want to generate standard output data, you can run GeoCARET as follows:

+
> python heet_cli.py tests/data/dams.csv my-ee-project job01 standard
+
+
+
+
+

Google Cloud authentication

+
+

Hint

+

Needed when running GeoCARET for the first time only.

+
+

If this is the first time you’ve run the GeoCARET tool, you will be asked to authenticate with Google’s cloud services:

+
    +
  1. You’ll be shown a URL, which you should copy and paste into a web browser. In Windows PowerShell you can hold down the Ctrl key and click the URL to open it automatically.

  2. +
  3. Follow the instructions to authenticate with Google

  4. +
  5. After authenticating, you’ll be given a token, which you should paste back into the GeoCARET tool command line.

  6. +
  7. Press enter to start the analysis.

  8. +
+

Once authenticated the GeoCARET analysis will run. This could take several minutes to complete.

+
+
+

Results and Visualization

+

Once GeoCARET completes its analysis, it will generate a number of output data files, both locally and inside your Cloud Project. See the Output Data for full details.

+

You will also be shown a link to a Google Earth Engine script for visualizing the results inside Earth Engine. If you paste this link into a web browser, you will be taken to the Earth Engine Code Editor, with the script pre-loaded.

+

The visualization script is generic and the ‘user specified parameters’ section at the top will need to be modified to visualize the results of a specific GeoCARET analysis. There are instructions for how to do this in the comments at the top of the script.

+
+

Note

+

The script will need modification of paths so that the paths point to the location of files generated by your job run. We are working on dynamic generation of the visualisation script for each run which will contain the correct paths each time a script is run. We will update the documentation soon.

+
+

In the meantime, you will need to change the asset_folder variable to point to the location of the outputs of GeoCARET analysis you wish to visualize:

+
var asset_folder = "projects/your-project-name/assets/top-level-folder/XHEET/JOBNAME_YYYYMMDD-HHMM";
+
+
+

Where:

+
    +
  • your-project-name should be replaced with the name of your Earth Engine Cloud Project

  • +
  • top-level-folder should be replaced with the name of the top-level assets folder inside that project

  • +
  • JOBNAME_YYYYMMDD-HHMM should be replaced with the appropriate GeoCARET outputs folder

  • +
+

Once you’ve modified the parameters as appropriate, you can run the script.

+
+
+

Logs

+

Any errors and issues will be logged in the logfile heet.log. A new log file is created with each run.

+
+
+
+

Usage Examples

+

Usage example for each operating system and command shell / prompt is listed below and includes virtual environment initialisation and deactivation steps. However, there are many tools available for managing virtual environments and they all have different syntax. We follow the syntax provided by the tool called virtualenv. More information about command-line shell options available for each operating system, setting up virtual environments and the tools available for this task, can be found in Installation as a Python Package. +All examples below assume that the command prompt points to the root (main) folder in the GeoCARET installation.

+
+

Windows cmd/Windows PowerShell (anaconda prompt)

+
    +
  • Activate the virtual environment:

  • +
+
> .\geocaretenv\Scripts\activate
+
+
+
    +
  • Run the GeoCARET tool code

  • +
+
> python heet_cli.py tests/data/dams.csv job01 standard
+
+
+
    +
  • When done, deactivate environment

  • +
+
deactivate
+
+
+
+
+

Windows (git bash)

+
    +
  • Activate the virtual environment:

  • +
+
> source geocaretenv/Scripts/activate
+
+
+
    +
  • Ensure UTF-8 characters display in terminal:

  • +
+
> export PYTHONIOENCODING=utf-8
+
+
+
    +
  • Run code

  • +
+
> python heet_cli.py tests/data/dams.csv job01 standard
+
+
+
    +
  • When done, deactivate environment.

  • +
+
deactivate
+
+
+
+
+

macOS / Linux

+
    +
  • Activate the virtual environment:

  • +
+
> source geocaretenv/bin/activate
+
+
+
    +
  • Run code

  • +
+
> python heet_cli.py tests/data/dams.csv job01 standard
+
+
+
    +
  • Deactivate environment

  • +
+
deactivate
+
+
+
+
+
+
+
+
+
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/search.html b/search.html new file mode 100644 index 0000000..be026b6 --- /dev/null +++ b/search.html @@ -0,0 +1,208 @@ + + + + + + + + + Search | GeoCARET 1.0.0 documentation + + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+ +
+
+
+ +
+
+
+

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 7.3.7

+
+
+
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 0000000..b9b291d --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"1. Exporting to GDrive automatically": [[11, "exporting-to-gdrive-automatically"]], "1. Google Earth Engine Cloud Project Assets folder": [[10, "google-earth-engine-cloud-project-assets-folder"]], "1. Installing Python": [[16, "installing-python"]], "1. Mean Annual Runoff": [[4, "mean-annual-runoff"]], "1. Register to Use Google Earth Engine and create an associated Cloud Project": [[13, "register-to-use-google-earth-engine-and-create-an-associated-cloud-project"]], "2. Exporting to GDrive later": [[11, "exporting-to-gdrive-later"]], "2. Google Drive (Optional)": [[10, "google-drive-optional"]], "2. Maximum Depth": [[4, "maximum-depth"]], "2. Request access to the GeoCARET private assets": [[13, "request-access-to-the-geocaret-private-assets"]], "2. Setting up a virtual environment": [[16, "setting-up-a-virtual-environment"]], "3. Installing GeoCARET and its dependencies": [[16, "installing-geocaret-and-its-dependencies"]], "3. Local Results Folder": [[10, "local-results-folder"]], "3. Mean Global Horizontal Radiance": [[4, "mean-global-horizontal-radiance"]], "4. Soil Moisture": [[4, "soil-moisture"]], "5. Precipitation": [[4, "precipitation"]], "6. Evapotranspiration": [[4, "evapotranspiration"]], "About Docker": [[17, "about-docker"]], "Access to Private Assets": [[5, "access-to-private-assets"]], "Acknowledgments": [[0, "acknowledgments"]], "Add a Cloud Project": [[13, "add-a-cloud-project"]], "Add an assets folder to the Cloud Project": [[13, "add-an-assets-folder-to-the-cloud-project"]], "Additional Steps": [[13, "additional-steps"], [15, "additional-steps"]], "Algorithms": [[1, "algorithms"]], "Alternative Definition 1": [[4, "alternative-definition-1"], [4, "id1"], [4, "id4"], [4, "id6"], [4, "alternative-definition-1-1"], [4, "alternative-definition-1-2"]], "Alternative Definition 2": [[4, "alternative-definition-2"], [4, "alternative-definition-2-1"]], "Alternative Parameters and Definitions": [[4, "alternative-parameters-and-definitions"]], "Analysis Outputs": [[22, "analysis-outputs"]], "Architecture": [[19, "architecture"]], "Asset Sources": [[5, "asset-sources"]], "Asset Table": [[5, "asset-table"]], "Build the GeoCARET Docker Image": [[14, "build-the-geocaret-docker-image"]], "Building the GeoCARET Docker Image": [[14, "building-the-geocaret-docker-image"]], "Building the GeoCARET Docker image": [[14, "id1"]], "CMD/PowerShell": [[16, "cmd-powershell"]], "Clone the GeoCARET GitHub repository": [[14, "clone-the-geocaret-github-repository"]], "Configuration Options": [[3, "configuration-options"]], "Contents:": [[6, null], [12, null]], "Default Definition": [[4, "default-definition"], [4, "default-definition-2"], [4, "default-definition-3"], [4, "default-definition-4"], [4, "default-definition-5"]], "Default Definition 1": [[4, "default-definition-1"]], "Docker Containers": [[17, "docker-containers"]], "Docker Images": [[17, "docker-images"]], "Docker Images and Docker Containers": [[17, "docker-images-and-docker-containers"]], "Documentation": [[20, "documentation"]], "Error Codes": [[10, "error-codes"]], "Export Options": [[3, "export-options"]], "Export Settings and Outputs": [[11, "export-settings-and-outputs"]], "Exported data": [[10, "exported-data"]], "Exporting to Google Drive": [[11, "exporting-to-google-drive"]], "Final Steps (4 & 5)": [[16, "final-steps-4-5"]], "First Steps": [[23, "first-steps"]], "Functionality": [[19, "functionality"]], "Future Dams vs Existing Dams": [[7, "future-dams-vs-existing-dams"]], "GHG Model Input Calculations": [[6, "ghg-model-input-calculations"]], "GIS Assets": [[5, "gis-assets"]], "GIS Assets used for calculation of GHG emission model inputs": [[5, "id124"]], "GIS Assets with Metadata": [[5, "gis-assets-with-metadata"]], "Gcloud command line tool (CLI) installation": [[16, "gcloud-command-line-tool-cli-installation"]], "GeoCARET Python API documentation": [[2, "geocaret-python-api-documentation"]], "Git BASH": [[16, "git-bash"]], "Google Cloud authentication": [[22, "google-cloud-authentication"], [23, "google-cloud-authentication"]], "Guide to Codes": [[10, "guide-to-codes"]], "Guide to Output Files": [[10, "guide-to-output-files"]], "Handling existing dams": [[10, "handling-existing-dams"]], "Indices and tables": [[12, "indices-and-tables"]], "Input file specification": [[7, "input-file-specification"]], "Install Docker Desktop": [[18, "install-docker-desktop"]], "Installation Guidelines": [[15, "installation-guidelines"]], "Installation as a Python Package": [[16, "installation-as-a-python-package"]], "Installation as a Python Package - Option 1": [[15, "installation-as-a-python-package-option-1"]], "Installation using Docker - Option 2": [[15, "installation-using-docker-option-2"]], "Installing Docker Desktop": [[18, "installing-docker-desktop"]], "Installing Docker Desktop (a prerequisite)": [[14, "installing-docker-desktop-a-prerequisite"]], "Introduction": [[19, "introduction"]], "Jensen Search Radius": [[3, "jensen-search-radius"]], "Key Points": [[10, "key-points"]], "K\u00f6ppen-Geiger climate zone classification": [[8, "koppen-geiger-climate-zone-classification"]], "License": [[20, "license"]], "Limitations": [[9, "limitations"]], "Literature": [[5, "literature"]], "Locations of Private Assets": [[5, "locations-of-private-assets"]], "Logs": [[23, "logs"]], "Missing Data Codes": [[10, "missing-data-codes"]], "Modelling existing dams": [[7, "modelling-existing-dams"]], "Modelling future dams": [[7, "modelling-future-dams"]], "Origins": [[19, "origins"]], "Output Data": [[10, "output-data"]], "Output Data Specification": [[10, "output-data-specification"]], "Output File Inventory": [[10, "output-file-inventory"]], "Output Locations": [[10, "output-locations"]], "Preparation/Pre-processing": [[5, "preparation-pre-processing"]], "Prepare your workspace": [[18, "prepare-your-workspace"]], "Preparing Inputs": [[7, "preparing-inputs"]], "Private Assets": [[5, "private-assets"]], "Provenance Codes": [[10, "provenance-codes"]], "Pull the GeoCARET Docker image": [[18, "pull-the-geocaret-docker-image"]], "Recommendations": [[7, "recommendations"]], "References": [[8, "references"]], "Register to Use Google Earth Engine": [[13, "register-to-use-google-earth-engine"]], "Relationship between hydrological parameters": [[9, "relationship-between-hydrological-parameters"]], "Results and Visualization": [[23, "results-and-visualization"]], "Run Folder": [[10, "run-folder"]], "Run a GeoCARET analysis": [[22, "run-a-geocaret-analysis"]], "Running GeoCARET": [[21, "running-geocaret"]], "Running GeoCARET with docker compose": [[18, "running-geocaret-with-docker-compose"]], "Running the GeoCARET Docker Container": [[22, "running-the-geocaret-docker-container"]], "Running the GeoCARET Script": [[23, "running-the-geocaret-script"]], "Sections": [[6, "sections"]], "Software": [[20, "software"]], "Specification of output variables saved in the tabular output form.": [[10, "id1"]], "Supported Geographical Region(s)": [[7, "supported-geographical-region-s"]], "Syntax": [[23, "syntax"]], "Terminal": [[16, "terminal"]], "Test that GeoCARET works": [[18, "test-that-geocaret-works"]], "Upstream Basin Finding Method": [[3, "upstream-basin-finding-method"]], "Usage Examples": [[23, "usage-examples"]], "Use Docker compose to run GeoCARET": [[18, "use-docker-compose-to-run-geocaret"]], "Use existing Google cloud credentials": [[22, "use-existing-google-cloud-credentials"]], "Use of Digital Elevation Models (DEMs)": [[3, "use-of-digital-elevation-models-dems"]], "Use of dam location for reservoir delineation": [[3, "use-of-dam-location-for-reservoir-delineation"]], "User inputs file validation": [[7, "user-inputs-file-validation"]], "Using the GeoCARET Docker Image": [[18, "using-the-geocaret-docker-image"]], "Vision": [[19, "vision"]], "Welcome to GeoCARET\u2019s documentation": [[12, "welcome-to-geocaret-s-documentation"]], "What is Docker?": [[17, "what-is-docker"]], "Windows (git bash)": [[23, "windows-git-bash"]], "Windows Machines": [[16, "windows-machines"], [16, "id2"], [16, "id4"]], "Windows cmd/Windows PowerShell (anaconda prompt)": [[23, "windows-cmd-windows-powershell-anaconda-prompt"]], "macOS / LINUX": [[16, "id5"]], "macOS / Linux": [[16, "macos-linux"], [16, "id3"], [23, "macos-linux"]]}, "docnames": ["acknowledgments", "algorithms", "api/geocaret", "config", "ghg_emissions/alternative_outputs", "ghg_emissions/gis_assets", "ghg_emissions/index", "ghg_emissions/input_data", "ghg_emissions/koppen_codes", "ghg_emissions/limitations", "ghg_emissions/output_data", "ghg_emissions/output_data_exports", "index", "installation/additional_steps", "installation/building_image", "installation/index", "installation/install_package", "installation/using_docker", "installation/using_image", "introduction", "license", "running_geocaret/index", "running_geocaret/running_docker", "running_geocaret/running_python_package"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["acknowledgments.rst", "algorithms.rst", "api/geocaret.rst", "config.rst", "ghg_emissions/alternative_outputs.rst", "ghg_emissions/gis_assets.rst", "ghg_emissions/index.rst", "ghg_emissions/input_data.rst", "ghg_emissions/koppen_codes.rst", "ghg_emissions/limitations.rst", "ghg_emissions/output_data.rst", "ghg_emissions/output_data_exports.rst", "index.rst", "installation/additional_steps.rst", "installation/building_image.rst", "installation/index.rst", "installation/install_package.rst", "installation/using_docker.rst", "installation/using_image.rst", "introduction.rst", "license.rst", "running_geocaret/index.rst", "running_geocaret/running_docker.rst", "running_geocaret/running_python_package.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 3, 4, 5, 6, 10, 13, 16, 17, 18, 19, 22, 23], "0": [5, 7, 9, 10, 12, 20, 22, 23], "000": [3, 7], "001": [7, 10], "006f2c9a": 5, "01": [5, 10], "02": 5, "02110": 20, "03": 3, "03condem": 10, "1": [3, 5, 6, 7, 8, 12, 18, 19, 20], "10": [5, 7, 8, 10, 22, 23], "100": [3, 7, 10], "1000": 18, "1002": 5, "1029": 5, "1038": 5, "11": [5, 7, 8, 10], "1109": 5, "113": 10, "12": [5, 7, 8, 10], "13": [5, 8, 10], "1300": 10, "1301": 20, "14": [5, 8, 10, 22], "1450": [10, 22], "15": [3, 5, 8, 10], "15acc": 5, "15condem": 10, "15dir": 5, "16": [5, 8, 10], "17": [5, 8, 10], "170191": 5, "18": [5, 8, 10], "180": [5, 7, 10], "180214": 5, "19": [5, 8, 10], "191": 5, "1958": 5, "1970": [5, 9], "1980": 5, "1983": [4, 5, 10], "1985": 5, "1991": 7, "1992": [5, 7, 10], "1993": 7, "1999gb001254": 5, "1_30s_bio_12": [5, 10], "1_30s_prec": 5, "1_30s_tavg": [5, 10], "2": [3, 5, 6, 8, 9, 12, 18, 19], "20": [5, 8, 10], "2000": [4, 5, 7, 9, 10], "2001": 7, "2002": [4, 5, 10], "2005": [4, 5, 10], "2005rg000183": 5, "2007": 5, "2008": 5, "2008eo100001": 5, "2010": [5, 7, 10], "2013": 5, "2015": 5, "2016": [4, 5], "2017": [5, 10], "2018": [5, 8], "2019": [4, 5, 7, 9, 10], "2020": [5, 7, 22], "2021": [4, 5], "2022": 5, "20220130": [10, 22], "2024": [10, 20], "20240101": 10, "21": [5, 8, 10], "214": 5, "2140": 11, "217": 5, "2171": 5, "2186": 5, "22": [5, 8, 10], "22500": 10, "23": [8, 10], "24": [8, 10], "240": 5, "241": 10, "24381": 5, "25": [8, 10], "2500": [7, 10], "250m": 5, "2561938": 5, "26": [8, 10], "27": [5, 8], "27441": 13, "28": 8, "29": 8, "3": [3, 5, 6, 8, 9, 18, 19, 20], "30": 8, "300": [5, 7, 10], "300m": [5, 10], "30cm": 10, "30m": [3, 5], "30th": 22, "3166": [7, 10], "3370050602": 5, "350m": 7, "37": 5, "3810": 16, "3hr": 4, "3pm": 10, "4": [5, 6, 8, 10], "41": 10, "413": 10, "4302": 5, "4315": 5, "4638": 9, "4847": 5, "4994": 5, "4a7d": 5, "5": [5, 6, 8, 10], "50": 22, "500": 10, "5007": 5, "5086": 5, "51": 20, "5194": 5, "54": 5, "55659": 9, "57": 10, "589": 5, "6": [5, 6, 8, 10, 16], "60": [7, 10], "6000": 10, "606": 5, "66": 9, "7": [5, 8, 9, 10], "71": 10, "74": 9, "78683": 10, "7927": 5, "7c60f27438ae": 5, "7cd": [5, 10], "8": [5, 7, 8, 10, 16, 23], "83": 10, "85": 10, "8848": 10, "89": 5, "9": [5, 8, 10, 22, 23], "90": [5, 10], "9148": 10, "927": 9, "93": 5, "94": 5, "9740": 5, "99_koppen_cod": 10, "A": [3, 5, 7, 8, 10, 13, 16, 17, 19, 20, 22, 23], "As": [4, 14], "At": [1, 7], "By": [3, 4, 7, 19], "FOR": 20, "For": [4, 7, 10, 13, 18, 21], "If": [7, 10, 11, 13, 14, 18, 22, 23], "In": [0, 4, 5, 16, 17, 19, 22, 23], "It": [2, 12, 16, 17], "Its": 23, "NOT": 4, "No": [5, 10], "OR": [10, 16], "On": [13, 16], "One": [5, 7], "The": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23], "Then": 14, "There": [5, 16, 23], "These": [4, 5, 15], "To": [5, 7, 11, 12, 13, 14, 16, 18, 19, 21], "_alt": 4, "_alt1": 4, "_alt2": 4, "aaron": 5, "ab": 5, "abatzogl": 5, "abbrevi": 5, "abl": [3, 13, 15, 18], "about": [4, 5, 7, 10, 11, 16, 21, 22, 23], "abov": [15, 18, 22], "ac": 5, "academ": 13, "academia": 13, "access": [6, 12, 14, 15, 16, 19], "account": [5, 13, 15, 18, 19], "accumul": [4, 5], "accur": 10, "achiev": 19, "acknowledg": 12, "activ": [16, 19, 23], "actual": 17, "ad": 13, "add": [3, 4, 5], "addit": [4, 5, 7, 10, 12, 16, 17, 18, 21], "addition": [3, 7, 10, 12], "address": [5, 12, 13], "advantag": 16, "advis": 16, "af": 8, "affect": 3, "after": [3, 7, 16, 22, 23], "again": [14, 18], "against": 10, "aggreg": 4, "agno": 11, "agupub": 5, "aim": [5, 19], "aka": 17, "al": [5, 7], "albeit": 19, "alexi": 5, "algorithm": [3, 6, 10, 12], "align": 3, "alik": 10, "all": [0, 5, 7, 10, 15, 16, 17, 19, 22, 23], "allow": [10, 13, 16, 17, 19, 21], "along": [14, 18, 20], "alphabet": [10, 13], "alreadi": [13, 16, 18, 22], "alsdorf": 5, "also": [0, 2, 3, 4, 5, 10, 13, 15, 16, 18, 23], "alt": 10, "alt1": 10, "alt2": 10, "altern": [6, 7, 10, 12, 14, 15, 16, 22], "am": 8, "american": 5, "amount": [11, 19, 22, 23], "an": [3, 5, 7, 10, 11, 14, 15, 16, 17, 18, 21, 23], "anaconda": 16, "analys": [3, 7, 12, 18, 22], "analysi": [3, 6, 7, 10, 11, 12, 13, 19, 21, 23], "analyz": 19, "andi": 5, "andrea": 5, "ani": [3, 7, 10, 11, 13, 15, 16, 17, 20, 23], "anna": 5, "annual": [5, 6, 9, 10], "answer": 13, "api": [12, 19, 22], "appdata": 16, "appear": 13, "appli": [7, 10], "applic": [5, 6, 13, 14, 15, 16, 17, 19, 21, 22], "approach": [4, 5, 7, 16], "appropri": [13, 14, 18, 23], "approv": 13, "apr": [5, 10], "apt": 16, "ar": [2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23], "arc": [3, 5], "architectur": 12, "ard": 11, "area": [4, 5, 10, 19], "argument": [7, 10, 11, 22], "arid": 8, "around": [6, 10], "art": 19, "articl": [5, 16], "artifici": 3, "arxiv": 5, "asc": 4, "ask": [7, 22, 23], "assess": 5, "asset": [6, 7, 12, 15, 16, 19, 22, 23], "asset_fold": 23, "assign": [4, 10], "associ": [8, 16, 19], "assum": [4, 10, 14, 16, 18, 22, 23], "assumpt": 4, "asterisk": 16, "atmospher": 5, "attain": 22, "aug": 10, "auth": [18, 22], "authent": 18, "autom": 19, "automat": [3, 4, 6, 22, 23], "avail": [4, 6, 7, 12, 13, 16, 19, 23], "availbal": 7, "averag": [3, 4, 5], "avoid": 22, "aw": 8, "b": [5, 11], "back": [4, 13, 20, 22, 23], "backend": [12, 13], "balanc": [4, 5, 9], "bal\u00e1z": 5, "band": [5, 9], "bare": 10, "barrier": 3, "base": [3, 4, 7, 10, 12, 13, 14, 16, 17], "baseflow": 4, "baselin": 5, "basic": [14, 16, 18], "basin": [5, 7, 10, 12], "bathymetr": 19, "bathymetri": 10, "batj": 5, "bb04": 5, "bdod": 5, "bdod_mean": [5, 10], "bear": 13, "becaus": [5, 19], "beck": [5, 8], "beck2018": 8, "beck_kg_v1_present_0p0083": [5, 10], "been": [0, 3, 4, 5, 10, 16, 17, 19, 22], "befor": [3, 5, 7, 12, 13, 15], "begin": 4, "behav": 17, "being": [3, 4, 7, 10, 15, 19], "belong": [10, 13], "below": [3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 23], "benefit": 4, "berg": [5, 8], "bernhard": 5, "bespok": 3, "between": [4, 5, 6, 7, 10, 17, 19], "bin": [16, 23], "bindlish": 5, "bioclimact": 5, "bioclimat": [4, 5], "biogeochem": 5, "biom": 10, "block": 22, "blue": 13, "blueprint": 17, "bodi": 10, "bool": 7, "boolean": [7, 11], "bosch": 5, "boston": 20, "both": [5, 23], "boundari": [10, 11], "box": 13, "branch": 0, "browser": [22, 23], "bsh": 8, "bsk": 8, "buffer": [7, 10, 11], "build": [15, 18, 19], "built": [6, 14, 16, 17], "bulk": [0, 10], "bundl": 17, "burbank": 5, "burden": 4, "burgin": 5, "button": 13, "bwh": 8, "bwk": 8, "b\u028a\u02c8ke\u026a": 12, "b\u028ck\u0259t": 12, "c": [5, 10, 11, 16, 20], "c205fc4f": 5, "c3": 5, "c_": [10, 11], "c_area_km2": 10, "c_biom": 10, "c_climate_zon": [8, 10], "c_doc_export": 10, "c_landcover_0": 10, "c_landcover_1": 10, "c_landcover_2": 10, "c_landcover_3": 10, "c_landcover_4": 10, "c_landcover_5": 10, "c_landcover_6": 10, "c_landcover_7": 10, "c_landcover_8": 10, "c_mad_m3_per": 10, "c_mad_m3_peryr": 10, "c_map_mm": [4, 9, 10], "c_map_mm_alt1": [4, 9, 10], "c_mar_mm": [4, 9, 10], "c_mar_mm_alt1": [4, 9], "c_mar_mm_alt2": [4, 10], "c_masm_mm": [4, 10], "c_masm_mm_alt1": 4, "c_mean_olsen": 10, "c_mean_slope_pc": 10, "c_mmr_mm_alt2": 10, "c_mpet_mm": [4, 9, 10], "c_mpet_mm_alt1": [4, 9, 10], "c_msbdod_kgperdm3": 10, "c_msnc_gperkg": 10, "c_msocc_gperkg": 10, "c_msocc_perc": 10, "c_msocs_kgperm2": 10, "c_mswc_molperkg": 10, "c_mswn_molperkg": 10, "c_popul": 10, "c_population_dens": 10, "c_soil_typ": 10, "cach": 22, "calcul": [3, 4, 10, 11, 12, 19, 22, 23], "caldwel": 5, "calendar": [4, 10], "call": [7, 10, 11, 16, 22, 23], "calvet": 5, "can": [3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "candid": [10, 11], "cannot": [10, 14, 16, 18], "capac": [7, 10], "capitalis": 7, "carbon": 10, "caro": 5, "carri": 3, "case": [3, 7, 16, 18], "catalog": 5, "catch": [11, 22, 23], "catchment": [1, 3, 4, 5, 6, 8, 10, 11, 12, 19, 21, 22], "categori": 10, "caus": 10, "cci": 5, "cd": [5, 18], "cdsapp": 5, "center": 5, "centr": 10, "cfa": 8, "cfb": 8, "cfc": 8, "ch4": 10, "chan": 5, "chang": [3, 5, 18, 19, 22, 23], "channel": [10, 11], "chapter": [6, 15], "charact": [22, 23], "characterist": [5, 19], "charl": 5, "check": [5, 7, 13, 16, 18], "chen": 5, "choic": 7, "choos": [3, 7, 13, 16], "chosen": [7, 21], "christoph": 5, "ciesin": [5, 10], "citat": 5, "class": 19, "classif": [5, 6, 12], "cli": [7, 14, 22], "click": [5, 10, 13, 22, 23], "climat": [4, 5, 6, 10, 12, 19], "climatolog": 5, "climatologi": [4, 5, 9], "clinton": 5, "clone": 16, "close": 7, "cloud": [0, 12, 15, 16, 18], "cmp_ro_grdc": [5, 10], "cn": 5, "code": [0, 2, 4, 5, 6, 8, 13, 14, 16, 17, 22, 23], "cold": 8, "collect": [10, 19], "colliand": 5, "columbia": 5, "column": [4, 5, 7, 11, 13], "com": [5, 13, 14, 16, 18], "combin": 5, "come": 10, "comfort": [14, 16], "command": [7, 10, 11, 12, 18, 19, 21, 22, 23], "commandprompt": 16, "comment": 23, "commerci": 13, "commiss": [7, 10], "commun": 19, "complet": [3, 10, 16, 18, 22, 23], "compli": 10, "compos": 22, "composit": [4, 5, 9, 10], "comprehens": 16, "comput": [4, 6, 12, 14, 15, 17, 18, 19, 22], "concept": 17, "condit": [3, 10], "conduct": 7, "config": [10, 11, 22], "configur": [6, 7, 10, 11, 12, 18, 22], "confirm": 13, "conflict": [16, 17], "conform": 5, "connect": [14, 18, 19], "consecut": 19, "consequ": 21, "consid": 4, "consist": 17, "constraint": [7, 9, 10], "construct": [1, 3, 7, 10], "consult": 16, "consum": 19, "contain": [3, 5, 7, 10, 13, 15, 18, 21, 23], "containar": 15, "container": 17, "content": 10, "context": 17, "continu": 13, "contour": 19, "contraint": 10, "contribut": 0, "control": 11, "convers": 4, "convert": [5, 10], "coordin": 5, "copernicu": 5, "copi": [10, 20, 22, 23], "copyright": 20, "core": 3, "correct": [3, 7, 14, 16, 23], "correctli": 18, "cort": 5, "cosh": 5, "could": [7, 10, 19, 22, 23], "count": 5, "countri": [7, 10], "cov": 9, "cover": [5, 19, 20], "coverag": [5, 9], "creat": [0, 3, 7, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23], "creation": 19, "credenti": 18, "crippen": 5, "cropland": 10, "crow": 5, "csa": 8, "csb": 8, "csc": 8, "csv": [5, 7, 10, 22, 23], "ctrl": [22, 23], "cubic": 5, "curent": 3, "current": [0, 2, 3, 4, 5, 7, 10, 19, 21], "cwa": 8, "cwb": 8, "cwc": 8, "cx_": [10, 11], "cycl": 5, "d": [4, 5, 10, 11, 13], "d_dam_elevation_analysi": 10, "d_dam_elevation_raw": 10, "d_dam_elevation_snap": 10, "daemon": [14, 18], "dai": 5, "daili": 5, "dam": [1, 4, 5, 6, 11, 12, 22, 23], "dam_height": [7, 10], "dam_lat": [7, 10], "dam_lon": [7, 10], "dara": 5, "data": [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 18, 19, 21, 22, 23], "databas": [5, 12, 13], "dataset": [4, 5, 7, 10, 12], "dataset_provid": 5, "dataset_provider_link": 5, "dataurl1": 5, "dataurl2": 5, "dataurl3": 5, "dataurl4": 5, "dataurl4b": 5, "dataurl5": 5, "dataurl6": 5, "dataurl7": 5, "dataurl8": 5, "date": [10, 22], "david": 5, "dd": [7, 10], "de": 5, "deactiv": [16, 23], "deafault": 4, "debian": 16, "dec": 10, "decim": [7, 10], "ded": 11, "dedic": [12, 14, 16, 19], "deepest": [4, 10], "default": [3, 10, 11, 22], "defin": [3, 6, 10, 19, 22, 23], "definit": [6, 10, 12, 17], "degre": [5, 7, 10], "delawar": [4, 5], "delet": 10, "delin": [1, 5, 7, 10, 11, 12, 19], "delineate_future_reservoir": 7, "delineate_snap": 3, "dem": [7, 12], "densiti": [5, 10], "depend": [10, 14, 17, 21], "deploi": 17, "deprec": 4, "depress": 3, "dept": 10, "depth": [6, 7, 10], "deriv": [4, 5, 10], "descib": 6, "describ": [7, 10, 11, 15, 16, 23], "descript": [1, 4, 5, 7, 9, 10, 21], "desert": 8, "design": [3, 4, 10, 19, 22], "desktop": 15, "destin": [10, 11], "detail": [3, 5, 7, 11, 14, 15, 18, 20, 21, 22, 23], "detect": [7, 10, 11, 19], "determin": [4, 7, 10], "dev": 4, "develop": [4, 5, 7, 10, 12, 13, 17, 19], "developemnt": 10, "dfa": 8, "dfb": 8, "dfc": 8, "dfd": 8, "di": 11, "diag": 11, "diagnost": [11, 22, 23], "diagram": 19, "dialog": 13, "differ": [4, 9, 10, 13, 16, 17, 18, 19, 22, 23], "digit": [5, 7, 12], "dimension": 4, "direct": [3, 5], "direct_to_vi": 3, "directori": [14, 18, 22], "discharg": [5, 10], "discrep": [3, 5], "discuss": [4, 9], "displac": [10, 19], "displai": 23, "disrupt": [3, 16], "dissolv": 10, "distanc": 10, "distribut": [16, 20], "dm": 10, "do": [3, 7, 9, 14, 16, 17, 23], "dobrowski": 5, "doc": [10, 14, 16, 18], "docker": [0, 7, 12, 21], "document": [0, 1, 5, 6, 7, 10, 11, 14, 16, 18, 19, 22, 23], "doe": 11, "doi": 5, "don": 14, "done": [4, 23], "doubl": 16, "dougla": 5, "down": [22, 23], "download": [5, 10, 14, 16, 18, 19, 22], "download22": 5, "download_whc150_2": 4, "downstream": 3, "downward": [4, 10], "dr": 0, "drainag": [3, 5], "drive": [3, 6, 12, 19], "drive_typ": 10, "dry": 8, "dsa": 8, "dsb": 8, "dsc": 8, "dsd": 8, "due": [4, 7, 10, 22], "dunbar": 5, "duplic": [5, 7, 11], "dure": [4, 11], "duren": 5, "dwa": 8, "dwb": 8, "dwc": 8, "dwd": 8, "dynam": 23, "e": [1, 3, 4, 5, 6, 7, 8, 10, 11, 14, 16, 17, 18, 19, 22], "each": [4, 5, 8, 9, 10, 19, 22, 23], "earlier": 16, "earliest": 7, "earth": [3, 4, 5, 7, 11, 12, 15, 16, 17, 18, 19, 22, 23], "earthengin": 13, "earthwork": 5, "easi": 14, "easier": [15, 17], "easili": [14, 17], "ecoregion": [5, 10], "editor": [13, 23], "edu": [4, 5], "edward": 5, "ee": [5, 10, 11, 23], "ee_asset_typ": 5, "ee_asset_var": 5, "ee_typ": 10, "ee_url": 5, "ef": 8, "effici": [7, 10], "effort": 0, "effortlessli": 17, "either": [3, 4, 7, 10, 13, 18, 20], "elev": [4, 5, 7, 10, 12], "elevation_": 4, "eli": 5, "elimin": 19, "email": [5, 12, 13], "emiss": [3, 6, 10, 19, 21, 22, 23], "empti": [13, 23], "en": [5, 7, 10, 13], "enabl": 19, "end": 4, "engin": [3, 4, 5, 7, 11, 12, 15, 16, 17, 18, 19, 22, 23], "enhanc": [4, 5], "eni": 5, "ensur": [3, 16, 17, 23], "entekhabi": 5, "enter": [13, 22, 23], "entir": 5, "entitl": 20, "entri": 5, "environ": [14, 17, 22, 23], "environment": [12, 13, 19], "eo": 5, "eo150_clim_xyz_upd": [5, 10], "equal": 5, "equat": 4, "erat": 9, "eric": 5, "ernesto": 5, "error": [3, 14, 18, 23], "error_cod": 10, "esacci": [5, 10], "essenti": [16, 19], "estim": [4, 6, 10, 19, 21, 22, 23], "et": [5, 7, 8], "etc": [1, 4, 5, 16], "eu": 5, "eva": 9, "evalu": 10, "evapo": 5, "evapotranspir": [6, 9, 10], "even": [16, 20], "everyth": [17, 18], "evolv": 19, "ex": [11, 16], "exactli": 3, "exampl": [5, 7, 11, 13, 18, 19], "exchang": 19, "execut": [17, 18, 19], "exist": [6, 11, 13, 16], "exit": [7, 18], "exmapl": 10, "expand": 13, "expans": 21, "expect": [9, 19], "expend": 22, "experi": [14, 16], "export": [6, 12, 23], "export_to_dr": [3, 10, 11], "extend": [7, 11, 22, 23], "extent": 7, "extra": 7, "extract": [4, 7, 14], "f": [5, 8], "facilit": [13, 15, 19], "fact": 0, "fail": [7, 10], "failur": 10, "fall": 7, "fals": [3, 7, 10, 11], "familiar": 18, "fan": 5, "far": 3, "farr": 5, "fd535zg0917": 5, "featur": [3, 5, 10, 19, 22], "feb": 10, "feket": [4, 5, 10], "fern\u00e1ndez": 5, "fetch": 19, "fick": 5, "field": [4, 5, 7, 9, 10], "fifth": 20, "figur": 19, "file": [3, 5, 6, 11, 17, 18, 21, 22, 23], "file_prefix": [10, 11], "fill": [3, 13], "final": 10, "find": [10, 12, 13, 15, 16, 21], "fine": 4, "finish": 3, "first": [3, 7, 10, 13, 14, 16, 18, 22], "fit": 20, "flag": [7, 10, 11, 16], "float": 7, "flood": 7, "floor": 20, "flow": [3, 4, 5], "folder": [3, 5, 6, 7, 11, 12, 14, 15, 16, 18, 19, 22, 23], "follow": [3, 4, 6, 7, 10, 11, 13, 14, 16, 18, 19, 22, 23], "footnot": 5, "forest": 10, "form": [0, 3, 4, 5, 12, 13], "format": [5, 7, 10, 21, 22], "formul": 19, "found": [7, 10, 16, 23], "foundat": 20, "four": 6, "fraction": [4, 10], "framework": [6, 19], "franklin": 20, "free": [14, 18, 20], "from": [3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 22, 23], "front": 20, "frost": 8, "fsl_masl": 7, "fsl_msl": 10, "ft": 10, "ftc": 10, "ftp_dwl": 5, "full": [4, 7, 10, 18, 22, 23], "fuller": 5, "function": [3, 7, 10, 12, 22], "further": [4, 5, 12], "futur": [4, 5, 6, 8, 10], "future_dam_model": 7, "g": [1, 3, 4, 5, 7, 10, 11, 16, 18, 19, 22], "ga": [3, 6, 19], "gcloud": 14, "gdown": 19, "gdrive": 6, "gee": [3, 5, 6, 12, 15, 17, 18, 19, 22], "gee10": 5, "gee11": 5, "gee12": 5, "gee13": 5, "gee1a": 5, "gee1b": 5, "gee2": 5, "gee3": 5, "gee4": 5, "gee5": 5, "gee6": 5, "gee7": 5, "gee8": 5, "gee9": 5, "geiger": [5, 6, 12], "gener": [6, 10, 14, 16, 19, 20, 21, 22, 23], "geocaret": [0, 1, 3, 4, 5, 6, 7, 10, 11, 15, 17, 19, 20], "geocaret_auth_path": 22, "geocaretenv": [16, 23], "geog": 4, "geograph": [5, 6], "geok\u00e6re\u026a": 12, "geok\u00e6r\u0259t": 12, "geomatri": 13, "geometri": 12, "geomorpholog": 19, "geophys": 5, "geoscienc": 5, "geospati": [10, 19, 22], "geotiff": [5, 10], "get": [14, 18], "ghcr": 18, "ghg": [3, 10, 12, 19, 21, 23], "ghi": 5, "ghi_nasa_low": [5, 10], "gi": [4, 6, 7, 9, 10, 12, 13], "gid": 18, "gis_lay": 10, "gis_layer_loc": 5, "gis_layer_titl": 5, "git": 14, "gitforwindow": 16, "github": [16, 18], "given": [4, 8, 11, 13, 22, 23], "glda": 4, "global": [5, 6, 10, 12, 13, 19], "globe": 5, "gmail": 13, "gnu": 20, "go": [13, 14], "gonz\u00e1lez": 5, "goodrich": 5, "googl": [0, 3, 5, 6, 7, 12, 15, 16, 17, 18, 19], "gpw_population_dens": [5, 10], "gpwv4": 5, "gpwv411": [5, 10], "grab": 5, "gradual": 1, "grant": 20, "graphic": 3, "grassland": 10, "grdc": [5, 9, 10], "greenhous": [3, 6, 19, 22], "grid": [5, 10], "grill": 5, "groundwat": 4, "group": 18, "gui": 3, "guid": [6, 14, 16, 18], "guidelin": [5, 12, 21], "guthub": 14, "g\u00fcnther": 5, "h": [5, 8, 10], "h4jw8bx5": 5, "ha": [3, 4, 10, 14, 15, 16, 17, 18, 21], "had": [5, 19], "hand": 13, "handl": [6, 19], "happen": 10, "hard": 0, "have": [0, 3, 4, 5, 10, 12, 13, 14, 16, 17, 18, 20, 22, 23], "haven": 13, "heather": 5, "heet": [13, 23], "heet_asset": 5, "heet_cli": [7, 10, 22, 23], "heet_config": [3, 7, 10, 11], "heet_export_cli": [3, 11], "heet_output_report": 10, "heet_valid": 10, "hegewisch": 5, "height": [4, 7, 10], "help": [10, 19], "henslei": 5, "here": [1, 16], "heuvelink": 5, "hhmm": 23, "hi": 0, "high": [5, 19], "highest": 4, "hijman": 5, "histor": 5, "hl": 13, "hold": [10, 17, 18, 22, 23], "home": [5, 10, 22], "homebrew": 16, "hope": 20, "horizon": 10, "horizont": [5, 6, 10], "host": [5, 16, 17, 18], "hot": 8, "how": [3, 5, 10, 14, 16, 17, 18, 21, 23], "howev": [6, 13, 14, 16, 18, 23], "howver": 17, "hsl": [5, 10], "html": [4, 18], "html_page": 4, "http": [4, 5, 13, 14, 16, 18], "hybas_12": 5, "hydrobasin": [5, 7, 10], "hydrodataset": 3, "hydroelectr": 4, "hydrographi": 5, "hydrolog": [3, 4, 5, 6, 19], "hydroriv": [3, 5, 10], "hydrorivers_v10": [5, 10], "hydrosh": [3, 5, 10], "hylk": 5, "hyp": 5, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "ic": 10, "icon": [5, 10, 13], "id": [3, 7, 10, 13, 18], "idaho": 5, "idaho_epscor": [5, 10], "ident": 4, "identifi": [3, 7, 10], "ieee": 5, "ignor": [7, 10], "illustr": [11, 19], "imag": [0, 10, 15, 21], "impact": 3, "implement": [1, 3, 4], "impli": 20, "implifi": 10, "import": 17, "impos": [6, 7], "imposs": 10, "improb": 10, "imput": 10, "inc": 20, "incept": 22, "includ": [0, 6, 9, 16, 19, 20, 23], "inclus": 7, "incorpor": 19, "index": 12, "indic": [3, 7, 10, 22], "individu": [5, 7], "indund": 11, "inform": [4, 5, 7, 10, 15, 23], "initi": [0, 3, 6, 10, 19], "initialis": 23, "inner": 17, "input": [3, 4, 10, 11, 12, 18, 19, 21, 22, 23], "insensit": 7, "insid": [7, 10, 13, 14, 17, 18, 22, 23], "instal": [3, 5, 7, 10, 12, 21, 23], "installation_path": 16, "instanc": [14, 17], "instead": [10, 16], "institut": 13, "instruct": [5, 12, 13, 14, 16, 17, 18, 21, 22, 23], "int": 7, "integ": [7, 10], "intend": [6, 7, 16, 19], "interconnect": 19, "interest": 4, "interfac": [3, 7, 14, 19, 22], "intern": 5, "interpret": [11, 16, 17], "intersect": 10, "introduct": 12, "inund": [7, 10, 11, 19], "inundet": 10, "invari": 20, "involv": [3, 19], "io": 18, "irradi": [4, 5, 10], "island": 10, "iso": [7, 10], "isol": [16, 17], "isric": [5, 10], "issu": [7, 23], "item": 17, "its": [0, 3, 5, 6, 7, 12, 13, 17, 19, 22, 23], "j": 5, "jackson": 5, "jais": 20, "jame": 0, "jan": [5, 10], "janu": [5, 12, 13, 20], "januari": [5, 22], "jarvi": 5, "jean": 5, "jeffrei": 5, "jensen": 12, "jensen_search_radiu": 3, "joann": 5, "job": [3, 10, 11, 19, 22, 23], "job01": [10, 22, 23], "jobnam": [7, 10, 22, 23], "jobname_yyyymmdd": 23, "joc": 5, "john": 5, "joint": 0, "jos\u00e9": 5, "journal": 5, "json": 10, "jul": 10, "jun": 10, "just": [15, 17, 18], "k": [5, 7, 13], "kamilla": 0, "katherin": 5, "keep": [3, 16], "kei": [22, 23], "kempen": 5, "kept": 5, "kerr": 5, "kg": 10, "kgha1": 5, "km": [5, 8, 10], "know": [16, 17], "knowledg": 10, "known": 9, "kobrick": 5, "kopec": 0, "koppen": [5, 10], "kristin": 5, "kuriakos": 20, "kwh": [4, 5, 10], "k\u00f6ppen": [5, 6, 12], "l": [4, 5, 16], "l4": [5, 10], "lack": 10, "ladislav": 5, "land": [4, 5, 10, 19], "landcov": [7, 10], "landscap": 7, "langlei": 5, "languag": 19, "laptop": 18, "larg": [5, 19], "larger": 19, "later": [1, 6, 10, 16, 20], "latitud": [5, 7, 10], "layer": [3, 4, 5, 6, 7, 9, 10, 12, 13, 19], "lc": [5, 10], "lcc": [5, 10], "lccs_class": 10, "lead": [7, 16], "learn": 16, "least": [5, 7, 13], "left": 13, "legend": 5, "lehner": [5, 7], "length": 10, "let": 16, "level": [4, 7, 10, 11, 13, 19, 23], "level_": 4, "leverag": 19, "li": [3, 7], "librari": [16, 17], "licens": 12, "lightweight": 17, "like": [0, 13, 15, 17, 18], "limit": [6, 7, 12], "line": [5, 7, 10, 11, 12, 14, 18, 19, 22, 23], "link": [5, 13, 16, 19, 23], "linux": [14, 18, 22], "list": [5, 6, 7, 10, 13, 14, 16, 23], "liter": 11, "literatur": 6, "littor": 10, "ll": [13, 18, 22, 23], "load": 23, "local": [16, 19, 22, 23], "locat": [1, 4, 6, 7, 11, 12, 14, 16, 22, 23], "log": 18, "logfil": 23, "login": 13, "long": [4, 9, 10], "longitud": [5, 7, 10], "look": [16, 17], "lower": 7, "lowest": [3, 4], "lution": 9, "luxuri": 10, "m": [3, 4, 5, 9, 10], "m3": 10, "ma": 20, "mac": [14, 18], "machin": [10, 17, 19], "maco": [14, 18, 22], "made": [4, 12], "mai": [4, 7, 10, 13, 18, 22, 23], "main": [0, 3, 6, 7, 10, 11, 23], "main_basin": [7, 10], "make": [5, 7, 12, 13, 14, 16, 17, 18, 19], "manag": [16, 23], "manchest": 20, "mandatori": [10, 16], "mani": [4, 19, 23], "manner": 19, "manual": [3, 10, 19], "map": [5, 7, 8, 10, 19], "mar": 10, "marc": 5, "marek": 5, "marian": 5, "mariko": 5, "mark": 5, "mart\u00ednez": 5, "masl": [7, 10], "match": [7, 16], "materi": 8, "matter": 17, "max": [4, 7, 10], "maximum": [5, 6, 10], "mcnairn": 5, "mcvicar": [5, 8], "md": 10, "mean": [5, 6, 7, 9, 10, 19, 21], "meantim": 23, "measur": 5, "medium": 16, "meet": [7, 9], "megawatt": [7, 10], "melt": 4, "mention": 16, "menu": [13, 16], "merchant": 20, "messag": [13, 14, 18], "met": 9, "metadata": 6, "metadata_field": 5, "meter": 5, "method": [4, 7, 10, 12, 15, 16], "methododologi": 4, "methodologi": 9, "metr": [3, 7, 10], "metric": 19, "mghr": 4, "michael": 5, "might": [13, 14, 16], "mimi": 5, "min": [7, 10], "mind": 13, "miner": 10, "miniconda": 16, "minimum": [4, 5, 10], "mintz": 5, "minut": [22, 23], "mismatch": 7, "miss": 7, "mission": 5, "mkdir": 18, "mm": [4, 9, 10], "modal": 8, "model": [4, 9, 10, 12, 19], "modif": 23, "modifi": [3, 11, 20, 23], "modul": 12, "moistur": [5, 6, 10], "mol": 10, "moment": 1, "monsoon": 8, "month": 10, "monthli": [4, 5, 9, 10], "montieth": 4, "more": [4, 5, 6, 7, 10, 13, 15, 16, 19, 20, 21, 22, 23], "morphologi": 19, "most": [0, 3, 11, 14, 16, 17], "move": [3, 17], "mporal": 9, "ms_": [10, 11], "ms_length": 10, "multipl": [10, 18, 19], "must": [7, 13, 18], "mw": 10, "my": [10, 23], "my_geocaret_work_fold": 18, "mydamsd22_20230107": 11, "n": [5, 8, 10], "n_": [10, 11], "n_doc_export": 10, "n_mswc_molperkg": 10, "n_mswn_molperkg": 10, "n_popul": 10, "n_population_dens": 10, "na": 10, "name": [4, 5, 7, 10, 11, 13, 22, 23], "nasa": [4, 5, 10], "nasa_usda": [5, 10], "nativ": 10, "natur": [3, 8], "navig": [16, 21], "nb": 10, "nc": 5, "nd": 10, "nean": 10, "nearest": [3, 10], "necessari": [17, 22], "need": [3, 5, 7, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23], "neill": 5, "netcdf": 5, "network": [3, 5], "nevertheless": [3, 4], "new": [3, 5, 7, 10, 11, 13, 16, 18, 19, 22, 23], "newer": 16, "newli": 14, "next": [6, 13, 18, 19], "ni": 10, "niklau": 5, "nitrogen": 10, "nitrogen_mean": [5, 10], "njoku": 5, "nodata": 10, "noemi": 5, "non": [7, 10], "noncommerci": 13, "none": 10, "noninund": 11, "normal": 5, "nosti": 11, "nostic": 11, "note": [3, 5, 9, 11], "nov": 10, "now": [5, 6, 13, 14, 18, 22], "num": 7, "number": [3, 4, 5, 7, 9, 10, 14, 18, 23], "numer": [7, 10], "o": 5, "observ": 5, "obstacl": 3, "obtain": [5, 9, 10, 19], "oc": 5, "ocs_mean": [5, 10], "oct": [5, 10], "offer": 21, "offici": [7, 10], "often": 3, "oldest": 7, "olsen": 10, "olsenp": 5, "olsenp_kgha1_world": [5, 10], "onc": [10, 13, 14, 17, 18, 22, 23], "one": [4, 7, 13, 16, 22], "onli": [3, 7, 10, 11, 18, 22, 23], "onlinelibrari": 5, "open": [3, 6, 14, 16, 18, 19, 22, 23], "openli": 19, "oper": [12, 13, 14, 15, 16, 17, 19, 23], "opt": 16, "option": [7, 11, 12, 13, 16, 20, 21, 22, 23], "orchestr": 19, "order": [5, 7, 10, 16, 17], "org": [5, 16], "organ": [10, 13], "origin": [3, 6, 12], "oskin": 5, "other": [10, 11, 14, 16, 17, 19], "otherwis": [5, 18], "our": [3, 5, 6, 16, 17, 19, 21], "out": [3, 7, 13, 21], "outer": 10, "outlin": [6, 15], "output": [4, 5, 6, 9, 12, 13, 18, 19, 23], "output_paramet": [10, 11, 22], "outsid": 7, "over": 4, "own": [14, 21], "p": [10, 18], "p1y": [5, 10], "p_": [10, 11], "pacheco": 5, "packag": [5, 12, 14, 17, 18, 21, 23], "page": [0, 12, 13, 14], "palecki": 5, "palisad": 5, "paller": 5, "paper_url": 5, "paramet": [3, 5, 6, 7, 10, 11, 12, 19, 23], "parametr": 3, "paramhydrodem": 3, "paramt": 4, "paremat": 10, "park": 5, "part": [6, 10], "partial": 7, "particular": [0, 20], "pass": 7, "passiv": 5, "password": 13, "past": [22, 23], "path": [3, 11, 16, 22, 23], "patrick": 5, "pattern": 3, "paul": 5, "pdf": 5, "peggi": 5, "penman": 4, "peoject": 10, "peopl": 0, "per": [5, 10], "percent": 7, "percentag": 10, "perform": [6, 12, 13], "period": 4, "perman": 10, "permiss": [5, 12, 15, 18, 20], "permit": 7, "person": [10, 13, 17, 18], "pet": 9, "pfaffstett": 3, "phd": 0, "php": 5, "piepmeier": 5, "pip": 16, "pipelin": 19, "pixel": [4, 5, 7, 10, 11], "pixel_resolut": 5, "place": 17, "pland_depth": 7, "planetari": [12, 13, 19], "plant": [7, 10], "plant_depth": 10, "platform": [12, 13, 16, 19], "pleas": [1, 2, 3, 5, 9, 10, 11, 12, 13, 14, 16, 18, 21, 22], "poggio": 5, "point": [3, 4, 7, 11, 23], "polar": 8, "pole": 5, "polygon": 5, "pool": 3, "popul": [5, 10, 19], "poral": 9, "possibl": [0, 7, 13], "potenti": 7, "potranspir": 9, "power": [4, 7, 10], "power_capac": [7, 10], "powershel": [14, 18, 22], "ppen": 5, "pr": 9, "practic": 16, "pre": [10, 14, 23], "preced": 7, "precipit": [5, 6, 9, 10], "precis": 3, "preclud": 19, "predomin": [8, 10], "prepar": [6, 12, 21, 22], "present": [5, 7, 8], "press": [22, 23], "pressur": 5, "prevent": 16, "previou": [4, 14, 19], "previous": [19, 22], "primari": 22, "print": 18, "prior": 15, "privat": [6, 12, 15, 16, 19], "privileg": 5, "probabl": 13, "problem": 7, "proce": 3, "procedur": 4, "process": [3, 7, 12, 13, 14, 19, 21, 22], "produc": [5, 10], "product": [4, 5], "profil": 4, "program": [16, 19, 20], "progress": 2, "project": [0, 5, 15, 16, 18, 19, 22, 23], "projectnam": [7, 22, 23], "prompt": [13, 14, 16, 18], "pronounc": 12, "properli": 18, "properti": [10, 19], "propos": [7, 19], "provid": [3, 4, 5, 7, 9, 10, 11, 14, 15, 16, 19, 23], "provider1": 5, "provider11": 5, "provider12": 5, "provider13": 5, "provider14": 5, "provider15": 5, "provider16": 5, "provider17": 5, "provider19": 5, "provider2": 5, "provider20": 5, "provider21": 5, "provider3": 5, "provider4": 5, "provider5": 5, "provider6": 5, "prueger": 5, "ps_": [10, 11], "ps_lat": 10, "ps_lon": 10, "ps_snap_displac": 10, "pt": 10, "public": [5, 6, 20], "publicli": 19, "publish": [8, 20], "pull": 14, "purpos": [3, 6, 10, 14, 19, 20, 21, 23], "put": [1, 16, 19], "py": [3, 7, 10, 11, 14, 16, 22, 23], "pyenv": 16, "python": [5, 7, 10, 11, 12, 14, 17, 18, 19, 21, 22, 23], "python3": 16, "python38": 16, "pythonioencod": 23, "quantifi": 5, "quickli": 14, "quot": 16, "r": [5, 8, 16], "r_": [10, 11], "r_area_km2": 10, "r_imputed_water_elev": 10, "r_imputed_water_elevation_prov": 10, "r_imputed_water_level": 10, "r_imputed_water_level_prov": 10, "r_landcover_bysoil_0": 10, "r_landcover_bysoil_1": 10, "r_landcover_bysoil_10": 10, "r_landcover_bysoil_11": 10, "r_landcover_bysoil_12": 10, "r_landcover_bysoil_13": 10, "r_landcover_bysoil_14": 10, "r_landcover_bysoil_15": 10, "r_landcover_bysoil_16": 10, "r_landcover_bysoil_17": 10, "r_landcover_bysoil_18": 10, "r_landcover_bysoil_19": 10, "r_landcover_bysoil_2": 10, "r_landcover_bysoil_20": 10, "r_landcover_bysoil_21": 10, "r_landcover_bysoil_22": 10, "r_landcover_bysoil_23": 10, "r_landcover_bysoil_24": 10, "r_landcover_bysoil_25": 10, "r_landcover_bysoil_26": 10, "r_landcover_bysoil_3": 10, "r_landcover_bysoil_4": 10, "r_landcover_bysoil_5": 10, "r_landcover_bysoil_6": 10, "r_landcover_bysoil_7": 10, "r_landcover_bysoil_8": 10, "r_landcover_bysoil_9": 10, "r_max_depth": 4, "r_max_depth_alt": 4, "r_max_depth_alt1": 4, "r_max_depth_alt2": 4, "r_maximum_depth_m": 10, "r_maximum_depth_m_alt1": 10, "r_maximum_depth_m_alt2": 10, "r_mean_annual_windspeed_mp": 10, "r_mean_depth_m": 10, "r_mean_temp_1": 10, "r_mean_temp_10": 10, "r_mean_temp_11": 10, "r_mean_temp_12": 10, "r_mean_temp_2": 10, "r_mean_temp_3": 10, "r_mean_temp_4": 10, "r_mean_temp_5": 10, "r_mean_temp_6": 10, "r_mean_temp_7": 10, "r_mean_temp_8": 10, "r_mean_temp_9": 10, "r_mghr_": 4, "r_mghr_all_kwhperm2perdai": 10, "r_mghr_all_kwhperm2perday_alt1": 10, "r_mghr_may_sept_kwhperm2perdai": 10, "r_mghr_may_sept_kwhperm2perday_alt1": 10, "r_mghr_nov_mar_kwhperm2perdai": 10, "r_mghr_nov_mar_kwhperm2perday_alt1": 10, "r_msbdod_kgperdm3": 10, "r_msnc_gperkg": 10, "r_msocc_gperkg": 10, "r_msocc_perc": 10, "r_msocs_kgperm2": 10, "r_volume_m3": 10, "radar": 5, "radianc": [6, 10], "radiat": [4, 5, 10], "radiu": 12, "rainforest": 8, "rajat": 5, "rang": 7, "raster": [3, 10], "rather": 10, "raw": [3, 10, 11], "rbz_": [10, 11], "re": [3, 4, 5, 7, 9, 10, 11, 16, 18, 19, 21, 22, 23], "reach": [10, 11], "read": [5, 10, 11, 18, 22], "reader": [14, 16, 18], "reason": [4, 10], "reauthent": 22, "receiv": [13, 20], "recent": 11, "recip": 17, "recommend": [3, 16], "red": 13, "redesign": 6, "redistribut": 20, "reemiss": 6, "refactor": [2, 21], "refer": [4, 5, 6, 10, 11, 12, 14, 21, 22, 23], "reformul": 21, "refresh": 13, "regard": 7, "regardless": 15, "region": 6, "regist": [5, 12, 16], "registr": 13, "regrid": [4, 5, 9], "reject": 7, "rel": 10, "relat": [0, 3, 6, 19], "relationship": 6, "releas": [5, 16], "relev": [5, 16], "reli": [5, 12, 13, 16, 17, 21], "rememb": 16, "remot": [5, 10, 19], "remov": 3, "replac": [4, 23], "repositori": [0, 16, 23], "repres": [5, 10, 22], "reproduc": 8, "request": [5, 12, 16], "requir": [4, 6, 7, 10, 13, 14, 15, 16, 17, 18, 19, 21], "research": [13, 18, 19], "reservoir": [1, 4, 5, 6, 7, 8, 10, 11, 12, 18, 19, 21, 22], "reshydrodem": 3, "resid": [7, 11], "reso": 9, "resolut": [3, 4, 5, 7, 8, 9], "resolv": [5, 10], "resourc": [10, 17], "respect": [9, 10, 18, 19, 21, 22], "restart": [14, 18], "restrict": 3, "result": [3, 4, 11, 14], "retriev": 5, "return": [14, 18], "review": 5, "revis": 5, "ribeiro": 5, "right": 13, "rilei": 5, "riv": [11, 22, 23], "river": [1, 3, 5, 7, 10, 11], "rm": [18, 22], "rmet": 5, "ro": 9, "robert": 5, "rodriguez": 5, "root": [3, 10, 11, 14, 23], "rosen": 5, "rossit": 5, "roth": 5, "rout": 5, "row": 5, "rowlandson": 5, "run": [5, 6, 7, 11, 12, 13, 14, 15, 16, 17, 19], "running_dock": 18, "running_geocaret": 18, "runoff": [5, 6, 9, 10], "s_": [10, 11], "same": [5, 7, 11, 17], "satellit": 5, "savannah": 8, "save": [11, 18, 19, 22], "scale": [6, 12, 13, 19], "schedul": 19, "scienc": [5, 19], "scientif": [5, 8], "scott": 5, "script": [3, 7, 11, 16, 18, 19, 21, 22], "sdata": 5, "sdk": 16, "seal": 5, "sean": 5, "search": [10, 12, 16], "season": [5, 8], "second": [3, 5], "section": [1, 11, 12, 13, 14, 18, 20, 23], "secur": 17, "sedac": 5, "see": [3, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "select": [3, 7, 13], "selet": 3, "send": [5, 12, 13], "sens": [5, 19], "sensibl": 3, "sep": 10, "separ": [3, 11], "sept": 10, "sequenti": 3, "seri": 4, "serv": [19, 21], "server": [10, 18, 19], "servic": [5, 16, 22, 23], "set": [0, 3, 5, 6, 7, 10, 13, 15, 22, 23], "settlement": 10, "setup": [14, 16], "sever": [0, 10, 12, 13, 16, 19, 22, 23], "seyfri": 5, "shaffer": 5, "shape": 10, "shapefil": 5, "shell": [14, 16, 18, 23], "shimada": 5, "ship": [16, 17, 23], "short": [7, 10, 14, 16, 21, 22, 23], "shortwav": [4, 10], "should": [3, 4, 7, 13, 14, 17, 18, 20, 22, 23], "shown": [22, 23], "shp": [5, 10], "shrubland": 10, "shuttl": 5, "signific": 19, "simon": 5, "simpl": 14, "simpler": 4, "simplest": 18, "simplifi": [10, 11, 18], "simul": 5, "sinc": [7, 15], "singl": [11, 16, 19, 21], "sink": 3, "sinnott": 0, "site": 7, "skip": 18, "slope": 10, "small": 5, "smaller": 3, "smap": [4, 5], "smap10km_soil_moistur": [5, 10], "smp": 4, "snap": [1, 3, 10, 11], "snapshot": 17, "snow": [4, 10], "so": [3, 7, 13, 14, 17, 18, 23], "soc": 5, "soc_mean": [5, 10], "socioeconom": 5, "softwar": [0, 3, 6, 12, 15, 16, 17, 19, 21], "soil": [5, 6, 10], "soilgrid": [5, 10], "solar": 5, "sole": [3, 6, 19], "solomon": 5, "solut": 9, "some": [4, 5, 7, 9, 10, 16, 19], "soon": [2, 23], "sourc": [0, 2, 3, 4, 6, 9, 10, 16, 17, 19, 21, 23], "sousa": 5, "space": 7, "spaceborn": 5, "spatial": [4, 5, 9, 12, 13], "special": [10, 19], "specif": [4, 5, 6, 16, 21, 22, 23], "specifi": [3, 7, 10, 11, 18, 23], "speed": [5, 10], "sr_": [10, 11], "srad": [4, 10], "srtm": [3, 5, 7], "srtmgl1_003": [5, 10], "sse": [4, 5, 10], "st": 11, "stabl": 16, "standalon": 15, "standard": [7, 10, 11, 21, 22, 23], "stanford": 5, "stark": 5, "start": [0, 10, 16, 22, 23], "state": 19, "step": [5, 12, 14, 18, 19], "stephen": 5, "stepp": 8, "steven": 5, "stic": 11, "still": [4, 10], "stock": 10, "storag": [5, 19], "store": [5, 7, 8, 10, 13, 14, 19, 22, 23], "storm": 4, "str": 7, "strata_weight": 10, "stream": [3, 10], "streamlin": [10, 11, 19], "street": 20, "string": [7, 10, 11], "structur": 10, "studi": 5, "sub": [3, 6, 7, 10, 13, 18, 22], "subbasin": [7, 10], "subject": 6, "submit": 13, "subseq": 15, "subsequ": [6, 22], "subset": 10, "subtract": 4, "success": [5, 12], "successfulli": 10, "suffix": 4, "suggest": 13, "suitabl": [13, 14], "sum": 4, "summari": [13, 17], "summer": 8, "supplementari": 8, "suppli": [4, 7, 10], "support": [3, 4, 6, 13, 21], "sure": [14, 16, 18], "surfac": [4, 5, 10], "syntax": [11, 16], "system": [5, 11, 14, 16, 17, 23], "t": [5, 8, 13, 14], "t_landcover_analysis_yr": 10, "t_landcover_buffer_method": 10, "t_landcover_delineation_yr": 10, "tab": [5, 13], "tabl": [6, 8, 10, 11, 19], "tailor": 16, "take": [3, 10, 14, 16, 18, 22, 23], "taken": [4, 13, 23], "task": [19, 23], "te": 9, "technic": 7, "tem": 9, "temper": 8, "temperatur": [5, 10], "templat": 17, "tempor": [4, 5, 9], "temporal_coverag": 5, "temporal_resolut": 5, "ten": 11, "term": [4, 5, 9, 10, 20], "termin": 23, "terms_of_us": 5, "terraclim": [4, 5, 9, 10], "terresti": 5, "terrestri": [4, 5, 9], "test": [17, 22, 23], "test_project": 22, "text": [0, 20, 22], "textrm": 4, "tgr": 5, "tha": 5, "than": [4, 13, 19], "thei": [4, 5, 7, 10, 11, 12, 16, 17, 18, 23], "them": [3, 5, 12], "therefor": 16, "theses": 4, "thi": [0, 1, 3, 4, 5, 6, 7, 9, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "thibeault": 5, "think": 17, "those": [3, 4, 5, 12, 13, 16], "three": [3, 4, 5, 10, 18], "through": [10, 14, 18], "tiff": 5, "tim": 5, "time": [3, 4, 5, 10, 11, 13, 14, 19, 22, 23], "timestamp": [10, 22], "titl": [5, 7, 10, 11], "tjanu": [11, 13], "tmp": 10, "todd": 5, "togeth": 17, "token": [22, 23], "tom": 5, "tomasz": [5, 12, 13, 20], "tool": [5, 6, 7, 9, 12, 13, 17, 18, 19, 21, 22, 23], "tool_data_usag": 5, "tool_data_year": 5, "top": [10, 11, 13, 23], "topographi": 5, "total": [4, 5, 10], "toward": 19, "tpdc": 5, "trace": 3, "traci": 5, "trail": 7, "transact": 5, "transpir": 5, "transport": 17, "tree": 13, "tropic": 8, "true": [3, 7, 10, 11], "try": [14, 18], "tundra": 8, "turbin": [7, 10], "turbine_effici": [7, 10], "two": [3, 4, 5, 10, 17], "txt": 16, "type": [3, 5, 7, 10, 13, 14, 18, 22], "u": [1, 2, 5, 12, 18], "ucl": 5, "ud": [4, 10], "udel": [4, 9], "uid": 18, "umland": 5, "unavail": [5, 10], "uncertainti": 5, "undefin": 4, "under": [1, 4, 10, 13, 19, 20, 22], "undergo": 19, "understand": [3, 17, 18], "unh": [5, 9, 10], "union": 5, "uniqu": [7, 10], "unit": 4, "univers": [4, 5, 13, 20], "universoti": 5, "unless": [3, 10], "unmet": 17, "unpaid": 13, "unpreced": 5, "unzip": 16, "uomresearchit": 14, "up": [0, 7, 10, 15, 23], "updat": [2, 18, 23], "upload": [5, 6, 7, 12, 13, 19], "upon": 3, "upper": 7, "upstream": 12, "upstreammethod": 3, "url": [5, 22, 23], "us": [0, 4, 7, 8, 10, 11, 12, 14, 16, 17, 19, 20, 21, 23], "usa": 20, "usag": [11, 13, 19, 22], "usda": [4, 5], "user": [3, 4, 5, 6, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23], "user_input": [10, 11], "usernam": [16, 22], "usg": [5, 10], "usr": 16, "usual": 16, "utf": [7, 23], "util": [3, 11, 19], "utilis": 5, "v": [6, 14, 18], "v1": [5, 9, 10], "v10": 5, "v2": [5, 7, 10], "valid": [6, 10, 21], "valu": [3, 4, 5, 7, 10], "vapor": 5, "var": 23, "variabl": [4, 5, 7, 8, 22, 23], "variant": 4, "variou": [1, 5, 19], "ve": [22, 23], "vector": [3, 5, 10], "venv": 16, "verdin": 5, "vergopolan": [5, 8], "veri": [4, 8, 10, 17, 18], "versatil": 21, "version": [5, 7, 12, 14, 16, 17, 18, 20], "via": [3, 15, 19], "view": 3, "view22": 5, "viewer": 5, "virtual": [17, 23], "virtualenv": [16, 23], "vision": [6, 12], "visit": [1, 2, 13, 14, 18], "visuali": 3, "visualis": 23, "volum": 10, "v\u00f6r\u00f6smarti": 5, "w": 4, "wa": [5, 7, 10, 19, 22], "wade": 5, "wai": [3, 10, 16, 17, 18], "walker": 5, "wall": [4, 7, 10], "want": [13, 14, 23], "warm": 8, "warranti": 20, "water": [3, 4, 5, 7, 9, 10, 19], "waterbodi": [10, 11], "watersh": [10, 11], "wbm": 5, "wbs_": [10, 11], "wbsx_": [10, 11], "wc2": [5, 10], "wcpts_": [10, 11], "wdpts_": [10, 11], "we": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "web": [5, 22, 23], "weblink1": 5, "weblink2": 5, "weblink3": 5, "weblink4": 5, "weblink4b": 5, "weblink4c": 5, "weblink5": 5, "weblink6": 5, "weblink7": 5, "weblink8": 5, "websit": 5, "well": [3, 7, 19], "were": [5, 13], "werner": 5, "wetland": 10, "wgs84": 5, "what": [4, 6, 15, 16, 19, 21], "when": [3, 7, 10, 13, 16, 17, 18, 22, 23], "where": [4, 7, 11, 13, 14, 16, 17, 19, 22, 23], "whether": [3, 7, 10, 15], "which": [5, 7, 9, 10, 13, 16, 17, 18, 19, 22, 23], "while": [2, 3, 14, 17], "white": 7, "wich": 3, "wilei": 5, "willmott": 5, "wind": [5, 10], "window": [14, 18, 19, 22], "winter": 8, "wish": 23, "withdrawn": 4, "within": [3, 7, 16, 19], "without": [0, 3, 14, 17, 20], "wolfgang": 5, "wood": [5, 8], "work": [0, 2, 3, 11, 14, 16, 17, 19, 23], "workspac": 22, "world": 5, "worldclim": [5, 9], "worldclim2": 4, "worri": 17, "worth": 17, "would": [0, 3, 5, 10], "wrap": 16, "write": [0, 16, 18, 20], "written": [10, 11, 15, 16], "wu": 5, "wwf": [5, 10], "www": 16, "x": [9, 11], "xheet": [10, 11, 22, 23], "xheet_asset": [5, 10], "xheet_mydamsd22_20230107": 11, "xiaol": 5, "xyz": 5, "y": 10, "yale": 5, "yaml": 10, "yann": 5, "year": [4, 5, 7, 10], "year_commiss": [7, 10], "yearli": 5, "yet": [13, 18], "yml": 18, "york": 5, "you": [3, 7, 10, 13, 14, 15, 16, 17, 18, 20, 22, 23], "your": [5, 7, 10, 12, 13, 14, 16, 17, 20, 22, 23], "yourself": 18, "yr": 9, "yueh": 5, "z": [5, 22, 23], "zamora": 5, "zimmermann": [5, 8], "zone": [6, 7, 10, 11, 12], "zreda": 5, "\u00e1ngel": 5, "\u00f6": 5}, "titles": ["Acknowledgments", "Algorithms", "GeoCARET Python API documentation", "Configuration Options", "Alternative Parameters and Definitions", "GIS Assets", "GHG Model Input Calculations", "Preparing Inputs", "K\u00f6ppen-Geiger climate zone classification", "Limitations", "Output Data", "Exporting to Google Drive", "Welcome to GeoCARET\u2019s documentation", "Additional Steps", "Building the GeoCARET Docker Image", "Installation Guidelines", "Installation as a Python Package", "About Docker", "Using the GeoCARET Docker Image", "Introduction", "License", "Running GeoCARET", "Running the GeoCARET Docker Container", "Running the GeoCARET Script"], "titleterms": {"": [7, 12], "1": [4, 10, 11, 13, 15, 16], "2": [4, 10, 11, 13, 15, 16], "3": [4, 10, 16], "4": [4, 16], "5": [4, 16], "6": 4, "about": 17, "access": [5, 13], "acknowledg": 0, "add": 13, "addit": [13, 15], "algorithm": 1, "altern": 4, "an": 13, "anaconda": 23, "analysi": 22, "annual": 4, "api": 2, "architectur": 19, "asset": [5, 10, 13], "associ": 13, "authent": [22, 23], "automat": 11, "bash": [16, 23], "basin": 3, "between": 9, "build": 14, "calcul": [5, 6], "classif": 8, "cli": 16, "climat": 8, "clone": 14, "cloud": [10, 13, 22, 23], "cmd": [16, 23], "code": 10, "command": 16, "compos": 18, "configur": 3, "contain": [17, 22], "content": [6, 12], "creat": 13, "credenti": 22, "dam": [3, 7, 10], "data": 10, "default": 4, "definit": 4, "delin": 3, "dem": 3, "depend": 16, "depth": 4, "desktop": [14, 18], "digit": 3, "docker": [14, 15, 17, 18, 22], "document": [2, 12, 20], "drive": [10, 11], "earth": [10, 13], "elev": 3, "emiss": 5, "engin": [10, 13], "environ": 16, "error": 10, "evapotranspir": 4, "exampl": 23, "exist": [7, 10, 22], "export": [3, 10, 11], "file": [7, 10], "final": 16, "find": 3, "first": 23, "folder": [10, 13], "form": 10, "function": 19, "futur": 7, "gcloud": 16, "gdrive": 11, "geiger": 8, "geocaret": [2, 12, 13, 14, 16, 18, 21, 22, 23], "geograph": 7, "ghg": [5, 6], "gi": 5, "git": [16, 23], "github": 14, "global": 4, "googl": [10, 11, 13, 22, 23], "guid": 10, "guidelin": 15, "handl": 10, "horizont": 4, "hydrolog": 9, "i": 17, "imag": [14, 17, 18], "indic": 12, "input": [5, 6, 7], "instal": [14, 15, 16, 18], "introduct": 19, "inventori": 10, "its": 16, "jensen": 3, "kei": 10, "k\u00f6ppen": 8, "later": 11, "licens": 20, "limit": 9, "line": 16, "linux": [16, 23], "literatur": 5, "local": 10, "locat": [3, 5, 10], "log": 23, "machin": 16, "maco": [16, 23], "maximum": 4, "mean": 4, "metadata": 5, "method": 3, "miss": 10, "model": [3, 5, 6, 7], "moistur": 4, "option": [3, 10, 15], "origin": 19, "output": [10, 11, 22], "packag": [15, 16], "paramet": [4, 9], "point": 10, "powershel": [16, 23], "pre": 5, "precipit": 4, "prepar": [5, 7, 18], "prerequisit": 14, "privat": [5, 13], "process": 5, "project": [10, 13], "prompt": 23, "proven": 10, "pull": 18, "python": [2, 15, 16], "radianc": 4, "radiu": 3, "recommend": 7, "refer": 8, "region": 7, "regist": 13, "relationship": 9, "repositori": 14, "request": 13, "reservoir": 3, "result": [10, 23], "run": [10, 18, 21, 22, 23], "runoff": 4, "save": 10, "script": 23, "search": 3, "section": 6, "set": [11, 16], "softwar": 20, "soil": 4, "sourc": 5, "specif": [7, 10], "step": [13, 15, 16, 23], "support": 7, "syntax": 23, "tabl": [5, 12], "tabular": 10, "termin": 16, "test": 18, "tool": 16, "up": 16, "upstream": 3, "us": [3, 5, 13, 15, 18, 22], "usag": 23, "user": 7, "v": 7, "valid": 7, "variabl": 10, "virtual": 16, "vision": 19, "visual": 23, "welcom": 12, "what": 17, "window": [16, 23], "work": 18, "workspac": 18, "your": 18, "zone": 8}}) \ No newline at end of file