Ensemble

from datetime import timedelta
import numpy as np
from opendrift.models.oceandrift import OceanDrift
from opendrift.readers import reader_netCDF_CF_generic

Drift simulation using 30 member ensemble wind data from MEPS model of MET Norway

o = OceanDrift(loglevel=20)
o.set_config('drift:vertical_mixing', False)
r = reader_netCDF_CF_generic.Reader('https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc')
o.add_reader(r)

o.seed_elements(lat=60, lon=4.9, time=r.start_time,
                radius=1000, number=10000)

o.run(duration=timedelta(hours=50), time_step=600, time_step_output=3600)
16:16:50 INFO    opendrift:576: OpenDriftSimulation initialised (version 1.14.6 / v1.14.6-23-g72ef044)
16:16:50 INFO    opendrift.readers:63: Opening file with xr.open_dataset
16:16:52 INFO    opendrift.readers.reader_netCDF_CF_generic:332: Detected dimensions: {'time': 'time', 'x': 'x', 'y': 'y'}
16:16:52 INFO    opendrift.models.basemodel.environment:203: Adding a global landmask from GSHHG
16:16:58 INFO    opendrift.models.basemodel.environment:227: Fallback values will be used for the following variables which have no readers:
16:16:58 INFO    opendrift.models.basemodel.environment:230:    x_sea_water_velocity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    y_sea_water_velocity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    sea_surface_height: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    upward_sea_water_velocity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    ocean_vertical_diffusivity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_significant_height: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    ocean_mixed_layer_thickness: 50.000000
16:16:58 INFO    opendrift.models.basemodel.environment:230:    sea_floor_depth_below_sea_level: 10000.000000
16:16:58 INFO    opendrift:1803: Skipping environment variable ocean_vertical_diffusivity because of condition ['drift:vertical_mixing', 'is', False]
16:16:58 INFO    opendrift:1803: Skipping environment variable ocean_mixed_layer_thickness because of condition ['drift:vertical_mixing', 'is', False]
16:16:58 INFO    opendrift:1814: Storing previous values of element property lon because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
16:16:58 INFO    opendrift:1814: Storing previous values of element property lat because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
16:16:58 INFO    opendrift:1822: Storing previous values of environment variable sea_surface_height because of condition ['drift:vertical_advection', 'is', True]
16:16:58 INFO    opendrift:952: Using existing reader for land_binary_mask to move elements to ocean
16:16:58 INFO    opendrift:982: All points are in ocean
16:16:58 INFO    opendrift:2111: 2025-11-27 14:00:00 - step 1 of 300 - 10000 active elements (0 deactivated)
16:16:59 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:16:59 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:16:59 INFO    opendrift:2111: 2025-11-27 14:10:00 - step 2 of 300 - 10000 active elements (0 deactivated)
16:17:00 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:00 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:00 INFO    opendrift:2111: 2025-11-27 14:20:00 - step 3 of 300 - 10000 active elements (0 deactivated)
16:17:00 INFO    opendrift:2111: 2025-11-27 14:30:00 - step 4 of 300 - 10000 active elements (0 deactivated)
16:17:00 INFO    opendrift:2111: 2025-11-27 14:40:00 - step 5 of 300 - 10000 active elements (0 deactivated)
16:17:01 INFO    opendrift:2111: 2025-11-27 14:50:00 - step 6 of 300 - 10000 active elements (0 deactivated)
16:17:01 INFO    opendrift:2111: 2025-11-27 15:00:00 - step 7 of 300 - 10000 active elements (0 deactivated)
16:17:01 INFO    opendrift:2111: 2025-11-27 15:10:00 - step 8 of 300 - 10000 active elements (0 deactivated)
16:17:02 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:03 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:03 INFO    opendrift:2111: 2025-11-27 15:20:00 - step 9 of 300 - 10000 active elements (0 deactivated)
16:17:03 INFO    opendrift:2111: 2025-11-27 15:30:00 - step 10 of 300 - 10000 active elements (0 deactivated)
16:17:03 INFO    opendrift:2111: 2025-11-27 15:40:00 - step 11 of 300 - 10000 active elements (0 deactivated)
16:17:03 INFO    opendrift:2111: 2025-11-27 15:50:00 - step 12 of 300 - 10000 active elements (0 deactivated)
16:17:04 INFO    opendrift:2111: 2025-11-27 16:00:00 - step 13 of 300 - 10000 active elements (0 deactivated)
16:17:04 INFO    opendrift:2111: 2025-11-27 16:10:00 - step 14 of 300 - 10000 active elements (0 deactivated)
16:17:04 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:04 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:05 INFO    opendrift:2111: 2025-11-27 16:20:00 - step 15 of 300 - 10000 active elements (0 deactivated)
16:17:05 INFO    opendrift:2111: 2025-11-27 16:30:00 - step 16 of 300 - 10000 active elements (0 deactivated)
16:17:05 INFO    opendrift:2111: 2025-11-27 16:40:00 - step 17 of 300 - 10000 active elements (0 deactivated)
16:17:05 INFO    opendrift:2111: 2025-11-27 16:50:00 - step 18 of 300 - 10000 active elements (0 deactivated)
16:17:06 INFO    opendrift:2111: 2025-11-27 17:00:00 - step 19 of 300 - 10000 active elements (0 deactivated)
16:17:06 INFO    opendrift:2111: 2025-11-27 17:10:00 - step 20 of 300 - 10000 active elements (0 deactivated)
16:17:06 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:06 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:07 INFO    opendrift:2111: 2025-11-27 17:20:00 - step 21 of 300 - 10000 active elements (0 deactivated)
16:17:07 INFO    opendrift:2111: 2025-11-27 17:30:00 - step 22 of 300 - 10000 active elements (0 deactivated)
16:17:07 INFO    opendrift:2111: 2025-11-27 17:40:00 - step 23 of 300 - 10000 active elements (0 deactivated)
16:17:07 INFO    opendrift:2111: 2025-11-27 17:50:00 - step 24 of 300 - 10000 active elements (0 deactivated)
16:17:07 INFO    opendrift:2111: 2025-11-27 18:00:00 - step 25 of 300 - 10000 active elements (0 deactivated)
16:17:08 INFO    opendrift:2111: 2025-11-27 18:10:00 - step 26 of 300 - 10000 active elements (0 deactivated)
16:17:08 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:08 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:09 INFO    opendrift:2111: 2025-11-27 18:20:00 - step 27 of 300 - 10000 active elements (0 deactivated)
16:17:09 INFO    opendrift:2111: 2025-11-27 18:30:00 - step 28 of 300 - 10000 active elements (0 deactivated)
16:17:09 INFO    opendrift:2111: 2025-11-27 18:40:00 - step 29 of 300 - 10000 active elements (0 deactivated)
16:17:09 INFO    opendrift:2111: 2025-11-27 18:50:00 - step 30 of 300 - 10000 active elements (0 deactivated)
16:17:10 INFO    opendrift:2111: 2025-11-27 19:00:00 - step 31 of 300 - 10000 active elements (0 deactivated)
16:17:10 INFO    opendrift:2111: 2025-11-27 19:10:00 - step 32 of 300 - 10000 active elements (0 deactivated)
16:17:10 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:10 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:11 INFO    opendrift:2111: 2025-11-27 19:20:00 - step 33 of 300 - 10000 active elements (0 deactivated)
16:17:11 INFO    opendrift:2111: 2025-11-27 19:30:00 - step 34 of 300 - 10000 active elements (0 deactivated)
16:17:11 INFO    opendrift:2111: 2025-11-27 19:40:00 - step 35 of 300 - 10000 active elements (0 deactivated)
16:17:11 INFO    opendrift:2111: 2025-11-27 19:50:00 - step 36 of 300 - 10000 active elements (0 deactivated)
16:17:12 INFO    opendrift:2111: 2025-11-27 20:00:00 - step 37 of 300 - 10000 active elements (0 deactivated)
16:17:12 INFO    opendrift:2111: 2025-11-27 20:10:00 - step 38 of 300 - 10000 active elements (0 deactivated)
16:17:12 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:12 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:13 INFO    opendrift:2111: 2025-11-27 20:20:00 - step 39 of 300 - 10000 active elements (0 deactivated)
16:17:13 INFO    opendrift:2111: 2025-11-27 20:30:00 - step 40 of 300 - 10000 active elements (0 deactivated)
16:17:13 INFO    opendrift:2111: 2025-11-27 20:40:00 - step 41 of 300 - 10000 active elements (0 deactivated)
16:17:13 INFO    opendrift:2111: 2025-11-27 20:50:00 - step 42 of 300 - 10000 active elements (0 deactivated)
16:17:14 INFO    opendrift:2111: 2025-11-27 21:00:00 - step 43 of 300 - 10000 active elements (0 deactivated)
16:17:14 INFO    opendrift:2111: 2025-11-27 21:10:00 - step 44 of 300 - 10000 active elements (0 deactivated)
16:17:15 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:15 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:15 INFO    opendrift:2111: 2025-11-27 21:20:00 - step 45 of 300 - 10000 active elements (0 deactivated)
16:17:15 INFO    opendrift:2111: 2025-11-27 21:30:00 - step 46 of 300 - 10000 active elements (0 deactivated)
16:17:15 INFO    opendrift:2111: 2025-11-27 21:40:00 - step 47 of 300 - 10000 active elements (0 deactivated)
16:17:16 INFO    opendrift:2111: 2025-11-27 21:50:00 - step 48 of 300 - 10000 active elements (0 deactivated)
16:17:16 INFO    opendrift:2111: 2025-11-27 22:00:00 - step 49 of 300 - 10000 active elements (0 deactivated)
16:17:16 INFO    opendrift:2111: 2025-11-27 22:10:00 - step 50 of 300 - 10000 active elements (0 deactivated)
16:17:17 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:17 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:17 INFO    opendrift:2111: 2025-11-27 22:20:00 - step 51 of 300 - 10000 active elements (0 deactivated)
16:17:17 INFO    opendrift:2111: 2025-11-27 22:30:00 - step 52 of 300 - 10000 active elements (0 deactivated)
16:17:18 INFO    opendrift:2111: 2025-11-27 22:40:00 - step 53 of 300 - 10000 active elements (0 deactivated)
16:17:18 INFO    opendrift:2111: 2025-11-27 22:50:00 - step 54 of 300 - 10000 active elements (0 deactivated)
16:17:18 INFO    opendrift:2111: 2025-11-27 23:00:00 - step 55 of 300 - 10000 active elements (0 deactivated)
16:17:18 INFO    opendrift:2111: 2025-11-27 23:10:00 - step 56 of 300 - 10000 active elements (0 deactivated)
16:17:19 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:19 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:20 INFO    opendrift:2111: 2025-11-27 23:20:00 - step 57 of 300 - 10000 active elements (0 deactivated)
16:17:20 INFO    opendrift:2111: 2025-11-27 23:30:00 - step 58 of 300 - 10000 active elements (0 deactivated)
16:17:20 INFO    opendrift:2111: 2025-11-27 23:40:00 - step 59 of 300 - 10000 active elements (0 deactivated)
16:17:20 INFO    opendrift:2111: 2025-11-27 23:50:00 - step 60 of 300 - 10000 active elements (0 deactivated)
16:17:20 INFO    opendrift:2111: 2025-11-28 00:00:00 - step 61 of 300 - 10000 active elements (0 deactivated)
16:17:21 INFO    opendrift:2111: 2025-11-28 00:10:00 - step 62 of 300 - 10000 active elements (0 deactivated)
16:17:21 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:21 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:22 INFO    opendrift:2111: 2025-11-28 00:20:00 - step 63 of 300 - 10000 active elements (0 deactivated)
16:17:22 INFO    opendrift:2111: 2025-11-28 00:30:00 - step 64 of 300 - 10000 active elements (0 deactivated)
16:17:22 INFO    opendrift:2111: 2025-11-28 00:40:00 - step 65 of 300 - 10000 active elements (0 deactivated)
16:17:22 INFO    opendrift:2111: 2025-11-28 00:50:00 - step 66 of 300 - 10000 active elements (0 deactivated)
16:17:22 INFO    opendrift:2111: 2025-11-28 01:00:00 - step 67 of 300 - 10000 active elements (0 deactivated)
16:17:23 INFO    opendrift:2111: 2025-11-28 01:10:00 - step 68 of 300 - 10000 active elements (0 deactivated)
16:17:23 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:23 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:24 INFO    opendrift:2111: 2025-11-28 01:20:00 - step 69 of 300 - 10000 active elements (0 deactivated)
16:17:24 INFO    opendrift:2111: 2025-11-28 01:30:00 - step 70 of 300 - 10000 active elements (0 deactivated)
16:17:24 INFO    opendrift:2111: 2025-11-28 01:40:00 - step 71 of 300 - 10000 active elements (0 deactivated)
16:17:24 INFO    opendrift:2111: 2025-11-28 01:50:00 - step 72 of 300 - 10000 active elements (0 deactivated)
16:17:24 INFO    opendrift:2111: 2025-11-28 02:00:00 - step 73 of 300 - 10000 active elements (0 deactivated)
16:17:25 INFO    opendrift:2111: 2025-11-28 02:10:00 - step 74 of 300 - 10000 active elements (0 deactivated)
16:17:25 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:25 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:26 INFO    opendrift:2111: 2025-11-28 02:20:00 - step 75 of 300 - 10000 active elements (0 deactivated)
16:17:26 INFO    opendrift:2111: 2025-11-28 02:30:00 - step 76 of 300 - 10000 active elements (0 deactivated)
16:17:26 INFO    opendrift:2111: 2025-11-28 02:40:00 - step 77 of 300 - 10000 active elements (0 deactivated)
16:17:26 INFO    opendrift:2111: 2025-11-28 02:50:00 - step 78 of 300 - 10000 active elements (0 deactivated)
16:17:26 INFO    opendrift:2111: 2025-11-28 03:00:00 - step 79 of 300 - 10000 active elements (0 deactivated)
16:17:27 INFO    opendrift:2111: 2025-11-28 03:10:00 - step 80 of 300 - 10000 active elements (0 deactivated)
16:17:27 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:27 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:28 INFO    opendrift:2111: 2025-11-28 03:20:00 - step 81 of 300 - 10000 active elements (0 deactivated)
16:17:28 INFO    opendrift:2111: 2025-11-28 03:30:00 - step 82 of 300 - 10000 active elements (0 deactivated)
16:17:28 INFO    opendrift:2111: 2025-11-28 03:40:00 - step 83 of 300 - 10000 active elements (0 deactivated)
16:17:30 INFO    opendrift:2111: 2025-11-28 03:50:00 - step 84 of 300 - 10000 active elements (0 deactivated)
16:17:30 INFO    opendrift:2111: 2025-11-28 04:00:00 - step 85 of 300 - 10000 active elements (0 deactivated)
16:17:33 INFO    opendrift:2111: 2025-11-28 04:10:00 - step 86 of 300 - 9999 active elements (1 deactivated)
16:17:34 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:34 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:34 INFO    opendrift:2111: 2025-11-28 04:20:00 - step 87 of 300 - 9999 active elements (1 deactivated)
16:17:34 INFO    opendrift:2111: 2025-11-28 04:30:00 - step 88 of 300 - 9998 active elements (2 deactivated)
16:17:35 INFO    opendrift:2111: 2025-11-28 04:40:00 - step 89 of 300 - 9996 active elements (4 deactivated)
16:17:35 INFO    opendrift:2111: 2025-11-28 04:50:00 - step 90 of 300 - 9995 active elements (5 deactivated)
16:17:35 INFO    opendrift:2111: 2025-11-28 05:00:00 - step 91 of 300 - 9993 active elements (7 deactivated)
16:17:35 INFO    opendrift:2111: 2025-11-28 05:10:00 - step 92 of 300 - 9990 active elements (10 deactivated)
16:17:36 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:36 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:36 INFO    opendrift:2111: 2025-11-28 05:20:00 - step 93 of 300 - 9983 active elements (17 deactivated)
16:17:37 INFO    opendrift:2111: 2025-11-28 05:30:00 - step 94 of 300 - 9970 active elements (30 deactivated)
16:17:37 INFO    opendrift:2111: 2025-11-28 05:40:00 - step 95 of 300 - 9957 active elements (43 deactivated)
16:17:37 INFO    opendrift:2111: 2025-11-28 05:50:00 - step 96 of 300 - 9945 active elements (55 deactivated)
16:17:38 INFO    opendrift:2111: 2025-11-28 06:00:00 - step 97 of 300 - 9930 active elements (70 deactivated)
16:17:38 INFO    opendrift:2111: 2025-11-28 06:10:00 - step 98 of 300 - 9876 active elements (124 deactivated)
16:17:38 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:38 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:39 INFO    opendrift:2111: 2025-11-28 06:20:00 - step 99 of 300 - 9816 active elements (184 deactivated)
16:17:39 INFO    opendrift:2111: 2025-11-28 06:30:00 - step 100 of 300 - 9750 active elements (250 deactivated)
16:17:39 INFO    opendrift:2111: 2025-11-28 06:40:00 - step 101 of 300 - 9660 active elements (340 deactivated)
16:17:39 INFO    opendrift:2111: 2025-11-28 06:50:00 - step 102 of 300 - 9536 active elements (464 deactivated)
16:17:40 INFO    opendrift:2111: 2025-11-28 07:00:00 - step 103 of 300 - 9405 active elements (595 deactivated)
16:17:40 INFO    opendrift:2111: 2025-11-28 07:10:00 - step 104 of 300 - 9256 active elements (744 deactivated)
16:17:40 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:40 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:41 INFO    opendrift:2111: 2025-11-28 07:20:00 - step 105 of 300 - 9118 active elements (882 deactivated)
16:17:41 INFO    opendrift:2111: 2025-11-28 07:30:00 - step 106 of 300 - 8952 active elements (1048 deactivated)
16:17:41 INFO    opendrift:2111: 2025-11-28 07:40:00 - step 107 of 300 - 8773 active elements (1227 deactivated)
16:17:41 INFO    opendrift:2111: 2025-11-28 07:50:00 - step 108 of 300 - 8579 active elements (1421 deactivated)
16:17:41 INFO    opendrift:2111: 2025-11-28 08:00:00 - step 109 of 300 - 8375 active elements (1625 deactivated)
16:17:42 INFO    opendrift:2111: 2025-11-28 08:10:00 - step 110 of 300 - 8198 active elements (1802 deactivated)
16:17:42 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:42 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:43 INFO    opendrift:2111: 2025-11-28 08:20:00 - step 111 of 300 - 7972 active elements (2028 deactivated)
16:17:43 INFO    opendrift:2111: 2025-11-28 08:30:00 - step 112 of 300 - 7762 active elements (2238 deactivated)
16:17:43 INFO    opendrift:2111: 2025-11-28 08:40:00 - step 113 of 300 - 7510 active elements (2490 deactivated)
16:17:43 INFO    opendrift:2111: 2025-11-28 08:50:00 - step 114 of 300 - 7252 active elements (2748 deactivated)
16:17:44 INFO    opendrift:2111: 2025-11-28 09:00:00 - step 115 of 300 - 6956 active elements (3044 deactivated)
16:17:44 INFO    opendrift:2111: 2025-11-28 09:10:00 - step 116 of 300 - 6666 active elements (3334 deactivated)
16:17:44 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:44 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:45 INFO    opendrift:2111: 2025-11-28 09:20:00 - step 117 of 300 - 6299 active elements (3701 deactivated)
16:17:45 INFO    opendrift:2111: 2025-11-28 09:30:00 - step 118 of 300 - 5839 active elements (4161 deactivated)
16:17:45 INFO    opendrift:2111: 2025-11-28 09:40:00 - step 119 of 300 - 5365 active elements (4635 deactivated)
16:17:45 INFO    opendrift:2111: 2025-11-28 09:50:00 - step 120 of 300 - 4932 active elements (5068 deactivated)
16:17:46 INFO    opendrift:2111: 2025-11-28 10:00:00 - step 121 of 300 - 4428 active elements (5572 deactivated)
16:17:46 INFO    opendrift:2111: 2025-11-28 10:10:00 - step 122 of 300 - 3934 active elements (6066 deactivated)
16:17:46 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:46 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:47 INFO    opendrift:2111: 2025-11-28 10:20:00 - step 123 of 300 - 3446 active elements (6554 deactivated)
16:17:47 INFO    opendrift:2111: 2025-11-28 10:30:00 - step 124 of 300 - 2984 active elements (7016 deactivated)
16:17:47 INFO    opendrift:2111: 2025-11-28 10:40:00 - step 125 of 300 - 2545 active elements (7455 deactivated)
16:17:47 INFO    opendrift:2111: 2025-11-28 10:50:00 - step 126 of 300 - 2154 active elements (7846 deactivated)
16:17:47 INFO    opendrift:2111: 2025-11-28 11:00:00 - step 127 of 300 - 1803 active elements (8197 deactivated)
16:17:47 INFO    opendrift:2111: 2025-11-28 11:10:00 - step 128 of 300 - 1491 active elements (8509 deactivated)
16:17:48 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:48 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:48 INFO    opendrift:2111: 2025-11-28 11:20:00 - step 129 of 300 - 1201 active elements (8799 deactivated)
16:17:48 INFO    opendrift:2111: 2025-11-28 11:30:00 - step 130 of 300 - 955 active elements (9045 deactivated)
16:17:48 INFO    opendrift:2111: 2025-11-28 11:40:00 - step 131 of 300 - 750 active elements (9250 deactivated)
16:17:48 INFO    opendrift:2111: 2025-11-28 11:50:00 - step 132 of 300 - 600 active elements (9400 deactivated)
16:17:48 INFO    opendrift:2111: 2025-11-28 12:00:00 - step 133 of 300 - 476 active elements (9524 deactivated)
16:17:48 INFO    opendrift:2111: 2025-11-28 12:10:00 - step 134 of 300 - 384 active elements (9616 deactivated)
16:17:49 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:49 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:49 INFO    opendrift:2111: 2025-11-28 12:20:00 - step 135 of 300 - 297 active elements (9703 deactivated)
16:17:49 INFO    opendrift:2111: 2025-11-28 12:30:00 - step 136 of 300 - 221 active elements (9779 deactivated)
16:17:49 INFO    opendrift:2111: 2025-11-28 12:40:00 - step 137 of 300 - 171 active elements (9829 deactivated)
16:17:49 INFO    opendrift:2111: 2025-11-28 12:50:00 - step 138 of 300 - 125 active elements (9875 deactivated)
16:17:49 INFO    opendrift:2111: 2025-11-28 13:00:00 - step 139 of 300 - 103 active elements (9897 deactivated)
16:17:49 INFO    opendrift:2111: 2025-11-28 13:10:00 - step 140 of 300 - 81 active elements (9919 deactivated)
16:17:50 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:50 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:50 INFO    opendrift:2111: 2025-11-28 13:20:00 - step 141 of 300 - 60 active elements (9940 deactivated)
16:17:50 INFO    opendrift:2111: 2025-11-28 13:30:00 - step 142 of 300 - 52 active elements (9948 deactivated)
16:17:50 INFO    opendrift:2111: 2025-11-28 13:40:00 - step 143 of 300 - 41 active elements (9959 deactivated)
16:17:50 INFO    opendrift:2111: 2025-11-28 13:50:00 - step 144 of 300 - 32 active elements (9968 deactivated)
16:17:50 INFO    opendrift:2111: 2025-11-28 14:00:00 - step 145 of 300 - 26 active elements (9974 deactivated)
16:17:50 INFO    opendrift:2111: 2025-11-28 14:10:00 - step 146 of 300 - 20 active elements (9980 deactivated)
16:17:51 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:51 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:51 INFO    opendrift:2111: 2025-11-28 14:20:00 - step 147 of 300 - 15 active elements (9985 deactivated)
16:17:51 INFO    opendrift:2111: 2025-11-28 14:30:00 - step 148 of 300 - 14 active elements (9986 deactivated)
16:17:51 INFO    opendrift:2111: 2025-11-28 14:40:00 - step 149 of 300 - 11 active elements (9989 deactivated)
16:17:51 INFO    opendrift:2111: 2025-11-28 14:50:00 - step 150 of 300 - 9 active elements (9991 deactivated)
16:17:51 INFO    opendrift:2111: 2025-11-28 15:00:00 - step 151 of 300 - 9 active elements (9991 deactivated)
16:17:52 INFO    opendrift:2111: 2025-11-28 15:10:00 - step 152 of 300 - 5 active elements (9995 deactivated)
16:17:52 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:52 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:52 INFO    opendrift:2111: 2025-11-28 15:20:00 - step 153 of 300 - 2 active elements (9998 deactivated)
16:17:52 INFO    opendrift:2111: 2025-11-28 15:30:00 - step 154 of 300 - 2 active elements (9998 deactivated)
16:17:52 INFO    opendrift:2111: 2025-11-28 15:40:00 - step 155 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 15:50:00 - step 156 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 16:00:00 - step 157 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 16:10:00 - step 158 of 300 - 1 active elements (9999 deactivated)
16:17:53 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:53 WARNING opendrift.readers.interpolation.structured:63: Ensemble data currently not extrapolated towards seafloor
16:17:53 INFO    opendrift:2111: 2025-11-28 16:20:00 - step 159 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 16:30:00 - step 160 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 16:40:00 - step 161 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 16:50:00 - step 162 of 300 - 1 active elements (9999 deactivated)
16:17:53 INFO    opendrift:2111: 2025-11-28 17:00:00 - step 163 of 300 - 1 active elements (9999 deactivated)
16:17:53 WARNING opendrift:2186: The simulation stopped before requested end time was reached.
16:17:53 INFO    opendrift:2188: ========================
16:17:53 INFO    opendrift:2189: End of simulation:
16:17:53 INFO    opendrift:2190: No more active or scheduled elements, quitting.
16:17:53 INFO    opendrift:2191: Traceback (most recent call last):
  File "/root/project/opendrift/models/basemodel/__init__.py", line 2173, in run
    raise ValueError('No more active or scheduled elements, quitting.')
