Seafloor oil spill

from datetime import timedelta
from opendrift.readers import reader_netCDF_CF_generic
from opendrift.models.openoil import OpenOil

o = OpenOil(loglevel=20)  # Set loglevel to 0 for debug information

# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(o.test_data_folder() + '14Jan2016_NorKyst_z_3d/NorKyst-800m_ZDEPTHS_his_00_3Dsubset.nc')
#reader_norkyst = reader_netCDF_CF_generic.Reader('https://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')

o.add_reader([reader_norkyst])
o.set_config('environment:fallback:x_wind', 3)
o.set_config('environment:fallback:y_wind', 7)
o.set_config('drift:vertical_mixing', True)

Out:

16:17:08 INFO    opendrift.models.basemodel: OpenDriftSimulation initialised (version 1.7.1 / v1.7.1-145-gdf95ed3)
16:17:08 INFO    opendrift.readers.reader_netCDF_CF_generic: Opening dataset: /root/project/tests/test_data/14Jan2016_NorKyst_z_3d/NorKyst-800m_ZDEPTHS_his_00_3Dsubset.nc

Seeding some particles

time = [reader_norkyst.start_time,
        reader_norkyst.start_time + timedelta(hours=1)]
o.seed_elements(lon=4.5, lat=62.0, z='seafloor', radius=0, number=3000,
                time=time, oil_type='GENERIC DIESEL')

Out:

