{"id":746,"date":"2020-06-30T21:08:44","date_gmt":"2020-07-01T02:08:44","guid":{"rendered":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/?page_id=746"},"modified":"2026-04-06T15:25:24","modified_gmt":"2026-04-06T19:25:24","slug":"solar-energy-educational-resources","status":"publish","type":"page","link":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/solar-energy-educational-resources\/","title":{"rendered":"Educational Resources"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Comprehensive Book Chapter on Solar Thermochemical Redox Processes&nbsp;<\/h4>\n\n\n\n<p>Click hyperlink to access Book chapter: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2021\/09\/Solar-Syngas-Production_Scheffe_vWEB.pdf\">Hydrogen (or Syngas) Generation &#8211; Solar Thermal Chemical Energy Storage<\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Supplementary information<a id=\"example_one\"><\/a><\/h5>\n\n\n\n<p><strong>&nbsp;CSV Data:&nbsp; <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click hyperlink to access CSV Data: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/Fig2212_data.csv\" data-type=\"link\" data-id=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/Fig2212_data.csv\">Fig2212_data<\/a> <\/li>\n\n\n\n<li>Click hyperlink to access CSV Data: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/07\/Change_in_EnthalpyVSDelta.csv\" data-type=\"link\" data-id=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/07\/Change_in_EnthalpyVSDelta.csv\">Change_in_EnthalpyVSDelta<\/a><\/li>\n\n\n\n<li>Click hyperlink to access CSV Data: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/H2O_Equilibrium_Constant.csv\" data-type=\"link\" data-id=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/H2O_Equilibrium_Constant.csv\">H2O_Equilibrium_Constant<\/a> <\/li>\n<\/ul>\n\n\n\n<p><strong>Book: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Example Question 3 Solution: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/Solar-Syngas-Production_Problem3.pdf\" data-type=\"link\" data-id=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/11\/Solar-Syngas-Production_Problem3.pdf\">Solar Syngas Production_Problem 3<\/a> <\/li>\n\n\n\n<li>Example Questions 4-7 Solutions: <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/07\/Book-Chapter-Problems_Gordon-v2.pdf\" data-type=\"link\" data-id=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/100\/2021\/07\/Book-Chapter-Problems_Gordon-v2.pdf\">Book Chapter Problems_Gordon-v2<\/a><\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Exercises Inspired by a Solar Energy Utilization Class<\/h5>\n\n\n\n<p>For your reference, below is a list of of the exercises in this series:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#example_one\">Exercise 1: Getting Familiar with Python: an Extraterrestrial Solar Radiation&nbsp;exercise. <\/a><\/li>\n\n\n\n<li><a href=\"#example_two\">Exercise 2: Solar Time and Solar Time Python Calculator. <\/a><\/li>\n<\/ul>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Exercise 1 Instructions<a id=\"example_one\"><\/a><\/h5>\n\n\n\n<p><strong>Extraterrestrial Solar Radiation<\/strong><\/p>\n\n\n\n<p>Solar radiation flux, or irradiance (G) in W\/m<sup>2<\/sup>, outside the earth\u2019s atmosphere and normal to earth\u2019s surface (G<sub>on<\/sub>, where o stands for outside and n for normal direction) may be calculated as a function of the day in the year according to the following equation below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"222\" height=\"38\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/Exer1Equ.png\" alt=\"\" class=\"wp-image-878\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>G<sub>sc<\/sub> is the solar constant and is equal to 1367 W\/m2 and n is the day in the year. The term contained within cosine is in units of degrees.<\/p>\n\n\n\n<p><strong>Brief Python Introduction<\/strong><\/p>\n\n\n\n<p><em>Packages and Calling Functions<\/em>: In Python, there are several powerful computing packages commonly used that should be declared at the top of your .py, or python file. For example, some of the more popular computational packages useful for engineering include numpy, scipy, matplotlib and pandas, among others. These must be installed on your computer, either manually using a package installer (e.g. <a href=\"https:\/\/pip.pypa.io\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">pip installer<\/a>), or are installed by default with many Python distributions, including the Anaconda Distribution that we will use in this exercise. For example, if we want to utilize the numpy package, we can use the import function and say:<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p>import numpy as np<\/p>\n<\/div>\n\n\n\n<p>which allows us to call the numpy package simply by typing np. If we wish to use numpy package to calculate the cosine of an angle, we would first need to call it by typing np followed by a period and then the function contained within the package we wish to utilize, in this case cos, and the value within it (in this case the numerical value pi which is also called using the numpy package as np.pi) contained within parenthesis. For example,<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p>np.cos(np.pi)<\/p>\n<\/div>\n\n\n\n<p>The input contained within parentheses should have units radians and the output will be in units radians. For example, to correctly use the equation for Gon, the cosine term will look like the following.<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p>np.cos(360*n\/365*np.pi\/180)<\/p>\n<\/div>\n\n\n\n<p>because we need to convert from degrees to radians by multiplying everything by np.pi\/180.<\/p>\n\n\n\n<p><em>Declaring Functions:<\/em> Functions are declared in Python by defining them using def followed by the function name, parentheses that include any variables the function is dependent on, followed by a colon. The body of the function is then started on a new, indented line and the value that is returned by the function must be declared at the end using <em>return<\/em>. For example, if we wish to define a function y that depends on x and is a linear line with slope m and intercept y and later call it, we would write<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p>def y(x):<\/p>\n<p style=\"padding-left: 40px\">return m*x+b<\/p>\n<p>y(x)<\/p>\n<\/div>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p><strong>Exercise<\/strong><br>Complete the following questions that deal with determining G<sub>on<\/sub> using the above equation and a more accurate form of the equation (not shown, Gon_accurate function), as a way to get comfortable computing in Python using some basic techniques, learning to call and declare functions, plotting data using the package matplotlib, and using two different methods to evaluate python code, namely a traditional editor named Spyder and a web based notebook style editor called Jupyter.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download <a href=\"https:\/\/www.anaconda.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Python<\/a> (\u201cAnaconda Distribution\u201d). This includes many useful packages but most commonly we will use Spyder and Jupyter, two different ways to evaluate Python code.<\/li>\n\n\n\n<li>Open and run \u201cExtraterrestrial Radiation Calculator.py\u201d using Spyder. It can be copied and pasted from the appendix of<span style=\"margin: 0px;padding: 0px\">&nbsp;<\/span><strong><a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/Introduction-to-Python-and-Extraterrestrial-Solar-Radiation1184.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">this document<\/a><\/strong>&nbsp;and saved to your computer as a .py file. After running, you should see a plot with two curves.<br><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"350\" class=\" wp-image-886 aligncenter\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/rb_dayyear-300x199.png\" alt=\"\"><p style=\"font-style: normal;font-weight: 100;font-size: 18px;font-family: gentona, 'Helvetica Neue', Helvetica, Arial, sans-serif\"><\/p><br><\/li>\n\n\n\n<li>Replot the data using the same code but change the plotted lines from red \u2018r\u2019 and blue \u2018b\u2019in the plt.plot lines of code, to other colors of your choice. Here are  examples&nbsp;and more <a href=\"https:\/\/matplotlib.org\/3.1.1\/tutorials\/introductory\/pyplot.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a>.<figure><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"350\" class=\" wp-image-862 aligncenter\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/DAyyear-300x179.png\" alt=\"\"><\/figure><\/li>\n\n\n\n<li>We have plotted data every day using the function np.arrange with the linedays=np.arange(1,365,1). This creates an array from 1 to 365 with a spacing of 1. However, let&#8217;s imagine we want to see individual data points plotted \u2013 it would be difficult to distinguish between them with so many. Therefore, lets plot a point every 10 days by changing the spacing from 1 to 10. Show the results using blue circles for the blue curve by inserting \u2018bo\u2019 in place of \u2018b\u2019.<figure><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"350\" class=\"wp-image-864 aligncenter\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/Dayyear2-300x192.png\" alt=\"\"><\/figure><\/li>\n\n\n\n<li>Use Python Jupyter Notebook to the plot the extraterrestrial solar radiation (Gon) between March 1st and July 1st. Copy and paste lines from the prior \u201cExtraterrestrial Radiation Calculator.py.py file\u201d. You can group common lines of code in their own cells that can be evaluated independently from the remaining cells. At the end of that file are a few lines of code that you can use to determine the day in the year given a date. Adding a # sign at the beginning of each line is used to comment and is not evaluated. Copy and paste these lines into a new Jupyter cell to determine what days the required dates correspond to. For example, to determine the day in the year on March 1st see below. Thus the day on March 1st is 61 and July 1st is 183.<\/li>\n<\/ol>\n\n\n\n<p><figure><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-892 aligncenter\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GCS-small-300x40.png\" alt=\"\" width=\"728\" height=\"97\" srcset=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GCS-small-300x40.png 300w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GCS-small-1024x135.png 1024w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GCS-small-768x101.png 768w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GCS-small.png 1221w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/figure><\/p>\n\n\n\n<p>Now we will plot between only these days by changing days to equal&nbsp; days=np.arange(61,183,1). Below is a screenshot of the cells and output.<\/p>\n\n\n\n<p><figure><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-890 aligncenter\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-300x186.png\" alt=\"\" width=\"732\" height=\"454\" srcset=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-300x186.png 300w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-1024x635.png 1024w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-768x476.png 768w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-1536x953.png 1536w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/07\/GSC1367-mitchell-2048x1270.png 2048w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure><\/p>\n\n\n\n<p><a href=\"#top\"> Back to top <\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Exercise 2 Instructions<a id=\"example_two\"><\/a><\/h5>\n\n\n\n<p><strong> Solar Time<\/strong><\/p>\n\n\n\n<p>Solar time is used in all sun-angle relationships. It is based on the apparent angular motion of the sun across the sky, with solar noon the time the sun crosses the meridian of the observer. Two corrections are needed to convert from standard time.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><em>Correction for difference in longitude between observer\u2019s meridian and the meridian at which local standard time is based.<\/em><\/li>\n\n\n\n<li><em>Correction from the equation of time which accounts for perturbations in the earth\u2019s rate of rotation.<\/em><\/li>\n<\/ol>\n\n\n\n<p>The equation used to calculate solar time is below.<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p style=\"text-align: center\">solar time &#8211; standard time = 4(L<sub>st<\/sub> &#8211; L<sub>loc<\/sub>) + E<\/p>\n<\/div>\n\n\n\n<p>L<sub>st<\/sub> is the standard meridian for the local time zone, Lloc is the longitude of the location in question and E is the equation of time in minutes. E can be determined graphically from the figure below (from Duffie and Beckmann, Solar Engineering of Thermal Processes, 4th Edition) or from the equations below from Duffie and Beckmann (Duffie and Beckmann, Solar Engineering of Thermal Processes, 4th Edition).<\/p>\n\n\n\n<div style=\"background-color: #cfc;padding: 10px;border: 1px solid green\">\n<p style=\"text-align: center\">E = 229.2(0.000075 + 0.001868 \u2212 0.032077 \u2212 0.014615 2 \u2212 0.04089 2)<\/p>\n<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"69\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Exercise-2-Equation-300x69.png\" alt=\"\" class=\"wp-image-932\" srcset=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Exercise-2-Equation-300x69.png 300w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Exercise-2-Equation.png 606w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Here, n is the day in the year and B has units degrees. The units for the right hand side of the equation used to calculate solar time are minutes.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"243\" src=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Equation-of-time-vs-month_Ex2-300x243.png\" alt=\"\" class=\"wp-image-926\" srcset=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Equation-of-time-vs-month_Ex2-300x243.png 300w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Equation-of-time-vs-month_Ex2-768x621.png 768w, https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Equation-of-time-vs-month_Ex2.png 847w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/div>\n\n\n<p>To determine Lst, multiply the difference in time between local standard clock time and Greenwich Mean Time (GMT) by 15\u00b0. This relationship comes from thefact that the sun takes 4 minutes to traverse 1\u00b0 of longitude. Thus, if your local standard clock is 1 hour behind GMT then LST is 15\u00b0. You must account for Daylight Savings Time (DST): for example, DST in the United States takes place between the dates of March 8th and November 1st. During this time, the clocks are advanced by 1 hour and thus the difference between the clocks in&nbsp;the United States and GMT changes by 1 hour. For example, if DST is 14:00 then Local Standard Time (LST) which should be used to determine solar time and Lst, is 13:00.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>Figure 1. Equation of time verses month in the year. From Duffie and Beckmann, Solar Engineering of Thermal Processes, 4th Edition<\/p>\n\n\n\n<p><strong>Exercise<\/strong><br><i>Find the instructions and full Python code <a href=\"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-content\/uploads\/sites\/765\/2020\/08\/Solar-Time1419.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.&nbsp;<\/i><\/p>\n\n\n\n<p><a href=\"#top\">Back to top <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comprehensive Book Chapter on Solar Thermochemical Redox Processes&nbsp; Click hyperlink to access Book chapter: Hydrogen (or Syngas) Generation &#8211; Solar Thermal Chemical Energy Storage Supplementary information &nbsp;CSV Data:&nbsp; Book: Exercises Inspired by a Solar Energy Utilization Class For your reference, below is a list of of the exercises in this series: &nbsp; Exercise 1 Instructions [&hellip;]<\/p>\n","protected":false},"author":468,"featured_media":0,"parent":0,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"page-templates\/page-sidebar-none.php","meta":{"_acf_changed":false,"inline_featured_image":false,"featured_post":"","footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-746","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/pages\/746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/users\/468"}],"replies":[{"embeddable":true,"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/comments?post=746"}],"version-history":[{"count":3,"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/pages\/746\/revisions"}],"predecessor-version":[{"id":1597,"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/pages\/746\/revisions\/1597"}],"wp:attachment":[{"href":"https:\/\/faculty.eng.ufl.edu\/jonathan-scheffe\/wp-json\/wp\/v2\/media?parent=746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}