Thredds resources for GUI

from datetime import datetime
from opendrift import test_data_folder as tdf
from opendrift.models.oceandrift import OceanDrift
from opendrift.readers.reader_netCDF_CF_generic import Reader

o = OceanDrift(loglevel=0)

thredds_resources = open(tdf + '../../opendrift/scripts/data_sources.txt').readlines()
thredds_resources = [t.strip() for t in thredds_resources]
times = {}
WARNING: from next version (1.14.10), loglevel of 0 will give no logging, please change to 10 for DEBUG
08:26:24 DEBUG   opendrift.config:168: Adding 17 config items from __init__
08:26:24 DEBUG   opendrift.config:178:   Overwriting config item readers:max_number_of_fails
08:26:24 DEBUG   opendrift.config:168: Adding 5 config items from __init__
08:26:24 INFO    opendrift:568: OpenDriftSimulation initialised (version 1.14.9 / v1.14.9-9-gcde0dcf)
08:26:24 DEBUG   opendrift.config:168: Adding 19 config items from oceandrift
08:26:24 DEBUG   opendrift.config:178:   Overwriting config item seed:z

Open each thredds dataset to check contents and spatial coverage

for t in thredds_resources:
    if t.startswith('http') and not t.startswith('cmems'):
        start = datetime.now()
        print('\n#%%\n%s\n' % t)
        r = Reader(t)
        print(r)
        ts = str(datetime.now() - start)
        times[t] = ts
        print('Time to open reader: ', ts)
        if r.global_coverage():
            lscale = 'coarse'
        else:
            lscale = 'intermediate'
        r.plot(lscale=lscale)
  • https://thredds.met.no/thredds/dodsC/fou-hi/norkystv3_800m_m00_be
  • https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc
  • https://thredds.met.no/thredds/dodsC/fou-hi/barents_eps_zdepth_be
  • https://thredds.met.no/thredds/dodsC/cmems/mywavewam3km/dataset-wam-arctic-1hr3km-be.ncml
  • https://thredds.met.no/thredds/dodsC/ww3_4km_agg
  • https://thredds.met.no/thredds/dodsC/cmems/topaz6/dataset-topaz6-arc-15min-3km-be.ncml
  • https://thredds.met.no/thredds/dodsC/aromearcticlatest/latest/arome_arctic_lagged_6_h_latest_2_5km_latest.nc
  • https://thredds.ucar.edu/thredds/dodsC/grib/NCEP/GFS/Global_0p25deg/Best
  • https://pae-paha.pacioos.hawaii.edu/thredds/dodsC/ncep_global/NCEP_Global_Atmospheric_Model_best.ncd
  • https://tds.hycom.org/thredds/dodsC/FMRC_ESPC-D-V02_uv3z/FMRC_ESPC-D-V02_uv3z_best.ncd
#%
https://thredds.met.no/thredds/dodsC/fou-hi/norkystv3_800m_m00_be

08:26:24 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:26:24 DEBUG   findlibs:301: about to search for libeccodes.so/eccodeslib in <function _find_in_package at 0x7f175c17e140>
08:26:24 DEBUG   findlibs:301: about to search for libeccodes.so/eccodeslib in <function _find_in_python at 0x7f175c17e2a0>
08:26:24 DEBUG   findlibs:303: found libeccodes.so/eccodeslib in <function _find_in_python at 0x7f175c17e2a0>
08:26:24 DEBUG   gribapi.bindings:98: eccodes lib search: findlibs returned /opt/conda/envs/opendrift/lib/libeccodes.so
08:26:26 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:26:26 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'polar_stereographic', 'straight_vertical_longitude_from_pole': np.float64(70.0), 'latitude_of_projection_origin': np.float64(90.0), 'false_northing': np.float64(1844800.0), 'false_easting': np.float64(3369600.0), 'semi_major_axis': np.float64(6378137.0), 'semi_minor_axis': np.float64(6356752.3142), 'standard_parallel': np.float64(60.0), 'proj4': '+proj=stere +lat_0=90 +lat_ts=60 +lon_0=70 +x_0=3369600 +y_0=1844800 +a=6378137 +b=6356752.3142 +units=m +no_defs +type=crs'}
08:26:26 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:26:26 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'x': 'X', 'y': 'Y', 'z': 'depth', 'time': 'time'}
08:26:26 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 25 for reader https://thredds.met.no/thredds/dodsC/fou-hi/norkystv3_800m_m00_be, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:26:26 INFO    opendrift.readers.basereader:178: Variable x_sea_water_velocity will be rotated from eastward_sea_water_velocity
08:26:26 INFO    opendrift.readers.basereader:178: Variable y_sea_water_velocity will be rotated from northward_sea_water_velocity
08:26:26 INFO    opendrift.readers.basereader:178: Variable x_wind will be rotated from eastward_wind
08:26:26 INFO    opendrift.readers.basereader:178: Variable y_wind will be rotated from northward_wind
08:26:26 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:26:26 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
08:26:26 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_sea_water_velocity', 'y_sea_water_velocity'] -> sea_water_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/fou-hi/norkystv3_800m_m00_be
Projection:
  +proj=stere +lat_0=90 +lat_ts=60 +lon_0=70 +x_0=3369600 +y_0=1844800 +a=6378137 +b=6356752.3142 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: 0.000000   xmax: 2196800.000000   step: 800   numx: 2747
  ymin: 0.000000   ymax: 917600.000000   step: 800   numy: 1148
  Corners (lon, lat):
    ( -4.61,  57.34)  ( 18.33,  75.73)
    (  8.70,  54.29)  ( 37.55,  69.25)
