Skip to content

Commit c3bb6db

Browse files
committed
improve coverage, fix bugs
1 parent 6e49b8d commit c3bb6db

File tree

4 files changed

+34
-8
lines changed

4 files changed

+34
-8
lines changed

pyuvsim/simsetup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,8 @@ def get_skymodel(self, inds=None):
776776
other['name'] = self.name
777777

778778
empty_sky = pyradiosky.SkyModel()
779-
if hasattr(empty_sky, "filname"):
779+
if hasattr(empty_sky, "filename"): # pragma: nocover
780+
# this only works for very new versions of pyradiosky
780781
other["filename"] = self.filename
781782

782783
return pyradiosky.SkyModel(

pyuvsim/tests/test_run.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ def test_run_paramfile_uvsim(goto_tempdir, paramfile):
7676
assert uvutils._check_history_version(uv_new.history, pyradiosky.__version__)
7777
assert uvutils._check_history_version(uv_new.history, pyuvdata.__version__)
7878
assert uvutils._check_history_version(uv_new.history, pyuvsim.__version__)
79+
assert uvutils._check_history_version(uv_new.history, paramfile)
80+
assert uvutils._check_history_version(uv_new.history, 'triangle_bl_layout.csv')
81+
assert uvutils._check_history_version(uv_new.history, '28m_triangle_10time_10chan.yaml')
82+
assert uvutils._check_history_version(uv_new.history, "Npus =")
7983

8084
# Reset parts that will deviate
8185
uv_new.history = uv_ref.history
@@ -288,6 +292,16 @@ def test_sim_on_moon(future_shapes):
288292
param_dict = pyuvsim.simsetup._config_str_to_dict(param_filename)
289293
param_dict['select'] = {'redundant_threshold': 0.1}
290294
uv_obj, beam_list, beam_dict = pyuvsim.initialize_uvdata_from_params(param_dict)
295+
296+
# set the filename to make sure it ends up in the history,
297+
# remove the parameter file info from extra_keywords
298+
uv_obj.filename = ["moon_sim"]
299+
uv_obj._filename.form = (1,)
300+
uv_obj.extra_keywords.pop('obsparam')
301+
uv_obj.extra_keywords.pop('telecfg')
302+
uv_obj.extra_keywords.pop('layout')
303+
uv_obj.check()
304+
291305
uv_obj.select(times=uv_obj.time_array[0])
292306
tranquility_base = MoonLocation.from_selenocentric(*uv_obj.telescope_location, 'meter')
293307

@@ -301,5 +315,11 @@ def test_sim_on_moon(future_shapes):
301315
uv_out = pyuvsim.uvsim.run_uvdata_uvsim(
302316
uv_obj, beam_list, beam_dict, catalog=sources, quiet=True
303317
)
318+
assert uvutils._check_history_version(uv_out.history, pyradiosky.__version__)
319+
assert uvutils._check_history_version(uv_out.history, pyuvdata.__version__)
320+
assert uvutils._check_history_version(uv_out.history, pyuvsim.__version__)
321+
assert uvutils._check_history_version(uv_out.history, uv_obj.filename[0])
322+
assert uvutils._check_history_version(uv_out.history, "Npus =")
323+
304324
assert np.allclose(uv_out.data_array[:, :, 0], 0.5)
305325
assert uv_out.extra_keywords['world'] == 'moon'

pyuvsim/tests/test_simsetup.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1435,13 +1435,19 @@ def test_skymodeldata(component_type, cat_with_some_pols):
14351435
# Test that SkyModelData class can properly recreate a SkyModel and subselect.
14361436
if component_type == 'point':
14371437
sky = cat_with_some_pols
1438+
filename_use = "mock_with_pol"
14381439
else:
14391440
pytest.importorskip('astropy_healpix')
14401441
path = os.path.join(SKY_DATA_PATH, 'healpix_disk.skyh5')
14411442
sky = pyradiosky.SkyModel()
14421443
sky.read_skyh5(path)
1444+
filename_use = ["healpix_disk"]
14431445

1444-
smd = pyuvsim.simsetup.SkyModelData(sky)
1446+
smd = pyuvsim.simsetup.SkyModelData(sky, filename=filename_use)
1447+
if isinstance(filename_use, str):
1448+
assert smd.filename == [filename_use]
1449+
else:
1450+
assert smd.filename == filename_use
14451451

14461452
if hasattr(sky, "get_lon_lat"):
14471453
sky_ra, sky_dec = sky.get_lon_lat()

pyuvsim/uvsim.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -779,14 +779,13 @@ def run_uvdata_uvsim(input_uv, beam_list, beam_dict=None, catalog=None, quiet=Fa
779779
history = simutils.get_version_string()
780780
if catalog.filename is not None:
781781
history += ' Sources from source list(s): [' + ', '.join(catalog.filename) + '].'
782-
if 'obs_param_file' in input_uv.extra_keywords:
783-
obs_param_file = input_uv.extra_keywords['obs_param_file']
784-
telescope_config_file = input_uv.extra_keywords['telescope_config_name']
785-
antenna_location_file = input_uv.extra_keywords['array_layout']
782+
if 'obsparam' in input_uv.extra_keywords:
783+
obs_param_file = input_uv.extra_keywords['obsparam']
784+
telescope_config_file = input_uv.extra_keywords['telecfg']
785+
antenna_location_file = input_uv.extra_keywords['layout']
786786
history += (' Based on config files: ' + obs_param_file + ', '
787787
+ telescope_config_file + ', ' + antenna_location_file)
788788
elif uv_container.filename is not None:
789-
assert False
790789
history += ' Based on uvdata file(s): [' + ', '.join(uv_container.filename) + '].'
791790
history += ' Npus = ' + str(mpi.Npus) + '.'
792791

@@ -839,7 +838,7 @@ def run_uvsim(params, return_uv=False, quiet=False):
839838
if rank == 0:
840839
start = Time.now()
841840
input_uv, beam_list, beam_dict = simsetup.initialize_uvdata_from_params(params)
842-
skydata, source_list_name = simsetup.initialize_catalog_from_params(
841+
skydata, _ = simsetup.initialize_catalog_from_params(
843842
params, input_uv, return_recarray=False
844843
)
845844
print(f"UVData initialization took {(Time.now() - start).to('minute'):.3f}")

0 commit comments

Comments
 (0)