=== 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.