easy_vic_build.build_RVIC_Param

Build RVIC routing inputs and configuration files.

Public functions

buildRVICParam_basic

Generate flow-direction, pour-point, UHBOX, and RVIC parameter CFG files.

buildRVICParam

Run full RVIC parameter generation (requires rvic package).

buildRVICFlowDirectionFile

Build flow_direction_file.nc from hydroanalysis outputs and domain data.

buildPourPointFile / buildUHBOXFile / buildParamCFGFile / buildConvCFGFile

Create individual RVIC input/configuration files.

Functions

buildConvCFGFile(evb_dir[, RUN_STARTDATE, ...])

Generate and save the RVIC convolution configuration file.

buildParamCFGFile(evb_dir[, VELOCITY, ...])

Generate and save the RVIC parameter configuration file.

buildPourPointFile(evb_dir[, names, lons, lats])

Generate a pour point CSV file for RVIC.

buildRVICFlowDirectionFile(evb_dir, ...[, ...])

Build flow_direction_file.nc from hydroanalysis rasters and domain data.

buildRVICParam(evb_dir, domain_dataset[, ...])

Build RVIC input files and run rvic.parameters.

buildRVICParam_basic(evb_dir, domain_dataset)

Build core RVIC input files without running rvic.parameters.

buildUHBOXFile(evb_dir[, createUH_func])

Generate and save the UHBOX (Unit Hydrograph Box) file.

easy_vic_build.build_RVIC_Param.buildRVICParam_basic(evb_dir, domain_dataset, ppf_kwargs={}, uh_params={'createUH_func': <function createGUH>, 'm': 3.0, 'max_day': None, 'max_day_converged_threshold': 0.001, 'max_day_range': (0, 10), 'mu': 5.0, 'plot_bool': True, 'tp': 1.4, 'uh_dt': 3600}, cfg_params={'BASIN_FLOWDAYS': 50, 'CELL_FLOWDAYS': 2, 'DIFFUSION': 800.0, 'OUTPUT_INTERVAL': 86400, 'SUBSET_DAYS': 10, 'VELOCITY': 1.5}, fd_params={'TF_VIC_class': <class 'easy_vic_build.tools.params_func.TransferFunction.TF_VIC'>, 'g_diffusion': None, 'g_velocity': None, 'slope': None})[source]

Build core RVIC input files without running rvic.parameters.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • domain_dataset (netCDF4.Dataset) – Domain dataset used to write routing fields.

  • ppf_kwargs (dict, optional) – Keyword arguments forwarded to buildPourPointFile().

  • uh_params (dict, optional) – Keyword arguments forwarded to buildUHBOXFile().

  • cfg_params (dict, optional) – Keyword arguments forwarded to buildParamCFGFile().

  • fd_params (dict, optional) – Keyword arguments forwarded to buildRVICFlowDirectionFile().

Returns:

Files are written in evb_dir.RVICParam_dir.

Return type:

None

easy_vic_build.build_RVIC_Param.buildRVICParam(evb_dir, domain_dataset, ppf_kwargs={}, uh_params={'createUH_func': <function createGUH>, 'm': 3.0, 'max_day': None, 'max_day_converged_threshold': 0.001, 'max_day_range': (0, 10), 'mu': 5.0, 'plot_bool': True, 'tp': 1.4, 'uh_dt': 3600}, cfg_params={'BASIN_FLOWDAYS': 50, 'CELL_FLOWDAYS': 2, 'DIFFUSION': 800.0, 'OUTPUT_INTERVAL': 86400, 'SUBSET_DAYS': 10, 'VELOCITY': 1.5}, fd_params={'TF_VIC_class': <class 'easy_vic_build.tools.params_func.TransferFunction.TF_VIC'>, 'g_diffusion': None, 'g_velocity': None, 'slope': None}, numofproc=1)[source]

Build RVIC input files and run rvic.parameters.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • domain_dataset (netCDF4.Dataset) – Domain dataset used to build routing inputs.

  • ppf_kwargs (dict, optional) – Keyword arguments forwarded to buildPourPointFile().

  • uh_params (dict, optional) – Keyword arguments forwarded to buildUHBOXFile().

  • cfg_params (dict, optional) – Keyword arguments forwarded to buildParamCFGFile().

  • fd_params (dict, optional) – Keyword arguments forwarded to buildRVICFlowDirectionFile().

  • numofproc (int, optional) – Number of processes passed to rvic.parameters.

Returns:

RVIC parameter files are generated and rvic.parameters is executed.

Return type:

None

Raises:

ImportError – If the RVIC module is not available.

