Information Technology Skills

August 21, 2017
METR 4330.995/METR 5330


Fiedler, Brian
Professor Emeritus


Online   View map


Fall 2017

Instructor: Prof. Brian Fiedler email:


This website defines the tasks needed to complete the University of Oklahoma’s courses METR 4330/5330 and DSA 5021.

In the Fall of 2016, this course transitioned to using the jupyter notebook (also know as ipython notebook) for developing and running programs. Prior to the Fall of 2016, the course would be completed in a student account on a remote server. In the current version of the course, the student coursework could be conceivably be assessed using Dropbox, for example. Nevertheless, knowing Linux and knowing how to connect to, and use, a remote server is an extremely important professional skill. This course still retains a requirement for using a server account, but the required purpose is to maintain a simple website on a shared server running the Linux operating system.

Students METR 4330/5330 and DSA 5021 have access to the     METR 1313 website, which has the same username/password as this site. METR 1313 is a “freshman” course in Python programming. That course also requires the “freshman” to use a server account, identical to the one issued for this course.

After being given their password for their server account, students in METR 4330/5330 and DSA 5021 are invited to jump into using it. The recommendation is to follow these tutorials:


  1. Server Connect (DSA 5021 students should begin the first quiz on their Janux platform)
  2. First Files
  3. First Programs
  4. First Python


Anaconda Python

You will need your own installation of Anaconda Python for METR 4330/5330 and DSA 5021. Here is some information I have put together on                                                                                                    installing and using Anaconda Python. That page invites METR 1313 students to try out spyder for developing Python programs.

In METR 4330/5330 and DSA 50121, we will use      jupyter notebook.


At you are invited to run “Welcome_to_Python.ipynb” on a free remote server. But you may want to skip that. For a “Welcome” notebook it seems unnecessarily complicated. I offer a simpler one in the next section.

Here is a     video introduction to jupyter notebooks. If you were successful at installing and invoking spyder, you just need to type jupyter notebook on the command line of your Windows|OSX|Linux computer, and the jupyter notebook opens in your browser. Note the terminology          jupyter versus ipython. Here we learn that “jupyter” is the   language-agnostic part, the notebook, which can be used for several languages.

So, more accurately, we may say METR 4330/5330 uses      ipython as the kernel in jupyter.



Jupyter/Ipython warm up

DSA 5021 and METR 4330/5330 are here offered some ipython notebooks as tutorials. Completion of the exercises in the notebooks is advised, but are not assessed as part of the grade.

Here is a notebook on the level of METR 1313:      pi.ipynb. Click on “Download” and save it to your computer. You may want to save it in a directory named notebooks, or something like that. Follow the instructions in the notebook. From your                  Jupyter dashboard, open pi.ipynb.

One step up from the py.ipynb is      foreverbody-scrabble.ipynb. You will also need the text file                     scrabble.txt.

I make no claim that either my pi.ipynb or my foreverbody-scrabble.ipynb is the ideal place to start for you. You may want to investigate                                                                                  A gallery of interesting IPython Notebooks.

You may also find my     matplotlib1.ipynb useful.






The graded tasks

The required first task for all courses: Making a Password-protected website (DSA 5021 students should begin the second quiz on their Janux platform)

METR 4330/5330 has variable credit. Here are the requirements of the various levels of credit.

3 credit hours: 6 more tasks (your choice) plus and an independent project required

2 credit hours: 5 more tasks (your choice) required 1 credit hour: 3 more tasks (your choice) required

DSA 5021 is for one credit hour. In addition to making a Password-protected website, DSA 5021 students are required to complete Hot summer,                                                              Forecast Verification and           Gridded Data

Note: the “independent project” is similar to a task, but you conceive of it. Present a plan to the instructor via email, for approval.

The remaining tasks may be selected from the following. There are 9 here now.


Hot summer. Elementary analysis and plotting of data from a text file.

Recommend you start here. The notebook should have instructions on how to download any required files. But here is a link to the anaconda directory of my data files.

Forecast Verification. Reliability diagrams, ROC curves, and Relative Value plots.

Raster Graphics. Converting Level II data into pixels with colors signifying reflectivity. You will need from      the anaconda directory of my data files.

Gridded Data. Emphasizes converting data in a netCDF file into     animations like these.

Fancy Numpy Raster Graphics from Nexrad netCDF files, with numpy and PIL. Not just simple numpy, but with great efficiency using Fancy Indexing.

Plot NARR Advanced Basemap techniques for plotting North American Regional Reanalysis data




Scalable Vector Graphics Applied to Radar Revisiting the Level II data of Raster Graphics, but now applying Vector Graphics

Elementary time-series analysis of the PDSI Examine how drought is correlated around the globe (correlation) and how it is correlated with itself in time (autocorrelation).

Plotting GFS output with numpy arrays extracted from GRIB files Maybe next year I will add these:

Writing CF compliant netCDF files Python Data Analysis Library