GithubHelp home page GithubHelp logo

huum_model's Introduction

README

This package contains the Household Utility Usage Model HUUM. It is an agent based modelling system, which is optimised to represent any utility usage in a household. While models can be defined in code, it is recommended to define them in data, using the HUUM_io package. Neither is uploaded to the general Python package server, so a manual, local install is necessary.

The documentation of the concepts and the logic in this program can be found in the thesis Agent Based Modelling of city-wide Water Demand (not yet published).

Created by Sven Berendsen as part of his PhD project at Newcastle University, (C) 2023. Licenced under the terms of the Apache License 2.0.

ToDo

Additional, smaller todo's are noted in each individual file. Bigger ones are:

  • Professionalise Code: Currently the code is "clean prototype" level, i.e. has little in-code documentation (but very sensible function and object names). Also missing are asserts and unit tests.
  • Switch to kwargs as arguments where appropiate. This most likely is best for event execution.
  • Implement consistency checks before model initialisation.
  • Implement all event hooks and possible effects.
  • Introduce an element to use externally set time series.
  • Convert the current agent -> appliance interaction into an agent -> action -> appliance interaction, enabling more flexibility in representing agent actions.
  • Switch to using class-method decorators for more concise code.
  • Re-implement in another language, e.g. Julia or Rust, for performance reasons.
  • Parallelise to improve large model runtime.

Licence

This code is originally (C) Sven Berendsen, 2023. Published under the terms of the Apache Licence, version 2.0.

huum_model's People

Contributors

leotolstoi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.