sot / xija

Thermal modeling framework for Chandra X-ray Observatory
https://sot.github.io/xija
BSD 3-Clause "New" or "Revised" License
9 stars 5 forks source link

Refactor heat.py into a subpackage #129

Closed jzuhone closed 2 years ago

jzuhone commented 2 years ago

Description

heat.py currently contains all of the classes which model heating inputs. Currently, this file is quite bloated, containing all currently used classes, as well as some which are no longer used.

This PR refactors this structure, while leaving the API intact, by changing heat.py into a heat subpackage. The files under heat are now:

I also put deprecated classes into a new file, deprecated.py, under the component subpackage.

This PR also:

Interface impacts

Since this is just code reorganization under the hood, but all imports from the xija API should be the same, there should be no interface impacts.

Testing

Unit tests

Independent check of unit tests by @taldcroft

Functional tests

xija_gui_fit and acis_thermal_check tests pass.

taldcroft commented 2 years ago

@jzuhone - I added a test we should have had long ago which runs every model in chandra_models. With this test in place I'm good with this PR once you do functional tests, without having really checked the refactor details.

taldcroft commented 2 years ago

@jzuhone - this is just waiting for those quick functional tests. Let's get this in then I can do the black format PR for xija. :smile:

jzuhone commented 2 years ago

Hi @taldcroft I ran the functional tests and all looks good.