Vertical levels [m]:
  [  -0.   -1.   -2.   -3.   -5.   -7.  -10.  -15.  -25.  -50.  -65.  -75.
 -100. -200. -300.]
Available time range:
  start: 2024-01-01 00:00:00   end: 2026-03-30 00:00:00   step: 1:00:00
    19657 times (122 missing)
Variables:
  sea_floor_depth_below_sea_level
  sea_surface_height
  eastward_sea_water_velocity
  northward_sea_water_velocity
  upward_sea_water_velocity
  sea_water_temperature
  sea_water_salinity
  ocean_vertical_diffusivity
  eastward_wind
  northward_wind
  longitude
  latitude
  x_sea_water_velocity
  y_sea_water_velocity
  x_wind
  y_wind
  wind_speed - derived from ['x_wind', 'y_wind']
  sea_water_speed - derived from ['x_sea_water_velocity', 'y_sea_water_velocity']
===========================

Time to open reader:  0:00:02.634471

#%
https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc

08:26:29 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:26:29 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:26:29 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'lambert_conformal_conic', 'standard_parallel': array([63.3, 63.3]), 'longitude_of_central_meridian': np.float64(15.0), 'latitude_of_projection_origin': np.float64(63.3), 'earth_radius': np.float64(6371000.0)}
08:26:30 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:26:30 DEBUG   opendrift.readers.reader_netCDF_CF_generic:245: 30 ensemble members available
08:26:30 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'time': 'time', 'x': 'x', 'y': 'y'}
08:26:30 DEBUG   opendrift.readers.reader_netCDF_CF_generic:376: Skipped variables without standard_name: ['fog_area_fraction']
08:26:30 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 10 for reader https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:26:30 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:26:30 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc
Projection:
  +proj=lcc +lat_0=63.3 +lon_0=15 +lat_1=63.3 +lat_2=63.3 +x_0=0 +y_0=0 +R=6371000 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: -1060084.000000   xmax: 1309916.000000   step: 2500   numx: 949
  ymin: -1332517.875000   ymax: 1337482.125000   step: 2500   numy: 1069
  Corners (lon, lat):
    (-18.12,  72.76)  ( 54.24,  71.58)
    (  0.28,  50.32)  ( 33.03,  49.77)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2026-03-25 06:00:00   end: 2026-03-27 19:00:00   step: 1:00:00
    62 times (0 missing)
Variables (30 ensemble members):
  x_wind
  y_wind
  air_temperature
  relative_humidity
  cloud_area_fraction
  air_pressure_at_sea_level
  precipitation_amount
  snowfall_amount
  wind_speed_of_gust
  longitude
  latitude
  wind_speed - derived from ['x_wind', 'y_wind']
===========================

Time to open reader:  0:00:00.944419

#%
https://thredds.met.no/thredds/dodsC/fou-hi/barents_eps_zdepth_be

08:26:30 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:18 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:18 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'lambert_conformal_conic', 'standard_parallel': array([77.5, 77.5], dtype=float32), 'longitude_of_central_meridian': np.float32(-25.0), 'latitude_of_projection_origin': np.float32(77.5), 'earth_radius': np.float32(6.371e+06), 'proj4': '+proj=lcc +lat_0=77.5 +lon_0=-25 +lat_1=77.5 +lat_2=77.5 +no_defs +R=6.371e+06'}
08:27:18 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:18 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'x': 'X', 'y': 'Y', 'z': 'depth', 'time': 'time'}
08:27:18 DEBUG   opendrift.readers.reader_netCDF_CF_generic:376: Skipped variables without standard_name: ['angle']
08:27:18 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 10 for reader https://thredds.met.no/thredds/dodsC/fou-hi/barents_eps_zdepth_be, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:27:18 INFO    opendrift.readers.basereader:178: Variable x_sea_water_velocity will be rotated from eastward_sea_water_velocity
08:27:18 INFO    opendrift.readers.basereader:178: Variable y_sea_water_velocity will be rotated from northward_sea_water_velocity
08:27:18 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:18 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
08:27:18 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['sea_ice_x_velocity', 'sea_ice_y_velocity'] -> sea_ice_speed
08:27:18 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_sea_water_velocity', 'y_sea_water_velocity'] -> sea_water_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/fou-hi/barents_eps_zdepth_be
Projection:
  +proj=lcc +lat_0=77.5 +lon_0=-25 +lat_1=77.5 +lat_2=77.5 +x_0=0 +y_0=0 +R=6371000 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: 278603.187500   xmax: 2123602.750000   step: 2500   numx: 738
  ymin: -897931.625000   ymax: 1472067.625000   step: 2500   numy: 948
  Corners (lon, lat):
    ( 79.56,  87.57)  ( 68.83,  71.11)
    (-17.96,  69.30)  ( 18.62,  62.13)
Vertical levels [m]:
  [   -0.    -3.   -10.   -15.   -25.   -50.   -75.  -100.  -150.  -200.
  -250.  -300.  -500. -1000. -2000. -3000.]
Available time range:
  start: 2022-06-29 00:00:00   end: 2026-03-29 00:00:00   step: 1:00:00
    32857 times (672 missing)
