Skip to content

Core library design and pre/post split consolidation of duplicate functionality in schism and swan #190

@benjaminleighton

Description

@benjaminleighton

@tomdurrant is the plan to still have a very lightweight rompy-core or to keep that as a place that developers would put common cross cutting functionality. I think a "read-only" rompy-core could make it difficult to identify and develop common functionality.

For example some analysis suggests

Category Duplicated Module/Concept Files / Classes Involved Recommended Action Priority
Testing Generic Test Utilities test_utils.py (compare_files, compare_nmls, etc.) Move to a single rompy_core/tests/utils.py. High
Data Handling Tidal Data Processing TidalDataset Move to rompy_core/boundary.py. High
Data Handling Boundary Condition Abstractions BoundaryHandler, BoundaryConfig, ElevationType, VelocityType Move to rompy_core/boundary.py. Refactor SWAN to use them. Medium
Configuration Base Namelist Model NamelistBaseModel Move to rompy_core/namelist.py. Update all models to inherit. High
Developer Tools AI-based Model Generation generate_models.py (ClaudeClient) Move to a central rompy_core/scripts/ directory. Medium
Plotting Visualization Base Logic Various plot_* functions Create rompy_core.plotting with base classes. Refactor model-specific plots to inherit. Low

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions