SubzeroModule

Subzero.jl

Docs CI CodeCov Status

Fast and Flexible Sea Ice Dynamics

Subzero.jl is a native Julia discrete-element model (DEM) for exploring fine-scale sea ice dynamics, reimplementing and enhancing MATLAB model SubZero by Manucharyan and Montemuro.

  • 🚀 Runs over 35 times faster that original MATLAB model for title simulation!
  • 🧩 Modular simulation model makes it easy to customize simulations!
    • Enable and disable physical processes such as fracturing, ridging, and welding
    • Choose algorithms for key processes (or add your own!)

Documentation

To learn how to build and run simulations, check out our documentation and tutorials!

Installation

Subzero is not yet a registered Julia package. So to install it,

  1. Download Julia (version 1.9 or later). We recommend using JuliaUp so it is easy to change versions in the future.

  2. As Subzero.jl is not yet registered as an official package, you will need to install it from GitHub. To do this, you will need a SSH key on your computer and stored in GitHub. GitHub provides documentation for the needed steps:

  3. Once you have established your SSH connection from within terminal, you now need to update your Julia startup.jl file. This is within the .julia/config folder. If you don't have a .config folder, please make one using mkdir config run on terminal within your .julia folder. If you don't have a startup.jl file you can make this using touch startup.jl within the config folder. Then, using a text editor (such as vim), add the following line to your startup.jl file:

    ENV["JULIA_PKG_USE_CLI_GIT"]=true

    We need this as Julia's SSH library can't read the types of SSH keys that GitHub now requires. This will have Julia use your local command line interface (CLI) version of Git. This only works with Julia 1.7 and higher.

  4. Launch Julia and enter into the package manager mode by typing ] in the terminal.

  5. Run the following

    julia pkg> add "git@github.com:Caltech-OCTO/Subzero.jl.git"

    This will add the package to your package manager. After that you return to the REPL mode by hitting the backspace and you are ready to use Subzero!

    julia julia> using Subzero

Contributing

If you’re interested in contributing to the development Subzero, we would love to have you! We welcome all kinds of contributions from bug reports, to documentation, to features, and suggestions. We can't wait to talk to you.

Please see CONTRIBUTING for more details.

Citing

If you use Subzero.jl as part of your research, teaching, or other activities, we would be grateful if you could cite our work. We are currently working on a JOSS paper, which will be linked here. If you are ready to publish before that, please reach out to us to discuss citations.

Authors

The list of Subzero contributors:

Contributers

source