Skip to main content

The library aims to provide a simple way to create individual consumer loads, generation.

Project description

Welcome to consmodel library 👋

Python Version

!!! Warning: the library is active and the functionalities are being added on weekly basis, some functionalities will also change !!!

The library aims to provide a simple way to create individual consumer loads and generation.

The library is a centralised modelling tool that implements the following consumption/generation consumptions:

  • pure consumption model,
  • solar plant model,
  • heat pump model,
  • electric vehicle modelling,
  • possibly other models...

The main idea of the library is to be able to easily create consumption or generation power consumption profiles.

The schema of the library is as follows:

🏠 Homepage

Install

pip3 install consmodel

Usage

PV model

   from consmodel import PV
   import pandas as pd
   import numpy as np
   import matplotlib.pyplot as plt

   # create a simple PV model
   pv = PV(lat=46.155768,
           lon=14.304951,
           alt=400,
           index=1,
           name="test",
           freq="15min",)
   timeseries = pv.simulate(pv_size=14.,
                            year=2022,
                            model="ineichen",
                            consider_cloud_cover=True)
   # plot the results
   timeseries.plot()
   plt.show()

BS model

   from consmodel import BS
   import pandas as pd
   import numpy as np
   import matplotlib.pyplot as plt

   # create a simple PV model
   test_consumption = [0.,-3.,-2.,8.,7.,6.,7.,8.,5.,4.,-2.]
   test_consumption_df = pd.DataFrame({"p": test_consumption},
                  index=pd.date_range("2020-01-01 06:00:00",
                                       periods=11,
                                       freq="15min"))
   bs = BS(lat=46.155768,
           lon=14.304951,
           alt=400,
           index=1,
           st_type="10kWh_5kW",
           freq="15min",)
   timeseries = batt.simulate(control_type="installed_power",
                              p_kw=test_consumption_df)
   # plot the results
   timeseries.plot()
   plt.show()

Consumer model

   from consmodel import ConsumerModel
   import pandas as pd
   import numpy as np
   import matplotlib.pyplot as plt

   cons = ConsumerModel(lat=46.155768,
                        lon=14.304951,
                        alt=400,
                        index=1,
                        name="ConsumerModel_default",
                        tz="Europe/Ljubljana",
                        use_utc=False,
                        freq="15min",)
   timeseries = cons.simulate(has_generic_consumption=False,
                              has_pv=True,
                              has_heatpump=True,
                              has_ev=False,
                              has_battery=True,
                              start=pd.to_datetime("2020-01-01 06:15:00"),
                              end=pd.to_datetime("2020-01-01 06:00:00")+pd.Timedelta("1d"),
                              pv_size=14.,
                              wanted_temp=20.,
                              hp_st_type="Outdoor Air / Water (regulated)",
                              bs_st_type="10kWh_5kW",
                              control_type="production_saving")
   timeseries.plot()
   plt.show()

Author

👤 Blaž Dobravec

Colaborated:

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

consmodel-0.1.5.tar.gz (19.3 kB view details)

Uploaded Source

File details

Details for the file consmodel-0.1.5.tar.gz.

File metadata

  • Download URL: consmodel-0.1.5.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for consmodel-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0569323525b29dc238a9fb9a85bcef7c631cadbd147cc54465ca8855a1805347
MD5 6c5bff520dcdfbfcea231a290658ddde
BLAKE2b-256 8f61fa8c3688f62eeb5f68415bba2e3b550dc4c41a295085db80b6ec99a2ccf0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page