Double Gyre

This is the example of a double-gyre wind-driven circulation in a rectangular basin of size 3672 km x 2754 km. To run this code properly you need to:
  1. Modify subroutine winds.F to set the winds analytically instead of reading it from a file. The steps are the following:
    1. Change the name of the subroutine Set_Wind to Set_Wind_Bogus (or just comment it out).
    2. Change the name of the subroutine Set_Wind_Dgyre to Set_Wind
    3. In file setups.F: comment the call to Read_Winds, and uncomment the call to Set_Wind.
  2. Copy the Sflags.h and dimns.F90 files to the src directory.
  3. Change the Makefile to compile shallow with the initialization file trest.F. This way the simulation starts from a state of rest.
  4. Build the executable.
  5. run the code:
     shallow  < dgyre.in 
This code was used to test the filtering strategy devised by Julia Levin et al. I have commented out the FILTER flag in Sflags.h. If filtering is desired, the flag can be turned on again. Currently it is set to filter every 6 steps of the simulation.