Skip to content
@uit-cosmo

Complex Systems Modelling - UiT

Research group at UiT devoted to modelling of complex physical, biological, ecological and socio-economic systems.

Complex Systems Modelling - UiT

uit-cosmo is a github organization providing numerical tools for creating, analyzing and visualizing data from complex systems.

This guide is meant for students and employees of the complex systems modelling group at UiT. External collaborators or people with interest in the groups work are also welcome to use and contribute to the provided repositories.

Repositories

superposed-pulses

superposed-pulses

This repository provides numerical realizations of stochastic processes, given by a superposition of pulses. For a given time $t \in [0,T]$ the process $\Phi_k(t)$ can be written as

$\Phi_k(t) = \sum_k A_k\phi\left(\frac{t-t_k}{\tau_k}\right)$

where $k \in \mathbb{N}^+$ and $k = [ 1, K(T) ]$. Here, the random variables are defined as follows: $K(T)$ stands for the number of pulses arriving in the time interval $[0,T]$, $A_k$ is the pulse amplitude, $t_k$ the pulse arrival time, $\phi$ the pulse shape and $\tau_k$ for the duration time. In the default case, these parameters are chosen so that $\Phi_k(t)$ is a Filtered Poisson Process with exponential pulses, however all variables can be chosen freely. See superposed-pulses/mode/example.py for further details. An example of a realization in the default case is shown below:

drawing
blobmodel

blobmodel

This repository can be regarded as an extension of superposed pulses by adding one or two spatial dimensions. The model is motivated by 2d propagating blobs in the scrape-off layer of fusion experiments, but can be used for any 1d or 2d system consisting of advecting pulses. Examples for 1d and 2d are shown below.

Similarly to superposed-pulses all stochastic variables of the model can be chosen freely. The README.md file of the repository contains a documentation. Also the examples directory might be useful. drawing drawing

fpp-analysis-tools

fpp-analysis-tools

This repository provides a range of tools to analyze time series of intermittent fluctuations. Functions for the following tasks are provided:

  • conditional averaging
  • calculating correlation functions
  • deconvolution of Filtered Point Processes
  • calculating distribution functions
  • estimating Hurst exponents
  • excess statistics
  • calculating running moments
  • parameter estimation from the empirical characteristic function
  • peak detection

This repository is meant as a centralized hub for functions and methods for time series analysis. Whenever you develop new methods for this purpose, we encourage you to add them to this repository to make them available for other group members.

fpp-closed-expressions

fpp-closed-expressions

This repository is a collection of closed expressions for the most common functions related to shot noise processes such as expressions for PDFs, excess time statistics, PSDs and autocorrelation functions. Similarly to fpp-analysis-tools we encourage you to add newly derived expressions whenever you derive and/or publish any to make them available to other group members.

fpp-sle

fpp-sle

This repository extends the superposed-pulses repository by implementing a forcing class that generates arrival times from varying rate processes. How arrival times are generated from the given rate process can be adjusted to the users needs, but one implementation with the inhomogeneous Poisson process is provided.

In addition, different stochastic differential equations are provided, in particular the stochastic logistic equation. This is included to be able to easily compare the statistics of time series generated from the stochastic logistic equation, with the statistics of the process generated by the superposed-pulses library, when used with the variable rate forcing this package provide.

cosmoplots

cosmoplots

cosmoplots provides default configurations for producing quality plots. We recommend using cosmoplots whenever you produce plots for manuscripts, talks or presentations. An example showing the advances of complotots compared to standard matplotlib is shown below. See the README.md file of the repository for a simple example.

matplotlib cosmoplots
matplotlib cosmoplots
xblobs

xblobs

xblobs is a python tool to detect and analyse coherent structures in turbulence using xarray. The algorithm has been developed originally to detect and track coherent structures (blobs) in plasma turbulence simulations, but it can be applied on any 2D xarray Dataset with a Cartesian grid and constant spacing dx, dy and dt. Documentation is provided in the README.md file. An example is shown below: Density evolution

Complexity-Entropy-Analysis

Complexity-Entropy-Analysis

An implementation of the Bandt-Pompe algorithm to obtain a probability distribution based on the amplitude ordinal pattern of a given time series. Once the probability distribution is calculated, Permutation Entropy and Jensen-Shannon statistical complexity measure can be obtained.

ebm

ebm

A Julia script to solve the 1D-Energy Balance Equation on the Northern hemisphere, adapted from North et al.

Options include:

  • seasonal solar insolation
  • time dependent albedo
  • CO2-forcing
  • noise
  • historical forcing
  • ensemble runs
SOFTX-D-16-00023

SOFTX-D-16-00023

