Subzero
— ModuleFast 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,
Download Julia (version 1.9 or later). We recommend using
JuliaUp
so it is easy to change versions in the future.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: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 usingmkdir config
run on terminal within your.julia
folder. If you don't have astartup.jl
file you can make this usingtouch startup.jl
within theconfig
folder. Then, using a text editor (such as vim), add the following line to yourstartup.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.
Launch Julia and enter into the package manager mode by typing
]
in the terminal.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
- Primary Author: Skylar Gering (@skygering)
The list of Subzero contributors: