diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..35de859 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# PyCharm +/.idea +/__pycache__ \ No newline at end of file diff --git a/examples/example_acs284.dev b/examples/example_acs284.dev new file mode 100644 index 0000000..320cea2 --- /dev/null +++ b/examples/example_acs284.dev @@ -0,0 +1,96 @@ +ACS Meter +5300011C ; Serial number +3 ; structure version number +"tcal: 23.5 C, ical: 19.3 C. The offsets were saved to this file on 8/10/18." +0 0 ; Depth calibration +115200 ; Baud rate +0.25 ; Path length (meters) +85 ; output wavelengths +35 ; number of temperature bins + 0.43328 1.41541 2.466364 3.488636 4.497297 5.485714 6.498 7.508421 8.490303 9.462424 10.479189 11.485682 12.497778 13.487097 14.497273 15.493333 16.482059 17.483429 18.489143 19.473939 20.528333 21.498421 22.496389 23.495135 24.503421 25.475577 26.504894 27.522745 28.49623 29.482075 30.496905 31.493111 32.482174 33.502195 34.519556 ; temperature bins +C400.3 A401.2 8 -0.21022 -1.118704 0.012254 0.01151 0.009952 0.009706 0.011221 0.009802 0.009876 0.008975 0.009415 0.007797 0.009475 0.007584 0.006847 0.00375 0.003914 0.004367 0.004823 0.003581 0.004242 0.004242 0.002692 0.003052 0.001609 -0.000705 0.000022 0 0.000398 -0.001218 -0.000623 0.000262 -0.000414 0.000326 0.001206 0.000304 -0.000551 0.063865 0.064082 0.063584 0.062686 0.05974 0.05905 0.05663 0.054572 0.050936 0.048915 0.046038 0.04316 0.039031 0.034706 0.03168 0.028719 0.025043 0.023102 0.021164 0.01822 0.013739 0.012204 0.010859 0.007587 0.00444 0 -0.001832 -0.004931 -0.006915 -0.008341 -0.010787 -0.013955 -0.016882 -0.01982 -0.02178 "; C and A offset, and C and A temperature correction info" +C403.7 A405.0 10 -0.099992 -0.95062 0.004663 0.003932 0.004432 0.005839 0.004915 0.00401 0.004628 0.005487 0.004988 0.004768 0.002864 0.00356 0.002639 0.00244 0.00127 0.000967 0.002493 0.00181 0.002201 0.00253 0.001607 0.001239 0.001628 -0.000337 0.000072 0 -0.000246 -0.000538 0.000103 -0.000014 0.000414 0.000222 0.00113 0.000433 0.000436 0.059882 0.059775 0.060039 0.058619 0.055716 0.055476 0.053548 0.051092 0.048374 0.046758 0.043577 0.041322 0.036658 0.033552 0.030755 0.028021 0.024436 0.021456 0.019422 0.01621 0.012642 0.011112 0.009407 0.006735 0.003954 0 -0.002116 -0.004274 -0.007422 -0.008957 -0.010529 -0.01334 -0.016335 -0.018872 -0.02113 "; C and A offset, and C and A temperature correction info" +C407.5 A408.7 11 -0.015555 -0.799257 0.001271 0.001714 0.002666 0.002528 0.003178 0.00311 0.003109 0.003081 0.002851 0.002813 0.002721 0.002164 0.001294 0.000119 0.000828 0.001655 0.001801 0.001913 0.003325 0.003273 0.000908 0.001465 0.000315 -0.000128 0.00007 0 0.000247 0.000972 0.000685 0.001283 0.001681 0.002135 0.002607 0.002803 0.001441 0.051632 0.053134 0.053534 0.05246 0.050947 0.04962 0.047604 0.046447 0.044062 0.04152 0.039175 0.036805 0.033373 0.030493 0.027807 0.025335 0.022508 0.020048 0.018228 0.016104 0.012251 0.010863 0.008815 0.006086 0.003856 0 -0.002311 -0.004869 -0.006943 -0.008743 -0.010464 -0.013035 -0.015446 -0.018021 -0.020976 "; C and A offset, and C and A temperature correction info" +C410.9 A411.9 12 0.064083 -0.662528 0.003793 0.001689 0.001154 0.001973 0.001206 0.001616 0.001568 0.001674 0.001547 0.000911 0.001646 0.001078 -0.000216 -0.000404 0.000042 0.000366 0.000865 0.000522 0.000726 0.001441 0.000876 0.000137 0.000821 -0.001068 -0.000832 0 0.000361 -0.000271 0.001096 0.001622 0.00199 0.002193 0.002144 0.002258 0.002567 0.046816 0.049298 0.04989 0.049545 0.047283 0.047172 0.045283 0.043768 0.040992 0.040153 0.03741 0.035556 0.032101 0.029591 0.026768 0.024819 0.022586 0.019858 0.017841 0.01517 0.012245 0.010393 0.008428 0.006106 0.003634 0 -0.002301 -0.004476 -0.006468 -0.008182 -0.009504 -0.012064 -0.014337 -0.017417 -0.019581 "; C and A offset, and C and A temperature correction info" +C414.2 A415.3 13 0.132182 -0.537118 -0.001254 0.000058 0.000093 0.000484 0.000525 0.000186 0.000352 0.000887 0.000032 0.000116 -0.000035 -0.000123 -0.000429 -0.000558 -0.001413 -0.000338 0.000019 -0.000223 0.000253 0.000292 -0.000162 0.000048 -0.000747 -0.001193 -0.000476 0 -0.000326 0.000412 0.000713 0.001381 0.001855 0.002128 0.002816 0.00276 0.002196 0.041556 0.043874 0.044869 0.044747 0.043464 0.043404 0.042049 0.040525 0.038658 0.036793 0.035226 0.033726 0.030735 0.028185 0.02615 0.02386 0.020995 0.019192 0.01721 0.015246 0.011854 0.010457 0.008253 0.005744 0.003215 0 -0.002235 -0.00392 -0.006326 -0.007808 -0.009313 -0.011309 -0.01342 -0.015954 -0.018316 "; C and A offset, and C and A temperature correction info" +C418.0 A419.2 15 0.193323 -0.420091 -0.001748 -0.0009 -0.000778 -0.000506 -0.000008 -0.00035 0.000031 -0.000298 0.000201 -0.000046 -0.000258 -0.000212 -0.000697 -0.000888 -0.000598 -0.000238 -0.000801 -0.000645 0.000332 0.000565 -0.000127 -0.000269 -0.000374 -0.001084 -0.000177 0 0.000447 0.000461 0.001188 0.00159 0.002583 0.002681 0.00335 0.003227 0.002782 0.038531 0.040388 0.040863 0.040504 0.039772 0.039388 0.037692 0.036846 0.034847 0.033667 0.032415 0.031157 0.028242 0.025639 0.023947 0.022025 0.020045 0.018188 0.016501 0.014319 0.011108 0.009659 0.00781 0.005282 0.003053 0 -0.001982 -0.004123 -0.005647 -0.007316 -0.008411 -0.010524 -0.012822 -0.014929 -0.017244 "; C and A offset, and C and A temperature correction info" +C421.9 A423.3 16 0.247186 -0.313261 -0.002333 -0.002083 -0.001273 -0.000692 -0.000379 -0.000305 -0.000028 0.000268 0.000097 -0.000312 0.00014 -0.000011 -0.000154 0.000038 -0.000369 -0.000155 -0.000224 -0.000386 -0.000057 0.000469 -0.00073 -0.000101 0.00002 -0.000433 0.000079 0 0.000697 0.000823 0.001983 0.002716 0.002381 0.002916 0.0033 0.003709 0.003511 0.03458 0.037133 0.037763 0.037497 0.036636 0.036154 0.034872 0.033751 0.032396 0.031307 0.029702 0.028579 0.025715 0.023979 0.022209 0.020582 0.01852 0.017065 0.015402 0.013087 0.010559 0.009123 0.007123 0.004567 0.00224 0 -0.002226 -0.004235 -0.005919 -0.00732 -0.008798 -0.009904 -0.011828 -0.013986 -0.016142 "; C and A offset, and C and A temperature correction info" +C425.8 A427.4 17 0.295297 -0.209484 -0.004316 -0.002189 -0.001832 -0.000933 -0.001183 -0.001431 -0.000914 -0.000896 -0.000638 -0.000527 -0.000272 -0.000336 -0.000445 -0.000219 0.000025 0.000158 0.00024 -0.000412 0.00029 -0.000353 -0.000636 -0.000672 -0.001202 -0.000839 -0.000613 0 0.000008 0.000798 0.001402 0.002009 0.002569 0.003062 0.003647 0.003455 0.003076 0.031009 0.034394 0.035115 0.035101 0.034457 0.034267 0.032827 0.031974 0.030398 0.029308 0.02772 0.026647 0.02459 0.022505 0.021043 0.019417 0.017543 0.016317 0.014564 0.012994 0.01031 0.009028 0.006883 0.004624 0.002676 0 -0.001802 -0.003377 -0.005067 -0.006299 -0.007425 -0.00883 -0.010539 -0.012355 -0.014576 "; C and A offset, and C and A temperature correction info" +C430.1 A431.5 18 0.339235 -0.114756 -0.003828 -0.00274 -0.002437 -0.002006 -0.001506 -0.001404 -0.001182 -0.000684 -0.000389 -0.000669 -0.000526 -0.00082 -0.000685 -0.000457 -0.000518 -0.000318 -0.000495 -0.001084 -0.000673 -0.000692 -0.000952 -0.000738 -0.000526 -0.001284 -0.000456 0 0.000551 0.000583 0.001417 0.002072 0.002383 0.002643 0.003113 0.003526 0.003215 0.027098 0.030864 0.031894 0.032038 0.03177 0.031703 0.030851 0.029821 0.02842 0.02756 0.026473 0.025056 0.022869 0.021387 0.01987 0.018572 0.016801 0.015358 0.013896 0.012261 0.00968 0.008505 0.006409 0.004386 0.002409 0 -0.001658 -0.003256 -0.004767 -0.00579 -0.006934 -0.008198 -0.009586 -0.011419 -0.013163 "; C and A offset, and C and A temperature correction info" +C433.8 A435.4 20 0.382507 -0.02481 -0.004689 -0.003687 -0.003377 -0.002705 -0.002894 -0.002494 -0.002177 -0.001907 -0.001916 -0.001476 -0.0016 -0.001348 -0.000943 -0.000458 -0.000193 -0.000743 -0.000935 -0.001231 -0.00113 -0.000646 -0.001356 -0.001342 -0.001032 -0.00053 -0.000107 0 0.000712 0.000926 0.001798 0.00211 0.00255 0.003003 0.003372 0.003018 0.002897 0.02421 0.028064 0.029576 0.029777 0.029456 0.029636 0.028971 0.028231 0.026943 0.025512 0.025074 0.023739 0.021892 0.020361 0.019124 0.017583 0.016082 0.014885 0.013509 0.011776 0.009676 0.008125 0.00616 0.004269 0.002353 0 -0.001681 -0.003 -0.004694 -0.005457 -0.006114 -0.007303 -0.008909 -0.010285 -0.011867 "; C and A offset, and C and A temperature correction info" +C437.5 A438.9 21 0.419505 0.058958 -0.004525 -0.003579 -0.003619 -0.003335 -0.003115 -0.002986 -0.002918 -0.00252 -0.002487 -0.001928 -0.001416 -0.001247 -0.001134 -0.000529 -0.000337 -0.000499 -0.00097 -0.001529 -0.001327 -0.001615 -0.001752 -0.001249 -0.001453 -0.00114 -0.000123 0 0.000204 0.000991 0.001857 0.002269 0.002633 0.003151 0.003319 0.003271 0.003094 0.020709 0.02483 0.026323 0.026764 0.026612 0.026809 0.026217 0.025546 0.024474 0.023667 0.02268 0.021832 0.020084 0.018887 0.017544 0.016378 0.014975 0.014134 0.012636 0.011017 0.008959 0.007773 0.005701 0.003826 0.002079 0 -0.0016 -0.002899 -0.003982 -0.005073 -0.005715 -0.006807 -0.008039 -0.009232 -0.010958 "; C and A offset, and C and A temperature correction info" +C441.6 A443.2 22 0.454656 0.139318 -0.003881 -0.003841 -0.003759 -0.003444 -0.003338 -0.003184 -0.002919 -0.002509 -0.002232 -0.002342 -0.001916 -0.001977 -0.00145 -0.000629 -0.000728 -0.000474 -0.001413 -0.001801 -0.001887 -0.001548 -0.002 -0.002118 -0.001397 -0.001258 -0.000122 0 0.000477 0.000789 0.001564 0.002178 0.002379 0.002583 0.002884 0.002958 0.002661 0.017888 0.021876 0.023413 0.024185 0.024092 0.024381 0.023814 0.023132 0.022383 0.021622 0.021009 0.020358 0.018749 0.01742 0.016442 0.015524 0.014189 0.013392 0.011855 0.010533 0.008546 0.007215 0.005455 0.003718 0.001986 0 -0.001397 -0.002793 -0.00381 -0.00459 -0.005371 -0.006104 -0.007001 -0.008416 -0.009876 "; C and A offset, and C and A temperature correction info" +C445.8 A447.8 23 0.490731 0.215207 -0.005706 -0.004757 -0.004801 -0.004214 -0.003963 -0.004184 -0.003663 -0.003627 -0.003319 -0.002715 -0.002698 -0.002208 -0.001631 -0.000773 -0.000489 -0.000812 -0.001185 -0.002052 -0.002109 -0.002072 -0.002195 -0.001938 -0.001632 -0.001028 -0.00016 0 0.000467 0.001071 0.001864 0.002493 0.002307 0.002614 0.002798 0.002681 0.002624 0.015417 0.019606 0.021296 0.021999 0.022076 0.022463 0.022177 0.021736 0.02094 0.020427 0.019703 0.019073 0.017719 0.016562 0.015568 0.014688 0.013459 0.012743 0.011486 0.009991 0.008221 0.006938 0.005129 0.003591 0.001931 0 -0.001308 -0.002468 -0.003421 -0.004182 -0.004737 -0.005437 -0.006452 -0.007628 -0.009063 "; C and A offset, and C and A temperature correction info" +C450.2 A452.0 LtBlue 0.520512 0.287463 -0.005105 -0.004855 -0.005039 -0.004925 -0.004686 -0.00463 -0.004211 -0.003897 -0.003367 -0.003296 -0.002829 -0.002593 -0.001942 -0.001098 -0.000914 -0.001171 -0.001888 -0.002572 -0.002852 -0.002753 -0.002923 -0.002409 -0.002081 -0.001191 -0.000357 0 0.000273 0.000861 0.001661 0.001951 0.002129 0.002411 0.002581 0.002481 0.002298 0.013174 0.01734 0.0191 0.019887 0.02007 0.020687 0.020322 0.020143 0.019411 0.01896 0.018467 0.017868 0.016528 0.015457 0.014698 0.013826 0.012689 0.011913 0.010712 0.009454 0.007695 0.006523 0.004831 0.003352 0.001731 0 -0.00137 -0.002493 -0.003269 -0.003941 -0.004368 -0.005086 -0.005927 -0.006882 -0.008211 "; C and A offset, and C and A temperature correction info" +C454.5 A456.4 26 0.549325 0.357251 -0.004401 -0.004543 -0.004497 -0.004243 -0.004169 -0.00399 -0.003889 -0.003483 -0.003237 -0.002761 -0.00283 -0.002252 -0.001525 -0.000736 -0.000097 -0.000617 -0.001502 -0.00231 -0.00281 -0.002607 -0.002657 -0.002469 -0.001716 -0.001101 -0.000085 0 0.000685 0.001099 0.001804 0.002122 0.002269 0.002273 0.002349 0.002338 0.002089 0.010565 0.01496 0.016926 0.017882 0.018029 0.018551 0.018629 0.018458 0.017923 0.017384 0.01695 0.01657 0.015408 0.014458 0.013699 0.012731 0.011868 0.011129 0.010036 0.008831 0.00729 0.006193 0.004641 0.003198 0.001668 0 -0.001281 -0.002224 -0.003016 -0.003654 -0.003947 -0.004539 -0.005359 -0.006316 -0.007535 "; C and A offset, and C and A temperature correction info" +C458.7 A460.4 27 0.574659 0.424577 -0.005223 -0.004583 -0.004961 -0.004821 -0.004636 -0.004718 -0.004424 -0.003984 -0.003411 -0.003128 -0.002945 -0.002576 -0.001533 -0.000498 -0.000397 -0.000825 -0.001624 -0.002701 -0.002991 -0.00294 -0.0031 -0.002819 -0.002277 -0.001249 -0.000172 0 0.000214 0.000975 0.001633 0.002129 0.001956 0.002237 0.002222 0.002017 0.00167 0.008555 0.013166 0.015117 0.016178 0.016555 0.016977 0.017253 0.017065 0.016641 0.016445 0.015898 0.01547 0.014439 0.013671 0.012916 0.011868 0.011263 0.010479 0.009413 0.008373 0.006829 0.005705 0.004318 0.002831 0.001523 0 -0.001157 -0.002164 -0.002785 -0.003358 -0.003774 -0.004183 -0.004787 -0.005775 -0.006803 "; C and A offset, and C and A temperature correction info" +C462.7 A464.5 28 0.596751 0.488015 -0.00437 -0.004449 -0.004817 -0.004432 -0.004314 -0.004055 -0.004108 -0.003655 -0.00323 -0.002845 -0.002699 -0.002308 -0.001549 -0.000363 -0.000115 -0.000622 -0.001759 -0.002581 -0.003109 -0.002991 -0.003347 -0.00281 -0.002112 -0.000997 -0.000012 0 0.000494 0.000979 0.001782 0.002007 0.001961 0.00213 0.002239 0.002015 0.001729 0.006668 0.011348 0.013518 0.014543 0.015184 0.015651 0.01581 0.015887 0.015515 0.015368 0.014855 0.014559 0.013504 0.012816 0.012099 0.011431 0.010649 0.009947 0.00894 0.008014 0.006536 0.005444 0.004152 0.002665 0.001454 0 -0.001067 -0.001805 -0.002539 -0.003047 -0.003269 -0.003635 -0.004316 -0.005071 -0.006014 "; C and A offset, and C and A temperature correction info" +C466.8 A468.5 30 0.619245 0.548444 -0.004539 -0.004399 -0.004485 -0.004338 -0.004322 -0.004082 -0.003953 -0.003675 -0.003237 -0.002932 -0.002807 -0.002269 -0.001424 -0.000388 0.000042 -0.000632 -0.001792 -0.002654 -0.003231 -0.00316 -0.003329 -0.003107 -0.002214 -0.001204 -0.000337 0 0.000292 0.000854 0.001703 0.001931 0.00189 0.00183 0.0019 0.001671 0.001315 0.004622 0.009623 0.011944 0.013018 0.013727 0.014266 0.01451 0.014467 0.014232 0.014061 0.013753 0.013376 0.012677 0.011878 0.011225 0.010587 0.009871 0.009337 0.008397 0.007413 0.006022 0.005128 0.003885 0.002665 0.001405 0 -0.00102 -0.001727 -0.00232 -0.002779 -0.002954 -0.003387 -0.003879 -0.004662 -0.005526 "; C and A offset, and C and A temperature correction info" +C471.2 A473.3 31 0.641293 0.605475 -0.004669 -0.004006 -0.004579 -0.004389 -0.00418 -0.004216 -0.004174 -0.003855 -0.003245 -0.002927 -0.002542 -0.002313 -0.001264 -0.000183 0.00002 -0.000514 -0.001701 -0.002928 -0.003535 -0.003473 -0.00352 -0.003123 -0.002559 -0.001176 -0.00009 0 0.000168 0.000885 0.001626 0.001811 0.001579 0.001688 0.001498 0.001438 0.001163 0.003222 0.008318 0.010704 0.011827 0.012641 0.013286 0.013431 0.013585 0.013353 0.013177 0.012949 0.012713 0.011939 0.0113 0.010678 0.010063 0.009365 0.008833 0.008011 0.007065 0.005849 0.004864 0.003615 0.002457 0.001272 0 -0.000909 -0.001589 -0.002164 -0.002492 -0.002694 -0.002948 -0.003491 -0.004177 -0.004922 "; C and A offset, and C and A temperature correction info" +C475.7 A477.8 32 0.660348 0.659976 -0.004115 -0.00399 -0.004243 -0.004041 -0.003989 -0.004028 -0.003772 -0.003509 -0.003222 -0.002683 -0.002569 -0.002149 -0.001253 -0.000311 -0.000117 -0.000493 -0.001829 -0.002842 -0.003502 -0.003422 -0.003533 -0.003044 -0.002291 -0.000991 -0.000064 0 0.000538 0.000969 0.001716 0.001782 0.001744 0.001694 0.001711 0.001394 0.001105 0.001681 0.006869 0.009295 0.010548 0.011318 0.012071 0.012254 0.012414 0.012279 0.012146 0.011962 0.01167 0.010964 0.010355 0.009797 0.009276 0.008644 0.008183 0.00724 0.00643 0.005336 0.00448 0.003306 0.002159 0.001076 0 -0.000933 -0.001555 -0.002091 -0.002323 -0.00243 -0.002672 -0.00318 -0.003683 -0.004496 "; C and A offset, and C and A temperature correction info" +C480.3 A482.4 34 0.679881 0.712679 -0.004366 -0.00374 -0.004059 -0.003873 -0.003948 -0.003824 -0.003978 -0.003477 -0.003096 -0.002694 -0.002602 -0.002209 -0.001006 0.000094 0.000341 -0.000375 -0.001483 -0.002817 -0.003457 -0.003557 -0.003637 -0.003392 -0.002283 -0.001154 -0.000102 0 0.000355 0.000912 0.00149 0.001763 0.001535 0.001527 0.001384 0.001115 0.000822 0.000347 0.005662 0.00813 0.009337 0.010164 0.01092 0.011104 0.011312 0.011262 0.011275 0.011016 0.010855 0.010197 0.009635 0.009098 0.008565 0.00813 0.007638 0.006796 0.005986 0.004986 0.004177 0.00316 0.002063 0.00103 0 -0.000819 -0.001497 -0.001898 -0.002106 -0.002208 -0.002435 -0.002784 -0.00336 -0.004021 "; C and A offset, and C and A temperature correction info" +C484.8 A486.7 35 0.696834 0.76238 -0.003713 -0.003309 -0.00376 -0.003759 -0.003659 -0.003584 -0.003631 -0.00329 -0.002897 -0.002477 -0.002101 -0.001883 -0.000905 -0.000014 0.000261 -0.000361 -0.001554 -0.002765 -0.003584 -0.003549 -0.00363 -0.003166 -0.002404 -0.001132 -0.000073 0 0.000202 0.000783 0.001506 0.001526 0.001448 0.001453 0.001265 0.000999 0.000675 -0.000681 0.004606 0.007089 0.008434 0.009264 0.010084 0.010275 0.010551 0.010542 0.010431 0.010313 0.010138 0.009523 0.009036 0.008537 0.008049 0.007605 0.007228 0.006448 0.005671 0.004675 0.003978 0.00292 0.001881 0.001053 0 -0.000813 -0.001329 -0.001712 -0.00181 -0.001947 -0.00201 -0.00233 -0.002941 -0.003549 "; C and A offset, and C and A temperature correction info" +C489.0 A490.9 36 0.714227 0.809929 -0.003458 -0.003369 -0.003513 -0.003397 -0.003446 -0.003371 -0.003432 -0.003163 -0.0027 -0.002355 -0.002409 -0.001912 -0.001122 -0.000046 0.0002 -0.000375 -0.001724 -0.002787 -0.003596 -0.003449 -0.003605 -0.003111 -0.002164 -0.000918 -0.000043 0 0.000354 0.000898 0.001489 0.001608 0.001341 0.001328 0.001181 0.000876 0.000454 -0.002174 0.003211 0.005776 0.007174 0.008094 0.008866 0.009204 0.009467 0.009449 0.009529 0.009375 0.009233 0.008659 0.008244 0.00778 0.007445 0.006932 0.006602 0.00596 0.005208 0.004347 0.003572 0.002701 0.001784 0.000951 0 -0.000638 -0.001192 -0.001559 -0.001664 -0.001676 -0.00188 -0.002088 -0.002648 -0.003183 "; C and A offset, and C and A temperature correction info" +C493.2 A494.9 37 0.73081 0.855908 -0.004056 -0.003158 -0.003618 -0.003559 -0.003557 -0.003418 -0.003524 -0.003182 -0.002673 -0.002224 -0.0021 -0.001777 -0.000768 0.000274 0.000435 -0.000296 -0.001454 -0.002676 -0.003373 -0.003416 -0.003599 -0.003103 -0.002213 -0.00097 -0.000008 0 0.000263 0.000767 0.001393 0.001446 0.001218 0.001193 0.001036 0.000692 0.000343 -0.003191 0.002262 0.004859 0.006256 0.007257 0.008023 0.008385 0.00865 0.008653 0.008661 0.008699 0.008593 0.008088 0.007719 0.007274 0.006874 0.006517 0.006146 0.005503 0.004861 0.004063 0.003408 0.002478 0.001628 0.000828 0 -0.000635 -0.001152 -0.001456 -0.001563 -0.001523 -0.001625 -0.001839 -0.002281 -0.002849 "; C and A offset, and C and A temperature correction info" +C497.2 A499.1 39 0.743239 0.898055 -0.002834 -0.002584 -0.003003 -0.002883 -0.002915 -0.003 -0.002972 -0.002612 -0.002316 -0.001924 -0.001826 -0.001513 -0.000841 0.00022 0.0003 -0.000188 -0.001336 -0.00258 -0.003394 -0.003314 -0.003422 -0.00302 -0.002192 -0.000889 0.000031 0 0.000304 0.000827 0.001325 0.00145 0.00115 0.001181 0.000883 0.000527 0.000252 -0.004211 0.001177 0.003847 0.005363 0.006311 0.0071 0.007568 0.007854 0.007891 0.008014 0.008007 0.007855 0.007416 0.007156 0.006726 0.006411 0.006062 0.00575 0.005161 0.004554 0.003735 0.003106 0.002355 0.001605 0.00087 0 -0.000591 -0.00096 -0.001247 -0.001313 -0.001326 -0.001349 -0.001534 -0.001899 -0.002451 "; C and A offset, and C and A temperature correction info" +C501.4 A503.5 40 0.755189 0.937653 -0.002996 -0.002518 -0.00269 -0.002698 -0.002652 -0.002637 -0.00264 -0.002428 -0.00211 -0.001687 -0.001735 -0.001361 -0.000565 0.000356 0.000496 -0.000083 -0.001265 -0.002395 -0.00315 -0.003134 -0.003266 -0.002788 -0.001897 -0.000746 0.000029 0 0.000251 0.000631 0.001288 0.001283 0.001058 0.000949 0.000736 0.000537 0.00001 -0.005126 0.000404 0.003139 0.00468 0.005614 0.006514 0.006981 0.007297 0.007342 0.007392 0.007487 0.007365 0.006956 0.006612 0.006287 0.006055 0.005725 0.005291 0.004812 0.00428 0.003561 0.002946 0.002244 0.001455 0.000849 0 -0.000457 -0.000851 -0.001131 -0.001114 -0.001041 -0.001128 -0.001288 -0.001634 -0.002094 "; C and A offset, and C and A temperature correction info" +C505.5 A508.0 41 0.766908 0.974387 -0.002859 -0.002054 -0.002441 -0.002509 -0.002485 -0.002495 -0.002698 -0.002271 -0.001833 -0.001617 -0.001374 -0.001208 -0.000363 0.00043 0.000599 -0.000065 -0.001179 -0.002342 -0.003134 -0.003111 -0.003172 -0.002834 -0.00201 -0.000783 -0.000022 0 0.00014 0.000658 0.001069 0.001187 0.000885 0.000822 0.000588 0.000178 -0.000212 -0.00624 -0.000599 0.002178 0.003709 0.004747 0.005683 0.006142 0.006472 0.006617 0.006699 0.006788 0.006766 0.006373 0.00611 0.005772 0.005504 0.005247 0.004912 0.00445 0.003961 0.003273 0.002696 0.002057 0.001353 0.000742 0 -0.000421 -0.00077 -0.000988 -0.000978 -0.000918 -0.000876 -0.001033 -0.001418 -0.001805 "; C and A offset, and C and A temperature correction info" +C510.2 A512.3 42 0.776796 1.009814 -0.002265 -0.001862 -0.002124 -0.002068 -0.002133 -0.002126 -0.002152 -0.001855 -0.001537 -0.001181 -0.001271 -0.000988 -0.000443 0.000405 0.000504 0.000027 -0.001016 -0.002123 -0.002765 -0.00292 -0.002937 -0.002534 -0.001714 -0.000525 0.000127 0 0.000323 0.000608 0.001156 0.001156 0.000975 0.000828 0.000689 0.000143 -0.000215 -0.006884 -0.00127 0.001551 0.00313 0.004153 0.005116 0.00565 0.005991 0.00614 0.006257 0.006281 0.006249 0.00585 0.00566 0.005388 0.005127 0.004797 0.004483 0.004146 0.003686 0.003004 0.002552 0.001869 0.001256 0.000671 0 -0.000432 -0.000796 -0.000929 -0.000911 -0.000825 -0.000773 -0.000884 -0.001207 -0.001596 "; C and A offset, and C and A temperature correction info" +C514.7 A517.0 44 0.785791 1.044468 -0.002663 -0.001819 -0.001964 -0.001897 -0.00195 -0.001928 -0.001976 -0.001717 -0.001357 -0.001079 -0.001142 -0.000867 -0.000145 0.000484 0.000594 0.00013 -0.000894 -0.001962 -0.002757 -0.002618 -0.00276 -0.002331 -0.001516 -0.000629 0.00002 0 0.000194 0.000657 0.001007 0.001085 0.000834 0.000636 0.000335 -0.000024 -0.000362 -0.007793 -0.001941 0.000914 0.002498 0.003575 0.004521 0.005106 0.005451 0.005586 0.00576 0.005789 0.005806 0.005502 0.005298 0.00501 0.0048 0.004496 0.004237 0.003854 0.003399 0.002816 0.002361 0.001775 0.001187 0.000622 0 -0.000393 -0.000664 -0.000798 -0.000774 -0.000659 -0.000563 -0.000629 -0.000934 -0.001325 "; C and A offset, and C and A temperature correction info" +C519.2 A521.3 45 0.793947 1.078762 -0.001904 -0.001091 -0.001407 -0.001466 -0.001442 -0.001481 -0.001649 -0.001258 -0.00097 -0.00072 -0.000654 -0.000549 0.000066 0.000644 0.000724 0.000288 -0.000667 -0.001736 -0.002408 -0.002493 -0.002638 -0.002262 -0.001592 -0.000559 0.000091 0 0.000158 0.000507 0.000915 0.000935 0.000624 0.000538 0.000234 -0.000106 -0.000558 -0.008352 -0.002538 0.000363 0.00196 0.003034 0.003998 0.004598 0.00499 0.005138 0.005249 0.005346 0.005361 0.005056 0.004916 0.00462 0.004428 0.004176 0.003836 0.00348 0.003156 0.002583 0.002207 0.001639 0.001073 0.000566 0 -0.000345 -0.00057 -0.000687 -0.000628 -0.00048 -0.000426 -0.000494 -0.00074 -0.001097 "; C and A offset, and C and A temperature correction info" +C523.5 A525.6 46 0.802149 1.111619 -0.001326 -0.000815 -0.000918 -0.000813 -0.000951 -0.000982 -0.001107 -0.000742 -0.0005 -0.000233 -0.000438 -0.000198 0.000202 0.000738 0.000752 0.000363 -0.000548 -0.001452 -0.002121 -0.002176 -0.002263 -0.00194 -0.001165 -0.00033 0.000165 0 0.000201 0.000495 0.000807 0.000826 0.000632 0.000564 0.000306 -0.00015 -0.000538 -0.00917 -0.003204 -0.000238 0.001411 0.002548 0.003553 0.004151 0.004551 0.004752 0.004867 0.004912 0.004998 0.00469 0.004523 0.004273 0.004062 0.003862 0.003579 0.003254 0.002886 0.002372 0.002043 0.001523 0.001014 0.000565 0 -0.000312 -0.000462 -0.000587 -0.000525 -0.000349 -0.000298 -0.000342 -0.000571 -0.000859 "; C and A offset, and C and A temperature correction info" +C527.7 A529.8 47 0.810847 1.143431 -0.001203 -0.000224 -0.000383 -0.000419 -0.000476 -0.000534 -0.000709 -0.000395 -0.000179 0.000075 0.000049 0.000086 0.000549 0.00098 0.000952 0.000557 -0.000346 -0.00124 -0.001837 -0.00186 -0.002045 -0.001688 -0.001147 -0.000357 0.000095 0 0.00011 0.000475 0.00077 0.000753 0.000539 0.000376 0.000005 -0.000309 -0.000741 -0.009694 -0.003584 -0.000605 0.001019 0.002118 0.003108 0.003825 0.00419 0.004344 0.004513 0.004574 0.004617 0.004379 0.00418 0.003956 0.003725 0.003522 0.00332 0.00298 0.002622 0.002204 0.001785 0.001305 0.000888 0.000456 0 -0.000333 -0.000494 -0.000555 -0.000507 -0.000325 -0.000218 -0.000253 -0.000406 -0.000741 "; C and A offset, and C and A temperature correction info" +C531.5 A533.5 49 0.819689 1.173877 -0.00041 0.000227 0.00004 -0.000006 -0.000048 -0.000118 -0.000242 0.000094 0.000321 0.000453 0.000329 0.000333 0.000659 0.000993 0.000894 0.000573 -0.000126 -0.001048 -0.001627 -0.001727 -0.001861 -0.001568 -0.000998 -0.000204 0.000159 0 0.000117 0.000316 0.000606 0.000628 0.000424 0.000309 0.000041 -0.00044 -0.000801 -0.01011 -0.004028 -0.001027 0.000659 0.001811 0.002799 0.003476 0.00386 0.004066 0.00421 0.004281 0.004292 0.004062 0.003901 0.003725 0.003474 0.003243 0.002973 0.002715 0.00238 0.001901 0.001658 0.001206 0.000782 0.000414 0 -0.000298 -0.00044 -0.00048 -0.000388 -0.000236 -0.000099 -0.000154 -0.000295 -0.000535 "; C and A offset, and C and A temperature correction info" +C535.3 A537.7 LtCyan 0.825373 1.202758 0.000027 0.000721 0.000645 0.000665 0.000515 0.000352 0.000271 0.000554 0.000678 0.000868 0.000587 0.000672 0.000848 0.001181 0.001094 0.000825 0.000043 -0.000763 -0.001264 -0.001351 -0.00157 -0.001229 -0.000688 -0.000132 0.000177 0 0.000168 0.000351 0.000581 0.000648 0.000443 0.000222 0.00001 -0.000368 -0.000823 -0.010431 -0.004246 -0.001219 0.000475 0.001651 0.002646 0.003323 0.003691 0.003913 0.004037 0.004079 0.004119 0.003902 0.003747 0.003501 0.003254 0.00305 0.002796 0.002531 0.002263 0.001863 0.001538 0.001137 0.000751 0.000371 0 -0.000268 -0.000434 -0.000463 -0.000338 -0.000128 0.000009 0.000002 -0.000144 -0.000395 "; C and A offset, and C and A temperature correction info" +C539.4 A541.6 51 0.834312 1.229663 0.000097 0.001073 0.000914 0.000846 0.000745 0.000682 0.000536 0.000882 0.000994 0.001147 0.001093 0.000956 0.001228 0.001361 0.001232 0.000902 0.000255 -0.000481 -0.001008 -0.00109 -0.001267 -0.001053 -0.000684 -0.000098 0.000198 0 0.000023 0.000284 0.000477 0.00049 0.00031 0.000135 -0.000192 -0.000518 -0.000982 -0.010392 -0.00422 -0.001237 0.000421 0.001574 0.002592 0.003263 0.00359 0.003789 0.003885 0.003966 0.003943 0.003747 0.003576 0.003314 0.003104 0.002892 0.002633 0.002388 0.002124 0.00173 0.001444 0.001064 0.000738 0.000386 0 -0.000201 -0.000342 -0.000346 -0.000248 -0.000061 0.000102 0.000117 -0.000054 -0.000237 "; C and A offset, and C and A temperature correction info" +C543.3 A545.7 52 0.842232 1.255119 0.001114 0.001543 0.001439 0.001456 0.001325 0.001222 0.001074 0.00135 0.00148 0.001495 0.001232 0.001191 0.00117 0.001315 0.001142 0.000966 0.000407 -0.00032 -0.000809 -0.000887 -0.001068 -0.000826 -0.000429 0.000067 0.000234 0 0.000116 0.000183 0.000398 0.00036 0.000243 0.000128 -0.000156 -0.000604 -0.000961 -0.010508 -0.004372 -0.001355 0.000357 0.001449 0.002483 0.003166 0.00348 0.003708 0.003804 0.00384 0.003822 0.003576 0.003393 0.00319 0.002969 0.002713 0.0025 0.002262 0.002009 0.001631 0.001387 0.001015 0.00066 0.000362 0 -0.000178 -0.000304 -0.000345 -0.000205 -0.000022 0.000122 0.000144 0.000048 -0.000151 "; C and A offset, and C and A temperature correction info" +C547.5 A549.7 54 0.849851 1.279411 0.001315 0.002002 0.001964 0.001861 0.00175 0.001597 0.001421 0.001667 0.001751 0.001826 0.001523 0.001459 0.001437 0.001425 0.001264 0.001053 0.000511 -0.000127 -0.000479 -0.000547 -0.000849 -0.00058 -0.000219 0.000075 0.00021 0 0.000053 0.000179 0.000262 0.000375 0.000252 0.000034 -0.000228 -0.00056 -0.00103 -0.010816 -0.004538 -0.001523 0.000195 0.00132 0.002345 0.002995 0.003335 0.003533 0.003648 0.003659 0.003678 0.003445 0.003272 0.003032 0.00278 0.00261 0.002355 0.002124 0.001908 0.001558 0.001288 0.000983 0.000638 0.000327 0 -0.000191 -0.0003 -0.000358 -0.000198 -0.000028 0.000104 0.000139 0.000043 -0.000123 "; C and A offset, and C and A temperature correction info" +C551.4 A553.6 55 0.857776 1.302573 0.001772 0.002305 0.002136 0.002066 0.001982 0.001815 0.001645 0.002003 0.00211 0.002109 0.001948 0.001701 0.001736 0.001612 0.001346 0.00118 0.000701 0.000153 -0.00029 -0.000353 -0.0006 -0.000391 -0.000207 0.000201 0.000253 0 0.000049 0.000188 0.000272 0.000258 0.000148 -0.000026 -0.000263 -0.000651 -0.001071 -0.011226 -0.004901 -0.001874 -0.000147 0.001028 0.002034 0.002726 0.003038 0.003236 0.003359 0.003414 0.003416 0.003198 0.003034 0.002784 0.002563 0.002338 0.002153 0.001954 0.001712 0.001402 0.001147 0.000859 0.000566 0.000287 0 -0.000223 -0.000318 -0.000328 -0.00022 -0.000009 0.000114 0.00015 0.000011 -0.000122 "; C and A offset, and C and A temperature correction info" +C555.5 A557.9 56 0.865683 1.324964 0.002029 0.002338 0.002408 0.002406 0.002167 0.002105 0.001976 0.002209 0.002277 0.002232 0.001941 0.001759 0.001554 0.001466 0.001239 0.001172 0.000798 0.000284 -0.000076 -0.000106 -0.000331 -0.000144 0.000063 0.000257 0.000237 0 0.00003 0.000052 0.000145 0.000206 0.000164 0.000028 -0.000262 -0.000634 -0.001014 -0.011725 -0.005377 -0.002303 -0.000574 0.00063 0.001704 0.002373 0.002756 0.002932 0.003057 0.003097 0.003141 0.002939 0.002763 0.002565 0.002379 0.002146 0.002014 0.001835 0.001638 0.001336 0.001139 0.000886 0.000549 0.000308 0 -0.000157 -0.000264 -0.00028 -0.000137 0.000021 0.000143 0.000171 0.00008 -0.000074 "; C and A offset, and C and A temperature correction info" +C559.4 A561.8 57 0.872625 1.346189 0.001549 0.002121 0.002129 0.002102 0.002022 0.001933 0.001779 0.002047 0.002165 0.002137 0.001886 0.001746 0.001596 0.001371 0.001152 0.001105 0.000761 0.000373 0.000103 0.000036 -0.000244 -0.000007 0.000108 0.000232 0.000185 0 -0.000026 0.000061 0.000082 0.000202 0.000076 -0.000076 -0.000377 -0.000677 -0.001166 -0.012202 -0.005728 -0.002657 -0.000923 0.000319 0.001393 0.002095 0.002455 0.002647 0.002797 0.002901 0.002912 0.002751 0.002636 0.002461 0.002215 0.002035 0.001892 0.001736 0.001565 0.001246 0.001085 0.000831 0.000536 0.000302 0 -0.00014 -0.000228 -0.000258 -0.000152 0.000018 0.000152 0.000174 0.000065 -0.000104 "; C and A offset, and C and A temperature correction info" +C563.5 A565.9 59 0.879712 1.365547 0.001903 0.002164 0.002163 0.002175 0.002133 0.002071 0.001948 0.002337 0.002363 0.002301 0.002101 0.00185 0.001618 0.001354 0.001071 0.001128 0.000867 0.000578 0.000307 0.000258 -0.000006 0.00015 0.000242 0.00033 0.000265 0 0.000009 0.000038 0.000134 0.000122 0.000081 -0.000034 -0.0003 -0.000651 -0.001104 -0.012643 -0.006172 -0.003071 -0.001297 -0.000077 0.00103 0.00172 0.002083 0.002302 0.002446 0.002535 0.002594 0.002433 0.002311 0.002125 0.001982 0.001838 0.001685 0.001575 0.001418 0.001158 0.000992 0.000743 0.000485 0.000249 0 -0.000151 -0.000246 -0.000271 -0.000175 0.000034 0.000115 0.000152 0.000033 -0.000149 "; C and A offset, and C and A temperature correction info" +C567.3 A569.6 60 0.883882 1.382734 0.001933 0.002163 0.002301 0.002303 0.002164 0.002076 0.001989 0.00233 0.002353 0.002365 0.002 0.00184 0.001529 0.001283 0.00101 0.00108 0.000975 0.000629 0.000475 0.000438 0.000159 0.000332 0.000428 0.000427 0.000243 0 0.000035 0.00004 0.000024 0.000146 0.000188 -0.000017 -0.00024 -0.000584 -0.001065 -0.013176 -0.006699 -0.003544 -0.001753 -0.000535 0.000603 0.001318 0.001696 0.00196 0.002118 0.002225 0.002265 0.002179 0.002103 0.001938 0.001803 0.001693 0.001574 0.001475 0.001362 0.001093 0.000924 0.000695 0.000446 0.000273 0 -0.000148 -0.000224 -0.000227 -0.000121 0.000052 0.000182 0.000201 0.000069 -0.00011 "; C and A offset, and C and A temperature correction info" +C570.8 A573.0 61 0.885909 1.396999 0.001542 0.001959 0.002063 0.002145 0.002078 0.002037 0.001919 0.002304 0.002391 0.002345 0.002123 0.00187 0.001586 0.00124 0.000968 0.001019 0.000968 0.000755 0.000665 0.000617 0.00029 0.000455 0.00048 0.000449 0.000261 0 -0.000009 0.000018 -0.000015 0.000094 0.000078 -0.00006 -0.000349 -0.000677 -0.001135 -0.013679 -0.007113 -0.00395 -0.002167 -0.000906 0.000239 0.000962 0.001379 0.00162 0.001789 0.001932 0.002033 0.001939 0.001868 0.001727 0.001593 0.001531 0.001429 0.001345 0.001231 0.000998 0.000846 0.000655 0.00039 0.000205 0 -0.00015 -0.000253 -0.000252 -0.000115 0.000044 0.000213 0.000199 0.00011 -0.000039 "; C and A offset, and C and A temperature correction info" +C574.2 A576.4 62 0.886899 1.408256 0.001736 0.001821 0.001973 0.002062 0.001976 0.001962 0.001944 0.002346 0.002395 0.002278 0.002053 0.001818 0.001436 0.001086 0.000788 0.000988 0.000952 0.000858 0.000781 0.000769 0.000515 0.000649 0.000601 0.000496 0.000272 0 0.000005 -0.000011 -0.000012 0.000057 0.000068 -0.000049 -0.000311 -0.000664 -0.001112 -0.014016 -0.007543 -0.004381 -0.002593 -0.001322 -0.000155 0.000547 0.00095 0.001256 0.001425 0.001574 0.001679 0.00163 0.001564 0.001467 0.001391 0.001326 0.00129 0.001218 0.001113 0.000893 0.000758 0.000587 0.000365 0.000185 0 -0.000124 -0.000181 -0.000181 -0.000049 0.000153 0.000279 0.000294 0.000208 0.000058 "; C and A offset, and C and A temperature correction info" +C576.6 A579.3 64 0.882846 1.4169 0.001877 0.00251 0.002711 0.002853 0.002807 0.002789 0.002694 0.003146 0.003202 0.003139 0.002916 0.002595 0.002232 0.001805 0.001512 0.001689 0.001703 0.001611 0.001417 0.001326 0.000952 0.001035 0.00085 0.000678 0.000312 0 -0.000024 -0.000077 -0.000098 0.000002 0.0001 -0.000063 -0.000342 -0.000682 -0.001169 -0.011008 -0.005416 -0.002423 -0.000762 0.000385 0.001436 0.002081 0.002469 0.002703 0.002821 0.00294 0.003018 0.002907 0.002829 0.002684 0.002595 0.002471 0.002396 0.002213 0.002009 0.001732 0.001446 0.001111 0.000733 0.000416 0 -0.00027 -0.000457 -0.000484 -0.000406 -0.000185 -0.000058 -0.000042 -0.000118 -0.000206 "; C and A offset, and C and A temperature correction info" +C580.3 A583.0 65 0.879623 1.425817 0.002072 0.002561 0.002915 0.003027 0.002986 0.002957 0.002846 0.003288 0.003301 0.003205 0.002877 0.002729 0.00222 0.001865 0.001506 0.001769 0.00192 0.001802 0.001705 0.00163 0.001263 0.001332 0.001161 0.000807 0.000417 0 -0.000063 -0.000117 -0.000134 0.000056 0.000118 -0.000051 -0.000282 -0.000605 -0.001133 -0.010829 -0.005266 -0.002304 -0.000596 0.000577 0.001596 0.002301 0.002675 0.002894 0.003061 0.003149 0.003256 0.003163 0.003094 0.002964 0.002847 0.002757 0.002627 0.002427 0.002239 0.001939 0.001697 0.001304 0.00084 0.000454 0 -0.000299 -0.000527 -0.000545 -0.000451 -0.000282 -0.000117 -0.000088 -0.000196 -0.000323 "; C and A offset, and C and A temperature correction info" +C584.1 A586.9 66 0.873849 1.430373 0.002417 0.003061 0.003368 0.003478 0.003372 0.003348 0.003264 0.003709 0.003689 0.00362 0.00334 0.00307 0.002591 0.002074 0.00175 0.002031 0.002186 0.002108 0.002096 0.001967 0.001519 0.001578 0.00126 0.000831 0.000363 0 -0.000118 -0.000145 -0.000197 -0.000001 0.000112 -0.000035 -0.00025 -0.000566 -0.001053 -0.010529 -0.005072 -0.002143 -0.000525 0.000626 0.001673 0.002355 0.00272 0.002977 0.003152 0.003298 0.003388 0.003284 0.003229 0.003073 0.003002 0.002903 0.002782 0.002573 0.002402 0.002099 0.001806 0.001373 0.000922 0.000483 0 -0.000355 -0.000571 -0.000604 -0.000505 -0.000357 -0.000206 -0.000153 -0.000255 -0.000422 "; C and A offset, and C and A temperature correction info" +C588.0 A591.0 67 0.862825 1.42912 0.002955 0.003354 0.003643 0.00375 0.003741 0.00367 0.003615 0.004087 0.004056 0.003908 0.003636 0.003293 0.002745 0.002206 0.00181 0.002195 0.002344 0.002403 0.002337 0.002241 0.001782 0.00182 0.001492 0.000974 0.000412 0 -0.000107 -0.000216 -0.000259 -0.00007 0.000074 -0.000034 -0.000279 -0.00061 -0.001075 -0.010346 -0.004987 -0.002044 -0.000393 0.000753 0.001777 0.002442 0.002852 0.003111 0.003308 0.003436 0.003562 0.003474 0.003438 0.003312 0.003241 0.003151 0.00302 0.0028 0.002607 0.002331 0.002008 0.00154 0.001064 0.00056 0 -0.000356 -0.000589 -0.000633 -0.000523 -0.000358 -0.000192 -0.000161 -0.000253 -0.000387 "; C and A offset, and C and A temperature correction info" +C591.7 A594.9 69 0.846698 1.422803 0.00305 0.003581 0.004008 0.004116 0.004074 0.004039 0.003996 0.004422 0.004387 0.004246 0.003875 0.003603 0.002969 0.002385 0.002053 0.002369 0.002653 0.002688 0.002714 0.002613 0.002158 0.002139 0.001739 0.001107 0.000491 0 -0.000143 -0.000269 -0.000322 -0.000075 0.000066 -0.000085 -0.000283 -0.000541 -0.001032 -0.010425 -0.005085 -0.002188 -0.000511 0.000614 0.001658 0.002366 0.002748 0.003021 0.00321 0.003355 0.003484 0.00344 0.003386 0.003293 0.003191 0.003134 0.003001 0.002846 0.002649 0.002374 0.002057 0.001574 0.001038 0.000538 0 -0.00041 -0.000634 -0.000671 -0.00056 -0.0004 -0.000257 -0.000212 -0.000272 -0.00043 "; C and A offset, and C and A temperature correction info" +C595.9 A599.1 70 0.824313 1.415164 0.003188 0.003779 0.004139 0.004277 0.004206 0.004091 0.004077 0.004524 0.004499 0.00438 0.004063 0.003707 0.003054 0.00244 0.002018 0.002448 0.002764 0.002874 0.002924 0.002798 0.002332 0.002298 0.001801 0.001136 0.000455 0 -0.000151 -0.000285 -0.000371 -0.000128 0.00002 -0.00008 -0.000316 -0.000608 -0.001092 -0.010642 -0.005269 -0.00231 -0.000659 0.000513 0.001555 0.00227 0.002695 0.002988 0.00315 0.003337 0.003458 0.003417 0.003379 0.003298 0.003215 0.003173 0.003071 0.002877 0.002728 0.002421 0.002129 0.001624 0.001074 0.000566 0 -0.000414 -0.000655 -0.000687 -0.000597 -0.000412 -0.000267 -0.000219 -0.000307 -0.000436 "; C and A offset, and C and A temperature correction info" +C599.9 A603.3 71 0.802611 1.411586 0.003425 0.003881 0.004341 0.00449 0.004438 0.004388 0.004362 0.004813 0.004797 0.004591 0.004217 0.003859 0.003149 0.002449 0.002087 0.002545 0.002894 0.003069 0.003183 0.003062 0.00258 0.002561 0.002012 0.001228 0.000489 0 -0.000186 -0.000347 -0.000445 -0.000219 -0.000015 -0.000164 -0.000375 -0.00064 -0.001087 -0.010775 -0.005467 -0.002536 -0.000874 0.000299 0.001337 0.002056 0.002504 0.002791 0.00304 0.003182 0.003337 0.00331 0.003319 0.003232 0.003178 0.003143 0.003025 0.002863 0.002696 0.002443 0.002136 0.001654 0.001119 0.000579 0 -0.000399 -0.000651 -0.000688 -0.000569 -0.000363 -0.000234 -0.000168 -0.000259 -0.000416 "; C and A offset, and C and A temperature correction info" +C604.1 A607.5 72 0.78608 1.415804 0.003233 0.003956 0.004496 0.004656 0.004619 0.004614 0.00454 0.005002 0.004918 0.004751 0.004383 0.003992 0.003242 0.002531 0.002131 0.002605 0.003098 0.003227 0.003391 0.003272 0.002777 0.002729 0.002107 0.001272 0.000553 0 -0.000193 -0.00036 -0.000475 -0.000224 -0.000049 -0.000171 -0.000396 -0.000651 -0.001131 -0.010839 -0.005445 -0.002485 -0.000846 0.000337 0.001359 0.002092 0.002506 0.002803 0.003013 0.003199 0.00336 0.003328 0.003275 0.003205 0.003154 0.003096 0.003003 0.002843 0.002697 0.002417 0.002133 0.001657 0.001097 0.000576 0 -0.000407 -0.000626 -0.000674 -0.00054 -0.000369 -0.000196 -0.000138 -0.00021 -0.000363 "; C and A offset, and C and A temperature correction info" +C608.5 A611.8 74 0.776255 1.426421 0.003321 0.004018 0.004482 0.004643 0.004549 0.004486 0.00447 0.004983 0.004914 0.004759 0.00442 0.004018 0.003257 0.002509 0.002101 0.002625 0.003096 0.003392 0.003553 0.003437 0.002917 0.00289 0.002201 0.001332 0.000523 0 -0.000189 -0.000406 -0.000502 -0.000274 -0.000059 -0.000172 -0.000409 -0.000655 -0.001131 -0.011013 -0.005633 -0.002682 -0.001014 0.000175 0.001205 0.001923 0.00238 0.002688 0.002916 0.003072 0.003209 0.003165 0.003136 0.003072 0.003036 0.003007 0.002915 0.002782 0.002598 0.002353 0.002073 0.001598 0.00106 0.000566 0 -0.000402 -0.000622 -0.000657 -0.000522 -0.00033 -0.00015 -0.00011 -0.000172 -0.000305 "; C and A offset, and C and A temperature correction info" +C612.5 A616.2 LtGreen 0.774734 1.439822 0.003547 0.004127 0.004711 0.00488 0.004829 0.004793 0.004781 0.005241 0.005154 0.004962 0.00456 0.00414 0.003287 0.002494 0.002075 0.00261 0.003095 0.003372 0.003571 0.0035 0.003006 0.00292 0.002278 0.001359 0.00054 0 -0.0002 -0.000436 -0.000546 -0.000309 -0.000105 -0.000238 -0.000468 -0.000731 -0.001254 -0.01119 -0.005819 -0.002846 -0.00114 0.000091 0.001104 0.001807 0.002241 0.002585 0.002799 0.002935 0.003092 0.003066 0.003069 0.003005 0.002964 0.002919 0.002824 0.002666 0.002521 0.002305 0.002009 0.001571 0.001058 0.000522 0 -0.000415 -0.000609 -0.00062 -0.000487 -0.000282 -0.000113 -0.000052 -0.000111 -0.000233 "; C and A offset, and C and A temperature correction info" +C616.9 A620.2 76 0.776858 1.454124 0.003526 0.004384 0.004948 0.005046 0.004998 0.004948 0.004925 0.005361 0.005278 0.005056 0.00464 0.004219 0.003374 0.002547 0.002133 0.002706 0.00324 0.003563 0.003806 0.00372 0.003168 0.003091 0.002351 0.001407 0.000543 0 -0.00022 -0.000433 -0.000582 -0.000344 -0.000114 -0.000263 -0.000452 -0.000722 -0.001186 -0.011277 -0.00583 -0.002879 -0.001186 0.00004 0.001092 0.001832 0.002288 0.002606 0.002826 0.002985 0.003119 0.003073 0.003089 0.002963 0.002912 0.002855 0.002788 0.002605 0.00246 0.002236 0.001934 0.001464 0.000971 0.000521 0 -0.000377 -0.000576 -0.000569 -0.000444 -0.00024 -0.00008 -0.000004 -0.000073 -0.000197 "; C and A offset, and C and A temperature correction info" +C621.0 A624.5 77 0.779877 1.467964 0.003352 0.004288 0.004898 0.005127 0.005089 0.004995 0.00495 0.00541 0.005295 0.005076 0.004672 0.004229 0.003348 0.002486 0.002005 0.002569 0.003142 0.003529 0.003784 0.003677 0.003162 0.00311 0.00237 0.001389 0.000523 0 -0.000224 -0.000449 -0.000617 -0.000384 -0.000146 -0.000314 -0.000528 -0.00078 -0.001299 -0.011567 -0.006113 -0.003124 -0.001414 -0.000197 0.000871 0.001553 0.001981 0.00235 0.002594 0.002774 0.002902 0.002877 0.00291 0.002838 0.002793 0.002756 0.002644 0.002528 0.002358 0.002179 0.001893 0.001474 0.000991 0.000515 0 -0.000377 -0.000548 -0.000532 -0.000396 -0.00019 -0.000011 0.000058 0.000007 -0.000105 "; C and A offset, and C and A temperature correction info" +C625.2 A628.7 79 0.780603 1.480629 0.003356 0.004358 0.004976 0.005154 0.005108 0.005182 0.005092 0.005516 0.005407 0.005172 0.004742 0.004291 0.003343 0.002453 0.002029 0.002632 0.003225 0.00362 0.003926 0.003843 0.003306 0.003204 0.002447 0.001424 0.000521 0 -0.000235 -0.00047 -0.00068 -0.000416 -0.000184 -0.000339 -0.000534 -0.000778 -0.001258 -0.01184 -0.006329 -0.003318 -0.001617 -0.000399 0.000682 0.001391 0.001799 0.002086 0.002369 0.002574 0.002727 0.002727 0.002719 0.00264 0.002624 0.002587 0.002494 0.00237 0.002222 0.001977 0.001765 0.001375 0.00091 0.000457 0 -0.000345 -0.000509 -0.00052 -0.000366 -0.000151 0.000046 0.000098 0.000042 -0.000079 "; C and A offset, and C and A temperature correction info" +C629.0 A632.7 80 0.782967 1.492719 0.003169 0.004237 0.004911 0.005136 0.005077 0.004986 0.00497 0.005475 0.005418 0.005135 0.004691 0.004248 0.003274 0.002376 0.00191 0.002514 0.003189 0.003641 0.003951 0.003854 0.003279 0.003245 0.002479 0.001412 0.000507 0 -0.000215 -0.000476 -0.000691 -0.000458 -0.000209 -0.000378 -0.000574 -0.000803 -0.001303 -0.012014 -0.006524 -0.003502 -0.001769 -0.000546 0.000526 0.001264 0.001702 0.002052 0.002262 0.002456 0.002584 0.002592 0.002597 0.002532 0.002486 0.00244 0.002378 0.00226 0.002122 0.00191 0.001707 0.001312 0.000887 0.000447 0 -0.00033 -0.000487 -0.000474 -0.000317 -0.000118 0.000055 0.000121 0.000102 -0.000046 "; C and A offset, and C and A temperature correction info" +C633.0 A636.7 81 0.784533 1.503619 0.003226 0.004231 0.004889 0.005052 0.005023 0.00501 0.005043 0.005512 0.005399 0.005134 0.004709 0.004241 0.003271 0.002292 0.001857 0.002509 0.003193 0.003686 0.003999 0.003952 0.003378 0.003299 0.002494 0.00143 0.000511 0 -0.000187 -0.00046 -0.000674 -0.000429 -0.000204 -0.000366 -0.000566 -0.000813 -0.001301 -0.012229 -0.006702 -0.003634 -0.00186 -0.000629 0.000466 0.001218 0.001605 0.001904 0.002104 0.002263 0.002425 0.002448 0.002426 0.002396 0.002367 0.002322 0.002267 0.002134 0.001998 0.001807 0.001601 0.001242 0.000832 0.000433 0 -0.000306 -0.00044 -0.000425 -0.000264 -0.000056 0.000119 0.000191 0.000145 0.000041 "; C and A offset, and C and A temperature correction info" +C637.0 A640.8 82 0.785217 1.512996 0.003097 0.003995 0.004747 0.004995 0.004941 0.004897 0.004905 0.005411 0.00529 0.005021 0.004599 0.004107 0.003077 0.002159 0.001686 0.002359 0.00307 0.003591 0.003975 0.003921 0.003334 0.003307 0.002498 0.001422 0.000484 0 -0.000181 -0.000465 -0.000704 -0.000475 -0.000222 -0.000401 -0.000604 -0.00088 -0.001387 -0.012444 -0.006765 -0.003719 -0.002008 -0.000757 0.000318 0.001051 0.001445 0.001751 0.001985 0.00214 0.002301 0.002308 0.002294 0.002269 0.002239 0.002206 0.002139 0.002029 0.001913 0.001726 0.001526 0.001173 0.00078 0.000425 0 -0.000314 -0.000412 -0.000409 -0.000252 -0.000009 0.000146 0.000249 0.000223 0.000084 "; C and A offset, and C and A temperature correction info" +C641.2 A644.8 84 0.783819 1.519575 0.002849 0.003901 0.004642 0.004886 0.004851 0.00482 0.004822 0.005323 0.005225 0.00492 0.004531 0.004054 0.003055 0.002119 0.001667 0.00234 0.003071 0.0036 0.004009 0.00394 0.003379 0.003347 0.002518 0.001422 0.000459 0 -0.000208 -0.000487 -0.000723 -0.000501 -0.000205 -0.000405 -0.000646 -0.000866 -0.001377 -0.012442 -0.006864 -0.003835 -0.002085 -0.000844 0.000227 0.000973 0.001394 0.00169 0.001903 0.002059 0.002212 0.002237 0.002224 0.002184 0.002145 0.002125 0.002044 0.001937 0.00185 0.001662 0.001449 0.001148 0.00077 0.000401 0 -0.000252 -0.000381 -0.000333 -0.00017 0.000044 0.000227 0.000293 0.000272 0.000144 "; C and A offset, and C and A temperature correction info" +C645.5 A648.9 85 0.780733 1.522346 0.002581 0.003708 0.004483 0.004728 0.004715 0.004695 0.004649 0.005176 0.005045 0.004794 0.004383 0.003901 0.002886 0.00196 0.00149 0.002164 0.002954 0.003494 0.003957 0.003921 0.003372 0.003322 0.002502 0.001399 0.000491 0 -0.000191 -0.000443 -0.000704 -0.000433 -0.000203 -0.000374 -0.000609 -0.000875 -0.00142 -0.012712 -0.007095 -0.004019 -0.002277 -0.001051 0.000007 0.000751 0.001166 0.001432 0.001642 0.001799 0.001968 0.00198 0.001974 0.001944 0.001937 0.001921 0.001872 0.001776 0.001685 0.001513 0.001351 0.00104 0.000701 0.000339 0 -0.000256 -0.000352 -0.0003 -0.000144 0.000075 0.000234 0.000336 0.000315 0.000178 "; C and A offset, and C and A temperature correction info" +C649.6 A653.2 86 0.772855 1.521601 0.00251 0.003546 0.004381 0.004686 0.004668 0.004667 0.004711 0.005244 0.005141 0.004887 0.004471 0.00395 0.002877 0.001892 0.001448 0.002176 0.002934 0.003555 0.003991 0.00395 0.003393 0.003336 0.002539 0.001402 0.000439 0 -0.000174 -0.000471 -0.000722 -0.000511 -0.000251 -0.000432 -0.000673 -0.000879 -0.001405 -0.012947 -0.007289 -0.004256 -0.002509 -0.001255 -0.000192 0.000569 0.000982 0.001252 0.001504 0.00166 0.001824 0.001835 0.001853 0.001801 0.001799 0.001777 0.001715 0.001637 0.001536 0.001418 0.001249 0.000968 0.000643 0.00033 0 -0.000234 -0.000311 -0.000279 -0.000124 0.000112 0.000287 0.000358 0.000325 0.000219 "; C and A offset, and C and A temperature correction info" +C653.9 A657.7 87 0.763159 1.51961 0.002292 0.003552 0.004381 0.00465 0.004637 0.004625 0.004628 0.005161 0.00506 0.004788 0.004328 0.003862 0.002847 0.001866 0.001416 0.002137 0.002902 0.003528 0.004 0.004 0.00343 0.003375 0.002551 0.001413 0.000506 0 -0.000176 -0.000439 -0.000717 -0.000493 -0.000248 -0.000426 -0.000676 -0.000893 -0.00146 -0.013207 -0.00754 -0.004472 -0.002712 -0.001477 -0.00037 0.00037 0.000812 0.001081 0.001284 0.001471 0.001635 0.001648 0.001681 0.001673 0.001649 0.001639 0.001598 0.001514 0.001471 0.001315 0.001152 0.000889 0.000594 0.000322 0 -0.000201 -0.000259 -0.0002 -0.000056 0.000159 0.000338 0.000391 0.000365 0.000266 "; C and A offset, and C and A temperature correction info" +C658.2 A661.9 89 0.751963 1.519544 0.002262 0.00351 0.004291 0.004542 0.004546 0.004549 0.00457 0.005124 0.005028 0.004755 0.004343 0.003818 0.002796 0.001832 0.001345 0.00206 0.002851 0.003484 0.003998 0.003936 0.003377 0.003351 0.002506 0.001381 0.00048 0 -0.000195 -0.000453 -0.000741 -0.000507 -0.000277 -0.000434 -0.000649 -0.000931 -0.001463 -0.013606 -0.007837 -0.004741 -0.002957 -0.001688 -0.000579 0.000155 0.000577 0.000873 0.001092 0.001276 0.001473 0.00148 0.001516 0.001495 0.001485 0.00149 0.001448 0.001401 0.001323 0.001206 0.001062 0.000845 0.000535 0.000285 0 -0.000184 -0.000228 -0.000191 -0.000029 0.000188 0.00035 0.000456 0.000408 0.000295 "; C and A offset, and C and A temperature correction info" +C662.3 A666.2 90 0.741947 1.522582 0.002132 0.003286 0.004201 0.004528 0.004459 0.004459 0.004529 0.005061 0.004976 0.004665 0.004206 0.003674 0.002633 0.001655 0.00123 0.001965 0.002789 0.00344 0.003954 0.003917 0.003339 0.00334 0.002518 0.001378 0.000431 0 -0.000162 -0.000443 -0.000714 -0.000526 -0.000282 -0.000504 -0.000734 -0.000962 -0.001501 -0.013842 -0.008021 -0.004901 -0.003122 -0.001847 -0.000688 0.000054 0.000494 0.000771 0.000995 0.00119 0.001363 0.001357 0.001423 0.001417 0.001415 0.001411 0.001395 0.001309 0.001261 0.00112 0.001 0.000776 0.000536 0.000245 0 -0.000171 -0.000207 -0.000156 -0.000004 0.000222 0.000403 0.000478 0.000442 0.000326 "; C and A offset, and C and A temperature correction info" +C666.5 A670.5 91 0.736953 1.52735 0.001813 0.003219 0.004052 0.004333 0.00436 0.004365 0.004379 0.004976 0.004857 0.004606 0.004159 0.003699 0.002706 0.001708 0.001256 0.001913 0.002794 0.003432 0.003946 0.003974 0.003402 0.003374 0.002527 0.001381 0.0005 0 -0.000135 -0.000439 -0.000715 -0.000516 -0.000305 -0.000486 -0.000726 -0.000986 -0.001553 -0.013982 -0.008095 -0.004972 -0.003214 -0.001947 -0.000814 -0.00004 0.000381 0.00067 0.000887 0.00105 0.001253 0.001271 0.001302 0.00134 0.001308 0.001305 0.001274 0.001189 0.001139 0.001029 0.000957 0.000733 0.000486 0.000258 0 -0.00014 -0.000199 -0.000119 0.000051 0.000236 0.000399 0.000492 0.000466 0.000343 "; C and A offset, and C and A temperature correction info" +C670.5 A674.5 92 0.733987 1.531476 0.001604 0.002926 0.003761 0.004107 0.004085 0.004105 0.004182 0.004768 0.004714 0.004427 0.004032 0.003517 0.002441 0.001505 0.00104 0.001813 0.002648 0.003316 0.00386 0.003876 0.003278 0.003312 0.002446 0.001351 0.000432 0 -0.000134 -0.000436 -0.000722 -0.000533 -0.0003 -0.000504 -0.000739 -0.001063 -0.001624 -0.014006 -0.008059 -0.004942 -0.003177 -0.001896 -0.000793 0.000013 0.000378 0.000682 0.000905 0.001059 0.001232 0.001236 0.001312 0.001263 0.001239 0.001267 0.001223 0.001162 0.001108 0.001021 0.000914 0.000703 0.000469 0.000254 0 -0.000118 -0.00014 -0.000066 0.000078 0.000278 0.000455 0.000525 0.0005 0.000392 "; C and A offset, and C and A temperature correction info" +C674.7 A678.5 94 0.729474 1.532028 0.001257 0.002691 0.003717 0.004073 0.004053 0.004052 0.004122 0.004689 0.004611 0.004354 0.003883 0.003434 0.002364 0.001422 0.001013 0.001767 0.002619 0.003304 0.00384 0.00389 0.003314 0.003282 0.002542 0.001361 0.000429 0 -0.000123 -0.000447 -0.000719 -0.000564 -0.000342 -0.000599 -0.000854 -0.001113 -0.001677 -0.014104 -0.008148 -0.005025 -0.003232 -0.001973 -0.000856 -0.000062 0.000335 0.000628 0.000835 0.001039 0.001207 0.001218 0.00123 0.001213 0.001195 0.001187 0.001173 0.00109 0.001038 0.000936 0.000849 0.00066 0.000432 0.000235 0 -0.0001 -0.000125 -0.000076 0.000097 0.000289 0.000471 0.000507 0.000498 0.000387 "; C and A offset, and C and A temperature correction info" +C678.6 A682.5 95 0.722656 1.527583 0.001054 0.002768 0.003639 0.003958 0.004057 0.004059 0.004102 0.004763 0.00464 0.004375 0.00401 0.003552 0.002573 0.001588 0.001119 0.001789 0.002613 0.003268 0.003856 0.003922 0.003342 0.003325 0.00247 0.001351 0.000496 0 -0.000171 -0.000443 -0.000751 -0.000572 -0.00039 -0.000616 -0.000861 -0.001163 -0.00178 -0.014091 -0.008081 -0.004903 -0.003156 -0.001884 -0.000785 -0.000015 0.000384 0.000669 0.000847 0.001053 0.001199 0.001183 0.001169 0.001168 0.001151 0.00115 0.001129 0.001037 0.00099 0.000883 0.00077 0.000622 0.000405 0.000225 0 -0.000093 -0.000114 -0.00008 0.000051 0.000288 0.000449 0.000506 0.000444 0.000335 "; C and A offset, and C and A temperature correction info" +C682.5 A686.4 96 0.71204 1.51642 0.001288 0.002719 0.003706 0.004062 0.004039 0.004097 0.004149 0.004719 0.004661 0.004367 0.003962 0.003423 0.002335 0.001446 0.000992 0.0018 0.002593 0.003291 0.003854 0.003828 0.00326 0.003299 0.002468 0.00134 0.000442 0 -0.000122 -0.000502 -0.000754 -0.000626 -0.000417 -0.000677 -0.000981 -0.001295 -0.001854 -0.013988 -0.007944 -0.004793 -0.003028 -0.001797 -0.000667 0.000078 0.00049 0.000764 0.000942 0.001066 0.001254 0.001206 0.001222 0.001183 0.001176 0.001178 0.001093 0.001019 0.001004 0.000836 0.000774 0.000618 0.000421 0.000229 0 -0.000067 -0.000078 -0.000039 0.000107 0.000313 0.000438 0.000535 0.000428 0.000342 "; C and A offset, and C and A temperature correction info" +C686.6 A690.3 97 0.693601 1.496354 0.001163 0.002831 0.003887 0.004191 0.004221 0.004213 0.004246 0.004825 0.004743 0.004469 0.004033 0.003566 0.002481 0.001526 0.001139 0.00181 0.002628 0.003345 0.003849 0.003917 0.00332 0.003334 0.002512 0.001356 0.000438 0 -0.000173 -0.000475 -0.000796 -0.000691 -0.000498 -0.000804 -0.001118 -0.001342 -0.002021 -0.013973 -0.007894 -0.004748 -0.002948 -0.001706 -0.000595 0.00016 0.000535 0.000788 0.000973 0.001143 0.001285 0.001216 0.001249 0.001175 0.001148 0.001125 0.001032 0.000979 0.000921 0.000774 0.000716 0.000582 0.000375 0.000192 0 -0.000065 -0.000103 -0.000039 0.000074 0.00026 0.000391 0.000426 0.000384 0.000252 "; C and A offset, and C and A temperature correction info" +C690.3 A693.9 99 0.666387 1.46596 0.001363 0.003084 0.003947 0.004255 0.004363 0.004386 0.004352 0.004986 0.004882 0.004605 0.004184 0.003696 0.002683 0.001761 0.001255 0.001931 0.002726 0.00336 0.003939 0.003953 0.003361 0.003366 0.002448 0.001343 0.000537 0 -0.000223 -0.000506 -0.000874 -0.000737 -0.000624 -0.000833 -0.001139 -0.001507 -0.002129 -0.014018 -0.007869 -0.00471 -0.002919 -0.001672 -0.000549 0.000206 0.000573 0.000839 0.000978 0.001118 0.001265 0.001218 0.001233 0.001173 0.001093 0.001098 0.001019 0.000985 0.000891 0.000774 0.000708 0.000548 0.000393 0.000206 0 -0.000043 -0.000074 -0.000016 0.000113 0.000248 0.000414 0.000436 0.000356 0.000216 "; C and A offset, and C and A temperature correction info" +C694.1 A697.6 Yellow 0.630311 1.424117 0.001309 0.00283 0.003896 0.00431 0.004251 0.004228 0.004324 0.004848 0.0048 0.004513 0.004022 0.003515 0.002438 0.001506 0.001079 0.001864 0.002645 0.003331 0.003877 0.003901 0.003289 0.003293 0.00254 0.001378 0.00042 0 -0.000132 -0.000527 -0.000846 -0.000809 -0.000632 -0.000977 -0.0013 -0.001653 -0.00233 -0.013908 -0.007753 -0.00458 -0.002768 -0.001555 -0.000442 0.000278 0.000671 0.000872 0.001051 0.001186 0.001293 0.001197 0.001201 0.001144 0.001074 0.001081 0.00099 0.000892 0.000907 0.00073 0.00068 0.000506 0.000338 0.000184 0 -0.000077 -0.000111 -0.000065 0.000026 0.000183 0.000338 0.000324 0.000235 0.000099 "; C and A offset, and C and A temperature correction info" +C697.6 A701.2 101 0.583643 1.368469 0.00119 0.003119 0.004076 0.004394 0.004437 0.004406 0.004378 0.005014 0.004923 0.004636 0.004216 0.003693 0.002751 0.00173 0.00129 0.001923 0.002776 0.003438 0.003967 0.003985 0.003384 0.003383 0.0025 0.001371 0.000499 0 -0.000222 -0.000548 -0.000965 -0.000826 -0.0008 -0.001069 -0.001459 -0.00176 -0.002469 -0.01381 -0.007572 -0.004414 -0.00265 -0.001324 -0.000277 0.000459 0.000778 0.00097 0.001188 0.001255 0.001432 0.001325 0.001293 0.001199 0.001185 0.001145 0.001072 0.000991 0.00093 0.00078 0.0007 0.000598 0.000361 0.000228 0 -0.000037 -0.000069 -0.000037 0.000059 0.000222 0.000347 0.000296 0.000175 0.000069 "; C and A offset, and C and A temperature correction info" +C701.3 A704.9 102 0.52201 1.296575 0.001609 0.003266 0.004153 0.004486 0.004472 0.00456 0.004524 0.005138 0.00504 0.004756 0.004336 0.003832 0.002729 0.00182 0.0013 0.001989 0.002759 0.003375 0.003997 0.003968 0.003397 0.003357 0.002477 0.001376 0.00053 0 -0.000225 -0.00058 -0.00096 -0.000928 -0.000837 -0.001132 -0.001503 -0.001913 -0.002599 -0.01363 -0.007373 -0.00424 -0.002431 -0.001178 -0.000089 0.000626 0.00094 0.001138 0.001267 0.001348 0.001492 0.001372 0.001353 0.001253 0.001207 0.001146 0.001067 0.000999 0.000948 0.000793 0.000708 0.000553 0.00037 0.000202 0 -0.000035 -0.000086 -0.000092 0 0.00017 0.000257 0.000212 0.000116 -0.000041 "; C and A offset, and C and A temperature correction info" +C704.9 A708.4 103 0.44582 1.204592 0.001088 0.002741 0.00392 0.004307 0.00424 0.004231 0.00429 0.004872 0.004802 0.004482 0.003997 0.00353 0.00245 0.001589 0.001157 0.001915 0.002711 0.003352 0.003924 0.003918 0.003336 0.003325 0.002579 0.001403 0.000463 0 -0.000163 -0.000552 -0.000935 -0.000944 -0.000845 -0.001261 -0.001615 -0.002018 -0.002739 -0.013549 -0.007309 -0.00415 -0.002328 -0.001066 0.000001 0.000704 0.001018 0.001247 0.00134 0.001436 0.001503 0.001372 0.001335 0.00128 0.001179 0.001146 0.001068 0.001001 0.000938 0.00075 0.000687 0.000542 0.000312 0.000185 0 -0.00005 -0.000108 -0.000108 -0.000008 0.000098 0.000184 0.000153 0.000059 -0.000096 "; C and A offset, and C and A temperature correction info" +C708.6 A712.1 104 0.351244 1.089808 0.000732 0.002865 0.003785 0.004078 0.004195 0.004163 0.004169 0.00484 0.004838 0.004503 0.004133 0.003675 0.002739 0.001772 0.001295 0.001882 0.002725 0.003342 0.003873 0.003962 0.003318 0.00339 0.002441 0.001398 0.000541 0 -0.00025 -0.000545 -0.001015 -0.000967 -0.000926 -0.001274 -0.00171 -0.002105 -0.002886 -0.013235 -0.007041 -0.003883 -0.002139 -0.000874 0.000234 0.000877 0.001158 0.001372 0.00146 0.001567 0.001617 0.001506 0.001395 0.001326 0.001251 0.001201 0.001101 0.001057 0.000985 0.000764 0.000715 0.000554 0.000373 0.000217 0 -0.000029 -0.00007 -0.000093 -0.000029 0.000082 0.000186 0.000094 0.000049 -0.000154 "; C and A offset, and C and A temperature correction info" +C712.1 A715.7 105 0.234389 0.950759 0.00097 0.002646 0.003668 0.004115 0.00414 0.00421 0.004297 0.004826 0.004801 0.004524 0.004066 0.003541 0.002489 0.001655 0.001193 0.001949 0.00265 0.003263 0.003876 0.003915 0.003314 0.003317 0.002487 0.001399 0.000535 0 -0.000166 -0.000587 -0.000962 -0.00099 -0.000969 -0.001275 -0.001641 -0.002142 -0.002889 -0.013298 -0.00708 -0.003885 -0.002153 -0.000904 0.000243 0.000926 0.001209 0.001385 0.001541 0.001588 0.001684 0.001529 0.001442 0.001354 0.001271 0.001195 0.001159 0.00106 0.000991 0.000836 0.000753 0.000545 0.00036 0.000231 0 -0.00007 -0.000084 -0.000111 -0.000044 0.000028 0.000138 0.000092 0.000008 -0.000194 "; C and A offset, and C and A temperature correction info" +C715.7 A719.3 106 0.093961 0.784231 0.000316 0.002353 0.003492 0.003916 0.003923 0.003874 0.003906 0.004494 0.004496 0.004227 0.003787 0.003349 0.002377 0.001564 0.001163 0.001856 0.002624 0.003309 0.00383 0.003915 0.003244 0.003309 0.002499 0.001403 0.000473 0 -0.000193 -0.000583 -0.000951 -0.001002 -0.000969 -0.001378 -0.001788 -0.002171 -0.002921 -0.01334 -0.007142 -0.003952 -0.002162 -0.000904 0.000218 0.000846 0.001157 0.001329 0.001439 0.001514 0.001632 0.001488 0.001408 0.001322 0.00125 0.001191 0.001147 0.00108 0.00103 0.000763 0.000794 0.00063 0.000467 0.000254 0 -0.000048 -0.000111 -0.000097 -0.000057 0.000054 0.000129 0.000051 -0.000069 -0.000257 "; C and A offset, and C and A temperature correction info" +C719.2 A722.7 107 -0.073216 0.589978 0.000366 0.00241 0.003285 0.003674 0.003842 0.003854 0.003906 0.00461 0.00459 0.004329 0.003989 0.003473 0.002605 0.001722 0.001191 0.001791 0.002541 0.003205 0.003714 0.003868 0.003229 0.003286 0.002404 0.001374 0.000601 0 -0.000271 -0.000576 -0.00099 -0.000994 -0.001014 -0.001306 -0.001669 -0.002148 -0.002964 -0.013273 -0.007047 -0.003879 -0.002054 -0.00084 0.000297 0.001025 0.001321 0.001415 0.001584 0.001621 0.001731 0.001596 0.001485 0.00137 0.001324 0.001302 0.001194 0.001147 0.001061 0.000877 0.00076 0.000639 0.000436 0.000285 0 -0.000041 -0.000072 -0.000109 -0.000084 -0.000014 0.000052 0.000084 -0.000114 -0.00029 "; C and A offset, and C and A temperature correction info" +C722.5 A725.9 108 -0.267225 0.373007 0.000356 0.001988 0.00313 0.003622 0.003602 0.003681 0.003784 0.004305 0.004296 0.004048 0.003607 0.003183 0.00216 0.00143 0.00103 0.001856 0.00247 0.003093 0.003668 0.003718 0.003186 0.003207 0.002479 0.00137 0.000478 0 -0.000192 -0.000604 -0.000921 -0.000945 -0.000789 -0.001226 -0.001581 -0.002058 -0.002762 -0.013138 -0.006956 -0.00378 -0.001988 -0.000743 0.000366 0.001043 0.001407 0.00147 0.001621 0.001692 0.001779 0.001585 0.001524 0.001458 0.001346 0.001361 0.001284 0.001186 0.001115 0.000906 0.000843 0.000691 0.000443 0.000243 0 -0.000144 -0.000143 -0.000174 -0.000145 -0.000061 0.000016 -0.000062 -0.000157 -0.000395 "; C and A offset, and C and A temperature correction info" +C725.9 A729.5 109 -0.485562 0.145657 -0.000698 0.001496 0.002662 0.003089 0.003204 0.003178 0.003233 0.003926 0.003924 0.003694 0.003366 0.002947 0.002115 0.001321 0.000957 0.001565 0.002369 0.002959 0.003545 0.003697 0.003034 0.003098 0.002293 0.001294 0.000493 0 -0.00019 -0.000591 -0.000867 -0.000912 -0.000887 -0.001264 -0.001655 -0.002041 -0.002823 -0.0131 -0.006947 -0.003784 -0.001954 -0.000708 0.000345 0.001116 0.001443 0.001597 0.001683 0.001781 0.001878 0.001665 0.00165 0.00157 0.001514 0.001425 0.001317 0.001291 0.001226 0.000943 0.000855 0.000714 0.000514 0.000294 0 -0.000085 -0.000178 -0.000211 -0.000173 -0.000127 0.00001 -0.000113 -0.000224 -0.000464 "; C and A offset, and C and A temperature correction info" +C729.2 A732.6 110 -0.716767 -0.074927 -0.000299 0.001698 0.002589 0.003053 0.003127 0.003264 0.003326 0.0041 0.004125 0.003938 0.003612 0.003154 0.002224 0.001431 0.00101 0.001736 0.002357 0.00301 0.003561 0.003657 0.003068 0.00318 0.002338 0.00134 0.000582 0 -0.00024 -0.000501 -0.000859 -0.000815 -0.000796 -0.001086 -0.001427 -0.001893 -0.002701 -0.012793 -0.006592 -0.003487 -0.001719 -0.000441 0.000638 0.001368 0.001693 0.001809 0.00198 0.002006 0.002125 0.001932 0.001864 0.001721 0.001646 0.001548 0.001521 0.001396 0.001362 0.001039 0.00103 0.000768 0.000545 0.000298 0 -0.000173 -0.00022 -0.000236 -0.000232 -0.000129 -0.000118 -0.00018 -0.000344 -0.0005 "; C and A offset, and C and A temperature correction info" +C732.9 A735.8 111 -0.941767 -0.266722 -0.000567 0.001273 0.00255 0.003029 0.003041 0.003158 0.003238 0.003772 0.003822 0.00371 0.003276 0.002866 0.001893 0.0013 0.00094 0.001687 0.002417 0.002957 0.003532 0.003658 0.003059 0.003081 0.002452 0.001349 0.000545 0 -0.000161 -0.000489 -0.000789 -0.000761 -0.000651 -0.001043 -0.001387 -0.001788 -0.002496 -0.012869 -0.006639 -0.003443 -0.001711 -0.000428 0.000728 0.001443 0.001788 0.001839 0.002033 0.002105 0.00222 0.002011 0.001942 0.001878 0.001763 0.001713 0.001602 0.00156 0.001496 0.001118 0.001095 0.000841 0.00058 0.000358 0 -0.000128 -0.000284 -0.000291 -0.000268 -0.000127 -0.000133 -0.000199 -0.000399 -0.000542 "; C and A offset, and C and A temperature correction info" +0 0 0 0 0 0 0 0 0 0 0 ; maxANoise maxCNoise maxANonConform maxCNonConform maxADifference maxCDifference minACounts minCCounts minRCounts maxTempSdev maxDepthSdev diff --git a/examples/parse_dev.ipynb b/examples/parse_dev.ipynb new file mode 100644 index 0000000..0f9a408 --- /dev/null +++ b/examples/parse_dev.ipynb @@ -0,0 +1,243 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.015316600Z", + "start_time": "2024-01-04T20:19:11.052866900Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Ian\\AppData\\Roaming\\Python\\Python310\\site-packages\\scipy\\__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 1.26.2\n", + " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n" + ] + } + ], + "source": [ + "from pyACS.dev import Dev" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [], + "source": [ + "dev_filepath = 'example_acs284.dev'" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.030905900Z", + "start_time": "2024-01-04T20:19:12.016313200Z" + } + }, + "id": "2ff36043d1c919dc" + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 0 ns\n", + "Wall time: 2.99 ms\n" + ] + } + ], + "source": [ + "%%time\n", + "dev = Dev(dev_filepath)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.075962700Z", + "start_time": "2024-01-04T20:19:12.031902300Z" + } + }, + "id": "e878ba70676e3fa6" + }, + { + "cell_type": "markdown", + "source": [ + "## Accessing Dev Metadata As Attributes" + ], + "metadata": { + "collapsed": false + }, + "id": "5c1d98a01f861ab7" + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filepath: example_acs284.dev\n", + "Serial Number: ACS284\n", + "Number of Wavelengths: 85\n", + "Number of Temperature Bins: 35\n", + "Delta T A Shape: (85, 35)\n", + "Lambda a: [401.2 405. 408.7 411.9 415.3 419.2 423.3 427.4 431.5 435.4 438.9 443.2\n", + " 447.8 452. 456.4 460.4 464.5 468.5 473.3 477.8 482.4 486.7 490.9 494.9\n", + " 499.1 503.5 508. 512.3 517. 521.3 525.6 529.8 533.5 537.7 541.6 545.7\n", + " 549.7 553.6 557.9 561.8 565.9 569.6 573. 576.4 579.3 583. 586.9 591.\n", + " 594.9 599.1 603.3 607.5 611.8 616.2 620.2 624.5 628.7 632.7 636.7 640.8\n", + " 644.8 648.9 653.2 657.7 661.9 666.2 670.5 674.5 678.5 682.5 686.4 690.3\n", + " 693.9 697.6 701.2 704.9 708.4 712.1 715.7 719.3 722.7 725.9 729.5 732.6\n", + " 735.8]\n", + "Offsets a: [-1.118704 -0.95062 -0.799257 -0.662528 -0.537118 -0.420091 -0.313261\n", + " -0.209484 -0.114756 -0.02481 0.058958 0.139318 0.215207 0.287463\n", + " 0.357251 0.424577 0.488015 0.548444 0.605475 0.659976 0.712679\n", + " 0.76238 0.809929 0.855908 0.898055 0.937653 0.974387 1.009814\n", + " 1.044468 1.078762 1.111619 1.143431 1.173877 1.202758 1.229663\n", + " 1.255119 1.279411 1.302573 1.324964 1.346189 1.365547 1.382734\n", + " 1.396999 1.408256 1.4169 1.425817 1.430373 1.42912 1.422803\n", + " 1.415164 1.411586 1.415804 1.426421 1.439822 1.454124 1.467964\n", + " 1.480629 1.492719 1.503619 1.512996 1.519575 1.522346 1.521601\n", + " 1.51961 1.519544 1.522582 1.52735 1.531476 1.532028 1.527583\n", + " 1.51642 1.496354 1.46596 1.424117 1.368469 1.296575 1.204592\n", + " 1.089808 0.950759 0.784231 0.589978 0.373007 0.145657 -0.074927\n", + " -0.266722]\n" + ] + } + ], + "source": [ + "print(f\"Filepath: {dev.filepath}\")\n", + "print(f\"Serial Number: {dev.sn}\")\n", + "print(f\"Number of Wavelengths: {dev.output_wavelength}\")\n", + "print(f\"Number of Temperature Bins: {dev.num_tbins}\")\n", + "print(f\"Delta T A Shape: {dev.delta_t_a.shape}\")\n", + "print(f\"Lambda a: {dev.lambda_a}\")\n", + "print(f\"Offsets a: {dev.offset_a}\")" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.087922800Z", + "start_time": "2024-01-04T20:19:12.047987Z" + } + }, + "id": "3b534b84bc4b132a" + }, + { + "cell_type": "markdown", + "source": [ + "## Accessing Dev Metadata As An Xarray Dataset" + ], + "metadata": { + "collapsed": false + }, + "id": "d95c71a453cfacf" + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [ + { + "data": { + "text/plain": "\nDimensions: (lambda_a: 85, lambda_c: 85, temperature_bins: 35)\nCoordinates:\n * lambda_a (lambda_a) float64 401.2 405.0 408.7 ... 729.5 732.6 735.8\n * lambda_c (lambda_c) float64 400.3 403.7 407.5 ... 725.9 729.2 732.9\n * temperature_bins (temperature_bins) float64 0.4333 1.415 ... 33.5 34.52\nData variables:\n offsets_a (lambda_a) float64 -1.119 -0.9506 ... -0.07493 -0.2667\n delta_t_a (lambda_a, temperature_bins) float64 0.06387 ... -0.000542\n offsets_c (lambda_c) float64 -0.2102 -0.09999 ... -0.7168 -0.9418\n delta_t_c (lambda_c, temperature_bins) float64 0.01225 ... -0.002496\nAttributes:\n sensor_type: ACS Meter\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\...\n serial_number: ACS284\n factory_calibration_date: 2018-08-10\n output_wavelengths: 85\n number_temp_bins: 35\n path_length: 0.25\n tcal: 23.5\n ical: 19.3\n baudrate: 115200\n dev_structure_version: 3", + "text/html": "
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
<xarray.Dataset>\nDimensions:           (lambda_a: 85, lambda_c: 85, temperature_bins: 35)\nCoordinates:\n  * lambda_a          (lambda_a) float64 401.2 405.0 408.7 ... 729.5 732.6 735.8\n  * lambda_c          (lambda_c) float64 400.3 403.7 407.5 ... 725.9 729.2 732.9\n  * temperature_bins  (temperature_bins) float64 0.4333 1.415 ... 33.5 34.52\nData variables:\n    offsets_a         (lambda_a) float64 -1.119 -0.9506 ... -0.07493 -0.2667\n    delta_t_a         (lambda_a, temperature_bins) float64 0.06387 ... -0.000542\n    offsets_c         (lambda_c) float64 -0.2102 -0.09999 ... -0.7168 -0.9418\n    delta_t_c         (lambda_c, temperature_bins) float64 0.01225 ... -0.002496\nAttributes:\n    sensor_type:               ACS Meter\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\...\n    serial_number:             ACS284\n    factory_calibration_date:  2018-08-10\n    output_wavelengths:        85\n    number_temp_bins:          35\n    path_length:               0.25\n    tcal:                      23.5\n    ical:                      19.3\n    baudrate:                  115200\n    dev_structure_version:     3
" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "devds = dev.to_ds()\n", + "devds" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.104476900Z", + "start_time": "2024-01-04T20:19:12.063478900Z" + } + }, + "id": "ae54b9eb87f3b260" + }, + { + "cell_type": "markdown", + "source": [ + "Additional info can be found in each variable attributes." + ], + "metadata": { + "collapsed": false + }, + "id": "1055c3f205e22c2b" + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [ + { + "data": { + "text/plain": "{'units': 'nanometers',\n 'units_tex': '$nm$',\n 'description': 'ACS absorption wavelength bins.'}" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "devds.lambda_a.attrs" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.171160Z", + "start_time": "2024-01-04T20:19:12.096971100Z" + } + }, + "id": "416714d0a2341622" + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-04T20:19:12.183829100Z", + "start_time": "2024-01-04T20:19:12.113987800Z" + } + }, + "id": "222bff6f9e65a76e" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyACS/dev.py b/pyACS/dev.py new file mode 100644 index 0000000..a02314f --- /dev/null +++ b/pyACS/dev.py @@ -0,0 +1,233 @@ +from datetime import datetime +import numpy as np +import os +import re +from struct import calcsize +from scipy import interpolate +import xarray as xr + + +class Dev(): + + """ + A class for parsing ACS calibration (.dev) files. Retrieves most metadata from the file. + Dev files are necessary for converting binary data to something more meaningful. + + This class can be instantiated and data can be accessed as class attributes. + + Example Usage: + dev = Dev('/home/jovyan/cals/acs011.dev') + acs_sn = dev.sn + + Alternatively, the to_ds() function will format calibration data so that it can be used with + operations based in xarray. The to_nc() function will export calibration data as a netcdf. + """ + + def __init__(self, filepath: os.path.abspath) -> None: + """ + Parse the .dev file. Functions in this __init__ seek out specific metadata. + + :param filepath: The location of the dev file. + """ + self.filepath = os.path.normpath(filepath) + self.__read_dev() + self.__parse_metadata() + self.__parse_tbins() + self.__parse_offsets() + self.__check_parse() + self.__build_frame_descriptor() + + + def __read_dev(self) -> None: + """Import the .dev file as a text file.""" + + with open(self.filepath, 'r') as _file: + self._lines = _file.readlines() + + + def __parse_metadata(self) -> None: + """ + Parse the .dev file for sensor metadata. + The end result is file metadata assigned as class attributes. + """ + + metadata_lines = [line for line in self._lines if 'C and A offset' not in line] + for line in metadata_lines: + if 'ACS Meter' in line: + self.sensor_type = re.findall('(.*?)\n', line)[0] + elif 'Serial' in line: + self.sn_hexdec = re.findall('(.*?)\t', line)[0] + self.sn = self.serial_number = 'ACS' + str(int(self.sn_hexdec[-6:], 16)).zfill(3) + elif 'structure version' in line: + self.structure_version = self.structure_version_number = int(re.findall('(.*?)\t', line)[0]) + elif 'tcal' in line: + self.tcal, self.ical = [float(v) for v in re.findall(': [+-]?([0-9]*[.]?[0-9]+) C', line)] + cal_date_str = re.findall('file on (.*?)[.].*?\n', line)[0].replace(' ', '') + try: + self.cal_date = datetime.strptime(cal_date_str, '%m/%d/%Y').strftime('%Y-%m-%d') + except: + self.cal_date = datetime.strptime(cal_date_str, '%m/%d/%y').strftime('%Y-%m-%d') + elif 'Depth calibration' in line: + (self.depth_cal_offset, + self.depth_cal_scale_factor) = [float(v) for v in re.findall('[+-]?([0-9]*[.]?[0-9]+)\t', line)] + elif 'Baud' in line: + self.baudrate = int(re.findall('(.*?)\t', line)[0]) + elif 'Path' in line: + self.path_length = self.x = float(re.findall('(.*?)\t', line)[0]) + elif 'wavelengths' in line: + self.output_wavelength = int(re.findall('(.*?)\t', line)[0]) + elif 'number of temperature bins' in line: + self.num_tbins = int(re.findall('(.*?)\t', line)[0]) + elif 'maxANoise' in line: + (self.max_a_noise, self.max_c_noise, self.max_a_nonconform, self.max_c_nonconform, + self.max_a_difference, self.max_c_difference, self.min_a_counts, + self.min_c_counts, self.min_r_counts, self.max_tempsdev, + self.max_depth_sdev) = [float(v) for v in re.findall('[+-]?([0-9]*[.]?[0-9]+)\t', line)] + + + def __parse_tbins(self) -> None: + """ + Parse the .dev file for temperature bin information. + The end result is a class attributes that contains an array of temperature bins. + """ + + line = [line for line in self._lines if '; temperature bins' in line][0] + tbins = line.split('\t') + tbins = [v for v in tbins if v] + tbins = [v for v in tbins if v != '\n'] + tbins = [float(v) for v in tbins if 'temperature bins' not in v] + self.tbins = self.t = np.array(tbins) + + + def __parse_offsets(self) -> None: + """ + Parse the .dev file for a and c offsets. + The end result is a set of class attributes that contain wavelength offset and deltas as arrays. + """ + + offset_lines = [line for line in self._lines if 'C and A offset' in line] + c_wavelengths = [] + a_wavelengths = [] + c_offsets = [] + a_offsets = [] + c_deltas = [] + a_deltas = [] + for line in offset_lines: + offsets, c_delta, a_delta = line.split('\t\t')[:-1] + wavelength_c, wavelength_a, _, offset_c, offset_a = offsets.split('\t') + c_wavelengths.append(float(wavelength_c.replace('C', ''))) + a_wavelengths.append(float(wavelength_a.replace('A', ''))) + c_offsets.append(float(offset_c)) + a_offsets.append(float(offset_a)) + c_deltas.append(np.array([float(v) for v in c_delta.split('\t')])) + a_deltas.append(np.array([float(v) for v in a_delta.split('\t')])) + self.lambda_c = np.array(c_wavelengths) + self.lambda_a = np.array(a_wavelengths) + self.offset_c = np.array(c_offsets) + self.offset_a = np.array(a_offsets) + self.delta_t_c = np.array(c_deltas) + self.delta_t_a = np.array(a_deltas) + self.f_delta_t_c = interpolate.interp1d(self.tbins, self.delta_t_c, axis=1, assume_sorted=True, copy=False, + bounds_error=False, + fill_value=(self.delta_t_c[:, 1], self.delta_t_c[:, -1])) + self.f_delta_t_a = interpolate.interp1d(self.tbins, self.delta_t_a, axis=1, assume_sorted=True, copy=False, + bounds_error=False, + fill_value=(self.delta_t_a[:, 1], self.delta_t_a[:, -1])) + + + def __build_frame_descriptor(self) -> None: + """ + Build a frame descriptor for parsing binary ACS packets. + Only used when reading raw binary from a file or over serial. + """ + + self.REGISTRATION_BYTES = b'\xff\x00\xff\x00' + self.REGISTRATION_BYTES_LENGTH = len(self.REGISTRATION_BYTES) + self.FRAME_HEADER_DESCRIPTOR = '!HBBlHHHHHHHIBB' + self.FRAME_HEADER_LENGTH = calcsize(self.FRAME_HEADER_DESCRIPTOR) + + self.frame_descriptor = self.FRAME_HEADER_DESCRIPTOR + for i in range(self.output_wavelength): + self.frame_descriptor += 'HHHH' + self.frame_length = self.REGISTRATION_BYTES_LENGTH + calcsize(self.frame_descriptor) + + + def __check_parse(self) -> None: + """Verify that the parse obtained the correct information.""" + + if len(self.lambda_c) != len(self.lambda_a): + raise ValueError('Mismatch between number of wavelengths extracted for A and C.') + if self.delta_t_c.shape != (len(self.lambda_c), self.num_tbins): + raise ValueError('Mismatch between length of C wavelengths and number of temperature bins.') + if self.delta_t_a.shape != (len(self.lambda_a), self.num_tbins): + raise ValueError('Mismatch between length of A wavelengths and number of temperature bins.') + + + def to_ds(self) -> xr.Dataset: + """ + Export class attributes as an xr.Dataset. + + :return: An xarray dataset containing calibration information. + """ + + ds = xr.Dataset() + ds = ds.assign_coords({'lambda_a': self.lambda_a}) + ds['lambda_a'].attrs['units'] = 'nanometers' + ds['lambda_a'].attrs['units_tex'] = r'$nm$' + ds['lambda_a'].attrs['description'] = 'ACS absorption wavelength bins.' + + ds = ds.assign_coords({'lambda_c': self.lambda_c}) + ds['lambda_c'].attrs['units'] = 'nanometers' + ds['lambda_c'].attrs['units_tex'] = r'$nm$' + ds['lambda_c'].attrs['description'] = 'ACS attenuation wavelength bins.' + + ds = ds.assign_coords({'temperature_bins': self.tbins}) + ds['temperature_bins'].attrs['units'] = 'degrees_celsius' + ds['temperature_bins'].attrs['units_tex'] = r'$^{\circ}C$' + ds['temperature_bins'].attrs['description'] = 'ACS calibration temperature bins.' + + ds['offsets_a'] = (['lambda_a'], np.array(self.offset_a)) + ds['offsets_a'].attrs['units'] = 'inverse_meters' + ds['offsets_a'].attrs['units_tex'] = r'$\frac{1}{m}$' + ds['offsets_a'].attrs['description'] = 'Instrument specific absorption offsets.' + + ds['delta_t_a'] = (['lambda_a', 'temperature_bins'], np.array(self.delta_t_a)) + ds['delta_t_a'].attrs['units'] = 'unitless' + ds['delta_t_a'].attrs['units_tex'] = r'' + ds['delta_t_a'].attrs['description'] = 'Temperature correction deltas for absorption.' + + ds['offsets_c'] = (['lambda_c'], np.array(self.offset_c)) + ds['offsets_c'].attrs['units'] = 'inverse_meters' + ds['offsets_c'].attrs['units_tex'] = r'$\frac{1}{m}$' + ds['offsets_c'].attrs['description'] = 'Instrument specific attenuation offsets.' + + ds['delta_t_c'] = (['lambda_c', 'temperature_bins'], np.array(self.delta_t_c)) + ds['delta_t_c'].attrs['units'] = 'unitless' + ds['delta_t_c'].attrs['units_tex'] = r'' + ds['delta_t_c'].attrs['description'] = 'Temperature correction deltas for attenuation.' + + ds.attrs['sensor_type'] = self.sensor_type + ds.attrs['serial_number'] = self.sn + ds.attrs['factory_calibration_date'] = self.cal_date + ds.attrs['output_wavelengths'] = self.output_wavelength + ds.attrs['number_temp_bins'] = self.num_tbins + ds.attrs['path_length'] = self.path_length + ds.attrs['tcal'] = self.tcal + ds.attrs['ical'] = self.ical + ds.attrs['baudrate'] = self.baudrate + ds.attrs['dev_structure_version'] = self.structure_version + return ds + + + def to_nc(self, out_filepath: os.path.abspath) -> None: + """ + Export .dev data as a netcdf. + + :param out_filepath: + """ + + split = os.path.splitext(out_filepath) + if split[-1] != '.nc': + out_filepath += '.nc' + ds = self.to_ds() + ds.to_netcdf(out_filepath, engine='netcdf4') diff --git a/pyACS/tscor.py b/pyACS/tscor.py new file mode 100644 index 0000000..04aa368 --- /dev/null +++ b/pyACS/tscor.py @@ -0,0 +1,86 @@ +import os +import xarray as xr + + +class TSCor(): + """ + A class for parsing ACS ts4.cor files. + These files are often used to perform additional temperature and salinity correction. + + This class can be instantiated and data can be accessed as class attributes. + + Example Usage: + tscor = TSCor('/home/jovyan/cals/ts4.cor') + wavelengths = tscor.wavelengths + + Alternatively, the to_ds() function will format calibration data so that it can be used with + operations based in xarray. The to_nc() function will export calibration data as a netcdf. + """ + + + def __init__(self, filepath: os.path.abspath) -> None: + """ + Parse the .cor file and assign data as attributes. + + :param filepath: The filepath of the TS4.cor file. + """ + self.filepath = os.path.normpath(filepath) + self.__read_cor() + self.__parse_lines() + + def __read_cor(self): + """Import the .cor file as a text file.""" + with open(self.filepath, 'r') as _file: + self._lines = _file.readlines() + + def __parse_lines(self): + """Parse the lines of the .cor file to get correction information.""" + + wavelengths = [] + psi_t = [] + psi_s_c = [] + psi_s_a = [] + for line in self._lines: + line_data = line.split('\t') + line_data = [v.replace('\n', '') for v in line_data] + line_data = [v.replace(' ', '') for v in line_data] + if line_data == ['']: + break + line_data = [float(v) for v in line_data] + wavelengths.append(line_data[0]) + psi_t.append(line_data[1]) + psi_s_c.append(line_data[2]) + psi_s_a.append(line_data[3]) + if len(wavelengths) != len(psi_t) != len(psi_s_c) != len(psi_s_a): + raise ValueError('Mismatch in length of TS4cor file.') + else: + self.wavelengths = wavelengths + self.psi_t = psi_t + self.psi_s_c = psi_s_c + self.psi_s_a = psi_s_a + + def to_ds(self) -> xr.Dataset: + """ + Export class attributes to an xarray dataset. + + :return: An xarray dataset containing correction data. + """ + ds = xr.Dataset() + ds = ds.assign_coords({'wavelength': self.wavelengths}) + ds['psi_t'] = (['wavelength'], self.psi_t) + ds['psi_s_c'] = (['wavelength'], self.psi_s_c) + ds['psi_s_a'] = (['wavelength'], self.psi_s_a) + return ds + + def to_nc(self, out_filepath: os.path.abspath) -> None: + """ + Export .cor data as a netcdf. + + :param out_filepath: The save location of netcdf containing .cor information. + """ + + split = os.path.splitext(out_filepath) + if split[-1] != '.nc': + out_filepath += '.nc' + ds = self.to_ds() + ds.to_netcdf(out_filepath, engine='netcdf4') diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b5b29c5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +numpy +scipy +xarray \ No newline at end of file