Beispiel #1
0
 def make_OceanDrift_object(self):
     self.o = OceanDrift(loglevel=20)
     self.fake_eddy = reader_ArtificialOceanEddy.Reader(2, 62)
     self.o.use_block = False
     self.o.config['runge_kutta'] = False
     self.reader_basemap = reader_basemap_landmask.Reader(
         llcrnrlon=-1.5, llcrnrlat=59,
         urcrnrlon=7, urcrnrlat=64, resolution='i')
     self.o.add_reader([self.fake_eddy, self.reader_basemap])
Beispiel #2
0
 def test_output_time_step(self):
     o1 = OceanDrift(loglevel=20)
     norkyst = reader_netCDF_CF_generic.Reader(script_folder + '/../test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')
     basemap = reader_basemap_landmask.Reader(
         llcrnrlon=4, llcrnrlat=59.8, urcrnrlon=6, urcrnrlat=61,
         resolution='h', projection='merc')
     o1.add_reader([basemap, norkyst])
     o1.seed_elements(5.25, 60.2, radius=3000, number=100,
                     time=norkyst.start_time)
     o1.run(duration=timedelta(hours=12),
                time_step=timedelta(minutes=30),
                time_step_output=timedelta(minutes=30),
                outfile='test_time_step30.nc')
     # Check length of time array and output array
     time = o1.get_time_array()[0]
     self.assertEqual(o1.history.shape[1], len(time))
     self.assertEqual(o1.start_time, time[0])
     self.assertEqual(o1.time, time[-1])
     # Second run, with larger output time step
     o2 = OceanDrift(loglevel=20)
     o2.add_reader([basemap, norkyst])
     o2.seed_elements(5.25, 60.2, radius=3000, number=100,
                     time=norkyst.start_time)
     o2.run(duration=timedelta(hours=12),
                time_step=timedelta(minutes=30),
                time_step_output=timedelta(minutes=60),
                outfile='test_time_step60.nc')
     self.assertEqual(o1.history.shape, (100,25))
     self.assertEqual(o2.history.shape, (100,13))
     # Check that start and end conditions (longitudes) are idential
     self.assertItemsEqual(o1.history['lon'][:,24].compressed(), 
                           o2.history['lon'][:,12].compressed())
     self.assertItemsEqual(o1.history['lon'][:,0].compressed(),
                           o2.history['lon'][:,0].compressed())
     # Check that also run imported from file is identical
     o1i = OceanDrift(loglevel=20)
     o1i.io_import_file('test_time_step30.nc')
     o2i = OceanDrift(loglevel=20)
     o2i.io_import_file('test_time_step60.nc')
     os.remove('test_time_step30.nc')
     os.remove('test_time_step60.nc')
     self.assertItemsEqual(o2i.history['lon'][:,12].compressed(),
                           o2.history['lon'][:,12].compressed())
     # Check number of activated elements
     self.assertEqual(o1.num_elements_total(), o2.num_elements_total())
     self.assertEqual(o1.num_elements_total(), o1i.num_elements_total())
     self.assertEqual(o1.num_elements_total(), o2i.num_elements_total())
     # Check number of deactivated elements
     self.assertEqual(o1.num_elements_deactivated(),
                      o2.num_elements_deactivated())
     self.assertEqual(o1.num_elements_deactivated(),
                      o1i.num_elements_deactivated())
     self.assertEqual(o1.num_elements_deactivated(),
                      o2i.num_elements_deactivated())
Beispiel #3
0
    def setUp(self):
        self.objectType = 50  # FISHING-VESSEL-1
        self.lee = Leeway(loglevel=20)
        #print self.lee.leewayprop.values()[0]

        #self.lee = WindBlow(loglevel=0)
        self.reader_basemap = reader_basemap_landmask.Reader(
            llcrnrlon=3, llcrnrlat=59, projection='merc',
            urcrnrlon=6, urcrnrlat=61, resolution='i')
        self.lee.add_reader([self.reader_basemap])
        self.lee.fallback_values['x_wind'] = 0
        self.lee.fallback_values['y_wind'] = 10
        self.lee.fallback_values['x_sea_water_velocity'] = 0
        self.lee.fallback_values['y_sea_water_velocity'] = 0
