2023-01-10T19:54:12,099 Created temporary directory: /tmp/pip-ephem-wheel-cache-y8b4fcxs 2023-01-10T19:54:12,101 Created temporary directory: /tmp/pip-build-tracker-yu5hvkg2 2023-01-10T19:54:12,102 Initialized build tracking at /tmp/pip-build-tracker-yu5hvkg2 2023-01-10T19:54:12,102 Created build tracker: /tmp/pip-build-tracker-yu5hvkg2 2023-01-10T19:54:12,102 Entered build tracker: /tmp/pip-build-tracker-yu5hvkg2 2023-01-10T19:54:12,103 Created temporary directory: /tmp/pip-wheel-475iz2gv 2023-01-10T19:54:12,106 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2023-01-10T19:54:12,108 Created temporary directory: /tmp/pip-ephem-wheel-cache-xbaqe2o7 2023-01-10T19:54:12,135 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-01-10T19:54:12,138 2 location(s) to search for versions of aipy: 2023-01-10T19:54:12,138 * https://pypi.org/simple/aipy/ 2023-01-10T19:54:12,138 * https://www.piwheels.org/simple/aipy/ 2023-01-10T19:54:12,139 Fetching project page and analyzing links: https://pypi.org/simple/aipy/ 2023-01-10T19:54:12,139 Getting page https://pypi.org/simple/aipy/ 2023-01-10T19:54:12,141 Found index url https://pypi.org/simple 2023-01-10T19:54:12,194 Fetched page https://pypi.org/simple/aipy/ as application/vnd.pypi.simple.v1+json 2023-01-10T19:54:12,200 Found link https://files.pythonhosted.org/packages/70/f8/9e59d63a56e6ff3cef994aefc88855949085a3074b70870aaedc4f0d2a59/aipy-0.7.1.tar.gz (from https://pypi.org/simple/aipy/), version: 0.7.1 2023-01-10T19:54:12,201 Found link https://files.pythonhosted.org/packages/27/24/c2a0fe2b1a20b053eb7b5f3cd35ddf4c0b56c453b951fbfa9d1985e6b423/aipy-0.7.2.tar.gz (from https://pypi.org/simple/aipy/), version: 0.7.2 2023-01-10T19:54:12,201 Found link https://files.pythonhosted.org/packages/03/02/807b5596a673affe2477ff16360f9976ff12acc8a85dd01745c87410b802/aipy-0.8.0.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.0 2023-01-10T19:54:12,201 Found link https://files.pythonhosted.org/packages/64/85/6683d98e8748744725055c1ea517208987b02ae3bf0f0bb55e77e769325f/aipy-0.8.1.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.1 2023-01-10T19:54:12,202 Found link https://files.pythonhosted.org/packages/2e/e9/9c88dcf6863e2433895c30a7bdcb7f937cddeacf689a11c0e9146571351c/aipy-0.8.2.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.2 2023-01-10T19:54:12,202 Found link https://files.pythonhosted.org/packages/81/42/2d3b7e122f72298940a8bda4bb0b6359d6b56ab71a8b16708e4598651a40/aipy-0.8.3.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.3 2023-01-10T19:54:12,202 Found link https://files.pythonhosted.org/packages/f2/5c/be1faa401703773de8f05599c497e78192e12968f2e40d93e083ad608d6b/aipy-0.8.4.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.4 2023-01-10T19:54:12,202 Found link https://files.pythonhosted.org/packages/22/db/3f6c4ba9c7d91e90ef64aa5f093ac32f8f3c6ffd373e716cf0945f6b7c70/aipy-0.8.5.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.5 2023-01-10T19:54:12,203 Found link https://files.pythonhosted.org/packages/a2/b9/53c85bfb56316c2f649678563b921d8e5b0e3733d307e100223b2bf5236e/aipy-0.8.6.tar.gz (from https://pypi.org/simple/aipy/), version: 0.8.6 2023-01-10T19:54:12,203 Found link https://files.pythonhosted.org/packages/14/d5/58d2da61113001f860310c432d9189cd8ebf07d64468bd36f6b5b6d57a73/aipy-0.9.0.tar.gz (from https://pypi.org/simple/aipy/), version: 0.9.0 2023-01-10T19:54:12,203 Found link https://files.pythonhosted.org/packages/b0/37/42853520474f3ae8fb2636776f689b687d08b3bfb55c04b03f4bb176ed9a/aipy-0.9.1.tar.gz (from https://pypi.org/simple/aipy/), version: 0.9.1 2023-01-10T19:54:12,204 Found link https://files.pythonhosted.org/packages/ba/b6/001faaca1e3591a789c1fd2e0fb3b55966a0e18e6699fb57b07797f2a937/aipy-1.0.0.tar.gz (from https://pypi.org/simple/aipy/), version: 1.0.0 2023-01-10T19:54:12,204 Found link https://files.pythonhosted.org/packages/4b/7d/89c99659c01b71e5dd903d33108d5e39f1c64d038ba47c15e329aba18fb8/aipy-1.0.1.tar.gz (from https://pypi.org/simple/aipy/), version: 1.0.1 2023-01-10T19:54:12,204 Found link https://files.pythonhosted.org/packages/75/9b/b7090c6b3fa47c4ec72b8dc0ed65692f027294dd057f80e6db5b60dc9167/aipy-1.1.0.tar.gz (from https://pypi.org/simple/aipy/), version: 1.1.0 2023-01-10T19:54:12,204 Found link https://files.pythonhosted.org/packages/19/97/403aadbe44c442d4bbca029d36bcbaab3ca6334457165922abc0a57e12ce/aipy-1.1.1.tar.gz (from https://pypi.org/simple/aipy/), version: 1.1.1 2023-01-10T19:54:12,205 Found link https://files.pythonhosted.org/packages/70/ef/00f6c10acceb695dae6b917b2f9e393c37a289ff6ff9c342e85e6fd57627/aipy-2.1.0.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.0 2023-01-10T19:54:12,205 Found link https://files.pythonhosted.org/packages/ef/60/bc23a594b09473127157e50adda1da836196ce00230786906a11b7fc47b0/aipy-2.1.2.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.2 2023-01-10T19:54:12,205 Found link https://files.pythonhosted.org/packages/be/ee/14a74e74e62ba75412ec66ce8233ee16411a5b241c5efe2d2d11b759430d/aipy-2.1.3.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.3 2023-01-10T19:54:12,205 Found link https://files.pythonhosted.org/packages/8a/99/b9a693918cb9621f521409fccf1e399b15362021840b06a2398830f558ca/aipy-2.1.4.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.4 2023-01-10T19:54:12,206 Found link https://files.pythonhosted.org/packages/74/7c/de9554871856a59ad0bd9748a0564e158e8b363724027385fa6a48ebf264/aipy-2.1.5.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.5 2023-01-10T19:54:12,206 Found link https://files.pythonhosted.org/packages/c8/5c/539bc4756cc828a2ef4d905bb71103f235cd3e7fd389488a1d92687e10f7/aipy-2.1.6.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.6 2023-01-10T19:54:12,206 Found link https://files.pythonhosted.org/packages/cb/0c/2c5e3bbfd97ddade04a02527691ad7f5048db31990876a3ace3437e24702/aipy-2.1.7.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.7 2023-01-10T19:54:12,206 Found link https://files.pythonhosted.org/packages/b7/93/9fc0467cbca84d2d1cdfef2d3f934d9213cca6e58f2e16e05289133fedcc/aipy-2.1.8.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.8 2023-01-10T19:54:12,207 Found link https://files.pythonhosted.org/packages/fd/ea/32bb3f4d78fb9c34b0325891e7f596f759f1d199e0303a74c77963fdf649/aipy-2.1.9.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.9 2023-01-10T19:54:12,207 Found link https://files.pythonhosted.org/packages/d0/5f/a1f91e46495842bd998e3e4c46b46cb4c6637af278de95260dd2b2f8a7fa/aipy-2.1.10.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.10 2023-01-10T19:54:12,207 Found link https://files.pythonhosted.org/packages/1c/10/8accca04f65dd22f96c9ec955499561e7ce83f4954b6768fbe29e46f5360/aipy-2.1.11.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.11 2023-01-10T19:54:12,208 Found link https://files.pythonhosted.org/packages/d1/d0/2b8919732359b294944e474b35fe98eea0957559328effaf9ff1773fbe4c/aipy-2.1.12.tar.gz (from https://pypi.org/simple/aipy/), version: 2.1.12 2023-01-10T19:54:12,208 Found link https://files.pythonhosted.org/packages/08/85/5d56d667d6892431be6a0481bdd26d770885f97350fa629d15fea0bb2469/aipy-3.0.0rc1.tar.gz (from https://pypi.org/simple/aipy/), version: 3.0.0rc1 2023-01-10T19:54:12,208 Found link https://files.pythonhosted.org/packages/df/de/1c059ae47fbb30c0659f167253ebb96b9537fed72b08496c4a7f82bc77a4/aipy-3.0.0rc2.tar.gz (from https://pypi.org/simple/aipy/), version: 3.0.0rc2 2023-01-10T19:54:12,208 Found link https://files.pythonhosted.org/packages/b5/eb/ddbcbca0c9c501791fcdcfa9baeea8cb56204be3ae8c99142ee9001f706f/aipy-3.0.1.tar.gz (from https://pypi.org/simple/aipy/), version: 3.0.1 2023-01-10T19:54:12,209 Found link https://files.pythonhosted.org/packages/f6/f0/6dcc90871f5cb5f1e76996f2182e87f83815406f286f90321557907e7232/aipy-3.0.3.tar.gz (from https://pypi.org/simple/aipy/), version: 3.0.3 2023-01-10T19:54:12,209 Found link https://files.pythonhosted.org/packages/aa/7c/7c69b85f65544ab557e7d1e7315e807fca23197240e9adde2b97f4da67ab/aipy-3.0.5.tar.gz (from https://pypi.org/simple/aipy/), version: 3.0.5 2023-01-10T19:54:12,209 Fetching project page and analyzing links: https://www.piwheels.org/simple/aipy/ 2023-01-10T19:54:12,209 Getting page https://www.piwheels.org/simple/aipy/ 2023-01-10T19:54:12,211 Found index url https://www.piwheels.org/simple 2023-01-10T19:54:12,366 Fetched page https://www.piwheels.org/simple/aipy/ as text/html 2023-01-10T19:54:12,375 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.5-cp37-cp37m-linux_armv7l.whl#sha256=1b55b19425accd7c156e22aa68eae6308c89dd0df9786d4104d33feedaf165d6 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,375 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.5-cp37-cp37m-linux_armv6l.whl#sha256=1b55b19425accd7c156e22aa68eae6308c89dd0df9786d4104d33feedaf165d6 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,375 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.3-cp39-cp39-linux_armv7l.whl#sha256=f92bb1271c5bd7317ee9551ef0c5a42e54421d06ae698e7df7ebd72a810d0f15 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,376 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.3-cp39-cp39-linux_armv6l.whl#sha256=f92bb1271c5bd7317ee9551ef0c5a42e54421d06ae698e7df7ebd72a810d0f15 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,376 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.3-cp37-cp37m-linux_armv7l.whl#sha256=58779966ff7af596659d23a0a66b18c434667144e0835c9acbbcc0a7b489a30a (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,376 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.3-cp37-cp37m-linux_armv6l.whl#sha256=58779966ff7af596659d23a0a66b18c434667144e0835c9acbbcc0a7b489a30a (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,376 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp39-cp39-linux_armv7l.whl#sha256=3f4968b5d6d4253261e170a6752c742de63f078d47c33d4cfea71c7bb8600340 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,376 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp39-cp39-linux_armv6l.whl#sha256=3f4968b5d6d4253261e170a6752c742de63f078d47c33d4cfea71c7bb8600340 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,377 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp34-cp34m-linux_armv6l.whl#sha256=64db501dcecf82f68f479a5f4d948b7af1b5dae8124fc1d9ab5e714260af7cb5 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,377 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp34-cp34m-linux_armv7l.whl#sha256=64db501dcecf82f68f479a5f4d948b7af1b5dae8124fc1d9ab5e714260af7cb5 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,377 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp35-cp35m-linux_armv7l.whl#sha256=5ee6cadf257f2b36fa3b7cf1bf9d8bc7a8a7bac8c36389135fb04dfff38a26ae (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,377 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp35-cp35m-linux_armv6l.whl#sha256=5ee6cadf257f2b36fa3b7cf1bf9d8bc7a8a7bac8c36389135fb04dfff38a26ae (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,377 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp37-cp37m-linux_armv7l.whl#sha256=5d2d3560ae9b288589e2e6021d7a56d8aff0dc0d7b4faaa29660488ebc297498 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,378 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.1-cp37-cp37m-linux_armv6l.whl#sha256=5d2d3560ae9b288589e2e6021d7a56d8aff0dc0d7b4faaa29660488ebc297498 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,378 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp39-cp39-linux_armv7l.whl#sha256=af3538f8b26318a2393095ca271780c81b7afbdbf8ae98cadb55ce2cf6373ec1 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,378 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp39-cp39-linux_armv6l.whl#sha256=af3538f8b26318a2393095ca271780c81b7afbdbf8ae98cadb55ce2cf6373ec1 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,378 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp37-cp37m-linux_armv7l.whl#sha256=d001f91ea4e42ba9266053a0d93a9aa3531d9a6ae69a95e1cd78376c0f96f4e9 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,378 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp37-cp37m-linux_armv6l.whl#sha256=d001f91ea4e42ba9266053a0d93a9aa3531d9a6ae69a95e1cd78376c0f96f4e9 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,379 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp34-cp34m-linux_armv6l.whl#sha256=951e10ea36fab82f8d79931c245faa145039d6d6987827c72c2eaa3013faf8c1 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,379 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp34-cp34m-linux_armv7l.whl#sha256=951e10ea36fab82f8d79931c245faa145039d6d6987827c72c2eaa3013faf8c1 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,379 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp35-cp35m-linux_armv6l.whl#sha256=918240fffbc4c90b2e587258cc29ff194d09162a1aff4149c0e69d265415d8cd (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,379 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc2-cp35-cp35m-linux_armv7l.whl#sha256=918240fffbc4c90b2e587258cc29ff194d09162a1aff4149c0e69d265415d8cd (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,379 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp39-cp39-linux_armv7l.whl#sha256=7841ec40cfd9404343f0c3227769ee1e16385b9441e37ff82cbc3fb188fd7108 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,380 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp39-cp39-linux_armv6l.whl#sha256=7841ec40cfd9404343f0c3227769ee1e16385b9441e37ff82cbc3fb188fd7108 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,380 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp37-cp37m-linux_armv6l.whl#sha256=9a99f47801401a15caf3f22a30fe5bba823ee602a964c2ad373044d341afd5c2 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,380 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp37-cp37m-linux_armv7l.whl#sha256=9a99f47801401a15caf3f22a30fe5bba823ee602a964c2ad373044d341afd5c2 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,380 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp35-cp35m-linux_armv7l.whl#sha256=201225f52ea8089bfc913868f14d2516bc72142532914d11bedd53f1e00567e5 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,381 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp35-cp35m-linux_armv6l.whl#sha256=201225f52ea8089bfc913868f14d2516bc72142532914d11bedd53f1e00567e5 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,381 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp34-cp34m-linux_armv6l.whl#sha256=ebc060503c3dc11236560da9d5ad1c1fca2a633a56b9dfc823357d1c18547e11 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,381 Skipping link: No binaries permitted for aipy: https://www.piwheels.org/simple/aipy/aipy-3.0.0rc1-cp34-cp34m-linux_armv7l.whl#sha256=ebc060503c3dc11236560da9d5ad1c1fca2a633a56b9dfc823357d1c18547e11 (from https://www.piwheels.org/simple/aipy/) 2023-01-10T19:54:12,381 Skipping link: not a file: https://www.piwheels.org/simple/aipy/ 2023-01-10T19:54:12,381 Skipping link: not a file: https://pypi.org/simple/aipy/ 2023-01-10T19:54:12,403 Given no hashes to check 1 links for project 'aipy': discarding no candidates 2023-01-10T19:54:12,421 Collecting aipy==3.0.5 2023-01-10T19:54:12,423 Created temporary directory: /tmp/pip-unpack-tspm8xh_ 2023-01-10T19:54:12,471 Downloading aipy-3.0.5.tar.gz (599 kB) 2023-01-10T19:54:13,065 Added aipy==3.0.5 from https://files.pythonhosted.org/packages/aa/7c/7c69b85f65544ab557e7d1e7315e807fca23197240e9adde2b97f4da67ab/aipy-3.0.5.tar.gz to build tracker '/tmp/pip-build-tracker-yu5hvkg2' 2023-01-10T19:54:13,072 Created temporary directory: /tmp/pip-build-env-gnehyu3r 2023-01-10T19:54:13,080 Installing build dependencies: started 2023-01-10T19:54:13,081 Running command pip subprocess to install build dependencies 2023-01-10T19:54:14,320 Using pip 22.3 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9) 2023-01-10T19:54:14,713 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2023-01-10T19:54:14,738 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-01-10T19:54:16,394 Collecting setuptools>=42 2023-01-10T19:54:16,605 Using cached https://www.piwheels.org/simple/setuptools/setuptools-65.6.3-py3-none-any.whl (1.2 MB) 2023-01-10T19:54:16,873 Collecting wheel 2023-01-10T19:54:16,889 Using cached https://www.piwheels.org/simple/wheel/wheel-0.38.4-py3-none-any.whl (36 kB) 2023-01-10T19:54:18,100 Collecting numpy 2023-01-10T19:54:19,296 Using cached https://www.piwheels.org/simple/numpy/numpy-1.24.1-cp39-cp39-linux_armv7l.whl (12.3 MB) 2023-01-10T19:54:20,019 Collecting setuptools-scm[toml]>=6.2 2023-01-10T19:54:20,035 Using cached https://www.piwheels.org/simple/setuptools-scm/setuptools_scm-7.1.0-py3-none-any.whl (43 kB) 2023-01-10T19:54:20,256 Collecting packaging>=20.0 2023-01-10T19:54:20,273 Using cached https://www.piwheels.org/simple/packaging/packaging-23.0-py3-none-any.whl (42 kB) 2023-01-10T19:54:20,410 Collecting tomli>=1.0.0 2023-01-10T19:54:20,426 Using cached https://www.piwheels.org/simple/tomli/tomli-2.0.1-py3-none-any.whl (12 kB) 2023-01-10T19:54:20,527 Collecting typing-extensions 2023-01-10T19:54:20,544 Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.4.0-py3-none-any.whl (26 kB) 2023-01-10T19:54:22,464 Installing collected packages: wheel, typing-extensions, tomli, setuptools, packaging, numpy, setuptools-scm 2023-01-10T19:54:22,616 Creating /tmp/pip-build-env-gnehyu3r/overlay/bin 2023-01-10T19:54:22,618 changing mode of /tmp/pip-build-env-gnehyu3r/overlay/bin/wheel to 755 2023-01-10T19:54:35,755 changing mode of /tmp/pip-build-env-gnehyu3r/overlay/bin/f2py to 755 2023-01-10T19:54:35,757 changing mode of /tmp/pip-build-env-gnehyu3r/overlay/bin/f2py3 to 755 2023-01-10T19:54:35,759 changing mode of /tmp/pip-build-env-gnehyu3r/overlay/bin/f2py3.9 to 755 2023-01-10T19:54:36,013 Successfully installed numpy-1.24.1 packaging-23.0 setuptools-65.6.3 setuptools-scm-7.1.0 tomli-2.0.1 typing-extensions-4.4.0 wheel-0.38.4 2023-01-10T19:54:36,027 [notice] A new release of pip available: 22.3 -> 22.3.1 2023-01-10T19:54:36,028 [notice] To update, run: python3 -m pip install --upgrade pip 2023-01-10T19:54:36,364 Installing build dependencies: finished with status 'done' 2023-01-10T19:54:36,370 Getting requirements to build wheel: started 2023-01-10T19:54:36,371 Running command Getting requirements to build wheel 2023-01-10T19:54:37,559 Getting requirements to build wheel: finished with status 'done' 2023-01-10T19:54:37,577 Created temporary directory: /tmp/pip-modern-metadata-3yi95uzr 2023-01-10T19:54:37,580 Preparing metadata (pyproject.toml): started 2023-01-10T19:54:37,581 Running command Preparing metadata (pyproject.toml) 2023-01-10T19:54:38,588 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'use_setuptools_scm' 2023-01-10T19:54:38,589 warnings.warn(msg) 2023-01-10T19:54:38,713 running dist_info 2023-01-10T19:54:38,736 creating /tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info 2023-01-10T19:54:38,743 writing /tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/PKG-INFO 2023-01-10T19:54:38,746 writing dependency_links to /tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/dependency_links.txt 2023-01-10T19:54:38,748 writing requirements to /tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/requires.txt 2023-01-10T19:54:38,749 writing top-level names to /tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/top_level.txt 2023-01-10T19:54:38,751 writing manifest file '/tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/SOURCES.txt' 2023-01-10T19:54:38,866 listing git files failed - pretending there aren't any 2023-01-10T19:54:38,878 reading manifest file '/tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/SOURCES.txt' 2023-01-10T19:54:38,883 reading manifest template 'MANIFEST.in' 2023-01-10T19:54:38,945 warning: no previously-included files matching '*.so' found anywhere in distribution 2023-01-10T19:54:38,945 warning: no previously-included files matching '*.dylib' found anywhere in distribution 2023-01-10T19:54:38,946 warning: no previously-included files matching '*~' found anywhere in distribution 2023-01-10T19:54:38,947 warning: no previously-included files matching '*.pyc' found anywhere in distribution 2023-01-10T19:54:38,948 warning: no previously-included files matching '*.pyo' found anywhere in distribution 2023-01-10T19:54:38,949 warning: no previously-included files matching '__pycache__' found anywhere in distribution 2023-01-10T19:54:38,950 warning: no previously-included files matching '.gitignore' found anywhere in distribution 2023-01-10T19:54:38,950 adding license file 'LICENSE' 2023-01-10T19:54:38,950 adding license file 'LICENSE-GPL' 2023-01-10T19:54:38,959 writing manifest file '/tmp/pip-modern-metadata-3yi95uzr/aipy.egg-info/SOURCES.txt' 2023-01-10T19:54:38,960 creating '/tmp/pip-modern-metadata-3yi95uzr/aipy-3.0.5.dist-info' 2023-01-10T19:54:39,215 Preparing metadata (pyproject.toml): finished with status 'done' 2023-01-10T19:54:39,222 Source in /tmp/pip-wheel-475iz2gv/aipy_8dbe4b9d6f8145a3ae14fb8207c560f8 has version 3.0.5, which satisfies requirement aipy==3.0.5 from https://files.pythonhosted.org/packages/aa/7c/7c69b85f65544ab557e7d1e7315e807fca23197240e9adde2b97f4da67ab/aipy-3.0.5.tar.gz 2023-01-10T19:54:39,223 Removed aipy==3.0.5 from https://files.pythonhosted.org/packages/aa/7c/7c69b85f65544ab557e7d1e7315e807fca23197240e9adde2b97f4da67ab/aipy-3.0.5.tar.gz from build tracker '/tmp/pip-build-tracker-yu5hvkg2' 2023-01-10T19:54:39,228 Created temporary directory: /tmp/pip-unpack-voply3in 2023-01-10T19:54:39,229 Building wheels for collected packages: aipy 2023-01-10T19:54:39,234 Created temporary directory: /tmp/pip-wheel-9vxxgr94 2023-01-10T19:54:39,234 Destination directory: /tmp/pip-wheel-9vxxgr94 2023-01-10T19:54:39,237 Building wheel for aipy (pyproject.toml): started 2023-01-10T19:54:39,238 Running command Building wheel for aipy (pyproject.toml) 2023-01-10T19:54:40,170 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'use_setuptools_scm' 2023-01-10T19:54:40,171 warnings.warn(msg) 2023-01-10T19:54:40,318 running bdist_wheel 2023-01-10T19:54:40,390 running build 2023-01-10T19:54:40,390 running build_py 2023-01-10T19:54:40,401 creating build 2023-01-10T19:54:40,401 creating build/lib.linux-armv7l-cpython-39 2023-01-10T19:54:40,402 creating build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,404 copying aipy/__init__.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,406 copying aipy/pol.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,408 copying aipy/twodgauss.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,410 copying aipy/src.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,412 copying aipy/const.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,414 copying aipy/interp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,416 copying aipy/cal.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,418 copying aipy/healpix.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,421 copying aipy/map.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,423 copying aipy/amp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,426 copying aipy/dsp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,428 copying aipy/scripting.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,431 copying aipy/fit.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,433 copying aipy/coord.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,436 copying aipy/_version.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,437 copying aipy/miriad.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,440 copying aipy/deconv.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,443 copying aipy/rfi.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,444 copying aipy/phs.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,447 copying aipy/img.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,451 creating build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,452 copying aipy/_src/__init__.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,454 copying aipy/_src/mrt.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,456 copying aipy/_src/four_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,458 copying aipy/_src/parkes.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,460 copying aipy/_src/vlss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,462 copying aipy/_src/helm.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,464 copying aipy/_src/wenss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,466 copying aipy/_src/txs.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,468 copying aipy/_src/three_cr.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,470 copying aipy/_src/paper.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,472 copying aipy/_src/seven_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,474 copying aipy/_src/three_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,476 copying aipy/_src/six_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,478 copying aipy/_src/misc.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,480 copying aipy/_src/nvss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,482 copying aipy/_src/gbsix.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,484 copying aipy/_src/culgoora.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,486 running egg_info 2023-01-10T19:54:40,511 writing aipy.egg-info/PKG-INFO 2023-01-10T19:54:40,513 writing dependency_links to aipy.egg-info/dependency_links.txt 2023-01-10T19:54:40,516 writing requirements to aipy.egg-info/requires.txt 2023-01-10T19:54:40,517 writing top-level names to aipy.egg-info/top_level.txt 2023-01-10T19:54:40,559 listing git files failed - pretending there aren't any 2023-01-10T19:54:40,572 reading manifest file 'aipy.egg-info/SOURCES.txt' 2023-01-10T19:54:40,583 reading manifest template 'MANIFEST.in' 2023-01-10T19:54:40,639 warning: no previously-included files matching '*.so' found anywhere in distribution 2023-01-10T19:54:40,640 warning: no previously-included files matching '*.dylib' found anywhere in distribution 2023-01-10T19:54:40,641 warning: no previously-included files matching '*~' found anywhere in distribution 2023-01-10T19:54:40,643 warning: no previously-included files matching '*.pyc' found anywhere in distribution 2023-01-10T19:54:40,644 warning: no previously-included files matching '*.pyo' found anywhere in distribution 2023-01-10T19:54:40,645 warning: no previously-included files matching '__pycache__' found anywhere in distribution 2023-01-10T19:54:40,646 warning: no previously-included files matching '.gitignore' found anywhere in distribution 2023-01-10T19:54:40,646 adding license file 'LICENSE' 2023-01-10T19:54:40,646 adding license file 'LICENSE-GPL' 2023-01-10T19:54:40,658 writing manifest file 'aipy.egg-info/SOURCES.txt' 2023-01-10T19:54:40,662 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._common' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,662 !! 2023-01-10T19:54:40,663 ############################ 2023-01-10T19:54:40,663 # Package would be ignored # 2023-01-10T19:54:40,663 ############################ 2023-01-10T19:54:40,663 Python recognizes 'aipy._common' as an importable package, 2023-01-10T19:54:40,663 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,664 'aipy._common' has been automatically added to the distribution only 2023-01-10T19:54:40,664 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,664 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,664 Please make sure that 'aipy._common' is included as a package by using 2023-01-10T19:54:40,664 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,664 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,664 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,665 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,665 documentation page. 2023-01-10T19:54:40,665 !! 2023-01-10T19:54:40,665 check.warn(importable) 2023-01-10T19:54:40,665 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._deconv' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,666 !! 2023-01-10T19:54:40,666 ############################ 2023-01-10T19:54:40,666 # Package would be ignored # 2023-01-10T19:54:40,666 ############################ 2023-01-10T19:54:40,666 Python recognizes 'aipy._deconv' as an importable package, 2023-01-10T19:54:40,666 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,667 'aipy._deconv' has been automatically added to the distribution only 2023-01-10T19:54:40,667 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,667 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,667 Please make sure that 'aipy._deconv' is included as a package by using 2023-01-10T19:54:40,667 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,667 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,667 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,668 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,668 documentation page. 2023-01-10T19:54:40,668 !! 2023-01-10T19:54:40,668 check.warn(importable) 2023-01-10T19:54:40,668 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._dsp' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,669 !! 2023-01-10T19:54:40,669 ############################ 2023-01-10T19:54:40,669 # Package would be ignored # 2023-01-10T19:54:40,669 ############################ 2023-01-10T19:54:40,669 Python recognizes 'aipy._dsp' as an importable package, 2023-01-10T19:54:40,669 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,670 'aipy._dsp' has been automatically added to the distribution only 2023-01-10T19:54:40,670 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,670 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,670 Please make sure that 'aipy._dsp' is included as a package by using 2023-01-10T19:54:40,670 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,670 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,670 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,671 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,671 documentation page. 2023-01-10T19:54:40,671 !! 2023-01-10T19:54:40,671 check.warn(importable) 2023-01-10T19:54:40,671 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._dsp.grid' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,671 !! 2023-01-10T19:54:40,672 ############################ 2023-01-10T19:54:40,672 # Package would be ignored # 2023-01-10T19:54:40,672 ############################ 2023-01-10T19:54:40,672 Python recognizes 'aipy._dsp.grid' as an importable package, 2023-01-10T19:54:40,672 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,672 'aipy._dsp.grid' has been automatically added to the distribution only 2023-01-10T19:54:40,673 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,673 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,673 Please make sure that 'aipy._dsp.grid' is included as a package by using 2023-01-10T19:54:40,673 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,673 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,673 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,674 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,674 documentation page. 2023-01-10T19:54:40,674 !! 2023-01-10T19:54:40,674 check.warn(importable) 2023-01-10T19:54:40,674 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._miriad' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,674 !! 2023-01-10T19:54:40,675 ############################ 2023-01-10T19:54:40,675 # Package would be ignored # 2023-01-10T19:54:40,675 ############################ 2023-01-10T19:54:40,675 Python recognizes 'aipy._miriad' as an importable package, 2023-01-10T19:54:40,675 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,675 'aipy._miriad' has been automatically added to the distribution only 2023-01-10T19:54:40,676 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,676 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,676 Please make sure that 'aipy._miriad' is included as a package by using 2023-01-10T19:54:40,676 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,676 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,676 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,676 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,677 documentation page. 2023-01-10T19:54:40,677 !! 2023-01-10T19:54:40,677 check.warn(importable) 2023-01-10T19:54:40,677 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy._miriad.mir' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,677 !! 2023-01-10T19:54:40,678 ############################ 2023-01-10T19:54:40,678 # Package would be ignored # 2023-01-10T19:54:40,678 ############################ 2023-01-10T19:54:40,678 Python recognizes 'aipy._miriad.mir' as an importable package, 2023-01-10T19:54:40,678 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,678 'aipy._miriad.mir' has been automatically added to the distribution only 2023-01-10T19:54:40,679 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,679 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,679 Please make sure that 'aipy._miriad.mir' is included as a package by using 2023-01-10T19:54:40,679 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,679 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,679 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,680 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,680 documentation page. 2023-01-10T19:54:40,680 !! 2023-01-10T19:54:40,680 check.warn(importable) 2023-01-10T19:54:40,680 /tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'aipy.utils' as data is deprecated, please list it in `packages`. 2023-01-10T19:54:40,681 !! 2023-01-10T19:54:40,681 ############################ 2023-01-10T19:54:40,681 # Package would be ignored # 2023-01-10T19:54:40,681 ############################ 2023-01-10T19:54:40,681 Python recognizes 'aipy.utils' as an importable package, 2023-01-10T19:54:40,682 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T19:54:40,682 'aipy.utils' has been automatically added to the distribution only 2023-01-10T19:54:40,682 because it may contain data files, but this behavior is likely to change 2023-01-10T19:54:40,682 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T19:54:40,682 Please make sure that 'aipy.utils' is included as a package by using 2023-01-10T19:54:40,683 the `packages` configuration field or the proper discovery methods 2023-01-10T19:54:40,683 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T19:54:40,683 instead of `find_packages(...)`/`find:`). 2023-01-10T19:54:40,683 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T19:54:40,683 documentation page. 2023-01-10T19:54:40,684 !! 2023-01-10T19:54:40,684 check.warn(importable) 2023-01-10T19:54:40,684 creating build/lib.linux-armv7l-cpython-39/aipy/_common 2023-01-10T19:54:40,684 copying aipy/_common/aipy_compat.h -> build/lib.linux-armv7l-cpython-39/aipy/_common 2023-01-10T19:54:40,684 creating build/lib.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T19:54:40,684 copying aipy/_deconv/deconv.cpp -> build/lib.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T19:54:40,686 creating build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T19:54:40,687 copying aipy/_dsp/dsp.c -> build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T19:54:40,690 copying aipy/_dsp/dsp.h -> build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T19:54:40,692 creating build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T19:54:40,693 copying aipy/_dsp/grid/grid.c -> build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T19:54:40,695 copying aipy/_dsp/grid/grid.h -> build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T19:54:40,697 creating build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T19:54:40,698 copying aipy/_miriad/miriad_wrap.cpp -> build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T19:54:40,702 copying aipy/_miriad/miriad_wrap.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T19:54:40,704 creating build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,705 copying aipy/_miriad/mir/args.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,708 copying aipy/_miriad/mir/boxes.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,710 copying aipy/_miriad/mir/bug.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,712 copying aipy/_miriad/mir/calapply.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,715 copying aipy/_miriad/mir/caldata.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,717 copying aipy/_miriad/mir/caldefs.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,719 copying aipy/_miriad/mir/calfit.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,721 copying aipy/_miriad/mir/calio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,723 copying aipy/_miriad/mir/calpass.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,726 copying aipy/_miriad/mir/calpoly.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,728 copying aipy/_miriad/mir/calsubs.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,730 copying aipy/_miriad/mir/co.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,732 copying aipy/_miriad/mir/ctrl.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,734 copying aipy/_miriad/mir/dio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,736 copying aipy/_miriad/mir/fitsio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,738 copying aipy/_miriad/mir/hdtab.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,741 copying aipy/_miriad/mir/headio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,744 copying aipy/_miriad/mir/hio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,747 copying aipy/_miriad/mir/hio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,749 copying aipy/_miriad/mir/interface.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,751 copying aipy/_miriad/mir/intpio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,753 copying aipy/_miriad/mir/io.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,756 copying aipy/_miriad/mir/ivas.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,758 copying aipy/_miriad/mir/ivmenu.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,760 copying aipy/_miriad/mir/ivofm.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,763 copying aipy/_miriad/mir/ivtext.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,766 copying aipy/_miriad/mir/jplread.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,769 copying aipy/_miriad/mir/key.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,772 copying aipy/_miriad/mir/log.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,774 copying aipy/_miriad/mir/mapper.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,776 copying aipy/_miriad/mir/maskio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,779 copying aipy/_miriad/mir/maxdimc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,781 copying aipy/_miriad/mir/maxnax.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,783 copying aipy/_miriad/mir/mc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,785 copying aipy/_miriad/mir/mem.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,787 copying aipy/_miriad/mir/mir_io.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,790 copying aipy/_miriad/mir/mirconst.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,792 copying aipy/_miriad/mir/miriad.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,795 copying aipy/_miriad/mir/model.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,797 copying aipy/_miriad/mir/modp.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,799 copying aipy/_miriad/mir/mostab.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,801 copying aipy/_miriad/mir/obspar.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,803 copying aipy/_miriad/mir/ofm.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,805 copying aipy/_miriad/mir/pack.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,808 copying aipy/_miriad/mir/pb.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,811 copying aipy/_miriad/mir/pcvt.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,813 copying aipy/_miriad/mir/plproc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,815 copying aipy/_miriad/mir/rest.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,817 copying aipy/_miriad/mir/scrio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,819 copying aipy/_miriad/mir/select.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,822 copying aipy/_miriad/mir/size.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,824 copying aipy/_miriad/mir/sma_csub.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,827 copying aipy/_miriad/mir/sma_data.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,830 copying aipy/_miriad/mir/sma_mirRead.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,835 copying aipy/_miriad/mir/sysdep.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,838 copying aipy/_miriad/mir/tabflux.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,840 copying aipy/_miriad/mir/tin.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,843 copying aipy/_miriad/mir/tmpdim.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,845 copying aipy/_miriad/mir/trnio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,847 copying aipy/_miriad/mir/tv.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,849 copying aipy/_miriad/mir/uvdat.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,852 copying aipy/_miriad/mir/uvgn.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,854 copying aipy/_miriad/mir/uvio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,862 copying aipy/_miriad/mir/win.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,864 copying aipy/_miriad/mir/xyio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,866 copying aipy/_miriad/mir/xyzio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,871 creating build/lib.linux-armv7l-cpython-39/aipy/utils 2023-01-10T19:54:40,872 copying aipy/utils/utils.cpp -> build/lib.linux-armv7l-cpython-39/aipy/utils 2023-01-10T19:54:40,875 copying aipy/_src/helm_fit.txt -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,878 copying aipy/_src/helm_pos.txt -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T19:54:40,893 running build_ext 2023-01-10T19:54:40,899 building 'aipy._miriad' extension 2023-01-10T19:54:40,900 creating build/temp.linux-armv7l-cpython-39 2023-01-10T19:54:40,901 creating build/temp.linux-armv7l-cpython-39/aipy 2023-01-10T19:54:40,902 creating build/temp.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T19:54:40,902 creating build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T19:54:40,904 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/bug.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/bug.o 2023-01-10T19:54:41,407 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/dio.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/dio.o 2023-01-10T19:54:41,975 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/headio.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/headio.o 2023-01-10T19:54:42,313 In file included from aipy/_miriad/mir/io.h:21, 2023-01-10T19:54:42,314 from aipy/_miriad/mir/headio.c:40: 2023-01-10T19:54:42,314 aipy/_miriad/mir/headio.c: In function ‘rdhda_c’: 2023-01-10T19:54:42,314 aipy/_miriad/mir/hio.h:45:23: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 2023-01-10T19:54:42,314 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T19:54:42,315 | ^ 2023-01-10T19:54:42,315 aipy/_miriad/mir/headio.c:630:14: note: in expansion of macro ‘min’ 2023-01-10T19:54:42,315 630 | length = min(strlen(defval),len-1); 2023-01-10T19:54:42,315 | ^~~ 2023-01-10T19:54:42,315 aipy/_miriad/mir/hio.h:45:32: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Wsign-compare] 2023-01-10T19:54:42,316 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T19:54:42,316 | ^~~ 2023-01-10T19:54:42,316 aipy/_miriad/mir/headio.c:630:14: note: in expansion of macro ‘min’ 2023-01-10T19:54:42,316 630 | length = min(strlen(defval),len-1); 2023-01-10T19:54:42,317 | ^~~ 2023-01-10T19:54:42,317 aipy/_miriad/mir/headio.c: In function ‘hdcopy_c’: 2023-01-10T19:54:42,317 aipy/_miriad/mir/hio.h:45:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2023-01-10T19:54:42,317 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T19:54:42,317 | ^ 2023-01-10T19:54:42,318 aipy/_miriad/mir/headio.c:665:14: note: in expansion of macro ‘min’ 2023-01-10T19:54:42,318 665 | length = min(size - offset, sizeof(buf)); 2023-01-10T19:54:42,318 | ^~~ 2023-01-10T19:54:42,318 aipy/_miriad/mir/hio.h:45:28: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due to unsignedness of other operand [-Wsign-compare] 2023-01-10T19:54:42,318 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T19:54:42,319 | ^~~ 2023-01-10T19:54:42,319 aipy/_miriad/mir/headio.c:665:14: note: in expansion of macro ‘min’ 2023-01-10T19:54:42,319 665 | length = min(size - offset, sizeof(buf)); 2023-01-10T19:54:42,319 | ^~~ 2023-01-10T19:54:42,993 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/hio.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.o 2023-01-10T19:54:44,455 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/maskio.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/maskio.o 2023-01-10T19:54:45,294 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/pack.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/pack.o 2023-01-10T19:54:45,799 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/mir/uvio.c -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/uvio.o 2023-01-10T19:54:47,349 aipy/_miriad/mir/uvio.c: In function ‘uv_mkvar.part.0’: 2023-01-10T19:54:47,349 aipy/_miriad/mir/uvio.c:1238:24: warning: ‘%s’ directive writing between 9 and 2147483645 bytes into a region of size 110 [-Wformat-overflow=] 2023-01-10T19:54:47,350 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T19:54:47,350 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,350 aipy/_miriad/mir/uvio.c:329:47: note: in definition of macro ‘ERROR’ 2023-01-10T19:54:47,350 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T19:54:47,350 | ^ 2023-01-10T19:54:47,351 aipy/_miriad/mir/uvio.c:1238:43: note: format string is defined here 2023-01-10T19:54:47,351 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T19:54:47,351 | ^~ 2023-01-10T19:54:47,357 aipy/_miriad/mir/uvio.c:329:39: note: ‘sprintf’ output between 52 and 2147483688 bytes into a destination of size 128 2023-01-10T19:54:47,357 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T19:54:47,357 | ^~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,357 330 | #define CHECK(x,a) if(x) { bug_c('w',((void)sprintf a,message)); \ 2023-01-10T19:54:47,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,358 331 | bugno_c('f',x); \ 2023-01-10T19:54:47,358 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,358 332 | } 2023-01-10T19:54:47,358 | ~ 2023-01-10T19:54:47,358 333 | 2023-01-10T19:54:47,358 | 2023-01-10T19:54:47,358 334 | #define uvputvra_c(tno,name,value) \ 2023-01-10T19:54:47,358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,359 335 | uvputvr_c(tno,H_BYTE,name,value,strlen(value)) 2023-01-10T19:54:47,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,359 336 | #define uvputvrj_c(tno,name,value,n) \ 2023-01-10T19:54:47,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,359 337 | uvputvr_c(tno,H_INT2,name,(char *)(value),n) 2023-01-10T19:54:47,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,360 338 | #define uvputvri_c(tno,name,value,n) \ 2023-01-10T19:54:47,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,360 339 | uvputvr_c(tno,H_INT,name,(char *)(value),n) 2023-01-10T19:54:47,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,360 340 | #define uvputvrr_c(tno,name,value,n) \ 2023-01-10T19:54:47,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,360 341 | uvputvr_c(tno,H_REAL,name,(char *)(value),n) 2023-01-10T19:54:47,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,361 342 | #define uvputvrd_c(tno,name,value,n) \ 2023-01-10T19:54:47,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,361 343 | uvputvr_c(tno,H_DBLE,name,(char *)(value),n) 2023-01-10T19:54:47,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,361 344 | #define uvputvrc_c(tno,name,value,n) \ 2023-01-10T19:54:47,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,361 345 | uvputvr_c(tno,H_CMPLX,name,(char *)(value),n) 2023-01-10T19:54:47,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,362 346 | 2023-01-10T19:54:47,362 | 2023-01-10T19:54:47,362 347 | #define VARLEN(var) ( (var)->length / external_size[(var)->type] ) 2023-01-10T19:54:47,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,362 348 | #define VARTYPE(var) ( type_flag[(var)->type] ) 2023-01-10T19:54:47,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,362 349 | 2023-01-10T19:54:47,362 | 2023-01-10T19:54:47,363 350 | #define NUMCHAN(var) ((var)->type == H_INT2 || (var)->type == H_REAL ? \ 2023-01-10T19:54:47,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,363 351 | (var)->length / (2*external_size[(var)->type]) : \ 2023-01-10T19:54:47,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,363 352 | (var)->length / external_size[(var)->type] ) 2023-01-10T19:54:47,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,363 353 | 2023-01-10T19:54:47,363 | 2023-01-10T19:54:47,363 354 | #define MYABS(x) ( (x) > 0 ? (x) : -(x) ) 2023-01-10T19:54:47,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,364 355 | 2023-01-10T19:54:47,364 | 2023-01-10T19:54:47,364 356 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,364 357 | /* */ 2023-01-10T19:54:47,364 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,364 358 | /* Types and static variables. */ 2023-01-10T19:54:47,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,365 359 | /* */ 2023-01-10T19:54:47,365 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,365 360 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,365 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,365 361 | 2023-01-10T19:54:47,365 | 2023-01-10T19:54:47,365 362 | static char message[MAXLINE]; 2023-01-10T19:54:47,365 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,365 363 | static int internal_size[10]; 2023-01-10T19:54:47,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,366 364 | static int external_size[10]; 2023-01-10T19:54:47,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,366 365 | static char type_flag[10]; 2023-01-10T19:54:47,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,366 366 | 2023-01-10T19:54:47,366 | 2023-01-10T19:54:47,366 367 | static char var_data_hdr[UV_HDR_SIZE]={0,0,VAR_DATA,0}; 2023-01-10T19:54:47,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,366 368 | static char var_size_hdr[UV_HDR_SIZE]={0,0,VAR_SIZE,0}; 2023-01-10T19:54:47,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,367 369 | static char var_eor_hdr[UV_HDR_SIZE]={0,0,VAR_EOR,0}; 2023-01-10T19:54:47,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,367 370 | 2023-01-10T19:54:47,367 | 2023-01-10T19:54:47,367 371 | 2023-01-10T19:54:47,367 | 2023-01-10T19:54:47,367 372 | typedef struct variable{ 2023-01-10T19:54:47,368 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,368 373 | char *buf,name[MAXNAM+1]; 2023-01-10T19:54:47,368 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,368 374 | int length,flength,flags,type,index,callno; 2023-01-10T19:54:47,368 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,368 375 | struct variable *fwd; 2023-01-10T19:54:47,368 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,368 376 | } VARIABLE; 2023-01-10T19:54:47,368 | ~~~~~~~~~~~ 2023-01-10T19:54:47,368 377 | 2023-01-10T19:54:47,369 | 2023-01-10T19:54:47,369 378 | typedef struct varpnt{ 2023-01-10T19:54:47,369 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,369 379 | VARIABLE *v; 2023-01-10T19:54:47,369 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,369 380 | struct varpnt *fwd; 2023-01-10T19:54:47,369 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,369 381 | } VARPNT; 2023-01-10T19:54:47,369 | ~~~~~~~~~ 2023-01-10T19:54:47,370 382 | 2023-01-10T19:54:47,370 | 2023-01-10T19:54:47,370 383 | typedef struct varhand{ 2023-01-10T19:54:47,370 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,370 384 | int tno,callno,index; 2023-01-10T19:54:47,370 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,370 385 | struct varhand *fwd; 2023-01-10T19:54:47,370 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,370 386 | VARPNT *varhd; 2023-01-10T19:54:47,371 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,371 387 | } VARHAND; 2023-01-10T19:54:47,371 | ~~~~~~~~~~ 2023-01-10T19:54:47,371 388 | 2023-01-10T19:54:47,371 | 2023-01-10T19:54:47,371 389 | #define LINE_NONE 0 2023-01-10T19:54:47,371 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,371 390 | #define LINE_CHANNEL 1 2023-01-10T19:54:47,371 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,372 391 | #define LINE_WIDE 2 2023-01-10T19:54:47,372 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,372 392 | #define LINE_VELOCITY 3 2023-01-10T19:54:47,372 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,372 393 | #define LINE_FELOCITY 4 2023-01-10T19:54:47,372 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,372 394 | 2023-01-10T19:54:47,372 | 2023-01-10T19:54:47,372 395 | #include "maxdimc.h" 2023-01-10T19:54:47,373 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,373 396 | 2023-01-10T19:54:47,373 | 2023-01-10T19:54:47,373 397 | #define SEL_VIS 1 2023-01-10T19:54:47,373 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,373 398 | #define SEL_TIME 2 2023-01-10T19:54:47,373 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,373 399 | #define SEL_UVN 3 2023-01-10T19:54:47,373 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,374 400 | #define SEL_POINT 4 2023-01-10T19:54:47,374 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,374 401 | #define SEL_DRA 5 2023-01-10T19:54:47,374 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,374 402 | #define SEL_DDEC 6 2023-01-10T19:54:47,374 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,374 403 | #define SEL_INC 7 2023-01-10T19:54:47,374 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,374 404 | #define SEL_RA 8 2023-01-10T19:54:47,374 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,375 405 | #define SEL_DEC 9 2023-01-10T19:54:47,375 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,375 406 | #define SEL_POL 10 2023-01-10T19:54:47,375 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,375 407 | #define SEL_ON 11 2023-01-10T19:54:47,375 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,375 408 | #define SEL_SRC 12 2023-01-10T19:54:47,375 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,375 409 | #define SEL_UV 13 2023-01-10T19:54:47,376 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,376 410 | #define SEL_FREQ 14 2023-01-10T19:54:47,376 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,376 411 | #define SEL_SHADOW 15 2023-01-10T19:54:47,376 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,376 412 | #define SEL_BIN 16 2023-01-10T19:54:47,376 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,376 413 | #define SEL_HA 17 2023-01-10T19:54:47,376 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,377 414 | #define SEL_LST 18 2023-01-10T19:54:47,377 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,377 415 | #define SEL_ELEV 19 2023-01-10T19:54:47,377 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,377 416 | #define SEL_DAZIM 20 2023-01-10T19:54:47,377 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,377 417 | #define SEL_DELEV 21 2023-01-10T19:54:47,377 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,377 418 | 2023-01-10T19:54:47,378 | 2023-01-10T19:54:47,378 419 | typedef struct { 2023-01-10T19:54:47,378 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,378 420 | int type,discard; 2023-01-10T19:54:47,378 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,378 421 | double loval,hival; 2023-01-10T19:54:47,378 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,378 422 | char *stval; 2023-01-10T19:54:47,378 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,378 423 | } OPERS; 2023-01-10T19:54:47,379 | ~~~~~~~~ 2023-01-10T19:54:47,379 424 | 2023-01-10T19:54:47,379 | 2023-01-10T19:54:47,379 425 | typedef struct { 2023-01-10T19:54:47,379 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,379 426 | int discard,select; 2023-01-10T19:54:47,379 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,379 427 | float loval,hival; 2023-01-10T19:54:47,380 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,380 428 | } AMP; 2023-01-10T19:54:47,380 | ~~~~~~ 2023-01-10T19:54:47,380 429 | 2023-01-10T19:54:47,380 | 2023-01-10T19:54:47,380 430 | typedef struct { 2023-01-10T19:54:47,380 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,381 431 | int wins[MAXWIN]; 2023-01-10T19:54:47,381 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,381 432 | int first,last,n,select; 2023-01-10T19:54:47,381 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,381 433 | } WINDOW; 2023-01-10T19:54:47,381 | ~~~~~~~~~ 2023-01-10T19:54:47,381 434 | 2023-01-10T19:54:47,381 | 2023-01-10T19:54:47,381 435 | typedef struct { double *table; 2023-01-10T19:54:47,382 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,382 436 | int vhan,nants,missing; 2023-01-10T19:54:47,382 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,382 437 | } SIGMA2; 2023-01-10T19:54:47,382 | ~~~~~~~~~ 2023-01-10T19:54:47,382 438 | 2023-01-10T19:54:47,382 | 2023-01-10T19:54:47,382 439 | typedef struct select { 2023-01-10T19:54:47,382 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,383 440 | int ants[MAXANT*(MAXANT+1)/2]; 2023-01-10T19:54:47,383 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,383 441 | int selants; 2023-01-10T19:54:47,383 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,383 442 | int maxoper,noper,and; 2023-01-10T19:54:47,383 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,383 443 | WINDOW win; 2023-01-10T19:54:47,383 | ~~~~~~~~~~~ 2023-01-10T19:54:47,383 444 | AMP amp; 2023-01-10T19:54:47,383 | ~~~~~~~~ 2023-01-10T19:54:47,384 445 | OPERS *opers; 2023-01-10T19:54:47,384 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,384 446 | struct select *fwd; 2023-01-10T19:54:47,384 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,384 447 | } SELECT; 2023-01-10T19:54:47,384 | ~~~~~~~~~ 2023-01-10T19:54:47,384 448 | 2023-01-10T19:54:47,384 | 2023-01-10T19:54:47,384 449 | typedef struct { 2023-01-10T19:54:47,385 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,385 450 | int nants; 2023-01-10T19:54:47,385 | ~~~~~~~~~~ 2023-01-10T19:54:47,385 451 | double uu[MAXANT],vv[MAXANT],ww[MAXANT]; 2023-01-10T19:54:47,385 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,385 452 | } UVW; 2023-01-10T19:54:47,385 | ~~~~~~ 2023-01-10T19:54:47,385 453 | 2023-01-10T19:54:47,385 | 2023-01-10T19:54:47,386 454 | typedef struct { 2023-01-10T19:54:47,386 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,386 455 | int linetype; 2023-01-10T19:54:47,386 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,386 456 | int start,width,step,n; 2023-01-10T19:54:47,386 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,386 457 | float fstart,fwidth,fstep,*wts; 2023-01-10T19:54:47,386 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,386 458 | } LINE_INFO; 2023-01-10T19:54:47,386 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,387 459 | 2023-01-10T19:54:47,387 | 2023-01-10T19:54:47,387 460 | typedef struct { 2023-01-10T19:54:47,387 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,387 461 | char *handle; 2023-01-10T19:54:47,387 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,387 462 | int nflags,*flags,exists,init; 2023-01-10T19:54:47,387 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,387 463 | off64_t offset; 2023-01-10T19:54:47,388 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,388 464 | } FLAGS; 2023-01-10T19:54:47,388 | ~~~~~~~~ 2023-01-10T19:54:47,388 465 | 2023-01-10T19:54:47,388 | 2023-01-10T19:54:47,388 466 | typedef struct { 2023-01-10T19:54:47,388 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,388 467 | int item; 2023-01-10T19:54:47,388 | ~~~~~~~~~ 2023-01-10T19:54:47,389 468 | int nvar,saved_nvar,tno,flags,callno,maxvis,mark; 2023-01-10T19:54:47,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,389 469 | off64_t offset, max_offset; 2023-01-10T19:54:47,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,389 470 | int presize,gflag; 2023-01-10T19:54:47,389 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,389 471 | FLAGS corr_flags,wcorr_flags; 2023-01-10T19:54:47,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,389 472 | VARIABLE *coord,*corr,*time,*bl,*tscale,*nschan,*axisrms; 2023-01-10T19:54:47,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,390 473 | VARIABLE *sfreq,*sdf,*restfreq,*wcorr,*wfreq,*veldop,*vsource; 2023-01-10T19:54:47,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,390 474 | VARIABLE *plmaj,*plmin,*plangle,*dra,*ddec,*ra,*dec,*pol,*on; 2023-01-10T19:54:47,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,390 475 | VARIABLE *dazim, *delev; 2023-01-10T19:54:47,390 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,390 476 | VARIABLE *obsra,*obsdec,*lst,*elev,*antpos,*antdiam,*source,*bin; 2023-01-10T19:54:47,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,391 477 | VARIABLE *vhash[HASHSIZE],*prevar[MAXPRE]; 2023-01-10T19:54:47,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,391 478 | VARIABLE variable[MAXVAR]; 2023-01-10T19:54:47,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,391 479 | LINE_INFO data_line,ref_line,actual_line; 2023-01-10T19:54:47,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,391 480 | int need_skyfreq,need_point,need_planet,need_dra,need_ddec, 2023-01-10T19:54:47,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,392 481 | need_dazim, need_delev, 2023-01-10T19:54:47,392 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,392 482 | need_ra,need_dec,need_pol,need_on,need_obsra,need_uvw,need_src, 2023-01-10T19:54:47,392 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,392 483 | need_win,need_bin,need_lst,need_elev; 2023-01-10T19:54:47,392 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,392 484 | float ref_plmaj,ref_plmin,ref_plangle,plscale,pluu,pluv,plvu,plvv; 2023-01-10T19:54:47,392 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,393 485 | double skyfreq; 2023-01-10T19:54:47,393 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,393 486 | int skyfreq_start; 2023-01-10T19:54:47,393 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,393 487 | VARHAND *vhans; 2023-01-10T19:54:47,393 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,393 488 | SELECT *select; 2023-01-10T19:54:47,393 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,394 489 | int apply_amp,apply_win; 2023-01-10T19:54:47,394 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,394 490 | AMP *amp; 2023-01-10T19:54:47,394 | ~~~~~~~~~ 2023-01-10T19:54:47,394 491 | SIGMA2 sigma2; 2023-01-10T19:54:47,394 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,394 492 | UVW *uvw; 2023-01-10T19:54:47,394 | ~~~~~~~~~ 2023-01-10T19:54:47,395 493 | WINDOW *win; 2023-01-10T19:54:47,395 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,395 494 | } UV; 2023-01-10T19:54:47,395 | ~~~~~ 2023-01-10T19:54:47,395 495 | 2023-01-10T19:54:47,395 | 2023-01-10T19:54:47,395 496 | #define MAXVHANDS 128 2023-01-10T19:54:47,395 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,395 497 | 2023-01-10T19:54:47,396 | 2023-01-10T19:54:47,396 498 | static UV *uvs[MAXOPEN]; 2023-01-10T19:54:47,396 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,396 499 | static VARHAND *varhands[MAXVHANDS]; 2023-01-10T19:54:47,396 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,396 500 | static WINDOW truewin; 2023-01-10T19:54:47,396 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,396 501 | static AMP noamp; 2023-01-10T19:54:47,397 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,397 502 | static int first=TRUE; 2023-01-10T19:54:47,397 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,397 503 | 2023-01-10T19:54:47,397 | 2023-01-10T19:54:47,397 504 | /* void uvputvr_c(); */ 2023-01-10T19:54:47,397 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,397 505 | private void uvinfo_chan(UV *uv,double *data,int mode); 2023-01-10T19:54:47,398 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,398 506 | private void uvinfo_variance(UV *uv,double *data); 2023-01-10T19:54:47,398 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,398 507 | private void uvbasant_c(int baseline,int *i1,int *i2); 2023-01-10T19:54:47,398 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,398 508 | private void uv_init(void); 2023-01-10T19:54:47,398 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,398 509 | private void uv_freeuv(UV *uv); 2023-01-10T19:54:47,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,399 510 | private void uv_free_select(SELECT *sel); 2023-01-10T19:54:47,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,399 511 | private void uvread_defline(int tno); 2023-01-10T19:54:47,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,399 512 | private void uvread_init(int tno); 2023-01-10T19:54:47,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,399 513 | private void uvread_velocity(UV *uv,LINE_INFO *line,float *data, int *flags,int nsize,LINE_INFO *actual); 2023-01-10T19:54:47,400 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,400 514 | private void uvread_flags(UV *uv,VARIABLE *v,FLAGS *flag_info,int nchan); 2023-01-10T19:54:47,400 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,400 515 | private void uvread_defvelline(UV* uv,LINE_INFO *line,WINDOW *win); 2023-01-10T19:54:47,400 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,400 516 | private void uvread_updated_planet(UV *uv); 2023-01-10T19:54:47,400 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,401 517 | private void uvread_reference(UV *uv, float *data, int *flags,int n); 2023-01-10T19:54:47,401 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,401 518 | private void uvread_updated_uvw(UV *uv); 2023-01-10T19:54:47,401 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,401 519 | private void uvread_preamble(UV *uv, double *preamble); 2023-01-10T19:54:47,402 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,402 520 | private void uv_vartable_out(UV *uv); 2023-01-10T19:54:47,402 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,402 521 | private void uv_vartable_in(UV *uv); 2023-01-10T19:54:47,402 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,402 522 | private void uvset_coord(UV *uv, const char *type); 2023-01-10T19:54:47,402 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,403 523 | private void uvset_linetype(LINE_INFO *line, const char *type, int n, double start,double width,double step); 2023-01-10T19:54:47,403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,403 524 | private void uvset_planet(UV *uv, double p1,double p2,double p3); 2023-01-10T19:54:47,403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,403 525 | private void uvset_selection(UV *uv, const char *type, int n); 2023-01-10T19:54:47,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,404 526 | private void uvset_preamble(UV *uv, const char *type); 2023-01-10T19:54:47,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,404 527 | private void uv_addopers(SELECT *sel,int type,int discard,double p1,double p2,const char *ps); 2023-01-10T19:54:47,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,404 528 | private void uv_override(UV *uv); 2023-01-10T19:54:47,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,404 529 | private UV *uv_getuv(int tno); 2023-01-10T19:54:47,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,405 530 | private VARIABLE *uv_mkvar(int tno,char *name,int type); 2023-01-10T19:54:47,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,405 531 | private VARIABLE *uv_locvar(int tno,char *name); 2023-01-10T19:54:47,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,405 532 | private VARIABLE *uv_checkvar(int tno,char *varname,int type); 2023-01-10T19:54:47,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,405 533 | private int uv_scan(UV *uv, VARIABLE *vt); 2023-01-10T19:54:47,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,406 534 | private int uvread_line(UV *uv,LINE_INFO *line,float *data, int nsize,int *flags,LINE_INFO *actual); 2023-01-10T19:54:47,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,406 535 | private int uvread_select(UV *uv); 2023-01-10T19:54:47,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,406 536 | private int uvread_maxvis(SELECT *sel); 2023-01-10T19:54:47,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,406 537 | private int uvread_shadowed(UV *uv,double diameter); 2023-01-10T19:54:47,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,407 538 | private int uvread_match(char *s1,char *s2, int length); 2023-01-10T19:54:47,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,407 539 | private double uv_getskyfreq(UV *uv,WINDOW *win); 2023-01-10T19:54:47,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,407 540 | 2023-01-10T19:54:47,407 | 2023-01-10T19:54:47,407 541 | /************************************************************************/ 2023-01-10T19:54:47,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,407 542 | #ifdef TESTBED 2023-01-10T19:54:47,408 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,408 543 | static char *M[] = { 2023-01-10T19:54:47,408 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,408 544 | "JAN", "FEB", "MAR", "APR", "MAY", "JUN", 2023-01-10T19:54:47,408 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,408 545 | "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" 2023-01-10T19:54:47,408 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,408 546 | }; 2023-01-10T19:54:47,409 | ~~ 2023-01-10T19:54:47,409 547 | 2023-01-10T19:54:47,409 | 2023-01-10T19:54:47,409 548 | static int checklist = 0; 2023-01-10T19:54:47,409 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,409 549 | 2023-01-10T19:54:47,409 | 2023-01-10T19:54:47,409 550 | /* The following compiles a main program to give exercise to some of the 2023-01-10T19:54:47,410 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,410 551 | * uvio routines. It is essentially a debugging device (both for bad 2023-01-10T19:54:47,410 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,410 552 | * files and bad behaviour of uvio!). 2023-01-10T19:54:47,410 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,410 553 | * 2023-01-10T19:54:47,410 | ~ 2023-01-10T19:54:47,410 554 | * Call several uvio.c poutines, some of which are the secret ones, 2023-01-10T19:54:47,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,411 555 | * to get a 'human' readable listing of a miriad visibility data set ` 2023-01-10T19:54:47,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,411 556 | * Because it needs some of these 'static' routines, the source code 2023-01-10T19:54:47,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,411 557 | * of uvio.c needs to be included here directly, as opposed to linking 2023-01-10T19:54:47,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,411 558 | * it with the library ($MIRLIB/libmir.a in Unix) 2023-01-10T19:54:47,412 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,412 559 | * 2023-01-10T19:54:47,412 | ~ 2023-01-10T19:54:47,412 560 | * Note: This program does not have the normal miriad user interface 2023-01-10T19:54:47,412 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,412 561 | * 2023-01-10T19:54:47,412 | ~ 2023-01-10T19:54:47,412 562 | */ 2023-01-10T19:54:47,412 | ~~ 2023-01-10T19:54:47,413 563 | main(int ac,char *av[]) 2023-01-10T19:54:47,413 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,413 564 | { 2023-01-10T19:54:47,413 | ~ 2023-01-10T19:54:47,413 565 | int i,tno; 2023-01-10T19:54:47,413 | ~~~~~~~~~~ 2023-01-10T19:54:47,413 566 | char *fn; 2023-01-10T19:54:47,413 | ~~~~~~~~~ 2023-01-10T19:54:47,413 567 | 2023-01-10T19:54:47,414 | 2023-01-10T19:54:47,414 568 | printf("%s Version %s\n",av[0],VERSION_ID); 2023-01-10T19:54:47,414 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,414 569 | if (ac!=2) { 2023-01-10T19:54:47,414 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,414 570 | printf("Usage: %s [vis=]vis-dataset\n",av[0]); 2023-01-10T19:54:47,414 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,414 571 | printf("Expert listing of a miriad UV dataset\n"); 2023-01-10T19:54:47,414 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,415 572 | #ifdef MIR4 2023-01-10T19:54:47,415 | ~~~~~~~~~~~ 2023-01-10T19:54:47,415 573 | printf("MIR4 mode\n"); 2023-01-10T19:54:47,415 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,415 574 | #else 2023-01-10T19:54:47,415 | ~~~~~ 2023-01-10T19:54:47,415 575 | printf("MIR3 mode **probably will not work in MIR4**\n"); 2023-01-10T19:54:47,415 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,416 576 | #endif 2023-01-10T19:54:47,416 | ~~~~~~ 2023-01-10T19:54:47,416 577 | 2023-01-10T19:54:47,416 | 2023-01-10T19:54:47,416 578 | exit(0); 2023-01-10T19:54:47,416 | ~~~~~~~~ 2023-01-10T19:54:47,416 579 | } 2023-01-10T19:54:47,416 | ~ 2023-01-10T19:54:47,417 580 | 2023-01-10T19:54:47,417 | 2023-01-10T19:54:47,417 581 | for (i=1; i 4) { /* see if vis= was used */ 2023-01-10T19:54:47,417 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,417 584 | if (strncmp(fn,"vis=",4)==0) 2023-01-10T19:54:47,418 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,418 585 | fn += 4; /* if so, increase pointer */ 2023-01-10T19:54:47,418 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,418 586 | } 2023-01-10T19:54:47,418 | ~ 2023-01-10T19:54:47,418 587 | uvopen_c(&tno,fn,"old"); 2023-01-10T19:54:47,418 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,418 588 | } 2023-01-10T19:54:47,418 | ~ 2023-01-10T19:54:47,419 589 | my_uvlist(tno,fn); 2023-01-10T19:54:47,419 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,419 590 | uvclose_c(tno); 2023-01-10T19:54:47,419 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,419 591 | } 2023-01-10T19:54:47,419 | ~ 2023-01-10T19:54:47,419 592 | 2023-01-10T19:54:47,419 | 2023-01-10T19:54:47,419 593 | 2023-01-10T19:54:47,420 | 2023-01-10T19:54:47,420 594 | my_uvlist(int tno,char *fname) 2023-01-10T19:54:47,420 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,420 595 | { 2023-01-10T19:54:47,420 | ~ 2023-01-10T19:54:47,420 596 | double *dp; 2023-01-10T19:54:47,420 | ~~~~~~~~~~~ 2023-01-10T19:54:47,421 597 | float *fp; 2023-01-10T19:54:47,421 | ~~~~~~~~~~ 2023-01-10T19:54:47,421 598 | short *sp; 2023-01-10T19:54:47,421 | ~~~~~~~~~~ 2023-01-10T19:54:47,421 599 | int iostat, intsize, extsize, i, *ip, eor_count=0; 2023-01-10T19:54:47,421 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,422 600 | off64_t offset; 2023-01-10T19:54:47,422 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,422 601 | VARIABLE *v; 2023-01-10T19:54:47,422 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,422 602 | UV *uv; 2023-01-10T19:54:47,422 | ~~~~~~~ 2023-01-10T19:54:47,422 603 | char s[UV_HDR_SIZE], *b, buffer[128]; 2023-01-10T19:54:47,422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,423 604 | 2023-01-10T19:54:47,423 | 2023-01-10T19:54:47,423 605 | 2023-01-10T19:54:47,423 | 2023-01-10T19:54:47,423 606 | uv = uvs[tno]; /* get pointer to UV structure */ 2023-01-10T19:54:47,423 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,423 607 | 2023-01-10T19:54:47,423 | 2023-01-10T19:54:47,423 608 | offset = uv->offset; /* should be 0 at start */ 2023-01-10T19:54:47,424 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,424 609 | printf("0x%8x FILE: %s\n",offset,fname); 2023-01-10T19:54:47,424 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,424 610 | while(offset < uv->max_offset) { 2023-01-10T19:54:47,424 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,424 611 | printf("0x%8x ",offset); 2023-01-10T19:54:47,424 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,424 612 | hreadb_c(uv->item,s,offset,UV_HDR_SIZE,&iostat); /* get header */ 2023-01-10T19:54:47,425 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,425 613 | if (iostat == -1) return(iostat); /* End Of File */ 2023-01-10T19:54:47,425 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,425 614 | 2023-01-10T19:54:47,425 | 2023-01-10T19:54:47,425 615 | if(*(s+2) != VAR_EOR) { 2023-01-10T19:54:47,425 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,425 616 | v = &uv->variable[*s]; /* get name of var */ 2023-01-10T19:54:47,425 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,426 617 | intsize = internal_size[v->type]; 2023-01-10T19:54:47,426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,426 618 | extsize = external_size[v->type]; 2023-01-10T19:54:47,426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,426 619 | } 2023-01-10T19:54:47,426 | ~ 2023-01-10T19:54:47,426 620 | 2023-01-10T19:54:47,426 | 2023-01-10T19:54:47,427 621 | switch(*(s+2)) { 2023-01-10T19:54:47,427 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,427 622 | case VAR_SIZE: 2023-01-10T19:54:47,427 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,427 623 | hreadi_c(uv->item,&v->length,offset+UV_HDR_SIZE,H_INT_SIZE, 2023-01-10T19:54:47,427 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,427 624 | &iostat); 2023-01-10T19:54:47,427 | ~~~~~~~~~ 2023-01-10T19:54:47,428 625 | printf("SIZE: %-9s Count=%d,Type=%c\n",v->name,VARLEN(v),VARTYPE(v)); 2023-01-10T19:54:47,428 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,428 626 | v->buf = Realloc(v->buf, (v->length*intsize)/extsize); 2023-01-10T19:54:47,428 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,428 627 | offset += UV_ALIGN; 2023-01-10T19:54:47,428 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,428 628 | break; 2023-01-10T19:54:47,428 | ~~~~~~ 2023-01-10T19:54:47,429 629 | case VAR_DATA: 2023-01-10T19:54:47,429 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,429 630 | offset += mroundup(UV_HDR_SIZE,extsize); 2023-01-10T19:54:47,429 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,429 631 | hread_c(uv->item,v->type,v->buf,offset,v->length, 2023-01-10T19:54:47,429 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,429 632 | &iostat); 2023-01-10T19:54:47,429 | ~~~~~~~~~ 2023-01-10T19:54:47,429 633 | printf("DATA: %-9s",v->name); 2023-01-10T19:54:47,430 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,430 634 | if (strcmp(v->name,"time") == 0) { 2023-01-10T19:54:47,430 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,430 635 | int z,a,b,c,d,e,alpha,month,year,day,hr,minute,sec; 2023-01-10T19:54:47,430 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,430 636 | int dsec,nchar; 2023-01-10T19:54:47,430 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,430 637 | char string[100]; 2023-01-10T19:54:47,431 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,431 638 | double f; 2023-01-10T19:54:47,431 | ~~~~~~~~~ 2023-01-10T19:54:47,431 639 | 2023-01-10T19:54:47,431 | 2023-01-10T19:54:47,431 640 | dp = (double *) v->buf; 2023-01-10T19:54:47,431 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,431 641 | z = *dp + 0.5 + (1.0/1728000.0); 2023-01-10T19:54:47,431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,432 642 | f = *dp + 0.5 + (1.0/1728000.0) - z; 2023-01-10T19:54:47,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,432 643 | if (z<2299161){a=z;}else{ 2023-01-10T19:54:47,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,432 644 | alpha = ((z - 1867216.25) / 36524.25); 2023-01-10T19:54:47,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,432 645 | a = z + 1 + alpha - (int)(0.25 * alpha); 2023-01-10T19:54:47,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,433 646 | } 2023-01-10T19:54:47,433 | ~ 2023-01-10T19:54:47,433 647 | b = a + 1524; c = (b - 122.1) / 365.25; 2023-01-10T19:54:47,433 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,433 648 | d = 365.25 * c; e = (b - d) / 30.6001; 2023-01-10T19:54:47,433 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,433 649 | f += (b - d - (int)(30.6001 * e)); 2023-01-10T19:54:47,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,434 650 | day = f; hr = 24 * (f - day); 2023-01-10T19:54:47,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,434 651 | minute = 60 * (24 * (f - day) - hr); 2023-01-10T19:54:47,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,434 652 | sec = 600 * (60 * (24 * (f - day) - hr) - minute); 2023-01-10T19:54:47,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,434 653 | dsec = sec % 10; sec /= 10; 2023-01-10T19:54:47,435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,435 654 | month = (e<=13) ? e - 1 : e - 13; 2023-01-10T19:54:47,435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,435 655 | year = (month>2) ? c - 4716 : c - 4715; 2023-01-10T19:54:47,435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,435 656 | year %= 100; 2023-01-10T19:54:47,435 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,436 657 | printf(" %20.10lg ",*dp); 2023-01-10T19:54:47,436 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,436 658 | printf(" %2.2d%s%2.2d:%2.2d:%2.2d:%2.2d.%1d\n", 2023-01-10T19:54:47,436 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,436 659 | year,M[month-1],day,hr,minute,sec,dsec); 2023-01-10T19:54:47,436 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,436 660 | }else 2023-01-10T19:54:47,437 | ~~~~~ 2023-01-10T19:54:47,437 661 | switch (v->type) { 2023-01-10T19:54:47,437 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,437 662 | case H_BYTE: 2023-01-10T19:54:47,437 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,437 663 | strncpy(buffer,v->buf,v->length); 2023-01-10T19:54:47,437 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,437 664 | buffer[v->length] = 0; 2023-01-10T19:54:47,437 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,438 665 | printf(" %-8s\n",buffer); 2023-01-10T19:54:47,438 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,438 666 | break; 2023-01-10T19:54:47,438 | ~~~~~~ 2023-01-10T19:54:47,438 667 | case H_INT2: 2023-01-10T19:54:47,438 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,439 668 | sp = (short *) v->buf; 2023-01-10T19:54:47,439 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,439 669 | printf(" %d\n",*sp); 2023-01-10T19:54:47,439 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,439 670 | break; 2023-01-10T19:54:47,439 | ~~~~~~ 2023-01-10T19:54:47,439 671 | case H_INT: 2023-01-10T19:54:47,440 | ~~~~~~~~~~~ 2023-01-10T19:54:47,440 672 | ip = (int *) v->buf; 2023-01-10T19:54:47,440 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,440 673 | printf(" %d\n",*ip); 2023-01-10T19:54:47,440 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,440 674 | break; 2023-01-10T19:54:47,440 | ~~~~~~ 2023-01-10T19:54:47,441 675 | case H_REAL: 2023-01-10T19:54:47,441 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,441 676 | fp = (float *) v->buf; 2023-01-10T19:54:47,441 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,441 677 | printf(" %20.10g\n",*fp); 2023-01-10T19:54:47,441 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,441 678 | break; 2023-01-10T19:54:47,441 | ~~~~~~ 2023-01-10T19:54:47,442 679 | case H_DBLE: 2023-01-10T19:54:47,442 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,442 680 | dp = (double *) v->buf; 2023-01-10T19:54:47,442 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,442 681 | printf(" %20.10lg\n",*dp); 2023-01-10T19:54:47,442 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,443 682 | break; 2023-01-10T19:54:47,443 | ~~~~~~ 2023-01-10T19:54:47,443 683 | case H_CMPLX: 2023-01-10T19:54:47,443 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,443 684 | fp = (float *) v->buf; 2023-01-10T19:54:47,443 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,443 685 | printf(" %20.10g %20.10g\n",fp[0], fp[1]); 2023-01-10T19:54:47,443 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,444 686 | break; 2023-01-10T19:54:47,444 | ~~~~~~ 2023-01-10T19:54:47,444 687 | default: 2023-01-10T19:54:47,444 | ~~~~~~~~ 2023-01-10T19:54:47,444 688 | printf(" (Invalid data type %d)\n",v->type); 2023-01-10T19:54:47,444 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,444 689 | break; 2023-01-10T19:54:47,445 | ~~~~~~ 2023-01-10T19:54:47,445 690 | } 2023-01-10T19:54:47,445 | ~ 2023-01-10T19:54:47,445 691 | offset = mroundup(offset+v->length,UV_ALIGN); 2023-01-10T19:54:47,445 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,445 692 | break; 2023-01-10T19:54:47,445 | ~~~~~~ 2023-01-10T19:54:47,446 693 | case VAR_EOR: 2023-01-10T19:54:47,446 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,446 694 | printf("========== EOR (%d) ========\n",++eor_count); 2023-01-10T19:54:47,446 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,446 695 | offset += UV_ALIGN; 2023-01-10T19:54:47,447 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,447 696 | break; 2023-01-10T19:54:47,447 | ~~~~~~ 2023-01-10T19:54:47,447 697 | default: 2023-01-10T19:54:47,447 | ~~~~~~~~ 2023-01-10T19:54:47,447 698 | printf("No valid record code %d",*(s+2)); 2023-01-10T19:54:47,448 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,448 699 | exit(0); 2023-01-10T19:54:47,448 | ~~~~~~~~ 2023-01-10T19:54:47,448 700 | } /* switch */ 2023-01-10T19:54:47,448 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,448 701 | uv->offset = offset; 2023-01-10T19:54:47,448 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,448 702 | } /* for(;;) */ 2023-01-10T19:54:47,448 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,449 703 | } 2023-01-10T19:54:47,449 | ~ 2023-01-10T19:54:47,449 704 | #endif 2023-01-10T19:54:47,449 | ~~~~~~ 2023-01-10T19:54:47,449 705 | /************************************************************************/ 2023-01-10T19:54:47,449 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,449 706 | void uvopen_c(int *tno,Const char *name,Const char *status) 2023-01-10T19:54:47,450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,450 707 | /**UvOpen -- Open a uv data file. */ 2023-01-10T19:54:47,450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,450 708 | /*&rjs */ 2023-01-10T19:54:47,450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,450 709 | /*:uv-i/o */ 2023-01-10T19:54:47,450 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,450 710 | /*+ FORTRAN call sequence: 2023-01-10T19:54:47,451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,451 711 | 2023-01-10T19:54:47,451 | 2023-01-10T19:54:47,451 712 | subroutine uvopen(tno,name,status) 2023-01-10T19:54:47,451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,451 713 | integer tno 2023-01-10T19:54:47,451 | ~~~~~~~~~~~ 2023-01-10T19:54:47,451 714 | character name*(*),status*(*) 2023-01-10T19:54:47,451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,452 715 | 2023-01-10T19:54:47,452 | 2023-01-10T19:54:47,452 716 | Create and/or ready a UV data base to be accessed. 2023-01-10T19:54:47,452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,452 717 | 2023-01-10T19:54:47,452 | 2023-01-10T19:54:47,452 718 | Input: 2023-01-10T19:54:47,452 | ~~~~~~ 2023-01-10T19:54:47,453 719 | name Name of the directory tree containg the u-v data. 2023-01-10T19:54:47,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,453 720 | status Either "old", "new" or "append". Old files can be read, 2023-01-10T19:54:47,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,453 721 | whereas new and append files can only be written. Append 2023-01-10T19:54:47,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,453 722 | files must be pre-existing uv data-sets. 2023-01-10T19:54:47,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,453 723 | Output: 2023-01-10T19:54:47,454 | ~~~~~~~ 2023-01-10T19:54:47,454 724 | tno Handle of the uv data set. */ 2023-01-10T19:54:47,454 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,454 725 | /*-- */ 2023-01-10T19:54:47,454 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,454 726 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,454 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,454 727 | { 2023-01-10T19:54:47,454 | ~ 2023-01-10T19:54:47,455 728 | UV *uv; 2023-01-10T19:54:47,455 | ~~~~~~~ 2023-01-10T19:54:47,455 729 | int iostat; 2023-01-10T19:54:47,455 | ~~~~~~~~~~~ 2023-01-10T19:54:47,455 730 | char line[MAXLINE]; 2023-01-10T19:54:47,455 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,455 731 | 2023-01-10T19:54:47,455 | 2023-01-10T19:54:47,456 732 | if(first)uv_init(); 2023-01-10T19:54:47,456 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,456 733 | 2023-01-10T19:54:47,456 | 2023-01-10T19:54:47,456 734 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,456 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,456 735 | /* */ 2023-01-10T19:54:47,456 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,456 736 | /* Handle an old file. */ 2023-01-10T19:54:47,457 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,457 737 | /* */ 2023-01-10T19:54:47,457 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,457 738 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,457 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,457 739 | 2023-01-10T19:54:47,457 | 2023-01-10T19:54:47,457 740 | if( !strcmp(status,"old") ) { 2023-01-10T19:54:47,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,458 741 | hopen_c(tno,name,"old",&iostat); 2023-01-10T19:54:47,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,458 742 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(old)",name)); 2023-01-10T19:54:47,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,458 743 | uv = uv_getuv(*tno); 2023-01-10T19:54:47,458 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,458 744 | haccess_c(*tno,&uv->item,"visdata","read",&iostat); 2023-01-10T19:54:47,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,459 745 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(old)",name)); 2023-01-10T19:54:47,459 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,459 746 | #ifdef MIR4 2023-01-10T19:54:47,459 | ~~~~~~~~~~~ 2023-01-10T19:54:47,459 747 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T19:54:47,459 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,459 748 | if (1) { 2023-01-10T19:54:47,459 | ~~~~~~~~ 2023-01-10T19:54:47,460 749 | int8 vislen; 2023-01-10T19:54:47,460 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,460 750 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T19:54:47,460 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,460 751 | uv->max_offset = (off64_t) vislen; 2023-01-10T19:54:47,460 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,460 752 | } else { 2023-01-10T19:54:47,460 | ~~~~~~~~ 2023-01-10T19:54:47,461 753 | int old_vislen; 2023-01-10T19:54:47,461 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,461 754 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T19:54:47,461 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,461 755 | if (old_vislen < 0) 2023-01-10T19:54:47,461 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,461 756 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T19:54:47,461 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,462 757 | uv->max_offset = old_vislen; 2023-01-10T19:54:47,462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,462 758 | } 2023-01-10T19:54:47,462 | ~ 2023-01-10T19:54:47,462 759 | #else 2023-01-10T19:54:47,462 | ~~~~~ 2023-01-10T19:54:47,462 760 | /* MIR3 and before format: */ 2023-01-10T19:54:47,462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,463 761 | rdhdi_c(*tno,"vislen",&(uv->max_offset),hsize_c(uv->item)); 2023-01-10T19:54:47,463 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,463 762 | #endif 2023-01-10T19:54:47,463 | ~~~~~~ 2023-01-10T19:54:47,463 763 | uv_vartable_in(uv); 2023-01-10T19:54:47,463 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,463 764 | uv_override(uv); 2023-01-10T19:54:47,463 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,464 765 | 2023-01-10T19:54:47,464 | 2023-01-10T19:54:47,464 766 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,464 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,464 767 | /* */ 2023-01-10T19:54:47,464 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,464 768 | /* Handle a new file. */ 2023-01-10T19:54:47,464 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,465 769 | /* */ 2023-01-10T19:54:47,465 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,465 770 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,465 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,465 771 | 2023-01-10T19:54:47,465 | 2023-01-10T19:54:47,465 772 | } else if(!strcmp(status,"new")) { 2023-01-10T19:54:47,465 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,465 773 | hopen_c(tno,name,"new",&iostat); 2023-01-10T19:54:47,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,466 774 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(new)",name)); 2023-01-10T19:54:47,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,466 775 | uv = uv_getuv(*tno); 2023-01-10T19:54:47,466 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,466 776 | haccess_c(*tno,&uv->item,"visdata","write",&iostat); 2023-01-10T19:54:47,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,466 777 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(new)",name)); 2023-01-10T19:54:47,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,467 778 | uv->flags = UVF_NEW; 2023-01-10T19:54:47,467 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,467 779 | 2023-01-10T19:54:47,467 | 2023-01-10T19:54:47,467 780 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,467 781 | /* */ 2023-01-10T19:54:47,467 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,468 782 | /* Append to an old file. */ 2023-01-10T19:54:47,468 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,468 783 | /* */ 2023-01-10T19:54:47,468 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,468 784 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,468 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,468 785 | 2023-01-10T19:54:47,468 | 2023-01-10T19:54:47,469 786 | } else if(!strcmp(status,"append")) { 2023-01-10T19:54:47,469 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,469 787 | hopen_c(tno,name,"old",&iostat); 2023-01-10T19:54:47,469 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,469 788 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(append)",name)); 2023-01-10T19:54:47,469 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,469 789 | uv = uv_getuv(*tno); 2023-01-10T19:54:47,469 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,469 790 | haccess_c(*tno,&uv->item,"visdata","append",&iostat); 2023-01-10T19:54:47,470 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,470 791 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(append)",name)); 2023-01-10T19:54:47,470 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,470 792 | uv->flags = UVF_APPEND; 2023-01-10T19:54:47,470 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,470 793 | #ifdef MIR4 2023-01-10T19:54:47,470 | ~~~~~~~~~~~ 2023-01-10T19:54:47,470 794 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T19:54:47,471 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,471 795 | if (1) { 2023-01-10T19:54:47,471 | ~~~~~~~~ 2023-01-10T19:54:47,471 796 | int8 vislen; 2023-01-10T19:54:47,471 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,471 797 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T19:54:47,471 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,471 798 | uv->offset = (off64_t) vislen; 2023-01-10T19:54:47,472 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,472 799 | } else { 2023-01-10T19:54:47,472 | ~~~~~~~~ 2023-01-10T19:54:47,472 800 | int old_vislen; 2023-01-10T19:54:47,472 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,472 801 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T19:54:47,472 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,472 802 | if (old_vislen < 0) 2023-01-10T19:54:47,472 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,473 803 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T19:54:47,473 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,473 804 | uv->offset = old_vislen; 2023-01-10T19:54:47,473 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,473 805 | } 2023-01-10T19:54:47,473 | ~ 2023-01-10T19:54:47,473 806 | #else 2023-01-10T19:54:47,473 | ~~~~~ 2023-01-10T19:54:47,473 807 | /* MIR3 and before format: */ 2023-01-10T19:54:47,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,474 808 | rdhdi_c(*tno,"vislen",&(uv->offset),hsize_c(uv->item)); 2023-01-10T19:54:47,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,474 809 | #endif 2023-01-10T19:54:47,474 | ~~~~~~ 2023-01-10T19:54:47,474 810 | uv->offset = mroundup(uv->offset,UV_ALIGN); 2023-01-10T19:54:47,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,474 811 | uv_vartable_in(uv); 2023-01-10T19:54:47,475 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,475 812 | 2023-01-10T19:54:47,475 | 2023-01-10T19:54:47,475 813 | /* Read items and fill in the appropriate value. */ 2023-01-10T19:54:47,475 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,475 814 | 2023-01-10T19:54:47,475 | 2023-01-10T19:54:47,475 815 | rdhda_c(*tno,"obstype",line,"",MAXLINE); 2023-01-10T19:54:47,475 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,476 816 | if(!strcmp(line,"autocorrelation")) uv->flags |= UVF_AUTO; 2023-01-10T19:54:47,476 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,476 817 | else if(!strcmp(line,"crosscorrelation")) uv->flags |= UVF_CROSS; 2023-01-10T19:54:47,476 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,476 818 | { 2023-01-10T19:54:47,476 | ~ 2023-01-10T19:54:47,476 819 | int8 n; 2023-01-10T19:54:47,476 | ~~~~~~~ 2023-01-10T19:54:47,477 820 | rdhdl_c(*tno,"ncorr",&n,-1); 2023-01-10T19:54:47,477 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,477 821 | uv->corr_flags.offset = n; 2023-01-10T19:54:47,477 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,477 822 | rdhdl_c(*tno,"nwcorr",&n,-1); 2023-01-10T19:54:47,477 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,477 823 | uv->wcorr_flags.offset = n; 2023-01-10T19:54:47,477 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,477 824 | } 2023-01-10T19:54:47,478 | ~ 2023-01-10T19:54:47,478 825 | if(uv->corr_flags.offset < 0 || uv->wcorr_flags.offset < 0) 2023-01-10T19:54:47,478 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,478 826 | BUG('f',"Cannot append to uv file without 'ncorr' and/or 'nwcorr' items"); 2023-01-10T19:54:47,478 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,478 827 | 2023-01-10T19:54:47,478 | 2023-01-10T19:54:47,478 828 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,478 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,479 829 | /* */ 2023-01-10T19:54:47,479 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,479 830 | /* Somethig else -- must be an error. */ 2023-01-10T19:54:47,479 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,479 831 | /* */ 2023-01-10T19:54:47,479 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,479 832 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,479 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,480 833 | 2023-01-10T19:54:47,480 | 2023-01-10T19:54:47,480 834 | } else ERROR('f',(message,"Status %s is not recognised by UVOPEN",status)); 2023-01-10T19:54:47,480 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,480 835 | } 2023-01-10T19:54:47,480 | ~ 2023-01-10T19:54:47,480 836 | /************************************************************************/ 2023-01-10T19:54:47,480 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,480 837 | void uvclose_c(int tno) 2023-01-10T19:54:47,481 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,481 838 | /**uvclose -- Close a uv file */ 2023-01-10T19:54:47,481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,481 839 | /*&rjs */ 2023-01-10T19:54:47,481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,481 840 | /*:uv-i/o */ 2023-01-10T19:54:47,481 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,481 841 | /*+ FORTRAN call sequence: 2023-01-10T19:54:47,482 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,482 842 | subroutine uvclose(tno) 2023-01-10T19:54:47,482 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,482 843 | integer tno 2023-01-10T19:54:47,482 | ~~~~~~~~~~~ 2023-01-10T19:54:47,482 844 | 2023-01-10T19:54:47,482 | 2023-01-10T19:54:47,482 845 | This close a uv data file. 2023-01-10T19:54:47,483 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,483 846 | Input: 2023-01-10T19:54:47,483 | ~~~~~~ 2023-01-10T19:54:47,483 847 | tno Handle of the uv data set. */ 2023-01-10T19:54:47,483 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,483 848 | /*-- */ 2023-01-10T19:54:47,483 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,483 849 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,484 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,484 850 | { 2023-01-10T19:54:47,484 | ~ 2023-01-10T19:54:47,484 851 | UV *uv; 2023-01-10T19:54:47,484 | ~~~~~~~ 2023-01-10T19:54:47,484 852 | int iostat; 2023-01-10T19:54:47,484 | ~~~~~~~~~~~ 2023-01-10T19:54:47,484 853 | 2023-01-10T19:54:47,485 | 2023-01-10T19:54:47,485 854 | uv = uvs[tno]; 2023-01-10T19:54:47,485 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,485 855 | 2023-01-10T19:54:47,485 | 2023-01-10T19:54:47,485 856 | /* Finished with the flagging information. */ 2023-01-10T19:54:47,485 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,485 857 | 2023-01-10T19:54:47,486 | 2023-01-10T19:54:47,486 858 | if(uv->corr_flags.handle != NULL) mkclose_c(uv->corr_flags.handle); 2023-01-10T19:54:47,486 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,486 859 | if(uv->wcorr_flags.handle != NULL) mkclose_c(uv->wcorr_flags.handle); 2023-01-10T19:54:47,486 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,486 860 | uv->corr_flags.handle = uv->wcorr_flags.handle = NULL; 2023-01-10T19:54:47,486 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,486 861 | 2023-01-10T19:54:47,486 | 2023-01-10T19:54:47,487 862 | /* Flush out all stuff appropriate for a new or append file. */ 2023-01-10T19:54:47,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,487 863 | 2023-01-10T19:54:47,487 | 2023-01-10T19:54:47,487 864 | if(uv->flags & (UVF_NEW|UVF_APPEND))uvflush_c(tno); 2023-01-10T19:54:47,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,487 865 | 2023-01-10T19:54:47,487 | 2023-01-10T19:54:47,488 866 | /* Close the visibility data stream, release structures, and close the 2023-01-10T19:54:47,488 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,488 867 | whole thing. */ 2023-01-10T19:54:47,488 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,488 868 | 2023-01-10T19:54:47,488 | 2023-01-10T19:54:47,488 869 | hdaccess_c(uv->item,&iostat); 2023-01-10T19:54:47,488 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,488 870 | CHECK(iostat,(message,"Error calling hdaccess for visdata, in UVCLOSE")); 2023-01-10T19:54:47,489 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,489 871 | uv_freeuv(uv); 2023-01-10T19:54:47,489 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,489 872 | uvs[tno] = NULL; 2023-01-10T19:54:47,489 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,489 873 | hclose_c(tno); 2023-01-10T19:54:47,489 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,489 874 | } 2023-01-10T19:54:47,489 | ~ 2023-01-10T19:54:47,490 875 | /************************************************************************/ 2023-01-10T19:54:47,490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,490 876 | void uvflush_c(int tno) 2023-01-10T19:54:47,490 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,490 877 | /**uvflush -- Flush buffers of a uv dataset to disk. */ 2023-01-10T19:54:47,490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,490 878 | /*&rjs */ 2023-01-10T19:54:47,490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,491 879 | /*:uv-i/o */ 2023-01-10T19:54:47,491 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,491 880 | /*+ FORTRAN call sequence: 2023-01-10T19:54:47,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,491 881 | subroutine uvflush(tno) 2023-01-10T19:54:47,491 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,491 882 | integer tno 2023-01-10T19:54:47,491 | ~~~~~~~~~~~ 2023-01-10T19:54:47,492 883 | 2023-01-10T19:54:47,492 | 2023-01-10T19:54:47,492 884 | This close a uv data file. 2023-01-10T19:54:47,492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,492 885 | Input: 2023-01-10T19:54:47,492 | ~~~~~~ 2023-01-10T19:54:47,492 886 | tno Make sure anything buffered up is flushed to disk. The 2023-01-10T19:54:47,492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,492 887 | disk file should be readable (up to data written here) 2023-01-10T19:54:47,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,493 888 | even if the caller or computer crashes. */ 2023-01-10T19:54:47,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,493 889 | /*-- */ 2023-01-10T19:54:47,493 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,493 890 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,493 891 | { 2023-01-10T19:54:47,494 | ~ 2023-01-10T19:54:47,494 892 | UV *uv; 2023-01-10T19:54:47,494 | ~~~~~~~ 2023-01-10T19:54:47,494 893 | int iostat; 2023-01-10T19:54:47,494 | ~~~~~~~~~~~ 2023-01-10T19:54:47,494 894 | 2023-01-10T19:54:47,494 | 2023-01-10T19:54:47,494 895 | uv = uvs[tno]; 2023-01-10T19:54:47,494 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,495 896 | 2023-01-10T19:54:47,495 | 2023-01-10T19:54:47,495 897 | if(!(uv->flags & (UVF_NEW|UVF_APPEND)))return; 2023-01-10T19:54:47,495 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,495 898 | 2023-01-10T19:54:47,495 | 2023-01-10T19:54:47,495 899 | /* Flush the masks out. */ 2023-01-10T19:54:47,495 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,496 900 | 2023-01-10T19:54:47,496 | 2023-01-10T19:54:47,496 901 | if(uv->corr_flags.handle != NULL) mkflush_c(uv->corr_flags.handle); 2023-01-10T19:54:47,496 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,496 902 | if(uv->wcorr_flags.handle != NULL) mkflush_c(uv->wcorr_flags.handle); 2023-01-10T19:54:47,496 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,496 903 | 2023-01-10T19:54:47,496 | 2023-01-10T19:54:47,496 904 | /* Rewrite vartable, if needed. */ 2023-01-10T19:54:47,497 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,497 905 | 2023-01-10T19:54:47,497 | 2023-01-10T19:54:47,497 906 | if(uv->saved_nvar < uv->nvar || (uv->nvar == 0 && (uv->flags & UVF_NEW))) uv_vartable_out(uv); 2023-01-10T19:54:47,497 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,497 907 | uv->saved_nvar = uv->nvar; 2023-01-10T19:54:47,497 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,497 908 | 2023-01-10T19:54:47,497 | 2023-01-10T19:54:47,498 909 | /* Rewrite the description indicating the type of the data. */ 2023-01-10T19:54:47,498 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,498 910 | 2023-01-10T19:54:47,498 | 2023-01-10T19:54:47,498 911 | if( ( uv->flags & (UVF_AUTO|UVF_CROSS) ) == (UVF_AUTO|UVF_CROSS)) 2023-01-10T19:54:47,498 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,498 912 | wrhda_c(tno,"obstype","mixed-auto-cross"); 2023-01-10T19:54:47,498 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,499 913 | else if(uv->flags & UVF_AUTO) 2023-01-10T19:54:47,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,499 914 | wrhda_c(tno,"obstype","autocorrelation"); 2023-01-10T19:54:47,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,499 915 | else if(uv->flags & UVF_CROSS) 2023-01-10T19:54:47,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,499 916 | wrhda_c(tno,"obstype","crosscorrelation"); 2023-01-10T19:54:47,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,500 917 | 2023-01-10T19:54:47,500 | 2023-01-10T19:54:47,500 918 | /* Write out things to help recover the EOF. */ 2023-01-10T19:54:47,500 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,500 919 | 2023-01-10T19:54:47,500 | 2023-01-10T19:54:47,500 920 | #ifdef MIR4 2023-01-10T19:54:47,500 | ~~~~~~~~~~~ 2023-01-10T19:54:47,500 921 | wrhdl_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T19:54:47,501 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,501 922 | wrhdl_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T19:54:47,501 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,501 923 | wrhdl_c(tno,"vislen",uv->offset); 2023-01-10T19:54:47,501 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,501 924 | #else 2023-01-10T19:54:47,501 | ~~~~~ 2023-01-10T19:54:47,501 925 | /* old MIR3 and before format */ 2023-01-10T19:54:47,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,502 926 | wrhdi_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T19:54:47,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,502 927 | wrhdi_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T19:54:47,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,502 928 | wrhdi_c(tno,"vislen",uv->offset); 2023-01-10T19:54:47,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,502 929 | #endif 2023-01-10T19:54:47,502 | ~~~~~~ 2023-01-10T19:54:47,503 930 | 2023-01-10T19:54:47,503 | 2023-01-10T19:54:47,503 931 | /* Finally flush out everything to disk. */ 2023-01-10T19:54:47,503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,503 932 | 2023-01-10T19:54:47,503 | 2023-01-10T19:54:47,503 933 | hflush_c(tno,&iostat); 2023-01-10T19:54:47,504 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,504 934 | CHECK(iostat,(message,"Error calling hflush, in UVFLSH")); 2023-01-10T19:54:47,504 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,504 935 | } 2023-01-10T19:54:47,504 | ~ 2023-01-10T19:54:47,504 936 | /************************************************************************/ 2023-01-10T19:54:47,504 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,504 937 | private void uv_init(void) 2023-01-10T19:54:47,504 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,505 938 | /* 2023-01-10T19:54:47,505 | ~~ 2023-01-10T19:54:47,505 939 | Initalise everything imaginable. 2023-01-10T19:54:47,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,505 940 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,505 941 | { 2023-01-10T19:54:47,505 | ~ 2023-01-10T19:54:47,505 942 | int i; 2023-01-10T19:54:47,506 | ~~~~~~ 2023-01-10T19:54:47,506 943 | 2023-01-10T19:54:47,506 | 2023-01-10T19:54:47,506 944 | first = FALSE; 2023-01-10T19:54:47,506 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,506 945 | 2023-01-10T19:54:47,506 | 2023-01-10T19:54:47,506 946 | external_size[H_BYTE] = 1; internal_size[H_BYTE] = 1; 2023-01-10T19:54:47,507 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,507 947 | type_flag[H_BYTE] = 'a'; 2023-01-10T19:54:47,507 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,507 948 | external_size[H_INT] = H_INT_SIZE; internal_size[H_INT] = sizeof(int); 2023-01-10T19:54:47,507 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,507 949 | type_flag[H_INT] = 'i'; 2023-01-10T19:54:47,507 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,507 950 | external_size[H_INT2] = H_INT2_SIZE; internal_size[H_INT2] = sizeof(int); 2023-01-10T19:54:47,507 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,508 951 | type_flag[H_INT2] = 'j'; 2023-01-10T19:54:47,508 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,508 952 | external_size[H_REAL] = H_REAL_SIZE; internal_size[H_REAL] = sizeof(float); 2023-01-10T19:54:47,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,508 953 | type_flag[H_REAL] = 'r'; 2023-01-10T19:54:47,508 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,508 954 | external_size[H_DBLE] = H_DBLE_SIZE; internal_size[H_DBLE] = sizeof(double); 2023-01-10T19:54:47,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,508 955 | type_flag[H_DBLE] = 'd'; 2023-01-10T19:54:47,509 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,509 956 | external_size[H_CMPLX] = H_CMPLX_SIZE; 2023-01-10T19:54:47,509 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,509 957 | internal_size[H_CMPLX] = 2*sizeof(float); 2023-01-10T19:54:47,509 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,509 958 | type_flag[H_CMPLX] = 'c'; 2023-01-10T19:54:47,509 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,509 959 | 2023-01-10T19:54:47,509 | 2023-01-10T19:54:47,510 960 | /* Initialise the "true window" array. */ 2023-01-10T19:54:47,510 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,510 961 | 2023-01-10T19:54:47,510 | 2023-01-10T19:54:47,510 962 | noamp.select = FALSE; 2023-01-10T19:54:47,510 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,510 963 | 2023-01-10T19:54:47,510 | 2023-01-10T19:54:47,511 964 | truewin.first = 0; 2023-01-10T19:54:47,511 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,511 965 | truewin.last = MAXWIN-1; 2023-01-10T19:54:47,511 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,511 966 | truewin.n = MAXWIN; 2023-01-10T19:54:47,511 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,511 967 | truewin.select= FALSE; 2023-01-10T19:54:47,511 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,511 968 | for(i=0; i < MAXWIN; i++) truewin.wins[i] = TRUE; 2023-01-10T19:54:47,512 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,512 969 | 2023-01-10T19:54:47,512 | 2023-01-10T19:54:47,512 970 | /* Initialise the table of variable handles. */ 2023-01-10T19:54:47,512 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,512 971 | 2023-01-10T19:54:47,512 | 2023-01-10T19:54:47,512 972 | for(i=0; i < MAXVHANDS; i++)varhands[i] = NULL; 2023-01-10T19:54:47,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,513 973 | 2023-01-10T19:54:47,513 | 2023-01-10T19:54:47,513 974 | } 2023-01-10T19:54:47,513 | ~ 2023-01-10T19:54:47,513 975 | /************************************************************************/ 2023-01-10T19:54:47,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,513 976 | private void uv_freeuv(UV *uv) 2023-01-10T19:54:47,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,514 977 | /* 2023-01-10T19:54:47,514 | ~~ 2023-01-10T19:54:47,514 978 | Free a uv structure. 2023-01-10T19:54:47,514 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,514 979 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,514 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,514 980 | { 2023-01-10T19:54:47,514 | ~ 2023-01-10T19:54:47,515 981 | int i; 2023-01-10T19:54:47,515 | ~~~~~~ 2023-01-10T19:54:47,515 982 | VARIABLE *v; 2023-01-10T19:54:47,515 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,515 983 | VARHAND *vh,*vht; 2023-01-10T19:54:47,515 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,515 984 | VARPNT *vp,*vpt; 2023-01-10T19:54:47,515 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,515 985 | 2023-01-10T19:54:47,516 | 2023-01-10T19:54:47,516 986 | vh = uv->vhans; 2023-01-10T19:54:47,516 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,516 987 | while(vh != NULL){ 2023-01-10T19:54:47,516 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,516 988 | vp = vh->varhd; 2023-01-10T19:54:47,516 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,516 989 | varhands[vh->index] = NULL; 2023-01-10T19:54:47,517 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,517 990 | while(vp != NULL){ 2023-01-10T19:54:47,517 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,517 991 | vpt = vp; 2023-01-10T19:54:47,517 | ~~~~~~~~~ 2023-01-10T19:54:47,517 992 | vp = vp->fwd; 2023-01-10T19:54:47,517 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,517 993 | free((char *)vpt); 2023-01-10T19:54:47,517 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,518 994 | } 2023-01-10T19:54:47,518 | ~ 2023-01-10T19:54:47,518 995 | vht = vh; 2023-01-10T19:54:47,518 | ~~~~~~~~~ 2023-01-10T19:54:47,518 996 | vh = vh->fwd; 2023-01-10T19:54:47,518 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,518 997 | free((char *)vht); 2023-01-10T19:54:47,518 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,519 998 | } 2023-01-10T19:54:47,519 | ~ 2023-01-10T19:54:47,519 999 | 2023-01-10T19:54:47,519 | 2023-01-10T19:54:47,519 1000 | /* Free buffers associated with variables. */ 2023-01-10T19:54:47,519 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,519 1001 | 2023-01-10T19:54:47,519 | 2023-01-10T19:54:47,520 1002 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++) 2023-01-10T19:54:47,520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,520 1003 | if(v->buf != NULL)free(v->buf); 2023-01-10T19:54:47,520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,520 1004 | 2023-01-10T19:54:47,520 | 2023-01-10T19:54:47,520 1005 | if(uv->data_line.wts != NULL) free((char *)uv->data_line.wts); 2023-01-10T19:54:47,520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,521 1006 | if(uv->ref_line.wts != NULL) free((char *)uv->ref_line.wts); 2023-01-10T19:54:47,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,521 1007 | if(uv->corr_flags.flags != NULL) free((char *)uv->corr_flags.flags); 2023-01-10T19:54:47,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,521 1008 | if(uv->wcorr_flags.flags != NULL ) free((char *)uv->wcorr_flags.flags); 2023-01-10T19:54:47,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,521 1009 | if(uv->sigma2.table != NULL)free((char *)uv->sigma2.table); 2023-01-10T19:54:47,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,521 1010 | uv_free_select(uv->select); 2023-01-10T19:54:47,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,522 1011 | if(uv->uvw != NULL) free((char *)(uv->uvw)); 2023-01-10T19:54:47,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,522 1012 | free((char *)uv); 2023-01-10T19:54:47,522 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,522 1013 | } 2023-01-10T19:54:47,522 | ~ 2023-01-10T19:54:47,522 1014 | /************************************************************************/ 2023-01-10T19:54:47,523 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,523 1015 | private void uv_free_select(SELECT *sel) 2023-01-10T19:54:47,523 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,523 1016 | { 2023-01-10T19:54:47,523 | ~ 2023-01-10T19:54:47,523 1017 | OPERS *op; 2023-01-10T19:54:47,523 | ~~~~~~~~~~ 2023-01-10T19:54:47,523 1018 | SELECT *fwd; 2023-01-10T19:54:47,524 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,524 1019 | int i; 2023-01-10T19:54:47,524 | ~~~~~~ 2023-01-10T19:54:47,524 1020 | 2023-01-10T19:54:47,524 | 2023-01-10T19:54:47,524 1021 | while(sel != NULL){ 2023-01-10T19:54:47,524 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,524 1022 | fwd = sel->fwd; 2023-01-10T19:54:47,524 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,525 1023 | if(sel->noper > 0){ 2023-01-10T19:54:47,525 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,525 1024 | op = sel->opers; 2023-01-10T19:54:47,525 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,525 1025 | for(i=0; i < sel->noper; i++){ 2023-01-10T19:54:47,525 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,525 1026 | if(op->stval != NULL) free(op->stval); 2023-01-10T19:54:47,526 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,526 1027 | op++; 2023-01-10T19:54:47,526 | ~~~~~ 2023-01-10T19:54:47,526 1028 | } 2023-01-10T19:54:47,526 | ~ 2023-01-10T19:54:47,526 1029 | free((char *)(sel->opers)); 2023-01-10T19:54:47,526 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,526 1030 | } 2023-01-10T19:54:47,526 | ~ 2023-01-10T19:54:47,527 1031 | free((char *)sel); 2023-01-10T19:54:47,527 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,527 1032 | sel = fwd; 2023-01-10T19:54:47,527 | ~~~~~~~~~~ 2023-01-10T19:54:47,527 1033 | } 2023-01-10T19:54:47,527 | ~ 2023-01-10T19:54:47,527 1034 | } 2023-01-10T19:54:47,527 | ~ 2023-01-10T19:54:47,528 1035 | /************************************************************************/ 2023-01-10T19:54:47,528 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,528 1036 | private UV *uv_getuv(int tno) 2023-01-10T19:54:47,528 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,528 1037 | /* 2023-01-10T19:54:47,528 | ~~ 2023-01-10T19:54:47,528 1038 | Allocate a structure describing a uv file. 2023-01-10T19:54:47,528 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,529 1039 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,529 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,529 1040 | { 2023-01-10T19:54:47,529 | ~ 2023-01-10T19:54:47,529 1041 | int i; 2023-01-10T19:54:47,529 | ~~~~~~ 2023-01-10T19:54:47,529 1042 | UV *uv; 2023-01-10T19:54:47,529 | ~~~~~~~ 2023-01-10T19:54:47,529 1043 | VARIABLE *v; 2023-01-10T19:54:47,530 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,530 1044 | 2023-01-10T19:54:47,530 | 2023-01-10T19:54:47,530 1045 | uv = (UV *)Malloc(sizeof(UV)); 2023-01-10T19:54:47,530 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,530 1046 | uv->item = 0; 2023-01-10T19:54:47,530 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,530 1047 | uv->tno = tno; 2023-01-10T19:54:47,531 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,531 1048 | uv->vhans = NULL; 2023-01-10T19:54:47,531 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,531 1049 | uv->nvar = 0; 2023-01-10T19:54:47,531 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,531 1050 | uv->presize = 0; 2023-01-10T19:54:47,531 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,531 1051 | uv->gflag = 1; 2023-01-10T19:54:47,531 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,532 1052 | uv->saved_nvar= 0; 2023-01-10T19:54:47,532 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,532 1053 | uv->offset = 0; 2023-01-10T19:54:47,532 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,532 1054 | uv->max_offset= 0; 2023-01-10T19:54:47,532 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,532 1055 | uv->flags = 0; 2023-01-10T19:54:47,532 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,532 1056 | uv->callno = 0; 2023-01-10T19:54:47,533 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,533 1057 | uv->maxvis = 0; 2023-01-10T19:54:47,533 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,533 1058 | uv->mark = 0; 2023-01-10T19:54:47,533 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,533 1059 | uv->select = NULL; 2023-01-10T19:54:47,533 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,533 1060 | uv->need_skyfreq = uv->need_point = uv->need_planet = FALSE; 2023-01-10T19:54:47,533 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,534 1061 | uv->need_pol = uv->need_on = uv->need_uvw = FALSE; 2023-01-10T19:54:47,534 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,534 1062 | uv->need_src = uv->need_win = uv->need_bin = FALSE; 2023-01-10T19:54:47,534 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,534 1063 | uv->need_dra = uv->need_ddec = uv->need_ra = FALSE; 2023-01-10T19:54:47,534 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,534 1064 | uv->need_dec = uv->need_lst = uv->need_elev = FALSE; 2023-01-10T19:54:47,534 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,535 1065 | uv->need_obsra = uv->need_dazim = uv->need_delev = FALSE; 2023-01-10T19:54:47,535 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,535 1066 | uv->uvw = NULL; 2023-01-10T19:54:47,535 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,535 1067 | uv->ref_plmaj = uv->ref_plmin = uv->ref_plangle = 0; 2023-01-10T19:54:47,535 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,535 1068 | uv->plscale = 1; 2023-01-10T19:54:47,535 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,535 1069 | uv->pluu = uv->plvv = 1; 2023-01-10T19:54:47,536 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,536 1070 | uv->plvu = uv->pluv = 0; 2023-01-10T19:54:47,536 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,536 1071 | uv->apply_amp = TRUE; 2023-01-10T19:54:47,536 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,536 1072 | uv->apply_win = TRUE; 2023-01-10T19:54:47,536 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,536 1073 | uv->skyfreq_start = 0; 2023-01-10T19:54:47,536 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,537 1074 | 2023-01-10T19:54:47,537 | 2023-01-10T19:54:47,537 1075 | uv->corr_flags.exists = TRUE; 2023-01-10T19:54:47,537 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,537 1076 | uv->corr_flags.handle = NULL; 2023-01-10T19:54:47,537 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,537 1077 | uv->corr_flags.offset = 0; 2023-01-10T19:54:47,537 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,537 1078 | uv->corr_flags.flags = NULL; 2023-01-10T19:54:47,538 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,538 1079 | uv->corr_flags.nflags = 0; 2023-01-10T19:54:47,538 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,538 1080 | uv->wcorr_flags.exists = TRUE; 2023-01-10T19:54:47,538 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,538 1081 | uv->wcorr_flags.handle = NULL; 2023-01-10T19:54:47,538 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,538 1082 | uv->wcorr_flags.offset = 0; 2023-01-10T19:54:47,539 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,539 1083 | uv->wcorr_flags.flags = NULL; 2023-01-10T19:54:47,539 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,539 1084 | uv->wcorr_flags.nflags = 0; 2023-01-10T19:54:47,539 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,539 1085 | 2023-01-10T19:54:47,539 | 2023-01-10T19:54:47,539 1086 | uv->data_line.wts = NULL; 2023-01-10T19:54:47,539 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,540 1087 | uv->data_line.linetype = LINE_NONE; 2023-01-10T19:54:47,540 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,540 1088 | uv->ref_line.wts = NULL; 2023-01-10T19:54:47,540 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,540 1089 | uv->ref_line.linetype = LINE_NONE; 2023-01-10T19:54:47,540 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,540 1090 | 2023-01-10T19:54:47,540 | 2023-01-10T19:54:47,541 1091 | uv->sigma2.table = NULL; 2023-01-10T19:54:47,541 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,541 1092 | uv->sigma2.nants = 0; 2023-01-10T19:54:47,541 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,541 1093 | uv->sigma2.missing = FALSE; 2023-01-10T19:54:47,541 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,541 1094 | 2023-01-10T19:54:47,541 | 2023-01-10T19:54:47,541 1095 | uv->corr = NULL; 2023-01-10T19:54:47,542 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,542 1096 | uv->wcorr = NULL; 2023-01-10T19:54:47,542 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,542 1097 | uv->coord = NULL; 2023-01-10T19:54:47,542 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,542 1098 | uv->time = NULL; 2023-01-10T19:54:47,542 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,542 1099 | uv->bl = NULL; 2023-01-10T19:54:47,542 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,543 1100 | 2023-01-10T19:54:47,543 | 2023-01-10T19:54:47,543 1101 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++){ 2023-01-10T19:54:47,543 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,543 1102 | v->length = v->flength = 0; 2023-01-10T19:54:47,543 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,543 1103 | v->buf = NULL; 2023-01-10T19:54:47,543 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,543 1104 | v->flags = 0; 2023-01-10T19:54:47,544 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,544 1105 | v->type = 0; 2023-01-10T19:54:47,544 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,544 1106 | v->fwd = NULL; 2023-01-10T19:54:47,544 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,544 1107 | v->index = i; 2023-01-10T19:54:47,544 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,544 1108 | v->callno = 0; 2023-01-10T19:54:47,545 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,545 1109 | } 2023-01-10T19:54:47,545 | ~ 2023-01-10T19:54:47,545 1110 | for(i=0; i < HASHSIZE; i++) uv->vhash[i] = NULL; 2023-01-10T19:54:47,545 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,545 1111 | uvs[tno] = uv; 2023-01-10T19:54:47,545 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,545 1112 | return(uv); 2023-01-10T19:54:47,545 | ~~~~~~~~~~~ 2023-01-10T19:54:47,546 1113 | } 2023-01-10T19:54:47,546 | ~ 2023-01-10T19:54:47,546 1114 | /************************************************************************/ 2023-01-10T19:54:47,546 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,546 1115 | private void uv_vartable_out(UV *uv) 2023-01-10T19:54:47,546 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,546 1116 | /* 2023-01-10T19:54:47,546 | ~~ 2023-01-10T19:54:47,547 1117 | Write out a variable name table. 2023-01-10T19:54:47,547 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,547 1118 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,547 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,547 1119 | { 2023-01-10T19:54:47,547 | ~ 2023-01-10T19:54:47,547 1120 | int item; 2023-01-10T19:54:47,547 | ~~~~~~~~~ 2023-01-10T19:54:47,548 1121 | char line[MAXLINE]; 2023-01-10T19:54:47,548 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,548 1122 | int iostat,i; 2023-01-10T19:54:47,548 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,548 1123 | VARIABLE *v; 2023-01-10T19:54:47,548 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,548 1124 | 2023-01-10T19:54:47,548 | 2023-01-10T19:54:47,549 1125 | haccess_c(uv->tno,&item,"vartable","write",&iostat); 2023-01-10T19:54:47,549 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,549 1126 | CHECK(iostat,(message,"Error opening vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:47,549 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,549 1127 | for(i=0, v = uv->variable; i < uv->nvar; i++,v++){ 2023-01-10T19:54:47,549 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,549 1128 | Sprintf(line,"%c %s",VARTYPE(v),v->name); 2023-01-10T19:54:47,549 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,550 1129 | hwritea_c(item,line,strlen(line)+1,&iostat); 2023-01-10T19:54:47,550 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,550 1130 | CHECK(iostat,(message,"Error writing to vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:47,550 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,550 1131 | } 2023-01-10T19:54:47,550 | ~ 2023-01-10T19:54:47,550 1132 | hdaccess_c(item,&iostat); 2023-01-10T19:54:47,550 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,551 1133 | CHECK(iostat,(message,"Error closing vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:47,551 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,551 1134 | } 2023-01-10T19:54:47,551 | ~ 2023-01-10T19:54:47,551 1135 | /************************************************************************/ 2023-01-10T19:54:47,551 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,551 1136 | private void uv_override(UV *uv) 2023-01-10T19:54:47,551 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,552 1137 | /* 2023-01-10T19:54:47,552 | ~~ 2023-01-10T19:54:47,552 1138 | Determine if a variable has a item of the same name. If there is one, then 2023-01-10T19:54:47,552 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,552 1139 | the value of that item overrides the value of the variable. In this case, 2023-01-10T19:54:47,552 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,552 1140 | get the value of the item, and set a flag to indicate that the variable 2023-01-10T19:54:47,552 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,553 1141 | value is being overriden. 2023-01-10T19:54:47,553 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,553 1142 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,553 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,553 1143 | { 2023-01-10T19:54:47,553 | ~ 2023-01-10T19:54:47,553 1144 | int item; 2023-01-10T19:54:47,553 | ~~~~~~~~~ 2023-01-10T19:54:47,554 1145 | char *b,varname[MAXLINE],vartype[MAXLINE],descr[MAXLINE]; 2023-01-10T19:54:47,554 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,554 1146 | VARIABLE *v; 2023-01-10T19:54:47,554 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,554 1147 | int tno,iostat,n,ok,isnumeric,ischar; 2023-01-10T19:54:47,554 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,554 1148 | 2023-01-10T19:54:47,554 | 2023-01-10T19:54:47,555 1149 | tno = uv->tno; 2023-01-10T19:54:47,555 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,555 1150 | haccess_c(uv->tno,&item,".","read",&iostat); 2023-01-10T19:54:47,555 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,555 1151 | CHECK(iostat,(message,"Error opening directory listing, in UVOPEN(override)")); 2023-01-10T19:54:47,555 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,555 1152 | while(hreada_c(item,varname,MAXLINE,&iostat),iostat==0){ 2023-01-10T19:54:47,555 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,556 1153 | v = uv_locvar(tno,varname); 2023-01-10T19:54:47,556 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,556 1154 | if(v != NULL){ 2023-01-10T19:54:47,556 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,556 1155 | hdprobe_c(tno,varname,descr,MAXLINE,vartype,&n); 2023-01-10T19:54:47,556 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,556 1156 | isnumeric = 2023-01-10T19:54:47,556 | ~~~~~~~~~~~ 2023-01-10T19:54:47,556 1157 | (v->type == H_DBLE || v->type == H_REAL || v->type == H_INT) && 2023-01-10T19:54:47,557 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,557 1158 | (!strcmp(vartype,"double") || !strcmp(vartype,"real") || 2023-01-10T19:54:47,557 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,557 1159 | !strcmp(vartype,"integer")); 2023-01-10T19:54:47,557 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,557 1160 | ischar = (v->type == H_BYTE && !strcmp(vartype,"character")); 2023-01-10T19:54:47,557 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,557 1161 | ok = ( n == 1 && (isnumeric || ischar) ); 2023-01-10T19:54:47,558 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,558 1162 | 2023-01-10T19:54:47,558 | 2023-01-10T19:54:47,558 1163 | if(v->type == H_BYTE) { 2023-01-10T19:54:47,558 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,558 1164 | n = strlen(descr); 2023-01-10T19:54:47,558 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,558 1165 | b = Malloc(n+1); 2023-01-10T19:54:47,558 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,559 1166 | } else { 2023-01-10T19:54:47,559 | ~~~~~~~~ 2023-01-10T19:54:47,559 1167 | b = Malloc(internal_size[v->type]); 2023-01-10T19:54:47,559 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,559 1168 | } 2023-01-10T19:54:47,559 | ~ 2023-01-10T19:54:47,559 1169 | if(ok)switch(v->type){ 2023-01-10T19:54:47,559 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,560 1170 | case H_INT: rdhdi_c(tno,varname,(int *)b,0); break; 2023-01-10T19:54:47,560 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,560 1171 | case H_REAL: rdhdr_c(tno,varname,(float *)b,0.0); break; 2023-01-10T19:54:47,560 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,560 1172 | case H_BYTE: strcpy(b,descr); break; 2023-01-10T19:54:47,560 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,560 1173 | case H_DBLE: rdhdd_c(tno,varname,(double *)b,(double)0.0); break; 2023-01-10T19:54:47,560 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,561 1174 | default: ok = FALSE; 2023-01-10T19:54:47,561 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,561 1175 | } 2023-01-10T19:54:47,561 | ~ 2023-01-10T19:54:47,561 1176 | if(ok){ 2023-01-10T19:54:47,561 | ~~~~~~~ 2023-01-10T19:54:47,561 1177 | v->flags |= UVF_OVERRIDE; 2023-01-10T19:54:47,561 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,561 1178 | v->buf = b; 2023-01-10T19:54:47,562 | ~~~~~~~~~~~ 2023-01-10T19:54:47,562 1179 | v->length = n*external_size[v->type]; 2023-01-10T19:54:47,562 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,562 1180 | v->callno = 1; 2023-01-10T19:54:47,562 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,562 1181 | } else { 2023-01-10T19:54:47,562 | ~~~~~~~~ 2023-01-10T19:54:47,562 1182 | free(b); 2023-01-10T19:54:47,563 | ~~~~~~~~ 2023-01-10T19:54:47,563 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T19:54:47,563 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,563 1184 | } 2023-01-10T19:54:47,563 | ~ 2023-01-10T19:54:47,563 1185 | } 2023-01-10T19:54:47,563 | ~ 2023-01-10T19:54:47,563 1186 | } 2023-01-10T19:54:47,563 | ~ 2023-01-10T19:54:47,564 1187 | if(iostat != -1) ERROR('f',(message, 2023-01-10T19:54:47,564 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,564 1188 | "Error %d when performing override checks, in UVOPEN",iostat)); 2023-01-10T19:54:47,564 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,564 1189 | hdaccess_c(item,&iostat); 2023-01-10T19:54:47,564 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,564 1190 | } 2023-01-10T19:54:47,564 | ~ 2023-01-10T19:54:47,564 1191 | /************************************************************************/ 2023-01-10T19:54:47,565 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,565 1192 | private void uv_vartable_in(UV *uv) 2023-01-10T19:54:47,565 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,565 1193 | /* 2023-01-10T19:54:47,565 | ~~ 2023-01-10T19:54:47,565 1194 | Scan the variable name table, to determine the names and types of the 2023-01-10T19:54:47,565 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,565 1195 | variables. 2023-01-10T19:54:47,566 | ~~~~~~~~~~ 2023-01-10T19:54:47,566 1196 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,566 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,566 1197 | { 2023-01-10T19:54:47,566 | ~ 2023-01-10T19:54:47,566 1198 | int item; 2023-01-10T19:54:47,566 | ~~~~~~~~~ 2023-01-10T19:54:47,566 1199 | char line[MAXLINE],name[MAXNAM+1],ctype; 2023-01-10T19:54:47,567 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,567 1200 | int iostat,type = 0; 2023-01-10T19:54:47,567 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,567 1201 | 2023-01-10T19:54:47,567 | 2023-01-10T19:54:47,567 1202 | haccess_c(uv->tno,&item,"vartable","read",&iostat); 2023-01-10T19:54:47,567 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,568 1203 | CHECK(iostat,(message,"Error opening vartable, in UVOPEN(vartable_in)")); 2023-01-10T19:54:47,568 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,568 1204 | 2023-01-10T19:54:47,568 | 2023-01-10T19:54:47,568 1205 | while(hreada_c(item,line,(int)sizeof(line),&iostat),!iostat){ 2023-01-10T19:54:47,568 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,568 1206 | Sscanf(line,"%c %s",&ctype,name); 2023-01-10T19:54:47,568 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,569 1207 | switch(ctype){ 2023-01-10T19:54:47,569 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,569 1208 | case 'a': type = H_BYTE; break; 2023-01-10T19:54:47,569 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,569 1209 | case 'j': type = H_INT2; break; 2023-01-10T19:54:47,569 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,569 1210 | case 'i': type = H_INT; break; 2023-01-10T19:54:47,569 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,569 1211 | case 'r': type = H_REAL; break; 2023-01-10T19:54:47,570 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,570 1212 | case 'd': type = H_DBLE; break; 2023-01-10T19:54:47,570 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,570 1213 | case 'c': type = H_CMPLX; break; 2023-01-10T19:54:47,570 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,570 1214 | default: ERROR('f',(message,"Bad type (%c) for variable %s",ctype,name)); 2023-01-10T19:54:47,570 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,570 1215 | } 2023-01-10T19:54:47,571 | ~ 2023-01-10T19:54:47,571 1216 | (void)uv_mkvar(uv->tno,name,type); 2023-01-10T19:54:47,571 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,571 1217 | } 2023-01-10T19:54:47,571 | ~ 2023-01-10T19:54:47,571 1218 | hdaccess_c(item,&iostat); 2023-01-10T19:54:47,571 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,571 1219 | uv->saved_nvar = uv->nvar; 2023-01-10T19:54:47,572 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,572 1220 | } 2023-01-10T19:54:47,572 | ~ 2023-01-10T19:54:47,572 1221 | /************************************************************************/ 2023-01-10T19:54:47,572 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,572 1222 | private VARIABLE *uv_mkvar(int tno,char *name,int type) 2023-01-10T19:54:47,572 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,572 1223 | /* 2023-01-10T19:54:47,572 | ~~ 2023-01-10T19:54:47,573 1224 | Add an entry for a new variable. 2023-01-10T19:54:47,573 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,573 1225 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:47,573 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,573 1226 | { 2023-01-10T19:54:47,573 | ~ 2023-01-10T19:54:47,573 1227 | UV *uv; 2023-01-10T19:54:47,573 | ~~~~~~~ 2023-01-10T19:54:47,574 1228 | VARIABLE *v; 2023-01-10T19:54:47,574 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,574 1229 | int n,hashval; 2023-01-10T19:54:47,574 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,574 1230 | 2023-01-10T19:54:47,574 | 2023-01-10T19:54:47,574 1231 | /* Check if the variable already exists. */ 2023-01-10T19:54:47,574 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,575 1232 | 2023-01-10T19:54:47,575 | 2023-01-10T19:54:47,575 1233 | v = uv_locvar(tno,name); 2023-01-10T19:54:47,575 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,575 1234 | if(v != NULL) return(v); 2023-01-10T19:54:47,575 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,575 1235 | 2023-01-10T19:54:47,575 | 2023-01-10T19:54:47,576 1236 | /* Check that the variable has a good name. */ 2023-01-10T19:54:47,576 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,576 1237 | if((int)strlen(name) > MAXNAM) 2023-01-10T19:54:47,576 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,576 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T19:54:47,576 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,576 aipy/_miriad/mir/uvio.c:1238:5: note: in expansion of macro ‘ERROR’ 2023-01-10T19:54:47,576 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T19:54:47,577 | ^~~~~ 2023-01-10T19:54:47,971 aipy/_miriad/mir/uvio.c: In function ‘uvopen_c’: 2023-01-10T19:54:47,971 aipy/_miriad/mir/uvio.c:1183:21: warning: ‘%s’ directive writing up to 127 bytes into a region of size 103 [-Wformat-overflow=] 2023-01-10T19:54:47,971 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T19:54:47,971 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ 2023-01-10T19:54:47,971 aipy/_miriad/mir/uvio.c:329:47: note: in definition of macro ‘ERROR’ 2023-01-10T19:54:47,972 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T19:54:47,972 | ^ 2023-01-10T19:54:47,972 aipy/_miriad/mir/uvio.c:1183:47: note: format string is defined here 2023-01-10T19:54:47,972 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T19:54:47,972 | ^~ 2023-01-10T19:54:47,975 aipy/_miriad/mir/uvio.c:329:39: note: ‘sprintf’ output between 37 and 164 bytes into a destination of size 128 2023-01-10T19:54:47,976 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T19:54:47,976 | ^~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,976 330 | #define CHECK(x,a) if(x) { bug_c('w',((void)sprintf a,message)); \ 2023-01-10T19:54:47,976 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,976 331 | bugno_c('f',x); \ 2023-01-10T19:54:47,976 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,976 332 | } 2023-01-10T19:54:47,976 | ~ 2023-01-10T19:54:47,976 333 | 2023-01-10T19:54:47,977 | 2023-01-10T19:54:47,977 334 | #define uvputvra_c(tno,name,value) \ 2023-01-10T19:54:47,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,977 335 | uvputvr_c(tno,H_BYTE,name,value,strlen(value)) 2023-01-10T19:54:47,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,977 336 | #define uvputvrj_c(tno,name,value,n) \ 2023-01-10T19:54:47,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,977 337 | uvputvr_c(tno,H_INT2,name,(char *)(value),n) 2023-01-10T19:54:47,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,978 338 | #define uvputvri_c(tno,name,value,n) \ 2023-01-10T19:54:47,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,978 339 | uvputvr_c(tno,H_INT,name,(char *)(value),n) 2023-01-10T19:54:47,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,978 340 | #define uvputvrr_c(tno,name,value,n) \ 2023-01-10T19:54:47,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,978 341 | uvputvr_c(tno,H_REAL,name,(char *)(value),n) 2023-01-10T19:54:47,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,978 342 | #define uvputvrd_c(tno,name,value,n) \ 2023-01-10T19:54:47,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,979 343 | uvputvr_c(tno,H_DBLE,name,(char *)(value),n) 2023-01-10T19:54:47,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,979 344 | #define uvputvrc_c(tno,name,value,n) \ 2023-01-10T19:54:47,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,979 345 | uvputvr_c(tno,H_CMPLX,name,(char *)(value),n) 2023-01-10T19:54:47,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,979 346 | 2023-01-10T19:54:47,979 | 2023-01-10T19:54:47,979 347 | #define VARLEN(var) ( (var)->length / external_size[(var)->type] ) 2023-01-10T19:54:47,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,980 348 | #define VARTYPE(var) ( type_flag[(var)->type] ) 2023-01-10T19:54:47,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,980 349 | 2023-01-10T19:54:47,980 | 2023-01-10T19:54:47,980 350 | #define NUMCHAN(var) ((var)->type == H_INT2 || (var)->type == H_REAL ? \ 2023-01-10T19:54:47,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,980 351 | (var)->length / (2*external_size[(var)->type]) : \ 2023-01-10T19:54:47,981 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,981 352 | (var)->length / external_size[(var)->type] ) 2023-01-10T19:54:47,981 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,981 353 | 2023-01-10T19:54:47,981 | 2023-01-10T19:54:47,981 354 | #define MYABS(x) ( (x) > 0 ? (x) : -(x) ) 2023-01-10T19:54:47,981 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,981 355 | 2023-01-10T19:54:47,981 | 2023-01-10T19:54:47,981 356 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,982 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,982 357 | /* */ 2023-01-10T19:54:47,982 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,982 358 | /* Types and static variables. */ 2023-01-10T19:54:47,982 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,982 359 | /* */ 2023-01-10T19:54:47,982 | ~~~~~~~~~~~~~ 2023-01-10T19:54:47,982 360 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:47,982 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,983 361 | 2023-01-10T19:54:47,983 | 2023-01-10T19:54:47,983 362 | static char message[MAXLINE]; 2023-01-10T19:54:47,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,983 363 | static int internal_size[10]; 2023-01-10T19:54:47,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,983 364 | static int external_size[10]; 2023-01-10T19:54:47,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,983 365 | static char type_flag[10]; 2023-01-10T19:54:47,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,984 366 | 2023-01-10T19:54:47,984 | 2023-01-10T19:54:47,984 367 | static char var_data_hdr[UV_HDR_SIZE]={0,0,VAR_DATA,0}; 2023-01-10T19:54:47,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,984 368 | static char var_size_hdr[UV_HDR_SIZE]={0,0,VAR_SIZE,0}; 2023-01-10T19:54:47,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,984 369 | static char var_eor_hdr[UV_HDR_SIZE]={0,0,VAR_EOR,0}; 2023-01-10T19:54:47,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,984 370 | 2023-01-10T19:54:47,985 | 2023-01-10T19:54:47,985 371 | 2023-01-10T19:54:47,985 | 2023-01-10T19:54:47,985 372 | typedef struct variable{ 2023-01-10T19:54:47,985 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,985 373 | char *buf,name[MAXNAM+1]; 2023-01-10T19:54:47,985 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,985 374 | int length,flength,flags,type,index,callno; 2023-01-10T19:54:47,985 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,986 375 | struct variable *fwd; 2023-01-10T19:54:47,986 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,986 376 | } VARIABLE; 2023-01-10T19:54:47,986 | ~~~~~~~~~~~ 2023-01-10T19:54:47,986 377 | 2023-01-10T19:54:47,986 | 2023-01-10T19:54:47,986 378 | typedef struct varpnt{ 2023-01-10T19:54:47,986 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,986 379 | VARIABLE *v; 2023-01-10T19:54:47,986 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,987 380 | struct varpnt *fwd; 2023-01-10T19:54:47,987 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,987 381 | } VARPNT; 2023-01-10T19:54:47,987 | ~~~~~~~~~ 2023-01-10T19:54:47,987 382 | 2023-01-10T19:54:47,987 | 2023-01-10T19:54:47,987 383 | typedef struct varhand{ 2023-01-10T19:54:47,987 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,987 384 | int tno,callno,index; 2023-01-10T19:54:47,988 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,988 385 | struct varhand *fwd; 2023-01-10T19:54:47,988 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,988 386 | VARPNT *varhd; 2023-01-10T19:54:47,988 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:47,988 387 | } VARHAND; 2023-01-10T19:54:47,988 | ~~~~~~~~~~ 2023-01-10T19:54:47,988 388 | 2023-01-10T19:54:47,988 | 2023-01-10T19:54:47,988 389 | #define LINE_NONE 0 2023-01-10T19:54:47,989 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,989 390 | #define LINE_CHANNEL 1 2023-01-10T19:54:47,989 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,989 391 | #define LINE_WIDE 2 2023-01-10T19:54:47,989 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,989 392 | #define LINE_VELOCITY 3 2023-01-10T19:54:47,989 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,989 393 | #define LINE_FELOCITY 4 2023-01-10T19:54:47,989 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,990 394 | 2023-01-10T19:54:47,990 | 2023-01-10T19:54:47,990 395 | #include "maxdimc.h" 2023-01-10T19:54:47,990 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,990 396 | 2023-01-10T19:54:47,990 | 2023-01-10T19:54:47,990 397 | #define SEL_VIS 1 2023-01-10T19:54:47,990 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,990 398 | #define SEL_TIME 2 2023-01-10T19:54:47,991 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,991 399 | #define SEL_UVN 3 2023-01-10T19:54:47,991 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,991 400 | #define SEL_POINT 4 2023-01-10T19:54:47,991 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,991 401 | #define SEL_DRA 5 2023-01-10T19:54:47,991 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,991 402 | #define SEL_DDEC 6 2023-01-10T19:54:47,991 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,991 403 | #define SEL_INC 7 2023-01-10T19:54:47,992 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,992 404 | #define SEL_RA 8 2023-01-10T19:54:47,992 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,992 405 | #define SEL_DEC 9 2023-01-10T19:54:47,992 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,992 406 | #define SEL_POL 10 2023-01-10T19:54:47,992 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,992 407 | #define SEL_ON 11 2023-01-10T19:54:47,992 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,993 408 | #define SEL_SRC 12 2023-01-10T19:54:47,993 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,993 409 | #define SEL_UV 13 2023-01-10T19:54:47,993 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,993 410 | #define SEL_FREQ 14 2023-01-10T19:54:47,993 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,993 411 | #define SEL_SHADOW 15 2023-01-10T19:54:47,993 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,993 412 | #define SEL_BIN 16 2023-01-10T19:54:47,994 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,994 413 | #define SEL_HA 17 2023-01-10T19:54:47,994 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,994 414 | #define SEL_LST 18 2023-01-10T19:54:47,994 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,994 415 | #define SEL_ELEV 19 2023-01-10T19:54:47,994 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,994 416 | #define SEL_DAZIM 20 2023-01-10T19:54:47,994 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,994 417 | #define SEL_DELEV 21 2023-01-10T19:54:47,995 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,995 418 | 2023-01-10T19:54:47,995 | 2023-01-10T19:54:47,995 419 | typedef struct { 2023-01-10T19:54:47,995 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,995 420 | int type,discard; 2023-01-10T19:54:47,995 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,995 421 | double loval,hival; 2023-01-10T19:54:47,995 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,996 422 | char *stval; 2023-01-10T19:54:47,996 | ~~~~~~~~~~~~ 2023-01-10T19:54:47,996 423 | } OPERS; 2023-01-10T19:54:47,996 | ~~~~~~~~ 2023-01-10T19:54:47,996 424 | 2023-01-10T19:54:47,996 | 2023-01-10T19:54:47,996 425 | typedef struct { 2023-01-10T19:54:47,996 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,997 426 | int discard,select; 2023-01-10T19:54:47,997 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,997 427 | float loval,hival; 2023-01-10T19:54:47,997 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,997 428 | } AMP; 2023-01-10T19:54:47,997 | ~~~~~~ 2023-01-10T19:54:47,997 429 | 2023-01-10T19:54:47,997 | 2023-01-10T19:54:47,998 430 | typedef struct { 2023-01-10T19:54:47,998 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,998 431 | int wins[MAXWIN]; 2023-01-10T19:54:47,998 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,998 432 | int first,last,n,select; 2023-01-10T19:54:47,998 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,998 433 | } WINDOW; 2023-01-10T19:54:47,998 | ~~~~~~~~~ 2023-01-10T19:54:47,999 434 | 2023-01-10T19:54:47,999 | 2023-01-10T19:54:47,999 435 | typedef struct { double *table; 2023-01-10T19:54:47,999 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,999 436 | int vhan,nants,missing; 2023-01-10T19:54:47,999 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:47,999 437 | } SIGMA2; 2023-01-10T19:54:47,999 | ~~~~~~~~~ 2023-01-10T19:54:47,999 438 | 2023-01-10T19:54:48,000 | 2023-01-10T19:54:48,000 439 | typedef struct select { 2023-01-10T19:54:48,000 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,000 440 | int ants[MAXANT*(MAXANT+1)/2]; 2023-01-10T19:54:48,000 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,000 441 | int selants; 2023-01-10T19:54:48,000 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,000 442 | int maxoper,noper,and; 2023-01-10T19:54:48,001 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,001 443 | WINDOW win; 2023-01-10T19:54:48,001 | ~~~~~~~~~~~ 2023-01-10T19:54:48,001 444 | AMP amp; 2023-01-10T19:54:48,001 | ~~~~~~~~ 2023-01-10T19:54:48,001 445 | OPERS *opers; 2023-01-10T19:54:48,001 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,001 446 | struct select *fwd; 2023-01-10T19:54:48,002 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,002 447 | } SELECT; 2023-01-10T19:54:48,002 | ~~~~~~~~~ 2023-01-10T19:54:48,002 448 | 2023-01-10T19:54:48,002 | 2023-01-10T19:54:48,002 449 | typedef struct { 2023-01-10T19:54:48,002 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,002 450 | int nants; 2023-01-10T19:54:48,002 | ~~~~~~~~~~ 2023-01-10T19:54:48,003 451 | double uu[MAXANT],vv[MAXANT],ww[MAXANT]; 2023-01-10T19:54:48,003 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,003 452 | } UVW; 2023-01-10T19:54:48,003 | ~~~~~~ 2023-01-10T19:54:48,003 453 | 2023-01-10T19:54:48,003 | 2023-01-10T19:54:48,003 454 | typedef struct { 2023-01-10T19:54:48,003 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,004 455 | int linetype; 2023-01-10T19:54:48,004 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,004 456 | int start,width,step,n; 2023-01-10T19:54:48,004 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,004 457 | float fstart,fwidth,fstep,*wts; 2023-01-10T19:54:48,004 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,004 458 | } LINE_INFO; 2023-01-10T19:54:48,004 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,004 459 | 2023-01-10T19:54:48,005 | 2023-01-10T19:54:48,005 460 | typedef struct { 2023-01-10T19:54:48,005 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,005 461 | char *handle; 2023-01-10T19:54:48,005 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,005 462 | int nflags,*flags,exists,init; 2023-01-10T19:54:48,005 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,006 463 | off64_t offset; 2023-01-10T19:54:48,006 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,006 464 | } FLAGS; 2023-01-10T19:54:48,006 | ~~~~~~~~ 2023-01-10T19:54:48,006 465 | 2023-01-10T19:54:48,006 | 2023-01-10T19:54:48,006 466 | typedef struct { 2023-01-10T19:54:48,006 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,007 467 | int item; 2023-01-10T19:54:48,007 | ~~~~~~~~~ 2023-01-10T19:54:48,007 468 | int nvar,saved_nvar,tno,flags,callno,maxvis,mark; 2023-01-10T19:54:48,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,007 469 | off64_t offset, max_offset; 2023-01-10T19:54:48,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,007 470 | int presize,gflag; 2023-01-10T19:54:48,007 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,008 471 | FLAGS corr_flags,wcorr_flags; 2023-01-10T19:54:48,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,008 472 | VARIABLE *coord,*corr,*time,*bl,*tscale,*nschan,*axisrms; 2023-01-10T19:54:48,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,008 473 | VARIABLE *sfreq,*sdf,*restfreq,*wcorr,*wfreq,*veldop,*vsource; 2023-01-10T19:54:48,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,008 474 | VARIABLE *plmaj,*plmin,*plangle,*dra,*ddec,*ra,*dec,*pol,*on; 2023-01-10T19:54:48,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,009 475 | VARIABLE *dazim, *delev; 2023-01-10T19:54:48,009 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,009 476 | VARIABLE *obsra,*obsdec,*lst,*elev,*antpos,*antdiam,*source,*bin; 2023-01-10T19:54:48,009 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,009 477 | VARIABLE *vhash[HASHSIZE],*prevar[MAXPRE]; 2023-01-10T19:54:48,009 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,009 478 | VARIABLE variable[MAXVAR]; 2023-01-10T19:54:48,010 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,010 479 | LINE_INFO data_line,ref_line,actual_line; 2023-01-10T19:54:48,010 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,010 480 | int need_skyfreq,need_point,need_planet,need_dra,need_ddec, 2023-01-10T19:54:48,010 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,010 481 | need_dazim, need_delev, 2023-01-10T19:54:48,010 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,010 482 | need_ra,need_dec,need_pol,need_on,need_obsra,need_uvw,need_src, 2023-01-10T19:54:48,011 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,011 483 | need_win,need_bin,need_lst,need_elev; 2023-01-10T19:54:48,011 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,011 484 | float ref_plmaj,ref_plmin,ref_plangle,plscale,pluu,pluv,plvu,plvv; 2023-01-10T19:54:48,011 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,011 485 | double skyfreq; 2023-01-10T19:54:48,011 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,011 486 | int skyfreq_start; 2023-01-10T19:54:48,011 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,012 487 | VARHAND *vhans; 2023-01-10T19:54:48,012 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,012 488 | SELECT *select; 2023-01-10T19:54:48,012 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,012 489 | int apply_amp,apply_win; 2023-01-10T19:54:48,012 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,012 490 | AMP *amp; 2023-01-10T19:54:48,012 | ~~~~~~~~~ 2023-01-10T19:54:48,013 491 | SIGMA2 sigma2; 2023-01-10T19:54:48,013 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,013 492 | UVW *uvw; 2023-01-10T19:54:48,013 | ~~~~~~~~~ 2023-01-10T19:54:48,013 493 | WINDOW *win; 2023-01-10T19:54:48,013 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,013 494 | } UV; 2023-01-10T19:54:48,013 | ~~~~~ 2023-01-10T19:54:48,013 495 | 2023-01-10T19:54:48,014 | 2023-01-10T19:54:48,014 496 | #define MAXVHANDS 128 2023-01-10T19:54:48,014 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,014 497 | 2023-01-10T19:54:48,014 | 2023-01-10T19:54:48,014 498 | static UV *uvs[MAXOPEN]; 2023-01-10T19:54:48,014 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,014 499 | static VARHAND *varhands[MAXVHANDS]; 2023-01-10T19:54:48,014 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,015 500 | static WINDOW truewin; 2023-01-10T19:54:48,015 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,015 501 | static AMP noamp; 2023-01-10T19:54:48,015 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,015 502 | static int first=TRUE; 2023-01-10T19:54:48,015 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,015 503 | 2023-01-10T19:54:48,015 | 2023-01-10T19:54:48,016 504 | /* void uvputvr_c(); */ 2023-01-10T19:54:48,016 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,016 505 | private void uvinfo_chan(UV *uv,double *data,int mode); 2023-01-10T19:54:48,016 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,016 506 | private void uvinfo_variance(UV *uv,double *data); 2023-01-10T19:54:48,016 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,016 507 | private void uvbasant_c(int baseline,int *i1,int *i2); 2023-01-10T19:54:48,016 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,016 508 | private void uv_init(void); 2023-01-10T19:54:48,017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,017 509 | private void uv_freeuv(UV *uv); 2023-01-10T19:54:48,017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,017 510 | private void uv_free_select(SELECT *sel); 2023-01-10T19:54:48,017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,017 511 | private void uvread_defline(int tno); 2023-01-10T19:54:48,017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,018 512 | private void uvread_init(int tno); 2023-01-10T19:54:48,018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,018 513 | private void uvread_velocity(UV *uv,LINE_INFO *line,float *data, int *flags,int nsize,LINE_INFO *actual); 2023-01-10T19:54:48,018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,018 514 | private void uvread_flags(UV *uv,VARIABLE *v,FLAGS *flag_info,int nchan); 2023-01-10T19:54:48,018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,018 515 | private void uvread_defvelline(UV* uv,LINE_INFO *line,WINDOW *win); 2023-01-10T19:54:48,018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,018 516 | private void uvread_updated_planet(UV *uv); 2023-01-10T19:54:48,019 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,019 517 | private void uvread_reference(UV *uv, float *data, int *flags,int n); 2023-01-10T19:54:48,019 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,019 518 | private void uvread_updated_uvw(UV *uv); 2023-01-10T19:54:48,019 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,019 519 | private void uvread_preamble(UV *uv, double *preamble); 2023-01-10T19:54:48,019 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,019 520 | private void uv_vartable_out(UV *uv); 2023-01-10T19:54:48,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,020 521 | private void uv_vartable_in(UV *uv); 2023-01-10T19:54:48,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,020 522 | private void uvset_coord(UV *uv, const char *type); 2023-01-10T19:54:48,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,020 523 | private void uvset_linetype(LINE_INFO *line, const char *type, int n, double start,double width,double step); 2023-01-10T19:54:48,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,020 524 | private void uvset_planet(UV *uv, double p1,double p2,double p3); 2023-01-10T19:54:48,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,021 525 | private void uvset_selection(UV *uv, const char *type, int n); 2023-01-10T19:54:48,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,021 526 | private void uvset_preamble(UV *uv, const char *type); 2023-01-10T19:54:48,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,021 527 | private void uv_addopers(SELECT *sel,int type,int discard,double p1,double p2,const char *ps); 2023-01-10T19:54:48,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,021 528 | private void uv_override(UV *uv); 2023-01-10T19:54:48,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,022 529 | private UV *uv_getuv(int tno); 2023-01-10T19:54:48,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,022 530 | private VARIABLE *uv_mkvar(int tno,char *name,int type); 2023-01-10T19:54:48,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,022 531 | private VARIABLE *uv_locvar(int tno,char *name); 2023-01-10T19:54:48,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,022 532 | private VARIABLE *uv_checkvar(int tno,char *varname,int type); 2023-01-10T19:54:48,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,022 533 | private int uv_scan(UV *uv, VARIABLE *vt); 2023-01-10T19:54:48,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,023 534 | private int uvread_line(UV *uv,LINE_INFO *line,float *data, int nsize,int *flags,LINE_INFO *actual); 2023-01-10T19:54:48,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,023 535 | private int uvread_select(UV *uv); 2023-01-10T19:54:48,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,023 536 | private int uvread_maxvis(SELECT *sel); 2023-01-10T19:54:48,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,023 537 | private int uvread_shadowed(UV *uv,double diameter); 2023-01-10T19:54:48,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,024 538 | private int uvread_match(char *s1,char *s2, int length); 2023-01-10T19:54:48,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,024 539 | private double uv_getskyfreq(UV *uv,WINDOW *win); 2023-01-10T19:54:48,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,024 540 | 2023-01-10T19:54:48,024 | 2023-01-10T19:54:48,024 541 | /************************************************************************/ 2023-01-10T19:54:48,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,025 542 | #ifdef TESTBED 2023-01-10T19:54:48,025 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,025 543 | static char *M[] = { 2023-01-10T19:54:48,025 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,025 544 | "JAN", "FEB", "MAR", "APR", "MAY", "JUN", 2023-01-10T19:54:48,025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,025 545 | "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" 2023-01-10T19:54:48,025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,026 546 | }; 2023-01-10T19:54:48,026 | ~~ 2023-01-10T19:54:48,026 547 | 2023-01-10T19:54:48,026 | 2023-01-10T19:54:48,026 548 | static int checklist = 0; 2023-01-10T19:54:48,026 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,026 549 | 2023-01-10T19:54:48,026 | 2023-01-10T19:54:48,027 550 | /* The following compiles a main program to give exercise to some of the 2023-01-10T19:54:48,027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,027 551 | * uvio routines. It is essentially a debugging device (both for bad 2023-01-10T19:54:48,027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,027 552 | * files and bad behaviour of uvio!). 2023-01-10T19:54:48,027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,027 553 | * 2023-01-10T19:54:48,027 | ~ 2023-01-10T19:54:48,027 554 | * Call several uvio.c poutines, some of which are the secret ones, 2023-01-10T19:54:48,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,028 555 | * to get a 'human' readable listing of a miriad visibility data set ` 2023-01-10T19:54:48,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,028 556 | * Because it needs some of these 'static' routines, the source code 2023-01-10T19:54:48,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,028 557 | * of uvio.c needs to be included here directly, as opposed to linking 2023-01-10T19:54:48,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,028 558 | * it with the library ($MIRLIB/libmir.a in Unix) 2023-01-10T19:54:48,029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,029 559 | * 2023-01-10T19:54:48,029 | ~ 2023-01-10T19:54:48,029 560 | * Note: This program does not have the normal miriad user interface 2023-01-10T19:54:48,029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,029 561 | * 2023-01-10T19:54:48,029 | ~ 2023-01-10T19:54:48,029 562 | */ 2023-01-10T19:54:48,030 | ~~ 2023-01-10T19:54:48,030 563 | main(int ac,char *av[]) 2023-01-10T19:54:48,030 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,030 564 | { 2023-01-10T19:54:48,030 | ~ 2023-01-10T19:54:48,030 565 | int i,tno; 2023-01-10T19:54:48,030 | ~~~~~~~~~~ 2023-01-10T19:54:48,030 566 | char *fn; 2023-01-10T19:54:48,031 | ~~~~~~~~~ 2023-01-10T19:54:48,031 567 | 2023-01-10T19:54:48,031 | 2023-01-10T19:54:48,031 568 | printf("%s Version %s\n",av[0],VERSION_ID); 2023-01-10T19:54:48,031 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,031 569 | if (ac!=2) { 2023-01-10T19:54:48,031 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,031 570 | printf("Usage: %s [vis=]vis-dataset\n",av[0]); 2023-01-10T19:54:48,032 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,032 571 | printf("Expert listing of a miriad UV dataset\n"); 2023-01-10T19:54:48,032 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,032 572 | #ifdef MIR4 2023-01-10T19:54:48,032 | ~~~~~~~~~~~ 2023-01-10T19:54:48,032 573 | printf("MIR4 mode\n"); 2023-01-10T19:54:48,032 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,032 574 | #else 2023-01-10T19:54:48,033 | ~~~~~ 2023-01-10T19:54:48,033 575 | printf("MIR3 mode **probably will not work in MIR4**\n"); 2023-01-10T19:54:48,033 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,033 576 | #endif 2023-01-10T19:54:48,033 | ~~~~~~ 2023-01-10T19:54:48,033 577 | 2023-01-10T19:54:48,033 | 2023-01-10T19:54:48,033 578 | exit(0); 2023-01-10T19:54:48,034 | ~~~~~~~~ 2023-01-10T19:54:48,034 579 | } 2023-01-10T19:54:48,034 | ~ 2023-01-10T19:54:48,034 580 | 2023-01-10T19:54:48,034 | 2023-01-10T19:54:48,034 581 | for (i=1; i 4) { /* see if vis= was used */ 2023-01-10T19:54:48,035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,035 584 | if (strncmp(fn,"vis=",4)==0) 2023-01-10T19:54:48,035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,035 585 | fn += 4; /* if so, increase pointer */ 2023-01-10T19:54:48,035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,035 586 | } 2023-01-10T19:54:48,035 | ~ 2023-01-10T19:54:48,036 587 | uvopen_c(&tno,fn,"old"); 2023-01-10T19:54:48,036 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,036 588 | } 2023-01-10T19:54:48,036 | ~ 2023-01-10T19:54:48,036 589 | my_uvlist(tno,fn); 2023-01-10T19:54:48,036 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,036 590 | uvclose_c(tno); 2023-01-10T19:54:48,036 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,036 591 | } 2023-01-10T19:54:48,037 | ~ 2023-01-10T19:54:48,037 592 | 2023-01-10T19:54:48,037 | 2023-01-10T19:54:48,037 593 | 2023-01-10T19:54:48,037 | 2023-01-10T19:54:48,037 594 | my_uvlist(int tno,char *fname) 2023-01-10T19:54:48,037 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,037 595 | { 2023-01-10T19:54:48,038 | ~ 2023-01-10T19:54:48,038 596 | double *dp; 2023-01-10T19:54:48,038 | ~~~~~~~~~~~ 2023-01-10T19:54:48,038 597 | float *fp; 2023-01-10T19:54:48,038 | ~~~~~~~~~~ 2023-01-10T19:54:48,038 598 | short *sp; 2023-01-10T19:54:48,038 | ~~~~~~~~~~ 2023-01-10T19:54:48,039 599 | int iostat, intsize, extsize, i, *ip, eor_count=0; 2023-01-10T19:54:48,039 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,039 600 | off64_t offset; 2023-01-10T19:54:48,039 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,039 601 | VARIABLE *v; 2023-01-10T19:54:48,039 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,039 602 | UV *uv; 2023-01-10T19:54:48,039 | ~~~~~~~ 2023-01-10T19:54:48,039 603 | char s[UV_HDR_SIZE], *b, buffer[128]; 2023-01-10T19:54:48,040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,040 604 | 2023-01-10T19:54:48,040 | 2023-01-10T19:54:48,040 605 | 2023-01-10T19:54:48,040 | 2023-01-10T19:54:48,040 606 | uv = uvs[tno]; /* get pointer to UV structure */ 2023-01-10T19:54:48,040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,041 607 | 2023-01-10T19:54:48,041 | 2023-01-10T19:54:48,041 608 | offset = uv->offset; /* should be 0 at start */ 2023-01-10T19:54:48,041 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,041 609 | printf("0x%8x FILE: %s\n",offset,fname); 2023-01-10T19:54:48,041 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,041 610 | while(offset < uv->max_offset) { 2023-01-10T19:54:48,041 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,042 611 | printf("0x%8x ",offset); 2023-01-10T19:54:48,042 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,042 612 | hreadb_c(uv->item,s,offset,UV_HDR_SIZE,&iostat); /* get header */ 2023-01-10T19:54:48,042 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,042 613 | if (iostat == -1) return(iostat); /* End Of File */ 2023-01-10T19:54:48,042 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,042 614 | 2023-01-10T19:54:48,043 | 2023-01-10T19:54:48,043 615 | if(*(s+2) != VAR_EOR) { 2023-01-10T19:54:48,043 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,043 616 | v = &uv->variable[*s]; /* get name of var */ 2023-01-10T19:54:48,043 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,043 617 | intsize = internal_size[v->type]; 2023-01-10T19:54:48,043 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,043 618 | extsize = external_size[v->type]; 2023-01-10T19:54:48,044 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,044 619 | } 2023-01-10T19:54:48,044 | ~ 2023-01-10T19:54:48,044 620 | 2023-01-10T19:54:48,044 | 2023-01-10T19:54:48,044 621 | switch(*(s+2)) { 2023-01-10T19:54:48,044 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,044 622 | case VAR_SIZE: 2023-01-10T19:54:48,045 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,045 623 | hreadi_c(uv->item,&v->length,offset+UV_HDR_SIZE,H_INT_SIZE, 2023-01-10T19:54:48,045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,045 624 | &iostat); 2023-01-10T19:54:48,045 | ~~~~~~~~~ 2023-01-10T19:54:48,045 625 | printf("SIZE: %-9s Count=%d,Type=%c\n",v->name,VARLEN(v),VARTYPE(v)); 2023-01-10T19:54:48,045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,045 626 | v->buf = Realloc(v->buf, (v->length*intsize)/extsize); 2023-01-10T19:54:48,045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,046 627 | offset += UV_ALIGN; 2023-01-10T19:54:48,046 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,046 628 | break; 2023-01-10T19:54:48,046 | ~~~~~~ 2023-01-10T19:54:48,046 629 | case VAR_DATA: 2023-01-10T19:54:48,046 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,046 630 | offset += mroundup(UV_HDR_SIZE,extsize); 2023-01-10T19:54:48,046 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,046 631 | hread_c(uv->item,v->type,v->buf,offset,v->length, 2023-01-10T19:54:48,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,047 632 | &iostat); 2023-01-10T19:54:48,047 | ~~~~~~~~~ 2023-01-10T19:54:48,047 633 | printf("DATA: %-9s",v->name); 2023-01-10T19:54:48,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,047 634 | if (strcmp(v->name,"time") == 0) { 2023-01-10T19:54:48,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,047 635 | int z,a,b,c,d,e,alpha,month,year,day,hr,minute,sec; 2023-01-10T19:54:48,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,048 636 | int dsec,nchar; 2023-01-10T19:54:48,048 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,048 637 | char string[100]; 2023-01-10T19:54:48,048 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,048 638 | double f; 2023-01-10T19:54:48,048 | ~~~~~~~~~ 2023-01-10T19:54:48,048 639 | 2023-01-10T19:54:48,048 | 2023-01-10T19:54:48,049 640 | dp = (double *) v->buf; 2023-01-10T19:54:48,049 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,049 641 | z = *dp + 0.5 + (1.0/1728000.0); 2023-01-10T19:54:48,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,049 642 | f = *dp + 0.5 + (1.0/1728000.0) - z; 2023-01-10T19:54:48,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,049 643 | if (z<2299161){a=z;}else{ 2023-01-10T19:54:48,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,050 644 | alpha = ((z - 1867216.25) / 36524.25); 2023-01-10T19:54:48,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,050 645 | a = z + 1 + alpha - (int)(0.25 * alpha); 2023-01-10T19:54:48,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,050 646 | } 2023-01-10T19:54:48,050 | ~ 2023-01-10T19:54:48,050 647 | b = a + 1524; c = (b - 122.1) / 365.25; 2023-01-10T19:54:48,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,050 648 | d = 365.25 * c; e = (b - d) / 30.6001; 2023-01-10T19:54:48,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,051 649 | f += (b - d - (int)(30.6001 * e)); 2023-01-10T19:54:48,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,051 650 | day = f; hr = 24 * (f - day); 2023-01-10T19:54:48,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,051 651 | minute = 60 * (24 * (f - day) - hr); 2023-01-10T19:54:48,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,052 652 | sec = 600 * (60 * (24 * (f - day) - hr) - minute); 2023-01-10T19:54:48,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,052 653 | dsec = sec % 10; sec /= 10; 2023-01-10T19:54:48,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,052 654 | month = (e<=13) ? e - 1 : e - 13; 2023-01-10T19:54:48,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,052 655 | year = (month>2) ? c - 4716 : c - 4715; 2023-01-10T19:54:48,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,052 656 | year %= 100; 2023-01-10T19:54:48,053 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,053 657 | printf(" %20.10lg ",*dp); 2023-01-10T19:54:48,053 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,053 658 | printf(" %2.2d%s%2.2d:%2.2d:%2.2d:%2.2d.%1d\n", 2023-01-10T19:54:48,053 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,053 659 | year,M[month-1],day,hr,minute,sec,dsec); 2023-01-10T19:54:48,053 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,053 660 | }else 2023-01-10T19:54:48,054 | ~~~~~ 2023-01-10T19:54:48,054 661 | switch (v->type) { 2023-01-10T19:54:48,054 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,054 662 | case H_BYTE: 2023-01-10T19:54:48,054 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,054 663 | strncpy(buffer,v->buf,v->length); 2023-01-10T19:54:48,054 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,054 664 | buffer[v->length] = 0; 2023-01-10T19:54:48,055 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,055 665 | printf(" %-8s\n",buffer); 2023-01-10T19:54:48,055 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,055 666 | break; 2023-01-10T19:54:48,055 | ~~~~~~ 2023-01-10T19:54:48,055 667 | case H_INT2: 2023-01-10T19:54:48,055 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,055 668 | sp = (short *) v->buf; 2023-01-10T19:54:48,056 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,056 669 | printf(" %d\n",*sp); 2023-01-10T19:54:48,056 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,056 670 | break; 2023-01-10T19:54:48,056 | ~~~~~~ 2023-01-10T19:54:48,056 671 | case H_INT: 2023-01-10T19:54:48,056 | ~~~~~~~~~~~ 2023-01-10T19:54:48,056 672 | ip = (int *) v->buf; 2023-01-10T19:54:48,056 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,057 673 | printf(" %d\n",*ip); 2023-01-10T19:54:48,057 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,057 674 | break; 2023-01-10T19:54:48,057 | ~~~~~~ 2023-01-10T19:54:48,057 675 | case H_REAL: 2023-01-10T19:54:48,057 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,057 676 | fp = (float *) v->buf; 2023-01-10T19:54:48,057 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,058 677 | printf(" %20.10g\n",*fp); 2023-01-10T19:54:48,058 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,058 678 | break; 2023-01-10T19:54:48,058 | ~~~~~~ 2023-01-10T19:54:48,058 679 | case H_DBLE: 2023-01-10T19:54:48,058 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,058 680 | dp = (double *) v->buf; 2023-01-10T19:54:48,059 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,059 681 | printf(" %20.10lg\n",*dp); 2023-01-10T19:54:48,059 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,059 682 | break; 2023-01-10T19:54:48,059 | ~~~~~~ 2023-01-10T19:54:48,059 683 | case H_CMPLX: 2023-01-10T19:54:48,059 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,060 684 | fp = (float *) v->buf; 2023-01-10T19:54:48,060 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,060 685 | printf(" %20.10g %20.10g\n",fp[0], fp[1]); 2023-01-10T19:54:48,060 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,060 686 | break; 2023-01-10T19:54:48,060 | ~~~~~~ 2023-01-10T19:54:48,060 687 | default: 2023-01-10T19:54:48,060 | ~~~~~~~~ 2023-01-10T19:54:48,061 688 | printf(" (Invalid data type %d)\n",v->type); 2023-01-10T19:54:48,061 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,061 689 | break; 2023-01-10T19:54:48,061 | ~~~~~~ 2023-01-10T19:54:48,061 690 | } 2023-01-10T19:54:48,061 | ~ 2023-01-10T19:54:48,061 691 | offset = mroundup(offset+v->length,UV_ALIGN); 2023-01-10T19:54:48,061 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,062 692 | break; 2023-01-10T19:54:48,062 | ~~~~~~ 2023-01-10T19:54:48,062 693 | case VAR_EOR: 2023-01-10T19:54:48,062 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,062 694 | printf("========== EOR (%d) ========\n",++eor_count); 2023-01-10T19:54:48,062 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,062 695 | offset += UV_ALIGN; 2023-01-10T19:54:48,062 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,063 696 | break; 2023-01-10T19:54:48,063 | ~~~~~~ 2023-01-10T19:54:48,063 697 | default: 2023-01-10T19:54:48,063 | ~~~~~~~~ 2023-01-10T19:54:48,063 698 | printf("No valid record code %d",*(s+2)); 2023-01-10T19:54:48,063 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,063 699 | exit(0); 2023-01-10T19:54:48,063 | ~~~~~~~~ 2023-01-10T19:54:48,063 700 | } /* switch */ 2023-01-10T19:54:48,064 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,064 701 | uv->offset = offset; 2023-01-10T19:54:48,064 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,064 702 | } /* for(;;) */ 2023-01-10T19:54:48,064 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,064 703 | } 2023-01-10T19:54:48,064 | ~ 2023-01-10T19:54:48,064 704 | #endif 2023-01-10T19:54:48,064 | ~~~~~~ 2023-01-10T19:54:48,065 705 | /************************************************************************/ 2023-01-10T19:54:48,065 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,065 706 | void uvopen_c(int *tno,Const char *name,Const char *status) 2023-01-10T19:54:48,065 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,065 707 | /**UvOpen -- Open a uv data file. */ 2023-01-10T19:54:48,065 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,065 708 | /*&rjs */ 2023-01-10T19:54:48,065 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,065 709 | /*:uv-i/o */ 2023-01-10T19:54:48,066 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,066 710 | /*+ FORTRAN call sequence: 2023-01-10T19:54:48,066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,066 711 | 2023-01-10T19:54:48,066 | 2023-01-10T19:54:48,066 712 | subroutine uvopen(tno,name,status) 2023-01-10T19:54:48,066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,066 713 | integer tno 2023-01-10T19:54:48,067 | ~~~~~~~~~~~ 2023-01-10T19:54:48,067 714 | character name*(*),status*(*) 2023-01-10T19:54:48,067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,067 715 | 2023-01-10T19:54:48,067 | 2023-01-10T19:54:48,067 716 | Create and/or ready a UV data base to be accessed. 2023-01-10T19:54:48,067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,067 717 | 2023-01-10T19:54:48,067 | 2023-01-10T19:54:48,068 718 | Input: 2023-01-10T19:54:48,068 | ~~~~~~ 2023-01-10T19:54:48,068 719 | name Name of the directory tree containg the u-v data. 2023-01-10T19:54:48,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,068 720 | status Either "old", "new" or "append". Old files can be read, 2023-01-10T19:54:48,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,068 721 | whereas new and append files can only be written. Append 2023-01-10T19:54:48,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,069 722 | files must be pre-existing uv data-sets. 2023-01-10T19:54:48,069 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,069 723 | Output: 2023-01-10T19:54:48,069 | ~~~~~~~ 2023-01-10T19:54:48,069 724 | tno Handle of the uv data set. */ 2023-01-10T19:54:48,069 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,069 725 | /*-- */ 2023-01-10T19:54:48,069 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,070 726 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,070 727 | { 2023-01-10T19:54:48,070 | ~ 2023-01-10T19:54:48,070 728 | UV *uv; 2023-01-10T19:54:48,070 | ~~~~~~~ 2023-01-10T19:54:48,070 729 | int iostat; 2023-01-10T19:54:48,070 | ~~~~~~~~~~~ 2023-01-10T19:54:48,071 730 | char line[MAXLINE]; 2023-01-10T19:54:48,071 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,071 731 | 2023-01-10T19:54:48,071 | 2023-01-10T19:54:48,071 732 | if(first)uv_init(); 2023-01-10T19:54:48,071 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,071 733 | 2023-01-10T19:54:48,071 | 2023-01-10T19:54:48,072 734 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,072 735 | /* */ 2023-01-10T19:54:48,072 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,072 736 | /* Handle an old file. */ 2023-01-10T19:54:48,072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,072 737 | /* */ 2023-01-10T19:54:48,072 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,073 738 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,073 739 | 2023-01-10T19:54:48,073 | 2023-01-10T19:54:48,073 740 | if( !strcmp(status,"old") ) { 2023-01-10T19:54:48,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,073 741 | hopen_c(tno,name,"old",&iostat); 2023-01-10T19:54:48,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,074 742 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(old)",name)); 2023-01-10T19:54:48,074 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,074 743 | uv = uv_getuv(*tno); 2023-01-10T19:54:48,074 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,074 744 | haccess_c(*tno,&uv->item,"visdata","read",&iostat); 2023-01-10T19:54:48,074 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,074 745 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(old)",name)); 2023-01-10T19:54:48,074 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,075 746 | #ifdef MIR4 2023-01-10T19:54:48,075 | ~~~~~~~~~~~ 2023-01-10T19:54:48,075 747 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T19:54:48,075 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,075 748 | if (1) { 2023-01-10T19:54:48,075 | ~~~~~~~~ 2023-01-10T19:54:48,075 749 | int8 vislen; 2023-01-10T19:54:48,075 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,076 750 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T19:54:48,076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,076 751 | uv->max_offset = (off64_t) vislen; 2023-01-10T19:54:48,076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,076 752 | } else { 2023-01-10T19:54:48,076 | ~~~~~~~~ 2023-01-10T19:54:48,076 753 | int old_vislen; 2023-01-10T19:54:48,077 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,077 754 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T19:54:48,077 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,077 755 | if (old_vislen < 0) 2023-01-10T19:54:48,077 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,077 756 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T19:54:48,077 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,077 757 | uv->max_offset = old_vislen; 2023-01-10T19:54:48,078 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,078 758 | } 2023-01-10T19:54:48,078 | ~ 2023-01-10T19:54:48,078 759 | #else 2023-01-10T19:54:48,078 | ~~~~~ 2023-01-10T19:54:48,078 760 | /* MIR3 and before format: */ 2023-01-10T19:54:48,078 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,078 761 | rdhdi_c(*tno,"vislen",&(uv->max_offset),hsize_c(uv->item)); 2023-01-10T19:54:48,078 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,079 762 | #endif 2023-01-10T19:54:48,079 | ~~~~~~ 2023-01-10T19:54:48,079 763 | uv_vartable_in(uv); 2023-01-10T19:54:48,079 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,079 764 | uv_override(uv); 2023-01-10T19:54:48,079 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,079 765 | 2023-01-10T19:54:48,079 | 2023-01-10T19:54:48,080 766 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,080 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,080 767 | /* */ 2023-01-10T19:54:48,080 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,080 768 | /* Handle a new file. */ 2023-01-10T19:54:48,080 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,080 769 | /* */ 2023-01-10T19:54:48,080 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,081 770 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,081 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,081 771 | 2023-01-10T19:54:48,081 | 2023-01-10T19:54:48,081 772 | } else if(!strcmp(status,"new")) { 2023-01-10T19:54:48,081 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,081 773 | hopen_c(tno,name,"new",&iostat); 2023-01-10T19:54:48,081 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,081 774 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(new)",name)); 2023-01-10T19:54:48,082 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,082 775 | uv = uv_getuv(*tno); 2023-01-10T19:54:48,082 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,082 776 | haccess_c(*tno,&uv->item,"visdata","write",&iostat); 2023-01-10T19:54:48,082 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,082 777 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(new)",name)); 2023-01-10T19:54:48,082 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,082 778 | uv->flags = UVF_NEW; 2023-01-10T19:54:48,082 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,083 779 | 2023-01-10T19:54:48,083 | 2023-01-10T19:54:48,083 780 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,083 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,083 781 | /* */ 2023-01-10T19:54:48,083 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,083 782 | /* Append to an old file. */ 2023-01-10T19:54:48,083 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,083 783 | /* */ 2023-01-10T19:54:48,084 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,084 784 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,084 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,084 785 | 2023-01-10T19:54:48,084 | 2023-01-10T19:54:48,084 786 | } else if(!strcmp(status,"append")) { 2023-01-10T19:54:48,084 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,084 787 | hopen_c(tno,name,"old",&iostat); 2023-01-10T19:54:48,085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,085 788 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(append)",name)); 2023-01-10T19:54:48,085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,085 789 | uv = uv_getuv(*tno); 2023-01-10T19:54:48,085 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,085 790 | haccess_c(*tno,&uv->item,"visdata","append",&iostat); 2023-01-10T19:54:48,085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,085 791 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(append)",name)); 2023-01-10T19:54:48,086 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,086 792 | uv->flags = UVF_APPEND; 2023-01-10T19:54:48,086 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,086 793 | #ifdef MIR4 2023-01-10T19:54:48,086 | ~~~~~~~~~~~ 2023-01-10T19:54:48,086 794 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T19:54:48,086 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,086 795 | if (1) { 2023-01-10T19:54:48,087 | ~~~~~~~~ 2023-01-10T19:54:48,087 796 | int8 vislen; 2023-01-10T19:54:48,087 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,087 797 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T19:54:48,087 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,087 798 | uv->offset = (off64_t) vislen; 2023-01-10T19:54:48,087 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,087 799 | } else { 2023-01-10T19:54:48,088 | ~~~~~~~~ 2023-01-10T19:54:48,088 800 | int old_vislen; 2023-01-10T19:54:48,088 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,088 801 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T19:54:48,088 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,088 802 | if (old_vislen < 0) 2023-01-10T19:54:48,088 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,088 803 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T19:54:48,089 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,089 804 | uv->offset = old_vislen; 2023-01-10T19:54:48,089 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,089 805 | } 2023-01-10T19:54:48,089 | ~ 2023-01-10T19:54:48,089 806 | #else 2023-01-10T19:54:48,089 | ~~~~~ 2023-01-10T19:54:48,089 807 | /* MIR3 and before format: */ 2023-01-10T19:54:48,090 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,090 808 | rdhdi_c(*tno,"vislen",&(uv->offset),hsize_c(uv->item)); 2023-01-10T19:54:48,090 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,090 809 | #endif 2023-01-10T19:54:48,090 | ~~~~~~ 2023-01-10T19:54:48,090 810 | uv->offset = mroundup(uv->offset,UV_ALIGN); 2023-01-10T19:54:48,090 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,091 811 | uv_vartable_in(uv); 2023-01-10T19:54:48,091 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,091 812 | 2023-01-10T19:54:48,091 | 2023-01-10T19:54:48,091 813 | /* Read items and fill in the appropriate value. */ 2023-01-10T19:54:48,091 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,091 814 | 2023-01-10T19:54:48,091 | 2023-01-10T19:54:48,091 815 | rdhda_c(*tno,"obstype",line,"",MAXLINE); 2023-01-10T19:54:48,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,092 816 | if(!strcmp(line,"autocorrelation")) uv->flags |= UVF_AUTO; 2023-01-10T19:54:48,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,092 817 | else if(!strcmp(line,"crosscorrelation")) uv->flags |= UVF_CROSS; 2023-01-10T19:54:48,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,092 818 | { 2023-01-10T19:54:48,092 | ~ 2023-01-10T19:54:48,092 819 | int8 n; 2023-01-10T19:54:48,092 | ~~~~~~~ 2023-01-10T19:54:48,093 820 | rdhdl_c(*tno,"ncorr",&n,-1); 2023-01-10T19:54:48,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,093 821 | uv->corr_flags.offset = n; 2023-01-10T19:54:48,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,093 822 | rdhdl_c(*tno,"nwcorr",&n,-1); 2023-01-10T19:54:48,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,093 823 | uv->wcorr_flags.offset = n; 2023-01-10T19:54:48,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,093 824 | } 2023-01-10T19:54:48,093 | ~ 2023-01-10T19:54:48,094 825 | if(uv->corr_flags.offset < 0 || uv->wcorr_flags.offset < 0) 2023-01-10T19:54:48,094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,094 826 | BUG('f',"Cannot append to uv file without 'ncorr' and/or 'nwcorr' items"); 2023-01-10T19:54:48,094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,094 827 | 2023-01-10T19:54:48,094 | 2023-01-10T19:54:48,094 828 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,095 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,095 829 | /* */ 2023-01-10T19:54:48,095 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,095 830 | /* Somethig else -- must be an error. */ 2023-01-10T19:54:48,095 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,095 831 | /* */ 2023-01-10T19:54:48,095 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,095 832 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,095 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,095 833 | 2023-01-10T19:54:48,096 | 2023-01-10T19:54:48,096 834 | } else ERROR('f',(message,"Status %s is not recognised by UVOPEN",status)); 2023-01-10T19:54:48,096 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,096 835 | } 2023-01-10T19:54:48,096 | ~ 2023-01-10T19:54:48,096 836 | /************************************************************************/ 2023-01-10T19:54:48,096 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,096 837 | void uvclose_c(int tno) 2023-01-10T19:54:48,096 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,097 838 | /**uvclose -- Close a uv file */ 2023-01-10T19:54:48,097 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,097 839 | /*&rjs */ 2023-01-10T19:54:48,097 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,097 840 | /*:uv-i/o */ 2023-01-10T19:54:48,097 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,097 841 | /*+ FORTRAN call sequence: 2023-01-10T19:54:48,097 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,098 842 | subroutine uvclose(tno) 2023-01-10T19:54:48,098 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,098 843 | integer tno 2023-01-10T19:54:48,098 | ~~~~~~~~~~~ 2023-01-10T19:54:48,098 844 | 2023-01-10T19:54:48,098 | 2023-01-10T19:54:48,098 845 | This close a uv data file. 2023-01-10T19:54:48,098 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,099 846 | Input: 2023-01-10T19:54:48,099 | ~~~~~~ 2023-01-10T19:54:48,099 847 | tno Handle of the uv data set. */ 2023-01-10T19:54:48,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,099 848 | /*-- */ 2023-01-10T19:54:48,099 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,099 849 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,099 850 | { 2023-01-10T19:54:48,100 | ~ 2023-01-10T19:54:48,100 851 | UV *uv; 2023-01-10T19:54:48,100 | ~~~~~~~ 2023-01-10T19:54:48,100 852 | int iostat; 2023-01-10T19:54:48,100 | ~~~~~~~~~~~ 2023-01-10T19:54:48,100 853 | 2023-01-10T19:54:48,100 | 2023-01-10T19:54:48,100 854 | uv = uvs[tno]; 2023-01-10T19:54:48,101 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,101 855 | 2023-01-10T19:54:48,101 | 2023-01-10T19:54:48,101 856 | /* Finished with the flagging information. */ 2023-01-10T19:54:48,101 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,101 857 | 2023-01-10T19:54:48,101 | 2023-01-10T19:54:48,101 858 | if(uv->corr_flags.handle != NULL) mkclose_c(uv->corr_flags.handle); 2023-01-10T19:54:48,101 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,102 859 | if(uv->wcorr_flags.handle != NULL) mkclose_c(uv->wcorr_flags.handle); 2023-01-10T19:54:48,102 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,102 860 | uv->corr_flags.handle = uv->wcorr_flags.handle = NULL; 2023-01-10T19:54:48,102 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,102 861 | 2023-01-10T19:54:48,102 | 2023-01-10T19:54:48,102 862 | /* Flush out all stuff appropriate for a new or append file. */ 2023-01-10T19:54:48,102 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,102 863 | 2023-01-10T19:54:48,103 | 2023-01-10T19:54:48,103 864 | if(uv->flags & (UVF_NEW|UVF_APPEND))uvflush_c(tno); 2023-01-10T19:54:48,103 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,103 865 | 2023-01-10T19:54:48,103 | 2023-01-10T19:54:48,103 866 | /* Close the visibility data stream, release structures, and close the 2023-01-10T19:54:48,103 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,103 867 | whole thing. */ 2023-01-10T19:54:48,103 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,104 868 | 2023-01-10T19:54:48,104 | 2023-01-10T19:54:48,104 869 | hdaccess_c(uv->item,&iostat); 2023-01-10T19:54:48,104 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,104 870 | CHECK(iostat,(message,"Error calling hdaccess for visdata, in UVCLOSE")); 2023-01-10T19:54:48,104 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,104 871 | uv_freeuv(uv); 2023-01-10T19:54:48,104 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,104 872 | uvs[tno] = NULL; 2023-01-10T19:54:48,105 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,105 873 | hclose_c(tno); 2023-01-10T19:54:48,105 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,105 874 | } 2023-01-10T19:54:48,105 | ~ 2023-01-10T19:54:48,105 875 | /************************************************************************/ 2023-01-10T19:54:48,105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,105 876 | void uvflush_c(int tno) 2023-01-10T19:54:48,106 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,106 877 | /**uvflush -- Flush buffers of a uv dataset to disk. */ 2023-01-10T19:54:48,106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,106 878 | /*&rjs */ 2023-01-10T19:54:48,106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,106 879 | /*:uv-i/o */ 2023-01-10T19:54:48,106 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,106 880 | /*+ FORTRAN call sequence: 2023-01-10T19:54:48,106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,107 881 | subroutine uvflush(tno) 2023-01-10T19:54:48,107 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,107 882 | integer tno 2023-01-10T19:54:48,107 | ~~~~~~~~~~~ 2023-01-10T19:54:48,107 883 | 2023-01-10T19:54:48,107 | 2023-01-10T19:54:48,107 884 | This close a uv data file. 2023-01-10T19:54:48,107 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,108 885 | Input: 2023-01-10T19:54:48,108 | ~~~~~~ 2023-01-10T19:54:48,108 886 | tno Make sure anything buffered up is flushed to disk. The 2023-01-10T19:54:48,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,108 887 | disk file should be readable (up to data written here) 2023-01-10T19:54:48,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,108 888 | even if the caller or computer crashes. */ 2023-01-10T19:54:48,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,109 889 | /*-- */ 2023-01-10T19:54:48,109 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,109 890 | /*----------------------------------------------------------------------*/ 2023-01-10T19:54:48,109 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,109 891 | { 2023-01-10T19:54:48,109 | ~ 2023-01-10T19:54:48,109 892 | UV *uv; 2023-01-10T19:54:48,109 | ~~~~~~~ 2023-01-10T19:54:48,110 893 | int iostat; 2023-01-10T19:54:48,110 | ~~~~~~~~~~~ 2023-01-10T19:54:48,110 894 | 2023-01-10T19:54:48,110 | 2023-01-10T19:54:48,110 895 | uv = uvs[tno]; 2023-01-10T19:54:48,110 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,110 896 | 2023-01-10T19:54:48,110 | 2023-01-10T19:54:48,111 897 | if(!(uv->flags & (UVF_NEW|UVF_APPEND)))return; 2023-01-10T19:54:48,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,111 898 | 2023-01-10T19:54:48,111 | 2023-01-10T19:54:48,111 899 | /* Flush the masks out. */ 2023-01-10T19:54:48,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,111 900 | 2023-01-10T19:54:48,111 | 2023-01-10T19:54:48,112 901 | if(uv->corr_flags.handle != NULL) mkflush_c(uv->corr_flags.handle); 2023-01-10T19:54:48,112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,112 902 | if(uv->wcorr_flags.handle != NULL) mkflush_c(uv->wcorr_flags.handle); 2023-01-10T19:54:48,112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,112 903 | 2023-01-10T19:54:48,112 | 2023-01-10T19:54:48,112 904 | /* Rewrite vartable, if needed. */ 2023-01-10T19:54:48,113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,113 905 | 2023-01-10T19:54:48,113 | 2023-01-10T19:54:48,113 906 | if(uv->saved_nvar < uv->nvar || (uv->nvar == 0 && (uv->flags & UVF_NEW))) uv_vartable_out(uv); 2023-01-10T19:54:48,113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,113 907 | uv->saved_nvar = uv->nvar; 2023-01-10T19:54:48,113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,113 908 | 2023-01-10T19:54:48,114 | 2023-01-10T19:54:48,114 909 | /* Rewrite the description indicating the type of the data. */ 2023-01-10T19:54:48,114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,114 910 | 2023-01-10T19:54:48,114 | 2023-01-10T19:54:48,114 911 | if( ( uv->flags & (UVF_AUTO|UVF_CROSS) ) == (UVF_AUTO|UVF_CROSS)) 2023-01-10T19:54:48,114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,114 912 | wrhda_c(tno,"obstype","mixed-auto-cross"); 2023-01-10T19:54:48,114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,115 913 | else if(uv->flags & UVF_AUTO) 2023-01-10T19:54:48,115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,115 914 | wrhda_c(tno,"obstype","autocorrelation"); 2023-01-10T19:54:48,115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,115 915 | else if(uv->flags & UVF_CROSS) 2023-01-10T19:54:48,115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,115 916 | wrhda_c(tno,"obstype","crosscorrelation"); 2023-01-10T19:54:48,115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,115 917 | 2023-01-10T19:54:48,115 | 2023-01-10T19:54:48,116 918 | /* Write out things to help recover the EOF. */ 2023-01-10T19:54:48,116 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,116 919 | 2023-01-10T19:54:48,116 | 2023-01-10T19:54:48,116 920 | #ifdef MIR4 2023-01-10T19:54:48,116 | ~~~~~~~~~~~ 2023-01-10T19:54:48,116 921 | wrhdl_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T19:54:48,116 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,116 922 | wrhdl_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T19:54:48,117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,117 923 | wrhdl_c(tno,"vislen",uv->offset); 2023-01-10T19:54:48,117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,117 924 | #else 2023-01-10T19:54:48,117 | ~~~~~ 2023-01-10T19:54:48,117 925 | /* old MIR3 and before format */ 2023-01-10T19:54:48,117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,117 926 | wrhdi_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T19:54:48,117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,118 927 | wrhdi_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T19:54:48,118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,118 928 | wrhdi_c(tno,"vislen",uv->offset); 2023-01-10T19:54:48,118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,118 929 | #endif 2023-01-10T19:54:48,118 | ~~~~~~ 2023-01-10T19:54:48,118 930 | 2023-01-10T19:54:48,118 | 2023-01-10T19:54:48,118 931 | /* Finally flush out everything to disk. */ 2023-01-10T19:54:48,119 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,119 932 | 2023-01-10T19:54:48,119 | 2023-01-10T19:54:48,119 933 | hflush_c(tno,&iostat); 2023-01-10T19:54:48,119 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,119 934 | CHECK(iostat,(message,"Error calling hflush, in UVFLSH")); 2023-01-10T19:54:48,119 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,119 935 | } 2023-01-10T19:54:48,120 | ~ 2023-01-10T19:54:48,120 936 | /************************************************************************/ 2023-01-10T19:54:48,120 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,120 937 | private void uv_init(void) 2023-01-10T19:54:48,120 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,120 938 | /* 2023-01-10T19:54:48,120 | ~~ 2023-01-10T19:54:48,120 939 | Initalise everything imaginable. 2023-01-10T19:54:48,120 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,121 940 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:48,121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,121 941 | { 2023-01-10T19:54:48,121 | ~ 2023-01-10T19:54:48,121 942 | int i; 2023-01-10T19:54:48,121 | ~~~~~~ 2023-01-10T19:54:48,121 943 | 2023-01-10T19:54:48,121 | 2023-01-10T19:54:48,121 944 | first = FALSE; 2023-01-10T19:54:48,122 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,122 945 | 2023-01-10T19:54:48,122 | 2023-01-10T19:54:48,122 946 | external_size[H_BYTE] = 1; internal_size[H_BYTE] = 1; 2023-01-10T19:54:48,122 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,122 947 | type_flag[H_BYTE] = 'a'; 2023-01-10T19:54:48,122 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,122 948 | external_size[H_INT] = H_INT_SIZE; internal_size[H_INT] = sizeof(int); 2023-01-10T19:54:48,123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,123 949 | type_flag[H_INT] = 'i'; 2023-01-10T19:54:48,123 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,123 950 | external_size[H_INT2] = H_INT2_SIZE; internal_size[H_INT2] = sizeof(int); 2023-01-10T19:54:48,123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,123 951 | type_flag[H_INT2] = 'j'; 2023-01-10T19:54:48,123 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,123 952 | external_size[H_REAL] = H_REAL_SIZE; internal_size[H_REAL] = sizeof(float); 2023-01-10T19:54:48,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,124 953 | type_flag[H_REAL] = 'r'; 2023-01-10T19:54:48,124 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,124 954 | external_size[H_DBLE] = H_DBLE_SIZE; internal_size[H_DBLE] = sizeof(double); 2023-01-10T19:54:48,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,124 955 | type_flag[H_DBLE] = 'd'; 2023-01-10T19:54:48,124 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,124 956 | external_size[H_CMPLX] = H_CMPLX_SIZE; 2023-01-10T19:54:48,125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,125 957 | internal_size[H_CMPLX] = 2*sizeof(float); 2023-01-10T19:54:48,125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,125 958 | type_flag[H_CMPLX] = 'c'; 2023-01-10T19:54:48,125 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,125 959 | 2023-01-10T19:54:48,125 | 2023-01-10T19:54:48,125 960 | /* Initialise the "true window" array. */ 2023-01-10T19:54:48,126 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,126 961 | 2023-01-10T19:54:48,126 | 2023-01-10T19:54:48,126 962 | noamp.select = FALSE; 2023-01-10T19:54:48,126 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,126 963 | 2023-01-10T19:54:48,126 | 2023-01-10T19:54:48,126 964 | truewin.first = 0; 2023-01-10T19:54:48,126 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,127 965 | truewin.last = MAXWIN-1; 2023-01-10T19:54:48,127 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,127 966 | truewin.n = MAXWIN; 2023-01-10T19:54:48,127 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,127 967 | truewin.select= FALSE; 2023-01-10T19:54:48,127 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,127 968 | for(i=0; i < MAXWIN; i++) truewin.wins[i] = TRUE; 2023-01-10T19:54:48,127 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,128 969 | 2023-01-10T19:54:48,128 | 2023-01-10T19:54:48,128 970 | /* Initialise the table of variable handles. */ 2023-01-10T19:54:48,128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,128 971 | 2023-01-10T19:54:48,128 | 2023-01-10T19:54:48,128 972 | for(i=0; i < MAXVHANDS; i++)varhands[i] = NULL; 2023-01-10T19:54:48,128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,128 973 | 2023-01-10T19:54:48,129 | 2023-01-10T19:54:48,129 974 | } 2023-01-10T19:54:48,129 | ~ 2023-01-10T19:54:48,129 975 | /************************************************************************/ 2023-01-10T19:54:48,129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,129 976 | private void uv_freeuv(UV *uv) 2023-01-10T19:54:48,129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,129 977 | /* 2023-01-10T19:54:48,129 | ~~ 2023-01-10T19:54:48,130 978 | Free a uv structure. 2023-01-10T19:54:48,130 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,130 979 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:48,130 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,130 980 | { 2023-01-10T19:54:48,130 | ~ 2023-01-10T19:54:48,130 981 | int i; 2023-01-10T19:54:48,130 | ~~~~~~ 2023-01-10T19:54:48,131 982 | VARIABLE *v; 2023-01-10T19:54:48,131 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,131 983 | VARHAND *vh,*vht; 2023-01-10T19:54:48,131 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,131 984 | VARPNT *vp,*vpt; 2023-01-10T19:54:48,131 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,131 985 | 2023-01-10T19:54:48,131 | 2023-01-10T19:54:48,132 986 | vh = uv->vhans; 2023-01-10T19:54:48,132 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,132 987 | while(vh != NULL){ 2023-01-10T19:54:48,132 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,132 988 | vp = vh->varhd; 2023-01-10T19:54:48,132 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,132 989 | varhands[vh->index] = NULL; 2023-01-10T19:54:48,133 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,133 990 | while(vp != NULL){ 2023-01-10T19:54:48,133 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,133 991 | vpt = vp; 2023-01-10T19:54:48,133 | ~~~~~~~~~ 2023-01-10T19:54:48,133 992 | vp = vp->fwd; 2023-01-10T19:54:48,133 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,133 993 | free((char *)vpt); 2023-01-10T19:54:48,133 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,134 994 | } 2023-01-10T19:54:48,134 | ~ 2023-01-10T19:54:48,134 995 | vht = vh; 2023-01-10T19:54:48,134 | ~~~~~~~~~ 2023-01-10T19:54:48,134 996 | vh = vh->fwd; 2023-01-10T19:54:48,134 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,134 997 | free((char *)vht); 2023-01-10T19:54:48,134 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,134 998 | } 2023-01-10T19:54:48,135 | ~ 2023-01-10T19:54:48,135 999 | 2023-01-10T19:54:48,135 | 2023-01-10T19:54:48,135 1000 | /* Free buffers associated with variables. */ 2023-01-10T19:54:48,135 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,135 1001 | 2023-01-10T19:54:48,135 | 2023-01-10T19:54:48,135 1002 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++) 2023-01-10T19:54:48,136 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,136 1003 | if(v->buf != NULL)free(v->buf); 2023-01-10T19:54:48,136 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,136 1004 | 2023-01-10T19:54:48,136 | 2023-01-10T19:54:48,136 1005 | if(uv->data_line.wts != NULL) free((char *)uv->data_line.wts); 2023-01-10T19:54:48,136 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,136 1006 | if(uv->ref_line.wts != NULL) free((char *)uv->ref_line.wts); 2023-01-10T19:54:48,137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,137 1007 | if(uv->corr_flags.flags != NULL) free((char *)uv->corr_flags.flags); 2023-01-10T19:54:48,137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,137 1008 | if(uv->wcorr_flags.flags != NULL ) free((char *)uv->wcorr_flags.flags); 2023-01-10T19:54:48,137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,137 1009 | if(uv->sigma2.table != NULL)free((char *)uv->sigma2.table); 2023-01-10T19:54:48,137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,137 1010 | uv_free_select(uv->select); 2023-01-10T19:54:48,137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,138 1011 | if(uv->uvw != NULL) free((char *)(uv->uvw)); 2023-01-10T19:54:48,138 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,138 1012 | free((char *)uv); 2023-01-10T19:54:48,138 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,138 1013 | } 2023-01-10T19:54:48,138 | ~ 2023-01-10T19:54:48,138 1014 | /************************************************************************/ 2023-01-10T19:54:48,138 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,138 1015 | private void uv_free_select(SELECT *sel) 2023-01-10T19:54:48,139 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,139 1016 | { 2023-01-10T19:54:48,139 | ~ 2023-01-10T19:54:48,139 1017 | OPERS *op; 2023-01-10T19:54:48,139 | ~~~~~~~~~~ 2023-01-10T19:54:48,139 1018 | SELECT *fwd; 2023-01-10T19:54:48,139 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,139 1019 | int i; 2023-01-10T19:54:48,139 | ~~~~~~ 2023-01-10T19:54:48,140 1020 | 2023-01-10T19:54:48,140 | 2023-01-10T19:54:48,140 1021 | while(sel != NULL){ 2023-01-10T19:54:48,140 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,140 1022 | fwd = sel->fwd; 2023-01-10T19:54:48,140 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,140 1023 | if(sel->noper > 0){ 2023-01-10T19:54:48,140 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,141 1024 | op = sel->opers; 2023-01-10T19:54:48,141 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,141 1025 | for(i=0; i < sel->noper; i++){ 2023-01-10T19:54:48,141 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,141 1026 | if(op->stval != NULL) free(op->stval); 2023-01-10T19:54:48,141 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,141 1027 | op++; 2023-01-10T19:54:48,141 | ~~~~~ 2023-01-10T19:54:48,141 1028 | } 2023-01-10T19:54:48,142 | ~ 2023-01-10T19:54:48,142 1029 | free((char *)(sel->opers)); 2023-01-10T19:54:48,142 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,142 1030 | } 2023-01-10T19:54:48,142 | ~ 2023-01-10T19:54:48,142 1031 | free((char *)sel); 2023-01-10T19:54:48,142 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,142 1032 | sel = fwd; 2023-01-10T19:54:48,142 | ~~~~~~~~~~ 2023-01-10T19:54:48,143 1033 | } 2023-01-10T19:54:48,143 | ~ 2023-01-10T19:54:48,143 1034 | } 2023-01-10T19:54:48,143 | ~ 2023-01-10T19:54:48,143 1035 | /************************************************************************/ 2023-01-10T19:54:48,143 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,143 1036 | private UV *uv_getuv(int tno) 2023-01-10T19:54:48,143 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,144 1037 | /* 2023-01-10T19:54:48,144 | ~~ 2023-01-10T19:54:48,144 1038 | Allocate a structure describing a uv file. 2023-01-10T19:54:48,144 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,144 1039 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:48,144 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,144 1040 | { 2023-01-10T19:54:48,144 | ~ 2023-01-10T19:54:48,145 1041 | int i; 2023-01-10T19:54:48,145 | ~~~~~~ 2023-01-10T19:54:48,145 1042 | UV *uv; 2023-01-10T19:54:48,145 | ~~~~~~~ 2023-01-10T19:54:48,145 1043 | VARIABLE *v; 2023-01-10T19:54:48,145 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,145 1044 | 2023-01-10T19:54:48,145 | 2023-01-10T19:54:48,145 1045 | uv = (UV *)Malloc(sizeof(UV)); 2023-01-10T19:54:48,146 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,146 1046 | uv->item = 0; 2023-01-10T19:54:48,146 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,146 1047 | uv->tno = tno; 2023-01-10T19:54:48,146 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,146 1048 | uv->vhans = NULL; 2023-01-10T19:54:48,146 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,146 1049 | uv->nvar = 0; 2023-01-10T19:54:48,146 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,147 1050 | uv->presize = 0; 2023-01-10T19:54:48,147 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,147 1051 | uv->gflag = 1; 2023-01-10T19:54:48,147 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,147 1052 | uv->saved_nvar= 0; 2023-01-10T19:54:48,147 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,147 1053 | uv->offset = 0; 2023-01-10T19:54:48,147 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,147 1054 | uv->max_offset= 0; 2023-01-10T19:54:48,148 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,148 1055 | uv->flags = 0; 2023-01-10T19:54:48,148 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,148 1056 | uv->callno = 0; 2023-01-10T19:54:48,148 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,148 1057 | uv->maxvis = 0; 2023-01-10T19:54:48,148 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,148 1058 | uv->mark = 0; 2023-01-10T19:54:48,149 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,149 1059 | uv->select = NULL; 2023-01-10T19:54:48,149 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,149 1060 | uv->need_skyfreq = uv->need_point = uv->need_planet = FALSE; 2023-01-10T19:54:48,149 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,149 1061 | uv->need_pol = uv->need_on = uv->need_uvw = FALSE; 2023-01-10T19:54:48,149 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,149 1062 | uv->need_src = uv->need_win = uv->need_bin = FALSE; 2023-01-10T19:54:48,149 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,150 1063 | uv->need_dra = uv->need_ddec = uv->need_ra = FALSE; 2023-01-10T19:54:48,150 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,150 1064 | uv->need_dec = uv->need_lst = uv->need_elev = FALSE; 2023-01-10T19:54:48,150 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,150 1065 | uv->need_obsra = uv->need_dazim = uv->need_delev = FALSE; 2023-01-10T19:54:48,150 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,150 1066 | uv->uvw = NULL; 2023-01-10T19:54:48,150 | ~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,151 1067 | uv->ref_plmaj = uv->ref_plmin = uv->ref_plangle = 0; 2023-01-10T19:54:48,151 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,151 1068 | uv->plscale = 1; 2023-01-10T19:54:48,151 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,151 1069 | uv->pluu = uv->plvv = 1; 2023-01-10T19:54:48,151 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,151 1070 | uv->plvu = uv->pluv = 0; 2023-01-10T19:54:48,151 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,152 1071 | uv->apply_amp = TRUE; 2023-01-10T19:54:48,152 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,152 1072 | uv->apply_win = TRUE; 2023-01-10T19:54:48,152 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,152 1073 | uv->skyfreq_start = 0; 2023-01-10T19:54:48,152 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,152 1074 | 2023-01-10T19:54:48,153 | 2023-01-10T19:54:48,153 1075 | uv->corr_flags.exists = TRUE; 2023-01-10T19:54:48,153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,153 1076 | uv->corr_flags.handle = NULL; 2023-01-10T19:54:48,153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,153 1077 | uv->corr_flags.offset = 0; 2023-01-10T19:54:48,153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,153 1078 | uv->corr_flags.flags = NULL; 2023-01-10T19:54:48,153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,154 1079 | uv->corr_flags.nflags = 0; 2023-01-10T19:54:48,154 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,154 1080 | uv->wcorr_flags.exists = TRUE; 2023-01-10T19:54:48,154 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,154 1081 | uv->wcorr_flags.handle = NULL; 2023-01-10T19:54:48,154 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,154 1082 | uv->wcorr_flags.offset = 0; 2023-01-10T19:54:48,154 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,155 1083 | uv->wcorr_flags.flags = NULL; 2023-01-10T19:54:48,155 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,155 1084 | uv->wcorr_flags.nflags = 0; 2023-01-10T19:54:48,155 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,155 1085 | 2023-01-10T19:54:48,155 | 2023-01-10T19:54:48,155 1086 | uv->data_line.wts = NULL; 2023-01-10T19:54:48,155 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,156 1087 | uv->data_line.linetype = LINE_NONE; 2023-01-10T19:54:48,156 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,156 1088 | uv->ref_line.wts = NULL; 2023-01-10T19:54:48,156 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,156 1089 | uv->ref_line.linetype = LINE_NONE; 2023-01-10T19:54:48,156 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,156 1090 | 2023-01-10T19:54:48,156 | 2023-01-10T19:54:48,156 1091 | uv->sigma2.table = NULL; 2023-01-10T19:54:48,157 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,157 1092 | uv->sigma2.nants = 0; 2023-01-10T19:54:48,157 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,157 1093 | uv->sigma2.missing = FALSE; 2023-01-10T19:54:48,157 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,157 1094 | 2023-01-10T19:54:48,157 | 2023-01-10T19:54:48,157 1095 | uv->corr = NULL; 2023-01-10T19:54:48,158 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,158 1096 | uv->wcorr = NULL; 2023-01-10T19:54:48,158 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,158 1097 | uv->coord = NULL; 2023-01-10T19:54:48,158 | ~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,158 1098 | uv->time = NULL; 2023-01-10T19:54:48,158 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,158 1099 | uv->bl = NULL; 2023-01-10T19:54:48,159 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,159 1100 | 2023-01-10T19:54:48,159 | 2023-01-10T19:54:48,159 1101 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++){ 2023-01-10T19:54:48,159 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,159 1102 | v->length = v->flength = 0; 2023-01-10T19:54:48,159 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,159 1103 | v->buf = NULL; 2023-01-10T19:54:48,160 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,160 1104 | v->flags = 0; 2023-01-10T19:54:48,160 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,160 1105 | v->type = 0; 2023-01-10T19:54:48,160 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,160 1106 | v->fwd = NULL; 2023-01-10T19:54:48,160 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,160 1107 | v->index = i; 2023-01-10T19:54:48,161 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,161 1108 | v->callno = 0; 2023-01-10T19:54:48,161 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,161 1109 | } 2023-01-10T19:54:48,161 | ~ 2023-01-10T19:54:48,161 1110 | for(i=0; i < HASHSIZE; i++) uv->vhash[i] = NULL; 2023-01-10T19:54:48,161 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,161 1111 | uvs[tno] = uv; 2023-01-10T19:54:48,162 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,162 1112 | return(uv); 2023-01-10T19:54:48,162 | ~~~~~~~~~~~ 2023-01-10T19:54:48,162 1113 | } 2023-01-10T19:54:48,162 | ~ 2023-01-10T19:54:48,162 1114 | /************************************************************************/ 2023-01-10T19:54:48,162 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,163 1115 | private void uv_vartable_out(UV *uv) 2023-01-10T19:54:48,163 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,163 1116 | /* 2023-01-10T19:54:48,163 | ~~ 2023-01-10T19:54:48,163 1117 | Write out a variable name table. 2023-01-10T19:54:48,163 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,163 1118 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:48,163 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,163 1119 | { 2023-01-10T19:54:48,164 | ~ 2023-01-10T19:54:48,164 1120 | int item; 2023-01-10T19:54:48,164 | ~~~~~~~~~ 2023-01-10T19:54:48,164 1121 | char line[MAXLINE]; 2023-01-10T19:54:48,164 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,164 1122 | int iostat,i; 2023-01-10T19:54:48,164 | ~~~~~~~~~~~~~ 2023-01-10T19:54:48,164 1123 | VARIABLE *v; 2023-01-10T19:54:48,165 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,165 1124 | 2023-01-10T19:54:48,165 | 2023-01-10T19:54:48,165 1125 | haccess_c(uv->tno,&item,"vartable","write",&iostat); 2023-01-10T19:54:48,165 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,165 1126 | CHECK(iostat,(message,"Error opening vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:48,165 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,165 1127 | for(i=0, v = uv->variable; i < uv->nvar; i++,v++){ 2023-01-10T19:54:48,165 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,166 1128 | Sprintf(line,"%c %s",VARTYPE(v),v->name); 2023-01-10T19:54:48,166 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,166 1129 | hwritea_c(item,line,strlen(line)+1,&iostat); 2023-01-10T19:54:48,166 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,166 1130 | CHECK(iostat,(message,"Error writing to vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:48,166 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,166 1131 | } 2023-01-10T19:54:48,166 | ~ 2023-01-10T19:54:48,166 1132 | hdaccess_c(item,&iostat); 2023-01-10T19:54:48,167 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,167 1133 | CHECK(iostat,(message,"Error closing vartable, in UVCLOSE(vartable_out)")); 2023-01-10T19:54:48,167 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,167 1134 | } 2023-01-10T19:54:48,167 | ~ 2023-01-10T19:54:48,167 1135 | /************************************************************************/ 2023-01-10T19:54:48,167 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,167 1136 | private void uv_override(UV *uv) 2023-01-10T19:54:48,168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,168 1137 | /* 2023-01-10T19:54:48,168 | ~~ 2023-01-10T19:54:48,168 1138 | Determine if a variable has a item of the same name. If there is one, then 2023-01-10T19:54:48,168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,168 1139 | the value of that item overrides the value of the variable. In this case, 2023-01-10T19:54:48,168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,168 1140 | get the value of the item, and set a flag to indicate that the variable 2023-01-10T19:54:48,168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,169 1141 | value is being overriden. 2023-01-10T19:54:48,169 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,169 1142 | ------------------------------------------------------------------------*/ 2023-01-10T19:54:48,169 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,169 1143 | { 2023-01-10T19:54:48,169 | ~ 2023-01-10T19:54:48,169 1144 | int item; 2023-01-10T19:54:48,169 | ~~~~~~~~~ 2023-01-10T19:54:48,169 1145 | char *b,varname[MAXLINE],vartype[MAXLINE],descr[MAXLINE]; 2023-01-10T19:54:48,170 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,170 1146 | VARIABLE *v; 2023-01-10T19:54:48,170 | ~~~~~~~~~~~~ 2023-01-10T19:54:48,170 1147 | int tno,iostat,n,ok,isnumeric,ischar; 2023-01-10T19:54:48,170 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,170 1148 | 2023-01-10T19:54:48,170 | 2023-01-10T19:54:48,170 1149 | tno = uv->tno; 2023-01-10T19:54:48,170 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,171 1150 | haccess_c(uv->tno,&item,".","read",&iostat); 2023-01-10T19:54:48,171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,171 1151 | CHECK(iostat,(message,"Error opening directory listing, in UVOPEN(override)")); 2023-01-10T19:54:48,171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,171 1152 | while(hreada_c(item,varname,MAXLINE,&iostat),iostat==0){ 2023-01-10T19:54:48,171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,171 1153 | v = uv_locvar(tno,varname); 2023-01-10T19:54:48,171 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,172 1154 | if(v != NULL){ 2023-01-10T19:54:48,172 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,172 1155 | hdprobe_c(tno,varname,descr,MAXLINE,vartype,&n); 2023-01-10T19:54:48,172 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,172 1156 | isnumeric = 2023-01-10T19:54:48,172 | ~~~~~~~~~~~ 2023-01-10T19:54:48,172 1157 | (v->type == H_DBLE || v->type == H_REAL || v->type == H_INT) && 2023-01-10T19:54:48,172 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,173 1158 | (!strcmp(vartype,"double") || !strcmp(vartype,"real") || 2023-01-10T19:54:48,173 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,173 1159 | !strcmp(vartype,"integer")); 2023-01-10T19:54:48,173 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,173 1160 | ischar = (v->type == H_BYTE && !strcmp(vartype,"character")); 2023-01-10T19:54:48,173 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,173 1161 | ok = ( n == 1 && (isnumeric || ischar) ); 2023-01-10T19:54:48,173 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,173 1162 | 2023-01-10T19:54:48,174 | 2023-01-10T19:54:48,174 1163 | if(v->type == H_BYTE) { 2023-01-10T19:54:48,174 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,174 1164 | n = strlen(descr); 2023-01-10T19:54:48,174 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,174 1165 | b = Malloc(n+1); 2023-01-10T19:54:48,174 | ~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,174 1166 | } else { 2023-01-10T19:54:48,174 | ~~~~~~~~ 2023-01-10T19:54:48,175 1167 | b = Malloc(internal_size[v->type]); 2023-01-10T19:54:48,175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,175 1168 | } 2023-01-10T19:54:48,175 | ~ 2023-01-10T19:54:48,175 1169 | if(ok)switch(v->type){ 2023-01-10T19:54:48,175 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,175 1170 | case H_INT: rdhdi_c(tno,varname,(int *)b,0); break; 2023-01-10T19:54:48,175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,175 1171 | case H_REAL: rdhdr_c(tno,varname,(float *)b,0.0); break; 2023-01-10T19:54:48,176 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,176 1172 | case H_BYTE: strcpy(b,descr); break; 2023-01-10T19:54:48,176 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,176 1173 | case H_DBLE: rdhdd_c(tno,varname,(double *)b,(double)0.0); break; 2023-01-10T19:54:48,176 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,176 1174 | default: ok = FALSE; 2023-01-10T19:54:48,176 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,176 1175 | } 2023-01-10T19:54:48,177 | ~ 2023-01-10T19:54:48,177 1176 | if(ok){ 2023-01-10T19:54:48,177 | ~~~~~~~ 2023-01-10T19:54:48,177 1177 | v->flags |= UVF_OVERRIDE; 2023-01-10T19:54:48,177 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,177 1178 | v->buf = b; 2023-01-10T19:54:48,177 | ~~~~~~~~~~~ 2023-01-10T19:54:48,177 1179 | v->length = n*external_size[v->type]; 2023-01-10T19:54:48,177 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,178 1180 | v->callno = 1; 2023-01-10T19:54:48,178 | ~~~~~~~~~~~~~~ 2023-01-10T19:54:48,178 1181 | } else { 2023-01-10T19:54:48,178 | ~~~~~~~~ 2023-01-10T19:54:48,178 1182 | free(b); 2023-01-10T19:54:48,178 | ~~~~~~~~ 2023-01-10T19:54:48,178 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T19:54:48,178 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T19:54:48,178 aipy/_miriad/mir/uvio.c:1183:2: note: in expansion of macro ‘ERROR’ 2023-01-10T19:54:48,179 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T19:54:48,179 | ^~~~~ 2023-01-10T19:54:51,264 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_miriad -Iaipy/_miriad/mir -Iaipy/_common -I/usr/include/python3.9 -c aipy/_miriad/miriad_wrap.cpp -o build/temp.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.o 2023-01-10T19:54:53,614 arm-linux-gnueabihf-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/bug.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/dio.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/headio.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/maskio.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/pack.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir/uvio.o build/temp.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.o -L/usr/lib -o build/lib.linux-armv7l-cpython-39/aipy/_miriad.cpython-39-arm-linux-gnueabihf.so 2023-01-10T19:54:53,935 building 'aipy._deconv' extension 2023-01-10T19:54:53,936 creating build/temp.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T19:54:53,937 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_common -I/usr/include/python3.9 -c aipy/_deconv/deconv.cpp -o build/temp.linux-armv7l-cpython-39/aipy/_deconv/deconv.o 2023-01-10T19:54:54,570 In file included from aipy/_deconv/deconv.cpp:11: 2023-01-10T19:54:54,571 aipy/_common/aipy_compat.h:17:1: warning: ‘char* PyString_AsString(PyObject*)’ defined but not used [-Wunused-function] 2023-01-10T19:54:54,571 17 | PyString_AsString(PyObject *ob) 2023-01-10T19:54:54,571 | ^~~~~~~~~~~~~~~~~ 2023-01-10T19:54:58,080 arm-linux-gnueabihf-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/aipy/_deconv/deconv.o -L/usr/lib -o build/lib.linux-armv7l-cpython-39/aipy/_deconv.cpython-39-arm-linux-gnueabihf.so 2023-01-10T19:54:58,263 building 'aipy._dsp' extension 2023-01-10T19:54:58,264 creating build/temp.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T19:54:58,265 creating build/temp.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T19:54:58,266 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_dsp -Iaipy/_dsp/grid -Iaipy/_common -I/usr/include/python3.9 -c aipy/_dsp/dsp.c -o build/temp.linux-armv7l-cpython-39/aipy/_dsp/dsp.o 2023-01-10T19:54:58,651 aipy/_dsp/dsp.c: In function ‘PyInit__dsp’: 2023-01-10T19:54:58,652 aipy/_dsp/dsp.c:137:19: warning: unused variable ‘d’ [-Wunused-variable] 2023-01-10T19:54:58,652 137 | PyObject *m, *d; 2023-01-10T19:54:58,653 | ^ 2023-01-10T19:54:58,659 In file included from aipy/_dsp/dsp.c:2: 2023-01-10T19:54:58,659 At top level: 2023-01-10T19:54:58,660 aipy/_common/aipy_compat.h:17:1: warning: ‘PyString_AsString’ defined but not used [-Wunused-function] 2023-01-10T19:54:58,660 17 | PyString_AsString(PyObject *ob) 2023-01-10T19:54:58,660 | ^~~~~~~~~~~~~~~~~ 2023-01-10T19:54:58,980 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_dsp -Iaipy/_dsp/grid -Iaipy/_common -I/usr/include/python3.9 -c aipy/_dsp/grid/grid.c -o build/temp.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.o 2023-01-10T19:54:59,294 arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/aipy/_dsp/dsp.o build/temp.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.o -L/usr/lib -o build/lib.linux-armv7l-cpython-39/aipy/_dsp.cpython-39-arm-linux-gnueabihf.so 2023-01-10T19:54:59,427 building 'aipy.utils' extension 2023-01-10T19:54:59,428 creating build/temp.linux-armv7l-cpython-39/aipy/utils 2023-01-10T19:54:59,429 arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/tmp/pip-build-env-gnehyu3r/overlay/lib/python3.9/site-packages/numpy/core/include -Iaipy/_common -I/usr/include/python3.9 -c aipy/utils/utils.cpp -o build/temp.linux-armv7l-cpython-39/aipy/utils/utils.o 2023-01-10T19:54:59,961 In file included from aipy/utils/utils.cpp:16: 2023-01-10T19:54:59,961 aipy/_common/aipy_compat.h:17:1: warning: ‘char* PyString_AsString(PyObject*)’ defined but not used [-Wunused-function] 2023-01-10T19:54:59,961 17 | PyString_AsString(PyObject *ob) 2023-01-10T19:54:59,961 | ^~~~~~~~~~~~~~~~~ 2023-01-10T19:55:00,799 arm-linux-gnueabihf-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/aipy/utils/utils.o -L/usr/lib -o build/lib.linux-armv7l-cpython-39/aipy/utils.cpython-39-arm-linux-gnueabihf.so 2023-01-10T19:55:00,962 running build_scripts 2023-01-10T19:55:00,963 creating build/scripts-3.9 2023-01-10T19:55:00,964 copying and adjusting scripts/flux_cal.py -> build/scripts-3.9 2023-01-10T19:55:00,966 copying and adjusting scripts/amp_close.py -> build/scripts-3.9 2023-01-10T19:55:00,968 copying and adjusting scripts/compress_uv.py -> build/scripts-3.9 2023-01-10T19:55:00,970 copying and adjusting scripts/combine_freqs.py -> build/scripts-3.9 2023-01-10T19:55:00,972 copying and adjusting scripts/plot_uv.py -> build/scripts-3.9 2023-01-10T19:55:00,975 copying and adjusting scripts/lst -> build/scripts-3.9 2023-01-10T19:55:00,977 copying and adjusting scripts/xrfi.py -> build/scripts-3.9 2023-01-10T19:55:00,979 copying and adjusting scripts/srclist.py -> build/scripts-3.9 2023-01-10T19:55:00,981 copying and adjusting scripts/apply_bp.py -> build/scripts-3.9 2023-01-10T19:55:00,983 copying and adjusting scripts/cl_img.py -> build/scripts-3.9 2023-01-10T19:55:00,986 copying and adjusting scripts/plot_img.py -> build/scripts-3.9 2023-01-10T19:55:00,988 copying and adjusting scripts/stokes_rotate.py -> build/scripts-3.9 2023-01-10T19:55:00,990 copying and adjusting scripts/rfi_diagnostic.py -> build/scripts-3.9 2023-01-10T19:55:00,992 copying and adjusting scripts/aipy_version.py -> build/scripts-3.9 2023-01-10T19:55:00,994 copying and adjusting scripts/uv_addsub.py -> build/scripts-3.9 2023-01-10T19:55:00,996 copying and adjusting scripts/mdlvis.py -> build/scripts-3.9 2023-01-10T19:55:00,998 copying and adjusting scripts/phs2src.py -> build/scripts-3.9 2023-01-10T19:55:01,000 copying and adjusting scripts/fitmdl.py -> build/scripts-3.9 2023-01-10T19:55:01,003 copying and adjusting scripts/find_delay.py -> build/scripts-3.9 2023-01-10T19:55:01,005 copying and adjusting scripts/pull_ants.py -> build/scripts-3.9 2023-01-10T19:55:01,007 copying and adjusting scripts/modmap.py -> build/scripts-3.9 2023-01-10T19:55:01,009 copying and adjusting scripts/xrfi_simple.py -> build/scripts-3.9 2023-01-10T19:55:01,011 copying and adjusting scripts/apply_cal.py -> build/scripts-3.9 2023-01-10T19:55:01,013 copying and adjusting scripts/mk_map.py -> build/scripts-3.9 2023-01-10T19:55:01,015 copying and adjusting scripts/plot_map.py -> build/scripts-3.9 2023-01-10T19:55:01,017 copying and adjusting scripts/pull_pol.py -> build/scripts-3.9 2023-01-10T19:55:01,019 copying and adjusting scripts/filter_src.py -> build/scripts-3.9 2023-01-10T19:55:01,021 copying and adjusting scripts/uvlist.py -> build/scripts-3.9 2023-01-10T19:55:01,023 copying and adjusting scripts/mk_img.py -> build/scripts-3.9 2023-01-10T19:55:01,026 copying and adjusting scripts/xtalk3.py -> build/scripts-3.9 2023-01-10T19:55:01,028 copying and adjusting scripts/inspect_phs_close.py -> build/scripts-3.9 2023-01-10T19:55:01,030 changing mode of build/scripts-3.9/flux_cal.py from 644 to 755 2023-01-10T19:55:01,030 changing mode of build/scripts-3.9/amp_close.py from 644 to 755 2023-01-10T19:55:01,030 changing mode of build/scripts-3.9/compress_uv.py from 644 to 755 2023-01-10T19:55:01,031 changing mode of build/scripts-3.9/combine_freqs.py from 644 to 755 2023-01-10T19:55:01,031 changing mode of build/scripts-3.9/plot_uv.py from 644 to 755 2023-01-10T19:55:01,032 changing mode of build/scripts-3.9/lst from 644 to 755 2023-01-10T19:55:01,032 changing mode of build/scripts-3.9/xrfi.py from 644 to 755 2023-01-10T19:55:01,032 changing mode of build/scripts-3.9/srclist.py from 644 to 755 2023-01-10T19:55:01,033 changing mode of build/scripts-3.9/apply_bp.py from 644 to 755 2023-01-10T19:55:01,033 changing mode of build/scripts-3.9/cl_img.py from 644 to 755 2023-01-10T19:55:01,034 changing mode of build/scripts-3.9/plot_img.py from 644 to 755 2023-01-10T19:55:01,034 changing mode of build/scripts-3.9/stokes_rotate.py from 644 to 755 2023-01-10T19:55:01,034 changing mode of build/scripts-3.9/rfi_diagnostic.py from 644 to 755 2023-01-10T19:55:01,035 changing mode of build/scripts-3.9/aipy_version.py from 644 to 755 2023-01-10T19:55:01,035 changing mode of build/scripts-3.9/uv_addsub.py from 644 to 755 2023-01-10T19:55:01,035 changing mode of build/scripts-3.9/mdlvis.py from 644 to 755 2023-01-10T19:55:01,036 changing mode of build/scripts-3.9/phs2src.py from 644 to 755 2023-01-10T19:55:01,036 changing mode of build/scripts-3.9/fitmdl.py from 644 to 755 2023-01-10T19:55:01,037 changing mode of build/scripts-3.9/find_delay.py from 644 to 755 2023-01-10T19:55:01,037 changing mode of build/scripts-3.9/pull_ants.py from 644 to 755 2023-01-10T19:55:01,037 changing mode of build/scripts-3.9/modmap.py from 644 to 755 2023-01-10T19:55:01,038 changing mode of build/scripts-3.9/xrfi_simple.py from 644 to 755 2023-01-10T19:55:01,038 changing mode of build/scripts-3.9/apply_cal.py from 644 to 755 2023-01-10T19:55:01,039 changing mode of build/scripts-3.9/mk_map.py from 644 to 755 2023-01-10T19:55:01,039 changing mode of build/scripts-3.9/plot_map.py from 644 to 755 2023-01-10T19:55:01,039 changing mode of build/scripts-3.9/pull_pol.py from 644 to 755 2023-01-10T19:55:01,040 changing mode of build/scripts-3.9/filter_src.py from 644 to 755 2023-01-10T19:55:01,040 changing mode of build/scripts-3.9/uvlist.py from 644 to 755 2023-01-10T19:55:01,041 changing mode of build/scripts-3.9/mk_img.py from 644 to 755 2023-01-10T19:55:01,041 changing mode of build/scripts-3.9/xtalk3.py from 644 to 755 2023-01-10T19:55:01,042 changing mode of build/scripts-3.9/inspect_phs_close.py from 644 to 755 2023-01-10T19:55:01,067 installing to build/bdist.linux-armv7l/wheel 2023-01-10T19:55:01,067 running install 2023-01-10T19:55:01,093 running install_lib 2023-01-10T19:55:01,103 creating build/bdist.linux-armv7l 2023-01-10T19:55:01,103 creating build/bdist.linux-armv7l/wheel 2023-01-10T19:55:01,106 creating build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,107 copying build/lib.linux-armv7l-cpython-39/aipy/__init__.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,109 copying build/lib.linux-armv7l-cpython-39/aipy/pol.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,111 copying build/lib.linux-armv7l-cpython-39/aipy/twodgauss.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,113 copying build/lib.linux-armv7l-cpython-39/aipy/src.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,115 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,128 copying build/lib.linux-armv7l-cpython-39/aipy/const.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,130 copying build/lib.linux-armv7l-cpython-39/aipy/_deconv.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,137 copying build/lib.linux-armv7l-cpython-39/aipy/interp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,139 copying build/lib.linux-armv7l-cpython-39/aipy/cal.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,141 copying build/lib.linux-armv7l-cpython-39/aipy/healpix.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,143 copying build/lib.linux-armv7l-cpython-39/aipy/map.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,146 creating build/bdist.linux-armv7l/wheel/aipy/utils 2023-01-10T19:55:01,147 copying build/lib.linux-armv7l-cpython-39/aipy/utils/utils.cpp -> build/bdist.linux-armv7l/wheel/aipy/utils 2023-01-10T19:55:01,150 copying build/lib.linux-armv7l-cpython-39/aipy/amp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,152 copying build/lib.linux-armv7l-cpython-39/aipy/dsp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,155 creating build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T19:55:01,156 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.cpp -> build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T19:55:01,159 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T19:55:01,162 creating build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,163 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pb.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,165 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calpass.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,167 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/model.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,169 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/dio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,171 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/select.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,173 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/headio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,176 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/intpio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,178 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvgn.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,180 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mir_io.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,183 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/key.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,186 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/xyio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,188 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ctrl.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,190 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/xyzio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,194 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/jplread.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,197 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivtext.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,203 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tabflux.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,205 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pack.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,208 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/trnio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,210 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mirconst.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,212 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maxnax.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,215 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calpoly.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,216 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/win.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,218 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivofm.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,221 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,226 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/plproc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,228 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maxdimc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,230 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,232 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/scrio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,234 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,236 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/miriad.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,238 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/obspar.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,240 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/args.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,242 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,245 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/size.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,247 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mostab.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,249 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calfit.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,251 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hdtab.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,253 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/bug.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,255 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tin.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,257 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/interface.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,259 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maskio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,261 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mapper.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,263 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/caldata.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,265 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivmenu.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,267 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_csub.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,269 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sysdep.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,271 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calapply.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,273 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/co.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,275 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/modp.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,277 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ofm.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,279 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/rest.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,281 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tmpdim.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,283 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/caldefs.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,285 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pcvt.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,287 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_mirRead.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,292 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calsubs.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,294 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivas.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,296 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tv.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,298 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/log.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,300 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,301 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvdat.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,304 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/boxes.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,305 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/io.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,307 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_data.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,310 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/fitsio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,312 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mem.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T19:55:01,314 copying build/lib.linux-armv7l-cpython-39/aipy/utils.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,318 creating build/bdist.linux-armv7l/wheel/aipy/_common 2023-01-10T19:55:01,319 copying build/lib.linux-armv7l-cpython-39/aipy/_common/aipy_compat.h -> build/bdist.linux-armv7l/wheel/aipy/_common 2023-01-10T19:55:01,322 creating build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T19:55:01,323 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/dsp.h -> build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T19:55:01,325 creating build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T19:55:01,326 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.h -> build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T19:55:01,328 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.c -> build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T19:55:01,330 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/dsp.c -> build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T19:55:01,332 copying build/lib.linux-armv7l-cpython-39/aipy/scripting.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,335 copying build/lib.linux-armv7l-cpython-39/aipy/fit.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,337 copying build/lib.linux-armv7l-cpython-39/aipy/coord.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,340 copying build/lib.linux-armv7l-cpython-39/aipy/_version.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,341 copying build/lib.linux-armv7l-cpython-39/aipy/miriad.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,344 copying build/lib.linux-armv7l-cpython-39/aipy/deconv.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,347 copying build/lib.linux-armv7l-cpython-39/aipy/rfi.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,349 creating build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,350 copying build/lib.linux-armv7l-cpython-39/aipy/_src/__init__.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,352 copying build/lib.linux-armv7l-cpython-39/aipy/_src/mrt.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,354 copying build/lib.linux-armv7l-cpython-39/aipy/_src/four_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,356 copying build/lib.linux-armv7l-cpython-39/aipy/_src/parkes.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,358 copying build/lib.linux-armv7l-cpython-39/aipy/_src/vlss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,360 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,362 copying build/lib.linux-armv7l-cpython-39/aipy/_src/wenss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,364 copying build/lib.linux-armv7l-cpython-39/aipy/_src/txs.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,366 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm_pos.txt -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,380 copying build/lib.linux-armv7l-cpython-39/aipy/_src/three_cr.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,383 copying build/lib.linux-armv7l-cpython-39/aipy/_src/paper.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,385 copying build/lib.linux-armv7l-cpython-39/aipy/_src/seven_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,387 copying build/lib.linux-armv7l-cpython-39/aipy/_src/three_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,388 copying build/lib.linux-armv7l-cpython-39/aipy/_src/six_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,390 copying build/lib.linux-armv7l-cpython-39/aipy/_src/misc.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,392 copying build/lib.linux-armv7l-cpython-39/aipy/_src/nvss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,394 copying build/lib.linux-armv7l-cpython-39/aipy/_src/gbsix.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,396 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm_fit.txt -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,399 copying build/lib.linux-armv7l-cpython-39/aipy/_src/culgoora.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T19:55:01,401 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,405 creating build/bdist.linux-armv7l/wheel/aipy/_deconv 2023-01-10T19:55:01,406 copying build/lib.linux-armv7l-cpython-39/aipy/_deconv/deconv.cpp -> build/bdist.linux-armv7l/wheel/aipy/_deconv 2023-01-10T19:55:01,410 copying build/lib.linux-armv7l-cpython-39/aipy/phs.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,412 copying build/lib.linux-armv7l-cpython-39/aipy/img.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T19:55:01,415 running install_egg_info 2023-01-10T19:55:01,426 Copying aipy.egg-info to build/bdist.linux-armv7l/wheel/aipy-3.0.5-py3.9.egg-info 2023-01-10T19:55:01,439 running install_scripts 2023-01-10T19:55:01,491 creating build/bdist.linux-armv7l/wheel/aipy-3.0.5.data 2023-01-10T19:55:01,491 creating build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,493 copying build/scripts-3.9/flux_cal.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,495 copying build/scripts-3.9/amp_close.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,497 copying build/scripts-3.9/compress_uv.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,499 copying build/scripts-3.9/combine_freqs.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,501 copying build/scripts-3.9/plot_uv.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,503 copying build/scripts-3.9/lst -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,505 copying build/scripts-3.9/xrfi.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,507 copying build/scripts-3.9/srclist.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,510 copying build/scripts-3.9/apply_bp.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,512 copying build/scripts-3.9/cl_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,514 copying build/scripts-3.9/plot_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,517 copying build/scripts-3.9/stokes_rotate.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,519 copying build/scripts-3.9/rfi_diagnostic.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,521 copying build/scripts-3.9/aipy_version.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,523 copying build/scripts-3.9/uv_addsub.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,525 copying build/scripts-3.9/mdlvis.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,527 copying build/scripts-3.9/phs2src.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,529 copying build/scripts-3.9/fitmdl.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,532 copying build/scripts-3.9/find_delay.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,534 copying build/scripts-3.9/pull_ants.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,536 copying build/scripts-3.9/modmap.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,538 copying build/scripts-3.9/xrfi_simple.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,540 copying build/scripts-3.9/apply_cal.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,542 copying build/scripts-3.9/mk_map.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,544 copying build/scripts-3.9/plot_map.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,547 copying build/scripts-3.9/pull_pol.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,548 copying build/scripts-3.9/filter_src.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,551 copying build/scripts-3.9/uvlist.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,553 copying build/scripts-3.9/mk_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,555 copying build/scripts-3.9/xtalk3.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,557 copying build/scripts-3.9/inspect_phs_close.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts 2023-01-10T19:55:01,560 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/flux_cal.py to 755 2023-01-10T19:55:01,560 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/amp_close.py to 755 2023-01-10T19:55:01,560 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/compress_uv.py to 755 2023-01-10T19:55:01,561 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/combine_freqs.py to 755 2023-01-10T19:55:01,561 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/plot_uv.py to 755 2023-01-10T19:55:01,562 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/lst to 755 2023-01-10T19:55:01,562 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/xrfi.py to 755 2023-01-10T19:55:01,562 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/srclist.py to 755 2023-01-10T19:55:01,563 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/apply_bp.py to 755 2023-01-10T19:55:01,563 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/cl_img.py to 755 2023-01-10T19:55:01,563 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/plot_img.py to 755 2023-01-10T19:55:01,564 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/stokes_rotate.py to 755 2023-01-10T19:55:01,564 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/rfi_diagnostic.py to 755 2023-01-10T19:55:01,565 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/aipy_version.py to 755 2023-01-10T19:55:01,565 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/uv_addsub.py to 755 2023-01-10T19:55:01,565 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/mdlvis.py to 755 2023-01-10T19:55:01,566 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/phs2src.py to 755 2023-01-10T19:55:01,566 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/fitmdl.py to 755 2023-01-10T19:55:01,566 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/find_delay.py to 755 2023-01-10T19:55:01,567 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/pull_ants.py to 755 2023-01-10T19:55:01,567 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/modmap.py to 755 2023-01-10T19:55:01,568 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/xrfi_simple.py to 755 2023-01-10T19:55:01,568 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/apply_cal.py to 755 2023-01-10T19:55:01,568 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/mk_map.py to 755 2023-01-10T19:55:01,569 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/plot_map.py to 755 2023-01-10T19:55:01,569 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/pull_pol.py to 755 2023-01-10T19:55:01,569 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/filter_src.py to 755 2023-01-10T19:55:01,570 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/uvlist.py to 755 2023-01-10T19:55:01,570 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/mk_img.py to 755 2023-01-10T19:55:01,570 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/xtalk3.py to 755 2023-01-10T19:55:01,571 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.5.data/scripts/inspect_phs_close.py to 755 2023-01-10T19:55:01,628 creating build/bdist.linux-armv7l/wheel/aipy-3.0.5.dist-info/WHEEL 2023-01-10T19:55:01,631 creating '/tmp/pip-wheel-9vxxgr94/.tmp-q6uxtdow/aipy-3.0.5-cp39-cp39-linux_armv7l.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-01-10T19:55:01,634 adding 'aipy/__init__.py' 2023-01-10T19:55:01,669 adding 'aipy/_deconv.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T19:55:01,678 adding 'aipy/_dsp.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T19:55:01,781 adding 'aipy/_miriad.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T19:55:01,785 adding 'aipy/_version.py' 2023-01-10T19:55:01,787 adding 'aipy/amp.py' 2023-01-10T19:55:01,789 adding 'aipy/cal.py' 2023-01-10T19:55:01,790 adding 'aipy/const.py' 2023-01-10T19:55:01,792 adding 'aipy/coord.py' 2023-01-10T19:55:01,794 adding 'aipy/deconv.py' 2023-01-10T19:55:01,796 adding 'aipy/dsp.py' 2023-01-10T19:55:01,798 adding 'aipy/fit.py' 2023-01-10T19:55:01,800 adding 'aipy/healpix.py' 2023-01-10T19:55:01,804 adding 'aipy/img.py' 2023-01-10T19:55:01,805 adding 'aipy/interp.py' 2023-01-10T19:55:01,807 adding 'aipy/map.py' 2023-01-10T19:55:01,810 adding 'aipy/miriad.py' 2023-01-10T19:55:01,813 adding 'aipy/phs.py' 2023-01-10T19:55:01,815 adding 'aipy/pol.py' 2023-01-10T19:55:01,816 adding 'aipy/rfi.py' 2023-01-10T19:55:01,819 adding 'aipy/scripting.py' 2023-01-10T19:55:01,820 adding 'aipy/src.py' 2023-01-10T19:55:01,822 adding 'aipy/twodgauss.py' 2023-01-10T19:55:01,836 adding 'aipy/utils.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T19:55:01,838 adding 'aipy/_common/aipy_compat.h' 2023-01-10T19:55:01,841 adding 'aipy/_deconv/deconv.cpp' 2023-01-10T19:55:01,843 adding 'aipy/_dsp/dsp.c' 2023-01-10T19:55:01,845 adding 'aipy/_dsp/dsp.h' 2023-01-10T19:55:01,847 adding 'aipy/_dsp/grid/grid.c' 2023-01-10T19:55:01,848 adding 'aipy/_dsp/grid/grid.h' 2023-01-10T19:55:01,852 adding 'aipy/_miriad/miriad_wrap.cpp' 2023-01-10T19:55:01,853 adding 'aipy/_miriad/miriad_wrap.h' 2023-01-10T19:55:01,857 adding 'aipy/_miriad/mir/args.h' 2023-01-10T19:55:01,858 adding 'aipy/_miriad/mir/boxes.h' 2023-01-10T19:55:01,860 adding 'aipy/_miriad/mir/bug.c' 2023-01-10T19:55:01,862 adding 'aipy/_miriad/mir/calapply.h' 2023-01-10T19:55:01,863 adding 'aipy/_miriad/mir/caldata.h' 2023-01-10T19:55:01,865 adding 'aipy/_miriad/mir/caldefs.h' 2023-01-10T19:55:01,866 adding 'aipy/_miriad/mir/calfit.h' 2023-01-10T19:55:01,867 adding 'aipy/_miriad/mir/calio.h' 2023-01-10T19:55:01,868 adding 'aipy/_miriad/mir/calpass.h' 2023-01-10T19:55:01,870 adding 'aipy/_miriad/mir/calpoly.h' 2023-01-10T19:55:01,871 adding 'aipy/_miriad/mir/calsubs.h' 2023-01-10T19:55:01,872 adding 'aipy/_miriad/mir/co.h' 2023-01-10T19:55:01,874 adding 'aipy/_miriad/mir/ctrl.h' 2023-01-10T19:55:01,876 adding 'aipy/_miriad/mir/dio.c' 2023-01-10T19:55:01,877 adding 'aipy/_miriad/mir/fitsio.h' 2023-01-10T19:55:01,878 adding 'aipy/_miriad/mir/hdtab.h' 2023-01-10T19:55:01,881 adding 'aipy/_miriad/mir/headio.c' 2023-01-10T19:55:01,887 adding 'aipy/_miriad/mir/hio.c' 2023-01-10T19:55:01,889 adding 'aipy/_miriad/mir/hio.h' 2023-01-10T19:55:01,890 adding 'aipy/_miriad/mir/interface.c' 2023-01-10T19:55:01,892 adding 'aipy/_miriad/mir/intpio.h' 2023-01-10T19:55:01,893 adding 'aipy/_miriad/mir/io.h' 2023-01-10T19:55:01,895 adding 'aipy/_miriad/mir/ivas.h' 2023-01-10T19:55:01,896 adding 'aipy/_miriad/mir/ivmenu.h' 2023-01-10T19:55:01,898 adding 'aipy/_miriad/mir/ivofm.h' 2023-01-10T19:55:01,901 adding 'aipy/_miriad/mir/ivtext.h' 2023-01-10T19:55:01,904 adding 'aipy/_miriad/mir/jplread.c' 2023-01-10T19:55:01,908 adding 'aipy/_miriad/mir/key.c' 2023-01-10T19:55:01,910 adding 'aipy/_miriad/mir/log.h' 2023-01-10T19:55:01,911 adding 'aipy/_miriad/mir/mapper.h' 2023-01-10T19:55:01,913 adding 'aipy/_miriad/mir/maskio.c' 2023-01-10T19:55:01,915 adding 'aipy/_miriad/mir/maxdimc.h' 2023-01-10T19:55:01,916 adding 'aipy/_miriad/mir/maxnax.h' 2023-01-10T19:55:01,917 adding 'aipy/_miriad/mir/mc.h' 2023-01-10T19:55:01,918 adding 'aipy/_miriad/mir/mem.h' 2023-01-10T19:55:01,921 adding 'aipy/_miriad/mir/mir_io.c' 2023-01-10T19:55:01,922 adding 'aipy/_miriad/mir/mirconst.h' 2023-01-10T19:55:01,925 adding 'aipy/_miriad/mir/miriad.h' 2023-01-10T19:55:01,926 adding 'aipy/_miriad/mir/model.h' 2023-01-10T19:55:01,927 adding 'aipy/_miriad/mir/modp.h' 2023-01-10T19:55:01,928 adding 'aipy/_miriad/mir/mostab.h' 2023-01-10T19:55:01,930 adding 'aipy/_miriad/mir/obspar.h' 2023-01-10T19:55:01,931 adding 'aipy/_miriad/mir/ofm.h' 2023-01-10T19:55:01,933 adding 'aipy/_miriad/mir/pack.c' 2023-01-10T19:55:01,935 adding 'aipy/_miriad/mir/pb.h' 2023-01-10T19:55:01,936 adding 'aipy/_miriad/mir/pcvt.h' 2023-01-10T19:55:01,937 adding 'aipy/_miriad/mir/plproc.h' 2023-01-10T19:55:01,938 adding 'aipy/_miriad/mir/rest.h' 2023-01-10T19:55:01,940 adding 'aipy/_miriad/mir/scrio.c' 2023-01-10T19:55:01,941 adding 'aipy/_miriad/mir/select.h' 2023-01-10T19:55:01,942 adding 'aipy/_miriad/mir/size.h' 2023-01-10T19:55:01,944 adding 'aipy/_miriad/mir/sma_csub.c' 2023-01-10T19:55:01,947 adding 'aipy/_miriad/mir/sma_data.h' 2023-01-10T19:55:01,964 adding 'aipy/_miriad/mir/sma_mirRead.c' 2023-01-10T19:55:01,967 adding 'aipy/_miriad/mir/sysdep.h' 2023-01-10T19:55:01,968 adding 'aipy/_miriad/mir/tabflux.h' 2023-01-10T19:55:01,969 adding 'aipy/_miriad/mir/tin.h' 2023-01-10T19:55:01,970 adding 'aipy/_miriad/mir/tmpdim.h' 2023-01-10T19:55:01,972 adding 'aipy/_miriad/mir/trnio.h' 2023-01-10T19:55:01,973 adding 'aipy/_miriad/mir/tv.h' 2023-01-10T19:55:01,975 adding 'aipy/_miriad/mir/uvdat.h' 2023-01-10T19:55:01,976 adding 'aipy/_miriad/mir/uvgn.h' 2023-01-10T19:55:01,995 adding 'aipy/_miriad/mir/uvio.c' 2023-01-10T19:55:01,997 adding 'aipy/_miriad/mir/win.h' 2023-01-10T19:55:02,000 adding 'aipy/_miriad/mir/xyio.c' 2023-01-10T19:55:02,010 adding 'aipy/_miriad/mir/xyzio.c' 2023-01-10T19:55:02,013 adding 'aipy/_src/__init__.py' 2023-01-10T19:55:02,014 adding 'aipy/_src/culgoora.py' 2023-01-10T19:55:02,016 adding 'aipy/_src/four_c.py' 2023-01-10T19:55:02,017 adding 'aipy/_src/gbsix.py' 2023-01-10T19:55:02,019 adding 'aipy/_src/helm.py' 2023-01-10T19:55:02,025 adding 'aipy/_src/helm_fit.txt' 2023-01-10T19:55:02,069 adding 'aipy/_src/helm_pos.txt' 2023-01-10T19:55:02,073 adding 'aipy/_src/misc.py' 2023-01-10T19:55:02,075 adding 'aipy/_src/mrt.py' 2023-01-10T19:55:02,076 adding 'aipy/_src/nvss.py' 2023-01-10T19:55:02,077 adding 'aipy/_src/paper.py' 2023-01-10T19:55:02,079 adding 'aipy/_src/parkes.py' 2023-01-10T19:55:02,080 adding 'aipy/_src/seven_c.py' 2023-01-10T19:55:02,082 adding 'aipy/_src/six_c.py' 2023-01-10T19:55:02,083 adding 'aipy/_src/three_c.py' 2023-01-10T19:55:02,084 adding 'aipy/_src/three_cr.py' 2023-01-10T19:55:02,086 adding 'aipy/_src/txs.py' 2023-01-10T19:55:02,087 adding 'aipy/_src/vlss.py' 2023-01-10T19:55:02,088 adding 'aipy/_src/wenss.py' 2023-01-10T19:55:02,091 adding 'aipy/utils/utils.cpp' 2023-01-10T19:55:02,093 adding 'aipy-3.0.5.data/scripts/aipy_version.py' 2023-01-10T19:55:02,095 adding 'aipy-3.0.5.data/scripts/amp_close.py' 2023-01-10T19:55:02,097 adding 'aipy-3.0.5.data/scripts/apply_bp.py' 2023-01-10T19:55:02,098 adding 'aipy-3.0.5.data/scripts/apply_cal.py' 2023-01-10T19:55:02,100 adding 'aipy-3.0.5.data/scripts/cl_img.py' 2023-01-10T19:55:02,101 adding 'aipy-3.0.5.data/scripts/combine_freqs.py' 2023-01-10T19:55:02,103 adding 'aipy-3.0.5.data/scripts/compress_uv.py' 2023-01-10T19:55:02,104 adding 'aipy-3.0.5.data/scripts/filter_src.py' 2023-01-10T19:55:02,106 adding 'aipy-3.0.5.data/scripts/find_delay.py' 2023-01-10T19:55:02,108 adding 'aipy-3.0.5.data/scripts/fitmdl.py' 2023-01-10T19:55:02,110 adding 'aipy-3.0.5.data/scripts/flux_cal.py' 2023-01-10T19:55:02,112 adding 'aipy-3.0.5.data/scripts/inspect_phs_close.py' 2023-01-10T19:55:02,113 adding 'aipy-3.0.5.data/scripts/lst' 2023-01-10T19:55:02,115 adding 'aipy-3.0.5.data/scripts/mdlvis.py' 2023-01-10T19:55:02,117 adding 'aipy-3.0.5.data/scripts/mk_img.py' 2023-01-10T19:55:02,119 adding 'aipy-3.0.5.data/scripts/mk_map.py' 2023-01-10T19:55:02,120 adding 'aipy-3.0.5.data/scripts/modmap.py' 2023-01-10T19:55:02,122 adding 'aipy-3.0.5.data/scripts/phs2src.py' 2023-01-10T19:55:02,124 adding 'aipy-3.0.5.data/scripts/plot_img.py' 2023-01-10T19:55:02,126 adding 'aipy-3.0.5.data/scripts/plot_map.py' 2023-01-10T19:55:02,128 adding 'aipy-3.0.5.data/scripts/plot_uv.py' 2023-01-10T19:55:02,130 adding 'aipy-3.0.5.data/scripts/pull_ants.py' 2023-01-10T19:55:02,131 adding 'aipy-3.0.5.data/scripts/pull_pol.py' 2023-01-10T19:55:02,133 adding 'aipy-3.0.5.data/scripts/rfi_diagnostic.py' 2023-01-10T19:55:02,135 adding 'aipy-3.0.5.data/scripts/srclist.py' 2023-01-10T19:55:02,136 adding 'aipy-3.0.5.data/scripts/stokes_rotate.py' 2023-01-10T19:55:02,137 adding 'aipy-3.0.5.data/scripts/uv_addsub.py' 2023-01-10T19:55:02,139 adding 'aipy-3.0.5.data/scripts/uvlist.py' 2023-01-10T19:55:02,140 adding 'aipy-3.0.5.data/scripts/xrfi.py' 2023-01-10T19:55:02,142 adding 'aipy-3.0.5.data/scripts/xrfi_simple.py' 2023-01-10T19:55:02,144 adding 'aipy-3.0.5.data/scripts/xtalk3.py' 2023-01-10T19:55:02,146 adding 'aipy-3.0.5.dist-info/LICENSE' 2023-01-10T19:55:02,152 adding 'aipy-3.0.5.dist-info/LICENSE-GPL' 2023-01-10T19:55:02,154 adding 'aipy-3.0.5.dist-info/METADATA' 2023-01-10T19:55:02,155 adding 'aipy-3.0.5.dist-info/WHEEL' 2023-01-10T19:55:02,156 adding 'aipy-3.0.5.dist-info/top_level.txt' 2023-01-10T19:55:02,158 adding 'aipy-3.0.5.dist-info/RECORD' 2023-01-10T19:55:02,173 removing build/bdist.linux-armv7l/wheel 2023-01-10T19:55:02,396 Building wheel for aipy (pyproject.toml): finished with status 'done' 2023-01-10T19:55:02,428 Created wheel for aipy: filename=aipy-3.0.5-cp39-cp39-linux_armv7l.whl size=756540 sha256=c3a42e58c2bf17a298c83632ba20ced2e2e1ddc7beb5cc1b40a7b4d484313073 2023-01-10T19:55:02,429 Stored in directory: /tmp/pip-ephem-wheel-cache-xbaqe2o7/wheels/5c/06/9e/a217e02c9e72260b098d1c0013e308df1ba89f221ae1bdabad 2023-01-10T19:55:02,447 Successfully built aipy 2023-01-10T19:55:02,488 Removed build tracker: '/tmp/pip-build-tracker-yu5hvkg2'