2.8.2.1. Use any Xspec model in SPEX¶
The most general way to incorporate Xspec models in SPEX is to call Xspec itself directly by a SPEX user model
executable. Here we provide a fortran+tcl example to use an Xspec built-in comptt model. The program comptt-xspec.f90
can be modified to calculate different models.
It requires the following files:
Xspec as provided in HEASARC web site.
Module moduser.f90 from our Github site.
Example program comptt-xspec.f90 as provided on our Github page.
2.8.2.1.1. Modify the commtt-xspec program (optional)¶
The key part of the model can be found in line 18-21 of comptt-xspec.f90
. There, the TCL script sets up the model
in Xspec. If you need another model than comptt, then change the model name and modify the number of parameters
accordingly!
2.8.2.1.2. Compile the executable¶
The program can be compiled in a few simple steps:
linux:~/lmodel> gfortran -g -c -o moduser.o moduser.f90
linux:~/lmodel> gfortran -g -c -o comptt-xspec.o comptt-xspec.f90
linux:~/lmodel> gfortran -g -o comptt-xspec comptt-xspec.o moduser.o
2.8.2.1.3. Use the Xspec model in SPEX¶
Here are the SPEX commands to calculate the Xspec-version comptt model. If you are using a different Xspec model, please adapt the number of parameters to the number of parameters in the Xspec model:
SPEX> com user
SPEX> par 1 exec av ./comptt-xspec
SPEX> par 1 npar v 6
# The number of parameter needed by the Xspec model
SPEX> par 1 p01 v 0
...
SPEX> calc