Skip to content

Commit 3492db5

Browse files
committed
rename _prepare_4d_data to _prepare_soil_data, use Union for typing
1 parent e34e6fa commit 3492db5

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

PyStemmusScope/save.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424

2525
import logging
2626
from pathlib import Path
27-
from typing import Dict
28-
from typing import List
27+
from typing import Dict, List, Union
2928
import numpy as np
3029
import pandas as pd
3130
import xarray as xr
@@ -56,15 +55,15 @@ def _select_forcing_variables(forcing_dict: Dict, forcing_var: str, alma_var: st
5655
return data_array
5756

5857

59-
def _shorten_data_array(data: xr.DataArray, time_steps: str)-> xr.DataArray:
58+
def _shorten_data_array(data: Union[xr.DataArray, xr.Dataset], time_steps: str)-> Union[xr.DataArray, xr.Dataset]:
6059
"""Shorten data based on time_steps.
6160
6261
Args:
63-
data(xr.DataArray): data to be shortend.
62+
data(xr.DataArray or xr.Dataset): data to be shortend.
6463
time_steps(str): number of time steps to shorten.
6564
6665
Returns:
67-
xr.DataArray: subset of data with the lenght of time equal to time_steps.
66+
xr.DataArray or xr.Dataset: subset of data with the lenght of time equal to time_steps.
6867
"""
6968

7069
if time_steps != "NA":
@@ -74,8 +73,8 @@ def _shorten_data_array(data: xr.DataArray, time_steps: str)-> xr.DataArray:
7473
return data
7574

7675

77-
def _prepare_4d_data(file_name: str, var_name: str, time: List) -> xr.DataArray:
78-
"""Reshape a `pandas.DataFrame` to include z dimension.
76+
def _prepare_soil_data(file_name: str, var_name: str, time: List) -> xr.DataArray:
77+
"""Return simulated soil temperature and soil moisture as `xr.DataArray`.
7978
8079
Args:
8180
file_name(str): csv file name generated by Stemmus_Scope model.
@@ -304,7 +303,7 @@ def to_netcdf(config: Dict, cf_filename: str) -> str:
304303

305304
# create data array
306305
elif alma_name in {"SoilTemp", "SoilMoist"}:
307-
data_array = _prepare_4d_data(file_name, alma_name, time.values)
306+
data_array = _prepare_soil_data(file_name, alma_name, time.values)
308307
else:
309308
data_array = _prepare_3d_data(
310309
file_name, df["Variable name in STEMMUS-SCOPE"], alma_name, time.values

tests/test_save.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def test_save_to_netcdf(self, cf_convention, _make_csv_file, model_with_setup):
167167
assert "z" not in dataset
168168

169169

170-
class Test4dData:
170+
class TestSoilData:
171171
@pytest.fixture
172172
def cf_convention(self, tmp_path):
173173
convention = [

0 commit comments

Comments
 (0)