From ad2e07287f0dc1c0efc7aa9ddb8a8751b9a1eec3 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Fri, 3 Feb 2023 22:54:19 +0100 Subject: [PATCH] Polish --- .../Graphiques/nearby_extr.odg | Bin 19066 -> 19983 bytes .../Documentation_texfol/documentation.tex | 79 ++++++++---------- Inst_eddies/Tests/long_tests.json | 2 +- Inst_eddies/inst_eddies.py.in | 5 +- Inst_eddies/inst_eddies_Aviso.py | 2 +- .../Documentation_texfol/documentation.tex | 2 +- Overlap/Tests/test_overlap.f90 | 4 +- 7 files changed, 45 insertions(+), 49 deletions(-) diff --git a/Inst_eddies/Documentation_texfol/Graphiques/nearby_extr.odg b/Inst_eddies/Documentation_texfol/Graphiques/nearby_extr.odg index 8c5c50c13ed5815e009f912fcd2ce6dab50a82ec..c93afc97b85c52dc73d2fe136469c114c69c0933 100644 GIT binary patch delta 18000 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 delta 17177 zcmZ^~b95#__b&Rzwr$(C?POxxcHTId*tTcFiH(VE+qQk?`+n!%b<SPu)*sciYgeyc zwYs~Wr=GnlJ_qD21q5DM4h$R}0DuMnL_8AVl|cX1`t1L$NfVn;|EG~WB?}Ate+>KP z{7?TkX|kRi{QuFP><GgBza3Zqw__KC@1NtJpEOw*6!SmLAE1Q5O_%jnjP7eSr^flM zS@K6yU7MWTO*4-c`=rZ()u{&?C{hv_7zrogk@|bou8a3a86U&|X=PFxS<RdU4T}rp z<DKJorzsF8=-0vL=ktY*;vysd4jgf;-QHsD3A8i@N5~%km(d<VzwbLFrWcbw6J9y5 zPVIU5w=h3x>s=AxVO54T$?=CpT@q_P1jw{?nH*E=56FJz9LP6sqqBsVYDY-C#7S<N zA1vb|S(t1%({;ZuEi_M2VZd^J-Jbq6nVjoJD5xR2cSo$AP&?yHhSLcwvgvkobs%V| zZl#v2KQQXpG_aF`{f>AB8S|65HaBXLVB~wr0uMgYldjAK4wSldqx@2p+Y2m1htdR} zl~8ZSuZ>Lb@1s7%{o^^l)w#u>Yo!3b`eYB`-nX%FCau1GR&l-r!5709NdUznvyV!@ z=Iq#7(K)}^+)!C<lmuJZU6%B43Fp39bETH%Z&P1w#hVK$YomeH=}7e~amM5|j_&b( z?=_tNsJ0ykRN(%FGeLdo$Xr}v!C<xpL`|*N<y)^hR)4t4macb%ivH>?+^Ta^uNxSf z8?2A1h3g(gB`|ceeGn`UE{rVsy;imKmk=)^_>ZbfZc~FOI%I|EV>+qK9Hnk(nH0zX z#m-2NsoQ&Qb>bbG5iXgtP6ZCUVGBG7tZ;w1CpMNGFyDy1=}Du=_9Dd<sQ*F_)^qqe z@$1q9aeVgoAWm&a3$eP;R`)MG)dz!1<rd6%)4sc{S!LU0(qY*eJWDw##1uq+vB(A# zYy^Wf4Pc+~pkYGB8%*r{-XYv2!2C~nzVi>RkmU!m*WsZK3Y-KaxKND{ikDrB8>*!H zz3I3(AS1R{6Q#<s;T(J!gsAtevUGdRuLJoZW)M$tX7dq|=Zr1p8z*zi&Hc66a~96N zWpcj#nIg8h>XrH;?lNFS^U0zRtso4K-(bme)>dK+eWBv}jt6@F!0#>R(T>Ys3tq7G zV^f`4z|U;Y_p_Udn7!2z*tNYdn&pV_bS5VTV30&8Is9H)c^-Rc{*SCVvx4Y}C3p|c zl*oE`&dNGN86NtTZH9&6NMh8q;2-`r?#u<25Xrrw=;1&&S`Ins=7B9KW6|_7t0{?K zJct<>#NZcy?5{7=_QEoUzft@YNZpltJa_#@wc+y;8{i)7nea^Ih6ESW!E;q`)s-_~ zz^g_6?i}{s*l?}%{#~tz_wL4d$-3)!*8TAVR%_P%Q|71>t%x_JtTMm#u;#K^C?`>> zdC1=T+eLToFWEpxE%I^+g3y9Lp_p9OKgqj$aOB6f_Mo1B#noem>ZLT*JyNG^5-*GU z75xo+2|?yoXl2}a`jA325@mV_FXV!C2lCh@ZA&Vry`f;%gzp~L_ld%O!36WtXgXBZ z?&4e?aHPN3ZdlP&90Y}PZCS2p?$k#D%HB`P*>(2}_&T8@Zr4x{&a?V46(GSay_h)$ z4@t9TAXZB#lg+U>8x(`R59lzFs%pHST)9z|NpKj@wZh|Bk>i=D2L9>>T3!rZ0U`43 z3u*F?c{fv>iSjE&4#kldwX5kU{<23XaVBB$i15=F>QyGO8=`b@9%s|1;Wa6#+4rwa zF7f0&HsWv2<-^Ge28sXOW2^>u#h}-Hv&}1bhc%qCg%cb{jXFk<|Nf=vL`<vDN^C76 zSHEKgQ*zhYOCZ8mrApv@S-6S50NfUh_dBngLP%EKiTX7ijNc*EBV6k=wAx$?ahKX@ zlrJKPf2^8Xda`W>Bhkt$A_5<wN>i}8?eM(zxcebdzbU3z8e*?Yuo+^!>1JY{ucc|? z(-5q6{q#QYATN83^q^zI@uVxOW!G}7`jGA!Vl!rQWqdsLh@rsdqa`ZN3gq4j$w>gc zyh+iZv%s;)3Xb0Q)=i_1m+}-kNZ`eN<K0?|!qO<I7&VPL2HLK2K){b(E^6dBR>bTU z#MQG1Q^WXxgCIR>>D5i+&!g__+rb>&I;%-Hd(~9}#KC|tB%6rR9Z)Myil`Gi?>ph) zgyl|Cr2_|}4&Jg@E<NgXz{4>bhZsYPElqNjSLHPFMMWiyHz!c)iihj-lEpBjSW&rI z_sH+w0`+dLu+}TjjN;0)Ile3#b6|H6Li9r;^7tZc5n<EFu;0t%j?nj)mUV|BS={Sy zUfZ-+n#_<A_MdW|iK_?>oRHdFZDBvV{eMh*^PZr+oRQe^tJwO_0K*=j3B%)eM5<-J zau{0+(n61iXHM+kCDx|$3B>l<SlvG9ak6q^3wH-!v{~J}Im0EVlkzL?Z|~*zA0Ah+ zafRl&1q8^%rr8vwc2}vhJ{%!zr0fuZBI`IcZ1y1j{e@OP18t$;)LLC@m`j_$qG{Fz zYAX)<qt4!VX&_6ZfIMY$XgZI?<!6f!HkNu-GCED95IJ>^bn7vejac*5JTQx-+tT>% z-jr_Qu(5hD-P$#N$>^@Wn_5XouW^cUTVjVW9t<brU8fs=nt#dEoshy+O*IOzUV&`& zio@obyU_fZw4c0Ke~OV(g@JM;n%d1AlRM3{mf2<RWLyVx1gb0f*;`b$bn!RbMfIl1 ztGel%yU}u1H%<kKDMg41)Gpj)xg)9l^4o)3{vD*rD;w(}Dw~QaE9=ci!$3QBcEW3j zV&CO^MPW5|Qq-sZs-IlSNs|$%0)a%e?Lj;}bWCJT-y&Z_oMLoV!LVyF-z%Q7%>LQ6 zA?>NCc>EhZ2Dr8Vt`UpG=Eg1gk?Z{N(|*_Sq@7lr^+NdE5yp*;uzA;fqkoN1eek;@ zwHsiS9l6lp$%;f|^mjT1&R*JT$$*AHnnv}}+7RMd6Y-c=>^{r+X&wHP`qS9&qp{MO zdupoV8J3s2qGEm<Gee$c%{Q#T;ZnAb4}xfcXRN??4~Q2Z-}ekhkwJ1LYNg&y5z}AH zTtwooNHUTSyZIg45t@628o*Y@-o?MDuY;U+b$4mh8O2ye;#V~4<l^rxATa8^Mybv- zJ#Tc$wU>XcPt*}i^do6<F#b#KuEjNjZz}atBg^#o@tDk0);F8Ow|3ZkJMFdU&m)4d z=`*@*JTTWakMeW1t_3&Vyg#NffA&$>VaWNQwK6(Jfl;qx)Qeu2tw0cv{U^orJZo~( zR*NqaH&vK72+cM3Pe@AE5L!dgdjLJdwz@d4aom=c!*YP!edWZo?`5QtedAM+1r(Kg zDplE_+n3qI$M5@kLq_hF{L}Fdpcg^Yh9T_YF%V@H8m^WvT(=sn*lTn*v4!HX=}}P4 z-mx{`{5R6TRZ<LE@$*l+4Bborl{&1Q=^;tm6#6!98pXVk(6)!I2pC_XFFSd+u;HW_ zH83+GL7yX#Nr6{E{8hTg_`MT^n0J`w`^!Kg0+_`~&zwE3>Nd;Ly)GV_$toD$(D^PC z9iYLG(2)!6WYUligQsdV#`arwjLbdlg;(><lfACnjNc;1)MQ2zd?#F|(1+2nulW&5 z?cm;abfiCBUGWc9qM>Q7`tYY~$9|Cz#ruv6L8gj$ugmH;HZ?2>heH28e~k3&F_*qT z3C16fP;{zE6cX^dC=mouV(;iZ3U^kXOTY;tlbb(5NhmE&jsZvHUybN53=XaaONL^n zyA>kmW;lIW=&Ef4Vvo5ZfG`O!xk4Y0o~R;~bi*I3$y)oD#l?p07?;0Ua@4?;_}G_H z(DD4-Gfs2F>Y~MxO?pX(o3wqZ9e1??)U_?mJEoqk{VZK_nar-7aM-^&($l{ol=0-C zplRk}P0wKg00c<@;D4AnG&J--CY~ILKnT<uPug$B*gU5D;YN{4{}Lc0>)Ao;;k_&0 zQ8q`QMavf%N**H<43XsHl`1qc2izI+8~*s&Lk`$RABgZ-D30*O+*H^B<$l)N*#o2; zU7g$Sz}ZThg!cQYBx|Sy7Dfx8GhPn@1%Xrw1GPk7P7zpe2Y)joHrWG>N!z&PPk@d= z&4~Nj2GK0tSXwfuljsmq%oB3v@@Y{uztt#!n9-cX;(c8iNlxJ+F?-t3pxD!>o<mt_ z`x7?03Cf`j@J0sMP$NX^APuD%A(2n4&&Cbek-ZtX7Mt;xHLGQ->3GAEs?K$*b_cPE zuiqa?VT&>_8<euvUF3PkMD=BMIKVO0TVc==j^OOtG0b%hRD8Qag>p5DN(Ke24Dj{8 z`Lvi}YEF0}!5Kom`Nr~i(kr^sk>M#jR+^qO5B7M)h*ep4wZooDSFn(QPbgHxRmJi} zC6<amV1rO7WvnmTQk_#!h1l-(Al?#!Vlfn!XrDGPh(}if&4;Q-8w}#|_<-l;!wa|2 zD>0X0t8*NSc2ku7D@PN}t7$bHEfGJ|oP(}4rzrV|;yluEt`V9}32elWbGb{s0cgw~ z^cL$`rh>4*v%Kx9=DclFsMVqF#$E!Fi)rm6gQ>CnAw<2Zwxv*(&Revh8=VG-iD4)f zHiu@!c_YNplRwr+yT^SdoxuIZTmuGmUbOQ}#k57r`d;gkL!Jj=1CvRMYC>+#aL$~G zinbrVcvipv+R6G7^#I&Z?j(__Z}tn=!s^N4m+8kf*ziTR@zVSLpbxyCW;Zz;J34X$ zwW6`fE92a`RS2!kpZ0I{U0ZPY_@21ZRw$@(bD>?&(@d-STl=~6M}d_Rg*&w*?(nyT z3mo3He^fE(E4mXgd&82T^o0Ui$J50$=ntmhPrF_iJ^%soVN}R-&L<u!St_%CI<UUM zN%6m%jFYh<MJwej=opNp`(@F5JEPIC8|6t;TG=UWg_Sw0Qv>9$k@c@v`7ei?EV)4O z`aqzSpcVK?n!Q5yUVs_5)(wLdx0$<GBv7@=q<(PA#NcvkWq2ETyI7eTLObBk)8%7( zatRs;lz#W0+hOI7;VKy6RAh3eV^|VA(r6QLj5R5bY7|Kqmg87VbHDpwFTyNRNbBsB z`?&N`Yfh5_t-?0yxj{p7*Xp5Y90%Omp(3f$J~0(aA{|H*$bry9pkTtDsQGz3qWE*w z>~uytDNj%(7?dZL6Hml2FIF<iXA$g*GbSyLtrnkcP1=DcqvaQID&!0>TherqX>{#q z^npb4YY=%5)K#(?tDN*)6=Pf@rr9YBmEj`M+RV7%kAF&urZMw?fe!T|qp;;LrUz_R z=SKU`P%&EYp1>UB4>bD3hR2k2WspnL-^4wt4M3BK^r`|@eY5ZI@>nD+nPWR?=`p2L z(iiW|FY#TfpIJ%?Q3MIz+YbV@CQ>-fd!QF8uzsWz_ojO$-Gdaz9kvjBS<cNnKOFl` zk>ZSbEMcd79ln1{7A+hfSD<(|6Hz@z|Iwa17WFXT1qG6|*mgpjdiD;J?al$wWDJtM z*F3uMr*hA-B!dnToWb={W(3(aKKD_uTh%>%IJ;x0rZ+ZB$vjY36GC#!Gn;>kPd5_d zn~u~}__Yccjd>?;LcLKl-f6r;7yeWLBdRGhENSvSduK+ulhssQMZF*Hlr`Zhecp5I z`DigIm<7s&L{uS+qX}lrXR+#zc(57bN9xPv2+eLhHNqXOFpWx^O1~FHe8r|{V;0st zy;d<x3aN1^(8astmrLCg03nf_2U5QA8JUA9U|NO~oLR%!wR>d3C(u~g+hoG4l37Z| zj}%zV@?%K$DPNrxho@tYPDe+vSsmGxl$1th?14wt3IaG1OYRhBlJ12~sZ$*rMJ91w z`j5(bYl0i*Qg|Nj*+ecb_EUKre>&MK9C7Q{x2xCzECT5kp53aiKGq<r`2;eoA@#Og zu{4A<20_qw1Qwou7coT7HTV6s_d^JLspNsX?4z{|PmCH3tXH6E7!KNB>}4LWo#Qp0 z_&`lV`37m4z`ss|f~b2ka*<#e3HnQc{&k0r86L&3zYA=ebw21-u1R52g}Fd>>)YvS z+N0{RQsO~vKWePD&Lk^<m4AD}i0VgNJ29aB(FseGfiPjZv850iY;-n_S=k$++buJh zdu&ad-m+nrk49@D%$N85jb{D;i}gKuW?*h#0be?@n<ewf6kKpOvD=LpcdTO0n-T6D zO+8J1c$Dq|DZ;P%Uy4X&g+3cRTWLE)drCz9S(?a*(RxH08W)ck=)&THpG=r593<%Q z9nGpwyy`a7hRG0Fp7yzxg{?IVKMK_3?5RxqFG%{#i9*`}(~YAErr~x9k7=gK7r?f0 zwtdh})+&(}dF_TKvW>Z1+uQL>d<@1<&<|AtS1*4Y-}B0CCN~fVoDl8)B&s16gU!@8 zLHd*cu(<|G!H=hWL%5#I$$kwd=0crkQSMf5ncC5LE}3nTQ#prriY~_W<Man8qqXCR z(SOnsCDrLPNOJN6zP#dGKGc!&43I}g2=vHSru!FLO42h&K4WDU&Fd>DXBLXXrEPb% zb0x!T_{Q56@5Y*z-}27VZIt6k<#xzk2M40t>Rg*Gnu6w~bqKgdbIeiGPfDeUZd){Y z<=0fHzK~!z)2lb~KAKFj?O_tb=VMEfqQ&42S8IWfajfLQ_1=7vYXfluYv57<?;n%0 z>A26b3?$m4q-=-53D_y7Or)JgCID4=CQnX|g&>@wBD*U$&#WJ1j+pbY`aO0|I$1Wt zY7TBo0n>W@tHp-R_z_8qfv#azEm=0y#vaC^uUMxlg8+J;?R+BB>|FXt(5tsjmM<4G zc`1T6+vOisTn5a1!FtEMUZ9@lyWl4oh7AJ){%6gVxR18u>7ns&gOc=LjXv|^1U_vC zWx7nd_0AwZuK>k&P$w6k%>L2S!-k!M2iAz>`Ekp?Jm{W^O!0l*JU*GU^$oOjT65!K z4*J0c4psese7r}hiI{|$;+<>_nUGrDe=zkl*VY!NN07ew&WyJV_W>i3Dy{1^fqRr> z#zjy1y|qE{oyF+Ph+@A%S$IYvS7y>2WS8o;P|NGJw;PYOq@Nb79DdqI%i}4yMuXxI z%P`Vqr_Xuc&M6h58>3UMF0;e2oG%{v6gy34AV|5t@24O#VZ*1GvS^G4*ho@3uQDa3 zFQ(bo)5dN$(rHeA(E!<E9YQ^PA+4L|Jr87SuUxqm`vv6kx^t7x)RGqUTqwAz|9j<3 zEw$vKK-m4yTj2wH+_%%sfh%Xj_B<xtyMiCu^p@F}F7H^S8MQhf&FY={-J#@>Gh_FO zx#>cgj$Vz{t>HA(;eP3e5$E&>s|3BTD3d-F^yuw~5u=V`XjgxR<a|V0_nd-W)>j@6 z&SgMThXrGP%HoJ}7h(Pi_0DMX$?-!o#lKI(+W%AI^o41U=nF~tAF-q~l5M2;M=VVZ z{y)U>7d9dAP-ok9jT<?jr-yX^bg~f%9J-Cu7?j{HB%DU3RoG|Q7wrkOeI!XLN$lm? zks>D)HCq|y@z4OZuJl^Bda2TJIma&`W_1fpS^~lm;_*|b4vHTg<#1lpiR(-=E_nKK zTXDclRLn|}RNi!_y-3&=zv#({S8MXno<y83!#WqpUa64?Ff`c2a?uf}Sd6P2zZT() zaKdc~R=+DFj`~eW#Zpm*m~C-}rgCpiKWk+&uhZIDVKUYX!E8!b7>Op1!}cRghMXGT zYPTg!H@6`Q16Htb-d-iGSnF7bb?iFdpF4m0`5586=k4~^d2!1hw|#Xr!gk6aV1231 zuB94iyn399Yz=-{?&Sp=@+8xocGv^Eh@6eRI?jk!uNg?mMMOQ3UraTU{k)&!sGf;% zE=^392(HBSNZOa3a$cZsy<iiYd}dpa4|?4%eq03Pw_1=Z{+1vU7!MJ$!Y3q13GV^t z%{|OAbX+)-THn($Nm8ed-$5yIXUsUhPRj*`B$8pR|A4<YXtXGsLlq;j%I<Y?d%%(@ z&Kvvq11W?V46-ZYE1D6^`l3(s(jM;_w52Adn3Tv&FL9$&MllOz2CF5mNTc;7J+Uo# zs4V>ljB7LIJ51S=!r)<w75N4EReK_^^epKnGU%+1N81bD5Uu@XS1;)lnTSKPQ{W1S z;?!p)&oj%6Y-hZ=Gz`~ndg5|FN7R&cZe!s3x>95(^kx=BwaqK2a&vow9-9zd;LqdO zw80IT@y32TIfu0?AnvH9z8&6<Nf7($bJ4%M{0}W|*9PwTyt7#o90`%HUMO1v23=i0 z&9Y&B7G7Z=iy37E5wq^_L0r+`!D<0X?{=c{c(G`BUt?x(0>I<nNQ=TEEO2n;oH)t+ zU|URR20WG6%-BIW0N!**uf9$v8H}@ZJa|TG#rw@)NTDv?`&@8`rk>tjl#%MnR{ozm z$@|USfsS=u=ss8wx`n&3Z{;o{gPQ5VoV1g;pU)haHAz+^p4XXJNv>73)knaQa_0$9 zAt%3Y47k@TOA-O|u)M;y9m#2QOje4AAd%++s&5q1?p>bp3r4%E8{}!2$O##*dw|Q| zfleefR7U&}7seXRZHbnKU_oFYXqW%Bg*Qp+Q{!hQr6QHg%AR5nKULPnSB79IE*39q zkf-N5(+N|juTa_#N1VZI*(YG(Zwqlz4iflukRC3@?JlL+UZhMAjZ$ak#My3CQ?5$o z9O+<K#k`*@4{!?acA=D)>J!?ddKQP3a0r`r+*CG4ldp-z3d|%l^HxjB$CV_{F+M2q zBxlsJFU%?Iv-*DuK^at3@o>@j;0Zs`><1VVK^VM<*oK&#mJnLBEh2!nG*^)xVfgdZ zpkE&u>DTd3f3jp;$GR>^K(DgMRQnABeYo7z7sdC`>S``n7Z`M4%9%?y*x_<f7`+;u z16J?v7`~X2#L@dY54(S@PwAl&yvdEQY5jb`AaBujO}JAo$CG<<sn(d+;KSG>#M;l@ zNeO)xe8a26$J^#lp%eis9F?Ej&335!&Mo2el}`Q*?;npw7&o4&_3v`3gC`s7t<9HQ zi2kGmGbMdWbI_YaC2xm7g-HP?)bxiCFGan2sXVfvJSNc9;G9uiU`2hDkau~fjN^C% zn2)I^nQ_YRuV~#hB|cfoVlSRMFwL(w))D)9v1Sv|?PRV~!6gDQBjY(SS25^Y!R01d z<y4ONAJ^eh;7x^5H<W1hNKV|kFjq5|MUMV{AHe02cn8kHlO>>y@v|?We68Q5lXHE< zz#NiMAc#%SIkLCo^DScfxE4<#yfFT}!R8cU1+9AF#2+1;V!F6iH~iEo*Lm=*c>?}t zP4-t2%CLq20Ps;L|DQ$qf8uVUno%qF4}25=03Sv2Pa-KEXh>)%SS&acTnrc}bVLjS zWH@XLY;Xh;I4nwJEHX4)ax{Ee96T}{0$OAu76cM5JW@I=3Qkf)h-64&Y9JLgB|Qfn z3pWQH1s4lFCnqNky$At|BnguU1&1^>zX}JxB(snTgNP=thzy664!69qfU2bk1HL2+ zfiNSnGzWzQABPG*jj|B4j0mr$2*VFab`u32OH~0WNhxu8O<7fKbvX%b6&X!UO-U_l zX+0NBJyUsO4;>R5O-mnZEfH~ZJ#}Y2DQjaLPZI?nOLa>N3sXA}8y6oBdoy2GTQ5(q zANIj|&f(@>QC9v*ZhoP5L1{k0KiwlTJ!1;}63ar8Z;1s#7L%DtaDjy}UZshChv6<K zi2)H25n-{ZQHdETu@M<b(dp^wAt|LnslP)qs(+>yM`xDB=l+V!txwA>i79N(D*TmF z)|y|}^D8~HI47e%C*pTeW=m0QdwFU_MMX(fQ)PWyQ*}vQZDU7$MN3OdM)lv^`oWTx zk+ROY=B|O--s$ST<#w?C@y6r{5@L|i<VzA}jK1pCk>=g0_Ji5($C2jYk<o#P`O#!n zQg-0P$x`3h%Ha9N_`$~f?e_TN%G%B1;nmL6#op5W-qgeK%HICL?$O1;>E-F+-sRcB z#l`u-`Th0H_4)1d!^OeV&EdoC#ogP*`@{a*<N4>?)!o1H`1<(z^zioa_H_60_VD%f zH9OW61OSk{%7}}od#zpO!l|pRW*viM1JPsU_0j7p+81%DgF(rRUUz7*B@(nq3eaJr zUQRSh538?EPuDAnLPp$#Ti2f7z{x>m!5NfmPHujm<#kw;;m(Q>izk@Q_tWZWlm$co z3b8ibyY;hu65PFnL6u=X`I08);o*UK_x#%adJ^;nu0uv@H?1a+5(h@22!kWD06`<M zLBs(lWP#AcCjV^ENC2tie@x0uNvM!;sSxl4j<q1u8)J-snR970VNL4`RIq|qcn~v< zrw_J7APPP|WORe5gf%oWg15;mXBMCybsU<=4#Q)h{7-cMyRTl&!_@LJ!}-j>HF03o zKrkZ!p4r#4e~&dVqw)Iq9JpVUtvl_FCcLEjs5b!I^K=yv)r0*VVj>QsqT9?0p5VUH zjs~DW_i(lZ1jiTiS`oQ8@(QRVq-HD>b4y8+U_Bcfm8#E#p)Wjbon8yBDgd;j7pW-S zd)r)|qK}xG^&u7&1sW+RasvK4tN%_CL_7wt$MU;Nt<dWhSXQBYV}HDDW7j~_@<f-$ zTVEtAln&yK^ZJzAsf%GWW}zm(ZT^c4Orj?!Fat5bZh{`{tkFQ&P#Hj5{&UztHbiQ& zp_q6uySO0Y2%?0CibgbSiJFH8T9%3f{y@%Q-=nz%JEbr{qS_KfC;q4ijlWz-sH5K` zkXL@iChp!3c-7ikV5WUx!M#WJZjy;hBTXZp>YW=1_Vrpg3&yfL>Ag$*$ep>r0LqBc z_HG%lIy;78=Fh0uabi0ow9wuH2+dLDnZrp0APCZe48rGxPA7wa=y-z|T_ZZtKzZyE z+=H0BW9KE|;2$tB>F0}FeWn3QMw>0Lv`8PMi_|%RqKPwt5~t$BJU-sAmpTNkNV|YP zaJ67&HAb7r_-vqKuBbep9`w@8DKRdw%Gkn{8@V~)oR&kW%UjRlis`~=wCFynM^NnK zv%0S6!&}?eY)0|lj><46U8B9A{Kyrva8ATHuz$5%YymjgeGvZMTn!*+7;b$EeO)q5 z3LA((qvgv!L)p_`gwcC8U60Bq2oZmAIwMxk3yvo>FZR??*xmT%`m77yT_IeYo3=h@ z5{7DcA>6m#z}86|*#?SK;dnt9Jtxlg9{S7sLe;d2!6F9(jXpDPsn~ff&(eagECa>X zCu@oMjRt)5^}>}8RKTB?qeA&IL8#tve6E&(pw*;>mK5yJod3QpVs&!yc9)JgjDZX| z<VMQZ{G*@C4&4#aHM>Ge8$N=wwMq9uSBq%?vqeUS;EwFUa2wsJvdIa!CfBYT)-N<Y z&Oe>F@im)acou(M;6hjT(HE=_11<hgf$*?-+zyUT_4FpAO@{0`=jEF6RUU1I@WxjH z(<1i>W10x7W(K<`g}II@jYl5u$RRlB*#>6Ag3!k3TzSAYo1b;UqSDce!&%_#3E34y z;?x#I`XkIvTNFfY|HfX;ChO}ZL~zT;=ukuyQ9TS=hX`=-l!{c{m&F#+sPPn~TJDT? z@;UA651|XoQVq36yH*C~+bt?LJh+1ZZLYXZKV!Ag^2QElDgv5#D{9-W!zh1sHnp|k z@U%(!Co5Wcv++h>7h`1~s?kWtePvoevbQLxBK!JAh1<{}(8Kma9oCKyUiR?bzG|uU z<O_J&eW)#{%G$9sU(Zm9qT_;QQ$O&3+UN@qG;A)KhN<MlbvQqZJXEeH4<UL2$#dpU z;osq1dT!BT{p|Rlq=%i9Zl`bF+53@An$HRSoj?#J&U^+MdEWQvm$hxeRP>a!tC?&n znId=#f20&4{MnSwzen}e+cV&&M)g(~wb-FdtixS$MAN&_K0j_ESn*1fUJ!)0dX(TM zN56Jcy^cnF)LDX1AQh@*7bA`ZcAvhPUKA<DA{vwxD5{N}SGR8<t51R4h3&vGlNV-p zW<n{#TJ2>)Dxp%3zy<R2!6HKSz9F!Omh{~(VmTDbwtihu7Z`x}Y{qRJhZt=4*U*NL zc!sQ-%FTT)&~^-PR214OLUd^`GFDVg6%@cD`H@tN;+0IjwzWMix8bq^{nsgpM#MxM z=R4#l2)){wIfS^}hWF$Dnj;ybE5{;%bwMK+)p=^w+Iu*B{oW5hp;PHhd>bu;ht&IR z0F#hN_uDZ&nyywP&?e0k*C6N(Z#?5KL|YqATkG?~QU2ILW_JQk93gM-+di~1tj{H? zm25LNMl5Jj5f>f7;=39%u;BWVysd4u*m<_wDs@sIFafRhU~dFNqpAQBeb16U!UwmJ zsF4hUgJ=FG=6q*xjwcX3)Fa_d7@qbZeq4pVQj-)(v(*oMCKdvIffV9Wl;1<ZSt3=9 zPVj!!P+x>k{O>RpNSYqG$_5>sG>x<@lK#|C=rQHn%r>0ryD69}PzYvN!f&4CeO`%R z$^y3K=<5!=N-EGMhvHOJBHPJwDoda^Fs~|#7x$=QYnTQ)&dcK3aHuIZj+=^t*C3p? zyhP!Ptoyf|!u@K$$JXRxBTcpfi>&c4vUylnI_RroLmzeU>GS&@(b#$)oXMr*G+fw5 zj&CGo)l96dG(#9=V7%?u`)j$1sWQzt7x$l~N@dZ$z^c~aM9KI<6nlqprZ?|aA$1Sj z7VhhOI>PrUbO`~!+cL?X*8nfivY1QzvG}!;YvVbj473D`(ZTd?D#!bUT3azX_tuV> z3>-Vwf{eg)xO%5|IS=k0$wn2Cu_e;~AnyP)@qd9g1_=1C{a@t$zkrwx%tkizY%#;P zGaF7ZF*uh&cud9{B~Lt75Z<&P1voPNg|1qc1~D*3&Wh_3br!ug1!yFgyb3Jb=+3cw zoFDj387$CJIwPK@Z2GRiWq(aF2^<=elu6v}dQ4J<uTV*<<+S5wdId&_Kqc-Z>e{1@ z+N++hK@NnAk2ZrdyH6QQ%mJ*N1T(4ZRA5QX^1=D1Zy3WeoV5J_3#*vloe6V(b!wQM z1g!iXM;)&7(xp@NZqMl47gX;iIG&Fmz2V7)v&wY*x%(wnE`t77#kIr0ls{&&T3%>q z`YIVorlatqDK*p<0l*WRdn&c|Q{fN~6?cNS5CB9m?%|F{sREW8-`Q>5ye4jdPlRUI zeN0o2Ze*TNT`?PI`0>5yjdS25jSfGq0|DjJj~R&H^YDstT}-7zQcxjikODs@dnLwH zrJ4u8YjBAkY$>=PTPXwm4NrCtaVy+PZVwbXFC&#ZhcH1*R)Ap(ebRvH&)gWRKzKxC z!n9VV!=Tvo@^pX_*{4BZ579ZP_;i1hFTtnM-+vM@ELvTc|7y)yXPf-C7rKCIf-x~B zWQog6v3-{ZdId7EE+oy#hy{6)H#($S23X@A{S;gcYD`X|EFVYSue;q;<LlK{UVC2H zvkZHP$zOI_w7_LrD;IS<bntgloTn2Ce&+_PHg2NNXGC`2nIl4z2Rjn?`JiA>qHr~2 zE+rO0)RYQD*fp>$rQ4q28bOezEqOooehWRp^vT}tlv4odYE4<p-dUG;QEd<yI&>C; z!C&a6xy*2)9P8AM>FHb1@4FoU=gRBvas82d)Yq0?6ktgnyaNgBVQnZLYH|b`!w!Ny zY2gWNo<3DnQEH*+EacfD#sW+l@3f4l5Se7X{v?X9H|f+G)jv9b(Be!l@O|@9P`>db zEeB#EcDu{PDtt#C1A?0{9x``u_frL*F8$bh{O~hbhCkC&n=$=adu&j^orZ{q-`ROz zPw&P#56BxC{X*sFZz85W_s`YFiKU<8;uS1Ilrp!bDhJ^0Q#(QfiKRWcq6ev8qgMRf zYu<IEmm1S<;o|}tg9x81-q1!;A?+u76ILWiH)lk<VifgD>HdkHuWB2^o+F31Y&Ul2 zB>-iwI94TY-Dqnwx^O2*hqg>;P6+mUMK`+#M!>iytYWb1KxzMq9<RIYStCdFwU02M z!rd+nvTeqCb3lcmBRS$eFFOgq@)0*tY0Yy_j0~Hl-ncW|SISls$^C#e3C9rc+GJEb zuQAff2c1k}-RKLs;_zTlwpxbB?1n~e)xQo%hmisE*mVBU3YBtyW$pku;+WaRYo(e1 zG<x7iqKTj~K;L-am>pCAp{{^c7sWjTH7pO#V`^s$RGNE9fyxQS{#9#?>)8?_h)Hvz z_}rmqv)Z4?O+y*2mp8v;vMH~>;mw0o@Gilxf}bs?q$EN?U}eZbt(3ilIHrXsm9G@^ zM9y~VJIP60LQHXWxse^ic3SAG002b?27=7u7i9PB%%xg{_WxC6bp6E&Oum=LU`J3% z=x#-Up!w?mWKFuKDFysm4I1)hfbGJmcpPG!f{^-`dj%4?IoM7j%;>30;}9kn?fLlc z7US63sP^3BOoD5<hRS{l<7;PFT4c$?05^CO1QAfR<DAc5P=kz}(fWFY5#;(nugr(R zNgXi_#`8c<oEl9?vq4;(`wHwuNW<@Uo*V)ZMAoJ<XiL5q*tRoQc2CFT(YM|^Mu#OW zArgOQ%{->Khe2)c8bX)0AaQ3+#EKB1%%m)#Ow@19x3vj2!e1C=eg!g1)-b~EvycBE z_oR&TF%aQH;o^rWO(69?P4WxSfLY3gYzxd2M`6oMe>4TY4Amn?N!DdEqcNHFG0^>E zlU6{K1DOr4Ky2eBzF?Q-=4a|plyqgiT=cXxq{mh0zmB`o&Y+&&?TjR6wAmFqlB+G0 z<mk?Uvd!WJ+#l1~$u~sis^YY$-hQ|=c5IyLblk$0@Jd*YR*Wc(LLT41+>ZjLoq*X1 z>Bw8YpLl`@aJ17M9#`vee5gKQ60t<PvvCmPS-M)e!Hamb({Q~1cE5-DWG!09Vt2`z z2r~)BE4y{UD}&JLBZM2Z9|K=g(8T?R^%(;Hmb8|md8JLh_|RfZ2g7QnD!xJUX+3Yq zuBIXnnrghd9ynUQtdwS88{k*#Zo4ULJ1BAs9oq7jgO(%!2NJo8?E=-UkP+~7$-E#! zPZ*`sfKD|No{9nC5kAYS^c6~4YA-1KObMU``_Ths=z^^|v#TO}{_F%tj$ReX7m}_J zBIR<hS9b@S5KPNlptB7#^E0y)QKtl(h@2kr+R?SE#)V<|;FTH30r$4nNlLN=kUpE8 zJJLaj*U!Bjvq^nk&Jh)6{iHd}+OJDeOBm~ltXb~`c&6rLWEQnzI}FBniLHm}-zjAe z^hi1DWB}EP>fR-Er!PZ8ED?N<eh$8<;1imtP+?lKD9rW}VnjFKL{>{e{SIHMYuaT1 z;3SsRO+r<STKaJ#P3-+nCy?m)eOBtLM;2y3lo#4%T?XK7u^1i~JXU6<v2_LY`Pyv7 zExt8h^j#m<GWw2N5Vn9wHYURc8h|MGt4H(v={q3ZIEOU*0pl~FzFUkWhSQnA^Jf`E zIypH-L2P|AX}jeMP1scR%pN;wq(}O4-obeTCTl~fVIje|A@xlZK~`qY8uBc9nktvP z(E<+nz0yAY>0PkWU6Hy5CJ;A%5B1rml=wIM78YwdhnVz(r?3BRxP9pm@arnUcgd3_ z(P@S3{6lJ3#(4_0pzIYsea2BRwn4v|Z;&;jIF%Fqf!hh@^C0AN^BVp*n(hbUO>f#1 z^nlE_^nb=X!+e%-7v@Wo!)rMwlkf;bNf;M~hXy=(B1w@(SV^CFW&pAngb}vj>wrTD zBO<Um`r$2)xJSNZ!r#E@xZthbm}pNnEvJUPVOGX0D|sm?tZAi)pV=K2AEtd|*+j}M z1PD65VIm^^^ZOe8FrR*f)*xUA%@1h0@X$y@Z(jsQsTd2hH9HMYuv?Q@7-e>xgEjhp z77{VE=$ShTW#~~24=HIE!a^K+q#IK;z2^#a%CxF)i-pjB(wPE5SFoom<*r12N;m!i zyGsILH8fudTAV;St6NCio`BJdNsNic%r2Hy15c2FC2i=e#-FL0zN3V#F9@Ds8DDpC zPY64zsAug$Wf~(k?M^N%pW9YEcRG%J%-iY#k7ZB;;HJ0^$<w>`5B*8WAS)fQziP+` z4i69(64SieQ&$9@Ezw({nsLC^<5<P)eWrYjGE!A+jO@Z{3Sa!80UZ7mf0{CtF-PE$ zOSKgjUB8tvmtte|i4rfGOpDsf3wYH6K4$lP;ki<zHbED33xZ3}myh2kTD}$C>o6{Z z@D~xy_PSVJ`5&nefjvVowD$NOz*!wk2anyLr=Zw{xCj8@ubJVcsfgIm_JW6NdD*j^ zXVZt%6{fJ3tqmal7=A@gqu6>l`wEaXLtib@Yt^_%{y4AGz&dXkZ6Mey3Oy7k`u8`m zw^G<Yz=ryBs-!HCP0&p$r%j<46QwrX1{fPGZiJKN6%sNyfnPd#U@PY`|Fvyl5k^CO z%S>UKx_||~&5jkf8h}8k^0{BSY|Mu^K#b#z=z=(d@cxK53dIL&5qM$O?CR&oYz!Go z)de$>!J)=VTYNbY8OwbVP((++xbi63Ir7T_D>*DfZNgKVff0nbwbc7)9}IR!en0H_ zy6Hy})5ITKWIVK3T_hGBceYf@=@Cyl=^eO)T(SpNlKb0}x9USVsSpcuU67;xq`Rv2 zwTu56UNp~tFO?M>gtLJ+rFBb_o;%iO8VGE+SDUA}DxWAIW>SYL{XrWg=04*XaGwoi z&W^Ud&Hy3%+Oh+errALs_({#EN12QvriTlf5=O`w4|Wik=bBlg4s^i+TO*2mHXj0b z?-KywVcX3kh&<(`L~=U=CGRYBi5c$U+!Jv0a}1<t&~th3LD~<6#c~-ml^M#3H_WR$ zCrf#ISBG^wdM^<{-H!id)29MHkxDmEMXoRk>Y13}jf^Xj_@c-V9)FE=f#{Ao!TQh( zOK2-)ml20ciOeg|u9qF970+#Os)z{T3b6ut@z-Pa@-hGI|D`(C^a59qze|{hSs)Oq zS2GUWLHC{j>@Y0>XH`Z#5KTgV;#JMODD7bnU|Ga68gJ9hvvv?<3|2Rc_dZcW4^KSj z)-Gd6q(>g4*U*KPq(q`<in;NkGBwd#?%>Ot@$NIV)MugtH)waL)_rr5S=ta)Th4)# zV9;){=>aw6si`*=s3}^rS`Lg722~jO=3tLMn0`PWt31Shjmb%sIX0y|aTQ6LyPis4 zEo*)-TG2^Zt`}QeT|UcE#j@c*owViEPFM^6vdTE6u_C|cvQG-$c|||Dm9m{-Y}W#W z#z|#DB{X?FPK<W9!dw<a<T|n!@T>x{xL87qF&rU@zgSz0hW>H>6RMVw1p>$X;Hvki zvx6E!S$j<3-!L#+kls&`yR3tCjOz1qyN~By@~850T2AqMahZjP^*PbmgXbcbM<C?b zP|}Cf4N@b&cBOxf`bL3}wI{mUn<#*qQJA9A&tVNyTfkS)*cDI6Y-YgE1o8pZ8~d8^ zPMR6^s?irNB<+*gN4N=|A`+^=ojL2WuQqo8*7JkLhfZwTv~kQI4bLr+p6BW)KGr)Z zw@U%=R@5^1i+3JU&f&jP@<<9umK(r)FRym}?&koVg~l`?%?K7R%--C1s}_;B^krgc zn+~o$y^JOBuu<#$D`z^3M(M!KmUKL$+RvSd&kVCtGJPx0b|w!tNc0?5<zwz&V+V%g z9h)aQTbMe|9iLH&6oZxlR(VaG7;NARb%8;Id`)if2}mLDdW~>Wcdvt_#$hEO_>mTu z*Disriyix_H@fGonjV|1>h6z^ymND<@a$c3!vyC|=Xm%7(LOzoONGFE9O4bJUoN;% zCqt?^qR#C3+ZK!jnj<isUoe_8px{=}&+!D2lD>$?se|LIPIU77Vh<~`e})~_UfydT zh2&l`NJ)xe&zeh1$NPFA9E>1v?q0)OUq75;<Czc$R=ySr3J7$T&$*dQ`&FyB6h*e+ z`G5QEh|A5+Q(96!Wh4R32H6D?*i@l%6NlGTxCk6tY7WsC*bN1D0xXC(vCeXIal7DQ zu*Cdy)&!~Xszdg;o;lhLhMms*;N54g5A+Dgo9ND>_cI`=o)@D>O8A)%NeO}I%dIq3 zUT_FJg}UdSE@8Q?Dx1m3?bSppZnsnS+6gL%PB)d}x7W_-%LG7#In#nkWGM~Nb<Lft zaB9YAO$p}5Us8kX3kfQaV)?uJk(qn@BjhIk+3T}ES0w}L9nR-agf;C==k?vNQz7Bg zfiT3je-fuwgN%e`AvxZ^IC?!nM|=PX(^6}A2*}y+*i-MzFvRD75@|w-(svbEp2Vt% zK}X)u2N=XjAAuaL+@K?{`uGO92g>C1HGoBa(2*$lYR(UP)Uq--UE(dJq#ap+c4Djn zN;^|>VdVSk>-;B$&A%taxIH5OQy~htmaU=yK5XFPfG$E?s=y<0Ix9p#(W}%uO-zg> zJL_4U>rnr{Sf=p&koc6iuqIzeVSi|~rr_tnU||nCkmDIdTZWf){6L1;+y_iXit{~C zek{wV8V75e7(&6r*(VwCO>#jb7Zc3v=c`Cr^^4qD!K#PzC9_<hPITb_Gag+8Cs=_W zOugMFcs0BXcL)1x=+v>n=kvBM^vw4g$hYR_EGgqvRzNerT=Fju<6zWMSQZcQ(>`@5 zX?mVA@JLLGLKlA+4409Ke=Zo$)))ut`Eq+_`}>m!`@Vy_eRIJx8@vL;f8pK&;C)XF z1x;0%(qeUSodts2%{{%ZOIaGsBJSLB!;i@*mmq;&^7e?#dl~TQc;xAvTV`3v1*3f7 z;9#H`2@Lkd!T%YWz*e`+M)G$H9yVAe@TEZ?7@LAM)scc@^oRH4`U|S}`?c00evfy} zkYqPiCh*J;8=8kD)FvtzP*sqiMym^(Wj9e&0IdhrRZ#%5S|h0_{EMkBoPvTLb?|fh z`){w|x8uE}GXZSam&TSoDsi<hRbDQTQU2o47T{(IlILj|$7?0S4(gT#g`6MU82$SO z2#cDgiu|7b{WM>jpUn`}Kd#nk(#)+E657=P$GI=#L9FlK<jfUtYvR+T<?0+=zP~4_ zbOOe==c&s)@s$sJkN=(w))z<vTR6beL-fkB*{BOv=S1JAV~GwPdkq2a4h;ZwUAL*t zTPYISgK)|qjH#o62z)&nepnrhoD$ps$$y47(^rBIFlq~nwWx{yh`YSz7Dm2KtWz;U zgc#Ji1+`h5LK`Gm&!3PN6S>8>A%7rj49i|q{(QnSm5Q^5T9m}iDl%-V94@*nz~(>I zweiGUy5{}+PfO^8+T@!ASn2rFJ4!n~Wv?&ZOFj&CjRtN-Ze4JJDVNhwu{%5SY1R<$ z?Nvd{<a8Fjakg=z4kl8^wYL5&<7AbuUP}oLSY%V`Sl)6tu+1>m%W+@?`%h@=e`{~a zypjaTr$X?+|AxGtctPA9cXF?>{Y3D5;`O_BpUx0q1I4WU-WzYbk~x!DYu7@nB_(;X zJpSqSKK4iZm>8FDtKj6vM3ilawM_hGN(eB>5SmjRN*5A&u_=kh=?#KH75%DGoD|=O z4<H09xU>%?D-;?4B7<befW0fN_8}UK9kxQN5FoBe5;#^$U*6y94YQDJQ5EqSh**K9 z(IGXneecIF9VKH->ad@18Muif4XAsbQJbF&5S*fU5|Ob8dd*2NdbvxmCkb2#=kv_O zZnY?GeP>QbX<+&%l_6k>$oooS^00LxR5#rs!-bYxVN{@Je+1e$`==uUv`e#Epi&eW zoPeev1lLkvYaEeEA~wl@$x#@+G>}GuoqIE8YUtx}Z6LmSoSR*%eA*vCd8jd#!SPZI zq*wb5Vz3)Xp?3^640Y<~wOM_WHLbWtyD(+)YRm97Xrxj|YA55A4!Rk+C5>ryU{YeX z+!1;xfI%uy5oAt!0`jML(%=9go6%_RJaD~@A9H1J6VF8=@Fd7v236*58JY^6ci+xL z9~yC>^p<V}n>bn3B+K+|6u&YA@v=A2NCtwxx%Rh2powDOnbIlPEFddlL-ky4EP-Bi zrlx8gW2RkyhEzBwIIo>-brdHR4MG9V3ZKPDcnJMrMizbGrlS?H&IUq6PuL-N9N4sm z0x|o%sdm3yA_5Oe{>Yunc+mZQEcgm@g$4hGut_|R)>Gsn>LmKtTo*JSfsQ)Ek>DBy zLZ+?6X-xg|g;lG}C2F)XPu)POO+2`I74vt<iet~`QMTjv>TisN7Y@(mqhpVpVxK6$ zR7)UddU(*sh3pj!Ez#&`M0l<oIgo(@mNUY_728eBae_z2*%wTgG?7I)eoGaI;S*<& z3!1=Xk%%JLXKRh6-<M$^4gdUV@!|W)=-S@u{2z`i^nDxuZPIL~g$crL%ZWPZOuvFO zMpg8JFGYewN2$fx<zbUEQ#&qtN&GZURNal3#es)_s{DZHKK_6vSBB*coVc}4lN_Ua zSpj#js0qo7`;X4%@C5S6T?py4W>y`F9|Gz438$i0JspalWsxU75%Aiw?RP)f(@6t6 zH)$1j@dF*pPxMq=0aKzH2`&4{q;-h#cl)mWR%pP27epcNN&L6Xq6&U9*>KsSFRjfk zkfcn9;z+i~;oS`#yr~<QnQbV1`w=qdyf8F&?&PMIHTbr7Bumifxa@}LwD5ydh^N}^ zK(>e3Nhh$eGBlN`S%57x(GP*JbiNVwt<*5A9LDBk^=Zs~29EDat9Kt9*P*P_LiiX} z@mitp6oMr8{p{35X3t#t3f#|;UoA<wL`F&U&|T1(YRYCMOWYRdf?EHEV7b#4YKO~; zPFsGRlthiF{8=t@sV3?CLe_G3aH1C8bnk&vVyQq?xcwy*=m7^IplhhJtW**56)^IW zxW6tE2H>FRF%b67OMShf>DL$V>fehU^!8AH28EpI63*}sFc7~DFy!9zJk6=wfBk#o z$LpngkCmtA3?u}8>6;LD97MSosGnMH$?w8a>uKuj86cD}P1ywoD>)&Eh*{D=oq+bf zFSqC7w1xp*L9g<@PIE1<wfI9?^)LRyww?+XdrX*LRO+qoI{$Jo4;w2(%WKt>g4OZY zoW@@<h9#cE;-VmaGDYvdVxvBpZZ#{4R^fATUaW@j0hb0E2I794j|o3c0VnQ}e};}; z{OwRaj(vjV?Qi;MYq;HqEk&dKL}HQ!)8^{bWl!klZlJN^pgmpDA5j2#?*>6$Qe9*y zDWEJVz<?C?nAU5>4R$ZwfxHU{ZyrUSDrT@u48EZDYOjE$v2q?94+%X@X@f|Y&Nf{R zc?v^nW{?F2xm)x8Qh0<e7}SvMNb7qsWF~{HH{B~bEo9KrPVXpiW}4@iIPR8n8Z(M* zanJ~J*~+tYzqeM0B7nYLzUbn1#j@-R4M@}NpCSzm=loeDC>J7`2-Jkvf`TBEKd%uB zFaL2gEM44&0!gbRnM{pp&NAIK)3c0AyJmEPpb_vdr_E91S~<#Ppva{n7JM=w(TeIb ziP`~|n%+yoJx(7f>$8UNyedT6FlSNRSzlb_L%<vM3*Z0a^>Gbjh;!QSL8m;imSvy9 z4dbm1{{JVL;{Q!M_#XhGxBVtMWukvOih{$y2K*~B5{lwAqDI00*GZy4NqnG+V>UDL z@b)te@;Tkg3JeWq;T+-9f^~A5tna_$RHawFlFc-$EkxKObCg-6uYH2wK+o=b{VylG zvmJz(R2}<%@*!hDlr4!y6GFa+Ve$J-;Y-T-vE^tG%wz{-N;IyMIdj2S{Zb%-eCa(Q zZ*c}=b)$SL!jB{Fd4>uIvveT*y$IDix}<Fvf?<v=jwl(wwy8a>IP=tun?c4Hv`YSi z|Msweej~bubV^Ok7WqRyR*`yr+hb|*(_W_OQwuM4({Yu(nLiz$4OvaLhgV-=xGPt1 zzN!PC+IuL3lyd)wZpr|RPUEo7@9kyU6f^DckIPfAFWtArh&iQl-3DN$?+6vk^)zmL z_~4wm>1fmjRvg~VVtlw^Xt0qe+5ehP+g9&uJt>E~!e^*O&U#eZw@zT^gEw5ej`3WU z$T!-hXyRM6<;1cT3QMHf6olq}+}9;<-LyaOQ*mEm;eWZu^%cC^JnUDbe_pcI;UGhH zu+6FF#`ku`TRJoMbe_DsIOJ~O|M1s#cbBhz;IkpWw~qClz|rz}tH|z-Gmig$&i*rB z?P_0e+T16N+g~3(!S8!jb35;49T(TWdsk&+XMcU94_Y|pCEy&ti;;mrlLfYJ46;jX zbCE{|Bj_}RJHYlFkecTuGg;3|1I8?YF<n3+`@Cf)d22yglRY5J5^oQPh#QDv^YI2z z!9E^*j%7|^h|Ot}SNdp0f`pKl6?21<9315H0v8+S=ar=9mFQLE<^*^%GKnyVFhCsY z6b4)S23q>Y1J?v%oE4v}<13{AG99rBj)4K3py3J&WGDB^OHFR@<p~2RL=F(($rVW8 tp%Vi`ZfZ#)HaA#*Pcu{n2IEm?1_n_iJq!#NT_!*BRcEsV?!seW008zJWa<C_ diff --git a/Inst_eddies/Documentation_texfol/documentation.tex b/Inst_eddies/Documentation_texfol/documentation.tex index 4255033c..c548861c 100644 --- a/Inst_eddies/Documentation_texfol/documentation.tex +++ b/Inst_eddies/Documentation_texfol/documentation.tex @@ -74,7 +74,7 @@ Cf. algorithme \ref{alg:principal}. \STATE entrer(corner, step, ssh, u, v) \STATE appel de set\_all\_outerm(s, step, ssh, corner) \FOR{e dans s\%list} - \IF{e\%valid} + \IF{e\%out\_cont\%closed} \STATE llc, urc = bbox de e\%out\_cont, dans l'espace des indices \STATE outside\_points = coordonnées des extremums dans llc, urc à éviter @@ -325,15 +325,13 @@ tourbillon sont vides, c'est-à -dire égales à tableau (\ref{tab:null_ssh_contour}). \begin{table}[htbp] \centering - \begin{tabular}{lllll|l} - \verb+out_cont+ & valid & radius4 & \verb+max_speed+ - & fraction & note \\ + \begin{tabular}{llll|l} + \verb+out_cont+ & radius4 & \verb+max_speed+ & fraction & note \\ \hline - null & F & 0 & \np{e4} & 11 \% & 1 \\ - $\ne$ null & T & 1 & NaN & 3 \% & 2 \\ - $\ne$ null & T & 1 & $\ne \np{e4}$, $\ne$ NaN & 47 \% \\ - $\ne$ null & T & $\ge 2$ & $\ne \np{e4}$, $\ne$ NaN & 21 \% - & 3 + null & 0 & \np{e4} & 11 \% & 1 \\ + $\ne$ null & 1 & NaN & 3 \% & 2 \\ + $\ne$ null & 1 & $\ne \np{e4}$, $\ne$ NaN & 47 \% \\ + $\ne$ null & $\ge 2$ & $\ne \np{e4}$, $\ne$ NaN & 21 \% & 3 \end{tabular} \caption[Cas où la composante speed\_cont d'un tourbillon est vide]{Cas où la composante speed\_cont d'un tourbillon est @@ -351,8 +349,8 @@ suivants pour les 4 lignes du tableau (\ref{tab:null_ssh_contour}) : \verb+speed_cont+ d'un tourbillon sont vides, sur 260 tourbillons, soit 81 \% des tourbillons. -radius4 == 0 si et seulement si non valid. radius4 $\ge 1$ si et -seulement si valid. +radius4 == 0 si et seulement si non \verb+out_cont%closed+. radius4 +$\ge 1$ si et seulement si \verb+out_cont%closed+. \section{Calcul de la vitesse azimutale par rapport à l'extremum} @@ -652,8 +650,8 @@ séparer les contours et les positions des extremums. \begin{itemize} \item \verb+extremum.shp+ : points \item \verb+extremum.dbf+ : valeur de SSH, indice de date, indice de - tourbillon à cette date, valid (logique), valeur de vitesse sur le - contour de vitesse maximale + tourbillon à cette date, valeur de vitesse sur le contour de vitesse + maximale \item \verb+outermost_contour.shp+ : polygones \item \verb+outermost_contour.dbf+ : aire, valeur de SSH, indice de date, indice de tourbillon à cette date, radius4 @@ -664,11 +662,9 @@ séparer les contours et les positions des extremums. \end{itemize} Soit un total de 9 fichiers en comptant les fichiers shx. -valid == 1 dans le fichier -\verb+extremum.dbf+ signifie qu'un contour extérieur a été trouvé -et qu'il a une surface suffisante. Si un contour extérieur est bien -défini (non vide) alors il a par construction une amplitude supérieure -à \verb+min_amp+. +Si un contour extérieur est bien défini (non vide) alors il a par +construction une amplitude supérieure à \verb+min_amp+ et une surface +suffisante. Si une forme dans \verb+max_speed_contour.shp+ est non vide alors la vitesse correspondante dans \verb+extremum.dbf+ est la vitesse @@ -695,10 +691,10 @@ an. Pour un extremum donné, radius4 est le rayon, en pas de grille, de la plus petite croix autour de l'extremum qui déborde le contour -extérieur. Si un contour extérieur valide n'a pas été trouvé alors -radius4 est nul. Si un contour extérieur valide a été trouvé alors -radius4 est $\ge 1$. Le champ radius4 est écrit à titre diagnostique -et n'est pas utilisé dans le programme de recouvrement. +extérieur. Si un contour extérieur n'a pas été trouvé alors radius4 +est nul. Si un contour extérieur a été trouvé alors radius4 est +$\ge 1$. Le champ radius4 est écrit à titre diagnostique et n'est pas +utilisé dans le programme de recouvrement. J'avais d'abord mis la valeur de vitesse dans le fichier \verb+max_speed_contour.dbf+ mais cette vitesse peut être associée au @@ -740,9 +736,9 @@ par \verb+nearby_extr+. Avec les données globales Aviso en 1993, on trouve (avec le script \verb+stat_SHPC.py+), pour chaque orientation, une moyenne d'environ \np{7e3} extremums par date, \np{14} points par contour extérieur -(valide ou non, y compris nul), \np{4} points par contour de vitesse -maximale (nul ou non), \np{3e3} contours extérieurs valides par date, -23 points par contour extérieur valide, \np{1e3} contours de vitesse +(y compris nul), \np{4} points par contour de vitesse +maximale (nul ou non), \np{3e3} contours extérieurs non nuls par date, +23 points par contour extérieur non nul, \np{1e3} contours de vitesse maximale non vides par date, 20 points par contour de vitesse maximale non vide. Les tailles ci-dessous sont calculées pour 13000 tourbillons, 18 points au total dans le contour extérieur et le @@ -1000,8 +996,9 @@ contenus est, dans le cas où $E_1$ est un maximum : les minimums, les maximums de valeur strictement supérieure à celle de $E_1$, les maximums de valeur inférieure à celle de $E_1$ avec contour extérieur d'amplitude et surface significatives. D'un point de vue -algorithmique, cela se traduit par : minimum ou valide, puisqu'on a -initialisé le champ valid à vrai. Cf. figure \ref{fig:nearby_extr}. +algorithmique, cela se traduit par : minimum ou \verb+out_cont+ fermé, +puisqu'on a initialisé le champ closed à vrai. Cf. figure +\ref{fig:nearby_extr}. \begin{figure}[htbp] \centering \includegraphics{nearby_extr} @@ -1037,7 +1034,6 @@ Cf. algorithme \ref{alg:set_all_outerm}. \STATE e\%out\_cont = get\_1\_outerm(e\%cyclone, e\%coord\_extr, innermost\_level, outside\_points, ssh, llc, urc, corner, step) - \STATE e\%valid = e\%out\_cont\%closed \ENDFOR \end{algorithmic} \caption{subroutine set\_all\_outerm(s, step, ssh, corner)} @@ -1290,11 +1286,11 @@ $\np[m s^{-1}]{0.30}$ et $\np[m s^{-1}]{0.23}$ au lieu de $\np[m s^{-1}]{0.26}$. Test sur la région 3, sans minimum d'amplitude. 14 extremums sans -contour extérieur (valid faux), dont 5 sur les bords et 11 -dégénérés. Avec minimum d'amplitude : 34 extremums pour lesquels -valid est faux. Je vérifie que, pour chaque extremum, si valid -est faux dans le cas sans minimum, valid reste faux dans le cas -avec minimum. Il y a donc 20 extremums qui passent à valid faux à +contour extérieur, dont 5 sur les bords et 11 dégénérés. Avec minimum +d'amplitude : 34 extremums sans contour extérieur. Je vérifie que, +pour chaque extremum, s'il n'y a pas de contour extérieur dans le cas +sans minimum, il n'y en a pas non plus dans le cas avec minimum. Il y +a donc 20 extremums qui passent à un contour extérieur vide faux à cause du minimum d'amplitude. Je vérifie que, pour ces 20 extremums, le contour extérieur dans le cas sans minimum est le même que dans le cas avec minimum. Entre le cas sans minimum et le cas avec minimum, @@ -1499,8 +1495,8 @@ appeler \verb+polygon_contains_point+. Ou chercher les points connexes Déplacer des champs de \verb+extremum.dbf+ à \verb+outermost_contour.dbf+ ou \verb+max_speed_contour.dbf+ ? La -vitesse, radius4, valid ? C'est possible mais ce n'est pas sûr qu'on y -gagne en clarté et en facilité d'utilisation. +vitesse, radius4 ? C'est possible mais ce n'est pas sûr qu'on y gagne +en clarté et en facilité d'utilisation. Modifier le critère de recouvrement : intersection des contous extérieurs supérieure à 50 \% et intersection des contours de vitesse @@ -1575,13 +1571,12 @@ Algorithme principal : \STATE appel de set\_all\_speed \end{algorithmic} -\verb+set_all_contours+ : remplit s\%list\%cont\_list sauf speed, -s\%list\%valid. Conserver tous les bons contours trouvés lors de la -recherche par dichotomie du contour extérieur. Ils serviront lors de -la recherche du contour de vitesse maximale. Si s\%list\%valid alors -trier la liste de contour par ordre de ssh et compléter la liste de -contours pour qu'il y ait un intervalle de ssh maximal entre deux -contours successifs. +\verb+set_all_contours+ : remplit s\%list\%cont\_list sauf +speed. Conserver tous les bons contours trouvés lors de la recherche +par dichotomie du contour extérieur. Ils serviront lors de la +recherche du contour de vitesse maximale. Trier la liste de contour +par ordre de ssh et compléter la liste de contours pour qu'il y ait un +intervalle de ssh maximal entre deux contours successifs. \verb+set_all_speed+ : remplit s\%list\%i\_max\_speed, s\%list\%cont\_list\%speed diff --git a/Inst_eddies/Tests/long_tests.json b/Inst_eddies/Tests/long_tests.json index 6e644b61..f3cb8dd1 100644 --- a/Inst_eddies/Tests/long_tests.json +++ b/Inst_eddies/Tests/long_tests.json @@ -140,4 +140,4 @@ ], "create_file": ["config_nml.txt", "&config_nml /\n"] } -] +] diff --git a/Inst_eddies/inst_eddies.py.in b/Inst_eddies/inst_eddies.py.in index 823c81fa..c63d371c 100644 --- a/Inst_eddies/inst_eddies.py.in +++ b/Inst_eddies/inst_eddies.py.in @@ -27,12 +27,13 @@ def loop_inst_eddies(files, bbox, d, my_slice): inst_eddies_exe = "@CMAKE_CURRENT_BINARY_DIR@/inst_eddies" if not os.access(inst_eddies_exe, os.X_OK): - sys.exit(inst_eddies_exe + " not found or not executable") + sys.exit("inst_eddies.loop_inst_eddies:" + inst_eddies_exe + + " not found or not executable") if os.access("config_nml.txt", os.R_OK): print("inst_eddies.loop_inst_eddies: Will use config_nml.txt.") else: - sys.exit('"config_nml.txt" not found') + sys.exit('inst_eddies.loop_inst_eddies: "config_nml.txt" not found') nco_instance = nco.Nco() diff --git a/Inst_eddies/inst_eddies_Aviso.py b/Inst_eddies/inst_eddies_Aviso.py index 5d16e81d..9b5c8171 100644 --- a/Inst_eddies/inst_eddies_Aviso.py +++ b/Inst_eddies/inst_eddies_Aviso.py @@ -37,7 +37,7 @@ args = argparser.parse_args() # Get the first date from the time coordinate in the NetCDF file. (In # general, we cannot get it from the name of the first file because # the first file may be the only file, and then there is no template -# option and the file name could not contain the date.) +# option and the file name might not contain the date.) with netCDF4.Dataset(args.first_file) as f: d = f["time"][:].item() diff --git a/Overlap/Documentation_texfol/documentation.tex b/Overlap/Documentation_texfol/documentation.tex index 09820608..16859b7e 100644 --- a/Overlap/Documentation_texfol/documentation.tex +++ b/Overlap/Documentation_texfol/documentation.tex @@ -211,7 +211,7 @@ sommets et deux arcs par sommet en moyenne, est de 6 GiB. Problème des sommets isolés. L'information est déjà présente, de façon implicite, dans les shapefiles et les fichiers edgelist. En effet, on -a le nombre de tourbillons valides à chaque date d'après les +a le nombre de tourbillons à chaque date d'après les shapefiles, et on a la liste des tourbillons non isolés d'après la liste des arcs. Mais la liste des sommets isolés n'est donc pas très facilement trouvée. On ajoute par conséquent le fichier de sortie diff --git a/Overlap/Tests/test_overlap.f90 b/Overlap/Tests/test_overlap.f90 index 53afbe15..4a48498e 100644 --- a/Overlap/Tests/test_overlap.f90 +++ b/Overlap/Tests/test_overlap.f90 @@ -67,7 +67,7 @@ program test_overlap print *, 'Created file "edgelist.csv".' print *, k_test_1, ":" - print *, "Valid isolated eddies:" + print *, "Isolated eddies:" do i = 1, flow(1)%number_extr if (flow(1)%list(i)%delta_out == huge(0)) & write(unit = *, fmt = "(i0, 1x)", advance = "no") i @@ -76,7 +76,7 @@ program test_overlap print * print *, k_test_2, ":" - print *, "Valid isolated eddies:" + print *, "Isolated eddies:" do i = 1, flow(max_delta + 1)%number_extr if (flow(max_delta + 1)%list(i)%delta_in == huge(0)) & -- GitLab