ticktack

ticktack: A Python package for carbon box modelling - Published in JOSS (2023)

https://github.com/sharmallama/ticktack

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 34% confidence
Last synced: 6 months ago · JSON representation

Repository

An open-source carbon box model implementation built on JAX.

Basic Info
Statistics
  • Stars: 11
  • Watchers: 4
  • Forks: 3
  • Open Issues: 4
  • Releases: 2
Created over 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License Code of conduct Codemeta

README.md

ticktack

integration License: MIT PyPI version DOI DOI

A lightweight, open-source carbon box modelling library in Python, adapted for modelling tree ring radiocarbon time series.

Contributors

Utkarsh Sharma, Qingyuan Zhang, Jordan Dennis, Benjamin Pope

Overview

Radiocarbon measurements from tree rings allow us to recover measurements of cosmic radiation from the distant past, and exquisitely calibrate carbon dating of archaeological sites. But in order to infer cosmic production rates from raw ΔC14 data, we need to model the entire global carbon cycle, from the production of radiocarbon in the stratosphere and troposphere to its uptake by the oceans and biosphere. Many such competing models exist, in which the Earth system is partitioned into 'boxes' with reservoirs of C12, C14, and coefficients of flow between them.

ticktack is the first open-source package for carbon box modelling, allowing you to specify your own model or load a model with the same parameters as several leading closed-source models. Built in Python on Google Jax, it solves the carbon box ordinary differential equations using the Runge-Kutta method, on arbitrarily fine time grids and with arbitrary production rates. This forwards model is connected via a simple API to Bayesian inference using MCMC: currently we support only emcee, but implementations are in progress of HMC and nested sampling.

Installation

The easiest way to install is from PyPI: just use

pip install ticktack

To install from source: clone this git repo, enter the directory, and run

python setup.py install

License

We invite anyone interested to use and modify this code under a MIT license.

Name

The 'little boxes' in Malvina Reynolds' famous song are all made of ticky-tacky, and they all look just the same. Here we provide an open-source toolkit for reproducing and extending carbon box models for radiocarbon analysis, and we expect they will be as interchangeable as Malvina Reynolds' boxes!

Owner

  • Name: Utkarsh Sharma
  • Login: SharmaLlama
  • Kind: user

3rd year Computer Science and Mathematics Student @ UQ, UQ Computer Science Society Committee.

JOSS Publication

ticktack: A Python package for carbon box modelling
Published
March 22, 2023
Volume 8, Issue 83, Page 5084
Authors
Utkarsh Sharma ORCID
School of Mathematics and Physics, The University of Queensland, St Lucia, QLD 4072, Australia
Qingyuan Zhang ORCID
School of Mathematics and Physics, The University of Queensland, St Lucia, QLD 4072, Australia
Jordan Dennis ORCID
School of Mathematics and Physics, The University of Queensland, St Lucia, QLD 4072, Australia
Benjamin J. s. Pope ORCID
School of Mathematics and Physics, The University of Queensland, St Lucia, QLD 4072, Australia, Centre for Astrophysics, University of Southern Queensland, West Street, Toowoomba, QLD 4350, Australia
Editor
Dan Foreman-Mackey ORCID
Tags
Radiocarbon Miyake Events Carbon Box Models

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "0000-0001-8125-6494",
      "@type": "Person",
      "email": "j.dennis@uq.edu.au",
      "name": "Jordan Dennis",
      "affiliation": "University of Queensland"
    },
    {
      "@id": "0000-0002-0906-8533",
      "@type": "Person",
      "email": "qingyuan.zhang@uq.edu.au",
      "name": "qingyuanzhang3",
      "affiliation": "University of Queensland"
    },
    {
      "@id": "0000-0002-0771-8109",
      "@type": "Person",
      "email": "u.sharma@uq.net.au",
      "name": "Utkarsh Sharma",
      "affiliation": "University of Queensland"
    },
    {
      "@id": "0000-0003-2595-9114",
      "@type": "Person",
      "email": "b.pope@uq.edu.au",
      "name": "Benjamin Pope",
      "affiliation": "University of Queensland"
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/sharmaLlama/ticktack",
  "datePublished": "2022-10-26",
  "dateModified": "2022-10-26",
  "dateCreated": "2022-10-26",
  "description": "A Python/Jax based open source package for carbon box modelling of radiocarbon time series.",
  "keywords": "radiocarbon, Miyake Events, carbon cycle, atmospheric carbon, solar flares",
  "license": "MIT",
  "title": "ticktack",
  "version": "v1.0.0"
}

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 708
  • Total Committers: 5
  • Avg Commits per committer: 141.6
  • Development Distribution Score (DDS): 0.547
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jordan Dennis j****5@g****m 321
qingyuanzhang3 z****3@i****m 142
Utkarsh Sharma 7****a 128
benjaminpope b****e@g****m 114
Dan F-M f****y@g****m 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 32
  • Total pull requests: 18
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 1.47
  • Average comments per pull request: 0.28
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • benjaminpope (13)
  • dfm (11)
  • Jordan-Dennis (7)
  • ahessl (1)
Pull Request Authors
  • benjaminpope (8)
  • SharmaLlama (6)
  • dfm (3)
  • qingyuanzhang3 (1)
Top Labels
Issue Labels
enhancement (7) documentation (3) help wanted (2) bug (1) invalid (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 31 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 19
  • Total maintainers: 2
pypi.org: ticktack

Python package to build a carbon box model.

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 31 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 15.3%
Average: 16.1%
Stargazers count: 16.5%
Forks count: 16.8%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • astropy *
  • celerite2 *
  • chainconsumer *
  • emcee *
  • h5py ==3.3.0
  • hdfdict *
  • jax >=0.3.13
  • jax-cosmo *
  • jaxlib >=0.3.7
  • jaxns *
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
  • seaborn *
  • tinygp *
  • tqdm *
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/tests.yml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
setup.py pypi