This drop-in mini-seminar series has ended for 2017 and will run again when requested, possibly in spring of 2019.

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 April 28, 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

  • Don's Presentation from Class 11
  • Sample programs from class 11

  • 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.