ValueError: No more active or scheduled elements, quitting.

16:17:53 INFO    opendrift:2192: 'The simulation stopped before requested end time was reached.'

16:17:53 INFO    opendrift:2195: ========================
<xarray.Dataset> Size: 24MB
Dimensions:                                   (trajectory: 10000, time: 28)
Coordinates:
  * trajectory                                (trajectory) int64 80kB 0 ... 9999
  * time                                      (time) datetime64[ns] 224B 2025...
Data variables: (12/21)
    status                                    (trajectory, time) float32 1MB ...
    moving                                    (trajectory, time) float32 1MB ...
    age_seconds                               (trajectory, time) float32 1MB ...
    origin_marker                             (trajectory, time) float32 1MB ...
    lon                                       (trajectory, time) float32 1MB ...
    lat                                       (trajectory, time) float32 1MB ...
    ...                                        ...
    upward_sea_water_velocity                 (trajectory, time) float32 1MB ...
    sea_surface_wave_significant_height       (trajectory, time) float32 1MB ...
    sea_surface_wave_stokes_drift_x_velocity  (trajectory, time) float32 1MB ...
    sea_surface_wave_stokes_drift_y_velocity  (trajectory, time) float32 1MB ...
    sea_floor_depth_below_sea_level           (trajectory, time) float32 1MB ...
    land_binary_mask                          (trajectory, time) float32 1MB ...
