From b0c3f8946e12b81a29a23349231eb878373c5c1b Mon Sep 17 00:00:00 2001 From: daquintero Date: Fri, 9 Aug 2024 11:54:46 +0100 Subject: [PATCH] :art: Began adding DC plotting functionality --- .github/workflows/test_import.yaml | 2 + .../skrf_plot_open.jpg | Bin 0 -> 40785 bytes .../skrf_plot_short.jpg | Bin 0 -> 71521 bytes .../calibration_propagation_delay_signals.jpg | Bin 60610 -> 58068 bytes .../pcb_propagation_delay_signals.jpg | Bin 53082 -> 51620 bytes docs/conf.py | 10 +- docs/examples.rst | 1 - .../08_basic_interconnection_modelling/.png | Bin 0 -> 56997 bytes .../08_basic_interconnection_modelling.py | 216 +- .../data/rf_vna_self_calibration/0/README.md | 2175 +++++++++++++++++ .../rf_vna_self_calibration/0/instance.json | 18 +- .../0}/through_port1_port2.s2p | 0 .../data/rf_vna_self_calibration/1/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/1/instance.json | 18 +- .../rf_vna_self_calibration/1}/open_port1.s2p | 0 .../data/rf_vna_self_calibration/2/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/2/instance.json | 18 +- .../rf_vna_self_calibration/2}/open_port2.s2p | 0 .../data/rf_vna_self_calibration/3/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/3/instance.json | 18 +- .../rf_vna_self_calibration/3}/load_port1.s2p | 0 .../data/rf_vna_self_calibration/4/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/4/instance.json | 18 +- .../rf_vna_self_calibration/4}/load_port2.s2p | 0 .../data/rf_vna_self_calibration/5/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/5/instance.json | 18 +- .../5}/short_port1.s2p | 0 .../data/rf_vna_self_calibration/6/README.md | 1755 +++++++++++++ .../rf_vna_self_calibration/6/instance.json | 18 +- .../6}/short_port2.s2p | 0 .../data/rf_vna_self_calibration/README.md | 145 +- .../rf_vna_self_calibration/experiment.json | 164 +- .../0/README.md | 64 + .../1/README.md | 64 + .../2/README.md | 64 + .../3/README.md | 64 + .../0/README.md | 63 + .../1/README.md | 63 + .../2/README.md | 63 + .../3/README.md | 63 + .../data/pcb_rf_vna_measurement/0/README.md | 213 ++ .../pcb_rf_vna_measurement/0/instance.json | 2 +- .../data/pcb_rf_vna_measurement/1/README.md | 213 ++ .../pcb_rf_vna_measurement/1/instance.json | 2 +- .../data/pcb_rf_vna_measurement/README.md | 4 +- .../pcb_rf_vna_measurement/experiment.json | 4 +- docs/examples/09a_model_lna.py | 9 - docs/examples/09a_model_lna/09a_model_lna.py | 45 + .../data/example_dc_response.csv | 283 +++ docs/sections/experimental/equipment.rst | 2 + docs/sections/experimental/index.rst | 19 +- docs/sections/experimental/structure.rst | 14 +- piel/experimental/__init__.py | 21 +- .../{ => devices}/DPO73304/__init__.py | 0 .../{ => devices}/DPO73304/extract.py | 6 +- piel/experimental/devices/__init__.py | 0 piel/experimental/measurements/data/dc.py | 295 +++ .../measurements/data/frequency.py | 11 +- piel/experimental/measurements/experiment.py | 7 +- piel/experimental/measurements/extract.py | 28 + piel/experimental/types/__init__.py | 34 +- piel/experimental/types/experiment.py | 6 + .../types/measurements/data/dc.py | 35 + .../types/measurements/data/experiment.py | 12 + .../types/measurements/data/generic.py | 17 +- piel/experimental/types/measurements/dc.py | 31 + piel/experimental/visual/__init__.py | 6 +- piel/experimental/visual/dc.py | 43 + piel/experimental/visual/frequency.py | 50 +- piel/models/physical/electrical/__init__.py | 5 + piel/models/physical/electrical/core.py | 81 + piel/types/__init__.py | 4 +- piel/types/connectivity/abstract.py | 4 +- piel/types/signal/core.py | 1 + piel/types/signal/dc_data.py | 40 +- piel/visual/__init__.py | 15 +- piel/visual/plot/__init__.py | 0 .../{auto_plot_multiple.py => plot/basic.py} | 20 +- piel/visual/{ => plot}/core.py | 2 +- piel/visual/plot/position.py | 70 + piel/visual/types.py | 4 + 81 files changed, 15326 insertions(+), 209 deletions(-) create mode 100644 docs/_static/img/examples/08_basic_interconnection_modelling/skrf_plot_open.jpg create mode 100644 docs/_static/img/examples/08_basic_interconnection_modelling/skrf_plot_short.jpg create mode 100644 docs/examples/08_basic_interconnection_modelling/.png rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/0}/through_port1_port2.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/1}/open_port1.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/2}/open_port2.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/3}/load_port1.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/4}/load_port2.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/5}/short_port1.s2p (100%) rename docs/examples/08_basic_interconnection_modelling/{measurement_data/calibration_kit_vna_cal_at_vna_ports => data/rf_vna_self_calibration/6}/short_port2.s2p (100%) delete mode 100644 docs/examples/09a_model_lna.py create mode 100644 docs/examples/09a_model_lna/09a_model_lna.py create mode 100755 docs/examples/09a_model_lna/data/example_dc_response.csv rename piel/experimental/{ => devices}/DPO73304/__init__.py (100%) rename piel/experimental/{ => devices}/DPO73304/extract.py (99%) create mode 100644 piel/experimental/devices/__init__.py create mode 100644 piel/experimental/measurements/data/dc.py create mode 100644 piel/experimental/measurements/extract.py create mode 100644 piel/experimental/types/measurements/data/dc.py create mode 100644 piel/experimental/types/measurements/dc.py create mode 100644 piel/experimental/visual/dc.py create mode 100644 piel/models/physical/electrical/core.py create mode 100644 piel/visual/plot/__init__.py rename piel/visual/{auto_plot_multiple.py => plot/basic.py} (91%) rename piel/visual/{ => plot}/core.py (89%) create mode 100644 piel/visual/plot/position.py create mode 100644 piel/visual/types.py diff --git a/.github/workflows/test_import.yaml b/.github/workflows/test_import.yaml index de0dda21..d6b2b073 100644 --- a/.github/workflows/test_import.yaml +++ b/.github/workflows/test_import.yaml @@ -29,6 +29,7 @@ jobs: run: | python -c "import piel" python -c "import piel.experimental" + python -c "import piel.visual" - name: Install dependencies run: | @@ -39,3 +40,4 @@ jobs: run: | python -c "import piel" python -c "import piel.experimental" + python -c "import piel.visual" diff --git a/docs/_static/img/examples/08_basic_interconnection_modelling/skrf_plot_open.jpg b/docs/_static/img/examples/08_basic_interconnection_modelling/skrf_plot_open.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec16ad9ad732784f02b2bf7eab276e066385ec44 GIT binary patch literal 40785 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 z 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 =dX@Ui;%9rzcJ`#3-ZwT@0J#kO-6JXyJ*y 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 E7rM8CmH+?% literal 0 HcmV?d00001 diff --git a/docs/_static/img/examples/08a_pcb_interposer_characterisation/calibration_propagation_delay_signals.jpg b/docs/_static/img/examples/08a_pcb_interposer_characterisation/calibration_propagation_delay_signals.jpg index b9ec26f52c3a5d03e6c0d277d3c1e42b9b152437..4b29a674fad31ac6b5be3b1d8a6049581183f5ba 100644 GIT binary patch literal 58068 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 literal 60610 zcmeFZcT|(xy67E5L8U3ZM+K!x2k8V0y-DvNAkurUp-7Py=}HSo2Lb85NDGL7bm_gf z&_f8}i)-z**K%#o+56sc@45ecFy6r+8OG9bkwx8cNjUC?%aFGKugOk z!19obn~#qV$Rs2t$RoohN@eDD_GdrSFU1TyLR;| z=H0%SzXPt`zD9hP`!NoQiZSjzM^c`En9S=8Ps%=%sSd&!c}<)GZ`>rOproR{|A2{^ zg_V#0k$|9(@Y83KQqnTAa%$=tnp)aAx~4D9UYT21S~4hao=6CN8E zpOBdJ?tSuytn8fJy!?W~@`}o;>YCcR`nL9t&MsJY&zGU$k?i%ZKZt842U zoBIccN5?0ph%@95xv&7(zl-%x$^ItSZH!!3u3p8yiu*$@tSj!A3;XufYj?SEh##xq z8atBQ;|aJ<`XnZ^?DGu;C>ah z`Nbzuxig#c1%~hO$G!|y>I>4w^yA>J=uynlBJ5uT=X|S_e&JZoW-(K7gbnE`R!eb{ z301wVWwRsx=V*{>J@7yW==6K3SdcQpQmn1Rhc{2U0kK>rk+r3ROsEOC)pHHp~=RB zK7ruc{<)M`AhwE>N55O8_(syjLduhqAOp zFk+m4#^L1iFqb;mZ*ZSbqde|sBc$V8$SxMV1iW^ae|(FPqFjO&Tmb{g)efibeJM2+ z8hy?Fb;r5+mwIYM+j1^^v4q-0v{S1`8odbJ4g-p#9K<$1K7tZWXsp2vB2{X?2v$S| z`3e@3Q&(uM@OspT?X|K)Lj+{(tA-KSa%ujxPX?aLlu>;cGI~6 zuUa|^_xOLC%wjPzl(K5hGaO%G*!u20_3rqe?)s-G!YaOr)6C5l=d^@YCdP!Qr`&(; zTSsTD?jr(!b$AINZH^m8`;q{^e2Tx1Ysp4;tAMJgb9%k`7a>pr{>hAxzdJ^3f6yNe z@E2cSy9E5?Fw8%@Mh4;kwVPNA5lpQh+w|iU34^Bud?Oct1;T4<$ zfj(Gv`idDAGTjaDb!WLGj=R`c6`2-dmGMp6k@9cAQ8rpu;3gQEN{)~ZOZk1xRB;wY z_m*D_m1MAvCaoWN5F`t43GL9_uPm1rD<}BUBy&>8F-s_aUBU0#ka@lHp>4G!#JL_8iQ1Tx3g2+9TV5jT|8PE z;*uLx5p=@WE&dLsTZIXYt)c2pGIbQ< zfG5>4mjM4aXi{)nJ>2}_=A<f4|1{mUm`0#IzFIN)!^+2Hwm;9%h2#=!bN zdDn6aQ6mZQ9vFY)dQhUNg+JD=W9LIKQRD50){K5sgK3m6c_uTj`Z`JmUJyq7!h4tb zK{tHFhwc%%FZA7&JxB<<8(fqcXYjAfBY zVr~Z_L~=7PiiC7wqGd;ze?X1=tANK0BF<=0%?@#V zgts$O5>9A_JQIV}QxbZyU}Ism(2nRZ%{+dO9^S%V=CZm$_}=G~0hB6IS^4Zp0nF&(gkz( z?%`j%vM2$dZ^bf*0+6am{>w$yYej#zrEcFJ-XG4cx=5p3H8V3KHN+^VXLU!?>>(`f z)F0qpl3R;+RoJ|1#&n0tWOMQ*k8XtnZHHTZ&~#)Fy0o%Y&xO9Cb+v zAo$Xu1kV&BE(j|bT&zV&C>42?GjjEt_?_=@_!lf>3+E)#yF%QZuOfG42VK=#A4OxoScU!}TDz&FqnJ-++k_5dmSoJjEXEEierGb*j$2tId=HY-+W%a3V z^Dk2YLVaF5U4oKN*!0-_q~Ft$S}FD`%QuOeGXUHB#B7+P>uY0?Y7INlPG9`eU?pB? zb;}mQ$`lLe`LpUw5%^1|=gcR7{j+g>()~mFcw52qwOkPL`0Kt#v7KpwG4lf`tI$Lv z?!rXz2Y+o(YZ`MGyQcybw9A)(RE_fiLQD7Rz?ou(NMy0!EImh53En7vzM0Jz#K-+*52n?sQcx5FS~((XauoT`HC% zWmQWhtE!pxVkiBUhrKGsEj0{j_A**`lQAs1IXHmxz ztT%~>jf$aT9QI6+STJqHIe_|#nHj@fE)lR?OU|VH;*8WJS$UH3(DvO44t0BXF{y1Y zwEj__*HvM~RFdK^dL0~^{E-T`>?d)!)2rX%>wKK{ByY3romfP)2|7gEX&UQpO^N&AnXlCQ)- z-lh6gg^q3MPJi7%rs2&c&^FTJR@97`Brv&ELU6Ya2&UcIA{bYAD0&pO|p zRqyazHZ3(oCk*fW?gU3mg#gN zC7=?c{MnBydW3oG!({_fsTL*%f;OX=$SnMj{KF9|uZjA=AY-*e&s<4o@_;@^uuFhp zU>@|{A@VtPer|#gh^(4$GoaPMQwZAj1z{A&o+|hWE0ksR-FV#(G zd}sKi1f*}w>f5}ZCWoZ%`{S+|Fg_~NlU$LA zAjWFz%9QeTV14r2EY&r-M&eHSBnMm70#7ei9d$$7y+!hi$!AZr>F=}f1-tWoQS#gf zLVIg2BIKoXj2$hwiLc&(#`|;KpzE{Q0nLgz{~=$`qE(go1Dj8kYW3kfOz@H@K0KoD zV_e0xeC7m4Oa)|0YpwO7`Oon9%kI|6;yHPvCN>NxRk;sIAY)N~s4licLr*qZ+lptF zZC4P8XE1F^e=kKMU71IKs51ZaAq6d@FzD>&(al3e3mQ<^SnL%)?|0*3;>aCPe-o4C z+A4z}ip|EPA@UON{(*6Tt(5vDAff8u&v>FyK85IyQ%wtpTd2XldR$mcI-U+FfRER) zM%3g|fvHEG*OWor8HA=V_a_A8f)NQiW;EUC^{dcvvYrVU1&U!96vBrz_ImB zj@8|R@5WAC8opt`p(cEmrBzYC%0E)z!13nvxYDcvA#@ul+E{FGy6NQPBm8Zpye2HW zYyjUFA6`A?e6c7*)hA04@G*1fex=TG?8O65%Jkip zbSN8RY*5Z`_8fb#l%M;XD_#P|GFT|j-oUmb2r&V=w3q(w60kMIHJP1s=h`yT`x`Dh zd=D+zTY7$T?h>$}kT9lo7e4tcrR}hn#!h;a^SyGu0FOyM62SZ+{9i8C+{~N}WaSkC zsjkU`Tkh9)@9K~O^||=%YONz0Ah%KS4e+yu`kJAmBFfeG?B*VZmf0WcP4yI%+pTS ztW77W8lzP6W`!=WzvU64UGx_g6L>s$WO{d~vWSM{4i>uCF2)X~u!Ak8XrV=5@9DTO z_r@(9Na3zUZCGG(_#{cKaR7f1nnJi-rka<@bk#9@vr5rkZjd2bQA@3&OqOuOx?qe8 z_Klo@53AdUEy6Bs@rHMEg9iu;bHX4oICcc%8_p`@8%%%Zktgdf_P$ro#oF4BxD%b> zPvGVqzZBEcsh&2$t*J>KZg(tr7AhJpP{Ld5GO(cfe3PYN#C(<3HD@|wi6JN)pnC`= zhn6E|yOtt7zX=UI;jKg`te+>1xWbkU?f02&8ft14i0@H~Z=Rv6ru@fBIbHf`VRE7~ z$>!P7@oL2CvHY$to^mW4<;=Fs((xj+Zezm!$tG_it!tJOGP)LJfn||B-JDedqQ)-h zqI4eeCvRNpn%fX(|5UwIHy;7i8aOVMoXtaoDxk^Mbjv6}#M|QxR?}S*mjG7*EjwJ< zF9vafj>tCd-NE%ERdSWo7?`dAXZ{wXt2TP!??Ypx?Q$o4k7Az90&&g1@@KZ*KdZln zyaWv6*ms*FwS?d+mw-jRe911=b*K-S5xU7WDf4An9fV;uD(R4{(?=-&#<9g4?A74V z=BGp(2Jy%3if$GQMY$YA_2%A^4^{-1og8K8l(^c{B^}e+^K9G`&WQO# z!7Y7hk4jZLBb9Mr6wPnulE9O^V>sseOW+0U&d@l5gsG4q?KY z5sB$F+icvuXLFgj$Z=m=;XX_JhR^}(GL)p-B7dfmVIB^Rf}}Q*WKi~ZF@FCHN4mwq z-zASv`H|br;TUlhIkJR|Tl-kdsCsB!Gl<0Z5r@Y`c!mufrocT}$cACCq4(kw4pDHf zWNL6a0E{zZ7*wYuM4PJhib>98Jf<^vtXRhr{bW#aHjmPHK<*z-s&8(w$?}_!%R{>= z>C(8QfGRx|NZ-)z5*o$PlAK)j`@~*n6{tQYh*1;~376Z*3Pw0!bUV6uWC1qi4y5=yO}$Ms4?T>^Z{fMZQ~ziW_eG+MI+Z4?7bYFJo0M8Q;K45Xaeqbq-x)QRrH zAEM)^Mcy8e1Lzj#_pDeZIf30M?0XcIo0Ru4KE@`}LHrtiafUAx5W3cB!0(wYDQzLJ z>K=8P+Uy)Y?G9zy6N->{EWSzkMJ ztVg-Z}I#m{kLj}tuNBKG7^)<5TF^;Uo84CG^*v8q9@%q zOH1g0$tON_v?w@Vz~A37p=jX5wOA`*s|fTcv0X~Pp{o7z`Nlmi)-Rq{Z;xo$>S+&G zvWv@Ks2;HCX`_!~9|;{{7l^mVNzkS><-o$4?@xO8>l)~7co{^r{mH1)hZsjsT;&8rZ_9Crr%pg=5I`r}vrLY$#5z-b;_9 z#2fMpYTTo@rK@=;wxX*$hD`KgMns%j1%vD5XGn6WfWgUN&FY6zlTRo*&a?#r?u)xO zFm4hH%CXZVBg-9sKPY>s7IE-cl2o1g8mWo|4qLy?C1A*p1!t2X*7=OZXv;9l&~*WH z1f`puc9IB}>OQu_MNn_IZQP7KK=soaR0ZIwWE&90J%>G(NFSFzEfs<9Aq6_DyX);`mw-V*7i<+o#jFv%2ZD~enmL>Ti1as-q*_$d zlpn&G0hkLrb-yx2RB-F!Oaokcl;=Uu$@ck#zJzW7b)%;cbZceeL+kr37W*D$#Mnsy z?nI+lUVFdl4C&gqMW36z!b2@L$EW)G(3de;;mjXu`@j7dH47snt#U_L%|_xtbciIX z74xiN9VNmET`1;J%ASNlO9qpB_O}gR1yG^4mkwClJ|gIiFncg-F9y!#4otdAua#-; zOC>$(QgoMD#|XSA(iVw1|NodW_CN`ENStMg(<}*e`jrVeo-v-j0p0+Syz)~{SgWD$ z;5;sUQu6gx^z9u|#}}?@NuFGo>0t7}594AktTjXOOMo;Y$eZX@$V*u5Ti|}FWT)q7 z<~gX7-!T1U9HdVkEO(^4-L)myyg@5S!16^b1yc~J?VtZ4TBk9h4%LEhfUNEWo_;I- zvfAkUV1URJA!uu0ICH_nziwXGQbv8uaN_cNUm`ifICMo{=_zvPe6aENaHSM;@I5rR zPm0xN+00ina(vxp_~|}DgPaWUjHPNP^*;1{SnGy16c04?(MQ?Y0ef2C`qad>ohho2 z^c<^;?HgNy{SCwKbDI_G!fhMy&2p*|li2b832sWudm`i3w{V;&Uz(F*CBfaK?L)t{ z$yyZe?%wr}gU-Cs112%ROM`tq1X@#|C<$G~38(%g%f5E+w^2TPeWa&Ve_s8;!gLO1-Q{E5~ z-k_ord{7UELE?`~v=-)25lKcTWG$E&e9!hV11Ch(CohL4T6|#xbA%TT2Uwa8e8HSG zrk(uM#z{Asu^J$!%KG5rt(5(GDp9cp%d-cXNLS!ky;a}-wG^XuEw}xWHI_Pw-N)U) z9P20gRVH)Jw9oW6?_Gxw^W?vGP0?Vl7S@>u&3eG1eJPW~eK zqWXaQOfQ!AVn`X3=H-#hRgm+j6x>oIoe*5A8rSsf%%)j$kaw_`-cJp-CAD-hJWjUi z#Zk8yud@e9@ria=A54@PFy!urtstq{eVmIYW~3iw*zWEalrcWf)Qa?q#sM3()zM!m zskZ#StrNx0kzBWt^1Bw+@s-3?d68P8&4Pp4)r?S!^{#sYzPLvH<#yr>lB=Sc)pwz2 zowK+Xak~Iee|a=iCQgiu1dKg*hN%9 zg6ez>igY#5+o68>i1npMSgc@{yDM%W*huMk(1TYFsyK*M{~9LN(Z|c+@Z1ytY$X)i z@>FwSmgAk(6k5_0jC^KBkma29P|8o$5jj|U32-_7ak@{FbfAAb13S+vVg7yQYWW#B zyMpJTxnSf7xhN_x*K*`Jwme2thGxFr~=u@y5N*n90wJ zG&S`#vae4*f57L#hG(|mQ}47+^sD%)e12!}gx7#-!g3P*zKE5Etvj1TiNtMu=^}1m zLl+AIWLY~Z6-;Wa**U>W(Yj(##K7$vMRJTPtjf(RMkwv>PR=)$&o~nsa2vOPJb;V1 zQ&U3)^9!K)e)KaKjiBDtlUZM)=hKd-L<*OH<}6Y=s8Gow(m+*zBU(u_xZ_?Xr&H zG^{`U>abNhua5}p6Z}-AAL6?N+#^#ls5D}<`tayEE+9Q&8EMd!SG+Z8;}yTUsN$4O zOH`ZZxpBn5Wx*wE8aKzUT`TMm%rtZfh#IzZW(RTSZ_){eFNk#Qf@Z`VfAd}7 zg_kQS;9JMi%8w)DpK;o{A4nz2@8AY~n{^3TY6a^qxeSoYFYMt=N!!|0O#2q9PoA~q zi@aI7STKwzoTS-d-TZFq67#n1cn3L-m4SG)x@#G=>@+DMKpPWceu7)mGSo!NS0K!; z;l1&vCm`$?&87GEsUkzL!eg^(Z|h%M zjVM9bP0G0REGG}WG!s_^&cq7utl>6G=ZPcGz>yVra7U!3?87xlBHFozjtopLn1jP| zlt)H}6IhJOz=jT1{HAu>$8Rwy>JX_?yR=LH9&;4dO432}Y6f-O@bz^n&QoTQt}%SZ z>?NQy+XQzW(bDr>iejB)A!y)l&und-%$sxE+0#+R)#Oo;JLL}%j{LAZQ#`$aM+!uX_lDExz%sJe(stBfz8THWjDp{%u2`uG3LKK{Qut>>1HRCBBg z*T!S^uP;Po=D6M#tX)h)U{m~};v&iH_rLa%CIxhjF?KqDaaIXx2X`49Uu~ok25t1&KE)H(AlO?4Fn^a$k8t zBz$Kp7U2pD+4a8!WE5Wl(D6M6ww`@6(?>()pD>%JkY80{{&>xCj;Q1Xqkg45z42>!03-Ez9xPP5empRq{takS$99Cx1p&#_N$UCBShE!|4HrX&!U*3cY{Ib z#XZ8bX_HUjpNijX0v#ZH6u;|2vFe;Wd^V0elRdk@_D;<+HWpRVHCkuP0jZ24@%tqJ z@&i~cp!NHu z8C(XN3_Ggz*|`g^yr1i+I&U!wm_(!_SCt7in3TNbT>?QBnRu*?T~BLhU-J2!!m8BG zm>W93zi;E!jI9>|{lSyuR-Pzr?y%RrJkS2rjnpLiDJK4I`1>?*y{69C?V_J#X(D+l z0trlk_=uO~HA%qU^lQB@F8r*_|J(Z=3j}@GvxJ6TAIGb4RhHsB#tqvuZ?3ONQo7st zn&iNpo_Bzf)=y(xS9`tsk*wtv-LPA`H^0)P*D)@~?di<@Z1kTg0*#Rl^@4pK7UKd{ zgi4ONd6wm&EPsA=v@D@cP@rE>I_{^UH}04xScss4^~Jx38}DO;*+PS@xb`t8!3K|# z-L8T5RF=tu_mkYIZcno4%EG^>I=S0Sa;s>DmreW>ew$-OonisZ_N@X zAL5M$50apmu`~a4`Dh&*4u*r(*vV)8Zgr|4-S(f!oWDU^99H#)QAHUP#LuFe7^6nG z=+hT7A?;`yJ&hU<_6K+{lRJiS&1f_5GN?yWeV_nuN zYh)PCg>RJ?eSIn7*!5I;z{gt?`co_e?D!J#!y`{R)mPLLTE#~Rj&u!k?3WE1iKSEh zUjl+QuZwCb|8&RSvIpr%vb#bO>1Z-zTzfig%%W}C9SB0xj^<+5^W*i#8^-iyO;v(= zvP6x#i8M`aanJ_n;Vg#9`)OhPn@Nka!i(v$zuteH$*!-GLzfszkXac`Lsny2+jV6g zYE;^!8>ok8p-IVD6U|4dp$WM8-}-L3lf9c=7Fqcngv(P8yY;~9!kDcH1G@QTNp-y@S=U+fxPN(U( zaJt|k{b_`~bo6~RgGK6v;A&PG+{ph}gtKze!&=VbKnpE8d?)&QCvEx4YIV>WM1cKR zc;Jtf=uZ|A`rl=k?5tle$F)sH?I5B`<%b3yMhff?WVE;6rV<|8&3zWXQa3z=<|J5O zome`&8Zro&iadmo*`>y+R!0V_5-PE5M(6zs>8jkrMS(_5-7Da`kULL9fTqu-=Oqn( zo?1b?zCki8kE&Kg{eM8KezYg{Q2RW|{@Ph`L5ym}^GadW2UAMMwQz@^)Ogc|2iZ$X z9I6v^1AlB?|D<(WJ@nes3C3L}R%_wu5%?zu?^f`vQXC^gmL0fJg~z2K;wi#!f9J~r`~MTCXQ5eG3rvs~2tM)$^gI|8y!dG``-|wcik#07 zu0=*Pf})(cAE)H=V|xG&M1sXFe+O0z+Mc_`R@@_FP;r)=p~L<4-2VbJs{Fh)Q`Py8 zNJUNY8*qFr7TX5_AJ{uyZ%6H9;mabBu}RuTfrg@;D|dGoLrYHqvQ#w_k|5oB1BIm$>Hw3f3>^=T^0rGN=9& zpGq=H2m04}^aDeiZ<;wYQx4rQB%FH22>gOc1b?MWpIiJV+bC^67IjJJ2Gt5m=E+&sc$R_&m7g4`};#>gYZh7GgID2SG>G|sl1x`M| zW`X7T5iRN7#(=`aGfmlEIImA{M-329b?HbKP=0tG|8fy|)k;c5)j;W=N$fvIoAdvR zw5;_UE*;=9B~V`r?~1>t)L`>1?mJ<8vU?y3w@{~ev?hcvj)s`a=G!e_A~OA0OhSEq z2un#srv3Be`)B&-?VN`Kl%2-*EvRX}20e_hr(%G2YX6+dvWNAe_)h+VELM0rdljx2 z6?v+>U~nhwZL@fH>b%Rw6UBx*w)fp!|2*FQ$$VljKnXkq^a70qg881+zNu5M)F%@o z;;;9k_h4~^;;k<+VLvJuKPW6vQeR$T@5xi;zn4e%{@X7%+Up4S`MxzYi!W0i3i$w( zAoA1UHlyOdNLK%P$ZH>RA-ZB!pVk-aAuaoqTu!L^=_X{!N)Je{?eZS2q1OXgpwjDN!iSN0qI_u}(=+ zyml|d4L<3i>cPG!^8upP{OlR!&1)V005Sh74b=a_o%|^0uqBR&J_S23VJ)PQ>gIGj zf?78;)JJ8@#8;0Vdj^UQ7P;nIil zVbv{wZ})xFx0*CVaX&5G5V%5<5SAAGQGhWbUBYbJIg(z{a!bJd#7*RAimajT)g<;8 zhG_0U_qydB%Jqy`nNx;vcyV93$2bhll)TF95}H0aVVCVtmKexhP6vy`5$to{yQlba zsAF@#(JWzPnTsKi$WemQ5PN*LQEfhrSGOsea+f3K{m`u^_#&KuST7>o^{r3@rm=-F zO9E4~z^FQlzCKM$xo+fM6nm9-AAkIEQ(;Hv1>{{c=;3qRD1@m7RB5z|Ek*mYwXf2a zhZrT_!Ap{<@ToCZJ;-g3*wKfkuCbchi<+C^LazjmFw81+f#AKYkHV1LAx^EnO{w@|&$Xw) zix>B^?#I)_aZPtszBt`a?c6<+6Z7c^R;~&gY z3I!Q;adCQ{(oH3GRqvwA(dBf;m_1QtKfrWRgTskFyI0R|)F)e?56C9DG_s2CZCb3J zVk~I#Ezy4QC!XhP`A7!ZHjcde{G;(vyG@INFKVi*bkh5|KHO`?j%0C;<&j;(Jj)(| zzaIC}3WG}5o4&vMqPrOOE`t`*?!IB59EuXIr zYi)aLdYd6wYor3WPo~s=a$rEnNzfMB@12V+MES%y=n`;+9V)?!E@`nuB$<=@?R1!< z&lE?eVL20$KBr|8Ix-QA3-Wxqq^h)RBIw;o6j;k&PJ%tR}(6ozl zRF(_iXw(G}?sUlxC?kmXx2+pXIJ=~`llvha$}>rf=WGSAP3!WTQsO3#$Z`7nbzNli zJAMi~Z8jWW zR0JqBAbHndymEm0il->GqzF-~Q3%@|6m8$A5dwxSR(-5&Xd#?lN2YCO(fBdK?68(EC)3nKO#yScuEUejnuPmqTV+JDQkS$+eXzggwxYsb&Z{MeEmy+v!J zmd2`-JzF-lS2sGSGkJg5Xx)v%X1VfHQO!uS^qN-N?>OwTEZ_Ek6_2WH7D*Scry+G6 zV7^-e_u`1?fNTv(U(6Z0m)Yz=uU_k4(ka+2T7WcjL?myE`mBoGyj`36m3J@LDozf* z5|XvBLoHwXy zmfjJhTL!!}*T)%FOnQbjQS*k&L3p0NP+05fyu4r@ykm>clF`{frjza|b|8*}U&3fp zeN#iLxcbZQ0BnFM+4^`F^N4klL9=vHXltFCV$Z~uJ+DZ6^7nC_o5meXSsv7_F`9_6H*i65*sk<_FsZP6k z9IuS_&4qDtEC?MaPYPTD+}E(c9BgB2&IFCIiJ*HGehF){SE}Uuo@x`9tfRsfUwDU1 zgL7QwmkZilsV89^!h|0;hLpY0Qtn|@q5C*h=5&RZfMOPW$7TEVqXHuEeUm;H@^F6^nHIdw`emM!nWpF1gj;w zVAIkhv;2}u{>D#=HF85EN*6L4hw4X%+x@^b`D}miyBKJ)l=*~+ZQo_UadE>$$-xm~ z24O;u;u+oA)YXKNRk|zFIy78Y!I8JKS)xNGPn13O+!w{AiFsMeNWXN=y0i)&0@#}i!3Q6;R?@i3W>66e@2(pX)vtCAk*>XtQNO3A3gNab2lpDXZmQHGr z`8s_3zS4k3qfFBx*E1ntx9+OA82a(qunSS;Mty&juT#3wBn0~+^ga$)3RTo(f77zu zsxM!TZYISuD(t)7I3>y&dy%@T_EWv8ycFfyjNGS^ZWET#q>6Av&3QD-LZNDCWeS4b zzHxUwmviqHPhC6n9gMfAVx$<4_BLlv=uzUevLb1gS9!JdJe36;aE?z0@ z4i%j2a9Dyf?O&;GzTaCuG%41x^3p!30#@{g?~UU)#2HUAZFs7Ps##(E5A8)hmRL*Cm|{ znTBjD_pVD@Tcq5niIFQEXJDFxj#Z+VT*ha~KfO=gz3nNznO)-7sHt6WZoyjAV6;nS^no9dGn&lX|@-aW;E`X&s5{;Ueaebl}%Z{Bxp; z{94Jg$2$jgYie!kE}ovnG)8Oo-EP78B}F-p-308+CeP4tM&O8_b}{RcIK7;na!V-F zsXG>ZwRK+Lh`%!ykuiPz-;!3OOTv zS8Nughg&l5XVigHsy?m_%h)8SJ;Wv&CW9eJ6skumXN)-(bY3Jb+)fBJD1vSoc*qvI zn6t1I--boLE*yV-Z+m+p#SOU^VW+z~d1XvynOOg7BvvYKC}V=ytHuVRbT8&Wm?Db+Q*8?HG@v9>xgt&^fum46G^+SoI++)S-$Z#kpjXxU~1UjlM?v~=__ z+XNjSZpV9EFKt!N;-lxMdkkFvr7h}5L5@uA`OwjYE*4IfsjcUAk=O3GK86#OP*T_E z^LNg`!qE3;5I!?A7_?3!(pe#~qLGtt2$;n2n(KL11_R?^GGJ>;;gc`lMxUvTjokL5 zuKNeoNZT&%opAXkHl>k=iC<3I##Toit8Zj#J&t~-%H8RN#vio@E!^D~2(h<&SuZTQ z&);}R+whdfUc(e6=^&-d6gjvgrg?}a##AayzO2fteN<-CSH3a1h0oHIpbSs!rlO5@ zl%S(e$yi5nzunN)hOwlK%PD%mfh8GRm$`m{&>2NnA(G;0tK&+*XxjFprMAo$Ec=98;7UH&PeJ- zG%eHK@f%-VQdAIdOOlT37?@GC^(MOs%+ORSyq|{zMO1FUx#)3)HagywN|uTsVnyqA z%;}zik$Bh_78pOHo*Bk(M+j^Wt_S6i`UhqNUT5H|!%%>S-@)L06`B%QJX&Q3UA3;U zHjC*PlR-rJGQE_Y_TynLeO&U@zLRW%Ap#pNdm1M=5H`3wR6OlU*bBw1R>wspRqyn5 zp9*d;T3rI(^*N`DDI%``cl%qAcsGaPBhBt1d^H0gvq)h6bE1PBF^6xyDRg4oY6e66 z)_sj`;)9Fc%)+}|Fh~(}zf`u*6BZ^7-6v6ooYy?}3v$)Om5Vx2NNv}(bhkM2T0>c+ zpagiqj)N`wVBK{#V5jV=$EzbRW>6fqw((41=UG-3ajBGbPdw@dXUYN|znG~d11P8( zq@X3M4{m=WU_pU-k~1JOLF&tuha5LnCN9>M|C-9ybREPHhKPGG^JqfMrwiqeQPvh; zEh_E77tURYh%@FArbWFZ@)*Jf8X){0?op}4^V?UV{a$t!-eAf$K!5s8+>G)G%0946}$3D^wqf!zaaWB1Cwh5&Ity=Kr}oPJ)r2L^vH?7P?)1nnhY64$u&qWQ!^!%}+L(%~IVPxDg_I@g{huvst$NWbIH#7TH zP_g-Iw_>20zDd&!FY08{OMoRDo%YDn+oA`#LsfjU6|UZFA9SkLJ2AP3yCfHG_6o47vLVNSDlmb$Tm{JVN=he%^Gs#icdxW<>3(b+pEva=0r9pAWDRPxJisYO)AhEr$4NtvwVdu;&>+Wl>(gHa z`L!H<9$4npZ)x`g4OYp38yre8|EU5~mbrPigjl}f#zths?)zyis(ot3ddYfZgTQjj zh1d30AmaT4c6K#TI|~T0p8uI`9CG~aqjxpE(YRVJ{G*{(FkjAbwG^rgTx{8&{*qYw zVuj(5%t#K>Gq`PnUTL&GV=hW~J+nIZepu;IAS9+0CFEnUIS7@}1~1KD0`3|dd!7ai z#4Se25ov>tC>Stw?rJ^v9L#?BK*;G7-JfKQekBk-*9-64IMx8BVCfhUW=$+iV7flj zYhncsfI}sS(G!H72Kp!rq>qUj`v8Um6!4|87LO3hpe2{3m@B>f;_7i1Qu9i=`whbgLl=RtuO@xemPB z0XyP1<%gDt_u*VrTmm?DL0pnfpABW{TSL?zfcijSH&Iv0X>Gk)u2dUU%L z)5)ZYBfG>uYL)yTp%_N%Rr224Cnl}C=J~?_<$QcX)(cWBm=AwV$Xr{+V|-a!6|1B# zVc}QuDR=+?IsmPfag~%HE$ukV-&(Mq}lbP%bK(mLs9ClvlujjXo&<5iS?k1^0z@D#H1e@T*J~ zpx2)L#X$rn5iI5%pm@D}HKbQtHQn10)gBg@q$g%)1|GLZ_dauJ>+O4e+$G(^n?Knc zR05`6@VoznAh-xC@`m&(7CK>OoMHbaJCc!oS64pZ zur>4$Fq#%|F*pnieuc177HC7NVLEy~zCho+W}$@EXp9BB;`u%Klw3I}e3$Jrh#?66 zBmzQg6&LgN9yS{31U}K-J1NcBf_BwHLLE)dRl$3Fj%W$!MRG&A^J+a8dMo4T*&r0D+*!P+Ftk!9JrwGZH8%&o_?(o$-I=~dDn8)lyfVy&)>ZrhTQa=i&j@$RD3jo6>^{k)M5Kp%`)&sh_Vzk9y%$0 zZ)4DPLKKuSV;HPVk|S*0oyt+g+Borx*i{l6lK>Tav3rh% zq9OaNi{dGrZA9nmzzr!HT@8x2CY439XK3>ewkpxMxcptHXJ!zYn&*JCiO~6fWVNKb zk4|DZRm&ZZC$A~pFl+>u1e?x$IzZQ_xkcRU%(UE30J49y0AC|>H%VQQ7PGt?DT(hG z9hM2ct6X9!Qr(|lB+1af+yNrH(>?#C9gPf&L5^qc7(E^bMS0HF`as^06N9~0Z=aP+ z9_em%ZWgrcW1qm!4{4%qJY010sUFy(A?gmgu$%`)CgoQE=LIHVnYO=8QDa1|GuNOe;NaOFVu#;^ zO7uI!TQGG9s`L3i_L(2B#a>(6&lEUTmr=^s*k2$0&AxjXP5X?XtBf1iNsN7juY6c? zXaZTF<3?!F!52j>bzj2}yI;^)S|~*~*Jke7#%Q0L)$~kM`{cJ=BHRHE+t6evrX!&J zYX!ny;jO>CZfCpZauvy6=0 zjcKa##nngiuQgKxEf8 zBy05&fZcLEi&6z9*S_x}H%nRH7McGO5qMWL{-bL4+^((Z*b4ew30BNyIdqe8X%C*Pp$7F`nu{bSlo$;(uB- zaB+Y@SFT%!<~Lmn8zzxOqNP8?tEJ|z1sS^TKio~8y$|G$II9Nbc!_zAN5Lk2wDR;I zixv#9v8VD_DC-jiUf{f5gLEdNOjseQv6ot4eivXVhn=j;o!)!l(;dVcFu9<`nuK^P zOR2>7+O8it&w<>i4)H-CvpTyjfsVkGmK8|ZtI+s&=y73AsnEQGXzA6eXDU>U;h*dP1U82ktuIo9cn=JiddP6Icuw;EmG3m zrPP3QOLx}{ISj-2y?xH_oF~q6&gcBrcdhRqxRz__&As=%MljQIs01kDklxM3KD*ZmxE>1aCy4nQX1IOFBP<&Uq@xgM(DTbUw zmUPI<+rDmTx5Rt#&soZ` zpBtb`7ViE)65EviOSiIZrZrXx{1PKS6#5fukHX<6*5@wkoyM+OD2cOvm)D~n_W&CU z_HQ5+$_kL0j^T|^Oy4(@Ve*&lqz3{I_}|aAr62^|)v*$uHaW#E;?6WGV6C=N4#p!j zt=`K$Py$XeMBixRIMJ=kT?d(tHp0KImNCV|gZ62Gjnq!ZNXWObwzWIFqY>wxC0W)&HK*V$TNv5=|=$X|9- z9~MlaT)cydAukdq4$Cq({fSjMX|tg3Df1Icz4FoEsz)gtJs%PWps+8-$MXu*;`J0J(S7+ElSMb!SA9@>4v9Eoo@ZGR^@N?U-iN!4Sy?uA*67I7xPW$hfbTz8-FuPcm^D>Uq={P6&_Y1 zZhp=VcHrhm-NqqWW0j%uIlN_kmJ(HQpksV%KKSihh0D8;1Rw1vUh4&q^ORwD`HzB; zYW9Qtvi|XC|7pZC#XwD(BU&-~S#(e7Nj=5x*CB;fG)d^$xymHdGsc9oDC+&*xsIP$ z66m7JGVp_|Q_#9RZOm=|{h^CgQ$_5IW*@CId6pmOR}r$W3pVA*Gq4CK%H+$~5Y70l zPprtI_I)pHXRlaaT-!+dgvzt{*eWMulPxR1yhx!`v|FWZpeKv(&`_cy--kWjup8s! z%9pe%e`7QJWR|bDPcqo2Y7O)8i$is|>tkL!T}Hd!nmn3YCW^1GBv_GZqWnqX^oZmM zMpe6g?Vdxl2qHw~1oXX8L)g*2S)3$uv7(oyhJ{fwzjNlYPK?#F+tJ%1_r}*DL$QK! zt@l0_X`bU3v>aob+citRSF}x=ZPgLm>^b$(7LXQgPd#dVu1hZP3o zDEqJllZ>tDh|`r#L3xxOu#<(->Kn`Wg|ZH;O>l_Hx_qA2e`1yWUX~s*BvJpS?J%MD ze84*ppYY?_`G9eFQ2tAj1r)~OSc1LoJdWfyk^(U4kblZRfE-N)A z#!{Q~y3str#w5C4f?R2FL2PKntH^D0B2!FWu}O@DYb~F=^&LQ2g^TjJymbx%Oa3rud5#UDj&Q*+7Ok6W=;k!H)9$u})PBIOyq1b>o zQCKm!s+v_BFTuHKQOrYt8T?`u{-xlCOr-o`GUisJ28}nuj_-TTsrfrcr>RWqfDKa`eNiw*9CtK*U#6kzT`jZO}Ka&fR6L z@M*UkM)m?aHrcgoDzw14;KM1^^=)PSmagJ_%;7{O1dn+})Sz%->Ak>X`l~u-;C)Kh zxES2lR&!lwajTE2%^Qr9GE6)y%E>W4ZNfV?VPve6R<2_QV$>vd(gIUP&6dA4>Dcbx zGVdYHVjt6Us~g>(n|R;aa=i__K;hXo4kU)P3Q-kcnGVe#Z<+ehjK6jMm$ zu49`zE%&6_UI$UB{wNvwxn$Ue;O1h@8|&45z(&Jlx6%^`S5tTKRys6+{Y9lF;ZvgC z8{@~%Wc#z7(-7|=xeiGFL7#bVJDH<3{XW}N-(m4fuCHR?M&R0pI~PxXA`4!FOsgmn zp8H_lvUYeRvfr^-D*TF^+HG?tUD|WA)@!}*mjB~f`5poeVTkuV)}jgof9jVV4_&|J z7>l|d+dLf8(y>L-9?$+hiyH!&}GDp>V4`~D;BKFY$t<- z3vgDMt~#A&8Y8paJ;VHH{O4QaX(nanvnK++mY>h{M{T|6KH8J-4PswmmrgmJ@5Us2 z^VDVCSL>8HRBcj(RY9+ry&~D9la<(k<*OK6Ih!OsistA$7IB2850)K+`y`rv?dN5p z$k-!&-MP1(&=_zd;A^r~(}jLseSC7MBX=RiYlgB1T}6|VS??@=WL;i&*j4+CSsVjb zPbpo#y3~s*v=c?7S&$EkxD_jd^skRRigL4(GNlOwC}bCJju4-sA4&x?y^$a7A#U}n zPOol1M6F>$tM`jf2OK&RN3GBH%JtIrpV~dcW!{nRa+L`Y))4y8N^|v6$Am>QXK58- zH?v^&6YKV}kHfX%d-$RrQ|}g4M1l-joFRlivDWk(0pR-o2YJ2mDw&@mRKFgoS^T?h&E@}azO-xkF3%qGFK1Jh+D~V7DQ*K54R5_F zD$VM@_U!8XMMO`Ux&jLIr)-2z7C7W09poclC621szSsLq`k?^NB}NFw%QV(_GhXve z=IyQRoIbw!_0DS^M(m_!xOdXx)6T!5i~gV`-Ar1Z3c41B)RP+&`ib>i8J_!RNnlZt zrpB8g_WrHW=*N#`P5)Tdt?7+tsA>#MYR8jss^vY)u}=VJyMAKQ!fK9x#1=C2*w&q$#Ee+P((r0CFO{<|u5 z2)GLQ&*EM=bN904`cuxksR_+Bdh!a@4eu?Yu3??Sb`7L=tWu)eV%;Z?VDEoeP=i#q zZ0P?aR{S?-+)1}halMw>r=hfI)Wxmr0|vr0JPI|Je8m-PK9STtw;9g)9R8_U{qNq% zRd&7eDcvkAeSiFD8>a)51V%d5je30=;aEBeITsN@8DMS}<-c}(e-J>yOm&`5aeF$* z3%ktd+c2kT|a)zuqjt^}<1saS8jPgIKie>-wW|lhx9n*_ad@^|c zqce#mymmKX>cY`&AL92}+FHKnc`sSu@O?>gum8nf3TMQy;{NHAR`G&D4XJ9!)}g8Z zw#l$@us#vp$p6SHJ(~h%#`1KQyx_w+vzJH$xeVTj=I;<*VPl{bD*Z!Z(*15zUklr} zcV!<&04LD@*&92~P9&>3rx=E`k*W$7UAW<63_(|MgZkfIw*x#?O) zusvhgjEb|qg$QQFXAC>&-EqnA!=3zs3|r0&Ep6s2)Z6x_8Z{YbtWIFhd9W4ohD9=M zHO6VcvaF-*<_!vXZETtg=3VBp7G+$7HK&Y)@T*kSxCvWV0yoPJ0#OFH^)AkT&Q>k( ze`}mX*8e2H|I12Cf~|-l7Gav2ys8oO4X!7d+Ms2i;p;iTK0QBBS3u zm(2^{eH|{=l)Q;R2dUn&pFSAZ`?N?F&+=AA=wgNkYI{}!{_C6_sGXlKlxL;?!y>)f zY_$9nYrm+TsiLt~jfuX2^D(*6A(5|{zee_d>n{VA%3Kc14^hW6HMaXFy9Sg5PxAw{O@p6%a9xyh$)iq7t%-p7 zXLNs2zjwKXVSC8R{=Mv(E8QEdk3H_IQK8Tb3%4>s;ByR+NpDjHFD}W->W%n6ID8%KpdKp!oeYNW)g3c%HJ- z6%mRMJj)W^I6LgU@hDT~y0PQWX*BWxYD3B*lcv93De^av-^WTgbD)Fm>jvdJR@iTz zAuk^}#g64F|9N3j9edfIGxqnk@_?8-sF^g!%Gn_E_BP>n$-=9IoAT%Q(fy1W=908GeRt+8YI)A!L&zH@Lp`D95dIH|_;|9v$DXNNG%?ZDeikUQJh^r{1x zcj;I|xn`a|9fr53j6Y`H+CnJacMhB;`tD8pVM0i-A@}qB0#e4CrxtGi%O@lOh56sX zVQ&A26~Fp}zg?g2XCp1X>W(Kp!3A_0Ty+Rt=KlOFYQWF-Ps_gg@?&uwR&Ha#LD3Np z*}sFv{w*CM4KfCHD4cm@;Hsj-?XBJNN*MFB+9vC`Dah!1n$>st`jQag*dPVv|4>fj z|6C4P?)<(K{|n7x4TN?q+=}l!%z?Di=iI;wV4jXo!eRLJJL@2S!i`xrU%sm2UR0%1 zJYy+%2Dz-w`WQA4s(eCNk+z-BMQ;01r)16g!yL-PGp{ys!&*$e>4 zaC>_WU!iR2dzs16DVb|5+N~huBg;5#^waE0LHuHNwd5JqS=Cx-*fNZK{Vj_ z?oR_%%410xM@LuD1suwo5W_bI+XG5cFw9oo9M!T=`kP7PtZNZ0id{6DTq4Ss!-b2V zH-huzoV=**&qe?w3LG3mPBID#i2pG7J!rAv(lympean6fvXo?|XV158`mrQNFLPeo z)s$HQ;aSPoeCOu-YzFEZO$ko(D)}VTB`@8g^W$&Z^cx4a25INaaos)x6dZU?02o)! z?aP^CifQ>z^>)HXn)#M!tTyFDpXAa%_vZWT+xH`eRqszJOrhfk5L-g>-82hY%cktV zA8&s%%qA&4me>qou#vhIT)8_lWd&fm`CmajQ2kVAA@88BST4Dvr zL~UPbvapjPl9utAxp@V~%-)DwRn-q1i=CCRZiwAp(vs4@8CT+fXzNr26S(EhDmr9r zZakx54)c|zZLTYCY0@>?K2G&%(tN$3xB4&?E6+s3g1*JCKsu>@458>1-(dN7%Pn8P#?8!|fDT+;FghnX z`h*X`MMh%o4dH3q1WxU>*=Ra2_b=ArYaPC}$j`OcB7*y11&V5kwCn8$-WMztfnXBDrhZ?B@Bi>{%TjZt?Y>5XWD?VcC zo^*ECK!&UGldZRp);pw2M-nO~p=js9P90@PZJlE&y+NSF2LIKk_<%UU-qnV(mvCv+ z-1f~O!MKrf03~4vx>)lk-O`GBBgq}J)0<&W>k|41IC^T5RWam7t?2AHevgfHISWmD zp?v)wSB{?qdUxtTC%Y!0k0_C!8ETE#2g~@Gi`jODY}8e&-Nj)R33~1GKF6QWlTd>~ zLC;d=&A<~$u0^%UYCm~5J8sr4rH~^Ep7b1Q$`<{wj?2(g=?tz8*2k~KaIi5q8|V0y z>C5u1S2`usiXLY-5vYvkQncnL+USP7L)<_%TA5}jzJLER{n3o0qDz|V_9^Pzka~i7 zyt;v4@}9F4=z35m67F?w$;$NPqtQM4PeU768+%HF2FVEdhH zyiTb9Q{+?u7LtNKU(}^z z#Z^&uVMBlI5}m^#hqxNXkM&cTC_FQHxy4HaukE=;Xn(vx5QZdqgWT zJy!z4uCcN|ozE=@v^7Kc=#Gq57tZ%z#KZ>}1*7I}Le8HFVcepZ4)3^J>LLYA|ZQZi2}6i z;jaMcuIC!@UwCpZ#-^V%u{LFz0bfj$&w7Gb#VCV}o=!Lgd?sihPYI)!hPe?LpMGWp2R8Xwm>IX)v zjwagv*di+IH#0dybPfJ^@@31yUIyY?EqghSsdp6CRc*Z4WDgPKdKQp?I))bCBXN<3zQc+N%%`ecgFFBh?7Pbx;5)Z!8KNu88gye!WK26LARZW_Mv9t3nTnaC}(h(6ODET64HZa?hL4rh9cVjzIEW zEU{-*DpbVdI%tU=4$femtRb^>?JIB=mosSeeo{tPKFm?`(M=?kVbRTkft}LBICKto z3xcOjsBv4t$5IrQq84o2T86rWz8*U?9k-=xdUrRj)X|4_^|*-dJ7A^Um!oK@XIp#V z93}K>4mvKdZXohN!@TD!#kM|Q!KH8vbCzU&buPuZXv(H$#BAryb!Yq5A4f5sGepX; zlv6#C9?pIGhB`-tU=MJw>7hJgh9Jy`T-QDx?eC>v1~o6-0zv5!r9)p)K^+V;?BB@` z?j}1f{J?K}+q^bnp zH~fs_6eor(W13{6(nl~A;RTLLlN^;U?0v)m8D>ViteG^Ec|#bURYmLz`2G65Zp>u$iP(wzK7T$HoLhs=MD{Qw&p|jT^qvRK#kV6!-|2 zGRxd6tNEOBF1iR4m>jW*r%G@qo-K9?7Q7guzew5kr7Ep0%lnuslz77^^K!=a#VxgSYnFvTdXrh9Xix z%>+Fep<_z&mtwQOO6_=(q#O9~G;zhNyY7rMEs2@w&!mfm)2a8}0Ud0{B0;;`1_@p_ zW1Yakr&EgcbFwz9(s55e_Fi^OmF}D_rlt|kQmet#R0@V@a@bn46U5~mXb6qEkFsjZ zYZ4`>Rp-oQnXw)(Wp=n*w}qZQs2Zmm9X${k5O=evNmiz(Si;Cg3?P$vSZ2GG<>sJB zVjPqfm_ND5Q={{pj)}gKoxpW_mfN5_*1~8;QPI~6=YqSFAD(ij=(76FL(KrK&+&yg zjoF~+v>p}ylh^X2>y$++1(ciwhEM4~Xl&1w zlWwX7ofUF6Y>%g$y|k$T($gW{bnn@h6Lz`_0{7Z;?Y+o9+>eJk-a?0X&)HXYSJHhi z$0z#2w{nIe8QWsk3l!TY*b9G*lleG=s`c&WahV!?eBWhxmKmRL{FYxW;)=D6D@s=l zDr@d_VVjp4Tx-2G+L+W+o#Jq@5w-Y!!0S3?zpmYByq*Ku+oXhZbTLmm@d>EJJF#(} zHpqWA43$J9a#z|bCM1i-ncW)Lu1fmZiH*mj*8CruB60)PqlFZF3?NB66k(!;-CPR; zn6|84cVG>*`NtaCCds2ZMYCjJZu7(5b=w_UQFvjC%cv*jAMF3Rahf7Kd@eRb|Ky~U z5-1=PgPSE;Sfr#x-S$@=(4m8(Ybe+(jbnr(*Bf~<&>7mq(pzL{ojx%PoF?M`(OLXA zTM7a7VcvNYIi}`-{oiSW{Q3$&RM{I{=C1;t(IK2qEkVoVi@yx%J{)S_EI z%Ff~X`*N(;1U=s>Vy25ZZ|zRiHRiQ^vW{b$Lh-fJrN81#Cy8w3 zf9Oa>flKWq8(FhE%dRFd%-isQ>dJh1_+<~MH-c}G9?O$G3OhsS6M+(Lhpwy}9!lPGuO>45gwqjwwJe?-APU7yO>fu4cGYh7H4ggLLy zX%}}57CvDNQ(Z4E%Nwo;*wh^!D>h05C$U-34y56BtZ}X=UO?4r)Q2Xju2=?(mGV0y zg=8R}TY`dvYflv6E8vrK6Vti&AUHmxM0&N79W9kV@2>o$?J$|OR5_JY@LUs3C|Igb z%{;w`5F>1cNq_*ihz++N7V*bDn40Yd@-lun%f$j$Q@z-OVT>(s?xL{XzO9gbB#iK$ z%xMOcoDNj?->j5~pE%WIz0b^E0`$-cz%l-PldFm1?1E_6ngph1Ubmlvoh}vQ{itq( zN0GRM()m=X!^*JO547NQHR@Nkl2A!2In;zfLcycetq<>C*Y%sZ+A?^Dg3BHidaGV# zuh?~*9yOm`Ndh3<1Ojbn9&+E~egKlx0aN3;@FT+MNN!yLXpV)j?$Ha+vN0ui~R_Wsk^)B2lC+QdWSU-)8IJ<&siRS;*5 zUr-tN8;{ol(O9qO=V}YgHK5o*_-;t#-V6ufj|Pry@bHE>GkEA4;b&@$9iY-8iYR&R zf0uX_BZhAFCpX&FKabJcH+&4#yJ_yA6|V#;zw~uhT(nZR8p)meKL>5=H8>ZtqUJVL zHWECpY}MeRtro#-VV>vR5L{z)h4$jTwOM29jL&K)B1BOp5##(P{ok-MqJCD0ZVxh@ z`N8(~eNcbE)#Gd`Q{7|J5|O3*M@Cr+tfoGhDo^lx4m;$${+Er1&DeS_e0xolRahbuT*Q zuTJw@5_;rY^azGEDkPlF(LqN{3OOVFsGA4m+P{~ z$<0W!>E*~lFA*)EUNmVs{6H*&(hIy^ z5;aP;e;?0l;&%cQn$DM40|cq_Fk4>y)8|#*0zC^no{{*LhGIWK~RI zwd?={H03>L+u$UIK78&(gZZeGXnDrIZ6a4p@_7U5kQt@LNbp$QKQnpu-DC^n?!^PQ zEZWS~Xb$acb)9QjxA@npxB;PGdz1CD_`|yCgX-C~13-V7sAe#{t!AX_y1st#ba}pT zJS+v`E!s_YmKmYB`bDn*dUceKW|``IZFhP{v1{i`j-STyl{FC|wAxqB3tV5-dyxjw z9YrQQxV)nyc0KaqEhN`t;l~%*?~BQsGf0Iv%qd_p*>IgZ6!&3N#Ic{1{}_T}P&~^% z%i(feO3Nc#=`5N^IaTPGJ=3wZnC#4W!6R zhNCY%kR>+RlY)$T?bd;;ju&Q0u9;iTZFgZaZhd<8gRyzyr8b`sC*tNoRM_WCpjcIK zd%3TI_y_`5IqVCW<`UF6ly3sr{tF&uZX_`V@=hW|X^g$jE2GJL0Zv|D+a{a2vn51D9JEw#K^(~bv;fcPVc7Yc%7v7|LP zo?O|#FdYgnY%V$fXhg)wo@4mj<+3ObCKgcy;kG`HHgX7K04>D+683Ai5$1HFs+lp# zf@mombciJqqm+U#C7S#VeXT}4+tv=)u9o5{7O^4B7>OmtH<0U{#W!a|KfLz|1QzUk zIBLCZ#ncRTz^#zIgO_=AU2`#L<;a&VkMqS>DhvwPK%OqkTyjD=OQ6`F6PykziMEtD zqcsgZ&{9jTpoBJ@B81`|d}158)g&5tTMAju0VCMP^XU&4NYK}Sa)g-_t&0RN!OdG> z#1bS|9qB`sv@Ey=z=2~5fCA?Xocr9M96FF9Z$#Pr+1QiIFTQ&!5%$(@9zyDL#bdDX z1!EWwTsh1K3}J+Af~$XGNh5QLhUFQSFf6)F;Jdx+NN@D!Kh`77CoY;n2eIU`eUdg+ z76R~8%yZxfyKHypiuQDNiuf;oC&4gzj3Mu;NRu*#02O|IRWkb5kJky5ETomqTDY`; zMb9dwD_9{Zp8rRjWemP8EQIl;j8lfwfH%Rb)+yd}ZqKE0K1Eh}K>nje)736BH2YR= z0Lu|W-CS2ODeAD=wBgC?)9_G^@oB{(3Gp8H4ID-tC@%G?7z->)HfhD^re{0XkyS1C zizJRO5D(H$2~EkT??0`ICvP-iYN(Gp>~MyhSfuf-b=G173j@aEyz#J>vOSyC5T-9D zTzgeFUySTAYBh(~JwH}(q}QZ=ipTAg=9FPmIl-&Msuv@8YQQ~sK`#<(|4HXsCLmDN zX!3c-vH!WDHbv-Df)tF+mcl^!VW8kc)cA-0M$c**Rz)g@^K%D8pA!>ZZo5wo{V8_W zJ8Tt!@eC2uXhSBY> z>oVqE+E)UxS5HJe9z#2Jc>X~ZvP!kXsUUZ(Vq=5OTusD&SfEC|ja7lAU!ue*`V6|` z)GE|f7Qtrk^fr$I!c33SawsEJ!hK~+_}Un`O4@~f8JX%OWGcO2}DiZpGopMe`z*_JT7e~ zXjgCH=G%^COYJC%H*v~nUx2XCStMRr%++hl7RJ~B&PDkzJ-QbMB68T@*2M`saf?TB zyd~$q>=wh@sBa5<6*kW2rEPXS;wkcg8Kt=%GL;P9cv96fR=YXJw79{N)KTxgU3VPY zp9B=|R5#jDvLNl1{Cq4os+>tIe<6Ux?UcjWzAJ|-Zv5g3I9?2~_q3XX;9EJrzGs)+ zdyWTe=Y|52{qR)*^l^e73Zg4Y#09xIeGf7bCbb{tupNE+aU)@9S9V@$sWw>9os^5`;ZV~W5DUCQkZ#-{FgGlWd#WI2#h#C z-$cIy;?p8llc{*4taS3l>*%p7g@rq@7Vw1dhxZ~7Amp9cE7rs+6&HlGGq(0x+S26{ z-C3ju|JAh>wx3vqO|edUj*F8OzD&|XQ2WiHYZTN@^J$RNopCQl9TbMiIZ4!#Q~B#I zTH|hfht?13eNFU7%3h@ViZYQh1Th|CP<=L$Gyj;_G$kd;oUg_w=nui^;>N`oR& z*4a!hjXIl>8zbG^hw3$ycWi3h2&2NXuMx1lC|+t}AlE)-fi@?1poJW@G=tx|_W&w4 zKMwGjZtm&?8SSHr8l14ZFlcdT(lR=ali2z}eh_10D|p@(vNwKZCq9LE)J{CuyCMh> zuO3qd4NfjeKv01bE^bRrKR=5QxiHo-iM<69{8lD}^uH8Ugy0ah*;WGIrSiuwCTp~) zUzFd!7eUp#-NF=h#PBQi=&+H=@r~)%OxRW&C~Iy*u(!Eb-HUOTa}<+TF<9fu;ewIl z+{%)6G!z6`B50GXg%(WoAuUV*Y)Qa^Qpsyk=-4$ZZUNH|@?K;2r=ODusMW||^L`7c z>8;Vv9aBWH@bA-s<1!J&dWn~yt~*-Wsh``DrBzhJdVB{z^4L7Cc9Hvvz_ew zpMzbauMvGU0cu<-oq;KI3|wb<@5P@80+vm|zNbu0d9JHujE}+VmfOwtnqb2BSX6l` z=%HT)+=xLzd)zm548j3wySLDYm}xruSw>~jZ@a34r#DfRr^m~;r;4rw-9j@wsPW&5 zxasqC%b&?pYXLyks-L(mR;w$%e`;;!XcN)>SWp;eDh}f{j2Y3czDH-x)A`vs&IMw8 zkQ<=O(cMNH2-k(Yc_XS|3Ikm4PD*kbS|Ts}`nx%kX3H`cB0z*$I1-Jqp}u`n#>g9> z;Yp)Tw<8Wad-d1BL$rlofhTM=6Obh=Q%TC;M>B*W++o`hy~qT@EAfdd(Ju5?@Mwf; zD<7)7if*XAZ_qn`o*m0e#|(>ngzbBo{VsU;^_@m52^hsdX!qq zMu)_io!?3@Fl-G*Ax;BGVo@L>Hq_@DoYnWcBM2U?L;GR*;qhZR2@b6QGJwhAwy>w> z$66oHh##UqW&&AWRQ9nbk0YeMXAubpP1Y8%nrij5M{&M|@YCYIR|e_{!nrGK(cz%c zh9SaF^~f*?llXJ_9<4$ zU2(Zw;QyLPtyGE_XyNSUfj-+uU_1dq+dG@!xV-_3JZ{d$CogVHb&0s`F`ENDZ3+xs zEsL_Rm7e|=?lE*0pjSNl?va=TfaiaK0A;LVP1z zc34V+?0nUGq~q7^nJ9*9s(W=;Cq)=it~p$YnKx55U2)s93$4zVI)XKxbSxCL0LJX{v5};O^mAT_C+LIvA#um zJfxf~z~1bS5PFK)2E0kKwLT(wuaaQS9m8T(FsLIi7!@`BzJlSU3O= z7a$*c7Sv6dP=RwL<%HP-`fj>#s?(i#+x8^Hh%FdzOg6AQM(stpcq{) zG7A6D*tX59<1wm2#elz+?2rG6aqrIo{>Qf}!q;Xxbmo*C8+pLd~R$?j7cE2H%AfoZI3l7OVLHN-gs z>`-ZQrWFKblm0ErA&X&{Uf#1f?9aXc20np{LgWdW(DlO9P`oWX8U8U8{)l*Z(I68Y zb2_JW8~%24`2=_J=S^76lVuaFMxw1VMz;a~dlcf8kgOXjqXAH7fS zdw*+xOQJL`0&Ams@txtlNxoaQyjR|%D+eaeo#=#2ZhEc`Q+`Fd;S2A#Me-5IkkqGK zYSq^!^;2B6V}*k*KUqM%PZU<|nng-I-OqJ@Vg-9uU$FBjhBn{vqR-YHT*7_GQXVUh zUAykoGk_%lk2&%w3p*R0lN(KavQaHhy;e#8zU}>2G^-j+S0gcZnf;|=kMCiX&Jdg2 zo;&W*AbFXjtck?8HFaG`7#|1^Nx3KkAD?tK`WCcljklm5HPk5cI&E#eV*6_e=lz)- zEexo+e2lI-&ZeFrAbOzV`4@^?bNtzBf!339}_^g_-+3yNUv;lu>bT7#EH0h9^psUiVsEwFssHwMl9-w}$lbd59T?jRK zh2^wJ@W#uRl^1$FmS-oaE8AIsPT(Fj^*wH3MG=vSIuPC5QavDXy#RK7Xg9^34;{iNGXw&$eCDcp6$;(WLwh=jb8>&p!Q# z;hvSw57DI0cI!4BTqavy@)1A(68paJEep!D#>t;>#E#vqMN;wgf^;_dXAWn1q3fGl zVBG^2L?x6vm|yXj=WDxuWr3I;B(}p>?p?2`^*6$2v9b*hAtBD0v*)OmgxuhleQyBf zjpHq(IG)<#2(WY$b)XQYe3AXpLThLP{H554z|(tHwaHJ#^ueT+qb`-JA)(ObNolc| zoGf83xC+v|);XGn;J6DRZC$OYs8zf}&i+WPl9V`TH(;_{)HTEWZIn8?D$xHUu#~81 zXRt>Ozz2TdB;a+xjjwnN{b`L_BmIUH?-R`dbs#r2#UIy0JDz%av-(z>NI200rn`qd zIE&1r+lDmdn7-kXlCNxCzEk4GFb01L*s^{`az1Ru?^TZzX)&?%M({KIvKW`c^tt0M zZ!(4L?!hO{(mD%=K1aBE^M{Lns6A40 zV>sHI{Ti)}{}e61I@6-CgY9C)idq=EKA>~tI^~BlsnOvHHU^bpzCRz z21MzDa#q#M4qo!9Yh<(d)R-2-4GL=DCk{cW;gnMQX!;WsUGK)^YP}z4Y1Q|z_uSJo zQuWNLszYbM4fn2t-WD)OFxdWz5uFC}`Lw`1jU)|LEdH9J;$nsylcVSIb#Zb76P@-3 zw{b1i>VeyCY;?4T`1LUkyNpAX6ejg_0HHm8+{-+h=C2WC_r}J9H2w3}AXT5lkPQqY zG-fe;v+TOomyTGC{FD4j<_RGMQ3iTDqWcw-pp9}3#y$DqwyQkrLULNlETbvp1Nc0MhMgRjV> zeK)Q4zp5Z7$(hnDZkGAbke`fa@$TDTWMBc0KENOzjtjP<3dHL)Kg=r7@}@T4B(Nr-_wy?V24HK1D}+mv|jU?b)`~O)AMe$(ZqU`4~ek4Chi_0#j~$tr>dU zT9B?2=o_1|HDdI#DXD9LqpD5Ol;m!CY=G^)`rxQ?f#6EZ!>6n3qL_pMPab(6D*4i! zuwF7M-!I2;6)~AZC#4zLWP*)p71Nf6c=w{ktqy_eioRCNKbj40EZ=Zfx(=Hq2V$6- zs~l0|l^>?+*9K=y?#3t<(sTk>izh`HJXO`1`r!`AaWghD_UlO= zFXr*s90zj^cg3bHI_BF^o&P6%A1&e~g4^s-je&_zuZ^^8zpg8SC=WIzY%dn<%CL9I ztHq3y6m|GxkK~A^umZHt#Tn!E$4>SiO!C>iZ)f?11Oa3?H zfd1auz28-Su|V1Mb)CN+O>S{A;Ap&gxz&3vM*V`U{DYS1kY4AQJ`$oh@^H2sD4v}| zo6oYwa_NeTAl*hOy&FAAwPCn^p>pJ>SAg#2+cczspH`#xBu8fCJ}`FfA=@(uzai5g zsG{-ReCkyyN!qdv=XFF{nX13MZ;VTKp;1SvduHNuTZ|y4rsKzs_hfj!f#p-H%Ph7d zzRtHxl3(%5Bo>9vfy%{bHL}#@q6wHZ!37ZZHOQGZBh*K9C0s{zXLUO(o!zTmTf}S% z0r7^-3$~<+^IB!2uTf@3b?2bw$;6AfSvY?tdrTz5Xt&h7(gyUL3k#eFp&UctQ8bJB zrV^p@z)3<^tTMM$7j7*_8PmUtJi#GJdg^snB?VZI5hop!mr`hK6zzjtT6w)JFZpI* z@s_PDsZwK{ytCTAeGLbZS+5-<)ZetAv|N^oRO~+8mW-Ps9KC;X@$8BRImKv7LdKss z$?rZ~n(ur_GL~?W_;l!KNIZyi+g-EZ&6^v=zQuBPLHZu0d#>5!^||JYYmRRaA98Z$ z$2EQ>!6na|r1;Vhw#>fLkf#wx?DU=7p6*KOUkj%Mo_5mVa|_@^VX#upbdRW_AC20? zlM}j;ws6U0wHh=Wh(V7FzB+&B4z3+8hNW-^FSq8aEJcf}Frb=C66>!<--=vQyniZ) zE~=gb%5v&!7>IZA&Wq0sa`#u@n>odg$0H}cua>FJs5^@|p0p$|676ipPVeHh&ny%? zd1bVBNFq0nANcGhgd2jl)qJmxY$pAn$S<+!7I8Tig}ofCc9@m5^8vq;X9j#;xBBQ% z$1Z#5``(Wp<2egaA1%A(5)L~~r8f=V8d9VfJ_>ykYa1%@7EJC^-O%f$?{8O2E&g;C zY2NT#C1#sm=JET_5Mv9C>yP5r?6#YL9fq5A%BHVbBX4@3bO&N(uK6rpk__29a|`9H zysVGBBcwo7D9l6krQ2y9j0AsbByK|pL=>Njyp#FyLy1R*D?Fr~&<}x{%D*Y_LDr5&ply((hBVrfUT@{*QNKRVSbsu-ZYV6w4zs$johJ;o(OgtpsL4V zw$c|kE#OVus4DMW!K2kLg<)tB}dgz00uR$xbJ)mU_JlL7GXJ4x|vrLy_jZM2o z)H>6!T*Nxl>4@cQ!Yr4!AUuN^^XFj&i?ntQno|u zoYyMmX_}uIo9eGZCC0H>OY@^rTwWR62*_K-6*z-}kx93GY;@dXKd#}5|KL+on@s9_ zwKbzo6o+^|R=!po#lH%_fUdA+BRZ{JXXWQT*gS9?PgMya2`(54_-RdBMCKk5!49<^(zI{&dv3Us z_M$}qipqHx(+;HYC^bg6gf-g9Z_*^Mu>Z>sF7u!53-ec^h3%A|d)iI8_N+YDUljzh z*84hA%dNps9$Ee}vQ*aoKEfg=$^&<{PL_I{IIBf?>50PydI}78aRbb0Sh56eKj8>g z4=fpg#XN-=AI{o!O z_9MtTcC`W2Q$AOJx9m$vPKkB4R)fi#TkiN|-!`c!?_13icBCK6!955&&; zv_8$0(5>m^>}Ua54lFdJ0d2XTT80qpP- zoU(}_v~NSM103R?dQd_5J8L{}JnNAS8QK68*g?M@3&4hdY%11B1$>|;rbaxclBYT( zf{t27uWYhb+pO&R@veT^pZ{&&gg9uHDJz>jVX$#nY?XbPvZZ&HEdB{@(&~AjxNM33 zj)MJ>$0L$eC0!QSCry_vZ{L(J<0<%aQ7-XOG1#yY6G;32!`XXBHMxE5q97`Y0)iB& zp(!1tccLO7Akw5al}-pq?*x$|HPV$9mENWI-n;bPdrznVl6c?!`_4Gy+wSk4eeV5( zG5o_M@4MEVbIm!|e4eLnxM}m)2!LY^O#a5B2ecIb_68ii8q-ng5seR>3x3o9kk7wu z=AR$V<*4&q&ZtMxOQtJddo(h{oLH}6!KYTRa=V*PcG0C|~O#XM@`(wLa)6$+XGM0>1&>Vi(73_T_Mjtq2q*Lew`@38Jg`xeMM{9HT z0&e%{UIgWj0@wHu(qQNh)ZL_#&n55l-*LB=>^LtrSpBPYijT$d_nuR1ce-sD+Pc0J z)D7@F&DKTiAV~LP)rS*$H;t_sQ3=RMlePWup16;FsH+wb>qNz$uR!HWd|i#JcbN4> zlWT8);;*sze|HS(I}8?YcKm2Uv?dA<*Aj0(xb~uQ(~m?^MDY)U{4>5SYpT14vt){o z=_J)mX#CsiQn`qEK{GKW72~zN@1#DLZ2868*W*Y-&br#qhkKlhB1P=>XKvyqYg*#! z7v2nF(ykkMUnPzGx!S6g8h@95$7UQo+6p1%9{kO$zcH3883_py^LSHs)9>^x*hcYbw6 zrcsv$zS$S0R1?kngZjz&AT7N=7V95Yqn2h=pZE)5#c1zs3nKZGrp9v1fD#@e+>*V$ zqJbB^hTSVGV)hSBAJ?c|AL^#(=f4F1`|y|W?a|zPjNpd2{r4Vv5wob;_EDr zKhb_qhzB&X{_YES|HFBvU5T^`F6LtoSk#l>q?S-+wz%m{Tn%n-|emtx3@JhRliF!i;kgG71Q_;`Nh35WKUT zZh0f(9-?yhBSG%OUuUQoRSeW#InK~VCaN}Ut?BQ_h_)M2H-!9xCs}hMsIO=per3DM z23z#&3{0MaX4cI7n}ci809GnL^if*O%JD}1WkO}loaofpF10Ce8`6l*|HIEY%SYiU%03#aJwc1Q@BLgPzW{(p`HmfX+P>DGh4Z*2dN?I3n)H>X(Ymygi5-RPG+vUT@6(NnH< zG0JCPzsf&in^wxh+fIFs&m40pIT}bx|M}KBtXn1z;O!;Ws_w-V{b73I6MSw2Ju@)R zlqDD!>unWtiB|$uLUSix|9rnclCqen(y%2UhoM4dpMCf#+4!@HIlvBTxn%)=qq2m^ zwEi;_%34{ieIyuB>Ha?@eEMGS5b1{*gP#{{XXczF2prBDraQgvhb;NpbPC3nYqx4e zP_FF(DNJ`&+rR^6Fmw_C{1^O{2Alpp8;O6&0HthGTP7to+2MeB8@_)-id! zxMzF#cXzhu{a>rgQS`z`dRR?m{ykRYuk=&h2+i7-04JZb_3BsUhCaC*@1BDluHP2j z`%oS~J)>dt8SVMw^R4>HTQa0)|H%=7@s+=ycQ35;E6c6Ft(U{Cc0 z54tBM4Ka7PsNhG zyb+eCw*c`cQIZ^(1YMB(OU`gdR3gPf9Nry6D|jtmpQ_pe4!5t2_#@JZCb_*+6>)Km z`yc9}?;*{Nj5UI{M0hRb=%Bty^F1@Zq=y`3cM79=|7pno%o{)d^{jq$!D@F@=v1W_ zbkaS^0jj*n3M*H2{ZMv)?xJtk!Z`lE7Hp9pxk=R(Z>AlT zq)YvLt&w0Uj^~xMgdyMPTOo}q7gw02^A3mPm@%+={+MSX_{nAkGT3!3n%3qdk%Qu_AG>q^C)q{y zn$eZW{qpbur7ugF`Ohl{SAtUvs1xDMV z39Tbf=}Wu)>IBOWU|Ncf9u1K9B5YR);NywC z4%Ku#eFF?e^v1+1>l%YuJLC1ArP}Kji){?1w;4=Ny1*-5gwvOF4=d-7zCQq8Blc`a z%N0p$vhj#1<(|)pBWUBMzvt^UaqfQ*;g)nFy&_Xa+5vPm?;FXC1Z%*nkO6 zcMpHY>DFp7>uC|BV=|UK)ZtN8e0l=Cr(O1q7aCYwwUFcJ6=~1~)Eq`mqjoBixI%Nc z@lib?IwOwkgh^X7^TA4{MP_KefoAKoL&LNmGg&@@BJ!OEV=vPymDl{Ts$sWx&f%*M zRl;*E47>Fx-Pr6kK0n!S7D>Oc9J~CIchD#E6DT7Y_PI!{EjAt{3KuJEW5=Gx7g(#C z^cJN~&N-Np@k3Qih7Ki38Tto`I>S1Aswu9KK2wswX^)|uwPFriDieYI9T?n1LG8$x5R|^r46-4LYB zf|u1X&#UJu?+V`Re0%Z`)|!rXel!5l2?zOcEFJ-9h(!J?($l$F1dak+)WJ`=I}>Nn zF*>sV2o)<|V|nomlTFCvIwUfIZru|L(*CttC|N<5p!|WBI^K%CJlg6h)(ZXtA!ea7^*qll&l& z(;AiT&@qP_4=z&oYEvSSmr_fcgE1qI^%&hnDG>ch>pleh(JNP>~BHAZ$o)4QQMD+{f&4XetM3ZvazVw(*ATntm!MQE7Mm$EthMHL)|4hNg3ZH6*~9|?dxS?)wHGh3@+SE% zTUDb#C|Y7HStV9F!IF)T>lntoyGue8K=R@o7`YfgJG%4KJ{-sx5srks*H)p&WLyIq zjhlWtzrkE;qChzZv=GxVwxl7>7Y4z_WNU)*Od!?2hF4Z!Cyv$B9-^oAT@jOG4q1yq zgJy=c7Gp*HuQ8~3&%RUAXp`?N-sk1Wz0uijjYZq^+!h)c#pR?U?g=5^eDECcWvuaG zsDt#-wQVOC!2-2YMtza-(5#egexcYq+Ig;~(fl7ycW19=XYWk+FTA#4<5~0|3B13U z;#y?bS$r00rpca~L3*`@kL4Qr@Q8Eu7NE#fk<1Uw73r8Xa3&j!DW0ck0XWLMOjS9` zM~Tn4#^aFDn(pHOGgj!fWKlW`ntMOGM*mS&L@*&DnFf2iNUJ&V7*08Fs3IJdNHvS> zSL@HfzqBk`nENVAYh&zZ9tK36THt4N*lx$18El;MPiMu!~~rZs6v*Dx2xcO4ymLYcBh<#6A=y(V%!(6Sz5Znb=@uw%u*Q z(o%HNaQs(Fn;OMN2avX z#ww1?DxoilY0Ro11m$Mggp}Wx!edE;Tst<;1^bvV>aZZkvvWq(6KaOSgB6GF+=6Y5 zSFZL=Sx}w&IF4yRDDJS4sb9V!f@b;a92`LN3aKC$oGu^Emw&lJDDugb6f<_XT`xlG{E64_ay^Gy$v$`PaX~PD=j8)CRXmyzT(i@L-?V4mmu>}aC zWbPo)DoB04v6^xQec*@qe^n0S=&&%~t8s*@I5>rFtM6 zR*UZdY@EwjM!d3;OVgUuNWnbUK*Rn;NSp4_sqZ_|!vZI>Z3K?103FgX6a2MkkayZ( zVG*yr_iMBg`Ps2wjZ;5#r+eXhb|VrE`M zLPEO2S)00ySZ<8jlz2-{?!7M;dlA-wl)jRFYYW?486O3r5-vVSl6z;gc3ce2K*`;+ zvTT+9SJ1P_Uoe35oGHzSR(+x*$XboH5wLW{R0!o-Lj*Z>4IQNZ7{XQ%f}-hV`TNQ0B5P?Xxc<{YgBV31>eV@r8mDSD=iJKv!N0e3)KY ziSY&w)4(th+zyMMCwQVVS6Q&*(WD%ab|yW2jMvtx3_* z7b7ASZCnWw%(t$SZUPhJ_O}u`-YbmremrP~DSvFHzInT1ogqC+1ATMoq`)`EgZuP1 zUVy{CLD$SB6m0}dQvY2zf;$YY&Dytw5LDnfgn9I+3u=}NCf*WT|GXos*Ke15ubtV)63ZIebfAso)@tyz`U zYD&H{68d$6^vvVTzoe_HUt3rDl*TLS2b zAPW2*jP$Ql_+1apA-Qq05|#m?jI%0!_OA(+5;~D?tE@E`?gBti{$gd(Nv=Q{9HLjt zeR>~(Dmv~OI7{{FeYhssnvQaUM2oJw&}}>7s&vL~$yTRKs^s>ZEmBw;pEsoW1p?^4 zb5016^B!W$2Ww$77UIc2rbeW?HdNd->X&8?ba|WrY#KSIV-9E;-}4+m-cJs0}h`^V}TK;L~r`C`tJ|UYN}SH5K?WILRN=*`9O;J z6xN!7EWQLqC5f({-&cSwv4OVrCHtEo!{y>12JKehs0GE7LM6IA1etN|-FYiiWaQhv zt3T=mJ2vB$>fxt)Iz%S>Ab&ReY^SXY8Z6-!v zCgk!ThTA^~K~PL6&~e z&aD$_?~tWFW5uX4v9Q8rhP5ED5MozP?A~h2S4D0!V+Qn* z(g;fwbVUq7I#j0|R*YAQpFV9mr!kHLz{j zz$OR*r1RfjADc!G#oIWr+gE?$#5fzyWOjW;Ude6Z^j`w{mSICbL;9;G9(7%&<6+LV z>^Fu2%BRY3`9r1yyEa#&@L23!=7UxfAf>mLU%YjnFueTDoI~gsPQYCIPOH`ALB?*7 zJ2?CU7NSjIgA*BXZdM3|iHD#k{8FiB_$x%E_kPa#HQLg~VS%c1o_`>2vS#l}!tX^B zJsR!kKm{9Ld;w_>5Ka0N2E~`j1Z5DrladP{i!++y_(vet`>4#o00pF7gh9OE5 zmxk||Y?d9YqO%m2bL;a#_q(uYmbZXTjZuHM;j22oPD@b2%+x5`z?`yym zd=c(JnFt04durg~^clGDweNJ#IqbXO`FF}`aQ_18WMf(1I zV{COxwvB(I02o1+d!4u+gZ31PnK+9^6ut!QrHM3|B>$*?islAw>v7;Vr!V}n(LdT+*B$3WFWNOszExSxxsLUraz!FhV2v(itOGNPaA_85$Zv zyAimF^9Bfs76GZ-&jSd8Hd4%SP4$CIEvqjnGcId>(HACf^{N2|Z_o~R-7 z!q!s|?w9x32VQZP{>Gb)EdF#Kn|1W77*k&L3EmN!g_eY|YD@$>rb+|%a6mM?+=Y@-j~4j6x)W5x*?=Z(LhmTP`ZZgDm%iedj7_nkpV2h>{DOSkNLzt zwE;aKV$7n5yONi%cMx?J@V+}(uFMEo%kX?v_=R^6jO{bbpg5=B9GMoAIx!y%-Y+BF zHUxXwoWZ_F_|7;PPwqg`ujw2Z4Ldz}=}T~O;E|Fkx=5W%`|of0(O+-aKgJEAW9{d! zsQ`}Bm=0dmPkL=)N4u7~TJ_1#30N8NCT~P7d}DyEVevm^(IC=!7@TBqzgLwD(cE;x zl7oJe45P4q+WU{}Jnp;>8P!>`uSY^ajRp=wXC|GNi4CjCgMQ1Q2f_B-f z!3jgiJb0ZL&=q)Qb@)tH1qjNLq>O!M4F(;$8PW3aj-I>)^2DC8ip=dgRZk$g!*^ef zSzOuIETbl2Qy(zT5WDJAV$(iPbF)<^?sovl;?w*apgC{w!;9oz(|yL#0i2@7AE4Dg zL98L*P{h;!HwD+t5jGP}bV<&(L5h-dmh~B#pnk6yfD?5xw~!VfdMuRUywGs7dUpV% zF(U2DA6mZ4-c;3CW@y-FZT>vom_$>4p*Q1AJkw_{va~pS-R5&aeUGY+1!`T((oyyR zh=?V7uTuJg84Zq-X~}JXQM@|ls-uw%StrFCl`Va2!d1d(E60eU=|YyUvNm$5f|Mr8 z9amuYMUxUGHww9w7*qHt-MVP^qJ-Gz=ObdgoZ((2E57$N#vG(2R=DZRC9|TrUrazb z=vL!J`yTiumqgt6cbpZ*Po|Y$b_l0+i_dzVFk@NrmRlx8&Q3{KkwspkH71+z!4Si4 z>9}h+l#yetChSQ5^ZvDoLBjyqA0qE$vub8#Kr3T=9>t17NO@M+nl#Md?EN7&y0IsX>LIN1;e7i?eTOoS zysf(*So;wlB=RNgm@)Trl%kT-ykMn-xB;b=?n;kJm=*i6Iz;7phXKNb_Oj^f9JEv_0eaz2{vjHzBt0G*GSV!Z~CCsG*s z^tNp`Q``mHL~+zA_lj>DI!p{Fsd$p-cD5s{cKk@}vJP>cxF+{qvFQnldo^Za3D&G6 z^1<1$PVO;mh=$(Jj@Wg9BBUP)|FpjJmylsT(u-nQLW?reF|TLE0j> z4D+!1W9S;cuHx-d66q5ARopd4ELT;~>ajyb8@w({65jq1%MH*&d5%HpT?M{j0Mf}~ z4G$ua=x;oe!(U(POMS0~UG1`7PTUpp)HLauQR5w2qQgKkk+hy^{Ha6Cc814%6@Bxa?`mopMp&An zZJ8Y)9A_%0M2Tk_2zUNplXW2=k`v1=HY3mg9IbVdD?7e|B_5J^4UCcD2ZFW@XyfSo z=&bAA0HLIhv;#=%V`=^LSj@c|;C%8Zh;5+h!uwr|>|Otc2iK@DZ~?UQ9XDRk^D8 zf-5x;!i3^Wo!`5N51E!Lf^g48atp<#>#d|n#6*D7qA|Luv#gxs9Ady@l9;y`Ygtim zK{Z6xt9agmS)n?eT1J6n4sk#YCBskQXUCDr-Rn?>y|=3{9B|O2&uxG&SEf^*-)Px&ROZTSUL9?k_ z7lI<1wTMa+0Hm+i!H20$tA+zJ1=QXtC*xZKXC;PhT>R1yx2f(cwjrSHGx3u-vG2+S zc0Aha&@JM!NE+)N>X3$sRL|Zuhw!4$?=>t(T z;d3VX3+LFb`~yn<5c4am$dgdX0EVGu2J2n7D?dhSA6OqyOTr)7!auxQT z>G)HW&FNX-ar}P_7707Sbo>jO$v~D?v90_I9_5RpHY&h2%HQA0~WJzAA ze9}c~0cCD}BQw|v71uA`2NV-IL+EjbJMswftr9Qg{R>VJ_s-~jlz9ehNFJQxa&m@2 z%wwMypZdWL{XPnNRC!pLCXN7_z~->M@gU(~RVr>r%w2U~l~`k|5az`tV_(z+;7zM_ z#7+~#4z(5GIIl%69Q0L6(Z&^cn5Y2yfN%HIN`3`n=+Syxm+AI0*dJik`}j0`pcKX2 zH5UNF-T{vk`^dp*Pwq+;00%3a49n@mO8qt6<9o@32^5DZd~tVYoc#`856*g{yh_X+jJ^s}cFJOaK^6@~ToxP+=*FApYRTjVsT`#XoH9puO2ArRdR;?!y!yPyJt1&&h z1B;cXKK4q|Y?9hrT+`N@oi5t;19mI|wAU!4-vw%jz**lAYl}V{saIcf3A+a-?#xC9 zQDfAW9S(V*mw@J3S0Kycaxpphyo!GvpxZGib*iN0$AG_#Vqj(OJZ>J|Y`FAy*rJy;}E z%=RbT`-_%tri9x%2U=Bjw0I{%!8xnDDfF$LKu@U*5P*c$F1P^&Q`5HY_N0k|u5Tai z9}l5*LE-{EZlstanoCUUC#i`PZ#^zGWcd+%;P;jUPWo$fhB(Zn{`e2q4KnjH% zNucN2a*XA%Xgsj`N=4>JF!4!^Kwl4dryrbYVS9TWl4!b@U%WOxHfOlH?Dtthg_+Ba=Ck4@g11#W(6%PpKzR&n$yUY;dG< z>|y2d;MP(B46As0hrk}nWnrWSGbs$~J5W2oeLLI(((Q&z2GdrD3oi9I%?^z_d`@tWe1&BxC^Y1i0Ql-3^XinFji4*Fs4Nu8cjr7?s-Lqv zA8At@=m?0vsqn^Lt+mRiALqla8Me8J5sh zjfWEfN2ZS%woxBV**fXn;gj4{dFXU0Px6VVxciQDtrsXB zbl$$cdQ<@Vq+ypdvIb8yOG~o0R|$-HF}UauQQDdZeQ*JHMe97 zlHMF$gg3WKCrKKNubQ^JGXi%%c>^c({ow#o1D#(Qo|T zm1S#TV;lx>567}51n>0t-87A4J@S$BS=W5X%15!LI#>RL;^+IS{qx)ESE08JFqiD zg(&RI_oNfh<|>GI?e8`5C2S|*p;$%4`zcSI*6J?rl&&D&ZnV|=c4t8~_G8c$uVa#n z;c0`Y>=29${4xMCDIZ8>K&NN;Xv*wEG_}O)&HBDJw~f^fuXp~+8Ij!dE=1XvOMb#X z$34?^V1gyDJuMU%!;i%Ln7VKX%Qe>scuyJD2EZA8U(DJWno)^Kl>xeU#Rh3YBYYL& zye5OJ-0l4|Pw|#kC$}$0F~pg3HYSXE2dmcE2@3JUO(E|kCxQ4=? zt}}r@0z|ZlCuFLp9(A6qv zq67z$N8C5=nUQ*oNCv90>Pg{^F=5WV?=$o{M@Np`Odl@al}a-#&lXZ17V+PGrxNf% zn@&pm>F#0drLHujYo|2aYi>J@(bO<7W|%b!W#nfX>X7^^_QD^M@$(~?h~*`$56BGA zxSclCil@Ok&^hya=zwttjnqYQt1T|g8WQ%FP4ht0+Ka)th52L3k?dQzRRpP0?P+4( z)pU!8EJ&y`fsKSYOcyihaGEbG9**OJF7D;SRx@<9mf?5!BDojl#JwlwK)s7xSd@R0M$E-8t6rDiOVI?1~%$im&Cq3q{Y zU4M~u{wREn5+2!xwXdfutK894b#Q3;+C*YDa8S(uEl3e34ak?PvbF<^5 z6;F$wASnYAYK;fR@~if>>|c51s1xqi=I{6s0o2$8#x$!cieD`pd(5IZ#wnDwz49=yD`QH$->z;o~VSOG14 z;+Jh`2D;O((*kfvf)npxrWdNTvsFC(ow%KOC0IaT3voqXyoiak)dIR_k#(@ILmr)A zR>QFdCp}nm9B9{=wWVs=_*>U}m>6aX7AcP+eNtT$>QIihNVB0aOAw!Q>?EOsf1_-I zy?cX{(g!u%NXq?<=MN;jL^Zk*-<5~*Ft>skHF6Dh(=o3ITZcnXl?mT`asbPGzf$Be zAwV6<$Hscd(u9*F1fbcsh7aiUY3qu3V;+T)D5%5^F@C|hR;>KSyE9Z+Jj0V2X@A|s zq-*K%P_bE0A-f4#$IeMb#BxXq(u>yt_A7gN*S84(C?^EikYZ1|F7S=q;8cfX+dx60 z76uGq4R}RXemw&b@qMipQnY@@=E7SQdoh`cHn|UuDF1a+hhI?P4F3fvmr~p-w6&l? zUoT1ZRfI3~8r0`$xMX}rNWC8B3u0GCnwSI-U(d#Q8>zyxnz?{E1L5#OWht?;z+O}t zHwSCF8DZL-Uxj;X?aLXp;5VhUL{)^|%J_qK$Q=<`H_W((FEh-1?H!27FW1(gyg0>} z9>y~uvy-uU`Wx?C*a`TPhJ8S*(ffkkizVPJTq$H0f*6=TxSA}v$=FhZz2SxUR1V)y z<@}~FD+m(gf7Z-MS~B3Wl9!{KwTM`8ddn&K#Vgc)A8qT@L`*HTtL0U%ba4~tqpqHQ z!6ZjM@e*QR>%u^Wr3o@jY$WBoW|swwj9!^@y;y#ahkc6W4nfJ+!R$;8ix(1hiNFhX z@J%&R4VC*E*|SKhN6ArCNf2Y${d|;fr8IkHk?a!CEf)qLkJ|hpjt3K`5{|f{2c!Qv z!*?(mSt>bOsy9mQ6GU~N4+=$rqeVyqF|soZ1&30>)wLGx>at4&_`ayvp#~=|)Ma|) zsl#c_4D#r5CAD1Tq-0Z;S&d(B44x4S+tQw1G>k`Eyc6hsN`SCi#Xu5J+V$|FoqNwC zj+B^*@&uLa0NJoi<87EVa@FS369;B9O)rZlT|3TRGa&yNsYIsFL`Ikh%JoGY-0NUB7_D@_ zWr<@YTDd#1%C^@lfc?F^yT~d)I#Wj)1n?Ycs{eO%iLO{4`hMHxL^|JhU#Q!;;HtM` zj?wdMJp7~dAbR{?x=QkR&IS(tK2jOB_ZFvTjWgTX;;hE_*a%qZ^ItsOoztNX!Hq8I z*UM$kZF>cciO~jDUHT-r4GH#^;`x-mz8CR;EU|f0qWIYle{s`0`U@U}%k4L>)ao0X z1clEtZLn-f~hdtkTsE!g9r@S%TxAl`=tg#$&6XhX@Y&`gM97h`^w{vw-| z6Ytm^CaoO;g0Lp}zc^u_%T>sNUvlJ%6b6|`KUnJ`Zd>& zpgZMw;shf#e@ytt{o@OG$95_?hk7M;)lF^AYU5KX6W@n2$GsgxA$%?;fuigWgz6vI zzPM4F`P%^Ab;Lm5aB4;#0wwRd`{cUDOs2VU_MP1bN2990qXzyBKC8N@bDOOo>V(B# zR-?Itj`}J+3rw_5y}SS~w>&iZOVc^@e})V^87%mbvaTp&8(fz8s5q;~+O&^Hj*vi{ zb>`>4Lq+oh9c@)yUjE3Yrm-80YVG6(2x`pmKE>T#r4e7liM(Nnc&o_34FHq=4paDJ z++Vfwpfg6fdrO4wdedlj`Lc977ahob^t9t?`Zjl_&F2|%Hj5s2`fIP$)(6b~+=qe& ztz~SfEv?|R(QYBZg5UyK{#^F;3!Vd5eEXO#I_Hv}t1^jCA@#H6yZV z8YXvKEnaUjIZq^)xW`ug+FbY(8ylZU*mh;M;=Q$2GpUeN>9$V*gUl`Unm9bR@>9FU zCxab$`hC8lqHchG;5wAYb87vm#gGx>batRd1jp)!KcUTkV13l7Bn!hMpbP?N%{Z-; zoXtWf#J@cJ69$uUi6tjzh4B*xXY?fJzq$r~nd`SHlO6R%HL431G*-}`77dt!qTvE%QmiULu6j}B4`QBcKi-}Z728YQMf9lkGvl=ns*N~BFrs8dGp>&6v zTkIv=v`wVfBYgR^z=U?3ZKTL`a!hALr$Qrtu0$|U>gJuL<0xXAf1vB1TdqEQSbMwW z6(7H)i-Bv{l+DChy;z(-RhK5AK}Cfxp%G4`_fI$c6R!Sf*4<1=UZ3INe0;-xM#5+( zE&Fvc9EE}YQwtl0akr~1&FW?&X?=V7*e;7xUmA%P_-r@o1tDL{$6e|UV!gav_ zQlqE};8N>faOKRY!fwB2JEL2!Dbl6{J)t1=d0qF~>_f}Id)n-_EAug7i_)4&1HyWX zdRE;Usdq;fOh*_$q+<7Jq1qpYV1L`tEN`mbCq0TQD)q(P+*dzWq>N8PbDlvT2&YkA!~d6-!4gjV?WK=(ZO-%=v<@zPFkAHi z3rQzRe?Slw|F33cBN>xgJghgE$}!r+uj`yQm5x??=|`!2s94%iUs;>RJ2HzM^f(*( zH9`Gu~l%3!4XJC6*7r#5gGxa>@U1 zw(0-QJpDiZTbJ8C-J{oVdaVNGo7zzKVt|4-JwzZ^n$tnpzIj!g<{L>~b<0YjxsUwM zUsj{geV3~`&vgY)vB3p>JTXGsk7)>jE+a;6Ern5ORU04kaf~7~XV#8Mjw*>ss=8%< zL#*k+p`Jk(CZQN0$(#~AyePzTj~`q#+0{b-P~}&x9o_#C)+-h4oh+96_3Qk5(cUi) zp6*Um+Mm*K-~8afw^RiQef~Jq{LY5NR(@K>B~eRVDYB?;Wj0y$+2F#Vc11bdN0+L|M!QdMQG%Md)_F0nfZBdRcgA!j_n71Fw9 zHbMj6rgyH%$b9X~Bd>`OHp6gDHSZ^#5aDs;*pGPHZAML41T3dpgz2cRh_VI)tTc>{ z(MjvDpBUg)L#_gjy9La%F#-#8V8grrFp18+CYmBHSdc(s5C0t=M%9^-1dygGvh`yw z8;3%9Ge+%WC{!%1n$3xi1v*!U)Cor_%T;7d24|j6xLUh%hOe`QjqWY$G6>X^4SEhZ zE!+U=x}h$_*?l-bOwJ3eTDt){*>rMw{FL|_ue6@cagW1wcY!)3uVL&8joz)XH2gM~ zo(|VGjZ(?z(V)4T7w?WEtG-A#f9>3Fa7+_2B5d>SgAt>}49dpV^&Sp86g7^~F9q=! zn{M?gkb2?mVZ@3JJrHdPwBuj6iRYfSR=t*?QLAQxw^l&H&`McG+u%DVDv;_Ki3kS) zg$G=0(Wwej?_28(@Hh(QZAZ21OJAJ$YVt}hy`afTnB2!JBGI*9?-G|7a`0-wwV{Tv zBokmXD+uG|&*zcc?oMl&nZ8wPr=gU$Gg8}XIh06YU6&E<-y;5?xw}V3UNI9Ld?9V@ zxEyJ2D6&*eT{$V*J)D8EpJ`4PqO@>0i+Val`LXz^YbNFyk}o@VE(7)HfXAM%-Os>t z5WzefTjh8iKURlLF4xB~z|gFbms`=I#&wM?2HYF6h*v4YK~Ox&Z$2tatc;^nNSK+> z|1ADcg^OG$YEGL$7EIoAW^>?b{BY@gF`MId4C_5lCV>=xU!-4LZDZAUrR7wUjgEiLE;!G;==i((A<>*Ffq{#u<+wVG##`)pHc(S{nP9v`~I#(^*jYZTGtqJDO6T z9_-JNg;O#I-|E>P&_lV05(W!v*Q&tE=jV(RZEWzNKlC%i)z#jPA>JCT*Qhi_&Lrg0 zhw+p*+_pQgWG5;u&oa(9SyoWX6k2(SG}&ULL)}P0&287ZRoTFVfBkeh(he&Nko-{X zSB_ug^EBVOk!{4K&|_+dq_BahrYv-Y>}9%pLhs=8b*sC#)?A7z>wycUI#&l;4_37@ z*97ZBLygbh2fNMG>K%WPKOw9se)3W)w7BwY;RG{naa_W8`&*B}rbfBY@E7Z#me@VFBBxiwbyYI*ZmuoBaL2=yAzVif_~g4aL4A=d>AhVOrU{W` z2LL>3)dtBJIMYcwVvpUY#MUV0wY_4CrWk39^qS;@qt<@*CAYnF0 z_)AyU2-N0){*8yK!bZ4*F0ZK*x^h#5&bex{S=K~egHhPdhgzEW%y0^-=_#7T=yZZALcSC=(2kI&U^;Y51Dcx&_|@tceSqdr3E7$LX;vi<#x z$&V*4`E@#2OoaZkti6O-R;Jt`nv-v&`aiyx+oTQNtX7ZxGS;2`&CUrdndDFOmqY*m z`RlAkh6LLmnAg-G528idBlOo}dPObSW0bgKRPBbJ+%uY*F)8PDg*K8(0!1HLLIE^6V86hU%&M@y8VN;;!k>_ z1i+L4bHb06qiiRa6Sm>e)q&& z!2~k5L6H!RC-?5qJ@s?wD7c2~TBn2acm@fj*43^`uV(7j{W^(!b|6(Z&(*oH!Q<(y zY9F-?S72o+9{%5A7x(53W*25;3H`5=-E>#8beoAP zLZ*Qmd91iMmgQUj6+FJxmja0Jw3)LRx@7mOVbuq&4mr}aX<>NzkSsmDX*zBdI*9kP zTaV?*e>hLB6VQ(?m6lhO8ghH?fntC_VbQ!&RHz~hA_B_vyU<)8mQb3MZi+KYJgmIf2IwY0C*&D=G) z3ELX$-UPS_x?kYas)Fvu-#Gt}oaCezckSCt+IFPfOEn9et~=+sb@80fvu-YGPyikw zs-L{KIzsB5il)pngA`X=hr9*yUhC@@Wm>J7cyh(dvhaTKU)y$U_vEVO29HoFFgh?W zurqK)K`h{Sr~6>{_DT1iNjz(E)m8ysd0tS}#Lp5|+TLcutM?){^OxMr^a4hv=xUG0 zbyc4jOjo-ygtr|!cgwp|VM~+x&fL#i3R{h~8BSAvFH?2Zx}G<~Z2F>aw_PqL?q;{E zDO<6A{`ZEnS;1;T5-9?k)-3fqR(h)KjmL=-e=-=qgfl+)S!%IQxnjHD71Qdqj=B#w zm3;09aVsslEl{v{xnG5(%I8?t``x;auD&Z-Eo=8XWX~4Y>Lr^aJ~AXu<+)_lGx0=# z=kY9t`-?Vj@y$Da#44t$Z@#jPUZh8<)(hYT&!;L`1e>(o8o0D4{Fu4!{*UT|;^w<@ znxxyNX|Ns)aACZoStDn`zQ0IY`lz^21>5h#;oGW~Ewl;WHKj~^LR_59qm+VT1wOxP zL5x2OERSh0UqZhnaG?2`60Jdg1#A_POBXfRJU?8%{GZtL&h_&ShxJ_#>^f&1x%ARI zLD`8CX5I?7o7{C9LlZBAyL{Z_gF#orTRnbKg|F0 zE5820wfDgFh1U~-L%G1@oxI?O*0W=mU1x`E?)9*$oVctqbpA8RqNBSeH&rJj?c_es z^>UxWl`Rq`y}(O3uO0hjy}Em?XP)?}K06mf&U0?hZqIGb;J&`JYN`m<3(}DXmq*#d KCX5*W-vj`tS`(rG diff --git a/docs/_static/img/examples/08a_pcb_interposer_characterisation/pcb_propagation_delay_signals.jpg b/docs/_static/img/examples/08a_pcb_interposer_characterisation/pcb_propagation_delay_signals.jpg index ca78deb7f489eaec2ba2ba2ef36174b6e02cc262..54f98664b092da2f2f7d745d978176294aefb9ac 100644 GIT binary patch literal 51620 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

`WZX(7<# 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

IGhpRLmUb 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 diff --git a/docs/conf.py b/docs/conf.py index 430990ef..8ba03188 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -142,9 +142,11 @@ versionwarning_admonition_type = "tip" versionwarning_messages = { - 'latest': 'You are reading the "latest" pip-unreleased version of this documentation.' - ' See the stable branch for the latest release.', + "develop": 'You are reading the "develop" pip-unreleased version of this documentation.' + " See the ``stable`` branch for the stable release.", + "latest": 'You are reading the "latest" pip-unreleased version of this documentation.' + " See the ``stable`` branch for the latest release.", } -versionwarning_admonition_type = 'tip' -versionwarning_banner_title = 'Tip' +versionwarning_admonition_type = "tip" +versionwarning_banner_title = "Tip" versionwarning_body_selector = 'div[itemprop="articleBody"]' diff --git a/docs/examples.rst b/docs/examples.rst index 0d5687c1..06119942 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -18,6 +18,5 @@ Examples examples/05_quantum_integration_basics examples/06_component_codesign_basics examples/06a_analytical_mzm_model - examples/07_mixed_signal_photonic_cosimulation examples/08_basic_interconnection_modelling/08_basic_interconnection_modelling examples/08a_pcb_interposer_characterisation/08a_pcb_interposer_characterisation diff --git a/docs/examples/08_basic_interconnection_modelling/.png b/docs/examples/08_basic_interconnection_modelling/.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf5b3e98a87eb3ccacc40b2e5ffb9df0fff00bf GIT binary patch literal 56997 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

5Uf;@A1-M5<;X6Nj~_fysNkE28pI^XwI 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 -calibrated_open_data_file = ( - "measurement_data/calibration_kit_vna_cal_at_vna_ports/open_port1.s2p" +# We can plot this data, for example, still using `scikit-rf` as usual: + +stylely() +fig, axs = plt.subplots(2, 1, figsize=(8, 6)) +calibrated_vna_port1_open_network = rf_vna_self_calibration_data.data[ + 1 +].network.subnetwork([0]) # only looking at port 1 +calibrated_vna_port1_open_network.plot_s_re(ax=axs[0]) +calibrated_vna_port1_open_network.plot_s_im(ax=axs[1]) +axs[0].set_title("Real S11") +axs[1].set_title("Imaginary S11") +plt.tight_layout() +fig.savefig( + "../../_static/img/examples/08_basic_interconnection_modelling/skrf_plot_open.jpg" ) -calibrated_vna_port1_open_network = hfss_touchstone_2_network(calibrated_open_data_file) -calibrated_vna_port1_open_network.plot_s_db() + +# ![skrf_plot_open](../../_static/img/examples/08_basic_interconnection_modelling/skrf_plot_open.jpg) # This is the same data you should get if you connect the open calibration port from the calibration kit into any of the VNA ports. +# It is important to note we can also map the keys to the data index using the `Experiment` metadata. Normally, it would simply be easier to have keys map to the corresponding `MeasurementData` instance. However, when there are multiple parameters in a given set of measurements, it can be too much to reasonably index. Hence, it is in this case that a parameter index mapping can be useful. We can simply use the `parameters_list` we initially composed for our `Experiment` and `pandas` or whatever else. + +rf_vna_self_calibration_data.experiment.parameters + +# | | port | measurement | calibration | +# |---:|-------:|:--------------|:--------------| +# | 0 | 12 | through | vna_ports | +# | 1 | 1 | open | vna_ports | +# | 2 | 2 | open | vna_ports | +# | 3 | 1 | load | vna_ports | +# | 4 | 2 | load | vna_ports | +# | 5 | 1 | short | vna_ports | +# | 6 | 2 | short | vna_ports | + # ### A HW Calibrated Short Measurement -# Now, let's connect a short calibration port into one of the VNA ports. You can note that obviously the insertion loss doesn't change as this is just a port to port measurement. +# Now, let's connect a short calibration port into one of the VNA ports. You can note that obviously the insertion loss doesn't change as this is just a port to port measurement and should affect mainly the phase. +# +# We can, for example, also use the data directly without having to use any `piel` data structures. This can be useful if you want to use this functionality to create the metadata and directories but not interact with other functionality in the package. +# +# You might, for example, already have a stylesheet for your project and don't want to deviate from this when using `scikit-rf`. This unfortunately requires some tweaking as many of the `scikit-rf` plotting functionality may simply not look nice enough accordingly. You can also activate your styles, in our case `piel.visual.styles.activate_piel_styles` would activate `piel` styling functionality. -calibrated_short_data_file = ( - "measurement_data/calibration_kit_vna_cal_at_vna_ports/short_port1.s2p" -) +pv.style.activate_piel_styles() +fig, axs = plt.subplots(2, 1, figsize=(10, 6)) +calibrated_short_data_file = "data/rf_vna_self_calibration/5/short_port1.s2p" calibrated_vna_port1_short_network = hfss_touchstone_2_network( calibrated_short_data_file +).subnetwork([0]) # Only looking at port1 +calibrated_vna_port1_short_network.plot_s_re(ax=axs[0]) +calibrated_vna_port1_short_network.plot_s_im(ax=axs[1]) +axs[0].set_title("Real S11") +axs[1].set_title("Imaginary S11") +plt.tight_layout() +fig.savefig( + "../../_static/img/examples/08_basic_interconnection_modelling/skrf_plot_short.jpg" ) -calibrated_vna_port1_short_network.plot_s_db() + +# ![skrf_plot_open](../../_static/img/examples/08_basic_interconnection_modelling/skrf_plot_short.jpg) # ### A HW Calibrated Load Measurement +# We might also want to automate a lot of certain types of plots. `scikit-rf` already does a great job at this. In our case, we might want to give our plotting functions a set of `ExperimentalData` measurement collections with a given set of networks and metadata and be able to easily plot this according to the type of plot structure we want. `piel` provide a common set of examples that can help automate some of this for some functionality. + +fig, axs = pv.create_plot_containers(container_list=[1, 1, 2], axes_per_element=1) +plt.tight_layout() + calibrated_load_data_file = ( "measurement_data/calibration_kit_vna_cal_at_vna_ports/load_port1.s2p" ) @@ -328,6 +453,8 @@ def two_port_measurement_configuration(two_port_component, vna): # ### A HW Calibrated Through-Measurement # +# This measurement is particularly useful for determining the insertion loss through our component. In this case, we should expect zero insertion loss as it is a measurement on the through calibration reference. +# #

# drawing #
YOUR CAPTION
@@ -339,6 +466,17 @@ def two_port_measurement_configuration(two_port_component, vna): calibrated_vna_through_network = hfss_touchstone_2_network(calibrated_through_data_file) calibrated_vna_through_network.plot_s_db() +# #### Further Automatic Plotting Functionality +# +# Now, you might have `MeasurementCollection` or `ExperimentData` with many `s-parameters` data. It might just be easier to get the feel of all of them by automatically plotting them using some of the generic visualisation utilities in `piel` such these. You can also copy the source code through Github and modify your own function from them, and are most welcome to contribute/PR back into the project. + +pe.visual.plot_s_parameter_real_and_imaginary( + rf_vna_self_calibration_data.data, + figure_kwargs={"figsize": (10, 20)}, + path="../../_static/img/examples/08_basic_interconnection_modelling/s_parameter_re_im_vna_calibration_experiment_data_collection.jpg", +) + + # #### Identifying bad/shifting calibration # We identified we had another damaged calibration kit due to the way the reference plots were generated. @@ -393,7 +531,7 @@ def two_port_measurement_configuration(two_port_component, vna): ) self_dembedded_network.plot_s_db() -# Note that if the measurements are not approximately similar in terms of the magnitude of the responses, say because one SMA has been screwed tighter than in another measurement, then this type of network measuremnt de-embedding is inaccurate. This can be observed in the image below: +# Note that if the measurements are not approximately similar in terms of the magnitude of the responses, say because one SMA has been screwed tighter than in another measurement, then this type of network measurement de-embedding is inaccurate. This can be observed in the image below: software_dembeded_attenuator = skrf.network.de_embed( calvna_cables_through_network, calvna_cables_20db_attenuator_network @@ -464,13 +602,13 @@ def construct_calibration_networks(measurements_directory: piel.PathTypes): for one_port_reference_name_i in one_port_references: if one_port_reference_name_i in file: if "port1" in file: - raw_networks[one_port_reference_name_i][ - 1 - ] = hfss_touchstone_2_network(file_name) + raw_networks[one_port_reference_name_i][1] = ( + hfss_touchstone_2_network(file_name) + ) elif "port2" in file: - raw_networks[one_port_reference_name_i][ - 2 - ] = hfss_touchstone_2_network(file_name) + raw_networks[one_port_reference_name_i][2] = ( + hfss_touchstone_2_network(file_name) + ) # Now we need to construct the relevant reciprocal networks from a collection of two-port networks for one_port_reference_name_i in one_port_references: @@ -810,4 +948,6 @@ def construct_calibration_networks(measurements_directory: piel.PathTypes): calibrated_14111msm_network.plot_s_db() -# +748 * (((31 - 22) + (14)) / 30) + +748 * (20 / 31) diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/README.md index 7fbcc583..16476b98 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/README.md @@ -125,3 +125,2178 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: through_port_12 +- **components**: + - + - **name**: through_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: OUT + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/instance.json index 6381b60c..16b3c650 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "through_port_12", "components": [ { "name": "through_82052D", @@ -48,7 +48,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -84,5 +87,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/through_port1_port2.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/through_port1_port2.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/through_port1_port2.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/0/through_port1_port2.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/README.md index f31ae693..7ed4c233 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/instance.json index 5d28d4d4..afb4795a 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "open_port_1", "components": [ { "name": "load_82052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/open_port1.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/open_port1.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/open_port1.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/1/open_port1.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/README.md index 46e48a55..cf9aa179 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: open_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/instance.json index 6b92e253..a036a8e5 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "open_port_2", "components": [ { "name": "load_82052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/open_port2.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/open_port2.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/open_port2.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/2/open_port2.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/README.md index f31ae693..b1547d11 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_1 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/instance.json index 5d28d4d4..55ee3dbe 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "load_port_1", "components": [ { "name": "load_82052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/load_port1.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/load_port1.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/load_port1.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/3/load_port1.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/README.md index 46e48a55..5a3a085f 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: load_port_2 +- **components**: + - + - **name**: load_82052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/instance.json index 6b92e253..c409f495 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "load_port_2", "components": [ { "name": "load_82052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/load_port2.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/load_port2.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/load_port2.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/4/load_port2.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/README.md index 2a30a09f..cac3930b 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_1 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/instance.json index 4160735e..d46341c9 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "short_port_1", "components": [ { "name": "short_85052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/short_port1.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/short_port1.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/short_port1.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/5/short_port1.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/README.md index 1c7693cb..155966c7 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/README.md @@ -98,3 +98,1758 @@ - **date_configured**: None - **date_measured**: None - **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: None +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None + + +## Schema +- **name**: short_port_2 +- **components**: + - + - **name**: short_85052D + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: None + - **connector**: SMA_3.5mm + - **manifold**: 82052D + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: 85052D + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT2 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/instance.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/instance.json index deb57f98..4348a82f 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/instance.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/instance.json @@ -1,5 +1,5 @@ { - "name": null, + "name": "short_port_2", "components": [ { "name": "short_85052D", @@ -41,7 +41,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -64,5 +67,14 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } \ No newline at end of file diff --git a/docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/short_port2.s2p b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/short_port2.s2p similarity index 100% rename from docs/examples/08_basic_interconnection_modelling/measurement_data/calibration_kit_vna_cal_at_vna_ports/short_port2.s2p rename to docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/6/short_port2.s2p diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/README.md b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/README.md index 045f19bd..e27bc7ea 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/README.md +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/README.md @@ -4,14 +4,22 @@ ## Experiment Parameters - +| | port | measurement | calibration | +|---:|-------:|:--------------|:--------------| +| 0 | 12 | through | vna_ports | +| 1 | 1 | open | vna_ports | +| 2 | 2 | open | vna_ports | +| 3 | 1 | load | vna_ports | +| 4 | 2 | load | vna_ports | +| 5 | 1 | short | vna_ports | +| 6 | 2 | short | vna_ports | ## Schema - **name**: rf_vna_self_calibration - **goal**: None - **experiment_instances**: - - - **name**: None + - **name**: through_port_12 - **components**: - - **name**: through_82052D @@ -53,7 +61,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -78,9 +88,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: open_port_1 - **components**: - - **name**: load_82052D @@ -116,7 +133,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -132,9 +151,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: open_port_2 - **components**: - - **name**: load_82052D @@ -170,7 +196,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -186,9 +214,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: load_port_1 - **components**: - - **name**: load_82052D @@ -224,7 +259,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -240,9 +277,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: load_port_2 - **components**: - - **name**: load_82052D @@ -278,7 +322,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -294,9 +340,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: short_port_1 - **components**: - - **name**: short_85052D @@ -332,7 +385,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -348,9 +403,16 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None - - - **name**: None + - **name**: short_port_2 - **components**: - - **name**: short_85052D @@ -386,7 +448,9 @@ - **environment**: None - **manufacturer**: Agilent - **model**: E8364A - - **configuration**: None + - **configuration**: + - **calibration_setting_name**: bpl_vna_ports + - **measurement_configuration**: None - **connections**: - - **name**: None @@ -402,5 +466,40 @@ - **index**: None - **date_configured**: None - **date_measured**: None - - **measurement_configuration_list**: None -- **parameters_list**: None + - **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: None + - **sweep_points**: None + - **test_port_power_dBm**: None +- **parameters_list**: + - + - **port**: 12 + - **measurement**: through + - **calibration**: vna_ports + - + - **port**: 1 + - **measurement**: open + - **calibration**: vna_ports + - + - **port**: 2 + - **measurement**: open + - **calibration**: vna_ports + - + - **port**: 1 + - **measurement**: load + - **calibration**: vna_ports + - + - **port**: 2 + - **measurement**: load + - **calibration**: vna_ports + - + - **port**: 1 + - **measurement**: short + - **calibration**: vna_ports + - + - **port**: 2 + - **measurement**: short + - **calibration**: vna_ports diff --git a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/experiment.json b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/experiment.json index 8c23100e..0158583c 100644 --- a/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/experiment.json +++ b/docs/examples/08_basic_interconnection_modelling/data/rf_vna_self_calibration/experiment.json @@ -3,7 +3,7 @@ "goal": null, "experiment_instances": [ { - "name": null, + "name": "through_port_12", "components": [ { "name": "through_82052D", @@ -52,7 +52,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -88,10 +91,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "open_port_1", "components": [ { "name": "load_82052D", @@ -133,7 +145,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -156,10 +171,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "open_port_2", "components": [ { "name": "load_82052D", @@ -201,7 +225,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -224,10 +251,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "load_port_1", "components": [ { "name": "load_82052D", @@ -269,7 +305,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -292,10 +331,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "load_port_2", "components": [ { "name": "load_82052D", @@ -337,7 +385,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -360,10 +411,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "short_port_1", "components": [ { "name": "short_85052D", @@ -405,7 +465,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -428,10 +491,19 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] }, { - "name": null, + "name": "short_port_2", "components": [ { "name": "short_85052D", @@ -473,7 +545,10 @@ "environment": null, "manufacturer": "Agilent", "model": "E8364A", - "configuration": null + "configuration": { + "calibration_setting_name": "bpl_vna_ports", + "measurement_configuration": null + } } ], "connections": [ @@ -496,8 +571,53 @@ "index": null, "date_configured": null, "date_measured": null, - "measurement_configuration_list": null + "measurement_configuration_list": [ + { + "name": null, + "parent_directory": null, + "measurement_type": null, + "frequency_range_Hz": null, + "sweep_points": null, + "test_port_power_dBm": null + } + ] } ], - "parameters_list": null + "parameters_list": [ + { + "port": "12", + "measurement": "through", + "calibration": "vna_ports" + }, + { + "port": 1, + "measurement": "open", + "calibration": "vna_ports" + }, + { + "port": 2, + "measurement": "open", + "calibration": "vna_ports" + }, + { + "port": 1, + "measurement": "load", + "calibration": "vna_ports" + }, + { + "port": 2, + "measurement": "load", + "calibration": "vna_ports" + }, + { + "port": 1, + "measurement": "short", + "calibration": "vna_ports" + }, + { + "port": 2, + "measurement": "short", + "calibration": "vna_ports" + } + ] } \ No newline at end of file diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/0/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/0/README.md index 855e5eef..49184be9 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/0/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/0/README.md @@ -5559,6 +5559,70 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: calibration_1000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: + - **square_wave_frequency_Hz**: 1000000000.0 +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: calibration_1000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/1/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/1/README.md index 9c7c0de3..0a55ec4a 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/1/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/1/README.md @@ -5728,6 +5728,70 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: calibration_3000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: + - **square_wave_frequency_Hz**: 3000000000.0 +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: calibration_3000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/2/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/2/README.md index 566d35bc..3090e43a 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/2/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/2/README.md @@ -5562,6 +5562,70 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: calibration_5000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: + - **square_wave_frequency_Hz**: 5000000000.0 +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: calibration_5000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/3/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/3/README.md index b3c8ea93..b5128d79 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/3/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/calibration_multi_frequency_through_propagation_measurement/3/README.md @@ -5734,6 +5734,70 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: calibration_10000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: + - **square_wave_frequency_Hz**: 10000000000.0 +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: calibration_10000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/0/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/0/README.md index c1269dd2..319edef7 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/0/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/0/README.md @@ -5553,6 +5553,69 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: pcb_1000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: pcb_1000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/1/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/1/README.md index 4999a66a..e4ff67c8 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/1/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/1/README.md @@ -5722,6 +5722,69 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: pcb_3000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: pcb_3000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/2/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/2/README.md index 0e340637..916cfff7 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/2/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/2/README.md @@ -5553,6 +5553,69 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: pcb_5000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: pcb_5000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/3/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/3/README.md index d23e5816..c87bd185 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/3/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_multi_frequency_through_propagation_measurement/3/README.md @@ -5722,6 +5722,69 @@ e - **measurement_configuration_list**: None +## Schema +- **name**: pcb_10000000000.0_Hz +- **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: two_port_oscilloscope + - **ports**: + - + - **name**: CH1 + - **parent_component_name**: None + - **connections**: None + - **components**: + - + - **name**: power_splitter_1to2 + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: OUT2 + - **parent_component_name**: None + - **connections**: None + - **components**: +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: OUT1 + - **parent_component_name**: None + - + - **name**: CH1 + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT2 + - **parent_component_name**: None + - + - **name**: CH2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: None +- **date_configured**: None +- **date_measured**: None +- **measurement_configuration_list**: None + + ## Schema - **name**: pcb_10000000000.0_Hz - **components**: diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/README.md index 6faa324a..0ba48006 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/README.md @@ -28681,3 +28681,216 @@ e - 20000000000.0 - **sweep_points**: 6401 - **test_port_power_dBm**: -17.0 + + +## Schema +- **name**: load_through +- **components**: + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: None + - **measurement_configuration**: + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: + - 45000000.0 + - 20000000000.0 + - **sweep_points**: 6401 + - **test_port_power_dBm**: -17.0 + - + - **name**: blue_extension + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: RF + - **connector**: SMA + - **manifold**: None + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: RF + - **connector**: SMA + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: None + - **model**: 1251C + - **geometry**: + - **units**: None + - **core_cross_sectional_area_m2**: None + - **length_m**: 0.025 + - **sheath_cross_sectional_area_m2**: None + - **total_cross_sectional_area_m2**: None + - **heat_transfer**: None + - **material_specification**: None + - + - **name**: PCB3 + - **ports**: + - + - **name**: SIG14 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES1 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG1 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG2 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES2 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG3 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: OPEN + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SHORT + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG5 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES3 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG6 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG7 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES4 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG8 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: L50 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: GND + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - **connections**: + - **components**: + - **environment**: + - **temperature_K**: 273.0 + - **region**: None + - **manufacturer**: None + - **model**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT + - **parent_component_name**: None + - + - **name**: SIG6 + - **parent_component_name**: PCB3 + - + - **name**: None + - **ports**: + - + - **name**: SIG7 + - **parent_component_name**: PCB3 + - + - **name**: PORT2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: 0 +- **date_configured**: 2024-08-06 11:45:52.370350 +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: + - 45000000.0 + - 20000000000.0 + - **sweep_points**: 6401 + - **test_port_power_dBm**: -17.0 diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/instance.json b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/instance.json index 4a73d066..1a17eba6 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/instance.json +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/0/instance.json @@ -242,7 +242,7 @@ "goal": null, "parameters": null, "index": 0, - "date_configured": "2024-08-05 15:07:07.583799", + "date_configured": "2024-08-06 11:45:52.370350", "date_measured": null, "measurement_configuration_list": [ { diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/README.md index 6211793d..447d1a60 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/README.md @@ -28666,3 +28666,216 @@ e - 20000000000.0 - **sweep_points**: 6401 - **test_port_power_dBm**: -17.0 + + +## Schema +- **name**: throguh +- **components**: + - + - **name**: E8364A + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - + - **name**: PORT2 + - **parent_component_name**: None + - **domain**: RF + - **connector**: None + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: Agilent + - **model**: E8364A + - **configuration**: + - **calibration_setting_name**: None + - **measurement_configuration**: + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: + - 45000000.0 + - 20000000000.0 + - **sweep_points**: 6401 + - **test_port_power_dBm**: -17.0 + - + - **name**: blue_extension + - **ports**: + - + - **name**: IN + - **parent_component_name**: None + - **domain**: RF + - **connector**: SMA + - **manifold**: None + - + - **name**: OUT + - **parent_component_name**: None + - **domain**: RF + - **connector**: SMA + - **manifold**: None + - **connections**: None + - **components**: + - **environment**: None + - **manufacturer**: None + - **model**: 1251C + - **geometry**: + - **units**: None + - **core_cross_sectional_area_m2**: None + - **length_m**: 0.025 + - **sheath_cross_sectional_area_m2**: None + - **total_cross_sectional_area_m2**: None + - **heat_transfer**: None + - **material_specification**: None + - + - **name**: PCB3 + - **ports**: + - + - **name**: SIG14 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES1 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG1 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG2 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES2 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG3 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: OPEN + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SHORT + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG5 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES3 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG6 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG7 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: RES4 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: SIG8 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: L50 + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - + - **name**: GND + - **parent_component_name**: PCB3 + - **domain**: RF + - **connector**: smp_plug + - **manifold**: None + - **connections**: + - **components**: + - **environment**: + - **temperature_K**: 273.0 + - **region**: None + - **manufacturer**: None + - **model**: None +- **connections**: + - + - **name**: None + - **ports**: + - + - **name**: PORT1 + - **parent_component_name**: None + - + - **name**: IN + - **parent_component_name**: None + - + - **name**: None + - **ports**: + - + - **name**: OUT + - **parent_component_name**: None + - + - **name**: SIG1 + - **parent_component_name**: PCB3 + - + - **name**: None + - **ports**: + - + - **name**: SIG2 + - **parent_component_name**: PCB3 + - + - **name**: PORT2 + - **parent_component_name**: None +- **goal**: None +- **parameters**: None +- **index**: 1 +- **date_configured**: 2024-08-06 11:45:52.370437 +- **date_measured**: None +- **measurement_configuration_list**: + - + - **name**: None + - **parent_directory**: None + - **measurement_type**: None + - **frequency_range_Hz**: + - 45000000.0 + - 20000000000.0 + - **sweep_points**: 6401 + - **test_port_power_dBm**: -17.0 diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/instance.json b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/instance.json index d9625d63..7b1fb928 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/instance.json +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/1/instance.json @@ -242,7 +242,7 @@ "goal": null, "parameters": null, "index": 1, - "date_configured": "2024-08-05 15:07:07.583894", + "date_configured": "2024-08-06 11:45:52.370437", "date_measured": null, "measurement_configuration_list": [ { diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/README.md b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/README.md index 70d49359..f0819147 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/README.md +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/README.md @@ -209,7 +209,7 @@ - **goal**: None - **parameters**: None - **index**: 0 - - **date_configured**: 2024-08-05 15:07:07.583799 + - **date_configured**: 2024-08-06 11:45:52.370350 - **date_measured**: None - **measurement_configuration_list**: - @@ -420,7 +420,7 @@ - **goal**: None - **parameters**: None - **index**: 1 - - **date_configured**: 2024-08-05 15:07:07.583894 + - **date_configured**: 2024-08-06 11:45:52.370437 - **date_measured**: None - **measurement_configuration_list**: - diff --git a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/experiment.json b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/experiment.json index 53e324f9..e098d203 100644 --- a/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/experiment.json +++ b/docs/examples/08a_pcb_interposer_characterisation/data/pcb_rf_vna_measurement/experiment.json @@ -246,7 +246,7 @@ "goal": null, "parameters": null, "index": 0, - "date_configured": "2024-08-05 15:07:07.583799", + "date_configured": "2024-08-06 11:45:52.370350", "date_measured": null, "measurement_configuration_list": [ { @@ -506,7 +506,7 @@ "goal": null, "parameters": null, "index": 1, - "date_configured": "2024-08-05 15:07:07.583894", + "date_configured": "2024-08-06 11:45:52.370437", "date_measured": null, "measurement_configuration_list": [ { diff --git a/docs/examples/09a_model_lna.py b/docs/examples/09a_model_lna.py deleted file mode 100644 index 5847592c..00000000 --- a/docs/examples/09a_model_lna.py +++ /dev/null @@ -1,9 +0,0 @@ -# # Low-Noise Amplifier Design Principles - -# In this example, we will understand the design, modelling and performance requirements of a low-noise amplifier. We will specifically explore ultra-wideband ~180nm CMOS designs as these are more reproducible with open-source toolsets. -# -# We will first understand performance parameters of a set of ultra-wideband designs before using this as reference to model a similar design using open-source technology and `piel`. - -# - - diff --git a/docs/examples/09a_model_lna/09a_model_lna.py b/docs/examples/09a_model_lna/09a_model_lna.py new file mode 100644 index 00000000..439d2171 --- /dev/null +++ b/docs/examples/09a_model_lna/09a_model_lna.py @@ -0,0 +1,45 @@ +# # Low-Noise Amplifier Design Principles + +# In this example, we will understand the design, modelling and performance requirements of a low-noise amplifier. We will specifically explore ultra-wideband ~180nm CMOS designs as these are more reproducible with open-source toolsets and relevant to some photonics time-frames. +# +# We will first understand performance parameters of a set of ultra-wideband designs before using this as reference to model a similar design using open-source technology and `piel`. + +import piel.experimental as pe + +# ## Amplifier Characterization +# +# ### Basic DC Amplfier Context +# +# Not all RF LNAs have a bandwidth starting from DC as this is topology dependent (many don't in fact). It can be useful to illustrate some RF amplifier concepts to the radio-frequency terminology uninitated by understanding the relationships to the terminology to used to commonly describe DC amplifiers. +# +# For example, DC amplifiers such as non-inverting operational amplifier circuits, will have a DC transfer function which maps the gain from inputs to outputs. This gain is frequency dependent and becomes more important in RF regimes, and is characterized differently accordingly using a VNA for example. For now, let's demonstrate some basic DC sweep analysis of a DC amplifier using some `piel` utilities. + + +# + +# import pandas as pd + +# data = pd.read_csv("data/example_dc_response.csv") + +# data[data["driver_b_v_set"] == 1.6] +# data["driver_b_v_set"].unique() +# opp = data[["driver_b_v_set"]].drop_duplicates() +# for index, operating_point in opp.iterrows(): +# print(index) +# print(operating_point) +# a = data[(data[["driver_b_v_set"]] == operating_point).all(axis=1)] +# print(a) +# - + +dc_sweep = pe.extract_dc_sweeps_from_operating_point_csv( + file_path="data/example_dc_response.csv", + sourcemeter_voltage_current_signal_name_pairs=[ + ("driver_a_v", "driver_a_i"), + ("driver_b_v", "driver_b_i"), + ], + multimeter_signals=["measurement_a_v"], + unique_operating_point_columns=["driver_b_v_set"], +) + +pe.visual.plot_dc_sweep(dc_sweep=dc_sweep[0]) + +pe.visual.plot_dc_sweeps(dc_sweep_collection=dc_sweep) diff --git a/docs/examples/09a_model_lna/data/example_dc_response.csv b/docs/examples/09a_model_lna/data/example_dc_response.csv new file mode 100755 index 00000000..7d0fc3c6 --- /dev/null +++ b/docs/examples/09a_model_lna/data/example_dc_response.csv @@ -0,0 +1,283 @@ +,driver_a_v,driver_a_i,measurement_a_v,driver_b_v,driver_b_i,time,driver_a_v_set,driver_a_i_set,driver_b_v_set,driver_b_i_set,prefix,description +0,3.012607e-06,-2.818318e-10,-7.616581e-06,1.454413e-05,-8.160282e-09,2024_07_19_15_21_09_532461,0.0,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +1,0.01818342,-1.813108e-11,-7.835042e-06,1.6,0.02300043,2024_07_19_15_21_10_914614,0.01818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +2,0.03638881,-4.058819e-13,-7.743649e-06,1.599999,0.02299488,2024_07_19_15_21_11_640539,0.03636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +3,0.05456617,-2.240128e-12,0.006535728,1.599999,0.02299351,2024_07_19_15_21_12_370475,0.05454545454545454,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +4,0.07274436,-2.735073e-12,0.006548919,1.599998,0.02299212,2024_07_19_15_21_13_095595,0.07272727272727272,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +5,0.090931,-1.593756e-12,0.006552215,1.599997,0.0229896,2024_07_19_15_21_13_820625,0.09090909090909091,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +6,0.1091106,-2.013008e-12,0.006553101,1.599998,0.02298893,2024_07_19_15_21_14_545821,0.10909090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +7,0.1272949,-1.849975e-12,0.006553996,1.599999,0.02298728,2024_07_19_15_21_15_271640,0.12727272727272726,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +8,0.1454701,-1.962389e-13,0.006554216,1.599997,0.02298756,2024_07_19_15_21_15_996564,0.14545454545454545,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +9,0.1636498,2.627915e-12,0.006554831,1.599997,0.02298795,2024_07_19_15_21_16_727208,0.16363636363636364,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +10,0.1818392,-9.192778e-12,0.006555001,1.599998,0.0229874,2024_07_19_15_21_17_458346,0.18181818181818182,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +11,0.2000197,4.559478e-13,0.006554784,1.599998,0.0229866,2024_07_19_15_21_18_186394,0.19999999999999998,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +12,0.218208,-2.191022e-11,0.006555073,1.599997,0.02298621,2024_07_19_15_21_18_912784,0.21818181818181817,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +13,0.236359,5.149299e-12,0.006555555,1.599998,0.02298664,2024_07_19_15_21_19_637787,0.23636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +14,0.2545682,4.695093e-12,0.006555915,1.599999,0.02298685,2024_07_19_15_21_20_363140,0.2545454545454545,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +15,0.2727804,6.47111e-12,0.006555368,1.599997,0.02298651,2024_07_19_15_21_21_089733,0.2727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +16,0.2909265,-1.20539e-13,0.006555642,1.599998,0.02298532,2024_07_19_15_21_21_820153,0.2909090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +17,0.3091026,8.334463e-12,0.006555629,1.599998,0.02298562,2024_07_19_15_21_22_551224,0.3090909090909091,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +18,0.3272811,7.629888e-12,0.006555713,1.599997,0.02298543,2024_07_19_15_21_23_276226,0.32727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +19,0.3454614,6.663272e-12,0.006555083,1.599996,0.02298552,2024_07_19_15_21_24_000722,0.34545454545454546,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +20,0.3636751,5.947048e-12,0.006555774,1.599997,0.02298509,2024_07_19_15_21_24_725371,0.36363636363636365,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +21,0.3818208,1.135079e-11,0.006556209,1.599998,0.02298642,2024_07_19_15_21_25_453169,0.3818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +22,0.4000332,3.332511e-12,0.006556225,1.599998,0.02298683,2024_07_19_15_21_26_178171,0.39999999999999997,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +23,0.4182127,1.618388e-11,0.006556183,1.599997,0.02298424,2024_07_19_15_21_26_903224,0.41818181818181815,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +24,0.4363576,4.328255e-12,0.006556368,1.599999,0.02298692,2024_07_19_15_21_27_628398,0.43636363636363634,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +25,0.4545634,1.391874e-11,0.006556229,1.599997,0.02298395,2024_07_19_15_21_28_356748,0.45454545454545453,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +26,0.4727793,1.112953e-11,0.006555676,1.599998,0.02298506,2024_07_19_15_21_29_084053,0.4727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +27,0.4909251,9.900863e-12,0.006556254,1.599997,0.02298506,2024_07_19_15_21_29_809105,0.4909090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +28,0.5091065,9.009953e-12,0.006556099,1.599997,0.02298421,2024_07_19_15_21_30_538647,0.509090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +29,0.5272469,1.726114e-11,0.006556092,1.599995,0.0229864,2024_07_19_15_21_31_263316,0.5272727272727272,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +30,0.5454621,1.35286e-11,0.006556066,1.599996,0.02298683,2024_07_19_15_21_31_992680,0.5454545454545454,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +31,0.5636783,1.52231e-11,0.006556104,1.599998,0.02298492,2024_07_19_15_21_32_720918,0.5636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +32,0.5818132,1.698164e-11,0.006556413,1.599997,0.02298477,2024_07_19_15_21_33_445360,0.5818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +33,0.5999926,1.707481e-11,0.006556399,1.599998,0.02298521,2024_07_19_15_21_34_170615,0.6,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +34,0.6182076,3.946323e-11,0.006556486,1.599998,0.02298462,2024_07_19_15_21_34_895510,0.6181818181818182,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +35,0.6363559,3.355819e-12,0.006557066,1.599998,0.02298742,2024_07_19_15_21_35_620913,0.6363636363636364,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +36,0.6545642,1.910703e-11,0.006556634,1.599998,0.02298642,2024_07_19_15_21_36_346483,0.6545454545454545,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +37,0.6727474,1.968934e-11,0.006555849,1.599999,0.0229851,2024_07_19_15_21_37_071552,0.6727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +38,0.6909184,2.223981e-11,0.006556339,1.599998,0.02298462,2024_07_19_15_21_37_796396,0.6909090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +39,0.7091097,2.075494e-11,0.006556169,1.599999,0.02298537,2024_07_19_15_21_38_528531,0.7090909090909091,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +40,0.7272394,2.220487e-11,0.006556459,1.599999,0.02298408,2024_07_19_15_21_39_263333,0.7272727272727273,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +41,0.7454571,2.343935e-11,0.006556027,1.599998,0.02298438,2024_07_19_15_21_39_991650,0.7454545454545454,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +42,0.7636702,2.423127e-11,0.006556192,1.599998,0.02298584,2024_07_19_15_21_40_716528,0.7636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +43,0.7818189,2.685745e-11,0.006556409,1.6,0.02298463,2024_07_19_15_21_41_441130,0.7818181818181817,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +44,0.7999954,2.53784e-11,0.006556647,1.599998,0.02298424,2024_07_19_15_21_42_165556,0.7999999999999999,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +45,0.8182058,2.54774e-11,0.006556971,1.599999,0.02298295,2024_07_19_15_21_42_890665,0.8181818181818181,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +46,0.8363546,2.423127e-11,0.006556429,1.599998,0.0229847,2024_07_19_15_21_43_616140,0.8363636363636363,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +47,0.8545592,2.460395e-11,0.006556544,1.599999,0.02298363,2024_07_19_15_21_44_340825,0.8545454545454545,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +48,0.8727406,3.140736e-11,0.006556765,1.599998,0.02298408,2024_07_19_15_21_45_065481,0.8727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +49,0.89088,2.830717e-11,0.006557003,1.599998,0.0229827,2024_07_19_15_21_45_792993,0.8909090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +50,0.9091039,2.756203e-11,0.006557134,1.599999,0.02298275,2024_07_19_15_21_46_518867,0.9090909090909091,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +51,0.9272448,2.250767e-11,0.006557208,1.599997,0.02298173,2024_07_19_15_21_47_244519,0.9272727272727272,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +52,0.9454523,3.123868e-11,0.006556518,1.6,0.02298194,2024_07_19_15_21_47_969337,0.9454545454545454,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +53,0.9636363,3.570576e-11,0.006556541,1.599998,0.02298375,2024_07_19_15_21_48_694058,0.9636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +54,0.9818107,3.664804e-11,0.006556344,1.599998,0.02298197,2024_07_19_15_21_49_419396,0.9818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +55,0.9999928,3.164584e-11,0.006556649,1.599997,0.02298367,2024_07_19_15_21_50_146316,1.0,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +56,1.018199,4.128379e-11,0.006556603,1.599998,0.02298378,2024_07_19_15_21_50_876798,1.018181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +57,1.036355,3.620017e-11,0.006556609,1.599998,0.02298239,2024_07_19_15_21_51_607384,1.0363636363636364,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +58,1.05456,3.394918e-11,0.006556233,1.599998,0.0229828,2024_07_19_15_21_52_336065,1.0545454545454545,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +59,1.072739,3.86431e-11,0.006556896,1.599998,0.02298081,2024_07_19_15_21_53_064883,1.0727272727272728,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +60,1.090879,3.791022e-11,0.006556589,1.599997,0.02298232,2024_07_19_15_21_53_791510,1.0909090909090908,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +61,1.109091,3.087225e-11,0.006556213,1.599999,0.02298246,2024_07_19_15_21_54_516437,1.1090909090909091,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +62,1.127238,4.716428e-11,0.006555898,1.599997,0.02298061,2024_07_19_15_21_55_252210,1.1272727272727272,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +63,1.145447,3.850932e-11,0.006555222,1.599997,0.02298134,2024_07_19_15_21_55_979282,1.1454545454545455,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +64,1.163625,3.479257e-11,0.006556064,1.599997,0.02298158,2024_07_19_15_21_56_703677,1.1636363636363636,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +65,1.181779,3.795093e-11,0.006556796,1.599998,0.02298215,2024_07_19_15_21_57_428279,1.1818181818181817,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +66,1.199982,4.16735e-11,0.006556028,1.599997,0.02298301,2024_07_19_15_21_58_153643,1.2,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +67,1.218199,4.124888e-11,0.006556038,1.599998,0.0229806,2024_07_19_15_21_58_879128,1.218181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +68,1.236335,2.860381e-11,0.006555606,1.599998,0.02298196,2024_07_19_15_21_59_605579,1.2363636363636363,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +69,1.25452,3.561269e-11,0.006556147,1.599997,0.02298148,2024_07_19_15_22_00_330916,1.2545454545454544,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +70,1.272733,4.668731e-11,0.006555673,1.599998,0.02298182,2024_07_19_15_22_01_060073,1.2727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +71,1.290879,4.161532e-11,0.006555778,1.599998,0.02298072,2024_07_19_15_22_01_787008,1.2909090909090908,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +72,1.309092,4.128379e-11,0.006555604,1.599998,0.02298066,2024_07_19_15_22_02_512770,1.309090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +73,1.327233,4.598352e-11,0.00655611,1.599998,0.02298076,2024_07_19_15_22_03_238045,1.3272727272727272,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +74,1.34545,4.58381e-11,0.006555578,1.599999,0.02298076,2024_07_19_15_22_03_963201,1.3454545454545455,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +75,1.363618,4.363947e-11,0.006555249,1.599998,0.0229812,2024_07_19_15_22_04_690826,1.3636363636363635,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +76,1.381765,5.047386e-11,0.006556372,1.599996,0.02298062,2024_07_19_15_22_05_417511,1.3818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +77,1.39998,4.806583e-11,0.006555548,1.599999,0.02298199,2024_07_19_15_22_06_142374,1.4,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +78,1.418204,4.83392e-11,0.0065566,1.599998,0.02298157,2024_07_19_15_22_06_867461,1.4181818181818182,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +79,1.436339,4.968863e-11,0.006556148,1.599997,0.0229792,2024_07_19_15_22_07_593876,1.4363636363636363,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +80,1.454521,5.022375e-11,0.006554916,1.599997,0.02297964,2024_07_19_15_22_08_322395,1.4545454545454546,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +81,1.472728,4.872309e-11,0.006556333,1.599996,0.02298039,2024_07_19_15_22_09_047877,1.4727272727272727,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +82,1.490872,4.059162e-11,0.006555712,1.599997,0.02298159,2024_07_19_15_22_09_777973,1.4909090909090907,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +83,1.509083,6.499186e-11,0.006555961,1.599997,0.02298082,2024_07_19_15_22_10_508333,1.509090909090909,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +84,1.527229,4.583229e-11,0.006556565,1.599996,0.02298018,2024_07_19_15_22_11_233240,1.5272727272727271,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +85,1.545411,5.262014e-11,0.006556191,1.599997,0.02298139,2024_07_19_15_22_11_958222,1.5454545454545454,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +86,1.563629,5.356241e-11,0.006556773,1.599996,0.02298119,2024_07_19_15_22_12_683445,1.5636363636363635,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +87,1.581773,5.48595e-11,0.00655566,1.599997,0.02298012,2024_07_19_15_22_13_408505,1.5818181818181818,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +88,1.599976,5.336466e-11,0.006555959,1.599998,0.02297881,2024_07_19_15_22_14_137467,1.5999999999999999,,1.6,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +89,1.780729e-06,-4.699575e-11,0.006555267,1.700012,0.02550846,2024_07_19_15_22_14_866408,0.0,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +90,0.01818354,-2.08737e-11,0.007374254,1.700012,0.02550839,2024_07_19_15_22_15_593298,0.01818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +91,0.03638377,-1.943546e-11,0.007378929,1.700012,0.02550928,2024_07_19_15_22_16_324697,0.03636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +92,0.05456537,-1.400842e-11,0.00737976,1.700013,0.02551196,2024_07_19_15_22_17_055276,0.05454545454545454,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +93,0.07274593,-1.701309e-11,0.00738182,1.700013,0.02550903,2024_07_19_15_22_17_780182,0.07272727272727272,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +94,0.09093087,-1.495758e-11,0.007381209,1.700013,0.0255077,2024_07_19_15_22_18_504819,0.09090909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +95,0.1091081,-9.350014e-12,0.007380896,1.700014,0.02550705,2024_07_19_15_22_19_231234,0.10909090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +96,0.1272936,-7.911723e-12,0.007381149,1.700012,0.02550626,2024_07_19_15_22_19_956522,0.12727272727272726,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +97,0.1454702,-3.585229e-12,0.007380519,1.700012,0.02550705,2024_07_19_15_22_20_681872,0.14545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +98,0.1636509,-7.527402e-12,0.007380518,1.700013,0.02550774,2024_07_19_15_22_21_408862,0.16363636363636364,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +99,0.1818393,7.833685e-12,0.007380271,1.700014,0.02550366,2024_07_19_15_22_22_135731,0.18181818181818182,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +100,0.2000177,-1.040577e-12,0.007380599,1.700012,0.02550748,2024_07_19_15_22_22_860477,0.19999999999999998,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +101,0.2182076,-3.847266e-12,0.00738054,1.700013,0.02550711,2024_07_19_15_22_23_589431,0.21818181818181817,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +102,0.2363568,9.683556e-13,0.007380869,1.700012,0.02550543,2024_07_19_15_22_24_313722,0.23636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +103,0.2545664,-1.273492e-12,0.00738083,1.700013,0.02550647,2024_07_19_15_22_25_043379,0.2545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +104,0.272778,-3.36977e-12,0.007380523,1.700014,0.02550577,2024_07_19_15_22_25_769012,0.2727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +105,0.2909274,3.394889e-13,0.007380879,1.700012,0.02550625,2024_07_19_15_22_26_493844,0.2909090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +106,0.3091045,2.680328e-12,0.007380697,1.700013,0.02550872,2024_07_19_15_22_27_219972,0.3090909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +107,0.3272794,4.910542e-12,0.007381033,1.700013,0.0255072,2024_07_19_15_22_27_947813,0.32727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +108,0.3454625,4.10115e-12,0.007380677,1.700012,0.02550547,2024_07_19_15_22_28_673794,0.34545454545454546,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +109,0.3636766,5.254098e-12,0.007380624,1.700013,0.02550711,2024_07_19_15_22_29_400755,0.36363636363636365,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +110,0.3818153,5.784005e-12,0.007380132,1.700014,0.02550643,2024_07_19_15_22_30_125983,0.3818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +111,0.4000286,8.177251e-12,0.007380493,1.700012,0.02550446,2024_07_19_15_22_30_850519,0.39999999999999997,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +112,0.4182101,2.924916e-12,0.007379873,1.700013,0.02550481,2024_07_19_15_22_31_575797,0.41818181818181815,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +113,0.4363568,1.131585e-11,0.00738026,1.700011,0.02550576,2024_07_19_15_22_32_303321,0.43636363636363634,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +114,0.4545616,1.306857e-11,0.007381388,1.700013,0.02550476,2024_07_19_15_22_33_028017,0.45454545454545453,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +115,0.472776,1.123433e-11,0.007380617,1.700012,0.02550376,2024_07_19_15_22_33_753455,0.4727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +116,0.490923,9.947446e-12,0.007380092,1.700012,0.02550272,2024_07_19_15_22_34_481108,0.4909090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +117,0.5091069,1.391874e-11,0.007379247,1.700013,0.02550379,2024_07_19_15_22_35_206390,0.509090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +118,0.5272482,9.64465e-12,0.007379957,1.700013,0.02550459,2024_07_19_15_22_35_930894,0.5272727272727272,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +119,0.5454637,1.416913e-11,0.007381082,1.700011,0.02550125,2024_07_19_15_22_36_655684,0.5454545454545454,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +120,0.5636779,1.002898e-11,0.007379412,1.700012,0.0255035,2024_07_19_15_22_37_380191,0.5636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +121,0.5818135,1.691758e-11,0.007380355,1.700012,0.02550465,2024_07_19_15_22_38_109042,0.5818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +122,0.5999979,1.547349e-11,0.007380515,1.700011,0.02550388,2024_07_19_15_22_38_833660,0.6,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +123,0.6182066,1.38081e-11,0.007381542,1.700012,0.02550491,2024_07_19_15_22_39_559116,0.6181818181818182,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +124,0.6363543,1.860626e-11,0.007380277,1.700011,0.02550338,2024_07_19_15_22_40_284550,0.6363636363636364,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +125,0.6545671,1.614312e-11,0.007380459,1.700012,0.02550246,2024_07_19_15_22_41_010810,0.6545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +126,0.672757,1.579374e-11,0.007380052,1.700012,0.02550267,2024_07_19_15_22_41_737906,0.6727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +127,0.6909215,2.142459e-11,0.007380262,1.700013,0.02550261,2024_07_19_15_22_42_462653,0.6909090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +128,0.7091078,2.063848e-11,0.007380476,1.700013,0.02550247,2024_07_19_15_22_43_189376,0.7090909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +129,0.7272438,1.565982e-11,0.007379952,1.700012,0.02550267,2024_07_19_15_22_43_914172,0.7272727272727273,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +130,0.7454556,1.515322e-11,0.007380968,1.700012,0.02550291,2024_07_19_15_22_44_642676,0.7454545454545454,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +131,0.7636721,3.06454e-11,0.007379974,1.700013,0.02550399,2024_07_19_15_22_45_370934,0.7636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +132,0.7818204,2.221069e-11,0.007380648,1.700012,0.02550342,2024_07_19_15_22_46_095583,0.7818181818181817,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +133,0.7999957,2.239121e-11,0.007380781,1.700012,0.02550068,2024_07_19_15_22_46_820406,0.7999999999999999,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +134,0.8182044,1.73776e-11,0.007381203,1.700012,0.02550296,2024_07_19_15_22_47_545674,0.8181818181818181,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +135,0.8363529,2.677592e-11,0.007380429,1.700012,0.02550119,2024_07_19_15_22_48_272274,0.8363636363636363,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +136,0.8545617,2.763191e-11,0.007381097,1.700012,0.02550228,2024_07_19_15_22_48_998831,0.8545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +137,0.8727425,2.45166e-11,0.007380096,1.700013,0.02550156,2024_07_19_15_22_49_725831,0.8727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +138,0.8908839,2.470294e-11,0.007380444,1.700014,0.02550075,2024_07_19_15_22_50_450729,0.8909090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +139,0.9090999,2.477864e-11,0.007379804,1.700014,0.02549992,2024_07_19_15_22_51_178211,0.9090909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +140,0.9272458,3.308834e-11,0.007379691,1.700013,0.02550149,2024_07_19_15_22_51_908078,0.9272727272727272,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +141,0.9454526,2.600146e-11,0.007380393,1.700012,0.02550204,2024_07_19_15_22_52_638333,0.9454545454545454,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +142,0.9636397,2.445837e-11,0.00738055,1.700014,0.02550143,2024_07_19_15_22_53_362811,0.9636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +143,0.9818103,3.499615e-11,0.007381333,1.700012,0.02549973,2024_07_19_15_22_54_087216,0.9818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +144,0.9999908,3.635722e-11,0.007381655,1.700012,0.02550126,2024_07_19_15_22_54_812607,1.0,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +145,1.018199,3.939924e-11,0.0073802,1.700013,0.0255009,2024_07_19_15_22_55_538607,1.018181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +146,1.036355,3.128522e-11,0.00738047,1.700014,0.02550199,2024_07_19_15_22_56_266666,1.0363636363636364,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +147,1.054556,3.649099e-11,0.007380241,1.700013,0.02550092,2024_07_19_15_22_56_991970,1.0545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +148,1.072737,2.776001e-11,0.007379692,1.700013,0.02550189,2024_07_19_15_22_57_718241,1.0727272727272728,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +149,1.090888,3.170982e-11,0.007380121,1.700013,0.02550037,2024_07_19_15_22_58_443569,1.0909090909090908,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +150,1.109093,3.451338e-11,0.007381099,1.700012,0.0255029,2024_07_19_15_22_59_170995,1.1090909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +151,1.127241,3.740418e-11,0.007380937,1.700014,0.02549992,2024_07_19_15_22_59_895583,1.1272727272727272,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +152,1.145452,3.546729e-11,0.007380561,1.700011,0.02549995,2024_07_19_15_23_00_620514,1.1454545454545455,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +153,1.163629,3.465879e-11,0.007380401,1.700014,0.02549995,2024_07_19_15_23_01_347328,1.1636363636363636,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +154,1.181783,3.78695e-11,0.007380219,1.700012,0.02550014,2024_07_19_15_23_02_074816,1.1818181818181817,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +155,1.199987,3.820686e-11,0.007380766,1.700012,0.02550134,2024_07_19_15_23_02_801646,1.2,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +156,1.218198,3.623506e-11,0.00738001,1.700012,0.02549803,2024_07_19_15_23_03_526500,1.218181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +157,1.236333,4.11849e-11,0.007380498,1.700013,0.02549917,2024_07_19_15_23_04_254599,1.2363636363636363,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +158,1.254521,4.118491e-11,0.007380844,1.700013,0.02550015,2024_07_19_15_23_04_981090,1.2545454545454544,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +159,1.272732,4.969446e-11,0.007380724,1.700011,0.02549844,2024_07_19_15_23_05_710030,1.2727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +160,1.290882,4.206319e-11,0.007380001,1.700013,0.02550261,2024_07_19_15_23_06_434776,1.2909090909090908,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +161,1.309094,4.495981e-11,0.007380828,1.700013,0.02549981,2024_07_19_15_23_07_159355,1.309090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +162,1.327238,4.310435e-11,0.00738127,1.700013,0.02550114,2024_07_19_15_23_07_884212,1.3272727272727272,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +163,1.345447,4.171421e-11,0.007381223,1.700013,0.02550023,2024_07_19_15_23_08_611155,1.3454545454545455,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +164,1.363618,4.36162e-11,0.007380635,1.700012,0.02550016,2024_07_19_15_23_09_335900,1.3636363636363635,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +165,1.381766,4.570432e-11,0.007380455,1.700014,0.02550036,2024_07_19_15_23_10_060865,1.3818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +166,1.399976,4.505288e-11,0.007380419,1.700013,0.02549995,2024_07_19_15_23_10_787290,1.4,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +167,1.4182,4.735622e-11,0.007380635,1.700013,0.0254992,2024_07_19_15_23_11_511933,1.4181818181818182,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +168,1.436342,4.756561e-11,0.007381168,1.700011,0.02549921,2024_07_19_15_23_12_242144,1.4363636363636363,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +169,1.454519,5.214319e-11,0.007380047,1.700011,0.02549947,2024_07_19_15_23_12_967000,1.4545454545454546,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +170,1.472725,4.596607e-11,0.007381031,1.700012,0.02550028,2024_07_19_15_23_13_692025,1.4727272727272727,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +171,1.490875,4.819378e-11,0.007380859,1.700012,0.02549898,2024_07_19_15_23_14_416796,1.4909090909090907,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +172,1.509078,5.860533e-11,0.007380528,1.700013,0.02549822,2024_07_19_15_23_15_144105,1.509090909090909,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +173,1.527231,5.192798e-11,0.007380797,1.700014,0.02549882,2024_07_19_15_23_15_869143,1.5272727272727271,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +174,1.545415,4.981077e-11,0.007381043,1.700012,0.02549816,2024_07_19_15_23_16_594136,1.5454545454545454,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +175,1.563627,5.228279e-11,0.007381042,1.700012,0.02549978,2024_07_19_15_23_17_319010,1.5636363636363635,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +176,1.581774,5.451633e-11,0.007380737,1.700013,0.02549881,2024_07_19_15_23_18_043356,1.5818181818181818,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +177,1.599978,5.349843e-11,0.007381202,1.700014,0.02549765,2024_07_19_15_23_18_771896,1.5999999999999999,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +178,1.61815,5.475479e-11,0.007381593,1.700012,0.02549837,2024_07_19_15_23_19_497411,1.6181818181818182,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +179,1.63633,5.52492e-11,0.007380081,1.700014,0.0254989,2024_07_19_15_23_20_222070,1.6363636363636362,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +180,1.654509,5.534227e-11,0.007380989,1.700013,0.02549657,2024_07_19_15_23_20_946966,1.6545454545454545,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +181,1.672728,5.307965e-11,0.00738117,1.700012,0.02549961,2024_07_19_15_23_21_671767,1.6727272727272726,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +182,1.690874,5.671496e-11,0.007380786,1.700013,0.02549833,2024_07_19_15_23_22_396510,1.690909090909091,,1.7000000000000002,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +183,2.242679e-06,-4.174922e-11,0.00738134,1.800001,0.02813896,2024_07_19_15_23_23_127073,0.0,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +184,0.01818348,-3.185588e-11,0.008230864,1.800005,0.02813831,2024_07_19_15_23_23_856656,0.01818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +185,0.03638973,-1.892882e-11,0.008236628,1.800004,0.02813741,2024_07_19_15_23_24_584458,0.03636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +186,0.05456617,-1.673357e-11,0.008236564,1.800004,0.02813683,2024_07_19_15_23_25_311041,0.05454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +187,0.07274555,-1.011279e-11,0.008238027,1.800003,0.02813875,2024_07_19_15_23_26_039443,0.07272727272727272,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +188,0.09092838,-1.596494e-11,0.008237852,1.800003,0.02813597,2024_07_19_15_23_26_764577,0.09090909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +189,0.1091048,-1.083486e-11,0.008239018,1.800003,0.02813481,2024_07_19_15_23_27_489674,0.10909090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +190,0.1272921,-9.227716e-12,0.008238894,1.800004,0.02813784,2024_07_19_15_23_28_214517,0.12727272727272726,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +191,0.1454738,-7.195491e-12,0.008238905,1.800003,0.02813702,2024_07_19_15_23_28_940695,0.14545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +192,0.1636528,-8.948207e-12,0.008239087,1.800003,0.02813572,2024_07_19_15_23_29_667987,0.16363636363636364,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +193,0.1818393,-5.105024e-12,0.00823927,1.800004,0.02813596,2024_07_19_15_23_30_393058,0.18181818181818182,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +194,0.2000147,-4.645017e-12,0.008239194,1.800004,0.02813851,2024_07_19_15_23_31_118228,0.19999999999999998,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +195,0.2182092,-1.424888e-12,0.008239232,1.800003,0.02813393,2024_07_19_15_23_31_846915,0.21818181818181817,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +196,0.2363567,-3.794822e-12,0.008238107,1.800002,0.02813276,2024_07_19_15_23_32_576748,0.23636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +197,0.2545698,7.222277e-12,0.008238261,1.800003,0.02813807,2024_07_19_15_23_33_302096,0.2545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +198,0.2727792,-3.084442e-12,0.008239218,1.800002,0.02813825,2024_07_19_15_23_34_027510,0.2727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +199,0.2909241,9.392626e-13,0.008239618,1.800002,0.0281367,2024_07_19_15_23_34_752770,0.2909090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +200,0.3091049,-2.176041e-12,0.008240083,1.800004,0.02813773,2024_07_19_15_23_35_478689,0.3090909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +201,0.3272792,-6.969997e-13,0.00823988,1.800004,0.02814109,2024_07_19_15_23_36_203345,0.32727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +202,0.3454604,4.578645e-12,0.008240184,1.800003,0.02813761,2024_07_19_15_23_36_928469,0.34545454545454546,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +203,0.363673,4.176843e-12,0.008239715,1.800004,0.0281377,2024_07_19_15_23_37_657312,0.36363636363636365,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +204,0.3818192,8.57904e-12,0.008239407,1.800002,0.02813781,2024_07_19_15_23_38_382034,0.3818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +205,0.4000277,4.019634e-12,0.008240331,1.800003,0.0281361,2024_07_19_15_23_39_110728,0.39999999999999997,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +206,0.4182122,8.421821e-12,0.008239851,1.800004,0.02813402,2024_07_19_15_23_39_836684,0.41818181818181815,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +207,0.4363571,7.315456e-12,0.008239482,1.800002,0.02813287,2024_07_19_15_23_40_564450,0.43636363636363634,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +208,0.4545636,4.706747e-12,0.008239569,1.800002,0.02813316,2024_07_19_15_23_41_289844,0.45454545454545453,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +209,0.4727795,9.67377e-12,0.008239387,1.800003,0.02813404,2024_07_19_15_23_42_015318,0.4727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +210,0.4909216,9.32439e-12,0.008239542,1.800004,0.0281336,2024_07_19_15_23_42_741227,0.4909090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +211,0.5091028,7.894572e-11,0.008240057,1.800004,0.02813061,2024_07_19_15_23_43_468787,0.509090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +212,0.5272457,1.433217e-11,0.008238578,1.800003,0.02812972,2024_07_19_15_23_44_197073,0.5272727272727272,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +213,0.5454635,1.314428e-11,0.008237572,1.800002,0.0281305,2024_07_19_15_23_44_923195,0.5454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +214,0.563677,1.288225e-11,0.008237317,1.800004,0.02812653,2024_07_19_15_23_45_648243,0.5636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +215,0.5818167,1.298706e-11,0.008237566,1.800004,0.02812899,2024_07_19_15_23_46_380453,0.5818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +216,0.5999942,1.41109e-11,0.008237039,1.800003,0.02812906,2024_07_19_15_23_47_105093,0.6,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +217,0.6182057,1.528132e-11,0.008238825,1.800004,0.02812828,2024_07_19_15_23_47_829868,0.6181818181818182,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +218,0.6363521,1.435547e-11,0.008237872,1.800003,0.02812876,2024_07_19_15_23_48_554745,0.6363636363636364,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +219,0.6545635,2.401582e-11,0.008237902,1.800003,0.02812559,2024_07_19_15_23_49_279747,0.6545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +220,0.6727436,1.946806e-11,0.008238087,1.800002,0.02812381,2024_07_19_15_23_50_005588,0.6727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +221,0.6909168,1.67953e-11,0.008237488,1.800004,0.02812576,2024_07_19_15_23_50_735269,0.6909090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +222,0.7091061,1.676037e-11,0.008237482,1.800002,0.02812522,2024_07_19_15_23_51_462489,0.7090909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +223,0.7272403,1.975338e-11,0.008238037,1.800003,0.02812454,2024_07_19_15_23_52_191740,0.7272727272727273,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +224,0.7454588,1.83384e-11,0.008237201,1.800003,0.02812672,2024_07_19_15_23_52_920356,0.7454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +225,0.7636689,2.112762e-11,0.008237774,1.800003,0.02812405,2024_07_19_15_23_53_644956,0.7636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +226,0.7818154,1.890905e-11,0.008237913,1.800004,0.02812371,2024_07_19_15_23_54_369683,0.7818181818181817,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +227,0.799995,2.21117e-11,0.008238853,1.800004,0.02812366,2024_07_19_15_23_55_094382,0.7999999999999999,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +228,0.8182032,2.10461e-11,0.008238268,1.800003,0.02812351,2024_07_19_15_23_55_819294,0.8181818181818181,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +229,0.8363512,2.649642e-11,0.008238207,1.800003,0.02811815,2024_07_19_15_23_56_546431,0.8363636363636363,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +230,0.8545573,2.123825e-11,0.008237877,1.800003,0.02812038,2024_07_19_15_23_57_274539,0.8545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +231,0.8727308,3.040692e-11,0.008238936,1.800004,0.02811911,2024_07_19_15_23_58_003349,0.8727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +232,0.8908848,2.465053e-11,0.008237796,1.800002,0.02811871,2024_07_19_15_23_58_728590,0.8909090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +233,0.9091046,2.471458e-11,0.008237119,1.800003,0.02812062,2024_07_19_15_23_59_457603,0.9090909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +234,0.9272466,2.543081e-11,0.008237431,1.800005,0.02812246,2024_07_19_15_24_00_183344,0.9272727272727272,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +235,0.9454567,2.772507e-11,0.008236501,1.800003,0.02812148,2024_07_19_15_24_00_912872,0.9454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +236,0.9636377,3.027896e-11,0.008237405,1.800002,0.02812304,2024_07_19_15_24_01_637947,0.9636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +237,0.9818105,2.566373e-11,0.008236899,1.800003,0.02812231,2024_07_19_15_24_02_362514,0.9818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +238,0.9999927,3.172727e-11,0.008236643,1.800003,0.02812073,2024_07_19_15_24_03_087515,1.0,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +239,1.018194,3.226239e-11,0.008237137,1.800003,0.02811918,2024_07_19_15_24_03_813706,1.018181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +240,1.036355,2.347429e-11,0.00823721,1.800002,0.02811823,2024_07_19_15_24_04_538847,1.0363636363636364,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +241,1.054559,3.073846e-11,0.008236563,1.800004,0.02811736,2024_07_19_15_24_05_263810,1.0545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +242,1.07274,3.329773e-11,0.008236943,1.800003,0.02811804,2024_07_19_15_24_05_988925,1.0727272727272728,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +243,1.090886,3.294874e-11,0.008236667,1.800004,0.02811764,2024_07_19_15_24_06_713777,1.0909090909090908,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +244,1.109093,3.180289e-11,0.0082361,1.800003,0.02811509,2024_07_19_15_24_07_441904,1.1090909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +245,1.12724,3.472859e-11,0.008236542,1.800002,0.02811166,2024_07_19_15_24_08_166436,1.1272727272727272,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +246,1.145447,3.496706e-11,0.008235572,1.800004,0.02811475,2024_07_19_15_24_08_891416,1.1454545454545455,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +247,1.163632,3.527534e-11,0.008236357,1.800004,0.02811594,2024_07_19_15_24_09_616253,1.1636363636363636,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +248,1.181778,3.279751e-11,0.008236312,1.800004,0.02811228,2024_07_19_15_24_10_341233,1.1818181818181817,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +249,1.199986,3.77299e-11,0.008236254,1.800002,0.02811547,2024_07_19_15_24_11_066522,1.2,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +250,1.218193,3.742163e-11,0.008235892,1.800003,0.02811332,2024_07_19_15_24_11_792658,1.218181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +251,1.236335,3.750888e-11,0.008236255,1.800002,0.02811448,2024_07_19_15_24_12_517452,1.2363636363636363,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +252,1.25452,3.62467e-11,0.008236632,1.800004,0.02811443,2024_07_19_15_24_13_245791,1.2545454545454544,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +253,1.272732,4.216207e-11,0.008237228,1.800002,0.02811498,2024_07_19_15_24_13_970545,1.2727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +254,1.290884,4.159207e-11,0.008237383,1.800002,0.02811748,2024_07_19_15_24_14_695718,1.2909090909090908,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +255,1.309093,4.335447e-11,0.008236521,1.800004,0.0281165,2024_07_19_15_24_15_420564,1.309090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +256,1.327234,4.141175e-11,0.008236897,1.800004,0.02811393,2024_07_19_15_24_16_145531,1.3272727272727272,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +257,1.345447,4.286006e-11,0.00823679,1.800003,0.02811101,2024_07_19_15_24_16_870592,1.3454545454545455,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +258,1.36362,4.953159e-11,0.008235513,1.800004,0.02811082,2024_07_19_15_24_17_597871,1.3636363636363635,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +259,1.381768,4.015538e-11,0.008235894,1.800004,0.02811207,2024_07_19_15_24_18_323356,1.3818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +260,1.399979,4.437235e-11,0.008236186,1.800003,0.02811103,2024_07_19_15_24_19_048106,1.4,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +261,1.418201,4.82694e-11,0.008235447,1.800005,0.02811372,2024_07_19_15_24_19_780444,1.4181818181818182,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +262,1.43634,4.626271e-11,0.008235311,1.800003,0.02811072,2024_07_19_15_24_20_504976,1.4363636363636363,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +263,1.454518,4.917096e-11,0.008236354,1.800004,0.02811272,2024_07_19_15_24_21_229772,1.4545454545454546,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +264,1.47273,4.737367e-11,0.008235802,1.800004,0.02811357,2024_07_19_15_24_21_959641,1.4727272727272727,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +265,1.490873,4.575667e-11,0.008235639,1.800002,0.02811407,2024_07_19_15_24_22_685028,1.4909090909090907,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +266,1.509081,4.877544e-11,0.008237019,1.800005,0.02811268,2024_07_19_15_24_23_412831,1.509090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +267,1.52723,5.168369e-11,0.008237276,1.800004,0.02811255,2024_07_19_15_24_24_138099,1.5272727272727271,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +268,1.545412,5.011323e-11,0.008236502,1.800004,0.02811158,2024_07_19_15_24_24_863453,1.5454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +269,1.563628,6.799317e-11,0.008236295,1.800004,0.02811195,2024_07_19_15_24_25_588494,1.5636363636363635,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +270,1.581774,5.232932e-11,0.008236164,1.800004,0.02811365,2024_07_19_15_24_26_313478,1.5818181818181818,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +271,1.599979,5.642995e-11,0.008235792,1.800004,0.02811147,2024_07_19_15_24_27_042492,1.5999999999999999,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +272,1.618152,5.17593e-11,0.008236042,1.800004,0.02811022,2024_07_19_15_24_27_766724,1.6181818181818182,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +273,1.63633,5.699996e-11,0.008236642,1.800003,0.02810905,2024_07_19_15_24_28_494795,1.6363636363636362,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +274,1.654509,5.549926e-11,0.008236437,1.800003,0.0281103,2024_07_19_15_24_29_219850,1.6545454545454545,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +275,1.672731,5.540042e-11,0.008236387,1.800003,0.02810777,2024_07_19_15_24_29_945230,1.6727272727272726,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +276,1.690875,5.588901e-11,0.008236267,1.800003,0.02811165,2024_07_19_15_24_30_669906,1.690909090909091,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +277,1.709092,5.572614e-11,0.008235719,1.800002,0.02811037,2024_07_19_15_24_31_396899,1.709090909090909,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +278,1.727231,5.631362e-11,0.008235931,1.800004,0.02810886,2024_07_19_15_24_32_127702,1.7272727272727273,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +279,1.745406,5.784918e-11,0.008235729,1.800003,0.02811043,2024_07_19_15_24_32_857319,1.7454545454545454,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +280,1.763616,5.918114e-11,0.00823631,1.800001,0.02811033,2024_07_19_15_24_33_585510,1.7636363636363634,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. +281,1.781759,6.050146e-11,0.008236931,1.800004,0.02810876,2024_07_19_15_24_34_310603,1.7818181818181817,,1.8,,sweep,TSMC_01_PCB_A_inverter_1v8_3_DC_tests. diff --git a/docs/sections/experimental/equipment.rst b/docs/sections/experimental/equipment.rst index 0b588b87..02ad193b 100644 --- a/docs/sections/experimental/equipment.rst +++ b/docs/sections/experimental/equipment.rst @@ -1,3 +1,5 @@ +The goal of `piel` is to be completely device agnostic. As long as a device data can be translated into one of the `piel` data types, then all the available functionality and integrations for that standard data type becomes possible through ``piel``. + It is common, when using equipment, to save data in different file formats depending on what the equipment is able to export. It is also very common in experimental work to convert the data between the toolsets. In order to also be able to use this data structure in system modelling functionality, this also means we need to convert this data into a standard set of data types that can be used. If it shares a standard format with the simulation data, it is quite easy to extend or understand further than the experimental data provided. Some of the equipment available so far that has required some extra functionality to be written: diff --git a/docs/sections/experimental/index.rst b/docs/sections/experimental/index.rst index 00122a9f..e28bfe84 100644 --- a/docs/sections/experimental/index.rst +++ b/docs/sections/experimental/index.rst @@ -1,14 +1,19 @@ -Physical Experimental Relationships -=================================== +Experiment Integration Management +================================= In order to understand the relationship of simulation modelling techniques to the physical reality, it is also important to have some appreciation of how to set up an actual experiment for determining some common functionality of real devices. We will explore implementations in a very generic form with some examples, however experimental reality can be disgusting and a source of multiple frustrations that can traumatise and nauseate you for a long time. Be wary when entering the lab and hopefully get lucky. -.. toctree:: - :maxdepth: 2 - :hidden: +**Functionality**: + +``piel.experimental`` provides the following experimental functionality: + +- ``Experiment`` standardised metadata management - pre and post data acquisition. +- Standard data types accordingly into compatible formats to compare with simulation data. +- Multi-variable parameter composition management and simple data exploration. +- Some example device translation functionality into standard data types. + +.. include:: structure.rst - lna -.. include:: lna.rst diff --git a/docs/sections/experimental/structure.rst b/docs/sections/experimental/structure.rst index 4979edd2..0db81225 100644 --- a/docs/sections/experimental/structure.rst +++ b/docs/sections/experimental/structure.rst @@ -1,5 +1,5 @@ -Experimental Data Structure -=========================== +Experiment Metadata Management +------------------------------ When performing experimental testing and acquiring data, one major issue is both knowing what configuration to apply if you have multiple tests and then relating this to a given plotting configuration. It would be nice if we could reuse all the existing functionality from the simulation data to analyse the experimental data. As such, it is necessary to create a common directory and device test structure that can be reused. @@ -12,15 +12,15 @@ Ultimately, the way this works is that we have a data directory in this structur .. raw:: measurements/ # Contains all the measurements, for all devices, interconnection and operating conditions - experimental_operating_condition_setup_id_A/ # A specific setup configuration identified via an id - # data for this setup - experimental_measurement_map.csv # mapping between ids and all the information for the experimental setup + 1/ # A specific setup configuration identified via an id + instance.json # metadata for this setup + experiment.json # mapping between ids and all the information for the experimental setup -This means that a unique `experimental_operating_condition_setup_id_A/` directory is created for each measurement set that contains a custom configuration, specific device test, corresponding bias configuration, and device setup. This can be mapped, and saved, through a `experiment_id` which can be mapped within `experimental_measurement_map.csv`. +This means that a unique `1/` directory is created for each measurement set that contains a custom configuration, specific device test, corresponding bias configuration, and device setup. This can be mapped, and saved, through a `experiment_id` which can be mapped within `experiment.json`. It could be argued that if there are more than one files per operating setup, then it requires a directory in which this is saved. -Note that the information within an operating setup can involve: +Note that the information within an operating setup as defined in the `experiment.json` can involve: .. raw:: diff --git a/piel/experimental/__init__.py b/piel/experimental/__init__.py index 92214775..a6311a30 100644 --- a/piel/experimental/__init__.py +++ b/piel/experimental/__init__.py @@ -2,22 +2,31 @@ import piel.experimental.visual as visual import piel.experimental.models as models -from . import DPO73304 +from piel.experimental.devices import DPO73304 from .file_system import ( construct_experiment_directories, construct_experiment_structure, ) - -from .measurements.data.propagation import extract_propagation_delay_from_measurement -from .measurements.data.frequency import extract_s_parameter_data_from_vna_measurement -from .measurements.data.extract import ( - extract_data_from_measurement_collection +from .measurements.data.dc import ( + construct_multimeter_sweep_signal_from_csv, + construct_sourcemeter_sweep_signal_from_csv, + construct_multimeter_sweep_signal_from_dataframe, + construct_sourcemeter_sweep_signal_from_dataframe, + extract_signal_data_from_csv, + extract_signal_data_from_dataframe, + extract_dc_sweeps_from_operating_point_csv, ) +from .measurements.data.propagation import ( + extract_propagation_delay_from_measurement, +) +from .measurements.data.frequency import extract_s_parameter_data_from_vna_measurement +from .measurements.data.extract import extract_data_from_measurement_collection from .measurements.experiment import ( compose_measurement_from_experiment_instance, compose_measurement_collection_from_experiment, ) +from .measurements.extract import extract_data_from_experiment from .measurements.frequency import compose_vna_s_parameter_measurement from .measurements.map import ( configuration_to_measurement_map, diff --git a/piel/experimental/DPO73304/__init__.py b/piel/experimental/devices/DPO73304/__init__.py similarity index 100% rename from piel/experimental/DPO73304/__init__.py rename to piel/experimental/devices/DPO73304/__init__.py diff --git a/piel/experimental/DPO73304/extract.py b/piel/experimental/devices/DPO73304/extract.py similarity index 99% rename from piel/experimental/DPO73304/extract.py rename to piel/experimental/devices/DPO73304/extract.py index 4ea6eb35..67fecf91 100644 --- a/piel/experimental/DPO73304/extract.py +++ b/piel/experimental/devices/DPO73304/extract.py @@ -1,18 +1,18 @@ import pandas as pd from typing import get_origin -from ..types import ( +from ...types import ( PropagationDelayMeasurementCollection, PropagationDelayMeasurementDataCollection, PropagationDelayMeasurementData, ) -from ...types import ( +from ....types import ( DataTimeSignalData, MultiDataTimeSignal, PathTypes, SignalMetricsData, SignalMetricsMeasurementCollection, ) -from ...file_system import return_path +from ....file_system import return_path def extract_measurement_to_dataframe(file: PathTypes) -> pd.DataFrame: diff --git a/piel/experimental/devices/__init__.py b/piel/experimental/devices/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/piel/experimental/measurements/data/dc.py b/piel/experimental/measurements/data/dc.py new file mode 100644 index 00000000..a1e0685c --- /dev/null +++ b/piel/experimental/measurements/data/dc.py @@ -0,0 +1,295 @@ +import pandas as pd +from ....types import PathTypes, QuantityTypesDC +from ....file_system import return_path +from ....models.physical.electrical import ( + construct_dc_signal, + construct_current_dc_signal, + construct_voltage_dc_signal, +) +from ...types import ( + SourcemeterSweepMeasurementData, + DCSweepMeasurementData, + DCSweepMeasurementDataCollection, + MultimeterSweepVoltageMeasurementData, + SourcemeterVoltageCurrentSignalNamePair, +) + + +def construct_sourcemeter_sweep_signal_from_csv( + file_path: PathTypes, + voltage_signal_name: str, + current_signal_name: str, + **kwargs, +) -> SourcemeterSweepMeasurementData: + file = return_path(file_path) + dataframe = pd.read_csv(file) + signal = construct_sourcemeter_sweep_signal_from_dataframe( + dataframe=dataframe, + voltage_signal_name=voltage_signal_name, + current_signal_name=current_signal_name, + **kwargs, + ) + return signal + + +def construct_sourcemeter_sweep_signal_from_dataframe( + dataframe: pd.DataFrame, + voltage_signal_name: str, + current_signal_name: str, + signal_kwargs: dict = None, + **kwargs, +) -> SourcemeterSweepMeasurementData: + if signal_kwargs is None: + signal_kwargs = {} + + voltage_signal_data = dataframe[voltage_signal_name].values + current_signal_data = dataframe[current_signal_name].values + + signal = construct_dc_signal( + voltage_signal_name=voltage_signal_name, + voltage_signal_values=voltage_signal_data, + current_signal_name=current_signal_name, + current_signal_values=current_signal_data, + **signal_kwargs, + ) + + return SourcemeterSweepMeasurementData(signal=signal, **kwargs) + + +def construct_multimeter_sweep_signal_from_csv( + file_path: PathTypes, + signal_name: str, + signal_type: QuantityTypesDC = "voltage", + **kwargs, +) -> MultimeterSweepVoltageMeasurementData: + """ + Construct a multimeter sweep signal from a CSV file. + + Parameters + ---------- + + file_path : PathTypes + The path to the CSV file. + signal_name : str + The name of the signal. + signal_type : QuantityTypesDC + The type of signal. + **kwargs + + Returns + ------- + + MultimeterSweepVoltageMeasurementData + The multimeter sweep signal + """ + file = return_path(file_path) + dataframe = pd.read_csv(file) + + if signal_type == "voltage": + signal = construct_voltage_dc_signal( + name=signal_name, values=dataframe[signal_name].values + ) + elif signal_type == "current": + signal = construct_current_dc_signal( + name=signal_name, values=dataframe[signal_name].values ** kwargs + ) + else: + raise ValueError(f"Unimplemented signal type: {signal_type}") + + return signal + + +def construct_multimeter_sweep_signal_from_dataframe( + dataframe: pd.DataFrame, + signal_name: str, + signal_kwargs: dict = None, + **kwargs, +) -> MultimeterSweepVoltageMeasurementData: + """ + Construct a multimeter sweep signal from a dataframe. + + Parameters + ---------- + + dataframe : pd.DataFrame + The dataframe containing the multimeter sweep signal data. + signal_name : str + The name of the signal. + signal_kwargs : dict + Additional keyword arguments. + **kwargs + + Returns + ------- + + MultimeterSweepVoltageMeasurementData + The multimeter sweep signal + """ + if signal_kwargs is None: + signal_kwargs = {} + + signal_data = dataframe[signal_name].values + + signal = construct_voltage_dc_signal(name=signal_name, values=signal_data) + + return MultimeterSweepVoltageMeasurementData(signal=signal, **kwargs) + + +def extract_signal_data_from_dataframe( + dataframe: pd.DataFrame, + sourcemeter_voltage_current_signal_name_pairs: list[ + SourcemeterVoltageCurrentSignalNamePair + ], + multimeter_signals: list[str], + **kwargs, +) -> DCSweepMeasurementData: + """ + Extract DC sweep data from a dataframe. + + Parameters + ---------- + + dataframe : pd.DataFrame + The dataframe containing the DC sweep data. + sourcemeter_voltage_current_signal_name_pairs : list[SourcemeterVoltageCurrentSignalNamePair] + The pairs of sourcemeter voltage and current signal names. + multimeter_signals : list[str] + The multimeter signals. + **kwargs + Additional keyword arguments. + + Returns + ------- + + DCSweepMeasurementData + The DC sweep data. + """ + # Iterate through the sourcemeter signals and create the sourcemeter sweep signals + sourcemeter_sweep_signals = [] + + for ( + sourcemeter_voltage_signal_pair + ) in sourcemeter_voltage_current_signal_name_pairs: + voltage_signal_name_i = sourcemeter_voltage_signal_pair[0] + current_signal_name_i = sourcemeter_voltage_signal_pair[1] + sourcemeter_sweep_signal = construct_sourcemeter_sweep_signal_from_dataframe( + dataframe=dataframe, + voltage_signal_name=voltage_signal_name_i, + current_signal_name=current_signal_name_i, + ) + sourcemeter_sweep_signals.append(sourcemeter_sweep_signal) + + # Iterate through the multimeter signals and create the multimeter sweep signals + multimeter_sweep_signals = [] + + for multimeter_signal in multimeter_signals: + multimeter_sweep_signal = construct_multimeter_sweep_signal_from_dataframe( + dataframe=dataframe, signal_name=multimeter_signal + ) + multimeter_sweep_signals.append(multimeter_sweep_signal) + + return DCSweepMeasurementData( + inputs=sourcemeter_sweep_signals, + outputs=multimeter_sweep_signals, + **kwargs, + ) + + +def extract_signal_data_from_csv( + file_path: PathTypes, + sourcemeter_voltage_current_signal_name_pairs: list[ + SourcemeterVoltageCurrentSignalNamePair + ], + multimeter_signals: list[str], + **kwargs, +) -> DCSweepMeasurementData: + """ + Extract DC sweep data from a CSV file. + + Parameters + ---------- + file_path : PathTypes + The path to the CSV file. + sourcemeter_voltage_current_signal_name_pairs : list[SourcemeterVoltageCurrentSignalNamePair] + The pairs of sourcemeter voltage and current signal names. + multimeter_signals : list[str] + The multimeter signals. + **kwargs + Additional keyword arguments. + + Returns + ------- + + DCSweepMeasurementData + The DC sweep data. + """ + file = return_path(file_path) + dataframe = pd.read_csv(file) + return extract_signal_data_from_dataframe( + dataframe=dataframe, + sourcemeter_voltage_current_signal_name_pairs=sourcemeter_voltage_current_signal_name_pairs, + multimeter_signals=multimeter_signals, + **kwargs, + ) + + +def extract_dc_sweeps_from_operating_point_csv( + file_path: PathTypes, + sourcemeter_voltage_current_signal_name_pairs: list[ + SourcemeterVoltageCurrentSignalNamePair + ], + multimeter_signals: list[str], + unique_operating_point_columns: list[str], + **kwargs, +) -> DCSweepMeasurementDataCollection: + """ + Extract DC sweep data from a full operating point CSV file. The operating point CSV file contains the DC sweep data + for multiple operating points. The unique operating point columns are used to extract the unique operating points + from the CSV file. The DC sweep data is then extracted for each unique operating point. The DC sweep data is + returned as a DCMeasurementDataCollection. The DCMeasurementDataCollection is a list of DCMeasurementDataTypes. + + Parameters + ---------- + + file_path : PathTypes + The path to the operating point CSV file. + sourcemeter_voltage_current_signal_name_pairs : list[SourcemeterVoltageCurrentSignalNamePair] + The pairs of sourcemeter voltage and current signal names. + multimeter_signals : list[str] + The multimeter signals. + unique_operating_point_columns : list[str] + The unique operating point columns. + **kwargs + Additional keyword arguments. + + Returns + ------- + DCMeasurementDataCollection + The DC sweep data collection. + """ + file = return_path(file_path) + dataframe = pd.read_csv(file) + + # Extract the unique operating points + unique_operating_points = dataframe[ + unique_operating_point_columns + ].drop_duplicates() + + # Iterate through the unique operating points and extract the DC sweep data + dc_sweep_data = [] + + for _, operating_point in unique_operating_points.iterrows(): + operating_point_data = dataframe[ + (dataframe[unique_operating_point_columns] == operating_point).all(axis=1) + ] + + dc_sweep = extract_signal_data_from_dataframe( + dataframe=operating_point_data, + sourcemeter_voltage_current_signal_name_pairs=sourcemeter_voltage_current_signal_name_pairs, + multimeter_signals=multimeter_signals, + **kwargs, + ) + + dc_sweep_data.append(dc_sweep) + + return dc_sweep_data diff --git a/piel/experimental/measurements/data/frequency.py b/piel/experimental/measurements/data/frequency.py index 01be7b94..552f3bec 100644 --- a/piel/experimental/measurements/data/frequency.py +++ b/piel/experimental/measurements/data/frequency.py @@ -1,12 +1,13 @@ import skrf -from skrf.io.touchstone import hfss_touchstone_2_network from ...types import VNASParameterMeasurementData, VNASParameterMeasurement + def extract_s_parameter_data_from_vna_measurement( - measurement: VNASParameterMeasurement + measurement: VNASParameterMeasurement, **kwargs ) -> VNASParameterMeasurementData: - network = hfss_touchstone_2_network(measurement.spectrum_file) + network = skrf.Network(name=measurement.name, file=measurement.spectrum_file) return VNASParameterMeasurementData( - network=network + name=measurement.name, + network=network, + **kwargs, ) - diff --git a/piel/experimental/measurements/experiment.py b/piel/experimental/measurements/experiment.py index 8b161c9a..16b520e4 100644 --- a/piel/experimental/measurements/experiment.py +++ b/piel/experimental/measurements/experiment.py @@ -26,11 +26,12 @@ def compose_measurement_from_experiment_instance( Each experiment instance should correspond to a list of measurement configurations, ie the specific set of measurements that are required at each directory generated for the experimental instance. Hence, for this function to work properly, it is required to have a mapping between experiment configuration types and measurement classes accordingly. - The mapping will be between a given MeasurementConfiguration type and a Measurement class which has the references + The mapping will be between a given ``MeasurementConfiguration`` type and a ``Measurement`` class which has the references of the data containers accordingly. """ # This corresponds to the instance directory instance_directory = return_path(instance_directory) + # TODO verify that print(experiment_instance.measurement_configuration_list) exists for ( measurement_configuration_i @@ -39,7 +40,9 @@ def compose_measurement_from_experiment_instance( measurement_composition_method = measurement_composition_method_mapping[ measurement_configuration_i.__class__.__name__ ] - measurement = measurement_composition_method(instance_directory, **kwargs) + measurement = measurement_composition_method( + instance_directory, name=experiment_instance.name, **kwargs + ) return measurement diff --git a/piel/experimental/measurements/extract.py b/piel/experimental/measurements/extract.py new file mode 100644 index 00000000..5c1b3c94 --- /dev/null +++ b/piel/experimental/measurements/extract.py @@ -0,0 +1,28 @@ +from ...types import PathTypes +from ..types import ( + Experiment, + ExperimentData, +) +from .experiment import compose_measurement_collection_from_experiment +from .data.extract import extract_data_from_measurement_collection + + +def extract_data_from_experiment( + experiment: Experiment, experiment_directory: PathTypes, **kwargs +) -> ExperimentData: + """ + This function must be run after data has already been written within the ``Experiment`` directories + and the metadata has been created accordingly. This will extract all the corresponding measurements collection, + and also extract the corresponding data from each setup accordingly. It will create a `ExperimentData` that collects + both the metadata and measurement data. + """ + measurement_collection = compose_measurement_collection_from_experiment( + experiment=experiment, + experiment_directory=experiment_directory, + ) + + experiment_data = extract_data_from_measurement_collection( + measurement_collection=measurement_collection + ) + + return ExperimentData(experiment=experiment, data=experiment_data) diff --git a/piel/experimental/types/__init__.py b/piel/experimental/types/__init__.py index cb4ceab8..568f2e62 100644 --- a/piel/experimental/types/__init__.py +++ b/piel/experimental/types/__init__.py @@ -25,26 +25,33 @@ from .measurements.core import MeasurementConfiguration -from .measurements.data.core import MeasurementData, MeasurementDataCollection +from .measurements.data.dc import ( + DCSweepMeasurementData, + DCSweepMeasurementDataCollection, + DCMeasurementDataCollection, + MultimeterSweepVoltageMeasurementData, + SourcemeterSweepMeasurementData, +) +from .measurements.data.core import MeasurementData, MeasurementDataCollection from .measurements.data.experiment import ExperimentData - -from .measurements.data.propagation import ( - PropagationDelayMeasurementData, - PropagationDelayMeasurementDataCollection, +from .measurements.data.generic import ( + MeasurementDataTypes, + MeasurementDataCollectionTypes, + FrequencyMeasurementDataTypes, ) - from .measurements.data.frequency import ( VNASParameterMeasurementData, VNASParameterMeasurementDataCollection, ) - -from .measurements.data.generic import ( - MeasurementDataTypes, - MeasurementDataCollectionTypes, - FrequencyMeasurementDataTypes, +from .measurements.data.propagation import ( + PropagationDelayMeasurementData, + PropagationDelayMeasurementDataCollection, +) +from .measurements.dc import ( + MultimeterSignalName, + SourcemeterVoltageCurrentSignalNamePair, ) - from .measurements.frequency import ( VNASParameterMeasurementConfiguration, VNAPowerSweepMeasurementConfiguration, @@ -53,12 +60,10 @@ VNAPowerSweepMeasurementCollection, VNASParameterMeasurementCollection, ) - from .measurements.propagation import ( PropagationDelayMeasurement, PropagationDelayMeasurementCollection, ) - from .measurements.generic import ( FrequencyMeasurementConfigurationTypes, FrequencyMeasurementTypes, @@ -66,7 +71,6 @@ MeasurementConfigurationTypes, MeasurementCollectionTypes, ) - from .time import ( Oscilloscope, OscilloscopeConfiguration, diff --git a/piel/experimental/types/experiment.py b/piel/experimental/types/experiment.py index a396930a..ebbc6e0f 100644 --- a/piel/experimental/types/experiment.py +++ b/piel/experimental/types/experiment.py @@ -68,3 +68,9 @@ class Experiment(Instance): """ List of basic important parameters in dictionaries used to do basic metadata analysis of the experiment. """ + + @property + def parameters(self): + import pandas as pd # TODO maybe move this? + + return pd.DataFrame(self.parameters_list) diff --git a/piel/experimental/types/measurements/data/dc.py b/piel/experimental/types/measurements/data/dc.py new file mode 100644 index 00000000..65d2f0ea --- /dev/null +++ b/piel/experimental/types/measurements/data/dc.py @@ -0,0 +1,35 @@ +from .core import MeasurementData +from .....types import SignalDC + + +class SourcemeterSweepMeasurementData(MeasurementData): + signal: SignalDC = None + + +class MultimeterSweepVoltageMeasurementData(MeasurementData): + signal: SignalDC = None + + +class DCSweepMeasurementData(MeasurementData): + inputs: list[SourcemeterSweepMeasurementData] = None + """ + The input DC signals as sourced by a sourcemeter. + """ + + outputs: list[MultimeterSweepVoltageMeasurementData] = None + """ + The output DC signals from a multimeter for example. + """ + + +DCSweepMeasurementDataCollection = list[DCSweepMeasurementData] + +DCMeasurementDataTypes = ( + DCSweepMeasurementData + | MultimeterSweepVoltageMeasurementData + | SourcemeterSweepMeasurementData +) + +DCMeasurementDataCollection = ( + list[DCMeasurementDataTypes] | DCSweepMeasurementDataCollection +) diff --git a/piel/experimental/types/measurements/data/experiment.py b/piel/experimental/types/measurements/data/experiment.py index a65a0f06..3a4a9f57 100644 --- a/piel/experimental/types/measurements/data/experiment.py +++ b/piel/experimental/types/measurements/data/experiment.py @@ -13,3 +13,15 @@ class ExperimentData(Instance): # TODO add validators to make sure data and experimental parameters are the same size # TODO add validators for data type matches experiment type + + @property + def parameter_map(self): + """ + This function creates a dictionary between the experiment.parameters + and the corresponding data instance so that it's easier to index accordingly. + """ + # TODO finish + # import pandas as pd + # data_dictionary = {"data": data_i for data_i in data} + # print(data_dictionary) + # dataframe = pd.DataFrame(self.experiment.parameters_list) diff --git a/piel/experimental/types/measurements/data/generic.py b/piel/experimental/types/measurements/data/generic.py index d083b3d1..ce2a8382 100644 --- a/piel/experimental/types/measurements/data/generic.py +++ b/piel/experimental/types/measurements/data/generic.py @@ -1,10 +1,19 @@ -from .propagation import PropagationDelayMeasurementDataCollection, PropagationDelayMeasurementData +from .propagation import ( + PropagationDelayMeasurementDataCollection, + PropagationDelayMeasurementData, +) from .frequency import FrequencyMeasurementDataTypes, FrequencyMeasurementDataCollection +from .dc import DCMeasurementDataTypes, DCMeasurementDataCollection -MeasurementDataTypes = PropagationDelayMeasurementData | FrequencyMeasurementDataTypes +MeasurementDataTypes = ( + DCMeasurementDataTypes + | FrequencyMeasurementDataTypes + | PropagationDelayMeasurementData +) # Measurement Collections MeasurementDataCollectionTypes = ( - PropagationDelayMeasurementDataCollection | - FrequencyMeasurementDataCollection + DCMeasurementDataCollection + | FrequencyMeasurementDataCollection + | PropagationDelayMeasurementDataCollection ) diff --git a/piel/experimental/types/measurements/dc.py b/piel/experimental/types/measurements/dc.py new file mode 100644 index 00000000..f547cf79 --- /dev/null +++ b/piel/experimental/types/measurements/dc.py @@ -0,0 +1,31 @@ +SourcemeterVoltageCurrentSignalNamePair = tuple[str, str] +MultimeterSignalName = str + +# from .core import Measurement +# from ....types import PathTypes, SignalDC +# +# +# class SourcemeterSweepMeasurement(Measurement): +# """ +# This class is used to represent a measurement of a sweep of a sourcemeter. +# +# The sweep file is the file that contains the sweep data. +# +# The signal is the signal that is being sourced and measured, it is defined based on the `SignalDC` class. +# """ +# +# sweep_file: PathTypes +# signal: SignalDC = None +# +# +# class MultimeterSweepMeasurement(Measurement): +# """ +# This class is used to represent a measurement of a sweep of a sourcemeter. +# +# The sweep file is the file that contains the sweep data. +# +# The signal is the signal that is being measured, it is defined based on the `SignalDC` class. +# """ +# +# sweep_file: PathTypes +# signal = SignalDC = None diff --git a/piel/experimental/visual/__init__.py b/piel/experimental/visual/__init__.py index b5b0b59c..e72ab3c6 100644 --- a/piel/experimental/visual/__init__.py +++ b/piel/experimental/visual/__init__.py @@ -1,5 +1,9 @@ +from .dc import plot_dc_sweep, plot_dc_sweeps from .propagation import ( plot_signal_propagation_measurements, plot_signal_propagation_signals, ) -from .frequency import plot_s_parameter_measurements_to_step_responses +from .frequency import ( + plot_s_parameter_measurements_to_step_responses, + plot_s_parameter_real_and_imaginary, +) diff --git a/piel/experimental/visual/dc.py b/piel/experimental/visual/dc.py new file mode 100644 index 00000000..8a0e454a --- /dev/null +++ b/piel/experimental/visual/dc.py @@ -0,0 +1,43 @@ +from ..types import DCSweepMeasurementData, DCSweepMeasurementDataCollection +from ...visual import create_plot_containers, save + + +def plot_dc_sweep(dc_sweep: DCSweepMeasurementData, **kwargs) -> tuple: + """ + Plot a DC sweep measurement. + + Parameters + ---------- + dc_sweep : DCMeasurementDataTypes + The DC sweep measurement data to plot. + """ + fig, axs = create_plot_containers(container_list=[dc_sweep]) + + axs[0].plot( + # dc_sweep.inputs[0].signal.signal_instances[0].values + dc_sweep.outputs[0].signal.signal_instances[0].values, + ) + + if kwargs["path"]: + save(fig, **kwargs) + + return fig, axs + + +def plot_dc_sweeps( + dc_sweep_collection: DCSweepMeasurementDataCollection, **kwargs +) -> tuple: + fig, axs = create_plot_containers( + container_list=dc_sweep_collection, axes_structure="overlay" + ) + + for dc_sweep_i in dc_sweep_collection: + axs[0].plot( + dc_sweep_i.inputs[0].signal.signal_instances[0].values, + dc_sweep_i.outputs[0].signal.signal_instances[0].values, + ) + + if kwargs["path"]: + save(fig, **kwargs) + + return fig, axs diff --git a/piel/experimental/visual/frequency.py b/piel/experimental/visual/frequency.py index 4483c3d3..c565e50a 100644 --- a/piel/experimental/visual/frequency.py +++ b/piel/experimental/visual/frequency.py @@ -1,12 +1,15 @@ import matplotlib.pyplot as plt from ..types.measurements.data.frequency import VNASParameterMeasurementDataCollection from ...types import MinimumMaximumType +from ...visual import create_plot_containers, save def plot_s_parameter_measurements_to_step_responses( measurements: VNASParameterMeasurementDataCollection, network_port_index: int = 0, time_range_s: MinimumMaximumType = None, + figure_kwargs: dict = None, + **kwargs, ): """ The goal of this function is that it iterates through a collection of s-parameter networks, @@ -16,11 +19,54 @@ def plot_s_parameter_measurements_to_step_responses( TODO explore the other caveats of performing transformations this way. TODO generalise this functionality for simulation-sparameter networks. + :param **kwargs: """ + if figure_kwargs is None: + figure_kwargs = dict() + + fig, axs = create_plot_containers(container_list=measurements, **figure_kwargs) + + i = 0 for measurement_i in measurements: subnetwork = measurement_i.network.subnetwork(ports=[network_port_index]) subnetwork_s11_time_i, subnetwork_s11_signal_i = subnetwork.step_response() - plt.plot(subnetwork_s11_time_i, subnetwork_s11_signal_i) + axs[i].plot(subnetwork_s11_time_i, subnetwork_s11_signal_i) + i += 1 if time_range_s is not None: - plt.xlim(time_range_s[0], time_range_s[1]) + fig.xlim(time_range_s[0], time_range_s[1]) + + if kwargs["path"]: + save(fig, **kwargs) + + return fig, axs + + +def plot_s_parameter_real_and_imaginary( + measurements: VNASParameterMeasurementDataCollection, + figure_kwargs: dict = None, + s_plot_kwargs: dict = None, + **kwargs, +) -> tuple: + if figure_kwargs is None: + figure_kwargs = dict() + + if s_plot_kwargs is None: + s_plot_kwargs = dict() + + fig, axs = create_plot_containers(container_list=measurements, **figure_kwargs) + + i = 0 + for measurement_i in measurements: + network = measurement_i.network + network.plot_s_re(ax=axs[i], **s_plot_kwargs) + # network.plot_s_im(ax=axs[1], **s_plot_configuration) + axs[i].set_title("Real S11") + i += 1 + + plt.tight_layout() + + if kwargs["path"]: + save(fig, **kwargs) + + return fig, axs diff --git a/piel/models/physical/electrical/__init__.py b/piel/models/physical/electrical/__init__.py index 3d2ea132..2283cd62 100644 --- a/piel/models/physical/electrical/__init__.py +++ b/piel/models/physical/electrical/__init__.py @@ -1,2 +1,7 @@ from .cable import * from .pcb import create_pcb +from .core import ( + construct_current_dc_signal, + construct_voltage_dc_signal, + construct_dc_signal, +) diff --git a/piel/models/physical/electrical/core.py b/piel/models/physical/electrical/core.py new file mode 100644 index 00000000..f2150b0b --- /dev/null +++ b/piel/models/physical/electrical/core.py @@ -0,0 +1,81 @@ +from ....types import ArrayTypes, SignalInstanceDC, SignalDC + + +def construct_voltage_dc_signal( + name: str, + values: ArrayTypes, +) -> SignalDC: + """ + Construct a DC signal instance for a voltage signal. + + Parameters + ---------- + name : str + The name of the signal. + values : ArrayTypes + The values of the signal. + + Returns + ------- + SignalInstanceDC: A DC signal instance for a voltage signal. + """ + voltage_signal = SignalInstanceDC(name=name, values=values, data_type="voltage") + return SignalDC(signal_instances=[voltage_signal]) + + +def construct_current_dc_signal( + name: str, + values: ArrayTypes, +) -> SignalDC: + """ + Construct a DC signal instance for a current signal. + + Parameters + ---------- + name : str + The name of the signal. + values : ArrayTypes + The values of the signal. + + Returns + ------- + SignalInstanceDC: A DC signal instance for a current signal. + """ + current_signal = SignalInstanceDC(name=name, values=values, data_type="current") + return SignalDC(signal_instances=[current_signal]) + + +def construct_dc_signal( + voltage_signal_name: str, + voltage_signal_values: ArrayTypes, + current_signal_name: str, + current_signal_values: ArrayTypes, +) -> SignalDC: + """ + Construct a DC signal with voltage and current signal instances. + + Parameters + ---------- + voltage_signal_name : str + The name of the voltage signal. + voltage_signal_values : ArrayTypes + The values of the voltage signal. + current_signal_name : str + The name of the current signal. + current_signal_values : ArrayTypes + The values of the current signal + + Returns + ------- + SignalDC: A DC signal with voltage and current signal instances. + """ + voltage_signal = construct_voltage_dc_signal( + voltage_signal_name, voltage_signal_values + ) + current_signal = construct_current_dc_signal( + current_signal_name, current_signal_values + ) + + signals = voltage_signal.signal_instances + current_signal.signal_instances + + return SignalDC(signal_instances=signals) diff --git a/piel/types/__init__.py b/piel/types/__init__.py index f15c1776..07ff9108 100644 --- a/piel/types/__init__.py +++ b/piel/types/__init__.py @@ -88,9 +88,9 @@ SParameterMatrixTuple, ) -from .signal.core import ElectricalSignalDomains +from .signal.core import ElectricalSignalDomains, QuantityTypesDC -from .signal.dc_data import SignalDC, DCSweepData +from .signal.dc_data import SignalInstanceDC, SignalInstanceMetadataDC, SignalDC from .signal.frequency import ( TwoPortCalibrationNetworkCollection, diff --git a/piel/types/connectivity/abstract.py b/piel/types/connectivity/abstract.py index 08313e8c..42c5e3af 100644 --- a/piel/types/connectivity/abstract.py +++ b/piel/types/connectivity/abstract.py @@ -9,7 +9,7 @@ class Instance(PielBaseModel): This represents the fundamental data structure of an element in connectivity """ - name: Optional[str] | None = None + name: str = None class Port(Instance): @@ -17,7 +17,7 @@ class Port(Instance): This represents the fundamental data structure to identify a port. """ - parent_component_name: Optional[str] = None + parent_component_name: str = None class Connection(Instance): diff --git a/piel/types/signal/core.py b/piel/types/signal/core.py index a9acbc61..98fcd54c 100644 --- a/piel/types/signal/core.py +++ b/piel/types/signal/core.py @@ -1,3 +1,4 @@ from typing import Literal ElectricalSignalDomains = Literal["DC", "RF"] +QuantityTypesDC = Literal["voltage", "current", "power", "impedance"] diff --git a/piel/types/signal/dc_data.py b/piel/types/signal/dc_data.py index 9cd61717..0f881eef 100644 --- a/piel/types/signal/dc_data.py +++ b/piel/types/signal/dc_data.py @@ -1,33 +1,43 @@ -from typing import Optional from ..core import PielBaseModel, ArrayTypes +from .core import QuantityTypesDC +from ..connectivity.abstract import Instance -class SignalDC(PielBaseModel): +class SignalInstanceMetadataDC(PielBaseModel): + name: str = None + """ + The name of the signal. """ - Represents a DC signal. - The values are the values of the signal. The name is the name of the signal. Can be both an operating point - or a sweep collection of data. + data_type: QuantityTypesDC = "voltage" """ + The type of data that the DC operating point represents. + """ + - name: Optional[str] +class SignalInstanceDC(SignalInstanceMetadataDC): """ - The name of the signal. + Represents a DC signal with all relevant components as defined by Ohm's law but specified through a collection of data defined by a `OperatingPointContainer` + + The values are the values of the signal. The name is the name of the signal. Can be both an operating point + or a sweep collection of data. + + A DC signal might have a current and a voltage attached to it, so it would be a collection of data. + Current and voltage are both physical representations of electrical quantities in this case in the context of DC operation. + These operating points can reference an array of data points that are collected from a DC sweep. """ values: ArrayTypes """ - The values of the signal. + The values of the operating points in an array format. """ -class DCSweepData(PielBaseModel): - inputs: list[SignalDC] +class SignalDC(Instance): """ - The input DC signals. + This is used to define a collection of `SignalInstances` which compose a DC signal. For example, + the voltage and current of the same signal would be `SignalInstance`s but the total signal is the collection of + these data references. """ - outputs: list[SignalDC] - """ - The output DC signals. - """ + signal_instances: list[SignalInstanceDC] diff --git a/piel/visual/__init__.py b/piel/visual/__init__.py index 740a4be2..1dbda9ef 100644 --- a/piel/visual/__init__.py +++ b/piel/visual/__init__.py @@ -1,9 +1,16 @@ -from .core import save - -from .auto_plot_multiple import * -from .data_conversion import * +from .plot.core import save +from .plot.basic import plot_simple, plot_simple_multi_row +from .plot.position import ( + create_axes_per_figure, + create_plot_containers, + list_to_overlayed_plots, + list_to_separate_plots, +) +from .data_conversion import append_row_to_dict, points_to_lines_fixed_transient from .style import activate_piel_styles from .signals import * +from .types import AxesPlottingTypes, ExtensiblePlotsDirectionPerElement from .json_to_markdown import dictionary_to_markdown_str + activate_piel_styles() diff --git a/piel/visual/plot/__init__.py b/piel/visual/plot/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/piel/visual/auto_plot_multiple.py b/piel/visual/plot/basic.py similarity index 91% rename from piel/visual/auto_plot_multiple.py rename to piel/visual/plot/basic.py index f7232d85..25f3b411 100644 --- a/piel/visual/auto_plot_multiple.py +++ b/piel/visual/plot/basic.py @@ -1,7 +1,7 @@ import matplotlib.pyplot as plt import numpy as np import pandas as pd -from typing import List, Union, Tuple, Optional +from typing import List, Tuple, Optional __all__ = [ "plot_simple", @@ -18,8 +18,7 @@ def plot_simple( fig: Optional[plt.Figure] = None, ax: Optional[plt.Axes] = None, title: Optional[str] = None, - *args, - **kwargs + plot_kwargs: dict = None, ) -> Tuple[plt.Figure, plt.Axes]: """ Plot a simple line graph. This function abstracts the basic files representation while @@ -43,7 +42,10 @@ def plot_simple( if fig is None and ax is None: fig, ax = plt.subplots() - ax.plot(x_data, y_data, label=label, *args, **kwargs) + if plot_kwargs is None: + plot_kwargs = dict() + + ax.plot(x_data, y_data, label=label, **plot_kwargs) if ylabel is not None: ax.set_ylabel(ylabel) @@ -109,13 +111,13 @@ def plot_simple_multi_row( if row_amount == 1: axes = [axes] - for i, (ax, y_data, y_label, title) in enumerate( + for _, (ax_i, y_data_i, y_label_i, title) in enumerate( zip(axes, y_data_list, y_label, titles) ): - ax.plot(x_data, y_data) - ax.grid(True) - ax.set_ylabel(y_label) - ax.set_title(title) + ax_i.plot(x_data, y_data_i) + ax_i.grid(True) + ax_i.set_ylabel(y_label_i) + ax_i.set_title(title) if x_label is not None: axes[-1].set_xlabel(x_label) diff --git a/piel/visual/core.py b/piel/visual/plot/core.py similarity index 89% rename from piel/visual/core.py rename to piel/visual/plot/core.py index 7550a9a6..81caa825 100644 --- a/piel/visual/core.py +++ b/piel/visual/plot/core.py @@ -1,4 +1,4 @@ -from ..file_system import return_path +from ...file_system import return_path def save(fig, **kwargs): diff --git a/piel/visual/plot/position.py b/piel/visual/plot/position.py new file mode 100644 index 00000000..3b4b6028 --- /dev/null +++ b/piel/visual/plot/position.py @@ -0,0 +1,70 @@ +""" +We want to streamline the figure and axes generation based on a given list which contains the data to be plotted. +Each component, as well, +may require more than one plot or a given set of plots. So it makes sense to both generalize this as a creation of plots +per a given set of parameters, + which may or not be linked to the number of data points in a given list. The other complexity is the given structure + of the axes for a given figure. + +There can be multiple elements per plot. There are overlaying plots and separate plots. +Overlaying plots require sharing the same axes and separate plots require the same figure. +So, we want to configure plotting types based on this. +The question in this case, is of combining multiple figures, or just combining multiple axes. +It sounds like creating the axes is the best way to implement this for a given figure. +""" + +import matplotlib.pyplot as plt +from ..types import AxesPlottingTypes, ExtensiblePlotsDirectionPerElement + + +def create_axes_per_figure(rows: int = 1, columns: int = 1, **kwargs) -> tuple: + """ + This function creates a figure and a set of axes in this figure according to the number of rows or columns defined. + """ + fig, axs = plt.subplots(rows, columns, **kwargs) + + if (rows == 1) and (columns == 1): + # We always want this to be an array so we can compose easily with the rest of the code. + axs = [axs] + + return fig, axs + + +def list_to_separate_plots( + container_list: list, + axes_per_element: int = 1, + multi_axes_extension_direction: ExtensiblePlotsDirectionPerElement = "x", + **kwargs, +) -> tuple: + """ + This function creates a list of plots that are separate from each other. + """ + elements_amount = len(container_list) + + if (axes_per_element > 1) and (multi_axes_extension_direction == "x"): + rows = elements_amount + columns = axes_per_element + elif (axes_per_element > 1) and (multi_axes_extension_direction == "y"): + rows = elements_amount * axes_per_element + columns = 1 + else: + rows = elements_amount + columns = axes_per_element + + fig, axs = create_axes_per_figure(rows=rows, columns=columns, **kwargs) + return fig, axs + + +def list_to_overlayed_plots(container_list: list, **kwargs) -> tuple: + fig, axs = create_axes_per_figure(rows=1, columns=1, **kwargs) + return fig, axs + + +def create_plot_containers( + container_list: list, axes_structure: AxesPlottingTypes = "separate", **kwargs +) -> tuple: + if axes_structure == "separate": + fig, axs = list_to_separate_plots(container_list=container_list, **kwargs) + elif axes_structure == "overlay": + fig, axs = list_to_overlayed_plots(container_list=container_list, **kwargs) + return fig, axs diff --git a/piel/visual/types.py b/piel/visual/types.py new file mode 100644 index 00000000..2235390c --- /dev/null +++ b/piel/visual/types.py @@ -0,0 +1,4 @@ +from typing import Literal + +AxesPlottingTypes = Literal["overlay", "separate"] +ExtensiblePlotsDirectionPerElement = Literal["x", "y"]