Variables:
  sea_floor_depth_below_sea_level
  sea_binary_mask
  ocean_vertical_diffusivity
  x_wind
  y_wind
  sea_ice_area_fraction
  sea_ice_thickness
  sea_ice_x_velocity
  sea_ice_y_velocity
  sea_water_salinity
  sea_water_temperature
  eastward_sea_water_velocity
  northward_sea_water_velocity
  upward_sea_water_velocity
  sea_surface_height
  latitude
  longitude
  x_sea_water_velocity
  y_sea_water_velocity
  wind_speed - derived from ['x_wind', 'y_wind']
  sea_ice_speed - derived from ['sea_ice_x_velocity', 'sea_ice_y_velocity']
  sea_water_speed - derived from ['x_sea_water_velocity', 'y_sea_water_velocity']
===========================

Time to open reader:  0:00:48.677047

#%
https://thredds.met.no/thredds/dodsC/cmems/mywavewam3km/dataset-wam-arctic-1hr3km-be.ncml

08:27:19 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:22 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:22 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'polar_stereographic', 'scale_factor_at_projection_origin': np.float64(1.0), 'straight_vertical_longitude_from_pole': np.float64(-45.0), 'latitude_of_projection_origin': np.float64(90.0), 'earth_radius': np.float64(6371000.0), 'proj4': '+proj=stere +lon_0=-45 +lat_0=90 +k=1 +R=6371000 +no_defs'}
08:27:22 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:22 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'y': 'rlat', 'x': 'rlon', 'time': 'time'}
08:27:22 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 8 for reader https://thredds.met.no/thredds/dodsC/cmems/mywavewam3km/dataset-wam-arctic-1hr3km-be.ncml, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:27:22 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:22 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['sea_water_speed', 'sea_water_to_direction'] -> x_sea_water_velocity
08:27:22 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['sea_water_speed', 'sea_water_to_direction'] -> y_sea_water_velocity
08:27:22 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['sea_surface_wave_stokes_drift_x_velocity', 'sea_surface_wave_stokes_drift_y_velocity'] -> sea_surface_wave_stokes_drift_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/cmems/mywavewam3km/dataset-wam-arctic-1hr3km-be.ncml
Projection:
  +proj=stere +lat_0=90 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +R=6371000 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: -3600000.000000   xmax: 3798000.000000   step: 3000   numx: 2467
  ymin: -4300000.000000   ymax: 2798000.000000   step: 3000   numy: 2367
  Corners (lon, lat):
    (-172.86,  50.62)  ( 81.38,  49.37)
    (-84.94,  42.49)  ( -3.55,  41.52)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2022-08-01 00:00:00   end: 2026-04-03 12:00:00   step: 1:00:00
    32197 times (0 missing)
Variables:
  sea_floor_depth_below_sea_level
  sea_ice_area_fraction
  sea_ice_thickness
  sea_water_speed
  sea_water_to_direction
  sea_surface_wave_significant_height
  sea_surface_wave_period_at_variance_spectral_density_maximum
  sea_surface_wave_mean_period_from_variance_spectral_density_inverse_frequency_moment
  sea_surface_wave_mean_period_from_variance_spectral_density_second_frequency_moment
  sea_surface_wave_from_direction
  sea_surface_wind_wave_significant_height
  sea_surface_wind_wave_mean_period_from_variance_spectral_density_first_frequency_moment
  sea_surface_wind_wave_from_direction
  sea_surface_primary_swell_wave_significant_height
  sea_surface_primary_swell_wave_mean_period
  sea_surface_primary_swell_wave_from_direction
  sea_surface_secondary_swell_wave_significant_height
  sea_surface_secondary_swell_wave_mean_period
  sea_surface_secondary_swell_wave_from_direction
  sea_surface_wave_from_direction_at_variance_spectral_density_maximum
  sea_surface_wave_stokes_drift_x_velocity
  sea_surface_wave_stokes_drift_y_velocity
  sea_surface_wave_maximum_crest_height
  sea_surface_wave_maximum_height
  longitude
  latitude
  x_sea_water_velocity - derived from ['sea_water_speed', 'sea_water_to_direction']
  y_sea_water_velocity - derived from ['sea_water_speed', 'sea_water_to_direction']
  sea_surface_wave_stokes_drift_speed - derived from ['sea_surface_wave_stokes_drift_x_velocity', 'sea_surface_wave_stokes_drift_y_velocity']
===========================

Time to open reader:  0:00:03.740586

#%
https://thredds.met.no/thredds/dodsC/ww3_4km_agg

08:27:22 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:27 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:27 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'proj4': '+proj=ob_tran +o_proj=longlat +lon_0=-40 +o_lat_p=22 +R=6.371e+06 +no_defs', 'grid_mapping_name': 'rotated_latitude_longitude', 'grid_north_pole_longitude': np.float64(140.0), 'grid_north_pole_latitude': np.float64(22.0), 'earth_radius': np.float64(6371000.0)}
08:27:27 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:27 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'y': 'rlat', 'x': 'rlon', 'time': 'time'}
08:27:27 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 7 for reader https://thredds.met.no/thredds/dodsC/ww3_4km_agg, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:27:27 INFO    opendrift.readers.basereader:178: Variable x_wind will be rotated from eastward_wind
08:27:27 INFO    opendrift.readers.basereader:178: Variable y_wind will be rotated from northward_wind
08:27:27 INFO    opendrift.readers.basereader:178: Variable sea_surface_wave_stokes_drift_x_velocity will be rotated from eastward_surface_stokes_drift
08:27:27 INFO    opendrift.readers.basereader:178: Variable sea_surface_wave_stokes_drift_y_velocity will be rotated from northward_surface_stokes_drift
08:27:27 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:27 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['sea_surface_wave_stokes_drift_x_velocity', 'sea_surface_wave_stokes_drift_y_velocity'] -> sea_surface_wave_stokes_drift_speed
08:27:27 DEBUG   opendrift.readers.basereader.variables:119: NB: Converting degrees to radians due to ob_tran srs
===========================
Reader: https://thredds.met.no/thredds/dodsC/ww3_4km_agg
Projection:
  +proj=ob_tran +o_proj=longlat +o_lon_p=0 +o_lat_p=22 +lon_0=320 +R=6371000 +no_defs +type=crs
