Model landmask

Comparing two simulation runs, with landmask from ocean model and GSHHG

from datetime import timedelta

from opendrift.readers import reader_ROMS_native
from opendrift.models.oceandrift import OceanDrift

lon = 14.75; lat = 68.1

o = OceanDrift(loglevel=20)

reader_nordic = reader_ROMS_native.Reader(o.test_data_folder() +
    '2Feb2016_Nordic_sigma_3d/Nordic-4km_SLEVELS_avg_00_subset2Feb2016.nc')
14:22:51 INFO    opendrift.models.basemodel:539: OpenDriftSimulation initialised (version 1.10.7 / v1.10.6-119-g1da5bec)
14:22:51 INFO    opendrift.readers.reader_ROMS_native:90: Opening dataset: /root/project/tests/test_data/2Feb2016_Nordic_sigma_3d/Nordic-4km_SLEVELS_avg_00_subset2Feb2016.nc
14:22:51 INFO    opendrift.readers.reader_ROMS_native:107: Opening file with Dataset
14:22:51 INFO    opendrift.readers.reader_ROMS_native:181: Read GLS parameters from file.
14:22:51 WARNING opendrift.readers.basereader.structured:44: No proj string or projection could be derived, using 'fakeproj'. This assumes that the variables are structured and gridded approximately equidistantly on the surface (i.e. in meters). This must be guaranteed by the user. You can get rid of this warning by supplying a valid projection to the reader.
14:22:51 INFO    opendrift.readers.basereader.structured:59: Making interpolator for lon,lat to x,y conversion...

First run, with default GSHHG vector landmask

