Package: pvtools
pvtools 🕶A set of python 🐍 tools to process and model PVI put together a set of tools used to clean data and model bifacial systems usingpvfactors,pvlibandbifacialvf🌞InstallAs of 02/2019:bifacialvfhas not yet merged thisPR, the simulate function cannot take arbitrary metereological data on the form of pandas DataFrames. So we are force to install a custom fork of bifacialvf fromhere. This is way, a formal release of capetools to PyPI is not possible rght now, so we have to install by cloning from github.The recommended method is to install capetools on a conda envirnment. Ideally create aconda envwithpython 3.6and then clone and install using pip.conda create --name=your_env_name python=3.7git clone https://github.com/tcapelle/capetools/Now you can install from PyPi:pip install pvtoolsor on editable mode, git clone this repo, and from within the repo install using:pip install -e .Getting started 💪frompvtools.importsimport*frompvtools.utils.missingimport*frompvtools.utils.tmyimportread_pvgisfrompvtools.modelling.mypvfactorsimport*frompvtools.modelling.mybifacialvfimport*PATH=Path.cwd().parent/'data'fname=PATH/'pvgis_tmy_chambery.csv'We will ingest a PVGIS downloaded file for Chamberygps_data,months,tmy_data=read_pvgis(fname)tmy_data.head()<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}</style>temphumidityghidnidhiinfrawswdpressuretime(UTC)2012-01-01 00:00:002.8788.280.0-0.00.0259.631.33170.099504.02012-01-01 01:00:003.5990.070.0-0.00.0268.301.39166.099508.02012-01-01 02:00:004.3291.860.0-0.00.0276.971.45162.099511.02012-01-01 03:00:005.0493.640.0-0.00.0285.641.51167.099517.02012-01-01 04:00:005.7695.430.0-0.00.0294.321.57171.099524.0We can quickly look at missing data:plot_missing(tmy_data)as expected, no missing data !Simulationspvfactorsparams=system_def(n_pvrows=3);params{'n_pvrows': 3,
 'pvrow_height': 1.6218180900789148,
 'pvrow_width': 2.02,
 'tracking': False,
 'axis_azimuth': 0,
 'surface_tilt': 38,
 'surface_azimuth': 180,
 'albedo': 0.4,
 'gcr': 0.5,
 'rho_front_pvrow': 0.075,
 'rho_back_pvrow': 0.075,
 'cut': {0: {'front': 1, 'back': 7},
  1: {'front': 1, 'back': 7},
  2: {'front': 1, 'back': 7}}}data=get_data(fname,params)pvarray=run_pvfactors_simulation(data,params)ax=plot_idx(pvarray)ax.set_xlim(-2,10)(-2, 10)res_pvfactors=individual_report(pvarray,index=data.index)res_pvfactors.head()<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}</style>qinc_0qinc_1qinc_2qinc_3qinc_4qinc_5qinc_6qinc_frontqinc_backtime(UTC)2019-01-01 00:00:000.00.00.00.00.00.00.00.00.02019-01-01 01:00:000.00.00.00.00.00.00.00.00.02019-01-01 02:00:000.00.00.00.00.00.00.00.00.02019-01-01 03:00:000.00.00.00.00.00.00.00.00.02019-01-01 04:00:000.00.00.00.00.00.00.00.00.0res_pvfactors['21 June 2019'].plot();bifacialvfres_bifacialvf=run_bifacialvf_simulation(data)1%|          | 84/8760 [00:00<00:22, 387.11it/s]


********* 
Running Simulation for TMY3:  Chambery
Location:   Chambery
Lat:  45.637001  Long:  5.881  Tz  -1.0
Parameters: beta:  0   Sazm:  180   Height:  0.5   rtr separation:  8.0   Row type:  interior   Albedo:  0.4
Saving into output.csv




100%|██████████| 8760/8760 [00:28<00:00, 307.76it/s]

Finishedres_bifacialvf['21 June 2019'].plot();Coontributing 👇Readnbdevdocumentation please.