Coverage: [degrees]
  xmin: 5.530000   xmax: 30.450000   step: 0.04   numx: 623
  ymin: -14.350000   ymax: 26.650000   step: 0.04   numy: 1026
  Corners (lon, lat):
    ( 93.81,  83.15)  ( 65.69,  61.93)
    (-31.02,  53.25)  (  2.14,  42.96)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2023-04-20 06:00:00   end: 2026-03-26 23:00:00   step: 1:00:00
    25722 times (0 missing)
Variables:
  longitude
  latitude
  status map
  sea_surface_wave_peak_frequency
  depth
  eastward_wind
  northward_wind
  sea_ice_area_fraction
  sea_surface_wave_significant_height
  mean_wave_length
  sea_surface_wind_wave_mean_period_from_variance_spectral_density_second_frequency_moment
  sea_surface_wind_wave_mean_period_from_variance_spectral_density_inverse_frequency_moment
  sea_surface_wind_wave_mean_period_from_variance_spectral_density_first_frequency_moment
  sea_surface_wave_from_direction
  sea_surface_wave_directional_spread
  sea_surface_wave_peak_direction
  sea_surface_wave_maximum_height
  sea_surface_wave_maximum_crest_height
  sea_surface_wave_maximum_height_std
  sea_surface_wave_maximum_crest_height_std
  sea_surface_wave_significant_height_partition_0
  sea_surface_wave_significant_height_partition_1
  sea_surface_wave_period_at_variance_spectral_density_maximum_partition_0
  sea_surface_wave_period_at_variance_spectral_density_maximum_partition_1
  sea_surface_wave_from_direction_partition_0
  sea_surface_wave_from_direction_partition_1
  sea_surface_swell_wave_mean_period_from_variance_spectral_density_first_frequency_moment
  sea_surface_swell_wave_mean_period_from_variance_spectral_density_second_frequency_moment
  eastward_friction_velocity
  northward_friction_velocity
  charnock_coefficient_for_surface_roughness_length_for_momentum_in_air
  wind_mixing_energy_flux_into_sea_water
  eastward_wave_supported_wind_stress
  northward_wave_supported_wind_stress
  sea_surface_wave_mean_period_from_variance_spectral_density_inverse_frequency_moment
  eastward_wave_to_ocean_stress
  northward_wave_to_ocean_stress
  wave_to_ocean_energy_flux
  eastward_stokes_transport
  northward_stokes_transport
  eastward_surface_stokes_drift
  northward_surface_stokes_drift
  eastward_wave_to_sea_ice_stress
  northward_wave_to_sea_ice_stress
  wave_to_sea_ice_energy_flux
  sea_surface_wave_period_at_variance_spectral_density_maximum
  wind_speed
  wind_from_direction
  x_wind
  y_wind
  sea_surface_wave_stokes_drift_x_velocity
  sea_surface_wave_stokes_drift_y_velocity
  sea_surface_wave_stokes_drift_speed - derived from ['sea_surface_wave_stokes_drift_x_velocity', 'sea_surface_wave_stokes_drift_y_velocity']
===========================

Time to open reader:  0:00:04.890956
08:27:27 DEBUG   opendrift.readers.basereader.variables:119: NB: Converting degrees to radians due to ob_tran srs
08:27:27 DEBUG   opendrift.readers.basereader.variables:119: NB: Converting degrees to radians due to ob_tran srs
08:27:27 DEBUG   opendrift.readers.basereader.variables:119: NB: Converting degrees to radians due to ob_tran srs

#%
https://thredds.met.no/thredds/dodsC/cmems/topaz6/dataset-topaz6-arc-15min-3km-be.ncml

08:27:27 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:30 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:30 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'polar_stereographic', 'latitude_of_projection_origin': np.float64(90.0), 'longitude_of_projection_origin': np.float64(-45.0), 'scale_factor_at_projection_origin': np.float64(1.0), 'straight_vertical_longitude_from_pole': np.float64(-45.0), 'earth_radius': np.float64(6378273.0), 'proj4': '+proj=stere +lon_0=-45 +lat_0=90 +k=1 +R=6378273 +no_defs', 'false_easting': np.float64(0.0), 'false_northing': np.float64(0.0)}
08:27:31 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:31 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'x': 'x', 'y': 'y', 'time': 'time'}
08:27:31 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 4 for reader https://thredds.met.no/thredds/dodsC/cmems/topaz6/dataset-topaz6-arc-15min-3km-be.ncml, assuming a maximum average speed of 5 m/s and time span of 0:15:00
08:27:31 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:31 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_sea_water_velocity', 'y_sea_water_velocity'] -> sea_water_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/cmems/topaz6/dataset-topaz6-arc-15min-3km-be.ncml
Projection:
  +proj=stere +lat_0=90 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +R=6378273 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: -3600000.000000   xmax: 3798000.000000   step: 3000   numx: 2467
  ymin: -4300000.000000   ymax: 2798000.000000   step: 3000   numy: 2367
  Corners (lon, lat):
    (-172.86,  50.66)  ( 81.38,  49.41)
    (-84.94,  42.54)  ( -3.55,  41.57)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2018-01-01 00:00:00   end: 2026-04-02 23:45:00   step: 0:15:00
    289344 times (0 missing)
