Note
Go to the end to download the full example code
Openberg - statistical mode
from datetime import datetime, timedelta
from opendrift.readers import reader_netCDF_CF_generic
from opendrift.readers import reader_current_from_track
from opendrift.models.openberg import OpenBerg
Create observation of iceberg track
obslon = [3.1, 3.123456]
obslat = [61.1, 61.132198]
obstime = [datetime(2015, 11, 16, 0), datetime(2015, 11, 16, 6)]
Initialize model
steps = 60 # This is the number of forecast steps
o = OpenBerg(loglevel=30) # Basic drift model suitable for icebergs
Preparing Readers
reader_wind = reader_netCDF_CF_generic.Reader(o.test_data_folder() +
'16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc',name='WIND')
reader_current = reader_current_from_track.Reader(
obslon, obslat, obstime, wind_east=0, wind_north=0,
windreader=reader_wind, wind_factor=0.018)
o.add_reader([reader_current, reader_wind])
/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)
Seeding elements
Icebergs are moved with the ocean current as per Barker et al (2004), in addition to a fraction of the wind speed (wind_drift_factor). This factor depends on the properties of the elements. Default empirical values are: - Wind drift fraction: 0.018 (1.8 %) (Garret 1985) - Iceberg size: Keel dept = 60m Waterline length = 90.5m NB! Iceberg size is irrelevant for current_reader with 1D z-profile
o.seed_elements(3.3, 61.3, radius=3000, number=500,
time=reader_current.start_time)
Run model
print('Starting free run .../n')
print('Start time: ' + str(o.start_time))
o.run(time_step=3600, steps=steps)
Starting free run .../n
Start time: 2015-11-16 07:00:00
Print and plot results
o.plot(fast=True)
o.animation(fast=True)

13:59:54 WARNING opendrift.models.basemodel:3226: Plotting fast. This will make your plots less accurate.
0.6314806858966271 ALPHA
13:59:57 WARNING opendrift.models.basemodel:3226: Plotting fast. This will make your plots less accurate.
/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)

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