-
IsopycnalSurfaces.jl was originally started by G Jake Gebbie as a part of the ECCOtour.jl package
-
Core functionality: Take a profile (water column) of temperature and salinity on pressure coordinates and transfer onto a vertical coordinate of density
function vars2sigma(vars,p,p₀,σgrid;spline_order,linearinterp,eos)
Input a Dictionary of variables (vars
) that may have 1D or 3D arrays,
a 1D vertical input coordinate (p
), the reference pressure (p₀
),
the output vertical grid (σgrid
). Optional keyword arguments are
the order of spline interpolation (splorder
), a logical argument to force linear interpolation (linearinterp
), and the equation of state type (eos
). All variables are output to a Dictionary on isopycnal surfaces (varsσ
).
- "EOS80" from UNESCO 1980 (Saunders et al. 1980), following gher-ulg/PhysOcean.jl
- "JMD95" from Jackett and McDougall 1995, following gaelforget/MITgcmTools.jl
- "TEOS10" from IOC et al. 2010, following GibbsSeaWater.jl
-
This Julia package is in early development and breaking changes are expected.
-
See the function list in the documentation linked through the badge above
-
After setting up the Julia environment (instructions below), check that all tests pass via the following shell command in the repository base directory:
julia --project=@. test/runtests.jl
Or test by going to the package manager of the REPL:
]
test IsopycnalSurfaces
-
This project was originally called SigmaShift.jl.
-
Also see Greg Wagner's package Isopycnal.jl.
Compatibility with the built-in tests requires Julia 1.6+.
The usual way for a package in the Julia general registry:
pkg> add IsopycnalSurfaces
Details about setting up a Julia environment are available here.
The Julia code is designed to download input files from Google Drive (using GoogleDrive.jl) and to place them in the data
directory.
Available functions are listed in the documentation here.
- Allow 2D or 4D input fields
- Permit input vertical coordinate to be pressure or depth
- Report number of inversions
- Calculate thickness of layers
- Consider GPU support
This package was generated using PkgTemplates.jl.
Steps:
- Use PkgTemplates to make git repo.
Run the following Julia code
using Revise, PkgTemplates
t = Template(; user="ggebbie", dir="~/projects", authors="G Jake Gebbie", julia=v"1.6", plugins=[ License(; name="MIT"), Git(; manifest=true, ssh=true), GitHubActions(; x86=false), Codecov(), Documenter{GitHubActions}(), Develop(), ], )
t("IsopycnalSurfaces.jl")
-
Make a new empty repository on GitHub.
-
Then push this existing repository from the command line:
git remote add origin git@github.com:ggebbie/IsopycnalSurfaces.jl.git
git branch -M main
git push -u origin main
-
Use Documenter.jl and DocumenterTools to automatically deploy documentation following: https://m3g.github.io/JuliaNotes.jl/stable/publish_docs/ .