Thanks Paul, that is good info! Sounds like a more manual way to understand and check interdependent value impact is to make the changes to a variable and export a JSON before and after that change and do a file diff between those two JSON files to catch what variables need updating.
Some follow up questions:
1. On the 'system_capacity', the
SAM help
states:
Nameplate Capacity (kWdc) = Module Maximum Power (Wdc) × 0.001 (kW/W) × Total Modules
Is there a specific reason why the example code multiplies voltage with current (cec_v_mp_ref * cec_i_mp_ref) instead of using the 'cec_p_mp_ref' (Max power for the module) instead? Perhaps not all entries in the module database have the max power field filled out?
2. When initializing the modules, I noticed that it seems that other modules are typically created from the system module. Are there exceptions to this?
pv_system = pvsamv1.default(model_name)
grid_model = grid.from_existing(pv_system, model_name)
utility_model = utilityrate5.from_existing(pv_system, model_name)
financial_model = cashloan.from_existing(pv_system, model_name)