Beispiel #4
0
# Arome
reader_arome = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc'
)
#reader_arome = reader_netCDF_CF_generic.Reader('/disk1/data/opendrift_testdata/arome.nc')

# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')
#reader_norkyst = reader_netCDF_CF_generic.Reader('/disk1/data/opendrift_testdata/norkyst800.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=15.4,
                                                llcrnrlat=68.6,
                                                urcrnrlon=20.0,
                                                urcrnrlat=70.5,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst, reader_arome])

# Seeding some particles

latstart = 68.988911
lonstart = 16.040701
#latstart = 69.477754
#lonstart = 16.441702
latend = 69.991446
lonend = 17.760061
lon = [lonstart, lonend]
lat = [latstart, latend]
Beispiel #5
0
o = OpenOil(loglevel=0)  # Set loglevel to 0 for debug information

reader_hycom = reader_netCDF_CF_generic.Reader(
    'http://tds.hycom.org/thredds/dodsC/GLBu0.08/expt_19.1/2010/3hrly')
#print reader_hycom0
#reader_globcurrent = reader_netCDF_CF_generic.Reader('http://tds0.ifremer.fr/thredds/dodsC/CLS-L4-CUREUL_HS-ALT_SUM-V01.0_FULL_TIME_SERIE')  # Total

reader_oceanwind = reader_netCDF_CF_generic.Reader(
    'http://www.ncdc.noaa.gov/thredds/dodsC/oceanwinds6hr')
#print reader_oceanwind

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=-94,
                                                llcrnrlat=20,
                                                urcrnrlon=-80,
                                                urcrnrlat=32,
                                                resolution='i')

# Add readers
o.add_reader([reader_basemap, reader_hycom, reader_oceanwind])
#o.add_reader([reader_basemap, reader_globcurrent, reader_oceanwind])

# Seed some particles
lon = -88.387161
lat = 28.736669  # Macondo location
starttime = datetime(2010, 4, 21, 6, 0, 0)  # 4 hours after explosion
time = [starttime, starttime + timedelta(hours=24 * 40)]
o.seed_elements(lon, lat, radius=0, number=5000, time=time)

# Run model
Beispiel #6
0
from datetime import datetime, timedelta

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

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

reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')
time = reader_norkyst.start_time
reader_norkyst.interpolation = 'linearND'

reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=4,
                                                llcrnrlat=59.9,
                                                urcrnrlon=5.5,
                                                urcrnrlat=61.5,
                                                resolution='h')

o.add_reader([reader_norkyst, reader_basemap])
lon = 4.5
lat = 60.0

# First run, with Euler scheme:
o.config['drift']['scheme'] = 'euler'
o.seed_elements(lon, lat, radius=0, number=1, time=time)
o.run(steps=66 * 2, time_step=1800)

# Second run, with Runge-Kutta scheme:
o2 = OceanDrift(loglevel=20)  # Set loglevel to 0 for debug information
o2.add_reader([reader_norkyst, reader_basemap])
from readers import reader_basemap_landmask
from readers import reader_netCDF_CF_generic

from models.oceandrift import OceanDrift

ncfile = 'backandforth.nc'

o = OceanDrift(loglevel=0)  # Set loglevel to 0 for debug information
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')
#reader_norkyst = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')

reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=3,
                                                llcrnrlat=59,
                                                urcrnrlon=6,
                                                urcrnrlat=62,
                                                resolution='h')

o.add_reader([reader_norkyst, reader_basemap])

################
# Forward run
################
# Seeding some particles
lon = 4.2
lat = 60.1
time = reader_norkyst.start_time
o.seed_elements(lon, lat, radius=1000, number=100, time=time)

