Skip to content

Commit 7ee4dd9

Browse files
committed
update figure + small text edits
1 parent 09d845c commit 7ee4dd9

File tree

7 files changed

+237
-49
lines changed

7 files changed

+237
-49
lines changed

docs/paper/figure1.png

-7.7 KB
Loading

docs/paper/figure1.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,20 @@ def add_waypoint_markers(ax, distances, offset=15, marker_size=70):
5959
ax4 = fig.add_subplot(gs[2, 1])
6060

6161
# overview image
62-
ax0.set_title(r"$\bf{a}$" + ") MFP expedition overview")
62+
ax0.set_title(r"$\bf{a}$" + ") MFP expedition overview", loc="left")
6363
img = mpimg.imread(f"{SAMPLE_DIR}expedition_overview.png")
6464
ax0.imshow(img)
6565
ax0.axis("off")
6666

6767
# adcp
68-
ax1.set_title(r"$\bf{b}$" + ") ADCP (flow velocity)")
68+
ax1.set_title(r"$\bf{b}$" + ") ADCP (flow speed)", loc="left")
6969
ax1.set_ylabel("Depth (m)")
7070
ax1.set_xlabel("Distance (km)")
7171
plot_adcp(adcp_ds, ax1)
7272
add_waypoint_markers(ax1, waypoint_distances)
7373

7474
# drifters
75-
ax2.set_title(r"$\bf{c}$" + ") Surface drifters")
75+
ax2.set_title(r"$\bf{c}$" + ") Surface drifters", loc="left")
7676
plot_drifters(
7777
drifter_ds,
7878
ax2,
@@ -81,7 +81,7 @@ def add_waypoint_markers(ax, distances, offset=15, marker_size=70):
8181
)
8282

8383
# CTD (temperature)
84-
ax3.set_title(r"$\bf{d}$" + ") CTD (temperature)")
84+
ax3.set_title(r"$\bf{d}$" + ") CTD (temperature)", loc="left")
8585
ax3.set_ylabel("Depth (m)")
8686
ax3.set_xlabel("Distance (km)")
8787
_, _distances_regular, _var_masked = plot_ctd(
@@ -96,7 +96,7 @@ def add_waypoint_markers(ax, distances, offset=15, marker_size=70):
9696
add_waypoint_markers(ax3, ctd_wp_distances, offset=45, marker_size=60)
9797

9898
# CTD (oxygen)
99-
ax4.set_title(r"$\bf{e}$" + ") CTD (oxygen)")
99+
ax4.set_title(r"$\bf{e}$" + ") CTD (oxygen)", loc="left")
100100
ax4.set_xlabel("Distance (km)")
101101
plot_ctd(
102102
ctd_bgc_ds, ax4, plot_variable="oxygen", vmin=0, vmax=ctd_bgc_ds.o2.max()

docs/paper/jats/figure1.png

-7.7 KB
Loading

docs/paper/jats/paper.jats

Lines changed: 228 additions & 40 deletions
Large diffs are not rendered by default.

docs/paper/paper.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Marine science relies on fieldwork for data collection, yet sea-going opportunit
5050

5151
`VirtualShip` simulates the deployment of virtual instruments commonly used in oceanographic fieldwork, with emphasis on realism in how users plan and execute expeditions. For example, users must consider ship speed and instrument deployment/recovery times to ensure their expedition is feasible within given time constraints. Possible instrument selections include surface `Drifter` [@Lumpkin2017], `CTD` (Conductivity-Temperature-Depth; @Johnson2007), `Argo float` [@Jayne2017], `XBT` (Expendable Bathythermograph; @Goni2019), underway `ADCP` (Acoustic Doppler Current Profiler; @Kostaschuk2005), and underway `Underwater_temperature/salinity` [@Gordon2014] probes. More detail on each instrument is available in the [documentation](https://virtualship.readthedocs.io/en/latest/user-guide/assignments/Research_proposal_intro.html#Measurement-Options).
5252

53-
The software can simulate complex multidisciplinary expeditions. One example is a virtual expedition across the Agulhas Current and the South Eastern Atlantic that deploys a suite of instruments to sample physical and biogeochemical properties (\autoref{fig:fig1}). Key circulation features appear early in the expedition track, with enhanced ADCP velocities marking the strong Agulhas Current (\autoref{fig:fig1}b) and drifters that turn back toward the Indian Ocean indicating the Agulhas Retroflection (\autoref{fig:fig1}c). The CTD profiles capture the vertical structure of temperature and oxygen along the route, including the warmer surface waters of the Agulhas region (\autoref{fig:fig1}d, early waypoints) and the Oxygen Minimum Zone in the South Eastern Atlantic (\autoref{fig:fig1}e, final waypoints).
53+
The software can simulate complex multidisciplinary expeditions. One example is a virtual expedition across the Agulhas Current and the South Eastern Atlantic that deploys a suite of instruments to sample physical and biogeochemical properties (\autoref{fig:fig1}). Key circulation features appear early in the expedition track, with enhanced ADCP speeds marking the strong Agulhas Current (\autoref{fig:fig1}b) and drifters that turn back toward the Indian Ocean indicating the Agulhas Retroflection (\autoref{fig:fig1}c). The CTD profiles capture the vertical structure of temperature and oxygen along the route, including the warmer surface waters of the Agulhas region (\autoref{fig:fig1}d, early waypoints) and the Oxygen Minimum Zone in the South Eastern Atlantic (\autoref{fig:fig1}e, final waypoints).
5454

5555
![Example VirtualShip expedition simulated in July/August 2023. Expedition waypoints displayed via the NIOZ MFP tool (a), Underway ADCP measurements (b), Surface drifter releases (c; 90-day lifetime per drifter), and CTD vertical profiles for temperature (d) and oxygen (e). Black triangles in b), d) and e) mark waypoint locations across the expedition route, corresponding to the purple markers in a).\label{fig:fig1}](figure1.png)
5656

