python programming - start your python scripts in...
TRANSCRIPT
![Page 1: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/1.jpg)
Python ProgrammingStart your python scripts in PyCharm
Harry Lee1/10/2018
CEE 696 & Stanford CEE 268
![Page 3: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/3.jpg)
Table of Contents
1. PyCharm Setup
2
![Page 4: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/4.jpg)
PyCharm Setup
![Page 5: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/5.jpg)
Python execution
How can you execute your python scripts?
• go to terminal (“Command Prompt” in Windows) - run python• go to terminal - run ipython• Jupyter Notebook
3
![Page 6: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/6.jpg)
Terminal - Python
Command Prompt - Python
You can run a python script by typing “python your_script _name.py”or open interactive shell by simply typing “python”
4
![Page 7: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/7.jpg)
Terminal - IPython
Ipython is an interactive command-line terminal with extra featureslike tab-completion, testing, debugging, system calls and otherfeatures.
type “ipython” in the terminal
5
![Page 8: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/8.jpg)
Python execution
How will we write and execute python scripts in this class?
• go to terminal - python, ipython• PyCharm (with ipython) - we will use this• We can use Jupyter Notebook using PyCharm as well
6
![Page 9: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/9.jpg)
Start PyCharm (1)
1. Start PyCharm
7
![Page 10: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/10.jpg)
Start PyCharm (2)
1. Start PyCharm2. Create new project
8
![Page 11: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/11.jpg)
Start PyCharm (3)
1. Start PyCharm2. Create new project - choose your directory - create a new folderif needed
9
![Page 12: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/12.jpg)
Start PyCharm (4)
1. Start PyCharm2. Create new project - choose your directory
10
![Page 13: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/13.jpg)
Start PyCharm (5)
1. Start PyCharm2. Create new project - choose your directory3. Project Interpreter- New environment using Virtualenv - Inheritglobal site-packages unless you want to build everything fromscratch
11
![Page 14: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/14.jpg)
Start PyCharm (6)
We are almost there! Create your first python script
12
![Page 15: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/15.jpg)
Start Pycharm
Now you can write your own script.
13
![Page 16: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/16.jpg)
Installation of Python packages
1. NumPy : N-dimensional array package2. SciPy : Scientific computing library package3. Matplotlib : Plotting package4. FloPy : MODFLOW python interface package5. Jupytor : Jupyter Notebook (not required)
Package installation:
• You can install them in our Anaconda Python (“AnacondaNavigator” - Environments - root - change “installed“” to “notinstalled” - and “search Packages”: this might require root oradministrator permission)
• Or, we can install them separately within your virtualenvironment
14
![Page 17: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/17.jpg)
Virtual Environment (virtualenv)
What is Virtual Environment?
• It is a tool to create isolated Python development environments• This will address the issue of version dependencies andpermissions.
• For example, your current application requires version 1.0 ofprogram A and another application needs version 1.57 ofprogram A, how can you maintain both applications?
• Or, you accidentally upgrade program A to its version 2.0 andyour applications stop working. How can you deal with this.
• virtualenv basically creates a development environment thathas its own installation directory under your current workspace.
15
![Page 18: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/18.jpg)
Package installation (1)
File - Settings - Project - Project Interpretator + click ”+” button16
![Page 19: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/19.jpg)
Package installation (2)
Install numpy, scipy, matplotlib and flopy (and jupyter if you want) 17
![Page 20: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/20.jpg)
Package installation (3)
If you have issues with installation, you can go to ”CommandPrompt” (Windows) or Terminal (Linux or Mac) and type
“pip install your_package”
for example, “pip install flopy”
18
![Page 21: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/21.jpg)
Write your first script
Then turn on ”Scientific mode” View - Scientific Mode
19
![Page 22: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/22.jpg)
my_first_python_script.py
nlay = 5 # number of layersnrow = 10 # number of rowsncol = 20 # number of columns
nlay,nrow,ncol = 5,10,20 # more compact way# spacing along a row (ncol) and column (nrow), respectivelydelr, delc = 1.5, 2.5
print("nrow: %d, delc: %f" % (nrow, delc))
• run you script by Run - Run or Alt+Shift+F10• or you can select lines and mouse right-click - Execute Selectionin Console or Alt+Shift+E
20
![Page 23: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/23.jpg)
Jupyter Notebook (not required!)
Jupyter Notebook is another interactive computational environmenton your web browser supported by Python community. While westick to PyCharm in this class, you can use the Notebook forinteractive python scripting.
1. Create your notebook file : File - New - Jupyter Notebook2. click ”green” run cell button3. cancel the dialog box below4. click ”Run Jupyter Notebook” in yellow error message5. click the url ”http://127.0.0.1:8888....” below to open your defaultbrowser
6. When you finish the notebook, stop it by clicking the red stopbutton in Run Tool Window (or Ctrl+F2)
21
![Page 24: Python Programming - Start your python scripts in …jonghyun/classes/S18/CEE696/...my_first_python_script.py nlay = 5 # number of layers nrow = 10 # number of rows ncol = 20 # number](https://reader030.vdocument.in/reader030/viewer/2022040212/5e8f5c2ce520035c654ea096/html5/thumbnails/24.jpg)
numpy and matplotlib
We will look into the code later in detail
import numpy as np # n-dimensional arrayx = np.linspace(0,2*np.pi,100)y = np.sin(x)
import matplotlib.pylab as pltplt.figure()plt.plot(x,y)plt.title('my first plot!')plt.show()
22