Atomic-data setup
Native XSTAR execution requires atdb.fits and coheat.dat. Normal scientific execution never downloads these files implicitly.
Recommended explicit setup
For one native model:
xstar-cpp \
--input xstar.par \
--data-dir /path/to/xstar/data \
--output run1
For XSTAR2XSPEC:
xstar-xspec \
--input xstinitable.par \
--data-dir /path/to/xstar/data \
--output-dir run_table \
--processes 2
--data-dir DIR means that native execution should use:
DIR/atdb.fits
DIR/coheat.dat
For xstar-cpp the two files can also be selected independently:
xstar-cpp \
--input xstar.par \
--atomic-db /path/to/atdb.fits \
--coheat /path/to/coheat.dat \
--output run1
Native discovery when explicit paths are omitted
The runtime tries candidates in order and selects the first existing regular file.
atdb.fits
parameter-envelope
atomic_database,atomic_db, oratdb;atdb.fitsbeside the parameter envelope;$XSTAR_ATOMIC_DB;$XSTAR_ATDB_FITS;$XSTAR_DATA/atdb.fits;$HEADAS/refdata/atdb.fits;$XSTAR_HOME/data/atdb.fits;executable-relative
../data/atdb.fits;executable-relative
../../data/atdb.fits;src/xstar_tools/xstar/data/atdb.fits;./atdb.fits.
The first item includes explicit paths generated by public xstar-cpp --atomic-db and --data-dir handling.
coheat.dat
parameter-envelope
coheat_fileorcoheat;coheat.datbeside the parameter envelope;$XSTAR_COHEAT;$XSTAR_DATA/coheat.dat;$HEADAS/refdata/coheat.dat;$XSTAR_HOME/data/coheat.dat;executable-relative
../data/coheat.dat;executable-relative
../../data/coheat.dat;src/xstar_tools/xstar/data/coheat.dat;./coheat.dat.
The first item includes explicit paths generated by public xstar-cpp --coheat and --data-dir handling.
HEASoft HEADAS/refdata
The accepted native runtime supports a HEASoft installation as a fallback. For example:
heainit
unset XSTAR_DATA
unset XSTAR_ATOMIC_DB
unset XSTAR_ATDB_FITS
unset XSTAR_COHEAT
unset XSTAR_HOME
xstar-cpp --input xstar.par --output run_headas
If the files exist, the runtime can select:
$HEADAS/refdata/atdb.fits
$HEADAS/refdata/coheat.dat
The selected paths are reported through native diagnostics/provenance and are canonicalized when possible.
XSTAR2XSPEC ownership
xstar-xspec-initable does not independently search XSTAR_DATA, HEADAS, or XSTAR_HOME. If xstar-xspec --data-dir DIR is supplied, the planner emits that explicit data directory into every xstar-cpp job. If --data-dir is omitted, every child xstar-cpp owns its normal runtime data discovery.
For true MPI execution across multiple nodes, prefer an explicit shared path:
mpirun -np 4 xstar-xspec-mpi \
--input xstinitable.par \
--data-dir /shared/xstar/data \
--output-dir /shared/run_mpi
This avoids depending on how a particular MPI launcher exports shell environment variables to remote nodes.
Python data helper
Python-side validation remains available:
from xstar_tools.data import XStarData
data = XStarData.from_directory("/path/to/xstar/data")
print(data.validate().as_dict())
print(data.identity())
Installed wheels do not bundle the large atomic database. Configured paths and explicit downloads remain outside site-packages.