Variables:
  sea_floor_depth_below_sea_level
  x_sea_water_velocity
  y_sea_water_velocity
  sea_surface_height
  longitude
  latitude
  sea_water_speed - derived from ['x_sea_water_velocity', 'y_sea_water_velocity']
===========================

Time to open reader:  0:00:03.309044

#%
https://thredds.met.no/thredds/dodsC/aromearcticlatest/latest/arome_arctic_lagged_6_h_latest_2_5km_latest.nc

08:27:31 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:32 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:32 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'lambert_conformal_conic', 'standard_parallel': array([77.5, 77.5]), 'longitude_of_central_meridian': np.float64(-25.0), 'latitude_of_projection_origin': np.float64(77.5), 'earth_radius': np.float64(6371000.0)}
08:27:32 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:32 DEBUG   opendrift.readers.reader_netCDF_CF_generic:245: 6 ensemble members available
08:27:32 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'time': 'time', 'x': 'x', 'y': 'y'}
08:27:32 DEBUG   opendrift.readers.reader_netCDF_CF_generic:376: Skipped variables without standard_name: ['fog_area_fraction']
08:27:32 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 10 for reader https://thredds.met.no/thredds/dodsC/aromearcticlatest/latest/arome_arctic_lagged_6_h_latest_2_5km_latest.nc, assuming a maximum average speed of 5 m/s and time span of 1:00:00
08:27:32 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:32 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
===========================
Reader: https://thredds.met.no/thredds/dodsC/aromearcticlatest/latest/arome_arctic_lagged_6_h_latest_2_5km_latest.nc
Projection:
  +proj=lcc +lat_0=77.5 +lon_0=-25 +lat_1=77.5 +lat_2=77.5 +x_0=0 +y_0=0 +R=6371000 +units=m +no_defs +type=crs
Coverage: [degrees]
  xmin: 278620.937500   xmax: 2123621.000000   step: 2500   numx: 739
  ymin: -897985.687500   ymax: 1472014.250000   step: 2500   numy: 949
  Corners (lon, lat):
    ( 79.55,  87.57)  ( 68.83,  71.11)
    (-17.96,  69.30)  ( 18.62,  62.13)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2026-03-25 06:00:00   end: 2026-03-27 19:00:00   step: 1:00:00
    62 times (0 missing)
Variables (6 ensemble members):
  x_wind
  y_wind
  air_temperature
  relative_humidity
  cloud_area_fraction
  air_pressure_at_sea_level
  precipitation_amount
  snowfall_amount
  wind_speed_of_gust
  longitude
  latitude
  wind_speed - derived from ['x_wind', 'y_wind']
===========================

Time to open reader:  0:00:01.123953

#%
https://thredds.ucar.edu/thredds/dodsC/grib/NCEP/GFS/Global_0p25deg/Best

