process

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.

https://github.com/ukaea/process

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.

Basic Info
Statistics
  • Stars: 52
  • Watchers: 6
  • Forks: 13
  • Open Issues: 204
  • Releases: 5
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

DOI codecov

PROCESS

Here are the PROCESS docs.

PROCESS is the reactor systems code at the UK Atomic Energy Authority. More information on PROCESS can be found on the PROCESS webpage.

PROCESS was originally a Fortran code, but is currently a mixture of Python and Python-wrapped Fortran; the eventual aim is to have an entirely Python code base. In order to use PROCESS, the Fortran must be compiled and a Python-Fortran interface generated for the Python to import. Once built, it can be installed and run as a Python package.

Due to this ongoing conversion work, PROCESS version 3 is unstable and does not guarantee backward compatibility. PROCESS version 4 will be the first major version to enforce backward-compatible API changes and will be released following confirmation of variable names and the Python data structure.

Blender_and_output

Overview of some outputs for a DEMO-like reactor.

Getting Started

Please see the installation guide and the usage guide. Once installed, the examples directory provides Jupyter notebooks for interactively demonstrating usage of PROCESS, which is a good place to start. The examples/README.md provides more help.

Documentation

To read about how the code works and the modules in it see the documentation.

Tracking and Testing

Process uses a mixture of tracking and testing to ensure code reliability. Tests are run on each branch and ensure the output of keys functions are correct. Tracking, on the other hand, shows graphs of a variables changes over time, and what commit caused the change.

  • Our tracker can be found here: https://ukaea.github.io/PROCESS/tracking.html
  • Documentation on testing can be found here: https://ukaea.github.io/PROCESS/development/testing/

Development

Please see the CONTRIBUTING.md for guidance on how to contribute to PROCESS. Further information is found in the development section of the documentation.

Publications

A list of publications using PROCESS is given here, including two papers outlining the physics and engineering models in PROCESS.

Citing PROCESS

If you use PROCESS in your work, please cite it using the "Cite this repository" link in the "About" section of the repository.

Contacts

James Morris

Jonathan Maddock

Michael Kovari

Stuart Muldrew

Owner

  • Name: UK Atomic Energy Authority
  • Login: ukaea
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: PROCESS
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - affiliation: United Kingdom Atomic Energy Authority
    given-names: James
    family-names: Morris
  - given-names: Stuart
    family-names: Muldrew
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Peter
    family-names: Knight
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Michael
    family-names: Kovari
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Alexander
    family-names: Pearce
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Sebastien
    family-names: Kahn
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Jonathan
    family-names: Maddock
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Timothy
    family-names: Nunn
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Rhian
    family-names: Chapman
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Charles
    family-names: Swanson
    affiliation: Princeton Plasma Physics Laboratory
  - given-names: Hanni
    family-names: Lux
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Jack
    family-names: Foster
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Katy
    family-names: Ellis
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Manoj
    family-names: Kumar
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Graeme
    family-names: Turkington
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Jorrit
    family-names: Lion
    affiliation: Max Planck Institute for Plasma Physics
  - given-names: Simon
    family-names: Chislett-McDonald
    affiliation: University of Durham
  - given-names: Adam
    family-names: Brown
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: James
    family-names: Edwards
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Christopher
    family-names: Ashe
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Emiliano
    family-names: Fable
    affiliation: Max Planck Institute for Plasma Physics
  - given-names: Kristian
    family-names: Zarebski
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Charles
    family-names: Griesel
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Richard
    family-names: Kemp
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Sam
    family-names: Gubbins
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Steven
    family-names: Pickering
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Jonathan
    family-names: Matthews
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Georgina
    family-names: Graham
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Clair
    family-names: Mould
    affiliation: University of Southampton
  - given-names: Thomas
    family-names: Miller
    affiliation: University of Oxford
  - given-names: Sanket
    family-names: Gadgil
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Dan
    family-names: Short
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: James
    family-names: Cook
    affiliation: United Kingdom Atomic Energy Authority
  - given-names: Peter
    family-names: Lloyd
    affiliation: United Kingdom Atomic Energy Authority
identifiers:
  - type: doi
    value: 10.5281/zenodo.10849379
    description: >-
      This is the archived snapshot of version v3.1.0 of
      PROCESS.
  - type: doi
    value: 10.5281/zenodo.8335291
    description: >-
      This is the collection of archived snapshots of all
      versions of PROCESS.
repository-code: "https://github.com/ukaea/PROCESS"
url: "https://ukaea.github.io/PROCESS/"
abstract: >-
  PROCESS is a systems code at UKAEA that calculates in a
  self-consistent manner the parameters of a fusion power
  plant with a specified performance, ensuring that its
  operating limits are not violated, and with the option to
  optimise to a given function of these parameters.
keywords:
  - fusion
  - systems codes
  - power plant
