Install CitcomS
Q: What are the dependencies of CitcomS-2.2 or later?
CitcomS-2.2 or later depends on the MPI library. In addition, if you like to use the Pyre framework (which provides an ease-of-use environment), you will need Python 2.3 or newer. (Note that if your machine is 64-bit, you will need Python 2.4.)
Q: I want to use CitcomS in the old way (pure C code, no Python). How can I do that?
You can configure CitcomS to only use C code by running:
./configure --without-pyre
before compiling the code.
Q: What does it mean when “configure” reports this error message
OverflowError: signed integer is greater than maximum
Are you on a 64-bit machine? If so, you will need to upgrade your Python to v2.4 or newer. Python 2.3 or earlier is not 64-bit safe.
Q: The gcc/python/mpi on my system is too old, but I don’t have the privilege to update the software. How can I install gcc/python/mpi under my home directory?
- Get the tarball of gcc/python/mpi and untar it
- cd into the untarred directory
- Run the following to install the package under the directory $HOME/opt
./configure --prefix=$HOME/opt && make && make install
4. Add $HOME/opt/bin into your $PATH and (maybe) $HOME/opt/lib into your $LD_PATH_LIBRARY.
Documentation for Developers
Q: I want a specific temperature boundary condition. Where to modify?
Look at lib/ directory, the function full_temperature_boundary_conditions() in Full_boundary_conditions.c or regional_temperature_boundary_conditions in Regional_boundary_conditions.c is the function you need to modify.
Q: I want a specific velocity boundary condition. Where to modify?
Look at lib/ directory, the function full_velocity_boundary_conditions() in Full_boundary_conditions.c or regional_velocity_boundary_conditions() in Regional_boundary_conditions.c.
Q: I want a specific rheology law. Where to modify?
Look at lib/ directory, the function get_system_viscosity() in Viscosity_structures.c.
Q: I want a new equation of state or a new law for heat expansivity, heat capacity, or thermal conductivity. Where to modify?
Look at lib/ directory, the function () in Material_properties.c.