Closed peverwhee closed 1 day ago
@peverwhee dyn_const_prop_0 and dyn_const_prop_1 are defined with the target attribute, but it's not needed. Is this intentional, or possibly an oversight/err by me in my previous commit?
@dustinswales not intentional! I removed the "target" attribute
Some test suggestion:
Some test suggestion:
- Test for handling of duplicate compatible constituent
- Test for handling of duplicate semi-compatible constituent (e.g., unit difference), that the framework cannot handle.
- Test for handling of duplicate incompatible constituent
Added logic to the constituents object to check for compatibility before adding a new constituent. Right now, that logic only checks a logical and character properties (advected, water species, thermo active, units). And added the following tests to the advection_test:
Also added unit tests to test parsing and fortran vs metadata comparisons
@gold2718 @mwaxmonsky Would you like to re-review before merging this?
@gold2718 @mwaxmonsky Would you like to re-review before merging this?
Sorry, can I have today?
@gold2718 @mwaxmonsky Would you like to re-review before merging this?
Sorry, can I have today?
Sure. We're trying to attach this to a set of UFS PRs that are on a queue to be final tested/merged early next week. If we can get final approval this week, it should be fine.
Summary
Brings in optional metadata field to enable dynamic (run-time) constituents; also brings in a couple new methods for the constituent object.
closes #557
Description
Key dynamic constituent mods:
Includes additional constituent object methods:
Includes fixes to ensure consistent order of generated code (use statements, variables, etc)
Also brings back the .github/workflow/python.yaml workflow that got lost somehow
User interface changes?: Yes, but optional User can now use "dynamic_constituent_routine" metadata header field to point to a function contained within the module fortran.
Testing: Modified advection test to include dynamic constituent routines. Added doctests to ccpp_datafile
Generated code snippet