Solutions for Modelling the Marine Oil Spill Drift
Abstract
:1. Introduction
- adversarial neural networks for oil spill prediction have proposed an adversarial temporal convolutional network for correcting forecasted sea surface dynamic fields, significantly enhancing oil spill drift predictions [5];
- support vector regression for wind drift parameterization alternative has developed a support vector regression (SVR) model for wind drift parameterization, improving oil spill drift simulations in the Red Sea [6].
- satellite-based oil spill emergency response model highlighted the integration of satellite remote sensing data with oil drift modelling to enhance emergency response and recovery efforts [7];
- shoreline response and traditional fishing communities have assessed oil spill drift impacts on traditional fishing communities using worst-case scenario drift modelling, identifying coastal impact zones and improving training for response teams [8].
- -
- integrating multi-source observational data (e.g., drones, radar, satellite images) for real-time monitoring;
- -
- developing AI-driven models capable of learning from historical oil spill events;
- -
- improving prediction accuracy in complex hydrodynamic environments.
- -
- problem identification by disclosing the environmental challenges posed by marine oil spills, to highlight the need for accurate, real-time modelling tools;
- -
- analysis of identified models of marine oils spills drift to disclose the applied parameters in oil spill drift’s simulation practices;
- -
- the development of a minimalist Python simulation and the implementation of a 2D RK4-integrated Python simulation of oil drift, validating the physical behaviour with basic parameters;
- -
- the expansion of model functionality by integration of NOAA ocean currents, vertical dispersion, chemical simulation, and remote sensing to enrich the model with real-world data and 3D subsurface dynamics;
- -
- model validation in reference to real-world applications, including Black Sea simulations and worst-case scenarios, to confirm the model flexibility and cross-domain utility;
- -
- results analysis and interpretation of simulations and model behaviour under varied conditions;
- -
- analysis of potential future research directions, highlighting the innovative aspects and suggest future improvements.
2. Problem Identification and Analysis of Marine Oils Spills Drift Modelling Solutions
- (a)
- Numerical investigation of dominant factors in the diffusion behaviour of oil slicks on the water surface—the proposed model has used the advection-diffusion equation method to simulate oil slick dispersion, highlighting the importance of selecting the right diffusion models for large-scale oil spill incidents [12]. This research emphasizes how environmental conditions (wind, temperature, and water currents) impact oil dispersion, validating the present approach of the authors of using advection-diffusion modelling to simulate oil spills.
- (b)
- Modelling the fate and transport of pollutants in the marine environment—another identified study has approached the models of oil spills, ship emissions, and offshore pollution transport, integrating the advection, diffusion, and sedimentation effects for a more comprehensive simulation [13]. The authors have analysed high-resolution modelling techniques to improve oil spill predictions, suggesting to the authors of present research the extension of the modelling, incorporating pollution emissions from shipping and offshore drilling and including the sedimentation effects and high-resolution environmental interactions.
- (c)
- Modelling and forecasting of mesoscale circulation and oil pollution transport at sea—the study aimed to model the oil pollution transport on example of Black Sea region, using a non-stationary advection-diffusion equation, incorporating mesoscale ocean circulation and environmental factors, validated with real ocean current data to improve forecasting accuracy [14]. The model has suggested to the authors to enhance the accuracy of oil spill simulations by incorporating real-world ocean circulation data in the model algorithm.
- (d)
- Numerical study of subsurface oil spills—the study has been focused on subsurface oil spills, unlike many studies that only consider surface spills, using a Lagrangian framework namely OceanParcels, a set of Python classes and methods to create customisable particle tracking simulations using output from Ocean Circulation models (Parcels: Probably A Really Computationally Efficient Lagrangian Simulator, available on: https://oceanparcels.org (accessed on 1 January 2025)), to model oil dispersion with an advection-diffusion equation. This model incorporates vertical mixing processes in oil transport [15,16] that suggested to the authors the expansion of proposed algorithm to simulate also the subsurface oil spills, by incorporating vertical advection-diffusion dynamics.
- (e)
- Numerical Investigation of Dominant Factors in the Diffusion Behaviour of Oil Slicks on the Water Surface—uses the advection-diffusion equation to model oil slick behaviour, emphasizing the model selection and parameter tuning for more accurate large-scale oil spill simulations [12]. The relevance of this version of modelling revealed to the authors the necessity of refining the parameter’s selection to ensure more accurate diffusion and advection modelling.
- -
- consider implementing more dynamic environmental conditions, integrating the ocean currents (e.g., variable wind speeds and ocean currents), based on the usage of real-time ocean current data (e.g., NOAA datasets, available on: https://www.noaa.gov (accessed on 1 January 2025)) to improve accuracy [17];
- -
- consider the sedimentation and biodegradation effects that would make the model even more realistic;
- -
- include remote sensing & autonomous tracking—by adding drones or satellite imagery processing for oil spill detection;
- -
- simulate subsurface oil spills—the model should include vertical mixing and sinking effects;
- -
- comprise the inland water pollution simulation;
- -
- optimize the parameters and & validate the model, by comparing the results with real-world oil spill events for accuracy;
- -
- include the chemical transport modelling, by adapting the code to simulate toxic chemical spills, not just oil.
Study | Key Focus in Modelling | Modelling Findings | Relevance to Proposed Modelled Algorithm | Author |
---|---|---|---|---|
Numerical Investigation of Dominant Factors in the Diffusion Behaviour of Oil Slicks | Parameter selection for diffusion modelling | Analyses how diffusion coefficients affect oil spread accuracy | Fine-tune diffusion and advection parameters based on real spill events | [12] |
Modelling the Fate and Transport of Pollutants in the Marine Environment | Chemical pollution modelling | Extends oil spill modelling to chemical dispersion | Expand the model to simulate toxic chemical spills, not just oil | [13] [18] |
Modelling and Forecasting of Mesoscale Circulation and Oil Pollution Transport in the Black Sea | 3D advection-diffusion model | Incorporates real-world ocean currents to enhance oil spill forecasting | Integrate real-time ocean circulation data for better accuracy | [14] |
Multi-USV Cooperative Oil Spill Source Seeking | Remote sensing and oil tracking using autonomous vehicles | Uses Unmanned Surface Vehicles (USVs) and diffusion-advection PDEs for oil spill detection | Extend the model to autonomous spill tracking using remote sensing | [19] |
A Numerical Study of Subsurface Oil Spills | Subsurface oil dispersion | Uses OceanParcels framework to model oil mixing in water vertically | Add vertical mixing and sinking effects to simulate underwater spills | [15,16] |
Study on the Diffusion Law of Floating Pollutants in Inland Waters | Inland water pollution modelling | Uses particle-based advection-diffusion modelling to study oil slick behaviour in rivers and lakes | Extend your model to simulate oil spills in inland water bodies | [20] |
3. Research Method
3.1. Vertical Evolution of Hydrocarbon Films Spilled in Water
- (a)
- Dispersion of Hydrocarbons in Water
- (b)
- Evaporation
- (c)
- Emulsification
- (d)
- Photooxidation
- (e)
- Biodegradation
- (f)
- Sedimentation
3.2. Definition of Modelling Problem
- the formulation of a simplified marine drift model for oil spills in water, based on the fundamental physical processes of advection (transport), diffusion (spreading), and reaction (evaporation/degradation);
- the development and the implementation of this model in Python, focusing on a minimalist approach for clarity
- the Python algorithm development and enrichment, in an enlarged approached, considering all identified variables in the model, as described above.
- (a)
- Fundamental Equations Governing Oil Spill Dynamics
- advection—the transport of oil by currents and winds;
- diffusion—the spreading of oil due to turbulence and molecular motion;
- reaction—the transformation of hydrocarbons through evaporation, dissolution, biodegradation, and chemical oxidation.
- Advection Equation
- (b)
- Diffusion Equation
- (c)
- Reaction-Decomposition Equation
- (d)
- First-Order Degradation Kinetics:
- (e)
- Zero-Order Degradation Kinetics:
3.3. Theoretical Framework for Oil Spill Drift Simulation
- -
- C (x, y, t) is the oil concentration at time t and location (x, y),
- -
- D is the turbulent diffusion coefficient,
- -
- is the velocity field representing wind or ocean currents,
- -
- λ is the combined rate of natural degradation and evaporation.
4. Development of a Python Model for Oil Spill Drift Simulation
- it takes a value of ‘0’ for water;
- it takes a value of ‘1’ for the initial oil slick, meaning that the initial “thickness” of the oil layer is set to 1 (in dimensionless units);
- it can vary between 0 and 1, where an intermediate value (less than 1) indicates a reduction in the oil film’s thickness due to diffusion and decomposition.
4.1. Problem Solution with Applied Code Lines in Python—Simple Model
- import libraries, bringing in NumPy v.1.19.3 for math, Matplotlib v.3.10.1 for plots, and slider/animation tools;
- define parameters by seting constants like grid size, oil concentration, and physical coefficients (diffusion, advection, etc.);
- initialize Grid by creating a 2D water surface and places an initial oil patch, then assign oil concentration in center;
- wind parameters definition to control oil drift direction as wind vector to define advection flow;
- computes how oil spreads and moves by get_derivatives() for diffusion (Laplacian), advection (wind-shift) and reaction (evaporation & biodegradation);
- uses Runge-Kutta 4th order to evolve the grid through time—integrator_step()—ensures smooth and stable simulation, that combines 4 stages: k1, k2, k3, k4;
- add mass conservation to adjust new grid so total oil stays constant (unless evaporated/degraded);
- visualize initial Grid, using imshow() to display oil slick as a coloured image;
- add Slider() to allow real-time user adjustment of advection & diffusion;
- updates grid for each animation frame using integrator using animate() function;
- launch animation and show the simulation in motion by FuncAnimation().
- -
- advection-driven displacement—the center of mass of the oil slick moves in the direction of the advection flow, as expected based on physical principles;
- -
- diminishing field values over time—the scalar field f(t,x,y,z) gradually decreases, corresponding to a reduction in the yellow coloration in the graphical representation—this is due to the combined effects of evaporation, degradation, and diffusion;
- -
- lateral spreading—the oil slick expands over a larger surface area as a result of diffusion.
- the simulation provides insight into the basic physical mechanisms responsible for oil spill motion and transformation, including advection, diffusion, and chemical reactions, confirming the fundamental physical laws governing oil spill dynamics;
- the model demonstrates how these fundamental laws can be incorporated into a basic Python algorithm testing the implementation of these principles in a simplified computational model;
- despite its simplicity, the implemented code validates the expected physical behaviour successfully capturing the expected physical behaviour of oil spill evolution, reproducing the key phenomena of drift, dispersion, and degradation.
4.2. Study Proposal for an Enhanced Model—Python Algorithm for Enriched Modelling
- -
- adding real-world ocean currents data, to make the simulation more accurate—the NOAA Global Ocean Currents dataset may provide real-time current data to be included in the model, making the proposed code more dynamic, incorporating real-world ocean physics;
- -
- implementing remote sensing for autonomous tracking—adding drone or satellite-based oil detection may enable real-time spill tracking, allowing the model to detect oil spills from images and to incorporate it into your simulation grid;
- -
- simulating subsurface oil dispersion—as some oil spills sink below the surface and behave differently due to pressure and density, the model may need vertical diffusion modelling, to simulate both surface and underwater oil spill dynamics;
- -
- expanding to inland water bodies—some spills occur in rivers and lakes, which behave differently as the inland water movement is governed by river flow, not ocean currents and this may make the model applicable also to river and lake environments;
- -
- including chemical pollution transport, as the industrial spills involve chemicals, not just oil—as chemicals dissolve in water differently based on solubility that may improve the model by adding chemical solubility and degradation effects, that the code to simulate both oil and chemical spills.
- import libraries and load packages for computation, visualization, remote sensing, and ocean data;
- set parameters by defining simulation resolution, rate constants, and initial values;
- load ocean currents by bringing in and interpolating NOAA datasets to simulate real advection;
- initialize 3D Grid by creating 3D matrix to track surface and subsurface oil;
- remote sensing detection by converting images to oil grid using OpenCV for contour extraction;
- get_derivatives() to calculate horizontal and vertical diffusion, advection, river flow, and decay;
- apply Runge-Kutta method for grid evolution by RK4 Integration;
- visualization to show surface oil concentration using color plots;
- animate to define update function to simulate oil drift over time;
- run simulation and animate using FuncAnimation to visualize results dynamically.
4.3. Models’ Limitations
4.4. Model Validation Strategy
- Satellite-based validation—one of the primary approaches will involve the comparison of simulated spill trajectories with actual oil slicks detected via synthetic aperture radar (SAR) or multispectral satellite imagery. Datasets from platforms such as Sentinel-1, RADARSAT, and MODIS-Aqua will be used to extract spatial patterns and temporal evolution of observed oil spills. These will then be overlaid with model outputs using geospatial tools (e.g., QGIS, Python’s rasterio/geopandas) to assess spatial alignment, drift direction accuracy, and spread rates.
- Historical case replication—the model will also be applied retrospectively to documented spill events—such as the Deepwater Horizon incident or localized spills in the Black Sea or Mediterranean, where detailed oceanographic and wind data are available. Using corresponding NOAA or Copernicus marine datasets, the model’s outputs will be compared to published drift trajectories and satellite-observed oil extents. Metrics such as centroid displacement error, area overlap index, and drift angle deviation will be employed to quantify performance.
- In-situ buoy and sensor data—where available, drifting buoys (e.g., NOAA SVP drifters) or sensor-equipped autonomous surface vehicles (ASVs/USVs) will be used as physical proxies to validate oil drift patterns. These objects simulate surface-layer transport under wind and current conditions and can be directly compared with simulated particle trajectories.
- Statistical evaluation metrics—model performance will be assessed using standard validation metrics such as: Root Mean Square Error (RMSE) and Mean Absolute Error (MAE) of centroid position, Intersection over Union (IoU) for slick area match, Skill Score (SS) comparing forecast vs. observed drift paths.
- Visual and behavioral corroboration—in addition to numerical validation, the model’s ability to reproduce characteristic oil spill behaviors, such as elongated spread downwind, coastal accumulation, and decay over time, may be evaluated qualitatively using expert interpretation of imagery and documented incident reports.
5. Results Interpretations and Model Applications
- -
- advection-driven displacement, whereby the oil slick consistently moved in the prescribed wind direction, reflecting wind-driven surface transport;
- -
- lateral diffusion, where the slick expanded in size while decreasing in concentration due to turbulent mixing;
- -
- progressive decay of concentration values, caused by evaporation and biodegradation processes embedded in the scalar field evolution.
- Environmental modelling for oil spill tracking and prediction—the presented model simulation can help predict the spread of oil spills in oceans and rivers and can be integrated with real-world data (e.g., wind speed, ocean currents, and temperature). Environmental agencies (e.g., NOAA, EPA) can use this model to optimize oil spill cleanup strategies. Also, this model can be used in care of predicting the movement of an oil spill near a coastline to allocate response teams effectively.
- Atmospheric and oceanic pollution dispersion—the diffusion and advection principles applied in the enriched code can be adapted to model air pollution spread, valuable to predict how smog, wildfire smoke, or chemical leaks may disperse over time. The model can be practically used for forecasting the spread of toxic gas leaks from industrial sites to warn nearby populations.
- Epidemic and disease spread modelling—similarly to how oil disperses, the disease spread (e.g., COVID-19, Ebola) following diffusion and advection principles, then the model may be extended to simulate disease transmission in a population over time. As application, the model can be in this case used to simulate how infectious diseases spread in a city based on population movement.
- Industrial and chemical spill simulation—this model can be adapted to track toxic chemical leaks in rivers, lakes, and industrial zones, providing a useful tool for pre-preparation to simulate potential spills from chemical plants in case of accidents scenarios. As example, the model can be implemented to predict the flow of a chlorine gas leak from a factory to nearby communities.
- Geophysical and climate research—the model can be used to model sediment transport in rivers and oceans, applicable to simulate lava flow, glacier movements, and sand dune formation.
- Traffic and crowd flow simulation—by adapting advection-diffusion principles, the code can model the traffic congestion in cities, the pedestrian flow in crowded areas, evacuation scenarios for population in crisis scenarios.
- Space science and astrophysics—the diffusion model can be applied to simulate interstellar gas diffusion in space or the atmospheric dispersion of gases on other planets.
- Material science and nanotechnology—the mode can be used to simulate liquid diffusion in porous materials, for drug diffusion in biological tissues or other particular applications.
- -
- faster incident response times, reducing spill spread and damage;
- -
- prioritized protection of sensitive areas such as fisheries, coral reefs, and mangroves;
- -
- data-driven planning of oil transport routes and coastal infrastructure;
- -
- support for compliance with MARPOL, UNCLOS, and regional marine protection treaties;
- -
- these tools may empower marine and coastal management agencies with predictive capabilities rather than reactive containment, transforming environmental risk mitigation into a proactive, real-time process.
6. Conclusions
- -
- introduction of hybrid models—the study integrates Deepwater Oil Spill Model (DWOSM) with stochastic and machine learning algorithms, improving the parameterization of wind-driven drift;
- -
- AI-Driven forecasting—the authors employ adversarial neural networks and support vector regression (SVR) to refine oil spill trajectory simulations, significantly reducing model uncertainty;
- -
- empirical validation—the proposed models may be successfully tested in real-world case studies, demonstrating their effectiveness in emergency response planning and coastal protection [27];
- -
- real-time data integration—the research advances satellite-assisted oil spill detection, enhancing the real-time operational capabilities of existing forecasting models.
- -
- marine environmental protection—improved predictive modelling aids in mitigating the impact of oil spills on marine ecosystems;
- -
- emergency response and crisis management—real-time spill tracking enhances decision-making for rapid response efforts, using modelling software as GNOME v.47, ADIOS v.2.0.12 or OpenDrift v.1.0;
- -
- coastal and offshore infrastructure protection—by forecasting oil drift patterns allows ports, fisheries, and energy sectors to implement proactive risk mitigation strategies;
- -
- regulatory compliance and policy making—the integration of ecological sensitivity modelling informs environmental regulations and sustainable maritime policies.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Estrada, A.E.C.; del Sol, M.A.; Taylor, R.C.; Pupo, A.R. Assimilation of Satellite Observations in Support of Hydrocarbon Drift Forecasting in the Cuban EEZ. Rev. Cuba. Cienc. 2024, 20, 1–12. [Google Scholar]
- Kõivupuu, A.; Fetissov, M.; Aps, R.; Orav-Kotta, H. Towards resilient marine ecosystems: EcoSensitivity as an operational model for strategic oil spill management. J. Mar. Sci. 2024, 13, 2. [Google Scholar] [CrossRef]
- Yang, Z.; Chen, Z.; Xin, Q.; Lee, K. Assessment of risk for aromatic hydrocarbons resulting from subsea blowouts: A case study in eastern Canada. Environ. Int. 2024, 194, 109136. [Google Scholar] [CrossRef] [PubMed]
- Shao, W.; Chen, J.; Hu, S.; Yang, Y.; Jiang, X.; Shen, W. Influence of sea surface waves on numerical modeling of an oil spill: Revisit of symphony wheel accident. J. Sea Res. 2024, 201, 102529. [Google Scholar] [CrossRef]
- Ren, P.; Jia, Q.; Xu, Q.; Li, Y.; Bi, F.; Xu, J. Oil spill drift prediction enhanced by correcting numerically forecasted sea surface dynamic fields with adversarial temporal convolutional networks. IEEE Trans. Geosci. Remote Sens. 2025, 63, 4701018. [Google Scholar] [CrossRef]
- Ren, P.; Huang, W.; Luo, C. Prediction and (back) tracking of marine oil spill drift and diffusion. Front. Mar. Sci. 2024, 11, 1427604. [Google Scholar] [CrossRef]
- Pedersen, B.; Isaksen, H. Satellite-based oil spill emergency response and recovery support. Energy Prod. J. 2024, 64, S504–S507. [Google Scholar] [CrossRef]
- Pedro, M.; Marcelo, C.; Henrique, M. Assessment, preparedness, training, and implementation of a shoreline response plan involving traditional/subsistence fishing communities. Int. Oil Spill Conf. Proc. 2024, 2024, 2024159. [Google Scholar]
- Atlas, R.M.; Hazen, T.C. Oil biodegradation and bioremediation: A tale of the two worst spills in U.S. history. Environ. Sci. Technol. 2011, 45, 6709–6715. [Google Scholar] [CrossRef]
- Fingas, M. The Handbook of Oil Spill Science and Technology; John Wiley & Sons: New York, NY, USA, 2018. [Google Scholar]
- Keramea, P.; Spanoudaki, K.; Zodiatis, G.; Gikas, G.; Sylaios, G. Oil Spill Modeling: A Critical Review on Current Trends, Perspectives, and Challenges. J. Mar. Sci. Eng. 2021, 9, 181. [Google Scholar] [CrossRef]
- Oyama, M.; Konno, A.; Matsuzawa, T. Numerical Investigation of Dominant Factors in the Diffusion Behavior of Oil Slicks on the Water Surface. 2025. Available online: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5041724 (accessed on 10 February 2025).
- Aghito, M. Modelling the Fate and Transport of Pollutants in the Marine. Ph.D. Thesis, University of Bergen, Bergen, Norway, 2025. Bergen Open Research Archive (BORA). Available online: https://bora.uib.no/bora-xmlui/bitstream/handle/11250/3176086/archive.pdf?sequence=1 (accessed on 2 December 2024).
- Demetrashvili, D.; Kukhalashvili, V.; Kvaratskhelia, D. Modelling and forecasting of mesoscale circulation and oil pollution transport in the SouthEastearn Black Sea. J. Environ. Prot. Ecol. 2024, 25, 42–52. [Google Scholar]
- Gronchi, G. A Numerical Study of Subsurface Oil Spills. Ph.D. Thesis, University of Bologna, Bologna, Italy, 2024. Available online: https://amsdottorato.unibo.it/11644/1/gronchi_giulia_tesi.pdf (accessed on 2 December 2024).
- MIT. OceanParcel—Ocean Circulation models—Parcels v0.9: Probably A Really Computationally Efficient Lagrangian Simu-lator. Available online: https://oceanparcels.org (accessed on 10 January 2025).
- National Oceanic and Atmospheric Administration. NOAA Datasets. Available online: https://www.noaa.gov (accessed on 10 January 2025).
- Aghito, M.; Calgaro, L.; Dagestad, K.F.; Ferrarin, C.; Marcomini, A.; Breivik, Ø.; Hole, L.R. ChemicalDrift 1.0: An open-source Lagrangian chemical-fate and transport model for organic aquatic pollutants. Geosci. Model Dev. 2023, 16, 2477–2494. [Google Scholar] [CrossRef]
- Yao, Y.-L.; Wang, J.-W. Multi-USV cooperative oil spill source seeking via extremum seeking combined with information fusion. J. Frankl. Inst. 2024, 361, 106905. [Google Scholar] [CrossRef]
- Zhang, L.; Chai, Z.; Yang, Q.; Min, F. Study on the Diffusion Law of Typical Floating Pollutants in Inland Waters. In Proceedings of the 2024 4th International Conference on Artificial Intelligence, Big Data and Algorithms (CAIBDA ‘24), Zhengzhou, China, 21–23 June 2024; Association for Computing Machinery: New York, NY, USA, 2024; pp. 947–951. [Google Scholar] [CrossRef]
- National Research Council. Oil in the Sea III: Inputs, Fates, and Effects; National Academies Press: Washington, DC, USA, 2003. [Google Scholar]
- Reed, M.; Johansen, Ø.; Brandvik, P.J.; Daling, P.S.; Lewis, A.; Fiocco, R.J.; Mackay, D. Oil spill modeling towards the close of the 20th century: Overview of the state of the art. Spill Sci. Technol. Bull. 1999, 5, 3–16. [Google Scholar] [CrossRef]
- Lehr, W.; Simecek-Beatty, D. The relation of Langmuir circulation processes to the dispersion of oil spills. Spill Sci. Technol. Bull. 2000, 6, 247–252. [Google Scholar] [CrossRef]
- Fay, W.H. On the basis of autistic echolalia. J. Commun. Disord. 1969, 2, 38–47. [Google Scholar] [CrossRef]
- NIOSH. NIOSH Pocket Guide to Chemical Hazards; U.S. Department of Health and Human Services: Washington, DC, USA, 2016.
- Wang, F.; Wang, Y.; Chen, Y.; Kunkun, L. Remote sensing approach for the estimation of particulate organic carbon in coastal waters based on suspended particulate concentration and particle median size. Mar. Pollut. Bull. 2020, 158, 111382. [Google Scholar] [CrossRef]
- French-McCay, D.P.; Robinson, H.J.; Spaulding, M.L.; Li, Z.; Horn, M.; Gloekler, M.D.; Kim, Y.H.; Crowley, D.; Mendelsohn, D. Validation of oil fate and mass balance for the Deepwater Horizon oil spill: Evaluation of water column partitioning. Mar. Pollut. Bull. 2021, 173 Pt B, 113064. [Google Scholar] [CrossRef]
- Mahrad, B.E.; Newton, A.; Icely, J.D.; Abalansa, S. Contribution of remote sensing technologies to a holistic coastal and marine environmental management framework: A review. Remote Sens. 2020, 12, 2313. [Google Scholar] [CrossRef]
- Yekeen, S.T.; Balogun, A.L. Advances in remote sensing technology, machine learning and deep learning for marine oil spill detection, prediction and vulnerability assessment. Remote Sens. 2020, 12, 3416. [Google Scholar] [CrossRef]
- Al-Ruzouq, R.; Gibril, M.B.A.; Shanableh, A.; Kais, A. Sensors, features, and machine learning for oil spill detection and monitoring: A review. Remote Sens. 2020, 12, 3338. [Google Scholar] [CrossRef]
- Yuan, S.; Yu, X.; Dedman, S.; Rosso, M.; Zhu, J. UAV remote sensing applications in marine monitoring: Knowledge visualization and review. Sci. Total Environ. 2022, 837, 155675. [Google Scholar] [CrossRef]
- Mohammadiun, S.; Hu, G.; Gharahbagh, A.A.; Li, J. Intelligent computational techniques in marine oil spill management: A critical review. J. Hazard. Mater. 2021, 420, 126638. [Google Scholar] [CrossRef] [PubMed]
- Li, Y.; Yuan, S.; Bao, F.; Xu, H.; Yang, Y.; Yan, Q. Marine environmental monitoring with unmanned vehicle plat-forms: Present applications and future prospects. Sci. Total Environ. 2023, 885, 163867. [Google Scholar] [CrossRef]
- Eldirdiry, O.; Nasiri, N.; Maashari, A.A.; Bourdoucen, H.; Ghommam, J.; Saleem, A.; Rawas, G.A.; Al-Kamzari, A.; Ammari, A. Using AI-Enhanced UAVs to Detect and Size Marine Contaminations. In Proceedings of the 2nd International Conference on Unmanned Vehicle Systems-Oman, UVS 2024, Muscat, Oman, 12–14 February 2024; Al-Hashim, A., Pervez, T., Khriji, L., Waris, M.B., Eds.; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2024. [Google Scholar] [CrossRef]
- Dagestad, K.-F.; Röhrs, J.; Breivik, Ø.; Nordam, T. OpenDrift v1.0: A generic framework for trajectory modelling. Geosci. Model Dev. 2018, 11, 1405–1420. [Google Scholar] [CrossRef]
- Delandmeter, P.; van Sebille, E. The Parcels v2.0 Lagrangian framework: New field interpolation schemes. Geosci. Model Dev. 2019, 12, 3571–3584. [Google Scholar] [CrossRef]
Concept | Description | Reference |
---|---|---|
Lagrangian and Eulerian Models | Lagrangian models track oil particles, while Eulerian models use grid-based computations to simulate oil movement. | [1] |
Accidental Damage and Spill Assessment Model (ADSAM) | A new oil spill drift model integrating ecological sensitivity and damage assessment. | [2] |
Stochastic Modeling of Oil Spills | Uses probability-based techniques to predict oil spill drift patterns. | [3] |
Stokes Drift and Oil Transport | Investigates the role of wave-induced motion in oil drift predictions. | [4] |
Adversarial Neural Networks for Oil Spill Prediction | AI-based approach improving oil spill drift forecasting by correcting ocean current forecasts. | [5] |
Support Vector Regression (SVR) for Oil Spill Modelling | Machine learning technique applied to parameterize wind-driven drift of oil spills. | [6] |
Satellite Remote Sensing in Oil Spill Detection | Uses satellite imagery to track and model oil spill movement. | [7] |
Shoreline Impact Assessment and Oil Drift Models | Examines oil spill drift towards the coastline using worst-case scenario models. | [8,9] |
Deepwater Oil Spill Modelling (DWOSM) | A model designed for deep-sea oil spill drift and subsurface hydrocarbon transport. | [3,10] |
Integration of Multi-Source Observational Data | Combines satellite, drone, and radar data for real-time oil spill monitoring. | [5,11] |
1 kg HC | Will be transformed in | 1.6 kg CO2 |
+2.6 kg O2 | 1 kg H2O | |
+70 g N | 1 kg biomass |
#No boundary conditions in this code (for simplicify, keeping the code minimal) #Basically make the water grid large enough vs. oil spill such that the oil does not reach the boundary # Import necessary libraries import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider from matplotlib.animation import FuncAnimation # Parameters for simulation SIZE_OF_GRID = 120 SIZE_OF_WIDTH_INITIAL_SPILL = 5 nn2 = int(SIZE_OF_GRID * 3/4) INITIAL_OIL_CONCENTRATION = 1.0 IMG_FACTOR = 8.0 # Cut-off for oil color imaging KRATE_diffusion = 0.1 KRATE_advection = 0.05 KRATE_evaporate = 0.001 KRATE_biodegradation = 0.0005 oil_concentration = INITIAL_OIL_CONCENTRATION grid = np.zeros((SIZE_OF_GRID, SIZE_OF_GRID)) # Initial oil spill nn2_i = max(0, nn2 − SIZE_OF_WIDTH_INITIAL_SPILL) nn2_f = min(SIZE_OF_GRID, nn2 + SIZE_OF_WIDTH_INITIAL_SPILL) for i in range(nn2_i, nn2 + 6): for j in range(nn2_i, nn2_f + 1): grid[i, j] = oil_concentration # Wind parameters wind_speed = 1 wind_dir = (1, 1) def get_derivatives(grid, KRATE_diffusion, KRATE_advection): grid_NEW = grid.copy() # Diffusion using numpy roll (more stable) diffusion = ( np.roll(grid, 1, axis = 0) + np.roll(grid, −1, axis = 0) + np.roll(grid, 1, axis = 1) + np.roll(grid, −1, axis = 1) − 4 * grid ) grid_NEW += KRATE_diffusion * diffusion # Advection (mass-conserving using a temporary grid) new_grid = np.zeros_like(grid) for i in range(1, SIZE_OF_GRID − 1): for j in range(1, SIZE_OF_GRID − 1): new_i = i − wind_dir[1] * wind_speed new_j = j − wind_dir[0] * wind_speed if 0 <= new_i < SIZE_OF_GRID and 0 <= new_j < SIZE_OF_GRID: d_tr = grid[i, j] * KRATE_advection new_grid[new_i, new_j] += d_tr # Add transported oil to target new_grid[i, j] -= d_tr # Remove from source grid_NEW += new_grid # Evaporation and biodegradation grid_NEW −= (KRATE_evaporate + KRATE_biodegradation) * grid_NEW return grid_NEW # RK4 integrator def integrator_step(grid, KRATE_diffusion, KRATE_advection): k1 = get_derivatives(grid, KRATE_diffusion, KRATE_advection) k2 = get_derivatives(grid + 0.5 * k1, KRATE_diffusion, KRATE_advection) k3 = get_derivatives(grid + 0.5 * k2, KRATE_diffusion, KRATE_advection) k4 = get_derivatives(grid + k3, KRATE_diffusion, KRATE_advection) grid_NEW = grid + (k1 + 2.0 * k2 + 2.0 * k3 + k4)/6.0 # Conservation law total_oil = np.sum(grid) total_new_oil = np.sum(grid_NEW) if total_new_oil > 0: grid_NEW = (grid_NEW/total_new_oil) * total_oil return grid_NEW # Animation setup fig, ax = plt.subplots() plt.subplots_adjust(bottom = 0.25) img = ax.imshow(grid, cmap = ‘viridis’, vmin = 0, vmax = oil_concentration/IMG_FACTOR) ax.set_title(“Oil Spill Simulation with RK4 Integrator”) # Sliders for parameters axis_diffusion = plt.axes([0.1, 0.01, 0.65, 0.03]) slider_diffusion = Slider(axis_diffusion, ‘KRATE diffusion’, 0.0, 0.5, valinit = KRATE_diffusion) axis_advection = plt.axes([0.1, 0.05, 0.65, 0.03]) slider_advection = Slider(axis_advection, ‘KRATE advection’, 0.0, 0.1, valinit = KRATE_advection) def animate(frame): global grid KRATE_diffusion = slider_diffusion.val KRATE_advection = slider_advection.val grid = integrator_step(grid, KRATE_diffusion, KRATE_advection) img.set_array(grid) return img, ani = FuncAnimation(fig, animate, frames = 100, interval = 100, blit = False) plt.show() |
import numpy as np import xarray as xr import cv2 import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # Simulation Parameters GRID_SIZE = 120 # Grid resolution DEPTH_LAYERS = 10 # Layers for subsurface dispersion INITIAL_OIL_CONCENTRATION = 1.0 IMG_FACTOR = 8.0 # Diffusion & Advection Rates KRATE_DIFFUSION = 0.1 KRATE_ADVECTION = 0.05 KRATE_VERTICAL_DIFFUSION = 0.02 BIODEGRADATION_RATE = 0.01 # Load Real-World Ocean Currents (NOAA Dataset) dataset_url = “https://data.nodc.noaa.gov/thredds/dodsC/modeldata.nc” (accessed on 1 January 2025). ds = xr.open_dataset(dataset_url) u_current = ds[‘u’].isel(time = 0).values v_current = ds[‘v’].isel(time = 0).values # Resize to match simulation grid u_current = np.interp(np.linspace(0, 1, GRID_SIZE), np.linspace(0, 1, u_current.shape[0]), u_current) v_current = np.interp(np.linspace(0, 1, GRID_SIZE), np.linspace(0, 1, v_current.shape[1]), v_current) # Initialize Grid for Oil Spill grid = np.zeros((DEPTH_LAYERS, GRID_SIZE, GRID_SIZE)) grid[0, GRID_SIZE//2−3:GRID_SIZE//2+3, GRID_SIZE//2−3:GRID_SIZE//2+3] = INITIAL_OIL_CONCENTRATION # Remote Sensing (Oil Spill Detection from Image) def detect_oil_spill(image_path): img = cv2.imread(image_path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY) contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) oil_spill_grid = np.zeros((GRID_SIZE, GRID_SIZE)) for contour in contours: cv2.drawContours(oil_spill_grid, [contour], −1, 255, thickness = −1) return (oil_spill_grid/255) * INITIAL_OIL_CONCENTRATION # Diffusion & Advection Model def get_derivatives(grid): grid_new = grid.copy() # Horizontal Diffusion (Surface & Subsurface) horizontal_diffusion = ( np.roll(grid, 1, axis = 1) + np.roll(grid, −1, axis=1) + np.roll(grid, 1, axis = 2) + np.roll(grid, −1, axis=2) − 4 * grid ) grid_new += KRATE_DIFFUSION * horizontal_diffusion # Vertical Diffusion (Subsurface Oil Spread) vertical_diffusion = ( np.roll(grid, 1, axis = 0) + np.roll(grid, −1, axis = 0) − 2 * grid ) grid_new += KRATE_VERTICAL_DIFFUSION * vertical_diffusion # Advection (Improved Upwind Scheme—Mass-Conserving, Direction-Aware) # This version uses upwind differencing based on current direction (u, v) # It ensures realistic oil transport and mass conservation across the grid for i in range(1, GRID_SIZE − 1): for j in range(1, GRID_SIZE − 1): u = u_current[i, j] v = v_current[i, j] if u > 0: flux_x = u * (grid[0, i − 1, j] − grid[0, i, j]) else: flux_x = u * (grid[0, i, j] − grid[0, i + 1, j]) if v > 0: flux_y = v * (grid[0, i, j − 1] − grid[0, i, j]) else: flux_y = v * (grid[0, i, j] − grid[0, i, j + 1]) advection_flux = KRATE_ADVECTION * (flux_x + flux_y) grid_new[0, i, j] += advection_flux # River Flow Advection (For Inland Water Spills) river_flow_speed = 0.05 river_direction = (1, 0) # Flowing in x-direction for i in range(1, GRID_SIZE − 1): for j in range(1, GRID_SIZE − 1): new_i = i + int(river_direction[0] * river_flow_speed) new_j = j + int(river_direction[1] * river_flow_speed) if 0 <= new_i < GRID_SIZE and 0 <= new_j < GRID_SIZE: grid_new[0, new_i, new_j] += grid[0, i, j] * KRATE_ADVECTION grid_new[0, i, j] −= grid[0, i, j] * KRATE_ADVECTION # Biodegradation (Oil Breakdown) grid_new * = (1 − BIODEGRADATION_RATE) return grid_new # RK4 Integration def rk4_step(grid): k1 = get_derivatives(grid) k2 = get_derivatives(grid + 0.5 * k1) k3 = get_derivatives(grid + 0.5 * k2) k4 = get_derivatives(grid + k3) return grid + (k1 + 2 * k2 + 2 * k3 + k4)/6.0 # Visualization fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.25) img = ax.imshow(grid[0], cmap = ‘viridis’, vmin = 0, vmax = INITIAL_OIL_CONCENTRATION/IMG_FACTOR) ax.set_title(“Oil Spill Simulation with Enhanced Features”) def animate(frame): global grid grid = rk4_step(grid) img.set_array(grid[0]) return img, ani = FuncAnimation(fig, animate, frames = 100, interval = 100, blit = False) plt.show() |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Popa, C.; Atodiresei, D.; Toma, A.; Dobref, V.; Vatamanu, J. Solutions for Modelling the Marine Oil Spill Drift. Environments 2025, 12, 132. https://doi.org/10.3390/environments12040132
Popa C, Atodiresei D, Toma A, Dobref V, Vatamanu J. Solutions for Modelling the Marine Oil Spill Drift. Environments. 2025; 12(4):132. https://doi.org/10.3390/environments12040132
Chicago/Turabian StylePopa, Catalin, Dinu Atodiresei, Alecu Toma, Vasile Dobref, and Jenel Vatamanu. 2025. "Solutions for Modelling the Marine Oil Spill Drift" Environments 12, no. 4: 132. https://doi.org/10.3390/environments12040132
APA StylePopa, C., Atodiresei, D., Toma, A., Dobref, V., & Vatamanu, J. (2025). Solutions for Modelling the Marine Oil Spill Drift. Environments, 12(4), 132. https://doi.org/10.3390/environments12040132