16:17:08 INFO    opendrift.models.openoil: Using particle diameters between 0.0005 and 0.005 m for elements seeded below sea surface.
querying DB:
Oil.name ==  'GENERIC DIESEL'
/opt/conda/envs/opendrift/lib/python3.9/site-packages/scipy/optimize/minpack.py:833: OptimizeWarning: Covariance of the parameters could not be estimated
  warnings.warn('Covariance of the parameters could not be estimated',
16:17:08 INFO    opendrift.models.openoil: Using density 841.2901723334885 and viscosity 6.3404392151148305e-06 of oiltype GENERIC DIESEL

Setting the range of droplet sizes for the seafloor release

o.set_config('seed:droplet_diameter_min_subsea', 0.0001)
o.set_config('seed:droplet_diameter_max_subsea', 0.0005)

Running model with a small timestep to resolve the boyant rising

o.run(duration=timedelta(hours=2), time_step=60, time_step_output=60)

Out:

16:17:08 INFO    opendrift.models.basemodel: Fallback values will be used for the following variables which have no readers:
16:17:08 INFO    opendrift.models.basemodel:    x_wind: 3.000000
16:17:08 INFO    opendrift.models.basemodel:    y_wind: 7.000000
16:17:08 INFO    opendrift.models.basemodel:    upward_sea_water_velocity: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_surface_wave_significant_height: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_ice_area_fraction: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_ice_x_velocity: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    sea_ice_y_velocity: 0.000000
16:17:08 INFO    opendrift.models.basemodel:    ocean_vertical_diffusivity: 0.020000
16:17:08 INFO    opendrift.models.basemodel:    ocean_mixed_layer_thickness: 50.000000
16:17:08 INFO    opendrift.models.basemodel: Adding a dynamical landmask with max. priority based on assumed maximum speed of 1.3 m/s. Adding a customised landmask may be faster...
16:17:11 INFO    opendrift.models.basemodel: Using existing reader for land_binary_mask
16:17:11 INFO    opendrift.models.basemodel: All points are in ocean
16:17:11 INFO    opendrift.models.openoil: Oil-water surface tension is 0.029436 Nm
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:00:00 - step 1 of 120 - 50 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:01:00 - step 2 of 120 - 100 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:02:00 - step 3 of 120 - 150 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:03:00 - step 4 of 120 - 200 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:04:00 - step 5 of 120 - 250 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:05:00 - step 6 of 120 - 300 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:06:00 - step 7 of 120 - 350 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:07:00 - step 8 of 120 - 400 active elements (0 deactivated)
16:17:11 INFO    opendrift.models.basemodel: 2016-01-14 00:08:00 - step 9 of 120 - 450 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:09:00 - step 10 of 120 - 500 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:10:00 - step 11 of 120 - 550 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:11:00 - step 12 of 120 - 600 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:12:00 - step 13 of 120 - 650 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:13:00 - step 14 of 120 - 700 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:14:00 - step 15 of 120 - 750 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:15:00 - step 16 of 120 - 800 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:16:00 - step 17 of 120 - 850 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:17:00 - step 18 of 120 - 900 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:18:00 - step 19 of 120 - 950 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:19:00 - step 20 of 120 - 1000 active elements (0 deactivated)
16:17:12 INFO    opendrift.models.basemodel: 2016-01-14 00:20:00 - step 21 of 120 - 1050 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:21:00 - step 22 of 120 - 1100 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:22:00 - step 23 of 120 - 1150 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:23:00 - step 24 of 120 - 1200 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:24:00 - step 25 of 120 - 1250 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:25:00 - step 26 of 120 - 1300 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:26:00 - step 27 of 120 - 1350 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:27:00 - step 28 of 120 - 1400 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:28:00 - step 29 of 120 - 1450 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:29:00 - step 30 of 120 - 1500 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:30:00 - step 31 of 120 - 1550 active elements (0 deactivated)
16:17:13 INFO    opendrift.models.basemodel: 2016-01-14 00:31:00 - step 32 of 120 - 1600 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:32:00 - step 33 of 120 - 1650 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:33:00 - step 34 of 120 - 1700 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:34:00 - step 35 of 120 - 1750 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:35:00 - step 36 of 120 - 1800 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:36:00 - step 37 of 120 - 1850 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:37:00 - step 38 of 120 - 1900 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:38:00 - step 39 of 120 - 1950 active elements (0 deactivated)
16:17:14 INFO    opendrift.models.basemodel: 2016-01-14 00:39:00 - step 40 of 120 - 2000 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:40:00 - step 41 of 120 - 2050 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:41:00 - step 42 of 120 - 2100 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:42:00 - step 43 of 120 - 2150 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:43:00 - step 44 of 120 - 2200 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:44:00 - step 45 of 120 - 2250 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:45:00 - step 46 of 120 - 2300 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:46:00 - step 47 of 120 - 2350 active elements (0 deactivated)
16:17:15 INFO    opendrift.models.basemodel: 2016-01-14 00:47:00 - step 48 of 120 - 2400 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:48:00 - step 49 of 120 - 2450 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:49:00 - step 50 of 120 - 2500 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:50:00 - step 51 of 120 - 2550 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:51:00 - step 52 of 120 - 2600 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:52:00 - step 53 of 120 - 2650 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:53:00 - step 54 of 120 - 2700 active elements (0 deactivated)
16:17:16 INFO    opendrift.models.basemodel: 2016-01-14 00:54:00 - step 55 of 120 - 2750 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 00:55:00 - step 56 of 120 - 2800 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 00:56:00 - step 57 of 120 - 2850 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 00:57:00 - step 58 of 120 - 2900 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 00:58:00 - step 59 of 120 - 2950 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 00:59:00 - step 60 of 120 - 3000 active elements (0 deactivated)
16:17:17 INFO    opendrift.models.basemodel: 2016-01-14 01:00:00 - step 61 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:01:00 - step 62 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:02:00 - step 63 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:03:00 - step 64 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:04:00 - step 65 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:05:00 - step 66 of 120 - 3000 active elements (0 deactivated)
16:17:18 INFO    opendrift.models.basemodel: 2016-01-14 01:06:00 - step 67 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:07:00 - step 68 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:08:00 - step 69 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:09:00 - step 70 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:10:00 - step 71 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:11:00 - step 72 of 120 - 3000 active elements (0 deactivated)
16:17:19 INFO    opendrift.models.basemodel: 2016-01-14 01:12:00 - step 73 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:13:00 - step 74 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:14:00 - step 75 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:15:00 - step 76 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:16:00 - step 77 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:17:00 - step 78 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:18:00 - step 79 of 120 - 3000 active elements (0 deactivated)
16:17:20 INFO    opendrift.models.basemodel: 2016-01-14 01:19:00 - step 80 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:20:00 - step 81 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:21:00 - step 82 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:22:00 - step 83 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:23:00 - step 84 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:24:00 - step 85 of 120 - 3000 active elements (0 deactivated)
16:17:21 INFO    opendrift.models.basemodel: 2016-01-14 01:25:00 - step 86 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:26:00 - step 87 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:27:00 - step 88 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:28:00 - step 89 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:29:00 - step 90 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:30:00 - step 91 of 120 - 3000 active elements (0 deactivated)
16:17:22 INFO    opendrift.models.basemodel: 2016-01-14 01:31:00 - step 92 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:32:00 - step 93 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:33:00 - step 94 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:34:00 - step 95 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:35:00 - step 96 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:36:00 - step 97 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:37:00 - step 98 of 120 - 3000 active elements (0 deactivated)
16:17:23 INFO    opendrift.models.basemodel: 2016-01-14 01:38:00 - step 99 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:39:00 - step 100 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:40:00 - step 101 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:41:00 - step 102 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:42:00 - step 103 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:43:00 - step 104 of 120 - 3000 active elements (0 deactivated)
16:17:24 INFO    opendrift.models.basemodel: 2016-01-14 01:44:00 - step 105 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:45:00 - step 106 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:46:00 - step 107 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:47:00 - step 108 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:48:00 - step 109 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:49:00 - step 110 of 120 - 3000 active elements (0 deactivated)
16:17:25 INFO    opendrift.models.basemodel: 2016-01-14 01:50:00 - step 111 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:51:00 - step 112 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:52:00 - step 113 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:53:00 - step 114 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:54:00 - step 115 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:55:00 - step 116 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:56:00 - step 117 of 120 - 3000 active elements (0 deactivated)
16:17:26 INFO    opendrift.models.basemodel: 2016-01-14 01:57:00 - step 118 of 120 - 3000 active elements (0 deactivated)
16:17:27 INFO    opendrift.models.basemodel: 2016-01-14 01:58:00 - step 119 of 120 - 3000 active elements (0 deactivated)
16:17:27 INFO    opendrift.models.basemodel: 2016-01-14 01:59:00 - step 120 of 120 - 3000 active elements (0 deactivated)

Print and plot results

print(o)

o.animation_profile()

Out:

===========================
--------------------
Reader performance:
--------------------
/root/project/tests/test_data/14Jan2016_NorKyst_z_3d/NorKyst-800m_ZDEPTHS_his_00_3Dsubset.nc
 0:00:03.6  total
 0:00:00.0  preparing
 0:00:02.0  reading
 0:00:01.8  interpolation
 0:00:00.0  interpolation_time
 0:00:00.0  masking
 0:00:01.6  rotating vectors
--------------------
global_landmask
 0:00:00.0  total
 0:00:00.0  preparing
 0:00:00.0  reading
 0:00:00.0  masking
--------------------
Performance:
   19.1 total time
    0.3 configuration
      4.7 readers
        3.9 /root/project/tests/test_data/14Jan2016_NorKyst_z_3d/NorKyst-800m_ZDEPTHS_his_00_3Dsubset.nc
        0.5 postprocessing
    2.6 preparing main loop
      2.4 making dynamical landmask
      0.0 moving elements to ocean
        0.0 global_landmask
   16.0 main loop
      9.1 updating elements
        4.6 oil weathering
          0.7 updating viscosities
          3.4 updating densities
          0.3 evaporation
          0.0 emulsification
          0.0 dispersion
        4.0 vertical mixing
    0.1 cleaning up
--------------------
===========================
Model:  OpenOil     (OpenDrift version 1.7.1)
        3000 active Oil particles  (0 deactivated, 0 scheduled)
-------------------
Environment variables:
  -----
  sea_floor_depth_below_sea_level
  sea_water_salinity
  sea_water_temperature
  x_sea_water_velocity
  y_sea_water_velocity
     1) /root/project/tests/test_data/14Jan2016_NorKyst_z_3d/NorKyst-800m_ZDEPTHS_his_00_3Dsubset.nc
  -----
  land_binary_mask
     1) global_landmask
  -----
