Incompressible fluid model (WK04)
This program simulates cold pools and gravity currents in a two-dimensional, non-divergent fluid (Weisman and Klemp 2004).
See the detail including the formulation in the manual documentation.
To evaluate the spacial derivation, a finite difference method is used.
Time integration is performed for vorticity and buoyancy, and horizontal wind velocities are diagnosed throughout a stream function which is given by a non-divergent relation.
Files
solver.f90 -> main program.
Running the program
Depend
- STPK library (math library for time integration)
- NetCDF library (data format library for output data)
- gtool5 library (wrapper library for NetCDF library)
In order to draw the result, you can use any drawing tools supporing the NetCDF format.
Edit Mkinclude
- Edit Mkinclude file in the parent directory, depending your system environment.
Make the executable program
$ make # WK04 (main program) is made.
Edit namelist file
namelist.nml : a configuration file to integrate. it is used in WK04 program.
nx = 960 ! X-coordinate grid number ny = 80 ! Y-coordinate grid number nt = 10000 ! calculating time step xmin = -12.0 ! X-coordinate original point ymin = 0.0 ! Y-coordinate original point dx = 0.025 ! X-coordinate grid interval [m] dy = 0.025 ! Y-coordinate grid interval [m] dt = 0.001 ! time interval [s] dmpstp = 100 ! dumping time step ! dumping time interval is equal to "dmpstp * dt" finame = "" ! initial data file name. ! if there is no, automatically, ! being made by the program. foname = "result.nc" ! result data inner_file = 'colum.txt' ! inner boundary file time_flag = '1' ! time scheme : ! [1] = 4th order's Runge-Kutta ! [2] = Leap Frog ! [3] = 1th Explicit Euler undef = -999.0 ! undefined value init_type = 'psi' ! the tpe of initial value. ! 'psi' = strem line, 'omg' = vorticity. ubar = 0.5 ! mean flow [m/s] eps = 1.0e-3 ! convergent condition for poisson solver nu = 0.002 ! diffusion coefficient
Running
$ export OMP_NUM_THREADS=[number] # (if any,) you can use OpenMP. $ ./WK04 < namelist.nml # starting time integration.
The result of time integration is output in a file which is set in "foname" variable in namelist.nml
- demo animation
- Color and contour denote buoyancy and horizontal vorticity, respectively.
- The configuration shown in the above is used in this calculation..