diff --git a/docs/sphinx/source/whatsnew/v0.8.1.rst b/docs/sphinx/source/whatsnew/v0.8.1.rst
index 2f39720627..1a9fc75b73 100644
--- a/docs/sphinx/source/whatsnew/v0.8.1.rst
+++ b/docs/sphinx/source/whatsnew/v0.8.1.rst
@@ -17,7 +17,8 @@ Enhancements
option to :py:class:`~pvlib.modelchain.ModelChain`. (:pull:`1042`) (:issue:`1073`)
* Added :py:func:`pvlib.temperature.ross` for cell temperature modeling using
only NOCT. (:pull:`1045`)
-
+* Added optional ``attributes`` parameter to :py:func:`pvlib.iotools.get_psm3`
+ and added the option of fetching 5- and 15-minute PSM3 data. (:pull:`1086`)
Bug fixes
~~~~~~~~~
diff --git a/pvlib/data/test_psm3_2019_5min.csv b/pvlib/data/test_psm3_2019_5min.csv
new file mode 100644
index 0000000000..3354ae8066
--- /dev/null
+++ b/pvlib/data/test_psm3_2019_5min.csv
@@ -0,0 +1,289 @@
+,Year,Month,Day,Hour,Minute,Temperature,Dew Point,DHI,DNI,GHI,Surface Albedo,Pressure,Wind Direction,Wind Speed
+2019-01-01 00:00:00-07:00,2019,1,1,0,0,-19.6,-23.4,0.0,0.0,0.0,0.87,775.0,19.0,5.5
+2019-01-01 00:05:00-07:00,2019,1,1,0,5,-19.700000000000006,-23.4,0.0,0.0,0.0,0.87,775.0,19.0,5.6000000000000005
+2019-01-01 00:10:00-07:00,2019,1,1,0,10,-19.700000000000006,-23.4,0.0,0.0,0.0,0.87,775.0,19.0,5.6000000000000005
+2019-01-01 00:15:00-07:00,2019,1,1,0,15,-19.700000000000006,-23.4,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:20:00-07:00,2019,1,1,0,20,-19.8,-23.4,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:25:00-07:00,2019,1,1,0,25,-19.8,-23.4,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:30:00-07:00,2019,1,1,0,30,-19.9,-23.4,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:35:00-07:00,2019,1,1,0,35,-19.9,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:40:00-07:00,2019,1,1,0,40,-20.0,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.6000000000000005
+2019-01-01 00:45:00-07:00,2019,1,1,0,45,-20.0,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.7
+2019-01-01 00:50:00-07:00,2019,1,1,0,50,-20.1,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.7
+2019-01-01 00:55:00-07:00,2019,1,1,0,55,-20.1,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.7
+2019-01-01 01:00:00-07:00,2019,1,1,1,0,-20.200000000000006,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.7
+2019-01-01 01:05:00-07:00,2019,1,1,1,5,-20.200000000000006,-24.0,0.0,0.0,0.0,0.87,775.0,18.0,5.7
+2019-01-01 01:10:00-07:00,2019,1,1,1,10,-20.200000000000006,-24.0,0.0,0.0,0.0,0.87,775.0,17.0,5.7
+2019-01-01 01:15:00-07:00,2019,1,1,1,15,-20.3,-24.0,0.0,0.0,0.0,0.87,775.0,17.0,5.7
+2019-01-01 01:20:00-07:00,2019,1,1,1,20,-20.3,-24.0,0.0,0.0,0.0,0.87,775.0,17.0,5.7
+2019-01-01 01:25:00-07:00,2019,1,1,1,25,-20.3,-24.0,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:30:00-07:00,2019,1,1,1,30,-20.4,-24.0,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:35:00-07:00,2019,1,1,1,35,-20.4,-24.5,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:40:00-07:00,2019,1,1,1,40,-20.4,-24.5,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:45:00-07:00,2019,1,1,1,45,-20.5,-24.5,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:50:00-07:00,2019,1,1,1,50,-20.5,-24.5,0.0,0.0,0.0,0.87,775.0,17.0,5.6000000000000005
+2019-01-01 01:55:00-07:00,2019,1,1,1,55,-20.5,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.6000000000000005
+2019-01-01 02:00:00-07:00,2019,1,1,2,0,-20.6,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.6000000000000005
+2019-01-01 02:05:00-07:00,2019,1,1,2,5,-20.6,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.6000000000000005
+2019-01-01 02:10:00-07:00,2019,1,1,2,10,-20.6,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.6000000000000005
+2019-01-01 02:15:00-07:00,2019,1,1,2,15,-20.6,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.5
+2019-01-01 02:20:00-07:00,2019,1,1,2,20,-20.6,-24.5,0.0,0.0,0.0,0.87,775.0,16.0,5.5
+2019-01-01 02:25:00-07:00,2019,1,1,2,25,-20.700000000000006,-24.5,0.0,0.0,0.0,0.87,775.0,15.0,5.5
+2019-01-01 02:30:00-07:00,2019,1,1,2,30,-20.700000000000006,-24.5,0.0,0.0,0.0,0.87,776.0,15.0,5.5
+2019-01-01 02:35:00-07:00,2019,1,1,2,35,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,15.0,5.5
+2019-01-01 02:40:00-07:00,2019,1,1,2,40,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,15.0,5.5
+2019-01-01 02:45:00-07:00,2019,1,1,2,45,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,15.0,5.5
+2019-01-01 02:50:00-07:00,2019,1,1,2,50,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 02:55:00-07:00,2019,1,1,2,55,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:00:00-07:00,2019,1,1,3,0,-20.8,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:05:00-07:00,2019,1,1,3,5,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:10:00-07:00,2019,1,1,3,10,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:15:00-07:00,2019,1,1,3,15,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:20:00-07:00,2019,1,1,3,20,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:25:00-07:00,2019,1,1,3,25,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,14.0,5.5
+2019-01-01 03:30:00-07:00,2019,1,1,3,30,-20.700000000000006,-24.9,0.0,0.0,0.0,0.87,776.0,13.0,5.5
+2019-01-01 03:35:00-07:00,2019,1,1,3,35,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.5
+2019-01-01 03:40:00-07:00,2019,1,1,3,40,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 03:45:00-07:00,2019,1,1,3,45,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 03:50:00-07:00,2019,1,1,3,50,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 03:55:00-07:00,2019,1,1,3,55,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:00:00-07:00,2019,1,1,4,0,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:05:00-07:00,2019,1,1,4,5,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:10:00-07:00,2019,1,1,4,10,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:15:00-07:00,2019,1,1,4,15,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:20:00-07:00,2019,1,1,4,20,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:25:00-07:00,2019,1,1,4,25,-20.6,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:30:00-07:00,2019,1,1,4,30,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:35:00-07:00,2019,1,1,4,35,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:40:00-07:00,2019,1,1,4,40,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:45:00-07:00,2019,1,1,4,45,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:50:00-07:00,2019,1,1,4,50,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 04:55:00-07:00,2019,1,1,4,55,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 05:00:00-07:00,2019,1,1,5,0,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.6000000000000005
+2019-01-01 05:05:00-07:00,2019,1,1,5,5,-20.5,-25.0,0.0,0.0,0.0,0.87,776.0,13.0,5.5
+2019-01-01 05:10:00-07:00,2019,1,1,5,10,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.5
+2019-01-01 05:15:00-07:00,2019,1,1,5,15,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.4
+2019-01-01 05:20:00-07:00,2019,1,1,5,20,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.4
+2019-01-01 05:25:00-07:00,2019,1,1,5,25,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.4
+2019-01-01 05:30:00-07:00,2019,1,1,5,30,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.300000000000002
+2019-01-01 05:35:00-07:00,2019,1,1,5,35,-20.5,-25.0,0.0,0.0,0.0,0.87,777.0,13.0,5.300000000000002
+2019-01-01 05:40:00-07:00,2019,1,1,5,40,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.2
+2019-01-01 05:45:00-07:00,2019,1,1,5,45,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.2
+2019-01-01 05:50:00-07:00,2019,1,1,5,50,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.2
+2019-01-01 05:55:00-07:00,2019,1,1,5,55,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.1000000000000005
+2019-01-01 06:00:00-07:00,2019,1,1,6,0,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.1000000000000005
+2019-01-01 06:05:00-07:00,2019,1,1,6,5,-20.6,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.0
+2019-01-01 06:10:00-07:00,2019,1,1,6,10,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,5.0
+2019-01-01 06:15:00-07:00,2019,1,1,6,15,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,4.9
+2019-01-01 06:20:00-07:00,2019,1,1,6,20,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,777.0,14.0,4.9
+2019-01-01 06:25:00-07:00,2019,1,1,6,25,-20.8,-24.9,0.0,0.0,0.0,0.87,778.0,14.0,4.800000000000002
+2019-01-01 06:30:00-07:00,2019,1,1,6,30,-20.8,-24.9,0.0,0.0,0.0,0.87,778.0,15.0,4.800000000000002
+2019-01-01 06:35:00-07:00,2019,1,1,6,35,-20.9,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.7
+2019-01-01 06:40:00-07:00,2019,1,1,6,40,-20.9,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.7
+2019-01-01 06:45:00-07:00,2019,1,1,6,45,-20.9,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.6000000000000005
+2019-01-01 06:50:00-07:00,2019,1,1,6,50,-21.0,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.5
+2019-01-01 06:55:00-07:00,2019,1,1,6,55,-21.0,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.5
+2019-01-01 07:00:00-07:00,2019,1,1,7,0,-21.0,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.4
+2019-01-01 07:05:00-07:00,2019,1,1,7,5,-21.0,-25.0,0.0,0.0,0.0,0.87,778.0,15.0,4.5
+2019-01-01 07:10:00-07:00,2019,1,1,7,10,-20.9,-25.0,0.0,0.0,0.0,0.87,778.0,16.0,4.5
+2019-01-01 07:15:00-07:00,2019,1,1,7,15,-20.8,-25.0,0.0,0.0,0.0,0.87,778.0,16.0,4.5
+2019-01-01 07:20:00-07:00,2019,1,1,7,20,-20.8,-25.0,0.0,0.0,0.0,0.87,778.0,16.0,4.5
+2019-01-01 07:25:00-07:00,2019,1,1,7,25,-20.700000000000006,-25.0,0.0,0.0,0.0,0.87,778.0,16.0,4.5
+2019-01-01 07:30:00-07:00,2019,1,1,7,30,-20.6,-25.0,0.0,0.0,0.0,0.87,778.0,17.0,4.5
+2019-01-01 07:35:00-07:00,2019,1,1,7,35,-20.6,-24.6,0.0,0.0,0.0,0.87,779.0,17.0,4.6000000000000005
+2019-01-01 07:40:00-07:00,2019,1,1,7,40,-20.5,-24.6,0.0,0.0,0.0,0.87,779.0,17.0,4.6000000000000005
+2019-01-01 07:45:00-07:00,2019,1,1,7,45,-20.4,-24.6,0.0,0.0,0.0,0.87,779.0,17.0,4.6000000000000005
+2019-01-01 07:50:00-07:00,2019,1,1,7,50,-20.4,-24.6,13.0,316.0,21.0,0.87,779.0,18.0,4.6000000000000005
+2019-01-01 07:55:00-07:00,2019,1,1,7,55,-20.3,-24.6,16.0,380.0,31.0,0.87,779.0,18.0,4.6000000000000005
+2019-01-01 08:00:00-07:00,2019,1,1,8,0,-20.200000000000006,-24.6,19.0,436.0,41.0,0.87,779.0,18.0,4.7
+2019-01-01 08:05:00-07:00,2019,1,1,8,5,-20.0,-24.6,21.0,312.0,41.0,0.87,779.0,19.0,4.7
+2019-01-01 08:10:00-07:00,2019,1,1,8,10,-19.8,-24.6,24.0,354.0,52.0,0.87,779.0,19.0,4.7
+2019-01-01 08:15:00-07:00,2019,1,1,8,15,-19.700000000000006,-24.6,26.0,567.0,78.0,0.87,779.0,20.0,4.800000000000002
+2019-01-01 08:20:00-07:00,2019,1,1,8,20,-19.5,-24.6,29.0,602.0,92.0,0.87,779.0,20.0,4.800000000000002
+2019-01-01 08:25:00-07:00,2019,1,1,8,25,-19.3,-24.6,31.0,456.0,85.0,0.87,779.0,21.0,4.9
+2019-01-01 08:30:00-07:00,2019,1,1,8,30,-19.1,-24.6,33.0,662.0,119.0,0.87,779.0,21.0,4.9
+2019-01-01 08:35:00-07:00,2019,1,1,8,35,-18.9,-23.5,34.0,700.0,134.0,0.87,779.0,22.0,4.9
+2019-01-01 08:40:00-07:00,2019,1,1,8,40,-18.7,-23.5,36.0,723.0,148.0,0.87,779.0,22.0,5.0
+2019-01-01 08:45:00-07:00,2019,1,1,8,45,-18.5,-23.5,37.0,744.0,162.0,0.87,779.0,23.0,5.0
+2019-01-01 08:50:00-07:00,2019,1,1,8,50,-18.3,-23.5,39.0,764.0,176.0,0.87,779.0,23.0,5.1000000000000005
+2019-01-01 08:55:00-07:00,2019,1,1,8,55,-18.1,-23.5,41.0,782.0,190.0,0.87,779.0,24.0,5.1000000000000005
+2019-01-01 09:00:00-07:00,2019,1,1,9,0,-18.0,-23.5,42.0,798.0,204.0,0.87,779.0,24.0,5.1000000000000005
+2019-01-01 09:05:00-07:00,2019,1,1,9,5,-17.8,-23.5,45.0,635.0,181.0,0.87,779.0,24.0,5.1000000000000005
+2019-01-01 09:10:00-07:00,2019,1,1,9,10,-17.6,-23.5,45.0,827.0,231.0,0.87,779.0,25.0,5.1000000000000005
+2019-01-01 09:15:00-07:00,2019,1,1,9,15,-17.5,-23.5,46.0,840.0,245.0,0.87,779.0,25.0,5.1000000000000005
+2019-01-01 09:20:00-07:00,2019,1,1,9,20,-17.3,-23.5,47.0,852.0,258.0,0.87,779.0,25.0,5.0
+2019-01-01 09:25:00-07:00,2019,1,1,9,25,-17.1,-23.5,49.0,863.0,271.0,0.87,779.0,25.0,5.0
+2019-01-01 09:30:00-07:00,2019,1,1,9,30,-17.0,-23.5,50.0,874.0,284.0,0.87,779.0,25.0,5.0
+2019-01-01 09:35:00-07:00,2019,1,1,9,35,-16.8,-22.5,49.0,891.0,297.0,0.87,779.0,25.0,5.0
+2019-01-01 09:40:00-07:00,2019,1,1,9,40,-16.6,-22.5,50.0,900.0,309.0,0.87,779.0,26.0,4.9
+2019-01-01 09:45:00-07:00,2019,1,1,9,45,-16.5,-22.5,51.0,908.0,321.0,0.87,779.0,26.0,4.9
+2019-01-01 09:50:00-07:00,2019,1,1,9,50,-16.3,-22.5,52.0,916.0,333.0,0.87,779.0,26.0,4.9
+2019-01-01 09:55:00-07:00,2019,1,1,9,55,-16.1,-22.5,53.0,923.0,344.0,0.87,779.0,26.0,4.9
+2019-01-01 10:00:00-07:00,2019,1,1,10,0,-16.0,-22.5,54.0,930.0,355.0,0.87,779.0,26.0,4.800000000000002
+2019-01-01 10:05:00-07:00,2019,1,1,10,5,-15.8,-22.5,55.0,937.0,366.0,0.87,779.0,26.0,4.800000000000002
+2019-01-01 10:10:00-07:00,2019,1,1,10,10,-15.6,-22.5,55.0,943.0,377.0,0.87,779.0,26.0,4.800000000000002
+2019-01-01 10:15:00-07:00,2019,1,1,10,15,-15.4,-22.5,56.0,948.0,387.0,0.87,779.0,26.0,4.800000000000002
+2019-01-01 10:20:00-07:00,2019,1,1,10,20,-15.3,-22.5,57.0,954.0,397.0,0.87,779.0,25.0,4.800000000000002
+2019-01-01 10:25:00-07:00,2019,1,1,10,25,-15.1,-22.5,58.0,959.0,406.0,0.87,778.0,25.0,4.7
+2019-01-01 10:30:00-07:00,2019,1,1,10,30,-14.9,-22.5,58.0,963.0,415.0,0.87,778.0,25.0,4.7
+2019-01-01 10:35:00-07:00,2019,1,1,10,35,-14.8,-21.4,57.0,972.0,424.0,0.87,778.0,25.0,4.7
+2019-01-01 10:40:00-07:00,2019,1,1,10,40,-14.6,-21.4,58.0,976.0,432.0,0.87,778.0,24.0,4.7
+2019-01-01 10:45:00-07:00,2019,1,1,10,45,-14.4,-21.4,58.0,979.0,441.0,0.87,778.0,24.0,4.7
+2019-01-01 10:50:00-07:00,2019,1,1,10,50,-14.3,-21.4,59.0,983.0,448.0,0.87,778.0,24.0,4.7
+2019-01-01 10:55:00-07:00,2019,1,1,10,55,-14.1,-21.4,59.0,986.0,455.0,0.87,778.0,23.0,4.6000000000000005
+2019-01-01 11:00:00-07:00,2019,1,1,11,0,-13.9,-21.4,60.0,989.0,462.0,0.87,778.0,23.0,4.6000000000000005
+2019-01-01 11:05:00-07:00,2019,1,1,11,5,-13.8,-21.4,60.0,992.0,469.0,0.87,778.0,23.0,4.6000000000000005
+2019-01-01 11:10:00-07:00,2019,1,1,11,10,-13.6,-21.4,61.0,994.0,475.0,0.87,778.0,23.0,4.6000000000000005
+2019-01-01 11:15:00-07:00,2019,1,1,11,15,-13.5,-21.4,61.0,997.0,480.0,0.87,778.0,22.0,4.6000000000000005
+2019-01-01 11:20:00-07:00,2019,1,1,11,20,-13.3,-21.4,61.0,999.0,485.0,0.87,778.0,22.0,4.6000000000000005
+2019-01-01 11:25:00-07:00,2019,1,1,11,25,-13.2,-21.4,62.0,1001.0,490.0,0.87,778.0,22.0,4.6000000000000005
+2019-01-01 11:30:00-07:00,2019,1,1,11,30,-13.0,-21.4,62.0,1003.0,495.0,0.87,778.0,22.0,4.6000000000000005
+2019-01-01 11:35:00-07:00,2019,1,1,11,35,-12.9,-20.5,60.0,1007.0,498.0,0.87,778.0,21.0,4.6000000000000005
+2019-01-01 11:40:00-07:00,2019,1,1,11,40,-12.7,-20.5,61.0,1009.0,502.0,0.87,778.0,21.0,4.6000000000000005
+2019-01-01 11:45:00-07:00,2019,1,1,11,45,-12.6,-20.5,61.0,1010.0,505.0,0.87,778.0,21.0,4.6000000000000005
+2019-01-01 11:50:00-07:00,2019,1,1,11,50,-12.4,-20.5,61.0,1011.0,507.0,0.87,778.0,20.0,4.5
+2019-01-01 11:55:00-07:00,2019,1,1,11,55,-12.3,-20.5,61.0,1012.0,510.0,0.87,777.0,20.0,4.5
+2019-01-01 12:00:00-07:00,2019,1,1,12,0,-12.1,-20.5,61.0,1013.0,511.0,0.87,777.0,20.0,4.5
+2019-01-01 12:05:00-07:00,2019,1,1,12,5,-12.0,-20.5,61.0,1013.0,513.0,0.87,777.0,20.0,4.5
+2019-01-01 12:10:00-07:00,2019,1,1,12,10,-11.9,-20.5,61.0,1013.0,514.0,0.87,777.0,20.0,4.5
+2019-01-01 12:15:00-07:00,2019,1,1,12,15,-11.8,-20.5,61.0,1014.0,514.0,0.87,777.0,20.0,4.5
+2019-01-01 12:20:00-07:00,2019,1,1,12,20,-11.7,-20.5,61.0,1014.0,514.0,0.87,777.0,20.0,4.5
+2019-01-01 12:25:00-07:00,2019,1,1,12,25,-11.6,-20.5,61.0,1013.0,514.0,0.87,777.0,20.0,4.5
+2019-01-01 12:30:00-07:00,2019,1,1,12,30,-11.5,-20.5,61.0,1013.0,513.0,0.87,777.0,20.0,4.5
+2019-01-01 12:35:00-07:00,2019,1,1,12,35,-11.4,-20.0,60.0,1015.0,511.0,0.87,777.0,20.0,4.5
+2019-01-01 12:40:00-07:00,2019,1,1,12,40,-11.3,-20.0,59.0,1015.0,509.0,0.87,777.0,21.0,4.4
+2019-01-01 12:45:00-07:00,2019,1,1,12,45,-11.2,-20.0,59.0,1014.0,507.0,0.87,777.0,21.0,4.4
+2019-01-01 12:50:00-07:00,2019,1,1,12,50,-11.1,-20.0,59.0,1013.0,505.0,0.87,777.0,21.0,4.4
+2019-01-01 12:55:00-07:00,2019,1,1,12,55,-11.0,-20.0,59.0,1012.0,502.0,0.87,777.0,21.0,4.4
+2019-01-01 13:00:00-07:00,2019,1,1,13,0,-10.8,-20.0,59.0,1010.0,498.0,0.87,777.0,21.0,4.4
+2019-01-01 13:05:00-07:00,2019,1,1,13,5,-10.8,-20.0,58.0,1009.0,494.0,0.87,777.0,21.0,4.4
+2019-01-01 13:10:00-07:00,2019,1,1,13,10,-10.8,-20.0,58.0,1007.0,490.0,0.87,777.0,22.0,4.3
+2019-01-01 13:15:00-07:00,2019,1,1,13,15,-10.7,-20.0,58.0,1005.0,485.0,0.87,777.0,22.0,4.3
+2019-01-01 13:20:00-07:00,2019,1,1,13,20,-10.7,-20.0,58.0,1003.0,480.0,0.87,777.0,22.0,4.3
+2019-01-01 13:25:00-07:00,2019,1,1,13,25,-10.6,-20.0,57.0,1001.0,475.0,0.87,777.0,22.0,4.3
+2019-01-01 13:30:00-07:00,2019,1,1,13,30,-10.6,-20.0,57.0,999.0,469.0,0.87,777.0,23.0,4.2
+2019-01-01 13:35:00-07:00,2019,1,1,13,35,-10.6,-19.8,55.0,999.0,462.0,0.87,777.0,23.0,4.2
+2019-01-01 13:40:00-07:00,2019,1,1,13,40,-10.5,-19.8,54.0,996.0,455.0,0.87,777.0,23.0,4.2
+2019-01-01 13:45:00-07:00,2019,1,1,13,45,-10.5,-19.8,54.0,993.0,448.0,0.87,777.0,24.0,4.1000000000000005
+2019-01-01 13:50:00-07:00,2019,1,1,13,50,-10.4,-19.8,53.0,990.0,440.0,0.87,777.0,24.0,4.1000000000000005
+2019-01-01 13:55:00-07:00,2019,1,1,13,55,-10.4,-19.8,53.0,986.0,432.0,0.87,778.0,24.0,4.1000000000000005
+2019-01-01 14:00:00-07:00,2019,1,1,14,0,-10.4,-19.8,52.0,982.0,424.0,0.87,778.0,25.0,4.1000000000000005
+2019-01-01 14:05:00-07:00,2019,1,1,14,5,-10.4,-19.8,52.0,978.0,415.0,0.87,778.0,25.0,4.0
+2019-01-01 14:10:00-07:00,2019,1,1,14,10,-10.4,-19.8,51.0,974.0,406.0,0.87,778.0,25.0,3.9
+2019-01-01 14:15:00-07:00,2019,1,1,14,15,-10.5,-19.8,50.0,969.0,397.0,0.87,778.0,25.0,3.9
+2019-01-01 14:20:00-07:00,2019,1,1,14,20,-10.5,-19.8,50.0,987.0,396.0,0.87,778.0,25.0,3.8
+2019-01-01 14:25:00-07:00,2019,1,1,14,25,-10.5,-19.8,50.0,982.0,385.0,0.87,778.0,26.0,3.8
+2019-01-01 14:30:00-07:00,2019,1,1,14,30,-10.6,-19.8,49.0,976.0,375.0,0.87,778.0,26.0,3.7
+2019-01-01 14:35:00-07:00,2019,1,1,14,35,-10.6,-19.700000000000006,46.0,974.0,363.0,0.87,778.0,26.0,3.7
+2019-01-01 14:40:00-07:00,2019,1,1,14,40,-10.6,-19.700000000000006,46.0,968.0,352.0,0.87,778.0,26.0,3.6
+2019-01-01 14:45:00-07:00,2019,1,1,14,45,-10.7,-19.700000000000006,45.0,961.0,340.0,0.87,778.0,26.0,3.6
+2019-01-01 14:50:00-07:00,2019,1,1,14,50,-10.7,-19.700000000000006,44.0,953.0,328.0,0.87,778.0,27.0,3.5
+2019-01-01 14:55:00-07:00,2019,1,1,14,55,-10.7,-19.700000000000006,43.0,945.0,316.0,0.87,778.0,27.0,3.5
+2019-01-01 15:00:00-07:00,2019,1,1,15,0,-10.8,-19.700000000000006,42.0,937.0,304.0,0.87,778.0,27.0,3.4000000000000004
+2019-01-01 15:05:00-07:00,2019,1,1,15,5,-10.9,-19.700000000000006,41.0,928.0,291.0,0.87,778.0,28.0,3.3000000000000003
+2019-01-01 15:10:00-07:00,2019,1,1,15,10,-11.1,-19.700000000000006,41.0,919.0,278.0,0.87,778.0,28.0,3.2
+2019-01-01 15:15:00-07:00,2019,1,1,15,15,-11.3,-19.700000000000006,40.0,908.0,265.0,0.87,778.0,29.0,3.1
+2019-01-01 15:20:00-07:00,2019,1,1,15,20,-11.5,-19.700000000000006,39.0,897.0,252.0,0.87,778.0,30.0,2.9000000000000004
+2019-01-01 15:25:00-07:00,2019,1,1,15,25,-11.7,-19.700000000000006,38.0,885.0,238.0,0.87,778.0,30.0,2.8000000000000003
+2019-01-01 15:30:00-07:00,2019,1,1,15,30,-11.9,-19.700000000000006,36.0,872.0,224.0,0.87,778.0,31.0,2.7
+2019-01-01 15:35:00-07:00,2019,1,1,15,35,-12.1,-20.1,34.0,861.0,210.0,0.87,778.0,32.0,2.6
+2019-01-01 15:40:00-07:00,2019,1,1,15,40,-12.2,-20.1,33.0,846.0,196.0,0.87,778.0,32.0,2.4000000000000004
+2019-01-01 15:45:00-07:00,2019,1,1,15,45,-12.4,-20.1,32.0,830.0,182.0,0.87,778.0,33.0,2.3000000000000003
+2019-01-01 15:50:00-07:00,2019,1,1,15,50,-12.6,-20.1,31.0,812.0,168.0,0.87,778.0,33.0,2.2
+2019-01-01 15:55:00-07:00,2019,1,1,15,55,-12.8,-20.1,29.0,793.0,154.0,0.87,778.0,34.0,2.1
+2019-01-01 16:00:00-07:00,2019,1,1,16,0,-13.0,-20.1,28.0,772.0,139.0,0.87,778.0,35.0,1.9
+2019-01-01 16:05:00-07:00,2019,1,1,16,5,-13.0,-20.1,27.0,748.0,125.0,0.87,778.0,35.0,1.9
+2019-01-01 16:10:00-07:00,2019,1,1,16,10,-13.0,-20.1,25.0,723.0,111.0,0.87,778.0,35.0,1.9
+2019-01-01 16:15:00-07:00,2019,1,1,16,15,-13.0,-20.1,23.0,694.0,97.0,0.87,778.0,35.0,1.9
+2019-01-01 16:20:00-07:00,2019,1,1,16,20,-13.0,-20.1,22.0,663.0,83.0,0.87,778.0,35.0,1.9
+2019-01-01 16:25:00-07:00,2019,1,1,16,25,-13.0,-20.1,20.0,628.0,70.0,0.87,778.0,35.0,1.9
+2019-01-01 16:30:00-07:00,2019,1,1,16,30,-13.0,-20.1,18.0,588.0,57.0,0.87,778.0,35.0,1.9
+2019-01-01 16:35:00-07:00,2019,1,1,16,35,-13.0,-20.1,16.0,544.0,45.0,0.87,778.0,35.0,1.9
+2019-01-01 16:40:00-07:00,2019,1,1,16,40,-13.0,-20.1,14.0,493.0,34.0,0.87,778.0,35.0,1.9
+2019-01-01 16:45:00-07:00,2019,1,1,16,45,-13.0,-20.1,12.0,435.0,23.0,0.87,778.0,35.0,1.9
+2019-01-01 16:50:00-07:00,2019,1,1,16,50,-13.0,-20.1,0.0,0.0,0.0,0.87,778.0,35.0,1.9
+2019-01-01 16:55:00-07:00,2019,1,1,16,55,-13.0,-20.1,0.0,0.0,0.0,0.87,778.0,35.0,1.9
+2019-01-01 17:00:00-07:00,2019,1,1,17,0,-15.5,-20.1,0.0,0.0,0.0,0.87,779.0,50.0,1.2000000000000002
+2019-01-01 17:05:00-07:00,2019,1,1,17,5,-15.6,-20.1,0.0,0.0,0.0,0.87,779.0,50.0,1.2000000000000002
+2019-01-01 17:10:00-07:00,2019,1,1,17,10,-15.7,-20.1,0.0,0.0,0.0,0.87,779.0,50.0,1.2000000000000002
+2019-01-01 17:15:00-07:00,2019,1,1,17,15,-15.8,-20.1,0.0,0.0,0.0,0.87,779.0,51.0,1.2000000000000002
+2019-01-01 17:20:00-07:00,2019,1,1,17,20,-15.9,-20.1,0.0,0.0,0.0,0.87,779.0,51.0,1.2000000000000002
+2019-01-01 17:25:00-07:00,2019,1,1,17,25,-16.0,-20.1,0.0,0.0,0.0,0.87,779.0,52.0,1.2000000000000002
+2019-01-01 17:30:00-07:00,2019,1,1,17,30,-16.1,-20.1,0.0,0.0,0.0,0.87,779.0,52.0,1.2000000000000002
+2019-01-01 17:35:00-07:00,2019,1,1,17,35,-16.2,-20.5,0.0,0.0,0.0,0.87,779.0,52.0,1.2000000000000002
+2019-01-01 17:40:00-07:00,2019,1,1,17,40,-16.3,-20.5,0.0,0.0,0.0,0.87,779.0,53.0,1.2000000000000002
+2019-01-01 17:45:00-07:00,2019,1,1,17,45,-16.400000000000002,-20.5,0.0,0.0,0.0,0.87,779.0,53.0,1.2000000000000002
+2019-01-01 17:50:00-07:00,2019,1,1,17,50,-16.5,-20.5,0.0,0.0,0.0,0.87,779.0,53.0,1.2000000000000002
+2019-01-01 17:55:00-07:00,2019,1,1,17,55,-16.6,-20.5,0.0,0.0,0.0,0.87,779.0,54.0,1.2000000000000002
+2019-01-01 18:00:00-07:00,2019,1,1,18,0,-16.7,-20.5,0.0,0.0,0.0,0.87,779.0,54.0,1.2000000000000002
+2019-01-01 18:05:00-07:00,2019,1,1,18,5,-16.8,-20.5,0.0,0.0,0.0,0.87,779.0,55.0,1.2000000000000002
+2019-01-01 18:10:00-07:00,2019,1,1,18,10,-16.900000000000002,-20.5,0.0,0.0,0.0,0.87,780.0,56.0,1.2000000000000002
+2019-01-01 18:15:00-07:00,2019,1,1,18,15,-16.900000000000002,-20.5,0.0,0.0,0.0,0.87,780.0,56.0,1.2000000000000002
+2019-01-01 18:20:00-07:00,2019,1,1,18,20,-17.0,-20.5,0.0,0.0,0.0,0.87,780.0,57.0,1.2000000000000002
+2019-01-01 18:25:00-07:00,2019,1,1,18,25,-17.1,-20.5,0.0,0.0,0.0,0.87,780.0,58.0,1.2000000000000002
+2019-01-01 18:30:00-07:00,2019,1,1,18,30,-17.2,-20.5,0.0,0.0,0.0,0.87,780.0,59.0,1.2000000000000002
+2019-01-01 18:35:00-07:00,2019,1,1,18,35,-17.3,-20.6,0.0,0.0,0.0,0.87,780.0,59.0,1.2000000000000002
+2019-01-01 18:40:00-07:00,2019,1,1,18,40,-17.400000000000002,-20.6,0.0,0.0,0.0,0.87,780.0,60.0,1.2000000000000002
+2019-01-01 18:45:00-07:00,2019,1,1,18,45,-17.400000000000002,-20.6,0.0,0.0,0.0,0.87,780.0,61.0,1.2000000000000002
+2019-01-01 18:50:00-07:00,2019,1,1,18,50,-17.5,-20.6,0.0,0.0,0.0,0.87,780.0,62.0,1.2000000000000002
+2019-01-01 18:55:00-07:00,2019,1,1,18,55,-17.6,-20.6,0.0,0.0,0.0,0.87,780.0,62.0,1.2000000000000002
+2019-01-01 19:00:00-07:00,2019,1,1,19,0,-17.7,-20.6,0.0,0.0,0.0,0.87,780.0,63.0,1.2000000000000002
+2019-01-01 19:05:00-07:00,2019,1,1,19,5,-17.8,-20.6,0.0,0.0,0.0,0.87,780.0,64.0,1.2000000000000002
+2019-01-01 19:10:00-07:00,2019,1,1,19,10,-17.8,-20.6,0.0,0.0,0.0,0.87,780.0,65.0,1.2000000000000002
+2019-01-01 19:15:00-07:00,2019,1,1,19,15,-17.900000000000006,-20.6,0.0,0.0,0.0,0.87,780.0,67.0,1.1
+2019-01-01 19:20:00-07:00,2019,1,1,19,20,-17.900000000000006,-20.6,0.0,0.0,0.0,0.87,780.0,68.0,1.1
+2019-01-01 19:25:00-07:00,2019,1,1,19,25,-18.0,-20.6,0.0,0.0,0.0,0.87,780.0,69.0,1.1
+2019-01-01 19:30:00-07:00,2019,1,1,19,30,-18.1,-20.6,0.0,0.0,0.0,0.87,780.0,70.0,1.1
+2019-01-01 19:35:00-07:00,2019,1,1,19,35,-18.1,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,71.0,1.1
+2019-01-01 19:40:00-07:00,2019,1,1,19,40,-18.2,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,73.0,1.1
+2019-01-01 19:45:00-07:00,2019,1,1,19,45,-18.3,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,74.0,1.1
+2019-01-01 19:50:00-07:00,2019,1,1,19,50,-18.3,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,75.0,1.1
+2019-01-01 19:55:00-07:00,2019,1,1,19,55,-18.4,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,76.0,1.1
+2019-01-01 20:00:00-07:00,2019,1,1,20,0,-18.4,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,77.0,1.1
+2019-01-01 20:05:00-07:00,2019,1,1,20,5,-18.5,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,78.0,1.0
+2019-01-01 20:10:00-07:00,2019,1,1,20,10,-18.5,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,79.0,1.0
+2019-01-01 20:15:00-07:00,2019,1,1,20,15,-18.6,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,81.0,1.0
+2019-01-01 20:20:00-07:00,2019,1,1,20,20,-18.6,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,82.0,1.0
+2019-01-01 20:25:00-07:00,2019,1,1,20,25,-18.7,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,83.0,1.0
+2019-01-01 20:30:00-07:00,2019,1,1,20,30,-18.7,-20.700000000000006,0.0,0.0,0.0,0.87,780.0,84.0,1.0
+2019-01-01 20:35:00-07:00,2019,1,1,20,35,-18.8,-20.8,0.0,0.0,0.0,0.87,780.0,85.0,1.0
+2019-01-01 20:40:00-07:00,2019,1,1,20,40,-18.8,-20.8,0.0,0.0,0.0,0.87,780.0,86.0,1.0
+2019-01-01 20:45:00-07:00,2019,1,1,20,45,-18.9,-20.8,0.0,0.0,0.0,0.87,780.0,87.0,1.0
+2019-01-01 20:50:00-07:00,2019,1,1,20,50,-18.9,-20.8,0.0,0.0,0.0,0.87,780.0,88.0,1.0
+2019-01-01 20:55:00-07:00,2019,1,1,20,55,-18.9,-20.8,0.0,0.0,0.0,0.87,780.0,89.0,1.0
+2019-01-01 21:00:00-07:00,2019,1,1,21,0,-19.0,-20.8,0.0,0.0,0.0,0.87,780.0,90.0,1.0
+2019-01-01 21:05:00-07:00,2019,1,1,21,5,-19.0,-20.8,0.0,0.0,0.0,0.87,780.0,90.0,0.9
+2019-01-01 21:10:00-07:00,2019,1,1,21,10,-19.1,-20.8,0.0,0.0,0.0,0.87,780.0,89.0,0.9
+2019-01-01 21:15:00-07:00,2019,1,1,21,15,-19.1,-20.8,0.0,0.0,0.0,0.87,780.0,89.0,0.9
+2019-01-01 21:20:00-07:00,2019,1,1,21,20,-19.1,-20.8,0.0,0.0,0.0,0.87,780.0,88.0,0.9
+2019-01-01 21:25:00-07:00,2019,1,1,21,25,-19.200000000000006,-20.8,0.0,0.0,0.0,0.87,780.0,88.0,0.9
+2019-01-01 21:30:00-07:00,2019,1,1,21,30,-19.200000000000006,-20.8,0.0,0.0,0.0,0.87,780.0,87.0,0.9
+2019-01-01 21:35:00-07:00,2019,1,1,21,35,-19.200000000000006,-20.8,0.0,0.0,0.0,0.87,780.0,87.0,0.9
+2019-01-01 21:40:00-07:00,2019,1,1,21,40,-19.3,-20.8,0.0,0.0,0.0,0.87,780.0,87.0,0.9
+2019-01-01 21:45:00-07:00,2019,1,1,21,45,-19.3,-20.8,0.0,0.0,0.0,0.87,780.0,86.0,0.8
+2019-01-01 21:50:00-07:00,2019,1,1,21,50,-19.3,-20.8,0.0,0.0,0.0,0.87,780.0,86.0,0.8
+2019-01-01 21:55:00-07:00,2019,1,1,21,55,-19.4,-20.8,0.0,0.0,0.0,0.87,780.0,85.0,0.8
+2019-01-01 22:00:00-07:00,2019,1,1,22,0,-19.4,-20.8,0.0,0.0,0.0,0.87,780.0,85.0,0.8
+2019-01-01 22:05:00-07:00,2019,1,1,22,5,-19.4,-20.8,0.0,0.0,0.0,0.87,780.0,83.0,0.8
+2019-01-01 22:10:00-07:00,2019,1,1,22,10,-19.4,-20.8,0.0,0.0,0.0,0.87,780.0,82.0,0.8
+2019-01-01 22:15:00-07:00,2019,1,1,22,15,-19.4,-20.8,0.0,0.0,0.0,0.87,780.0,80.0,0.8
+2019-01-01 22:20:00-07:00,2019,1,1,22,20,-19.5,-20.8,0.0,0.0,0.0,0.87,780.0,78.0,0.8
+2019-01-01 22:25:00-07:00,2019,1,1,22,25,-19.5,-20.8,0.0,0.0,0.0,0.87,780.0,77.0,0.8
+2019-01-01 22:30:00-07:00,2019,1,1,22,30,-19.5,-20.8,0.0,0.0,0.0,0.87,780.0,75.0,0.8
+2019-01-01 22:35:00-07:00,2019,1,1,22,35,-19.5,-20.9,0.0,0.0,0.0,0.87,780.0,73.0,0.8
+2019-01-01 22:40:00-07:00,2019,1,1,22,40,-19.5,-20.9,0.0,0.0,0.0,0.87,780.0,72.0,0.7000000000000001
+2019-01-01 22:45:00-07:00,2019,1,1,22,45,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,70.0,0.7000000000000001
+2019-01-01 22:50:00-07:00,2019,1,1,22,50,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,69.0,0.7000000000000001
+2019-01-01 22:55:00-07:00,2019,1,1,22,55,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,67.0,0.7000000000000001
+2019-01-01 23:00:00-07:00,2019,1,1,23,0,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,65.0,0.7000000000000001
+2019-01-01 23:05:00-07:00,2019,1,1,23,5,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,65.0,0.7000000000000001
+2019-01-01 23:10:00-07:00,2019,1,1,23,10,-19.6,-20.9,0.0,0.0,0.0,0.87,780.0,65.0,0.7000000000000001
+2019-01-01 23:15:00-07:00,2019,1,1,23,15,-19.700000000000006,-20.9,0.0,0.0,0.0,0.87,780.0,65.0,0.7000000000000001
+2019-01-01 23:20:00-07:00,2019,1,1,23,20,-19.700000000000006,-20.9,0.0,0.0,0.0,0.87,780.0,65.0,0.7000000000000001
+2019-01-01 23:25:00-07:00,2019,1,1,23,25,-19.700000000000006,-20.9,0.0,0.0,0.0,0.87,780.0,64.0,0.7000000000000001
+2019-01-01 23:30:00-07:00,2019,1,1,23,30,-19.700000000000006,-20.8,0.0,0.0,0.0,0.87,781.0,64.0,0.7000000000000001
+2019-01-01 23:35:00-07:00,2019,1,1,23,35,-19.700000000000006,-21.0,0.0,0.0,0.0,0.87,781.0,64.0,0.7000000000000001
+2019-01-01 23:40:00-07:00,2019,1,1,23,40,-19.8,-21.0,0.0,0.0,0.0,0.87,781.0,64.0,0.7000000000000001
+2019-01-01 23:45:00-07:00,2019,1,1,23,45,-19.8,-21.0,0.0,0.0,0.0,0.87,781.0,63.0,0.7000000000000001
+2019-01-01 23:50:00-07:00,2019,1,1,23,50,-19.8,-21.0,0.0,0.0,0.0,0.87,781.0,63.0,0.7000000000000001
+2019-01-01 23:55:00-07:00,2019,1,1,23,55,-19.8,-21.0,0.0,0.0,0.0,0.87,781.0,63.0,0.7000000000000001
diff --git a/pvlib/iotools/psm3.py b/pvlib/iotools/psm3.py
index 81cb6a68e2..87dd386d98 100644
--- a/pvlib/iotools/psm3.py
+++ b/pvlib/iotools/psm3.py
@@ -10,22 +10,23 @@
from json import JSONDecodeError
NSRDB_API_BASE = "https://developer.nrel.gov"
-PSM_URL = NSRDB_API_BASE + "/api/solar/nsrdb_psm3_download.csv"
-TMY_URL = NSRDB_API_BASE + "/api/nsrdb_api/solar/nsrdb_psm3_tmy_download.csv"
+PSM_URL = NSRDB_API_BASE + "/api/nsrdb/v2/solar/psm3-download.csv"
+TMY_URL = NSRDB_API_BASE + "/api/nsrdb/v2/solar/psm3-tmy-download.csv"
+PSM5MIN_URL = NSRDB_API_BASE + "/api/nsrdb/v2/solar/psm3-5min-download.csv"
# 'relative_humidity', 'total_precipitable_water' are not available
-ATTRIBUTES = [
+ATTRIBUTES = (
'air_temperature', 'dew_point', 'dhi', 'dni', 'ghi', 'surface_albedo',
- 'surface_pressure', 'wind_direction', 'wind_speed']
+ 'surface_pressure', 'wind_direction', 'wind_speed')
PVLIB_PYTHON = 'pvlib python'
def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
- leap_day=False, full_name=PVLIB_PYTHON, affiliation=PVLIB_PYTHON,
- timeout=30):
+ attributes=ATTRIBUTES, leap_day=False, full_name=PVLIB_PYTHON,
+ affiliation=PVLIB_PYTHON, timeout=30):
"""
Retrieve NSRDB PSM3 timeseries weather data from the PSM3 API. The NSRDB
- is described in [1]_ and the PSM3 API is described in [2]_ and [3]_.
+ is described in [1]_ and the PSM3 API is described in [2]_, [3]_, and [4]_.
Parameters
----------
@@ -41,9 +42,13 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
names : str, default 'tmy'
PSM3 API parameter specifing year or TMY variant to download, see notes
below for options
- interval : int, default 60
- interval size in minutes, can only be either 30 or 60. Only used for
+ interval : int, {60, 5, 15, 30}
+ interval size in minutes, must be 5, 15, 30 or 60. Only used for
single-year requests (i.e., it is ignored for tmy/tgy/tdy requests).
+ attributes : list of str, optional
+ meteorological fields to fetch. If not specified, defaults to
+ ``pvlib.iotools.psm3.ATTRIBUTES``. See references [2]_, [3]_, and [4]_
+ for lists of available fields.
leap_day : boolean, default False
include leap day in the results. Only used for single-year requests
(i.e., it is ignored for tmy/tgy/tdy requests).
@@ -78,16 +83,24 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
.. warning:: The "DEMO_KEY" `api_key` is severely rate limited and may
result in rejected requests.
- The PSM3 API `names` parameter must be a single value from the following
- list::
+ The PSM3 API `names` parameter must be a single value from one of these
+ lists:
- ['1998', '1999', '2000', '2001', '2002', '2003', '2004', '2005',
- '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013',
- '2014', '2015', '2016', '2017', '2018', 'tmy', 'tmy-2016', 'tmy-2017',
- 'tdy-2017', 'tgy-2017', 'tmy-2018', 'tdy-2018', 'tgy-2018']
+ +-----------+-------------------------------------------------------------+
+ | Category | Allowed values |
+ +===========+=============================================================+
+ | Year | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
+ | | 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, |
+ | | 2018, 2019 |
+ +-----------+-------------------------------------------------------------+
+ | TMY | tmy, tmy-2016, tmy-2017, tdy-2017, tgy-2017, |
+ | | tmy-2018, tdy-2018, tgy-2018, tmy-2019, tdy-2019, tgy-2019 |
+ +-----------+-------------------------------------------------------------+
.. warning:: PSM3 is limited to data found in the NSRDB, please consult the
- references below for locations with available data
+ references below for locations with available data. Additionally,
+ querying data with < 30-minute resolution uses a different API endpoint
+ with fewer available fields (see [4]_).
See Also
--------
@@ -98,10 +111,12 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
.. [1] `NREL National Solar Radiation Database (NSRDB)
`_
- .. [2] `NREL Developer Network - Physical Solar Model (PSM) v3
+ .. [2] `Physical Solar Model (PSM) v3
`_
- .. [3] `NREL Developer Network - Physical Solar Model (PSM) v3 TMY
+ .. [3] `Physical Solar Model (PSM) v3 TMY
`_
+ .. [4] `Physical Solar Model (PSM) v3 - Five Minute Temporal Resolution
+ `_
"""
# The well know text (WKT) representation of geometry notation is strict.
# A POINT object is a string with longitude first, then the latitude, with
@@ -110,6 +125,9 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
latitude = ('%8.4f' % latitude).strip()
# TODO: make format_WKT(object_type, *args) in tools.py
+ # convert to string to accomodate integer years being passed in
+ names = str(names)
+
# required query-string parameters for request to PSM3 API
params = {
'api_key': api_key,
@@ -120,7 +138,7 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
'mailing_list': 'false',
'wkt': 'POINT(%s %s)' % (longitude, latitude),
'names': names,
- 'attributes': ','.join(ATTRIBUTES),
+ 'attributes': ','.join(attributes),
'leap_day': str(leap_day).lower(),
'utc': 'false',
'interval': interval
@@ -128,6 +146,8 @@ def get_psm3(latitude, longitude, api_key, email, names='tmy', interval=60,
# request CSV download from NREL PSM3
if any(prefix in names for prefix in ('tmy', 'tgy', 'tdy')):
URL = TMY_URL
+ elif interval in (5, 15):
+ URL = PSM5MIN_URL
else:
URL = PSM_URL
response = requests.get(URL, params=params, timeout=timeout)
diff --git a/pvlib/tests/iotools/test_psm3.py b/pvlib/tests/iotools/test_psm3.py
index 0b9d605a18..d99e11587d 100644
--- a/pvlib/tests/iotools/test_psm3.py
+++ b/pvlib/tests/iotools/test_psm3.py
@@ -14,6 +14,7 @@
TMY_TEST_DATA = DATA_DIR / 'test_psm3_tmy-2017.csv'
YEAR_TEST_DATA = DATA_DIR / 'test_psm3_2017.csv'
+YEAR_TEST_DATA_5MIN = DATA_DIR / 'test_psm3_2019_5min.csv'
MANUAL_TEST_DATA = DATA_DIR / 'test_read_psm3.csv'
LATITUDE, LONGITUDE = 40.5137, -108.5449
HEADER_FIELDS = [
@@ -90,6 +91,18 @@ def test_get_psm3_singleyear(nrel_api_key):
assert_psm3_equal(header, data, expected)
+@pytest.mark.remote_data
+@pytest.mark.flaky(reruns=RERUNS, reruns_delay=RERUNS_DELAY)
+def test_get_psm3_5min(nrel_api_key):
+ """test get_psm3 for 5-minute data"""
+ header, data = psm3.get_psm3(LATITUDE, LONGITUDE, nrel_api_key,
+ PVLIB_EMAIL, names='2019', interval=5)
+ assert len(data) == 525600/5
+ first_day = data.loc['2019-01-01']
+ expected = pd.read_csv(YEAR_TEST_DATA_5MIN)
+ assert_psm3_equal(header, first_day, expected)
+
+
@pytest.mark.remote_data
@pytest.mark.flaky(reruns=RERUNS, reruns_delay=RERUNS_DELAY)
def test_get_psm3_check_leap_day(nrel_api_key):