diff --git a/metsim/disaggregate.py b/metsim/disaggregate.py index 78c891f..b1ea2f9 100644 --- a/metsim/disaggregate.py +++ b/metsim/disaggregate.py @@ -109,7 +109,7 @@ def disaggregate(df_daily: pd.DataFrame, params: dict, if 'wind' in df_daily: df_disagg['wind'] = wind(df_daily['wind'].values, ts, params) - return df_disagg.fillna(method='ffill') + return df_disagg.fillna(method='ffill').fillna(method='bfill') def set_min_max_hour(tiny_rad_fract: np.array, yday: np.array, n_days: int, @@ -514,7 +514,7 @@ def vapor_pressure(vp_daily: np.array, temp: np.array, t_t_min: np.array, """ # Linearly interpolate the values interp = scipy.interpolate.interp1d(t_t_min, vp_daily / cnst.MBAR_PER_BAR, - fill_value='extrapolate') + bounds_error=False) vp_disagg = interp(ts * np.arange(0, n_out)) # Account for situations where vapor pressure is higher than diff --git a/metsim/metsim.py b/metsim/metsim.py index cbaed46..81ea718 100644 --- a/metsim/metsim.py +++ b/metsim/metsim.py @@ -582,7 +582,7 @@ def _validate_setup(self): errs.append("Output variable list must not be empty") # Check output variables are valid - daily_out_vars = ['t_min', 't_max', 'prec', 'vapor_pressure', + daily_out_vars = ['t_min', 't_max', 't_day', 'prec', 'vapor_pressure', 'shortwave', 'tskc', 'pet', 'wind'] out_var_check = ['temp', 'prec', 'shortwave', 'vapor_pressure', 'air_pressure', 'rel_humid', 'spec_humid', diff --git a/metsim/tests/test_metsim.py b/metsim/tests/test_metsim.py index 68064e4..70dc80e 100755 --- a/metsim/tests/test_metsim.py +++ b/metsim/tests/test_metsim.py @@ -235,7 +235,7 @@ def test_disaggregation_values(): # The location we will test against loc = (1, 4) - def check_data(out, good, tol=0.02): + def check_data(out, good, tol=0.03): assert isinstance(out, pd.DataFrame) for var in ms.params['out_vars']: # Check to make sure each variable has normalized @@ -276,7 +276,7 @@ def check_data(out, good, tol=0.02): ds.close() -@pytest.mark.parametrize('kind', ['ascii', 'bin', 'nc', +@pytest.mark.parametrize('kind', ['ascii', 'bin', 'nc', 'constant_vars_ascii', 'constant_vars_bin', 'constant_vars_nc'])