Recent Releases of Rumi

Rumi - Rumi v1.2.0: TPES postprocessing support and Miscellaneous fixes

Features:

  • Add post-processing module for computing total primary energy supply (TPES)
  • Support optional parameters and skip validation if data not provided for them

Bug Fixes:

  • Fixes issue with incomplete logs, by flushing log queue before exiting
  • Fix issues with unit tests on Windows due platform dependent paths
  • Fix errors in grouping demand over representative time elements
  • Fix issue in unique_across() where multiple consumer types were not being considered
  • Fix precision issues when validating ST penetration
  • Fix spurious validation error when geography data is not provided in sorted order

Compatibility Fixes:

  • Pass 'numeric_only=True' explicitly to groupby() as needed in later pandas versions
  • Address differences between Pyomo versions 5.x and 6.x
  • 'Nan' deprecated in numpy 2.0 and later, change to 'nan'

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid about 2 months ago

Rumi - Rumi v2.0.2 release

Enhancements:

  • Support for import of derived energy carriers
  • Support for ALL keyword when specifying capacity utilisation profiles in ECT_Max_CUF
  • Improved validation of supply-side input parameters

Fixes:

  • Track stored energy of an EC by source geography and not by flow
  • Performance improvements in time taken for reading large input files
  • Fixes for user constraint validation issues and add unit test
  • Skip the maxcap >= mincap check for -ve maxcap
  • Support valid but unhandled use cases with EC_ConstraintsGranularity inputs
  • Fix for incorrect aggregation in the MaxAnnualUF related constraint
  • Suppress warning that UserConstraints validation is skipped during validation phase
  • Suppress log message when processing each individual UserConstraint
  • Copy NonEnergyEmissions from demand output during post-processing
  • Fix MixedType warning when processing GTProfile input with default values

Updated documentation

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid about 2 months ago

Rumi - Rumi v2.0.1 release

Changes in this release:

  • Support for arbitrary balancing area and balancing time for the input EC and the output DEC of an ECT (supply)
  • Deterministic order of data in output csvs
  • Bugfix: Emissions outputs exclude some STs
  • Updated overview and demand documentation
  • Bumped version to v2.0.1

In addition, the previous commit (v2.0.0) includes the following changes to the supply and postprocessing modules that were not acknowledged in that commit text. These changes continue to be supported in this version (v2.0.1).

  • Changes to address the following differences between Pyomo 5.x and Pyomo 6.x
  • Support for changes to EndUseDemandEnergy parameter
  • Support for user-defined constraints

For completeness, the following features mentioned in v2.0.0 commit text are also supported in the supply and postprocess modules

  • Support for non-EC based emissions
  • Support for energy density and emissions of physical ECs varying by year

Full Changelog: https://github.com/prayas-energy/Rumi/compare/v2.0.0...v2.0.1

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid 12 months ago

Rumi - Rumi v2.0.1 release

Changes in this release:

  • Support for arbitrary balancing area and balancing time for the input EC and the output DEC of an ECT (supply)
  • Deterministic order of data in output csvs
  • Bugfix: Emissions outputs exclude some STs
  • Updated overview and demand documentation

Energy Systems - Energy System Modeling Frameworks - Python
Published by prayas-model about 1 year ago

Rumi - Rumi v2.0.0: First version of Rumi 2 with several features and bug fixes

Features:

  • Energy densities of physical energy carriers can vary by year
  • Emission factors of energy carriers can vary by year
  • Support for two-level STs (introduction of ST Categories i.e. STCs)
  • Support for STs with multiple energy carriers
  • Support for STs with multiple energy services
  • Added some illustrative diagrams in the "Introduction" section
  • Support for non-EC based EmissionFactor in ST_EmissionDetails
  • Introduce optional GTProfile parameter to enable specifying demand estimation at a granularity coarser than balancing time and/or area for the energy carrier
    • if GTProfile is not provided, supply module will expand the demand to the balancing time and area of the energy carrier in such a way as to minimise overall cost

Miscellaneous changes:

  • Change the default directory for input csvs from 'Global Data' to 'Default Data'
  • DS_Cons1_Map and NumConsumers parameters are now both optional
  • Eliminated the DS_ES_STC_ParamGranularityMap parameter
  • Move demand sector maps one level down to the respective demand sector folder
    • list of demand sectors in a new map named DS_List in the top level folder
  • Changes in the ST_SEC parameter specifications
  • Change EXTRANEOUS input type to EXOGENOUS
  • Introduce a folder structure under Demand Outputs

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid over 1 year ago

Rumi - Rumi v1.1.0: Post-processing and some bugfixes/enhancements

A post-processing module to calculate emissions has been added to the Rumi platform. In addition, an assortment of bugfixes and enhancement have been added (listed below).

  • Enhancement: Add postprocessing module with calculation of emissions
  • Bugfix: Partially fix issues with parallel processing where some log messages do not get written out
  • Bugfix: model_instance_path provided to rumi_demand and rumi_supply is parsed inconsistently
  • Bugfix: Gracefully exit when command-line arguments are erroneous
  • Enhancement: Speeden validation through multiprocessing
  • Enhancement: Improved documentation for core functions and for D, E and C command-line arguments to rumi_demand
  • Other: Changed github actions to be triggered manually

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid almost 4 years ago

Rumi - Rumi v1.0.0: First release of Rumi platform

Rumi is a generic, open-source, customisable, free-to-use demand-oriented energy systems modelling
platform developed by Prayas (Energy Group) to aid policy-relevant analysis. Its design enables spatially
and temporally disaggregated modelling, and modelling of energy demand in detail. This release
pertains to the first version of Rumi.

Given suitable inputs, the demand estimation component of Rumi estimates energy demand for various
sectors, energy carriers, energy services etc., at the temporal and geographic granularity specified. The
supply estimation component of Rumi identifies supply sources to meet the estimated demand at least
cost, based on various supply-side inputs.

For more details, refer to the overview document located at Docs\rumi-overview.pdf. For installation
instructions, refer to the README.md in the root folder of the repository.

Energy Systems - Energy System Modeling Frameworks - Python
Published by sriharid about 4 years ago