RadioAstronomySoftwareGroup / pyuvdata

A pythonic interface for radio astronomy interferometry data (uvfits, miriad, others)
https://pyuvdata.readthedocs.io/en/latest/index.html
BSD 2-Clause "Simplified" License
82 stars 27 forks source link

ant_str keyword does not work for UVFlag.select() #1184

Closed theo-kunicki closed 2 years ago

theo-kunicki commented 2 years ago

Discovered while trying to use SSINS. To reproduce, call select(ant_str=None) on a uvflag object. According to documentation, UVFlag.select() is supposed to take ant_str as an optional keyword argument. What's going on?

In [29]: uvd.read('../1163595776.uvfits')
Required Antenna frame keyword not set, setting to ????
telescope_location is not set. Using known values for MWA.

In [30]: uvf = uvflag.UVFlag(uvd)

In [31]: uvf
Out[31]: <pyuvdata.uvflag.uvflag.UVFlag at 0x7f2594bee9b0>

In [32]: uvf.select(ant_str=None)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-32-7eab538570e9> in <module>()
----> 1 uvf.select(ant_str=None)

TypeError: select() got an unexpected keyword argument 'ant_str'
mkolopanis commented 2 years ago

Would you mind printing the version of pyuvdata you're using for this?

I see on the current main branch that we do indeed have the ant_str keyword but maybe it sneakily was added somewhere. Who wrote this function :eyes: https://github.com/RadioAstronomySoftwareGroup/pyuvdata/blob/b63d8d55805df6baa760530f1b4aaef02dc77b90/pyuvdata/uvflag/uvflag.py#L2362-L2377

theo-kunicki commented 2 years ago

I'm using pyuvdata v. 2.2.8

mkolopanis commented 2 years ago

hm even at that tag that keyword appears to exist on github. and if I checkout tag v2.2.8 I can use the ant_str keyword for UVFlag.select.

Maybe some more diagnostic information can help.

Are you installing pyuvdata through pip/conda/from source? If the last one, we're sure there's no unstagged changes?

Would you mind providing the output of your entire python environment?

theo-kunicki commented 2 years ago

I installed it from pip. I'm using conda. When you say "output of my entire python environment" do you mean the output of 'conda list'?

mkolopanis commented 2 years ago

Yes if you're using conda to handle the environment conda list will do nicely.

theo-kunicki commented 2 years ago
# packages in environment at /users/tkunicki/anaconda/ssins:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
astropy                   5.1                       <pip>
bzip2                     1.0.8                h7f98852_4    conda-forge
ca-certificates           2022.5.18.1          ha878542_0    conda-forge
h5py                      3.7.0                     <pip>
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libzlib                   1.2.12               h166bdaf_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
numpy                     1.22.4                    <pip>
openssl                   3.0.3                h166bdaf_0    conda-forge
packaging                 21.3                      <pip>
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
pyerfa                    2.0.0.1                   <pip>
pyparsing                 3.0.9                     <pip>
python                    3.10.4          h2660328_0_cpython    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pyuvdata                  2.2.8                     <pip>
PyYAML                    6.0                       <pip>
readline                  8.1                  h46c0cb4_0    conda-forge
scipy                     1.8.1                     <pip>
setuptools                62.3.2          py310hff52083_0    conda-forge
setuptools                62.3.2                    <pip>
setuptools-scm            6.4.2                     <pip>
sqlite                    3.38.5               h4ff8645_0    conda-forge
SSINS                     1.4.6.dev51+g4f059d9           <pip>
tk                        8.6.12               h27826a3_0    conda-forge
tomli                     2.0.1                     <pip>
tzdata                    2022a                h191b570_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.12               h166bdaf_0    conda-forge
mkolopanis commented 2 years ago

going to go ahead and close this issue. Theo and I discovered it was a pyuvdata versioning issue due to ipython not being installed in the python environment. the interpreter was from a different environment with a much older version of pyuvdata (2.0.3+57 - so not quite 2.0.4?).