Model landmask

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

from datetime import timedelta

from opendrift import test_data_folder as tdf
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(tdf +
    '2Feb2016_Nordic_sigma_3d/Nordic-4km_SLEVELS_avg_00_subset2Feb2016.nc')
14:11:30 INFO    opendrift:568: OpenDriftSimulation initialised (version 1.14.2 / v1.14.2-123-gaca557f)
14:11:30 INFO    opendrift.readers:61: Opening file with xr.open_dataset
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for land_binary_mask, selecting mask_psi, and discarding mask_rho
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for latitude, selecting lat_psi, and discarding lat_rho
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for latitude, selecting lat_psi, and discarding lat_u
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for latitude, selecting lat_psi, and discarding lat_v
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for longitude, selecting lon_psi, and discarding lon_rho
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for longitude, selecting lon_psi, and discarding lon_u
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for longitude, selecting lon_psi, and discarding lon_v
14:11:31 WARNING opendrift.readers.reader_ROMS_native:282: Duplicate variables for ocean_s_coordinate_g2, selecting s_rho, and discarding s_w
14:11:31 INFO    opendrift.readers.reader_ROMS_native:289: The following variables without standard_name are discarded: ['AICEnudass', 'Akk_bak', 'Akp_bak', 'Akt_bak', 'Akv_bak', 'Charnok_alpha', 'CrgBan_cw', 'Cs_r', 'Cs_w', 'FSobc_in', 'FSobc_out', 'Falpha', 'Fbeta', 'Fgamma', 'LtracerSrc', 'M2nudg', 'M2obc_in', 'M2obc_out', 'M3nudg', 'M3obc_in', 'M3obc_out', 'Tcline', 'Tnudg', 'Tobc_in', 'Tobc_out', 'Vstretching', 'Vtransform', 'Znudg', 'Zob', 'Zos', 'Zos_hsig_alpha', 'angle', 'dstart', 'dt', 'dtfast', 'el', 'f', 'gamma2', 'gls_Kmin', 'gls_Pmin', 'gls_c1', 'gls_c2', 'gls_c3m', 'gls_c3p', 'gls_cmu0', 'gls_m', 'gls_n', 'gls_p', 'gls_sigk', 'gls_sigp', 'hc', 'mask_u', 'mask_v', 'nAVG', 'nHIS', 'nRST', 'nSTA', 'ndefAVG', 'ndefHIS', 'ndtfast', 'ntimes', 'ntsAVG', 'pm', 'pn', 'rdrg', 'rdrg2', 'rho0', 'spherical', 'swrad', 'sz_alpha', 'theta_b', 'theta_s', 'ubar', 'vbar', 'xl', 'zeta_detided', 'ocean_time']
14:11:31 WARNING opendrift.readers.basereader.structured:50: No proj string or projection could be derived for reader roms native, using 'fakeproj'.
14:11:31 INFO    opendrift.readers.basereader.structured:88: 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.set_config('general:use_auto_landmask', True)
o.seed_elements(lon, lat, radius=3000, number=1000, time=time)
o.run(end_time=reader_nordic.end_time, time_step=1800, time_step_output=3*3600)
14:11:31 INFO    opendrift.models.basemodel.environment:206: Adding a global landmask from GSHHG
14:11:35 INFO    opendrift.models.basemodel.environment:229: Fallback values will be used for the following variables which have no readers:
14:11:35 INFO    opendrift.models.basemodel.environment:232:    x_wind: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    y_wind: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    upward_sea_water_velocity: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    ocean_vertical_diffusivity: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_significant_height: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
14:11:35 INFO    opendrift.models.basemodel.environment:232:    ocean_mixed_layer_thickness: 50.000000
14:11:35 INFO    opendrift:1778: Skipping environment variable ocean_vertical_diffusivity because of condition ['drift:vertical_mixing', 'is', False]
14:11:35 INFO    opendrift:1778: Skipping environment variable ocean_mixed_layer_thickness because of condition ['drift:vertical_mixing', 'is', False]
14:11:35 INFO    opendrift:1789: Storing previous values of element property lon because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
14:11:35 INFO    opendrift:1789: Storing previous values of element property lat because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
14:11:35 INFO    opendrift:1797: Storing previous values of environment variable sea_surface_height because of condition ['drift:vertical_advection', 'is', True]
14:11:35 INFO    opendrift:944: Using existing reader for land_binary_mask to move elements to ocean
14:11:37 INFO    opendrift:976: Moving 3 out of 1000 points from land to water
14:11:37 INFO    opendrift:2085: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
14:11:37 INFO    opendrift.readers.reader_ROMS_native:339: Using mask_rho for mask_rho
14:11:37 INFO    opendrift.readers.reader_ROMS_native:360: Using mask_u for mask_u
14:11:37 INFO    opendrift.readers.reader_ROMS_native:381: Using mask_v for mask_v
14:11:37 INFO    opendrift.readers.reader_ROMS_native:404: Using angle from Dataset.
14:11:37 INFO    opendrift:2085: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 13:00:00 - step 3 of 96 - 996 active elements (4 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 13:30:00 - step 4 of 96 - 995 active elements (5 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 14:00:00 - step 5 of 96 - 995 active elements (5 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 14:30:00 - step 6 of 96 - 994 active elements (6 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 15:00:00 - step 7 of 96 - 994 active elements (6 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 15:30:00 - step 8 of 96 - 993 active elements (7 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 16:00:00 - step 9 of 96 - 992 active elements (8 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 16:30:00 - step 10 of 96 - 992 active elements (8 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 17:00:00 - step 11 of 96 - 992 active elements (8 deactivated)
14:11:38 INFO    opendrift:2085: 2016-02-02 17:30:00 - step 12 of 96 - 989 active elements (11 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 18:00:00 - step 13 of 96 - 988 active elements (12 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 18:30:00 - step 14 of 96 - 988 active elements (12 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 19:00:00 - step 15 of 96 - 988 active elements (12 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 19:30:00 - step 16 of 96 - 987 active elements (13 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 20:00:00 - step 17 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 20:30:00 - step 18 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 21:00:00 - step 19 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 21:30:00 - step 20 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 22:00:00 - step 21 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 22:30:00 - step 22 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 23:00:00 - step 23 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-02 23:30:00 - step 24 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 00:00:00 - step 25 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 00:30:00 - step 26 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 01:00:00 - step 27 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 01:30:00 - step 28 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 02:00:00 - step 29 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 02:30:00 - step 30 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 03:00:00 - step 31 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 03:30:00 - step 32 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 04:00:00 - step 33 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 04:30:00 - step 34 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 05:00:00 - step 35 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 05:30:00 - step 36 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 06:00:00 - step 37 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 06:30:00 - step 38 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 07:00:00 - step 39 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 07:30:00 - step 40 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 08:00:00 - step 41 of 96 - 986 active elements (14 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 08:30:00 - step 42 of 96 - 985 active elements (15 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 09:00:00 - step 43 of 96 - 985 active elements (15 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 09:30:00 - step 44 of 96 - 984 active elements (16 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 10:00:00 - step 45 of 96 - 984 active elements (16 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 10:30:00 - step 46 of 96 - 982 active elements (18 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 11:00:00 - step 47 of 96 - 982 active elements (18 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 11:30:00 - step 48 of 96 - 980 active elements (20 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 12:00:00 - step 49 of 96 - 979 active elements (21 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 12:30:00 - step 50 of 96 - 977 active elements (23 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 13:00:00 - step 51 of 96 - 976 active elements (24 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 13:30:00 - step 52 of 96 - 975 active elements (25 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 14:00:00 - step 53 of 96 - 975 active elements (25 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 14:30:00 - step 54 of 96 - 975 active elements (25 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 15:00:00 - step 55 of 96 - 974 active elements (26 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 15:30:00 - step 56 of 96 - 971 active elements (29 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 16:00:00 - step 57 of 96 - 969 active elements (31 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 16:30:00 - step 58 of 96 - 964 active elements (36 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 17:00:00 - step 59 of 96 - 958 active elements (42 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 17:30:00 - step 60 of 96 - 956 active elements (44 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 18:00:00 - step 61 of 96 - 953 active elements (47 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 18:30:00 - step 62 of 96 - 945 active elements (55 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 19:00:00 - step 63 of 96 - 942 active elements (58 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 19:30:00 - step 64 of 96 - 939 active elements (61 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 20:00:00 - step 65 of 96 - 935 active elements (65 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 20:30:00 - step 66 of 96 - 931 active elements (69 deactivated)
14:11:39 INFO    opendrift:2085: 2016-02-03 21:00:00 - step 67 of 96 - 930 active elements (70 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-03 21:30:00 - step 68 of 96 - 928 active elements (72 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-03 22:00:00 - step 69 of 96 - 924 active elements (76 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-03 22:30:00 - step 70 of 96 - 918 active elements (82 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-03 23:00:00 - step 71 of 96 - 913 active elements (87 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-03 23:30:00 - step 72 of 96 - 908 active elements (92 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 00:00:00 - step 73 of 96 - 899 active elements (101 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 00:30:00 - step 74 of 96 - 890 active elements (110 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 01:00:00 - step 75 of 96 - 882 active elements (118 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 01:30:00 - step 76 of 96 - 877 active elements (123 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 02:00:00 - step 77 of 96 - 870 active elements (130 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 02:30:00 - step 78 of 96 - 863 active elements (137 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 03:00:00 - step 79 of 96 - 859 active elements (141 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 03:30:00 - step 80 of 96 - 847 active elements (153 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 04:00:00 - step 81 of 96 - 845 active elements (155 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 04:30:00 - step 82 of 96 - 840 active elements (160 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 05:00:00 - step 83 of 96 - 833 active elements (167 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 05:30:00 - step 84 of 96 - 823 active elements (177 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 06:00:00 - step 85 of 96 - 810 active elements (190 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 06:30:00 - step 86 of 96 - 799 active elements (201 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 07:00:00 - step 87 of 96 - 789 active elements (211 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 07:30:00 - step 88 of 96 - 777 active elements (223 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 08:00:00 - step 89 of 96 - 772 active elements (228 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 08:30:00 - step 90 of 96 - 757 active elements (243 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 09:00:00 - step 91 of 96 - 751 active elements (249 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 09:30:00 - step 92 of 96 - 747 active elements (253 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 10:00:00 - step 93 of 96 - 740 active elements (260 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 10:30:00 - step 94 of 96 - 738 active elements (262 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 11:00:00 - step 95 of 96 - 731 active elements (269 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-04 11:30:00 - step 96 of 96 - 723 active elements (277 deactivated)
<xarray.Dataset> Size: 1MB
Dimensions:                                   (trajectory: 1000, time: 17)
Coordinates:
  * trajectory                                (trajectory) int64 8kB 0 1 ... 999
  * time                                      (time) datetime64[ns] 136B 2016...
Data variables: (12/21)
    status                                    (trajectory, time) float32 68kB ...
    moving                                    (trajectory, time) float32 68kB ...
    age_seconds                               (trajectory, time) float32 68kB ...
    origin_marker                             (trajectory, time) float32 68kB ...
    lon                                       (trajectory, time) float32 68kB ...
    lat                                       (trajectory, time) float32 68kB ...
    ...                                        ...
    upward_sea_water_velocity                 (trajectory, time) float32 68kB ...
    sea_surface_wave_significant_height       (trajectory, time) float32 68kB ...
    sea_surface_wave_stokes_drift_x_velocity  (trajectory, time) float32 68kB ...
    sea_surface_wave_stokes_drift_y_velocity  (trajectory, time) float32 68kB ...
    sea_floor_depth_below_sea_level           (trajectory, time) float32 68kB ...
    land_binary_mask                          (trajectory, time) float32 68kB ...
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


Second run, with landmask from ocean model

o2 = OceanDrift(loglevel=20)
o2.add_reader([reader_nordic])
lon = 14.75; lat = 68.1
o2.set_config('general:use_auto_landmask', False)
o2.seed_elements(lon, lat, radius=3000, number=1000, time=time)
o2.run(end_time=reader_nordic.end_time, time_step=1800, time_step_output=3*3600)
14:11:40 INFO    opendrift:568: OpenDriftSimulation initialised (version 1.14.2 / v1.14.2-123-gaca557f)
14:11:40 INFO    opendrift.models.basemodel.environment:229: Fallback values will be used for the following variables which have no readers:
14:11:40 INFO    opendrift.models.basemodel.environment:232:    x_wind: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    y_wind: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    upward_sea_water_velocity: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    ocean_vertical_diffusivity: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_significant_height: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
14:11:40 INFO    opendrift.models.basemodel.environment:232:    ocean_mixed_layer_thickness: 50.000000
14:11:40 INFO    opendrift:1778: Skipping environment variable ocean_vertical_diffusivity because of condition ['drift:vertical_mixing', 'is', False]
14:11:40 INFO    opendrift:1778: Skipping environment variable ocean_mixed_layer_thickness because of condition ['drift:vertical_mixing', 'is', False]
14:11:40 INFO    opendrift:1789: Storing previous values of element property lon because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
14:11:40 INFO    opendrift:1789: Storing previous values of element property lat because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
14:11:40 INFO    opendrift:1797: Storing previous values of environment variable sea_surface_height because of condition ['drift:vertical_advection', 'is', True]
14:11:40 INFO    opendrift:944: Using existing reader for land_binary_mask to move elements to ocean
14:11:40 INFO    opendrift:974: All points are in ocean
14:11:40 INFO    opendrift:2085: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-02 13:00:00 - step 3 of 96 - 1000 active elements (0 deactivated)
14:11:40 INFO    opendrift:2085: 2016-02-02 13:30:00 - step 4 of 96 - 999 active elements (1 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 14:00:00 - step 5 of 96 - 998 active elements (2 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 14:30:00 - step 6 of 96 - 998 active elements (2 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 15:00:00 - step 7 of 96 - 997 active elements (3 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 15:30:00 - step 8 of 96 - 995 active elements (5 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 16:00:00 - step 9 of 96 - 992 active elements (8 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 16:30:00 - step 10 of 96 - 991 active elements (9 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 17:00:00 - step 11 of 96 - 989 active elements (11 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 17:30:00 - step 12 of 96 - 986 active elements (14 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 18:00:00 - step 13 of 96 - 981 active elements (19 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 18:30:00 - step 14 of 96 - 975 active elements (25 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 19:00:00 - step 15 of 96 - 970 active elements (30 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 19:30:00 - step 16 of 96 - 964 active elements (36 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 20:00:00 - step 17 of 96 - 957 active elements (43 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 20:30:00 - step 18 of 96 - 953 active elements (47 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 21:00:00 - step 19 of 96 - 949 active elements (51 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 21:30:00 - step 20 of 96 - 947 active elements (53 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 22:00:00 - step 21 of 96 - 944 active elements (56 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 22:30:00 - step 22 of 96 - 933 active elements (67 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 23:00:00 - step 23 of 96 - 926 active elements (74 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-02 23:30:00 - step 24 of 96 - 920 active elements (80 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 00:00:00 - step 25 of 96 - 912 active elements (88 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 00:30:00 - step 26 of 96 - 906 active elements (94 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 01:00:00 - step 27 of 96 - 894 active elements (106 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 01:30:00 - step 28 of 96 - 889 active elements (111 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 02:00:00 - step 29 of 96 - 881 active elements (119 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 02:30:00 - step 30 of 96 - 875 active elements (125 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 03:00:00 - step 31 of 96 - 864 active elements (136 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 03:30:00 - step 32 of 96 - 856 active elements (144 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 04:00:00 - step 33 of 96 - 848 active elements (152 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 04:30:00 - step 34 of 96 - 843 active elements (157 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 05:00:00 - step 35 of 96 - 836 active elements (164 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 05:30:00 - step 36 of 96 - 829 active elements (171 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 06:00:00 - step 37 of 96 - 826 active elements (174 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 06:30:00 - step 38 of 96 - 818 active elements (182 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 07:00:00 - step 39 of 96 - 815 active elements (185 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 07:30:00 - step 40 of 96 - 814 active elements (186 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 08:00:00 - step 41 of 96 - 809 active elements (191 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 08:30:00 - step 42 of 96 - 806 active elements (194 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 09:00:00 - step 43 of 96 - 797 active elements (203 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 09:30:00 - step 44 of 96 - 792 active elements (208 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 10:00:00 - step 45 of 96 - 786 active elements (214 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 10:30:00 - step 46 of 96 - 780 active elements (220 deactivated)
14:11:41 INFO    opendrift:2085: 2016-02-03 11:00:00 - step 47 of 96 - 774 active elements (226 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 11:30:00 - step 48 of 96 - 771 active elements (229 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 12:00:00 - step 49 of 96 - 765 active elements (235 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 12:30:00 - step 50 of 96 - 762 active elements (238 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 13:00:00 - step 51 of 96 - 756 active elements (244 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 13:30:00 - step 52 of 96 - 752 active elements (248 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 14:00:00 - step 53 of 96 - 751 active elements (249 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 14:30:00 - step 54 of 96 - 749 active elements (251 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 15:00:00 - step 55 of 96 - 747 active elements (253 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 15:30:00 - step 56 of 96 - 743 active elements (257 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 16:00:00 - step 57 of 96 - 742 active elements (258 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 16:30:00 - step 58 of 96 - 741 active elements (259 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 17:00:00 - step 59 of 96 - 739 active elements (261 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 17:30:00 - step 60 of 96 - 738 active elements (262 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 18:00:00 - step 61 of 96 - 732 active elements (268 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 18:30:00 - step 62 of 96 - 732 active elements (268 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 19:00:00 - step 63 of 96 - 732 active elements (268 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 19:30:00 - step 64 of 96 - 730 active elements (270 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 20:00:00 - step 65 of 96 - 730 active elements (270 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 20:30:00 - step 66 of 96 - 729 active elements (271 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 21:00:00 - step 67 of 96 - 728 active elements (272 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 21:30:00 - step 68 of 96 - 726 active elements (274 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 22:00:00 - step 69 of 96 - 724 active elements (276 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 22:30:00 - step 70 of 96 - 724 active elements (276 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 23:00:00 - step 71 of 96 - 724 active elements (276 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-03 23:30:00 - step 72 of 96 - 724 active elements (276 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 00:00:00 - step 73 of 96 - 724 active elements (276 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 00:30:00 - step 74 of 96 - 723 active elements (277 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 01:00:00 - step 75 of 96 - 721 active elements (279 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 01:30:00 - step 76 of 96 - 721 active elements (279 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 02:00:00 - step 77 of 96 - 719 active elements (281 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 02:30:00 - step 78 of 96 - 719 active elements (281 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 03:00:00 - step 79 of 96 - 719 active elements (281 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 03:30:00 - step 80 of 96 - 718 active elements (282 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 04:00:00 - step 81 of 96 - 718 active elements (282 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 04:30:00 - step 82 of 96 - 718 active elements (282 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 05:00:00 - step 83 of 96 - 717 active elements (283 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 05:30:00 - step 84 of 96 - 717 active elements (283 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 06:00:00 - step 85 of 96 - 716 active elements (284 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 06:30:00 - step 86 of 96 - 716 active elements (284 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 07:00:00 - step 87 of 96 - 716 active elements (284 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 07:30:00 - step 88 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 08:00:00 - step 89 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 08:30:00 - step 90 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 09:00:00 - step 91 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 09:30:00 - step 92 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 10:00:00 - step 93 of 96 - 715 active elements (285 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 10:30:00 - step 94 of 96 - 714 active elements (286 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 11:00:00 - step 95 of 96 - 714 active elements (286 deactivated)
14:11:42 INFO    opendrift:2085: 2016-02-04 11:30:00 - step 96 of 96 - 714 active elements (286 deactivated)
<xarray.Dataset> Size: 1MB
Dimensions:                                   (trajectory: 1000, time: 17)
Coordinates:
  * trajectory                                (trajectory) int64 8kB 0 1 ... 999
  * time                                      (time) datetime64[ns] 136B 2016...
Data variables: (12/21)
    status                                    (trajectory, time) float32 68kB ...
    moving                                    (trajectory, time) float32 68kB ...
    age_seconds                               (trajectory, time) float32 68kB ...
    origin_marker                             (trajectory, time) float32 68kB ...
    lon                                       (trajectory, time) float32 68kB ...
    lat                                       (trajectory, time) float32 68kB ...
    ...                                        ...
    upward_sea_water_velocity                 (trajectory, time) float32 68kB ...
    sea_surface_wave_significant_height       (trajectory, time) float32 68kB ...
    sea_surface_wave_stokes_drift_x_velocity  (trajectory, time) float32 68kB ...
    sea_surface_wave_stokes_drift_y_velocity  (trajectory, time) float32 68kB ...
    sea_floor_depth_below_sea_level           (trajectory, time) float32 68kB ...
    land_binary_mask                          (trajectory, time) float32 68kB ...
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


from matplotlib.colors import ListedColormap
import cartopy.feature as cfeature
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)
(<GeoAxes: title={'center': 'OpenDrift - OceanDrift\n2016-02-02 12:00 to 2016-02-04 12:00 UTC (17 steps)'}>, <Figure size 1100x1014.37 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'])
14:12:08 INFO    opendrift:4609: Saving animation to /root/project/docs/source/gallery/animations/example_model_landmask_0.gif...
14:12:21 INFO    opendrift:3050: Time to make animation: 0:00:30.346826
../_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)
(<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 6.196 seconds)

Gallery generated by Sphinx-Gallery