o.run(steps=50 * 4, time_step=900, outfile=ncfile)
ncfile = 'oil3Dmixing.nc'
import_file = False  # Set to True to import previous run

if import_file is True:
    o.io_import_file(ncfile)
else:
    reader_arome = reader_netCDF_CF_generic.Reader(
        'http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc'
    )
    reader_norkyst = reader_netCDF_CF_generic.Reader(
        'http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')

    # Landmask (Basemap)
    reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=3.0,
                                                    llcrnrlat=61.4,
                                                    urcrnrlon=6.2,
                                                    urcrnrlat=62.6,
                                                    resolution='h',
                                                    projection='merc')

    o.add_reader([reader_norkyst, reader_basemap, reader_arome])

    # Seeding some particles
    lon = 4.9
    lat = 62.1
    # Stad

    time = reader_arome.start_time

    # Seed oil elements at defined position and time
    o.seed_elements(lon,
                    lat,
Beispiel #9
0
lw = Leeway(loglevel=0)  # Set loglevel to 0 for debug information

# Arome
#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Norkyst
#reader_norkyst = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=3.3,
                                                llcrnrlat=59.5,
                                                urcrnrlon=5.5,
                                                urcrnrlat=62.5,
                                                resolution='h',
                                                projection='merc')

lw.add_reader([reader_norkyst, reader_arome, reader_basemap])

# Seeding some particles
lon = 4.5
lat = 60.0
# Outside Bergen

# Seed leeway elements at defined position and time
objType = 26  # 26 = Life-raft, no ballast
lw.seed_elements(lon,
                 lat,
                 radius=1000,
Beispiel #10
0
o = OpenOil(loglevel=0)  # Set loglevel to 0 for debug information

# Arome
#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Norkyst
#reader_norkyst = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=2,
                                                llcrnrlat=59,
                                                urcrnrlon=6,
                                                urcrnrlat=62,
                                                resolution='i',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst, reader_arome])

# Seeding some particles
lon = [3.6, 5.1]
lat = [61., 59.6]
# Outside Bergen

# Seed elements along cone, e.g. ship track with
# increasing uncertainty in position
time = [reader_arome.start_time, reader_arome.start_time + timedelta(hours=30)]
#time = reader_arome.start_time
Beispiel #11
0
from models.openoil import OpenOil

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

# Arome
#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')

# Nordc4
reader_nordic4 = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/fou-hi/nordic4km-1h/Nordic-4km_SURF_1h_avg_00.nc'
)

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=2,
                                                llcrnrlat=78,
                                                urcrnrlon=22,
                                                urcrnrlat=82.3,
                                                resolution='i',
                                                projection='merc')

o.add_reader([reader_basemap, reader_nordic4])
o.fallback_values['y_wind'] = 35  # Northerly wind, to get stranding in ice

# Seeding some particles
lon = 8
lat = 79.5
# West of Svalbard

#time = datetime(2015, 9, 22, 6, 0, 0)
#time = [reader_nordic4.start_time,
#        reader_nordic4.start_time + timedelta(hours=30)]
time = reader_nordic4.start_time
Beispiel #12
0
from models.openoil import OpenOil

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

# Arome
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=3.5,
                                                llcrnrlat=60.4,
                                                urcrnrlon=7,
                                                urcrnrlat=61.8,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst, reader_arome])

############################################################
# Seed oil particles within contour detected from satellite
############################################################
o.seed_from_gml(
    'test_data/radarsat_oil_satellite_observation/RS2_20151116_002619_0127_SCNB_HH_SGF_433012_9730_12182143_Oil.gml',
    num_elements=2000)

# Adjusting some configuration
o.config['processes']['diffusion'] = True
o.config['processes']['dispersion'] = True
Beispiel #13
0
from datetime import datetime, timedelta