08:27:32 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:33 DEBUG   opendrift.readers:118: Selecting GRIB variable u-component_of_wind_height_above_ground at 10m height and adding standard_name x_wind
08:27:33 DEBUG   opendrift.readers:118: Selecting GRIB variable v-component_of_wind_height_above_ground at 10m height and adding standard_name y_wind
08:27:33 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:33 DEBUG   opendrift.readers.reader_netCDF_CF_generic:146: Parsing CF grid mapping dictionary: {'grid_mapping_name': 'latitude_longitude', 'earth_radius': np.float64(6371229.0), '_CoordinateTransformType': 'Projection', '_CoordinateAxisTypes': 'Lat Lon'}
08:27:33 DEBUG   pyproj:40: PROJ_ERROR: proj_create: several objects matching this name: Krovak (Greenwich), Equal Earth Greenwich, Laborde Grid (Greenwich), Modified Krovak (Greenwich), Krovak East North (Greenwich), Modified Krovak East North (Greenwich), ...
08:27:33 DEBUG   opendrift.readers.reader_netCDF_CF_generic:270: Lon and lat are 1D arrays - using as projection coordinates
08:27:33 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'time': ['time', 'time1', 'time2', 'time3'], 'x': 'lon', 'y': 'lat'}
08:27:33 DEBUG   opendrift.readers.reader_netCDF_CF_generic:376: Skipped variables without standard_name: ['time2_bounds', 'time3_bounds', 'pressure_difference_layer_bounds', 'depth_below_surface_layer_bounds', 'height_above_ground_layer_bounds', 'height_above_ground_layer1_bounds', 'pressure_difference_layer1_bounds', 'pressure_difference_layer2_bounds', 'sigma_layer_bounds', 'Total_ozone_entire_atmosphere_single_layer', 'Ozone_Mixing_Ratio_isobaric', 'Total_cloud_cover_entire_atmosphere_Mixed_intervals_Average', 'Low_cloud_cover_low_cloud_Mixed_intervals_Average', 'Temperature_low_cloud_top_Mixed_intervals_Average', 'Temperature_high_cloud_top_Mixed_intervals_Average', 'Temperature_middle_cloud_top_Mixed_intervals_Average', 'Surface_Lifted_Index_surface', 'Pressure_convective_cloud_top', 'Pressure_convective_cloud_bottom', 'Vertical_Speed_Shear_tropopause', 'Vertical_Speed_Shear_potential_vorticity_surface', 'Ventilation_Rate_planetary_boundary', 'MSLP_Eta_model_reduction_msl', 'Pressure_of_level_from_which_parcel_was_lifted_pressure_difference_layer', 'Liquid_Volumetric_Soil_Moisture_non_Frozen_depth_below_surface_layer', 'Wind_speed_gust_surface', 'Precipitation_rate_surface_Mixed_intervals_Average', 'Categorical_Rain_surface', 'Potential_Evaporation_Rate_surface', 'Volumetric_Soil_Moisture_Content_depth_below_surface_layer', 'Albedo_surface_Mixed_intervals_Average', 'Latent_heat_net_flux_surface_Mixed_intervals_Average', 'Sensible_heat_net_flux_surface_Mixed_intervals_Average', 'Land_cover_0__sea_1__land_surface', 'Ice_cover_surface', 'Momentum_flux_u-component_surface_Mixed_intervals_Average', 'Pressure_surface', 'Soil_type_surface', 'Specific_humidity_pressure_difference_layer', 'Temperature_pressure_difference_layer', 'Temperature_surface', 'Visibility_surface', 'Ice_thickness_surface', 'Relative_humidity_sigma_layer', 'Relative_humidity_pressure_difference_layer', 'Surface_roughness_surface', 'Haines_index_surface', 'Soil_temperature_depth_below_surface_layer', 'u-component_of_wind_pressure_difference_layer', 'Momentum_flux_v-component_surface_Mixed_intervals_Average', 'Categorical_Rain_surface_Mixed_intervals_Average', 'v-component_of_wind_pressure_difference_layer', 'Vegetation_surface', 'Geopotential_height_surface', 'Convective_available_potential_energy_surface', 'Convective_available_potential_energy_pressure_difference_layer', 'Convective_inhibition_pressure_difference_layer', 'Convective_inhibition_surface', 'Precipitation_rate_surface', 'Ice_temperature_surface', 'Storm_relative_helicity_height_above_ground_layer', 'Snow_depth_surface', 'Water_equivalent_of_accumulated_snow_depth_surface', 'Ground_Heat_Flux_surface_Mixed_intervals_Average', 'Total_cloud_cover_convective_cloud', 'Sunshine_Duration_surface', 'Best_4_layer_Lifted_Index_surface', 'Water_runoff_surface_Mixed_intervals_Accumulation', 'Relative_humidity_highest_tropospheric_freezing', 'Relative_humidity_entire_atmosphere_single_layer', 'Categorical_Freezing_Rain_surface', 'Wilting_Point_surface', 'Total_precipitation_surface_Mixed_intervals_Accumulation', 'Convective_precipitation_surface_Mixed_intervals_Accumulation', 'Pressure_high_cloud_bottom_Mixed_intervals_Average', 'Pressure_low_cloud_bottom_Mixed_intervals_Average', 'Pressure_middle_cloud_top_Mixed_intervals_Average', 'Pressure_low_cloud_top_Mixed_intervals_Average', 'Pressure_middle_cloud_bottom_Mixed_intervals_Average', 'Pressure_high_cloud_top_Mixed_intervals_Average', 'Categorical_Freezing_Rain_surface_Mixed_intervals_Average', 'Convective_precipitation_rate_surface', 'Per_cent_frozen_precipitation_surface', 'Specific_humidity_isobaric', 'Temperature_isobaric', 'Relative_humidity_isobaric', 'Relative_humidity_zeroDegC_isotherm', 'Total_cloud_cover_isobaric', 'u-component_of_wind_isobaric', 'Total_cloud_cover_boundary_layer_cloud_Mixed_intervals_Average', 'Downward_Short-Wave_Radiation_Flux_surface_Mixed_intervals_Average', 'Cloud_Work_Function_entire_atmosphere_single_layer_Mixed_intervals_Average', 'v-component_of_wind_isobaric', 'Maximum_temperature_height_above_ground_Mixed_intervals_Maximum', 'Geopotential_height_isobaric', 'Geopotential_height_zeroDegC_isotherm', 'U-Component_Storm_Motion_height_above_ground_layer', 'u-component_of_wind_planetary_boundary', 'Categorical_Ice_Pellets_surface', 'Vertical_velocity_pressure_isobaric', 'Vertical_velocity_geometric_isobaric', 'Absolute_vorticity_isobaric', 'Pressure_reduced_to_MSL_msl', 'Categorical_Ice_Pellets_surface_Mixed_intervals_Average', 'Meridional_Flux_of_Gravity_Wave_Stress_surface_Mixed_intervals_Average', 'Downward_Long-Wave_Radp_Flux_surface_Mixed_intervals_Average', 'Cloud_mixing_ratio_isobaric', 'Ice_water_mixing_ratio_isobaric', 'Rain_mixing_ratio_isobaric', 'Snow_mixing_ratio_isobaric', 'Graupel_snow_pellets_isobaric', 'Pressure_maximum_wind', 'Temperature_altitude_above_msl', 'Temperature_maximum_wind', 'u-component_of_wind_altitude_above_msl', 'u-component_of_wind_maximum_wind', 'ICAO_Standard_Atmosphere_Reference_Height_maximum_wind', 'Upward_Short-Wave_Radiation_Flux_atmosphere_top_Mixed_intervals_Average', 'Upward_Short-Wave_Radiation_Flux_surface_Mixed_intervals_Average', 'v-component_of_wind_maximum_wind', 'v-component_of_wind_altitude_above_msl', 'Low_cloud_cover_low_cloud', 'Apparent_temperature_height_above_ground', 'Geopotential_height_maximum_wind', 'Minimum_temperature_height_above_ground_Mixed_intervals_Minimum', 'Ice_growth_rate_altitude_above_msl', 'V-Component_Storm_Motion_height_above_ground_layer', 'Field_Capacity_surface', 'v-component_of_wind_planetary_boundary', 'Precipitable_water_entire_atmosphere_single_layer', 'Categorical_Snow_surface', 'Reflectivity_hybrid', 'Reflectivity_height_above_ground', 'Pressure_height_above_ground', 'Pressure_tropopause', 'Specific_humidity_height_above_ground', 'Temperature_height_above_ground', 'Temperature_tropopause', 'Relative_humidity_height_above_ground', 'u-component_of_wind_tropopause', 'ICAO_Standard_Atmosphere_Reference_Height_tropopause', 'Categorical_Snow_surface_Mixed_intervals_Average', 'Zonal_Flux_of_Gravity_Wave_Stress_surface_Mixed_intervals_Average', 'Upward_Long-Wave_Radp_Flux_surface_Mixed_intervals_Average', 'Upward_Long-Wave_Radp_Flux_atmosphere_top_Mixed_intervals_Average', 'v-component_of_wind_tropopause', 'Geopotential_height_tropopause', 'Dewpoint_temperature_height_above_ground', 'Temperature_sigma', 'Relative_humidity_sigma', 'Potential_temperature_sigma', 'u-component_of_wind_sigma', 'v-component_of_wind_sigma', 'Medium_cloud_cover_middle_cloud', 'Cloud_mixing_ratio_hybrid', 'Planetary_Boundary_Layer_Height_surface', 'Ice_water_mixing_ratio_hybrid', 'Plant_Canopy_Surface_Water_surface', 'Rain_mixing_ratio_hybrid', 'Vertical_velocity_pressure_sigma', 'Snow_mixing_ratio_hybrid', 'Composite_reflectivity_entire_atmosphere', 'Convective_Precipitation_Rate_surface_Mixed_intervals_Average', 'Total_cloud_cover_entire_atmosphere', 'High_cloud_cover_high_cloud', 'Geopotential_height_cloud_ceiling', 'Geopotential_height_highest_tropospheric_freezing', 'Frictional_Velocity_surface', 'Graupel_snow_pellets_hybrid', 'High_cloud_cover_high_cloud_Mixed_intervals_Average', 'Cloud_water_entire_atmosphere_single_layer', 'Pressure_potential_vorticity_surface', 'Temperature_potential_vorticity_surface', 'u-component_of_wind_potential_vorticity_surface', 'v-component_of_wind_potential_vorticity_surface', 'Geopotential_height_potential_vorticity_surface', 'Medium_cloud_cover_middle_cloud_Mixed_intervals_Average']
08:27:33 DEBUG   opendrift.readers.reader_netCDF_CF_generic:396: Several time dimensions detected: ['time', 'time1', 'time2', 'time3']: Using single time dimension found in detected variables: ['time']
08:27:33 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 4 for reader https://thredds.ucar.edu/thredds/dodsC/grib/NCEP/GFS/Global_0p25deg/Best, assuming a maximum average speed of 5 m/s and time span of 3:00:00
08:27:33 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:33 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
===========================
Reader: https://thredds.ucar.edu/thredds/dodsC/grib/NCEP/GFS/Global_0p25deg/Best
Projection:
  +proj=longlat +R=6371229 +no_defs +type=crs
