Skip to content

Spectral Effect

Under development

This feature is under development.

Use spectral-effect tool to account for the impact of irradiance spectrum on photovoltaic performance.

Spectral factor

Inspect the dedicated command and its options:

pvgis performance spectral-factor --help
 Usage: pvgis performance spectral-factor [OPTIONS] {irradiance} {longitude}    
                                          {latitude} {elevation} [timestamps]   

 Estimate the spectral factor                                                   

╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ *    longitude      <float range>  Longitude in decimal degrees ranging in   │
│                                    [-180, 360]. If ranging in [0, 360],      │
│                                    consider the `--convert-longitude-360`    │
│                                    option.                                   │
│                                    [required]                                │
│ *    latitude       <float range>  Latitude in decimal degrees ranging in    │
│                                    [-90, 90]                                 │
│                                    [required]                                │
│ *    elevation      <float range>  Topographical elevation [required]        │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Solar irradiance spectrum ──────────────────────────────────────────────────╮
│ *    irradiance      <parse_irradiance_data>  [required]                     │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Timestamps ─────────────────────────────────────────────────────────────────╮
│   timestamps      <parse_timestamp_series>  Quoted date-time strings of data │
│                                             to extract from series, example: │
│                                             '2112-12-21, 2112-12-21          │
│                                             12:21:21, 2112-12-21 21:12:12''  │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --limit-spectral-ra…      --no-limit-spectra…           Limit the spectral   │
│                                                         range of the         │
│                                                         irradiance input     │
│                                                         data. Default for    │
│                                                         `spectral_factor_mo… │
│                                                         = Pelland`           │
│                                                         [default:            │
│                                                         no-limit-spectral-r… │
│ --resample-large-se…      --no-resample-larg…           [default:            │
│                                                         no-resample-large-s… │
│ --show-footer             --no-show-footer              Show output table    │
│                                                         footer               │
│                                                         [default:            │
│                                                         show-footer]         │
│ --log                 -l                         <int>  Enable logging       │
│                                                         [default: 0]         │
│ --help                                                  Show this message    │
│                                                         and exit.            │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Timestamps ─────────────────────────────────────────────────────────────────╮
│ --start-time,--st                        <parse_timestamp  Start timestamp   │
│                                          >                 of the period.    │
│                                                            Overrides the     │
│                                                            `timestamps`      │
│                                                            parameter!        │
│ --periods                                <int>             Number of         │
│                                                            timestamps to     │
│                                                            generate          │
│ --frequency                              <str>             A common          │
│                                                            date/time         │
│                                                            frequency unit    │
│                                                            optionally with a │
│                                                            multiples number, │
│                                                            such as           │
│                                                            H(hourly),        │
│                                                            min(utely),       │
│                                                            S(econdly),       │
│                                                            D(aily),          │
│                                                            W(eekly), M(onth  │
│                                                            end), Y(early) or │
│                                                            30min. See Pandas │
│                                                            time series       │
│                                                            offset aliases.   │
│ --end-time,--et                          <parse_timestamp  End timestamp of  │
│                                          >                 the period.       │
│                                                            Overrides the     │
│                                                            `timestamps`      │
│                                                            parameter!        │
│ --timezone,--tz,…                        <parse_timezone>  Timezone (e.g.,   │
│                                                            'Europe/Athens'). │
│                                                            Use the system's  │
│                                                            time zone via the │
│                                                            `--local` option. │
│ --random-timesta…    --no-random-tim…                      Generate a random │
│                                                            date, time and    │
│                                                            timezone to       │
│                                                            demonstrate       │
│                                                            calculation       │
│                                                            [default:         │
│                                                            no-random-timest… │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Spectral responsivity ──────────────────────────────────────────────────────╮
│ --responsivity                           <parse_spectral_  Spectral          │
│                                          responsivity>     responsivity of a │
│                                                            photovoltaic      │
│                                                            device expressed  │
│                                                            in units A/W      │
│                                                            (amperes per      │
│                                                            watt) is the      │
│                                                            electrical        │
│                                                            current (in       │
│                                                            amperes) per unit │
│                                                            of incident       │
│                                                            optical power (in │
│                                                            watts) at         │
│                                                            specific          │
│                                                            wavelengths (CSV  │
│                                                            string or file,   │
│                                                            examples:         │
│                                                            'path_to_file.cs… │
│                                                            or '400,0.3;      │
│                                                            500,0.5;          │
│                                                            600,0.2')         │
│ --integrate-resp…    --no-integrate-…                      Integrate the     │
│                                                            spectral          │
│                                                            responsivity over │
│                                                            Kato bands        │
│                                                            [default:         │
│                                                            no-integrate-res… │
│ --responsivity-c…                        <str>             Column name for   │
│                                                            responsivity      │
│                                                            values in         │
│                                                            `responsivity`    │
│                                                            CSV input         │
│ --photovoltaic-m…                        <all|csi|asi|mon  Photovoltaic      │
│                                          osi|polysi|fs3|f  module type for   │
│                                          s6|cigs>          the spectral      │
│                                                            responsivity.     │
│                                                            Column names in   │
│                                                            CSV input must    │
│                                                            match this        │
│                                                            option's listed   │
│                                                            types!            │
│                                                            [default: cSi]    │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ External time series selection ─────────────────────────────────────────────╮
│ --wavelength-col…                        <str>             Column name for   │
│                                                            wavelength values │
│                                                            in `wavelength`   │
│                                                            CSV input         │
│ --spectrally-res…                        <str>             Variable name     │
│ --average-irradi…                        <str>             Variable name     │
│ --neighbor-lookup                        <none|pad|backfi  Enable nearest    │
│                                          ll|nearest>       neighbor          │
│                                                            (inexact)         │
│                                                            lookups. Read     │
│                                                            Xarray manual on  │
│                                                            nearest-neighbor… │
│                                                            [default:         │
│                                                            nearest]          │
│ --tolerance                              <float>           Maximum distance  │
│                                                            between original  │
│                                                            & new labels for  │
│                                                            inexact matches.  │
│                                                            Read Xarray       │
│                                                            manual on         │
│                                                            nearest-neighbor… │
│                                                            [default: 0.1]    │
│ --mask-and-scale     --no-mask-and-s…                      Mask and scale    │
│                                                            the series        │
│                                                            [default:         │
│                                                            no-mask-and-scal… │
│ --in-memory          --no-in-memory                        Use in-memory     │
│                                                            processing        │
│                                                            [default:         │
│                                                            no-in-memory]     │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Solar irradiance spectrum ──────────────────────────────────────────────────╮
│ --min-wavelength                         <float>           Minimum           │
│                                                            wavelength for    │
│                                                            spectral          │
│                                                            irradiance range  │
│                                                            [default: 280]    │
│ --max-wavelength                         <float>           Maximum           │
│                                                            {spectral_irradi… │
│                                                            [default: 4000]   │
│ --reference-spec…                        <parse_reference  The reference     │
│                                          _spectrum>        spectrum to use   │
│                                                            for the mismatch  │
│                                                            calculation.      │
│                                                            User-defined      │
│                                                            input Yet not     │
│                                                            complete! The     │
│                                                            default is the    │
│                                                            ASTM G173-03      │
│                                                            global tilted     │
│                                                            spectrum.         │
│                                                            [(W/m^2)/nm]      │
│ --integrate-refe…    --no-integrate-…                      Integrate the     │
│                                                            reference         │
│                                                            spectrum over     │
│                                                            Kato bands        │
│                                                            [default:         │
│                                                            no-integrate-ref… │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Spectral factor ────────────────────────────────────────────────────────────╮
│ --spectral-factor-mod…        <all|pvlib|mihaylov|pe  Spectral factor model  │
│                               lland|huld>             [default: pvlib]       │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Data processing ────────────────────────────────────────────────────────────╮
│ --dtype                                 <str>  Data type [default: float32]  │
│ --array-backend                         <str>  Array backend                 │
│                                                [default: numpy]              │
│ --multi-thread     --no-multi-thread           Multi threading               │
│                                                [default: multi-thread]       │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ > Input : < Output ─────────────────────────────────────────────────────────╮
│ --rounding-places  -r      <int>   Number of digits to round results to      │
│                                    [default: 3]                              │
│ --csv                      <path>  CSV output filename                       │
│ --verbose          -v      <int>   Show details while executing commands     │
│                                    [default: 0]                              │
│ --index,--idx      -i              Index rows in output table (meaningful    │
│                                    with at least 1x -v)                      │
│ --quiet                            Do not print out the output               │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Statistics ─────────────────────────────────────────────────────────────────╮
│ --analysis      --no-analysis        Analysis of performance. Will force     │
│                                      verbose=9 (for detailed calculations)   │
│                                      and quiet=True.                         │
│                                      [default: no-analysis]                  │
│ --statistics    --no-statistics      Calculate and display summary           │
│                                      statistics                              │
│                                      [default: no-statistics]                │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Plotting ───────────────────────────────────────────────────────────────────╮
│ --uniplot                  --no-uniplot             Plot the PV power output │
│                                                     time series in the       │
│                                                     terminal                 │
│                                                     [default: no-uniplot]    │
│ --terminal-width-fract…                    <float>  Fraction of number of    │
│                                                     columns of the current   │
│                                                     terminal, ex. 0.9        │
│                                                     [default: 0.9]           │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Metadata ───────────────────────────────────────────────────────────────────╮
│ --fingerprint,--fp                       Fingerprint the output time series  │
│ --metadata            --no-metadata      Print command metadata              │
│                                          [default: no-metadata]              │
╰──────────────────────────────────────────────────────────────────────────────╯

Notes

  • Spectral-effect workflows are evolving and command names may still change.
  • Prefer --help output for the most up-to-date arguments and usage details.