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.

A spring 2017 class will be run! If you are interested in this class, email Kelley Branson.

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

2017 Seminar Schedule

All classes in the Atmospheric Science West classroom on the Foothills Campus.
Date Presenter Topic
January 25 Mark Branson Introduction: Steps for writing and compiling a fortran program, Basic syntax and structure
February 1 Mark Branson Data types and basic calculation
February 8 Mark Branson Control constructs (IF statements and blocks, DO loops, SELECT CASE statement)
February 15 Mark Branson Array concepts
February 22 Mark Branson Subroutines, Functions and Modules
March 1 Mark Branson Subroutines, Functions and Modules, continued
March 8 Mark Branson Modules continued, Kind & precision
March 15 SPRING BREAK No class
March 22 Don Dazlich File i/o including netcdf
Mar 29 Mark Branson Derived types
April 5 Don Dazlich Optimization and debugging, numerical errors
April 12 E-DAYS No class
April 19 Mark Branson Makefiles
April 26 Don Dazlich Coding for multi-processor runs: parallelization, MPI, etc

2017 Class Notes

  • Mark's Presentation from Class 10
  • Sample programs from class 10

  • 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 -
        Offered Spring of 2017 at Atmospheric Science, 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 675: Advanced Parallel Computing-
        Advanced topics in parallel computing, computaional models, parallel languages and algorithms, distributed simulation, Internet and mobile computing, parallel search.