reV.config.sam_config.SAMConfig
- class SAMConfig(SAM_configs)[source]
 Bases:
BaseConfigClass to handle the SAM section of config input.
- Parameters:
 SAM_configs (dict) – Keys are config ID’s, values are filepaths to the SAM configs.
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(iterable[, 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 the key is not found, return the default if given; otherwise, raise a KeyError.
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
Required keys for config
Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
Get a boolean for whether bifacial solar analysis is being run.
Get a boolean for whether solar resource requires clearsky irrad.
Get the directory that the config file is in.
List of valid config keys
Resolution to downscale NSRDB resource to.
Get a boolean for whether wind generation is considering icing.
Get the SAM input file(s) (JSON/JSON5/YAML/TOML) and return as a dictionary.
Get user-specified "log_level" (DEBUG, INFO, WARNING, etc...).
Get the job name, defaults to 'rev'.
Step size for time_index for SAM profile output resolution
- property clearsky
 Get a boolean for whether solar resource requires clearsky irrad.
- Returns:
 clearsky (bool) – Flag set in the SAM config input with key “clearsky” for solar analysis to process generation for clearsky irradiance. Defaults to False (normal all-sky irradiance).
- property bifacial
 Get a boolean for whether bifacial solar analysis is being run.
- Returns:
 bifacial (bool) – Flag set in the SAM config input with key “bifaciality” for solar analysis to analyze bifacial PV panels. Will require albedo input. Defaults to False (no bifacial panels is default).
- property icing
 Get a boolean for whether wind generation is considering icing.
- Returns:
 _icing (bool) – Flag for whether wind generation is considering icing effects. Based on whether SAM input json has “en_icing_cutoff” == 1.
- property time_index_step
 Step size for time_index for SAM profile output resolution
- Returns:
 int | None – Step size for time_index, used to reduce temporal resolution
- property downscale
 Resolution to downscale NSRDB resource to.
- Returns:
 dict | None – Option for NSRDB resource downscaling to higher temporal resolution. The config expects a str entry in the Pandas frequency format, e.g. ‘5min’ or a dict of downscaling kwargs such as {‘frequency’: ‘5min’, ‘variability_kwargs’: {‘var_frac’: 0.05, ‘distribution’: ‘uniform’}}. A str entry will be converted to a kwarg dict for the output of this property e.g. ‘5min’ -> {‘frequency’: ‘5min’}
- property inputs
 Get the SAM input file(s) (JSON/JSON5/YAML/TOML) and return as a dictionary.
- Parameters:
 _inputs (dict) – The keys of this dictionary are the “configuration ID’s”. The values are the imported json SAM input dictionaries.
- REQUIREMENTS = ()
 Required keys for config
- STR_REP = {'REVDIR': '/home/runner/work/reV/reV/reV', 'TESTDATADIR': '/home/runner/work/reV/reV/tests/data'}
 Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
- 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
 
- classmethod fromkeys(iterable, 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_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.
- property name
 Get the job name, defaults to ‘rev’.
- Returns:
 name (str) – reV job name.
- pop(k[, d]) v, remove specified key and return the corresponding value.
 If the key is not found, return the default if given; otherwise, raise a KeyError.
- 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 thepathinput 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.
- 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