From 0eb96f716d01db564d498e9973990add72d22cdc Mon Sep 17 00:00:00 2001 From: romainsacchi Date: Wed, 8 Nov 2023 09:50:22 +0100 Subject: [PATCH] EODC --- dev/final_energy_mapping.xlsx | Bin 0 -> 16622 bytes dev/sample/mapping/mapping.yaml | 5 --- pathways/data/final_energy_mapping.xlsx | Bin 0 -> 16028 bytes pathways/pathways.py | 43 ++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 dev/final_energy_mapping.xlsx create mode 100644 pathways/data/final_energy_mapping.xlsx diff --git a/dev/final_energy_mapping.xlsx b/dev/final_energy_mapping.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b57f5b8ec69171d77ce78ea6f20d5d57e35e0545 GIT binary patch literal 16622 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%0DZH1oFJ!piR63udB?+71WWza zczo$Xt&dY(33q`GYT$?6!{v~}nfANY*Y+DV%qoW5Q5!dD=hmLejU1Fk*PDGUGuH2^IojJJ=*f_LWsZejmbX_J1<1^Z&@Q3Ij$I5t z{Ny({swXSle0?dytR!+c10eP}L6B>69AW7MRy4z<^z~BDY!2+?aK)aLFnzTlf}B1a zF)^-z-{lQuNZ$1MZ6A_VWr5xTu*O?Td3vx=4D*DC4;_!34H$o zjM6qx&`O26x3!6ADi^=tz9|`l-fde&EmZN+Y{YCdAZNF3G|rLfV69`rMyEy2Q#~Ep zsWY_Ww;n41{`FblzrItoiG*NEekOp} zd}a zpl5>5zpAvlXcX6$)G>Q`Kwm=4Lf~&aSgSr*W7RoTL-Pr$ty|zCR*L>I)sC+0;C!n~ z-^&GEVWM4Aw(vb4M6;ffo`HEoQ6I;H)fHqwswR-aO2#uWKg$`ef9V>J(wyXCN`Gxm zoarFWJPK!Ea~a(cd2mrP&?JZ}l*e!>TGT}pnx8lmLFEppn@KfSkS9t?^s;F&Q0aa$ zP(PhB*(GeioqHgw4ve608qnm#+GvNo?4`~Y0xJPOtWF)&U%jF@7d4A91qS|Yha3I_#c zqMU#whvMaWvjF%o>4@UiEisAwKs+$xEha7cYpw>8GV32qkhMJ9Q5 zq~R6ur;7@W({syiD=`EN`usmj&f&9Yykt#-tNWakBEJBj8tz`Cc`xwk1)_p5ec<(6gzhnFo`TOtnt~&|A)&i=j$ECahLQr&t%Zd>I|^yizpG zJZY}F4s9wJc83*ZW6QHY7VF{7xAIfhnam963pHTibMPbH`1=aSD?OKp!I+X>Nks5?6ZZ-&t}N1f5p5chM-l zg7yGcAoG#JWV37$W+pJX#d97J5CN2}r#kP%8|`E{HiB%jI!|!$b16LcdgHZ1zNg_7A7l{yQ)5Uj^Gg+xq{{68x*4 zzmmoNsp;aAJpUK!*k6VJ%02m~@H*_@g#XDz`K#z()BOJ_TKTyP@cG=oCjI|a!Cw;< z|EYi$8h#juHDtuQ(I9M>=POQ0ssX70Ehv`7de*tAOJx8CjbBy00pWe>R|6`X76gC z>g8zWqQ~HAXG>J@36v@i019mX-|PSI2vj9c$PX|fi9blaitf|PtTzZjv7ZNzpwK7@ z^bRHsSD5JJT3LPMM!q14Em)T4vn0V z_h4ctI%{iP=Aq#VF=HDTd^OJkq&u|^D6@&}2+LIASfXPH1n%Xmj;JGV4Y$EnXqR!1 zuJvupt8XH6jhD|O?aiVtSX)v1=-=$oOMi+c@ma@k*DqEi)>NT3R&H~CPLu6+q596c zXlMeu$rKjfg|IQT1<}#XN${Bsr=dLRwnBS2-iEfvSJ&6OhblJuR`I!=1KrYqUME*5 zh&Xs|1)yjX-GouiVn6LSD2QGtH}SilXyb)^2NiE{3)i$gH!j{(9*e||Zo7CSS4@GM zlP1`|bad=HSFggk37)Tg$t>jlC-KJ*w0q>^_M2W2q_JLNGQaTi?a^aipR<_*osf&G z)Z+k_cL)IB;{yz!_%E<*R%0T)1^SvC5OuIXSQuD~@GJ-jTd0kG9xIeHX?1G`*_0g6^p?va2wY}s8cbL4H1cNd@uO>S4hk|l)Gl{iMPA0Kd)BV$CT=gy_s2#Sw}3PK z?=Hih4I9`G1^{S60|1D?7C@KzXJ@HWTeIKeK=Nap2~Z5}q#<)_Boot@N?rdXg%Py( zd9^e!^(Z2OfkAu-A^7b9!EC~5Nqol~m#fHgHiMPbLITr(L#@1vY4*AV!Oc0=?dzge z(#NPiFy9}xc1w`YnL{Ot?`PBJMTVm$e&oTx*a04lQ|UQz?;=kwUS+;}jE+y0 zN{}`ZFhe(~N`xe4JmLQGYN8t01O=hDDU;uKqvj0X)>gqB+=7g&gO9YvBM2c-n1S#ss4_%oX-RG+qS`TS zqAh8y&d=#QF9c)~j#!D6R${JHla*Wt9D*-v=_`>LJcVr1CX&)(e#yZfh3pT-m~aNX zLk)Q%Q{a=iJGk5?6IlKEo$BZyzKCPPv6v>XRI4g1?6$imq_KKyj)~<5F;XnjImf(O z2k+NOUuQ+%)?&sHGQ&+sjN?<#xZ4i$Nf)m{|%*i zTMUd2%D_z){NLd2;_78<=JH2mC{nYtSz|(a7gz~EdcGKU-=l+WnV4HpJQ~i!KdUsJ zh%D2OA+wkoet(g7*T>^&ne~s9Kb&`&-f&T#%aVs_G8uNRX2H`7#bQ=FiK_e@)+2!4 z2S<8ZR#7$+W#&0e*FCn?BU`-&d;i_+2XUYx$AHdZCOC1+I*asqihX)8V>3r0&q^kI z{a2%=hWB_hGK2x@gk)MiB0AG2L88RW!xm^6dfb!8OxTNiehi5Q-F1g#4p;g>Ys}A< zk?oe&#tRuHiJLDZar?!y>dO}}j*&Gs`VDEWho0zrVP2t%h@rR-YI+%K#3?&A^7v>)_4-9h#TYPlU^e9;FvtkvJjR>3$D8?s)7d2oGB z-)Ve{RO?K+qCSD$vRW23eY6$yEG{UY?&EndH0m@Iuin9a_iBA*GT1WA?p`;osQ8X0F{5GI)waSPKzY?a*z@`{k=FBZ#dBA;yN=G-?RR~BoP@dMcXy}|hrhaphoAnNII{kC&5p?> zMYK^6!pjwiV9p?u$Y7!n@{xPl#l$G6z7EkzzgyjT{~Dg=FnA|lkIm0^!mBp2*o<0< zdhm6V7=2DOSmtNhm8*-qy+EoBiI^uBbv7hdW@r*Mj+p2-Bl@y>J-KODJ5Xk` z$nR@PY6P@{$v>j}V0glkLFr7HTa1| z6dRb=TcKO}-^@wAgYR2sCR0W{n@!=@cgAFN5n{Rq*F~GH^0llqPe!ux^4yfCtaf0j zxW)`)`LqhSXwDe1P8_z)YLFPF;GfA<(T+~3-DMksm?c)&EKxhBLD8B$TqWDpSvWWa zdty*UB5xHv;fQU>=y4rnt9s|eB7ELv2R$I%kDjMq20vm-?C6m`{R*XJk>-tY;j8CJ z>+jGwVra0*f8PBG+t(VK=)U!S5=qG>n9nE-3I+~yBRB&6T~{opQrq?-Icp`00}%{O zLcI$$Y5(icbYuhNtH(Hj2Z##fV`7!dl9!r` z{^H}uONIHozCf+nlugEs_VC^Pov?LAr*F_W#pU%;u0m)10V{Fx#RT|Jhlq#Yr_R|J zNT#wirFP0TYmh0D$4vHgy7gpI`aLHKK}wd@xEVNYQL~NS>?pZARZmumJd>huH(K;> zGu1EhH=c1{=jAQhs@gNlVZjrhJgIfRil)hw9BK1kZdNax`X8x!Xr)0={hY@#k~7Cu za>G(GKoCLGxA>y}GedLMRdZJHBrRWC!s!5p$qpUe^Wc74yz3xbcvU#e954CM1iiE= zqcf%kW-3F%JBhVC14Pl7k(DUURpn>9lb5xdRYjM05j|;)YvWg@Ii_ID9Xj60)EBMc z_Kffa7KJwBHe6@cldp)#HsU0d--9S9RAvTw?Vp;hp;~E3*=(LrkFW-oJt5ji7j!TS zRKB}oOXu1@dKjf*V>X0~CG+Se$&W)YC#3r%57HaZ2c*EW&Egf<(P{)D325(S3egf~ zIU%|7j(W26ky?dqU@7Iw69(<5)HuFZ3~k|8k^RK$?;`vf*9FFN$cbE}smVwS85}HY%+(vC=`oDJ*b2+PO(^@n6+Y3XbOd&~_7|JC(_Kd>&u# zTr`LD2;%d04B#qNK2j8MNF$|sp2HnY<}i$2Pty7dwbjW@N&n$bZ40>}vqGPYW7LDB z8ls$!+)^3pj-@{FR;PR7MuWI*n4qMKFn{_CqH8oG?rv2(vdnO?cR)WGiX0s+XYd2F zdFOezTlc50(u$`NEmAC7w|IYMo1X?~S@yJigyur0@u< zi}s4AoG{JKtvXQF)~^!&bIT6;TO1wtn*V&~l6(t-^cv||(hBnCKAQFNdW9X8zCDK8}gUlPy=@ z6X8ix3sCNl@{*+l{IwQk8qGr82n&*(oM#>*ud;4AF5Xj;&~#}FWll-CkDR+10?=YW zho_59pD+8xtn!Q~S0VHjuhx{KAS~2WYw^H>SuXt@6etPzW=yLv?(W7wD@+*q-NF~^Ti zI`|ssELUk#v)zeYk!Rbx-J-+!f_bLU!wg~*1z#M#sx^4<3G;Bb%#JbV?pvKnYT=kO zi`YZeo5@F9?PhHd%PEM&bdfSRa2XLyLGMY&uNx2&6rr}BpT|<-KMs%~BpnHY3uGr_ zDU6@x^RM7$>;~ks4yJU(KW}n5I(~DkONGZj%ivxacnI^y zm1E@BX@Z1qh9rf7M1+R4`8m^y6C|E`Sq;428V4il+d-_jdbvqmDGM*ZUf*Qa9`5mIkQBDCl*6b$fRFD*=Q;z zPm71BJBsJWWn^swRaP+z?^>@$Hh4B0vqH_<40gm1V^kmuZKsA9$k37wg`l34h|FK@ zxLz2~zf?Fw*v&||q>vFw*c1r^p*DGzoEn}1o zE_95J2P^Y8+o;beO6ojzEHeUNc9>*#w5s;Dr0K4Tl`E2+3 zbVqpUA_aYITpqrJmmKQ>mPCiRaCTg-2*jKAwxoOa?v_aQh1Plr+~MFdlP)m!W)X!e z(>XQfhfU~So+M&*f}ytQrYAUmMJD*&BFkXRxvA?W%e+_M1(mV!?l{caLD^pJV^LHp z*V&vZmJQCxNxlzEvBw;@b5Olh7rHCAb``9Q;%WChk8MN@imtf~(hP0^Cx2!slrHtA z;+=D%)~!6AcV!PR!8Zi^PaM=o> zvBc<)+0p{TKfkFj$d2iD7ykYgRYCQEQF zdMqR?Sx&2RoZZIhj?xjW|9#P+PF^uCyhAA^Zk+>y$Pd=MnBBE$G{U?%a>EUL0KtKi zu2!Rc9fu)eL}>bXJo1;945CkXO<-vG^7Tvt6-*HPj5_nJw}`)_gORxL@bD9y@ARq|ZjhV_yN!GYVQdj6Lf~aD#C%}w zg5q*)Zfz!_j)}veGFrqT+X#g8lW)VukFdDi_b;IYfrOu3TO|k@rfK3Z+#*E^_sdmE ze#t2Kg!dgrx?Ci1n5KkdTm0Ze&oK|@0ef);X2eAu5wZsKlmmqQl)xSAE`r%l+Ja8xgG#*n01HFi+lIdcO!swY@m_w4KA@^PyZ}zv!CosS z?vQRIR3rlM&7Was-p)RstD~MQvcjsKIr9OLSJ;ifdIx^wFQR`eHXOx{1b-5o$(7lF zh<&~YGXmBcesQGgU2ptVG^D)+hS`U$uo{8Y4*V#VB+r~bDvEt7Ce!a68Lx^zJf^`q zbdTUXpBKicSQe3XsS-V}y9Fs+l(VoBfmKhOD!&M~teU<|BgCmnvz9avL7gDG=Atl# zvak(-byD228lY56i+Hl=;;CNcfi47jih^hm!um^8!m+vkDi5+rJd#Mdkv7QK5NYQf=y7 z_Mrqo=&K^CD_$;^^lsi-$9+Q7yE6u_K&XWwWaR<6y-t4kCJaCQz0~b(1u?|ynHr{; zA|e55c$}C7IDrKX(o9x9XR|P(Wt>3m*zp_ltG#EyS^BIOa829bcNKJEv)*ej)qpSF zw(ygb!E?8i7{|9zMwr15O`dPHH}qM=r#=!IVB)}_dQg!VZ|*mW1I;YVGox&rq|qFp z?w!zrWOQ06EsfE&2{q9m9(COaF0WWhaV_T$X3;f;h@q&02*Abd-?+Eo{chbu^f^xToc2RI9BL$IU!8Z3v$sjBAXj6e`{b8_Ts*p_mJAkJ{jcgr-UvA-_DgvZesD%m-K zEuD%qEsD!nFNwpf6b=T1ReMcA)d6P?a-HzTJsnT6yI{8<8m)X6euc6L$wY+LVqc3E zuN90T!i!f9fk{JEHwr>J@a+@p;4K^J^c1TX1Q*s*Bk2zfoYPIwiX|@SI)$^r9klpa zi^B{7Fg&(Tv0Qct0Ct7K7b6D^yUWJ|f17@WX{x##xgZb(zH>XbUHu_Va;!Q@zlZ_( zNh#px!N3lLip-C;VpT$b-Q$}@{H(-=ch9wA>J6&ws*;0a5dGmkYFRe{?8vic;HRX(FtOE4pd+*3s7#HE0wUP>B<4f3Fmu2d+#BbBhx0xN#fX$Iir z9r>+hW&R4YtMB~WThkU|Bu`T?q-~uQBddh>U8F)ZMasp8`ViOqM?bd_rQz5ze4)bf%MnVL*=()fo?B~i~ zcvP2p&T<}d8c*C~8B>MZNRa+vf}-#RwY}AtcT^On--{nO@{MbKRX;jFD-dQbpPBRU7<% zd$5SU6y1H*294q5L>cQ#-w~teO^Yv3U39_FHYTzwZg5tWVd<0ct6$Oc%t?YNWkZfR zA(l^KVeI-Q|62T}O*Ia?X-=y6TIlmamU21U0PDf6`f?mH)3ql}u4T8Sed@{8t9IA* z%w9}j1!ozB4bt)GUU@{pQ^B!##R$_wQOW*Q*%VZ{w?@UycT1LDgJhfA9Nj`x<7$R# z?T!Q8K?BZFBN{#=-8*?p>lINo_{=ZsS)X*%a!=UK?;3EP3SOc*u4j&89xFU_2x7pT zJ-nS$PSvah%TJaJmSMs6qwR&PlWu#uU7u=*=EfNc=Qd?}6dXgG0MsRs$M#LjiZu&0 z8BnKGM&~%pM1)1u;eOf8ZfQy`cNm)?N+K79pL7e`mEW|0i}JLNy5*}^^t~oNMaE%n-uCbvQ-;LS-4e1z&9wOU8P<$|}rG+z+C z@E57ifp6={A?9=EDF%J21_>w#eK{Kb$~^zf_OJopBe|{6+#2nN&Yl-e)#mK7+-&)TT2I8zAG&S;?u5C`!hrVmF{eCxOFP7vi2P)6~S_bRUKO{zUtaDFB0N!;2T5 z%*w}VfrtC6aCL2*cQHXxs~j_nJ6R*;fG*`L5&fwKX)p8_MRQvbN%I`i@Q-2(@(d2GNE5Ktm>CLII99? z1F5G^e7Gu&u0<=d~Ad z8qMobt{4s8f?ZDsRc!xq032#PVi+L_ zSx9a{0h92A>UjlxrAnFLMR{_8;rLyU3L+Z#IU|K-MzSB%%M~46_M37P=+o>U>gFN& zL$M-DP%BkBQ$SYA_xUru@O$7bqNGq#L_snm zmGBeZqMgyRs=lQw3U=h&H6;B0ogqUmU%T}y!+}42aNR<1hazc|9b`YJhcNs|S!)iK zB@sBt=5!Ca1zo=&Ry99%R~1+aB%>WL5rh^*o+YT1^h@q$#6G5eqn< z1Qq1HEjAIVBzN5VFob$ZA20>bzWE~$EmN1E62b`%QqffspBm^=@Tb*uHo0y^TEIjZ zZZEJ&TwUMWTz)lf;~az37$M{K;!-L?19$d|3)=#kp}WHi+sQXdt}nuXDlVf$9^`7}qNRlR<2*H>6rj2rb z_>H<~o!}Nt#ThYM1a4psdZ|$5Hu8|MUJyL zF<&N?cJS$!KL%;u3@8^Pe7R^VK4+H&bSugzRe_7(v!%kF2O%XU-WGG%Dj+J*!M*ri zffGGeAt}$Vh$iRW#VSrbR%a)O?tEOX8UtEhDk;w_K^(B4o!-9c%nC!ur!qZ6rTyz@ zko69z2C877J2dpr2ej`8I;L+SqOFI{+G(jwJhLi@ z#%OYa{72MO5EE68_sg!)wY4hKIo?GmnwY;b+{OFk<}T3MDAw0BKMF=lJ$81^(qz>1 z(v`ip(G>V?ADPQt>wBZga#}2C_Osu#B@Pe62^%F5vyEf=b3j|gVnd&b{gNJa-;d|! zSb^h{N0ol&#q^p-MQ5?MW-!mMGMD7`$nSBIFixSDo}o3LwLW@&(y6(21!${P?k7E1 zPNboHj`SA36>=*-bjOZ{&c@U!96fKgTO#oHE-YdZ>Phh@#0k+q(eUY@n2?)H?UJ@` zeP}dcP!W@nWh%YyCAWn4NeKOw8d=UadPK*UJE77C{Y#zT@yi}uKxQ5pUAc0?!ld&- zjXVAKzO8}%@iy0HC95iB<~lD* z_nJd$!$Ju@+hGyvamb4qu5v`qWi}F+>v<;2)$lsV0=<8HGvrR*nH-}swU%ikQSBzB3CDweX#!(12O z8~)sk!ktXzOsJ9h#Dy~zPZ++h|N6{7J<6Jdjybfp_*B`5ZX`~ktZ%zn^Zx4Wa&0b7 zBOaY>USQ~;!C0mJ=KZwXqpO-ilBc8UprKPdZXmBvX*%Jo-GxFI~++2fxFbpv(Ve{^Yt~Hx2Wo!8j7- zdRJ9XKl_Aoa^8Z5+ix`e>2>eC<6-&N!1Qt}q2QanKv!3HkK`9Z4?0$HL8ay-Hd0(| zEqILM8s+ODU;mt-jYLXaty%%53b`vp#&R@V_4MfvF#R2BuWisy8}`j^KQy%=`a*}A z2SS~_dyN@hzI?6b4<|vR4A}$z>h#6$vMYDg3{SsEJ9jR{hgHHU?SM3!jn)sXs;A&mOY?a@(H zHErIJ?;5T>-a3ErM!b_hW zi`XMz=Dvc6O{q#cq7uihVbPp|X*P_U9h+9g>%dsYyY~d|&oIrINdz-TVr^)l4LcLp90;3iasm&qp^TgGhZxQ>2iG@b z48HqPxiE#~(45u}AsNnGd<>?O4!zK?7vZlf*ORGy^R^=xrK92cDMvI$D&gAWd=T!1 zp70w`uv}0H_tD5WbX#QEO|!O{;(y86SrIo3 z4Nz5WS`T4W%$j^MQ>ewqIpP=6ZB1vIXVvI()IU4t`84L&^@O%}g)ASxED1$yvWR7f zTrCLaNg6*|4?P5vC(I=eWrIg7?C5=Q3pXr@3UXhDagP2&Xp+7w>(|Shz@>IZF=q!_ zE89#wo+`L4xCWFwwO7?abyzCe_U<)5+XR>kFG=Cv4Htuti3zsB*yI8wv$fD7du{MvL(#8$*g&tErUUmDa<7e59pQ#Kra|-cQsuX-m7Xw*MhJ)Gx6Bb@``k&;ui3X% zUP&y15pTYfp8=Do9nc3_@|?w|qK6c>X-wRR=|4ec!A$I(PC%GP$SH|_CHaYX^);9i zfZrVCMTpSEl(f()o&iv^d!Fq^SpC`^-mz8`=ft7ISrAaTP@Lww^V74A;ENrtAH?Sh zXhNG}m%mn!ccHA*mN-RoVB+|EYA$Zp=F#0M?Ji{P-=LzNRi9Hj)FQ~__ z$m)3$l2}Hu1j3)%F{h6E;arOpTl+}x?Z6I+U+e$D=M!9$;Ph1Fb*h=r%(!7wFVVY`o;^-kG71qTMjj-q{{_E> zyIPu}JHaA>y1o9w>}kAMwNH;!941o-YlC+zPYxV&Fq5U1mZ3#`N@%mR^HZW7&X?=GArG|_%x4EuM0+-EKi?DjzFLGfDvaxk+*Te*Yc0I_<{UVQu(TOR+50m5R?=NBBBk~y~Smr_Aq@$)bUfDO~f}T~o zH_dm?TK4vx#1&6BWudiuJGdxbs#jxIDZ%0S(GqkbJ&I2z;WWkweH%~U5xEm82u7fv zq-2RvE7gjVAQ@0pTP$)j9rFtNG}TS2^pJS-;2uaqGtiQ$`B3qt&|`ZT6TQGe`Rh*S zgE61n%|^6DzH7>BNp;~e#y!;g((@CeyBM!GM<*=zVQ)?wrK!;Lm81K|bCUl@WJ=eLy0JxYeH-v;{NWS^a0 zK4onn&>$)s*l0wliOOaQzZ@pHnEH>qs$u-bR{SK;@WIqanAvKf-rCKdJkVsKfG1QT zqYWVC{(&nsA!v(7S6X$siO@Vz(<_hiqWhJ<8f?wWpIh4F1pGbAa02xuQSc1kT3-X? z4bZ>6v4ENcO7m98Sg1>pC}4aGW8JCA2#{7(+)1m->lS_Xx4J0ZTEN?MuP9Yq1yVbpHN=+o$xN(v!NXrWu5UlEHg z6=6l>E1Nt9wh zXF4&I9b9g883wpvs!X)&Dwg64!8Dtw7#LYL74>mF+1$W}rR#zytz^BD3UgfGhgPof zsmw_)XY|(>B$yB5%%gFKw|-(cqKt5A2AKqNhw&P&#E7|y!3dCKA*$Q~`j}Pogm|N+ z#eTOg2Pxf82kB>UrMQL;^{3 zIgZ0KX=Lq|tIM4jPI7IH!6_u$N252|A7FMT5ZNR4OddigTtvfpA_c`sgp*Jnkau-3 zrj<$UlEFhmns0nyCtvwOfvpT z)auvQf{F*aA1;tofb`GqXXNPkU+)9D-Tz$KiJu+T{$MMCJrlxh;Bwn3!39+rOKIHJ z8G|IcTgaD~1OEb$dl9FtyeHMt(cJ5LNT@E&7wK_4w zwzTcXfYl3i+T)4RhHHv`WlLM{k%f^4L@1z}54?X7=j z$yF45R@>Q2tMvM*AEXL}pA0sab(<(Fk=Z?g>zI(ZOF4S9$P`0vh&kKlu)b?{LMcAP zWyg>yXn&Y{cd9}3dDE8YN-!eL1;`HA&2el2+hTK>;uPRkcpmVH4dlzfybtq3IGxbq4DBXQIzvh5t$v_=oT&+~3mk|D_H5RrIel+5Zr& z0Ve;z-~DTa_FonJwW{nN3g|Ka*YJO DataPackage: """ return DataPackage(self.datapackage) + + def get_final_energy_mapping(self): + """ + Read the final energy mapping file, which is an Excel file + :return: dict + """ + + def create_dict_for_specific_model(row, model): + # Construct the key from 'sector', 'variable', and 'fuel' + key = f"{row['sector']} {row['variable']} {row['fuel']}".replace(" ", "_") + + # Check if the specific model's scenario variable is available + if pd.notna(row[model]): + # Create the dictionary structure for this row for the specific model + dict_structure = { + key: { + 'dataset': { + 'name': row['dataset name'], + 'reference product': row['dataset reference product'], + 'unit': row['unit'] + }, + 'scenario variable': row[model] + } + } + return dict_structure + return None + def create_dict_with_specific_model(dataframe, model): + model_dict = {} + for index, row in dataframe.iterrows(): + row_dict = create_dict_for_specific_model(row, model) + if row_dict: + model_dict.update(row_dict) + return model_dict + + # Read the Excel file + df = pd.read_excel( + DATA_DIR / "data" / "final_energy_mapping.xlsx", + ) + model = self.data.coords["model"].values[0] + return create_dict_with_specific_model(df, model) + def get_mapping(self) -> dict: """ Read the mapping file.