This drop-in mini-seminar series will run Fall Semester 2022. You may email Kelley Branson to sign up.

The Fortran mini-seminar series is a not-for-credit class for students, staff & faculty who are interested in learning Fortran at various levels, including beginner programming basics, through intermediate and advanced topics, into makefiles and concluding with running codes in parallel.

Updated December 20, 2022
Jump to: Current Class Notes | Resources | 2007 Class Notes | 2009 Class Notes | 2012 Class Notes | 2014 Class Notes | 2017 Class Notes

2022 Seminar Schedule

All classes in the Atmospheric Science West classroom, 121, on the Foothills Campus.
Date Presenter Topic
September 14 Mark Branson Introduction: Steps for writing and compiling a fortran program, Basic syntax and structure
October 5 Mark Branson Data types and basic calculation
October 12 Mark Branson Control constructs (IF statements and blocks, DO loops, SELECT CASE statement)
October 19 Mark Branson Array concepts
October 26 Mark Branson Subroutines, Functions and Modules
November 2 Mark Branson Subroutines, Functions and Modules, continued
November 9 Mark Branson Kind & precision, Derived types
November 16 Don Dazlich File i/o including netcdf
November 30 Don Dazlich Optimization and debugging, numerical error
December 7 Mark Branson Makefiles
December 14 Don Dazlich Coding for multi-processor runs: parallelization, MPI, etc

2022 Class Notes
Notes will be posted after each class.

Resources
  • Useful Compiling Options
    • gfortran -g -Wall -Wextra -Warray-temporaries -Wconversion -fimplicit-none -fbacktrace -ffree-line-length-0 -fcheck=all -ffpe-trap=zero,overflow,underflow -finit-real=nan
    • ifort -g -check all -fpe0 -warn -traceback -debug extended

  • Books
    • Programmer's Guide to Fortran 90, by Brainerd, Goldbert and Adams
    • Fortran 90/95 for Scientists and Engineers, by Stephen J Chapman
    • The Fortran 2003 Handbook: The Complete Syntax, Features and Procedures, by Adams, Brainerd, Hendrickson, Maine, Martin and Smith

  • Web Links

  • CSU Classes of Interest
    • ATS607: Computational Methods in Atmospheric Science -
      Spring 2023. The goal of this class is to provide the basics of computer programming, plotting, file input/output, and numerical-method techniques to enhance research projects. ATS methods will be applied to a wide range of physical and atmospheric systems.
      Contact Prof Jeff Pierce for information.

    • CS 475: Parallel Programming-
      Prerequisite: CS370
      Parallel programming techniques for shared-memory and message-passing
      systems; process synchronization, communication; example languages.

    • CS 560: Foundations of Fine-Grain Parallelism-
      Prerequisite: CS 475.
      Programming novel architectures; performance tuning; automatic parallelization; program transformation; polyhedral model; equational programming.

    • CS 575: Parallel Processing-
      This is a graduate level course on fundamental concepts, techniques and tools of parallel computing.