Note
Go to the end to download the full example code.
Grid
import numpy as np
from opendrift.readers import reader_netCDF_CF_generic
from opendrift.models.oceandrift import OceanDrift
o = OceanDrift(loglevel=20) # Set loglevel to 0 for debug information
# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(o.test_data_folder() + '16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')
o.add_reader(reader_norkyst)
#o.set_config('environment:fallback:land_binary_mask', 0)
o.set_config('drift:vertical_mixing', False)
15:25:19 INFO opendrift:509: OpenDriftSimulation initialised (version 1.13.1 / v1.13.1-82-gbc545aa)
15:25:19 INFO opendrift.readers:61: Opening file with xr.open_dataset
15:25:19 INFO opendrift.readers.reader_netCDF_CF_generic:332: Detected dimensions: {'x': 'X', 'y': 'Y', 'z': 'depth', 'time': 'time'}
Seeding some particles
lons = np.linspace(3.5, 5.0, 100)
lats = np.linspace(60, 61, 100)
lons, lats = np.meshgrid(lons, lats)
lons = lons.ravel()
lats = lats.ravel()
o.seed_elements(lons, lats, radius=0, number=10000,
time=reader_norkyst.start_time)
15:25:19 INFO opendrift.models.basemodel.environment:206: Adding a global landmask from GSHHG
15:25:23 INFO opendrift.models.basemodel.environment:229: Fallback values will be used for the following variables which have no readers:
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_height: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: x_wind: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: y_wind: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: upward_sea_water_velocity: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: ocean_vertical_diffusivity: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wave_significant_height: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wave_stokes_drift_x_velocity: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wave_stokes_drift_y_velocity: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_swell_wave_to_direction: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_swell_wave_peak_period_from_variance_spectral_density: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_swell_wave_significant_height: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wind_wave_to_direction: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wind_wave_mean_period: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_surface_wind_wave_significant_height: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: surface_downward_x_stress: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: surface_downward_y_stress: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: turbulent_kinetic_energy: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: turbulent_generic_length_scale: 0.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: ocean_mixed_layer_thickness: 50.000000
15:25:23 INFO opendrift.models.basemodel.environment:232: sea_floor_depth_below_sea_level: 10000.000000
Running model
o.run(steps=60*2, time_step=1800, time_step_output=1800)
15:25:23 INFO opendrift:907: Using existing reader for land_binary_mask
15:25:25 INFO opendrift:938: Moving 469 out of 10000 points from land to water
15:25:25 INFO opendrift:2069: 2015-11-16 00:00:00 - step 1 of 120 - 10000 active elements (0 deactivated)
15:25:25 INFO opendrift:2069: 2015-11-16 00:30:00 - step 2 of 120 - 10000 active elements (0 deactivated)
15:25:27 INFO opendrift:2069: 2015-11-16 01:00:00 - step 3 of 120 - 9756 active elements (244 deactivated)
15:25:27 INFO opendrift:2069: 2015-11-16 01:30:00 - step 4 of 120 - 9588 active elements (412 deactivated)
15:25:27 INFO opendrift:2069: 2015-11-16 02:00:00 - step 5 of 120 - 9495 active elements (505 deactivated)
15:25:27 INFO opendrift:2069: 2015-11-16 02:30:00 - step 6 of 120 - 9439 active elements (561 deactivated)
15:25:27 INFO opendrift:2069: 2015-11-16 03:00:00 - step 7 of 120 - 9386 active elements (614 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 03:30:00 - step 8 of 120 - 9348 active elements (652 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 04:00:00 - step 9 of 120 - 9307 active elements (693 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 04:30:00 - step 10 of 120 - 9276 active elements (724 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 05:00:00 - step 11 of 120 - 9247 active elements (753 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 05:30:00 - step 12 of 120 - 9216 active elements (784 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 06:00:00 - step 13 of 120 - 9196 active elements (804 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 06:30:00 - step 14 of 120 - 9167 active elements (833 deactivated)
15:25:28 INFO opendrift:2069: 2015-11-16 07:00:00 - step 15 of 120 - 9150 active elements (850 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 07:30:00 - step 16 of 120 - 9125 active elements (875 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 08:00:00 - step 17 of 120 - 9104 active elements (896 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 08:30:00 - step 18 of 120 - 9082 active elements (918 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 09:00:00 - step 19 of 120 - 9049 active elements (951 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 09:30:00 - step 20 of 120 - 9024 active elements (976 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 10:00:00 - step 21 of 120 - 8992 active elements (1008 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 10:30:00 - step 22 of 120 - 8963 active elements (1037 deactivated)
15:25:29 INFO opendrift:2069: 2015-11-16 11:00:00 - step 23 of 120 - 8940 active elements (1060 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 11:30:00 - step 24 of 120 - 8917 active elements (1083 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 12:00:00 - step 25 of 120 - 8894 active elements (1106 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 12:30:00 - step 26 of 120 - 8864 active elements (1136 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 13:00:00 - step 27 of 120 - 8832 active elements (1168 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 13:30:00 - step 28 of 120 - 8797 active elements (1203 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 14:00:00 - step 29 of 120 - 8776 active elements (1224 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 14:30:00 - step 30 of 120 - 8759 active elements (1241 deactivated)
15:25:30 INFO opendrift:2069: 2015-11-16 15:00:00 - step 31 of 120 - 8740 active elements (1260 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 15:30:00 - step 32 of 120 - 8730 active elements (1270 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 16:00:00 - step 33 of 120 - 8709 active elements (1291 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 16:30:00 - step 34 of 120 - 8690 active elements (1310 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 17:00:00 - step 35 of 120 - 8669 active elements (1331 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 17:30:00 - step 36 of 120 - 8661 active elements (1339 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 18:00:00 - step 37 of 120 - 8640 active elements (1360 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 18:30:00 - step 38 of 120 - 8622 active elements (1378 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 19:00:00 - step 39 of 120 - 8599 active elements (1401 deactivated)
15:25:31 INFO opendrift:2069: 2015-11-16 19:30:00 - step 40 of 120 - 8571 active elements (1429 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 20:00:00 - step 41 of 120 - 8554 active elements (1446 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 20:30:00 - step 42 of 120 - 8532 active elements (1468 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 21:00:00 - step 43 of 120 - 8484 active elements (1516 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 21:30:00 - step 44 of 120 - 8445 active elements (1555 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 22:00:00 - step 45 of 120 - 8422 active elements (1578 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 22:30:00 - step 46 of 120 - 8400 active elements (1600 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 23:00:00 - step 47 of 120 - 8382 active elements (1618 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-16 23:30:00 - step 48 of 120 - 8360 active elements (1640 deactivated)
15:25:32 INFO opendrift:2069: 2015-11-17 00:00:00 - step 49 of 120 - 8340 active elements (1660 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 00:30:00 - step 50 of 120 - 8320 active elements (1680 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 01:00:00 - step 51 of 120 - 8302 active elements (1698 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 01:30:00 - step 52 of 120 - 8279 active elements (1721 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 02:00:00 - step 53 of 120 - 8258 active elements (1742 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 02:30:00 - step 54 of 120 - 8232 active elements (1768 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 03:00:00 - step 55 of 120 - 8203 active elements (1797 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 03:30:00 - step 56 of 120 - 8175 active elements (1825 deactivated)
15:25:33 INFO opendrift:2069: 2015-11-17 04:00:00 - step 57 of 120 - 8159 active elements (1841 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 04:30:00 - step 58 of 120 - 8146 active elements (1854 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 05:00:00 - step 59 of 120 - 8134 active elements (1866 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 05:30:00 - step 60 of 120 - 8121 active elements (1879 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 06:00:00 - step 61 of 120 - 8103 active elements (1897 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 06:30:00 - step 62 of 120 - 8089 active elements (1911 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 07:00:00 - step 63 of 120 - 8073 active elements (1927 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 07:30:00 - step 64 of 120 - 8056 active elements (1944 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 08:00:00 - step 65 of 120 - 8025 active elements (1975 deactivated)
15:25:34 INFO opendrift:2069: 2015-11-17 08:30:00 - step 66 of 120 - 7995 active elements (2005 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 09:00:00 - step 67 of 120 - 7972 active elements (2028 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 09:30:00 - step 68 of 120 - 7960 active elements (2040 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 10:00:00 - step 69 of 120 - 7949 active elements (2051 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 10:30:00 - step 70 of 120 - 7932 active elements (2068 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 11:00:00 - step 71 of 120 - 7919 active elements (2081 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 11:30:00 - step 72 of 120 - 7897 active elements (2103 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 12:00:00 - step 73 of 120 - 7885 active elements (2115 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 12:30:00 - step 74 of 120 - 7877 active elements (2123 deactivated)
15:25:35 INFO opendrift:2069: 2015-11-17 13:00:00 - step 75 of 120 - 7868 active elements (2132 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 13:30:00 - step 76 of 120 - 7866 active elements (2134 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 14:00:00 - step 77 of 120 - 7863 active elements (2137 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 14:30:00 - step 78 of 120 - 7856 active elements (2144 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 15:00:00 - step 79 of 120 - 7847 active elements (2153 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 15:30:00 - step 80 of 120 - 7842 active elements (2158 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 16:00:00 - step 81 of 120 - 7833 active elements (2167 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 16:30:00 - step 82 of 120 - 7822 active elements (2178 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 17:00:00 - step 83 of 120 - 7818 active elements (2182 deactivated)
15:25:36 INFO opendrift:2069: 2015-11-17 17:30:00 - step 84 of 120 - 7814 active elements (2186 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 18:00:00 - step 85 of 120 - 7813 active elements (2187 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 18:30:00 - step 86 of 120 - 7811 active elements (2189 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 19:00:00 - step 87 of 120 - 7807 active elements (2193 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 19:30:00 - step 88 of 120 - 7802 active elements (2198 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 20:00:00 - step 89 of 120 - 7791 active elements (2209 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 20:30:00 - step 90 of 120 - 7779 active elements (2221 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 21:00:00 - step 91 of 120 - 7768 active elements (2232 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 21:30:00 - step 92 of 120 - 7762 active elements (2238 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 22:00:00 - step 93 of 120 - 7756 active elements (2244 deactivated)
15:25:37 INFO opendrift:2069: 2015-11-17 22:30:00 - step 94 of 120 - 7748 active elements (2252 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-17 23:00:00 - step 95 of 120 - 7745 active elements (2255 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-17 23:30:00 - step 96 of 120 - 7733 active elements (2267 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 00:00:00 - step 97 of 120 - 7724 active elements (2276 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 00:30:00 - step 98 of 120 - 7717 active elements (2283 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 01:00:00 - step 99 of 120 - 7713 active elements (2287 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 01:30:00 - step 100 of 120 - 7703 active elements (2297 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 02:00:00 - step 101 of 120 - 7697 active elements (2303 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 02:30:00 - step 102 of 120 - 7692 active elements (2308 deactivated)
15:25:38 INFO opendrift:2069: 2015-11-18 03:00:00 - step 103 of 120 - 7687 active elements (2313 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 03:30:00 - step 104 of 120 - 7683 active elements (2317 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 04:00:00 - step 105 of 120 - 7673 active elements (2327 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 04:30:00 - step 106 of 120 - 7670 active elements (2330 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 05:00:00 - step 107 of 120 - 7670 active elements (2330 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 05:30:00 - step 108 of 120 - 7670 active elements (2330 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 06:00:00 - step 109 of 120 - 7670 active elements (2330 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 06:30:00 - step 110 of 120 - 7669 active elements (2331 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 07:00:00 - step 111 of 120 - 7669 active elements (2331 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 07:30:00 - step 112 of 120 - 7668 active elements (2332 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 08:00:00 - step 113 of 120 - 7667 active elements (2333 deactivated)
15:25:39 INFO opendrift:2069: 2015-11-18 08:30:00 - step 114 of 120 - 7666 active elements (2334 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 09:00:00 - step 115 of 120 - 7665 active elements (2335 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 09:30:00 - step 116 of 120 - 7662 active elements (2338 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 10:00:00 - step 117 of 120 - 7661 active elements (2339 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 10:30:00 - step 118 of 120 - 7660 active elements (2340 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 11:00:00 - step 119 of 120 - 7658 active elements (2342 deactivated)
15:25:40 INFO opendrift:2069: 2015-11-18 11:30:00 - step 120 of 120 - 7658 active elements (2342 deactivated)
Print and plot results
print(o)
o.animation(fast=False, corners=[3.5, 5.5, 59.9, 61.2])
===========================
--------------------
Reader performance:
--------------------
/root/project/tests/test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc
0:00:01.8 total
0:00:00.0 preparing
0:00:00.7 reading
0:00:00.4 interpolation
0:00:00.0 interpolation_time
0:00:01.0 rotating vectors
0:00:00.0 masking
--------------------
global_landmask
0:00:01.7 total
0:00:00.0 preparing
0:00:01.7 reading
0:00:00.0 masking
--------------------
Performance:
21.6 total time
4.6 configuration
1.6 preparing main loop
1.5 moving elements to ocean
15.2 main loop
0.5 updating elements
0.0 cleaning up
--------------------
===========================
Model: OceanDrift (OpenDrift version 1.13.1)
7649 active Lagrangian3DArray particles (2351 deactivated, 0 scheduled)
-------------------
Environment variables:
-----
x_sea_water_velocity
y_sea_water_velocity
1) /root/project/tests/test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc
-----
land_binary_mask
1) global_landmask
-----
Readers not added for the following variables:
ocean_mixed_layer_thickness
ocean_vertical_diffusivity
sea_floor_depth_below_sea_level
sea_surface_height
sea_surface_swell_wave_peak_period_from_variance_spectral_density
sea_surface_swell_wave_significant_height
sea_surface_swell_wave_to_direction
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
sea_surface_wind_wave_mean_period
sea_surface_wind_wave_significant_height
sea_surface_wind_wave_to_direction
surface_downward_x_stress
surface_downward_y_stress
turbulent_generic_length_scale
turbulent_kinetic_energy
upward_sea_water_velocity
x_wind
y_wind
Discarded readers:
Time:
Start: 2015-11-16 00:00:00 UTC
Present: 2015-11-18 12:00:00 UTC
Calculation steps: 120 * 0:30:00 - total time: 2 days, 12:00:00
Output steps: 121 * 0:30:00
===========================
15:26:03 INFO opendrift:4617: Saving animation to /root/project/docs/source/gallery/animations/example_grid_0.gif...
15:28:04 INFO opendrift:3053: Time to make animation: 0:02:23.298937

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