Skip to content

Commit 249a84b

Browse files
authored
Update coops.py
Fixed up how to pass in the information
1 parent f91de93 commit 249a84b

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

intake_coops/coops.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class COOPSXarrayReader(COOPSDataframeReader):
8989

9090
output_instance = "xarray:Dataset"
9191

92-
def _read(self, stationid, process_adcp: bool = False):#, metadata_in: Optional[dict] = None):
92+
def _read(self, stationid, process_adcp: Union[str,bool] = False):#, metadata_in: Optional[dict] = None):
9393
"""Read as DataFrame but convert to Dataset."""
9494
# metadata_in = metadata_in or {}
9595

@@ -122,20 +122,32 @@ def _read(self, stationid, process_adcp: bool = False):#, metadata_in: Optional[
122122
)
123123

124124
if process_adcp:
125-
ds = self.process_adcp(metadata, ds)
125+
ds = self.process_adcp(metadata, ds, process_adcp)
126126

127127
return ds
128128

129-
def process_adcp(self, metadata, ds, process_uv=False, process_along=False, process_subtidal=False):
129+
def process_adcp(self, metadata, ds, process_adcp):
130130
"""Process ADCP data.
131131
132+
Parameters
133+
----------
134+
process_adcp: str, bool
135+
136+
* "process_uv": process adcp to include `u`/`v` in dataset
137+
* "process_along": process adcp to include `u`/`v` and `ualong`/`vacross` in dataset
138+
* "process_subtidal": process adcp to include `u`/`v`, `ualong`/`vacross`, and `ualong_subtidal`/`vacross_subtidal` in dataset
139+
* True is equivalent to "process_subtidal"
140+
132141
Returns
133142
-------
134143
Dataset
135144
With u and v, ualong and vacross, and subtidal versions ualong_subtidal, vacross_subtidal
136145
"""
137146

138-
if process_uv or process_along or process_subtidal:
147+
if process_adcp == True:
148+
process_adcp = "process_subtidal"
149+
150+
if process_adcp in ["process_uv", "process_along", "process_subtidal"]:
139151
ds["u"] = (
140152
np.cos(np.deg2rad(ds.cf["dir"])) * ds.cf["speed"] / 100
141153
)
@@ -157,7 +169,7 @@ def process_adcp(self, metadata, ds, process_uv=False, process_along=False, proc
157169
"units": "m s-1",
158170
}
159171

160-
if process_along or process_subtidal:
172+
if process_adcp in ["process_along", "process_subtidal"]:
161173
theta = metadata["deployments"]["flood_direction_degrees"]
162174
ds["ualong"] = ds["u"] * np.cos(np.deg2rad(theta)) + ds[
163175
"v"
@@ -174,7 +186,7 @@ def process_adcp(self, metadata, ds, process_uv=False, process_along=False, proc
174186
"units": "m s-1",
175187
}
176188

177-
if process_subtidal:
189+
if process_adcp == "process_subtidal":
178190
# calculate subtidal velocities
179191
ds["ualong_subtidal"] = tidal_filter(ds["ualong"])
180192
ds["vacross_subtidal"] = tidal_filter(ds["vacross"])

0 commit comments

Comments
 (0)