Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete OXRX, NUTRX, PLANK PHCARB modules w/ class-based code #58

Closed
aufdenkampe opened this issue Aug 20, 2021 · 2 comments · Fixed by #61
Closed

Complete OXRX, NUTRX, PLANK PHCARB modules w/ class-based code #58

aufdenkampe opened this issue Aug 20, 2021 · 2 comments · Fixed by #61

Comments

@aufdenkampe
Copy link
Collaborator

Fully porting and testing these detailed WQ sections for the surface water module (RCHRES) would complete the port of surface water quality capabilities from HSPF.

These highly integrated modules for dissolved oxygen, nutrients, plankton, and the carbonate buffering system are challenging because of many interdependencies within a tilmestep.

To facilitate the passing of attributes and values among these modules, @PaulDudaRESPEC, @tredder75, @ptomasula, and I propose to migrate these code sections from functional-programming coding structures inherited from HSPF to object-oriented class structures used in modern programming, to enable inheritance of attributes and methods by objects and the passing of attributes among objects.

@tredder75 has begun this process with LimnoTech#38 and LimnoTech#39.

@tredder75 is also numba-fying these classes as he develops them, adding Numba just-in-time compiling to low level functions that operate many, many times during an HSP2 model run. This also helps toward our overall performance goals (#36).

We hope that the new class-based coding approach and specific WQ classes that we are implementing here will effectively serve as templates for converting the other modules to class-based code.

@jlkittle, this will get us moving toward the ability call attributes and methods using the Python "dot" syntax!

@aufdenkampe
Copy link
Collaborator Author

Merging PR #61 will close this issue.

@aufdenkampe
Copy link
Collaborator Author

Closed with #62 and release 0.9.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant