Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

VirtualShipParcels logo'

Pixi BadgeAnaconda-releasePyPI - Python VersionDOIunit-testscodecov


Project OwnerVirtualShip Team (virtualship@uu.nl)
Development statusBeta

VirtualShip is a command line simulator allowing users to plan and conduct a research expedition in a digital ocean, receiving measurements as if they were coming from actual oceanographic instruments including:

  • ADCP (currents)
  • CTD (conductivity and temperature + biogeochemical variables)
  • XBT (temperature)
  • Ship-mounted underwater measurements (salinity and temperature)
  • Surface drifters (temperature)
  • Argo float deployments (salinity and temperature)

Along the way, users 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.

Installation

For a normal installation using Conda do:

conda create -n ship -c conda-forge virtualship
conda activate ship

which creates an environment named ship with the latest version of virtualship. You can replace ship with any name you like.

For a development installation (using Pixi), please follow the instructions detailed in the contributing page.

Usage

💡 Tip

See the Quickstart guide in our documentation for a step-by-step introduction to using VirtualShip.

You can run the VirtualShip via the command line interface (CLI) using the virtualship command. It has three subcommands: init, plan, and run.

$ virtualship --helpUsage: virtualship [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. --help Show this message and exit.Commands: init Initialize a directory for a new expedition, with an... plan Launch UI to help build expedition configuration (YAML) file. run Execute the expedition simulations.
$ virtualship init --helpUsage: virtualship init [OPTIONS] PATH Initialize a directory for a new expedition, with an expedition.yaml file. If --mfp-file is provided, it will generate the expedition.yaml from the MPF file instead.Options: --from-mfp TEXT Partially initialise a project from an exported xlsx or csv file from NIOZ' Marine Facilities Planning tool (specifically the "Export Coordinates > DD" option). User edits are required after initialisation. --help Show this message and exit.
$ virtualship plan --helpUsage: virtualship plan [OPTIONS] PATH Launch UI to help build expedition configuration (YAML) file. Should you encounter any issues with using this tool, please report an issue describing the problem to the VirtualShip issue tracker at: https://github.com/OceanParcels/virtualship/issues"Options: --help Show this message and exit.
$ virtualship run --helpUsage: virtualship run [OPTIONS] PATH Execute the expedition simulations.Options: --from-data TEXT Use pre-downloaded data, saved to disk, for expedition, instead of streaming directly via Copernicus Marine Assumes all data is stored in prescribed directory, and all variables (as listed below) are present. Required variables are: {'phyc', 'o2', 'so', 'uo', 'po4', 'thetao', 'no3', 'vo', 'chl', 'ph', 'nppv'} Assumes that variable names at least contain the standard Copernicus Marine variable name as a substring. Will also take the first file found containing the variable name substring. CAUTION if multiple files contain the same variable name substring. --help Show this message and exit.

For examples of VirtualShip simulation output post-processing, see the tutorials section of our documentation.

Input data

The code is written to work with A-grid ocean data from the Copernicus Marine Service.

Source code

The code for this project is hosted on GitHub.

Contributors

All contributions are welcome! See the contributing page in our documentation to see how to get involved. Image made with contrib.rocks.

About

Authentic tool and teaching material about sea-based research

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages