From 812ddc22d8eda6d6cd7b9f01486c6e701a2a1bb0 Mon Sep 17 00:00:00 2001 From: Maxine Hartnett <117409426+maxinelasp@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:02:46 -0700 Subject: [PATCH] Fixing mag tests, removing temp fix (#1142) * Fixing mag tests, removing temp fix * Fix type error --- imap_processing/mag/l0/decom_mag.py | 2 +- imap_processing/mag/l1b/mag_l1b.py | 2 +- .../imap_mag_l1a_burst-magi_20231025_v001.cdf | Bin 41464 -> 0 bytes .../imap_mag_l1a_norm-magi_20251017_v001.cdf | Bin 0 -> 46203 bytes imap_processing/tests/mag/test_mag_l1b.py | 15 ++++++++------- 5 files changed, 10 insertions(+), 9 deletions(-) delete mode 100644 imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf create mode 100644 imap_processing/tests/mag/imap_mag_l1a_norm-magi_20251017_v001.cdf diff --git a/imap_processing/mag/l0/decom_mag.py b/imap_processing/mag/l0/decom_mag.py index 5915091f4..35af6dec1 100644 --- a/imap_processing/mag/l0/decom_mag.py +++ b/imap_processing/mag/l0/decom_mag.py @@ -171,4 +171,4 @@ def generate_dataset( attrs=attribute_manager.get_variable_attributes(key), ) - return output.drop_duplicates("epoch") + return output diff --git a/imap_processing/mag/l1b/mag_l1b.py b/imap_processing/mag/l1b/mag_l1b.py index 1d0c47d0a..bd34fabbf 100644 --- a/imap_processing/mag/l1b/mag_l1b.py +++ b/imap_processing/mag/l1b/mag_l1b.py @@ -158,7 +158,7 @@ def rescale_vector( if not compression_flags[0]: return input_vector else: - factor = float(2 ** (16 - compression_flags[1])) + factor = np.float_power(2, (16 - compression_flags[1])) return input_vector * factor # type: ignore diff --git a/imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf b/imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf deleted file mode 100644 index a864120fe3247e3c63caee67744abf4855350fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41464 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 W)*ILNFY~B*~>_ykG ze>8Fv)f-!$?O-nyvzI;k*CXt^I-H_vD!cbQds3sT>_=AIX0K-cgX)dp)1I@R%bBgY zdYtAtFb~!A@plVTHC^lF%H#d~IiEgn3+G+`bmP2t`vsg&TULzo>Dfnf-qhnc=e;+^ zI`V}sSK#SJhgPTRx?`U^RqwJ*8u0X!RyAcmQqhm9srrmS_O#rg?B@n`XZO4xPStfx zcpvs_r~0us3rJ<3xh;*V>0zBQ>}?iJVqa8pCi{!A^QgLZc=V%c-xvy?uw{+e{ z)wK2C9`@qR4zb6sJhHd?<_&p^>@$mRJ~g+uEIXIv>W^53H7L&+M1fMFR`~^cex(G-mP1Es;+B}bYU;x z(~G_LhA8%()#Is}O3z7QPb@fu{m>^P*{eLBK-G0%^mO(!zszCxXuF7g?Cxb$O;_r# zWB*|37OH0Vvb(7E8a;78)diPaj#0hTDESQgv>O-M?{xp2-S5Y{?DJYYW`FkW3-4Q4v1l&aNEv)t>+;2X2*xI&-5F|{&4dY_BL*xvoD&zfc-_$B~&+0 z9<`e4vzvcyr0Uf&b_dk~b1(hC{y5|ad+@%KRLv_IpJ#Vjb%niK#oO%br$3_VRUr3s z_TGbBTBygHciziQ^_gpUVXEeoQ>Ca5IMliVdzEd~*gvl0PSxwom-X2_N;YL5JJy%| zw-+B$HG3z7u+O;Cjs0GyaQ0RQZB)G$Htom$e9Zv%kSb~HD`t+SYR;Q)5_{N?�Qd zdGrNUZ&UBDsit*3w}NW=y1)(W`O~+uTkGv%-?8{0d#N(V+53HZj{TtNGJEBu8|;Ix z-)BGF?J0YmqyMmv@yXeerhj=u0jj1ZHA+zRo<64>)wH_>tFZeItHr+Hu_yaq(T&+V zocCd0-Zp^!ojvW?dp798zG-O~d*Sj??0qK3vG2*A!d|Zb$Lz_sMo?X|*^z%xq#@@$ z`Yz*q!uO8+n(|XP{~#p?=RJ-&@(DF>JMzPNPN3;L_~oZ*R6XkZ&7qnwar2iv{p+=s zv3t*7%Ram47WO|zrn3kBwU7Plm>=0+{d$_cOUOm`wR^9z=WTqKJ#yur?Ay&R*h@~& z?n|#9pDQ0#j{^gXQcb9IuQb&)gDe%aBZ{X&1Lu4PID zQ}ymYrX%~YzdvHH86Qd2H2k-|?B_e$+3Oz|$UgCdVN_kOt{%(oQ+W#e?9XPg|B+__ zRa4N%->@%!u!{Xv#76cmXSP#yUDf6X_Ix`Ivq#oF$-e!oU#OZ&xn5yU7=MfXz&{V! zD<%F#)pfu%lb@>Ir@G{(n&y7E5Y_b2%}Y@=U0(Mtd*f==*r$D7oBdAy`cz$8qGExKdLwTl)qxxZ^b0Dx4bl%s_Bc65$sR) zj%RP%cpCeXm9we3{$u`>F~eWiK#jGgVX6y`AjomVNA{PaS1XY<-%l>;A15 z*sIpL#y;fBJM3pl{7KbRckJKn<6dNIr5>kUiO)+l{evq-sJc$=RGO;y{R3w9)=g`$ zFI-cHs_E~_4cS9yHe+9z*PlJ-kRYnAA3Y3Z-xB!|d(pEI?0rA%OV#wljzso%JqNP) z|N0a5W3FSVx>lPonSJ=Hne68i=d;)UeKA$jq^_&jZyf%X-N$=7`|S1KQ+0h%?J#@L z>=W#Z3;e?VD(yF_rmlb9WM3EckgBWyFVCoUnICLwt?I02yK+%I+rEAws;V^{X-?^)Q>zKCZ3xo`q| zy%GJ{Cp;a(eyz_a_U0EqWuMi42K&SB=d!o)`ilLl<;&S$zPp~i)70SN1sn>+Jis++#P_e!`x*;3fNsV($dd=XV>OpX#iU&x=t#doi{w zRadXemDs0*zQ=xRUtRW=O&YO(vC5nMNyXOeZD+J)Uy{2sd$z$n*}LDjvTq2FWiN0# zi9IS{Fnjv8;q0Y7#q-`kL$dX{mQ|;>>o5c zN_EY#wWp{)s9E&_RgdAbu2M}npYINP{h@!bPki*8{f0GL8*-m>d8n?L9ax0wgFkk< zQuPR`XJ%i#xH|i*(skIoeA`C zsqyUP?xwIO_Zq@}^u$Q^>a9Ly|Kz*r>_69@%U*BcBK8Tzms2&xj$TLAd++ltRMRTN z?V_4K;PQU<=#!3&fc)nJ@&~n9<$%f{gS=K;2eQ8{kiw^QT2Wt zUW{s5@aZyC)4vI*#O|`aCVMxJy6o#0d9mj&<;~uETr2jSFN4`#`*mXPceMxmq0UzJ zDu-g&KW>)9etPX7c8{vV*~iWr$NpQssq9ULeopnqM=usot+6qF3DxLAS5{M965VMN z`>q2!*vmHE%bv962>X%Br`W5_JkOq%_bU6jk8iVkK77PJKJq#HwKFb3H2r2D=ApV| z=8nQtZ#<~$O0`CtuPd-Ga;?t(V!S(h$5-{)S0^@Q&;7eEyQOO&`*(*!*o%92XOCSU z&c3%=ANC5f`?04MNM%2smd0M|&(Ty(+j~r+>Rs}u�!w`_7}9zJJr#?3HS*WFItd z1N+G$+t_Q5+`~Tl*+KS8eUGy@`t=<9)DD-~@BDCs-LKID_IWFwvOlfxioN}`oWb<^ z%W@W^nwEWF399KI-7QDew6Rwe_ChCXu}8P6$G+>k#_VO?Td*fB3}8P}yghrhFL)5H$U0;G1X^nn~bFDwRF`4ssplBn$F&R#vJwyxffA27ahEe zJ?j2i_Vn;A?4?hqQ}wb3>}Nl`?ML>i9%tBxEV@Y5e7@xG>~+W8WgqwQPxdPbFQ|Go zy_&tPssldjoR8|}`v;3seb%~J8LH;RYb&z_=qwNRmHE7=dgU70oW0j0fA%fb zVD_TtI#M+!1omM6VP_;&bqtJ#|AjNSW4qGv%>QI?ycL&dRq5n{9-QtkjB$+QO2rT?MkON-#C`~)^DlB z#9E4p6;Y4rz${IS{%G)xiM{b<=%$Y9Y0mFQpWmfP(21uvCeeL>TdLc@9_Cm}RGc-* z7Gdsfv&KZ4Q=Gog+vF`KT1-8rUnrVr#st-UKKPDb8hV&UH)?P?1Iv%~sawitng(TQ z&|jo%lFh5n7*py$ZeFJ|$ow|+iD3N}GCqpqO}sv_>8+mb+^BRO_&@plGEe7$|22;{ zFjPH{2B-7D{8*m{rZ-Lp;NN)T|9&2rr=iaS(=`5{=YdUb>RGsa?)A%2l!lC}KpYSM XKNf?pe{*!x>*|=~LT~-}zgzzc8p!0} diff --git a/imap_processing/tests/mag/imap_mag_l1a_norm-magi_20251017_v001.cdf b/imap_processing/tests/mag/imap_mag_l1a_norm-magi_20251017_v001.cdf new file mode 100644 index 0000000000000000000000000000000000000000..d9ed9ef7eef6d589fa0e18c415456f8050e2c125 GIT binary patch literal 46203 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