From 0f63fc9c92e3c890743f74536d61325adf8ea0aa Mon Sep 17 00:00:00 2001 From: unalmis Date: Mon, 29 Apr 2024 03:08:45 -0400 Subject: [PATCH 1/4] Fix bug with recomputing quantities on incorrect grid --- desc/equilibrium/equilibrium.py | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/desc/equilibrium/equilibrium.py b/desc/equilibrium/equilibrium.py index 7e6faadc0c..570f77cfdb 100644 --- a/desc/equilibrium/equilibrium.py +++ b/desc/equilibrium/equilibrium.py @@ -883,7 +883,13 @@ def compute( params=params, transforms=get_transforms(dep0d, obj=self, grid=grid0d, **kwargs), profiles=get_profiles(dep0d, obj=self, grid=grid0d), - data=None, + # If a dependency of something is already computed, use it + # instead of recomputing it on a potentially bad grid. + data={ + key: data[key] + for key in data + if data_index[p][key]["coordinates"] == "" + }, **kwargs, ) # these should all be 0d quantities so don't need to compress/expand @@ -899,14 +905,22 @@ def compute( sym=self.sym, ) # TODO: Pass in data0d as a seed once there are 1d quantities that - # depend on 0d quantities in data_index. + # depend on 0d quantities in data_index. data1dr = compute_fun( self, dep1dr, params=params, transforms=get_transforms(dep1dr, obj=self, grid=grid1dr, **kwargs), profiles=get_profiles(dep1dr, obj=self, grid=grid1dr), - data=None, + # If a dependency of something is already computed, use it + # instead of recomputing it on a potentially bad grid. + data={ + key: grid1dr.copy_data_from_other( + data[key], grid, surface_label="rho" + ) + for key in data + if data_index[p][key]["coordinates"] == "r" + }, **kwargs, ) # need to make this data broadcast with the data on the original grid @@ -915,6 +929,7 @@ def compute( for key, val in data1dr.items() if key in dep1dr } + data.update(data1dr) if calc1dz and override_grid: @@ -933,7 +948,15 @@ def compute( params=params, transforms=get_transforms(dep1dz, obj=self, grid=grid1dz, **kwargs), profiles=get_profiles(dep1dz, obj=self, grid=grid1dz), - data=None, + # If a dependency of something is already computed, use it + # instead of recomputing it on a potentially bad grid. + data={ + key: grid1dz.copy_data_from_other( + data[key], grid, surface_label="zeta" + ) + for key in data + if data_index[p][key]["coordinates"] == "z" + }, **kwargs, ) # need to make this data broadcast with the data on the original grid From 34352adcf1b031bec5aaae8ecdeee83d72f4412e Mon Sep 17 00:00:00 2001 From: unalmis Date: Mon, 29 Apr 2024 16:10:06 -0400 Subject: [PATCH 2/4] Pass in data0d as seed as well (needed by quantities like eps_eff) --- desc/equilibrium/equilibrium.py | 47 ++++++++++++++++----------------- tests/test_axis_limits.py | 3 +-- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/desc/equilibrium/equilibrium.py b/desc/equilibrium/equilibrium.py index 570f77cfdb..b54337354b 100644 --- a/desc/equilibrium/equilibrium.py +++ b/desc/equilibrium/equilibrium.py @@ -877,6 +877,11 @@ def compute( if calc0d and override_grid: grid0d = QuadratureGrid(self.L_grid, self.M_grid, self.N_grid, self.NFP) + data0d_seed = { + key: data[key] + for key in data + if data_index[p][key]["coordinates"] == "" + } data0d = compute_fun( self, dep0d, @@ -885,17 +890,18 @@ def compute( profiles=get_profiles(dep0d, obj=self, grid=grid0d), # If a dependency of something is already computed, use it # instead of recomputing it on a potentially bad grid. - data={ - key: data[key] - for key in data - if data_index[p][key]["coordinates"] == "" - }, + data=data0d_seed, **kwargs, ) # these should all be 0d quantities so don't need to compress/expand data0d = {key: val for key, val in data0d.items() if key in dep0d} data.update(data0d) + data0d_seed = ( + {key: data[key] for key in data if data_index[p][key]["coordinates"] == ""} + if ((calc1dr or calc1dz) and override_grid) + else {} + ) if calc1dr and override_grid: grid1dr = LinearGrid( rho=grid.nodes[grid.unique_rho_idx, 0], @@ -904,8 +910,11 @@ def compute( NFP=self.NFP, sym=self.sym, ) - # TODO: Pass in data0d as a seed once there are 1d quantities that - # depend on 0d quantities in data_index. + data1dr_seed = { + key: grid1dr.copy_data_from_other(data[key], grid, surface_label="rho") + for key in data + if data_index[p][key]["coordinates"] == "r" + } data1dr = compute_fun( self, dep1dr, @@ -914,13 +923,7 @@ def compute( profiles=get_profiles(dep1dr, obj=self, grid=grid1dr), # If a dependency of something is already computed, use it # instead of recomputing it on a potentially bad grid. - data={ - key: grid1dr.copy_data_from_other( - data[key], grid, surface_label="rho" - ) - for key in data - if data_index[p][key]["coordinates"] == "r" - }, + data=data1dr_seed | data0d_seed, **kwargs, ) # need to make this data broadcast with the data on the original grid @@ -929,7 +932,6 @@ def compute( for key, val in data1dr.items() if key in dep1dr } - data.update(data1dr) if calc1dz and override_grid: @@ -940,8 +942,11 @@ def compute( NFP=grid.NFP, # ex: self.NFP>1 but grid.NFP=1 for plot_3d sym=self.sym, ) - # TODO: Pass in data0d as a seed once there are 1d quantities that - # depend on 0d quantities in data_index. + data1dz_seed = { + key: grid1dz.copy_data_from_other(data[key], grid, surface_label="zeta") + for key in data + if data_index[p][key]["coordinates"] == "z" + } data1dz = compute_fun( self, dep1dz, @@ -950,13 +955,7 @@ def compute( profiles=get_profiles(dep1dz, obj=self, grid=grid1dz), # If a dependency of something is already computed, use it # instead of recomputing it on a potentially bad grid. - data={ - key: grid1dz.copy_data_from_other( - data[key], grid, surface_label="zeta" - ) - for key in data - if data_index[p][key]["coordinates"] == "z" - }, + data=data1dz_seed | data0d_seed, **kwargs, ) # need to make this data broadcast with the data on the original grid diff --git a/tests/test_axis_limits.py b/tests/test_axis_limits.py index 1316192c8c..9e01fcf0b5 100644 --- a/tests/test_axis_limits.py +++ b/tests/test_axis_limits.py @@ -306,8 +306,7 @@ def test_limit_continuity(self): "alpha_r": {"rtol": 1e-3}, } zero_map = dict.fromkeys(zero_limits, {"desired_at_axis": 0}) - # same as 'weaker_tolerance | zero_limit', but works on Python 3.8 (PEP 584) - kwargs = dict(weaker_tolerance, **zero_map) + kwargs = weaker_tolerance | zero_map # fixed iota eq = get("W7-X") eq.change_resolution(4, 4, 4, 8, 8, 8) From 687abec3265153191e459ed66fd0a0835d5f810c Mon Sep 17 00:00:00 2001 From: unalmis Date: Wed, 1 May 2024 18:17:32 -0400 Subject: [PATCH 3/4] Update master compute data due to incorrect A(r) on master --- tests/inputs/master_compute_data.pkl | Bin 6466979 -> 6466979 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/inputs/master_compute_data.pkl b/tests/inputs/master_compute_data.pkl index 4e72ac112dc16b1b67c8edcc6301e6aa20b93f3b..e5ca71d53f3ef923c1b71c07f06aea159219be4e 100644 GIT binary patch delta 85432 zcmeFad0dTa_dk9&XAU8R%ngPVDedlS%RE+y5RxQwW)jynB_t6tgpCj-WC(5dwKH~P z$dn9+%w>$yV94*@_geeBzRr1`r{g2%_s{vfUia}_`&!p~t#w~(c<=pj*4cS)x!z9k zF;M8Q3o>18;Haz9adpR7<86y;3@kX2Lsq}HiY(N1(AOI@!ZmV=UTx##S@(9zH?Hj% z`ADa_=F>pUr;+V-mPY35w2xHjw$*7B*<8=DLcbZ)*Y;Z*R!$b&H8N1YLF8q9(~9_+ zp@3+N!7j$TZ2@!{DiD(k*YjTc$~8`sm&>O_KW?+&0yX z)k&&7*WiitKT1{^oVQBKHr07(YG4#NZS07sDO>9{PEy{ri!+VNGS#V^blFO05wE+> zOfo0QCqO6JDru{)?tRlFy+($j`8As8-Zo7Nnx*^DG-<&;ebKG~MFyFsNtYG+;_lfK z2I4=fp3{3^nl$W_PO7Qsg-KG~HRAvJ1JnMdzG&ONDSE$~CcSplpjFP%PqIqdaz%6Y zTC&bTtEBw#8nl^D3`Cg)&vZoXEh-t_HjPsB*D**M9;TZn!c_zlhcJyOUqu5%&Gavu zMj15GHAz|;q9`1ForI{CYQhTj~hc-Y}Kfj_DCfBg49dmBb1MFc)1 zfA`M|n`>{XGT|xtTYuV#g6sN0>i*3?qYhEyHvirmUf{p?_I*D7mps#^*}wVrZ@&G# zdiigi{9AqQ-+cR@eeU1>_Af8_pZxOg@<^@RzxnoWzWvAV2Y)xuv~vIUw}1QFfBate zKlAI)-|PPEZ`yn+?azPn?caR+|0mycn&_G)v-9eh)#&)mM{NUEr zRbTvJ@VKH2)guw6jX{UJuTO!e0NUMZ?gWS5#tQzjdUkFofa6QAr=9pX zh);X*aTFgX@#!Ew&f+5z9~bfA#fONGTzoo;kE{4}5}(fE(?xu`icdH3=`KD!l2Ru3 zY+H}+*w-d$;e9t*R`U}zqfUO{>$$CI|KM{+HqS4uFm6e2(%Y&3yPfWBSd8U1MO#vd z#HN&(&RSQERm62G+*hJ}KRj>I0`Nj5e4^s4q_yA-`(!!DQ|1T&qy+%7P*6ZR<64IM z>)`C~ru($W|_kv~Rp06%HvLen6 zM@4#t*|YT4R$VREaiqJnruNLC3J4eR81B?Y5Z7O-X$VV^{tl;rufaGv!9 z1w;)Bm=~@caX%{wc6=zTR?K$QppDn9^J5m2D&iR=Bi9}f!t0HB~iwG6I6RUO~Z5%kb84m_?_QF_BH)6CjvA?z!12CKkhgI_LWJ|554T}>fqK0_9$l#UQoPx?w(KvrSUnPCw2wvw`d#j2$&5Iuo)k)xC)bDoiU>z|P`YANTj5e0gn}IRju#KGvgLh4wP; z>Acfb_;^0mcAj%*k~)3- zk+XvGjQ7f$G`xgY;|E#+MMFH`000UERPY)FiOI@5Ndd34llJ+nrjk5A8x-(apCtvn zLZcwOMDPK8J`nenjX+-Bc8fO^E#&10sHiS^kZk)H6v!Kc0(E;hV0lRLfcL5Vo5lk^ zH5C+axVFH3g#*a@G=uXdPXLdrAvxfzd<1WZYrKU@uSo7B9T2<#K;SA#3WVdJfLG(X zJMN=Ff)WfA(h>0H6DfvNT$~g`;;WWofGLxtm=NS`q!=Qpc%}2rs1!sb8$URR0$C^E zfX`kUqt=cAq;AL7GlM0a5RRsBh#V<*|wj zfHbqfG@FfSV}fav=^>>p%la(kF&}~J+=)`2lL(Yo;CU_r@JuB9<}xlA>ICf$0xTE~ zkSqXTp#Vs@FHk6AaE%Js5|p>Z^PB5a z9}QdXdYSEOj;qKFh)Yr0oS=mIOIn`J^;^KBHl>k6MyvoDIh>HPe=!N zcO(ohNFa(@LA%rv3{=33kx&HU`Nr5S&t}Q9%;TJ$@_SfpdQ;F_wtM%I)(`!8nd|R! z>K`+AludA{UYwBZEK4XK{ef0>sUtHSx&P%lwUf+8{6Mo-pnx0?JVk)l2zXvnU~{4X z)~YM8uR;YXJg%h)xq^{xB_N-2;Qjn4I!mtV~|f+X#0OK-cc&vnIUq*x_GB*P(ZA4jS7g#VYuTU zJTKj;NJ3MPPbe^^?jxVTcF*iE2%AtO6qp4>frLU!ICfxESH&PzwuKQHWVTmmks?N3lUp|d9TJgVS)TX{R!%X z8ta4-_xGSY79z%(QHf7nghE7BoWAsd;Et7QEgWE>SjiBOp#uIjRytHbwxT>1B9Tu3 z-UKb5P(x+4_yl|a+czI5m1@edgIJr_Vy#Zcbr#n0EF=_JNJ!)e*c%Cjf z0-lv;oSj8cwa5D`?sv_Y!CAjKHs zBOrzdD&P-l`9vVFY+KB-g_t!o71NAEo-Rj1aRk#0^PFtP0}%+oMFZe^Eum0Ao$x|F z5CZZ;4r@w|W1&FCLbQa0TMU5PkWeUFLZ!n}%7U?Q*mbgwuLSc-}We2?Y?A(JJk?<(aTgLa|#m zK|Wyvc*F z^j5o~*Dh(sD&9|>-?fne$zItb^x}upyhZ#l*SYVS$$WN6YauIB+GlM*o;**N&a-C| zuTu@6Rsp*Y3Ygn<5ZHg=A^V1zQ8`Ax-F#xEFJ(z2LNQKK;Ut` z6ZdmK0Xv2OqYeRJ`h$q><4!uMMyWtyTRSkI9N?2fXdpp@xt5XxlvmIVNl))4@wq8a z$8Na)nE$vs;o96gO^K63*P$1O*|J-9H#SW@UzbFTuzNSep&8qHI3R0askoR#nd#1~A?!1@#J+e-4(mZTy;AOeoJ9{H|YOFLNtDzvc&1G=I?Mr*)8 zpVMHlVj(!dU94W$J1LDNKlOqG;&sJyLt*rP^`>R4lHq>w1>-T)kEz{@U zA8*1;5^9WVLfOOQD)0fZ1OY*PT{^&D0sw-50xA%=vyuW~t#&^HaBe%U#k&yq^OdVXUh_`qiJt6Y=6X%NWq_uDm_W4whXLz1h1D=5R0_XCGY7_`c zP{6D4fD!>>L4lCP=`H_Qzk?QC61)vdunbEuhb1@y4IG6AE9xI-*cJ1zEB3&y_*UB$0iXY4jr$i1&rwa=Ws|Wj zPQtbrgkAA9C=hJ1D-QYs2JvX%OEj392oC%>QK5gEsr(wELjN06={!?nDsRw3GxRtB ziOO5NlKyxl-SJAQ0FU4sGzOyKgjdoYU-<{^l>k0Z^YDYW$W$sLQ+b0|at5zt9$pDS zq7si+vKfhr4I21PdnGb(fExo@(iDU4J_ex<1SKVDm?mMECb^gA_Le5_ozq3?%d zU1*DSVjmW+5Ue9zv2bn2!gUD?R|hOaA)52_PE(ef36%>K2tJ@dSb>$x8V_tm0DlC0 zg@tPeD*T29@MzEmG*FEO%jcj2OOdD~@zbe>sZ2kK%_JL|NjBEo~CwM0Y&e#>;Kp+Y3E6*LoUE-V%eP&@;JY|%jO zBsP-}^uP(aqq+n1cR6-X%XvUlY(GGImtnh=V|yQfM5PG(KW_#Hm_kcLoS~m9K!KpZ zH7fW+J`?-<>p%7Psi;tEfFl}YfkcHvW~HDVzyrl_WGZs-#KHlXiU}SJL{D@PSb?6H zqbH8A&!aq(!+DifhAjh?KpK|EA1p*vHPdHs*DjiVaY&5_Y4a!0T6#&R{KIlj# zQ;7w0$SJi%MUf6y8H*(JOSHs-DN9GDQUD*2R1grjD;Qi_A_9QoZ#j|z0Tl@5xG%p3 z@}?M^l`vSfEI1GFS)i5$OZfDv&;pqXcMgI}Q3XA)fpkf~1o?gy)5#FiYZs>5Vobm8 znD0tV&oh{=l`(zKV>;(vfpq6I`1Ed)V0#%pxPk)T+DYGh$ofC!yD5G#(dK&*8eoD3 z-9rNvfX8#qFy9XymcA>7VhJW#;O>bPl4`yzUc(Yx>o|OOE5H(Lnhf9VB&H$~mFHMe zJ7bC6q%FaqK-h|FSKPmh^2u0&4`T_g{}8?_9#!d5>Dy@sEWvN#0O^euZbOT?!{7lo z9s2xZY%(pd=~yFCiNdbf7rSCN?27u>6)z!CDa5YW8^8aP=i0Ui3ixNZ*2T7Y1-s$~ z?20F`E6%{K$YWO=ie1qgi3*rDxcsESsQ%i#o8+Y1^g#mXCqO$UI0JAv}_Jc=LlZOV!RSN zypn9ZlHo{HnxlbWFbyJHD0rY)1bsdLgHB%;ep2~_L3tLlz^p)gAq>|gnjr7rv;%pAX_9~dOE67}kf|&{KHn0vq%snfifCXs8mw3h4ru%)D7v#nH8A7mp(Ak2x(}+OP}bo{hg~ z8QhYkyO*Snwy(jsr?Bpc`zDn@J_FCoI{}`pgzvB7T%|R`ePRakl(hf=f(l4rPe}n$ zJdqTTA-Hb=2Us>JAgF+u)M(q;r^Z&9zeU^mbLvKuq6OtvFS<96DeAXAb?NL-#tn!L zJKF3uzah=e*>bTLllQD^R?qya_$^kmrd~|30tC|Q!GWy^Fb)AhLAVOn>;mkQbWkAv z_9C4ZPyta8Nda#nDexlPcG$N?`HOhoSA$RMMzhvl#nrR-K0UFx&w~ds&3{+fP29C? zQT7~_#njS?W56ppbEe5O0+IZ4U_qG&TglLaKA9|kF|k71AoqI?TH@6!hG0N-Ec1Ng)N_E{)}10)912o0IvyE70@u7Y zbZBJ9xI+`Zw2rqTK6%OS0=m^FRDmB9tp)*~x^UnRfM5VrOA7j_I9Rh~pnxbqp27f$0IZF1Un{>3&WnG!YnG&dakG}xH|BX6$JwcE=QfqiuW$j5$$^IAMEScBh6#i`q9 z@R@~#FaG6DIVfOiJqbXN10YjwlN1oHuB3pW0)a#MY*4^BB>?(dXw%7h{6Ljre(F*A z?v`wSTl=e5w|NlT{kbpdz39veGCSf1ZhnQVV@n0m*hz-oM(z+NdfUGXnr|s|5;(;w%7ieWVytaU5KU z*;gqBnEb626HHM7u9&L^SL&^#c*oV@1BDUBz#BMl9D#sJ9mlY&Ub9k-Q&)B+R` zH7Fn)DBwB3BQl5~rpC3x7=ly|_=KYfz{LWfyrY!IDsCfWMR6A?kBLQnDJ_{9q$yDd zm}W&%9y3l2>xc*`jfqb^kpG6~xeb7)knsD-xF|?#`UV7;5)P1b0APw_36OB0fN-Z^ zeGvE6D31yl7YTswZonrv0{wqI@`2O}zz=+|ka6#&_D-3yFIKu-AQWaOV2lK0tCmp6 z0nkTM;IHxl1x$&2AR830lA}C;`NsB!&Twh{(lV#0V*JhL?8^P zfLL^eb~zgq5H14t6<`p#h3D6T0>(XZ>3HSb%@fXJKAD+zzpOIsaqIrI)8kZ25;l*x z_2#I`J=58LJ*9owdXSf?A4v*i8U-SrYzN@WTH@O0F6{3~*i1DR$x6UNSyu!MFa<*K68pb3 z@_}>IB=F|TsKCmv%Eai2y#JfXE$?PPL4Za5MOY&PAoSExarDI^771UcX_g_cj$z+R)_8+6APL4n-~ z84u%frCz`kSCCL_hwf&9-Olz9bW6*-KqwRyuv_M0x2ygC#HZHd zMM4oFeLyB)zdm>n`gf|f-V(g!M-xELjIY z{`#E`R6~iFLJt5fkg+KAVJ)BnA2g^EDp0HiK((YmBoqszHRI7kIVfP$kuNBWBs`{g zg>T3J)(h`Yc!lYpfR#r8P62>iFC-Ku(Eoun+B3y#;0GMuvDyUgG!|lrD3D;tkyCOg ze_YEM&5%z}4ck#tO-UvSSb#;OEdp?p0MNZR5DH}n=>HqAP<1a4ghGjxOrZyrE>Qae1+Kktf3{X0 z&u2Mn@Mr)Dloa@@vOodb4Fbdm4lo`7#8(Za*(c>x-WD~FA<+=zJ7DTARxyBFA=~D0V_m)bzWrko~3)ON*X+(J>eeJbTiI% zA|qxuIbFQZmIS5EwQN4AAv&`NY~pq}u6joJZm{$I!}57AVUSDF0Sj(gZ*lm zAb;=?oaZ`8_@o~lwj(h9wo+yMo1}n+T?PXxKL&$pfC4rUEp|Z<6uY8lxvlO%e208K zwQuqu5*?7VbnB>*tikBbKEx}4#DulW95b;SyLDk!1BWl=iGKdgNp|V&W$ms=YxWBE z3B?0!4*(Da05Vj-!f?GE_p5>eHVFaBs{!z!eEizS!@O0ptDtbwN-%&&gASm9v(aEh ztmFVCiYpTeI-PSQ1J~BGdS7)2TW99F|5@w+LROyY^s%@6MT7RCfn(5M?m9TY6&KhQxDH{t+oweBZ05l1CNR@25xv=ijOa%7``fcL z*S?F_8@D5exx(+MM~*T**r`q2TZRPnD0rLex8``^D*Cl!*nf&`MwDASqXpy6|fjw&&2&& zC@;hFizR&OLLxBV4L|{Fjrs0~2CYN`RRGA;Sg^DucrjMA6x)$4xU9mHE#dIC$if^$i+G1CXz71W?^e%L{zStEzV;4kx zQUljKcEt^uOQ@#pvZ5>i2y%tC=!;!3G!?pH#wF;A>#-}g#je;74faL{w0-{X6BYWm znaZyrD)hfF6?62cEqZtWujJ+};03Nv;f?qpQ8|rQavHB>Jrb3!NK~rfmGs3cKzy

O6nsps0a-liUymZ0~`gSBEz6Nk3rZ3f|CBh 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 delta 85426 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à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

nySiAqFaMXVkvWaX>T-fSaR}EtX&tMyL z+K$#OTxbW~iM2CSD$!urbLiKx2r|6+Sic(7O@_Q1Q4FN@!AfPl#iXcWYME0 zSU0$y-;c3&Typ(XHcCAN_8Rw;a+B zbR%r9Yjo<|!-8T+b*4BOeGEI6^GiXZ}wz}c73}j7e@l? zK8XWmVi=`#Sw_^TP!(jDXPe$0#E`;+eOq_FmO|k9p#7886_B?kw)Sy76}iq|l1w>= ztw8USD7`vefzG#@JI}HIKqUj;26GdCAqt{h0$zr4m{^{GX~%pl!R_*$Uf_6mqxS$8 zD=y+y{(ZKdIk1m?!rOl;8=fC@Dq}qvj!}6#GaGjJfZK@(JttEiIAFSv)k_%)X4IQQ z8;%)JrTsqobMXl5;hE+n`(sYf!`6P`KZ`KPma}D9SOcM|j?8|vsi2)e?hnR)fyf^M zROWL&dqL>bB?$%HbYf97o`v`>5icl65)(Q*xb2c3+eTgQ>R_GUuw?l2t-VM7jh}p7 z;v#SJD=yZRU% Date: Thu, 2 May 2024 12:43:18 -0400 Subject: [PATCH 4/4] Avoid computing redundant computations to first order in the recursive dependency structure --- desc/equilibrium/equilibrium.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/desc/equilibrium/equilibrium.py b/desc/equilibrium/equilibrium.py index b54337354b..b32ae3b0fa 100644 --- a/desc/equilibrium/equilibrium.py +++ b/desc/equilibrium/equilibrium.py @@ -841,7 +841,13 @@ def compute( # we first figure out what needed qtys are flux functions or volume integrals # and compute those first on a full grid p = "desc.equilibrium.equilibrium.Equilibrium" - deps = list(set(get_data_deps(names, obj=p, has_axis=grid.axis.size) + names)) + # If the user wants to compute x which depends on y which in turn depends on z, + # and they pass in y already computed in data, then we shouldn't need to compute + # z at all. + deps = list( + set(get_data_deps(names, obj=p, has_axis=grid.axis.size) + names) + - data.keys() # subtract out y if already computed + ) # TODO: replace this logic with `grid_type` from data_index dep0d = [ dep