User Directions

Table of Contents

How to Install and Use

To install OceanRobots.jl in julia proceed as usual via the package manager (using Pkg; Pkg.add("OceanRobots")).

To run a notebook interactively (.jl files) you want to use Pluto.jl. For example, copy and paste one of the above code links in the Pluto.jl interface. This will let you spin up the notebook in a web browser from the copied URL.

All you need to do beforehand is to install julia and Pluto.jl. The installation of OceanRobots.jl and other Julia packages will then happen automatically when you run the notebook.

You can also download the notebooks folder and run them as normal Julia programs. We recommend runing each notebook in its own environment as shown below.

Note

To download OceanRobots.jl folder, which includes the notebooks folder, you can use Git.jl.

using Pkg; Pkg.add("Git"); using Git
url="https://github.com/JuliaOcean/OceanRobots.jl"
run(`$(git()) clone $(url)`)
using Pkg; Pkg.add("Pluto"); using Pluto

notebook="MITgcm.jl/examples/Float_Argo.jl"
Pluto.activate_notebook_environment(notebook)
Pkg.instantiate()
include(notebook)
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
  No Changes to `~/work/OceanRobots.jl/OceanRobots.jl/docs/Project.toml`
  No Changes to `~/work/OceanRobots.jl/OceanRobots.jl/docs/Manifest.toml`

[ Info: REPL environment updated from notebook ✓



   Installed ColorTypes ─────── v0.11.5
   Installed Hyperscript ────── v0.0.5
   Installed ColorVectorSpace ─ v0.10.0
   Installed PlutoUI ────────── v0.7.61
   Installed OceanRobots ────── v0.2.15
Precompiling project...
    963.2 ms  ✓ Hyperscript
   2792.0 ms  ✓ ColorTypes
   2817.4 ms  ✓ ColorVectorSpace
   6189.2 ms  ✓ OceanRobots
   1384.4 ms  ✓ ColorVectorSpace → SpecialFunctionsExt
   4449.2 ms  ✓ PlutoUI
 201630.3 ms  ✓ OceanRobots → OceanRobotsMakieExt
  7 dependencies successfully precompiled in 209 seconds. 354 already precompiled.
  5 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions. Otherwise, loading dependents of these packages may trigger further precompilation to work with the unexpected versions.
Precompiling PlutoUI...
   3394.7 ms  ✓ PlutoUI
  1 dependency successfully precompiled in 3 seconds. 42 already precompiled.
19439×2 DataFrame
   Row │ folder  wmo
       │ Any     Any
───────┼─────────────────
     1 │ aoml    13857
     2 │ aoml    13858
     3 │ aoml    13859
     4 │ aoml    15819
     5 │ aoml    15820
     6 │ aoml    15851
     7 │ aoml    15852
     8 │ aoml    15853
   ⋮   │   ⋮        ⋮
 19433 │ nmdis   2901627
 19434 │ nmdis   2901628
 19435 │ nmdis   2901629
 19436 │ nmdis   2901630
 19437 │ nmdis   2901631
 19438 │ nmdis   2901632
 19439 │ nmdis   2901633
       19424 rows omitted┌──────────┬─────────┐
│   folder │     wmo │
├──────────┼─────────┤
│     aoml │   13857 │
│     aoml │ 3900442 │
│     aoml │ 4902924 │
│     aoml │ 5902473 │
│     aoml │ 5906098 │
│     bodc │ 6901170 │
│ coriolis │ 6901034 │
│ coriolis │ 7901113 │
│   incois │ 2901313 │
│      jma │ 5901562 │
└──────────┴─────────┘
┌ Warning: specifycing files_list here is deprecated
└ @ ArgoData ~/.julia/packages/ArgoData/2B48R/src/data_structures.jl:178
downloading floats list via ArgoData.jl
  Activating project at `~/work/OceanRobots.jl/OceanRobots.jl/docs`

How to Seek Support

If something is unclear or proves difficult to use, please seek support by opening an issue on the repository.

How to Contribute

Thank you for considering contributing to OceanRobots.jl! If you're interested in contributing we want your help no matter how big or small a contribution you make!

Reporting Bugs

If you encounter a bug, please help us fix it by following these steps:

  1. Ensure the bug is not already reported by checking the issue tracker.
  2. If the bug isn't reported, open a new issue. Clearly describe the issue, including steps to reproduce it.

Suggesting Enhancements

If you have ideas for enhancements, new features, or improvements, we'd love to hear them! Follow these steps:

  1. Check the issue tracker to see if your suggestion has been discussed.
  2. If not, open a new issue, providing a detailed description of your suggestion and the use case it addresses.

Code Contribution

If you'd like to contribute code to the project:

  1. Fork the repository.
  2. Clone your fork: git clone https://github.com/juliaocean/OceanRobots.jl
  3. Create a new branch for your changes: git checkout -b feature-branch
  4. Make your changes and commit them with a clear message.
  5. Push your changes to your fork: git push origin feature-branch
  6. Open a pull request against the master branch of the main repository.

Pull Request Process

Please ensure your pull request follows these guidelines:

  1. Adheres to the coding standards.
  2. Includes relevant tests for new functionality.
  3. Has a clear commit history and messages.
  4. References the relevant issue if applicable.

Please don't hesistate to get in touch to discuss, or with any questions!

License

By contributing to this project, you agree that your contributions will be licensed under the LICENSE file of this repository.