Skip to content

Commit a600821

Browse files
Merge branch 'main' into pixi
2 parents 4605f1b + e689559 commit a600821

61 files changed

Lines changed: 15782 additions & 355 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ updates:
44
- package-ecosystem: "github-actions"
55
directory: "/"
66
schedule:
7-
interval: "weekly"
7+
interval: "quarterly"
88
groups:
99
actions:
1010
patterns:

.github/workflows/cd.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626

2727
steps:
28-
- uses: actions/checkout@v4
28+
- uses: actions/checkout@v6
2929
with:
3030
fetch-depth: 0
3131

@@ -43,13 +43,13 @@ jobs:
4343
if: github.event_name == 'release' && github.event.action == 'published'
4444

4545
steps:
46-
- uses: actions/download-artifact@v4
46+
- uses: actions/download-artifact@v7
4747
with:
4848
name: Packages
4949
path: dist
5050

5151
- name: Generate artifact attestation for sdist and wheel
52-
uses: actions/attest-build-provenance@v2.2.3
52+
uses: actions/attest-build-provenance@v3.2.0
5353
with:
5454
subject-path: "dist/*"
5555

.github/workflows/ci.yml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
pixi-environment: ["test-py310", "test-py312"]
4949
runs-on: [ubuntu-latest, windows-latest, macos-14]
5050
steps:
51-
- uses: actions/checkout@v4
51+
- uses: actions/checkout@v6
5252
with:
5353
fetch-depth: 0
5454
- uses: Parcels-code/pixi-lock/restore@9a2866f8258b87a3c616d5ad7d51c6cd853df78b
@@ -66,31 +66,31 @@ jobs:
6666
--durations=20
6767

6868
- name: Upload coverage report
69-
uses: codecov/codecov-action@v5.4.0
69+
uses: codecov/codecov-action@v5.5.2
7070
with:
7171
token: ${{ secrets.CODECOV_TOKEN }}
72-
typechecking:
73-
name: "TypeChecking: pixi run typing"
74-
runs-on: ubuntu-latest
75-
if: false
76-
needs: cache-pixi-lock
77-
steps:
78-
- uses: actions/checkout@v4
79-
with:
80-
fetch-depth: 0
81-
- uses: Parcels-code/pixi-lock/restore@9a2866f8258b87a3c616d5ad7d51c6cd853df78b
82-
with:
83-
cache-key: ${{ needs.cache-pixi-lock.outputs.cache-key }}
84-
- uses: prefix-dev/setup-pixi@v0.9.4
85-
with:
86-
cache: true
87-
pixi-version: ${{ needs.cache-pixi-lock.outputs.pixi-version }}
88-
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
89-
- name: Typechecking
90-
run: pixi run typing --non-interactive --html-report mypy-report
91-
- name: Upload test results
92-
if: ${{ always() }} # Upload even on mypy error
93-
uses: actions/upload-artifact@v4
94-
with:
95-
name: Mypy report
96-
path: mypy-report
72+
# typechecking:
73+
# name: "TypeChecking: pixi run typing"
74+
# runs-on: ubuntu-latest
75+
# if: false
76+
# needs: cache-pixi-lock
77+
# steps:
78+
# - uses: actions/checkout@v4
79+
# with:
80+
# fetch-depth: 0
81+
# - uses: Parcels-code/pixi-lock/restore@9a2866f8258b87a3c616d5ad7d51c6cd853df78b
82+
# with:
83+
# cache-key: ${{ needs.cache-pixi-lock.outputs.cache-key }}
84+
# - uses: prefix-dev/setup-pixi@v0.9.4
85+
# with:
86+
# cache: true
87+
# pixi-version: ${{ needs.cache-pixi-lock.outputs.pixi-version }}
88+
# cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
89+
# - name: Typechecking
90+
# run: pixi run typing --non-interactive --html-report mypy-report
91+
# - name: Upload test results
92+
# if: ${{ always() }} # Upload even on mypy error
93+
# uses: actions/upload-artifact@v4
94+
# with:
95+
# name: Mypy report
96+
# path: mypy-report

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v5.0.0
3+
rev: v6.0.0
44
hooks:
55
- id: trailing-whitespace
66
- id: end-of-file-fixer
@@ -11,7 +11,7 @@ repos:
1111
types: [text]
1212
files: \.(json|ipynb)$
1313
- repo: https://github.com/astral-sh/ruff-pre-commit
14-
rev: v0.9.6
14+
rev: v0.15.7
1515
hooks:
1616
- id: ruff
1717
args: [--fix, --show-fixes]
@@ -22,6 +22,6 @@ repos:
2222
- id: ruff-format
2323
types_or: [python, jupyter]
2424
- repo: https://github.com/rbubley/mirrors-prettier # Update mirror as official mirror is deprecated
25-
rev: v3.5.1
25+
rev: v3.8.1
2626
hooks:
2727
- id: prettier

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ VirtualShip is a command line simulator allowing students to plan and conduct a
4444
- Surface drifters
4545
- Argo float deployments
4646