license: MIT
version: 3.1.0
date-released: "2024-03-21"
references:
  - title: '"PROCESS": A systems code for fusion power plants—Part 1 Physics'
    type: article
    authors:
      - family-names: Kovari
        given-names: M
      - family-names: Kemp
        given-names: R
      - family-names: Lux
        given-names: H
      - family-names: Knight
        given-names: P
      - family-names: Morris
        given-names: J
      - family-names: Ward
        given-names: D J
    journal: Fusion Engineering and Design
    volume: 89
    number: 12
    pages: 3054-3069
    year: 2014
    issn: 0920-3796
    doi: 10.1016/j.fusengdes.2014.09.018
  - title: '"PROCESS": A systems code for fusion power plants – Part 2: Engineering'
    type: article
    authors:
      - family-names: Kovari
        given-names: M
      - family-names: Fox
        given-names: F
      - family-names: Harrington
        given-names: C
      - family-names: Kembleton
        given-names: R
      - family-names: Knight
        given-names: P
      - family-names: Lux
        given-names: H
      - family-names: Morris
        given-names: J
    journal: Fusion Engineering and Design
    volume: 104
    pages: 9-20
    year: 2016
    issn: 0920-3796
    doi: 10.1016/j.fusengdes.2016.01.007

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 397
  • Total pull requests: 422
  • Average time to close issues: over 2 years
  • Average time to close pull requests: 28 days
  • Total issue authors: 19
  • Total pull request authors: 17
  • Average comments per issue: 2.54
  • Average comments per pull request: 0.68
  • Merged pull requests: 277
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 110
  • Pull requests: 263
  • Average time to close issues: 23 days
  • Average time to close pull requests: 10 days
  • Issue authors: 14
  • Pull request authors: 16
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.72
  • Merged pull requests: 163
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jonmaddock (214)
  • timothy-nunn (89)
  • chris-ashe (29)
  • mkovari (17)
  • j-a-foster (16)
  • clmould (15)
  • ym1906 (14)
  • ajpearcey (7)
  • kj5248 (5)
  • stuartmuldrew (5)
  • cjwgriesel (3)
  • JaeBeom1019 (3)
  • CoronelBuendia (2)
  • je-cook (2)
  • Allentro (1)
Pull Request Authors
  • timothy-nunn (135)
  • chris-ashe (129)
  • clmould (49)
  • jonmaddock (24)
  • j-a-foster (20)
  • ym1906 (20)
  • mkovari (13)
  • kj5248 (12)
  • ajpearcey (12)
  • je-cook (8)
  • stuartmuldrew (7)
  • geograham (4)
  • OceanNuclear (2)
  • athoynilimanew (2)
  • cjwgriesel (2)
Top Labels
Issue Labels
Bug (53) Documentation (28) Physics (28) Has attachment (27) gitlab merge request (17) Engineering (14) papercut (12) New feature (5) Testing (4) Urgent (4) Output Files (3) Profiles (3) Epic (2) Good first issue (2) Python conversion (2) TF Coil (2) Refactor (1) Cost model (1) Machine Build (1) Confinement time (1) CS Coil (1) HCD (1) Variable rename (1) Triaged (1) Redundancy (1) Dependencies (1) Convergence (1) Bootstrap Current (1)
Pull Request Labels
Documentation (39) TF Coil (20) Refactor (18) Physics (17) Variable rename (13) Output Files (11) Bug (10) Blanket (6) Python conversion (5) CS Coil (4) First Wall (3) Bootstrap Current (3) Divertor (3) Cryostat (2) Superconductors (2) Redundancy (1) Testing (1) Pedestal (1) Cost model (1) HCD (1) Radiation (1) PF Coils (1) Epic (1) L-H transition (1) Power Cycle (1) Vacuum (1) papercut (1)

Dependencies

.github/workflows/process.yml actions
  • actions/checkout v3 composite
  • actions/deploy-pages v2 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • actions/upload-pages-artifact v1 composite
  • docker/login-action v1 composite
  • dorny/paths-filter v2 composite
  • webfactory/ssh-agent v0.7.0 composite
docker/ci/Dockerfile docker
  • ubuntu 20.04 build
docker/dev/Dockerfile docker
  • ubuntu 20.04 build
requirements.txt pypi
  • CoolProp >=6.4
  • Jinja2 >=3.0
  • Markdown >=3.2.2,<3.4
  • PyVMCON >=2.1.0,<3.0.0
  • bokeh ==2.4.0
  • importlib-resources ==5.0.0
  • jupyter ==1.0.0
  • matplotlib >=2.1.1
  • mkdocs >=1.1
  • mkdocs-git-revision-date-localized-plugin >=1.2
  • mkdocs-glightbox >=0.3.4
  • mkdocs-material >=4.6.3
  • mkdocstrings ==0.18.0
  • netCDF4 >=1.5.4
  • numba >=0.55.2
  • numpy >=1.19.0,<=1.21.5
  • pandas >=1.1.5
  • pdf2image ==1.16.0
  • pillow >=5.1.0
  • pymdown-extensions >=6.3
  • scipy >=0.19.1
  • toposort >=1.5
  • wheel >=0.36.2
requirements_dev.txt pypi
  • black >=22.3.0,<=23.0.0 development
  • flake8 >=5.0.4 development
  • flinter ==0.3.0 development
  • pre-commit >=2.16.0 development
  • pytest >=5.4.1 development
  • pytest-cov >=3.0.0 development
  • pytest-xdist >=2.5.0 development
setup.py pypi