2023-01-10T18:36:23,718 Created temporary directory: /tmp/pip-ephem-wheel-cache-bcdxhtwk 2023-01-10T18:36:23,720 Created temporary directory: /tmp/pip-build-tracker-hshu58kl 2023-01-10T18:36:23,720 Initialized build tracking at /tmp/pip-build-tracker-hshu58kl 2023-01-10T18:36:23,720 Created build tracker: /tmp/pip-build-tracker-hshu58kl 2023-01-10T18:36:23,720 Entered build tracker: /tmp/pip-build-tracker-hshu58kl 2023-01-10T18:36:23,721 Created temporary directory: /tmp/pip-wheel-ww_8sf9f 2023-01-10T18:36:23,724 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-10T18:36:23,727 Created temporary directory: /tmp/pip-ephem-wheel-cache-3t_odya0 2023-01-10T18:36:23,754 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-01-10T18:36:23,757 2 location(s) to search for versions of aipy: 2023-01-10T18:36:23,757 * https://pypi.org/simple/aipy/ 2023-01-10T18:36:23,757 * https://www.piwheels.org/simple/aipy/ 2023-01-10T18:36:23,758 Fetching project page and analyzing links: https://pypi.org/simple/aipy/ 2023-01-10T18:36:23,758 Getting page https://pypi.org/simple/aipy/ 2023-01-10T18:36:23,759 Found index url https://pypi.org/simple 2023-01-10T18:36:23,813 Fetched page https://pypi.org/simple/aipy/ as application/vnd.pypi.simple.v1+json 2023-01-10T18:36:23,819 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-10T18:36:23,819 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-10T18:36:23,819 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-10T18:36:23,820 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-10T18:36:23,820 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-10T18:36:23,820 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-10T18:36:23,821 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-10T18:36:23,821 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-10T18:36:23,821 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-10T18:36:23,822 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-10T18:36:23,822 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-10T18:36:23,822 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-10T18:36:23,822 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-10T18:36:23,823 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-10T18:36:23,823 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-10T18:36:23,823 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-10T18:36:23,823 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-10T18:36:23,824 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-10T18:36:23,824 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-10T18:36:23,824 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-10T18:36:23,825 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-10T18:36:23,825 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-10T18:36:23,825 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-10T18:36:23,825 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-10T18:36:23,826 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-10T18:36:23,826 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-10T18:36:23,826 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-10T18:36:23,826 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-10T18:36:23,827 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-10T18:36:23,827 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-10T18:36:23,827 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-10T18:36:23,828 Fetching project page and analyzing links: https://www.piwheels.org/simple/aipy/ 2023-01-10T18:36:23,828 Getting page https://www.piwheels.org/simple/aipy/ 2023-01-10T18:36:23,829 Found index url https://www.piwheels.org/simple 2023-01-10T18:36:24,041 Fetched page https://www.piwheels.org/simple/aipy/ as text/html 2023-01-10T18:36:24,049 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-10T18:36:24,049 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-10T18:36:24,049 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-10T18:36:24,050 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-10T18:36:24,050 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-10T18:36:24,050 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-10T18:36:24,050 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-10T18:36:24,051 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-10T18:36:24,051 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-10T18:36:24,051 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-10T18:36:24,051 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-10T18:36:24,051 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-10T18:36:24,052 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-10T18:36:24,052 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-10T18:36:24,052 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-10T18:36:24,052 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-10T18:36:24,052 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-10T18:36:24,053 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-10T18:36:24,053 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-10T18:36:24,053 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-10T18:36:24,053 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-10T18:36:24,053 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-10T18:36:24,054 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-10T18:36:24,054 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-10T18:36:24,054 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-10T18:36:24,054 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-10T18:36:24,055 Skipping link: not a file: https://www.piwheels.org/simple/aipy/ 2023-01-10T18:36:24,055 Skipping link: not a file: https://pypi.org/simple/aipy/ 2023-01-10T18:36:24,077 Given no hashes to check 1 links for project 'aipy': discarding no candidates 2023-01-10T18:36:24,094 Collecting aipy==3.0.3 2023-01-10T18:36:24,096 Created temporary directory: /tmp/pip-unpack-tfdu0t88 2023-01-10T18:36:24,167 Downloading aipy-3.0.3.tar.gz (600 kB) 2023-01-10T18:36:24,798 Added aipy==3.0.3 from https://files.pythonhosted.org/packages/f6/f0/6dcc90871f5cb5f1e76996f2182e87f83815406f286f90321557907e7232/aipy-3.0.3.tar.gz to build tracker '/tmp/pip-build-tracker-hshu58kl' 2023-01-10T18:36:24,805 Created temporary directory: /tmp/pip-build-env-a1tknqkh 2023-01-10T18:36:24,812 Installing build dependencies: started 2023-01-10T18:36:24,813 Running command pip subprocess to install build dependencies 2023-01-10T18:36:26,049 Using pip 22.3 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9) 2023-01-10T18:36:26,437 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-10T18:36:26,462 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-01-10T18:36:28,076 Collecting setuptools>=42 2023-01-10T18:36:28,205 Using cached https://www.piwheels.org/simple/setuptools/setuptools-65.6.3-py3-none-any.whl (1.2 MB) 2023-01-10T18:36:28,474 Collecting wheel 2023-01-10T18:36:28,497 Using cached https://www.piwheels.org/simple/wheel/wheel-0.38.4-py3-none-any.whl (36 kB) 2023-01-10T18:36:29,642 Collecting numpy 2023-01-10T18:36:30,778 Using cached https://www.piwheels.org/simple/numpy/numpy-1.24.1-cp39-cp39-linux_armv7l.whl (12.3 MB) 2023-01-10T18:36:31,476 Collecting setuptools-scm[toml]>=6.2 2023-01-10T18:36:31,493 Using cached https://www.piwheels.org/simple/setuptools-scm/setuptools_scm-7.1.0-py3-none-any.whl (43 kB) 2023-01-10T18:36:31,709 Collecting packaging>=20.0 2023-01-10T18:36:31,728 Using cached https://www.piwheels.org/simple/packaging/packaging-23.0-py3-none-any.whl (42 kB) 2023-01-10T18:36:31,845 Collecting tomli>=1.0.0 2023-01-10T18:36:31,862 Using cached https://www.piwheels.org/simple/tomli/tomli-2.0.1-py3-none-any.whl (12 kB) 2023-01-10T18:36:31,986 Collecting typing-extensions 2023-01-10T18:36:32,002 Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.4.0-py3-none-any.whl (26 kB) 2023-01-10T18:36:33,918 Installing collected packages: wheel, typing-extensions, tomli, setuptools, packaging, numpy, setuptools-scm 2023-01-10T18:36:34,073 Creating /tmp/pip-build-env-a1tknqkh/overlay/bin 2023-01-10T18:36:34,076 changing mode of /tmp/pip-build-env-a1tknqkh/overlay/bin/wheel to 755 2023-01-10T18:36:45,769 changing mode of /tmp/pip-build-env-a1tknqkh/overlay/bin/f2py to 755 2023-01-10T18:36:45,771 changing mode of /tmp/pip-build-env-a1tknqkh/overlay/bin/f2py3 to 755 2023-01-10T18:36:45,773 changing mode of /tmp/pip-build-env-a1tknqkh/overlay/bin/f2py3.9 to 755 2023-01-10T18:36:46,003 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-10T18:36:46,017 [notice] A new release of pip available: 22.3 -> 22.3.1 2023-01-10T18:36:46,018 [notice] To update, run: python3 -m pip install --upgrade pip 2023-01-10T18:36:46,355 Installing build dependencies: finished with status 'done' 2023-01-10T18:36:46,361 Getting requirements to build wheel: started 2023-01-10T18:36:46,362 Running command Getting requirements to build wheel 2023-01-10T18:36:47,570 Getting requirements to build wheel: finished with status 'done' 2023-01-10T18:36:47,585 Created temporary directory: /tmp/pip-modern-metadata-kivao4h4 2023-01-10T18:36:47,588 Preparing metadata (pyproject.toml): started 2023-01-10T18:36:47,589 Running command Preparing metadata (pyproject.toml) 2023-01-10T18:36:48,551 /tmp/pip-build-env-a1tknqkh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'use_setuptools_scm' 2023-01-10T18:36:48,552 warnings.warn(msg) 2023-01-10T18:36:48,678 running dist_info 2023-01-10T18:36:48,701 creating /tmp/pip-modern-metadata-kivao4h4/aipy.egg-info 2023-01-10T18:36:48,707 writing /tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/PKG-INFO 2023-01-10T18:36:48,710 writing dependency_links to /tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/dependency_links.txt 2023-01-10T18:36:48,713 writing requirements to /tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/requires.txt 2023-01-10T18:36:48,714 writing top-level names to /tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/top_level.txt 2023-01-10T18:36:48,715 writing manifest file '/tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/SOURCES.txt' 2023-01-10T18:36:48,831 listing git files failed - pretending there aren't any 2023-01-10T18:36:48,844 reading manifest file '/tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/SOURCES.txt' 2023-01-10T18:36:48,849 reading manifest template 'MANIFEST.in' 2023-01-10T18:36:48,906 warning: no previously-included files matching '*.so' found anywhere in distribution 2023-01-10T18:36:48,907 warning: no previously-included files matching '*.dylib' found anywhere in distribution 2023-01-10T18:36:48,907 warning: no previously-included files matching '*~' found anywhere in distribution 2023-01-10T18:36:48,908 warning: no previously-included files matching '*.pyc' found anywhere in distribution 2023-01-10T18:36:48,909 warning: no previously-included files matching '*.pyo' found anywhere in distribution 2023-01-10T18:36:48,910 warning: no previously-included files matching '__pycache__' found anywhere in distribution 2023-01-10T18:36:48,911 warning: no previously-included files matching '.gitignore' found anywhere in distribution 2023-01-10T18:36:48,911 adding license file 'LICENSE' 2023-01-10T18:36:48,911 adding license file 'LICENSE-GPL' 2023-01-10T18:36:48,920 writing manifest file '/tmp/pip-modern-metadata-kivao4h4/aipy.egg-info/SOURCES.txt' 2023-01-10T18:36:48,921 creating '/tmp/pip-modern-metadata-kivao4h4/aipy-3.0.3.dist-info' 2023-01-10T18:36:49,173 Preparing metadata (pyproject.toml): finished with status 'done' 2023-01-10T18:36:49,180 Source in /tmp/pip-wheel-ww_8sf9f/aipy_353dd35548804dbeab1d09d2f914f808 has version 3.0.3, which satisfies requirement aipy==3.0.3 from https://files.pythonhosted.org/packages/f6/f0/6dcc90871f5cb5f1e76996f2182e87f83815406f286f90321557907e7232/aipy-3.0.3.tar.gz 2023-01-10T18:36:49,181 Removed aipy==3.0.3 from https://files.pythonhosted.org/packages/f6/f0/6dcc90871f5cb5f1e76996f2182e87f83815406f286f90321557907e7232/aipy-3.0.3.tar.gz from build tracker '/tmp/pip-build-tracker-hshu58kl' 2023-01-10T18:36:49,186 Created temporary directory: /tmp/pip-unpack-0l9ozkyq 2023-01-10T18:36:49,187 Building wheels for collected packages: aipy 2023-01-10T18:36:49,192 Created temporary directory: /tmp/pip-wheel-8vmul0y6 2023-01-10T18:36:49,192 Destination directory: /tmp/pip-wheel-8vmul0y6 2023-01-10T18:36:49,195 Building wheel for aipy (pyproject.toml): started 2023-01-10T18:36:49,196 Running command Building wheel for aipy (pyproject.toml) 2023-01-10T18:36:50,122 /tmp/pip-build-env-a1tknqkh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'use_setuptools_scm' 2023-01-10T18:36:50,123 warnings.warn(msg) 2023-01-10T18:36:50,266 running bdist_wheel 2023-01-10T18:36:50,337 running build 2023-01-10T18:36:50,338 running build_py 2023-01-10T18:36:50,349 creating build 2023-01-10T18:36:50,350 creating build/lib.linux-armv7l-cpython-39 2023-01-10T18:36:50,350 creating build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,352 copying aipy/__init__.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,354 copying aipy/pol.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,357 copying aipy/twodgauss.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,359 copying aipy/src.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,361 copying aipy/const.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,363 copying aipy/interp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,365 copying aipy/cal.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,367 copying aipy/healpix.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,370 copying aipy/map.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,372 copying aipy/amp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,375 copying aipy/dsp.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,377 copying aipy/scripting.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,380 copying aipy/fit.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,383 copying aipy/coord.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,385 copying aipy/_version.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,387 copying aipy/miriad.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,389 copying aipy/deconv.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,392 copying aipy/rfi.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,394 copying aipy/phs.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,397 copying aipy/img.py -> build/lib.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,401 creating build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,402 copying aipy/_src/__init__.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,404 copying aipy/_src/mrt.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,406 copying aipy/_src/four_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,408 copying aipy/_src/parkes.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,410 copying aipy/_src/vlss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,412 copying aipy/_src/helm.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,415 copying aipy/_src/wenss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,417 copying aipy/_src/txs.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,418 copying aipy/_src/three_cr.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,421 copying aipy/_src/paper.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,422 copying aipy/_src/seven_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,424 copying aipy/_src/three_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,426 copying aipy/_src/six_c.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,428 copying aipy/_src/misc.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,430 copying aipy/_src/nvss.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,432 copying aipy/_src/gbsix.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,434 copying aipy/_src/culgoora.py -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,436 running egg_info 2023-01-10T18:36:50,461 writing aipy.egg-info/PKG-INFO 2023-01-10T18:36:50,463 writing dependency_links to aipy.egg-info/dependency_links.txt 2023-01-10T18:36:50,466 writing requirements to aipy.egg-info/requires.txt 2023-01-10T18:36:50,468 writing top-level names to aipy.egg-info/top_level.txt 2023-01-10T18:36:50,510 listing git files failed - pretending there aren't any 2023-01-10T18:36:50,523 reading manifest file 'aipy.egg-info/SOURCES.txt' 2023-01-10T18:36:50,534 reading manifest template 'MANIFEST.in' 2023-01-10T18:36:50,591 warning: no previously-included files matching '*.so' found anywhere in distribution 2023-01-10T18:36:50,592 warning: no previously-included files matching '*.dylib' found anywhere in distribution 2023-01-10T18:36:50,593 warning: no previously-included files matching '*~' found anywhere in distribution 2023-01-10T18:36:50,595 warning: no previously-included files matching '*.pyc' found anywhere in distribution 2023-01-10T18:36:50,596 warning: no previously-included files matching '*.pyo' found anywhere in distribution 2023-01-10T18:36:50,597 warning: no previously-included files matching '__pycache__' found anywhere in distribution 2023-01-10T18:36:50,598 warning: no previously-included files matching '.gitignore' found anywhere in distribution 2023-01-10T18:36:50,598 adding license file 'LICENSE' 2023-01-10T18:36:50,598 adding license file 'LICENSE-GPL' 2023-01-10T18:36:50,610 writing manifest file 'aipy.egg-info/SOURCES.txt' 2023-01-10T18:36:50,615 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,615 !! 2023-01-10T18:36:50,615 ############################ 2023-01-10T18:36:50,615 # Package would be ignored # 2023-01-10T18:36:50,616 ############################ 2023-01-10T18:36:50,616 Python recognizes 'aipy._common' as an importable package, 2023-01-10T18:36:50,616 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,616 'aipy._common' has been automatically added to the distribution only 2023-01-10T18:36:50,616 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,616 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,616 Please make sure that 'aipy._common' is included as a package by using 2023-01-10T18:36:50,617 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,617 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,617 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,617 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,617 documentation page. 2023-01-10T18:36:50,617 !! 2023-01-10T18:36:50,618 check.warn(importable) 2023-01-10T18:36:50,618 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,618 !! 2023-01-10T18:36:50,618 ############################ 2023-01-10T18:36:50,618 # Package would be ignored # 2023-01-10T18:36:50,619 ############################ 2023-01-10T18:36:50,619 Python recognizes 'aipy._deconv' as an importable package, 2023-01-10T18:36:50,619 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,619 'aipy._deconv' has been automatically added to the distribution only 2023-01-10T18:36:50,619 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,619 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,619 Please make sure that 'aipy._deconv' is included as a package by using 2023-01-10T18:36:50,620 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,620 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,620 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,620 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,620 documentation page. 2023-01-10T18:36:50,620 !! 2023-01-10T18:36:50,621 check.warn(importable) 2023-01-10T18:36:50,621 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,621 !! 2023-01-10T18:36:50,621 ############################ 2023-01-10T18:36:50,621 # Package would be ignored # 2023-01-10T18:36:50,622 ############################ 2023-01-10T18:36:50,622 Python recognizes 'aipy._dsp' as an importable package, 2023-01-10T18:36:50,622 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,622 'aipy._dsp' has been automatically added to the distribution only 2023-01-10T18:36:50,622 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,622 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,622 Please make sure that 'aipy._dsp' is included as a package by using 2023-01-10T18:36:50,623 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,623 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,623 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,623 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,623 documentation page. 2023-01-10T18:36:50,623 !! 2023-01-10T18:36:50,624 check.warn(importable) 2023-01-10T18:36:50,624 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,624 !! 2023-01-10T18:36:50,624 ############################ 2023-01-10T18:36:50,624 # Package would be ignored # 2023-01-10T18:36:50,624 ############################ 2023-01-10T18:36:50,625 Python recognizes 'aipy._dsp.grid' as an importable package, 2023-01-10T18:36:50,625 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,625 'aipy._dsp.grid' has been automatically added to the distribution only 2023-01-10T18:36:50,625 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,625 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,625 Please make sure that 'aipy._dsp.grid' is included as a package by using 2023-01-10T18:36:50,625 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,626 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,626 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,626 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,626 documentation page. 2023-01-10T18:36:50,626 !! 2023-01-10T18:36:50,627 check.warn(importable) 2023-01-10T18:36:50,627 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,627 !! 2023-01-10T18:36:50,627 ############################ 2023-01-10T18:36:50,627 # Package would be ignored # 2023-01-10T18:36:50,627 ############################ 2023-01-10T18:36:50,627 Python recognizes 'aipy._miriad' as an importable package, 2023-01-10T18:36:50,628 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,628 'aipy._miriad' has been automatically added to the distribution only 2023-01-10T18:36:50,628 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,628 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,628 Please make sure that 'aipy._miriad' is included as a package by using 2023-01-10T18:36:50,628 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,628 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,629 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,629 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,629 documentation page. 2023-01-10T18:36:50,629 !! 2023-01-10T18:36:50,629 check.warn(importable) 2023-01-10T18:36:50,630 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,630 !! 2023-01-10T18:36:50,630 ############################ 2023-01-10T18:36:50,630 # Package would be ignored # 2023-01-10T18:36:50,630 ############################ 2023-01-10T18:36:50,630 Python recognizes 'aipy._miriad.mir' as an importable package, 2023-01-10T18:36:50,631 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,631 'aipy._miriad.mir' has been automatically added to the distribution only 2023-01-10T18:36:50,631 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,631 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,631 Please make sure that 'aipy._miriad.mir' is included as a package by using 2023-01-10T18:36:50,631 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,632 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,632 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,632 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,632 documentation page. 2023-01-10T18:36:50,632 !! 2023-01-10T18:36:50,633 check.warn(importable) 2023-01-10T18:36:50,633 /tmp/pip-build-env-a1tknqkh/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-10T18:36:50,633 !! 2023-01-10T18:36:50,633 ############################ 2023-01-10T18:36:50,633 # Package would be ignored # 2023-01-10T18:36:50,634 ############################ 2023-01-10T18:36:50,634 Python recognizes 'aipy.utils' as an importable package, 2023-01-10T18:36:50,634 but it is not listed in the `packages` configuration of setuptools. 2023-01-10T18:36:50,634 'aipy.utils' has been automatically added to the distribution only 2023-01-10T18:36:50,634 because it may contain data files, but this behavior is likely to change 2023-01-10T18:36:50,634 in future versions of setuptools (and therefore is considered deprecated). 2023-01-10T18:36:50,635 Please make sure that 'aipy.utils' is included as a package by using 2023-01-10T18:36:50,635 the `packages` configuration field or the proper discovery methods 2023-01-10T18:36:50,635 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-01-10T18:36:50,635 instead of `find_packages(...)`/`find:`). 2023-01-10T18:36:50,635 You can read more about "package discovery" and "data files" on setuptools 2023-01-10T18:36:50,635 documentation page. 2023-01-10T18:36:50,636 !! 2023-01-10T18:36:50,636 check.warn(importable) 2023-01-10T18:36:50,636 creating build/lib.linux-armv7l-cpython-39/aipy/_common 2023-01-10T18:36:50,636 copying aipy/_common/aipy_compat.h -> build/lib.linux-armv7l-cpython-39/aipy/_common 2023-01-10T18:36:50,636 creating build/lib.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T18:36:50,636 copying aipy/_deconv/deconv.cpp -> build/lib.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T18:36:50,640 creating build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T18:36:50,640 copying aipy/_dsp/dsp.c -> build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T18:36:50,644 copying aipy/_dsp/dsp.h -> build/lib.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T18:36:50,646 creating build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T18:36:50,647 copying aipy/_dsp/grid/grid.c -> build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T18:36:50,650 copying aipy/_dsp/grid/grid.h -> build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T18:36:50,652 creating build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T18:36:50,653 copying aipy/_miriad/miriad_wrap.cpp -> build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T18:36:50,656 copying aipy/_miriad/miriad_wrap.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T18:36:50,659 creating build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,660 copying aipy/_miriad/mir/args.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,662 copying aipy/_miriad/mir/boxes.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,664 copying aipy/_miriad/mir/bug.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,667 copying aipy/_miriad/mir/calapply.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,669 copying aipy/_miriad/mir/caldata.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,672 copying aipy/_miriad/mir/caldefs.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,674 copying aipy/_miriad/mir/calfit.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,676 copying aipy/_miriad/mir/calio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,678 copying aipy/_miriad/mir/calpass.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,681 copying aipy/_miriad/mir/calpoly.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,683 copying aipy/_miriad/mir/calsubs.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,685 copying aipy/_miriad/mir/co.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,687 copying aipy/_miriad/mir/ctrl.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,690 copying aipy/_miriad/mir/dio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,693 copying aipy/_miriad/mir/fitsio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,695 copying aipy/_miriad/mir/hdtab.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,697 copying aipy/_miriad/mir/headio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,700 copying aipy/_miriad/mir/hio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,704 copying aipy/_miriad/mir/hio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,707 copying aipy/_miriad/mir/interface.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,709 copying aipy/_miriad/mir/intpio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,711 copying aipy/_miriad/mir/io.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,714 copying aipy/_miriad/mir/ivas.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,716 copying aipy/_miriad/mir/ivmenu.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,719 copying aipy/_miriad/mir/ivofm.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,722 copying aipy/_miriad/mir/ivtext.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,725 copying aipy/_miriad/mir/jplread.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,728 copying aipy/_miriad/mir/key.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,732 copying aipy/_miriad/mir/log.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,734 copying aipy/_miriad/mir/mapper.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,736 copying aipy/_miriad/mir/maskio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,739 copying aipy/_miriad/mir/maxdimc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,742 copying aipy/_miriad/mir/maxnax.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,744 copying aipy/_miriad/mir/mc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,746 copying aipy/_miriad/mir/mem.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,748 copying aipy/_miriad/mir/mir_io.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,752 copying aipy/_miriad/mir/mirconst.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,754 copying aipy/_miriad/mir/miriad.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,757 copying aipy/_miriad/mir/model.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,759 copying aipy/_miriad/mir/modp.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,762 copying aipy/_miriad/mir/mostab.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,764 copying aipy/_miriad/mir/obspar.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,767 copying aipy/_miriad/mir/ofm.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,769 copying aipy/_miriad/mir/pack.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,772 copying aipy/_miriad/mir/pb.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,774 copying aipy/_miriad/mir/pcvt.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,776 copying aipy/_miriad/mir/plproc.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,778 copying aipy/_miriad/mir/rest.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,781 copying aipy/_miriad/mir/scrio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,783 copying aipy/_miriad/mir/select.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,785 copying aipy/_miriad/mir/size.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,787 copying aipy/_miriad/mir/sma_csub.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,790 copying aipy/_miriad/mir/sma_data.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,794 copying aipy/_miriad/mir/sma_mirRead.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,799 copying aipy/_miriad/mir/sysdep.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,802 copying aipy/_miriad/mir/tabflux.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,804 copying aipy/_miriad/mir/tin.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,806 copying aipy/_miriad/mir/tmpdim.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,808 copying aipy/_miriad/mir/trnio.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,810 copying aipy/_miriad/mir/tv.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,813 copying aipy/_miriad/mir/uvdat.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,815 copying aipy/_miriad/mir/uvgn.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,817 copying aipy/_miriad/mir/uvio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,824 copying aipy/_miriad/mir/win.h -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,826 copying aipy/_miriad/mir/xyio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,829 copying aipy/_miriad/mir/xyzio.c -> build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,833 creating build/lib.linux-armv7l-cpython-39/aipy/utils 2023-01-10T18:36:50,834 copying aipy/utils/utils.cpp -> build/lib.linux-armv7l-cpython-39/aipy/utils 2023-01-10T18:36:50,837 copying aipy/_src/helm_fit.txt -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,840 copying aipy/_src/helm_pos.txt -> build/lib.linux-armv7l-cpython-39/aipy/_src 2023-01-10T18:36:50,855 running build_ext 2023-01-10T18:36:50,861 building 'aipy._miriad' extension 2023-01-10T18:36:50,862 creating build/temp.linux-armv7l-cpython-39 2023-01-10T18:36:50,863 creating build/temp.linux-armv7l-cpython-39/aipy 2023-01-10T18:36:50,864 creating build/temp.linux-armv7l-cpython-39/aipy/_miriad 2023-01-10T18:36:50,864 creating build/temp.linux-armv7l-cpython-39/aipy/_miriad/mir 2023-01-10T18:36:50,866 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-a1tknqkh/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-10T18:36:51,363 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-a1tknqkh/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-10T18:36:51,942 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-a1tknqkh/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-10T18:36:52,278 In file included from aipy/_miriad/mir/io.h:21, 2023-01-10T18:36:52,279 from aipy/_miriad/mir/headio.c:40: 2023-01-10T18:36:52,279 aipy/_miriad/mir/headio.c: In function ‘rdhda_c’: 2023-01-10T18:36:52,279 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-10T18:36:52,279 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T18:36:52,279 | ^ 2023-01-10T18:36:52,279 aipy/_miriad/mir/headio.c:630:14: note: in expansion of macro ‘min’ 2023-01-10T18:36:52,280 630 | length = min(strlen(defval),len-1); 2023-01-10T18:36:52,280 | ^~~ 2023-01-10T18:36:52,280 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-10T18:36:52,280 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T18:36:52,280 | ^~~ 2023-01-10T18:36:52,280 aipy/_miriad/mir/headio.c:630:14: note: in expansion of macro ‘min’ 2023-01-10T18:36:52,280 630 | length = min(strlen(defval),len-1); 2023-01-10T18:36:52,281 | ^~~ 2023-01-10T18:36:52,281 aipy/_miriad/mir/headio.c: In function ‘hdcopy_c’: 2023-01-10T18:36:52,281 aipy/_miriad/mir/hio.h:45:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2023-01-10T18:36:52,281 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T18:36:52,281 | ^ 2023-01-10T18:36:52,281 aipy/_miriad/mir/headio.c:665:14: note: in expansion of macro ‘min’ 2023-01-10T18:36:52,282 665 | length = min(size - offset, sizeof(buf)); 2023-01-10T18:36:52,282 | ^~~ 2023-01-10T18:36:52,282 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-10T18:36:52,282 45 | #define min(a,b) ((a)<(b)?(a):(b)) 2023-01-10T18:36:52,282 | ^~~ 2023-01-10T18:36:52,282 aipy/_miriad/mir/headio.c:665:14: note: in expansion of macro ‘min’ 2023-01-10T18:36:52,282 665 | length = min(size - offset, sizeof(buf)); 2023-01-10T18:36:52,283 | ^~~ 2023-01-10T18:36:52,938 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-a1tknqkh/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-10T18:36:54,391 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-a1tknqkh/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-10T18:36:55,226 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-a1tknqkh/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-10T18:36:55,735 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-a1tknqkh/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-10T18:36:57,310 aipy/_miriad/mir/uvio.c: In function ‘uv_mkvar.part.0’: 2023-01-10T18:36:57,310 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-10T18:36:57,311 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T18:36:57,311 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,311 aipy/_miriad/mir/uvio.c:329:47: note: in definition of macro ‘ERROR’ 2023-01-10T18:36:57,311 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T18:36:57,311 | ^ 2023-01-10T18:36:57,312 aipy/_miriad/mir/uvio.c:1238:43: note: format string is defined here 2023-01-10T18:36:57,312 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T18:36:57,312 | ^~ 2023-01-10T18:36:57,317 aipy/_miriad/mir/uvio.c:329:39: note: ‘sprintf’ output between 52 and 2147483688 bytes into a destination of size 128 2023-01-10T18:36:57,317 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T18:36:57,317 | ^~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,317 330 | #define CHECK(x,a) if(x) { bug_c('w',((void)sprintf a,message)); \ 2023-01-10T18:36:57,317 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,318 331 | bugno_c('f',x); \ 2023-01-10T18:36:57,318 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,318 332 | } 2023-01-10T18:36:57,318 | ~ 2023-01-10T18:36:57,318 333 | 2023-01-10T18:36:57,318 | 2023-01-10T18:36:57,318 334 | #define uvputvra_c(tno,name,value) \ 2023-01-10T18:36:57,318 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,319 335 | uvputvr_c(tno,H_BYTE,name,value,strlen(value)) 2023-01-10T18:36:57,319 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,319 336 | #define uvputvrj_c(tno,name,value,n) \ 2023-01-10T18:36:57,319 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,319 337 | uvputvr_c(tno,H_INT2,name,(char *)(value),n) 2023-01-10T18:36:57,319 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,319 338 | #define uvputvri_c(tno,name,value,n) \ 2023-01-10T18:36:57,319 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,319 339 | uvputvr_c(tno,H_INT,name,(char *)(value),n) 2023-01-10T18:36:57,320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,320 340 | #define uvputvrr_c(tno,name,value,n) \ 2023-01-10T18:36:57,320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,320 341 | uvputvr_c(tno,H_REAL,name,(char *)(value),n) 2023-01-10T18:36:57,320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,320 342 | #define uvputvrd_c(tno,name,value,n) \ 2023-01-10T18:36:57,320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,320 343 | uvputvr_c(tno,H_DBLE,name,(char *)(value),n) 2023-01-10T18:36:57,320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,321 344 | #define uvputvrc_c(tno,name,value,n) \ 2023-01-10T18:36:57,321 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,321 345 | uvputvr_c(tno,H_CMPLX,name,(char *)(value),n) 2023-01-10T18:36:57,321 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,321 346 | 2023-01-10T18:36:57,321 | 2023-01-10T18:36:57,321 347 | #define VARLEN(var) ( (var)->length / external_size[(var)->type] ) 2023-01-10T18:36:57,321 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,321 348 | #define VARTYPE(var) ( type_flag[(var)->type] ) 2023-01-10T18:36:57,322 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,322 349 | 2023-01-10T18:36:57,322 | 2023-01-10T18:36:57,322 350 | #define NUMCHAN(var) ((var)->type == H_INT2 || (var)->type == H_REAL ? \ 2023-01-10T18:36:57,322 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,322 351 | (var)->length / (2*external_size[(var)->type]) : \ 2023-01-10T18:36:57,322 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,322 352 | (var)->length / external_size[(var)->type] ) 2023-01-10T18:36:57,322 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,323 353 | 2023-01-10T18:36:57,323 | 2023-01-10T18:36:57,323 354 | #define MYABS(x) ( (x) > 0 ? (x) : -(x) ) 2023-01-10T18:36:57,323 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,323 355 | 2023-01-10T18:36:57,323 | 2023-01-10T18:36:57,323 356 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,323 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,323 357 | /* */ 2023-01-10T18:36:57,324 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,324 358 | /* Types and static variables. */ 2023-01-10T18:36:57,324 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,324 359 | /* */ 2023-01-10T18:36:57,324 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,324 360 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,324 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,324 361 | 2023-01-10T18:36:57,324 | 2023-01-10T18:36:57,325 362 | static char message[MAXLINE]; 2023-01-10T18:36:57,325 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,325 363 | static int internal_size[10]; 2023-01-10T18:36:57,325 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,325 364 | static int external_size[10]; 2023-01-10T18:36:57,325 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,325 365 | static char type_flag[10]; 2023-01-10T18:36:57,325 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,325 366 | 2023-01-10T18:36:57,325 | 2023-01-10T18:36:57,326 367 | static char var_data_hdr[UV_HDR_SIZE]={0,0,VAR_DATA,0}; 2023-01-10T18:36:57,326 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,326 368 | static char var_size_hdr[UV_HDR_SIZE]={0,0,VAR_SIZE,0}; 2023-01-10T18:36:57,326 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,326 369 | static char var_eor_hdr[UV_HDR_SIZE]={0,0,VAR_EOR,0}; 2023-01-10T18:36:57,326 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,326 370 | 2023-01-10T18:36:57,326 | 2023-01-10T18:36:57,326 371 | 2023-01-10T18:36:57,327 | 2023-01-10T18:36:57,327 372 | typedef struct variable{ 2023-01-10T18:36:57,327 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,327 373 | char *buf,name[MAXNAM+1]; 2023-01-10T18:36:57,327 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,327 374 | int length,flength,flags,type,index,callno; 2023-01-10T18:36:57,327 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,327 375 | struct variable *fwd; 2023-01-10T18:36:57,327 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,328 376 | } VARIABLE; 2023-01-10T18:36:57,328 | ~~~~~~~~~~~ 2023-01-10T18:36:57,328 377 | 2023-01-10T18:36:57,328 | 2023-01-10T18:36:57,328 378 | typedef struct varpnt{ 2023-01-10T18:36:57,328 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,328 379 | VARIABLE *v; 2023-01-10T18:36:57,328 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,328 380 | struct varpnt *fwd; 2023-01-10T18:36:57,329 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,329 381 | } VARPNT; 2023-01-10T18:36:57,329 | ~~~~~~~~~ 2023-01-10T18:36:57,329 382 | 2023-01-10T18:36:57,329 | 2023-01-10T18:36:57,329 383 | typedef struct varhand{ 2023-01-10T18:36:57,329 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,329 384 | int tno,callno,index; 2023-01-10T18:36:57,329 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,329 385 | struct varhand *fwd; 2023-01-10T18:36:57,330 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,330 386 | VARPNT *varhd; 2023-01-10T18:36:57,330 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,330 387 | } VARHAND; 2023-01-10T18:36:57,330 | ~~~~~~~~~~ 2023-01-10T18:36:57,330 388 | 2023-01-10T18:36:57,330 | 2023-01-10T18:36:57,330 389 | #define LINE_NONE 0 2023-01-10T18:36:57,330 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,331 390 | #define LINE_CHANNEL 1 2023-01-10T18:36:57,331 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,331 391 | #define LINE_WIDE 2 2023-01-10T18:36:57,331 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,331 392 | #define LINE_VELOCITY 3 2023-01-10T18:36:57,331 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,331 393 | #define LINE_FELOCITY 4 2023-01-10T18:36:57,331 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,331 394 | 2023-01-10T18:36:57,332 | 2023-01-10T18:36:57,332 395 | #include "maxdimc.h" 2023-01-10T18:36:57,332 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,332 396 | 2023-01-10T18:36:57,332 | 2023-01-10T18:36:57,332 397 | #define SEL_VIS 1 2023-01-10T18:36:57,332 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,332 398 | #define SEL_TIME 2 2023-01-10T18:36:57,332 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,333 399 | #define SEL_UVN 3 2023-01-10T18:36:57,333 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,333 400 | #define SEL_POINT 4 2023-01-10T18:36:57,333 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,333 401 | #define SEL_DRA 5 2023-01-10T18:36:57,333 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,333 402 | #define SEL_DDEC 6 2023-01-10T18:36:57,333 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,333 403 | #define SEL_INC 7 2023-01-10T18:36:57,333 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,334 404 | #define SEL_RA 8 2023-01-10T18:36:57,334 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,334 405 | #define SEL_DEC 9 2023-01-10T18:36:57,334 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,334 406 | #define SEL_POL 10 2023-01-10T18:36:57,334 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,334 407 | #define SEL_ON 11 2023-01-10T18:36:57,334 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,334 408 | #define SEL_SRC 12 2023-01-10T18:36:57,335 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,335 409 | #define SEL_UV 13 2023-01-10T18:36:57,335 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,335 410 | #define SEL_FREQ 14 2023-01-10T18:36:57,335 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,335 411 | #define SEL_SHADOW 15 2023-01-10T18:36:57,335 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,335 412 | #define SEL_BIN 16 2023-01-10T18:36:57,335 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,336 413 | #define SEL_HA 17 2023-01-10T18:36:57,336 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,336 414 | #define SEL_LST 18 2023-01-10T18:36:57,336 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,336 415 | #define SEL_ELEV 19 2023-01-10T18:36:57,336 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,336 416 | #define SEL_DAZIM 20 2023-01-10T18:36:57,336 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,336 417 | #define SEL_DELEV 21 2023-01-10T18:36:57,336 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,337 418 | 2023-01-10T18:36:57,337 | 2023-01-10T18:36:57,337 419 | typedef struct { 2023-01-10T18:36:57,337 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,337 420 | int type,discard; 2023-01-10T18:36:57,337 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,337 421 | double loval,hival; 2023-01-10T18:36:57,337 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,337 422 | char *stval; 2023-01-10T18:36:57,338 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,338 423 | } OPERS; 2023-01-10T18:36:57,338 | ~~~~~~~~ 2023-01-10T18:36:57,338 424 | 2023-01-10T18:36:57,338 | 2023-01-10T18:36:57,338 425 | typedef struct { 2023-01-10T18:36:57,338 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,338 426 | int discard,select; 2023-01-10T18:36:57,339 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,339 427 | float loval,hival; 2023-01-10T18:36:57,339 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,339 428 | } AMP; 2023-01-10T18:36:57,339 | ~~~~~~ 2023-01-10T18:36:57,339 429 | 2023-01-10T18:36:57,339 | 2023-01-10T18:36:57,339 430 | typedef struct { 2023-01-10T18:36:57,339 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,339 431 | int wins[MAXWIN]; 2023-01-10T18:36:57,340 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,340 432 | int first,last,n,select; 2023-01-10T18:36:57,340 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,340 433 | } WINDOW; 2023-01-10T18:36:57,340 | ~~~~~~~~~ 2023-01-10T18:36:57,340 434 | 2023-01-10T18:36:57,340 | 2023-01-10T18:36:57,340 435 | typedef struct { double *table; 2023-01-10T18:36:57,340 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,341 436 | int vhan,nants,missing; 2023-01-10T18:36:57,341 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,341 437 | } SIGMA2; 2023-01-10T18:36:57,341 | ~~~~~~~~~ 2023-01-10T18:36:57,341 438 | 2023-01-10T18:36:57,341 | 2023-01-10T18:36:57,341 439 | typedef struct select { 2023-01-10T18:36:57,341 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,341 440 | int ants[MAXANT*(MAXANT+1)/2]; 2023-01-10T18:36:57,342 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,342 441 | int selants; 2023-01-10T18:36:57,342 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,342 442 | int maxoper,noper,and; 2023-01-10T18:36:57,342 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,342 443 | WINDOW win; 2023-01-10T18:36:57,342 | ~~~~~~~~~~~ 2023-01-10T18:36:57,342 444 | AMP amp; 2023-01-10T18:36:57,342 | ~~~~~~~~ 2023-01-10T18:36:57,343 445 | OPERS *opers; 2023-01-10T18:36:57,343 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,343 446 | struct select *fwd; 2023-01-10T18:36:57,343 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,343 447 | } SELECT; 2023-01-10T18:36:57,343 | ~~~~~~~~~ 2023-01-10T18:36:57,343 448 | 2023-01-10T18:36:57,343 | 2023-01-10T18:36:57,343 449 | typedef struct { 2023-01-10T18:36:57,344 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,344 450 | int nants; 2023-01-10T18:36:57,344 | ~~~~~~~~~~ 2023-01-10T18:36:57,344 451 | double uu[MAXANT],vv[MAXANT],ww[MAXANT]; 2023-01-10T18:36:57,344 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,344 452 | } UVW; 2023-01-10T18:36:57,344 | ~~~~~~ 2023-01-10T18:36:57,344 453 | 2023-01-10T18:36:57,344 | 2023-01-10T18:36:57,344 454 | typedef struct { 2023-01-10T18:36:57,345 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,345 455 | int linetype; 2023-01-10T18:36:57,345 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,345 456 | int start,width,step,n; 2023-01-10T18:36:57,345 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,345 457 | float fstart,fwidth,fstep,*wts; 2023-01-10T18:36:57,345 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,345 458 | } LINE_INFO; 2023-01-10T18:36:57,345 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,346 459 | 2023-01-10T18:36:57,346 | 2023-01-10T18:36:57,346 460 | typedef struct { 2023-01-10T18:36:57,346 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,346 461 | char *handle; 2023-01-10T18:36:57,346 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,346 462 | int nflags,*flags,exists,init; 2023-01-10T18:36:57,346 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,346 463 | off64_t offset; 2023-01-10T18:36:57,347 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,347 464 | } FLAGS; 2023-01-10T18:36:57,347 | ~~~~~~~~ 2023-01-10T18:36:57,347 465 | 2023-01-10T18:36:57,347 | 2023-01-10T18:36:57,347 466 | typedef struct { 2023-01-10T18:36:57,347 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,347 467 | int item; 2023-01-10T18:36:57,347 | ~~~~~~~~~ 2023-01-10T18:36:57,347 468 | int nvar,saved_nvar,tno,flags,callno,maxvis,mark; 2023-01-10T18:36:57,348 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,348 469 | off64_t offset, max_offset; 2023-01-10T18:36:57,348 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,348 470 | int presize,gflag; 2023-01-10T18:36:57,348 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,348 471 | FLAGS corr_flags,wcorr_flags; 2023-01-10T18:36:57,348 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,348 472 | VARIABLE *coord,*corr,*time,*bl,*tscale,*nschan,*axisrms; 2023-01-10T18:36:57,348 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,349 473 | VARIABLE *sfreq,*sdf,*restfreq,*wcorr,*wfreq,*veldop,*vsource; 2023-01-10T18:36:57,349 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,349 474 | VARIABLE *plmaj,*plmin,*plangle,*dra,*ddec,*ra,*dec,*pol,*on; 2023-01-10T18:36:57,349 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,349 475 | VARIABLE *dazim, *delev; 2023-01-10T18:36:57,349 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,349 476 | VARIABLE *obsra,*obsdec,*lst,*elev,*antpos,*antdiam,*source,*bin; 2023-01-10T18:36:57,349 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,349 477 | VARIABLE *vhash[HASHSIZE],*prevar[MAXPRE]; 2023-01-10T18:36:57,350 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,350 478 | VARIABLE variable[MAXVAR]; 2023-01-10T18:36:57,350 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,350 479 | LINE_INFO data_line,ref_line,actual_line; 2023-01-10T18:36:57,350 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,350 480 | int need_skyfreq,need_point,need_planet,need_dra,need_ddec, 2023-01-10T18:36:57,350 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,350 481 | need_dazim, need_delev, 2023-01-10T18:36:57,350 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,351 482 | need_ra,need_dec,need_pol,need_on,need_obsra,need_uvw,need_src, 2023-01-10T18:36:57,351 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,351 483 | need_win,need_bin,need_lst,need_elev; 2023-01-10T18:36:57,351 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,351 484 | float ref_plmaj,ref_plmin,ref_plangle,plscale,pluu,pluv,plvu,plvv; 2023-01-10T18:36:57,351 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,351 485 | double skyfreq; 2023-01-10T18:36:57,351 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,351 486 | int skyfreq_start; 2023-01-10T18:36:57,351 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,352 487 | VARHAND *vhans; 2023-01-10T18:36:57,352 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,352 488 | SELECT *select; 2023-01-10T18:36:57,352 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,352 489 | int apply_amp,apply_win; 2023-01-10T18:36:57,352 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,352 490 | AMP *amp; 2023-01-10T18:36:57,352 | ~~~~~~~~~ 2023-01-10T18:36:57,352 491 | SIGMA2 sigma2; 2023-01-10T18:36:57,353 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,353 492 | UVW *uvw; 2023-01-10T18:36:57,353 | ~~~~~~~~~ 2023-01-10T18:36:57,353 493 | WINDOW *win; 2023-01-10T18:36:57,353 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,353 494 | } UV; 2023-01-10T18:36:57,353 | ~~~~~ 2023-01-10T18:36:57,353 495 | 2023-01-10T18:36:57,353 | 2023-01-10T18:36:57,354 496 | #define MAXVHANDS 128 2023-01-10T18:36:57,354 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,354 497 | 2023-01-10T18:36:57,354 | 2023-01-10T18:36:57,354 498 | static UV *uvs[MAXOPEN]; 2023-01-10T18:36:57,354 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,354 499 | static VARHAND *varhands[MAXVHANDS]; 2023-01-10T18:36:57,354 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,354 500 | static WINDOW truewin; 2023-01-10T18:36:57,354 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,355 501 | static AMP noamp; 2023-01-10T18:36:57,355 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,355 502 | static int first=TRUE; 2023-01-10T18:36:57,355 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,355 503 | 2023-01-10T18:36:57,355 | 2023-01-10T18:36:57,355 504 | /* void uvputvr_c(); */ 2023-01-10T18:36:57,355 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,355 505 | private void uvinfo_chan(UV *uv,double *data,int mode); 2023-01-10T18:36:57,356 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,356 506 | private void uvinfo_variance(UV *uv,double *data); 2023-01-10T18:36:57,356 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,356 507 | private void uvbasant_c(int baseline,int *i1,int *i2); 2023-01-10T18:36:57,356 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,356 508 | private void uv_init(void); 2023-01-10T18:36:57,356 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,356 509 | private void uv_freeuv(UV *uv); 2023-01-10T18:36:57,356 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,357 510 | private void uv_free_select(SELECT *sel); 2023-01-10T18:36:57,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,357 511 | private void uvread_defline(int tno); 2023-01-10T18:36:57,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,357 512 | private void uvread_init(int tno); 2023-01-10T18:36:57,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,357 513 | private void uvread_velocity(UV *uv,LINE_INFO *line,float *data, int *flags,int nsize,LINE_INFO *actual); 2023-01-10T18:36:57,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,357 514 | private void uvread_flags(UV *uv,VARIABLE *v,FLAGS *flag_info,int nchan); 2023-01-10T18:36:57,357 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,358 515 | private void uvread_defvelline(UV* uv,LINE_INFO *line,WINDOW *win); 2023-01-10T18:36:57,358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,358 516 | private void uvread_updated_planet(UV *uv); 2023-01-10T18:36:57,358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,358 517 | private void uvread_reference(UV *uv, float *data, int *flags,int n); 2023-01-10T18:36:57,358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,358 518 | private void uvread_updated_uvw(UV *uv); 2023-01-10T18:36:57,358 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,359 519 | private void uvread_preamble(UV *uv, double *preamble); 2023-01-10T18:36:57,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,359 520 | private void uv_vartable_out(UV *uv); 2023-01-10T18:36:57,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,359 521 | private void uv_vartable_in(UV *uv); 2023-01-10T18:36:57,359 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,359 522 | private void uvset_coord(UV *uv, const char *type); 2023-01-10T18:36:57,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,360 523 | private void uvset_linetype(LINE_INFO *line, const char *type, int n, double start,double width,double step); 2023-01-10T18:36:57,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,360 524 | private void uvset_planet(UV *uv, double p1,double p2,double p3); 2023-01-10T18:36:57,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,360 525 | private void uvset_selection(UV *uv, const char *type, int n); 2023-01-10T18:36:57,360 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,360 526 | private void uvset_preamble(UV *uv, const char *type); 2023-01-10T18:36:57,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,361 527 | private void uv_addopers(SELECT *sel,int type,int discard,double p1,double p2,const char *ps); 2023-01-10T18:36:57,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,361 528 | private void uv_override(UV *uv); 2023-01-10T18:36:57,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,361 529 | private UV *uv_getuv(int tno); 2023-01-10T18:36:57,361 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,361 530 | private VARIABLE *uv_mkvar(int tno,char *name,int type); 2023-01-10T18:36:57,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,362 531 | private VARIABLE *uv_locvar(int tno,char *name); 2023-01-10T18:36:57,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,362 532 | private VARIABLE *uv_checkvar(int tno,char *varname,int type); 2023-01-10T18:36:57,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,362 533 | private int uv_scan(UV *uv, VARIABLE *vt); 2023-01-10T18:36:57,362 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,362 534 | private int uvread_line(UV *uv,LINE_INFO *line,float *data, int nsize,int *flags,LINE_INFO *actual); 2023-01-10T18:36:57,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,363 535 | private int uvread_select(UV *uv); 2023-01-10T18:36:57,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,363 536 | private int uvread_maxvis(SELECT *sel); 2023-01-10T18:36:57,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,363 537 | private int uvread_shadowed(UV *uv,double diameter); 2023-01-10T18:36:57,363 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,363 538 | private int uvread_match(char *s1,char *s2, int length); 2023-01-10T18:36:57,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,364 539 | private double uv_getskyfreq(UV *uv,WINDOW *win); 2023-01-10T18:36:57,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,364 540 | 2023-01-10T18:36:57,364 | 2023-01-10T18:36:57,364 541 | /************************************************************************/ 2023-01-10T18:36:57,364 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,364 542 | #ifdef TESTBED 2023-01-10T18:36:57,364 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,365 543 | static char *M[] = { 2023-01-10T18:36:57,365 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,365 544 | "JAN", "FEB", "MAR", "APR", "MAY", "JUN", 2023-01-10T18:36:57,365 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,365 545 | "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" 2023-01-10T18:36:57,365 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,365 546 | }; 2023-01-10T18:36:57,365 | ~~ 2023-01-10T18:36:57,366 547 | 2023-01-10T18:36:57,366 | 2023-01-10T18:36:57,366 548 | static int checklist = 0; 2023-01-10T18:36:57,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,366 549 | 2023-01-10T18:36:57,366 | 2023-01-10T18:36:57,366 550 | /* The following compiles a main program to give exercise to some of the 2023-01-10T18:36:57,366 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,366 551 | * uvio routines. It is essentially a debugging device (both for bad 2023-01-10T18:36:57,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,367 552 | * files and bad behaviour of uvio!). 2023-01-10T18:36:57,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,367 553 | * 2023-01-10T18:36:57,367 | ~ 2023-01-10T18:36:57,367 554 | * Call several uvio.c poutines, some of which are the secret ones, 2023-01-10T18:36:57,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,367 555 | * to get a 'human' readable listing of a miriad visibility data set ` 2023-01-10T18:36:57,367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,368 556 | * Because it needs some of these 'static' routines, the source code 2023-01-10T18:36:57,368 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,368 557 | * of uvio.c needs to be included here directly, as opposed to linking 2023-01-10T18:36:57,368 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,368 558 | * it with the library ($MIRLIB/libmir.a in Unix) 2023-01-10T18:36:57,368 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,368 559 | * 2023-01-10T18:36:57,368 | ~ 2023-01-10T18:36:57,369 560 | * Note: This program does not have the normal miriad user interface 2023-01-10T18:36:57,369 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,369 561 | * 2023-01-10T18:36:57,369 | ~ 2023-01-10T18:36:57,369 562 | */ 2023-01-10T18:36:57,369 | ~~ 2023-01-10T18:36:57,369 563 | main(int ac,char *av[]) 2023-01-10T18:36:57,369 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,369 564 | { 2023-01-10T18:36:57,370 | ~ 2023-01-10T18:36:57,370 565 | int i,tno; 2023-01-10T18:36:57,370 | ~~~~~~~~~~ 2023-01-10T18:36:57,370 566 | char *fn; 2023-01-10T18:36:57,370 | ~~~~~~~~~ 2023-01-10T18:36:57,370 567 | 2023-01-10T18:36:57,370 | 2023-01-10T18:36:57,370 568 | printf("%s Version %s\n",av[0],VERSION_ID); 2023-01-10T18:36:57,370 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,371 569 | if (ac!=2) { 2023-01-10T18:36:57,371 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,371 570 | printf("Usage: %s [vis=]vis-dataset\n",av[0]); 2023-01-10T18:36:57,371 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,371 571 | printf("Expert listing of a miriad UV dataset\n"); 2023-01-10T18:36:57,371 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,371 572 | #ifdef MIR4 2023-01-10T18:36:57,371 | ~~~~~~~~~~~ 2023-01-10T18:36:57,372 573 | printf("MIR4 mode\n"); 2023-01-10T18:36:57,372 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,372 574 | #else 2023-01-10T18:36:57,372 | ~~~~~ 2023-01-10T18:36:57,372 575 | printf("MIR3 mode **probably will not work in MIR4**\n"); 2023-01-10T18:36:57,372 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,372 576 | #endif 2023-01-10T18:36:57,372 | ~~~~~~ 2023-01-10T18:36:57,372 577 | 2023-01-10T18:36:57,373 | 2023-01-10T18:36:57,373 578 | exit(0); 2023-01-10T18:36:57,373 | ~~~~~~~~ 2023-01-10T18:36:57,373 579 | } 2023-01-10T18:36:57,373 | ~ 2023-01-10T18:36:57,373 580 | 2023-01-10T18:36:57,373 | 2023-01-10T18:36:57,373 581 | for (i=1; i 4) { /* see if vis= was used */ 2023-01-10T18:36:57,374 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,374 584 | if (strncmp(fn,"vis=",4)==0) 2023-01-10T18:36:57,374 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,374 585 | fn += 4; /* if so, increase pointer */ 2023-01-10T18:36:57,374 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,375 586 | } 2023-01-10T18:36:57,375 | ~ 2023-01-10T18:36:57,375 587 | uvopen_c(&tno,fn,"old"); 2023-01-10T18:36:57,375 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,375 588 | } 2023-01-10T18:36:57,375 | ~ 2023-01-10T18:36:57,375 589 | my_uvlist(tno,fn); 2023-01-10T18:36:57,375 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,375 590 | uvclose_c(tno); 2023-01-10T18:36:57,376 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,376 591 | } 2023-01-10T18:36:57,376 | ~ 2023-01-10T18:36:57,376 592 | 2023-01-10T18:36:57,376 | 2023-01-10T18:36:57,376 593 | 2023-01-10T18:36:57,376 | 2023-01-10T18:36:57,376 594 | my_uvlist(int tno,char *fname) 2023-01-10T18:36:57,376 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,377 595 | { 2023-01-10T18:36:57,377 | ~ 2023-01-10T18:36:57,377 596 | double *dp; 2023-01-10T18:36:57,377 | ~~~~~~~~~~~ 2023-01-10T18:36:57,377 597 | float *fp; 2023-01-10T18:36:57,377 | ~~~~~~~~~~ 2023-01-10T18:36:57,377 598 | short *sp; 2023-01-10T18:36:57,378 | ~~~~~~~~~~ 2023-01-10T18:36:57,378 599 | int iostat, intsize, extsize, i, *ip, eor_count=0; 2023-01-10T18:36:57,378 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,378 600 | off64_t offset; 2023-01-10T18:36:57,378 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,378 601 | VARIABLE *v; 2023-01-10T18:36:57,378 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,378 602 | UV *uv; 2023-01-10T18:36:57,378 | ~~~~~~~ 2023-01-10T18:36:57,379 603 | char s[UV_HDR_SIZE], *b, buffer[128]; 2023-01-10T18:36:57,379 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,379 604 | 2023-01-10T18:36:57,379 | 2023-01-10T18:36:57,379 605 | 2023-01-10T18:36:57,379 | 2023-01-10T18:36:57,379 606 | uv = uvs[tno]; /* get pointer to UV structure */ 2023-01-10T18:36:57,379 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,380 607 | 2023-01-10T18:36:57,380 | 2023-01-10T18:36:57,380 608 | offset = uv->offset; /* should be 0 at start */ 2023-01-10T18:36:57,380 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,380 609 | printf("0x%8x FILE: %s\n",offset,fname); 2023-01-10T18:36:57,380 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,380 610 | while(offset < uv->max_offset) { 2023-01-10T18:36:57,380 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,380 611 | printf("0x%8x ",offset); 2023-01-10T18:36:57,381 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,381 612 | hreadb_c(uv->item,s,offset,UV_HDR_SIZE,&iostat); /* get header */ 2023-01-10T18:36:57,381 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,381 613 | if (iostat == -1) return(iostat); /* End Of File */ 2023-01-10T18:36:57,381 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,381 614 | 2023-01-10T18:36:57,381 | 2023-01-10T18:36:57,381 615 | if(*(s+2) != VAR_EOR) { 2023-01-10T18:36:57,382 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,382 616 | v = &uv->variable[*s]; /* get name of var */ 2023-01-10T18:36:57,382 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,382 617 | intsize = internal_size[v->type]; 2023-01-10T18:36:57,382 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,382 618 | extsize = external_size[v->type]; 2023-01-10T18:36:57,382 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,382 619 | } 2023-01-10T18:36:57,383 | ~ 2023-01-10T18:36:57,383 620 | 2023-01-10T18:36:57,383 | 2023-01-10T18:36:57,383 621 | switch(*(s+2)) { 2023-01-10T18:36:57,383 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,383 622 | case VAR_SIZE: 2023-01-10T18:36:57,383 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,383 623 | hreadi_c(uv->item,&v->length,offset+UV_HDR_SIZE,H_INT_SIZE, 2023-01-10T18:36:57,383 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,384 624 | &iostat); 2023-01-10T18:36:57,384 | ~~~~~~~~~ 2023-01-10T18:36:57,384 625 | printf("SIZE: %-9s Count=%d,Type=%c\n",v->name,VARLEN(v),VARTYPE(v)); 2023-01-10T18:36:57,384 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,384 626 | v->buf = Realloc(v->buf, (v->length*intsize)/extsize); 2023-01-10T18:36:57,384 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,384 627 | offset += UV_ALIGN; 2023-01-10T18:36:57,384 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,385 628 | break; 2023-01-10T18:36:57,385 | ~~~~~~ 2023-01-10T18:36:57,385 629 | case VAR_DATA: 2023-01-10T18:36:57,385 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,385 630 | offset += mroundup(UV_HDR_SIZE,extsize); 2023-01-10T18:36:57,385 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,385 631 | hread_c(uv->item,v->type,v->buf,offset,v->length, 2023-01-10T18:36:57,385 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,385 632 | &iostat); 2023-01-10T18:36:57,386 | ~~~~~~~~~ 2023-01-10T18:36:57,386 633 | printf("DATA: %-9s",v->name); 2023-01-10T18:36:57,386 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,386 634 | if (strcmp(v->name,"time") == 0) { 2023-01-10T18:36:57,386 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,386 635 | int z,a,b,c,d,e,alpha,month,year,day,hr,minute,sec; 2023-01-10T18:36:57,386 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,386 636 | int dsec,nchar; 2023-01-10T18:36:57,387 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,387 637 | char string[100]; 2023-01-10T18:36:57,387 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,387 638 | double f; 2023-01-10T18:36:57,387 | ~~~~~~~~~ 2023-01-10T18:36:57,387 639 | 2023-01-10T18:36:57,387 | 2023-01-10T18:36:57,387 640 | dp = (double *) v->buf; 2023-01-10T18:36:57,387 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,388 641 | z = *dp + 0.5 + (1.0/1728000.0); 2023-01-10T18:36:57,388 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,388 642 | f = *dp + 0.5 + (1.0/1728000.0) - z; 2023-01-10T18:36:57,388 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,388 643 | if (z<2299161){a=z;}else{ 2023-01-10T18:36:57,388 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,388 644 | alpha = ((z - 1867216.25) / 36524.25); 2023-01-10T18:36:57,388 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,389 645 | a = z + 1 + alpha - (int)(0.25 * alpha); 2023-01-10T18:36:57,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,389 646 | } 2023-01-10T18:36:57,389 | ~ 2023-01-10T18:36:57,389 647 | b = a + 1524; c = (b - 122.1) / 365.25; 2023-01-10T18:36:57,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,389 648 | d = 365.25 * c; e = (b - d) / 30.6001; 2023-01-10T18:36:57,389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,389 649 | f += (b - d - (int)(30.6001 * e)); 2023-01-10T18:36:57,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,390 650 | day = f; hr = 24 * (f - day); 2023-01-10T18:36:57,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,390 651 | minute = 60 * (24 * (f - day) - hr); 2023-01-10T18:36:57,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,390 652 | sec = 600 * (60 * (24 * (f - day) - hr) - minute); 2023-01-10T18:36:57,390 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,390 653 | dsec = sec % 10; sec /= 10; 2023-01-10T18:36:57,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,391 654 | month = (e<=13) ? e - 1 : e - 13; 2023-01-10T18:36:57,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,391 655 | year = (month>2) ? c - 4716 : c - 4715; 2023-01-10T18:36:57,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,391 656 | year %= 100; 2023-01-10T18:36:57,391 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,391 657 | printf(" %20.10lg ",*dp); 2023-01-10T18:36:57,391 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,392 658 | printf(" %2.2d%s%2.2d:%2.2d:%2.2d:%2.2d.%1d\n", 2023-01-10T18:36:57,392 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,392 659 | year,M[month-1],day,hr,minute,sec,dsec); 2023-01-10T18:36:57,392 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,392 660 | }else 2023-01-10T18:36:57,392 | ~~~~~ 2023-01-10T18:36:57,392 661 | switch (v->type) { 2023-01-10T18:36:57,392 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,393 662 | case H_BYTE: 2023-01-10T18:36:57,393 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,393 663 | strncpy(buffer,v->buf,v->length); 2023-01-10T18:36:57,393 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,393 664 | buffer[v->length] = 0; 2023-01-10T18:36:57,393 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,393 665 | printf(" %-8s\n",buffer); 2023-01-10T18:36:57,393 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,393 666 | break; 2023-01-10T18:36:57,394 | ~~~~~~ 2023-01-10T18:36:57,394 667 | case H_INT2: 2023-01-10T18:36:57,394 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,394 668 | sp = (short *) v->buf; 2023-01-10T18:36:57,394 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,394 669 | printf(" %d\n",*sp); 2023-01-10T18:36:57,394 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,394 670 | break; 2023-01-10T18:36:57,394 | ~~~~~~ 2023-01-10T18:36:57,395 671 | case H_INT: 2023-01-10T18:36:57,395 | ~~~~~~~~~~~ 2023-01-10T18:36:57,395 672 | ip = (int *) v->buf; 2023-01-10T18:36:57,395 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,395 673 | printf(" %d\n",*ip); 2023-01-10T18:36:57,395 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,395 674 | break; 2023-01-10T18:36:57,395 | ~~~~~~ 2023-01-10T18:36:57,395 675 | case H_REAL: 2023-01-10T18:36:57,396 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,396 676 | fp = (float *) v->buf; 2023-01-10T18:36:57,396 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,396 677 | printf(" %20.10g\n",*fp); 2023-01-10T18:36:57,396 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,396 678 | break; 2023-01-10T18:36:57,396 | ~~~~~~ 2023-01-10T18:36:57,396 679 | case H_DBLE: 2023-01-10T18:36:57,397 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,397 680 | dp = (double *) v->buf; 2023-01-10T18:36:57,397 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,397 681 | printf(" %20.10lg\n",*dp); 2023-01-10T18:36:57,397 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,397 682 | break; 2023-01-10T18:36:57,397 | ~~~~~~ 2023-01-10T18:36:57,398 683 | case H_CMPLX: 2023-01-10T18:36:57,398 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,398 684 | fp = (float *) v->buf; 2023-01-10T18:36:57,398 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,398 685 | printf(" %20.10g %20.10g\n",fp[0], fp[1]); 2023-01-10T18:36:57,398 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,398 686 | break; 2023-01-10T18:36:57,398 | ~~~~~~ 2023-01-10T18:36:57,398 687 | default: 2023-01-10T18:36:57,399 | ~~~~~~~~ 2023-01-10T18:36:57,399 688 | printf(" (Invalid data type %d)\n",v->type); 2023-01-10T18:36:57,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,399 689 | break; 2023-01-10T18:36:57,399 | ~~~~~~ 2023-01-10T18:36:57,399 690 | } 2023-01-10T18:36:57,399 | ~ 2023-01-10T18:36:57,399 691 | offset = mroundup(offset+v->length,UV_ALIGN); 2023-01-10T18:36:57,399 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,400 692 | break; 2023-01-10T18:36:57,400 | ~~~~~~ 2023-01-10T18:36:57,400 693 | case VAR_EOR: 2023-01-10T18:36:57,400 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,400 694 | printf("========== EOR (%d) ========\n",++eor_count); 2023-01-10T18:36:57,400 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,400 695 | offset += UV_ALIGN; 2023-01-10T18:36:57,400 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,401 696 | break; 2023-01-10T18:36:57,401 | ~~~~~~ 2023-01-10T18:36:57,401 697 | default: 2023-01-10T18:36:57,401 | ~~~~~~~~ 2023-01-10T18:36:57,401 698 | printf("No valid record code %d",*(s+2)); 2023-01-10T18:36:57,401 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,401 699 | exit(0); 2023-01-10T18:36:57,401 | ~~~~~~~~ 2023-01-10T18:36:57,402 700 | } /* switch */ 2023-01-10T18:36:57,402 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,402 701 | uv->offset = offset; 2023-01-10T18:36:57,402 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,402 702 | } /* for(;;) */ 2023-01-10T18:36:57,402 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,402 703 | } 2023-01-10T18:36:57,402 | ~ 2023-01-10T18:36:57,402 704 | #endif 2023-01-10T18:36:57,403 | ~~~~~~ 2023-01-10T18:36:57,403 705 | /************************************************************************/ 2023-01-10T18:36:57,403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,403 706 | void uvopen_c(int *tno,Const char *name,Const char *status) 2023-01-10T18:36:57,403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,403 707 | /**UvOpen -- Open a uv data file. */ 2023-01-10T18:36:57,403 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,403 708 | /*&rjs */ 2023-01-10T18:36:57,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,404 709 | /*:uv-i/o */ 2023-01-10T18:36:57,404 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,404 710 | /*+ FORTRAN call sequence: 2023-01-10T18:36:57,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,404 711 | 2023-01-10T18:36:57,404 | 2023-01-10T18:36:57,404 712 | subroutine uvopen(tno,name,status) 2023-01-10T18:36:57,404 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,405 713 | integer tno 2023-01-10T18:36:57,405 | ~~~~~~~~~~~ 2023-01-10T18:36:57,405 714 | character name*(*),status*(*) 2023-01-10T18:36:57,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,405 715 | 2023-01-10T18:36:57,405 | 2023-01-10T18:36:57,405 716 | Create and/or ready a UV data base to be accessed. 2023-01-10T18:36:57,405 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,406 717 | 2023-01-10T18:36:57,406 | 2023-01-10T18:36:57,406 718 | Input: 2023-01-10T18:36:57,406 | ~~~~~~ 2023-01-10T18:36:57,406 719 | name Name of the directory tree containg the u-v data. 2023-01-10T18:36:57,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,406 720 | status Either "old", "new" or "append". Old files can be read, 2023-01-10T18:36:57,406 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,406 721 | whereas new and append files can only be written. Append 2023-01-10T18:36:57,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,407 722 | files must be pre-existing uv data-sets. 2023-01-10T18:36:57,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,407 723 | Output: 2023-01-10T18:36:57,407 | ~~~~~~~ 2023-01-10T18:36:57,407 724 | tno Handle of the uv data set. */ 2023-01-10T18:36:57,407 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,407 725 | /*-- */ 2023-01-10T18:36:57,407 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,408 726 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,408 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,408 727 | { 2023-01-10T18:36:57,408 | ~ 2023-01-10T18:36:57,408 728 | UV *uv; 2023-01-10T18:36:57,408 | ~~~~~~~ 2023-01-10T18:36:57,408 729 | int iostat; 2023-01-10T18:36:57,408 | ~~~~~~~~~~~ 2023-01-10T18:36:57,409 730 | char line[MAXLINE]; 2023-01-10T18:36:57,409 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,409 731 | 2023-01-10T18:36:57,409 | 2023-01-10T18:36:57,409 732 | if(first)uv_init(); 2023-01-10T18:36:57,409 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,409 733 | 2023-01-10T18:36:57,409 | 2023-01-10T18:36:57,409 734 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,410 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,410 735 | /* */ 2023-01-10T18:36:57,410 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,410 736 | /* Handle an old file. */ 2023-01-10T18:36:57,410 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,410 737 | /* */ 2023-01-10T18:36:57,410 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,410 738 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,411 739 | 2023-01-10T18:36:57,411 | 2023-01-10T18:36:57,411 740 | if( !strcmp(status,"old") ) { 2023-01-10T18:36:57,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,411 741 | hopen_c(tno,name,"old",&iostat); 2023-01-10T18:36:57,411 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,411 742 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(old)",name)); 2023-01-10T18:36:57,412 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,412 743 | uv = uv_getuv(*tno); 2023-01-10T18:36:57,412 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,412 744 | haccess_c(*tno,&uv->item,"visdata","read",&iostat); 2023-01-10T18:36:57,412 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,412 745 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(old)",name)); 2023-01-10T18:36:57,412 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,412 746 | #ifdef MIR4 2023-01-10T18:36:57,412 | ~~~~~~~~~~~ 2023-01-10T18:36:57,413 747 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T18:36:57,413 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,413 748 | if (1) { 2023-01-10T18:36:57,413 | ~~~~~~~~ 2023-01-10T18:36:57,413 749 | int8 vislen; 2023-01-10T18:36:57,413 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,413 750 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T18:36:57,413 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,414 751 | uv->max_offset = (off64_t) vislen; 2023-01-10T18:36:57,414 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,414 752 | } else { 2023-01-10T18:36:57,414 | ~~~~~~~~ 2023-01-10T18:36:57,414 753 | int old_vislen; 2023-01-10T18:36:57,414 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,414 754 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T18:36:57,414 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,414 755 | if (old_vislen < 0) 2023-01-10T18:36:57,415 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,415 756 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T18:36:57,415 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,415 757 | uv->max_offset = old_vislen; 2023-01-10T18:36:57,415 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,415 758 | } 2023-01-10T18:36:57,415 | ~ 2023-01-10T18:36:57,415 759 | #else 2023-01-10T18:36:57,416 | ~~~~~ 2023-01-10T18:36:57,416 760 | /* MIR3 and before format: */ 2023-01-10T18:36:57,416 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,416 761 | rdhdi_c(*tno,"vislen",&(uv->max_offset),hsize_c(uv->item)); 2023-01-10T18:36:57,416 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,416 762 | #endif 2023-01-10T18:36:57,416 | ~~~~~~ 2023-01-10T18:36:57,416 763 | uv_vartable_in(uv); 2023-01-10T18:36:57,416 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,417 764 | uv_override(uv); 2023-01-10T18:36:57,417 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,417 765 | 2023-01-10T18:36:57,417 | 2023-01-10T18:36:57,417 766 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,417 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,417 767 | /* */ 2023-01-10T18:36:57,418 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,418 768 | /* Handle a new file. */ 2023-01-10T18:36:57,418 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,418 769 | /* */ 2023-01-10T18:36:57,418 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,418 770 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,418 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,418 771 | 2023-01-10T18:36:57,419 | 2023-01-10T18:36:57,419 772 | } else if(!strcmp(status,"new")) { 2023-01-10T18:36:57,419 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,419 773 | hopen_c(tno,name,"new",&iostat); 2023-01-10T18:36:57,419 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,419 774 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(new)",name)); 2023-01-10T18:36:57,419 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,419 775 | uv = uv_getuv(*tno); 2023-01-10T18:36:57,419 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,420 776 | haccess_c(*tno,&uv->item,"visdata","write",&iostat); 2023-01-10T18:36:57,420 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,420 777 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(new)",name)); 2023-01-10T18:36:57,420 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,420 778 | uv->flags = UVF_NEW; 2023-01-10T18:36:57,420 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,420 779 | 2023-01-10T18:36:57,420 | 2023-01-10T18:36:57,421 780 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,421 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,421 781 | /* */ 2023-01-10T18:36:57,421 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,421 782 | /* Append to an old file. */ 2023-01-10T18:36:57,421 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,421 783 | /* */ 2023-01-10T18:36:57,421 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,422 784 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,422 785 | 2023-01-10T18:36:57,422 | 2023-01-10T18:36:57,422 786 | } else if(!strcmp(status,"append")) { 2023-01-10T18:36:57,422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,422 787 | hopen_c(tno,name,"old",&iostat); 2023-01-10T18:36:57,422 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,422 788 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(append)",name)); 2023-01-10T18:36:57,423 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,423 789 | uv = uv_getuv(*tno); 2023-01-10T18:36:57,423 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,423 790 | haccess_c(*tno,&uv->item,"visdata","append",&iostat); 2023-01-10T18:36:57,423 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,423 791 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(append)",name)); 2023-01-10T18:36:57,423 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,423 792 | uv->flags = UVF_APPEND; 2023-01-10T18:36:57,423 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,424 793 | #ifdef MIR4 2023-01-10T18:36:57,424 | ~~~~~~~~~~~ 2023-01-10T18:36:57,424 794 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T18:36:57,424 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,424 795 | if (1) { 2023-01-10T18:36:57,424 | ~~~~~~~~ 2023-01-10T18:36:57,424 796 | int8 vislen; 2023-01-10T18:36:57,424 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,425 797 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T18:36:57,425 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,425 798 | uv->offset = (off64_t) vislen; 2023-01-10T18:36:57,425 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,425 799 | } else { 2023-01-10T18:36:57,425 | ~~~~~~~~ 2023-01-10T18:36:57,425 800 | int old_vislen; 2023-01-10T18:36:57,425 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,426 801 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T18:36:57,426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,426 802 | if (old_vislen < 0) 2023-01-10T18:36:57,426 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,426 803 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T18:36:57,426 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,426 804 | uv->offset = old_vislen; 2023-01-10T18:36:57,426 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,426 805 | } 2023-01-10T18:36:57,427 | ~ 2023-01-10T18:36:57,427 806 | #else 2023-01-10T18:36:57,427 | ~~~~~ 2023-01-10T18:36:57,427 807 | /* MIR3 and before format: */ 2023-01-10T18:36:57,427 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,427 808 | rdhdi_c(*tno,"vislen",&(uv->offset),hsize_c(uv->item)); 2023-01-10T18:36:57,427 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,427 809 | #endif 2023-01-10T18:36:57,428 | ~~~~~~ 2023-01-10T18:36:57,428 810 | uv->offset = mroundup(uv->offset,UV_ALIGN); 2023-01-10T18:36:57,428 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,428 811 | uv_vartable_in(uv); 2023-01-10T18:36:57,428 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,428 812 | 2023-01-10T18:36:57,428 | 2023-01-10T18:36:57,428 813 | /* Read items and fill in the appropriate value. */ 2023-01-10T18:36:57,428 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,429 814 | 2023-01-10T18:36:57,429 | 2023-01-10T18:36:57,429 815 | rdhda_c(*tno,"obstype",line,"",MAXLINE); 2023-01-10T18:36:57,429 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,429 816 | if(!strcmp(line,"autocorrelation")) uv->flags |= UVF_AUTO; 2023-01-10T18:36:57,429 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,429 817 | else if(!strcmp(line,"crosscorrelation")) uv->flags |= UVF_CROSS; 2023-01-10T18:36:57,429 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,430 818 | { 2023-01-10T18:36:57,430 | ~ 2023-01-10T18:36:57,430 819 | int8 n; 2023-01-10T18:36:57,430 | ~~~~~~~ 2023-01-10T18:36:57,430 820 | rdhdl_c(*tno,"ncorr",&n,-1); 2023-01-10T18:36:57,430 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,430 821 | uv->corr_flags.offset = n; 2023-01-10T18:36:57,430 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,430 822 | rdhdl_c(*tno,"nwcorr",&n,-1); 2023-01-10T18:36:57,431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,431 823 | uv->wcorr_flags.offset = n; 2023-01-10T18:36:57,431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,431 824 | } 2023-01-10T18:36:57,431 | ~ 2023-01-10T18:36:57,431 825 | if(uv->corr_flags.offset < 0 || uv->wcorr_flags.offset < 0) 2023-01-10T18:36:57,431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,431 826 | BUG('f',"Cannot append to uv file without 'ncorr' and/or 'nwcorr' items"); 2023-01-10T18:36:57,431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,432 827 | 2023-01-10T18:36:57,432 | 2023-01-10T18:36:57,432 828 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,432 829 | /* */ 2023-01-10T18:36:57,432 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,432 830 | /* Somethig else -- must be an error. */ 2023-01-10T18:36:57,432 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,433 831 | /* */ 2023-01-10T18:36:57,433 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,433 832 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,433 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,433 833 | 2023-01-10T18:36:57,433 | 2023-01-10T18:36:57,433 834 | } else ERROR('f',(message,"Status %s is not recognised by UVOPEN",status)); 2023-01-10T18:36:57,433 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,434 835 | } 2023-01-10T18:36:57,434 | ~ 2023-01-10T18:36:57,434 836 | /************************************************************************/ 2023-01-10T18:36:57,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,434 837 | void uvclose_c(int tno) 2023-01-10T18:36:57,434 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,434 838 | /**uvclose -- Close a uv file */ 2023-01-10T18:36:57,434 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,434 839 | /*&rjs */ 2023-01-10T18:36:57,435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,435 840 | /*:uv-i/o */ 2023-01-10T18:36:57,435 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,435 841 | /*+ FORTRAN call sequence: 2023-01-10T18:36:57,435 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,435 842 | subroutine uvclose(tno) 2023-01-10T18:36:57,435 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,435 843 | integer tno 2023-01-10T18:36:57,435 | ~~~~~~~~~~~ 2023-01-10T18:36:57,436 844 | 2023-01-10T18:36:57,436 | 2023-01-10T18:36:57,436 845 | This close a uv data file. 2023-01-10T18:36:57,436 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,436 846 | Input: 2023-01-10T18:36:57,436 | ~~~~~~ 2023-01-10T18:36:57,436 847 | tno Handle of the uv data set. */ 2023-01-10T18:36:57,436 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,437 848 | /*-- */ 2023-01-10T18:36:57,437 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,437 849 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,437 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,437 850 | { 2023-01-10T18:36:57,437 | ~ 2023-01-10T18:36:57,437 851 | UV *uv; 2023-01-10T18:36:57,437 | ~~~~~~~ 2023-01-10T18:36:57,438 852 | int iostat; 2023-01-10T18:36:57,438 | ~~~~~~~~~~~ 2023-01-10T18:36:57,438 853 | 2023-01-10T18:36:57,438 | 2023-01-10T18:36:57,438 854 | uv = uvs[tno]; 2023-01-10T18:36:57,438 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,438 855 | 2023-01-10T18:36:57,438 | 2023-01-10T18:36:57,438 856 | /* Finished with the flagging information. */ 2023-01-10T18:36:57,439 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,439 857 | 2023-01-10T18:36:57,439 | 2023-01-10T18:36:57,439 858 | if(uv->corr_flags.handle != NULL) mkclose_c(uv->corr_flags.handle); 2023-01-10T18:36:57,439 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,439 859 | if(uv->wcorr_flags.handle != NULL) mkclose_c(uv->wcorr_flags.handle); 2023-01-10T18:36:57,439 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,439 860 | uv->corr_flags.handle = uv->wcorr_flags.handle = NULL; 2023-01-10T18:36:57,440 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,440 861 | 2023-01-10T18:36:57,440 | 2023-01-10T18:36:57,440 862 | /* Flush out all stuff appropriate for a new or append file. */ 2023-01-10T18:36:57,440 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,440 863 | 2023-01-10T18:36:57,440 | 2023-01-10T18:36:57,440 864 | if(uv->flags & (UVF_NEW|UVF_APPEND))uvflush_c(tno); 2023-01-10T18:36:57,441 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,441 865 | 2023-01-10T18:36:57,441 | 2023-01-10T18:36:57,441 866 | /* Close the visibility data stream, release structures, and close the 2023-01-10T18:36:57,441 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,441 867 | whole thing. */ 2023-01-10T18:36:57,441 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,441 868 | 2023-01-10T18:36:57,442 | 2023-01-10T18:36:57,442 869 | hdaccess_c(uv->item,&iostat); 2023-01-10T18:36:57,442 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,442 870 | CHECK(iostat,(message,"Error calling hdaccess for visdata, in UVCLOSE")); 2023-01-10T18:36:57,442 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,442 871 | uv_freeuv(uv); 2023-01-10T18:36:57,442 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,442 872 | uvs[tno] = NULL; 2023-01-10T18:36:57,442 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,443 873 | hclose_c(tno); 2023-01-10T18:36:57,443 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,443 874 | } 2023-01-10T18:36:57,443 | ~ 2023-01-10T18:36:57,443 875 | /************************************************************************/ 2023-01-10T18:36:57,443 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,443 876 | void uvflush_c(int tno) 2023-01-10T18:36:57,443 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,443 877 | /**uvflush -- Flush buffers of a uv dataset to disk. */ 2023-01-10T18:36:57,444 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,444 878 | /*&rjs */ 2023-01-10T18:36:57,444 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,444 879 | /*:uv-i/o */ 2023-01-10T18:36:57,444 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,444 880 | /*+ FORTRAN call sequence: 2023-01-10T18:36:57,444 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,444 881 | subroutine uvflush(tno) 2023-01-10T18:36:57,445 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,445 882 | integer tno 2023-01-10T18:36:57,445 | ~~~~~~~~~~~ 2023-01-10T18:36:57,445 883 | 2023-01-10T18:36:57,445 | 2023-01-10T18:36:57,445 884 | This close a uv data file. 2023-01-10T18:36:57,445 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,445 885 | Input: 2023-01-10T18:36:57,445 | ~~~~~~ 2023-01-10T18:36:57,446 886 | tno Make sure anything buffered up is flushed to disk. The 2023-01-10T18:36:57,446 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,446 887 | disk file should be readable (up to data written here) 2023-01-10T18:36:57,446 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,446 888 | even if the caller or computer crashes. */ 2023-01-10T18:36:57,446 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,446 889 | /*-- */ 2023-01-10T18:36:57,446 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,447 890 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,447 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,447 891 | { 2023-01-10T18:36:57,447 | ~ 2023-01-10T18:36:57,447 892 | UV *uv; 2023-01-10T18:36:57,447 | ~~~~~~~ 2023-01-10T18:36:57,447 893 | int iostat; 2023-01-10T18:36:57,447 | ~~~~~~~~~~~ 2023-01-10T18:36:57,447 894 | 2023-01-10T18:36:57,448 | 2023-01-10T18:36:57,448 895 | uv = uvs[tno]; 2023-01-10T18:36:57,448 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,448 896 | 2023-01-10T18:36:57,448 | 2023-01-10T18:36:57,448 897 | if(!(uv->flags & (UVF_NEW|UVF_APPEND)))return; 2023-01-10T18:36:57,448 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,448 898 | 2023-01-10T18:36:57,449 | 2023-01-10T18:36:57,449 899 | /* Flush the masks out. */ 2023-01-10T18:36:57,449 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,449 900 | 2023-01-10T18:36:57,449 | 2023-01-10T18:36:57,449 901 | if(uv->corr_flags.handle != NULL) mkflush_c(uv->corr_flags.handle); 2023-01-10T18:36:57,449 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,449 902 | if(uv->wcorr_flags.handle != NULL) mkflush_c(uv->wcorr_flags.handle); 2023-01-10T18:36:57,449 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,450 903 | 2023-01-10T18:36:57,450 | 2023-01-10T18:36:57,450 904 | /* Rewrite vartable, if needed. */ 2023-01-10T18:36:57,450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,450 905 | 2023-01-10T18:36:57,450 | 2023-01-10T18:36:57,450 906 | if(uv->saved_nvar < uv->nvar || (uv->nvar == 0 && (uv->flags & UVF_NEW))) uv_vartable_out(uv); 2023-01-10T18:36:57,450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,451 907 | uv->saved_nvar = uv->nvar; 2023-01-10T18:36:57,451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,451 908 | 2023-01-10T18:36:57,451 | 2023-01-10T18:36:57,451 909 | /* Rewrite the description indicating the type of the data. */ 2023-01-10T18:36:57,451 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,451 910 | 2023-01-10T18:36:57,451 | 2023-01-10T18:36:57,451 911 | if( ( uv->flags & (UVF_AUTO|UVF_CROSS) ) == (UVF_AUTO|UVF_CROSS)) 2023-01-10T18:36:57,452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,452 912 | wrhda_c(tno,"obstype","mixed-auto-cross"); 2023-01-10T18:36:57,452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,452 913 | else if(uv->flags & UVF_AUTO) 2023-01-10T18:36:57,452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,452 914 | wrhda_c(tno,"obstype","autocorrelation"); 2023-01-10T18:36:57,452 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,452 915 | else if(uv->flags & UVF_CROSS) 2023-01-10T18:36:57,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,453 916 | wrhda_c(tno,"obstype","crosscorrelation"); 2023-01-10T18:36:57,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,453 917 | 2023-01-10T18:36:57,453 | 2023-01-10T18:36:57,453 918 | /* Write out things to help recover the EOF. */ 2023-01-10T18:36:57,453 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,453 919 | 2023-01-10T18:36:57,453 | 2023-01-10T18:36:57,454 920 | #ifdef MIR4 2023-01-10T18:36:57,454 | ~~~~~~~~~~~ 2023-01-10T18:36:57,454 921 | wrhdl_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T18:36:57,454 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,454 922 | wrhdl_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T18:36:57,454 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,454 923 | wrhdl_c(tno,"vislen",uv->offset); 2023-01-10T18:36:57,454 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,455 924 | #else 2023-01-10T18:36:57,455 | ~~~~~ 2023-01-10T18:36:57,455 925 | /* old MIR3 and before format */ 2023-01-10T18:36:57,455 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,455 926 | wrhdi_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T18:36:57,455 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,455 927 | wrhdi_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T18:36:57,455 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,455 928 | wrhdi_c(tno,"vislen",uv->offset); 2023-01-10T18:36:57,456 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,456 929 | #endif 2023-01-10T18:36:57,456 | ~~~~~~ 2023-01-10T18:36:57,456 930 | 2023-01-10T18:36:57,456 | 2023-01-10T18:36:57,456 931 | /* Finally flush out everything to disk. */ 2023-01-10T18:36:57,456 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,456 932 | 2023-01-10T18:36:57,457 | 2023-01-10T18:36:57,457 933 | hflush_c(tno,&iostat); 2023-01-10T18:36:57,457 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,457 934 | CHECK(iostat,(message,"Error calling hflush, in UVFLSH")); 2023-01-10T18:36:57,457 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,457 935 | } 2023-01-10T18:36:57,457 | ~ 2023-01-10T18:36:57,457 936 | /************************************************************************/ 2023-01-10T18:36:57,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,458 937 | private void uv_init(void) 2023-01-10T18:36:57,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,458 938 | /* 2023-01-10T18:36:57,458 | ~~ 2023-01-10T18:36:57,458 939 | Initalise everything imaginable. 2023-01-10T18:36:57,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,458 940 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,458 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,459 941 | { 2023-01-10T18:36:57,459 | ~ 2023-01-10T18:36:57,459 942 | int i; 2023-01-10T18:36:57,459 | ~~~~~~ 2023-01-10T18:36:57,459 943 | 2023-01-10T18:36:57,459 | 2023-01-10T18:36:57,459 944 | first = FALSE; 2023-01-10T18:36:57,459 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,459 945 | 2023-01-10T18:36:57,460 | 2023-01-10T18:36:57,460 946 | external_size[H_BYTE] = 1; internal_size[H_BYTE] = 1; 2023-01-10T18:36:57,460 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,460 947 | type_flag[H_BYTE] = 'a'; 2023-01-10T18:36:57,460 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,460 948 | external_size[H_INT] = H_INT_SIZE; internal_size[H_INT] = sizeof(int); 2023-01-10T18:36:57,460 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,460 949 | type_flag[H_INT] = 'i'; 2023-01-10T18:36:57,461 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,461 950 | external_size[H_INT2] = H_INT2_SIZE; internal_size[H_INT2] = sizeof(int); 2023-01-10T18:36:57,461 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,461 951 | type_flag[H_INT2] = 'j'; 2023-01-10T18:36:57,461 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,461 952 | external_size[H_REAL] = H_REAL_SIZE; internal_size[H_REAL] = sizeof(float); 2023-01-10T18:36:57,461 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,461 953 | type_flag[H_REAL] = 'r'; 2023-01-10T18:36:57,461 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,462 954 | external_size[H_DBLE] = H_DBLE_SIZE; internal_size[H_DBLE] = sizeof(double); 2023-01-10T18:36:57,462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,462 955 | type_flag[H_DBLE] = 'd'; 2023-01-10T18:36:57,462 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,462 956 | external_size[H_CMPLX] = H_CMPLX_SIZE; 2023-01-10T18:36:57,462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,462 957 | internal_size[H_CMPLX] = 2*sizeof(float); 2023-01-10T18:36:57,462 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,463 958 | type_flag[H_CMPLX] = 'c'; 2023-01-10T18:36:57,463 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,463 959 | 2023-01-10T18:36:57,463 | 2023-01-10T18:36:57,463 960 | /* Initialise the "true window" array. */ 2023-01-10T18:36:57,463 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,463 961 | 2023-01-10T18:36:57,463 | 2023-01-10T18:36:57,463 962 | noamp.select = FALSE; 2023-01-10T18:36:57,464 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,464 963 | 2023-01-10T18:36:57,464 | 2023-01-10T18:36:57,464 964 | truewin.first = 0; 2023-01-10T18:36:57,464 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,464 965 | truewin.last = MAXWIN-1; 2023-01-10T18:36:57,464 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,464 966 | truewin.n = MAXWIN; 2023-01-10T18:36:57,464 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,465 967 | truewin.select= FALSE; 2023-01-10T18:36:57,465 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,465 968 | for(i=0; i < MAXWIN; i++) truewin.wins[i] = TRUE; 2023-01-10T18:36:57,465 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,465 969 | 2023-01-10T18:36:57,465 | 2023-01-10T18:36:57,465 970 | /* Initialise the table of variable handles. */ 2023-01-10T18:36:57,465 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,465 971 | 2023-01-10T18:36:57,466 | 2023-01-10T18:36:57,466 972 | for(i=0; i < MAXVHANDS; i++)varhands[i] = NULL; 2023-01-10T18:36:57,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,466 973 | 2023-01-10T18:36:57,466 | 2023-01-10T18:36:57,466 974 | } 2023-01-10T18:36:57,466 | ~ 2023-01-10T18:36:57,466 975 | /************************************************************************/ 2023-01-10T18:36:57,466 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,467 976 | private void uv_freeuv(UV *uv) 2023-01-10T18:36:57,467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,467 977 | /* 2023-01-10T18:36:57,467 | ~~ 2023-01-10T18:36:57,467 978 | Free a uv structure. 2023-01-10T18:36:57,467 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,467 979 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,468 980 | { 2023-01-10T18:36:57,468 | ~ 2023-01-10T18:36:57,468 981 | int i; 2023-01-10T18:36:57,468 | ~~~~~~ 2023-01-10T18:36:57,468 982 | VARIABLE *v; 2023-01-10T18:36:57,468 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,468 983 | VARHAND *vh,*vht; 2023-01-10T18:36:57,468 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,468 984 | VARPNT *vp,*vpt; 2023-01-10T18:36:57,469 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,469 985 | 2023-01-10T18:36:57,469 | 2023-01-10T18:36:57,469 986 | vh = uv->vhans; 2023-01-10T18:36:57,469 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,469 987 | while(vh != NULL){ 2023-01-10T18:36:57,469 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,469 988 | vp = vh->varhd; 2023-01-10T18:36:57,469 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,470 989 | varhands[vh->index] = NULL; 2023-01-10T18:36:57,470 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,470 990 | while(vp != NULL){ 2023-01-10T18:36:57,470 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,470 991 | vpt = vp; 2023-01-10T18:36:57,470 | ~~~~~~~~~ 2023-01-10T18:36:57,470 992 | vp = vp->fwd; 2023-01-10T18:36:57,470 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,471 993 | free((char *)vpt); 2023-01-10T18:36:57,471 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,471 994 | } 2023-01-10T18:36:57,471 | ~ 2023-01-10T18:36:57,471 995 | vht = vh; 2023-01-10T18:36:57,471 | ~~~~~~~~~ 2023-01-10T18:36:57,471 996 | vh = vh->fwd; 2023-01-10T18:36:57,471 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,472 997 | free((char *)vht); 2023-01-10T18:36:57,472 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,472 998 | } 2023-01-10T18:36:57,472 | ~ 2023-01-10T18:36:57,472 999 | 2023-01-10T18:36:57,472 | 2023-01-10T18:36:57,472 1000 | /* Free buffers associated with variables. */ 2023-01-10T18:36:57,472 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,472 1001 | 2023-01-10T18:36:57,473 | 2023-01-10T18:36:57,473 1002 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++) 2023-01-10T18:36:57,473 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,473 1003 | if(v->buf != NULL)free(v->buf); 2023-01-10T18:36:57,473 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,473 1004 | 2023-01-10T18:36:57,473 | 2023-01-10T18:36:57,473 1005 | if(uv->data_line.wts != NULL) free((char *)uv->data_line.wts); 2023-01-10T18:36:57,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,474 1006 | if(uv->ref_line.wts != NULL) free((char *)uv->ref_line.wts); 2023-01-10T18:36:57,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,474 1007 | if(uv->corr_flags.flags != NULL) free((char *)uv->corr_flags.flags); 2023-01-10T18:36:57,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,474 1008 | if(uv->wcorr_flags.flags != NULL ) free((char *)uv->wcorr_flags.flags); 2023-01-10T18:36:57,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,474 1009 | if(uv->sigma2.table != NULL)free((char *)uv->sigma2.table); 2023-01-10T18:36:57,474 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,475 1010 | uv_free_select(uv->select); 2023-01-10T18:36:57,475 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,475 1011 | if(uv->uvw != NULL) free((char *)(uv->uvw)); 2023-01-10T18:36:57,475 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,475 1012 | free((char *)uv); 2023-01-10T18:36:57,475 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,475 1013 | } 2023-01-10T18:36:57,475 | ~ 2023-01-10T18:36:57,476 1014 | /************************************************************************/ 2023-01-10T18:36:57,476 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,476 1015 | private void uv_free_select(SELECT *sel) 2023-01-10T18:36:57,476 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,476 1016 | { 2023-01-10T18:36:57,476 | ~ 2023-01-10T18:36:57,476 1017 | OPERS *op; 2023-01-10T18:36:57,476 | ~~~~~~~~~~ 2023-01-10T18:36:57,476 1018 | SELECT *fwd; 2023-01-10T18:36:57,477 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,477 1019 | int i; 2023-01-10T18:36:57,477 | ~~~~~~ 2023-01-10T18:36:57,477 1020 | 2023-01-10T18:36:57,477 | 2023-01-10T18:36:57,477 1021 | while(sel != NULL){ 2023-01-10T18:36:57,477 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,477 1022 | fwd = sel->fwd; 2023-01-10T18:36:57,478 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,478 1023 | if(sel->noper > 0){ 2023-01-10T18:36:57,478 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,478 1024 | op = sel->opers; 2023-01-10T18:36:57,478 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,478 1025 | for(i=0; i < sel->noper; i++){ 2023-01-10T18:36:57,478 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,479 1026 | if(op->stval != NULL) free(op->stval); 2023-01-10T18:36:57,479 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,479 1027 | op++; 2023-01-10T18:36:57,479 | ~~~~~ 2023-01-10T18:36:57,479 1028 | } 2023-01-10T18:36:57,479 | ~ 2023-01-10T18:36:57,479 1029 | free((char *)(sel->opers)); 2023-01-10T18:36:57,479 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,479 1030 | } 2023-01-10T18:36:57,480 | ~ 2023-01-10T18:36:57,480 1031 | free((char *)sel); 2023-01-10T18:36:57,480 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,480 1032 | sel = fwd; 2023-01-10T18:36:57,480 | ~~~~~~~~~~ 2023-01-10T18:36:57,480 1033 | } 2023-01-10T18:36:57,480 | ~ 2023-01-10T18:36:57,480 1034 | } 2023-01-10T18:36:57,481 | ~ 2023-01-10T18:36:57,481 1035 | /************************************************************************/ 2023-01-10T18:36:57,481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,481 1036 | private UV *uv_getuv(int tno) 2023-01-10T18:36:57,481 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,481 1037 | /* 2023-01-10T18:36:57,481 | ~~ 2023-01-10T18:36:57,481 1038 | Allocate a structure describing a uv file. 2023-01-10T18:36:57,482 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,482 1039 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,482 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,482 1040 | { 2023-01-10T18:36:57,482 | ~ 2023-01-10T18:36:57,482 1041 | int i; 2023-01-10T18:36:57,482 | ~~~~~~ 2023-01-10T18:36:57,482 1042 | UV *uv; 2023-01-10T18:36:57,482 | ~~~~~~~ 2023-01-10T18:36:57,483 1043 | VARIABLE *v; 2023-01-10T18:36:57,483 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,483 1044 | 2023-01-10T18:36:57,483 | 2023-01-10T18:36:57,483 1045 | uv = (UV *)Malloc(sizeof(UV)); 2023-01-10T18:36:57,483 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,483 1046 | uv->item = 0; 2023-01-10T18:36:57,483 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,484 1047 | uv->tno = tno; 2023-01-10T18:36:57,484 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,484 1048 | uv->vhans = NULL; 2023-01-10T18:36:57,484 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,484 1049 | uv->nvar = 0; 2023-01-10T18:36:57,484 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,484 1050 | uv->presize = 0; 2023-01-10T18:36:57,484 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,484 1051 | uv->gflag = 1; 2023-01-10T18:36:57,485 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,485 1052 | uv->saved_nvar= 0; 2023-01-10T18:36:57,485 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,485 1053 | uv->offset = 0; 2023-01-10T18:36:57,485 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,485 1054 | uv->max_offset= 0; 2023-01-10T18:36:57,485 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,485 1055 | uv->flags = 0; 2023-01-10T18:36:57,486 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,486 1056 | uv->callno = 0; 2023-01-10T18:36:57,486 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,486 1057 | uv->maxvis = 0; 2023-01-10T18:36:57,486 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,486 1058 | uv->mark = 0; 2023-01-10T18:36:57,486 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,486 1059 | uv->select = NULL; 2023-01-10T18:36:57,486 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,487 1060 | uv->need_skyfreq = uv->need_point = uv->need_planet = FALSE; 2023-01-10T18:36:57,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,487 1061 | uv->need_pol = uv->need_on = uv->need_uvw = FALSE; 2023-01-10T18:36:57,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,487 1062 | uv->need_src = uv->need_win = uv->need_bin = FALSE; 2023-01-10T18:36:57,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,487 1063 | uv->need_dra = uv->need_ddec = uv->need_ra = FALSE; 2023-01-10T18:36:57,487 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,487 1064 | uv->need_dec = uv->need_lst = uv->need_elev = FALSE; 2023-01-10T18:36:57,488 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,488 1065 | uv->need_obsra = uv->need_dazim = uv->need_delev = FALSE; 2023-01-10T18:36:57,488 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,488 1066 | uv->uvw = NULL; 2023-01-10T18:36:57,488 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,488 1067 | uv->ref_plmaj = uv->ref_plmin = uv->ref_plangle = 0; 2023-01-10T18:36:57,488 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,488 1068 | uv->plscale = 1; 2023-01-10T18:36:57,488 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,489 1069 | uv->pluu = uv->plvv = 1; 2023-01-10T18:36:57,489 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,489 1070 | uv->plvu = uv->pluv = 0; 2023-01-10T18:36:57,489 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,489 1071 | uv->apply_amp = TRUE; 2023-01-10T18:36:57,489 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,489 1072 | uv->apply_win = TRUE; 2023-01-10T18:36:57,489 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,489 1073 | uv->skyfreq_start = 0; 2023-01-10T18:36:57,490 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,490 1074 | 2023-01-10T18:36:57,490 | 2023-01-10T18:36:57,490 1075 | uv->corr_flags.exists = TRUE; 2023-01-10T18:36:57,490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,490 1076 | uv->corr_flags.handle = NULL; 2023-01-10T18:36:57,490 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,490 1077 | uv->corr_flags.offset = 0; 2023-01-10T18:36:57,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,491 1078 | uv->corr_flags.flags = NULL; 2023-01-10T18:36:57,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,491 1079 | uv->corr_flags.nflags = 0; 2023-01-10T18:36:57,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,491 1080 | uv->wcorr_flags.exists = TRUE; 2023-01-10T18:36:57,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,491 1081 | uv->wcorr_flags.handle = NULL; 2023-01-10T18:36:57,491 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,492 1082 | uv->wcorr_flags.offset = 0; 2023-01-10T18:36:57,492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,492 1083 | uv->wcorr_flags.flags = NULL; 2023-01-10T18:36:57,492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,492 1084 | uv->wcorr_flags.nflags = 0; 2023-01-10T18:36:57,492 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,492 1085 | 2023-01-10T18:36:57,492 | 2023-01-10T18:36:57,492 1086 | uv->data_line.wts = NULL; 2023-01-10T18:36:57,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,493 1087 | uv->data_line.linetype = LINE_NONE; 2023-01-10T18:36:57,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,493 1088 | uv->ref_line.wts = NULL; 2023-01-10T18:36:57,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,493 1089 | uv->ref_line.linetype = LINE_NONE; 2023-01-10T18:36:57,493 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,493 1090 | 2023-01-10T18:36:57,494 | 2023-01-10T18:36:57,494 1091 | uv->sigma2.table = NULL; 2023-01-10T18:36:57,494 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,494 1092 | uv->sigma2.nants = 0; 2023-01-10T18:36:57,494 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,494 1093 | uv->sigma2.missing = FALSE; 2023-01-10T18:36:57,494 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,494 1094 | 2023-01-10T18:36:57,494 | 2023-01-10T18:36:57,495 1095 | uv->corr = NULL; 2023-01-10T18:36:57,495 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,495 1096 | uv->wcorr = NULL; 2023-01-10T18:36:57,495 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,495 1097 | uv->coord = NULL; 2023-01-10T18:36:57,495 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,495 1098 | uv->time = NULL; 2023-01-10T18:36:57,495 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,495 1099 | uv->bl = NULL; 2023-01-10T18:36:57,496 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,496 1100 | 2023-01-10T18:36:57,496 | 2023-01-10T18:36:57,496 1101 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++){ 2023-01-10T18:36:57,496 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,496 1102 | v->length = v->flength = 0; 2023-01-10T18:36:57,496 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,496 1103 | v->buf = NULL; 2023-01-10T18:36:57,496 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,497 1104 | v->flags = 0; 2023-01-10T18:36:57,497 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,497 1105 | v->type = 0; 2023-01-10T18:36:57,497 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,497 1106 | v->fwd = NULL; 2023-01-10T18:36:57,497 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,497 1107 | v->index = i; 2023-01-10T18:36:57,497 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,497 1108 | v->callno = 0; 2023-01-10T18:36:57,498 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,498 1109 | } 2023-01-10T18:36:57,498 | ~ 2023-01-10T18:36:57,498 1110 | for(i=0; i < HASHSIZE; i++) uv->vhash[i] = NULL; 2023-01-10T18:36:57,498 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,498 1111 | uvs[tno] = uv; 2023-01-10T18:36:57,498 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,498 1112 | return(uv); 2023-01-10T18:36:57,498 | ~~~~~~~~~~~ 2023-01-10T18:36:57,499 1113 | } 2023-01-10T18:36:57,499 | ~ 2023-01-10T18:36:57,499 1114 | /************************************************************************/ 2023-01-10T18:36:57,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,499 1115 | private void uv_vartable_out(UV *uv) 2023-01-10T18:36:57,499 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,499 1116 | /* 2023-01-10T18:36:57,499 | ~~ 2023-01-10T18:36:57,499 1117 | Write out a variable name table. 2023-01-10T18:36:57,500 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,500 1118 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,500 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,500 1119 | { 2023-01-10T18:36:57,500 | ~ 2023-01-10T18:36:57,500 1120 | int item; 2023-01-10T18:36:57,500 | ~~~~~~~~~ 2023-01-10T18:36:57,501 1121 | char line[MAXLINE]; 2023-01-10T18:36:57,501 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,501 1122 | int iostat,i; 2023-01-10T18:36:57,501 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,501 1123 | VARIABLE *v; 2023-01-10T18:36:57,501 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,501 1124 | 2023-01-10T18:36:57,501 | 2023-01-10T18:36:57,501 1125 | haccess_c(uv->tno,&item,"vartable","write",&iostat); 2023-01-10T18:36:57,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,502 1126 | CHECK(iostat,(message,"Error opening vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:57,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,502 1127 | for(i=0, v = uv->variable; i < uv->nvar; i++,v++){ 2023-01-10T18:36:57,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,502 1128 | Sprintf(line,"%c %s",VARTYPE(v),v->name); 2023-01-10T18:36:57,502 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,502 1129 | hwritea_c(item,line,strlen(line)+1,&iostat); 2023-01-10T18:36:57,503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,503 1130 | CHECK(iostat,(message,"Error writing to vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:57,503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,503 1131 | } 2023-01-10T18:36:57,503 | ~ 2023-01-10T18:36:57,503 1132 | hdaccess_c(item,&iostat); 2023-01-10T18:36:57,503 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,503 1133 | CHECK(iostat,(message,"Error closing vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:57,503 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,504 1134 | } 2023-01-10T18:36:57,504 | ~ 2023-01-10T18:36:57,504 1135 | /************************************************************************/ 2023-01-10T18:36:57,504 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,504 1136 | private void uv_override(UV *uv) 2023-01-10T18:36:57,504 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,504 1137 | /* 2023-01-10T18:36:57,504 | ~~ 2023-01-10T18:36:57,505 1138 | Determine if a variable has a item of the same name. If there is one, then 2023-01-10T18:36:57,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,505 1139 | the value of that item overrides the value of the variable. In this case, 2023-01-10T18:36:57,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,505 1140 | get the value of the item, and set a flag to indicate that the variable 2023-01-10T18:36:57,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,505 1141 | value is being overriden. 2023-01-10T18:36:57,505 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,506 1142 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,506 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,506 1143 | { 2023-01-10T18:36:57,506 | ~ 2023-01-10T18:36:57,506 1144 | int item; 2023-01-10T18:36:57,506 | ~~~~~~~~~ 2023-01-10T18:36:57,506 1145 | char *b,varname[MAXLINE],vartype[MAXLINE],descr[MAXLINE]; 2023-01-10T18:36:57,506 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,506 1146 | VARIABLE *v; 2023-01-10T18:36:57,507 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,507 1147 | int tno,iostat,n,ok,isnumeric,ischar; 2023-01-10T18:36:57,507 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,507 1148 | 2023-01-10T18:36:57,507 | 2023-01-10T18:36:57,507 1149 | tno = uv->tno; 2023-01-10T18:36:57,507 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,507 1150 | haccess_c(uv->tno,&item,".","read",&iostat); 2023-01-10T18:36:57,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,508 1151 | CHECK(iostat,(message,"Error opening directory listing, in UVOPEN(override)")); 2023-01-10T18:36:57,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,508 1152 | while(hreada_c(item,varname,MAXLINE,&iostat),iostat==0){ 2023-01-10T18:36:57,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,508 1153 | v = uv_locvar(tno,varname); 2023-01-10T18:36:57,508 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,508 1154 | if(v != NULL){ 2023-01-10T18:36:57,509 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,509 1155 | hdprobe_c(tno,varname,descr,MAXLINE,vartype,&n); 2023-01-10T18:36:57,509 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,509 1156 | isnumeric = 2023-01-10T18:36:57,509 | ~~~~~~~~~~~ 2023-01-10T18:36:57,509 1157 | (v->type == H_DBLE || v->type == H_REAL || v->type == H_INT) && 2023-01-10T18:36:57,509 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,509 1158 | (!strcmp(vartype,"double") || !strcmp(vartype,"real") || 2023-01-10T18:36:57,510 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,510 1159 | !strcmp(vartype,"integer")); 2023-01-10T18:36:57,510 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,510 1160 | ischar = (v->type == H_BYTE && !strcmp(vartype,"character")); 2023-01-10T18:36:57,510 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,510 1161 | ok = ( n == 1 && (isnumeric || ischar) ); 2023-01-10T18:36:57,510 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,510 1162 | 2023-01-10T18:36:57,511 | 2023-01-10T18:36:57,511 1163 | if(v->type == H_BYTE) { 2023-01-10T18:36:57,511 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,511 1164 | n = strlen(descr); 2023-01-10T18:36:57,511 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,511 1165 | b = Malloc(n+1); 2023-01-10T18:36:57,511 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,511 1166 | } else { 2023-01-10T18:36:57,512 | ~~~~~~~~ 2023-01-10T18:36:57,512 1167 | b = Malloc(internal_size[v->type]); 2023-01-10T18:36:57,512 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,512 1168 | } 2023-01-10T18:36:57,512 | ~ 2023-01-10T18:36:57,512 1169 | if(ok)switch(v->type){ 2023-01-10T18:36:57,512 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,512 1170 | case H_INT: rdhdi_c(tno,varname,(int *)b,0); break; 2023-01-10T18:36:57,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,513 1171 | case H_REAL: rdhdr_c(tno,varname,(float *)b,0.0); break; 2023-01-10T18:36:57,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,513 1172 | case H_BYTE: strcpy(b,descr); break; 2023-01-10T18:36:57,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,513 1173 | case H_DBLE: rdhdd_c(tno,varname,(double *)b,(double)0.0); break; 2023-01-10T18:36:57,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,513 1174 | default: ok = FALSE; 2023-01-10T18:36:57,513 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,514 1175 | } 2023-01-10T18:36:57,514 | ~ 2023-01-10T18:36:57,514 1176 | if(ok){ 2023-01-10T18:36:57,514 | ~~~~~~~ 2023-01-10T18:36:57,514 1177 | v->flags |= UVF_OVERRIDE; 2023-01-10T18:36:57,514 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,514 1178 | v->buf = b; 2023-01-10T18:36:57,514 | ~~~~~~~~~~~ 2023-01-10T18:36:57,514 1179 | v->length = n*external_size[v->type]; 2023-01-10T18:36:57,515 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,515 1180 | v->callno = 1; 2023-01-10T18:36:57,515 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,515 1181 | } else { 2023-01-10T18:36:57,515 | ~~~~~~~~ 2023-01-10T18:36:57,515 1182 | free(b); 2023-01-10T18:36:57,515 | ~~~~~~~~ 2023-01-10T18:36:57,515 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T18:36:57,515 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,516 1184 | } 2023-01-10T18:36:57,516 | ~ 2023-01-10T18:36:57,516 1185 | } 2023-01-10T18:36:57,516 | ~ 2023-01-10T18:36:57,516 1186 | } 2023-01-10T18:36:57,516 | ~ 2023-01-10T18:36:57,516 1187 | if(iostat != -1) ERROR('f',(message, 2023-01-10T18:36:57,516 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,517 1188 | "Error %d when performing override checks, in UVOPEN",iostat)); 2023-01-10T18:36:57,517 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,517 1189 | hdaccess_c(item,&iostat); 2023-01-10T18:36:57,517 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,517 1190 | } 2023-01-10T18:36:57,517 | ~ 2023-01-10T18:36:57,517 1191 | /************************************************************************/ 2023-01-10T18:36:57,517 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,517 1192 | private void uv_vartable_in(UV *uv) 2023-01-10T18:36:57,518 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,518 1193 | /* 2023-01-10T18:36:57,518 | ~~ 2023-01-10T18:36:57,518 1194 | Scan the variable name table, to determine the names and types of the 2023-01-10T18:36:57,518 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,518 1195 | variables. 2023-01-10T18:36:57,518 | ~~~~~~~~~~ 2023-01-10T18:36:57,518 1196 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,518 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,519 1197 | { 2023-01-10T18:36:57,519 | ~ 2023-01-10T18:36:57,519 1198 | int item; 2023-01-10T18:36:57,519 | ~~~~~~~~~ 2023-01-10T18:36:57,519 1199 | char line[MAXLINE],name[MAXNAM+1],ctype; 2023-01-10T18:36:57,519 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,519 1200 | int iostat,type = 0; 2023-01-10T18:36:57,520 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,520 1201 | 2023-01-10T18:36:57,520 | 2023-01-10T18:36:57,520 1202 | haccess_c(uv->tno,&item,"vartable","read",&iostat); 2023-01-10T18:36:57,520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,520 1203 | CHECK(iostat,(message,"Error opening vartable, in UVOPEN(vartable_in)")); 2023-01-10T18:36:57,520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,520 1204 | 2023-01-10T18:36:57,521 | 2023-01-10T18:36:57,521 1205 | while(hreada_c(item,line,(int)sizeof(line),&iostat),!iostat){ 2023-01-10T18:36:57,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,521 1206 | Sscanf(line,"%c %s",&ctype,name); 2023-01-10T18:36:57,521 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,521 1207 | switch(ctype){ 2023-01-10T18:36:57,521 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,521 1208 | case 'a': type = H_BYTE; break; 2023-01-10T18:36:57,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,522 1209 | case 'j': type = H_INT2; break; 2023-01-10T18:36:57,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,522 1210 | case 'i': type = H_INT; break; 2023-01-10T18:36:57,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,522 1211 | case 'r': type = H_REAL; break; 2023-01-10T18:36:57,522 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,522 1212 | case 'd': type = H_DBLE; break; 2023-01-10T18:36:57,523 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,523 1213 | case 'c': type = H_CMPLX; break; 2023-01-10T18:36:57,523 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,523 1214 | default: ERROR('f',(message,"Bad type (%c) for variable %s",ctype,name)); 2023-01-10T18:36:57,523 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,523 1215 | } 2023-01-10T18:36:57,523 | ~ 2023-01-10T18:36:57,523 1216 | (void)uv_mkvar(uv->tno,name,type); 2023-01-10T18:36:57,524 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,524 1217 | } 2023-01-10T18:36:57,524 | ~ 2023-01-10T18:36:57,524 1218 | hdaccess_c(item,&iostat); 2023-01-10T18:36:57,524 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,524 1219 | uv->saved_nvar = uv->nvar; 2023-01-10T18:36:57,524 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,524 1220 | } 2023-01-10T18:36:57,524 | ~ 2023-01-10T18:36:57,525 1221 | /************************************************************************/ 2023-01-10T18:36:57,525 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,525 1222 | private VARIABLE *uv_mkvar(int tno,char *name,int type) 2023-01-10T18:36:57,525 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,525 1223 | /* 2023-01-10T18:36:57,525 | ~~ 2023-01-10T18:36:57,525 1224 | Add an entry for a new variable. 2023-01-10T18:36:57,525 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,526 1225 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:57,526 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,526 1226 | { 2023-01-10T18:36:57,526 | ~ 2023-01-10T18:36:57,526 1227 | UV *uv; 2023-01-10T18:36:57,526 | ~~~~~~~ 2023-01-10T18:36:57,526 1228 | VARIABLE *v; 2023-01-10T18:36:57,526 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,527 1229 | int n,hashval; 2023-01-10T18:36:57,527 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,527 1230 | 2023-01-10T18:36:57,527 | 2023-01-10T18:36:57,527 1231 | /* Check if the variable already exists. */ 2023-01-10T18:36:57,527 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,527 1232 | 2023-01-10T18:36:57,527 | 2023-01-10T18:36:57,527 1233 | v = uv_locvar(tno,name); 2023-01-10T18:36:57,528 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,528 1234 | if(v != NULL) return(v); 2023-01-10T18:36:57,528 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,528 1235 | 2023-01-10T18:36:57,528 | 2023-01-10T18:36:57,528 1236 | /* Check that the variable has a good name. */ 2023-01-10T18:36:57,528 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,528 1237 | if((int)strlen(name) > MAXNAM) 2023-01-10T18:36:57,529 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,529 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T18:36:57,529 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,529 aipy/_miriad/mir/uvio.c:1238:5: note: in expansion of macro ‘ERROR’ 2023-01-10T18:36:57,529 1238 | ERROR('f',(message,"The variable name %s is too long, in UVPUTVR",name)); 2023-01-10T18:36:57,529 | ^~~~~ 2023-01-10T18:36:57,927 aipy/_miriad/mir/uvio.c: In function ‘uvopen_c’: 2023-01-10T18:36:57,927 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-10T18:36:57,928 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T18:36:57,928 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ 2023-01-10T18:36:57,928 aipy/_miriad/mir/uvio.c:329:47: note: in definition of macro ‘ERROR’ 2023-01-10T18:36:57,928 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T18:36:57,928 | ^ 2023-01-10T18:36:57,928 aipy/_miriad/mir/uvio.c:1183:47: note: format string is defined here 2023-01-10T18:36:57,928 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T18:36:57,928 | ^~ 2023-01-10T18:36:57,932 aipy/_miriad/mir/uvio.c:329:39: note: ‘sprintf’ output between 37 and 164 bytes into a destination of size 128 2023-01-10T18:36:57,932 329 | #define ERROR(sev,a) bug_c(sev,((void)sprintf a,message)) 2023-01-10T18:36:57,932 | ^~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,932 330 | #define CHECK(x,a) if(x) { bug_c('w',((void)sprintf a,message)); \ 2023-01-10T18:36:57,932 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,932 331 | bugno_c('f',x); \ 2023-01-10T18:36:57,933 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,933 332 | } 2023-01-10T18:36:57,933 | ~ 2023-01-10T18:36:57,933 333 | 2023-01-10T18:36:57,933 | 2023-01-10T18:36:57,933 334 | #define uvputvra_c(tno,name,value) \ 2023-01-10T18:36:57,933 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,933 335 | uvputvr_c(tno,H_BYTE,name,value,strlen(value)) 2023-01-10T18:36:57,933 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,934 336 | #define uvputvrj_c(tno,name,value,n) \ 2023-01-10T18:36:57,934 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,934 337 | uvputvr_c(tno,H_INT2,name,(char *)(value),n) 2023-01-10T18:36:57,934 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,934 338 | #define uvputvri_c(tno,name,value,n) \ 2023-01-10T18:36:57,934 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,934 339 | uvputvr_c(tno,H_INT,name,(char *)(value),n) 2023-01-10T18:36:57,934 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,934 340 | #define uvputvrr_c(tno,name,value,n) \ 2023-01-10T18:36:57,934 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,935 341 | uvputvr_c(tno,H_REAL,name,(char *)(value),n) 2023-01-10T18:36:57,935 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,935 342 | #define uvputvrd_c(tno,name,value,n) \ 2023-01-10T18:36:57,935 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,935 343 | uvputvr_c(tno,H_DBLE,name,(char *)(value),n) 2023-01-10T18:36:57,935 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,935 344 | #define uvputvrc_c(tno,name,value,n) \ 2023-01-10T18:36:57,935 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,935 345 | uvputvr_c(tno,H_CMPLX,name,(char *)(value),n) 2023-01-10T18:36:57,936 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,936 346 | 2023-01-10T18:36:57,936 | 2023-01-10T18:36:57,936 347 | #define VARLEN(var) ( (var)->length / external_size[(var)->type] ) 2023-01-10T18:36:57,936 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,936 348 | #define VARTYPE(var) ( type_flag[(var)->type] ) 2023-01-10T18:36:57,936 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,936 349 | 2023-01-10T18:36:57,936 | 2023-01-10T18:36:57,936 350 | #define NUMCHAN(var) ((var)->type == H_INT2 || (var)->type == H_REAL ? \ 2023-01-10T18:36:57,937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,937 351 | (var)->length / (2*external_size[(var)->type]) : \ 2023-01-10T18:36:57,937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,937 352 | (var)->length / external_size[(var)->type] ) 2023-01-10T18:36:57,937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,937 353 | 2023-01-10T18:36:57,937 | 2023-01-10T18:36:57,937 354 | #define MYABS(x) ( (x) > 0 ? (x) : -(x) ) 2023-01-10T18:36:57,937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,938 355 | 2023-01-10T18:36:57,938 | 2023-01-10T18:36:57,938 356 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,938 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,938 357 | /* */ 2023-01-10T18:36:57,938 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,938 358 | /* Types and static variables. */ 2023-01-10T18:36:57,938 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,938 359 | /* */ 2023-01-10T18:36:57,939 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,939 360 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:57,939 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,939 361 | 2023-01-10T18:36:57,939 | 2023-01-10T18:36:57,939 362 | static char message[MAXLINE]; 2023-01-10T18:36:57,939 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,939 363 | static int internal_size[10]; 2023-01-10T18:36:57,939 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,939 364 | static int external_size[10]; 2023-01-10T18:36:57,940 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,940 365 | static char type_flag[10]; 2023-01-10T18:36:57,940 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,940 366 | 2023-01-10T18:36:57,940 | 2023-01-10T18:36:57,940 367 | static char var_data_hdr[UV_HDR_SIZE]={0,0,VAR_DATA,0}; 2023-01-10T18:36:57,940 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,940 368 | static char var_size_hdr[UV_HDR_SIZE]={0,0,VAR_SIZE,0}; 2023-01-10T18:36:57,940 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,941 369 | static char var_eor_hdr[UV_HDR_SIZE]={0,0,VAR_EOR,0}; 2023-01-10T18:36:57,941 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,941 370 | 2023-01-10T18:36:57,941 | 2023-01-10T18:36:57,941 371 | 2023-01-10T18:36:57,941 | 2023-01-10T18:36:57,941 372 | typedef struct variable{ 2023-01-10T18:36:57,941 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,941 373 | char *buf,name[MAXNAM+1]; 2023-01-10T18:36:57,942 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,942 374 | int length,flength,flags,type,index,callno; 2023-01-10T18:36:57,942 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,942 375 | struct variable *fwd; 2023-01-10T18:36:57,942 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,942 376 | } VARIABLE; 2023-01-10T18:36:57,942 | ~~~~~~~~~~~ 2023-01-10T18:36:57,942 377 | 2023-01-10T18:36:57,942 | 2023-01-10T18:36:57,943 378 | typedef struct varpnt{ 2023-01-10T18:36:57,943 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,943 379 | VARIABLE *v; 2023-01-10T18:36:57,943 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,943 380 | struct varpnt *fwd; 2023-01-10T18:36:57,943 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,943 381 | } VARPNT; 2023-01-10T18:36:57,943 | ~~~~~~~~~ 2023-01-10T18:36:57,943 382 | 2023-01-10T18:36:57,943 | 2023-01-10T18:36:57,944 383 | typedef struct varhand{ 2023-01-10T18:36:57,944 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,944 384 | int tno,callno,index; 2023-01-10T18:36:57,944 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,944 385 | struct varhand *fwd; 2023-01-10T18:36:57,944 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,944 386 | VARPNT *varhd; 2023-01-10T18:36:57,944 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,944 387 | } VARHAND; 2023-01-10T18:36:57,945 | ~~~~~~~~~~ 2023-01-10T18:36:57,945 388 | 2023-01-10T18:36:57,945 | 2023-01-10T18:36:57,945 389 | #define LINE_NONE 0 2023-01-10T18:36:57,945 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,945 390 | #define LINE_CHANNEL 1 2023-01-10T18:36:57,945 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,945 391 | #define LINE_WIDE 2 2023-01-10T18:36:57,945 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,945 392 | #define LINE_VELOCITY 3 2023-01-10T18:36:57,946 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,946 393 | #define LINE_FELOCITY 4 2023-01-10T18:36:57,946 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,946 394 | 2023-01-10T18:36:57,946 | 2023-01-10T18:36:57,946 395 | #include "maxdimc.h" 2023-01-10T18:36:57,946 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,946 396 | 2023-01-10T18:36:57,946 | 2023-01-10T18:36:57,947 397 | #define SEL_VIS 1 2023-01-10T18:36:57,947 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,947 398 | #define SEL_TIME 2 2023-01-10T18:36:57,947 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,947 399 | #define SEL_UVN 3 2023-01-10T18:36:57,947 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,947 400 | #define SEL_POINT 4 2023-01-10T18:36:57,947 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,947 401 | #define SEL_DRA 5 2023-01-10T18:36:57,947 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,948 402 | #define SEL_DDEC 6 2023-01-10T18:36:57,948 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,948 403 | #define SEL_INC 7 2023-01-10T18:36:57,948 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,948 404 | #define SEL_RA 8 2023-01-10T18:36:57,948 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,948 405 | #define SEL_DEC 9 2023-01-10T18:36:57,948 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,948 406 | #define SEL_POL 10 2023-01-10T18:36:57,948 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,949 407 | #define SEL_ON 11 2023-01-10T18:36:57,949 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,949 408 | #define SEL_SRC 12 2023-01-10T18:36:57,949 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,949 409 | #define SEL_UV 13 2023-01-10T18:36:57,949 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,949 410 | #define SEL_FREQ 14 2023-01-10T18:36:57,949 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,949 411 | #define SEL_SHADOW 15 2023-01-10T18:36:57,950 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,950 412 | #define SEL_BIN 16 2023-01-10T18:36:57,950 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,950 413 | #define SEL_HA 17 2023-01-10T18:36:57,950 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,950 414 | #define SEL_LST 18 2023-01-10T18:36:57,950 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,950 415 | #define SEL_ELEV 19 2023-01-10T18:36:57,950 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,951 416 | #define SEL_DAZIM 20 2023-01-10T18:36:57,951 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,951 417 | #define SEL_DELEV 21 2023-01-10T18:36:57,951 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,951 418 | 2023-01-10T18:36:57,951 | 2023-01-10T18:36:57,951 419 | typedef struct { 2023-01-10T18:36:57,951 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,951 420 | int type,discard; 2023-01-10T18:36:57,951 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,952 421 | double loval,hival; 2023-01-10T18:36:57,952 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,952 422 | char *stval; 2023-01-10T18:36:57,952 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,952 423 | } OPERS; 2023-01-10T18:36:57,952 | ~~~~~~~~ 2023-01-10T18:36:57,952 424 | 2023-01-10T18:36:57,952 | 2023-01-10T18:36:57,953 425 | typedef struct { 2023-01-10T18:36:57,953 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,953 426 | int discard,select; 2023-01-10T18:36:57,953 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,953 427 | float loval,hival; 2023-01-10T18:36:57,953 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,953 428 | } AMP; 2023-01-10T18:36:57,953 | ~~~~~~ 2023-01-10T18:36:57,954 429 | 2023-01-10T18:36:57,954 | 2023-01-10T18:36:57,954 430 | typedef struct { 2023-01-10T18:36:57,954 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,954 431 | int wins[MAXWIN]; 2023-01-10T18:36:57,954 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,954 432 | int first,last,n,select; 2023-01-10T18:36:57,954 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,955 433 | } WINDOW; 2023-01-10T18:36:57,955 | ~~~~~~~~~ 2023-01-10T18:36:57,955 434 | 2023-01-10T18:36:57,955 | 2023-01-10T18:36:57,955 435 | typedef struct { double *table; 2023-01-10T18:36:57,955 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,955 436 | int vhan,nants,missing; 2023-01-10T18:36:57,955 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,955 437 | } SIGMA2; 2023-01-10T18:36:57,956 | ~~~~~~~~~ 2023-01-10T18:36:57,956 438 | 2023-01-10T18:36:57,956 | 2023-01-10T18:36:57,956 439 | typedef struct select { 2023-01-10T18:36:57,956 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,956 440 | int ants[MAXANT*(MAXANT+1)/2]; 2023-01-10T18:36:57,956 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,956 441 | int selants; 2023-01-10T18:36:57,957 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,957 442 | int maxoper,noper,and; 2023-01-10T18:36:57,957 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,957 443 | WINDOW win; 2023-01-10T18:36:57,957 | ~~~~~~~~~~~ 2023-01-10T18:36:57,957 444 | AMP amp; 2023-01-10T18:36:57,957 | ~~~~~~~~ 2023-01-10T18:36:57,957 445 | OPERS *opers; 2023-01-10T18:36:57,957 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,958 446 | struct select *fwd; 2023-01-10T18:36:57,958 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,958 447 | } SELECT; 2023-01-10T18:36:57,958 | ~~~~~~~~~ 2023-01-10T18:36:57,958 448 | 2023-01-10T18:36:57,958 | 2023-01-10T18:36:57,958 449 | typedef struct { 2023-01-10T18:36:57,958 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,959 450 | int nants; 2023-01-10T18:36:57,959 | ~~~~~~~~~~ 2023-01-10T18:36:57,959 451 | double uu[MAXANT],vv[MAXANT],ww[MAXANT]; 2023-01-10T18:36:57,959 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,959 452 | } UVW; 2023-01-10T18:36:57,959 | ~~~~~~ 2023-01-10T18:36:57,959 453 | 2023-01-10T18:36:57,959 | 2023-01-10T18:36:57,959 454 | typedef struct { 2023-01-10T18:36:57,960 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,960 455 | int linetype; 2023-01-10T18:36:57,960 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,960 456 | int start,width,step,n; 2023-01-10T18:36:57,960 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,960 457 | float fstart,fwidth,fstep,*wts; 2023-01-10T18:36:57,960 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,960 458 | } LINE_INFO; 2023-01-10T18:36:57,961 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,961 459 | 2023-01-10T18:36:57,961 | 2023-01-10T18:36:57,961 460 | typedef struct { 2023-01-10T18:36:57,961 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,961 461 | char *handle; 2023-01-10T18:36:57,961 | ~~~~~~~~~~~~~ 2023-01-10T18:36:57,961 462 | int nflags,*flags,exists,init; 2023-01-10T18:36:57,962 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,962 463 | off64_t offset; 2023-01-10T18:36:57,962 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,962 464 | } FLAGS; 2023-01-10T18:36:57,962 | ~~~~~~~~ 2023-01-10T18:36:57,962 465 | 2023-01-10T18:36:57,962 | 2023-01-10T18:36:57,963 466 | typedef struct { 2023-01-10T18:36:57,963 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,963 467 | int item; 2023-01-10T18:36:57,963 | ~~~~~~~~~ 2023-01-10T18:36:57,963 468 | int nvar,saved_nvar,tno,flags,callno,maxvis,mark; 2023-01-10T18:36:57,963 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,963 469 | off64_t offset, max_offset; 2023-01-10T18:36:57,963 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,964 470 | int presize,gflag; 2023-01-10T18:36:57,964 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,964 471 | FLAGS corr_flags,wcorr_flags; 2023-01-10T18:36:57,964 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,964 472 | VARIABLE *coord,*corr,*time,*bl,*tscale,*nschan,*axisrms; 2023-01-10T18:36:57,964 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,964 473 | VARIABLE *sfreq,*sdf,*restfreq,*wcorr,*wfreq,*veldop,*vsource; 2023-01-10T18:36:57,964 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,965 474 | VARIABLE *plmaj,*plmin,*plangle,*dra,*ddec,*ra,*dec,*pol,*on; 2023-01-10T18:36:57,965 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,965 475 | VARIABLE *dazim, *delev; 2023-01-10T18:36:57,965 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,965 476 | VARIABLE *obsra,*obsdec,*lst,*elev,*antpos,*antdiam,*source,*bin; 2023-01-10T18:36:57,965 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,965 477 | VARIABLE *vhash[HASHSIZE],*prevar[MAXPRE]; 2023-01-10T18:36:57,965 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,966 478 | VARIABLE variable[MAXVAR]; 2023-01-10T18:36:57,966 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,966 479 | LINE_INFO data_line,ref_line,actual_line; 2023-01-10T18:36:57,966 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,966 480 | int need_skyfreq,need_point,need_planet,need_dra,need_ddec, 2023-01-10T18:36:57,966 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,966 481 | need_dazim, need_delev, 2023-01-10T18:36:57,966 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,967 482 | need_ra,need_dec,need_pol,need_on,need_obsra,need_uvw,need_src, 2023-01-10T18:36:57,967 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,967 483 | need_win,need_bin,need_lst,need_elev; 2023-01-10T18:36:57,967 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,967 484 | float ref_plmaj,ref_plmin,ref_plangle,plscale,pluu,pluv,plvu,plvv; 2023-01-10T18:36:57,967 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,967 485 | double skyfreq; 2023-01-10T18:36:57,967 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,967 486 | int skyfreq_start; 2023-01-10T18:36:57,968 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,968 487 | VARHAND *vhans; 2023-01-10T18:36:57,968 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,968 488 | SELECT *select; 2023-01-10T18:36:57,968 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,968 489 | int apply_amp,apply_win; 2023-01-10T18:36:57,968 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,968 490 | AMP *amp; 2023-01-10T18:36:57,969 | ~~~~~~~~~ 2023-01-10T18:36:57,969 491 | SIGMA2 sigma2; 2023-01-10T18:36:57,969 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,969 492 | UVW *uvw; 2023-01-10T18:36:57,969 | ~~~~~~~~~ 2023-01-10T18:36:57,969 493 | WINDOW *win; 2023-01-10T18:36:57,969 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,969 494 | } UV; 2023-01-10T18:36:57,969 | ~~~~~ 2023-01-10T18:36:57,970 495 | 2023-01-10T18:36:57,970 | 2023-01-10T18:36:57,970 496 | #define MAXVHANDS 128 2023-01-10T18:36:57,970 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,970 497 | 2023-01-10T18:36:57,970 | 2023-01-10T18:36:57,970 498 | static UV *uvs[MAXOPEN]; 2023-01-10T18:36:57,970 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,971 499 | static VARHAND *varhands[MAXVHANDS]; 2023-01-10T18:36:57,971 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,971 500 | static WINDOW truewin; 2023-01-10T18:36:57,971 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,971 501 | static AMP noamp; 2023-01-10T18:36:57,971 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,971 502 | static int first=TRUE; 2023-01-10T18:36:57,971 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,971 503 | 2023-01-10T18:36:57,972 | 2023-01-10T18:36:57,972 504 | /* void uvputvr_c(); */ 2023-01-10T18:36:57,972 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,972 505 | private void uvinfo_chan(UV *uv,double *data,int mode); 2023-01-10T18:36:57,972 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,972 506 | private void uvinfo_variance(UV *uv,double *data); 2023-01-10T18:36:57,972 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,972 507 | private void uvbasant_c(int baseline,int *i1,int *i2); 2023-01-10T18:36:57,973 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,973 508 | private void uv_init(void); 2023-01-10T18:36:57,973 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,973 509 | private void uv_freeuv(UV *uv); 2023-01-10T18:36:57,973 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,973 510 | private void uv_free_select(SELECT *sel); 2023-01-10T18:36:57,973 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,974 511 | private void uvread_defline(int tno); 2023-01-10T18:36:57,974 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,974 512 | private void uvread_init(int tno); 2023-01-10T18:36:57,974 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,974 513 | private void uvread_velocity(UV *uv,LINE_INFO *line,float *data, int *flags,int nsize,LINE_INFO *actual); 2023-01-10T18:36:57,974 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,974 514 | private void uvread_flags(UV *uv,VARIABLE *v,FLAGS *flag_info,int nchan); 2023-01-10T18:36:57,974 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,974 515 | private void uvread_defvelline(UV* uv,LINE_INFO *line,WINDOW *win); 2023-01-10T18:36:57,975 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,975 516 | private void uvread_updated_planet(UV *uv); 2023-01-10T18:36:57,975 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,975 517 | private void uvread_reference(UV *uv, float *data, int *flags,int n); 2023-01-10T18:36:57,975 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,975 518 | private void uvread_updated_uvw(UV *uv); 2023-01-10T18:36:57,975 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,975 519 | private void uvread_preamble(UV *uv, double *preamble); 2023-01-10T18:36:57,976 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,976 520 | private void uv_vartable_out(UV *uv); 2023-01-10T18:36:57,976 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,976 521 | private void uv_vartable_in(UV *uv); 2023-01-10T18:36:57,976 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,976 522 | private void uvset_coord(UV *uv, const char *type); 2023-01-10T18:36:57,976 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,976 523 | private void uvset_linetype(LINE_INFO *line, const char *type, int n, double start,double width,double step); 2023-01-10T18:36:57,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,977 524 | private void uvset_planet(UV *uv, double p1,double p2,double p3); 2023-01-10T18:36:57,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,977 525 | private void uvset_selection(UV *uv, const char *type, int n); 2023-01-10T18:36:57,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,977 526 | private void uvset_preamble(UV *uv, const char *type); 2023-01-10T18:36:57,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,977 527 | private void uv_addopers(SELECT *sel,int type,int discard,double p1,double p2,const char *ps); 2023-01-10T18:36:57,977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,978 528 | private void uv_override(UV *uv); 2023-01-10T18:36:57,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,978 529 | private UV *uv_getuv(int tno); 2023-01-10T18:36:57,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,978 530 | private VARIABLE *uv_mkvar(int tno,char *name,int type); 2023-01-10T18:36:57,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,978 531 | private VARIABLE *uv_locvar(int tno,char *name); 2023-01-10T18:36:57,978 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,978 532 | private VARIABLE *uv_checkvar(int tno,char *varname,int type); 2023-01-10T18:36:57,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,979 533 | private int uv_scan(UV *uv, VARIABLE *vt); 2023-01-10T18:36:57,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,979 534 | private int uvread_line(UV *uv,LINE_INFO *line,float *data, int nsize,int *flags,LINE_INFO *actual); 2023-01-10T18:36:57,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,979 535 | private int uvread_select(UV *uv); 2023-01-10T18:36:57,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,979 536 | private int uvread_maxvis(SELECT *sel); 2023-01-10T18:36:57,979 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,980 537 | private int uvread_shadowed(UV *uv,double diameter); 2023-01-10T18:36:57,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,980 538 | private int uvread_match(char *s1,char *s2, int length); 2023-01-10T18:36:57,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,980 539 | private double uv_getskyfreq(UV *uv,WINDOW *win); 2023-01-10T18:36:57,980 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,980 540 | 2023-01-10T18:36:57,980 | 2023-01-10T18:36:57,980 541 | /************************************************************************/ 2023-01-10T18:36:57,981 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,981 542 | #ifdef TESTBED 2023-01-10T18:36:57,981 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:57,981 543 | static char *M[] = { 2023-01-10T18:36:57,981 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,981 544 | "JAN", "FEB", "MAR", "APR", "MAY", "JUN", 2023-01-10T18:36:57,981 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,981 545 | "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" 2023-01-10T18:36:57,982 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,982 546 | }; 2023-01-10T18:36:57,982 | ~~ 2023-01-10T18:36:57,982 547 | 2023-01-10T18:36:57,982 | 2023-01-10T18:36:57,982 548 | static int checklist = 0; 2023-01-10T18:36:57,982 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,982 549 | 2023-01-10T18:36:57,983 | 2023-01-10T18:36:57,983 550 | /* The following compiles a main program to give exercise to some of the 2023-01-10T18:36:57,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,983 551 | * uvio routines. It is essentially a debugging device (both for bad 2023-01-10T18:36:57,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,983 552 | * files and bad behaviour of uvio!). 2023-01-10T18:36:57,983 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,983 553 | * 2023-01-10T18:36:57,984 | ~ 2023-01-10T18:36:57,984 554 | * Call several uvio.c poutines, some of which are the secret ones, 2023-01-10T18:36:57,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,984 555 | * to get a 'human' readable listing of a miriad visibility data set ` 2023-01-10T18:36:57,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,984 556 | * Because it needs some of these 'static' routines, the source code 2023-01-10T18:36:57,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,984 557 | * of uvio.c needs to be included here directly, as opposed to linking 2023-01-10T18:36:57,984 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,985 558 | * it with the library ($MIRLIB/libmir.a in Unix) 2023-01-10T18:36:57,985 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,985 559 | * 2023-01-10T18:36:57,985 | ~ 2023-01-10T18:36:57,985 560 | * Note: This program does not have the normal miriad user interface 2023-01-10T18:36:57,985 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,985 561 | * 2023-01-10T18:36:57,985 | ~ 2023-01-10T18:36:57,986 562 | */ 2023-01-10T18:36:57,986 | ~~ 2023-01-10T18:36:57,986 563 | main(int ac,char *av[]) 2023-01-10T18:36:57,986 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,986 564 | { 2023-01-10T18:36:57,986 | ~ 2023-01-10T18:36:57,986 565 | int i,tno; 2023-01-10T18:36:57,986 | ~~~~~~~~~~ 2023-01-10T18:36:57,987 566 | char *fn; 2023-01-10T18:36:57,987 | ~~~~~~~~~ 2023-01-10T18:36:57,987 567 | 2023-01-10T18:36:57,987 | 2023-01-10T18:36:57,987 568 | printf("%s Version %s\n",av[0],VERSION_ID); 2023-01-10T18:36:57,987 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,987 569 | if (ac!=2) { 2023-01-10T18:36:57,987 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,988 570 | printf("Usage: %s [vis=]vis-dataset\n",av[0]); 2023-01-10T18:36:57,988 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,988 571 | printf("Expert listing of a miriad UV dataset\n"); 2023-01-10T18:36:57,988 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,988 572 | #ifdef MIR4 2023-01-10T18:36:57,988 | ~~~~~~~~~~~ 2023-01-10T18:36:57,988 573 | printf("MIR4 mode\n"); 2023-01-10T18:36:57,988 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,988 574 | #else 2023-01-10T18:36:57,989 | ~~~~~ 2023-01-10T18:36:57,989 575 | printf("MIR3 mode **probably will not work in MIR4**\n"); 2023-01-10T18:36:57,989 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,989 576 | #endif 2023-01-10T18:36:57,989 | ~~~~~~ 2023-01-10T18:36:57,989 577 | 2023-01-10T18:36:57,989 | 2023-01-10T18:36:57,989 578 | exit(0); 2023-01-10T18:36:57,990 | ~~~~~~~~ 2023-01-10T18:36:57,990 579 | } 2023-01-10T18:36:57,990 | ~ 2023-01-10T18:36:57,990 580 | 2023-01-10T18:36:57,990 | 2023-01-10T18:36:57,990 581 | for (i=1; i 4) { /* see if vis= was used */ 2023-01-10T18:36:57,991 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,991 584 | if (strncmp(fn,"vis=",4)==0) 2023-01-10T18:36:57,991 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,991 585 | fn += 4; /* if so, increase pointer */ 2023-01-10T18:36:57,991 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,991 586 | } 2023-01-10T18:36:57,992 | ~ 2023-01-10T18:36:57,992 587 | uvopen_c(&tno,fn,"old"); 2023-01-10T18:36:57,992 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,992 588 | } 2023-01-10T18:36:57,992 | ~ 2023-01-10T18:36:57,992 589 | my_uvlist(tno,fn); 2023-01-10T18:36:57,992 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,992 590 | uvclose_c(tno); 2023-01-10T18:36:57,993 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,993 591 | } 2023-01-10T18:36:57,993 | ~ 2023-01-10T18:36:57,993 592 | 2023-01-10T18:36:57,993 | 2023-01-10T18:36:57,993 593 | 2023-01-10T18:36:57,993 | 2023-01-10T18:36:57,993 594 | my_uvlist(int tno,char *fname) 2023-01-10T18:36:57,993 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,994 595 | { 2023-01-10T18:36:57,994 | ~ 2023-01-10T18:36:57,994 596 | double *dp; 2023-01-10T18:36:57,994 | ~~~~~~~~~~~ 2023-01-10T18:36:57,994 597 | float *fp; 2023-01-10T18:36:57,994 | ~~~~~~~~~~ 2023-01-10T18:36:57,994 598 | short *sp; 2023-01-10T18:36:57,994 | ~~~~~~~~~~ 2023-01-10T18:36:57,995 599 | int iostat, intsize, extsize, i, *ip, eor_count=0; 2023-01-10T18:36:57,995 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,995 600 | off64_t offset; 2023-01-10T18:36:57,995 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,995 601 | VARIABLE *v; 2023-01-10T18:36:57,995 | ~~~~~~~~~~~~ 2023-01-10T18:36:57,995 602 | UV *uv; 2023-01-10T18:36:57,995 | ~~~~~~~ 2023-01-10T18:36:57,996 603 | char s[UV_HDR_SIZE], *b, buffer[128]; 2023-01-10T18:36:57,996 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,996 604 | 2023-01-10T18:36:57,996 | 2023-01-10T18:36:57,996 605 | 2023-01-10T18:36:57,996 | 2023-01-10T18:36:57,996 606 | uv = uvs[tno]; /* get pointer to UV structure */ 2023-01-10T18:36:57,996 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,997 607 | 2023-01-10T18:36:57,997 | 2023-01-10T18:36:57,997 608 | offset = uv->offset; /* should be 0 at start */ 2023-01-10T18:36:57,997 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,997 609 | printf("0x%8x FILE: %s\n",offset,fname); 2023-01-10T18:36:57,997 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,997 610 | while(offset < uv->max_offset) { 2023-01-10T18:36:57,997 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,998 611 | printf("0x%8x ",offset); 2023-01-10T18:36:57,998 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,998 612 | hreadb_c(uv->item,s,offset,UV_HDR_SIZE,&iostat); /* get header */ 2023-01-10T18:36:57,998 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,998 613 | if (iostat == -1) return(iostat); /* End Of File */ 2023-01-10T18:36:57,998 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,998 614 | 2023-01-10T18:36:57,998 | 2023-01-10T18:36:57,999 615 | if(*(s+2) != VAR_EOR) { 2023-01-10T18:36:57,999 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,999 616 | v = &uv->variable[*s]; /* get name of var */ 2023-01-10T18:36:57,999 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,999 617 | intsize = internal_size[v->type]; 2023-01-10T18:36:57,999 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:57,999 618 | extsize = external_size[v->type]; 2023-01-10T18:36:57,999 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,000 619 | } 2023-01-10T18:36:58,000 | ~ 2023-01-10T18:36:58,000 620 | 2023-01-10T18:36:58,000 | 2023-01-10T18:36:58,000 621 | switch(*(s+2)) { 2023-01-10T18:36:58,000 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,000 622 | case VAR_SIZE: 2023-01-10T18:36:58,000 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,001 623 | hreadi_c(uv->item,&v->length,offset+UV_HDR_SIZE,H_INT_SIZE, 2023-01-10T18:36:58,001 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,001 624 | &iostat); 2023-01-10T18:36:58,001 | ~~~~~~~~~ 2023-01-10T18:36:58,001 625 | printf("SIZE: %-9s Count=%d,Type=%c\n",v->name,VARLEN(v),VARTYPE(v)); 2023-01-10T18:36:58,001 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,001 626 | v->buf = Realloc(v->buf, (v->length*intsize)/extsize); 2023-01-10T18:36:58,001 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,002 627 | offset += UV_ALIGN; 2023-01-10T18:36:58,002 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,002 628 | break; 2023-01-10T18:36:58,002 | ~~~~~~ 2023-01-10T18:36:58,002 629 | case VAR_DATA: 2023-01-10T18:36:58,002 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,002 630 | offset += mroundup(UV_HDR_SIZE,extsize); 2023-01-10T18:36:58,002 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,003 631 | hread_c(uv->item,v->type,v->buf,offset,v->length, 2023-01-10T18:36:58,003 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,003 632 | &iostat); 2023-01-10T18:36:58,003 | ~~~~~~~~~ 2023-01-10T18:36:58,003 633 | printf("DATA: %-9s",v->name); 2023-01-10T18:36:58,003 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,003 634 | if (strcmp(v->name,"time") == 0) { 2023-01-10T18:36:58,003 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,003 635 | int z,a,b,c,d,e,alpha,month,year,day,hr,minute,sec; 2023-01-10T18:36:58,004 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,004 636 | int dsec,nchar; 2023-01-10T18:36:58,004 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,004 637 | char string[100]; 2023-01-10T18:36:58,004 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,004 638 | double f; 2023-01-10T18:36:58,004 | ~~~~~~~~~ 2023-01-10T18:36:58,004 639 | 2023-01-10T18:36:58,004 | 2023-01-10T18:36:58,005 640 | dp = (double *) v->buf; 2023-01-10T18:36:58,005 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,005 641 | z = *dp + 0.5 + (1.0/1728000.0); 2023-01-10T18:36:58,005 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,005 642 | f = *dp + 0.5 + (1.0/1728000.0) - z; 2023-01-10T18:36:58,005 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,005 643 | if (z<2299161){a=z;}else{ 2023-01-10T18:36:58,005 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,005 644 | alpha = ((z - 1867216.25) / 36524.25); 2023-01-10T18:36:58,006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,006 645 | a = z + 1 + alpha - (int)(0.25 * alpha); 2023-01-10T18:36:58,006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,006 646 | } 2023-01-10T18:36:58,006 | ~ 2023-01-10T18:36:58,006 647 | b = a + 1524; c = (b - 122.1) / 365.25; 2023-01-10T18:36:58,006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,006 648 | d = 365.25 * c; e = (b - d) / 30.6001; 2023-01-10T18:36:58,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,007 649 | f += (b - d - (int)(30.6001 * e)); 2023-01-10T18:36:58,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,007 650 | day = f; hr = 24 * (f - day); 2023-01-10T18:36:58,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,007 651 | minute = 60 * (24 * (f - day) - hr); 2023-01-10T18:36:58,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,007 652 | sec = 600 * (60 * (24 * (f - day) - hr) - minute); 2023-01-10T18:36:58,007 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,008 653 | dsec = sec % 10; sec /= 10; 2023-01-10T18:36:58,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,008 654 | month = (e<=13) ? e - 1 : e - 13; 2023-01-10T18:36:58,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,008 655 | year = (month>2) ? c - 4716 : c - 4715; 2023-01-10T18:36:58,008 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,008 656 | year %= 100; 2023-01-10T18:36:58,008 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,009 657 | printf(" %20.10lg ",*dp); 2023-01-10T18:36:58,009 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,009 658 | printf(" %2.2d%s%2.2d:%2.2d:%2.2d:%2.2d.%1d\n", 2023-01-10T18:36:58,009 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,009 659 | year,M[month-1],day,hr,minute,sec,dsec); 2023-01-10T18:36:58,009 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,009 660 | }else 2023-01-10T18:36:58,009 | ~~~~~ 2023-01-10T18:36:58,010 661 | switch (v->type) { 2023-01-10T18:36:58,010 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,010 662 | case H_BYTE: 2023-01-10T18:36:58,010 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,010 663 | strncpy(buffer,v->buf,v->length); 2023-01-10T18:36:58,010 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,010 664 | buffer[v->length] = 0; 2023-01-10T18:36:58,010 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,010 665 | printf(" %-8s\n",buffer); 2023-01-10T18:36:58,011 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,011 666 | break; 2023-01-10T18:36:58,011 | ~~~~~~ 2023-01-10T18:36:58,011 667 | case H_INT2: 2023-01-10T18:36:58,011 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,011 668 | sp = (short *) v->buf; 2023-01-10T18:36:58,011 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,011 669 | printf(" %d\n",*sp); 2023-01-10T18:36:58,012 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,012 670 | break; 2023-01-10T18:36:58,012 | ~~~~~~ 2023-01-10T18:36:58,012 671 | case H_INT: 2023-01-10T18:36:58,012 | ~~~~~~~~~~~ 2023-01-10T18:36:58,012 672 | ip = (int *) v->buf; 2023-01-10T18:36:58,012 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,012 673 | printf(" %d\n",*ip); 2023-01-10T18:36:58,013 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,013 674 | break; 2023-01-10T18:36:58,013 | ~~~~~~ 2023-01-10T18:36:58,013 675 | case H_REAL: 2023-01-10T18:36:58,013 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,013 676 | fp = (float *) v->buf; 2023-01-10T18:36:58,013 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,013 677 | printf(" %20.10g\n",*fp); 2023-01-10T18:36:58,014 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,014 678 | break; 2023-01-10T18:36:58,014 | ~~~~~~ 2023-01-10T18:36:58,014 679 | case H_DBLE: 2023-01-10T18:36:58,014 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,014 680 | dp = (double *) v->buf; 2023-01-10T18:36:58,014 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,015 681 | printf(" %20.10lg\n",*dp); 2023-01-10T18:36:58,015 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,015 682 | break; 2023-01-10T18:36:58,015 | ~~~~~~ 2023-01-10T18:36:58,015 683 | case H_CMPLX: 2023-01-10T18:36:58,015 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,015 684 | fp = (float *) v->buf; 2023-01-10T18:36:58,015 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,016 685 | printf(" %20.10g %20.10g\n",fp[0], fp[1]); 2023-01-10T18:36:58,016 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,016 686 | break; 2023-01-10T18:36:58,016 | ~~~~~~ 2023-01-10T18:36:58,016 687 | default: 2023-01-10T18:36:58,016 | ~~~~~~~~ 2023-01-10T18:36:58,016 688 | printf(" (Invalid data type %d)\n",v->type); 2023-01-10T18:36:58,016 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,017 689 | break; 2023-01-10T18:36:58,017 | ~~~~~~ 2023-01-10T18:36:58,017 690 | } 2023-01-10T18:36:58,017 | ~ 2023-01-10T18:36:58,017 691 | offset = mroundup(offset+v->length,UV_ALIGN); 2023-01-10T18:36:58,017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,017 692 | break; 2023-01-10T18:36:58,017 | ~~~~~~ 2023-01-10T18:36:58,018 693 | case VAR_EOR: 2023-01-10T18:36:58,018 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,018 694 | printf("========== EOR (%d) ========\n",++eor_count); 2023-01-10T18:36:58,018 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,018 695 | offset += UV_ALIGN; 2023-01-10T18:36:58,018 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,018 696 | break; 2023-01-10T18:36:58,018 | ~~~~~~ 2023-01-10T18:36:58,018 697 | default: 2023-01-10T18:36:58,019 | ~~~~~~~~ 2023-01-10T18:36:58,019 698 | printf("No valid record code %d",*(s+2)); 2023-01-10T18:36:58,019 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,019 699 | exit(0); 2023-01-10T18:36:58,019 | ~~~~~~~~ 2023-01-10T18:36:58,019 700 | } /* switch */ 2023-01-10T18:36:58,019 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,019 701 | uv->offset = offset; 2023-01-10T18:36:58,019 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,020 702 | } /* for(;;) */ 2023-01-10T18:36:58,020 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,020 703 | } 2023-01-10T18:36:58,020 | ~ 2023-01-10T18:36:58,020 704 | #endif 2023-01-10T18:36:58,020 | ~~~~~~ 2023-01-10T18:36:58,020 705 | /************************************************************************/ 2023-01-10T18:36:58,020 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,021 706 | void uvopen_c(int *tno,Const char *name,Const char *status) 2023-01-10T18:36:58,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,021 707 | /**UvOpen -- Open a uv data file. */ 2023-01-10T18:36:58,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,021 708 | /*&rjs */ 2023-01-10T18:36:58,021 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,021 709 | /*:uv-i/o */ 2023-01-10T18:36:58,021 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,021 710 | /*+ FORTRAN call sequence: 2023-01-10T18:36:58,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,022 711 | 2023-01-10T18:36:58,022 | 2023-01-10T18:36:58,022 712 | subroutine uvopen(tno,name,status) 2023-01-10T18:36:58,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,022 713 | integer tno 2023-01-10T18:36:58,022 | ~~~~~~~~~~~ 2023-01-10T18:36:58,022 714 | character name*(*),status*(*) 2023-01-10T18:36:58,022 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,023 715 | 2023-01-10T18:36:58,023 | 2023-01-10T18:36:58,023 716 | Create and/or ready a UV data base to be accessed. 2023-01-10T18:36:58,023 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,023 717 | 2023-01-10T18:36:58,023 | 2023-01-10T18:36:58,023 718 | Input: 2023-01-10T18:36:58,023 | ~~~~~~ 2023-01-10T18:36:58,023 719 | name Name of the directory tree containg the u-v data. 2023-01-10T18:36:58,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,024 720 | status Either "old", "new" or "append". Old files can be read, 2023-01-10T18:36:58,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,024 721 | whereas new and append files can only be written. Append 2023-01-10T18:36:58,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,024 722 | files must be pre-existing uv data-sets. 2023-01-10T18:36:58,024 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,024 723 | Output: 2023-01-10T18:36:58,025 | ~~~~~~~ 2023-01-10T18:36:58,025 724 | tno Handle of the uv data set. */ 2023-01-10T18:36:58,025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,025 725 | /*-- */ 2023-01-10T18:36:58,025 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,025 726 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,025 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,025 727 | { 2023-01-10T18:36:58,025 | ~ 2023-01-10T18:36:58,026 728 | UV *uv; 2023-01-10T18:36:58,026 | ~~~~~~~ 2023-01-10T18:36:58,026 729 | int iostat; 2023-01-10T18:36:58,026 | ~~~~~~~~~~~ 2023-01-10T18:36:58,026 730 | char line[MAXLINE]; 2023-01-10T18:36:58,026 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,026 731 | 2023-01-10T18:36:58,026 | 2023-01-10T18:36:58,027 732 | if(first)uv_init(); 2023-01-10T18:36:58,027 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,027 733 | 2023-01-10T18:36:58,027 | 2023-01-10T18:36:58,027 734 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,027 735 | /* */ 2023-01-10T18:36:58,027 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,028 736 | /* Handle an old file. */ 2023-01-10T18:36:58,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,028 737 | /* */ 2023-01-10T18:36:58,028 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,028 738 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,028 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,028 739 | 2023-01-10T18:36:58,028 | 2023-01-10T18:36:58,029 740 | if( !strcmp(status,"old") ) { 2023-01-10T18:36:58,029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,029 741 | hopen_c(tno,name,"old",&iostat); 2023-01-10T18:36:58,029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,029 742 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(old)",name)); 2023-01-10T18:36:58,029 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,029 743 | uv = uv_getuv(*tno); 2023-01-10T18:36:58,029 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,030 744 | haccess_c(*tno,&uv->item,"visdata","read",&iostat); 2023-01-10T18:36:58,030 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,030 745 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(old)",name)); 2023-01-10T18:36:58,030 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,030 746 | #ifdef MIR4 2023-01-10T18:36:58,030 | ~~~~~~~~~~~ 2023-01-10T18:36:58,030 747 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T18:36:58,030 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,031 748 | if (1) { 2023-01-10T18:36:58,031 | ~~~~~~~~ 2023-01-10T18:36:58,031 749 | int8 vislen; 2023-01-10T18:36:58,031 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,031 750 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T18:36:58,031 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,031 751 | uv->max_offset = (off64_t) vislen; 2023-01-10T18:36:58,031 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,032 752 | } else { 2023-01-10T18:36:58,032 | ~~~~~~~~ 2023-01-10T18:36:58,032 753 | int old_vislen; 2023-01-10T18:36:58,032 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,032 754 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T18:36:58,032 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,032 755 | if (old_vislen < 0) 2023-01-10T18:36:58,033 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,033 756 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T18:36:58,033 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,033 757 | uv->max_offset = old_vislen; 2023-01-10T18:36:58,033 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,033 758 | } 2023-01-10T18:36:58,033 | ~ 2023-01-10T18:36:58,033 759 | #else 2023-01-10T18:36:58,034 | ~~~~~ 2023-01-10T18:36:58,034 760 | /* MIR3 and before format: */ 2023-01-10T18:36:58,034 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,034 761 | rdhdi_c(*tno,"vislen",&(uv->max_offset),hsize_c(uv->item)); 2023-01-10T18:36:58,034 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,034 762 | #endif 2023-01-10T18:36:58,034 | ~~~~~~ 2023-01-10T18:36:58,034 763 | uv_vartable_in(uv); 2023-01-10T18:36:58,035 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,035 764 | uv_override(uv); 2023-01-10T18:36:58,035 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,035 765 | 2023-01-10T18:36:58,035 | 2023-01-10T18:36:58,035 766 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,035 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,035 767 | /* */ 2023-01-10T18:36:58,036 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,036 768 | /* Handle a new file. */ 2023-01-10T18:36:58,036 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,036 769 | /* */ 2023-01-10T18:36:58,036 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,036 770 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,036 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,036 771 | 2023-01-10T18:36:58,037 | 2023-01-10T18:36:58,037 772 | } else if(!strcmp(status,"new")) { 2023-01-10T18:36:58,037 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,037 773 | hopen_c(tno,name,"new",&iostat); 2023-01-10T18:36:58,037 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,037 774 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(new)",name)); 2023-01-10T18:36:58,037 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,037 775 | uv = uv_getuv(*tno); 2023-01-10T18:36:58,037 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,038 776 | haccess_c(*tno,&uv->item,"visdata","write",&iostat); 2023-01-10T18:36:58,038 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,038 777 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(new)",name)); 2023-01-10T18:36:58,038 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,038 778 | uv->flags = UVF_NEW; 2023-01-10T18:36:58,038 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,038 779 | 2023-01-10T18:36:58,038 | 2023-01-10T18:36:58,038 780 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,039 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,039 781 | /* */ 2023-01-10T18:36:58,039 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,039 782 | /* Append to an old file. */ 2023-01-10T18:36:58,039 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,039 783 | /* */ 2023-01-10T18:36:58,039 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,039 784 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,039 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,040 785 | 2023-01-10T18:36:58,040 | 2023-01-10T18:36:58,040 786 | } else if(!strcmp(status,"append")) { 2023-01-10T18:36:58,040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,040 787 | hopen_c(tno,name,"old",&iostat); 2023-01-10T18:36:58,040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,040 788 | CHECK(iostat,(message,"Error opening %s, in UVOPEN(append)",name)); 2023-01-10T18:36:58,040 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,041 789 | uv = uv_getuv(*tno); 2023-01-10T18:36:58,041 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,041 790 | haccess_c(*tno,&uv->item,"visdata","append",&iostat); 2023-01-10T18:36:58,041 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,041 791 | CHECK(iostat,(message,"Error accessing visdata for %s, in UVOPEN(append)",name)); 2023-01-10T18:36:58,041 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,041 792 | uv->flags = UVF_APPEND; 2023-01-10T18:36:58,041 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,041 793 | #ifdef MIR4 2023-01-10T18:36:58,042 | ~~~~~~~~~~~ 2023-01-10T18:36:58,042 794 | /* figure out if to read old MIR3 or new MIR4 */ 2023-01-10T18:36:58,042 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,042 795 | if (1) { 2023-01-10T18:36:58,042 | ~~~~~~~~ 2023-01-10T18:36:58,042 796 | int8 vislen; 2023-01-10T18:36:58,042 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,042 797 | rdhdl_c(*tno,"vislen",&vislen,hsize_c(uv->item)); 2023-01-10T18:36:58,043 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,043 798 | uv->offset = (off64_t) vislen; 2023-01-10T18:36:58,043 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,043 799 | } else { 2023-01-10T18:36:58,043 | ~~~~~~~~ 2023-01-10T18:36:58,043 800 | int old_vislen; 2023-01-10T18:36:58,043 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,043 801 | rdhdi_c(*tno,"vislen",&old_vislen,hsize_c(uv->item)); 2023-01-10T18:36:58,044 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,044 802 | if (old_vislen < 0) 2023-01-10T18:36:58,044 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,044 803 | ERROR('f',(message,"Bad conversion MIR3<->MIR4 in UVOPEN: vislen=%d",old_vislen)); 2023-01-10T18:36:58,044 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,044 804 | uv->offset = old_vislen; 2023-01-10T18:36:58,044 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,044 805 | } 2023-01-10T18:36:58,045 | ~ 2023-01-10T18:36:58,045 806 | #else 2023-01-10T18:36:58,045 | ~~~~~ 2023-01-10T18:36:58,045 807 | /* MIR3 and before format: */ 2023-01-10T18:36:58,045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,045 808 | rdhdi_c(*tno,"vislen",&(uv->offset),hsize_c(uv->item)); 2023-01-10T18:36:58,045 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,045 809 | #endif 2023-01-10T18:36:58,046 | ~~~~~~ 2023-01-10T18:36:58,046 810 | uv->offset = mroundup(uv->offset,UV_ALIGN); 2023-01-10T18:36:58,046 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,046 811 | uv_vartable_in(uv); 2023-01-10T18:36:58,046 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,046 812 | 2023-01-10T18:36:58,046 | 2023-01-10T18:36:58,046 813 | /* Read items and fill in the appropriate value. */ 2023-01-10T18:36:58,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,047 814 | 2023-01-10T18:36:58,047 | 2023-01-10T18:36:58,047 815 | rdhda_c(*tno,"obstype",line,"",MAXLINE); 2023-01-10T18:36:58,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,047 816 | if(!strcmp(line,"autocorrelation")) uv->flags |= UVF_AUTO; 2023-01-10T18:36:58,047 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,047 817 | else if(!strcmp(line,"crosscorrelation")) uv->flags |= UVF_CROSS; 2023-01-10T18:36:58,048 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,048 818 | { 2023-01-10T18:36:58,048 | ~ 2023-01-10T18:36:58,048 819 | int8 n; 2023-01-10T18:36:58,048 | ~~~~~~~ 2023-01-10T18:36:58,048 820 | rdhdl_c(*tno,"ncorr",&n,-1); 2023-01-10T18:36:58,048 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,048 821 | uv->corr_flags.offset = n; 2023-01-10T18:36:58,048 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,049 822 | rdhdl_c(*tno,"nwcorr",&n,-1); 2023-01-10T18:36:58,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,049 823 | uv->wcorr_flags.offset = n; 2023-01-10T18:36:58,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,049 824 | } 2023-01-10T18:36:58,049 | ~ 2023-01-10T18:36:58,049 825 | if(uv->corr_flags.offset < 0 || uv->wcorr_flags.offset < 0) 2023-01-10T18:36:58,049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,049 826 | BUG('f',"Cannot append to uv file without 'ncorr' and/or 'nwcorr' items"); 2023-01-10T18:36:58,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,050 827 | 2023-01-10T18:36:58,050 | 2023-01-10T18:36:58,050 828 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,050 829 | /* */ 2023-01-10T18:36:58,050 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,050 830 | /* Somethig else -- must be an error. */ 2023-01-10T18:36:58,050 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,051 831 | /* */ 2023-01-10T18:36:58,051 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,051 832 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,051 833 | 2023-01-10T18:36:58,051 | 2023-01-10T18:36:58,051 834 | } else ERROR('f',(message,"Status %s is not recognised by UVOPEN",status)); 2023-01-10T18:36:58,051 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,052 835 | } 2023-01-10T18:36:58,052 | ~ 2023-01-10T18:36:58,052 836 | /************************************************************************/ 2023-01-10T18:36:58,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,052 837 | void uvclose_c(int tno) 2023-01-10T18:36:58,052 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,052 838 | /**uvclose -- Close a uv file */ 2023-01-10T18:36:58,052 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,052 839 | /*&rjs */ 2023-01-10T18:36:58,053 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,053 840 | /*:uv-i/o */ 2023-01-10T18:36:58,053 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,053 841 | /*+ FORTRAN call sequence: 2023-01-10T18:36:58,053 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,053 842 | subroutine uvclose(tno) 2023-01-10T18:36:58,053 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,053 843 | integer tno 2023-01-10T18:36:58,053 | ~~~~~~~~~~~ 2023-01-10T18:36:58,054 844 | 2023-01-10T18:36:58,054 | 2023-01-10T18:36:58,054 845 | This close a uv data file. 2023-01-10T18:36:58,054 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,054 846 | Input: 2023-01-10T18:36:58,054 | ~~~~~~ 2023-01-10T18:36:58,054 847 | tno Handle of the uv data set. */ 2023-01-10T18:36:58,054 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,054 848 | /*-- */ 2023-01-10T18:36:58,055 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,055 849 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,055 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,055 850 | { 2023-01-10T18:36:58,055 | ~ 2023-01-10T18:36:58,055 851 | UV *uv; 2023-01-10T18:36:58,055 | ~~~~~~~ 2023-01-10T18:36:58,055 852 | int iostat; 2023-01-10T18:36:58,056 | ~~~~~~~~~~~ 2023-01-10T18:36:58,056 853 | 2023-01-10T18:36:58,056 | 2023-01-10T18:36:58,056 854 | uv = uvs[tno]; 2023-01-10T18:36:58,056 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,056 855 | 2023-01-10T18:36:58,056 | 2023-01-10T18:36:58,056 856 | /* Finished with the flagging information. */ 2023-01-10T18:36:58,056 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,057 857 | 2023-01-10T18:36:58,057 | 2023-01-10T18:36:58,057 858 | if(uv->corr_flags.handle != NULL) mkclose_c(uv->corr_flags.handle); 2023-01-10T18:36:58,057 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,057 859 | if(uv->wcorr_flags.handle != NULL) mkclose_c(uv->wcorr_flags.handle); 2023-01-10T18:36:58,057 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,057 860 | uv->corr_flags.handle = uv->wcorr_flags.handle = NULL; 2023-01-10T18:36:58,057 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,057 861 | 2023-01-10T18:36:58,058 | 2023-01-10T18:36:58,058 862 | /* Flush out all stuff appropriate for a new or append file. */ 2023-01-10T18:36:58,058 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,058 863 | 2023-01-10T18:36:58,058 | 2023-01-10T18:36:58,058 864 | if(uv->flags & (UVF_NEW|UVF_APPEND))uvflush_c(tno); 2023-01-10T18:36:58,058 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,058 865 | 2023-01-10T18:36:58,058 | 2023-01-10T18:36:58,059 866 | /* Close the visibility data stream, release structures, and close the 2023-01-10T18:36:58,059 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,059 867 | whole thing. */ 2023-01-10T18:36:58,059 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,059 868 | 2023-01-10T18:36:58,059 | 2023-01-10T18:36:58,059 869 | hdaccess_c(uv->item,&iostat); 2023-01-10T18:36:58,059 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,059 870 | CHECK(iostat,(message,"Error calling hdaccess for visdata, in UVCLOSE")); 2023-01-10T18:36:58,060 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,060 871 | uv_freeuv(uv); 2023-01-10T18:36:58,060 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,060 872 | uvs[tno] = NULL; 2023-01-10T18:36:58,060 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,060 873 | hclose_c(tno); 2023-01-10T18:36:58,060 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,060 874 | } 2023-01-10T18:36:58,060 | ~ 2023-01-10T18:36:58,061 875 | /************************************************************************/ 2023-01-10T18:36:58,061 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,061 876 | void uvflush_c(int tno) 2023-01-10T18:36:58,061 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,061 877 | /**uvflush -- Flush buffers of a uv dataset to disk. */ 2023-01-10T18:36:58,061 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,061 878 | /*&rjs */ 2023-01-10T18:36:58,061 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,062 879 | /*:uv-i/o */ 2023-01-10T18:36:58,062 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,062 880 | /*+ FORTRAN call sequence: 2023-01-10T18:36:58,062 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,062 881 | subroutine uvflush(tno) 2023-01-10T18:36:58,062 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,062 882 | integer tno 2023-01-10T18:36:58,062 | ~~~~~~~~~~~ 2023-01-10T18:36:58,062 883 | 2023-01-10T18:36:58,063 | 2023-01-10T18:36:58,063 884 | This close a uv data file. 2023-01-10T18:36:58,063 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,063 885 | Input: 2023-01-10T18:36:58,063 | ~~~~~~ 2023-01-10T18:36:58,063 886 | tno Make sure anything buffered up is flushed to disk. The 2023-01-10T18:36:58,063 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,063 887 | disk file should be readable (up to data written here) 2023-01-10T18:36:58,063 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,064 888 | even if the caller or computer crashes. */ 2023-01-10T18:36:58,064 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,064 889 | /*-- */ 2023-01-10T18:36:58,064 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,064 890 | /*----------------------------------------------------------------------*/ 2023-01-10T18:36:58,064 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,064 891 | { 2023-01-10T18:36:58,064 | ~ 2023-01-10T18:36:58,065 892 | UV *uv; 2023-01-10T18:36:58,065 | ~~~~~~~ 2023-01-10T18:36:58,065 893 | int iostat; 2023-01-10T18:36:58,065 | ~~~~~~~~~~~ 2023-01-10T18:36:58,065 894 | 2023-01-10T18:36:58,065 | 2023-01-10T18:36:58,065 895 | uv = uvs[tno]; 2023-01-10T18:36:58,065 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,066 896 | 2023-01-10T18:36:58,066 | 2023-01-10T18:36:58,066 897 | if(!(uv->flags & (UVF_NEW|UVF_APPEND)))return; 2023-01-10T18:36:58,066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,066 898 | 2023-01-10T18:36:58,066 | 2023-01-10T18:36:58,066 899 | /* Flush the masks out. */ 2023-01-10T18:36:58,066 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,067 900 | 2023-01-10T18:36:58,067 | 2023-01-10T18:36:58,067 901 | if(uv->corr_flags.handle != NULL) mkflush_c(uv->corr_flags.handle); 2023-01-10T18:36:58,067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,067 902 | if(uv->wcorr_flags.handle != NULL) mkflush_c(uv->wcorr_flags.handle); 2023-01-10T18:36:58,067 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,067 903 | 2023-01-10T18:36:58,067 | 2023-01-10T18:36:58,068 904 | /* Rewrite vartable, if needed. */ 2023-01-10T18:36:58,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,068 905 | 2023-01-10T18:36:58,068 | 2023-01-10T18:36:58,068 906 | if(uv->saved_nvar < uv->nvar || (uv->nvar == 0 && (uv->flags & UVF_NEW))) uv_vartable_out(uv); 2023-01-10T18:36:58,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,068 907 | uv->saved_nvar = uv->nvar; 2023-01-10T18:36:58,068 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,069 908 | 2023-01-10T18:36:58,069 | 2023-01-10T18:36:58,069 909 | /* Rewrite the description indicating the type of the data. */ 2023-01-10T18:36:58,069 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,069 910 | 2023-01-10T18:36:58,069 | 2023-01-10T18:36:58,069 911 | if( ( uv->flags & (UVF_AUTO|UVF_CROSS) ) == (UVF_AUTO|UVF_CROSS)) 2023-01-10T18:36:58,069 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,070 912 | wrhda_c(tno,"obstype","mixed-auto-cross"); 2023-01-10T18:36:58,070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,070 913 | else if(uv->flags & UVF_AUTO) 2023-01-10T18:36:58,070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,070 914 | wrhda_c(tno,"obstype","autocorrelation"); 2023-01-10T18:36:58,070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,070 915 | else if(uv->flags & UVF_CROSS) 2023-01-10T18:36:58,070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,071 916 | wrhda_c(tno,"obstype","crosscorrelation"); 2023-01-10T18:36:58,071 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,071 917 | 2023-01-10T18:36:58,071 | 2023-01-10T18:36:58,071 918 | /* Write out things to help recover the EOF. */ 2023-01-10T18:36:58,071 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,071 919 | 2023-01-10T18:36:58,071 | 2023-01-10T18:36:58,071 920 | #ifdef MIR4 2023-01-10T18:36:58,072 | ~~~~~~~~~~~ 2023-01-10T18:36:58,072 921 | wrhdl_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T18:36:58,072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,072 922 | wrhdl_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T18:36:58,072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,072 923 | wrhdl_c(tno,"vislen",uv->offset); 2023-01-10T18:36:58,072 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,072 924 | #else 2023-01-10T18:36:58,072 | ~~~~~ 2023-01-10T18:36:58,073 925 | /* old MIR3 and before format */ 2023-01-10T18:36:58,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,073 926 | wrhdi_c(tno,"nwcorr",uv->wcorr_flags.offset); 2023-01-10T18:36:58,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,073 927 | wrhdi_c(tno,"ncorr",uv->corr_flags.offset); 2023-01-10T18:36:58,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,073 928 | wrhdi_c(tno,"vislen",uv->offset); 2023-01-10T18:36:58,073 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,073 929 | #endif 2023-01-10T18:36:58,074 | ~~~~~~ 2023-01-10T18:36:58,074 930 | 2023-01-10T18:36:58,074 | 2023-01-10T18:36:58,074 931 | /* Finally flush out everything to disk. */ 2023-01-10T18:36:58,074 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,074 932 | 2023-01-10T18:36:58,074 | 2023-01-10T18:36:58,074 933 | hflush_c(tno,&iostat); 2023-01-10T18:36:58,075 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,075 934 | CHECK(iostat,(message,"Error calling hflush, in UVFLSH")); 2023-01-10T18:36:58,075 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,075 935 | } 2023-01-10T18:36:58,075 | ~ 2023-01-10T18:36:58,075 936 | /************************************************************************/ 2023-01-10T18:36:58,075 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,075 937 | private void uv_init(void) 2023-01-10T18:36:58,075 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,076 938 | /* 2023-01-10T18:36:58,076 | ~~ 2023-01-10T18:36:58,076 939 | Initalise everything imaginable. 2023-01-10T18:36:58,076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,076 940 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:58,076 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,076 941 | { 2023-01-10T18:36:58,076 | ~ 2023-01-10T18:36:58,076 942 | int i; 2023-01-10T18:36:58,077 | ~~~~~~ 2023-01-10T18:36:58,077 943 | 2023-01-10T18:36:58,077 | 2023-01-10T18:36:58,077 944 | first = FALSE; 2023-01-10T18:36:58,077 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,077 945 | 2023-01-10T18:36:58,077 | 2023-01-10T18:36:58,077 946 | external_size[H_BYTE] = 1; internal_size[H_BYTE] = 1; 2023-01-10T18:36:58,077 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,078 947 | type_flag[H_BYTE] = 'a'; 2023-01-10T18:36:58,078 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,078 948 | external_size[H_INT] = H_INT_SIZE; internal_size[H_INT] = sizeof(int); 2023-01-10T18:36:58,078 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,078 949 | type_flag[H_INT] = 'i'; 2023-01-10T18:36:58,078 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,078 950 | external_size[H_INT2] = H_INT2_SIZE; internal_size[H_INT2] = sizeof(int); 2023-01-10T18:36:58,078 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,078 951 | type_flag[H_INT2] = 'j'; 2023-01-10T18:36:58,079 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,079 952 | external_size[H_REAL] = H_REAL_SIZE; internal_size[H_REAL] = sizeof(float); 2023-01-10T18:36:58,079 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,079 953 | type_flag[H_REAL] = 'r'; 2023-01-10T18:36:58,079 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,079 954 | external_size[H_DBLE] = H_DBLE_SIZE; internal_size[H_DBLE] = sizeof(double); 2023-01-10T18:36:58,079 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,079 955 | type_flag[H_DBLE] = 'd'; 2023-01-10T18:36:58,080 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,080 956 | external_size[H_CMPLX] = H_CMPLX_SIZE; 2023-01-10T18:36:58,080 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,080 957 | internal_size[H_CMPLX] = 2*sizeof(float); 2023-01-10T18:36:58,080 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,080 958 | type_flag[H_CMPLX] = 'c'; 2023-01-10T18:36:58,080 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,080 959 | 2023-01-10T18:36:58,081 | 2023-01-10T18:36:58,081 960 | /* Initialise the "true window" array. */ 2023-01-10T18:36:58,081 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,081 961 | 2023-01-10T18:36:58,081 | 2023-01-10T18:36:58,081 962 | noamp.select = FALSE; 2023-01-10T18:36:58,081 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,081 963 | 2023-01-10T18:36:58,082 | 2023-01-10T18:36:58,082 964 | truewin.first = 0; 2023-01-10T18:36:58,082 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,082 965 | truewin.last = MAXWIN-1; 2023-01-10T18:36:58,082 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,082 966 | truewin.n = MAXWIN; 2023-01-10T18:36:58,082 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,082 967 | truewin.select= FALSE; 2023-01-10T18:36:58,083 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,083 968 | for(i=0; i < MAXWIN; i++) truewin.wins[i] = TRUE; 2023-01-10T18:36:58,083 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,083 969 | 2023-01-10T18:36:58,083 | 2023-01-10T18:36:58,083 970 | /* Initialise the table of variable handles. */ 2023-01-10T18:36:58,083 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,083 971 | 2023-01-10T18:36:58,083 | 2023-01-10T18:36:58,083 972 | for(i=0; i < MAXVHANDS; i++)varhands[i] = NULL; 2023-01-10T18:36:58,084 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,084 973 | 2023-01-10T18:36:58,084 | 2023-01-10T18:36:58,084 974 | } 2023-01-10T18:36:58,084 | ~ 2023-01-10T18:36:58,084 975 | /************************************************************************/ 2023-01-10T18:36:58,084 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,084 976 | private void uv_freeuv(UV *uv) 2023-01-10T18:36:58,085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,085 977 | /* 2023-01-10T18:36:58,085 | ~~ 2023-01-10T18:36:58,085 978 | Free a uv structure. 2023-01-10T18:36:58,085 | ~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,085 979 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:58,085 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,085 980 | { 2023-01-10T18:36:58,086 | ~ 2023-01-10T18:36:58,086 981 | int i; 2023-01-10T18:36:58,086 | ~~~~~~ 2023-01-10T18:36:58,086 982 | VARIABLE *v; 2023-01-10T18:36:58,086 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,086 983 | VARHAND *vh,*vht; 2023-01-10T18:36:58,086 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,086 984 | VARPNT *vp,*vpt; 2023-01-10T18:36:58,086 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,087 985 | 2023-01-10T18:36:58,087 | 2023-01-10T18:36:58,087 986 | vh = uv->vhans; 2023-01-10T18:36:58,087 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,087 987 | while(vh != NULL){ 2023-01-10T18:36:58,087 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,087 988 | vp = vh->varhd; 2023-01-10T18:36:58,087 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,088 989 | varhands[vh->index] = NULL; 2023-01-10T18:36:58,088 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,088 990 | while(vp != NULL){ 2023-01-10T18:36:58,088 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,088 991 | vpt = vp; 2023-01-10T18:36:58,088 | ~~~~~~~~~ 2023-01-10T18:36:58,088 992 | vp = vp->fwd; 2023-01-10T18:36:58,088 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,089 993 | free((char *)vpt); 2023-01-10T18:36:58,089 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,089 994 | } 2023-01-10T18:36:58,089 | ~ 2023-01-10T18:36:58,089 995 | vht = vh; 2023-01-10T18:36:58,089 | ~~~~~~~~~ 2023-01-10T18:36:58,089 996 | vh = vh->fwd; 2023-01-10T18:36:58,090 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,090 997 | free((char *)vht); 2023-01-10T18:36:58,090 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,090 998 | } 2023-01-10T18:36:58,090 | ~ 2023-01-10T18:36:58,090 999 | 2023-01-10T18:36:58,090 | 2023-01-10T18:36:58,090 1000 | /* Free buffers associated with variables. */ 2023-01-10T18:36:58,090 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,091 1001 | 2023-01-10T18:36:58,091 | 2023-01-10T18:36:58,091 1002 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++) 2023-01-10T18:36:58,091 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,091 1003 | if(v->buf != NULL)free(v->buf); 2023-01-10T18:36:58,091 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,091 1004 | 2023-01-10T18:36:58,091 | 2023-01-10T18:36:58,092 1005 | if(uv->data_line.wts != NULL) free((char *)uv->data_line.wts); 2023-01-10T18:36:58,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,092 1006 | if(uv->ref_line.wts != NULL) free((char *)uv->ref_line.wts); 2023-01-10T18:36:58,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,092 1007 | if(uv->corr_flags.flags != NULL) free((char *)uv->corr_flags.flags); 2023-01-10T18:36:58,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,092 1008 | if(uv->wcorr_flags.flags != NULL ) free((char *)uv->wcorr_flags.flags); 2023-01-10T18:36:58,092 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,092 1009 | if(uv->sigma2.table != NULL)free((char *)uv->sigma2.table); 2023-01-10T18:36:58,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,093 1010 | uv_free_select(uv->select); 2023-01-10T18:36:58,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,093 1011 | if(uv->uvw != NULL) free((char *)(uv->uvw)); 2023-01-10T18:36:58,093 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,093 1012 | free((char *)uv); 2023-01-10T18:36:58,093 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,093 1013 | } 2023-01-10T18:36:58,094 | ~ 2023-01-10T18:36:58,094 1014 | /************************************************************************/ 2023-01-10T18:36:58,094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,094 1015 | private void uv_free_select(SELECT *sel) 2023-01-10T18:36:58,094 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,094 1016 | { 2023-01-10T18:36:58,094 | ~ 2023-01-10T18:36:58,094 1017 | OPERS *op; 2023-01-10T18:36:58,094 | ~~~~~~~~~~ 2023-01-10T18:36:58,095 1018 | SELECT *fwd; 2023-01-10T18:36:58,095 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,095 1019 | int i; 2023-01-10T18:36:58,095 | ~~~~~~ 2023-01-10T18:36:58,095 1020 | 2023-01-10T18:36:58,095 | 2023-01-10T18:36:58,095 1021 | while(sel != NULL){ 2023-01-10T18:36:58,095 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,095 1022 | fwd = sel->fwd; 2023-01-10T18:36:58,096 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,096 1023 | if(sel->noper > 0){ 2023-01-10T18:36:58,096 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,096 1024 | op = sel->opers; 2023-01-10T18:36:58,096 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,096 1025 | for(i=0; i < sel->noper; i++){ 2023-01-10T18:36:58,096 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,096 1026 | if(op->stval != NULL) free(op->stval); 2023-01-10T18:36:58,097 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,097 1027 | op++; 2023-01-10T18:36:58,097 | ~~~~~ 2023-01-10T18:36:58,097 1028 | } 2023-01-10T18:36:58,097 | ~ 2023-01-10T18:36:58,097 1029 | free((char *)(sel->opers)); 2023-01-10T18:36:58,097 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,097 1030 | } 2023-01-10T18:36:58,097 | ~ 2023-01-10T18:36:58,098 1031 | free((char *)sel); 2023-01-10T18:36:58,098 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,098 1032 | sel = fwd; 2023-01-10T18:36:58,098 | ~~~~~~~~~~ 2023-01-10T18:36:58,098 1033 | } 2023-01-10T18:36:58,098 | ~ 2023-01-10T18:36:58,098 1034 | } 2023-01-10T18:36:58,098 | ~ 2023-01-10T18:36:58,098 1035 | /************************************************************************/ 2023-01-10T18:36:58,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,099 1036 | private UV *uv_getuv(int tno) 2023-01-10T18:36:58,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,099 1037 | /* 2023-01-10T18:36:58,099 | ~~ 2023-01-10T18:36:58,099 1038 | Allocate a structure describing a uv file. 2023-01-10T18:36:58,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,099 1039 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:58,099 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,100 1040 | { 2023-01-10T18:36:58,100 | ~ 2023-01-10T18:36:58,100 1041 | int i; 2023-01-10T18:36:58,100 | ~~~~~~ 2023-01-10T18:36:58,100 1042 | UV *uv; 2023-01-10T18:36:58,100 | ~~~~~~~ 2023-01-10T18:36:58,100 1043 | VARIABLE *v; 2023-01-10T18:36:58,100 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,100 1044 | 2023-01-10T18:36:58,101 | 2023-01-10T18:36:58,101 1045 | uv = (UV *)Malloc(sizeof(UV)); 2023-01-10T18:36:58,101 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,101 1046 | uv->item = 0; 2023-01-10T18:36:58,101 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,101 1047 | uv->tno = tno; 2023-01-10T18:36:58,101 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,102 1048 | uv->vhans = NULL; 2023-01-10T18:36:58,102 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,102 1049 | uv->nvar = 0; 2023-01-10T18:36:58,102 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,102 1050 | uv->presize = 0; 2023-01-10T18:36:58,102 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,102 1051 | uv->gflag = 1; 2023-01-10T18:36:58,102 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,102 1052 | uv->saved_nvar= 0; 2023-01-10T18:36:58,103 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,103 1053 | uv->offset = 0; 2023-01-10T18:36:58,103 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,103 1054 | uv->max_offset= 0; 2023-01-10T18:36:58,103 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,103 1055 | uv->flags = 0; 2023-01-10T18:36:58,103 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,103 1056 | uv->callno = 0; 2023-01-10T18:36:58,103 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,104 1057 | uv->maxvis = 0; 2023-01-10T18:36:58,104 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,104 1058 | uv->mark = 0; 2023-01-10T18:36:58,104 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,104 1059 | uv->select = NULL; 2023-01-10T18:36:58,104 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,104 1060 | uv->need_skyfreq = uv->need_point = uv->need_planet = FALSE; 2023-01-10T18:36:58,104 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,105 1061 | uv->need_pol = uv->need_on = uv->need_uvw = FALSE; 2023-01-10T18:36:58,105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,105 1062 | uv->need_src = uv->need_win = uv->need_bin = FALSE; 2023-01-10T18:36:58,105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,105 1063 | uv->need_dra = uv->need_ddec = uv->need_ra = FALSE; 2023-01-10T18:36:58,105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,105 1064 | uv->need_dec = uv->need_lst = uv->need_elev = FALSE; 2023-01-10T18:36:58,105 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,105 1065 | uv->need_obsra = uv->need_dazim = uv->need_delev = FALSE; 2023-01-10T18:36:58,106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,106 1066 | uv->uvw = NULL; 2023-01-10T18:36:58,106 | ~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,106 1067 | uv->ref_plmaj = uv->ref_plmin = uv->ref_plangle = 0; 2023-01-10T18:36:58,106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,106 1068 | uv->plscale = 1; 2023-01-10T18:36:58,106 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,106 1069 | uv->pluu = uv->plvv = 1; 2023-01-10T18:36:58,106 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,107 1070 | uv->plvu = uv->pluv = 0; 2023-01-10T18:36:58,107 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,107 1071 | uv->apply_amp = TRUE; 2023-01-10T18:36:58,107 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,107 1072 | uv->apply_win = TRUE; 2023-01-10T18:36:58,107 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,107 1073 | uv->skyfreq_start = 0; 2023-01-10T18:36:58,107 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,108 1074 | 2023-01-10T18:36:58,108 | 2023-01-10T18:36:58,108 1075 | uv->corr_flags.exists = TRUE; 2023-01-10T18:36:58,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,108 1076 | uv->corr_flags.handle = NULL; 2023-01-10T18:36:58,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,108 1077 | uv->corr_flags.offset = 0; 2023-01-10T18:36:58,108 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,109 1078 | uv->corr_flags.flags = NULL; 2023-01-10T18:36:58,109 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,109 1079 | uv->corr_flags.nflags = 0; 2023-01-10T18:36:58,109 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,109 1080 | uv->wcorr_flags.exists = TRUE; 2023-01-10T18:36:58,109 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,109 1081 | uv->wcorr_flags.handle = NULL; 2023-01-10T18:36:58,109 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,110 1082 | uv->wcorr_flags.offset = 0; 2023-01-10T18:36:58,110 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,110 1083 | uv->wcorr_flags.flags = NULL; 2023-01-10T18:36:58,110 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,110 1084 | uv->wcorr_flags.nflags = 0; 2023-01-10T18:36:58,110 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,110 1085 | 2023-01-10T18:36:58,110 | 2023-01-10T18:36:58,111 1086 | uv->data_line.wts = NULL; 2023-01-10T18:36:58,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,111 1087 | uv->data_line.linetype = LINE_NONE; 2023-01-10T18:36:58,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,111 1088 | uv->ref_line.wts = NULL; 2023-01-10T18:36:58,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,111 1089 | uv->ref_line.linetype = LINE_NONE; 2023-01-10T18:36:58,111 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,112 1090 | 2023-01-10T18:36:58,112 | 2023-01-10T18:36:58,112 1091 | uv->sigma2.table = NULL; 2023-01-10T18:36:58,112 | ~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,112 1092 | uv->sigma2.nants = 0; 2023-01-10T18:36:58,112 | ~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,112 1093 | uv->sigma2.missing = FALSE; 2023-01-10T18:36:58,112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,112 1094 | 2023-01-10T18:36:58,113 | 2023-01-10T18:36:58,113 1095 | uv->corr = NULL; 2023-01-10T18:36:58,113 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,113 1096 | uv->wcorr = NULL; 2023-01-10T18:36:58,113 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,113 1097 | uv->coord = NULL; 2023-01-10T18:36:58,113 | ~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,113 1098 | uv->time = NULL; 2023-01-10T18:36:58,114 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,114 1099 | uv->bl = NULL; 2023-01-10T18:36:58,114 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,114 1100 | 2023-01-10T18:36:58,114 | 2023-01-10T18:36:58,114 1101 | for(i=0, v = uv->variable; i < MAXVAR; i++, v++){ 2023-01-10T18:36:58,114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,114 1102 | v->length = v->flength = 0; 2023-01-10T18:36:58,114 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,115 1103 | v->buf = NULL; 2023-01-10T18:36:58,115 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,115 1104 | v->flags = 0; 2023-01-10T18:36:58,115 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,115 1105 | v->type = 0; 2023-01-10T18:36:58,115 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,115 1106 | v->fwd = NULL; 2023-01-10T18:36:58,115 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,116 1107 | v->index = i; 2023-01-10T18:36:58,116 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,116 1108 | v->callno = 0; 2023-01-10T18:36:58,116 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,116 1109 | } 2023-01-10T18:36:58,116 | ~ 2023-01-10T18:36:58,116 1110 | for(i=0; i < HASHSIZE; i++) uv->vhash[i] = NULL; 2023-01-10T18:36:58,116 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,117 1111 | uvs[tno] = uv; 2023-01-10T18:36:58,117 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,117 1112 | return(uv); 2023-01-10T18:36:58,117 | ~~~~~~~~~~~ 2023-01-10T18:36:58,117 1113 | } 2023-01-10T18:36:58,117 | ~ 2023-01-10T18:36:58,117 1114 | /************************************************************************/ 2023-01-10T18:36:58,117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,118 1115 | private void uv_vartable_out(UV *uv) 2023-01-10T18:36:58,118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,118 1116 | /* 2023-01-10T18:36:58,118 | ~~ 2023-01-10T18:36:58,118 1117 | Write out a variable name table. 2023-01-10T18:36:58,118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,118 1118 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:58,118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,119 1119 | { 2023-01-10T18:36:58,119 | ~ 2023-01-10T18:36:58,119 1120 | int item; 2023-01-10T18:36:58,119 | ~~~~~~~~~ 2023-01-10T18:36:58,119 1121 | char line[MAXLINE]; 2023-01-10T18:36:58,119 | ~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,120 1122 | int iostat,i; 2023-01-10T18:36:58,120 | ~~~~~~~~~~~~~ 2023-01-10T18:36:58,120 1123 | VARIABLE *v; 2023-01-10T18:36:58,120 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,120 1124 | 2023-01-10T18:36:58,120 | 2023-01-10T18:36:58,120 1125 | haccess_c(uv->tno,&item,"vartable","write",&iostat); 2023-01-10T18:36:58,120 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,121 1126 | CHECK(iostat,(message,"Error opening vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:58,121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,121 1127 | for(i=0, v = uv->variable; i < uv->nvar; i++,v++){ 2023-01-10T18:36:58,121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,121 1128 | Sprintf(line,"%c %s",VARTYPE(v),v->name); 2023-01-10T18:36:58,121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,121 1129 | hwritea_c(item,line,strlen(line)+1,&iostat); 2023-01-10T18:36:58,121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,122 1130 | CHECK(iostat,(message,"Error writing to vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:58,122 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,122 1131 | } 2023-01-10T18:36:58,122 | ~ 2023-01-10T18:36:58,122 1132 | hdaccess_c(item,&iostat); 2023-01-10T18:36:58,122 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,122 1133 | CHECK(iostat,(message,"Error closing vartable, in UVCLOSE(vartable_out)")); 2023-01-10T18:36:58,123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,123 1134 | } 2023-01-10T18:36:58,123 | ~ 2023-01-10T18:36:58,123 1135 | /************************************************************************/ 2023-01-10T18:36:58,123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,123 1136 | private void uv_override(UV *uv) 2023-01-10T18:36:58,123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,123 1137 | /* 2023-01-10T18:36:58,123 | ~~ 2023-01-10T18:36:58,124 1138 | Determine if a variable has a item of the same name. If there is one, then 2023-01-10T18:36:58,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,124 1139 | the value of that item overrides the value of the variable. In this case, 2023-01-10T18:36:58,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,124 1140 | get the value of the item, and set a flag to indicate that the variable 2023-01-10T18:36:58,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,124 1141 | value is being overriden. 2023-01-10T18:36:58,124 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,125 1142 | ------------------------------------------------------------------------*/ 2023-01-10T18:36:58,125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,125 1143 | { 2023-01-10T18:36:58,125 | ~ 2023-01-10T18:36:58,125 1144 | int item; 2023-01-10T18:36:58,125 | ~~~~~~~~~ 2023-01-10T18:36:58,125 1145 | char *b,varname[MAXLINE],vartype[MAXLINE],descr[MAXLINE]; 2023-01-10T18:36:58,125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,125 1146 | VARIABLE *v; 2023-01-10T18:36:58,126 | ~~~~~~~~~~~~ 2023-01-10T18:36:58,126 1147 | int tno,iostat,n,ok,isnumeric,ischar; 2023-01-10T18:36:58,126 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,126 1148 | 2023-01-10T18:36:58,126 | 2023-01-10T18:36:58,126 1149 | tno = uv->tno; 2023-01-10T18:36:58,126 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,126 1150 | haccess_c(uv->tno,&item,".","read",&iostat); 2023-01-10T18:36:58,126 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,127 1151 | CHECK(iostat,(message,"Error opening directory listing, in UVOPEN(override)")); 2023-01-10T18:36:58,127 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,127 1152 | while(hreada_c(item,varname,MAXLINE,&iostat),iostat==0){ 2023-01-10T18:36:58,127 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,127 1153 | v = uv_locvar(tno,varname); 2023-01-10T18:36:58,127 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,127 1154 | if(v != NULL){ 2023-01-10T18:36:58,127 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,127 1155 | hdprobe_c(tno,varname,descr,MAXLINE,vartype,&n); 2023-01-10T18:36:58,128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,128 1156 | isnumeric = 2023-01-10T18:36:58,128 | ~~~~~~~~~~~ 2023-01-10T18:36:58,128 1157 | (v->type == H_DBLE || v->type == H_REAL || v->type == H_INT) && 2023-01-10T18:36:58,128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,128 1158 | (!strcmp(vartype,"double") || !strcmp(vartype,"real") || 2023-01-10T18:36:58,128 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,128 1159 | !strcmp(vartype,"integer")); 2023-01-10T18:36:58,129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,129 1160 | ischar = (v->type == H_BYTE && !strcmp(vartype,"character")); 2023-01-10T18:36:58,129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,129 1161 | ok = ( n == 1 && (isnumeric || ischar) ); 2023-01-10T18:36:58,129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,129 1162 | 2023-01-10T18:36:58,129 | 2023-01-10T18:36:58,130 1163 | if(v->type == H_BYTE) { 2023-01-10T18:36:58,130 | ~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,130 1164 | n = strlen(descr); 2023-01-10T18:36:58,130 | ~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,130 1165 | b = Malloc(n+1); 2023-01-10T18:36:58,130 | ~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,130 1166 | } else { 2023-01-10T18:36:58,130 | ~~~~~~~~ 2023-01-10T18:36:58,130 1167 | b = Malloc(internal_size[v->type]); 2023-01-10T18:36:58,131 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,131 1168 | } 2023-01-10T18:36:58,131 | ~ 2023-01-10T18:36:58,131 1169 | if(ok)switch(v->type){ 2023-01-10T18:36:58,131 | ~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,131 1170 | case H_INT: rdhdi_c(tno,varname,(int *)b,0); break; 2023-01-10T18:36:58,131 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,131 1171 | case H_REAL: rdhdr_c(tno,varname,(float *)b,0.0); break; 2023-01-10T18:36:58,132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,132 1172 | case H_BYTE: strcpy(b,descr); break; 2023-01-10T18:36:58,132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,132 1173 | case H_DBLE: rdhdd_c(tno,varname,(double *)b,(double)0.0); break; 2023-01-10T18:36:58,132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,132 1174 | default: ok = FALSE; 2023-01-10T18:36:58,132 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,132 1175 | } 2023-01-10T18:36:58,132 | ~ 2023-01-10T18:36:58,133 1176 | if(ok){ 2023-01-10T18:36:58,133 | ~~~~~~~ 2023-01-10T18:36:58,133 1177 | v->flags |= UVF_OVERRIDE; 2023-01-10T18:36:58,133 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,133 1178 | v->buf = b; 2023-01-10T18:36:58,133 | ~~~~~~~~~~~ 2023-01-10T18:36:58,133 1179 | v->length = n*external_size[v->type]; 2023-01-10T18:36:58,133 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,133 1180 | v->callno = 1; 2023-01-10T18:36:58,134 | ~~~~~~~~~~~~~~ 2023-01-10T18:36:58,134 1181 | } else { 2023-01-10T18:36:58,134 | ~~~~~~~~ 2023-01-10T18:36:58,134 1182 | free(b); 2023-01-10T18:36:58,134 | ~~~~~~~~ 2023-01-10T18:36:58,134 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T18:36:58,134 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2023-01-10T18:36:58,134 aipy/_miriad/mir/uvio.c:1183:2: note: in expansion of macro ‘ERROR’ 2023-01-10T18:36:58,134 1183 | ERROR('w',(message,"Cannot override variable %s, in UVOPEN",varname)); 2023-01-10T18:36:58,135 | ^~~~~ 2023-01-10T18:37:01,215 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-a1tknqkh/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-10T18:37:03,560 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-10T18:37:03,880 building 'aipy._deconv' extension 2023-01-10T18:37:03,880 creating build/temp.linux-armv7l-cpython-39/aipy/_deconv 2023-01-10T18:37:03,881 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-a1tknqkh/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-10T18:37:04,523 In file included from aipy/_deconv/deconv.cpp:11: 2023-01-10T18:37:04,523 aipy/_common/aipy_compat.h:17:1: warning: ‘char* PyString_AsString(PyObject*)’ defined but not used [-Wunused-function] 2023-01-10T18:37:04,523 17 | PyString_AsString(PyObject *ob) 2023-01-10T18:37:04,523 | ^~~~~~~~~~~~~~~~~ 2023-01-10T18:37:08,077 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-10T18:37:08,260 building 'aipy._dsp' extension 2023-01-10T18:37:08,261 creating build/temp.linux-armv7l-cpython-39/aipy/_dsp 2023-01-10T18:37:08,262 creating build/temp.linux-armv7l-cpython-39/aipy/_dsp/grid 2023-01-10T18:37:08,263 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-a1tknqkh/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-10T18:37:08,640 aipy/_dsp/dsp.c: In function ‘PyInit__dsp’: 2023-01-10T18:37:08,641 aipy/_dsp/dsp.c:137:19: warning: unused variable ‘d’ [-Wunused-variable] 2023-01-10T18:37:08,641 137 | PyObject *m, *d; 2023-01-10T18:37:08,642 | ^ 2023-01-10T18:37:08,649 In file included from aipy/_dsp/dsp.c:2: 2023-01-10T18:37:08,649 At top level: 2023-01-10T18:37:08,650 aipy/_common/aipy_compat.h:17:1: warning: ‘PyString_AsString’ defined but not used [-Wunused-function] 2023-01-10T18:37:08,650 17 | PyString_AsString(PyObject *ob) 2023-01-10T18:37:08,650 | ^~~~~~~~~~~~~~~~~ 2023-01-10T18:37:08,973 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-a1tknqkh/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-10T18:37:09,290 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-10T18:37:09,431 building 'aipy.utils' extension 2023-01-10T18:37:09,432 creating build/temp.linux-armv7l-cpython-39/aipy/utils 2023-01-10T18:37:09,432 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-a1tknqkh/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-10T18:37:09,961 In file included from aipy/utils/utils.cpp:16: 2023-01-10T18:37:09,961 aipy/_common/aipy_compat.h:17:1: warning: ‘char* PyString_AsString(PyObject*)’ defined but not used [-Wunused-function] 2023-01-10T18:37:09,961 17 | PyString_AsString(PyObject *ob) 2023-01-10T18:37:09,962 | ^~~~~~~~~~~~~~~~~ 2023-01-10T18:37:10,800 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-10T18:37:10,959 running build_scripts 2023-01-10T18:37:10,960 creating build/scripts-3.9 2023-01-10T18:37:10,961 copying and adjusting scripts/flux_cal.py -> build/scripts-3.9 2023-01-10T18:37:10,963 copying and adjusting scripts/amp_close.py -> build/scripts-3.9 2023-01-10T18:37:10,966 copying and adjusting scripts/compress_uv.py -> build/scripts-3.9 2023-01-10T18:37:10,967 copying and adjusting scripts/combine_freqs.py -> build/scripts-3.9 2023-01-10T18:37:10,969 copying and adjusting scripts/plot_uv.py -> build/scripts-3.9 2023-01-10T18:37:10,972 copying and adjusting scripts/lst -> build/scripts-3.9 2023-01-10T18:37:10,974 copying and adjusting scripts/xrfi.py -> build/scripts-3.9 2023-01-10T18:37:10,976 copying and adjusting scripts/srclist.py -> build/scripts-3.9 2023-01-10T18:37:10,981 copying and adjusting scripts/apply_bp.py -> build/scripts-3.9 2023-01-10T18:37:10,983 copying and adjusting scripts/cl_img.py -> build/scripts-3.9 2023-01-10T18:37:10,986 copying and adjusting scripts/plot_img.py -> build/scripts-3.9 2023-01-10T18:37:10,988 copying and adjusting scripts/stokes_rotate.py -> build/scripts-3.9 2023-01-10T18:37:10,990 copying and adjusting scripts/rfi_diagnostic.py -> build/scripts-3.9 2023-01-10T18:37:10,992 copying and adjusting scripts/aipy_version.py -> build/scripts-3.9 2023-01-10T18:37:10,994 copying and adjusting scripts/uv_addsub.py -> build/scripts-3.9 2023-01-10T18:37:10,995 copying and adjusting scripts/mdlvis.py -> build/scripts-3.9 2023-01-10T18:37:10,998 copying and adjusting scripts/phs2src.py -> build/scripts-3.9 2023-01-10T18:37:11,000 copying and adjusting scripts/fitmdl.py -> build/scripts-3.9 2023-01-10T18:37:11,002 copying and adjusting scripts/find_delay.py -> build/scripts-3.9 2023-01-10T18:37:11,004 copying and adjusting scripts/pull_ants.py -> build/scripts-3.9 2023-01-10T18:37:11,006 copying and adjusting scripts/modmap.py -> build/scripts-3.9 2023-01-10T18:37:11,008 copying and adjusting scripts/xrfi_simple.py -> build/scripts-3.9 2023-01-10T18:37:11,011 copying and adjusting scripts/apply_cal.py -> build/scripts-3.9 2023-01-10T18:37:11,012 copying and adjusting scripts/mk_map.py -> build/scripts-3.9 2023-01-10T18:37:11,014 copying and adjusting scripts/plot_map.py -> build/scripts-3.9 2023-01-10T18:37:11,016 copying and adjusting scripts/pull_pol.py -> build/scripts-3.9 2023-01-10T18:37:11,018 copying and adjusting scripts/filter_src.py -> build/scripts-3.9 2023-01-10T18:37:11,020 copying and adjusting scripts/uvlist.py -> build/scripts-3.9 2023-01-10T18:37:11,022 copying and adjusting scripts/mk_img.py -> build/scripts-3.9 2023-01-10T18:37:11,025 copying and adjusting scripts/xtalk3.py -> build/scripts-3.9 2023-01-10T18:37:11,027 copying and adjusting scripts/inspect_phs_close.py -> build/scripts-3.9 2023-01-10T18:37:11,029 changing mode of build/scripts-3.9/flux_cal.py from 644 to 755 2023-01-10T18:37:11,029 changing mode of build/scripts-3.9/amp_close.py from 644 to 755 2023-01-10T18:37:11,030 changing mode of build/scripts-3.9/compress_uv.py from 644 to 755 2023-01-10T18:37:11,030 changing mode of build/scripts-3.9/combine_freqs.py from 644 to 755 2023-01-10T18:37:11,031 changing mode of build/scripts-3.9/plot_uv.py from 644 to 755 2023-01-10T18:37:11,031 changing mode of build/scripts-3.9/lst from 644 to 755 2023-01-10T18:37:11,031 changing mode of build/scripts-3.9/xrfi.py from 644 to 755 2023-01-10T18:37:11,032 changing mode of build/scripts-3.9/srclist.py from 644 to 755 2023-01-10T18:37:11,032 changing mode of build/scripts-3.9/apply_bp.py from 644 to 755 2023-01-10T18:37:11,033 changing mode of build/scripts-3.9/cl_img.py from 644 to 755 2023-01-10T18:37:11,033 changing mode of build/scripts-3.9/plot_img.py from 644 to 755 2023-01-10T18:37:11,033 changing mode of build/scripts-3.9/stokes_rotate.py from 644 to 755 2023-01-10T18:37:11,034 changing mode of build/scripts-3.9/rfi_diagnostic.py from 644 to 755 2023-01-10T18:37:11,034 changing mode of build/scripts-3.9/aipy_version.py from 644 to 755 2023-01-10T18:37:11,035 changing mode of build/scripts-3.9/uv_addsub.py from 644 to 755 2023-01-10T18:37:11,035 changing mode of build/scripts-3.9/mdlvis.py from 644 to 755 2023-01-10T18:37:11,035 changing mode of build/scripts-3.9/phs2src.py from 644 to 755 2023-01-10T18:37:11,036 changing mode of build/scripts-3.9/fitmdl.py from 644 to 755 2023-01-10T18:37:11,036 changing mode of build/scripts-3.9/find_delay.py from 644 to 755 2023-01-10T18:37:11,037 changing mode of build/scripts-3.9/pull_ants.py from 644 to 755 2023-01-10T18:37:11,037 changing mode of build/scripts-3.9/modmap.py from 644 to 755 2023-01-10T18:37:11,037 changing mode of build/scripts-3.9/xrfi_simple.py from 644 to 755 2023-01-10T18:37:11,038 changing mode of build/scripts-3.9/apply_cal.py from 644 to 755 2023-01-10T18:37:11,038 changing mode of build/scripts-3.9/mk_map.py from 644 to 755 2023-01-10T18:37:11,039 changing mode of build/scripts-3.9/plot_map.py from 644 to 755 2023-01-10T18:37:11,039 changing mode of build/scripts-3.9/pull_pol.py from 644 to 755 2023-01-10T18:37:11,039 changing mode of build/scripts-3.9/filter_src.py from 644 to 755 2023-01-10T18:37:11,040 changing mode of build/scripts-3.9/uvlist.py from 644 to 755 2023-01-10T18:37:11,040 changing mode of build/scripts-3.9/mk_img.py from 644 to 755 2023-01-10T18:37:11,041 changing mode of build/scripts-3.9/xtalk3.py from 644 to 755 2023-01-10T18:37:11,041 changing mode of build/scripts-3.9/inspect_phs_close.py from 644 to 755 2023-01-10T18:37:11,067 installing to build/bdist.linux-armv7l/wheel 2023-01-10T18:37:11,068 running install 2023-01-10T18:37:11,094 running install_lib 2023-01-10T18:37:11,103 creating build/bdist.linux-armv7l 2023-01-10T18:37:11,104 creating build/bdist.linux-armv7l/wheel 2023-01-10T18:37:11,106 creating build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,107 copying build/lib.linux-armv7l-cpython-39/aipy/__init__.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,110 copying build/lib.linux-armv7l-cpython-39/aipy/pol.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,112 copying build/lib.linux-armv7l-cpython-39/aipy/twodgauss.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,114 copying build/lib.linux-armv7l-cpython-39/aipy/src.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,116 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,132 copying build/lib.linux-armv7l-cpython-39/aipy/const.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,134 copying build/lib.linux-armv7l-cpython-39/aipy/_deconv.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,144 copying build/lib.linux-armv7l-cpython-39/aipy/interp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,146 copying build/lib.linux-armv7l-cpython-39/aipy/cal.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,148 copying build/lib.linux-armv7l-cpython-39/aipy/healpix.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,151 copying build/lib.linux-armv7l-cpython-39/aipy/map.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,154 creating build/bdist.linux-armv7l/wheel/aipy/utils 2023-01-10T18:37:11,155 copying build/lib.linux-armv7l-cpython-39/aipy/utils/utils.cpp -> build/bdist.linux-armv7l/wheel/aipy/utils 2023-01-10T18:37:11,158 copying build/lib.linux-armv7l-cpython-39/aipy/amp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,162 copying build/lib.linux-armv7l-cpython-39/aipy/dsp.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,165 creating build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T18:37:11,166 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.cpp -> build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T18:37:11,169 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/miriad_wrap.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad 2023-01-10T18:37:11,173 creating build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,174 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pb.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,176 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calpass.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,179 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/model.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,181 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/dio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,184 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/select.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,186 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/headio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,189 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/intpio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,191 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvgn.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,194 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mir_io.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,196 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/key.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,200 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/xyio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,203 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ctrl.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,205 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/xyzio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,209 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/jplread.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,212 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivtext.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,215 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tabflux.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,217 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pack.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,220 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/trnio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,223 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mirconst.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,225 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maxnax.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,227 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calpoly.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,229 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/win.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,231 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivofm.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,234 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,240 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/plproc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,242 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maxdimc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,244 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,246 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/scrio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,248 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,250 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/miriad.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,253 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/obspar.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,255 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/args.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,257 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,261 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/size.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,263 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mostab.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,265 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calfit.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,267 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/hdtab.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,269 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/bug.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,272 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tin.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,274 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/interface.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,276 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/maskio.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,279 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mapper.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,281 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/caldata.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,283 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivmenu.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,285 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_csub.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,287 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sysdep.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,290 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calapply.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,292 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/co.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,294 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/modp.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,296 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ofm.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,298 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/rest.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,300 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tmpdim.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,302 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/caldefs.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,304 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/pcvt.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,306 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_mirRead.c -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,311 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/calsubs.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,313 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/ivas.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,316 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/tv.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,318 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/log.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,320 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mc.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,322 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/uvdat.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,325 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/boxes.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,327 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/io.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,329 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/sma_data.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,332 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/fitsio.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,334 copying build/lib.linux-armv7l-cpython-39/aipy/_miriad/mir/mem.h -> build/bdist.linux-armv7l/wheel/aipy/_miriad/mir 2023-01-10T18:37:11,336 copying build/lib.linux-armv7l-cpython-39/aipy/utils.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,341 creating build/bdist.linux-armv7l/wheel/aipy/_common 2023-01-10T18:37:11,342 copying build/lib.linux-armv7l-cpython-39/aipy/_common/aipy_compat.h -> build/bdist.linux-armv7l/wheel/aipy/_common 2023-01-10T18:37:11,345 creating build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T18:37:11,346 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/dsp.h -> build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T18:37:11,349 creating build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T18:37:11,350 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.h -> build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T18:37:11,352 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/grid/grid.c -> build/bdist.linux-armv7l/wheel/aipy/_dsp/grid 2023-01-10T18:37:11,354 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp/dsp.c -> build/bdist.linux-armv7l/wheel/aipy/_dsp 2023-01-10T18:37:11,357 copying build/lib.linux-armv7l-cpython-39/aipy/scripting.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,360 copying build/lib.linux-armv7l-cpython-39/aipy/fit.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,363 copying build/lib.linux-armv7l-cpython-39/aipy/coord.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,365 copying build/lib.linux-armv7l-cpython-39/aipy/_version.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,367 copying build/lib.linux-armv7l-cpython-39/aipy/miriad.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,370 copying build/lib.linux-armv7l-cpython-39/aipy/deconv.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,373 copying build/lib.linux-armv7l-cpython-39/aipy/rfi.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,376 creating build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,377 copying build/lib.linux-armv7l-cpython-39/aipy/_src/__init__.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,379 copying build/lib.linux-armv7l-cpython-39/aipy/_src/mrt.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,381 copying build/lib.linux-armv7l-cpython-39/aipy/_src/four_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,384 copying build/lib.linux-armv7l-cpython-39/aipy/_src/parkes.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,386 copying build/lib.linux-armv7l-cpython-39/aipy/_src/vlss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,388 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,391 copying build/lib.linux-armv7l-cpython-39/aipy/_src/wenss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,393 copying build/lib.linux-armv7l-cpython-39/aipy/_src/txs.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,395 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm_pos.txt -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,408 copying build/lib.linux-armv7l-cpython-39/aipy/_src/three_cr.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,410 copying build/lib.linux-armv7l-cpython-39/aipy/_src/paper.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,413 copying build/lib.linux-armv7l-cpython-39/aipy/_src/seven_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,415 copying build/lib.linux-armv7l-cpython-39/aipy/_src/three_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,417 copying build/lib.linux-armv7l-cpython-39/aipy/_src/six_c.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,419 copying build/lib.linux-armv7l-cpython-39/aipy/_src/misc.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,421 copying build/lib.linux-armv7l-cpython-39/aipy/_src/nvss.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,423 copying build/lib.linux-armv7l-cpython-39/aipy/_src/gbsix.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,425 copying build/lib.linux-armv7l-cpython-39/aipy/_src/helm_fit.txt -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,428 copying build/lib.linux-armv7l-cpython-39/aipy/_src/culgoora.py -> build/bdist.linux-armv7l/wheel/aipy/_src 2023-01-10T18:37:11,430 copying build/lib.linux-armv7l-cpython-39/aipy/_dsp.cpython-39-arm-linux-gnueabihf.so -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,434 creating build/bdist.linux-armv7l/wheel/aipy/_deconv 2023-01-10T18:37:11,435 copying build/lib.linux-armv7l-cpython-39/aipy/_deconv/deconv.cpp -> build/bdist.linux-armv7l/wheel/aipy/_deconv 2023-01-10T18:37:11,438 copying build/lib.linux-armv7l-cpython-39/aipy/phs.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,441 copying build/lib.linux-armv7l-cpython-39/aipy/img.py -> build/bdist.linux-armv7l/wheel/aipy 2023-01-10T18:37:11,444 running install_egg_info 2023-01-10T18:37:11,457 Copying aipy.egg-info to build/bdist.linux-armv7l/wheel/aipy-3.0.3-py3.9.egg-info 2023-01-10T18:37:11,472 running install_scripts 2023-01-10T18:37:11,526 creating build/bdist.linux-armv7l/wheel/aipy-3.0.3.data 2023-01-10T18:37:11,526 creating build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,528 copying build/scripts-3.9/flux_cal.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,531 copying build/scripts-3.9/amp_close.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,534 copying build/scripts-3.9/compress_uv.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,537 copying build/scripts-3.9/combine_freqs.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,540 copying build/scripts-3.9/plot_uv.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,544 copying build/scripts-3.9/lst -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,547 copying build/scripts-3.9/xrfi.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,550 copying build/scripts-3.9/srclist.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,553 copying build/scripts-3.9/apply_bp.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,557 copying build/scripts-3.9/cl_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,560 copying build/scripts-3.9/plot_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,563 copying build/scripts-3.9/stokes_rotate.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,566 copying build/scripts-3.9/rfi_diagnostic.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,570 copying build/scripts-3.9/aipy_version.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,572 copying build/scripts-3.9/uv_addsub.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,575 copying build/scripts-3.9/mdlvis.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,579 copying build/scripts-3.9/phs2src.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,582 copying build/scripts-3.9/fitmdl.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,585 copying build/scripts-3.9/find_delay.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,589 copying build/scripts-3.9/pull_ants.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,592 copying build/scripts-3.9/modmap.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,595 copying build/scripts-3.9/xrfi_simple.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,598 copying build/scripts-3.9/apply_cal.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,601 copying build/scripts-3.9/mk_map.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,604 copying build/scripts-3.9/plot_map.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,607 copying build/scripts-3.9/pull_pol.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,610 copying build/scripts-3.9/filter_src.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,614 copying build/scripts-3.9/uvlist.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,617 copying build/scripts-3.9/mk_img.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,620 copying build/scripts-3.9/xtalk3.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,623 copying build/scripts-3.9/inspect_phs_close.py -> build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts 2023-01-10T18:37:11,626 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/flux_cal.py to 755 2023-01-10T18:37:11,627 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/amp_close.py to 755 2023-01-10T18:37:11,627 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/compress_uv.py to 755 2023-01-10T18:37:11,627 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/combine_freqs.py to 755 2023-01-10T18:37:11,628 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/plot_uv.py to 755 2023-01-10T18:37:11,628 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/lst to 755 2023-01-10T18:37:11,629 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/xrfi.py to 755 2023-01-10T18:37:11,629 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/srclist.py to 755 2023-01-10T18:37:11,630 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/apply_bp.py to 755 2023-01-10T18:37:11,630 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/cl_img.py to 755 2023-01-10T18:37:11,630 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/plot_img.py to 755 2023-01-10T18:37:11,631 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/stokes_rotate.py to 755 2023-01-10T18:37:11,631 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/rfi_diagnostic.py to 755 2023-01-10T18:37:11,632 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/aipy_version.py to 755 2023-01-10T18:37:11,632 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/uv_addsub.py to 755 2023-01-10T18:37:11,633 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/mdlvis.py to 755 2023-01-10T18:37:11,633 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/phs2src.py to 755 2023-01-10T18:37:11,633 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/fitmdl.py to 755 2023-01-10T18:37:11,634 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/find_delay.py to 755 2023-01-10T18:37:11,634 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/pull_ants.py to 755 2023-01-10T18:37:11,635 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/modmap.py to 755 2023-01-10T18:37:11,635 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/xrfi_simple.py to 755 2023-01-10T18:37:11,636 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/apply_cal.py to 755 2023-01-10T18:37:11,636 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/mk_map.py to 755 2023-01-10T18:37:11,636 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/plot_map.py to 755 2023-01-10T18:37:11,637 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/pull_pol.py to 755 2023-01-10T18:37:11,637 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/filter_src.py to 755 2023-01-10T18:37:11,638 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/uvlist.py to 755 2023-01-10T18:37:11,638 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/mk_img.py to 755 2023-01-10T18:37:11,639 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/xtalk3.py to 755 2023-01-10T18:37:11,639 changing mode of build/bdist.linux-armv7l/wheel/aipy-3.0.3.data/scripts/inspect_phs_close.py to 755 2023-01-10T18:37:11,699 creating build/bdist.linux-armv7l/wheel/aipy-3.0.3.dist-info/WHEEL 2023-01-10T18:37:11,702 creating '/tmp/pip-wheel-8vmul0y6/.tmp-54r6b3w2/aipy-3.0.3-cp39-cp39-linux_armv7l.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-01-10T18:37:11,705 adding 'aipy/__init__.py' 2023-01-10T18:37:11,740 adding 'aipy/_deconv.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T18:37:11,749 adding 'aipy/_dsp.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T18:37:11,852 adding 'aipy/_miriad.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T18:37:11,856 adding 'aipy/_version.py' 2023-01-10T18:37:11,859 adding 'aipy/amp.py' 2023-01-10T18:37:11,861 adding 'aipy/cal.py' 2023-01-10T18:37:11,862 adding 'aipy/const.py' 2023-01-10T18:37:11,864 adding 'aipy/coord.py' 2023-01-10T18:37:11,866 adding 'aipy/deconv.py' 2023-01-10T18:37:11,868 adding 'aipy/dsp.py' 2023-01-10T18:37:11,870 adding 'aipy/fit.py' 2023-01-10T18:37:11,873 adding 'aipy/healpix.py' 2023-01-10T18:37:11,876 adding 'aipy/img.py' 2023-01-10T18:37:11,878 adding 'aipy/interp.py' 2023-01-10T18:37:11,879 adding 'aipy/map.py' 2023-01-10T18:37:11,882 adding 'aipy/miriad.py' 2023-01-10T18:37:11,885 adding 'aipy/phs.py' 2023-01-10T18:37:11,887 adding 'aipy/pol.py' 2023-01-10T18:37:11,888 adding 'aipy/rfi.py' 2023-01-10T18:37:11,890 adding 'aipy/scripting.py' 2023-01-10T18:37:11,892 adding 'aipy/src.py' 2023-01-10T18:37:11,893 adding 'aipy/twodgauss.py' 2023-01-10T18:37:11,907 adding 'aipy/utils.cpython-39-arm-linux-gnueabihf.so' 2023-01-10T18:37:11,910 adding 'aipy/_common/aipy_compat.h' 2023-01-10T18:37:11,913 adding 'aipy/_deconv/deconv.cpp' 2023-01-10T18:37:11,915 adding 'aipy/_dsp/dsp.c' 2023-01-10T18:37:11,917 adding 'aipy/_dsp/dsp.h' 2023-01-10T18:37:11,919 adding 'aipy/_dsp/grid/grid.c' 2023-01-10T18:37:11,920 adding 'aipy/_dsp/grid/grid.h' 2023-01-10T18:37:11,926 adding 'aipy/_miriad/miriad_wrap.cpp' 2023-01-10T18:37:11,927 adding 'aipy/_miriad/miriad_wrap.h' 2023-01-10T18:37:11,930 adding 'aipy/_miriad/mir/args.h' 2023-01-10T18:37:11,932 adding 'aipy/_miriad/mir/boxes.h' 2023-01-10T18:37:11,933 adding 'aipy/_miriad/mir/bug.c' 2023-01-10T18:37:11,935 adding 'aipy/_miriad/mir/calapply.h' 2023-01-10T18:37:11,936 adding 'aipy/_miriad/mir/caldata.h' 2023-01-10T18:37:11,938 adding 'aipy/_miriad/mir/caldefs.h' 2023-01-10T18:37:11,939 adding 'aipy/_miriad/mir/calfit.h' 2023-01-10T18:37:11,940 adding 'aipy/_miriad/mir/calio.h' 2023-01-10T18:37:11,942 adding 'aipy/_miriad/mir/calpass.h' 2023-01-10T18:37:11,943 adding 'aipy/_miriad/mir/calpoly.h' 2023-01-10T18:37:11,944 adding 'aipy/_miriad/mir/calsubs.h' 2023-01-10T18:37:11,946 adding 'aipy/_miriad/mir/co.h' 2023-01-10T18:37:11,947 adding 'aipy/_miriad/mir/ctrl.h' 2023-01-10T18:37:11,949 adding 'aipy/_miriad/mir/dio.c' 2023-01-10T18:37:11,951 adding 'aipy/_miriad/mir/fitsio.h' 2023-01-10T18:37:11,952 adding 'aipy/_miriad/mir/hdtab.h' 2023-01-10T18:37:11,955 adding 'aipy/_miriad/mir/headio.c' 2023-01-10T18:37:11,961 adding 'aipy/_miriad/mir/hio.c' 2023-01-10T18:37:11,962 adding 'aipy/_miriad/mir/hio.h' 2023-01-10T18:37:11,964 adding 'aipy/_miriad/mir/interface.c' 2023-01-10T18:37:11,965 adding 'aipy/_miriad/mir/intpio.h' 2023-01-10T18:37:11,966 adding 'aipy/_miriad/mir/io.h' 2023-01-10T18:37:11,968 adding 'aipy/_miriad/mir/ivas.h' 2023-01-10T18:37:11,969 adding 'aipy/_miriad/mir/ivmenu.h' 2023-01-10T18:37:11,972 adding 'aipy/_miriad/mir/ivofm.h' 2023-01-10T18:37:11,974 adding 'aipy/_miriad/mir/ivtext.h' 2023-01-10T18:37:11,978 adding 'aipy/_miriad/mir/jplread.c' 2023-01-10T18:37:11,982 adding 'aipy/_miriad/mir/key.c' 2023-01-10T18:37:11,983 adding 'aipy/_miriad/mir/log.h' 2023-01-10T18:37:11,985 adding 'aipy/_miriad/mir/mapper.h' 2023-01-10T18:37:11,987 adding 'aipy/_miriad/mir/maskio.c' 2023-01-10T18:37:11,988 adding 'aipy/_miriad/mir/maxdimc.h' 2023-01-10T18:37:11,990 adding 'aipy/_miriad/mir/maxnax.h' 2023-01-10T18:37:11,991 adding 'aipy/_miriad/mir/mc.h' 2023-01-10T18:37:11,992 adding 'aipy/_miriad/mir/mem.h' 2023-01-10T18:37:11,995 adding 'aipy/_miriad/mir/mir_io.c' 2023-01-10T18:37:11,996 adding 'aipy/_miriad/mir/mirconst.h' 2023-01-10T18:37:11,998 adding 'aipy/_miriad/mir/miriad.h' 2023-01-10T18:37:12,000 adding 'aipy/_miriad/mir/model.h' 2023-01-10T18:37:12,001 adding 'aipy/_miriad/mir/modp.h' 2023-01-10T18:37:12,003 adding 'aipy/_miriad/mir/mostab.h' 2023-01-10T18:37:12,004 adding 'aipy/_miriad/mir/obspar.h' 2023-01-10T18:37:12,005 adding 'aipy/_miriad/mir/ofm.h' 2023-01-10T18:37:12,007 adding 'aipy/_miriad/mir/pack.c' 2023-01-10T18:37:12,009 adding 'aipy/_miriad/mir/pb.h' 2023-01-10T18:37:12,010 adding 'aipy/_miriad/mir/pcvt.h' 2023-01-10T18:37:12,011 adding 'aipy/_miriad/mir/plproc.h' 2023-01-10T18:37:12,013 adding 'aipy/_miriad/mir/rest.h' 2023-01-10T18:37:12,014 adding 'aipy/_miriad/mir/scrio.c' 2023-01-10T18:37:12,015 adding 'aipy/_miriad/mir/select.h' 2023-01-10T18:37:12,017 adding 'aipy/_miriad/mir/size.h' 2023-01-10T18:37:12,018 adding 'aipy/_miriad/mir/sma_csub.c' 2023-01-10T18:37:12,022 adding 'aipy/_miriad/mir/sma_data.h' 2023-01-10T18:37:12,039 adding 'aipy/_miriad/mir/sma_mirRead.c' 2023-01-10T18:37:12,041 adding 'aipy/_miriad/mir/sysdep.h' 2023-01-10T18:37:12,043 adding 'aipy/_miriad/mir/tabflux.h' 2023-01-10T18:37:12,044 adding 'aipy/_miriad/mir/tin.h' 2023-01-10T18:37:12,045 adding 'aipy/_miriad/mir/tmpdim.h' 2023-01-10T18:37:12,047 adding 'aipy/_miriad/mir/trnio.h' 2023-01-10T18:37:12,048 adding 'aipy/_miriad/mir/tv.h' 2023-01-10T18:37:12,050 adding 'aipy/_miriad/mir/uvdat.h' 2023-01-10T18:37:12,051 adding 'aipy/_miriad/mir/uvgn.h' 2023-01-10T18:37:12,070 adding 'aipy/_miriad/mir/uvio.c' 2023-01-10T18:37:12,073 adding 'aipy/_miriad/mir/win.h' 2023-01-10T18:37:12,075 adding 'aipy/_miriad/mir/xyio.c' 2023-01-10T18:37:12,085 adding 'aipy/_miriad/mir/xyzio.c' 2023-01-10T18:37:12,088 adding 'aipy/_src/__init__.py' 2023-01-10T18:37:12,090 adding 'aipy/_src/culgoora.py' 2023-01-10T18:37:12,091 adding 'aipy/_src/four_c.py' 2023-01-10T18:37:12,093 adding 'aipy/_src/gbsix.py' 2023-01-10T18:37:12,094 adding 'aipy/_src/helm.py' 2023-01-10T18:37:12,100 adding 'aipy/_src/helm_fit.txt' 2023-01-10T18:37:12,145 adding 'aipy/_src/helm_pos.txt' 2023-01-10T18:37:12,149 adding 'aipy/_src/misc.py' 2023-01-10T18:37:12,151 adding 'aipy/_src/mrt.py' 2023-01-10T18:37:12,152 adding 'aipy/_src/nvss.py' 2023-01-10T18:37:12,154 adding 'aipy/_src/paper.py' 2023-01-10T18:37:12,155 adding 'aipy/_src/parkes.py' 2023-01-10T18:37:12,156 adding 'aipy/_src/seven_c.py' 2023-01-10T18:37:12,158 adding 'aipy/_src/six_c.py' 2023-01-10T18:37:12,159 adding 'aipy/_src/three_c.py' 2023-01-10T18:37:12,161 adding 'aipy/_src/three_cr.py' 2023-01-10T18:37:12,162 adding 'aipy/_src/txs.py' 2023-01-10T18:37:12,164 adding 'aipy/_src/vlss.py' 2023-01-10T18:37:12,165 adding 'aipy/_src/wenss.py' 2023-01-10T18:37:12,167 adding 'aipy/utils/utils.cpp' 2023-01-10T18:37:12,170 adding 'aipy-3.0.3.data/scripts/aipy_version.py' 2023-01-10T18:37:12,172 adding 'aipy-3.0.3.data/scripts/amp_close.py' 2023-01-10T18:37:12,174 adding 'aipy-3.0.3.data/scripts/apply_bp.py' 2023-01-10T18:37:12,175 adding 'aipy-3.0.3.data/scripts/apply_cal.py' 2023-01-10T18:37:12,177 adding 'aipy-3.0.3.data/scripts/cl_img.py' 2023-01-10T18:37:12,179 adding 'aipy-3.0.3.data/scripts/combine_freqs.py' 2023-01-10T18:37:12,180 adding 'aipy-3.0.3.data/scripts/compress_uv.py' 2023-01-10T18:37:12,182 adding 'aipy-3.0.3.data/scripts/filter_src.py' 2023-01-10T18:37:12,184 adding 'aipy-3.0.3.data/scripts/find_delay.py' 2023-01-10T18:37:12,186 adding 'aipy-3.0.3.data/scripts/fitmdl.py' 2023-01-10T18:37:12,187 adding 'aipy-3.0.3.data/scripts/flux_cal.py' 2023-01-10T18:37:12,189 adding 'aipy-3.0.3.data/scripts/inspect_phs_close.py' 2023-01-10T18:37:12,191 adding 'aipy-3.0.3.data/scripts/lst' 2023-01-10T18:37:12,193 adding 'aipy-3.0.3.data/scripts/mdlvis.py' 2023-01-10T18:37:12,195 adding 'aipy-3.0.3.data/scripts/mk_img.py' 2023-01-10T18:37:12,196 adding 'aipy-3.0.3.data/scripts/mk_map.py' 2023-01-10T18:37:12,198 adding 'aipy-3.0.3.data/scripts/modmap.py' 2023-01-10T18:37:12,200 adding 'aipy-3.0.3.data/scripts/phs2src.py' 2023-01-10T18:37:12,201 adding 'aipy-3.0.3.data/scripts/plot_img.py' 2023-01-10T18:37:12,204 adding 'aipy-3.0.3.data/scripts/plot_map.py' 2023-01-10T18:37:12,206 adding 'aipy-3.0.3.data/scripts/plot_uv.py' 2023-01-10T18:37:12,208 adding 'aipy-3.0.3.data/scripts/pull_ants.py' 2023-01-10T18:37:12,209 adding 'aipy-3.0.3.data/scripts/pull_pol.py' 2023-01-10T18:37:12,211 adding 'aipy-3.0.3.data/scripts/rfi_diagnostic.py' 2023-01-10T18:37:12,213 adding 'aipy-3.0.3.data/scripts/srclist.py' 2023-01-10T18:37:12,214 adding 'aipy-3.0.3.data/scripts/stokes_rotate.py' 2023-01-10T18:37:12,216 adding 'aipy-3.0.3.data/scripts/uv_addsub.py' 2023-01-10T18:37:12,217 adding 'aipy-3.0.3.data/scripts/uvlist.py' 2023-01-10T18:37:12,219 adding 'aipy-3.0.3.data/scripts/xrfi.py' 2023-01-10T18:37:12,220 adding 'aipy-3.0.3.data/scripts/xrfi_simple.py' 2023-01-10T18:37:12,222 adding 'aipy-3.0.3.data/scripts/xtalk3.py' 2023-01-10T18:37:12,224 adding 'aipy-3.0.3.dist-info/LICENSE' 2023-01-10T18:37:12,231 adding 'aipy-3.0.3.dist-info/LICENSE-GPL' 2023-01-10T18:37:12,232 adding 'aipy-3.0.3.dist-info/METADATA' 2023-01-10T18:37:12,233 adding 'aipy-3.0.3.dist-info/WHEEL' 2023-01-10T18:37:12,234 adding 'aipy-3.0.3.dist-info/top_level.txt' 2023-01-10T18:37:12,236 adding 'aipy-3.0.3.dist-info/RECORD' 2023-01-10T18:37:12,251 removing build/bdist.linux-armv7l/wheel 2023-01-10T18:37:12,479 Building wheel for aipy (pyproject.toml): finished with status 'done' 2023-01-10T18:37:12,501 Created wheel for aipy: filename=aipy-3.0.3-cp39-cp39-linux_armv7l.whl size=756520 sha256=f92bb1271c5bd7317ee9551ef0c5a42e54421d06ae698e7df7ebd72a810d0f15 2023-01-10T18:37:12,502 Stored in directory: /tmp/pip-ephem-wheel-cache-3t_odya0/wheels/c2/f7/5a/05ab2ccabd7b964050681a509e6de0fc4c4c8fea03a9b30627 2023-01-10T18:37:12,520 Successfully built aipy 2023-01-10T18:37:12,549 Removed build tracker: '/tmp/pip-build-tracker-hshu58kl'