Skip to content

Commit 183545c

Browse files
authored
Merge pull request #1833 from knutfrode/dev
Readers are now subclasses of a single class, either StructuredReader…
2 parents ef3663f + 361c084 commit 183545c

24 files changed

Lines changed: 47 additions & 50 deletions

opendrift/readers/basereader/__init__.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@
2828
import cartopy.crs as ccrs
2929
import cartopy.feature as cfeature
3030

31-
from .structured import StructuredReader
32-
from .unstructured import UnstructuredReader
33-
from .continuous import ContinuousReader
3431
from .variables import Variables
3532
from .consts import *
3633
from ..operators.ops import Combine, Filter

opendrift/readers/basereader/continuous.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from abc import abstractmethod
22
import numpy as np
3-
from .variables import Variables
3+
from . import BaseReader
44
from .consts import vector_pairs_xy
55
import logging
66
logger = logging.getLogger(__name__)
77

8-
class ContinuousReader(Variables):
8+
class ContinuousReader(BaseReader):
99
"""
1010
A continuous (in space and time) reader, able to provide
1111
exact values at any desired point (within bounds). This reader type is

opendrift/readers/basereader/structured.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
from pathlib import Path
77

88
from opendrift.readers.interpolation.structured import ReaderBlock
9-
from .variables import Variables
9+
from . import BaseReader
1010

1111
import logging
1212
logger = logging.getLogger(__name__)
1313

1414

15-
class StructuredReader(Variables):
15+
class StructuredReader(BaseReader):
1616
"""
1717
A structured reader. Data is gridded on a regular grid. Used by e.g.:
1818
:class:`opendrift.readers.reader_netCDF_CF_generic.Reader`.

opendrift/readers/basereader/unstructured.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import logging
55
logger = logging.getLogger(__name__)
66

7-
from .variables import Variables
7+
from . import BaseReader
88

99

10-
class UnstructuredReader(Variables):
10+
class UnstructuredReader(BaseReader):
1111
"""
1212
An unstructured reader. Data is gridded irregularily.
1313

opendrift/readers/reader_ArtificialOceanEddy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import numpy as np
1818
import pyproj
1919

20-
from opendrift.readers.basereader import BaseReader, ContinuousReader
20+
from opendrift.readers.basereader.continuous import ContinuousReader
2121

2222

23-
class Reader(BaseReader, ContinuousReader):
23+
class Reader(ContinuousReader):
2424
"""Artificial reader, with cyclonic surface current around selected centre.
2525
2626
Purpose is demonstration and testing (unittest).

opendrift/readers/reader_FVCOM_xarray.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
import scipy, scipy.spatial
2121
import pyproj
2222
import logging
23-
from opendrift.readers.basereader import BaseReader, UnstructuredReader
23+
from opendrift.readers.basereader.unstructured import UnstructuredReader
2424

2525
logger = logging.getLogger(__name__)
2626

2727

28-
class Reader(BaseReader, UnstructuredReader):
28+
class Reader(UnstructuredReader):
2929
"""
3030
A reader for unstructured (irregularily gridded) `CF compliant
3131
<https://cfconventions.org/>`_ netCDF files.

opendrift/readers/reader_ROMS_native.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@
2525
import xarray as xr
2626

2727
from opendrift.readers import open_dataset_opendrift
28-
from opendrift.readers.basereader import BaseReader, vector_pairs_xy, StructuredReader
28+
from opendrift.readers.basereader import vector_pairs_xy
29+
from opendrift.readers.basereader.structured import StructuredReader
2930
from opendrift.readers.roppy import depth
3031

3132

32-
class Reader(BaseReader, StructuredReader):
33+
class Reader(StructuredReader):
3334
"""
3435
A reader for ROMS Output files. It can take a single file, a file pattern, a URL or an xarray Dataset.
3536

opendrift/readers/reader_constant.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
#
1515
# Copyright 2015, Knut-Frode Dagestad, MET Norway
1616

17-
from opendrift.readers.basereader import BaseReader, ContinuousReader
17+
from opendrift.readers.basereader.continuous import ContinuousReader
1818
import numpy as np
1919

20-
class Reader(BaseReader, ContinuousReader):
20+
class Reader(ContinuousReader):
2121
'''A very simple reader that always give the same value for its variables'''
2222

2323
def __init__(self, *args, **kwargs):

opendrift/readers/reader_constant_2d.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
#
1515
# Copyright 2015,2020 Knut-Frode Dagestad, MET Norway
1616

17-
from opendrift.readers.basereader import BaseReader, StructuredReader
17+
from opendrift.readers.basereader.structured import StructuredReader
1818

1919

20-
class Reader(BaseReader, StructuredReader):
20+
class Reader(StructuredReader):
2121
'''Reader based on static 2D arrays of variables'''
2222

2323
def __init__(self, x, y, array_dict, proj4='+proj=latlong'):

opendrift/readers/reader_current_from_drifter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
import numpy as np
2020
import pyproj
2121

22-
from opendrift.readers.basereader import BaseReader, ContinuousReader
22+
from opendrift.readers.basereader.continuous import ContinuousReader
2323

2424

25-
class Reader(BaseReader, ContinuousReader):
25+
class Reader(ContinuousReader):
2626
variables = ['x_sea_water_velocity', 'y_sea_water_velocity']
2727

2828
def __init__(self, lons, lats, times, waves=None, z=0,

0 commit comments

Comments
 (0)