47-
<!-- TODO: future. Along the way students will encounter difficulties such as: -->
47+
Along the way, students will encounter realistic problems that may occur during an oceanographic expedition, requiring them to make decisions to adapt their plans accordingly. For example, delays due to equipment failures, pre-depature logistical issues or safety drills.
4848

4949
## Installation
5050

docs/conf.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@
8080
"user-guide/teacher-content/ILOs": "user-guide/_images/ILOs.jpg",
8181
"user-guide/teacher-content/UU-ocean-of-future/Tutorial1": "user-guide/_images/freepik_assignment.png",
8282
"user-guide/teacher-content/UU-ocean-of-future/Tutorial2": "user-guide/_images/freepik_assignment.png",
83+
"user-guide/tutorials/surf_collaborative_setup": "user-guide/_images/freepik_research_vessel.jpg",
84+
"user-guide/tutorials/surf_research_cloud_setup": "user-guide/_images/freepik_research_vessel.jpg",
85+
"user-guide/tutorials/working_with_expedition_yaml": "user-guide/_images/AnnaWeber.jpeg",
86+
"user-guide/teacher-content/UU-dyoc/example_expedition": "user-guide/_images/AnnaWeber.jpeg",
87+
"user-guide/teacher-content/UU-dyoc/file_permissions": "user-guide/_images/AnnaWeber.jpeg",
8388
}
8489

8590
sphinx_gallery_conf = {"default_thumb_file": "_static/virtual_ship_logo.png"}

docs/paper/paper.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Moreover, the data ingestion system relies on Analysis-Ready and Cloud-Optimized
7575

7676
The package opens space for many other research applications. It can support real-life expedition planning by letting users test sampling routes before going to sea. It also provides tooling to explore real-time adaptive strategies in which sampling plans shift as forecasts or observations update. The same workflow can also be used to investigate sampling efficiency, for example, examining how waypoint number or spacing shapes the ability to capture features of interest. Moreover, the software is well-suited for developing Observation System Simulation Experiments (OSSEs; e.g. @Errico2013) to test and optimise observational strategies in a cost- and time-efficient manner. This framework further enables instrument design experiments that are relevant to autonomous observing systems. There is potential for users to prototype and test control strategies for gliders, REMUS vehicles, and Saildrones, as well as explore concepts for new instruments at early stages of development. Future tutorials could demonstrate how to define custom instruments within the VirtualShip framework.
7777

78-
Both the customisability of the `VirtualShip` platform and the exciting potential for new ARCO-based data hosting services in domains beyond oceanography (e.g., [atmospheric science](https://climate.copernicus.eu/work-progress-our-data-stores-turn-arco)) means there is potential to extend VirtualShip (or "VirtualShip-like" tools) to other domains in the future. Furthermore, as the `Parcels` underpinnings themselves continue to evolve, with a future (at time of writing) [v4.0 release](https://docs.oceanparcels.org/en/v4-dev/v4/) focusing on alignment with [Pangeo](https://pangeo.io/) standards and `Xarray` data structures [@Hoyer2017], `VirtualShip` will also benefit from these improvements, further enhancing its capabilities, extensibility and compatability with modern cloud-based data pipelines.
78+
Both the customisability of the `VirtualShip` platform and the exciting potential for new ARCO-based data hosting services in domains beyond oceanography (e.g., [atmospheric science](https://climate.copernicus.eu/work-progress-our-data-stores-turn-arco)) means there is potential to extend VirtualShip (or "VirtualShip-like" tools) to other domains in the future. Furthermore, as the `Parcels` underpinnings themselves continue to evolve, with a future (at time of writing) [v4.0 release](https://docs.oceanparcels.org/en/main/v4/) focusing on alignment with [Pangeo](https://pangeo.io/) standards and `Xarray` data structures [@Hoyer2017], `VirtualShip` will also benefit from these improvements, further enhancing its capabilities, extensibility and compatability with modern cloud-based data pipelines.
7979

8080
# AI usage disclosure
8181

docs/paper/plotting_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def plot_ctd(ds, ax, plot_variable, vmin, vmax, axes_labels=False):
109109
var_down = _ctd_descent_only(ctd_distance, MAP_VARNAMES[plot_variable])
110110

111111
# 1d array of depth dimension (from deepest trajectory)
112-
traj_idx, obs_idx = np.where(z_down == np.nanmin(z_down))
112+
traj_idx, _ = np.where(z_down == np.nanmin(z_down))
113113
z1d = z_down.values[traj_idx[0], :]
114114

115115
# distance as 1d array

0 commit comments

Comments
 (0)