geoprior.scripts.extend_utils#

Utility helpers for forecast extension scripts.

Functions

extend_future_csv_file(future_csv, *[, ...])

Load -> extend -> write an updated future CSV.

extend_future_df(future_df, *[, eval_df, ...])

Extend a future forecast by 1-2+ years.

load_eval_csv(path, *[, cc])

load_future_csv(path, *[, cc])

to_mm(df)

Classes

ExtendCfg([kind, out_kind, method, window, ...])

class geoprior.scripts.extend_utils.ExtendCfg(kind: 'SubsKind' = 'cumulative', out_kind: 'OutKind' = 'same', method: 'Method' = 'linear_fit', window: 'int' = 3, unc_growth: 'UncGrowth' = 'sqrt', unc_scale: 'float' = 1.0, group_col: 'str' = 'sample_idx', time_col: 'str' = 'coord_t')[source]#

Bases: object

Parameters:
  • kind (Literal['cumulative', 'rate', 'increment'])

  • out_kind (Literal['same', 'cumulative', 'rate'])

  • method (Literal['linear_last', 'linear_fit'])

  • window (int)

  • unc_growth (Literal['hold', 'sqrt', 'linear'])

  • unc_scale (float)

  • group_col (str)

  • time_col (str)

kind: Literal['cumulative', 'rate', 'increment'] = 'cumulative'#
out_kind: Literal['same', 'cumulative', 'rate'] = 'same'#
method: Literal['linear_last', 'linear_fit'] = 'linear_fit'#
window: int = 3#
unc_growth: Literal['hold', 'sqrt', 'linear'] = 'sqrt'#
unc_scale: float = 1.0#
group_col: str = 'sample_idx'#
time_col: str = 'coord_t'#
__init__(kind='cumulative', out_kind='same', method='linear_fit', window=3, unc_growth='sqrt', unc_scale=1.0, group_col='sample_idx', time_col='coord_t')#
Parameters:
  • kind (Literal['cumulative', 'rate', 'increment'])

  • out_kind (Literal['same', 'cumulative', 'rate'])

  • method (Literal['linear_last', 'linear_fit'])

  • window (int)

  • unc_growth (Literal['hold', 'sqrt', 'linear'])

  • unc_scale (float)

  • group_col (str)

  • time_col (str)

Return type:

None

geoprior.scripts.extend_utils.load_eval_csv(path, *, cc=None)[source]#
Parameters:
Return type:

DataFrame

geoprior.scripts.extend_utils.load_future_csv(path, *, cc=None)[source]#
Parameters:
Return type:

DataFrame

geoprior.scripts.extend_utils.to_mm(df)[source]#
Parameters:

df (DataFrame)

Return type:

DataFrame

geoprior.scripts.extend_utils.extend_future_df(future_df, *, eval_df=None, add_years=1, years=None, cc=None)[source]#

Extend a future forecast by 1-2+ years.

This is extrapolation: it assumes a smooth (linear) trend in the last window of years.

Parameters:
Return type:

DataFrame

geoprior.scripts.extend_utils.extend_future_csv_file(future_csv, *, eval_csv=None, out_csv=None, add_years=1, years=None, cc=None)[source]#

Load -> extend -> write an updated future CSV.

If out_csv is relative, it is placed in scripts/out/.

Parameters:
Return type:

Path