Exemple #1
0
from opendrift.models.bivalvelarvae import BivalveLarvae
import time
start_time = time.time()

####
# Month selection
####

runtime = [datetime(2016,3,2), datetime(2016,3,3)]
finish_time = (datetime(2016,3,2) + timedelta(days = 31.0))


###############################
# MODEL SELECTION
###############################
o = BivalveLarvae(loglevel=100)
o.max_speed = 3#
###############################
# READERS
###############################
thredds_path_1 = 'http://thredds.moanaproject.org:8080/thredds/dodsC/moana/ocean/NZB/v1.9/monthly_avg/nz5km_avg_201603.nc'
reader_moana_v19 = reader_ROMS_native_MOANA.Reader(thredds_path_1) # load data for that year
reader_moana_v19.multiprocessing_fail = True # bypass the use of multi core for coordinates conversion and seems to make the model run much faster.

# # Making customised landmask - not required here, using ROMS landmask 
# reader_landmask = reader_global_landmask.Reader(
#                     llcrnrlon=171.0, llcrnrlat=184.5,
#                     urcrnrlon=-42.0, urcrnrlat=-34.0)
# max is 185deg

# use native landmask of ROMS files
Exemple #2
0
# 
import os
import sys
import time
import numpy as np
import matplotlib
from datetime import datetime, timedelta
from opendrift.readers import reader_ROMS_native_MOANA
from opendrift.models.bivalvelarvae import BivalveLarvae

start_month = int(sys.argv[1])
months = ['201001','201002','201003','201004','201005','201006','201007','201008','201009','201010','201011','201012']
###############################
# MODEL SELECTION
###############################
o = BivalveLarvae(loglevel=0)#,logfile='mussel_forwardtrack_%s_%s.log' % (year,month) )  # Set loglevel to 0 for debug information
###############################
# READERS
###############################



path201001 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201001.nc'
path201002 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201002.nc'
path201003 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201003.nc'
path201004 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201004.nc'
path201005 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201005.nc'
path201006 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201006.nc'
path201007 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201007.nc'
path201008 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201008.nc'
path201009 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201009.nc'
#!/usr/bin/env python

import os
import sys
import numpy as np
from datetime import datetime, timedelta
from opendrift.readers import reader_global_landmask
from opendrift.readers import reader_ROMS_native_MOANA
from opendrift.models.bivalvelarvae import BivalveLarvae

###############################
# MODEL SELECTION
###############################

o = BivalveLarvae(loglevel=100)  # Set loglevel to 0 for debug information
o.max_speed = 5.0  #

###############################
# READERS
###############################

reader_moana_v19_1 = reader_ROMS_native_MOANA.Reader(
    '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201706.nc')
reader_moana_v19_2 = reader_ROMS_native_MOANA.Reader(
    '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201707.nc')
reader_moana_v19_3 = reader_ROMS_native_MOANA.Reader(
    '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201708.nc')

o.add_reader([reader_moana_v19_1, reader_moana_v19_2, reader_moana_v19_3])
o.set_config('general:use_auto_landmask', False)  # dynamical landmask if true
Exemple #4
0
import os
import sys
import time
import numpy as np
import matplotlib
from datetime import datetime, timedelta
from opendrift.readers import reader_ROMS_native_MOANA
from opendrift.models.bivalvelarvae import BivalveLarvae


r = reader_ROMS_native_MOANA.Reader('input/nz5km_avg_200601.nc')
o = BivalveLarvae(loglevel=30)
o.add_reader([r])

###############################
#Set Configs
###############################
o.set_config('general:use_auto_landmask', True)
o.set_config('environment:fallback:x_wind', 0.0)
o.set_config('environment:fallback:y_wind', 0.0)
o.set_config('environment:fallback:x_sea_water_velocity', 0.0)
o.set_config('environment:fallback:y_sea_water_velocity', 0.0)
o.set_config('environment:fallback:sea_floor_depth_below_sea_level', 100000.0)

Kxy = 0.1176  #m2/s-1
Kz = 0.01 #m2/s-1

o.set_config('drift:horizontal_diffusivity',Kxy) 
o.set_config('environment:fallback:ocean_vertical_diffusivity', Kz) 
o.set_config('seed:ocean_only',True)
o.set_config('drift:advection_scheme','runge-kutta4')
Exemple #5
0
#!/usr/bin/env python
"""
Bivalve Larvae class
=============
"""

from opendrift.readers import reader_netCDF_CF_generic
from opendrift.readers import reader_ROMS_native
from datetime import datetime, timedelta
from opendrift.models.bivalvelarvae import BivalveLarvae
import numpy as np

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

####################################################################################################################
# READERS
#
# Atmospheric model for wind
# reader_arome = reader_netCDF_CF_generic.Reader(o.test_data_folder() +
#     '16Nov2015_NorKyst_z_surface/arome_subset_16Nov2015.nc')

# Ocean model for current
# reader_norkyst = reader_netCDF_pytCF_generic.Reader(o.test_data_folder() +
#     '16Nov2015_NorKyst_z_surface/norkyst800_subset_16Nov2015.nc')
# # Creating and adding reader for Nordic 4km current dataset
nordic_native = reader_ROMS_native.Reader(
    o.test_data_folder() +
    '2Feb2016_Nordic_sigma_3d/Nordic-4km_SLEVELS_avg_00_subset2Feb2016.nc')
