Recent Releases of smif
smif - v1.3.0
Features:
- Add smif CLI subcommands:
decide,before_step,step - Add
--dry-runoption when running a whole model run - prints a list of step subcommands - Allow concrete instances of Model, SectorModel
- Include only sectormodels and modeldependencies in job graphs (reduces logging noise)
- Include hundredths of a second in log timings
Fixes:
- Handle one-dimensional DataArray to Dataframe conversions (could mis-sort data with unordered labels in conversion to/from xarray - see pydata xarray #3798)
- Update npm dependencies
- Relax ruamel.yaml requirement to >=15.50
- Fix Travis/Appveyor tests under Python 3.5 (install/pin dependencies
- Python
Published by tomalrussell almost 6 years ago
smif - v1.2.0
Features:
- Warm start avoids re-running models within a partially-complete timestep
- DAFNI scheduler plugin
- Convert CSV to Parquet store
- Create model runs corresponding to all variants in a scenario
- Results object gives access to all model run results (helper wrapper around a Store)
Fixes:
- Handle missing dims in dependency validation
- Clear results before new run
- Update pytest and fix testing for error messages
- Fix spec/data mismatch when reading scenario data
Config update may be required:
- Data file references in YAML configs should not include extensions (
.csvor.parquet) in order to support conversion between data store implementations.
- Python
Published by tomalrussell over 6 years ago
smif - v1.1.0
Features
- DecisionModule now handles the state of the system of systems correctly; refactored pre-spec planning out of DecisionModule
- Results_Handle provides read-only access to state
- Can read and write empty state to and from store without errors
- Added documentation on how to use pre-specified planning
- Find out model runs which have results available
- Identify missing results
- Programmatically access results
- Python
Published by tomalrussell almost 7 years ago
smif - v1.0.5
v1.0.5 Minor updates: - Convert custom units with UnitAdaptor - Cache coefficients by dimension pairs for greater reuse - Handle and test for duplicate data rows on read - Improve error message if file data is missing timestep - Improve DataArray.from_df validation and messages - Use gzip compression for smaller parquet files - Faster comparison of dim names using python set
Fixes: - Debug messages with non-str interval names in IntervalAdaptor - Store dimensions as CSV, special-case convention for intervals - Handle raw Exception from xarray v0.10 - Ensure DataHandle.get_data returns DataArray named as the input spec
- Python
Published by tomalrussell almost 7 years ago
smif - v1.0.2 Minor update release
Minor updates:
- Update smif app readme
- Bump babel and webpack major versions, update other npm packages
- Validate self-dependencies (between timesteps is okay)
- Add validation methods for narratives
- Make illegal parameters visible in narrative configuration
- Pass path to binary filestore, extract method to parent class
- Allow adaptors to be directly included in a system of systems model
- Provide useful error message when there are missing data in a data array
- Add profiling to some places in the program, provide summary at end of modelrun
- Don't read dimension elements through API
Fixes:
- Fix and test reading from timeseries, including zero-d case
- Fix API calling old store methods
- Pin libgcc as possible cause of shared library import errors
- Fix up test_validate to use conftest configs
- Fix react-icons imports, drop reactstrap
- Silence mocha deprecation warning.
- Ensure smif npm package is private
- Fix update_model method store
- Adopt fix for DataFrame.to_dict('records') from future pandas
- Python
Published by willu47 about 7 years ago
smif - v1.0
Functionality:
GUI improved usability
- Forms now ask users to discard or save changes
- Configuration lists can be sorted and filtered
- Single click navigation between linked configurations
- First steps of input validation (in SosModel configurations)
Define model data (inputs/parameters/outputs) using arbitrary dimensions (may be spatial, temporal, categorical)
- Dimension conversions can be performed by an
Adaptor, represented as anotherSectorModelwithin aSosModel
- Dimension conversions can be performed by an
Data layer refactor to enable various Store implementations, separately for configuration data, metadata and input/parameter/results and interventions/decisions/state data.
DataArrayandSpechandle input/parameter/results data and metadata- Groundwork for a PostgreSQL
DbConfigStoreimplementation
Separation of
SosModelconstruction and configuration fromModelRunrunning: introduce aJobSchedulerthat runs directed graphs of simulation jobs, connected by dependency edges.- Initial
JobScheduleris purely serial - Remove
ModelSet, removing the capability to handle within-timestep dependency loops - Introduce explicit between-timestep dependencies (including model self-dependency)
- Initial
- Python
Published by tomalrussell about 7 years ago
smif -
Fixes
- Avoid blank lines in csv output
- Avoid repeated reads of region names and project config
- Pin ruamel.yaml version
- Handle empty strategy file with empty list of strategies
- Fix unresponsive dependency selector
- Add/edit/remove facets and scenarios
- Run models in subprocess (now also on Windows)
- Python
Published by RoaldL over 7 years ago