From 4bfeeddf37d1c77e1f06be428ed1d2bc591c0639 Mon Sep 17 00:00:00 2001 From: Robbi Bishop-Taylor Date: Sun, 29 Sep 2024 12:48:18 +0000 Subject: [PATCH] Docs update, change env var --- .github/workflows/main.yml | 2 +- docs/assets/eot20_download.jpg | Bin 0 -> 51569 bytes docs/assets/fes_productselection.jpg | Bin 0 -> 69042 bytes docs/changelog.md | 11 ++ docs/credits.md | 35 +++++- docs/install.md | 24 +++- docs/setup.md | 176 +++++++++++++++++++++++---- eo_tides/model.py | 6 +- 8 files changed, 218 insertions(+), 36 deletions(-) create mode 100644 docs/assets/eot20_download.jpg create mode 100644 docs/assets/fes_productselection.jpg diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7db6f7d..a0483c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ on: types: [opened, synchronize, reopened, ready_for_review] env: - DEA_TOOLS_TIDE_MODELS: ./tests/data/tide_models_tests + EO_TIDES_TIDE_MODELS: ./tests/data/tide_models_tests jobs: quality: diff --git a/docs/assets/eot20_download.jpg b/docs/assets/eot20_download.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bedbccd65a6a0b40a0bc7fa364e38feedca96851 GIT binary patch literal 51569 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 oei^NAN82Bx?Xl5zA?UpB;n6OR literal 0 HcmV?d00001 diff --git a/docs/assets/fes_productselection.jpg b/docs/assets/fes_productselection.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05b3ae71955b4f6490515517a04003bc3e80ecae GIT binary patch literal 69042 zcmeFYby!$OM&9W+fuwhffkoiT!KsR0>vE)v`8op#fm$W;-$E|JAnji zu<%RIIX&{c&vX6WPpX!npGKWqQr3!v%v`n3(?6B}1+M<<>are5}rF38yY6)_a2pF#S65&Jt- zGy#r)*T}aGfD!Nn`RNL@3_EUt3t&I7qP{HMg@f+L%kR>j?W}Vq#)^4+QuG1bC1VJg#02Zl)j}2Uq4l6g;(X zHFL3XaKR*^zhe-j(G0y8*um{Vf20NF)0Z zdGu$mBd=uqKk)j$xsks{j)enqxOgJR#qB&m7J!L?aR&n(^A5%xEKE!+Y$68yAO&g(0jMZwXsGCD7#Qft8ySipvL1j=gh70d|M49X4O2`eXHtQ{glsJ4CzTy! znxjw_!PhQ9cd^MSD5?(#qP# z*4543!xQA?9sD*VG%P$KGBN30a!Ts^4{15MdHDr}Ma7@0s%vWN>KhuHzIJwX_w@Gl ze;XU0n4FrPnVnl*Ti@8++TPjSgB_ooo}K@IUtIq53k87oyIX&H_Ah=BA^k!{M@K`) z{OK18swc9b5usz;(P;UvmIlG!$g#p%DRO04Hf2Id8Cg+iwAJvoZu5+^?&JIrJ<~9(}9V z+ObBB;bG+gkZQ;QNZ)BZ!XW);!IAq_`BOkc=^q0Bto%1u|EZ0YhxPX+{*4w4QqAWm za-{!S-T^e^NdHkZf4lgn8NbTk&H0-WC6&Kd{N17dB=pNZo1Nw3c?8;xoo3OllhAVt z=iqxoQlHKMtbc@s;17dz6XSGPZokx?IXk{!K;0ev zY!V+*Xnd?vbRND?{r=q#K(-rj=RKW{b_eDSLFFyLwh&qx4_8_Bn~vmJi#2+(B}=OL zaHyl%n&DZHAH3k8Hejlb7})HENR?bW`kLD0EA5Vm^RXj$ZnHL*yB>T7#+uBFF_t0N zQ;SB?Hn34-o}kq($X>q%5ZX4`pNoeUZW|28>{n7`4?oA;G_Ehv2PN*yjjD&b`xr@S zPx`Jp%`6|6FZjlcXQ|Z~sDzwVuDXDfFS+yUQsrBf7I8{d(E~pyXkr=?=ojKA(S6^= zYpou*A7-mSzhx=?2ETUCAAjP^U^xm0SiZ~(>3-+h(F&OFHGG8|eWe|nyK3MFSFLF$ z2Km^hXqtR7$_qH|c@Af%3k6As?LS!(-ABAy?%qTw#4haQ3~iPj9&7};J+#ipEp5HP zOlw-go6uYsx+J^&dT0G!eLM$!V-NRq+5P*sfK>}niBVg$vQW`_qA>GAM-JlU=M-^e zPN_1a*Q!$A$9VG+6xdeo>5ki?&CpuK8EzHk9N8rUePb=hzv@h%uldlCpKlQ>63e2; z=EXVjD|xM|42lzpWalpFcNtiFttOCWJp*6sdeKOo71r|NxrH~RbeI?;M@i6*x-V?#tOaN&kq)zIW!+%l}yI1pa}1o5Z$*I4!AqW_6{Wg ze~4#+&wQ>qY{WcZnJp}*fyXG0DoQ!hOPd2Yr$o7`Axf zGn%u0nzk4db60jR^^p;;lSmt3dt1Fh6c6#`8u`#HQ;>qz&_l-8C5F~KHf}uS2W&yE z(Q-^xmBVTT!Ut(wpg;uSuIyLys8NYSu0CniW2+jxkDD zeB*ZEBemt%3S_GKhHV}sW1`27hmykxLL(DI$fEi!0L9`KfF0s{&-aI;Z5q#sp?o%& z2t8zi{%yGchEIKDsjq=^2{+u+u=;Z?5nxnp=Jkb`jB`Ve#Cf^Fsz-@WDZE6dae_Cb zdwP}(_btlkXL0Q0651M_(`$8+0Cd~Ro?-T|GZr~2OFNrKXcMp(^5N8j?# zHt@8qA*8xa@ngcodT`Jk?#XMJ)ze!*h@ck^z=3Zi@qpJ$!buByp>t9qO&<2L5w7qG zOy3^#?P$=2?frGLZ%^M<;l)cSzD-jeO{=&C(38uNF5Vi0oo7SLao>aFmU?rd&!i{S zjMzBXKvs32O?j@Jt6y0#@k907Hu@OaTZ9Q?Q0B?;57>~dlgtANYS?_|&bGbtJn$QimncvYE!u76 z1lezIDRgcD*`8XrfG>IhUt1~Gbi!--2tYZ5r|ILiCpJ5@Zwj68XZG-Pr>+f3=X`la zg>{8dQ&R;YDZrAGxU6V1y0A@^{O(CUZUkn+;*QCyh6g6PgTM!X_gmWXXggjx^Rg7x zUfLd-3ra!rOt`&h#a~L&z}4=h%QS;(JL*nfI9&td#oa2N!c8#BWAYZ^>6-Umr@W{R zjJr}pWB49-wJ{#)=qzeBz%-T(Hjkw7NK|-L6t0`X{t>M)KV30$&NFmvaxEEuT1k}q zXRONCUyPf+qJP9Y+R5a}?o(QCOeh>$w9 z;r#5|NGdW*-Ch(?{72_QcAwym!V3WezK?m6Tgyiy!oC?n+F$ixib+o-sqq>G?y|)3 zwLmx0T)FnBf!!sdizK<(GMW17=(aBMRSK&&a-*RyQ|2_W&W5-r4iAM@D&96_v^|V7 z?`R)=1`A&Ri$M8Hf zwK)+IRL8}rm?Xffad;`Sx?=~1$#j)D40NYzUji3Ars`ZNH3@jIB-HR-1cx|w$_0lR zM?wZiYU?Uf?1B^tdrF5C_a2Cq=+NW0RRz~ICPWPG1W+7iC6rDIT3lLijAWxaMeT4 zmBs@0p=lf=b6jOi^#9ODbvj(;tRq9*qTor_rDYrWxwJ*5qi+KTXV#P-`oM(rh}pP6h|2Cv1e%+87NFWP@jV6Xb1(c8J{g<}O)7*yKGj*lXh=9Kc*K^m6BvhNjbeaqnnO1u*pE?&|i<+ao!9JyPk=h-28fZIohXKP@hcIu% zTKsLLVs^sVl4dEv6D-8Ek;ORNo_n6zvqx5t{`<5A&hZNb7_!^BPr)@%8{$+J@i+G3 zw!vY(bcN6*tI)OCwGpO|EhJN?$E^*4xU0pNYq6129P$nRpzF(=Sc(Pl)8-vvL)!wQW zS^r3>B%h-Pnai<{v$vC`_>(kE+!L6w{*kH?90ZkRj=nV4`Dm++xYrJINM4O2wR>P9 z>&i5wjmjU`ED6!dxO2T{LJRt#IV$<&k~dJ&+dV(1)KpVQB6h?l_>EvRw$Nwy%I(i^ z@ypc>6+iq-?TEU*V)VD!`@w-7#R046lkGc(6Sn{;xe2sP14hxM;x5(Y-PX^}Wj+@X z^a$XjKqsN&yuM6fM=hPSI%_XX;_xG-Kq=iebNlWv^TO#_ZhrSv?>nVcgYb`OHg4%P zk&EZ5%uiQeJ3KU-IesXe^TA@Zej+nTZQOx(R$lLwf(vFF_gKxQ!`e2&D z;+Ue7fGb5InPb;wYcDeM!ro~z4rcKfH|((huiK`00IbTrlP&<9t)j=*FMFGsPOb?! zTcEJ8-Sx6TyJz4LQZL`D%WeY19yzgx5SeRGG+l!tow;;ISA|OLQAv6}i z*R!S_Fm2XF(^;Bw*Z0zQ-x^ZOi~TSr?xVw7XaHBmO}gDJK(ZaSZk$^&H(2OPHV$!& z?-UXbX3m8LQ7fOAh{zmOY^#(g0`>Uzi%qUXrV(BN>pgJ?^ClOY$R|JQ%B|j;v+JD` zGsGpr4XffN^ACLrzitmPy1&(f%whqKRhE0_@(9+5W_G#)qXN?3!s--|IexrLRr7Wgw6iF z-G3<(mPu#$F@2Kzo7@QcpA85FSkC=!{r{XfI)C=%Kl;A(k6!;3fWO3Yf8p)Fz~jH* z@SmMQ@Fzaie;qNv{u4R^kZ|7r9nSww=odu)!u-Fs^~c43!r3<9HvlU97R8TPzfk@k zq5L;k{IfrQ!H4}{H2uxue?cL^FHin=81olK5&sDiGVA|ckk8`KNPB-D zeYU-S2jAZWTy*E<=M(Q``DSfv{ec*?62B?T9cz>c;~16UgDGu8$qS&qE?PbY#+!(xXm|M zj&~S@d>|5alwtEERHxcss%jxC-$}~~=51kEv&%N4X-u5kYfYLwDhS^iJ$ON```X;5a>l8b zeW&FT`$S(q-8!P_nc9NAHS(go{FW?OGWr4Nua1^TW&FkgckmNNHt z0}No$GU5xpwp;NjdxGfU7CW7s46dD+uJ%8a4bDh$Ays>Dzn9h1D8i zUNLAv`NEIZ4IVr73_p+Ql$UqGUyT>r28%J(w(#Hwudp>XHNXbTvu#HOSn~)P?y%6! zlg)$q$J_N`k(_R5;|`L_bqtt7pwmn}#)+I(-jU9S#Gj7hufO3tj~DeS2ZTGiIa1n) zn?#tkR98>&Corgf?X^sY-#_(d^hikD0^R-GLZPRYJ1S$ z*w^KOW@}dbhF3){^78U`yS*?-@1#f-O!uUj`RdwPwAO{mg?^cpV^7PWAB=a6oew~H z-eHq%n}urzJpi+f-#4b|SM+jV7JHctb#8Eaj7|;v#%Z7;vu_Z4xqLa->vapjno3%Y zBed43LvW7Q3L{3}Dt~Sw;FLu*3O5Vv)zYqArl!MOgKSmgE+}}}FvhSF_EE8^MkOTl zJl^pkGIo`Fxdb+WV&rFiSn}1Ks=4to8n19GdA}V}N+F?39Ogq;Dnai}o!X_J9DNJ8 z(;{Vo2Wd%lTCh}cOMVv4&(7+aFyZgMJ)wCe+2%>(nV6a!CLgLqhVoqZ4GtmTGHI+e zNgqZKcF8TDBrp6bjFrPwSK8tS5Xma%}@hT6jKn6d9Bi)y982Rxa5{EIV#f|K_!0%XwOX zr4O1~@Al4$Ja8~0xyg}`u+#zG0y;BGl{&WbL7SvJJPxVXMjiX@sVhKudlzOGf}?5T zoN_%rB!cp|=*}I#D}?YY2+br|4(`52oR-{Lke%XV?)5_A!Q-G$-X{=a3ptiD3Q__+ zwn0^suC$((Z|*VjJ|7FYVwbtHp69*^z&>@P04?nDtg4iuX+^FdOl?C%poVv}FP;OP z2pGDj^SyY;R8%8u4-d{%&0dZQRZ!UYi;nO@HX}Ey{az*UWrVy7l@J8K-Cpn+uZ_co z%XE2fq%F2bm)b)d=7&;dXP>^wYJKw^Yq(+Ma{Aq<$|<+jbb3#k+%2GMnV`c=(&JJj zi8dj>YjCrKgo_8;N~vmDN;bjly2ti6 zoS5dy{ot%8eq2+5*&vmUwB6}^SV-o9#~wni<$f9acdQL=Vzs+;n5)JLayW7y>m6>? zRiLRcLLbfu2yNQ#4YsA1KRYhTx-kE)*uh+g?m9yB@=)^bDmRW#NqQE|oS}SWeG*w+ zPkf!UVTdI=_#;7=4p>8Z&Spnq-^1e;aJS;%beSgNjHZa^-jz_)mO7){Fs(Vvu%LXO zx84_4)g;^%qNny4BaU%WoWm9({Z*e02r^I}7tVY&XD6Ox<3#zs^eEc#Kx}wF&ws@PpLS~s*!8G6&ZXz zrL{6XwUnV*+^G9I1`+_qm`?Q9m6B3MN5HU+M;5D!#PYUfFbdwkVq6SeJVJK}AvenoL~J20H$B~z+I!FuN*!7W$qQ(YmT%IZ@vZ6k~= z-HdN;A%ZOv<(_$;gbF?ut)E?AQE^=gji;xTt9!04ocu(6TBx1G=JNZ95gV}VgD0?q z1=<^p>vm*>87`!b1z&$o4T+1oe_G5->X(C)lU|=KnU^r>joh@XS+}@< zLV=z9eCK7v1W;Rek)NUW`VswG&%U!GBlWI9<(^xB9JESzX?~%F+`>ZFLWe)I68eRn z0J9?B3qtDl*}eU2i(qydSK`r5t{4`dO;+|{bLz#p!8;2Gd7|mC2 zb8&E^W3KI`t(W~Y3r74aRCz^AiN`A&uH9Zzq)W{g{%HCvtpOwx!m8?zp*nBMuO&Y2 zCG7pUOpvi|h{7OK?ARa{$3;n+NGn@c^`^X*SZQQA2Ozw%v3 z-s{h+$MZ>_W9-{JOSoQ?Q+;XQ9tSOX@kaS~v)-`fL~;N=B?Xk**1u%C1sF~MzH#Kd z4~pdYh?}z=*$be82hki{E?q zC!hC=*Zbr9PhXM2_`A@*jWa8fK~(w|#_(4Qe~+Yo6+-4~*-Hby^=qz4M&ds_zgvW~ zmMd?0KdtPKOf-_Cfbnl`{Bj4N&&g^1D}etC-^za~ z;d^+P@H0=qf0|;DH_6o9f!` zoMs%85PIR(@p}_ILh>nd*4oyK4)+F_af2v4yghns@feV8xI@GoYs%;f>aEO|#=GgM z)F=tRV|CDV6DU|Rr{pxX%B;pk3mb_-F8!lerWPR1LT3IFMLa3APV$c-8gMftQ5Jr! z%9*M*#tNRh`_>cpuo8pudfLF*nhek6!0Xq_PempVJIG za+(K4SAIlV!Gu$iO7w04mStm-S=M~C*+l$FA^u(#ltW%6`U+o5N*w8j3qT)*sDUvp zspHSe8`Bmk-^h=79QHnOxnr|?<3&=uEu^DG@y1uSWY<$15tl2zGn=TpkqDZ$w^je~ zp5%@A)r-r*Pr2U$ap3i_SCa)gM~SFFVTt z=yOrQedOi6A2bZwn4#+7Ei9kw!-aZllp=`QP7{>qs`B3WeabLqnAn0I%pGXYpU!)| z75L6#k}&iDd)w1_h+nS9a@0twy)%y7$d*ude&<-~`}u%d@m3E%iJPUw=MSg$^x~R7 zs}(Bns8#8vuD?2vi=;fD=AQ^#tXY>r86;5cZX6h!gk|rscNQ9v-vVGf6bu%EM@ zp1}FcMTvFN9XC9+_0AvE3*_^s`!?EC1;l)P+mslt%^9)Ik!FHLWw!wM;}(URLifVD zw0>7ByYt2=C8DQJD|Fovy|UwC`#ZK@;EroO(7pZQJi*;Tf;selNqgTGE02-+CLhiD z=L=gL<;`kvy>%%A)u3B|`slN%>Mqtu^_nhG&K)NMnK1p4QGdey%jLHYwNd8W?qnUI z+?d#9yi;=<)emrLLRX?QYotWUx6$N)Ae~N8V{VvSU6l1#F*dU{+2GBhtHJ2#6^}vt zy=CkcjY3f275TKfPj9Nvykhhl72*s>8GbA=T7Eif$QIpotU%-pjN)zW@ZAMDf^eZ9 z)n4yv%&VFj=$yVOUJGhp%d8NPfC|;^7BQcRdhBzCWDUnWSV5Ji3fxhU;?Umg(;rhmRGS&8;h zYIk<&>#j=-s~dHFpsz}fZC#o}ex54b;?cEFSBUwE-y;si_4a(d$u=5L^HT%M2{%2n zE5jVhr!Fk{3(+B8`NdYw@&u9dRgBqcZBxjCO3sx_5HO-hAK8o_42 z$vMgl1eto5|6Lg7+uZs9!Wq99hr2}n2vMHc7H$TOM-Hz>jh4gONbQW-pikQv#}&OK z7gMIP7zK+SS}y5gbPS`r#(58owNZoG4aRzM3#_XKZC&eR@7pxfIZ*}5y!nW)9eH{b z+Qc3zJe4Fr?JMfZdLZq(w5RGe%9_S;;nIjEhW;wf->Vm_@Y><*-RJT7VL?NzSN3N9 z2H1Yp-3&Gg4Namm#d6-5;cax!5ceJNK>|YtS7ic2f<=lJFHcwVxMs0c&TV%I`YOdnY$I@J}Cm$9F zFl*iC2;Qic)km7bEHgBZJLT-=U!I&)hD#W1*wbecY$}|=O^!)C5G{}ku$P=STP4)2 zOW!ytf2osU9&hHcD{+lAFmv`L2`j=y#f&-dWvzOse%W#q-)Y6&U5dl|W)X#vh^+(CPg&mE7Zpz*E|9;kmdVj2VY7r-KCYEl5rhuu)VZ9-8Huw@0G8r+ox; zN3&1lyn~%}vQ#fD6V}E#dWuqJ>#bs-OBnXu%WU!F6<>d|)BZTATZ4P$poWprG;&PO zS_4ZKt+f;^6E4cTN2)4{A9)h^#&XM=Kz(JP(QpoUfO?{lx?Ygw2Qy2L56P*tB!O?# zpAqPLAlfUQI8@wt1$_9bVZ_!7{n0H=6-wn^Mz6~ZeoSf~n;7ak>i@(^{gwA5ax#4Z z7FL98HjL6!S|u>!kINK}*}Y*Wa2hxB%+nmvOh*M@Z0P8H@W^*2-{ zVp+svU<8%My?OlbqG?*#0(#OVjwmkfTrFc-Tf?C#42&M@3VG0lVR@hQGo44$g{ImS zf!Vv9rYMHcCEkfzZiw`_d_s9C75Nr>iV$bBg#QWPamR+awqv+2e<@u1;{MqcMRn%5 zH|n>J)Cqw^g6(Jbzo&8ML4R}}k-$q-6K?^J#-*o$w4ox-&cuXYexDR=$Hsm6t&luj zdp9*W*K+^UZmQE`8o{dfRjY<%LwEPYNToy(?In>{$OSMHWL9Jxv+fu++7qS>1&T~5r!yQ2`7N-7 z&38j9ASro{{Z|im%C?bNg&9y+rI7L#PzgI*H>smWuw=-Kpp5#8z zX=>ad?cp~?@nYOBu(a)Rh-GCfcx+ch-H}<2DTv07vxAD3UcvT`tQ-*T*l~Fjl@FF7 z(7maIOzLZFC3 zAC}20Z<=4-YG32AdZ~`HOKhmGx7d$=#IK=)>(rbP9nZgzR#A8@0n;unGu|clRuR4l zzq59iEmq*osf-}t@fj6Fi^`Q{`lWL#ud9%bx*c@6yFTq^D9SPC+w^%jy>;5t=aJrY z8xS!_@UZl|d6_VOuJ-98Ap@yj`xUV0-Yt_(R12up=9gsZjY*(%P-RSV+SyfWc3%7543F~Ei* z!=?n$_Gdtn;JymQyJ;bZF)VEiiLcm`3v_?5yWCmn@(EPsZpKy{Z9mK2MsA3W5ONRh zolA+!ov(a3!BSTjsPx+3<6vmApIzqS6 zR6<11E-CjJP%#LSyM7rGj~6SPA6EamCb<>4b0!nE#5H;rCB=ISkk91fQzD0D>q#!S zcXBev7J@O^>JHlQKy9i%>f>idGFQ?Pz1-))_chT0<{8}QXocS7IgY8WfjO-r%PWV4 zW^1bQ;|AlkI3+l`^ty%P+jR=@=5Jl9WUxIl;#zg}9lyp=?_Jtchi2wbl{qjGceBr# z(!4u;$V;#~m6+%gU@{qLJA`~JaJytjrrz)f2Lq*1i)5h1gYU*qqwHc!P7)F&*7INQ zQ%ju(mZ%okj(AbT6SBm4w~akwPG)gqZsjK}DlgbyMN$wg;=;41p@_j_?Eq=9wSdKh z_!(_>O0iv|*0?v<5~7jUC>E@N5A3M*8d^=nZUNp1J^O7LKIV_z5)$*5v+W}~W4D0m zv*Ptr?Jj-VrotGSr(^3ETP@c2G#BrzVX~al7qs#zz#q)1cg?E`cE#TUtas|~vL`z+ zd^^cBTacf083^uuIK=h(A}4==<-)+IeKn3YuROP_oj_836*RW3GsaS1muAAtu1EYV zX~Z`#UcFTY`B1n{$Nm&(@O)$|w4YF-{e5&_TWMev@?I%1>c^|4oyz$Qxj4~q(c2Z?%Pa)QeUgG#!XpeDoD86WsxPHc4 z_NpBJTxtSWahsKOX8--VXR)Fpp>{ z^)XzMfz}>HwdmnCm35bAmFpXH;}@b6yq_gOC+j&N_LJ}zPR_AgB8S%YRFI`cI-HTF zKlah(wX9F(7csD9?BHk#9tI>0di8|mF4$de79^XGmUS-#J^Y>*f_@o~C#XGci9~O! z$ZkSG&4=uST$W;shY$N`ot2k2Fa2}3n%nLCQ?4%5D)eEjA-909bZBx0J*k>i&B>b~ z35chxb=O_5pbCJg-Y{RA)quO#5_O+NRLk~6Q(tc#qk|0`8ME)mEMZ(!zHt%|Ogq7@ zv@`Yc+q#Jy^T}exP4wbVoe3_X#Rr@fB$rQ{j4f}dRyghlz+ERDuH9F&VQf;iQ?D97c0|zv?;p0A?<{3{M^PvkO62>J9K^$2B_nfU2GI97Uetl<&-MpY{dY26?ed zJsk9kvEC6ELfo4!6G|6jiu7reY*>2z1TA(0H9*;Uw8X2T{kr0#Xs+WWq6r+cT0sbZ z*}^zwEI5@t!87sgg`#c;)_XJ9!;N3oC0yyZV*W&`}WnUR~b>nZm%O9_t3v2zzTlPVC z-U9AD-``)SHd_n`Q*rTufc)9hcSS={ORb77+ZP$3?{G2cP zntLq^4~NH0w*h)uciB?EQ(}8^e{W3i%@a?W%Knw;6Jsekyv611lh*#a6hvM9o)2(4 zR+6~{9@XP9tv@g~W0z7l+TqK?;zTXff$@N*_>_)7SW<@2mo9ftA0t1u#M#vpm^WOg z0!lede5Bj+68a**>2!$u>#j{er$3(mvwF70TR?f%hPQEgF6cg&B&+|%sPhRNHAR#KC&p7l zl<=wg_j{_jp5q)c;v2#N_cWfue%7}&X*7#P_65FuHXvtv=kKMpbE#zhirwC0h}Ps#;H z?PpClPis6)rj|Fn`J#k}@#lQSYoYaFXX!D{h$TmsrWDKwGaAJ?w3B5?AMlyoN~!Cz zZCXmQk15You%BbyxoTE(NYa+PgzPr1yrEa~@RzN>He z1nW;cni0+DwN()0K=aOEAUySR)rN(nG#9Do&+gMO*R%z(xso~)lPOm`WX>SaJ}bi^ z2wx%}y_Q`az;dTaUle`z89W74Q=}yx12SXDAK<<3k%(=mAj&D2Gq{{vE?WBWn->b< zN7u}SzTEV*(5Y6oGMBlJ%^rzkil7;tn1N_qKHqI&h1IYqp=JC%iYYKN&1uxk;{%#-Q%Y$TyY>97DJYF#05K1Vv zi|}6?@K3k8r!mAJXsj<^cNZAx?e0s(B{1CrER-E&lQ&vA?}gP7NbPT5av5r=A_pCJ zfU&8k+puN>tnOX#>bE)DSPD7ro7_4vK)3}8cVAy2TF6Mn&`*Fz zOINgRI^cEUtKCM$i$~}TscquZ2^y+CHVIw+utP5fyYm)-JJQ0p3XumI32l3sx22GW6VHDARL|%Nf8}0uzeS~R z-j}3(1Y=#H*wFU1DQfOD4ERXtmB>2x2zas+$>^#KUyt9Qp4TTFO4GulRz0B(VK#nV z1-o;hi9rwC@u&?Jh(_1VE#}m`(B4ju6Se&!fAYfYI@~(9vqP^^AdLGllP@rq4k2h7y$5YU#v@#(aBd$`D^}{+( z$PBMTD|$Wpg@&)fSROpg*}d3SgrKk^cfi8V)1q(?5MMV&*wg*~)dv1@CTNgMFiyN0 z;`ntrL22G`-vIn!XU zM}9BV(z;PeC9aRyrDXl4@hBa_d&|%)xbU?WL5zuUn?b{YWY)oBd-!5KjpxmG^KJT; z?OKo#Y1=U0*{9F*&CL?+*HR@s-L=CqUtk98rG>2WZOcf$8xzg(|aQlCeCGF=D1&Y zf$?+a7IKSI89WhRvooCce-jsvS?U-KOoI2nn#VWKbpQLfNKDPE|53bF^SA`DiLF>ca!$von zTU5dirTb2T?kqiMMX15|jp#Gijxd*HS5;*-VPuCN+*fDF*(zhFt_ zj^3YJpO%ee3Th}+=nfFvHSMF<*8N4jg>}`S>R#)qM9JzRmk!^_S4CnQ55ypbDS`fJ zIuSyPPhLIqsCRz0g0HB9ehc6l&dZTLNHXGq;~O7)?gw<8-)QN5hPHR{Q7kVld-2;f z$$ThKC$v0K`G^zraeWIjDKw7j}D@Tsp*(JP?lPQQ#>A&QUhg1Ix8``ZTC zCQ&Fw$34QMr?l%W6+7C9c@liWE%z`lRmGp8ev7RlKmx(Zeqrsse9hvI52FaJjUh3Z zW*r+nyQszS8XHscg@1^B0Ju;>KkIq8-&clb(Cbgu24jzSMqO#3s?fRCv*b~idPk!H z$n2n?F~o1oDaTHF3#j1sf82Hpn5w@XMvm+1)e0hC3FwZh4de_+{{4~Ld9}w$>~oSW zf@FD8@Wpxg+PLse!F%oyQMC zePhGNcw=wD5A!YbbVlE-hOq}fZQZHehbL1E!2N9yVV?~^KfX4}H?9myPrq!K5V|25 z7NyQRKcxIX^ya0Z!x#2~hbZ1_W!A_Pghf)oEovVkO=W+yokDenM{m%#rJbB<^inz5 zUeuQ;68eoR9f-_6jO50ar%g`8`RL#w*XrvygYrr|mi_&$Xm#$g6of;ajufo0wK2TYhenD2Fn z(V`z*cmcLCp%pYaY2%k?w*Ucsb)6d^LZQyCokR#IE+I7HP@{6iHj&fVR9iL5R-N$V zq2E>Jd9`oDkl>&xs8bUfv$<7RvFpz_;plM09%(T)H}}+-mbknN_$pUI!O{Epl0)BM z0D*ZydT^L!vVSI(t_70`W`)=0gNDYt?Dvj~nriK+9@lH!HJYzHaRGe6tkC}i=7Ls) z`-%p9+?zWa3a#9CS?=(}s7d7cZhz2uPyX?C8-IxO<80Cw`j|O>3iZ=@9(&v!)AHsS8YcG-f35kgZZ8Yc%_HO_ zVQR! zMHus~+cNH+>mF>U9#6RY;B$?^=rOgh_BM@P10-;&B_&dc^~W;I@x&C!a|1M6&{|s# zUcQ0KfY6)lD+tVu^z46gy%yY#y}9+-5KYR|Q$TX1ogn#WTM==FG- z(eWpw4Z{dWBwdR^++UmU+kSA`Ih-dh`Gp!5&o!&{bZk48V`|#<+u9inq;o#2(;=Sk zdyx&w$mWvA>N`-dwc$pN36sh0vA%Sz$~g6D-cs^i_SmJ>RSInUY3!K=Oi5a+Rv#Q+ zMd+HZ3iUhvq)cw*QPsMvs}E25r7`8^6FQh#P`W`eq_vyXh?>u*t&kgIb|F3mLEid zGS)p%&vyJxlHljAGs>VH9#R+(03dl9a-lQ7niCCv=4{9udKFpiLy99OQ zOiE!br2d-g3I|Wjd5se&Q+>o+M>slv?;%R~#%Jb2HJ`P5NE^pa3NqI{%^$Bg01C%& z^$x_&ohT)GNp7k(#y;=R@(|BB+wiEs%Lyw(CUO-MKByLQ?Xzk`p$WB2wJI^R6`{UgHQ-u2=&=7|^c`0=&1W39UI2dW`gv3GS+pqO ztg)d%w;R}Sm$WpB>lWbt=BhKPALKB*VT`pQawF8f2e#rI zI`sJbtXL?H!B={`T=H@53~MVm)rUzHw?55vVZIrN68M&I-bDbV*FQriL_@BTmG3y2`6+uT*V7KA>EWHL+hIa{B`G2{7zm&vr`VcNlK3}KLupbC?wkt61bIrw6?!*NtuS5gDJSih9Fsk#*RfOTGS z+eX_F+~Nn`{!M_<@{*6#kFGfUWq4LM1-C1U_B8d~@zRYHb{<#8p}PQDD=7myv2N8| zcxOjF6eRk5Qc}Sg`5&_$WRWUpR`-kfU(Pp>qT{YtNIFNtxH!vXDojpZ+Xzjo!|(cs zDU{lNHo8`6o^-o90Xni3jdyxiR`M4oF{w5Tqh+{PJj?1e#u|6O!7;cp*Pp7!n5S8M zGW^U(6((dKl1aIm#X=h=JKi3y@zif3apy&rP)3&4?6oHhQ!cerJSHpD9S?g`SWID# zXJur&E}d%V-S{sKtW^n9cS)Q$VDUJd!w=6d zrvpco2QE)Piw5iuA?Jw0^|hX;Jb03PedxY&%ji8lQKkG{6202o2i)n^!K115in7mX&zr?M;>#Uy|DIMR3e4>H4ZoP#CtwJqIhq>RHyu4SY+ceBLOb zXoySfLz}iOv>2c}nmnyASy4(Zn@V2KN9b5SCir3-Y*!Kn-qK04p{(v_Cbwj7WKXo7 zQ$jA8r0$3u`5?0c3GlVABXn+{Gp!&qdue8-+pkc##ko80SvB|n$Jl$vHL-2)!`J{7 z;fVAq(xgi7#YS(^AvEdDfbOJRv zfA1gjnPf7vvu97T_FB(+p0yL1536@u5>~rPDgt}EOljY?XOY0J3*Tc#x-Y|8%xb#d z)Apcc-!4{Q7!_bqblgVI5Sb&DVisKCE{SAdY< zs+Fhk`bx(+LBzsU2En)OecvWKhX!Au{Xb&PSL`IKcCB9V5iFQe;&|5NR#FBLM{UJ$-o#s;E3MDNChI<^N^VUu`8s}Q$FR{l(bA9|;(1VK`tXdu)Wr>RJH?@N9m$F{vg#e9+T6d;ffZGWr`Y*_AH5#mK!abwFotpC(eRuW@7exfX!;uWRqt;gMgvxKb;p4M0Y*F$Hg`I+q*f#0^8enzm_F@JRrBxxb5g>pQoN~Fw9bY zgUm=8_5LG0{^SCg22O9`{0*~7GgO(fzboC_3Q+ZBk-08G84468^dL<3!U2S6pY|8vfc9?+p%~NcFgRO8KI>+A^Zir?#k;roV%S5*2PR_!2mm`}jCa=2CdIWV z;U@WkNxFBC&Bdro`ycOW0luf0R44mz!yxign`Zu4a#T)Ilfmm^%{9FJk z^IN2MQ*7UP=e&8Qb1H~pr*GaQ^2>qm#wwOsXX zZu@koW!9aoP~xEMX79$@dlx?YdgoHuKtPmr5y<27183eB9!9;CO{s+$0QGNNHKgi~ zvwVvxvPM^NCM(Z<>+HqYnxFMRQqF1%=>zDTmbI8cI z0`g2DF382fMJVR&^YCIbv~e5f1YkS`Ei?Ob<=xb?r&sX&K?XcrL66s z+sj7XSE{35)w(|H{&-jnX?y}PG*$DlEt|niP6kzgxl;5K&Xx(-zm+IW%na_<@z4Z7 zjtqvjhY>Q&;{ga&n6u!s+iI3B&hJzFu+}?+YKZ7dUmxyO>JMX~X2kY^Vk4H@qcJ{g zS*3FHP<;`*p-yUMV>|+l_ZdWPrWCxJ*H$oBcg~9XcKy#*0#8>wH|qz*%e2=Un)*cf zCf8DGESPPAga?@7t)X-+F*uLl+dj! z>L+^eZ2Le880D8Ww|r4_VeFx2KO?Jl-&LQdx0+lfJlGm-#@f;QktDa0;l-Gz8zy;S zn@{yDhhs_Dr}NDyz2mMTq#l(Pzu!!utR~@Gpmy?^wM^46YnX{O+x-(yc2~Nsb(&=R zJZ`pMz%fdu=X~Ct&P@53yCFf4i`?o7<8k93@-G#rJG@gOEs^)WMdyR*xZQ^yY+hkz zGR0qN!)v=0_Zh1T{S)uDqwiB5;-qr3@%Db4_HT7TD?m|8yp*(`wS7=%N2vO9$JAte zU;ARbhPKjF&uneg*JG!N7F+4(CjQg%6=7pu+f}z$7=xYr#?tjR3+Brrwr<#i8Nvv$ zFJ7o9&JnA%=Vwie&b}l#q7s^EpV_Z|Y8wLWG2!5 z-1r~7>Yx1T8_K`Z@_(V$<1YA(cAj65{}+G%7h?a96aM|dMH)0d`IqLE0smp2|4f$t zwg2U$`+qfiQ_rmHyKZTj^=VKjApd8#uMXpKujE=m`~7-r`8erT+AHQ<5XZaU8~e8e z;NMjD-#`EB%P2s~7ea*GR}>fh{M)Ad+uc&(hKdl^3O=YSg)1+V9M+M&>3j`d{&nM0A&D9VQ?{6kP%#}{X*?} zp)vUH=lMV1$N#^^^KYO3OL~!?ZGpTzh~jHHi+ zk8#ELCqjHL*Pt`qK>)O*`+nKvL3Lkq7;mO>Qqkw!`N|@r^)h{ob(sK2px7cG|EuD< zautH8l%FA6H$Cf!0DWeJ%d`}=e{%m~P#wcZRAl-VH#x8C^fcC!#g8CxMUCuLxbwJm ziib1vs5s2jOCRiWR7>#b>1p|1=1)_LYOz5f#4yor`aBPlvH2F8aj)S%i^n(OpIbJD z%_`J=ma*%tL5z$`MtRs+AF^#C}{i(K2O>ayZM#s#C=H(zoZo@{k>?RGx+@ zX-6TYCgC?#D2*nDlc2~c6Qqg>#aVzv;v1(4bmYsIFC}Qq*dC3FtY$U%`i_hbcQ|{p zS}3c9S)WWS6o^b5HgywiDLi)Zn^Rbp4hhu9TxP=WYZqAe?sv_2ZA zx-ueBcJj!|xTdQFEa7W?Zp~3PIHk50KY=+u$}PEOP)78}%SZGat)gPBqJ08l zYtr_Xdf=DWS*m*P9FK<1C%=}9@MS)1S6e6MT}7bqZ$HYmc6YDn_|YV&xJu9yHC=%O4g);wc0s_^HDBp_KrOV z_NKi7h%zHL+3u8cpO&*7dunPz;sRFz0e*cT(W^<8NF_x~^UH_A@(NzmHrx+CcJ~9- z^Orc-fwFUhT$EvLS~=t}ki@J-34D zHxC@bpu^ciiV^h-*3_NK^KZiR@$#KM9&-rixGPUg#i}?3AY2ZKH_nYM(p`}XE|**R z8HV6?>+9Nds`*fr%2`Jvwj6oqG%d%e3AQbEE{DuCsB@7!{644PibZmlG0~SH30$=$ zqM$dG!i67imhCh$a%eErt?U<;*uZP;TSk4}@G6LX8r;kOrls$RI=|M>6pKvEQ|sR~ z(+BckrNQ6;&CI2Gn@hA@nQip<4KmN?1wH570EGFbW>&X%x-sL!u0mDg7@xbZ+PHOs zD2tBP0TMf|OCU33eHUG6qTPvawWrb)Yh_1I%j{W)2AkQ@@+lo-A~M291&{d!I2A_= zm3HWdCWuth3>Z+vZazWfV4t;lv8W~U-2H?nNOxsj1FeTp;-OrA+`6=u!KssobanCN z5%)1dolk!ODWcgq?j=3c>p=t6~m!_CKp9e@=mk7qiws>fio7DgCX1fAlDRpV59( zApT#o+HbTp_ajyx&!e}J@&xqP1VG%Cu8GUJv)~vHlv?w=b$u!sXEWaF#{$uWWR@0| z#nZe~&KrQiab%EnK$n#px4V`ybfoqW3{Fdsp4?&5_YcFn9gL3SwN`B9GS^uoA|^Q! zCMP?~;Bn-lZgk=pL`%dkZ+Qi5wNx}WBnVGp;cjQBxR3dcC7IOJJLP=x1QiaP_YZ{j z{L3`%fz2ZwG(D{CowuZY9V;5_G(5yIQBE88u3c*YAD!7(O{tIu)8fLRL>drCI#FB) zFm!#PN(QaFAX31C_B;(Io!6Oy4fc7F`g9kZ7~giUXq>Kqn!F7XbQE=LYgFf zeMmsIA!^@5M)y1IqHW*t$$xYSTPQBnRO@`;{?u^R=ay8mTPUxKE z(aR2S;1btxrccM(c6rGnOSP}cMs>+`+4~x%W;6sWy#(=YZWGUaTt8QPfMNec`&~Lv zb3H8t6l1P(q(A8qWWNAA+uNU+_C06Go!5M6L+sz`h9FyN%p~afzSkPfd4n@kOd2Ur z6xE@v7plZHV{^Q9xX(yeNr8P!8?4=>shSJQkM~lL%*anP8UikTRZVg0%;wsbuzpm? zjbu*^lWnAO_30M?C8^)Eidu?nADA3r*(itkvXvuu95o)z>)(EJYo`qV3O!*_dVNo< zSqPyNanda^iI+}TrZ!s88)GIdC21P92?*rSPKLvjTD0A>mT*8)TeFAHN{l%tKR1ip zWN)%VuY|!!>7)VTxwoOrYkiA}=$|y+|9#R$w-SF^C*1ybmGaM^ko6)s_zOye>;6#P zUZN+{RDC3e^WIgI{#Ee&o8SM-SN!Mr-*2cDXKF86y$DZ#Mlg7}{}6%v zB3}MIe7%qfTnM`!QQ*uE5i$3Qw|#)d@=>5EuAZ(5hHg38>M8dp_VV(&KK zVv76qnsr3Pg8PLZU^LDJ6^;8U`;?<|x$Ev}ST}Gk3|F0)7N;$G^UChriqWpq%SlpZ zbF*$x!@^(at0Q@YFb0x({*n4IO=>o+F7a;{M^OD9?Oxffw)K)_7Mg#DOND zGu3+(ZeJ_6@;bJyiU3)@n#Sc2w;6rjNig$4&P8O*a)ZBL)m~j|QAKOY!R0N~S$)}> zywZ6N@_7DydHCI&NXvSD(suajV3UIb0Dp>Bv9?;pFQPs_mKyT;p8CS_-ep)cMcM1j z+Eb6J$Zv_3th8I-?fo)vvK7pC51}(k1HXFiio)pI@SXtdO}C82mqD#HdD~IDoxv+L zpn18;BdlBiQjBIuC*XceCgeK08Q+>@Cx&M=U$t&bDMumJdAG zJ{r*dAu)W;R}*%e|Puc@vxMzBGQAU9D1ro!I@rKA~&`Eor+9v z2_EWH@d8qzhK=NKm36OC)lCP#?=ma+!&^l&&F^z&c5r#mQJDV6Pm6qFoqU1{Be+6d z_nYC5Om_f5nJt3Epo!OQl(-_vOH&g8;K^5q@-O7#2`*I)0+gg4lqi(SSro@N_BM+% zzsP&wmZh;foib8pD5GCu2FUSqV`c!YE4+;#Ydy?atgf%OUwE2KIkU9%>TZUWo@yX% zV}fadqT$_>r;c@1mNnVZF5vSdw^rTPpxQt2Mj}@i?hmHUI3v;LY;xpPmUCqY3=6^s z3uKC`?Hm)>*d>AELm{VJH|;0|G`wt5>|K_^85XWn5nN@E$Xb-U-KrPg1S#m!rhS}V z6Y#>?A&j=-Jco+C2fQywj!X}K?!uV-wf)Bz`j^$jp;Vx&IJFN2hyeeIuY!r!2* zf0YdQX~q5@cH#b|3z+EdcHyT%`G432oNf5gz)!46`655_H`8z(cZa`%SQ$S+ENT-W z85WQ%zI3?kY961wXV$*zBdPQE$NGYD&dShLH`jeVKFDM8_?54lUTL=Ppk*pXmngDd z%!Bx9&^NU@6*fD*tq+nX`IU~VV@pJh;#xLj5%U8zg_@JwI zu=mSin2GY86}9QZ)#}b?;Y>03lNfl9=R!QeP9fSGj8@~N^%%)g zNyg_?gzf6-4ie;iIxTyf8-u-3@-=>@ML+P6X(($n5xkZ4;;nDv$z(J zXWZ@ix;JXpC6e@|65aj*griX(=uth-X`I_SBj&&=hDa?X=ky%3V^{3 zvVDaF-{$=y@;Y*dKw5Id0bL>9Z1>4fxH14Tv&kQJ%~`V+1@tsM6m?daS#*~$ImncK zYl9S)OsP3L%%tn3e(BvwNH>}v$co}|-oW0ox2g&mfuI-ciM)V|#C1nOfcfI$Fo}H9 zY7@#*6YBhJp;D2>sm!THG;T715PvYWJ2nmWaI`Fj;oxn$(n5T7^59Ozu1A1B9GV$5 zNL9)+)!O_#SpFM-SyQH~Z=ayJ5L+l_TGis-&eM>2=O4Cl8hrW(}K0eGvqQ3Gq zx#LD_lt=>&t3ug*HaV9rW_ps#@jWXFK$<`Cl+w;syuph~MA%CKJ^YcuGcgX!_KvcU z?q*wZKf|rcg(HKpH5WK%g7Tq}-By6m>88g)12~2vV$p2vRsc<_E{|2MWZaqVw~wce zSzvm8cLSD?WxZkQ&&h1YoRw0qV~Tup5qW(7p(Z=;-3xtG`K%uQ;Lm?Vm`WBKU7U{#S1U!D(*fnJ6zb&BH82RvLtmJ^8Szr zXM8RGhMNDAuk_a_-M=#Ae{DN$r4!Ay#y_KQ)#2oF)!jvp4ab7IGqCeLSn|^mCYz_+ z_zT@v&d}>JctPE=Dd){;O(N^(Qp-3H7I<1h^gV2uv1Ur;((_JHjymExv3@x{*n^{+ zCOAABM@#<_rCWFj06!)>puq|MnXP$ik}y%3W8fpYVHz2*hnng17h6)XNd;@Vgd=@t z&jSgxgDk7HX+%AG<3xY05KHLIr^*XNnwo z9Wi+5VWAV7<-C>5m?c1{0IAR7tObH#q+$;vOZ>#4C&GoMy#ApIQE+r%VFh(1kL=t% zIPwz7l`fXsT~rnYVMbTz&baJm?N9o<5$q^P<&4?KR-aH6zbcg#RI1#Jn(Uo{`;`y3 zcTCX+JR|L61BWT9Rw3vq;?AkC2X+39(JqnNg|T0EyuprQLpP`x`1D^XuE&(HudAHM z3?D6V*?Scwoh0r)2x#SRYCJ_^r;fmWdK>N&`&a9|MXb1Oe8H3_Gp;$NnX)`3eZe2Z$` zJeB#CBlhsr6{vpplTzdHj=6L{*9dwfr&{9G>O~^kZ$iBh^};vJNDYn4ZKm6U@^U)~ zQX&_qj`vHm?D43Fuiz81K-QL>yr*C_7U(L~LLYlp zSAlF>?XJPWj zZ`VO$?4{Gvms9al;gE6-hT?CX%2z)4z6vOdQyELpQ|av#sCuu&#JuH}U@UAWpOHt& zV^Uc-b_5P3dRpeDq#(Cab}FlFFU3ywc$!B=H*8>M_6mJ{WYtRH0+-QTdy@# zrKPh-N-S1U*?!EMSL_{w_4U_qyN1kr!tGyrn(gZ6KDeMHlI|lKJP!>aNSmK|=8?oq z3yLK?&uws+b6TQ$RAF@JHS%Eem@d%;C@+|ST852AB;#Z|VZ)1dm8x-QRJ#D;?gQet z@#O;7iM)klvK>>#JdgX&Cd-7r0HV@kuTf1ZT$v7^HNRdgz7?2BetPmX%I@u)hTey#BFa*d%C-C*l2>pZgi7^Q}+U-oD)urtKa4 zke+v7XS>szw5fOnJX4@cBrSel99R|@j-C-c3S%Z0Q+A0_VJ+AX2sCL@B_G? z@FE~wgv$}Z}m0Xc9#^RY}vrDj_$t6Oxx|66PW&Thq%=(k3N1O>+u-v5Pn_Sw%vF8cj$(?*}&hE$o5TL zKb}|?0KF^K8b`LcxAs1>G}NX|krO?UB#~lNZ(41>4Fls=m+(w!TQQ(hz5ZG1bp|S# zA*=SlI2n+?Kc>d$jL6Odm2A*E`60|w)VL3}mMXR5a`WLkfhb0F;~?|PU8zPV%nbE{ zu&vg4&lKZ|d1Sqf z^amMO{HG_eZ(UbHFf1?F5C_EfYwk-&SFa8Vt8imTKLI6M)tP5iiJ0DRxN#P-L1;gp`{fGXhqnH}R>j zmCE>Bx=YjdrE=dke$Na&)#W4f4&t5M1CS9TdP9zg`ttQ+H_0go6t(=+jk?)> zr_4~&%p}lk45&^DLVml|Sli6h2%1AGN%i*)Rg8#J&w8#K!j_bI1zZA1Of!aO3mevO zF|CsMPe1JE{)azy;oi3@Lid6pAUgN(HV(e}OXvFxgSGA2n z2FEEe_i`yQQ+QeQb=6DTLp2|U12=7934O3MMKh`?T5_>tkfIY??Rynx?l?sWsTVpi z?K?>?yJNm5i*=eqw;p8@0kF z4<9W?oWxOx90j@oy9xz$IXF0!CHZ^!lh>9)TM%;LT5Hw@O8l3Y7!0L7j|0iCC(FO@ z8R&eBiAd;{soyUgQV;@fkXh8qrANshZ1Sb(r`)+Kev_sABV%XQSxre2+Jm;yl4=)I zR0JrJleL%G$g;f&`22o)>dtjh!8-)USsCYBXEPeDiKbImM0jl&f{wSQ8K;Aq*1r#v zX)UL?>?l+rD!)gYDDR3;Qa-~_CDE|CW`j?!fVyj&5j9f>Dka%dhm9pSR(4AF^b#Oi zZf?$cw(6l0FLmaj?9m5nv|(Vb)OeeLRf@+{D-{}mcpj~Ds;AFpjJv27?T#%NG*{}Z5-D|l6f3Qjj>VOjC+nJ;DrsudbKPVR3nRZ&tko`$O+00%sQi+~GUt;L zGhyT;4Erflo=%~@<}WH8Lc zNNRs?+VL)L;9LN>OeAm$tu)}G+-hMKO2G(AC$`v!MlKO9Xbs%ggge>R5wfQ#J#~a# zsghL49(<&!sgb&&!P&F{P*XmZbgt?0c^PZTpw;uqWpDKvtPlI5cG;fj2Ih@i^p^k^ zlrTN3sJQfa;=NkA*Ttr^Z!)F^Y@$5#!RC{BUl_98w0J8^xGOo=C?6|yuG|qZq8D)M z*Urs?W_c24Fsu@L+0%pNx%*uEx>&LRKr$VQ|D+Or(u{B^1=fGIoWI4(zm+!q-KhNz zKK^QA0aX_jTt`$G7fv~+?%wzpQSG`N4mAW^gvYp}7xg}Zz{CH^j{M&CKbrIlLrO3d zbZHN9v*mKH@KjRcPC!nIdleU5AoFz7y{$(`nx2>L2q`K|{td|hu8!v0{t92Dc;*b< z&j3oK&SKp=xR5hn-^J@&Wvi@3y49|r4=^}%ap7$3iHyzgD;mf&-j%^XywzPAi1u_( z!Wt!Mr)#`&Uw-6Eb-72XH`C_^x+T(JStkz3#XZ)GGBteM@TcsM!`+KNVB4w!fWJtX1?{L25XtXu6S92vvC3sxX^GNT&TU>$w|-~J@Y9irlOom1=?;d-PCPLWwYHVQow zc28D5RKTdZuam~ zTC7RKZ0t$`Nn1`7=xh^?MwEn`*l1}3L^`LpHXgeOw<&&9{Jz2e5xa^kO2BU@+6};| zf$Eo87SU$1;?wqb+!1rJX-_EWLY~i zy*7+q_Re5#W#ZcZG$;nK_cwREVh|96!flsZ}j@@p%vcNI?^mWe(cvKif?p)$Y~Z#!b)R3F+P(8dC2YU^!X zo`17H1hh%T?A|Pk%r;$rrLHhq`rXaggksHELY(2|y91>qkukHE0giFyqNDd}V@ymc zj}9c}xXniL4^vbMf_Ch0AA=1HR za$3P*UXkM7W%ur>FAK+`YBTR0Puc(V2(O9&XGk0}~#8c>d)mN2eHG#&Gv1t#_wX89S&FS@t?M-!<%RRY=+&>oscaRO-r9&iAjIy_B$(RURI?PzCtw7EiH4i&Pq7NK^H16zJewXUmx;9rL#(jF!Ze zYFo8iI~#YvY?%tCUWeLPM>ihI(xb^GSQPUKJtQ~YS-{7fw40&N#}J#bd#u;H3eY%Z z5`hbtlnY8G3!G)9W^M<0Z4gwdbKNv(ktnQk^Y&F-vD?%9c!md|1sbWQv?&#=xlG}Q z>BY0dG2PQ+E+Wx3T5R+%|MCdB9z1m6R9J&%u-4PS~kP9{M5>HXu_P#(wRdjRwsf!2AVarP3dlchPZ0}cq?acS8dOGVwz*cm zXj~CCF6!&6-LuO2jNTMJgF}CVvL79)0$)5{h|cU zZ$jaYc~Web3lc5y=%+{0jvJlwdP|YmBWFxSXZ3Mk(&Cc)F{`6lQP6w9cZ)mr_Pj-< z3f8PEd`~TS4Ln&EEwU)zcov*E0748Ss4q+USbw^DnQ)O|AyRvO%-s)RM1oCsEUc?~ z_U<`XtsMOo+f{UGz`XbVEm7TQgM6h*o2Z2=*L3yi?ttqU5|zb-D#}kB_ED9YCnV`K zOF+Gbuh7E=FI2tO){{`7*Tt*w&I6XLZkNSG=4cX@Z>ZhUX*q zt!&#^77{K+WM#;Ej=ByM>uOe_4wSRH8|`aT->6tNXMKL-zArl0YsEIG^&CwWkeU zFf1`)M%rf&t6y=dU#MnT+!|HVGxpA9r8+6{;D+GG{N^$(%5?qeEhN|e4&#Z5I3Ue) z*}1T!_q4IE-?r`9*U|j$67CdbvLgniXCHCO)$lfpQagaey6BxQ*0BjKLe;({QQTUe zaq9qh;60S=2VQROh31rj8|1vHhD=?D>Pp3@luHqr8iPa@Cs)&3Juq<@exrfCB-~n& z+zYldHERx~^Gu-`MS<2e)jK#f4awRQ*)R){4<@S(@unChi8khUAR(*ROK6Q2xI@5U z=q#++L}o_EDD%;j?(;v$@fci<#Hi@z!RUijTk~6Can7!HPn0#JQm%Q`B8lV|1D)*AWm~I!8rM$gC;g$9R4KAQ>>Kllcb6le27W~Lw8?Z{-E+Jin zseqOlRr&cw=J)Aa`PJhXi)H}V?{DQ1@vXbswT(vW!n*zSCNa=OTejMeR(S{IF}*cx z%Zj59wX#9?qar_FF6SW|hwRc(+} zG6&%;`1s<=Uh!h9Xg?ba9yoBg?|F7vuv7lV?TCgJxe24=lh1pZH|2m1L;42MN7Um~ zY6#wW0`(^8V;2MT86>l!jMKp6`Y^&-^Lpe{FUAyb-9EV|kH!;}@J$s6=kz|91OC~G zI&k&sbIWxd;rcyH8BXv^smyBQBiA`im2p~!-7n{oFzrefX$W{Q;U!^L+B~JKt_Rma zG;P=n$&s&s-~XDI`p;`zn(4nlh97CAAE~APbItXixv2jlLH?f1V#PE1-Piu99JyfT z|KKpT4B}RpxL_j9tibRTP(XKH8ECI;<)5u96n{KmlCsi!Y<1H;JdF?Zayq#>6@~ zeON}290S)Us$t{~JY1S!)_B^RCCuhYR-x~h$AdL*s)Q*S0++Z*j*)-N%T^XGsI{uN z-*_3ISX_c^-FX_G2hAL{cxr9QB2NF7Zm%F+y$SwC&BfM*Od+pPwKND<%_FJu`AR6( z6-I8uBXR64^_6>*<()^|J&Tt2gXh3 zG#uu5&EqMUUmE^V!aSDtwFv2cOHviJGHj$}|A2|q;tDn1tZnfjgh^hzMa9{TGigpE z1#(c;H>9_TRTy-$yf!v23XC>P*kf@?dsN_X?cnCkT#Og?k6O>;z11yE+zQn!_E;uI zxJ7|-ivDd(<8`Tsn;B5^&w4ToIYq`3CWh6JDd-o9lU#$Im0hw`_x16+cLr@;=oIo} z?p!)iaO|LH8oHy)=av(czq-5$POS4>C+l(oM2pGI=*JwB~!R z`*^u$tv}HOqjt&ZVX{E|>FRK(B7C5B5~Rza%rybCt-3~Tfo|PA^cu(7)?uQib*!uQ zKjv^hU`bktMta4|Hb+pi2IkS}?5I@vZ>#rj=;s#J*VNZMhkK$P_6b}q*2x-x?a30W z6{|5dhpgRnxuO{FWBufIBvBlwSTkd(CpllIQawX_agV=ac>Trbx>N|hWaOg(WPl4Y zw@kt#vH_fTD}!o=>-n88#4Fq6U%GO<0~fS_oYUvqrjgl6BmRXh!>B>ODJh!day>v0lZ1PE3z*RO^B2 zRs6Vg`annN&PHjV+5Pyfvrk*fX^*>drcF#c{BHHBm;J%V7rFbozUtGd!ouSmt;v3S zoAWs-IhG@52=b&ajkDDrJ_tN`Q(b4rpC$CP!)3pd!yLJ_$*d2rs!yUKEsw3a5=~4< z&M**=S_utV13`7Z8B7gIKDt(pRL=4hicB^u?vUdac*G?q1*8MvsuDk93@%x+H_0iH zL$C>ehGP`3v?Vye1<3FpkvCjAud3O-vw2{!3KF=T5gpQ4P~1TLaX+nkG2BN(Ju2q-O;tjcQDYy@VIn z)iOM^VcXmH#m~XNha*)-Z*F@p_Pc}M$>)ma^-7~c;V7qBmjS}=b;CdLCQ#@>f`d$0 z2b6eLuu;x?Q0((M$TdfchYfxvM<*vflY}igaEu2Jt*(nY zu5iT*w!;M~ei`tS@qkkqlrCxGK%GFwo>$BT`MK{ybK{f$&N#g||6)`Ag(QZXsz?f2 zYc1SYMdHCLVGCvQJ`QJb9H^YmF6MW-)L*J_wFxl8ys&n0S1J#(wUuhyrRCsWzD zIw@@_^fdy45I`Z+H(qN0#rk}t zmnZ6EY|O-Sr|Rpdr?&lQGaan{2CGV{=(QIMoL$t6fE=KoTL1~@USsBRwAf^>_-9p$ zP6DTpIuMt*yG_Zav5J zp#s~c&Ha%*UI%oz9FFH8IiBgAkt%vKFWi{6S%}-k4eto)2(;c_u(= ztFR%E-Ag9N%em~k&GgN1<}ej+(N0L{i)~lQZ~7Z)tU!n9&Pg?&gHfAMURC1WPD1lR z*37n88Mo(g zuaxNJNh$#y&|#;|Mv?$G4-f8yCtkD)%;J+7l}|7w6*8c=@0AbXflb&YWQPLJ8(^hV zX1cTIVf|OYhtWG7$?(w^HHM07JnaeRU#lWlBDWQ%2DrF7^^mLunH_yK3X+KB0sA+F zQu~~3882mzN4hmN^{I-kKOWQ%IKXt1D_mY3AYC?HtHo@stc-8?Gh6?OM;Z}KHQKbK%UeD4^XzK!Pf|bYBRS zD)k7!M!+ekUK57OdbEiHPF3H^8sKNn_0dUKzKsd}Ns*w^DI`I)!BC3vYC}d8w@PWn zE;B{zwub3s!qFJDoI@2-YZ?9&f>H^JOF8ft_t9PtfbB^upC7CtRmwV0avksA!81IV zmp<2hW&T8cDogVTG0eNM*Fsc~zwac-LQz!nfPsEGGIJTTJlNyBcX7;5;f~3}cr(lWY3B~}H z+O=xnB*vxAZS0kxflI{aMq0?D(#9BWeST;C1RrW^cCce~ZlS^A)REslN^iy~g{qSU4YPc^20P0{^S=2IIsc4V_vUA=b?{jkqyF#`bbC4DSar*p2(C@O zGcZ~C-ZQ31nhTU)3bvR8fE+eYj*1TL9j{5jUBUv?ej^GKcd}sa0bL?qpve(_}3`=|F61*E7xz+8KlI6wxd+6(H%bgPiD$cR)`9v-R8NSjkJ$Pbz4e}!?Zi%^;*|K+8$63C=f0#fm4D)yHX=bQ(dMjL+KyfU2Q#Mw zCDudk3selXCx$xcq z;+RgWt3wMx``uQ}wv|V-WBhtBp2s*siwYtyl|`CBj{em_DXc5Jv`jBaZY1+PKs|}7 z)hLuq(}14oLYe++zUe>i&P8_XcbDgXWV!wyF3-Oj`OEFm)%)T0zDd_?EfbPfrTDEeoK`>~WP>cWUW{70z6^cs z@W83b-c_C47^k#o@Rl7w806aUt^l{Z+tiwG!Z+;U>DPM z^kFj^2PZ|`151l;@kkhXc_L3X+{pGrY(tk7GjktbsngPRL$Sl$`{(X60>Zfb3Moi2 z0cHI!MN54Hd;LfDgugxw6t`NQDf9Vq@-(XvcZt5T3nXRl3p99a;By%}}-{;(o@^wYW@~S7#djCKqDo5N}ey93edX^$#0!O;R zHsY_U&|Bl_#JNyXK)fZzwOzQ!=rQal7VsE1e~z+>!Z{mI2!B5vm@|7@xkokEm){Jj zKEa2jRng3K^=yE5kSRy}0TkE5SIZii9qYx~XN4SS2Ckbq;qoKGh^!(6@0>YMZxY&# zy)^WQ`dNZlU509U=;Hp_RGOu16uv2;f0KFy9`$Zs(i0Z6j(B{%f_Ob*CbMk>R1DGv|Co@+iyKYq*RgoK^?2@0^4%p!8Y%d;y1~f# zK)Fx^`*2`h{cZRYgaS7)9K1*09I^^OfjQT9%~Q>6dD;6D6hL7`oQRZ(crB_Jn&;ij zD&OQt2OJjnOxYd|p{Z(@lI5zMP!*iQDR- z7O@@i2*H0*eOUypU@zJ%cmCt}R5Srf>*d+tDLMDgkCu>r`q%748%d(;v7j16uuAGz z!@;GhagK(Gr?EXAv~x!&C%Uz0K=0O-Nc*gJx#cG=3D%5O$$A|#^y8&DC<;nZy%xzw zddSg)pF}?{%X-*KXym7_HqABT-QQAM(A{{{LIUUT$PjvceP24l;l?DcH1_`a{uQld z-qbP&R60Xc>LTQMafz<(I^lS;aQfF7N1(+ka{K||5hR8G`o%xK|K%X^pGN$IN&5eR zAoahWq<=1Q!RhxSQs41cpQ!ihPp1EGFyycE@h{EcfAgXFo2ZDOBLB^IM$UFBsojtA z@}Z}O_TCSV!&KU-nk$v%wD>+@6+ zQXG~qNEH?lPGqRxz|C>I+0p@@I5PYmtS`NnLOoE{K#sbUr~lfJ=hzvJUNfF^Bo^6h z+E;t3v@)FoRdsGmWLIpaWAuET=E*Wj-GNwG95D*WbWZhj^6xw9P!gYEg<1{i?}e8M zNDNJGRRzUljuvsI*T9>A%(uMjjbMDX;iC_0;55T*@=r@95zKN+Nr88(;*{z}Rz*Xq z)WZyIZYRy&@V&WaM5W(oYR{R9KchAMW+Z(zKN0VoQ@>J%>|Mcxlw&Vc?9aey{sCrY2v@!p^44&(81Ffiwhe z1fO#ZAXTL(9v!*Kg;7T<+Eq{+46hwJL}akUdAY6xr9+RH^)dwEK{dj5E$qmMPMNdZ z*fF{pw&>5LwX%=gou|5XLs;2iA5ZG^*J}yXTUJ06Gh|Y`Y(g(1lpRY|ytN$Ogoh^-Xmbc; zsPBxUsklet;(d=A0&vXt#`ANg$n3n7_ant!p1Fw=cl1TiKa_t{4_0EW!A>wc431&n zxgl;Y^KHeFFk1cyOqj1WG;u|L(1~16>hGRt)^pYS;;t&$jRx-x?>k}3kRzgSB=E#y znZ7ZatNZoKjmDH%>JJ3IQw%|*_o*3Jojot>2?ExYRF*y zEGQo$%TG&9!c2|9d*~b{w%J#X87~$&GY#iP$q$+c8IaJiWp!{1>@Dt*OWHFyr6g(( zJh16)@0j+p^3M?)(AM9phbisitg6>4$Ve0&5)n;nE0X~l8`P6ec^eejh*Vb>QoHP8hSkn8?grC0;HvTrE_@!$6 z4;EGb=I6hhs{X05`FG{l?~BI%{^0-ofPX3-|Bd?jpAzbSzt~@`y9kO$Bf>tKGFZ-w zCRkEB{f{N(tzZ9g_%HR)p?-bQFRs*mLSX zpOUTih!qL|Y6;5K=Ht3hO_{C$g5tQy^7EvLSZ>E)dl^R@doQf*>HGG zf-_4dJ8crZfo-x{?-*TYuPdfW`k>f1ENo9hKrHrnC`SpL70i46{L*y3w?jGD4Jn)K z(l(r85R2X)1=)hHFZ0?RDwwkRb~@knNfC+-VsUsYt-rcG-bqCdQnbnByYdC;rtz#$ z|3lS>lkli}5eYM*YxCjp2{s*H7j)}s(AqwgZh4FaS#5exEhVHsNUb2O6y_}_n@o25Q7#JIWY?7q-_4|O0Awb}iaYJ+eX-@E zWs{xZ%KVzYbtM#?67_kX=EMW>I4_#we~dAtsqx%aXUaXgZtC{qLafgW%wJzhR;IYUNcqM7 zTa)g*7>S~9d;PB1_b*oz$J#f*A=mY<5?)F12{fXcd*=y93}>yvCIG5?f>ufk9+rTVDF!x?_aNKe+Pj7wSe01eg^-35B2jiho`}RT1@S)&xr8-zulDa&o5OI^oYNi>7D!iu`3l4h-kKa4uslFEh(nd>%N#| z!(Q4gZ(m!@YSsFgv)jUh?9CI?+892a(9GP zX5yJ)TtbFA=Fg!=MnqJ`sbOM#U&8eRg=lC_pe(ree`A zbDK{+$d(f}tq*MQH^E&F=`E)2?|s3N4hqdq!dQE*H8uN!_9#~m3k!?v5|Z$li=L0c zJoAF&PYSheKcRBFn&f>%L2KveK~JFb7rEOL_#DW&!b}xoS(Nv5h06ugR#?dkmV_2< zgQ_dAb!bpm(8mn3wCtmdC_)n#R5avWqC)^EAhvFmrSit_hg$D{A$cRW12|`^ha(2r z8!C@%(A^@@>xJ44dncVPHZN+B-e?)bepo#{yrS&e^n1^2 z%7;8Oyay1$#>@!|3v-~1l(pt8ic zTXX0j&=Y(bmD2`DBcGA+%S(0we->h$D7XI7a>oKbQ(IZRMUHRagcF*`80K>J0zV1A3dF$x;V{0Uf`ZY(ay_dm(F31z{PVgpH(ptcXICj=kVFq1? zC5%f-|Q|_?LL( ze_Elx)k8$xYX3Kj$v=H@E{u7rPleXaFpF(e57E5_I;m4Mzh_B6D0~T`YH?<-eP6@v zc*V>`0S{9<%WR&_R43#%Xqlx$eiE^`2Vum|^H8{k7ZRuP+McknrTO|9 z^zBXC`{ozrFB?$0=WDso(>#2n^nx*XW$jtA?pI8b!7ZSCR-UO+^qrTX4^=x=0u-=~o0 zgQ*<3$|+-!tWZ)cnto1a2-_ph;kqhx1`-FetdnyxE5I_a?}T@fN!Su%`NHofU=@pY7r0IsfEC(^et6^^^KjwOr)e0;K}#$uF5SkdJx6)C*V)QUd*?YW5z$WnQ$x5SmtD1PiJETqhoL{n=%h@CZC!EKyU z^l})ZKIpSHBF^FUt9DD$%=n6VvF0Quq3d0ueem1M4&OJ^cO0G@=b~ZzZ*9XpK2|%C znA{LK)*n^nJOtHzqY;{jb1Rm@MP1!LX-*IfzP0B6$ij){(baHsHkTh!ho>5lkyah| z5b=y6nPb8(@afaNt^YVrrAq)<;>%Bv%ZCYnRORSyVc3Ytv?yG64@aY91tA5-J+cP| z&j#0a?nXI&OTKeG!Vm4J({rUT78lXO)bi0%>V@}oJ?I<1toqBKLNa?kF<#M0X#xcJ ziD_?^Md1w66P9-^p1`l3$ZLjDgzpvWrkSp>Abnx2y|W3%6Z%wDLSKm7G#r$tdXB`5 zJ$|s!-h47&zutf4LMJiojvk&OgmcR}rTfA)<5%)os;p3_!@wm+*xrQAPD0d6dgp`O zg=2&7j(j{y!l@I@vFfM2TSmq4dG}i!VvlN8qckU<)z*y&z-Gv1u?duEv+I&G(fvi3 z{D3#u{{DlfVIb82ssrw*);o7jn-dIy{FEw)azr}VXn>)L-jT)YQ|5a4((VEr#0Ov6 z;K)Xv>`Tq0a8A}w;1k!Jcj^{A44q%v=3@hj_W+$I0-#rkYY>}}I?1_*KVGLrxeu52 z4?xaY9b-brzgo}N?u>{|%H1;peoh3M6aQ-BEVw?O(wOx^r*v{))vh1^G zZx7(;FXQw!qkH+vMztWIusPCU#UAW8CBqDm;q_AwOV5TNG{RdmCPQ=v;g&DKkjta* z8%GMT0#p~pkD2xrri_&$?gC?ThB4-1kih(Hm`)xokHfGgde<}1EQDE0BTl{khB}`J z&BLi50o{)diXoHVy$zosP-bf%H0;2NZ9*FKZguC|(a2~m-;zS$5<@9X#ZoA0nNrdy zLR{;T6AAtjQ*cxP(pk0%1kA;EA8%M@WLRE7IZk?kw%R`+Dc#WxT!QIUfe1D%+?Hlfd2y^!$Lec}=95uz_jqu@2 z>I*mOj&-pI2pj~eOfAA5HIH~8pC~oz(cGIx>lq{t_kLlMd37gNbA2zpOv^dfTs;@N zNHhHORo&kpD9k$aK-%g*dSVi13C z?EjQI{r_r6{@&UAizh?osX#FKt}n7An0y0&nSB2?zq-KxtA_c-y3z0crK|c(x|khq z@gG~R-c7VZqZO4Y3mow{p{ zRzVGBmWo6Kd9JG~`>>^dglV}@msH_m_A9>c%e2zg16aP??L4fZ=b#HEN>_32OT`J@ z$Ft1d9Z$={iimUl%hdimYF#m1G)K^)>I?x4Tg-&uJKK(p2`)*x^EE~1X;U-oJm{UX ziMrGkC2NC;sB~rO1V#J3@PlTVld+^xJL57%SghD|b0w;bqjpOav-8Y_4HS?@;YKQ_ zKuMpfn+m^W3^4gs!23Tj8l$ zFaX7mAI+}43nk{eR479XVTuZ3fV)rkIjv88u0>8T&fIw#+~oT@r87GdQJPSfjx@?( ziAafi)0{2NxusMRKv#nj%mW$RQL88}5k8VEw?QQL_+i%e9yd${{yfpP3MZvm3i?hz>-Fy)Sku&BIW zw7;iQ8K(~K-1F7IYiq1|CiJC7(}295AL$ZwBHiC_-kH7e=o`ytJuf`R=pL`7vybn< z&E+h8_q{LlrN#HX!-qAbkpAD5$sdcmzA@NVOqbr*kkEd!&0xs^L_iJv%sJ%ot�dLZ+qb7r!w72gQMAv2Di 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 literal 0 HcmV?d00001 diff --git a/docs/changelog.md b/docs/changelog.md index e69de29..4c0455c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -0,0 +1,11 @@ +# Changelog + +## v0.0.1 (2024-09-01) + +### New features + +- Initial creation of repo + +### Breaking changes + +### Bug fixes diff --git a/docs/credits.md b/docs/credits.md index 5368256..2f8209a 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -1,15 +1,42 @@ ## Citing `eo-tides` -To cite `eo-tides` in your work, please use the following citation: +To cite `eo-tides` in your work, please use the following software citation: ``` Bishop-Taylor, R., Sagar, S., Phillips, C., & Newey, V. (2024). eo-tides: Tide modelling tools for large-scale satellite earth observation analysis [Computer software]. https://github.com/GeoscienceAustralia/eo-tides ``` -## References +In addition, consider citing the following scientific publications where applicable: -Placeholder +``` +Bishop-Taylor, R., Sagar, S., Lymburner, L., Beaman, R.L., 2019. Between the tides: modelling the elevation of Australia's exposed intertidal zone at continental scale. Estuarine, Coastal and Shelf Science. 223, 115-128. Available: https://doi.org/10.1016/j.ecss.2019.03.006 +``` + +``` +Bishop-Taylor, R., Nanson, R., Sagar, S., Lymburner, L., 2021. Mapping Australia's dynamic coastline at mean sea level using three decades of Landsat imagery. Remote Sensing of Environment, 267, 112734. Available: https://doi.org/10.1016/j.rse.2021.112734 +``` ## Credits -Placeholder +`eo-tides` builds on (and wouldn't be possible without!) fundamental tide modelling tools provided by the [`pyTMD` Python package](https://pytmd.readthedocs.io/en/latest/). The authors wish to thank Dr. Tyler Sutterley for his ongoing development and support of this incredible modelling tool. + +Functions from `eo-tides` were originally developed in the [`Digital Earth Australia Notebooks and Tools` repository](https://github.com/GeoscienceAustralia/dea-notebooks/). The authors would like to thank all DEA Notebooks contributers and maintainers for their invaluable assistance with code review, feature suggestions and code edits. + +FES Finite Element Solution tide models were developed, validated by the CTOH/LEGOS, France and distributed by Aviso+: + +## References + + + +Carrere et al., OSTST 2022: A new barotropic tide model for global ocean: FES2022, + + +Egbert, Gary D., and Svetlana Y. Erofeeva. "Efficient inverse modeling of barotropic ocean tides." Journal of Atmospheric and Oceanic Technology 19.2 (2002): 183-204. + +Florent H. Lyard, Loren Carrere, Ergane Fouchet, Mathilde Cancet, David Greenberg, Gérald Dibarboure and Nicolas Picot: “FES2022 a step towards a SWOT-compliant tidal correction”, to be submitted to Ocean Sciences. + +Hart-Davis Michael, Piccioni Gaia, Dettmering Denise, Schwatke Christian, Passaro Marcello, Seitz Florian (2021). EOT20 - A global Empirical Ocean Tide model from multi-mission satellite altimetry. SEANOE. + +Hart-Davis Michael G., Piccioni Gaia, Dettmering Denise, Schwatke Christian, Passaro Marcello, Seitz Florian (2021). EOT20: a global ocean tide model from multi-mission satellite altimetry. Earth System Science Data, 13 (8), 3869-3884. + + diff --git a/docs/install.md b/docs/install.md index 5c5202f..60524f2 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,15 +1,31 @@ # Installing `eo-tides` -`eo-tides` can be installed into your Python environment from [PyPI](https://pypi.org/project/eo-tides/) using `pip`: +## Stable version -``` +The [latest stable release](https://github.com/GeoscienceAustralia/eo-tides/releases) of `eo-tides` can be installed into your Python environment from [PyPI](https://pypi.org/project/eo-tides/) using `pip`: + +```console pip install eo-tides ``` -By default, only essential package dependencies are installed. To install all packages required for running the included Jupyter Notebook examples (including `odc-stac` and `pystac-client` for loading freely available satellite data): +By default, only essential package dependencies are installed. To install all packages required for running the included Jupyter Notebook examples (including `odc-stac` and `pystac-client` for loading freely available satellite data), run: -``` +```console pip install eo-tides[notebooks] ``` +## Unstable development version + +To install the latest unstable development version of `eo-tides`, run: + +```console +pip install git+https://github.com/GeoscienceAustralia/eo-tides.git +``` + +!!! important + + The unstable development version of `eo-tides` may contain bugs and untested new features. Unless you need access to a specific unpublished feature, we recommend installing the latest stable version instead. + +## Next steps + Once you have installed `eo-tides`, you will need to [download and set up at least one tide model](setup.md) before you can model tides. diff --git a/docs/setup.md b/docs/setup.md index 755eb07..ba7a16e 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -1,43 +1,158 @@ # Setting up tide models -## [FES2014 Finite Element Solution tide model](https://www.aviso.altimetry.fr/es/data/products/auxiliary-products/global-tide-fes/description-fes2014.html) +!!! important -1. [Register with AVISO+](https://www.aviso.altimetry.fr/en/data/data-access/registration-form.html), and select `FES2014 / FES2012 (Oceanic Tides Heights)` from the `PRODUCT SELECTION` section: + `eo-tides` provides tools for modelling tides using global ocean tide models but does not host or maintain the models themselves. **Users are responsible for accessing, using, and citing ocean tide models in compliance with each model's licensing terms.** - ![image](https://user-images.githubusercontent.com/17680388/160057710-dbb0c8b9-56e9-451a-91c3-d90e503d8512.png) +Once you [have installed `eo-tides`](install.md), we need to download and set up the external global ocean tide models required for `eo-tides` to work. +The following documentation provides instructions for getting started with [several commonly used global ocean tide models](#downloading-tide-model-data). -2. Once your registration is complete, login to [MY AVISO+](https://www.aviso.altimetry.fr/en/my-aviso-plus.html). -3. Once logged in, select [My products](https://www.aviso.altimetry.fr/en/my-aviso-plus/my-products.html) in the left-hand menu: +!!! tip - ![image](https://user-images.githubusercontent.com/17680388/160057999-381fb818-e379-46cb-a3c4-a836308a96d8.png) + Please refer to the [`pyTMD` documentation](https://pytmd.readthedocs.io/en/latest/getting_started/Getting-Started.html#directories) for additional instructions covering all other supported tide models. -4. `FES2014 / FES2012 (Oceanic Tides Heights)` should appear under `Your current subscriptions.` Right click on `Ftp`, and copy the FTP address. +## Setting up a tide model directory - ![image](https://user-images.githubusercontent.com/17680388/160058064-77430ddf-1939-449d-86e7-f05b27ca768a.png) +As a first step, we need to create a directory that will contain our tide model data. +This directory will be accessed by all `eo-tides` functions. +For example, we might want to store our tide models in a directory called `tide_models/`: -5. Using an FTP client like FileZilla, log in to the FTP using your AVISO+ username and password: +``` +tide_models/ +``` - ![image](https://user-images.githubusercontent.com/17680388/160058263-b0b1da72-e5ac-47ca-b1d0-544569d3f06a.png) +!!! tip -6. Navigate to `/auxiliary/tide_model/fes2014_elevations_and_load/`, and download one of the following files: + This directory doesn't need to be called `tide_models`; use any name and/or location that is convenient to you and accessible from your Python environment. Please refer to [the documentation below](#configuring-eo-tides-to-use-tide-model-directory) for further details on configuring `eo-tides` to use this directory. - - `fes2014b_elevations/ocean_tide.tar.xz`, _or_ - - `fes2014b_elevations_extrapolated/ocean_tide_extrapolated.tar.xz` (this extrapolated version includes additional coverage of the coastal zone, which can be useful for coastal applications) +## Downloading tide model data -7. Create a new folder (i.e. `tide_models/fes2014/`) to store the model files in an accessible location. Extract `ocean_tide.tar.xz` into this folder (e.g. `tar -xf ocean_tide.tar.xz`). You should end up with the following directory structure containing the extracted NetCDF files: +??? note "EOT20 Empirical Ocean Tide model" -``` -tide_models/fes2014/ocean_tide/ - |- 2n2.nc - |- ... - |- t2.nc -``` + ### EOT20 Empirical Ocean Tide model -### Modelling tides + 1. Visit [EOT20 - A global Empirical Ocean Tide model from multi-mission satellite altimetry](https://doi.org/10.17882/79489) + 2. Under `Data`, click `Download`: -Tides can now be modelled using the `model_tides` function from the `eo_tides.model` module: + ![image](assets/eot20_download.jpg) -``` + 3. Create a new directory inside your [tide model directory](#setting-up-a-tide-model-directory) called `EOT20/` to store the EOT20 model files. + + 4. Extract the `85762.zip` and then `ocean_tides.zip` into this new directory. You should end up with the following directory structure containing the extracted NetCDF files: + + ``` + tide_models/EOT20/ocean_tides/ + |- 2N2_ocean_eot20.nc + |- ... + |- T2_ocean_eot20.nc + ``` + +??? note "FES2022 Finite Element Solution tide models" + + ### FES2022 Finite Element Solution tide models + + 1. [Register with AVISO+](https://www.aviso.altimetry.fr/en/data/data-access/registration-form.html), and select `FES (Finite Element Solution - Oceanic Tides Heights)` from the `Licence Agreement and product selection` section: + + ![image](assets/fes_productselection.jpg) + + 2. Once your registration is complete, login to [MY AVISO+](https://www.aviso.altimetry.fr/en/my-aviso-plus.html). + 3. Once logged in, select [My products](https://www.aviso.altimetry.fr/en/my-aviso-plus/my-products.html) in the left-hand menu: + + ![image](https://user-images.githubusercontent.com/17680388/160057999-381fb818-e379-46cb-a3c4-a836308a96d8.png) + + 4. `FES (Finite Element Solution - Oceanic Tides Heights)` should appear under `Your current subscriptions.` Right click on `Ftp`, and copy the FTP address. + + ![image](https://user-images.githubusercontent.com/17680388/160058064-77430ddf-1939-449d-86e7-f05b27ca768a.png) + + 5. Using an FTP client like FileZilla, log in to the FTP using your AVISO+ username and password: + + ![image](https://user-images.githubusercontent.com/17680388/160058263-b0b1da72-e5ac-47ca-b1d0-544569d3f06a.png) + + 6. Navigate to `/auxiliary/tide_model/`, and download the contents of one or more of the following directories: + + - `fes2022b/ocean_tide/` + - `fes2022b/ocean_tide_extrapolated/` + + !!! tip + + The "extrapolated" version of FES models have been extended inland using a simple "nearest" extrapolation method to ensure data coverage across the entire coastal zone. This can be useful for ensuring you always return a modelled tide, but can also introduce uncertainty into your modelling (particularly in complex regions such as narrow peninsulas or inlets/embayments). + + 7. Create new nested directories inside your [tide model directory](#setting-up-a-tide-model-directory) called `fes2022b/ocean_tide/` (if using standard model data) or `fes2022b/ocean_tide_extrapolated/` (if using extrapolated model data) to store the FES2022 model files. + + 8. Extract your `...nc.xz` files into this directory (e.g. `tar -xf m2_fes2022.nc.xz`). You should end up with the following directory structure containing the extracted NetCDF files: + + ``` + tide_models/fes2022b/ocean_tide/ + |- 2n2_fes2022.nc + |- ... + |- t2_fes2022.nc + ``` + Or: + ``` + tide_models/fes2022b/ocean_tide_extrapolated/ + |- 2n2_fes2022.nc + |- ... + |- t2_fes2022.nc + ``` + +??? note "FES2014 Finite Element Solution tide models" + + ### FES2014 Finite Element Solution tide models + + 1. [Register with AVISO+](https://www.aviso.altimetry.fr/en/data/data-access/registration-form.html), and select `FES (Finite Element Solution - Oceanic Tides Heights)` from the `Licence Agreement and product selection` section: + + ![image](assets/fes_productselection.jpg) + + 2. Once your registration is complete, login to [MY AVISO+](https://www.aviso.altimetry.fr/en/my-aviso-plus.html). + 3. Once logged in, select [My products](https://www.aviso.altimetry.fr/en/my-aviso-plus/my-products.html) in the left-hand menu: + + ![image](https://user-images.githubusercontent.com/17680388/160057999-381fb818-e379-46cb-a3c4-a836308a96d8.png) + + 4. `FES (Finite Element Solution - Oceanic Tides Heights)` should appear under `Your current subscriptions.` Right click on `Ftp`, and copy the FTP address. + + ![image](https://user-images.githubusercontent.com/17680388/160058064-77430ddf-1939-449d-86e7-f05b27ca768a.png) + + 5. Using an FTP client like FileZilla, log in to the FTP using your AVISO+ username and password: + + ![image](https://user-images.githubusercontent.com/17680388/160058263-b0b1da72-e5ac-47ca-b1d0-544569d3f06a.png) + + 6. Navigate to `/auxiliary/tide_model/`, and download the contents of one or more of the following directories: + + - `fes2014_elevations_and_load/fes2014b_elevations/` + - `fes2014_elevations_and_load/fes2014b_elevations_extrapolated/` + + !!! tip + + The "extrapolated" version of FES have been extended inland using a simple "nearest" extrapolation method to ensure data coverage across the entire coastal zone. This can be useful for ensuring you always return a modelled tide, but can also introduce uncertainty into your modelling (particularly in complex regions such as narrow peninsulas or inlets/embayments). + + 7. Create a new directory inside your [tide model directory](#setting-up-a-tide-model-directory) called `fes2014/` to store the FES2014 model files. + + 8. Extract `ocean_tide.tar.xz` or `ocean_tide_extrapolated.tar.xz` into this directory (e.g. `tar -xf ocean_tide.tar.xz`). You should end up with the following directory structure containing the extracted NetCDF files: + + ``` + tide_models/fes2014/ocean_tide/ + |- 2n2.nc + |- ... + |- t2.nc + ``` + Or: + ``` + tide_models/fes2014/ocean_tide_extrapolated/ + |- 2n2.nc + |- ... + |- t2.nc + ``` + +## Configuring `eo-tides` to use tide model directory + +`eo-tides` can be pointed to the location of your [tide model directory](#setting-up-a-tide-model-directory) and your downloaded tide model data in two ways: + +### Using the `directory` function parameter + +All tide modelling functions from `eo-tides` provide a `directory` parameter that can be used to specify the location of your tide model directory. +For example, using `model_tides` from the `eo_tides.model` module: + +```py hl_lines="12" import pandas as pd from eo_tides.model import model_tides @@ -53,4 +168,17 @@ model_tides( ) ``` -Depending on where you created the `tide_models` directory, you may need to update the `directory` parameter of the `model_tides` function to point to the location of the FES2014 model files. +### Setting the `EO_TIDES_TIDE_MODELS` environmental variable + +For more advanced usage, you can set the path to your [tide model directory](#setting-up-a-tide-model-directory) by setting the `EO_TIDES_TIDE_MODELS` environment variable: + +```py hl_lines="2" +import os +os.environ["EO_TIDES_TIDE_MODELS"] = "tide_models/" +``` + +All tide modelling functions from `eo-tides` will check for the presence of the `EO_TIDES_TIDE_MODELS` environment variable, and use it as the default `directory` path if available (the `EO_TIDES_TIDE_MODELS` environment variable will be overuled by the `directory` parameter if provided). + +!!! tip + + Setting the `EO_TIDES_TIDE_MODELS` environment variable can be useful when the location of your tide model directory might change between different environments, and you want to avoid hard-coding a single location via the `directory` parameter. diff --git a/eo_tides/model.py b/eo_tides/model.py index b5981d3..ac5715d 100644 --- a/eo_tides/model.py +++ b/eo_tides/model.py @@ -476,7 +476,7 @@ def model_tides( directory : string, optional The directory containing tide model data files. If no path is provided, this will default to the environment variable - `DEA_TOOLS_TIDE_MODELS` if set, otherwise "/var/share/tide_models". + `EO_TIDES_TIDE_MODELS` if set, otherwise "/var/share/tide_models". Tide modelling files should be stored in sub-folders for each model that match the structure provided by `pyTMD`. @@ -564,8 +564,8 @@ def model_tides( # Set tide modelling files directory. If no custom path is provided, # first try global environmental var, then "/var/share/tide_models" if directory is None: - if "DEA_TOOLS_TIDE_MODELS" in os.environ: - directory = os.environ["DEA_TOOLS_TIDE_MODELS"] + if "EO_TIDES_TIDE_MODELS" in os.environ: + directory = os.environ["EO_TIDES_TIDE_MODELS"] else: directory = "/var/share/tide_models"