METEO 273-002

Introduction to Programming Techniques for Meteorology

METEO 273: Introduction to Programming Techniques for Meteorology (Spring 2021) 

METEO 273-002

Course instructor: Dr. Ying Pan (
Class times: Monday and Friday, 03:35 PM – 05:30 PM
Class location: Zoom
Graduate Teaching Assistant: Garett Warner (
Undergraduate Teaching Assistants: Alvin Cheung (, Jacob Hair (

Office hours : TBD 

Course designation in curriculum: Elective; accepted prerequisite for METEO 473 

Brief course description from LionPATH (then choose "Class Search")

Algorithm design and implementation for meteorological analysis and forecasting, including access to datasets in meteorological common data formats. The objectives of this course are to introduce the student to fundamental programming concepts, such as variables, flow control, and syntax, to apply those concepts to solve meteorological problems couched in the analysis of datasets in meteorologically-relevant common data formats, and to familiarize students with appropriate programming languages and their application to meteorological analysis or forecasting problems on regional and/or global scales. 

Prerequisites: METEO 101, or METEO 201

Students who do not meet these prerequisites may be disenrolled according to Administrative Policy C-5 if they do not have the proper prerequisite override. Students who add the course after being disenrolled according to this policy are in violation of Item 15 on the Student Code of Conduct:

Required textbooks: None
Internet materials and links: 

Course Goals and Objectives

  1. Understand fundamental programming concepts, such as variables, flow control, syntax, etc..
  2. Apply these concepts to solve meteorological problems.
  3. Get familiar with Linux and MATLAB.
  4. Practice good programming habits. 

After this course, the students should be able to:

  1. Break a problem down into parts and translate each part into a piece of code to solve the problem.
  2. Read and modify code written by other people to suit their own purposes.
  3. Debug and fix code.
  4. Learn a new programming language easily (e.g., METEO 473). 

Course content and expectations

The course is roughly divided into the following parts.  A separated course schedule provides more details for lecture arrangement.

  1. Introduction to programming
  • Learn general concepts of programming that apply to most languages.
  • Get familiar with the workflow and syntax of MATLAB.
  • Learn good programming practices.
  1. Diving deeper
  • Explore more advanced programing topics.
  • Visualize data with different types of plots.
  • Get experience in formulating a problem, splitting up the problem into smaller parts, and designing algorithms to solve the smaller problems, as well as how to handle bigger projects.
  • Practice code documentation.
  1. MATLAB programming
  • Learn how to take advantages of MATLAB’s features.
  • Optimizing code structures. 

This is a very hands-on class and you are highly encouraged to take advantage of lecture and office hour meetings.  This is an entry-level programming class, so you are not expected to handle advanced technical issues (e.g., installing Matlab, modifying operational systems, debugging complicated code).  Do not hesitate to contact me if you encounter any difficulty, even outside of regular office hours.  It is my responsibility to help you, but it is your responsibility to ask for help.  Any question is a good question.

Course Policies and Statements 

Assessment Policy

  • A number of simple programming problems as practice of newly-learned concepts. Objective is to get familiar with programming concepts and syntax.
  • Exercises will receive a grade based on whether the code runs and performs the required tasks. Code will need to be clear and readable with appropriate file names.  Documentation is recommended although not required.
  • Exercises are equally weighted. You can submit to Canvas multiple times but only the last submission will be graded.  Late submission will be accepted with a penalty of 1% per hour.


  • More extensive programming challenges that will allow students to practice problem solving and algorithm development through the application of the programming tools and concepts already learned.
  • Objective is to design a program from scratch and to handle larger projects.
  • Assignments will receive a grade based on whether the code runs and performs the required tasks, the software design, and the documentation.
  • Assignments are equally weighted. You can submit to Canvas multiple times but only the last submission will be graded.  Late submission will be accepted with a penalty of 1% per hour. 

Examination Policy

  • A number of conceptual questions. They are open book but they must be taken alone.  Students are not allowed to discuss the quizzes with anyone until after the due time.
  • Objective is to help review lecture materials.
  • You will be given 45 minutes to take each quiz on Canvas.
  • Quizzes are weighted by the number of questions. Late submission will NOT be accepted.


  • Questions similar to those in exercises.
  • Objective is to make sure that you understand the fundamentals before moving on.
  • Students are not allowed to discuss the mid-term with anyone other than the course instructor and Tas until submissions are no longer accepted.
  • You can submit to Canvas multiple times but only the last submission will be graded. Late submission will be accepted with a penalty of 1% per hour.

Final project

  • Similar to an assignment, but more comprehensive
  • Objective is to synthesize the skills and knowledge the students have gained in this course
  • Students are not allowed to discuss the final project with anyone other than the course instructor and Tas until submissions are no longer accepted.
  • You can submit to Canvas multiple times but only the last submission will be graded. Late submission will be accepted with a penalty of 1% per hour. 

There will be no final exam. 

Grading Policy

The following weights are used to determine the final course grade:

  • Exercises: 20 %
  • Mid-term: 10 %
  • Quizzes: 5%
  • Assignments: 45 %
  • Final project: 20 % 

The final grade will be based on a standard grading scale à  A: 93-100%, A-: 90-92%, B+: 87-89%, B: 83-86%, B-: 80-82%, C+: 77-79%, C: 70-76%, D: 60-69%, F: 0-59%. There will be no grade curving. 

Academic Integrity 

Students in this class are expected to write up their problem sets individually, to work the exams on their own, and to write their papers in their own words using proper citations.  Class members may work on the exercises and assignments in groups, but then each student must write up the answers separately.  If multiple students submit answers to exercises or assignments that are too similar to each other, then each of them will receive the corresponding credits divided by the number of similar answers.  Quizzes, mid-term, and final project are entirely individual efforst.  Students may communicate with only the instructor during quizzes, and may communicsate with only the instructor and TAs with regard to the mid-term and final project.  Students are not to copy problem or exam answers from another person's paper and present them as their own; students may not plagiarize text from papers or websites written by others.  If multiple students submit mid-term or final project answers that are too similar to each other, then each of them will not receive corresponding credits.  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 or XF in the course.  Please see: Earth and Mineral Sciences Academic Integrity Procedures:, which this course adopts. To learn more, see Penn State's "Plagiarism Tutorial for Students."

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. 

For example, uploading completed labs, homework, or other assignments to any study site constitutes a violation of this policy. 

Lectures will be recorded in case someone is accidentally disconnected.  Recordings may only be made available to students presently enrolled in the class.  Recordings will be destroyed at the end of the semester. 

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 Student Disability Resources (SDR) website provides contact information for every Penn State campus: ( For further information, please visit the Student Disability Resources 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: 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. 


Regular attendance is critical for building on the skills and knowledge developed throughout the class. Students who participate have a more complete understanding of the material presented and are more likely to succeed in the class. This is true whether your attendance is in person or remote.  The University recognizes that, on exceptional occasions, students may miss a class meeting to participate in a regularly scheduled university-approved curricular or extracurricular activity (such as field trips, debate trips, choir trips, and athletic contests), or due to unavoidable or other legitimate circumstances such as illness, injury, military service, family emergency, religious observance, participation in local, state, and federal government elections, or post-graduate, career-related interviews when there is no opportunity for students to re-schedule these opportunities (such as elections or employment and graduate school final interviews).  In all cases, you should inform me in advance, when possible.  Missing class, even for a legitimate purpose, may mean there is work that cannot be made up, hurting your grade in this class.  Students who encounter serious family, health, or personal situations that result in extended absences should contact the Office of the Assistant Vice President for Student Affairs (AVPSA) and Student Care and Advocacy for help:  You should be prepared to provide documentation for participation in University-approved activities, as well as for career-related interviews.  You should submit to the instructor a Class Absence Form:, at least one week prior to the activity. 

Reporting Educational Equity Concerns

Penn State takes great pride to foster a diverse and inclusive environment for students, faculty, and staff.  Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated ( and can be reported through Educational Equity via the Report Bias webpage

Counseling and Psychological Services

Many students at Penn State face personal challenges or have psychological needs that may interfere with their academic progress, social development, or emotional wellbeing.  The university offers a variety of confidential services to help you through difficult times, including individual and group counseling, crisis intervention, consultations, online chats, and mental health screenings.  These services are provided by staff who welcome all students and embrace a philosophy respectful of clients’ cultural and religious backgrounds, and sensitive to differences in race, ability, gender identity and sexual orientation.  Services include the following: 

Counseling and Psychological Services at University Park  (CAPS): 814-863-0395
Counseling and Psychological Services at Commonwealth Campuses
Penn State Crisis Line (24 hours/7 days/week): 877-229-6400
Crisis Text Line (24 hours/7 days/week): Text LIONS to 741741

Recommended Policies
Wellness Days

Tuesday, 2/9, Thursday, 3/11, and Wednesday, 4/7 have been designated as Wellness Days. No lecture or office hour meeting will happen for those three days, and no assignments will be due on those days. Students are encouraged to use these days to focus on their physical and mental health. Please see  for university sponsored events focusing on wellness that may be of interest to you. See Canvas and the course syllabus for any work that may be due before the next class meeting. 

Webcam Requirements

This course does not require you to have a webcam for class assessments.  However, you are encouraged to turn on your computer’s webcam or other technologies to help yourself and your classmates communicate and participate in class activities.   

Syllabus and Paper Acknowledgement Forms
It is the recommendation of the college that all students sign and return the Syllabus Acknowledgement Form ( acknowledgement form.doc) during the first week of the semester. In addition, The College also recommends the Paper Submission Form ( submission form.docx) as a way to have students take responsibility for papers/labs/homework done as part of group work.

Penn State E-mail Accounts

All official communications from Penn State are sent to students' Penn State e-mail accounts. Be sure to check your Penn State account regularly, or forward your Penn State e-mail (see to your preferred e-mail account, so you don't miss any important information. 

Deferred Grades

If you are prevented from completing this course within the prescribed amount of time for reasons that are beyond your control, it is possible to have the grade deferred with the concurrence of the instructor, following Penn State Deferred Grade Policy 48-40 ( To seek a deferred grade, you must submit a written request (by e-mail or U.S. post) to the instructor describing the reason(s) for the request. Non-emergency permission for filing a deferred grade must be requested before the beginning of the final examination period. It is up to the instructor to determine whether or not you will be permitted to receive a deferred grade. If permission is granted, you will work with the instructor to establish a communication plan and a clear schedule for completion.  If, for any reason, the course work for the deferred grade is not complete by the assigned time, a grade of "F" will be automatically entered on your transcript. 

Military Personnel

Veterans and currently serving military personnel and/or spouses with unique circumstances (e.g., upcoming deployments, drill/duty requirements, disabilities, VA appointments, etc.) are welcome and encouraged to communicate these, in advance if possible, to the instructor in the case that special arrangements need to be made. 

Technical Requirements

For this course, we recommend the minimum technical requirements outlined on the Dutton Institute Technical Requirements page (, including the requirements listed for same-time, synchronous communications. If you need technical assistance at any point during the course, please contact the ITS Help Desk (


The term "Netiquette" refers to the etiquette guidelines for electronic communications, such as e-mail and bulletin board postings. Netiquette covers not only rules to maintain civility in discussions, but also special guidelines unique to the electronic nature of forum messages. Please review some general Netiquette guidelines that should be followed when communicating in this course. 

Disruptive Behavior

Behavior that disrupts normal classroom activities will not be tolerated, in accordance with Items 9 and 14 in the Student Code of Conduct

Mandated Reporting Statement

Penn State’s policies require me, as a faculty member, to share information about incidents of sex-based discrimination and harassment (discrimination, harassment, sexual harassment, sexual misconduct, dating violence, domestic violence, stalking, and retaliation) with Penn State’s Title IX coordinator or deputy coordinators, regardless of whether the incidents are stated to me in person or shared by students as part of their coursework.  For more information regarding the University's policies and procedures for responding to reports of sexual or gender-based harassment or misconduct, please visit Penn State's Office of Sexual Misconduct Prevention & Response website. 

Additionally, I am required to make a report on any reasonable suspicion of child abuse in accordance with the Pennsylvania Child Protective Services Law

Diversity, Inclusion, and Respect

Penn State is “committed to creating an educational environment which is free from intolerance directed toward individuals or groups and strives to create and maintain an environment that fosters respect for others” as stated in Policy AD29 Statement on Intolerance. All members of this class are expected to contribute to a respectful, welcoming and inclusive environment and to interact with civility.

For additional information, see:

Accessible Syllabus

Notes: Any syllabus posted online (e.g. a Word/PDF file or an online syllabus) should make destinations clickable links such as is done throughout this page. Also, in order to comply with Penn State Policy AD69 (Accessibility of Penn State Web Pages,, PDF documents cannot be the sole source of presenting online information. Such documents include syllabi, homework assignments, and scanned notes.  

Disclaimer Statement

Please note that the specifics of this Course Syllabus can be changed at any time, and you will be responsible for abiding by any such changes. Changes to the syllabus shall also be given to the student in written (paper or electronic) form.