A fork of a NetCDF Energy Balance Model. The software calculates monthly and yearly global temperatures until equilibrium is reached, based on geograpy and albedo input.

uit_sandpiles

uit_sandpiles

Efficient C++ code that simulates sandpile models based on the Bak–Tang–Wiesenfeld and other well-known variants. These models display self-organized criticality, and study of the different time signals they produce serves as a training tool to analyze self oranized critial systems in nature.

poster-template

poster-template

This repository contains the latex code for an UiT color themed scientific poster template. The template is based on the Gemini poster template https://github.com/anishathalye/gemini.

PhD-thesis

PhD-thesis

This repository contains the latex code of Gregor Decristoforo's PhD thesis. If you are looking for a latex template for your thesis at UiT this might be useful. A Makefile for compiling the latex code and instructions how to access the front page from the UiT website are provided.

Publication specific repositories

dirac-comb-and-exponential-frequency-spectra-in-nonlinear-dynamics

dirac-comb-and-exponential-frequency-spectra-in-nonlinear-dynamics

Repository containing scripts to generate and plot data used in Manuscript "Dirac comb and exponential frequency spectra in nonlinear dynamics" (arXiv:2106.15904).

Contributing to uit-cosmo

Contributions of any kind are welcome!

The workflow used is essentially "GitHub flow". The main branches of most repositories are protected from direct commits. Instead, do the following:

  1. Create a new feature branch
  2. (Optional) Push feature branch to Github to share and create backup
  3. Commit changes to the feature branch
  4. Submit pull request into main branch

For new repositories, please provide a license (we recommend MIT) and a useful README file containing installation instructions and a simple example. Make sure that your code contains useful documentation (docstrings, examples, etc.).

Pinned Loading

  1. superposed-pulses superposed-pulses Public

    Generate realizations of a Poisson point process.

    Python 3 1

  2. blobmodel blobmodel Public

    Model of propagating blobs in 1D and 2D

    Python 6 2

  3. fpp-analysis-tools fpp-analysis-tools Public

    Analysis tools for time series

    Jupyter Notebook 7 2

  4. fpp-closed-expressions fpp-closed-expressions Public

    Closed expressions for shot noise processes.

    Python 3

  5. cosmoplots cosmoplots Public

    Definitions for figures and plots using matplotlib

    Python 4 1

Repositories

Showing 10 of 16 repositories
  • fpp-sle Public

    Implements FPP and SLE algorithms

    uit-cosmo/fpp-sle’s past year of commit activity
    Python 0 GPL-3.0 0 0 10 Updated Oct 18, 2024
  • fpp-analysis-tools Public

    Analysis tools for time series

    uit-cosmo/fpp-analysis-tools’s past year of commit activity
    Jupyter Notebook 7 MIT 2 2 0 Updated Sep 24, 2024
  • superposed-pulses Public

    Generate realizations of a Poisson point process.

    uit-cosmo/superposed-pulses’s past year of commit activity
    Python 3 MIT 1 2 0 Updated May 15, 2024
  • Deviations-from-spectral-dirac-comb-in-Rayleigh-Benard-turbulent-bursting Public

    Collection of scripts generating data and figures of manuscript "Deviations from spectral dirac comb in Rayleigh-Benard turbulent bursting"

    uit-cosmo/Deviations-from-spectral-dirac-comb-in-Rayleigh-Benard-turbulent-bursting’s past year of commit activity
    Python 0 MIT 0 0 0 Updated May 14, 2024
  • cosmoplots Public

    Definitions for figures and plots using matplotlib

    uit-cosmo/cosmoplots’s past year of commit activity
    Python 4 MIT 1 1 0 Updated May 13, 2024
  • blobmodel Public

    Model of propagating blobs in 1D and 2D

    uit-cosmo/blobmodel’s past year of commit activity
    Python 6 MIT 2 1 2 Updated May 3, 2024
  • fpp-closed-expressions Public

    Closed expressions for shot noise processes.

    uit-cosmo/fpp-closed-expressions’s past year of commit activity
    Python 3 MIT 0 2 0 Updated Apr 15, 2024
  • velocity-estimation Public

    Velocity estimation algorithm for imaging data in turbulent flows

    uit-cosmo/velocity-estimation’s past year of commit activity
    Jupyter Notebook 1 MIT 1 0 0 Updated Jan 15, 2024
  • .github Public

    user guide for uit-cosmo repositories

    uit-cosmo/.github’s past year of commit activity
    Python 2 MIT 0 0 0 Updated Oct 20, 2023
  • xblobs Public

    Python tool to detect and analyse coherent structures in turbulence (blobs), powered by xarray

    uit-cosmo/xblobs’s past year of commit activity
    Python 5 MIT 4 1 0 Updated Mar 31, 2023