@@ -66,13 +66,13 @@ A full example workflow is outlined in the [Quickstart Guide](https://virtualshi
6666

6767
Under the hood, `VirtualShip` is modular and extensible. The workflows are designed around `Instrument` base classes and instrument-specific subclasses and methods. This means the platform can be easily extended to add new instrument types. Instrument behaviours are coded as `Parcels` kernels, which allows for extensive customisability. For example, a `Drifter` advects passively with ocean currents, a `CTD` performs vertical profiling in the water column and an `ArgoFloat` cycles between ascent, descent and drift phases, all whilst sampling physical and/or biogeochemical fields at their respective locations and times.
6868

69-
Moreover, the data ingestion system relies on Analysis-Ready and Cloud-Optimized data (ARCO; @Stern2022, @Abernathey2021) streamed directly from the Copernicus Marine Data Store, via the [`copernicusmarine`](https://github.com/mercator-ocean/copernicus-marine-toolbox) Python toolbox. This means users can simulate expeditions anywhere in the global ocean without downloading large datasets by default. Leveraging the suite of [physics and biogeochemical products](https://virtualship.readthedocs.io/en/latest/user-guide/documentation/copernicus_products.html) available on the Copernicus plaform, expeditions are possible from 1993 to present and forecasted two weeks into the future. There is also an option for the user to specify local `NetCDF` files for data ingestion, if preferred, with the necessary file stuctures and naming conventions outlined in the relevant [documentation](https://virtualship.readthedocs.io/en/latest/user-guide/documentation/example_copernicus_download.html).
69+
Moreover, the data ingestion system relies on Analysis-Ready and Cloud-Optimized data (ARCO; @Stern2022, @Abernathey2021) streamed directly from the Copernicus Marine Data Store, via the [`copernicusmarine`](https://github.com/mercator-ocean/copernicus-marine-toolbox) Python toolbox. This means users can simulate expeditions anywhere in the global ocean without downloading large datasets by default. Leveraging the suite of [physics and biogeochemical products](https://virtualship.readthedocs.io/en/latest/user-guide/documentation/copernicus_products.html) available on the Copernicus plaform, expeditions are possible from 1993 to present and forecasted two weeks into the future. There is also an [option](https://virtualship.readthedocs.io/en/latest/user-guide/documentation/pre_download_data.html) for the user to specify local `NetCDF` files for data ingestion, if preferred.
7070

7171
# Applications and future outlook
7272

7373
`VirtualShip` has already been extensvely applied in Master's teaching settings at Utrecht University as part of the [VirtualShip Classroom](https://www.uu.nl/en/research/sustainability/sustainable-ocean/education/virtual-ship) initiative. Educational assignments and tutorials have been developed alongside to integrate the tool into coursework, including projects where students design their own research question(s) and execute their fieldwork and analysis using `VirtualShip`. Its application has been shown to be successful, with students reporting increased self-efficacy and knowledge in executing oceanographic fieldwork [@Daniels2025].
7474

75-
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 networks in a cost- and time-efficient manner.
75+
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.
7676

7777
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.
7878

docs/paper/paper.pdf

-705 Bytes
Binary file not shown.

docs/paper/plotting_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def plot_adcp(ds, ax, axes_labels=False):
187187
vel,
188188
CMAP,
189189
ax,
190-
"Velocity (m s$^{-1}$)",
190+
"Speed (m s$^{-1}$)",
191191
vel.min(),
192192
vel.max(),
193193
shrink=1.00,

0 commit comments

Comments
 (0)