Notes

If the rvic package is unavailable, this function raises ImportError.

easy_vic_build.build_RVIC_Param.buildRVICFlowDirectionFile(evb_dir, domain_dataset, g_velocity=None, g_diffusion=None, slope=None, TF_VIC_class=<class 'easy_vic_build.tools.params_func.TransferFunction.TF_VIC'>)[source]

Build flow_direction_file.nc from hydroanalysis rasters and domain data.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • domain_dataset (netCDF4.Dataset) – Domain dataset that provides lat, lon, mask, and area.

  • g_velocity (tuple or list, optional) – Parameters for spatial velocity estimation via TF_VIC_class.velocity.

  • g_diffusion (tuple or list, optional) – Parameters for spatial diffusion estimation via TF_VIC_class.diffusion.

  • slope (array-like, optional) – Slope field used when estimating velocity.

  • TF_VIC_class (type, optional) – Transfer-function class for optional velocity/diffusion fields.

Returns:

The file is written to evb_dir.flow_direction_file_path.

Return type:

None

easy_vic_build.build_RVIC_Param.buildPourPointFile(evb_dir, names=None, lons=None, lats=None)[source]

Generate a pour point CSV file for RVIC.

This function writes a CSV with columns lons, lats, and names.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • names (list, optional) – Pour-point names.

  • lons (list, optional) – Pour-point longitudes.

  • lats (list, optional) – Pour-point latitudes.

Returns:

The function writes the pour point data to a CSV file.

Return type:

None

easy_vic_build.build_RVIC_Param.buildUHBOXFile(evb_dir, createUH_func=<function createGUH>, **kwargs)[source]

Generate and save the UHBOX (Unit Hydrograph Box) file.

This function creates a UHBOX file using a specified unit hydrograph creation function. The resulting UHBOX data is then saved to a CSV file.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • createUH_func (function, optional) – Function used to generate the unit hydrograph, default is create_uh.createGUH.

  • **kwargs (dict) – Additional parameters to be passed to the createUH_func.

Returns:

max_day – Maximum duration (in days) used in the unit hydrograph generation.

Return type:

int

easy_vic_build.build_RVIC_Param.buildParamCFGFile(evb_dir, VELOCITY=1.5, DIFFUSION=800.0, OUTPUT_INTERVAL=86400, SUBSET_DAYS=10, CELL_FLOWDAYS=2, BASIN_FLOWDAYS=50, CONSTRAIN_FRACTIONS=True)[source]

Generate and save the RVIC parameter configuration file.

This function creates a configuration (CFG) file for RVIC parameter settings based on a reference configuration file and specified routing parameters.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • VELOCITY (float, optional) – Flow velocity parameter, default is 1.5, and the acceptable range is 1.0 to 3.0 m/s.

  • DIFFUSION (float, optional) – Diffusion coefficient for routing, default is 800.0, and the acceptable range is 200 to 4000m3/s.

  • OUTPUT_INTERVAL (int, optional) – Time interval (seconds) for output, default is 86400 seconds (1 day), and should typically be set as a multiple of 60.

  • SUBSET_DAYS (int, optional) – Number of days used for subset processing, default is 10.

  • CELL_FLOWDAYS (int, optional) – Flow duration at the cell level (days), default is 2.

  • BASIN_FLOWDAYS (int, optional) – Flow duration at the basin level (days), default is 50.

  • CONSTRAIN_FRACTIONS (bool, optional) – Whether RVIC should constrain source fractions.

Notes

The output file is written to evb_dir.rvic_param_cfg_file_path.

easy_vic_build.build_RVIC_Param.buildConvCFGFile(evb_dir, RUN_STARTDATE='1979-09-01-00', DATL_FILE='rasm_sample_runoff.nc', PARAM_FILE_PATH='sample_rasm_parameters.nc', RVICHIST_MFILT=365)[source]

Generate and save the RVIC convolution configuration file.

This function creates a configuration (CFG) file for RVIC convolution settings based on a reference configuration file and specified parameters.

Parameters:
  • evb_dir (Evb_dir) – Case directory manager.

  • RUN_STARTDATE (str, optional) – The start date for the RVIC run in “YYYY-MM-DD-HH” format.

  • DATL_FILE (str, optional) – The name of the input runoff file. Default is “rasm_sample_runoff.nc”.

  • PARAM_FILE_PATH (str, optional) – The path to the RVIC parameter file. Default is “sample_rasm_parameters.nc”.

Returns:

The output file is written to evb_dir.rvic_conv_cfg_file_path.

Return type:

None