ConFlow computes a sequence of velocity maps for supergranule flows on the surface of the Sun. Such photospheric velocity fields are essential for developing and testing realistic flux transport models and the analysis techniques for observational data.
Conflow generates these maps analytically by specifying the convection spectrum of poloidal and toroidal modes (e.g., Hathaway (1988), Hathaway et al. (2010)), and advecting them with the Sun’s axisymmetric differential rotation and meridional flows.
Conflow creates the velocity maps on a spherical surface grid of phi (longitude) and theta (colatitude). It can output the maps on a staggered grid in HDF5 format or on an unstaggered grid in binary format. The staggered grid is designed to be directly used in OFT's surface flux transport code HipFT. When using the maps with HipFT, one should set HipFT's meridional and differential flow coefficients to those used in the ConFlow computation.
ConFlow has been tested to work using GCC's gfortran
(>8) compiler.
It is recommended to use the latest compiler version available.
HipFT requires the HDF5 library.
The library must be compiled by the same compiler ConFlow is using.
When using the default system compiler (often GCC), the system's HDF5 dev packages should work.
- Find the build script from the
build_examples
folder that is closest to your setup and copy it into the top-level directory. - Modify the script to set the
HDF5
library paths/flags and compiler flags compatible with your system environment. - Modify the script to set the compiler options to reflect your setup.
- If using GCC's auto parallelization, set your
OMP_NUM_THREADS
environment variable to the number of threads you want to run with. - Run the build script (for example,
./my_build.sh
). - It is recommended to add the
bin
folder to your system path.
ConFlow
uses a namelist in an input text file.
The name for the input text file must be set to conflow.dat
A full working input file with all the default parameter options is provided in the file:
doc/conflow.dat.documentation
A detailed description of each parameter is also given in that file, and (in addition to this README) is the current main documentation of the code.
We have also provided example input file for a use case in the examples/
folder.
To run ConFlow
, set the desired run parameters into a file called conflow.dat
, then copy or link the conflow
executable into the same directory as the input file and run the command:
./conflow
The code can be multi-threaded. This requires proper setting of the OMP_NUM_THREADS
environment variable before compilation when using GCC and its auto parallelization ftree-parallelize-loops
flag.
The output of ConFlow (using a staggered grid) are HDF5 vt
and vp
velocity component map files in longitude-colatitude coordinates.
A CSV file called flow_output_list.csv
is generated that lists the output files with the time of output.