Logging
Danger
Content under development !
Explain :
llllll--log--log-rich--log-file- Difference against debugging
Say we query a NetCDF file for a few timestamps
pvgis-prototype \
series select \
spectral_effect_cSi_over_esti_jrc.nc \
8.6 45.8 \
--neighbor-lookup nearest \
'2005-12-31 12:00:00, 2006-12-31 12:00:00,2007-12-31 12:00:00,2008-12-31 12:00:00,2009-12-31 12:00:00'
and the output is nothing!
We can use some logging flags to get details around several steps of the requested operation. In example, let's add -l to the same command
pvgis-prototype \
series select \
spectral_effect_cSi_over_esti_jrc.nc \
8.6 45.8 \
--neighbor-lookup nearest \
'2005-12-31 12:00:00, 2006-12-31 12:00:00,2007-12-31 12:00:00,2008-12-31 12:00:00,2009-12-31 12:00:00' \
-l
We can also try --log
pvgis-prototype --log \
series select \
spectral_effect_cSi_over_esti_jrc.nc \
8.6 45.8 \
--neighbor-lookup nearest \
'2005-12-31 12:00:00, 2006-12-31 12:00:00,2007-12-31 12:00:00,2008-12-31 12:00:00,2009-12-31 12:00:00'
or even --log-rich for a colorful output
pvgis-prototype --log-rich \
series select \
spectral_effect_cSi_over_esti_jrc.nc \
8.6 45.8 \
--neighbor-lookup nearest \
'2005-12-31 12:00:00, 2006-12-31 12:00:00,2007-12-31 12:00:00,2008-12-31 12:00:00,2009-12-31 12:00:00'
RichHandler
[12/01/25 22:13:34]
DEBUG Created cache for select_time_series in request unknown, TTL=30s, maxsize=24 log.py:80
DEBUG Object spectral_effect_cSi_over_esti_jrc.nc is hashable. log.py:80
DEBUG Object 8.6 is hashable. log.py:80
DEBUG Object 45.8 is hashable. log.py:80
DEBUG Object DatetimeIndex(['2005-12-31 12:00:00', '2006-12-31 12:00:00', log.py:80
'2007-12-31 12:00:00', '2008-12-31 12:00:00',
'2009-12-31 12:00:00'],
dtype='datetime64[ns]', freq=None) is unhashable.
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object ['spectral_effect'] is unhashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object MethodForInexactMatches.nearest is hashable. log.py:80
DEBUG Object 0.1 is hashable. log.py:80
DEBUG Object False is hashable. log.py:80
DEBUG Object False is hashable. log.py:80
DEBUG Object 0 is hashable. log.py:80
DEBUG Object 0 is hashable. log.py:80
DEBUG Data file in /builds/NikosAlexandris/pvgis-prototype : spectral_effect_cSi_over_esti_jrc.nc log.py:80
DEBUG Scale factor : None, Offset : None log.py:80
DEBUG Requested location coordinates : 8.6, 45.8 log.py:80
DEBUG i Executing data selection function : select_location_time_series() log.py:80
DEBUG ✓ Location specific dimensions detected in 'spectral_effect' : lon, lat log.py:80
DEBUG ✓ Coordinates : 8.6, 45.8. log.py:80
DEBUG < Returning selected location from time series : <xarray.DataArray 'spectral_effect' (time: 140256)> Size: 1MB log.py:80
array([1.02264192, 1.02264192, 1.02264192, ..., 1.01880512, 1.01880512,
1.01880512])
Coordinates:
lon float64 8B 8.638
lat float64 8B 45.81
* time (time) datetime64 1MB 2005-01-01 ... 2020-12-31T23:00:00
Attributes: (12/14)
_FillValue: -999.0
AREA_OR_POINT: Area
TIFFTAG_SOFTWARE: GRASS GIS 7.2.0 with GDAL 2.0.1
STATISTICS_APPROXIMATE: YES
STATISTICS_MAXIMUM: 1.0622563547625
STATISTICS_MEAN: 1.0089136456603
... ...
STATISTICS_VALID_PERCENT: 28.44
grid_mapping: spatial_ref
units: Unitless
long_name: Spectral Effect Factor
add_offset: 0.0
scale_factor: 1.0
DEBUG Selected location from time series : <xarray.DataArray 'spectral_effect' (time: 140256)> Size: 1MB log.py:80
array([1.02264192, 1.02264192, 1.02264192, ..., 1.01880512, 1.01880512,
1.01880512])
Coordinates:
lon float64 8B 8.638
lat float64 8B 45.81
* time (time) datetime64 1MB 2005-01-01 ... 2020-12-31T23:00:00
Attributes: (12/14)
_FillValue: -999.0
AREA_OR_POINT: Area
TIFFTAG_SOFTWARE: GRASS GIS 7.2.0 with GDAL 2.0.1
STATISTICS_APPROXIMATE: YES
STATISTICS_MAXIMUM: 1.0622563547625
STATISTICS_MEAN: 1.0089136456603
... ...
STATISTICS_VALID_PERCENT: 28.44
grid_mapping: spatial_ref
units: Unitless
long_name: Spectral Effect Factor
add_offset: 0.0
scale_factor: 1.0
DEBUG Selected timestamps from location time series : <xarray.DataArray 'spectral_effect' (time: 5)> Size: 40B log.py:80
array([1.01880512, 1.01880512, 1.01880512, 1.01880512, 1.01880512])
Coordinates:
lon float64 8B 8.638
lat float64 8B 45.81
* time (time) datetime64 40B 2005-12-31T12:00:00 ... 2009-12-31T12:...
Attributes: (12/14)
_FillValue: -999.0
AREA_OR_POINT: Area
TIFFTAG_SOFTWARE: GRASS GIS 7.2.0 with GDAL 2.0.1
STATISTICS_APPROXIMATE: YES
STATISTICS_MAXIMUM: 1.0622563547625
STATISTICS_MEAN: 1.0089136456603
... ...
STATISTICS_VALID_PERCENT: 28.44
grid_mapping: spatial_ref
units: Unitless
long_name: Spectral Effect Factor
add_offset: 0.0
scale_factor: 1.0
DEBUG Cache MISS for select_time_series in request unknown (ttl_hash=0) log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object 8.6 is hashable. log.py:80
DEBUG Object 45.8 is hashable. log.py:80
DEBUG Object DatetimeIndex(['2005-12-31 12:00:00', '2006-12-31 12:00:00', log.py:80
'2007-12-31 12:00:00', '2008-12-31 12:00:00',
'2009-12-31 12:00:00'],
dtype='datetime64[ns]', freq=None) is unhashable.
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object None is hashable. log.py:80
DEBUG Object MethodForInexactMatches.nearest is hashable. log.py:80
DEBUG Object 0.1 is hashable. log.py:80
DEBUG Object False is hashable. log.py:80
DEBUG Object False is hashable. log.py:80
DEBUG Object 0 is hashable. log.py:80
DEBUG Object 0 is hashable. log.py:80
DEBUG Cache MISS for select_time_series in request unknown (ttl_hash=0) log.py:80
1.0188051192543457,1.0188051192543457,1.0188051192543457,1.0188051192543457,1.0188051192543457
Finally, we can export to a log file via the --log-file option
pvgis-prototype --log-file series_select.log \
series select \
spectral_effect_cSi_over_esti_jrc.nc \
8.6 45.8 \
--neighbor-lookup nearest \
'2005-12-31 12:00:00, 2006-12-31 12:00:00,2007-12-31 12:00:00,2008-12-31 12:00:00,2009-12-31 12:00:00'