How sas1997/sama works
SAMA is a Python platform for sizing and operating hybrid renewable-energy microgrids. Users configure system, load, weather, and tariff inputs, run an optimizer to minimize lifecycle cost (with emissions available as a second objective), then inspect simulation and financial results. The graph includes the documented optimizer and tariff branches; some subsystem links are omitted because their calling code was not sampled.
Main entry points: optimizers Optimizer suite · runner.py CLI runner · pricing Tariff calculations · EMS_EV.py EV dispatch
Components 23
Configuration
- Config wizard
src/samapy/cli/wizard.py - Project config
- CLI runner
src/samapy/cli/runner.py - Input data
src/samapy/core/Input_Data.py
Optimization
- Optimizer suite
src/samapy/optimizers - PSO
src/samapy/optimizers/pso.py - ADE
src/samapy/optimizers/AdvancedDifferentialEvolution.py - ABC
src/samapy/optimizers/ArtificialBeeColony.py - Grey Wolf
src/samapy/optimizers/GreyWolfOptimizer.py
Energy simulation
- Simulation results
src/samapy/results/Results.py - Energy dispatch
src/samapy/ems/EMS.py - EV dispatch
src/samapy/ems/EMS_EV.py - Load and weather profiles
src/samapy/core/Input_Data.py - Solar irradiance
src/samapy/utilities/sam_monofacial_poa.py - EV demand tools
src/samapy/utilities/EV_demand_dest.py
Economic assessment
- Tariff calculations
src/samapy/pricing - Electricity bills
src/samapy/pricing/Electricity_Bill_Calculator.py - Service charges
src/samapy/pricing/service_charge.py - Lifecycle cash flow
src/samapy/pricing/Advanced_multi_cashflow.py
Component models
- Battery models
src/samapy/models/Battery_Model.py - Heat pump models
src/samapy/models/BB_HP_Bosch.py - Goodman heat pump
src/samapy/models/BB_HP_Goodman.py
Other components
- Microgrid designer
Connections 18
- Microgrid designer → Config wizard: configures
- Config wizard → Project config: writes config
- Microgrid designer → CLI runner: starts run
- CLI runner → Project config: loads config
- CLI runner → Input data: sets parameters
- CLI runner → Optimizer suite: selects algorithm
- Optimizer suite → PSO: dispatches
- Optimizer suite → ADE: dispatches
- Optimizer suite → ABC: dispatches
- Optimizer suite → Grey Wolf: dispatches
- Simulation results → Energy dispatch: calls dispatch
- Simulation results → EV dispatch: calls EV dispatch
- Input data → Load and weather profiles: provides profiles
- EV dispatch → Battery models: uses models
- EV dispatch → EV demand tools: uses demand
- Tariff calculations → Electricity bills: includes
- Tariff calculations → Service charges: includes
- Tariff calculations → Lifecycle cash flow: includes