LCS Norkyst

from datetime import datetime, timedelta

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

o = OceanDrift(loglevel=20)  # Set loglevel to 0 for debug information

# Norkyst ocean model
reader_norkyst = reader_netCDF_CF_generic.Reader(o.test_data_folder() + '16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

#o.add_reader([reader_norkyst, reader_arome])
o.add_reader([reader_norkyst])
13:59:12 INFO    opendrift.models.basemodel:539: OpenDriftSimulation initialised (version 1.10.7 / v1.10.6-119-g1da5bec)
13:59:12 INFO    opendrift.readers.reader_netCDF_CF_generic:92: Opening dataset: /root/project/tests/test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc
/opt/conda/envs/opendrift/lib/python3.11/site-packages/pyproj/crs/crs.py:1286: UserWarning: You will likely lose important projection information when converting to a PROJ string from another format. See: https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
  proj = self._crs.to_proj4(version=version)

Calculating attracting/backwards FTLE/LCS at 20 hours

lcs = o.calculate_ftle(
    time=reader_norkyst.start_time + timedelta(hours=20),
    time_step=timedelta(minutes=30),
    duration=timedelta(hours=5), delta=1000,
    RLCS=False)
13:59:12 INFO    opendrift.models.basemodel:5407: No reader provided, using first available:
13:59:12 INFO    opendrift.models.basemodel:5409: /root/project/tests/test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc
13:59:12 INFO    opendrift.models.basemodel:5443: Calculating LCS for 2015-11-16 20:00:00
13:59:12 INFO    opendrift.models.basemodel:5497: Nothing to reset
13:59:12 INFO    opendrift.models.basemodel:2591: Fallback values will be used for the following variables which have no readers:
13:59:12 INFO    opendrift.models.basemodel:2594:       x_wind: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       y_wind: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       upward_sea_water_velocity: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       ocean_vertical_diffusivity: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_significant_height: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_x_velocity: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_y_velocity: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_to_direction: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_peak_period_from_variance_spectral_density: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_significant_height: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_to_direction: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_mean_period: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_significant_height: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       surface_downward_x_stress: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       surface_downward_y_stress: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       turbulent_kinetic_energy: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       turbulent_generic_length_scale: 0.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       ocean_mixed_layer_thickness: 50.000000
13:59:12 INFO    opendrift.models.basemodel:2594:       sea_floor_depth_below_sea_level: 10000.000000
13:59:12 INFO    opendrift.models.basemodel:2654: Backwards simulation, starting from last seeded element
13:59:12 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...
13:59:18 INFO    opendrift.models.basemodel:2774: Backwards simulation, starting at time of last seeded element
13:59:18 INFO    opendrift.models.basemodel:1701: Using existing reader for land_binary_mask
13:59:18 INFO    opendrift.models.basemodel:1715: Moving 12635 out of 38400 points from land to water
13:59:19 INFO    opendrift.models.basemodel:2882: 2015-11-17 01:00:00 - step 1 of 10 - 38400 active elements (0 deactivated)
/root/project/opendrift/readers/interpolation/interpolators.py:17: RuntimeWarning: overflow encountered in cast
  data[mask] = np.finfo(np.float64).min
13:59:19 INFO    opendrift.models.basemodel:2882: 2015-11-17 00:30:00 - step 2 of 10 - 38400 active elements (0 deactivated)
13:59:20 INFO    opendrift.models.basemodel:2882: 2015-11-17 00:00:00 - step 3 of 10 - 34842 active elements (3558 deactivated)
13:59:20 INFO    opendrift.models.basemodel:2882: 2015-11-16 23:30:00 - step 4 of 10 - 32690 active elements (5710 deactivated)
13:59:20 INFO    opendrift.models.basemodel:2882: 2015-11-16 23:00:00 - step 5 of 10 - 30255 active elements (8145 deactivated)
13:59:21 INFO    opendrift.models.basemodel:2882: 2015-11-16 22:30:00 - step 6 of 10 - 28926 active elements (9474 deactivated)
13:59:21 INFO    opendrift.models.basemodel:2882: 2015-11-16 22:00:00 - step 7 of 10 - 28004 active elements (10396 deactivated)
13:59:21 INFO    opendrift.models.basemodel:2882: 2015-11-16 21:30:00 - step 8 of 10 - 27402 active elements (10998 deactivated)
13:59:22 INFO    opendrift.models.basemodel:2882: 2015-11-16 21:00:00 - step 9 of 10 - 26984 active elements (11416 deactivated)
13:59:22 INFO    opendrift.models.basemodel:2882: 2015-11-16 20:30:00 - step 10 of 10 - 26531 active elements (11869 deactivated)

Simulation from beginning and up to 30 hours (time of LCS)

o.reset()
o.seed_elements(lon=4.4, lat=60.2, number=1000, radius=1000,
                time=reader_norkyst.start_time)
o.run(end_time=reader_norkyst.start_time+timedelta(hours=20),
      time_step=timedelta(minutes=30))

o.plot(lcs=lcs, vmin=1e-7, vmax=1e-4, colorbar=True, show_elements=True)
OpenDrift - OceanDrift 2015-11-16 00:00 to 2015-11-16 20:00 UTC (41 steps)
13:59:23 INFO    opendrift.models.basemodel:2591: Fallback values will be used for the following variables which have no readers:
13:59:23 INFO    opendrift.models.basemodel:2594:       x_wind: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       y_wind: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       upward_sea_water_velocity: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       ocean_vertical_diffusivity: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_significant_height: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_x_velocity: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_stokes_drift_y_velocity: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_period_at_variance_spectral_density_maximum: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_to_direction: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_peak_period_from_variance_spectral_density: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_swell_wave_significant_height: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_to_direction: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_mean_period: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_surface_wind_wave_significant_height: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       surface_downward_x_stress: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       surface_downward_y_stress: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       turbulent_kinetic_energy: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       turbulent_generic_length_scale: 0.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       ocean_mixed_layer_thickness: 50.000000
13:59:23 INFO    opendrift.models.basemodel:2594:       sea_floor_depth_below_sea_level: 10000.000000
13:59:24 INFO    opendrift.models.basemodel:1701: Using existing reader for land_binary_mask
13:59:24 INFO    opendrift.models.basemodel:1713: All points are in ocean
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 00:00:00 - step 1 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 00:30:00 - step 2 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 01:00:00 - step 3 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 01:30:00 - step 4 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 02:00:00 - step 5 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 02:30:00 - step 6 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 03:00:00 - step 7 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 03:30:00 - step 8 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 04:00:00 - step 9 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 04:30:00 - step 10 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 05:00:00 - step 11 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 05:30:00 - step 12 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 06:00:00 - step 13 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 06:30:00 - step 14 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 07:00:00 - step 15 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 07:30:00 - step 16 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 08:00:00 - step 17 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 08:30:00 - step 18 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 09:00:00 - step 19 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 09:30:00 - step 20 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 10:00:00 - step 21 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 10:30:00 - step 22 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 11:00:00 - step 23 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 11:30:00 - step 24 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 12:00:00 - step 25 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 12:30:00 - step 26 of 40 - 1000 active elements (0 deactivated)
13:59:24 INFO    opendrift.models.basemodel:2882: 2015-11-16 13:00:00 - step 27 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 13:30:00 - step 28 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 14:00:00 - step 29 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 14:30:00 - step 30 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 15:00:00 - step 31 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 15:30:00 - step 32 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 16:00:00 - step 33 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 16:30:00 - step 34 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 17:00:00 - step 35 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 17:30:00 - step 36 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 18:00:00 - step 37 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 18:30:00 - step 38 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 19:00:00 - step 39 of 40 - 1000 active elements (0 deactivated)
13:59:25 INFO    opendrift.models.basemodel:2882: 2015-11-16 19:30:00 - step 40 of 40 - 1000 active elements (0 deactivated)
0.3984006735749549 ALPHA

(<GeoAxes: title={'center': 'OpenDrift - OceanDrift\n2015-11-16 00:00 to 2015-11-16 20:00 UTC (41 steps)'}>, <Figure size 1012.87x1100 with 1 Axes>)

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

Gallery generated by Sphinx-Gallery