Comments (3)
New proposed solution to this problem. Still a bit of a work in progress and I'm not sure whether this is the way to go yet.
Upsides:
- Oseries to models link is stored, so no need to reconstruct this relation on load.
- See list of linked models directly in oseries DataFrame.
- List of models stored directly in oseries metadata.
- Simple implementation using existing libraries
- Get dictionary of {oseries: [model_names_list]} through
pstore.oseries_models
property
There are some performance downsides to this implementation, but I'm not sure if they're really noticeable in practice...
Downsides:
- The oseries cache is cleared every time a model is added or deleted and will have to be reconstructed after that.
- Updating the oseries metadata to add a model link requires reading and then writing the oseries timeseries+metadata each time. This means 1 extra read/write for each model added/deleted.
- Deleting and then adding an oseries again will remove the model_links entry. Currently there is no logic to automatically rebuild this model_links entry in this case.
from pastastore.
A different proposed solution is presented in #68. This implementation creates a new library oseries_models
where the relationship between models and oseries will be stored.
Upsides:
- Names of models for a certain oseries are stored, making it easy to obtain models for a specific point without having to recalculate that relationship every time.
- Relative to previous implementation, much more efficient. No need to read/write timeseries/metadata. Only has to store a single list with model names every time a model is added/deleted. No need to clear cached oseries dataframe after every model add/delete.
- Get dictionary of {oseries: [model_names_list]} through
pstore.oseries_models
property
Downsides:
- links between oseries and models not stored in oseries metadata DataFrame (but it can be easily obtained from
pstore.oseries_models
). - Added library added some complexity but not all that much.
from pastastore.
Added in #62, closing issue.
from pastastore.
Related Issues (20)
- Drop official arctic and pystore support HOT 1
- Add Metran support to Pastastore HOT 1
- PastaStore and Connector names and logical defaults HOT 1
- stored name not showing up in stresses dataframe HOT 1
- Plot both oseries and stresses by default in data_availability plot HOT 3
- Add ArcticDBConnector HOT 1
- ArcticDB causes segfault in GH Actions tests HOT 2
- KeyError on step trend HOT 1
- Add apply function to pastastore HOT 1
- Use the DictConnector as default when createing a Pastastore HOT 1
- emptying models library should also delete oseries_models links HOT 1
- problems with float to int conversion when reading pastastore from zip HOT 2
- `check3_cutoff` not used in frontiers checks HOT 1
- kwargs are intepreted differently in adjust_text and annotate in add_labels
- Pastastore sets log-level of Pastas to Error HOT 3
- make get_tmin_tmax work for models library HOT 1
- PasConnector casts type to integer after reading time series containing floats HOT 1
- Use Ruff checks in CI HOT 1
- Remove Arctic and Pystore connectors HOT 1
- ArcticDB does not yet support Python 3.12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pastastore.