Coverage: [degrees]
  xmin: 0.000000   xmax: 359.750000   step: 0.25   numx: 1440
  ymin: -90.000000   ymax: 90.000000   step: 0.25   numy: 721
  Corners (lon, lat):
    (  0.00,  90.00)  (359.75,  90.00)
    (  0.00, -90.00)  (359.75, -90.00)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2026-03-18 03:00:00   end: 2026-04-10 00:00:00   step: 3:00:00
    184 times (0 missing)
Variables:
  x_wind
  y_wind
  wind_speed - derived from ['x_wind', 'y_wind']
===========================

Time to open reader:  0:00:01.032700

#%
https://pae-paha.pacioos.hawaii.edu/thredds/dodsC/ncep_global/NCEP_Global_Atmospheric_Model_best.ncd

08:27:33 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:35 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:35 DEBUG   opendrift.readers.reader_netCDF_CF_generic:270: Lon and lat are 1D arrays - using as projection coordinates
08:27:35 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'time': 'time', 'x': 'longitude', 'y': 'latitude'}
08:27:35 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 3 for reader https://pae-paha.pacioos.hawaii.edu/thredds/dodsC/ncep_global/NCEP_Global_Atmospheric_Model_best.ncd, assuming a maximum average speed of 5 m/s and time span of 3:00:00
08:27:35 INFO    opendrift.readers.basereader:178: Variable x_wind will be rotated from eastward_wind
08:27:35 INFO    opendrift.readers.basereader:178: Variable y_wind will be rotated from northward_wind
08:27:35 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:35 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_wind', 'y_wind'] -> wind_speed
===========================
Reader: https://pae-paha.pacioos.hawaii.edu/thredds/dodsC/ncep_global/NCEP_Global_Atmospheric_Model_best.ncd
Projection:
  +proj=latlong
Coverage: [degrees]
  xmin: 0.000000   xmax: 359.500000   step: 0.5   numx: 720
  ymin: -90.000000   ymax: 90.000000   step: 0.5   numy: 361
  Corners (lon, lat):
    (  0.00,  90.00)  (359.50,  90.00)
    (  0.00, -90.00)  (359.50, -90.00)
Vertical levels [m]:
  Not specified
