Installation
SpeedyWeather.jl is registered in the Julia Registry. In most cases just open the Julia REPL and type
julia> using Pkg
julia> Pkg.add("SpeedyWeather")or, equivalently, (] opens the package manager)
julia> ] add SpeedyWeatherwhich will automatically install the latest release and all necessary dependencies. If you run into any troubles please raise an issue.
Installing main
On the branch main we develop SpeedyWeather. This branch contains the latest bug fixes and features that have not been released yet but there might also be issues with main we have not fixed yet. If you need to install that latest version from main do
julia> Pkg.add(url="https://github.com/SpeedyWeather/SpeedyWeather.jl", rev="main", subdir="SpeedyWeather")rev (revision) refers to the main branch, and subdir is needed as we have structured SpeedyWeather as a monorepo with other packages living in the same repository (do subdir="RingGrids" for example if you want to install the latest unreleased version of the RingGrids package ...). In a similar manner, you can also install other branches than main, e.g. from a specific pull request.
In brief you can do the same as
(@v1.12) pkg> add SpeedyWeather:SpeedyWeather#mainfollowing a Repository:Subdirectory#branch logic. Note that installing main gives you the latest unreleased version of SpeedyWeather but the latest released versions of its subpackages. When we move things between these packages then you may run into issues here. In that case you need to develop the package as outlined in the next section.
Developing SpeedyWeather
Julia's package manager Pkg.jl allows another way to develop/use the latest version on main
julia> Pkg.develop(url="https://github.com/SpeedyWeather/SpeedyWeather.jl", subdir="SpeedyWeather")in brief you can do this in the pkg shell with
(@v1.12) pkg> dev SpeedyWeather:SpeedyWeatherThe first "SpeedyWeather" refers to the repository the second to the subdirectory (which could be RingGrids, etc. as well) as also declared above. See the Managing packages section in the Pkg documentation to learn more about the differences between add and dev.
Compatibility with Julia versions
SpeedyWeather.jl requires Julia v1.10 or later. The package is tested on Julia 1.10, and 1.11.
Extensions
SpeedyWeather.jl has a weak dependency on
- Makie.jl to extend
Makie.heatmap
This is an extension, meaning that this functionality is only loaded from SpeedyWeather when using Makie (or its backends CairoMakie.jl, GLMakie.jl, ...). Hence, if you want to make use of this extension (some Examples show this) you need to install Makie.jl manually.