The IDL routine generate_from_files
reads in information from
fields_status.txt (unless another input file has been selected
using the infile keyword), prompts the user for the field to work on and the
XMM source list if there are more than one (unless they have been specified
using the field_name and xmm_list keywords respectively).
Only fields with an XMM source list (i.e. where the 2nd field in
fields_status.txt starts with `Y
') can be handled by
generate_from_files
.
Other things that can be specified in the call to
generate_from_files
are the maximum offsets for XMM / CIRSI /WFC
matches and XMM / APM matches (offmax and offmax_apm keywords respectively).
The program then runs through the relevant line of fields_status.txt,
determine what data is there, then checks that the directory structure
for placing its output into is present by calling the CSH script
mk_outdirs
. Again, data is stored in the data
directory with links to it from the xidops and public directories. If all
or some of the output subdirectories and links are missing they are created.
The program then check if IDL databases have been made from each of the available source lists. Note that the names are automatically set: the XMM database is called after the source list directory ( i.e. if the directory in question is eml/ the database will be called `eml'), the CIRSI database is called 'cirsi', the APMCAT one `ukst' or `poss1', the unmerged WFC databases are called `wfc*' where `*' is `i', `z', `r', `g' or `u' and the merged one is called according to the names of the bands specified by the user, in the specifed order. For instance, if the bands available are [i,z,g,g,U] (there may be more than one run for a given band) and the user specifies bands [0,1,2,4] the database will be called `izgu'. If any databases are missing they are created.
The program then runs through every single stage of XID work, each time aking the user if he wants them done. If data is missing to complete one stage, it is skipped. When prompted the user should enter `y' or `n'.