from readers import reader_basemap_landmask
from readers import reader_netCDF_CF_generic

from models.windblow import WindBlow

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

#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=2.5,
                                                llcrnrlat=59,
                                                urcrnrlon=8,
                                                urcrnrlat=63,
                                                resolution='h')

o.add_reader([reader_arome, reader_basemap])

# Seeding some particles
lon = 6.5
lat = 60.3
o.seed_elements(lon,
                lat,
                radius=5000,
                number=1000,
                time=reader_arome.start_time)

# Running model (until end of driver data)
# Illustrating the difference between Euler and Runge-Kutta propagation
# schemes, using an idealised (analytical) eddy current field.

from datetime import datetime, timedelta

from readers import reader_basemap_landmask
from readers import reader_ArtificialOceanEddy
from models.oceandrift import OceanDrift

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

fake_eddy = reader_ArtificialOceanEddy.Reader(2, 62)

reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=-1.5,
                                                llcrnrlat=59,
                                                urcrnrlon=7,
                                                urcrnrlat=64,
                                                resolution='h')

o.add_reader([fake_eddy, reader_basemap])
lon = 2.0
lat = 63.0
# Close to Station M

# First run, with Euler scheme:
o.config['drift']['scheme'] = 'euler'
o.seed_elements(lon, lat, radius=0, number=1, time=datetime(2015, 1, 1))
o.run(steps=300, time_step=3600)

# Second run, with Runge-Kutta scheme:
o2 = OceanDrift(loglevel=20)  # Set loglevel to 0 for debug information
Beispiel #15
0
#o = OpenOil(loglevel=0)  # Set loglevel to 0 for debug information
o = OceanDrift(loglevel=0)  # Set loglevel to 0 for debug information

# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')

# Nordic4
reader_nordic4 = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/fou-hi/nordic4km-1h/Nordic-4km_SURF_1h_avg_00.nc'
)

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=9.5,
                                                llcrnrlat=68.8,
                                                urcrnrlon=19.0,
                                                urcrnrlat=71.2,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst, reader_nordic4])
#o.add_reader([reader_basemap, reader_norkyst])

# Seeding some particles
lons = np.linspace(10.2, 12.2, 100)
lats = np.linspace(69.8, 70.8, 100)
lons, lats = np.meshgrid(lons, lats)
lons = lons.ravel()
lats = lats.ravel()

# Seed oil elements at defined position and time
o.seed_elements(lons,
Beispiel #16
0
from readers import reader_basemap_landmask
from readers import reader_ROMS_native
from models.oceandrift import OceanDrift

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

# Nordic 4km
nordic_native = reader_ROMS_native.Reader(
    'test_data/2Feb2016_Nordic_sigma_3d/Nordic-4km_SLEVELS_avg_00_subset2Feb2016.nc'
)

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=11.0,
                                                llcrnrlat=67.5,
                                                urcrnrlon=16.0,
                                                urcrnrlat=69.0,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, nordic_native])

# Seeding some particles
time = nordic_native.start_time
lon = 12.0
lat = 68.3

# Seed oil elements at defined position and time
o.seed_elements(lon,
                lat,
                radius=0,
                number=10,
Beispiel #17
0
import numpy as np

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

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

reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=4.0,
                                                llcrnrlat=59.9,
                                                urcrnrlon=5.5,
                                                urcrnrlat=61.2,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst])

# Seeding some particles
lons = np.linspace(4.4, 4.6, 10)
lats = np.linspace(60.0, 60.1, 10)
lons, lats = np.meshgrid(lons, lats)
lons = lons.ravel()
lats = lats.ravel()

# Seed oil elements on a grid at regular time interval
start_time = reader_norkyst.start_time
time_step = timedelta(hours=6)
Beispiel #18
0
from datetime import datetime, timedelta

from readers import reader_basemap_landmask
from readers import reader_netCDF_CF_generic
from models.openoil import OpenOil

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

