EBZ June 1998 Not yet approved by MDM EOF Health Monitoring Web Pages ------------------------------- Low Rate Data ------------- Campaign Summary (go_seq_run_sum2 cronjob): reads sequence id (mksqid) from telemetry stream and prints info about it into /mdisw/dbase/cal/info/last24hrs.cam_run_sum and .seq_run_sum. the .cam_run_sum and .cfl_sum files in /mdisw/dbase/cal/info are created from slotted files by a diapason cronjob. LOI data Plot: The loi data plots are generated from summary files that are written using the mdi_acq telemetry distribution. The summary files are re-generated the next day at LMSAL using the slotted files to fill in the gaps. The loi data summary files are in /mdisw/data/health. The LOI-C and LOI-V matrix of images (golf ball images) are also managed in the manner described above. To run manually, on diapason run IDL>plot_loi_mmad, 'startdate', 'enddate' Sci5k Images: All other sci5k images (and the loi-v and loi-c images) shown in links like "All SCI5K image data products for most recent run" are generated by the fits_sci5k cronjob and the fits files are made from the Stanford Level 0 fits making program. To run manually: make the fits files by running IDL>fits_sci5k, 'startdate', 'enddate' and to make the gif files for the web, run IDL>mon_health,256 If the low rate data is not updating, look aat the Ifits_sci5k file to see if the cronjob is running to update the fits files and check in /md834/fits/sci5k and see when the directories were written to (ls -ltr shows this info). If the directories were recently written to then there is no need to run fits_sci5k, go right to mon_health. HK and PZT Plots: The housekeeping plots and pzt correction plots on the EOF web pages are generated directly from the slotted housekeeping files. To run manually, run IDL>plot_pzt_corr,'date'. The mon_health cronjob makes all the gif files and the web then points to these files. mon_health does: plot the PZT correction by calling plot_pzt_corr plot of LOI image summary by calling monh_loi_img plot of LOI time plot by calling monh_loi_plot plot HK data by calling monh_hk_plot for many mnemonics make text outputs by calling iperr_sea generate the HTML page by calling log_health plot LOI data by calling plot_loi_mmad make text for edac summary by calling edac_summary plot limb figure by calling disp_sci5k make 5k and 160k pages by calling monh_images Some of these run every 20 mins, some run several times a day. To make the plots come to your screen, use the z option in mon_health. As user mdi, set the bit number in mon_health for the data that you want updated and then run mon_health to update it. High Rate Data -------------- Last 9 Images Plot (go_gif_last9 cronjob): The .tfr data is read by read_mdi and then mk_dpc_image makes a 2D form of the image to be displayed. mdi_display program: The mdi_display IDL program does not use the written .tfr files, but instead get packets from the shared memory and mdi_acq then passes them to idl and then builds and displays the images. 160k Data for SOHO Web Pages ---------------------------- go_gif_mag (a cronjob that runs several times a day) reads a fits file of a mag or igram from /soho-archive/private/data/planning/mdi, titles the data and puts it into /md84/gif/mag or md84/gif/igram and titles it and then puts it into /soho-archive/public/data/summary/gif/YYMMDD the data got into /soho-archive/private/data/planning/mdi because go_fits_sci160k (a cronjob that runs several times a day) puts the data there go_fits_sci160k calls wrt_sci160k to fits-ify the /md82/log/sci160k data and puts the fits files into /soho-archive/private/data/planning/mdi wrt_sci160k_img calls mk_mdi_gif and mk_mdi_fits, which call read_mdi to read the tfr data MDI Cron Jobs on MDISAS ----------------------- ---- Stuff running multiple times an hour dinnerbell - Script in /mdisw/bin. Checks for incoming TM_MGR files. go_mon_sci5k - makes sure that a mon_sci5k is running; starts one if not. go_arch_sum2 - generates summary of the last 24-48 hours of S/C commanding from /md92/mdi_egse_sw/archive and puts it into /mdisw/dbase/cal/info. go_gif_last9 - Makes the "last-4" & "last-9" images in the health mon pages. go_seq_run_sum2- Generates the campaign summaries for the last 24 & 48 hours. screen12_snap - Makes the screen-12 snapshot for the health mon pages. go_mon_health - Assembles the health monitoring pages. ---- Stuff running multiple times a day cron_contacts - generates a list of the upcoming contacts (appears broken as of 25-Mar-98 --CED) go_fits_sci160k - Generates fits files of continuum and magnetogram images from the latest .tfr file. go_gif_mag - Generates gif files (apparently from the fits files made by go_fits_sci160k) of MAGS AND CONTINUUM IMAGES. go_mon_health2 - Apparently updates the gif images on the health pages from the fits files made in go_fits_sci160k. go_fits_sci5k - THIS DOES NOT LIVE IN /mdisw/idl/ops! It apparently exists only in /ssw/packages/lparl/idl/ucon/morrison/. It only invokes /mdisw/idl/ops/save_fits_sci5k, which is apparently a reformatter for sci5k files, and then updates the web pages with a call to go_health_mon. If there is a problem, look in ~mdi: mdisas-zamkoff 26% ls I* IDL_BATCH_RUN Ifits_sci160k Igo_update_ssw Imon_health2 Iarch_sum Ifits_sci5k Imk_opsdb_list Imon_sci5k Iarch_sum2 Igif_last9 Imk_reload Iscreen12_snap Icheck_sci5k_trunc Igif_mag Imon_health Iseq_run_sum2 check these I* files to see if the cronjob is updating them often enough. Housekeeping Data ----------------- Housekeeping and spacecraft packets come into the shared memory buffer from mdi_acq and then the state_mgr program takes over. The state_mgr program does many things - checks limits, writes to the history file, check disk space, and converts information in the shared memory buffer into useful numbers in a last value table. Then the applications server takes over and allocates a screen and uses the screen program to put the housekeeping information into that screen. The state_mgr takes shared memory data and converts them into useful information and puts that information into the last value table, which is similar to the shared memory buffer. Each packet has its own table, which get overwritten with newer data. Limits checking is done on the last value table only if it has been enabled at the console or by a procedure. The state_mgr writes information to the history file, which in turn writes the gse_messages screen when the egse is up. The state_mgr also checks on the amount of disk space available and if there is a problem it will put messages on the screen, send e-mail, and write the information to the history file. The applications server is the interface between the screen program and the last value table. It has 32 slots for screen connections. The screen format is in /mdisw/egse_v5.2/screen_lib and are the .src files. The screen program reads the screen format file and makes a list of mnemonics from the last value table that it needs for the screen and sends the request to the applications server. The applications server allocates a screen slot and looks at the last value table and copies the current values into the desired screen. It then sets up flags with the mnemonics that need to be looked at for each screen. Then the state_mgr takes over again and changes the screen when the values change. The state_mgr continues to make the last value table and looks at the list of flags for the mnemonics and if any of the values for those mnemonics have changed then it turns the flag on. The screen program checks the flags and when a flag turns on then it reads the new value from the last value table and copies the new data to the screen.