NREL / PVDegradationTools

Set of tools to calculate degradation responses and degradation related parameters for PV.
https://pvdegradationtools.readthedocs.io/
Other
31 stars 7 forks source link

Full Pysam Function #129

Open tobin-ford opened 1 month ago

tobin-ford commented 1 month ago

Goals for a unified pysam implementation function

Want to make it as easy as possible for people to use pysam with their own meteorological data.

Config Files

Users should be able to pass a mapping (dict) of model -> filepath This is better than passing a directory of these files. You should not be able to use builtin pysam solarresource files with this function.

        'pv' : 'example/path/1/pv-file.json'
        'grid' : 'example/path/1/grid-file.json'
        'utilityrate' : 'example/path/1/utilityrate-file.json'
        'cashloan' : 'example/path/1/cashloan-file.json'

Alternatively, we can provide the default pysam configs to each of these models instead of passing config jsons. Safety: want to prevent users from providing a pysam default config and a json config file.

Selective Calculations

Only want to run the models needed to produce the desired outputs. If we provide configs for all of the above mappings but only want annual_energy out of the calculation then we only need to run the pv model (pvwattsv8 or pysamv1) and can ignore the rest.

Multiple Functions

We could include a function for just the PV models for pysam. Then we could have a full pysam function which implements the behavior mentioned above.

Package Design

I hope outside users will like our pysam implementation a lot because it will be much more user friendly than pysam (for our purpose). I think we should seperate pysam out into its own submodule.