From c41022eaae3576ed8c6b5704ad3255413581dceb Mon Sep 17 00:00:00 2001 From: "Von P. Walden" Date: Wed, 10 Jan 2024 22:39:55 -0800 Subject: [PATCH] Added Chapter 0 with lessons from Software Carpentry --- .../html/_sources/chapter4/Insolation.ipynb | 41 ++++++--- _toc.yml | 4 + chapter0.md | 5 ++ chapter0/inflammation-01.csv | 60 +++++++++++++ ...ftwareCarpentry-AnalyzingPatientData.ipynb | 88 +++++++++++++++++++ ...softwareCarpentry-PythonFundamentals.ipynb | 50 +++++++++++ chapter4/Insolation.ipynb | 2 +- 7 files changed, 236 insertions(+), 14 deletions(-) create mode 100644 chapter0.md create mode 100644 chapter0/inflammation-01.csv create mode 100644 chapter0/softwareCarpentry-AnalyzingPatientData.ipynb create mode 100644 chapter0/softwareCarpentry-PythonFundamentals.ipynb diff --git a/_build/html/_sources/chapter4/Insolation.ipynb b/_build/html/_sources/chapter4/Insolation.ipynb index 2d67ee7..afc2114 100644 --- a/_build/html/_sources/chapter4/Insolation.ipynb +++ b/_build/html/_sources/chapter4/Insolation.ipynb @@ -130,6 +130,25 @@ " return sza\n" ] }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "def Q_instantaneous(latitude, day, hour):\n", + " lat = latitude\n", + " So = 1370.\n", + " d = earth_sun_distance(day)\n", + " dm = 149.6e6\n", + " da = declination(day)\n", + " sza = solar_zenith_angle(lat, da, hour)\n", + " Q = So * (dm/d)**2 * np.cos(sza)\n", + " if Q < 0:\n", + " Q = 0.\n", + " return Q\n" + ] + }, { "cell_type": "code", "execution_count": 5, @@ -156,7 +175,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -165,12 +184,15 @@ "text": [ "Declination = -0.12600714770976626\n", "Earth distance = 148981817.36070523\n", - "Q = 300.456485702979\n" + "Q = 354.38665779405136\n" ] } ], "source": [ - "lat = 46.7\n", + "# Pullman, WA\n", + "#lat = 46.7\n", + "# Greensboro, NC\n", + "lat = 36.1\n", "day = 31+28+22\n", "print('Declination = ', declination(day))\n", "print('Earth distance = ', earth_sun_distance(day))\n", @@ -187,7 +209,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -256,7 +278,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -265,7 +287,7 @@ "Text(0.5, 1.0, 'TOA Insolation over Pullman, WA')" ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, @@ -298,13 +320,6 @@ "plt.ylabel('Daily-Average Insolation (W m-2)')\n", "plt.title('TOA Insolation over Pullman, WA')" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/_toc.yml b/_toc.yml index eb65d31..a10209a 100644 --- a/_toc.yml +++ b/_toc.yml @@ -4,6 +4,10 @@ format: jb-book root: intro chapters: +- file: chapter0.md + sections: + - file: chapter0/softwareCarpentry_PythonFundamentals.ipynb + - file: chapter0/softwareCarpentry_AnalyzingPatientData.ipynb - file: chapter1.md sections: - file: chapter1/FairbanksTemperatures.ipynb diff --git a/chapter0.md b/chapter0.md new file mode 100644 index 0000000..443e624 --- /dev/null +++ b/chapter0.md @@ -0,0 +1,5 @@ +# Background - Blank Notebooks for Programming in Python (by Software Carpentry) + +Chapter 0 includes the following computational notebooks: +- [Software Carpentry's Python Fundamentals](https://swcarpentry.github.io/python-novice-inflammation/01-intro.html) +- [Software Carpentry's Analyzing Patient Data](https://swcarpentry.github.io/python-novice-inflammation/01-intro.html) diff --git a/chapter0/inflammation-01.csv b/chapter0/inflammation-01.csv new file mode 100644 index 0000000..07a2e60 --- /dev/null +++ b/chapter0/inflammation-01.csv @@ -0,0 +1,60 @@ +0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0 +0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1 +0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1 +0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4,2,3,2,1 +0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4,2,0,1,1 +0,0,1,2,2,4,2,1,6,4,7,6,6,9,9,15,4,16,18,12,12,5,18,9,5,3,10,3,12,7,8,4,7,3,5,4,4,3,2,1 +0,0,2,2,4,2,2,5,5,8,6,5,11,9,4,13,5,12,10,6,9,17,15,8,9,3,13,7,8,2,8,8,4,2,3,5,4,1,1,1 +0,0,1,2,3,1,2,3,5,3,7,8,8,5,10,9,15,11,18,19,20,8,5,13,15,10,6,10,6,7,4,9,3,5,2,5,3,2,2,1 +0,0,0,3,1,5,6,5,5,8,2,4,11,12,10,11,9,10,17,11,6,16,12,6,8,14,6,13,10,11,4,6,4,7,6,3,2,1,0,0 +0,1,1,2,1,3,5,3,5,8,6,8,12,5,13,6,13,8,16,8,18,15,16,14,12,7,3,8,9,11,2,5,4,5,1,4,1,2,0,0 +0,1,0,0,4,3,3,5,5,4,5,8,7,10,13,3,7,13,15,18,8,15,15,16,11,14,12,4,10,10,4,3,4,5,5,3,3,2,2,1 +0,1,0,0,3,4,2,7,8,5,2,8,11,5,5,8,14,11,6,11,9,16,18,6,12,5,4,3,5,7,8,3,5,4,5,5,4,0,1,1 +0,0,2,1,4,3,6,4,6,7,9,9,3,11,6,12,4,17,13,15,13,12,8,7,4,7,12,9,5,6,5,4,7,3,5,4,2,3,0,1 +0,0,0,0,1,3,1,6,6,5,5,6,3,6,13,3,10,13,9,16,15,9,11,4,6,4,11,11,12,3,5,8,7,4,6,4,1,3,0,0 +0,1,2,1,1,1,4,1,5,2,3,3,10,7,13,5,7,17,6,9,12,13,10,4,12,4,6,7,6,10,8,2,5,1,3,4,2,0,2,0 +0,1,1,0,1,2,4,3,6,4,7,5,5,7,5,10,7,8,18,17,9,8,12,11,11,11,14,6,11,2,10,9,5,6,5,3,4,2,2,0 +0,0,0,0,2,3,6,5,7,4,3,2,10,7,9,11,12,5,12,9,13,19,14,17,5,13,8,11,5,10,9,8,7,5,3,1,4,0,2,1 +0,0,0,1,2,1,4,3,6,7,4,2,12,6,12,4,14,7,8,14,13,19,6,9,12,6,4,13,6,7,2,3,6,5,4,2,3,0,1,0 +0,0,2,1,2,5,4,2,7,8,4,7,11,9,8,11,15,17,11,12,7,12,7,6,7,4,13,5,7,6,6,9,2,1,1,2,2,0,1,0 +0,1,2,0,1,4,3,2,2,7,3,3,12,13,11,13,6,5,9,16,9,19,16,11,8,9,14,12,11,9,6,6,6,1,1,2,4,3,1,1 +0,1,1,3,1,4,4,1,8,2,2,3,12,12,10,15,13,6,5,5,18,19,9,6,11,12,7,6,3,6,3,2,4,3,1,5,4,2,2,0 +0,0,2,3,2,3,2,6,3,8,7,4,6,6,9,5,12,12,8,5,12,10,16,7,14,12,5,4,6,9,8,5,6,6,1,4,3,0,2,0 +0,0,0,3,4,5,1,7,7,8,2,5,12,4,10,14,5,5,17,13,16,15,13,6,12,9,10,3,3,7,4,4,8,2,6,5,1,0,1,0 +0,1,1,1,1,3,3,2,6,3,9,7,8,8,4,13,7,14,11,15,14,13,5,13,7,14,9,10,5,11,5,3,5,1,1,4,4,1,2,0 +0,1,1,1,2,3,5,3,6,3,7,10,3,8,12,4,12,9,15,5,17,16,5,10,10,15,7,5,3,11,5,5,6,1,1,1,1,0,2,1 +0,0,2,1,3,3,2,7,4,4,3,8,12,9,12,9,5,16,8,17,7,11,14,7,13,11,7,12,12,7,8,5,7,2,2,4,1,1,1,0 +0,0,1,2,4,2,2,3,5,7,10,5,5,12,3,13,4,13,7,15,9,12,18,14,16,12,3,11,3,2,7,4,8,2,2,1,3,0,1,1 +0,0,1,1,1,5,1,5,2,2,4,10,4,8,14,6,15,6,12,15,15,13,7,17,4,5,11,4,8,7,9,4,5,3,2,5,4,3,2,1 +0,0,2,2,3,4,6,3,7,6,4,5,8,4,7,7,6,11,12,19,20,18,9,5,4,7,14,8,4,3,7,7,8,3,5,4,1,3,1,0 +0,0,0,1,4,4,6,3,8,6,4,10,12,3,3,6,8,7,17,16,14,15,17,4,14,13,4,4,12,11,6,9,5,5,2,5,2,1,0,1 +0,1,1,0,3,2,4,6,8,6,2,3,11,3,14,14,12,8,8,16,13,7,6,9,15,7,6,4,10,8,10,4,2,6,5,5,2,3,2,1 +0,0,2,3,3,4,5,3,6,7,10,5,10,13,14,3,8,10,9,9,19,15,15,6,8,8,11,5,5,7,3,6,6,4,5,2,2,3,0,0 +0,1,2,2,2,3,6,6,6,7,6,3,11,12,13,15,15,10,14,11,11,8,6,12,10,5,12,7,7,11,5,8,5,2,5,5,2,0,2,1 +0,0,2,1,3,5,6,7,5,8,9,3,12,10,12,4,12,9,13,10,10,6,10,11,4,15,13,7,3,4,2,9,7,2,4,2,1,2,1,1 +0,0,1,2,4,1,5,5,2,3,4,8,8,12,5,15,9,17,7,19,14,18,12,17,14,4,13,13,8,11,5,6,6,2,3,5,2,1,1,1 +0,0,0,3,1,3,6,4,3,4,8,3,4,8,3,11,5,7,10,5,15,9,16,17,16,3,8,9,8,3,3,9,5,1,6,5,4,2,2,0 +0,1,2,2,2,5,5,1,4,6,3,6,5,9,6,7,4,7,16,7,16,13,9,16,12,6,7,9,10,3,6,4,5,4,6,3,4,3,2,1 +0,1,1,2,3,1,5,1,2,2,5,7,6,6,5,10,6,7,17,13,15,16,17,14,4,4,10,10,10,11,9,9,5,4,4,2,1,0,1,0 +0,1,0,3,2,4,1,1,5,9,10,7,12,10,9,15,12,13,13,6,19,9,10,6,13,5,13,6,7,2,5,5,2,1,1,1,1,3,0,1 +0,1,1,3,1,1,5,5,3,7,2,2,3,12,4,6,8,15,16,16,15,4,14,5,13,10,7,10,6,3,2,3,6,3,3,5,4,3,2,1 +0,0,0,2,2,1,3,4,5,5,6,5,5,12,13,5,7,5,11,15,18,7,9,10,14,12,11,9,10,3,2,9,6,2,2,5,3,0,0,1 +0,0,1,3,3,1,2,1,8,9,2,8,10,3,8,6,10,13,11,17,19,6,4,11,6,12,7,5,5,4,4,8,2,6,6,4,2,2,0,0 +0,1,1,3,4,5,2,1,3,7,9,6,10,5,8,15,11,12,15,6,12,16,6,4,14,3,12,9,6,11,5,8,5,5,6,1,2,1,2,0 +0,0,1,3,1,4,3,6,7,8,5,7,11,3,6,11,6,10,6,19,18,14,6,10,7,9,8,5,8,3,10,2,5,1,5,4,2,1,0,1 +0,1,1,3,3,4,4,6,3,4,9,9,7,6,8,15,12,15,6,11,6,18,5,14,15,12,9,8,3,6,10,6,8,7,2,5,4,3,1,1 +0,1,2,2,4,3,1,4,8,9,5,10,10,3,4,6,7,11,16,6,14,9,11,10,10,7,10,8,8,4,5,8,4,4,5,2,4,1,1,0 +0,0,2,3,4,5,4,6,2,9,7,4,9,10,8,11,16,12,15,17,19,10,18,13,15,11,8,4,7,11,6,7,6,5,1,3,1,0,0,0 +0,1,1,3,1,4,6,2,8,2,10,3,11,9,13,15,5,15,6,10,10,5,14,15,12,7,4,5,11,4,6,9,5,6,1,1,2,1,2,1 +0,0,1,3,2,5,1,2,7,6,6,3,12,9,4,14,4,6,12,9,12,7,11,7,16,8,13,6,7,6,10,7,6,3,1,5,4,3,0,0 +0,0,1,2,3,4,5,7,5,4,10,5,12,12,5,4,7,9,18,16,16,10,15,15,10,4,3,7,5,9,4,6,2,4,1,4,2,2,2,1 +0,1,2,1,1,3,5,3,6,3,10,10,11,10,13,10,13,6,6,14,5,4,5,5,9,4,12,7,7,4,7,9,3,3,6,3,4,1,2,0 +0,1,2,2,3,5,2,4,5,6,8,3,5,4,3,15,15,12,16,7,20,15,12,8,9,6,12,5,8,3,8,5,4,1,3,2,1,3,1,0 +0,0,0,2,4,4,5,3,3,3,10,4,4,4,14,11,15,13,10,14,11,17,9,11,11,7,10,12,10,10,10,8,7,5,2,2,4,1,2,1 +0,0,2,1,1,4,4,7,2,9,4,10,12,7,6,6,11,12,9,15,15,6,6,13,5,12,9,6,4,7,7,6,5,4,1,4,2,2,2,1 +0,1,2,1,1,4,5,4,4,5,9,7,10,3,13,13,8,9,17,16,16,15,12,13,5,12,10,9,11,9,4,5,5,2,2,5,1,0,0,1 +0,0,1,3,2,3,6,4,5,7,2,4,11,11,3,8,8,16,5,13,16,5,8,8,6,9,10,10,9,3,3,5,3,5,4,5,3,3,0,1 +0,1,1,2,2,5,1,7,4,2,5,5,4,6,6,4,16,11,14,16,14,14,8,17,4,14,13,7,6,3,7,7,5,6,3,4,2,2,1,1 +0,1,1,1,4,1,6,4,6,3,6,5,6,4,14,13,13,9,12,19,9,10,15,10,9,10,10,7,5,6,8,6,6,4,3,5,2,1,1,1 +0,0,0,1,4,5,6,3,8,7,9,10,8,6,5,12,15,5,10,5,8,13,18,17,14,9,13,4,10,11,10,8,8,6,5,5,2,0,2,0 +0,0,1,0,3,2,5,4,8,2,9,3,3,10,12,9,14,11,13,8,6,18,11,9,13,11,8,5,5,2,8,5,3,5,4,1,3,1,1,0 diff --git a/chapter0/softwareCarpentry-AnalyzingPatientData.ipynb b/chapter0/softwareCarpentry-AnalyzingPatientData.ipynb new file mode 100644 index 0000000..3b1a57e --- /dev/null +++ b/chapter0/softwareCarpentry-AnalyzingPatientData.ipynb @@ -0,0 +1,88 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Software Carpentry - Analyzing Patient Data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read [Software Carpentry's Analyzing Patient Data](https://swcarpentry.github.io/python-novice-inflammation/02-numpy.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using notebook cells below, type in the commands in the instructions to check your knowledge of Python variables. (The two cells below will get you started.)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 1., ..., 3., 0., 0.],\n", + " [0., 1., 2., ..., 1., 0., 1.],\n", + " [0., 1., 1., ..., 2., 1., 1.],\n", + " ...,\n", + " [0., 1., 1., ..., 1., 1., 1.],\n", + " [0., 0., 0., ..., 0., 2., 0.],\n", + " [0., 0., 1., ..., 1., 1., 0.]])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numpy.loadtxt(fname='inflammation-01.csv', delimiter=',')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "work", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter0/softwareCarpentry-PythonFundamentals.ipynb b/chapter0/softwareCarpentry-PythonFundamentals.ipynb new file mode 100644 index 0000000..68c4340 --- /dev/null +++ b/chapter0/softwareCarpentry-PythonFundamentals.ipynb @@ -0,0 +1,50 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Software Carpentry - Python Fundamentals" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read [Software Carpentry's Python Fundamentals](https://swcarpentry.github.io/python-novice-inflammation/01-intro.html). Start by scrolling down to the section on Variables." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using notebook cells below, type in the commands in the instructions to check your knowledge of Python variables. (The cell below is the first example.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "3 + 5 * 4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!wget https://github.com/swcarpentry/python-novice-inflammation/tree/main/episodes/data/inflammation-01.csv" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter4/Insolation.ipynb b/chapter4/Insolation.ipynb index 2d67ee7..dcf98c2 100644 --- a/chapter4/Insolation.ipynb +++ b/chapter4/Insolation.ipynb @@ -323,7 +323,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.5" + "version": "3.11.4" }, "vscode": { "interpreter": {