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')
17:11:39 INFO    opendrift:569: OpenDriftSimulation initialised (version 1.14.11 / v1.14.12-66-g07283eb)
17:11:39 INFO    opendrift.readers:67: Opening file with xr.open_dataset
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for land_binary_mask, selecting mask_psi, and discarding mask_rho
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for latitude, selecting lat_psi, and discarding lat_rho
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for latitude, selecting lat_psi, and discarding lat_u
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for latitude, selecting lat_psi, and discarding lat_v
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for longitude, selecting lon_psi, and discarding lon_rho
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for longitude, selecting lon_psi, and discarding lon_u
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for longitude, selecting lon_psi, and discarding lon_v
17:11:39 WARNING opendrift.readers.reader_ROMS_native:305: Duplicate variables for ocean_s_coordinate_g2, selecting s_rho, and discarding s_w
17:11:39 INFO    opendrift.readers.reader_ROMS_native:312: 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']
17:11:39 WARNING opendrift.readers.basereader.structured:50: No proj string or projection could be derived for reader roms native, using 'fakeproj'.
17:11:39 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)
17:11:39 INFO    opendrift.models.basemodel.environment:203: Adding a global landmask from GSHHG
17:11:45 INFO    opendrift.models.basemodel.environment:227: Fallback values will be used for the following variables which have no readers:
17:11:45 INFO    opendrift.models.basemodel.environment:230:    x_wind: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    y_wind: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    upward_sea_water_velocity: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    ocean_vertical_diffusivity: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    horizontal_diffusivity: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_significant_height: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
17:11:45 INFO    opendrift.models.basemodel.environment:230:    ocean_mixed_layer_thickness: 50.000000
17:11:45 INFO    opendrift:1911: Skipping environment variable ocean_vertical_diffusivity because of condition ['drift:vertical_mixing', 'is', False]
17:11:45 INFO    opendrift:1911: Skipping environment variable ocean_mixed_layer_thickness because of condition ['drift:vertical_mixing', 'is', False]
17:11:45 INFO    opendrift:1922: Storing previous values of element property lon because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
17:11:45 INFO    opendrift:1922: Storing previous values of element property lat because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
17:11:45 INFO    opendrift:1930: Storing previous values of environment variable sea_surface_height because of condition ['drift:vertical_advection', 'is', True]
17:11:45 INFO    opendrift:958: Using existing reader for land_binary_mask to move elements to ocean
17:11:45 INFO    opendrift:992: Moving 3 out of 1000 points from land to water
17:11:45 INFO    opendrift:2238: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
17:11:45 INFO    opendrift.readers.reader_ROMS_native:362: Using mask_rho for mask_rho
17:11:45 INFO    opendrift.readers.reader_ROMS_native:383: Using mask_u for mask_u
17:11:45 INFO    opendrift.readers.reader_ROMS_native:404: Using mask_v for mask_v
17:11:45 INFO    opendrift.readers.reader_ROMS_native:427: Using angle from Dataset.
17:11:45 INFO    opendrift:2238: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
17:11:45 INFO    opendrift:2238: 2016-02-02 13:00:00 - step 3 of 96 - 997 active elements (3 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 13:30:00 - step 4 of 96 - 995 active elements (5 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 14:00:00 - step 5 of 96 - 995 active elements (5 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 14:30:00 - step 6 of 96 - 994 active elements (6 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 15:00:00 - step 7 of 96 - 993 active elements (7 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 15:30:00 - step 8 of 96 - 993 active elements (7 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 16:00:00 - step 9 of 96 - 991 active elements (9 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 16:30:00 - step 10 of 96 - 991 active elements (9 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 17:00:00 - step 11 of 96 - 991 active elements (9 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 17:30:00 - step 12 of 96 - 990 active elements (10 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 18:00:00 - step 13 of 96 - 989 active elements (11 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 18:30:00 - step 14 of 96 - 988 active elements (12 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 19:00:00 - step 15 of 96 - 988 active elements (12 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 19:30:00 - step 16 of 96 - 987 active elements (13 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 20:00:00 - step 17 of 96 - 987 active elements (13 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 20:30:00 - step 18 of 96 - 987 active elements (13 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 21:00:00 - step 19 of 96 - 987 active elements (13 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 21:30:00 - step 20 of 96 - 987 active elements (13 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 22:00:00 - step 21 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 22:30:00 - step 22 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 23:00:00 - step 23 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-02 23:30:00 - step 24 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 00:00:00 - step 25 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 00:30:00 - step 26 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 01:00:00 - step 27 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 01:30:00 - step 28 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 02:00:00 - step 29 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 02:30:00 - step 30 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 03:00:00 - step 31 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 03:30:00 - step 32 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 04:00:00 - step 33 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 04:30:00 - step 34 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 05:00:00 - step 35 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 05:30:00 - step 36 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 06:00:00 - step 37 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 06:30:00 - step 38 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 07:00:00 - step 39 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 07:30:00 - step 40 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 08:00:00 - step 41 of 96 - 986 active elements (14 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 08:30:00 - step 42 of 96 - 985 active elements (15 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 09:00:00 - step 43 of 96 - 985 active elements (15 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 09:30:00 - step 44 of 96 - 985 active elements (15 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 10:00:00 - step 45 of 96 - 984 active elements (16 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 10:30:00 - step 46 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 11:00:00 - step 47 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 11:30:00 - step 48 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 12:00:00 - step 49 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 12:30:00 - step 50 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 13:00:00 - step 51 of 96 - 982 active elements (18 deactivated)
17:11:46 INFO    opendrift:2238: 2016-02-03 13:30:00 - step 52 of 96 - 982 active elements (18 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 14:00:00 - step 53 of 96 - 980 active elements (20 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 14:30:00 - step 54 of 96 - 979 active elements (21 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 15:00:00 - step 55 of 96 - 977 active elements (23 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 15:30:00 - step 56 of 96 - 976 active elements (24 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 16:00:00 - step 57 of 96 - 975 active elements (25 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 16:30:00 - step 58 of 96 - 974 active elements (26 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 17:00:00 - step 59 of 96 - 972 active elements (28 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 17:30:00 - step 60 of 96 - 972 active elements (28 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 18:00:00 - step 61 of 96 - 970 active elements (30 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 18:30:00 - step 62 of 96 - 970 active elements (30 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 19:00:00 - step 63 of 96 - 967 active elements (33 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 19:30:00 - step 64 of 96 - 965 active elements (35 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 20:00:00 - step 65 of 96 - 961 active elements (39 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 20:30:00 - step 66 of 96 - 959 active elements (41 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 21:00:00 - step 67 of 96 - 956 active elements (44 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 21:30:00 - step 68 of 96 - 953 active elements (47 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 22:00:00 - step 69 of 96 - 947 active elements (53 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 22:30:00 - step 70 of 96 - 945 active elements (55 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 23:00:00 - step 71 of 96 - 942 active elements (58 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-03 23:30:00 - step 72 of 96 - 940 active elements (60 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 00:00:00 - step 73 of 96 - 939 active elements (61 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 00:30:00 - step 74 of 96 - 937 active elements (63 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 01:00:00 - step 75 of 96 - 936 active elements (64 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 01:30:00 - step 76 of 96 - 931 active elements (69 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 02:00:00 - step 77 of 96 - 921 active elements (79 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 02:30:00 - step 78 of 96 - 916 active elements (84 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 03:00:00 - step 79 of 96 - 911 active elements (89 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 03:30:00 - step 80 of 96 - 907 active elements (93 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 04:00:00 - step 81 of 96 - 903 active elements (97 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 04:30:00 - step 82 of 96 - 893 active elements (107 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 05:00:00 - step 83 of 96 - 883 active elements (117 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 05:30:00 - step 84 of 96 - 881 active elements (119 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 06:00:00 - step 85 of 96 - 870 active elements (130 deactivated)
17:11:47 INFO    opendrift:2238: 2016-02-04 06:30:00 - step 86 of 96 - 862 active elements (138 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 07:00:00 - step 87 of 96 - 856 active elements (144 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 07:30:00 - step 88 of 96 - 847 active elements (153 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 08:00:00 - step 89 of 96 - 836 active elements (164 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 08:30:00 - step 90 of 96 - 828 active elements (172 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 09:00:00 - step 91 of 96 - 817 active elements (183 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 09:30:00 - step 92 of 96 - 808 active elements (192 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 10:00:00 - step 93 of 96 - 799 active elements (201 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 10:30:00 - step 94 of 96 - 794 active elements (206 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 11:00:00 - step 95 of 96 - 787 active elements (213 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-04 11:30:00 - step 96 of 96 - 780 active elements (220 deactivated)
<xarray.Dataset> Size: 2MB
Dimensions:                                   (trajectory: 1000, time: 17)
Coordinates:
  * trajectory                                (trajectory) int64 8kB 0 1 ... 999
  * time                                      (time) datetime64[ns] 136B 2016...
Data variables: (12/22)
    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 ...
    ...                                        ...
    horizontal_diffusivity                    (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/121)
    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)
17:11:48 INFO    opendrift:569: OpenDriftSimulation initialised (version 1.14.11 / v1.14.12-66-g07283eb)
17:11:48 INFO    opendrift.models.basemodel.environment:227: Fallback values will be used for the following variables which have no readers:
17:11:48 INFO    opendrift.models.basemodel.environment:230:    x_wind: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    y_wind: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    upward_sea_water_velocity: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    ocean_vertical_diffusivity: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    horizontal_diffusivity: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_significant_height: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_x_velocity: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    sea_surface_wave_stokes_drift_y_velocity: 0.000000
17:11:48 INFO    opendrift.models.basemodel.environment:230:    ocean_mixed_layer_thickness: 50.000000
17:11:48 INFO    opendrift:1911: Skipping environment variable ocean_vertical_diffusivity because of condition ['drift:vertical_mixing', 'is', False]
17:11:48 INFO    opendrift:1911: Skipping environment variable ocean_mixed_layer_thickness because of condition ['drift:vertical_mixing', 'is', False]
17:11:48 INFO    opendrift:1922: Storing previous values of element property lon because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
17:11:48 INFO    opendrift:1922: Storing previous values of element property lat because of condition (('general:coastline_action', 'in', ['stranding', 'previous']), 'or', ('general:seafloor_action', 'in', ['previous']))
17:11:48 INFO    opendrift:1930: Storing previous values of environment variable sea_surface_height because of condition ['drift:vertical_advection', 'is', True]
17:11:48 INFO    opendrift:958: Using existing reader for land_binary_mask to move elements to ocean
17:11:48 INFO    opendrift:990: All points are in ocean
17:11:48 INFO    opendrift:2238: 2016-02-02 12:00:00 - step 1 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 12:30:00 - step 2 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 13:00:00 - step 3 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 13:30:00 - step 4 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 14:00:00 - step 5 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 14:30:00 - step 6 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 15:00:00 - step 7 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 15:30:00 - step 8 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 16:00:00 - step 9 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 16:30:00 - step 10 of 96 - 1000 active elements (0 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 17:00:00 - step 11 of 96 - 999 active elements (1 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 17:30:00 - step 12 of 96 - 999 active elements (1 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 18:00:00 - step 13 of 96 - 999 active elements (1 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 18:30:00 - step 14 of 96 - 998 active elements (2 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 19:00:00 - step 15 of 96 - 998 active elements (2 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 19:30:00 - step 16 of 96 - 998 active elements (2 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 20:00:00 - step 17 of 96 - 996 active elements (4 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 20:30:00 - step 18 of 96 - 996 active elements (4 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 21:00:00 - step 19 of 96 - 995 active elements (5 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 21:30:00 - step 20 of 96 - 993 active elements (7 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 22:00:00 - step 21 of 96 - 991 active elements (9 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 22:30:00 - step 22 of 96 - 989 active elements (11 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 23:00:00 - step 23 of 96 - 988 active elements (12 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-02 23:30:00 - step 24 of 96 - 987 active elements (13 deactivated)
17:11:48 INFO    opendrift:2238: 2016-02-03 00:00:00 - step 25 of 96 - 986 active elements (14 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 00:30:00 - step 26 of 96 - 986 active elements (14 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 01:00:00 - step 27 of 96 - 982 active elements (18 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 01:30:00 - step 28 of 96 - 981 active elements (19 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 02:00:00 - step 29 of 96 - 979 active elements (21 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 02:30:00 - step 30 of 96 - 975 active elements (25 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 03:00:00 - step 31 of 96 - 970 active elements (30 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 03:30:00 - step 32 of 96 - 967 active elements (33 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 04:00:00 - step 33 of 96 - 963 active elements (37 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 04:30:00 - step 34 of 96 - 962 active elements (38 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 05:00:00 - step 35 of 96 - 960 active elements (40 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 05:30:00 - step 36 of 96 - 958 active elements (42 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 06:00:00 - step 37 of 96 - 953 active elements (47 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 06:30:00 - step 38 of 96 - 950 active elements (50 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 07:00:00 - step 39 of 96 - 948 active elements (52 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 07:30:00 - step 40 of 96 - 946 active elements (54 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 08:00:00 - step 41 of 96 - 942 active elements (58 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 08:30:00 - step 42 of 96 - 940 active elements (60 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 09:00:00 - step 43 of 96 - 939 active elements (61 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 09:30:00 - step 44 of 96 - 937 active elements (63 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 10:00:00 - step 45 of 96 - 936 active elements (64 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 10:30:00 - step 46 of 96 - 936 active elements (64 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 11:00:00 - step 47 of 96 - 934 active elements (66 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 11:30:00 - step 48 of 96 - 932 active elements (68 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 12:00:00 - step 49 of 96 - 931 active elements (69 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 12:30:00 - step 50 of 96 - 930 active elements (70 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 13:00:00 - step 51 of 96 - 929 active elements (71 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 13:30:00 - step 52 of 96 - 927 active elements (73 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 14:00:00 - step 53 of 96 - 925 active elements (75 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 14:30:00 - step 54 of 96 - 922 active elements (78 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 15:00:00 - step 55 of 96 - 919 active elements (81 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 15:30:00 - step 56 of 96 - 916 active elements (84 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 16:00:00 - step 57 of 96 - 916 active elements (84 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 16:30:00 - step 58 of 96 - 913 active elements (87 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 17:00:00 - step 59 of 96 - 910 active elements (90 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 17:30:00 - step 60 of 96 - 908 active elements (92 deactivated)
17:11:49 INFO    opendrift:2238: 2016-02-03 18:00:00 - step 61 of 96 - 906 active elements (94 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 18:30:00 - step 62 of 96 - 906 active elements (94 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 19:00:00 - step 63 of 96 - 902 active elements (98 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 19:30:00 - step 64 of 96 - 901 active elements (99 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 20:00:00 - step 65 of 96 - 901 active elements (99 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 20:30:00 - step 66 of 96 - 901 active elements (99 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 21:00:00 - step 67 of 96 - 900 active elements (100 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 21:30:00 - step 68 of 96 - 899 active elements (101 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 22:00:00 - step 69 of 96 - 897 active elements (103 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 22:30:00 - step 70 of 96 - 896 active elements (104 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 23:00:00 - step 71 of 96 - 895 active elements (105 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-03 23:30:00 - step 72 of 96 - 894 active elements (106 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 00:00:00 - step 73 of 96 - 894 active elements (106 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 00:30:00 - step 74 of 96 - 894 active elements (106 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 01:00:00 - step 75 of 96 - 894 active elements (106 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 01:30:00 - step 76 of 96 - 894 active elements (106 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 02:00:00 - step 77 of 96 - 892 active elements (108 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 02:30:00 - step 78 of 96 - 892 active elements (108 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 03:00:00 - step 79 of 96 - 892 active elements (108 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 03:30:00 - step 80 of 96 - 892 active elements (108 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 04:00:00 - step 81 of 96 - 892 active elements (108 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 04:30:00 - step 82 of 96 - 891 active elements (109 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 05:00:00 - step 83 of 96 - 890 active elements (110 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 05:30:00 - step 84 of 96 - 890 active elements (110 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 06:00:00 - step 85 of 96 - 890 active elements (110 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 06:30:00 - step 86 of 96 - 889 active elements (111 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 07:00:00 - step 87 of 96 - 889 active elements (111 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 07:30:00 - step 88 of 96 - 889 active elements (111 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 08:00:00 - step 89 of 96 - 889 active elements (111 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 08:30:00 - step 90 of 96 - 889 active elements (111 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 09:00:00 - step 91 of 96 - 888 active elements (112 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 09:30:00 - step 92 of 96 - 888 active elements (112 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 10:00:00 - step 93 of 96 - 887 active elements (113 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 10:30:00 - step 94 of 96 - 887 active elements (113 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 11:00:00 - step 95 of 96 - 887 active elements (113 deactivated)
17:11:50 INFO    opendrift:2238: 2016-02-04 11:30:00 - step 96 of 96 - 887 active elements (113 deactivated)
<xarray.Dataset> Size: 2MB
Dimensions:                                   (trajectory: 1000, time: 17)
Coordinates:
  * trajectory                                (trajectory) int64 8kB 0 1 ... 999
  * time                                      (time) datetime64[ns] 136B 2016...
Data variables: (12/22)
    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 ...
    ...                                        ...
    horizontal_diffusivity                    (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/121)
    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 1100x988.303 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'])
17:12:09 INFO    opendrift:4889: Saving animation to /root/project/docs/source/gallery/animations/example_model_landmask_0.gif...
17:12:16 INFO    opendrift:3297: Time to make animation: 0:00:20.493561
../_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 1100x1007.11 with 2 Axes>)

Total running time of the script: (0 minutes 51.297 seconds)

Gallery generated by Sphinx-Gallery