|
| 1 | +.. _faq: |
| 2 | + |
| 3 | +Frequently Asked Questions |
| 4 | +========================== |
| 5 | + |
| 6 | +General Questions |
| 7 | +***************** |
| 8 | + |
| 9 | +What is pvlib? |
| 10 | +-------------- |
| 11 | + |
| 12 | +pvlib is a free and open-source python software library for modeling |
| 13 | +the electrical performance of solar photovoltaic (PV) systems. It provides |
| 14 | +implementations of scientific models for many topics relevant for PV modeling. |
| 15 | + |
| 16 | +For additional details about the project, see :ref:`package_overview`. |
| 17 | +For examples of using pvlib, see :ref:`example_gallery`. |
| 18 | + |
| 19 | + |
| 20 | +How does pvlib compare to other PV modeling tools like PVsyst or SAM? |
| 21 | +--------------------------------------------------------------------- |
| 22 | + |
| 23 | +pvlib is similar to tools like PVsyst and SAM in that it can be used |
| 24 | +for "weather-to-power" modeling to model system energy production |
| 25 | +based on system configuration and a weather dataset. However, pvlib |
| 26 | +is also very different in that you use pvlib via python code instead |
| 27 | +of via a GUI. pvlib is also more of a toolbox or a framework to use |
| 28 | +to build your own modeling process (although some pre-built workflows |
| 29 | +are available as well). |
| 30 | + |
| 31 | + |
| 32 | +Usage Questions |
| 33 | +*************** |
| 34 | + |
| 35 | +All I have is GHI, how do I get to POA? |
| 36 | +--------------------------------------- |
| 37 | + |
| 38 | +Going from GHI to POA irradiance is a two-step process. The first step is to |
| 39 | +use a decomposition model (also called a separation model) to estimate the |
| 40 | +DNI and DHI corresponding to your GHI. For a list of decomposition |
| 41 | +models available in pvlib, see :ref:`dniestmodels`. |
| 42 | + |
| 43 | +The second step is to transpose those estimated DNI and DHI components into |
| 44 | +POA components. This is most easily done with the |
| 45 | +:py:func:`pvlib.irradiance.get_total_irradiance` function. |
| 46 | + |
| 47 | + |
| 48 | +Can I use PVsyst (PAN/OND) files with pvlib? |
| 49 | +-------------------------------------------- |
| 50 | + |
| 51 | +Currently, pvlib does not have the ability to import any PVsyst file formats. |
| 52 | +Certain formats of particular interest (e.g. PAN files) may be added in a future |
| 53 | +version. Until then, these Google Group threads |
| 54 | +(`one <https://groups.google.com/g/pvlib-python/c/PDDic0SS6ao/m/Z-WKj7C6BwAJ>`_ |
| 55 | +and `two <https://groups.google.com/g/pvlib-python/c/b1mf4Y1qHBY/m/tK2FBCJyBgAJ>`_) |
| 56 | +may be useful for some users. |
| 57 | + |
| 58 | + |
| 59 | +Why don't my simulation results make sense? |
| 60 | +------------------------------------------- |
| 61 | + |
| 62 | +pvlib does not prevent you from using models improperly and generating |
| 63 | +invalid results. It is on you as the user to understand the models you |
| 64 | +are using. However, here are a few modeling errors that beginners sometimes |
| 65 | +run into: |
| 66 | + |
| 67 | +- *Improper time zone localization*: calculating solar positions is often the |
| 68 | + first step of a modeling process and relies on timestamps being localized to |
| 69 | + the correct time zone. A telltale sign of improper time zones is a time |
| 70 | + shift between solar position and the irradiance data. |
| 71 | + For more information on handling timezone correctly, see :ref:`timetimezones`. |
| 72 | +- TODO other beginner issues |
| 73 | + |
| 74 | +Matplotlib and pandas have very powerful plotting capabilities that are great |
| 75 | +for tracking down where things went wrong in a modeling process. Try plotting |
| 76 | +multiple a few days of intermediate time series in a single plot, looking for |
| 77 | +inconsistencies like nonzero irradiance when the sun is below the horizon. |
| 78 | +This will give you a clue of where to look for errors in your code. |
| 79 | + |
| 80 | + |
| 81 | +I got a warning like ``RuntimeWarning: invalid value encountered in arccos``, what does it mean? |
| 82 | +------------------------------------------------------------------------------------------------ |
| 83 | + |
| 84 | +It is fairly common to use pvlib models in conditions where they are not |
| 85 | +applicable, for example attempting to calculate an IV curve at night. |
| 86 | +In such cases the model failure doesn't really matter (nighttime values are |
| 87 | +irrelevant), but the numerical packages that pvlib is built on |
| 88 | +(e.g. `numpy <https://numpy.org>`_) emit warnings complaining about |
| 89 | +`invalid value`, `divide by zero`, etc. In these cases the warnings can |
| 90 | +often be ignored without issue. |
| 91 | + |
| 92 | +However, that's not always the case: sometimes these warnings are caused |
| 93 | +by an error in your code, for example by giving a function inappropriate inputs. |
| 94 | +So, these warnings don't necessarily indicate a problem, but you shouldn't |
| 95 | +get in the habit of immediately discounting them either. |
| 96 | + |
| 97 | + |
| 98 | +I got an error like ``X has no attribute Y``, what does it mean? |
| 99 | +---------------------------------------------------------------- |
| 100 | + |
| 101 | +If you see a function in the pvlib documentation that doesn't seem to exist |
| 102 | +in your pvlib installation, the documentation is likely for a different version |
| 103 | +of pvlib. You can check your installed pvlib version by running |
| 104 | +``print(pvlib.__version__)`` in python. To switch documentation versions, use |
| 105 | +the `v:` version switcher widget in the bottom right corner of this page. |
| 106 | + |
| 107 | +You can also upgrade your installed pvlib to the latest compatible version |
| 108 | +with ``pip install -U pvlib``, but be sure to check the :ref:`whatsnew` |
| 109 | +page to see what the differences between versions are. |
| 110 | + |
| 111 | + |
| 112 | +The CEC table doesn't include my module or inverter, what should I do? |
| 113 | +---------------------------------------------------------------------- |
| 114 | + |
| 115 | +The CEC tables for module and inverter parameters included in pvlib are periodically |
| 116 | +copied from `SAM <https://github.com/NREL/SAM/tree/develop/deploy/libraries>`_, |
| 117 | +so you can check the tables there for more up-to-date tables. |
| 118 | + |
| 119 | +For modules, if even files don't include the module you're looking for either, |
| 120 | +you can calculate CEC module model parameters from |
| 121 | +datasheet information using :py:func:`pvlib.ivtools.sdm.fit_cec_sam`. |
0 commit comments