-
Notifications
You must be signed in to change notification settings - Fork 3
Refactoring #37
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestpriority-lowLow priority for next releaseLow priority for next releaserefactoringimprove the design, structure, and/or implementationimprove the design, structure, and/or implementation
Milestone
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpriority-lowLow priority for next releaseLow priority for next releaserefactoringimprove the design, structure, and/or implementationimprove the design, structure, and/or implementation
Let's talk about refactoring ideas
Configuration:
This is the most important feature to properly control what's being done, so it requires a nice and flexible UI
Data Mapping:
This is the most time consuming step, so it requires optimization to improve perf
update_salinity_mappingfunction (500 hundreds line !) by identifying recurrent patterns and affecting inner loop work to specific functionsupdate_salinity_mappinghas 2 main loop levels: on profile and on vertical levels. If inner loop work is delegated to functions and if data structure is clarified (with dictionaries or even better: xarray.DataSet), make these loops work in parallel will be much easier and a game changer in terms of performances.Data fetching:
This is a key component of the software, fetching float but more importantly reference data.
Code design:
update_salinity_mappingthe longitude values wrapping between -180/180 forget_topo_gridis done outside ofget_topo_grid, adding 4 lines and 1 variable to the code. It it this function inner responsibility to check for longitude values, must not be done outside.