Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _validate_timestamp(observation, values):
return validator.check_timestamp_spacing(
values.index, observation.interval_length, _return_mask=True)
:py:func:`.validator.check_ghi_limits_QCRad`,
:py:func:`.validator.check_ghi_clearsky`,
:py:func:`.validator.detect_clearsky_ghi` respectively
""" # NOQA
solar_position, dni_extra, timestamp_flag, night_flag = _solpos_dni_extra(
observation, values)
clearsky = pvmodel.calculate_clearsky(
observation.site.latitude, observation.site.longitude,
observation.site.elevation, solar_position['apparent_zenith'])
ghi_limit_flag = validator.check_ghi_limits_QCRad(
values, solar_position['zenith'], dni_extra,
_return_mask=True)
ghi_clearsky_flag = validator.check_ghi_clearsky(values, clearsky['ghi'],
_return_mask=True)
cloud_free_flag = validator.detect_clearsky_ghi(values, clearsky['ghi'],
_return_mask=True)
return (timestamp_flag, night_flag, ghi_limit_flag,
ghi_clearsky_flag, cloud_free_flag)
Integer bitmask series from
:py:func:`.validator.check_timestamp_spacing`,
:py:func:`.validator.check_irradiance_day_night`,
:py:func:`.validator.check_poa_clearsky` respectively
"""
solar_position, dni_extra, timestamp_flag, night_flag = _solpos_dni_extra(
observation, values)
clearsky = pvmodel.calculate_clearsky(
observation.site.latitude, observation.site.longitude,
observation.site.elevation, solar_position['apparent_zenith'])
aoi_func = pvmodel.aoi_func_factory(observation.site.modeling_parameters)
poa_clearsky = pvmodel.calculate_poa_effective(
aoi_func=aoi_func, apparent_zenith=solar_position['apparent_zenith'],
azimuth=solar_position['azimuth'], ghi=clearsky['ghi'],
dni=clearsky['dni'], dhi=clearsky['dhi'])
poa_clearsky_flag = validator.check_poa_clearsky(values, poa_clearsky,
_return_mask=True)
return timestamp_flag, night_flag, poa_clearsky_flag
def _solpos_night(observation, values):
solar_position = pvmodel.calculate_solar_position(
observation.site.latitude, observation.site.longitude,
observation.site.elevation, values.index)
night_flag = validator.check_irradiance_day_night(solar_position['zenith'],
_return_mask=True)
return solar_position, night_flag
def _validate_stale_interpolated(observation, values):
window = validator.stale_interpolated_window(observation.interval_length)
stale_flag = validator.detect_stale_values(values, window=window,
_return_mask=True)
interpolation_flag = validator.detect_interpolation(values, window=window,
_return_mask=True)
return stale_flag, interpolation_flag
def _validate_stale_interpolated(observation, values):
window = validator.stale_interpolated_window(observation.interval_length)
stale_flag = validator.detect_stale_values(values, window=window,
_return_mask=True)
interpolation_flag = validator.detect_interpolation(values, window=window,
_return_mask=True)
return stale_flag, interpolation_flag
:py:func:`.validator.check_timestamp_spacing`,
:py:func:`.validator.check_irradiance_day_night`,
:py:func:`.validator.check_ghi_limits_QCRad`,
:py:func:`.validator.check_ghi_clearsky`,
:py:func:`.validator.detect_clearsky_ghi` respectively
""" # NOQA
solar_position, dni_extra, timestamp_flag, night_flag = _solpos_dni_extra(
observation, values)
clearsky = pvmodel.calculate_clearsky(
observation.site.latitude, observation.site.longitude,
observation.site.elevation, solar_position['apparent_zenith'])
ghi_limit_flag = validator.check_ghi_limits_QCRad(
values, solar_position['zenith'], dni_extra,
_return_mask=True)
ghi_clearsky_flag = validator.check_ghi_clearsky(values, clearsky['ghi'],
_return_mask=True)
cloud_free_flag = validator.detect_clearsky_ghi(values, clearsky['ghi'],
_return_mask=True)
return (timestamp_flag, night_flag, ghi_limit_flag,
ghi_clearsky_flag, cloud_free_flag)
-------
timestamp_flag, night_flag, ghi_limit_flag, ghi_clearsky_flag, cloud_free_flag : pandas.Series
Integer bitmask series from
:py:func:`.validator.check_timestamp_spacing`,
:py:func:`.validator.check_irradiance_day_night`,
:py:func:`.validator.check_ghi_limits_QCRad`,
:py:func:`.validator.check_ghi_clearsky`,
:py:func:`.validator.detect_clearsky_ghi` respectively
""" # NOQA
solar_position, dni_extra, timestamp_flag, night_flag = _solpos_dni_extra(
observation, values)
clearsky = pvmodel.calculate_clearsky(
observation.site.latitude, observation.site.longitude,
observation.site.elevation, solar_position['apparent_zenith'])
ghi_limit_flag = validator.check_ghi_limits_QCRad(
values, solar_position['zenith'], dni_extra,
_return_mask=True)
ghi_clearsky_flag = validator.check_ghi_clearsky(values, clearsky['ghi'],
_return_mask=True)
cloud_free_flag = validator.detect_clearsky_ghi(values, clearsky['ghi'],
_return_mask=True)
return (timestamp_flag, night_flag, ghi_limit_flag,
ghi_clearsky_flag, cloud_free_flag)
def _validate_stale_interpolated(observation, values):
window = validator.stale_interpolated_window(observation.interval_length)
stale_flag = validator.detect_stale_values(values, window=window,
_return_mask=True)
interpolation_flag = validator.detect_interpolation(values, window=window,
_return_mask=True)
return stale_flag, interpolation_flag