Attributes: (12/119)
    Conventions:                                                           CF...
    standard_name_vocabulary:                                              CF...
    featureType:                                                           tr...
    title:                                                                 Op...
    summary:                                                               Ou...
    keywords:                                                              tr...
    ...                                                                    ...
    geospatial_lon_units:                                                  de...
    geospatial_lon_resolution:                                             point
    runtime:                                                               0:...
    geospatial_vertical_min:                                               0.0
    geospatial_vertical_max:                                               0.0
    geospatial_vertical_positive:                                          up


Ensemble members are recycled among the 10000 particles

ensemble_number = np.remainder(np.arange(o.num_elements_total()), len(r.realizations)) + 1
o.animation(fast=True, color=ensemble_number, legend=['Member ' + str(i) for i in r.realizations], colorbar=False)
16:17:53 WARNING opendrift:2470: Plotting fast. This will make your plots less accurate.
16:17:56 INFO    opendrift:4651: Saving animation to /root/project/docs/source/gallery/animations/example_ensemble_0.gif...
16:18:37 INFO    opendrift:3086: Time to make animation: 0:00:43.355031

We see that elements forced by different wind ensemble members move differently

../_images/example_ensemble_0.gif
o.plot_memory_usage()
example ensemble

Total running time of the script: (1 minutes 54.793 seconds)

Gallery generated by Sphinx-Gallery