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

Uploaded Source

Built Distribution

consmodel-0.1.1-py3-none-any.whl (19.9 kB view hashes)

Uploaded Python 3

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