2424
2525import logging
2626from pathlib import Path
27- from typing import Dict
28- from typing import List
27+ from typing import Dict , List , Union
2928import numpy as np
3029import pandas as pd
3130import 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
0 commit comments