Science Score: 41.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
  • .zenodo.json file
  • DOI references
    Found 6 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 (15.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: gitlab.com
  • Owner: gyrokinetics
  • Default Branch: master
Statistics
  • Stars: 0
  • Forks: 1
  • Open Issues:
  • Releases: 0
Created over 7 years ago
Metadata Files
Readme Changelog Contributing Citation

README.md

GS2

DOI

gitlab pipeline status Coverage Status

[TOC]

Introduction

GS2 is a physics application, developed to study low-frequency turbulence in magnetized plasma. It is typically used to assess the microstability of plasmas produced in the laboratory and to calculate key properties of the turbulence which results from instabilities. It is also used to simulate turbulence in plasmas which occur in nature, such as in astrophysical and magnetospheric systems.

To download the source run:

git clone --recurse-submodules https://bitbucket.org/gyrokinetics/gs2.git

or for git < v2.13:

git clone --recursive https://bitbucket.org/gyrokinetics/gs2.git

Alternatively, tarballs are available for the latest release and latest development branch along with other tags and branches on the Bitbucket downloads page

Dependencies

GS2 requires a Fortran compiler that supports at least the F2008 standard. We regularly test with gfortran 13 and Intel's most recent IFX (2024.2).

We recommend using at least gfortran 9.3, or Intel 19. Earlier versions may still work but we can make no guarantees.

GS2 has no required external dependencies, but does have the following optional ones:

  • MPI
  • NetCDF (requires >= v4.2.0)
  • FFTW (requires >= 3.3)
  • LAPACK
  • NAG
  • python (required for code generation, tests and documentation, requires >= 3.6). This will become a hard dependency after v8.2.0 of GS2

When compiled with netCDF, we also use the neasy-f netCDF wrapper library, but we bundle this with GS2 so you don't need to build neasy-f separately.

Fortran standard features

Some compilers still only support a subset of the F2003/F2008 standards. The below is a non-exhaustive list of features from these standards that we require. You can try building the Fortran Features repo to see if your compiler supports the features we require.

Fortran 2003

  • object oriented features, including:
    • type-bound procedures
    • runtime polymorphism, including class(*)
  • allocatable character
  • import in interface
  • iso_c_binding intrinsic module

Fortran 2008

  • iso_fortran_env intrinsic module, including:
    • kind constants
    • compiler_version and compiler_options

Developing GS2

Please see the CONTRIBUTING.md document for help and guidelines on contributing to GS2.

Help and Documentation

Documentation, include auto-generated source code documentation is currently available at https://gyrokinetics.gitlab.io/gs2/.

Please report any bugs by raising an issue on Bitbucket.

You can also get support by contacting users and developers on our Slack channel.

Important note on sub-modules

We use git submodules to deal with the sub-projects utils and Makefiles that are shared with other gyrokinetics projects. Therefore, when cloning, you will find that the utils and Makefiles directories are empty unless you clone using the --recursive (git < v2.13) or --recurse-submodules (git >= v2.13) options. alternatively, you can run the following after the initial checkout:

cd gs2
make submodules

See this nice summary on stackoverflow for further details: https://stackoverflow.com/questions/3796927/how-to-git-clone-including-submodules/4438292#4438292

Building GS2

GS2 has been built on a variety of existing systems. To build on one of the existing supported systems, set GK_SYSTEM, and provide the path to the directory containing the makefiles. For example, to build GS2 on the UK national supercomputer, ARCHER2, run:

make GK_SYSTEM=archer2 -I Makefiles

For further details on building GS2, including how to build it on a new system, see the documentation in the user manual.

Citing GS2

If you use GS2 in your work, please cite GS2 and acknowledge the grants that support its development.

Citation

The DOI for the current stable version can be found at the top of this README. For reproducibility, it's best to use and cite a specific release version. If that's not possible (for example, if you are using your own development branch), the next best thing is to cite the GS2 project DOI 10.5281/zenodo.2551066 which resolves to the latest version and specify the commit hash you are using.

The full citation for GS2 is in CITATION.cff. To get a bibtex citation from this file, do:

pip3 install --user cffconvert
cffconvert -if CITATION.cff -f bibtex -of CITATION.bib 

Acknowledgement

Please acknowledge grants which support the development of GS2:

"This work made use of computational support by CoSeC, the Computational Science Centre for Research Communities, through CCP Plasma (EP/M022463/1) and HEC Plasma (EP/R029148/1 and EP/X035336/1)."

Citation (CITATION.cff)

# This file is a citation metadata file in the Citation File Format
# (http://citation-file-format.github.io/).
#
# It provides citation metadata for this version of GS2

cff-version: 1.0.3-1
message: If you use GS2 in your work, please cite it using the following metadata.
title: GS2
authors:
  - family-names: Barnes
    given-names: Michael
    affiliation: University of Oxford
    orcid: https://orcid.org/0000-0002-0177-1689

  - family-names: Dickinson
    given-names: David
    orcid: https://orcid.org/0000-0002-0868-211X
    affiliation: University of York

  - family-names: Dorland
    given-names: William
    orcid: https://orcid.org/0000-0003-2915-724X
    affiliation: University of Maryland

  - family-names: Hill
    given-names: Peter Alec
    orcid: https://orcid.org/0000-0003-3092-1858
    affiliation: University of York

  - family-names: Parker
    given-names: Joseph Thomas
    orcid: https://orcid.org/0000-0002-5573-6475
    affiliation: United Kingdom Atomic Energy Authority

  - family-names: Roach
    given-names: Colin Malcolm
    affiliation: Culham Centre for Fusion Energy
    orcid: https://orcid.org/0000-0001-5856-0287

  - family-names: Giacomin
    given-names: Maurizio
    orcid: https://orcid.org/0000-0003-2821-2008

  - family-names: Mandell
    given-names: Noah
    orcid: https://orcid.org/0000-0003-1446-5397

  - family-names: Numata
    given-names: Ryusuke
    orcid: https://orcid.org/0000-0002-8445-3503

  - family-names: Schuett
    given-names: Tobias
    orcid: https://orcid.org/0000-0001-5197-4348

  - family-names: Biggs-Fox
    given-names: Stephen
    affiliation: University of York
    orcid: https://orcid.org/0000-0002-4864-9699

  - family-names: Christen
    given-names: Nicolas
    affiliation: University of Oxford
    orcid: https://orcid.org/0000-0002-3009-1439

  - family-names: Parisi
    given-names: Jason
    orcid: https://orcid.org/0000-0003-1328-7154

  - family-names: Wilkie
    given-names: George
    orcid: https://orcid.org/0000-0002-6826-6273

  - family-names: Anton
    given-names: Lucian

  - family-names: Ball
    given-names: Justin
    orcid: https://orcid.org/0000-0002-4462-6350

  - family-names: Baumgaertel
    given-names: Jessica

  - family-names: Colyer
    given-names: Greg

  - family-names: Hardman
    given-names: Michael
    orcid: https://orcid.org/0000-0001-5152-3061

  - family-names: Hein
    given-names: Joachim

  - family-names: Highcock
    given-names: Edmund
    orcid: https://orcid.org/0000-0002-3398-817X

  - family-names: Howes
    given-names: Gregory
    orcid: https://orcid.org/0000-0003-1749-2665

  - family-names: Jackson
    given-names: Adrian
    orcid: https://orcid.org/0000-0003-0073-682X

  - family-names: Kotschenreuther
    given-names: Michael T.
    affiliation: Institute for Fusion Studies, University of Texas
    orcid: https://orcid.org/0000-0001-6327-877X

  - family-names: Lee
    given-names: Jungpyo
    orcid: https://orcid.org/0000-0002-4382-4515

  - family-names: Leggate
    given-names: Huw
    orcid: https://orcid.org/0000-0002-1582-0330

  - family-names: Mauriya
    given-names: Adwiteey
    orcid: https://orcid.org/0000-0003-1122-4707

  - family-names: Patel
    given-names: Bhavin
    orcid: https://orcid.org/0000-0003-0121-1187

  - family-names: Tatsuno
    given-names: Tomo

  - family-names: Van Wyk
    given-names: Ferdinand
    orcid: https://orcid.org/0000-0002-4857-5159

version: 8.2.1
date-released: 2024-11-01
repository-code: https://bitbucket.org/gyrokinetics/gs2/
url: https://gyrokinetics.gitlab.io/gs2/
doi: 10.5281/zenodo.14022029
license: 'MIT'

Dependencies

requirements.txt pypi
  • ford ==6.0.0
  • markdown ==3.2.1
  • netCDF4 ==1.5.6
  • numpy *
  • pytest *