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 main idea of the library is to be able to easily create consumption or generation power consumption profiles.

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.2.tar.gz (18.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: consmodel-0.1.2.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for consmodel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ae78a70a476d97d57d2cd5226dacf5786b89c4b316e0c4c04cc13d62014d0265
MD5 68be78db81bebcef124e766863062044
BLAKE2b-256 76751053fc2c8932d731c9144c0772d136dc43290d777287aec1954e5b4c4b36

See more details on using hashes here.

Supported by

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