From 691505e73a977d0aa7c93fa96286c42e2a6b6e12 Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Mon, 6 Nov 2023 13:55:33 +0800 Subject: [PATCH] update unitest model spec and straylight, ust environment parameter --- tests/testData/CSST_GI2.conf | 132 +++++++++++++++++++++++ tests/testData/GI.Throughput.-1st.fits | Bin 0 -> 8640 bytes tests/testData/GI.Throughput.-2st.fits | Bin 0 -> 8640 bytes tests/testData/GI.Throughput.0st.fits | Bin 0 -> 31680 bytes tests/testData/GI.Throughput.1st.fits | Bin 0 -> 31680 bytes tests/testData/GI.Throughput.2st.fits | Bin 0 -> 8640 bytes tests/{ => testData}/SLOAN_SDSS.g.fits | Bin tests/{ => testData}/Straylight_test.dat | 0 tests/{ => testData}/config_C6.yaml | 0 tests/test_SpecDisperse.py | 33 +++--- tests/test_Straylight.py | 21 ++-- 11 files changed, 165 insertions(+), 21 deletions(-) create mode 100644 tests/testData/CSST_GI2.conf create mode 100644 tests/testData/GI.Throughput.-1st.fits create mode 100644 tests/testData/GI.Throughput.-2st.fits create mode 100755 tests/testData/GI.Throughput.0st.fits create mode 100755 tests/testData/GI.Throughput.1st.fits create mode 100644 tests/testData/GI.Throughput.2st.fits rename tests/{ => testData}/SLOAN_SDSS.g.fits (100%) rename tests/{ => testData}/Straylight_test.dat (100%) rename tests/{ => testData}/config_C6.yaml (100%) diff --git a/tests/testData/CSST_GI2.conf b/tests/testData/CSST_GI2.conf new file mode 100644 index 0000000..f84dfbf --- /dev/null +++ b/tests/testData/CSST_GI2.conf @@ -0,0 +1,132 @@ +INSTRUMETN CSSTSLS +GRATING GI +WAVELENGTH 6200 10000 + +# 1 order (BEAM A) ******************* +BEAMA 505 1238 +MMAG_EXTRACT_A 30 +MMAG_MARK_A 30 +# +# Trace description +# +DYDX_ORDER_A 1 +DYDX_A_0 1.6521968560197104 -0.00023636575255565063 0.00014657966669906052 5.5353251643711546e-08 -6.875491197053945e-09 1.898528225132234e-09 +DYDX_A_1 -0.00823033845070988 8.828905689160072e-08 -4.959096708134394e-07 -1.9481266745599912e-11 1.1236282464271542e-11 -7.748796599795913e-12 +# +# X and Y Offsets +# +XOFF_A 0.0 +YOFF_A 0.0 +# +# Dispersion solution +# +DISP_ORDER_A 1 +DLDP_A_0 368.406778602958 0.003046565833724366 0.0008085615398225785 -2.139787644130709e-07 -1.1201107471275321e-07 -3.4449662405229706e-08 +DLDP_A_1 8.461359683949652 0.00022163929626988009 -6.114607283280979e-07 7.123049245778616e-09 1.99766396430199e-11 2.5539201322842942e-11 +# +SENSITIVITY_A GI.Throughput.1st.fits +# + + +# 0 order (BEAM B) ******************* +BEAMB -121 80 +MMAG_EXTRACT_B 30 +MMAG_MARK_B 30 +# +# Trace description +# +DYDX_ORDER_B 0 +DYDX_B_0 -0.15118122059806027 -0.00014883011863745443 7.638889641475754e-05 3.208928684076908e-08 -2.743527540058062e-16 -5.917502574749109e-09 +# +# X and Y Offsets +# +XOFF_B 0.0 +YOFF_B 0.0 +# +# Dispersion solution +# +DISP_ORDER_B 1 +DLDP_B_0 -69799.9181918991 7.954241458130043e-08 -4.318951729587184e-08 2.591993568563933e-12 -5.884436166492418e-12 3.83253047082687e-12 +DLDP_B_1 -3799.99600104444 7.250278281031939e-09 -3.3418691029874735e-09 -1.6236581010798935e-12 -4.3502364485117337e-13 4.507009220450333e-13 +# +SENSITIVITY_B GI.Throughput.0st.fits +# + + +# -1 order (BEAM C) ******************* +BEAMC -1251 -537 +MMAG_EXTRACT_C 30 +MMAG_MARK_C 30 +# +# Trace description +# +DYDX_ORDER_C 1 +DYDX_C_0 1.6274259827507076 -0.00034821339283356466 0.0002392999867887435 1.5635809977657976e-07 -7.514174027001749e-09 -6.566395011125117e-09 +DYDX_C_1 -5.3689415286860876e-05 -1.912489940030657e-07 -1.070383333548475e-08 1.53386647062175e-10 -1.1208241918489809e-11 3.406912464353884e-12 +# +# X and Y Offsets +# +XOFF_C 0.0 +YOFF_C 0.0 +# +# Dispersion solution +# +DISP_ORDER_C 1 +DLDP_C_0 -132.55108204545758 -0.002194041658487836 -0.0011882168059149318 4.510589778063266e-08 5.420547634024377e-08 9.930897689686617e-08 +DLDP_C_1 -8.799340620412947 -0.00021774440141256442 -9.53499834632785e-07 -6.889561983057868e-09 -1.6142159956150814e-10 1.0347079457327646e-10 +# +SENSITIVITY_C GI.Throughput.-1st.fits +# + + +# 2 order (BEAM D) ******************* +BEAMD 1154 2507 +MMAG_EXTRACT_D 30 +MMAG_MARK_D 30 +# +# Trace description +# +DYDX_ORDER_D 1 +DYDX_D_0 6.882799280484086 -0.00027753891131284954 0.0004922039820404395 3.082997123523641e-08 -9.49966186877231e-09 -2.3656818322711693e-09 +DYDX_D_1 -0.011947813534498112 4.093696016714032e-08 -7.435107573317389e-07 2.5528541317977112e-12 3.192792142602198e-12 -2.453919520892182e-12 +# +# X and Y Offsets +# +XOFF_D 0.0 +YOFF_D 0.0 +# +# Dispersion solution +# +DISP_ORDER_D 1 +DLDP_D_0 681.5215546431494 -0.003828618628269481 0.00025066858071110036 8.289914582311179e-08 -8.404758131147936e-08 2.9680890659588283e-08 +DLDP_D_1 3.8798704838712443 0.0001054229718827677 -6.676804799370928e-08 3.250115236230527e-09 1.9094002846781994e-11 -2.387851784113332e-11 +# +SENSITIVITY_D GI.Throughput.2st.fits +# + + +# -2 order (BEAM E) ******************* +BEAME -2429 -1162 +MMAG_EXTRACT_E 30 +MMAG_MARK_E 30 +# +# Trace description +# +DYDX_ORDER_E 1 +DYDX_E_0 7.677233822131253 -0.00048041060058740204 0.0004956385735024366 6.868585247565035e-08 -9.175237278696478e-09 1.2566962458208905e-09 +DYDX_E_1 0.003983370254635055 -1.232787560255339e-08 2.1234388976109016e-07 1.6204618268328708e-11 3.983819645370279e-12 4.263520014579825e-12 +# +# X and Y Offsets +# +XOFF_E 0.0 +YOFF_E 0.0 +# +# Dispersion solution +# +DISP_ORDER_E 1 +DLDP_E_0 225.51253672373838 0.004993681854364764 -0.0005008288340946528 -3.699489889412266e-07 9.185967746730138e-10 3.449301385107925e-08 +DLDP_E_1 -4.201429796832916 -0.0001002659886793457 -1.5067099385104427e-07 -3.422412459135902e-09 -4.7864621219451994e-11 1.2110924433274547e-11 +# +SENSITIVITY_E GI.Throughput.-2st.fits +# + diff --git a/tests/testData/GI.Throughput.-1st.fits b/tests/testData/GI.Throughput.-1st.fits new file mode 100644 index 0000000000000000000000000000000000000000..f3a1a4d1cee280f88d9a690d495c4f102c027d26 GIT binary patch literal 8640 zcmeH~eN0nV7{=L9hMNjg*mMrLV;e*GG0DfsFu>vD+10em$qmNZJ{k+icqm5 zU@{FN(?qk8v9T{EPQyn_fqt<$QDj6|HiOGB0iBA2IT%WCrRNw*(k^T>%a+{pM{|Dn zea>@FpL5&1m(PypahL=VPB<7O5kv^&vUIsZsw7l$g2g8Jgi=Mxgp@+)KySSi#U^>| zWG8-MRzFIipb7{frJ@K`L6*p|%gj}7WHOs?MTh$fw))9(q-i1rAy0qcES8F7O0is~ zoH4PRF_TFqH^zw{X(ycH)MhqEEiI!Hpc9}Ipc9}Ipc9}IpcDB2CotVk^4SU8aDoxV z=8}<7945o=TLlqmVi~0(=ZIMY#4wD;8 z#@RoCGq;}8jASJw#v?!LTas=312=-O?ay|;4F2>lg=8nO$&|luY1<$2dno&(-{0o+ zSkNLm0XhLX0XhLXfrpv^ybmt+0~&s}M;BE&gxBxhJm|%*JPS?d zQ9Xb8!Y3Cm^M@vU|NJc-Lte&@pxGbQm1R?>7Lj+MnL?cVie-c_Wk7Q^;_Rf*Qyy^y zG@r#RJr@&t@H}WALoA(~dUZ_00&OH>S>W{((TaS~mLnGX4}N;fV-U0!#Db{>>s1^N z(B8#$YU`yVQz@WZgIMUx8t2^{0bL%hzvsU1cE=>>`Y?CyEUtgu)uVBJ{d$*T#`2@THrY})F@Ba4t zZ;g9^={EAqp>&#BDGSW=P+j$bUvNcg513y>b>%#XzBjuQ%&~~&!*6cb6FdoK1=441 zyK{IE-@3jOvAE$!&%io0m`@d$l`8=AH;4rX+Pf-B8o-SIA1F=kK;zhIu;BAe l>A!a4oxowRJg>Gbz#q_2Xpi)qPJm8;PJm8;PT)V0z#kaqo{azi literal 0 HcmV?d00001 diff --git a/tests/testData/GI.Throughput.-2st.fits b/tests/testData/GI.Throughput.-2st.fits new file mode 100644 index 0000000000000000000000000000000000000000..5d3c9a8dcf7aa02a85719d00757f531bbeed64c4 GIT binary patch literal 8640 zcmeH~e@v8h9LF&#HzpFgXa;ysBr*E|+^LZcybp(WcnuDa#{&^#58V&0ad+_WTya8p zlngR4NkL-?!Ds~xX*oH5-EqfJz*0)hbgVK$90^#Ym}s@`?)!Bd+tH|8o7?mK#r`U>&%p4nQq4C12(-%qy38^E|8^ZM?R$dT({dUeNJv>!oyxc}tHL_-d=|AJW)lA!#k8ahOX z-|bj>x^>taIzB*ra8|Ue=!Y8Un8vJYk6v0D0G+ts@}QZu-hy=Kl%xFH(}rQb={j__ zAl~&ug% zI|y-c^R?AGrFGDa{V_;_OME8-p}P^~3m!2Y9L$b|?oq_~;-n=M*Aq;u5$p83O1!5< zU`j@VFg8hT)>5=?z4uRZoa`-(vkm^~4zzRJ0*_}&0!0nR7hXliW^ z1#>axwY-r#JBz`L&qwP~HZ^m&3C#HU>5WzAwVVOy*@)`t<=?DoGzp+54{`2zxW9C) z8G1fN%oH@0nI~>Q&m?Biu}wcoy}+{4;0W*;pEb+$S1n-Kfby>@lE#KUC%}?|IRE|K zf7H|@fTaMlA4KeZW)v)Si1p+3G38@t!7_xnfJqaT)pEdc%isv`3oj`=Ih%e2>k~MC zUQ#$Ubpfogh>Po~=GpO|!Ac|EllJJH(l1-UT7}r~ZTZZbMRj03Zg2$n24VMAF7Fyx zzs4Mydtih5Hdudkr0x00(`UVo#zLm1CPwu+x{8ZIQOm(5L#%$RG2m%$J=k9Na4f!RLKzk}DF++&Q?XJeml{jJ zhW(_t$|IHWC!lW?swW47;%{E*hdvo%VN1%bG{H^iQyH8A`~#n%@4+?3?pX&|2UrJK L2UrL0HwXR#%}0?e literal 0 HcmV?d00001 diff --git a/tests/testData/GI.Throughput.0st.fits b/tests/testData/GI.Throughput.0st.fits new file mode 100755 index 0000000000000000000000000000000000000000..81dd788e682de2c99b992e43fa1cfa7e9803bd23 GIT binary patch literal 31680 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 literal 0 HcmV?d00001 diff --git a/tests/testData/GI.Throughput.1st.fits b/tests/testData/GI.Throughput.1st.fits new file mode 100755 index 0000000000000000000000000000000000000000..950e70b927d9d99e8fc8e420f3d89919476f6099 GIT binary patch literal 31680 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 R2KfreSDWSE@n7qK{{X1nNkRYs literal 0 HcmV?d00001 diff --git a/tests/testData/GI.Throughput.2st.fits b/tests/testData/GI.Throughput.2st.fits new file mode 100644 index 0000000000000000000000000000000000000000..38bc47031a761ebca8fca409f33941ba8dc5ac22 GIT binary patch literal 8640 zcmeH~drVVT9LE`=pk&jHsS{-0I5MWf3QPsvus;e#Z-i3mMPZa-p{-V-#kMHw6a=O+ zH<)DBC=&1yBltpIeNt{8sF@4KWj<$g&WVaRbwf>j%$1&Fs7YDaG)tD;^G9<&=l8qc z^Sj@3n*6SSOynnU2_l+sGbn;ZWGm!Sg)&z~s1-y!NeKv*S|k^XlwvpejwKFB@yXNy z^r9SkBBfHak`Rm3B0{|~PvTysf0Y-LN(vn4w!Scjo;*J{OQIwc(&x&uT!~yIQ^-~Q zA}%v-D#hi+4WLK4Bo1=w6dPnNlg2o}IKVi-IKVi-IKVi-IPm{>ps$@2kV(8~BA7$+ zs2ENHH`wK^SVWdgE>f-})S|2$2_Y#^qvq5l<;CfL+CNA9^Zwb{kB7VOpTnm+^l~Kf zMe42O3Vj2={t3rVXIy$RB9%W0O*Njy`@6-wTVBiu^nxPoxy(O4Jgi z`|pL>f2SAzf`3ju_bUC>Qt>1=Ax_}Fz8B8}T^XrNk|Q2im7>!4T<3WNFNm4XP2loo zQ*&HzVE@*Gno;pd$%#nM@s;EpFQG;d&ib6^8!YJir%>d4l1lsclFs^&-Ycn(`Fkh>o?#htG0r6E9No1s{A2Upfw`4lr0S6+X&EJz&zYf zy7Vj$wD%FyC7H)hp9le6AmaAxx27vh?|?2EvH8GOWrhDW(4``7yY#`u?Yi5b!~3_r zneMyn%skMQqqu2SmHNid4?tIo*w~~VTJc9H=-Lq*wA3L*XAtOcJqDj!mLucZL3bC$ z^@4&)DXAww?~Pbjb!ue9$-SVTh&j^xJ}tZh`Y6QOr0@2zeJVhY>uc>O$=^PAE9gH* z@fO3^Ewe9d0R0}s&6fksLv$-ZZ^x|Ch)c&h@^2t+DodYuGqw&4qYyXNuyz-vd4U1@ zaYRp&B`j|+;PY$vP2xAL$C1ARBGM-VOqGbMr)RMLob@A^upd>I=FrVQ ztp^j<+vXpWr0pCBZTS9ac!AQzuM40J>wVi@{`=8{QfR|^l_#4UW3C*7HeBCk8P%D8 z-3D#<(0&znHx@i(uLE-!;xAcaL*Hhv2XhkUiQ8HY5*C=(A>I(<6Y1Zv5X`NJiysdg z)2+M$W?bKzCBvQ-`uajUu5XnhFe0O}6WXOHe?`IYI?t~*LVF!zb@B4|s^5JE?LC;| zt7qPvKLTif%%06%86RB-Is~!mjIigF(FQaW^)0aTo)kCud#QlVLh+o*PsvLGbAeus zcxe;7QKJb1dP`B?0()st!MW@NFQA)He90G)NBsAn1iBNk>_G-+Ua1i1n}{?R<^37A#?iDf17tz@k8L z!BBCW&o86EQi0;hgdt2b>k(M=D9*oqChDO=1D5kB&iAn|BYQ<)d4}SN2kqkm%Id)y zf;g>Ge)jMx6PDcb5^pH5#z_Aw80g@)>Ro1zRl2hpE?0jqeM=CPi`1q|;N6cOL*-DT=dIMIocF zW`J!6;<#10=ciUp02{u4-0VZ;;engLhR>U`y@@LMumbEO@$=O)?#>kUfISj%