Skip to content

Conversation

@j-atkins
Copy link
Collaborator

This PR is for visibility of a draft of the VirtualShip JOSS manuscript, and for the review as co-authors to be organised here.

Feel free to add comments and commits to this PR, or branch off as new PRs for suggested changes.


@VeckoTheGecko @iuryt @surgura you have all made substantial contributions to the code. I have listed you as co-authors, alongside @ammedd and @erikvansebille. In the first place, are you happy to be involved with the manuscript? If so, please also let me know what kind of timeline I can expect to get your feedback!

j-atkins and others added 30 commits December 2, 2025 10:59
Base automatically changed from delete-spacetime to main January 5, 2026 13:26
@j-atkins
Copy link
Collaborator Author

j-atkins commented Jan 5, 2026

Hi all, happy New Year!

As a reminder, please do give your approval to this PR when you're happy for me to submit to JOSS ✅

cc @ammedd @iuryt @VeckoTheGecko @surgura

Copy link
Collaborator

@ammedd ammedd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whoops, went ahead and pushed some changes I should have written as comments. Just compare and keep what you like. Looks good!

@j-atkins
Copy link
Collaborator Author

j-atkins commented Jan 6, 2026

Whoops, went ahead and pushed some changes I should have written as comments. Just compare and keep what you like. Looks good!

No worries - the changes look good, thanks!

I have changed @surgura's affiliation back to FI though as I believe they paid for his work, according to @erikvansebille's previous comment.

@erikvansebille
Copy link
Member

I have changed @surgura's affiliation back to FI though as I believe they paid for his work, according to @erikvansebille's previous comment.

Indeed, @surgura was paid through the FI as far as I know

@j-atkins j-atkins requested review from surgura and removed request for surgura January 6, 2026 14:29
@j-atkins
Copy link
Collaborator Author

Bump @iuryt @surgura

@iuryt
Copy link
Collaborator

iuryt commented Jan 14, 2026

Hi, it's on my todo list for this week. Sorry for not finishing sooner.

Copy link
Collaborator

@iuryt iuryt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have made few comments, but I approve this version. Please, let me know if I can be of any help.


# Functionality

`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).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Underwater_temperature/salinity is the variable name?

underway Underwater_temperature/salinity seems like a pleonasm. Maybe it would be better to say

", and underway temperature/salinity [@gordon2014] probes"


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).

![Example VirtualShip expedition simulated in July/August 2023. Expedition waypoints displayed via the 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)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe move this figure below. There is a big blank space in page 2 of the PDF.


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.

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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general for clean scientific writing, you want one set of parentheses only in this situation. So, I think this should be

"(ARCO; Stern et al. 2022; Abernathey et al. 2021)"

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately this is a result of the pandoc-style citations used, and I haven't been able to find a way to hack around it ☹️


`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].

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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this citation would be better as

"(OSSEs; e.g. Errico et al., 2013)"

@j-atkins
Copy link
Collaborator Author

Thank you everyone for your help - it's ready for submission now! Next stop JOSS

@j-atkins j-atkins merged commit 2fee0f6 into main Jan 16, 2026
10 checks passed
@j-atkins j-atkins deleted the joss-paper branch January 16, 2026 09:02
@j-atkins
Copy link
Collaborator Author

Hi all (@erikvansebille @ammedd @VeckoTheGecko @iuryt @surgura),

Unfortunately there will be a small delay with submission to JOSS, I need to update the formatting in line with the very recently announced changes to the JOSS scope requirements, see here.

With this change comes an updated set of manuscript requirements, some of which are not in the current version of the manuscript, but hopefully won't take long to implement.

I'll make a new PR soon with the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants