From 54d7419d8968ae2d83d6772fc9e24647cbee2afa Mon Sep 17 00:00:00 2001 From: Brendan Haines Date: Sun, 20 Oct 2024 11:47:17 -0600 Subject: [PATCH] initial commit --- .vscode/settings.json | 3 + Pipfile | 16 + Pipfile.lock | 998 +++++++++++++++++++++ calculations.ipynb | 223 +++++ data/PD15-22B/reverse_light_current.csv | 94 ++ data/TEMD5110X01/reverse_light_current.csv | 156 ++++ 6 files changed, 1490 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 calculations.ipynb create mode 100644 data/PD15-22B/reverse_light_current.csv create mode 100644 data/TEMD5110X01/reverse_light_current.csv diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..eb03e14 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "notebook.formatOnSave.enabled": true +} \ No newline at end of file diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..e02a011 --- /dev/null +++ b/Pipfile @@ -0,0 +1,16 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +numpy = "*" +matplotlib = "*" +xarray = "*" +scipy = "*" + +[dev-packages] +ipykernel = "*" + +[requires] +python_version = "3.10" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..b17fe31 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,998 @@ +{ + "_meta": { + "hash": { + "sha256": "cd0ba4aec3812484453833a7dca940b515195812d82c18ffea5fab567e9e42c3" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.10" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "contourpy": { + "hashes": [ + "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", + "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", + "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", + "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", + "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", + "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", + "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", + "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", + "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", + "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", + "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", + "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", + "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", + "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", + "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", + "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", + "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", + "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", + "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", + "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", + "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", + "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", + "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", + "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", + "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", + "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", + "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", + "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", + "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", + "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", + "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", + "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", + "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", + "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", + "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", + "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", + "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", + "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", + "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", + "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", + "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", + "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", + "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", + "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", + "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", + "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", + "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", + "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", + "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", + "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", + "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", + "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", + "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", + "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", + "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", + "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", + "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", + "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", + "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", + "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", + "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", + "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", + "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", + "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", + "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c" + ], + "markers": "python_version >= '3.9'", + "version": "==1.3.0" + }, + "cycler": { + "hashes": [ + "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", + "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" + ], + "markers": "python_version >= '3.8'", + "version": "==0.12.1" + }, + "fonttools": { + "hashes": [ + "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6", + "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263", + "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1", + "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e", + "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556", + "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d", + "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e", + "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2", + "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986", + "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb", + "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd", + "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882", + "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44", + "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac", + "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20", + "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d", + "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a", + "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c", + "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d", + "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff", + "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7", + "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10", + "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02", + "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2", + "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07", + "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b", + "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08", + "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab", + "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285", + "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c", + "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58", + "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9", + "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc", + "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab", + "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55", + "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714", + "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8", + "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33", + "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d", + "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e", + "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664", + "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7", + "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a", + "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b", + "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13", + "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a", + "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386", + "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac" + ], + "markers": "python_version >= '3.8'", + "version": "==4.54.1" + }, + "kiwisolver": { + "hashes": [ + "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", + "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", + "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", + "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", + "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", + "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", + "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", + "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", + "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", + "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", + "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", + "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", + "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", + "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", + "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", + "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", + "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", + "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", + "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", + "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", + "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", + "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", + "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", + "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", + "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", + "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", + "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", + "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", + "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", + "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", + "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", + "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", + "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", + "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", + "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", + "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", + "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", + "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", + "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", + "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", + "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", + "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", + "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", + "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", + "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", + "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", + "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", + "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", + "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", + "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", + "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", + "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", + "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", + "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", + "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", + "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", + "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", + "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", + "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", + "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", + "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", + "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", + "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", + "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", + "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", + "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", + "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", + "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", + "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", + "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", + "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", + "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", + "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", + "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", + "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", + "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", + "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", + "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", + "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", + "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", + "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", + "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", + "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", + "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", + "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", + "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", + "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", + "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", + "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", + "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", + "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", + "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", + "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", + "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", + "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", + "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", + "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", + "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", + "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", + "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", + "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", + "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", + "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", + "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", + "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", + "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", + "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", + "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", + "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", + "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", + "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", + "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", + "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", + "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052" + ], + "markers": "python_version >= '3.8'", + "version": "==1.4.7" + }, + "matplotlib": { + "hashes": [ + "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21", + "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5", + "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697", + "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9", + "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca", + "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64", + "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e", + "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03", + "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae", + "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa", + "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3", + "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e", + "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a", + "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc", + "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea", + "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b", + "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e", + "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447", + "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b", + "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92", + "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb", + "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66", + "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9", + "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7", + "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2", + "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30", + "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d", + "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7", + "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4", + "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41", + "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2", + "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556", + "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f", + "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772", + "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c", + "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a", + "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51", + "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49", + "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c", + "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413" + ], + "index": "pypi", + "markers": "python_version >= '3.9'", + "version": "==3.9.2" + }, + "numpy": { + "hashes": [ + "sha256:05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8", + "sha256:12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466", + "sha256:13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35", + "sha256:13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c", + "sha256:13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4", + "sha256:1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6", + "sha256:1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0", + "sha256:1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7", + "sha256:1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a", + "sha256:242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a", + "sha256:259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e", + "sha256:2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62", + "sha256:2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2", + "sha256:2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5", + "sha256:30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee", + "sha256:32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe", + "sha256:43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a", + "sha256:456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e", + "sha256:4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf", + "sha256:5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c", + "sha256:675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3", + "sha256:6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86", + "sha256:6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df", + "sha256:76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98", + "sha256:7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d", + "sha256:860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2", + "sha256:8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146", + "sha256:9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550", + "sha256:a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8", + "sha256:a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb", + "sha256:a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e", + "sha256:a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d", + "sha256:ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366", + "sha256:ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0", + "sha256:b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db", + "sha256:b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe", + "sha256:bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426", + "sha256:bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952", + "sha256:c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03", + "sha256:c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f", + "sha256:d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7", + "sha256:d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b", + "sha256:d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17", + "sha256:da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5", + "sha256:e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1", + "sha256:e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142", + "sha256:e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884", + "sha256:ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a", + "sha256:f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9", + "sha256:f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445", + "sha256:f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1", + "sha256:faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1", + "sha256:fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648" + ], + "index": "pypi", + "markers": "python_version >= '3.10'", + "version": "==2.1.2" + }, + "packaging": { + "hashes": [ + "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", + "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" + ], + "markers": "python_version >= '3.8'", + "version": "==24.1" + }, + "pandas": { + "hashes": [ + "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", + "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", + "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", + "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", + "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", + "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", + "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", + "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", + "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", + "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", + "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", + "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", + "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", + "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", + "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", + "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", + "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", + "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", + "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", + "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", + "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", + "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", + "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", + "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", + "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", + "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", + "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", + "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", + "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", + "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", + "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", + "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", + "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", + "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", + "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", + "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", + "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", + "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", + "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", + "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", + "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", + "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319" + ], + "markers": "python_version >= '3.9'", + "version": "==2.2.3" + }, + "pillow": { + "hashes": [ + "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7", + "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5", + "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903", + "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2", + "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38", + "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2", + "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9", + "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f", + "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc", + "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8", + "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d", + "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2", + "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316", + "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a", + "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25", + "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd", + "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba", + "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc", + "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273", + "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa", + "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a", + "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b", + "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a", + "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae", + "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291", + "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97", + "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06", + "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904", + "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b", + "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b", + "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8", + "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527", + "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947", + "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb", + "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003", + "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5", + "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f", + "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739", + "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944", + "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830", + "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f", + "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3", + "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4", + "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84", + "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7", + "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6", + "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6", + "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9", + "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de", + "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4", + "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47", + "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd", + "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50", + "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c", + "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086", + "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba", + "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306", + "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699", + "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e", + "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488", + "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa", + "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2", + "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3", + "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9", + "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923", + "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2", + "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790", + "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734", + "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916", + "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1", + "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f", + "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798", + "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb", + "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2", + "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9" + ], + "markers": "python_version >= '3.9'", + "version": "==11.0.0" + }, + "pyparsing": { + "hashes": [ + "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84", + "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c" + ], + "markers": "python_version >= '3.9'", + "version": "==3.2.0" + }, + "python-dateutil": { + "hashes": [ + "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.9.0.post0" + }, + "pytz": { + "hashes": [ + "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", + "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725" + ], + "version": "==2024.2" + }, + "scipy": { + "hashes": [ + "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e", + "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79", + "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37", + "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5", + "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675", + "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d", + "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f", + "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310", + "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617", + "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e", + "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e", + "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417", + "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d", + "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94", + "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad", + "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8", + "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0", + "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69", + "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066", + "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3", + "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5", + "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07", + "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2", + "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389", + "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d", + "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84", + "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2", + "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3", + "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73", + "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06", + "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc", + "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1", + "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2" + ], + "index": "pypi", + "markers": "python_version >= '3.10'", + "version": "==1.14.1" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + }, + "tzdata": { + "hashes": [ + "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", + "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd" + ], + "markers": "python_version >= '2'", + "version": "==2024.2" + }, + "xarray": { + "hashes": [ + "sha256:4fd534abdf12d5fa75dd566c56483d5081f77864462cf3d6ad53e13f9db48222", + "sha256:e796a6b3eaec11da24f33e4bb14af41897011660a0516fa4037d3ae4bbd1d378" + ], + "index": "pypi", + "markers": "python_version >= '3.10'", + "version": "==2024.9.0" + } + }, + "develop": { + "asttokens": { + "hashes": [ + "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24", + "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0" + ], + "version": "==2.4.1" + }, + "comm": { + "hashes": [ + "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", + "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3" + ], + "markers": "python_version >= '3.8'", + "version": "==0.2.2" + }, + "debugpy": { + "hashes": [ + "sha256:11ad72eb9ddb436afb8337891a986302e14944f0f755fd94e90d0d71e9100bba", + "sha256:171899588bcd412151e593bd40d9907133a7622cd6ecdbdb75f89d1551df13c2", + "sha256:18b8f731ed3e2e1df8e9cdaa23fb1fc9c24e570cd0081625308ec51c82efe42e", + "sha256:29e1571c276d643757ea126d014abda081eb5ea4c851628b33de0c2b6245b037", + "sha256:2efb84d6789352d7950b03d7f866e6d180284bc02c7e12cb37b489b7083d81aa", + "sha256:2f729228430ef191c1e4df72a75ac94e9bf77413ce5f3f900018712c9da0aaca", + "sha256:45c30aaefb3e1975e8a0258f5bbd26cd40cde9bfe71e9e5a7ac82e79bad64e39", + "sha256:4b908291a1d051ef3331484de8e959ef3e66f12b5e610c203b5b75d2725613a7", + "sha256:4d27d842311353ede0ad572600c62e4bcd74f458ee01ab0dd3a1a4457e7e3706", + "sha256:57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae", + "sha256:628a11f4b295ffb4141d8242a9bb52b77ad4a63a2ad19217a93be0f77f2c28c9", + "sha256:6a9d9d6d31846d8e34f52987ee0f1a904c7baa4912bf4843ab39dadf9b8f3e0d", + "sha256:6e1c4ffb0c79f66e89dfd97944f335880f0d50ad29525dc792785384923e2211", + "sha256:703c1fd62ae0356e194f3e7b7a92acd931f71fe81c4b3be2c17a7b8a4b546ec2", + "sha256:85ce9c1d0eebf622f86cc68618ad64bf66c4fc3197d88f74bb695a416837dd55", + "sha256:90d93e4f2db442f8222dec5ec55ccfc8005821028982f1968ebf551d32b28907", + "sha256:93176e7672551cb5281577cdb62c63aadc87ec036f0c6a486f0ded337c504596", + "sha256:95fe04a573b8b22896c404365e03f4eda0ce0ba135b7667a1e57bd079793b96b", + "sha256:a6cf2510740e0c0b4a40330640e4b454f928c7b99b0c9dbf48b11efba08a8cda", + "sha256:b12515e04720e9e5c2216cc7086d0edadf25d7ab7e3564ec8b4521cf111b4f8c", + "sha256:b6db2a370e2700557a976eaadb16243ec9c91bd46f1b3bb15376d7aaa7632c81", + "sha256:caf528ff9e7308b74a1749c183d6808ffbedbb9fb6af78b033c28974d9b8831f", + "sha256:cba1d078cf2e1e0b8402e6bda528bf8fda7ccd158c3dba6c012b7897747c41a0", + "sha256:d050a1ec7e925f514f0f6594a1e522580317da31fbda1af71d1530d6ea1f2b40", + "sha256:da8df5b89a41f1fd31503b179d0a84a5fdb752dddd5b5388dbd1ae23cda31ce9", + "sha256:f2f4349a28e3228a42958f8ddaa6333d6f8282d5edaea456070e48609c5983b7" + ], + "markers": "python_version >= '3.8'", + "version": "==1.8.7" + }, + "decorator": { + "hashes": [ + "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", + "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186" + ], + "markers": "python_version >= '3.5'", + "version": "==5.1.1" + }, + "exceptiongroup": { + "hashes": [ + "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", + "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc" + ], + "markers": "python_version < '3.11'", + "version": "==1.2.2" + }, + "executing": { + "hashes": [ + "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", + "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab" + ], + "markers": "python_version >= '3.8'", + "version": "==2.1.0" + }, + "ipykernel": { + "hashes": [ + "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", + "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215" + ], + "index": "pypi", + "markers": "python_version >= '3.8'", + "version": "==6.29.5" + }, + "ipython": { + "hashes": [ + "sha256:0d0d15ca1e01faeb868ef56bc7ee5a0de5bd66885735682e8a322ae289a13d1a", + "sha256:530ef1e7bb693724d3cdc37287c80b07ad9b25986c007a53aa1857272dac3f35" + ], + "markers": "python_version >= '3.10'", + "version": "==8.28.0" + }, + "jedi": { + "hashes": [ + "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd", + "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0" + ], + "markers": "python_version >= '3.6'", + "version": "==0.19.1" + }, + "jupyter-client": { + "hashes": [ + "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", + "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f" + ], + "markers": "python_version >= '3.8'", + "version": "==8.6.3" + }, + "jupyter-core": { + "hashes": [ + "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", + "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9" + ], + "markers": "python_version >= '3.8'", + "version": "==5.7.2" + }, + "matplotlib-inline": { + "hashes": [ + "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", + "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca" + ], + "markers": "python_version >= '3.8'", + "version": "==0.1.7" + }, + "nest-asyncio": { + "hashes": [ + "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", + "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c" + ], + "markers": "python_version >= '3.5'", + "version": "==1.6.0" + }, + "packaging": { + "hashes": [ + "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", + "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" + ], + "markers": "python_version >= '3.8'", + "version": "==24.1" + }, + "parso": { + "hashes": [ + "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", + "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d" + ], + "markers": "python_version >= '3.6'", + "version": "==0.8.4" + }, + "pexpect": { + "hashes": [ + "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", + "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" + ], + "markers": "sys_platform != 'win32' and sys_platform != 'emscripten'", + "version": "==4.9.0" + }, + "platformdirs": { + "hashes": [ + "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", + "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb" + ], + "markers": "python_version >= '3.8'", + "version": "==4.3.6" + }, + "prompt-toolkit": { + "hashes": [ + "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90", + "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==3.0.48" + }, + "psutil": { + "hashes": [ + "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047", + "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc", + "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e", + "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747", + "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e", + "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a", + "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b", + "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76", + "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca", + "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688", + "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e", + "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38", + "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85", + "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be", + "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942", + "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a", + "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==6.1.0" + }, + "ptyprocess": { + "hashes": [ + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" + ], + "version": "==0.7.0" + }, + "pure-eval": { + "hashes": [ + "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", + "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" + ], + "version": "==0.2.3" + }, + "pygments": { + "hashes": [ + "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", + "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a" + ], + "markers": "python_version >= '3.8'", + "version": "==2.18.0" + }, + "python-dateutil": { + "hashes": [ + "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.9.0.post0" + }, + "pyzmq": { + "hashes": [ + "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6", + "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a", + "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9", + "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f", + "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37", + "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc", + "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed", + "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097", + "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d", + "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52", + "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6", + "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6", + "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2", + "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282", + "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3", + "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732", + "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5", + "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18", + "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306", + "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f", + "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3", + "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b", + "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277", + "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a", + "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797", + "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca", + "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c", + "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f", + "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5", + "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a", + "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44", + "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20", + "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4", + "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8", + "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780", + "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386", + "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5", + "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2", + "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0", + "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971", + "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b", + "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50", + "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c", + "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f", + "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231", + "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c", + "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08", + "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5", + "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6", + "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073", + "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e", + "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4", + "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317", + "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3", + "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072", + "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad", + "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a", + "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb", + "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd", + "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f", + "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef", + "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5", + "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187", + "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711", + "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988", + "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640", + "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c", + "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764", + "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1", + "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1", + "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289", + "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb", + "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a", + "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218", + "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c", + "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf", + "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7", + "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8", + "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726", + "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9", + "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93", + "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88", + "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115", + "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6", + "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672", + "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2", + "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea", + "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc", + "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b", + "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa", + "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003", + "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797", + "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940", + "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db", + "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc", + "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27", + "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3", + "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e", + "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98", + "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b", + "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629", + "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9", + "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6", + "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec", + "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951", + "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae", + "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4", + "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6", + "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919" + ], + "markers": "python_version >= '3.7'", + "version": "==26.2.0" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + }, + "stack-data": { + "hashes": [ + "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", + "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" + ], + "version": "==0.6.3" + }, + "tornado": { + "hashes": [ + "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8", + "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f", + "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4", + "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3", + "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14", + "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842", + "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9", + "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698", + "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7", + "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d", + "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4" + ], + "markers": "python_version >= '3.8'", + "version": "==6.4.1" + }, + "traitlets": { + "hashes": [ + "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", + "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f" + ], + "markers": "python_version >= '3.8'", + "version": "==5.14.3" + }, + "typing-extensions": { + "hashes": [ + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" + ], + "markers": "python_version < '3.12'", + "version": "==4.12.2" + }, + "wcwidth": { + "hashes": [ + "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", + "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" + ], + "version": "==0.2.13" + } + } +} diff --git a/calculations.ipynb b/calculations.ipynb new file mode 100644 index 0000000..3aae532 --- /dev/null +++ b/calculations.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pyplot as plt\n", + "import xarray as xr\n", + "from pathlib import Path\n", + "\n", + "dir_ = Path(globals()[\"_dh\"][0]) # __file__ does not exist in ipynb" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "def read_wpd_csv(\n", + " filepath: Path | str, x_coord: str, ds_coord: str | None = None\n", + ") -> xr.DataArray:\n", + " filepath = Path(filepath)\n", + "\n", + " header = np.loadtxt(filepath, dtype=str, max_rows=2, delimiter=\",\")\n", + " header_values = header[0][::2]\n", + " try:\n", + " np.array(header_values, dtype=float)\n", + " except ValueError:\n", + " np.array(header_values)\n", + "\n", + " values = np.loadtxt(filepath, dtype=float, skiprows=2, delimiter=\",\")\n", + "\n", + " coords = dict()\n", + " dims = [x_coord]\n", + " if ds_coord is not None:\n", + " dims.append(ds_coord)\n", + " coords[ds_coord] = header_values\n", + "\n", + " for col in range(int(values.shape[1] / 2)):\n", + " x = values[:, col * 2]\n", + " if col == 0:\n", + " coords[x_coord] = x\n", + " else:\n", + " if np.any(x != coords[x_coord]):\n", + " raise ValueError(f\"All webplotdigitizer datasets must share x values\")\n", + "\n", + " da = xr.DataArray(\n", + " values[:, 1::2],\n", + " dims=dims,\n", + " coords=coords,\n", + " attrs=dict(filename=filepath.name),\n", + " )\n", + " return da" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [], + "source": [ + "# LED properties\n", + "LEDS = {\n", + " \"APHHS1005F3C-70MAV\": dict(\n", + " emissivity=8e-3, # W/sr\n", + " emissivity_current=70e-3, # A\n", + " )\n", + "}\n", + "\n", + "# Photodiode properties\n", + "PHOTODIODES = {\n", + " \"PD15-22B/TR8\": dict(\n", + " dark_current=5e-9, # A\n", + " light_current=read_wpd_csv(\n", + " dir_ / \"data/PD15-22B/reverse_light_current.csv\",\n", + " \"irradiance\",\n", + " \"vr\",\n", + " ).isel(vr=0),\n", + " ),\n", + " \"TEMD5110X01\": dict(\n", + " dark_current=3e-9, # A\n", + " light_current=read_wpd_csv(\n", + " dir_ / \"data/TEMD5110X01/reverse_light_current.csv\",\n", + " \"irradiance\",\n", + " \"vr\",\n", + " ).isel(vr=0),\n", + " ),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Photodiode Transfer Function')" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB71klEQVR4nO3dd3hUVf7H8ffMZNJJIISE3mvo0kSp0ptiQ10LoOLqBncVXVcsKFhwrexqlLUA/tZ1F1FRFJWuKKA06RC6KCUJLSF9MnN/f1wzYUgmJJAwk+Tzep55uHPOmXu/M+ROvjn3nnMshmEYiIiIiEiFZ/V1ACIiIiJSNpTYiYiIiFQSSuxEREREKgkldiIiIiKVhBI7ERERkUpCiZ2IiIhIJaHETkRERKSSUGInIiIiUkkosRMRERGpJJTYiVQwc+bMwWKxsH79el+Hcl4HDx7EYrEwZ84cd9nTTz+NxWIp0+M0btyYcePGlek+K5qXXnqJpk2bYrPZ6NSpk6/D8TvffvstFouFb7/91tehiJQrJXYifiI/Yct/BAcH07JlSyZOnEhSUlK5HvvDDz9kxowZ5XqMiuDc/wNvj8aNG/s6VA+LFy/mkUce4corr2T27Nk8//zz5Xq8/OS8qMfMmTPL9djn8+abb3r8ISFS1QT4OgAR8TRt2jSaNGlCdnY2P/zwA2+99RZfffUV27ZtIzQ0tFyO+eGHH7Jt2zYeeOCBctn/2Z544gkeffTRcj/OhejTpw///ve/Pcruvvtuunfvzj333OMuCw8Pv9ShFWv58uVYrVbee+89AgMDL9lx33rrrUKfRY8ePS7Z8Yvy5ptvEh0dXagHt0+fPmRlZV3Sz0fEF5TYifiZYcOG0bVrV8BMKmrWrMmrr77K559/zi233OLj6C5eQEAAAQH++dXTtGlTmjZt6lF277330rRpU2677Tavr8vLy8PlcvksaUhOTiYkJKRMj5+ZmXnePyRuuOEGoqOjy+yY5clqtRIcHOzrMETKnS7Fivi5q666CoADBw54lOfk5DBp0iRq1apFWFgY1157LSkpKYVe/+abb9K2bVuCgoKoW7cu8fHxnD592l3fr18/Fi5cyC+//FLkpcbk5GTuuusuYmNjCQ4OpmPHjrz//vuFjnP69GnGjRtHZGQk1atXZ+zYsR7HyVfUPXZ5eXk888wzNGvWjKCgIBo3bsxjjz1GTk6ORzvDMHj22WepX78+oaGh9O/fn+3btxf5uZ0+fZoHHniABg0aEBQURPPmzfn73/+Oy+Uqsn1J5d83+PLLLzNjxgx3zDt27CA3N5cpU6bQpUsXIiMjCQsLo3fv3qxYscLrPt5++233Prp168a6des82h47dozx48dTv359goKCqFOnDtdccw0HDx4EwGKxMHv2bDIyMtz/f2dfivzggw/o0qULISEhREVFcfPNN/Prr796HKNfv360a9eODRs20KdPH0JDQ3nssccu+jMq6pKoxWLh6aefdj/P/3nYu3cv48aNo3r16kRGRjJ+/HgyMzMLvf6DDz6ge/fuhIaGUqNGDfr06cPixYsB817L7du3891337k/i379+gHe77GbN2+e+/OJjo7mtttu4/Dhwx5txo0bR3h4OIcPH2b06NGEh4dTq1YtHn74YZxO5wV/TiLlwT//bBYRt3379gFQs2ZNj/L777+fGjVq8NRTT3Hw4EFmzJjBxIkTmTt3rrvN008/zdSpUxk4cCD33XcfiYmJvPXWW6xbt45Vq1Zht9t5/PHHSU1N5bfffuO1114DCi41ZmVl0a9fP/bu3cvEiRNp0qQJ8+bNY9y4cZw+fZq//OUvgJlwXXPNNfzwww/ce++9tGnThvnz5zN27NgSvce7776b999/nxtuuIGHHnqIn376ienTp7Nz507mz5/vbjdlyhSeffZZhg8fzvDhw9m4cSODBw8mNzfXY3+ZmZn07duXw4cP88c//pGGDRuyevVqJk+ezNGjR8vkfsLZs2eTnZ3NPffcQ1BQEFFRUaSlpfHuu+9yyy23MGHCBM6cOcN7773HkCFDWLt2baFBDR9++CFnzpzhj3/8IxaLhRdffJHrrruO/fv3Y7fbAbj++uvZvn07999/P40bNyY5OZklS5Zw6NAhGjduzL///W/efvtt1q5dy7vvvgvAFVdcAcBzzz3Hk08+yZgxY7j77rtJSUnh9ddfp0+fPvz8889Ur17dHcuJEycYNmwYN998M7fddhuxsbHn/QxOnjzp8dxms1GjRo0L+jzHjBlDkyZNmD59Ohs3buTdd98lJiaGv//97+42U6dO5emnn+aKK65g2rRpBAYG8tNPP7F8+XIGDx7MjBkzuP/++wkPD+fxxx8HKPZ9zJkzh/Hjx9OtWzemT59OUlIS//jHP1i1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v9i+fTuvvfYaM2fO5LHHHnO3Wb16NR06dOCTTz5hy5YtjB8/njvuuIMvv/zS67HXrFlDixYtGDlyJKmpqR7ttmzZwqlTp9i+fbtHrACzZ892P1+3bp37NRMmTODo0aMkJiYyefJkpkyZwsyZM9316enpDB06lIYNG/LTTz/xww8/UK1aNYYMGYLD4Sj2MxARESmtKnOPXWZmJm3atOHGG2/k5Zdf9nU4fiEoKMidjN13333Mnz+fBQsW0LNnTwBiYmLck+S2bNmSa665hs6dO3Pfffe5E7Nu3brRrVs3AB599FGvxwoICCg28TvX0KFDGTp0qPt506ZNSUxM5K233nL//52d5AH85S9/YfHixXz66aeMHDmyyGPXrl2badOmMXv2bHbv3u2OHeDzzz9n6NChREZGEhkZ6bHv/M/hXKGhoe7y8ePH88Ybb7BkyRLuu+8+wExQT548ybRp02jQoAEATz31FB06dOCXX36hefPmJf5MRETkEsrNgF0LfR1FqVWZHrvnnnuOyy+/vFyPYRgGmbl5JXpk5TpL3LYkj3Mv/12IkJCQYpdGCwkJ4d5772XVqlXuyXNLas+ePdStW5emTZty6623cujQoVLHl5qaSlRU1EW1ycnJYfbs2VSvXp1WrVp51C1YsIBrrrmm1HGB+X///fffs2vXLo/pb1q1akXNmjV57733yM3NJSsri/fee482bdq4L+mKiIifSE+Bjf+GD2+GF5vCpxM86yqAKtFjt2fPHnbt2sWoUaPYtm1buR0n/yZKX9gxbQihgRf232kYBsuWLWPRokXcf//9xbbNvzfu4MGDxMTElGj/PXr0YM6cObRq1YqjR48ydepUevfuzbZt26hWrVqJ9rF3715ef/31YntbP/roI9atW8e//vUvj/KtW7cSHh4OmD231apVY+7cuURERLjbHD58mC1btjBs2LASxZPvzTff5N133yU3NxeHw0FwcDB//vOf3fXVqlXj22+/ZfTo0TzzzDMAtGjRgkWLFhEQUCVOPxER/5abAds+hU0fwqE1wFkdJZENIPVXczukhk/CKy2f99itXLmSUaNGUbduXSwWC5999lmhNgkJCTRu3Jjg4GB69OjB2rVrS3WMhx9+mOnTp5dRxJXHl19+SXh4OMHBwQwbNoybbrqJp59+utjX5PcMlmZI97Bhw7jxxhvp0KEDQ4YM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q2M+cjMKVWfm5tHmyW9o8+Q3ZObmFbGDS089dlXM0aNH3dtz585lypQpJCYmusvCw8M5fvw4AEuXLqVt27Yer69Zs6Z7OywsjOTkZNasWeOxlu97771Hw4YNCx07IiKCxMREDMPg9OnTrF69munTpzN79mxWrVpF3bp13W3btm3L0qVL3c8DAjx/VDMzMxk6dChDhw5l8uTJRb7X3NxcbrzxRnr27Ml7771XqN7pdDJixAhq167N6tWrOXr0KHfccQd2u53nn38egGnTprFw4UImTZrEO++8A8CsWbNYsWIFmzdvdq/1++CDD7Jw4ULmzZtHZGQkEydO5LrrrmPVqlUex7zzzjv56aef2LJlS5Exi4j4PcOA5J2wcwFs/wxSdhbURdSDjrdApz9AzWY+C7FMOTKLrc5y+NeVPSV2VczZa+xGRkZisVgKrbubn9jVrFmz2DV5AwIC+MMf/sCsWbPcid1vv/3Gt99+y4MPPsh///tfj/ZnH6tOnTq0adOGUaNG0bZtWx555BE++OADj30Xd+wHHngAgG+//dZrm6lTpwJmb2FRFi9ezI4dO1i6dCmxsbF06tSJZ555hr/97W88/fTTBAYGEhQUxPvvv0/Pnj25/vrriYuL48EHH+TFF1+kWTPzSys1NZX33nuPDz/8kKuuugqA2bNn06ZNG3788Ucuv/xyAP75z38CkJKSosRORCoWRzYcWg17lsKeRedMURIMrUdC51uhSV+wFh49KpeOEruyZBjnzewBc5SQIxNybWU3c7Y91CcTN955553069ePf/zjH4SGhjJnzhyGDh1a4pVBYmJiuPXWW5k1axZOpxObzfxC2LNnD3Xr1iU4OJiePXsyffr0InsBL8aaNWto3769R6xDhgzhvvvuY/v27XTu3BmALl26MHnyZO6++26aNWtG9+7due+++9yv2bBhAw6Hg4EDB7rLWrduTcOGDVmzZo07sRMRqVBOHjDXZ92zBA5+7/n7zRYIzQZA3DXmqNaQ6j4LUzwpsfPiggZPODLh+brnbWYFql9wZF48dqTM5/654oor3Jca86Wnp3s879y5M02bNuXjjz/m9ttvZ86cObz66qvs37+/xMdp3bo1Z86c4cSJE8TExNCjRw/mzJlDq1atOHr0KFOnTqV3795s27aNatXKbkj8sWPHCiWg+c+PHTvmUf7EE08we/Zs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CxaLhU2bNvk6HADq1KlDp06dAKhduzbR0dGcPHnSXT9u3Dh3zJ999plvghSpwpTYicglN27cOEaPHu2z43/66ac888wzPjt+aUyYMIGjR4/Srl07AG677TauvfZajzYrVqzAYrHw5JNPepS/9NJL1KlTh9zcXHfZ+PHjeeKJJ8oktg0bNuB0OmnQoIG77B//+AdHjx4tk/2LSOkF+DoAEZFz5ebmEhgYeN6yCxUVFVUm+7kUQkNDqV27tvt59erVOXLkiEebV155haCgIFJTU91leXl5vP7669x///3uz83pdPLll1+ycOHCi47r5MmT3HHHHbzzzjse5ZGRkURGRl70/kXkwqjHTkR8rl+/fkycOJEHHniA6OhohgwZUmQZwDfffEOvXr2oXr06NWvWZOTIkezbt89jfxkZGdxxxx2Eh4dTp04dXnnllULHO/tSbEn22a9fP/785z/zyCOPEBUVRe3atXn66afd9S6XixdffJHmzZsTFBREw4YNee655zzqp0+fTpMmTQgJCaFjx458/PHHpf6sqlev7pHA7dq1iyVLljBu3DiP8nnz5nHixAnuvfded9nq1aux2+1069YNgIMHD2KxWPjkk0/o06cPISEhdOvWjUOHDvH9999z+eWXExoayoABAzh9+rR7Pzk5OYwePZpHH32UK664otTvQUTKjxI7EfEL77//PoGBgaxatYqZM2d6LcvIyGDSpEmsX7+eZcuWYbVaufbaa3G5XO59/fWvf+W7777j888/Z/HixXz77bds3LjR67FLss/8eMLCwvjpp5948cUXmTZtGkuWLAFg8uTJvPDCCzz55JPs2LGDDz/8kNjYWPdrp0+fzv/93/8xc+ZMtm/fzoMPPshtt93Gd999V6rP6dzE7tVXX+Wmm24iLi7Oo/y1115j/PjxHr2TCxYsYNSoUVgsFgA2b94MwFtvvcXzzz/P6tWrSUpK4rbbbuOFF17gjTfeYMWKFWzevJnZs2cDYBgG48aN46qrruL2228vVewicgkYIiKX2NixY41rrrnG/bxv375G586dPdoUVVaUlJQUAzC2bt1qGIZhnDlzxggMDDQ++ugjd5sTJ04YISEhxl/+8hf3vvO3S7LP/Nf06tXLo123bt2Mv/3tb0ZaWpoRFBRkvPPOO0XuLzs72wgNDTVWr17tUX7XXXcZt9xyi9c4iorznXfeMaKjow3DMIzk5GQjJCTE2Lx5szFnzhyjX79+hmEYxsqVKw2r1Wrs2bPH47UtWrQwvvzyS/fzp59+2oiKijKOHz/uLrvtttuMxo0bGxkZGe6yoUOHGo888ohhGIbx/fffGxaLxejYsaP7sWXLlkKxA8b8+fO9vjcRKR+6x05E/EKXLl1KVLZnzx6mTJnCTz/9xPHjx929aocOHaJdu3bs27eP3NxcevTo4X5NVFQUrVq18nrs8+0zX4cOHTxeV6dOHZKTk9m5cyc5OTkMGDCgyP3v3buXzMxMBg0a5FGem5tL586dvcZVlLN77BISEujVqxcdOnRg37597vJXX32Va665hubNm7tft3PnTo4cOeIR4+bNm7n22mupWbOmu+zQoUPcdNNNhIaGepRdc801APTq1atQT6aI+A8ldiLiF4qaB62oslGjRtGoUSPeeecd6tati8vlol27dh4jP0urpPu02+0ezy0WCy6Xi5CQkGL3n56eDsDChQupV6+eR11QUFCpYq1evToOh4NTp07x1ltv8e9//xuAiIgIUlNT2bdvHwsWLOD777/3eN2CBQsYNGgQwcHB7rJNmzYxefJkj3abN2/mwQcfdD/Pzs4mMTGRjh07lipOEfEN3WMnIhXGiRMnSExM5IknnmDAgAG0adOGU6dOebRp1qwZdrudn376yV126tQpdu/efcH7PJ8WLVoQEhLCsmXLiqyPi4sjKCiIQ4cO0bx5c4/H2VOFlET16tUBeP3116lduzaDBw8GzNGoqampzJgxg+7duxca1PD555+7e90A0tLSOHjwoEeP4YEDB0hNTfUo27p1K4Zh0L59+1LFKSK+oR47EakwatSoQc2aNXn77bepU6cOhw4d4tFHH/VoEx4ezl133cVf//pXatasSUxMDI8//jhWa9F/x5Zkn+cTHBzM3/72Nx555BECAwO58sorSUlJYfv27dx1111Uq1aNhx9+mAcffBCXy0WvXr1ITU1l1apVREREMHbs2BIfKz+xe+211/jHP/7hLo+IiOD06dPMmTPHPdAhX3JyMuvXr2fBggXuss2bN2Oz2TwuNW/atImoqCgaNWrkUdasWTPCw8NL9ZmIiG8osRORCsNqtfK///2PP//5z7Rr145WrVrxz3/+k379+nm0e+mll0hPT2fUqFFUq1aNhx56yGPE6IXs83yefPJJAgICmDJlCkeOHKFOnToeU40888wz1KpVi+nTp7N//36qV6/OZZddxmOPPVaq4+QndmFhYdxyyy3u8sjISJxOJ7Vq1So0gfEXX3xB9+7diY6Odpdt3ryZVq1aeVya3bx5c6F7/jZv3qzLsCIViNaKFRHxU/369aNTp07MmDHjovZz9dVX06tXLx555JGyCawELBYL8+fP9+kKIyJVke6xExHxY2+++Sbh4eFs3br1gvfRq1cvj9698nTvvffqsq2ID6nHTkTETx0+fJisrCwAGjZsWGZLqpWn5ORk0tLSAHM6mKJGNotI+VFiJyIiIlJJ6FKsiIiISCWhxE5ERESkklBiJyIiIlJJKLETERERqSSU2ImIiIhUEkrsRERERCoJJXYiIiIilYQSOxEREZFKQomdiIiISCWhxE5ERESkklBiJyIiIlJJ/D8v1qU4v1AHZgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(tight_layout=True)\n", + "for diode, properties in PHOTODIODES.items():\n", + " lc: xr.DataArray = properties[\"light_current\"]\n", + " lines = ax.loglog(lc.coords[\"irradiance\"], lc, label=diode)\n", + "\n", + " ax.axhline(properties[\"dark_current\"], color=lines[0].get_color(), linestyle=\"--\")\n", + " ax.axvline(\n", + " np.max(lc.coords[\"irradiance\"]), color=lines[0].get_color(), linestyle=\"--\"\n", + " )\n", + "\n", + "ax.set_xlabel(\"Irradiance [$W/m^2$]\")\n", + "ax.set_ylabel(\"Current [A]\")\n", + "ax.grid(True)\n", + "ax.legend(loc=\"upper left\")\n", + "ax.set_title(\"Photodiode Transfer Function\")" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Component comparison')" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "d = np.linspace(0.1, 200, 4000) # downrange distance\n", + "area_objective = np.pi * (80e-3 / 2) ** 2\n", + "area_spot = np.pi * (3e-3 / 2) ** 2 # approximation\n", + "gain_optical = area_objective / area_spot\n", + "\n", + "# Received power density\n", + "power_density = dict()\n", + "for led, properties in LEDS.items():\n", + " incident_power = properties[\"emissivity\"] * (1 / (d**2)) # W / m^2 at objective\n", + " power_density[led] = incident_power * gain_optical\n", + "\n", + "fig, ax = plt.subplots(tight_layout=True)\n", + "for led in LEDS:\n", + " lines = ax.loglog(\n", + " d,\n", + " power_density[led],\n", + " label=f\"{led} ({LEDS[led]['emissivity_current']/1e-3:5.1f} mA)\",\n", + " )\n", + "\n", + "ax.set_prop_cycle(None) # reset color cycle to keep colors consistent across plots\n", + "for diode, properties in PHOTODIODES.items():\n", + " ax.axhline(\n", + " np.max(properties[\"light_current\"].coords[\"irradiance\"]),\n", + " linestyle=\"--\",\n", + " label=f\"{diode} Psat\",\n", + " color=ax._get_lines.get_next_color(),\n", + " )\n", + "\n", + "ax.set_xlabel(\"Range [m]\")\n", + "ax.set_ylabel(\"RX Power Density [$W/m^2$]\")\n", + "ax.grid(True)\n", + "ax.legend(loc=\"upper right\")\n", + "ax.set_title(\"Component comparison\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/data/PD15-22B/reverse_light_current.csv b/data/PD15-22B/reverse_light_current.csv new file mode 100644 index 0000000..6681630 --- /dev/null +++ b/data/PD15-22B/reverse_light_current.csv @@ -0,0 +1,94 @@ +5, +X,Y +5.000000000000002,0.000002660572986679701 +5.200000000000001,0.0000027453326240864316 +5.400000000000002,0.000002836791504074838 +5.600000000000001,0.0000029142206286983785 +5.8000000000000025,0.0000029830917958852056 +6.000000000000002,0.000003056998792568694 +6.200000000000003,0.0000031383725499494025 +6.400000000000002,0.000003214609091379513 +6.600000000000003,0.000003277705971120341 +6.8000000000000025,0.0000033382935862192605 +7.0000000000000036,0.0000034082880035958443 +7.200000000000003,0.000003480745649493221 +7.400000000000004,0.0000035558834643297646 +7.600000000000003,0.000003639710421004566 +7.800000000000004,0.0000037203368016406015 +8.000000000000004,0.000003789833079282842 +8.200000000000001,0.0000038610803141496035 +8.4,0.0000039433947140464304 +8.6,0.000004019725912031996 +8.8,0.0000040882798653239516 +9,0.0000041695062080750405 +9.2,0.000004253487290554012 +9.399999999999997,0.000004318764112077182 +9.599999999999996,0.000004387228041676068 +9.799999999999995,0.000004466108410462794 +10,0.000004542542462692897 +10.199999999999998,0.000004609818933256782 +10.399999999999997,0.00000468663380577729 +10.599999999999996,0.00000477121169625395 +10.799999999999995,0.000004850284477674621 +10.999999999999995,0.000004920187080259047 +11.199999999999996,0.00000498875379706088 +11.399999999999993,0.000005066387020471764 +11.599999999999993,0.000005143588382509355 +11.799999999999992,0.000005210362677349178 +11.999999999999991,0.000005290405727296187 +12.19999999999999,0.000005371308640287877 +12.399999999999991,0.000005439989993764734 +12.59999999999999,0.000005512709966432873 +12.799999999999988,0.000005594601837461707 +12.999999999999988,0.000005670120656581912 +13.199999999999983,0.000005741426086578253 +13.399999999999983,0.000005818051973742693 +13.599999999999985,0.000005898517764949716 +13.799999999999985,0.00000597283533838002 +13.999999999999984,0.000006038658947295504 +14.199999999999983,0.000006115035588943195 +14.399999999999983,0.000006195074043328818 +14.599999999999978,0.000006264400377097991 +14.799999999999981,0.000006336913923455637 +14.99999999999998,0.000006420046228369117 +15.19999999999998,0.000006498382296313012 +15.399999999999979,0.0000065633815109880756 +15.599999999999978,0.000006632867240159311 +15.799999999999974,0.000006720279535474866 +15.999999999999977,0.000006798227522892147 +16.199999999999978,0.000006862627629238887 +16.399999999999977,0.0000069378365875484646 +16.599999999999977,0.000007022730645890481 +16.799999999999976,0.000007094645961373682 +16.999999999999975,0.000007164458939545507 +17.19999999999997,0.000007247048590416328 +17.399999999999974,0.000007326698032497137 +17.599999999999973,0.000007389738494150482 +17.799999999999972,0.00000746356373758641 +17.99999999999997,0.0000075488254990986055 +18.19999999999997,0.00000762450516993723 +18.399999999999967,0.00000769074728743585 +18.599999999999966,0.000007766153651525683 +18.79999999999997,0.000007846220972535065 +18.999999999999964,0.000007920643788726277 +19.199999999999967,0.00000799195859228506 +19.399999999999967,0.000008071731610640567 +19.599999999999966,0.000008152489898027316 +19.799999999999965,0.000008226346233646546 +19.99999999999996,0.000008295164443274831 +20.199999999999964,0.000008375699316463824 +20.399999999999963,0.000008456120411115335 +20.599999999999962,0.000008526981270824619 +20.79999999999996,0.000008602525711101086 +20.999999999999957,0.000008683265701827081 +21.19999999999996,0.000008759050693404625 +21.399999999999956,0.000008832138357095406 +21.59999999999996,0.000008914607834271342 +21.799999999999958,0.000008994917772501906 +21.999999999999957,0.00000906535248543765 +22.199999999999957,0.000009133670858190497 +22.399999999999952,0.000009211803047800052 +22.599999999999955,0.000009293122876163956 +22.799999999999958,0.000009368020169958303 +22.999999999999954,0.000009441638027155209 +23.199999999999953,0.000009533698086649454 \ No newline at end of file diff --git a/data/TEMD5110X01/reverse_light_current.csv b/data/TEMD5110X01/reverse_light_current.csv new file mode 100644 index 0000000..930d868 --- /dev/null +++ b/data/TEMD5110X01/reverse_light_current.csv @@ -0,0 +1,156 @@ +5, +X,Y +0.10351779556301766,6.026454270830844e-7 +0.10715933998226713,6.207275549149445e-7 +0.11092898648952228,6.412403056679414e-7 +0.11483124145435111,6.667538441769419e-7 +0.11887076977119036,6.952243027987918e-7 +0.12305240043592619,7.230848135501472e-7 +0.1273811323186479,7.488082747266296e-7 +0.1318621401394748,7.720654143529999e-7 +0.1365007806546014,7.939357336249066e-7 +0.14130259905995338,8.186548614006269e-7 +0.146273335620113,8.490973071040049e-7 +0.1514189325304352,8.824962357466325e-7 +0.1567455410205595,9.156131974198129e-7 +0.16225952870780871,9.470310471197345e-7 +0.16796748720926533,9.766571539896636e-7 +0.17387624002162505,0.0000010072200266751385 +0.17999285067824763,0.0000010407912286934743 +0.18632463119315598,0.0000010762066706534908 +0.19287915080207776,0.0000011125472413540925 +0.19966424501097924,0.0000011510119404453405 +0.2066880249629082,0.0000011924915506333982 +0.21395888713434216,0.0000012360877152896799 +0.22148552337263594,0.0000012807834132398164 +0.22927693128656487,0.000001326119271352672 +0.23734242500238661,0.0000013720310786857444 +0.245691646298279,0.00000141927694367555 +0.25433457613046484,0.0000014684109246695529 +0.263281546564802,0.0000015190885810815197 +0.2725432531281028,0.0000015711385780090747 +0.28213076759394723,0.0000016251766999354664 +0.29205555121827464,0.0000016821898758726936 +0.30232946844057795,0.0000017436871480087752 +0.3129648010670752,0.000001810017008080176 +0.3239742629528197,0.000001878429986722254 +0.33537101520029305,0.0000019455608299314645 +0.34716868189265615,0.0000020081120514825175 +0.35938136638046275,0.0000020659896003539007 +0.3720236681413068,0.0000021265564512892768 +0.38511070023255706,0.0000021959912414092886 +0.3986581073580443,0.000002274886855827402 +0.4126820845702956,0.0000023614538484221896 +0.4271993966306781,0.0000024501488183036485 +0.4422273980505899,0.0000025373094915454673 +0.45778405383766185,0.0000026252812511045793 +0.47388796097176533,0.000002716543150858481 +0.4905583706365048,0.000002811852710089818 +0.5078152112327673,0.000002911379825969426 +0.5256791122018422,0.000003014434716288518 +0.5441714286865893,0.0000031200609945196396 +0.5633142670601358,0.0000032270790313187726 +0.5831305113526225,0.000003336112613990212 +0.603643850607587,0.0000034516933990812218 +0.6248788072006894,0.000003576502807764847 +0.6468607661546324,0.0000037079607324238995 +0.6696160054853219,0.0000038415229225527605 +0.6931717276155404,0.000003970324514193761 +0.7175560918936925,0.000004093874070446898 +0.7427982482564919,0.000004225496644410862 +0.7689283720758313,0.000004373884787738971 +0.7959777002314986,0.0000045343152035432456 +0.823978568452852,0.000004700996336789944 +0.8529644499741025,0.000004869559400287546 +0.8829699955494091,0.000005039919546822897 +0.9140310748756227,0.0000052203501166961145 +0.9461848194721997,0.000005413957960286088 +0.9794696670695391,0.00000561143498623944 +1.0139254075588153,0.000005805306995830156 +1.0495932305582276,0.000005995137467411958 +1.0865157746525385,0.0000061845188371967965 +1.124737178364752,0.000006383028923650616 +1.1643031329208768,0.000006599171192548078 +1.2052609368708427,0.000006837581545720087 +1.2476595526308698,0.000007096082920756764 +1.291549665014884,0.000007360361895123363 +1.336983741824946,0.000007618370596270255 +1.384016096573131,0.000007866013088067884 +1.432702953409831,0.000008115136178997243 +1.4831025143361045,0.000008404043082391102 +1.5352750287804227,0.000008745795729227088 +1.589282865622978,0.000009101621694704014 +1.6451905877536626,0.000009438236699759665 +1.7030650292528444,0.000009744900069330775 +1.7629753752872057,0.000010024018335783654 +1.8249932448161523,0.0000102969225193753 +1.8891927762076663,0.000010587338234745598 +1.955650715865949,0.000010918708345909993 +2.0244465099768036,0.00001130557231734577 +2.095662399480433,0.000011746285242588781 +2.1693835183851844,0.000012221694139646372 +2.245697995539774,0.00001268596934283613 +2.3246970599856502,0.000013122318332793017 +2.406475150015424,0.000013568796922730308 +2.4911300260677884,0.000014048990601726429 +2.578762887593801,0.0000145531944321922 +2.669478494034321,0.000015072791252976869 +2.76338529005317,0.000015606122738492458 +2.860595535175742,0.00001615726260731254 +2.9612254379880345,0.000016738325589312623 +3.065395295056527,0.00001735071813685922 +3.173229634734976,0.000017977351095148323 +3.2848573660300437,0.000018599181286475543 +3.400411932703706,0.000019198255826575132 +3.520031472796679,0.000019787354783320935 +3.6438589837635442,0.000020425375116206606 +3.7720424934169974,0.000021140961278682066 +3.90473523688556,0.00002190991406931796 +4.042095839796306,0.000022706631223476164 +4.18428850790158,0.000023510881916024316 +4.331483223376403,0.000024322173341959173 +4.483855948021191,0.000025169020034196523 +4.641588833612782,0.000026062058911347746 +4.804870439655134,0.000026981841007724824 +4.973895958790062,0.00002791595299096008 +5.148867450137493,0.00002886660516204445 +5.329994080844088,0.00002985626087510174 +5.517492376129123,0.00003090186810811882 +5.711586478126429,0.000031993039963460896 +5.912508413831875,0.000033150334768770376 +6.120498372476696,0.000034389833819368036 +6.335804992658248,0.0000356627338062896 +6.558685659571428,0.00003692291548754426 +6.789406812696106,0.000038156816929924585 +7.028244264308346,0.00003936866948670814 +7.275483529196225,0.00004059695514767194 +7.531420165974368,0.000041949859117811974 +7.796360130405229,0.00004341242367402876 +8.070620141149508,0.00004495038037218226 +8.354528058382863,0.000046538393677186194 +8.648423275731718,0.000048180306441794584 +8.952657125996392,0.00004995923038827986 +9.267593301146874,0.000051918319590600044 +9.593608287093128,0.000053942808426593876 +9.93109181374978,0.000055897467845448075 +10.280447320933076,0.000057687884193236076 +10.642092440647225,0.00005931600471973108 +11.016459496336546,0.00006102260329830138 +11.403996019700308,0.00006302140671562244 +11.805165285688032,0.00006533196512655455 +12.220446866314862,0.00006791375535667392 +12.650337203959012,0.00007064595209989901 +13.09535020482665,0.00007339314889444887 +13.556017853293662,0.00007603910956497545 +14.032890847858717,0.00007851660757013407 +14.526539259467798,0.00008088851748495742 +15.037553212997368,0.00008329519357454238 +15.566543592710605,0.00008600390375280542 +16.114142772530183,0.00008917695362519234 +16.681005372000573,0.00009264598761529923 +17.26780903884354,0.00009614238967450045 +17.875255259042337,0.00009930488105915327 +18.504070195423,0.00010216327484754775 +19.155005555735258,0.000105721603270926 +19.828839491270674,0.00010991836881695982 +21.22254121252652,0.0001167636580259355 \ No newline at end of file