# ******************* track drift of neutrally bouyant particles ************************** # get modules from opendrift.readers import reader_netCDF_CF_generic from opendrift.models.oceandrift import OceanDrift from datetime import timedelta, datetime # get readers reader_norkyst = reader_netCDF_CF_generic.Reader('https://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be') reader_nordic = reader_netCDF_CF_generic.Reader('https://thredds.met.no/thredds/dodsC/sea/nordic4km/zdepths1h/aggregate_be') # get python package import numpy as np # code for initializing and seedin particles # set number of particles n=100000 # distribute randomly from 0 to 100 m depth z = -np.random.rand(n)*100 # choose drift module o = OceanDrift(loglevel=20) o.add_reader([reader_norkyst, reader_nordic]) # seed particles at lat/lon location within radius (in meters) and over time window o.seed_elements(lon=8.3, lat=58.05, z=z, radius=100, number=n, time=datetime(2020,1,1)) time=[datetime(2019,12,15), datetime(2020,1,15)]) # set rule for particles stranding on land o.set_config('general:coastline_action', 'previous') # run model, set variables to store and output file o.run(duration=timedelta(days=300), time_step=3600, time_step_output=3600, export_variables=['lat','lon', 'z', 'time'], outfile='out.nc')