# HYCOM
#reader_hycom = reader_netCDF_CF_generic.Reader('http://tds.hycom.org/thredds/dodsC/GLBu0.08/expt_19.1/2010/3hrly')
#print reader_hycom

reader_globcurrent = reader_netCDF_CF_generic.Reader('http://tds0.ifremer.fr/thredds/dodsC/CLS-L4-CUREUL_HS-ALT_SUM-V02.0_FULL_TIME_SERIE')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=100, llcrnrlat=5,
                    urcrnrlon=120, urcrnrlat=15, resolution='h')

# OceanWind
try:
    reader_oceanwind = reader_netCDF_CF_generic.Reader(
        'http://www.ncdc.noaa.gov/thredds/dodsC/oceanwinds6hr')
    print reader_oceanwind
    o.add_reader([reader_globcurrent, reader_oceanwind, reader_basemap])
except:
    o.add_reader([reader_globcurrent, reader_basemap])


# Seed some particles
lat=10.228248; lon=106.973337
lat=10.0; lon=107.8
time = datetime(2010, 3, 23, 6, 0, 0)
Beispiel #19
0
from models.leeway import Leeway

lw = Leeway(loglevel=0)  # Set loglevel to 0 for debug information

# Arome
#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Norkyst
#reader_norkyst = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=2.5, llcrnrlat=59.3,
                    urcrnrlon=5.8, urcrnrlat=62.5, resolution='h')

lw.add_reader([reader_norkyst, reader_arome, reader_basemap])

# Seed elements along cone, e.g. ship track with
# increasing uncertainty in position
lon = [3.6, 5.1]; lat = [61., 59.6];
time = [reader_arome.start_time, reader_arome.start_time + timedelta(hours=30)]
#time = reader_arome.start_time

objType = 26  # 26 = Life-raft, no ballast
lw.seed_elements(lon, lat, radius=[1000, 10000], number=5000,
                 time=time, objectType=objType)

# Running model (until end of driver data)
lw.run(steps=66*4, time_step=900, outfile='outleeway.nc')
Beispiel #20
0
o = OpenOil(loglevel=0)  # Set loglevel to 0 for debug information

# Arome
reader_arome = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc'
)

# Norkyst
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=4,
                                                llcrnrlat=59.8,
                                                urcrnrlon=6,
                                                urcrnrlat=61,
                                                resolution='h',
                                                projection='merc')

o.add_reader([reader_basemap, reader_norkyst, reader_arome])

# Seeding some particles
lon = 4.8
lat = 60.0
# Outside Bergen

time = None
time = reader_arome.start_time

# Seed elements at defined position and time
import numpy as np
Beispiel #21
0
o = Leeway(loglevel=0)  # Set loglevel to 0 for debug information

# Arome
#reader_arome = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_default2_5km_latest.nc')
reader_arome = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Norkyst
#reader_norkyst = reader_netCDF_CF_generic.Reader('http://thredds.met.no/thredds/dodsC/sea/norkyst800m/1h/aggregate_be')
reader_norkyst = reader_netCDF_CF_generic.Reader(
    'test_data/16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')

# Landmask (Basemap)
reader_basemap = reader_basemap_landmask.Reader(llcrnrlon=5.5,
                                                llcrnrlat=61.05,
                                                urcrnrlon=6.65,
                                                urcrnrlat=61.21,
                                                resolution='f',
                                                projection='merc')

reader_norkyst.interpolation = 'linearND'  # Slower, but extrapolates to coast
reader_arome.interpolation = 'linearND'
o.add_reader([reader_basemap, reader_norkyst, reader_arome])

# Seed elements at defined position and time
lat = 61.117594
lon = 6.55
time = None
#time = [reader_arome.start_time,
#        reader_arome.start_time + timedelta(hours=5)]
time = reader_arome.start_time
objType = 1  # 1: Person-in-water (PIW), unknown state (mean values)