def sapm_celltemp(poa_global, wind_speed, temp_air,<EOL>model='<STR_LIT>'):
temp_models = TEMP_MODEL_PARAMS['<STR_LIT>']<EOL>if isinstance(model, str):<EOL><INDENT>model = temp_models[model.lower()]<EOL><DEDENT>elif isinstance(model, (dict, pd.Series)):<EOL><INDENT>model = [model['<STR_LIT:a>'], model['<STR_LIT:b>'], model['<STR_LIT>']]<EOL><DEDENT>a = model[<NUM_LIT:0>]<EOL>b = model[<NUM_LIT:1>]<EOL>deltaT = model[<NUM_LIT:2>]<EOL>E0 = <NUM_LIT>  <EOL>temp_module = pd.Series(poa_global * np.exp(a + b * wind_speed) + temp_air)<EOL>temp_cell = temp_module + (poa_global / E0) * (deltaT)<EOL>return pd.DataFrame({'<STR_LIT>': temp_cell, '<STR_LIT>': temp_module})<EOL>
Estimate cell and module temperatures per the Sandia PV Array
Performance Model (SAPM, SAND2004-3535), from the incident
irradiance, wind speed, ambient temperature, and SAPM module
parameters.

Parameters
----------
poa_global : float or Series
    Total incident irradiance in W/m^2.

wind_speed : float or Series
    Wind speed in m/s at a height of 10 meters.

temp_air : float or Series
    Ambient dry bulb temperature in degrees C.

model : string, list, or dict, default 'open_rack_cell_glassback'
    Model to be used.

    If string, can be:

        * 'open_rack_cell_glassback' (default)
        * 'roof_mount_cell_glassback'
        * 'open_rack_cell_polymerback'
        * 'insulated_back_polymerback'
        * 'open_rack_polymer_thinfilm_steel'
        * '22x_concentrator_tracker'

    If dict, supply the following parameters
    (if list, in the following order):

        * a : float
            SAPM module parameter for establishing the upper
            limit for module temperature at low wind speeds and
            high solar irradiance.

        * b : float
            SAPM module parameter for establishing the rate at
            which the module temperature drops as wind speed increases
            (see SAPM eqn. 11).

        * deltaT : float
            SAPM module parameter giving the temperature difference
            between the cell and module back surface at the
            reference irradiance, E0.

Returns
--------
DataFrame with columns 'temp_cell' and 'temp_module'.
Values in degrees C.

References
----------
[1] King, D. et al, 2004, "Sandia Photovoltaic Array Performance
Model", SAND Report 3535, Sandia National Laboratories, Albuquerque,
NM.

See Also
--------
sapm