Hi Lukas,
For working with SSC in Python, we recommend using PySAM rather than PySSC.
We've tried to improve version information over time -- I agree there is room for more improvement here.
In SAM, you can see the SSC version by clicking Help, About. You can find the SSC version for any version of SAM in the release notes -- click the button in SAM's Help window or go to
nrel.github.io/SAM/doc/releasenotes.html.
For PySAM, you can refer to the Releases page on GitHub:
github.com/NREL/pysam/releases, which is referenced on the Versions page of the PySAM documentation:
nrel-pysam.readthedocs.io/en/main/versions.html.
SAM does not record the SSC version number in .sam files, and SAM's code generator does not record the ssc version number in the JSON files it creates. SAM is designed to be able to open older .sam files, and PySAM should work with old JSON files -- we try to avoid changing variable names that cause incompatibility issues with old files. An exception to this is the recent change in the "adjust" variable from a table structure that used colons in the variable name to a flat structure that uses underscores, but SSC should generate a helpful error message if you use the old format for one of these variables. (For example, the old 'adjust:constant' variable in Pvsamv1 is now 'adjust_constant'.)
For each version of SAM, we only provide access to the most recent update. For example, for SAM 2023.12.17, we we only provide access to SAM 2023.12.17 r1. We no longer provide access to the original release because it has known bugs that we have fixed.
There is typically a delay between the time we release a new SAM version and when we release the equivalent PySAM version because of the time it takes to build PySAM. This was especially true with the SAM 2023.12.17 release because the new hybrids models in SAM required significant changes to the PySAM build process. As of now, SAM 2023.12.17 r1 is eqivalent to PySAM 5.1.0: Both are based on SSC 290.
Best regards,
Paul.