Applications of Computers to Meteorology

METEO 473 3 Credits 

Course Syllabus for Spring 2020

Section 01 

Instructor: Prof. Gregory S. Jenkins, Department of Meteorology, 605 Walker Building, 865-0479, or

Meeting Time/Place: M, W – 3:30-5:00 PM (126 Walker) 

Office Hours: You are welcome to visit my office for questions during scheduled office hours (Tues, 1:30-3:00 PM, Wednesday 2:00-3:30), or by appointment. You may also email for questions (please use "").

Teaching Assistant: Sapkota, Vikrant,, 530 Walker

Prerequisite: CMPSC 101, CMPSC 201, CMPSC 202 or METEO 273


Required: Python Programming and Visualization for Scientists by Alex J. Decaria, Sundog 

publishing. Available online at : ( and at the PSU bookstore. 


The discipline of atmospheric sciences and its sub -disciplines require the creation of data to characterize the state of the atmosphere on many different timescales. Unfortunately, the generation of data is found in many different forms which require a means for opening and manipulating data for specific purposes. This requires that you often learn a programming language for reading data, data manipulation and a graphic package for display of data in different formats (jpeg, png, eps, pdf). Python allows you to do all of these processes in one framework. Python as a language takes on forms like many different other languages (C++, Matlab, Fortran) and this means that there are many different ways of programming in python. There are more efficient ways of programming, but it is important that you use the form which you understand and can build on not only in this class but during your career. 

Class Strategy 

During the first 8-10 weeks of the class, you will learn how to program in Python, with homework and class exercises to reinforce the material that you are learning in class. Quizzes every two weeks or so will help to assess if you are learning the material. There is one midterm which covers the first part of the course. During the last 6-8 weeks of the you will use your knowledge to work on a research project related to anthropogenic climate change. This will involve the use of datasets to answer a question which is posed by your team of 2 members. The datasets will could involve: CMIP5 global climate model with future projections of climate change; North American regional climate model simulations of future climate change; present day station or gridded data; population datasets, energy usage datasets. Team projects will be developed in the first 5 weeks of the class, with a set of project milestones throughout the course. 

Class Structure: 

Monday: Lecture on specific topics, followed by in class related exercises 
Wednesday:  Lecture or class assignment 

Course Objectives 

  • Learn basic unix commands for copying, moving, creating directories and providing permissions to others
  • Learn the basics of Python including running programs.
  • Learn how to open, read and write different types of files
  • Learn the basis of looping
  • Learn how to deal with arrays
  • Learn how to graph up data using Python. 

Core Outcomes 

  • Understand basic python functions for use in the atmospheric sciences.
  • Ability to open all datasets of 1,2,3 and 4 dimensions and undertake operations on these datasets
  • Use of Python to examine a project related to 20th and 21st century climate change and climate variability. 


Attendance of all lectures is expected. Missing class is not helpful especially for in- class assignments. Copies of slides from the lectures will usually be made available on Canvass. Assignments will be posted on Canvas. 

In Class Assignments. 

On Wednesdays you may be given an in class assignment that you must complete during the class. You should get your codes to run and print out the results. I would like to promote peer learning as it relates to the class. To this end, I would like for you to work with the person nearest to you as you are working on in-class assignments. You should put the name of the person that you worked with on the in-class assignment. 


There will be one midterm that will be composed a two parts (1) questions related to python; (2) a take home part of the exam that you must write a code, test, run and turn in your results.


Homework assignements are assigned from canvas with a defined due date and time. Under normal circumstances, a homework will be assigned once per week. You will create a homework directory where your python code will be placed along with any data so that we can test it. You must also upload a copy of your python code and output on CANVAS. Your python codes should include your name, and comments related to what the purpose of the program. Comments throughout your python code is highly recommended. You may ask TA for limited assistance as it relates to a problem with your code, but the TA is not going to help you complete your homework but may give you hints about where you maybe having problems. Working how to get your code to run through a series of trials and errors is where the learning occurs. 

Final Projects

In this class, we will explore the questions related to a changing climate over the 50 years and also glimpse into climate model projections from the CMIP5 dataset. Teams of 2 students will tackle a particular problem as it relates to a climate project. Datasets will use many forms but the most likely is netCDF files which are self describing and contain 4 dimensional data (x,y,z,t).

You will need to develop codes to answer related to climate question. You may need to develop codes which extract data, crunch numbers and visually display result. Your team will need to give a final powerpoint presentation where you discuss your research topic, your codes and what types of python operations were involved and finally the results. 

Project Milestones

Project milestones will be defined for each team to complete. For example includes choosing a topic, identifying data sources, reading data sources, performing calculations, developing graphics…. The milestones are to keep you on track for finishing your project in a reasonable 

time while developing and testing code related to your project. 

Course Requirements and Grades 

The grading in the class will be based on attendance, homework, quizzes, 1 midterm and a final project. Missing classes will reduce the number of in class participation points. The final project is composed of a in-class presentation and a written paper. A rubric for the inclass presentation and the written project will be posted on CANVAS. 


The weighting of the components of your course grade is as follows: 

In class assignments or quizzes 10% (75)
Midterm 10% (75 pts)
Project Milestones 10% (50 pts)
Homework 30% (150 pts)
Final project 30% (150 pts)

Assignments are to be turned in on time, with a penalty for late homework (2% for 1 day late, 5% for each day late after the first day).

Max. Score 500 Pts.

  • 440-500 A
  • 420-440 A-
  • 405-420 B+
  • 390-404.49 B
  • 365-390 B-
  • 350-364.49 C+
  • 340-349.49 C
  • 330-340 C-
  • 285-339.49 D
  • <284.49 F 

Academic integrity 

Academic honesty is required and expected in this class. This course adopts the EMS Academic Integrity Policy1. Students in this class are expected to write up their homework assignments individually, to work on the exams own, and to write their papers in their own words using proper citations. Class members may work on the homework assignment in groups, but then each student must write up the answers separately. Students are not to copy quiz or exam answers from another person's paper and present them as their own; students may not plagiarize text from papers written by others. Students who present other people's work as their own will receive at least a 0 on the assignment and may well receive an F in the course. If in doubt about how the academic integrity policy applies to a specific situation, students are encouraged to consult with the instructor. To learn more, see Penn State’s “Plagiarism Tutorial for Students.”2 

Accommodations for students with disabilities 

Penn State welcomes students with disabilities into the University's educational programs. Every Penn State campus has an office for students with disabilities. The Office for Disability Services (ODS) website provides contact information for every Penn State campus: ( For further information, please visit the Office for Disability Services website (

In order to receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation based on the documentation guidelines ( If the documentation supports your request for reasonable accommodations, your campus’s disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early in your courses as possible. You must follow this process for every semester that you request accommodations. 


This course abides by the Penn State Attendance Policy E-113 and Conflict Exam Policy 44-354. Please also see Illness Verification Policy5 and Religious 

  • See 
  • See 
  • See
  • See
  • See

Observance Policy6. Students who miss class for legitimate reasons will be given a reasonable opportunity to make up missed work, including exams and quizzes. Students are not required to secure the signature of medical personnel in the case of illness or injury and should use their best judgment on whether they are well enough to attend class or not; the University Health Center will not provide medical verification for minor illnesses or injuries. Other legitimate reasons for missing class include religious observance, military service, family emergencies, regularly scheduled university-approved curricular or extracurricular activities, and post-graduate, career-related interviews when there is no opportunity for students to re-schedule these opportunities (such as employment and graduate school final interviews). Students who encounter serious family, health, or personal situations that result in extended absences should contact the Office of Student and Family Services for help: Whenever possible, students participating in University-approved activities should submit to the instructor a Class Absence Form available from the Registrar's Office: ( at least one week prior to the activity. 

Cancellations and delays 

Campus emergencies, including weather delays, are announced on Penn State Live ( and communicated to cellphones, email, the Penn State Facebook page, and Twitter via PSUTXT (to sign up, please see

Course Copyright 

All course materials students receive or to which students have online access are protected by copyright laws. Students may use course materials and make copies for their own use as needed, but unauthorized distribution and/or uploading of materials without the instructor’s express permission is strictly prohibited. University Policy AD 40, the University Policy Recording of Classroom Activities and Note Taking Services addresses this issue. Students who engage in the unauthorized distribution of copyrighted materials may be held in violation of the University’s Code of Conduct, and/or liable under Federal and State laws. 

  • See