Available time range:
  start: 2022-12-01 12:00:00   end: 2026-04-01 15:00:00   step: 3:00:00
    9738 times (0 missing)
Variables:
  air_pressure_at_sea_level
  surface_temperature
  precipitation_flux
  surface_downwelling_shortwave_flux
  surface_downwelling_longwave_flux
  surface_upwelling_shortwave_flux
  surface_upwelling_longwave_flux
  air_temperature
  relative_humidity
  eastward_wind
  northward_wind
  x_wind
  y_wind
  wind_speed - derived from ['x_wind', 'y_wind']
===========================

Time to open reader:  0:00:01.827848

#%
https://tds.hycom.org/thredds/dodsC/FMRC_ESPC-D-V02_uv3z/FMRC_ESPC-D-V02_uv3z_best.ncd

08:27:35 INFO    opendrift.readers:64: Opening file with xr.open_dataset
08:27:36 WARNING opendrift.readers:72: Removing variables that cannot be CF decoded: ['tau']
08:27:36 DEBUG   opendrift.readers.reader_netCDF_CF_generic:131: Finding coordinate variables.
08:27:36 INFO    opendrift.readers.reader_netCDF_CF_generic:307: Grid coordinates are detected, but proj4 string not given: assuming latlong
08:27:36 INFO    opendrift.readers.reader_netCDF_CF_generic:340: Detected dimensions: {'z': 'depth', 'y': 'lat', 'x': 'lon', 'time': 'time'}
08:27:36 DEBUG   opendrift.readers.basereader.variables:614: Setting buffer size 9 for reader https://tds.hycom.org/thredds/dodsC/FMRC_ESPC-D-V02_uv3z/FMRC_ESPC-D-V02_uv3z_best.ncd, assuming a maximum average speed of 5 m/s and time span of 3:00:00
08:27:36 INFO    opendrift.readers.basereader:178: Variable x_sea_water_velocity will be rotated from eastward_sea_water_velocity
08:27:36 INFO    opendrift.readers.basereader:178: Variable y_sea_water_velocity will be rotated from northward_sea_water_velocity
08:27:36 DEBUG   opendrift.readers.basereader:188: Variable mapping: ['sea_floor_depth_below_sea_level'] -> ['land_binary_mask'] is not activated
08:27:36 DEBUG   opendrift.readers.basereader.variables:569: Adding variable mapping: ['x_sea_water_velocity', 'y_sea_water_velocity'] -> sea_water_speed
===========================
Reader: https://tds.hycom.org/thredds/dodsC/FMRC_ESPC-D-V02_uv3z/FMRC_ESPC-D-V02_uv3z_best.ncd
Projection:
  +proj=latlong
Coverage: [degrees]
  xmin: 0.000000   xmax: 359.920044   step: 0.0799561   numx: 4502
  ymin: -80.000000   ymax: 90.000000   step: 0.0400009   numy: 4250
  Corners (lon, lat):
    (  0.00,  90.00)  (359.92,  90.00)
    (  0.00, -80.00)  (359.92, -80.00)
Vertical levels [m]:
  [   -0.    -2.    -4.    -6.    -8.   -10.   -12.   -15.   -20.   -25.
   -30.   -35.   -40.   -45.   -50.   -60.   -70.   -80.   -90.  -100.
  -125.  -150.  -200.  -250.  -300.  -350.  -400.  -500.  -600.  -700.
  -800.  -900. -1000. -1250. -1500. -2000. -2500. -3000. -4000. -5000.]
Available time range:
  start: 2026-03-16 12:00:00   end: 2026-03-31 12:00:00   step: 3:00:00
    121 times (0 missing)
Variables:
  eastward_sea_water_velocity
  northward_sea_water_velocity
  x_sea_water_velocity
  y_sea_water_velocity
  sea_water_speed - derived from ['x_sea_water_velocity', 'y_sea_water_velocity']
===========================

Time to open reader:  0:00:00.466441

Summary of times to open each dataset:

for t, time in times.items():
    print(time, t)
0:00:02.634471 https://thredds.met.no/thredds/dodsC/fou-hi/norkystv3_800m_m00_be
0:00:00.944419 https://thredds.met.no/thredds/dodsC/mepslatest/meps_lagged_6_h_latest_2_5km_latest.nc
0:00:48.677047 https://thredds.met.no/thredds/dodsC/fou-hi/barents_eps_zdepth_be
0:00:03.740586 https://thredds.met.no/thredds/dodsC/cmems/mywavewam3km/dataset-wam-arctic-1hr3km-be.ncml
0:00:04.890956 https://thredds.met.no/thredds/dodsC/ww3_4km_agg
0:00:03.309044 https://thredds.met.no/thredds/dodsC/cmems/topaz6/dataset-topaz6-arc-15min-3km-be.ncml
0:00:01.123953 https://thredds.met.no/thredds/dodsC/aromearcticlatest/latest/arome_arctic_lagged_6_h_latest_2_5km_latest.nc
0:00:01.032700 https://thredds.ucar.edu/thredds/dodsC/grib/NCEP/GFS/Global_0p25deg/Best
0:00:01.827848 https://pae-paha.pacioos.hawaii.edu/thredds/dodsC/ncep_global/NCEP_Global_Atmospheric_Model_best.ncd
0:00:00.466441 https://tds.hycom.org/thredds/dodsC/FMRC_ESPC-D-V02_uv3z/FMRC_ESPC-D-V02_uv3z_best.ncd

Total running time of the script: (2 minutes 17.630 seconds)

Gallery generated by Sphinx-Gallery