Note that in the following sections a consistent notation and color code is used for routine synopsis, with a table entry like the following :
Library | library name | pointer to Fortran or C code |
Calling sequence | CALL routine(arg1,arg2,arg3) | |
Arguments | Fortran type | ARG1 for intent=input |
Fortran type | ARG2 for intent=output (returned values) | |
Fortran type | ARG3 for intent=inout (modified values) |
library name | purpose |
---|---|
fotlib | routines specifically used to access SAX telemetry on Final Observation Tapes |
general | general purpose routines (e.g time-and-date, byteswap etc.) |
graphserv | low level library for the graphics servers, and the relevant clients |
hpgslib | routines specific of the SAX HPGSPC instrument |
lecslib | routines specific of the SAX LECS instrument (unofficially supported) |
mecslib | routines specific of the SAX MECS instrument |
pdslib | routines specific of the SAX PDS instrument |
vos | system dependent routines |
xasgraph | high level graphics library |
xaslib | routines independent of SAX data formats, but specific to handle mission-independent XAS data files and features |
Routines which are similar, or are called exclusively one by another, are listed side by side.
General | [files] [type conversion] [string manipulation] [time] [user i/f] [environment] [miscellanea] [initialization] |
---|---|
System | [memory] [pipes] [process control] [misc high level VOS] [misc low level VOS] [environment] |
XAS file format | [files] [binary tables] [keywords] |
XAS miscellanea | [time window] [attitude] |
Graphics | [server communication] [high level] [low level] |
SAX specific stuff | [FOT tape] [FOT telemetry] [support] [accumulation] |
SAX instruments | |
MECS | [calibration parameters] [matrix support] [accumulation] |
LECS | [everything together] NB : unofficially supported |
PDS | [everything together] NB : code by ITESRE, no full support by the author |
HPGSPC | [everything together] NB : most code by IFCAI, no full support by the author ; rest of code unofficially supported |
file opening | assign logical unit | free_lu |
convert sys to VOS filename | z_sys_name | |
open generic file | z_open | |
open ASCII table | open_xas_ascii | |
error handling | VOS errors | voserror |
Fortran errors | z_syserror | |
file status | (INQUIRE) | z_inquire zc_stat |
file handling | delete | z_delete_file zc_unlink | rename | z_rename_file zc_rename |
preliminaries | operating system identification | z_op_sys blksyscommon |
identify required conversion | conversion_needed | |
actual conversion | IEEE to VMS and v.v. | z_ieee_to_vms z_vms_to_ieee z_dieee_to_vms z_dvms_to_ieee |
byte swapping (little-big endian and v.v.) | swapi2 swapi4 swapr8 | |
miscellanea | unsigned DOUBLE PRECISION | udouble |
hex formatting | hexi4 |
string length without trailing blanks | true_length |
remove multiple blanks | collapse |
smart replacement for INDEX | bindex |
Case conversion | lowcase upcase |
unsupported ? | trimroot |
time conversion | time array to Unix | time_1970 |
Unix to time array | time_array | |
Unix to string | time_ascii | |
System times | current time | zc_time |
time of login | z_logintime | |
Unsupported | HPGSPC routines |
time_70s2mjd
time_a2mjd
time_cldj |
Basic routines | issue prompt | x_prompt |
read reply | x_read | |
parse string arrays | preparse | |
Low level routines | retrieve and parse run string | z_get_command zx_get_parameter blkxrcommon |
Unsupported | PDS routines | x_echo x_echo_error |
Get variable value | get_global_default z_get_global zc_getenv |
Set variable value | z_set_global zc_putenv |
Service routines (Unix) | z_aux_envfile z_initenv |
CURFIT fitting package | curft fchi fder mtinv |
interpolation | extrp extrpd interpolate |
matrix/vector operations | dotproduct matproduct |
Random number generator | ran1 |
Bit array handling | bit_init_handle |
Binary table descriptors | blkbincommon |
Current context | blkctxcommon |
XAS file buffers | blkhcommon |
for communication channels | blkpipecommon |
For data conversion | blksyscommon |
For user interface | blkxrcommon |
routines are used to allow dynamic memory allocation in f77. | z_alloc z_dealloc zc_alloc zc_free |
create/open/delete channel | z_channel zc_mknod z_open_stream zc_fopen |
close channel | z_close_stream zc_fclose |
input/output routines | z_read_stream zc_fread z_write_stream zc_fwrite |
unsupported | z_seek_stream zc_fseek |
terminate (replaces Fortran STOP) | z_exit |
Handle interrupt (control-C) | z_break zc_break |
Chain another process (overlay) | z_run zc_execvp |
Schedule process in background (no wait) | z_spawn zc_fork |
Schedule process with wait | z_schedule
zc_system |
Error handling | voserror | |
Query functions | user name (GECOS and account) | z_fullname z_username |
hostname | z_hostname | |
time of login | z_logintime | |
terminal name and characteristics | z_terminal z_ttyname | |
Debugging utilities | checkerr cpuclk | |
Unsupported | (used by non XAS programs) | z_print_file z_tape_open |
support to query calls | zc_cuserid zc_getdomainname zc_gethostname zc_pwnam zc_terminal zc_ttyname |
miscellanea | zc_dtime zc_memcpy |
Path related routines | locate path for file | buildpath |
strip path from filename | depath
depath_1 | |
generic XAS file | create/open | open_new_xas_file
open_old_xas_file |
close | close_xas_file | |
image format files | generic images | create_image
open_image
read_image |
Response matrices | open_matrix xasmatout |
file opening | creation of new file | create_photon create_spectrum create_time |
existing file | open_photon open_spectrum open_time | |
read/write | a generic record | read_bin write_bin |
preliminaries | handling table descriptors | copy_table_desc get_table_desc set_table_desc |
space for dummy columns | pad_table | |
service routines | for FITS-like TFORM keywords | decodetform leftnumber maketform |
user routines | add and format HISTORY keyword | addhistory |
add/modify keyword | h_add_keyword h_modify_keyword | |
read keyword value | h_read_keyword | |
copy entire header | h_copy_all_header | |
if file size changed | h_update_datasize | |
service routines | point to different file | h_current_file |
load header from disk | h_load_header h_load_minih | |
flush header to disk | h_flush_header h_flush_minih | |
Keyword seek support | h_find_keyword h_next_keyword |
prepare to open time window file | init_timewindow |
open time window file | openwindow |
read time window file | loadwindow |
Determine pointing | get detector pointing | detpointing |
get spacecraft pointing | satpointing | |
get/apply misalignments | getmisalign misalign | |
Eulker matrix to sky coordinates | radecroll | |
Coordinate conversion | Pixel to mm and v.v. | lintomm unlintomm mmtopix |
Sky to pixel and v.v. | skytoxy xytosky gnomonic |
Connection | establishment | connectserver |
verify channel existence | pipeexist | |
server registration | isregistered
register deregister | |
Xlib interface | for X window server | f2x |
plot annotations | (two styles) | annotate_new annotate_old |
Default arrangements | axis frame with annotations | df_axes |
pen colours | df_pen_colours | |
plotting window and viewport | df_viewport df_window | |
Setup from environment | clear screen on overtrace | check_overtrace |
plot style (solid, error bars etc.) | get_datastyle | |
Axis frames | labelling routines | lb_axis
lb_number
lb_tics |
various axis styles | nice_axes
nicer_lin_axes
nicer_log_axes | |
Data array plotting | various forms | plot_xxy_bar plot_xxy_histo plot_xxy_join plot_xy_join |
Establish communication | (or close) | y_openplot y_closeplot |
set up | viewport and window | y_clear_viewport y_viewport y_window y_page |
reference frame | y_coordinates y_scale | |
look and style | y_colour y_text y_width | |
Plotting primitives | vector | y_draw y_move y_lines |
text | y_text | |
image and 2-d | y_fill y_readlut y_write_image y_writelut | |
graphics input | y_get_cursor y_readlut |
service functions | load template | tapechar |
begin and end operations | add_init add_end | |
edit template command | edit_cmd | |
handle specific commands | file copy | add_file |
tape functions | add_rew_tape add_skip_tape |
basic type switching | 1 direct mode data (events) 2 indirect (spectra) 3 Housekeeping |
sax_acc_bt_1 sax_acc_bt_2 sax_acc_bt_3 |
specific type handling | 1 direct event handling | sax_acc_b1s1_i sax_acc_b1s1_y sax_acc_b1s2_i sax_acc_b1s2_y sax_acc_b1s3_y |
exposure computation | exposure_b1s1 exposure_b1s3 timebin_b1s1 | |
instrument dep. event correction | correct | |
2 indirect | sax_acc_b2s1_y | |
3 Housekeeping | sax_acc_b3s1 sax_acc_b3s2 sax_acc_b3s3 sax_acc_b3s4 sax_acc_b3s5 sax_acc_b3s6 | |
instrument directory | record decoding | rearrange_instrec |
which packets | are available ? | check_packet |
load packet info | mission-independent i/f | pktcap_load pktcap_lookup |
SAX specific i/f | sax_pktcap_load | |
HK parameter info | similar to above | sax_pcf_load sax_pcf_lookup |
Open files | instrument telemetry | sax_acc_open_tlm |
spacecraft telemetry | sax_acc_open_sc_tlm | |
directory information | sax_open_dir | |
dispatcher to | packet specific routines | sax_acc_loop |
operator dialogue | choose packet type | sax_which_data |
load packetcap information | sax_acc_preload | |
select fields and ranges | sax_acc_select sax_acc_hkrange sax_acc_other_range sax_acc_range | |
time profile binning | askbin asktime | |
initializations | spacecraft to XAS time | time_constants_setup get_start_end update_start_end |
obaervation chain | get_obs_chain | |
instrument dep. corrections | init_correct | |
XAS keywords in output | instr_keywords sax_df_keywords |
Mirror system | area_mr psf_mir psf_rad |
Windows and filter incl. materials | abs_co_be bewin_trasp alum kapton2 lexan poly poly_carbo |
Detector components | coda
cross_sec
escape
gas_cell
spread |
parameter choices | blsel ein eout |
service computations | mecs_arf
mecs_rmf
multiply_rmfarf
tetafi_xy |
Output to XAS or OGIP | fopen_rmf mecs_matkeywords write_arf write_rmf write_rmf_ebo write_rmf_mat |
corrections | init_correct_me init_correct_me_fast me_gain_time me_init_map mecscorrect |
keywords | mecs_keywords |
adapted from SSD | blrng e2fwhm |
MECS-style corrections | lecscorrect init_correct_le le_gain_time lecs_keywords |
supplied by IFCAI |
broad2
cofas
fuga
fuga_1
shell_fact
shell_prob
winbe fopen_rmf reader reader_1 write_arf write_rmf_ebo write_rmf_mat effmed filecorr_read fileinp_read parameter tmed tofits buf_read config_read julia toqdp |
MECS-style corrections | init_correct_hp hpcorrect hp_gain_time hp_keywords |