Readers not added for the following variables:
  ocean_mixed_layer_thickness
  ocean_vertical_diffusivity
  sea_ice_area_fraction
  sea_ice_x_velocity
  sea_ice_y_velocity
  sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment
  sea_surface_wave_period_at_variance_spectral_density_maximum
  sea_surface_wave_significant_height
  sea_surface_wave_stokes_drift_x_velocity
  sea_surface_wave_stokes_drift_y_velocity
  upward_sea_water_velocity
  x_wind
  y_wind

Time:
        Start: 2016-01-14 00:00:00
        Present: 2016-01-14 02:00:00
        Calculation steps: 120 * 0:01:00 - total time: 2:00:00
        Output steps: 121 * 0:01:00
===========================

16:17:27 INFO    opendrift.models.basemodel: Saving animation to /root/project/docs/source/gallery/animations/example_oilspill_seafloor_0.gif...
16:17:27 INFO    opendrift.models.basemodel: Making animated gif...
MovieWriter imagemagick unavailable; using Pillow instead.
../_images/example_oilspill_seafloor_0.gif
o.animate_vertical_distribution(bins=30)

Out:

16:17:35 INFO    opendrift.models.basemodel: Saving animation to /root/project/docs/source/gallery/animations/example_oilspill_seafloor_1.gif...
16:17:35 INFO    opendrift.models.basemodel: Making animated gif...
MovieWriter imagemagick unavailable; using Pillow instead.
../_images/example_oilspill_seafloor_1.gif
o.plot_oil_budget()
GENERIC DIESEL (841.3 kg/m3) - 2016-01-14 00:00 to 2016-01-14 02:00

Total running time of the script: ( 2 minutes 29.830 seconds)

Gallery generated by Sphinx-Gallery