This directory contains files to help you get started on writing a shallow water code. As it stands, it contains utilities for defining a griod, grid.f90, do file input/output, fileio.f90, initialize the SWE variables, sweinit.f90, do a single step using an explicit time stepping scheme, swestep.f90, and the main program, swe.f90. The tendencies of the equations are in module swerhs.f90 which now sets them to 0. Your modification should primarily involve filling in the code for subroutine rhssweuvp. A short description of the different files is included below. There is a Makefile to help you manage the compilation of the source code into an executable (called swe). To create the executable: make swe To start fresh: make clean To run the code: swe < swe.in cgridops.f90: contains utility routine for doing simple algebra on the corners of a C-Grid outline, like computing a difference or average. It is meant to free the programmer from the details of the transfer between, u,v, p and vorticity -points. ctests.f90: a testing program for module cgridops.f90. fileio.f90: does simple file oriented input and output. grid.f90: computes the edges of the computational grid kinds.f90: contains the kind of reals used, single or double precision default is double swedims.f90: Contains global variables that tells the size of the grid, should be changed before compilation swe.f90: Main file for shallow water equation solver swe.in: swe reads the file swe.in to input run-time variables. sweinit.f90: Initialize the shallow water equation variables sweparams.f90: Stores parameters for the shallow water equations and make them available as global variables. swerhs.f90: Computes the right hand sides (tendencies) of the shallow water equations for time stepping swestep.f90: Contains various time stepping schemes RK4,RK3,AB3 and Leap-Frog trapezoidal plt.m: a matlab routine to help visualize the data.