reVX.config.least_cost_xmission.LeastCostPathsConfig
- class LeastCostPathsConfig(config)[source]
Bases:
AnalysisConfig
Config framework for Least Cost Paths
- Parameters:
config (str | dict) – Path to config .json or pre-extracted config input dictionary.
Methods
check_files
(flist)Make sure all files in the input file list exist.
check_overwrite_keys
(primary_key, ...)Check for overwrite keys and raise a ConfigError if present
clear
()copy
()fromkeys
([value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(k[,d])If key is not found, d is returned if given, otherwise KeyError is raised
popitem
()Remove and return a (key, value) pair as a 2-tuple.
resolve_path
(path)Resolve a file path represented by the input string.
set_self_dict
(dictlike)Save a dict-like variable as object instance dictionary items.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
str_replace_and_resolve
(d, str_rep)Perform a deep string replacement and path resolve in d.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()Attributes
NAME
Required keys for config
Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
Get the analysis years.
Transmission barrier multiplier to use for MCP costs
Capacity class of the 'base' greenfield costs layer.
Side length of each cell, in meters.
Number of array elements to buffer clip area by.
Get the directory that the config file is in.
List of valid config keys
.h5 file with cost and required layers
List of H5 layers that are summed to determine total costs raster used for routing.
Get the execution control object.
Tranmission feature .gpkg
Boolean flag indicating wether this run is for reinforcement path computation
Layers to be added to the cost raster whose costs do not scale with distance traversed (i.e.
Get the logging directory, look for key "log_directory" in the config.
Get user-specified "log_level" (DEBUG, INFO, WARNING, etc...).
Get the job name, defaults to the output directory name.
Network nodes config input
Name of column containing unique region identifier
Boolean flag to save the least cost paths along with the costs and lengths
Name of column containing unique identifier for each substation.
Name of transmission barrier layer in cost_fpath file.
Dictionary mapping layer names to strings, where the strings are numpy methods that should be applied to the layer along the LCP.
Transmission line features config input
Xmission config input
- REQUIREMENTS = ('cost_fpath', 'features_fpath', 'cost_layers')
Required keys for config
- property name
Get the job name, defaults to the output directory name.
- Returns:
_name (str) – Job name.
- property cost_fpath
.h5 file with cost and required layers
- property features_fpath
Tranmission feature .gpkg
- property network_nodes_fpath
Network nodes config input
- property transmission_lines_fpath
Transmission line features config input
- property capacity_class
Capacity class of the ‘base’ greenfield costs layer. Costs will be scaled by the capacity corresponding to this class to report reinforcement costs as $/MW. Only used for reinforcement path computations.
- property cost_layers
List of H5 layers that are summed to determine total costs raster used for routing.
- property length_invariant_cost_layers
Layers to be added to the cost raster whose costs do not scale with distance traversed (i.e. fixed one-time costs for crossing these cells).
- property tracked_layers
Dictionary mapping layer names to strings, where the strings are numpy methods that should be applied to the layer along the LCP.
- property cell_size
Side length of each cell, in meters.
- property xmission_config
Xmission config input
- property tb_layer_name
Name of transmission barrier layer in cost_fpath file.
- property clip_buffer
Number of array elements to buffer clip area by.
- property barrier_mult
Transmission barrier multiplier to use for MCP costs
- property is_reinforcement_run
Boolean flag indicating wether this run is for reinforcement path computation
- property region_identifier_column
Name of column containing unique region identifier
- STR_REP = {'REVDIR': '/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/reV', 'TESTDATADIR': '/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/tests/data'}
Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
- property analysis_years
Get the analysis years.
- Returns:
analysis_years (list) – List of years to analyze. If this is a single year run, this return value is a single entry list. If no analysis_years are specified, the code will look anticipate a year in the input files.
- static check_files(flist)
Make sure all files in the input file list exist.
- Parameters:
flist (list) – List of files (with paths) to check existance of.
- check_overwrite_keys(primary_key, *overwrite_keys)
Check for overwrite keys and raise a ConfigError if present
- Parameters:
primary_key (str) – Primary key that overwrites overwrite_keys, used for error message
overwrite_keys (str) – Key(s) to overwrite
- clear() None. Remove all items from D.
- property config_dir
Get the directory that the config file is in.
- Returns:
config_dir (str) – Directory path that the config file is in.
- property config_keys
List of valid config keys
- Returns:
list
- copy() a shallow copy of D
- property execution_control
Get the execution control object.
- Returns:
_ec (BaseExecutionConfig | EagleConfig) – reV execution config object specific to the execution_control option.
- fromkeys(value=None, /)
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- property log_directory
Get the logging directory, look for key “log_directory” in the config. :returns: log_directory (str) – Target path for reV log files.
- property log_level
Get user-specified “log_level” (DEBUG, INFO, WARNING, etc…).
- Returns:
log_level (int) – Python logging module level (integer format) corresponding to the config-specified log level string.
- pop(k[, d]) v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
- popitem()
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- resolve_path(path)
Resolve a file path represented by the input string.
This function resolves the input string if it resembles a path. Specifically, the string will be resolved if it starts with “
./
” or “..
”, or it if it contains either “./
” or “..
” somewhere in the string body. Otherwise, the string is returned unchanged, so this function is safe to call on any string, even ones that do not resemble a path.This method delegates the “resolving” logic to
pathlib.Path.resolve()
. This means the path is made absolute, symlinks are resolved, and “..
” components are eliminated. If thepath
input starts with “./
” or “..
”, it is assumed to be w.r.t the config directory, not the run directory.- Parameters:
path (str) – Input file path.
- Returns:
str – The resolved path.
- set_self_dict(dictlike)
Save a dict-like variable as object instance dictionary items.
- Parameters:
dictlike (dict) – Python namespace object to set to this dictionary-emulating class.
- setdefault(key, default=None, /)
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- property ss_id_col
Name of column containing unique identifier for each substation. This column will be used to compute minimum reinforcement cost per substation. By default,
"poi_gid"
.
- str_replace_and_resolve(d, str_rep)
Perform a deep string replacement and path resolve in d.
- Parameters:
d (dict) – Config dictionary potentially containing strings to replace and/or paths to resolve.
str_rep (dict) – Replacement mapping where keys are strings to search for and values are the new values.
- Returns:
d (dict) – Config dictionary with updated strings.
- update([E, ]**F) None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values
- property save_paths
Boolean flag to save the least cost paths along with the costs and lengths