o.add_reader(nordic_native)
from opendrift.readers import reader_ROMS_native_MOANA
#from opendrift.models.oceandrift import OceanDrift
from opendrift.models.bivalvelarvae import BivalveLarvae

####
# Month selection
####

runtime = [datetime(2017,6,1,12), datetime(2017,6,2,12)]
finish_time = (datetime(2017,6,1,12) + timedelta(days = 36.0))


###############################
# MODEL SELECTION
###############################
o = BivalveLarvae(loglevel=100)
o.max_speed = 3#
###############################
# READERS
###############################
thredds_path_1 = 'http://thredds.moanaproject.org:8080/thredds/dodsC/moana/ocean/NZB/v1.9/monthly_avg/nz5km_avg_201706.nc'
reader_moana_v19 = reader_ROMS_native_MOANA.Reader(thredds_path_1) # load data for that year
reader_moana_v19.multiprocessing_fail = True # bypass the use of multi core for coordinates conversion and seems to make the model run much faster.

# # Making customised landmask - not required here, using ROMS landmask 
# reader_landmask = reader_global_landmask.Reader(
#                     llcrnrlon=171.0, llcrnrlat=184.5,
#                     urcrnrlon=-42.0, urcrnrlat=-34.0)
# max is 185deg

# use native landmask of ROMS files
Exemple #7
0
from opendrift.readers import reader_netCDF_CF_generic
from opendrift.readers import reader_ROMS_native
from opendrift.readers import reader_ROMS_native_MOANA
from datetime import datetime,timedelta
from opendrift.models.bivalvelarvae import BivalveLarvae
import numpy as np
import sys

# call the script using 
# python example_bivalvelarvae_moana.py 0, for example with no habitat
# python example_bivalvelarvae_moana.py 1  for example with habitat

use_habitat = int(sys.argv[1])

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

###############################
# READERS
###############################
thredds_path_1 = 'http://thredds.moanaproject.org:8080/thredds/dodsC/moana/ocean/NZB/v1.9/monthly_avg/nz5km_avg_201603.nc'
reader_moana_v19 = reader_ROMS_native_MOANA.Reader(thredds_path_1) # load data for that year
reader_moana_v19.multiprocessing_fail = True # bypass the use of multi core for coordinates conversion and seems to make the model run much faster.
# use native landmask of ROMS files
o.add_reader([reader_moana_v19]) # [reader_landmask,reader_moana_v19]
o.set_config('general:use_auto_landmask', False) # prevent opendrift from making a new dynamical landmask
###############################
# PARTICLE SEEDING
###############################
# 174.949513895 -40.029317969 28045 Taranaki Bight
o.seed_elements( lon = 174.949513895-.1, lat = -40.029317969-.1, 
path2 = args.input + 'nz5km_his_' + yyyy2 + mm2 + '.nc'

reader0 = reader_ROMS_native_MOANA.Reader(path0)
reader1 = reader_ROMS_native_MOANA.Reader(path1)
reader2 = reader_ROMS_native_MOANA.Reader(path2)

reader0.multiprocessing_fail = True 
reader1.multiprocessing_fail = True 
reader2.multiprocessing_fail = True 


###############################
#Create Simulation Object
###############################

o = BivalveLarvae(loglevel=0)
o.add_reader([reader0, reader1, reader2])

###############################
#Seed Particles
###############################

ullon = args.upperleftlon 
ullat = args.upperleftlat

lons = [ullon, ullon+.05, ullon+.05, ullon]
lats = [ullat, ullat, ullat-.05, ullat-.05]


def create_seed_times(start, end, delta):
  """
import os
import sys
import time
import numpy as np
import matplotlib
from datetime import datetime, timedelta
from opendrift.readers import reader_ROMS_native_MOANA  #I believe this is a custom reader that Simon Weppe has written, I'm not sure if the basemodel's reader_ROMS_native can handle the backbone files?
from opendrift.models.bivalvelarvae import BivalveLarvae  #Bivalvelarvae.py is a custom module that Simon Weppe has written that includes some useful features, but you can replace this with whichever model you want to run
#e.g.
#from opendrift.models.pelagicegg import PelagicEggDrift

##############################
#CREATING THE SIMLATION OBJECT
##############################
o = BivalveLarvae(
    loglevel=0
)  #loglevel = 0 will print out what the model is doing at every step, so helpful when getting started, but creates huge output files. When you are running larger quantities of runs, you'll want to change to loglevel = 30

#provide paths to the data for the months you want
data_path0 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201606.nc'
data_path1 = '/nesi/nobackup/mocean02574/NZB_N50/nz5km_his_201607.nc'

#create readers for the backbone files
reader0 = reader_ROMS_native_MOANA.Reader(data_path0)
reader1 = reader_ROMS_native_MOANA.Reader(data_path1)

reader0.multiprocessing_fail = True  #No idea what these lines do, but Simon told me that they make the model ruun faster so I've always included them
reader1.multiprocessing_fail = True

#add readers to the simulation
o.add_reader([reader0, reader1])