o.add_reader([reader_nordic])
time = reader_nordic.start_time
o.seed_elements(lon, lat, radius=3000, number=1000, time=time)
o.set_config('general:use_auto_landmask', True)
o.run(end_time=reader_nordic.end_time, time_step=1800, time_step_output=3*3600)
14:22:51 INFO    opendrift.models.basemodel:2591: Fallback values will be used for the following variables which have no readers:
14:22:51 INFO    opendrift.models.basemodel:2594:       x_wind: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       y_wind: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       upward_sea_water_velocity: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       ocean_vertical_diffusivity: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_significant_height: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_x_velocity: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_y_velocity: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_to_direction: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_peak_period_from_variance_spectral_density: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_significant_height: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_to_direction: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_mean_period: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_significant_height: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       surface_downward_x_stress: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       surface_downward_y_stress: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       turbulent_kinetic_energy: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       turbulent_generic_length_scale: 0.000000
14:22:51 INFO    opendrift.models.basemodel:2594:       ocean_mixed_layer_thickness: 50.000000
14:22:51 INFO    opendrift.models.basemodel:2753: Adding a dynamical landmask with max. priority based on assumed maximum speed of 1 m/s. Adding a customised landmask may be faster...
14:22:57 INFO    opendrift.models.basemodel:1701: Using existing reader for land_binary_mask
14:22:57 INFO    opendrift.models.basemodel:1715: Moving 3 out of 1000 points from land to water
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 13:00:00 - step 3 of 96 - 996 active elements (4 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 13:30:00 - step 4 of 96 - 995 active elements (5 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 14:00:00 - step 5 of 96 - 995 active elements (5 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 14:30:00 - step 6 of 96 - 994 active elements (6 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 15:00:00 - step 7 of 96 - 994 active elements (6 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 15:30:00 - step 8 of 96 - 993 active elements (7 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 16:00:00 - step 9 of 96 - 992 active elements (8 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 16:30:00 - step 10 of 96 - 992 active elements (8 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 17:00:00 - step 11 of 96 - 992 active elements (8 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 17:30:00 - step 12 of 96 - 989 active elements (11 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 18:00:00 - step 13 of 96 - 988 active elements (12 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 18:30:00 - step 14 of 96 - 988 active elements (12 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 19:00:00 - step 15 of 96 - 988 active elements (12 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 19:30:00 - step 16 of 96 - 987 active elements (13 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 20:00:00 - step 17 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 20:30:00 - step 18 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 21:00:00 - step 19 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 21:30:00 - step 20 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 22:00:00 - step 21 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 22:30:00 - step 22 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 23:00:00 - step 23 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-02 23:30:00 - step 24 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 00:00:00 - step 25 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 00:30:00 - step 26 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 01:00:00 - step 27 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 01:30:00 - step 28 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 02:00:00 - step 29 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 02:30:00 - step 30 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 03:00:00 - step 31 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 03:30:00 - step 32 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 04:00:00 - step 33 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 04:30:00 - step 34 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 05:00:00 - step 35 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 05:30:00 - step 36 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 06:00:00 - step 37 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 06:30:00 - step 38 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 07:00:00 - step 39 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 07:30:00 - step 40 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 08:00:00 - step 41 of 96 - 986 active elements (14 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 08:30:00 - step 42 of 96 - 985 active elements (15 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 09:00:00 - step 43 of 96 - 985 active elements (15 deactivated)
14:22:57 INFO    opendrift.models.basemodel:2882: 2016-02-03 09:30:00 - step 44 of 96 - 984 active elements (16 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 10:00:00 - step 45 of 96 - 984 active elements (16 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 10:30:00 - step 46 of 96 - 982 active elements (18 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 11:00:00 - step 47 of 96 - 982 active elements (18 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 11:30:00 - step 48 of 96 - 980 active elements (20 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 12:00:00 - step 49 of 96 - 979 active elements (21 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 12:30:00 - step 50 of 96 - 977 active elements (23 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 13:00:00 - step 51 of 96 - 976 active elements (24 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 13:30:00 - step 52 of 96 - 975 active elements (25 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 14:00:00 - step 53 of 96 - 975 active elements (25 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 14:30:00 - step 54 of 96 - 975 active elements (25 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 15:00:00 - step 55 of 96 - 974 active elements (26 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 15:30:00 - step 56 of 96 - 971 active elements (29 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 16:00:00 - step 57 of 96 - 969 active elements (31 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 16:30:00 - step 58 of 96 - 964 active elements (36 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 17:00:00 - step 59 of 96 - 958 active elements (42 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 17:30:00 - step 60 of 96 - 956 active elements (44 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 18:00:00 - step 61 of 96 - 953 active elements (47 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 18:30:00 - step 62 of 96 - 945 active elements (55 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 19:00:00 - step 63 of 96 - 942 active elements (58 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 19:30:00 - step 64 of 96 - 939 active elements (61 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 20:00:00 - step 65 of 96 - 935 active elements (65 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 20:30:00 - step 66 of 96 - 931 active elements (69 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 21:00:00 - step 67 of 96 - 930 active elements (70 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 21:30:00 - step 68 of 96 - 928 active elements (72 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 22:00:00 - step 69 of 96 - 924 active elements (76 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 22:30:00 - step 70 of 96 - 918 active elements (82 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 23:00:00 - step 71 of 96 - 913 active elements (87 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-03 23:30:00 - step 72 of 96 - 908 active elements (92 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 00:00:00 - step 73 of 96 - 899 active elements (101 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 00:30:00 - step 74 of 96 - 890 active elements (110 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 01:00:00 - step 75 of 96 - 882 active elements (118 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 01:30:00 - step 76 of 96 - 877 active elements (123 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 02:00:00 - step 77 of 96 - 870 active elements (130 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 02:30:00 - step 78 of 96 - 863 active elements (137 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 03:00:00 - step 79 of 96 - 859 active elements (141 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 03:30:00 - step 80 of 96 - 847 active elements (153 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 04:00:00 - step 81 of 96 - 845 active elements (155 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 04:30:00 - step 82 of 96 - 840 active elements (160 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 05:00:00 - step 83 of 96 - 833 active elements (167 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 05:30:00 - step 84 of 96 - 823 active elements (177 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 06:00:00 - step 85 of 96 - 810 active elements (190 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 06:30:00 - step 86 of 96 - 799 active elements (201 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 07:00:00 - step 87 of 96 - 789 active elements (211 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 07:30:00 - step 88 of 96 - 777 active elements (223 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 08:00:00 - step 89 of 96 - 772 active elements (228 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 08:30:00 - step 90 of 96 - 757 active elements (243 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 09:00:00 - step 91 of 96 - 751 active elements (249 deactivated)
14:22:58 INFO    opendrift.models.basemodel:2882: 2016-02-04 09:30:00 - step 92 of 96 - 747 active elements (253 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-04 10:00:00 - step 93 of 96 - 740 active elements (260 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-04 10:30:00 - step 94 of 96 - 738 active elements (262 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-04 11:00:00 - step 95 of 96 - 731 active elements (269 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-04 11:30:00 - step 96 of 96 - 723 active elements (277 deactivated)

Second run, with landmask from ocean model

o2 = OceanDrift(loglevel=20)
o2.add_reader([reader_nordic])
lon = 14.75; lat = 68.1
o2.seed_elements(lon, lat, radius=3000, number=1000, time=time)
o2.set_config('general:use_auto_landmask', False)
o2.run(end_time=reader_nordic.end_time, time_step=1800, time_step_output=3*3600)
14:22:59 INFO    opendrift.models.basemodel:539: OpenDriftSimulation initialised (version 1.10.7 / v1.10.6-119-g1da5bec)
14:22:59 INFO    opendrift.models.basemodel:2591: Fallback values will be used for the following variables which have no readers:
14:22:59 INFO    opendrift.models.basemodel:2594:       x_wind: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       y_wind: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       upward_sea_water_velocity: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       ocean_vertical_diffusivity: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_significant_height: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_x_velocity: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_y_velocity: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_to_direction: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_peak_period_from_variance_spectral_density: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_significant_height: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_to_direction: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_mean_period: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_significant_height: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       surface_downward_x_stress: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       surface_downward_y_stress: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       turbulent_kinetic_energy: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       turbulent_generic_length_scale: 0.000000
14:22:59 INFO    opendrift.models.basemodel:2594:       ocean_mixed_layer_thickness: 50.000000
14:22:59 INFO    opendrift.models.basemodel:1701: Using existing reader for land_binary_mask
14:22:59 INFO    opendrift.models.basemodel:1713: All points are in ocean
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 13:00:00 - step 3 of 96 - 1000 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 13:30:00 - step 4 of 96 - 999 active elements (1 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 14:00:00 - step 5 of 96 - 998 active elements (2 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 14:30:00 - step 6 of 96 - 997 active elements (3 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 15:00:00 - step 7 of 96 - 996 active elements (4 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 15:30:00 - step 8 of 96 - 992 active elements (8 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 16:00:00 - step 9 of 96 - 990 active elements (10 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 16:30:00 - step 10 of 96 - 985 active elements (15 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 17:00:00 - step 11 of 96 - 984 active elements (16 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 17:30:00 - step 12 of 96 - 979 active elements (21 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 18:00:00 - step 13 of 96 - 973 active elements (27 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 18:30:00 - step 14 of 96 - 968 active elements (32 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 19:00:00 - step 15 of 96 - 961 active elements (39 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 19:30:00 - step 16 of 96 - 953 active elements (47 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 20:00:00 - step 17 of 96 - 946 active elements (54 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 20:30:00 - step 18 of 96 - 941 active elements (59 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 21:00:00 - step 19 of 96 - 934 active elements (66 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 21:30:00 - step 20 of 96 - 929 active elements (71 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 22:00:00 - step 21 of 96 - 922 active elements (78 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 22:30:00 - step 22 of 96 - 908 active elements (92 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 23:00:00 - step 23 of 96 - 898 active elements (102 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-02 23:30:00 - step 24 of 96 - 889 active elements (111 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 00:00:00 - step 25 of 96 - 878 active elements (122 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 00:30:00 - step 26 of 96 - 862 active elements (138 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 01:00:00 - step 27 of 96 - 850 active elements (150 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 01:30:00 - step 28 of 96 - 844 active elements (156 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 02:00:00 - step 29 of 96 - 832 active elements (168 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 02:30:00 - step 30 of 96 - 821 active elements (179 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 03:00:00 - step 31 of 96 - 805 active elements (195 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 03:30:00 - step 32 of 96 - 798 active elements (202 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 04:00:00 - step 33 of 96 - 789 active elements (211 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 04:30:00 - step 34 of 96 - 782 active elements (218 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 05:00:00 - step 35 of 96 - 769 active elements (231 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 05:30:00 - step 36 of 96 - 758 active elements (242 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 06:00:00 - step 37 of 96 - 752 active elements (248 deactivated)
14:22:59 INFO    opendrift.models.basemodel:2882: 2016-02-03 06:30:00 - step 38 of 96 - 742 active elements (258 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 07:00:00 - step 39 of 96 - 736 active elements (264 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 07:30:00 - step 40 of 96 - 733 active elements (267 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 08:00:00 - step 41 of 96 - 729 active elements (271 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 08:30:00 - step 42 of 96 - 724 active elements (276 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 09:00:00 - step 43 of 96 - 713 active elements (287 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 09:30:00 - step 44 of 96 - 708 active elements (292 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 10:00:00 - step 45 of 96 - 697 active elements (303 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 10:30:00 - step 46 of 96 - 690 active elements (310 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 11:00:00 - step 47 of 96 - 680 active elements (320 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 11:30:00 - step 48 of 96 - 676 active elements (324 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 12:00:00 - step 49 of 96 - 669 active elements (331 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 12:30:00 - step 50 of 96 - 665 active elements (335 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 13:00:00 - step 51 of 96 - 655 active elements (345 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 13:30:00 - step 52 of 96 - 647 active elements (353 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 14:00:00 - step 53 of 96 - 646 active elements (354 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 14:30:00 - step 54 of 96 - 640 active elements (360 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 15:00:00 - step 55 of 96 - 635 active elements (365 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 15:30:00 - step 56 of 96 - 633 active elements (367 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 16:00:00 - step 57 of 96 - 630 active elements (370 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 16:30:00 - step 58 of 96 - 629 active elements (371 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 17:00:00 - step 59 of 96 - 627 active elements (373 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 17:30:00 - step 60 of 96 - 623 active elements (377 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 18:00:00 - step 61 of 96 - 622 active elements (378 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 18:30:00 - step 62 of 96 - 621 active elements (379 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 19:00:00 - step 63 of 96 - 619 active elements (381 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 19:30:00 - step 64 of 96 - 616 active elements (384 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 20:00:00 - step 65 of 96 - 616 active elements (384 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 20:30:00 - step 66 of 96 - 613 active elements (387 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 21:00:00 - step 67 of 96 - 612 active elements (388 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 21:30:00 - step 68 of 96 - 610 active elements (390 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 22:00:00 - step 69 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 22:30:00 - step 70 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 23:00:00 - step 71 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-03 23:30:00 - step 72 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 00:00:00 - step 73 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 00:30:00 - step 74 of 96 - 606 active elements (394 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 01:00:00 - step 75 of 96 - 603 active elements (397 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 01:30:00 - step 76 of 96 - 603 active elements (397 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 02:00:00 - step 77 of 96 - 602 active elements (398 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 02:30:00 - step 78 of 96 - 601 active elements (399 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 03:00:00 - step 79 of 96 - 601 active elements (399 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 03:30:00 - step 80 of 96 - 600 active elements (400 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 04:00:00 - step 81 of 96 - 599 active elements (401 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 04:30:00 - step 82 of 96 - 599 active elements (401 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 05:00:00 - step 83 of 96 - 598 active elements (402 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 05:30:00 - step 84 of 96 - 598 active elements (402 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 06:00:00 - step 85 of 96 - 597 active elements (403 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 06:30:00 - step 86 of 96 - 596 active elements (404 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 07:00:00 - step 87 of 96 - 596 active elements (404 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 07:30:00 - step 88 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 08:00:00 - step 89 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 08:30:00 - step 90 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 09:00:00 - step 91 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 09:30:00 - step 92 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 10:00:00 - step 93 of 96 - 595 active elements (405 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 10:30:00 - step 94 of 96 - 594 active elements (406 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 11:00:00 - step 95 of 96 - 593 active elements (407 deactivated)
14:23:00 INFO    opendrift.models.basemodel:2882: 2016-02-04 11:30:00 - step 96 of 96 - 593 active elements (407 deactivated)
from matplotlib.colors import ListedColormap
import cartopy.feature as cfeature
#cmap = ListedColormap(('blue', 'red'))
cmap = ListedColormap((cfeature.COLORS['water'],
                       cfeature.COLORS['land']))

To only show the landmask from the model, hide the coastline landmask by doing:

o2.plot(background='land_binary_mask', hide_landmask=True, cmap=cmap)
OpenDrift - OceanDrift 2016-02-02 12:00 to 2016-02-04 12:00 UTC (17 steps)
0.3984006735749549 ALPHA

(<GeoAxes: title={'center': 'OpenDrift - OceanDrift\n2016-02-02 12:00 to 2016-02-04 12:00 UTC (17 steps)'}>, <Figure size 1100x1004.53 with 2 Axes>)

Animation illustrating that red particles strand at ocean model land cells, and black particles strand at GSHHG land polygons

o.animation(compare=o2, background='land_binary_mask', cmap=cmap,
            legend=['Default GSHHG landmask', 'Ocean model landmask'])
/opt/conda/envs/opendrift/lib/python3.11/site-packages/cartopy/mpl/geoaxes.py:1696: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored
  result = super().scatter(*args, **kwargs)
14:23:29 INFO    opendrift.models.basemodel:5350: Saving animation to /root/project/docs/source/gallery/animations/example_model_landmask_0.gif...
14:24:16 INFO    opendrift.models.basemodel:3848: Time to make animation: 0:01:10.294369
../_images/example_model_landmask_0.gif
o.plot(compare=o2, background='land_binary_mask', cmap=cmap,
       legend=['Default GSHHG landmask', 'Ocean model landmask'])
OpenDrift - OceanDrift 2016-02-02 12:00 to 2016-02-04 12:00 UTC (17 steps)
0.3984006735749549 ALPHA

(<GeoAxes: title={'center': 'OpenDrift - OceanDrift\n2016-02-02 12:00 to 2016-02-04 12:00 UTC (17 steps)'}>, <Figure size 1100x1074.35 with 2 Axes>)

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

Gallery generated by Sphinx-Gallery