MPHA README. MPHA_070112a: ** temporarily turned off writing *.pdf files for phaflux** I will add iText instead of gnupdf. MPHA_070110a: ** reading *.mhx files ** Working on reading and adding the *.mhx ascii matrix cache files - these store only the matrices and histograms. MPHA_061231a: ** Time TextFields++ ** I have changed the look and use of the time textfields in order to simplify MPHA operation. Currently one still needs to type a two- or three-element alpha-numbeic combination in order to access files on the web. I will soon change this so MPHA will check the text entry against the time interval currently in cache and add the new time interval(s) if they are outside of the current cache content. I added a button above the 'local'-files button so that the user selects either 'web' or 'local' file access. The 'web'-only access will then operate more closely to the way MIDL does. MPHA_061228a: ** Time TextField Timestepping ** More work on incorrect entries. MPHA_061228a: ** PHAFlux calculation for UMD boxes ** The PlotChoices dialog and sIT plotting both seem to work as previously - UMD calculations are NOT YET implemented. MPHA_061227b: ** PHAFlux calculation for UMD boxes ** The PlotChoices dialog now sets checkboxes for all UMD boxes for both UMD_DT (doubles and triples) and UMD_To (triples only) (this will likely change, the current setup is just for arranging the layout). MPHA_061227a: ** DataOutputDialog ** No additions or removals, but the layout is now cleaner - easier to read. MPHA_061226a: ** Time TextField Timestepping ** Incorporated jodaTime into the timestepping buttons (< and >). This seems to have fixed the errors in time stepping with these buttons. MPHA_061220a: ** PHAFlux calculation ** The MPHA Species boxes now use the UMD_060707 Triples-only efficiencies. Previously they had used the Doubles-plus-Triples efficiencies. MPHA_061220a: ** PHAFlux calculation ** The single telescope G-factor values were off by a factor of 10. I found a typo in the single telescope G-factor values where I had typed 0.0700 instead of 0.0070. The error was obvious when comparing all telescopes to one telescope for example. MPHA_061205a: ** PHAFlux species plotting ** Fixed a faulty logic caused by stopping the phafx species collection with a aPCIjob.canceled = true in ImageCanvas, resulting in a "no-plot-condition". Unfortunately, this does not clear up the all problems with partial-interval time stepping in phaf species plots, so until later in the month, phaf-species plotting is only for whole-day intervals. MPHA_061201a: ** PHAFlux multi-file daily averaging ** I just tried to do PHAFlux multi-file daily averaging and found it is not currently working. To be fixed after the Fall '06 AGU. MPHA_061201a: ** PHAFlux Operation/Problems ** While collecting PHAFlux for most days from 4179-6317 for the aguF06, problems are: (1) phaf across year bounds used the wrong year in rate collection; (2) not sure MPHA operates correctly over missing days (data gaps > 1-day long); (3) ?? problem for days 5125-5131 and 5260; MPHA_061130a: ** PHAFlux ** In comparing the RList and PList output files, I discovered that MPHA is incorrectly making the effective PHAFlux collection interval duration one subsector shorter than the actual collection interval duration. I will fix this after the Fall '06 AGU. This error effectively makes the calculated flux <=3.1% (0.4%) higher than it actually is for 2 sectors (1 spin). MPHA_061129a: ** *.rfx Files ** Changed MPHA to write the *.rfx as a gzip file. This saves a factor of ~7 in file size. MPHA_061119a: ** PHAFLUX Calculation Breakout** Fixed an offset incorrectly reinitialized recently when expanding PHAIO:getPdata() for rereading the *.pfx files. MPHA_061118c: ** Help HTML** I became frustrated with the performance of Java's local HTML display attempts and moved the help files to a web location. The help pages all display correctly now. MPHA_061118b: ** sIT time axes** MPHA now rezeros hours when going over day boundaries. MPHA_061118a: ** sIT Operation** After extensive testing, I conclude that there is a bug/memory-leak somewhere in the input routines for sIT collection. Collecting data and then displaying that data sometimes results in erroneous behavior. The best workaround currently is to write a *.rfx file (*.pfx files are written automatically), reopen MPHA and then do plots. MPHA_061115a: ** Histogram X-axis** Fixed the placement of long-tic values. MPHA_061114a: ** PHAFlux boxes ** Fixed two long-term incorrect values in the flux box boundaries of H2+1 and swFe. MPHA_061113b: ** Time TextField Timestepping** Fixed some errors in time stepping with web data access. MPHA_061113a: ** sIT time axes** Found and fixed a roundoff error in the few-hour range plotting. There are still difficulties in the 1- to 2-day range (e.g., making a 35-hour plot). MPHA_061112d: ** Time TextField Input** I reworked the new time TF handlers. They seem to be working. They allow some d-m-y-input flexibility. MPHA_061112c: ** sIT time axes** Time axes improved, still not perfect. MPHA_061112b: ** sIT *.pfx title format change** Part of the title record in *.pfx files has been corrected in order to facilitate title-plotting of sIT *.pfx data: e.g., --from:> #CHEMS PHAFlux Data 1x c R 1x c R< --to:> #CHEMS_PHAFlux 1x c R <, repeated text removed and name shortened. MPHA_061112a: ** sIT display** Separated and rearranged the top titles. MPHA_061110a: ** *.pfx-*.rfx sIT display** Today I got the pfx-rfx displays to be identical (2z c R) on reread. I think/hope that most/all/some of the sIT displays to be working. MPHA_061108a: ** Color/ColorBar** Cleared-up some aspects of color assignment, put most "new Color(*)" calls into the colorBar creators to speedup this type of activity. MPHA_061106b: ** *.pfx - TBD** The time in seconds for each pfx interval is short by ~1 sector. MPHA_061106a: ** sources** All sources needing final globals found in MPHAglobals0.java now implement MPHAglobals0.java. MPHA_061105a: ** *.pfx,*.rfx as input** now seems to correctly read the *.pfx and *.rfx files as input. *.pfx files are ascii representations of the PHAFlux cache. *.rfx files are ascii representations of the CHEMS Science Rate cache. MPHA_061104a: ** sIT-Plot Display** Corrected an offset error in the data dsplay for sIT-PHAflux and an error in reading/displaying *.pfx as input files. MPHA_061103a: ** Time TextField Input** I've gone back to the older time TF handlers - errors had been introduced unwittingly. Have to rethink the filters/handlers. MPHA_061028a: ** sIT-Plot Display** In order to get the sIT data plots to display data collected from a standard production data file, CURRENTLY - ONE MUST PRESS THE FORMAT, AND THEN THE UPDATE VIEW BUTTON. MPHA_061028a: ** rR/P-List Input** Made handlers to write/read rList *.rfx files, similar to the pList *.pfx files. rfx and pfx files are basically cache images that can be edited and concatenated. Use an Option/Alt-click to add to (concatenate) rfx or pfx files. Then use the Update-Plot-Format button to update the data plotted. This will ultimately be handled by the Update-View button, but not yet. MPHA_061027a: ** Time TextField Input** Fixed some error handlers for incorrect textField time formats. MPHA_061026b: ** Line-IT-Plots** Note that these are NOT implemented yet. MPHA_061026a: ** sIT-Plot Time Axis** Worked on format for 0-20 day intervals. Not perfect yet, but usable. MPHA_061025b: ** PHAFlux-Science Rate File Input** Fixed an error in reading longer Science Rate Headers. MPHA_061025a: ** Matrix-sIT-Plots** Extended the image panel to 770 pixels so that SIT colorbars don't overwrite the right edge of the plots. MPHA_061022b: ** Matrix-sIT-Plots** Found a problem if you choose the SIT plot format BEFORE choosing the file - the colorbars will be placed incorrectly. Working on it... MPHA_061022b: ** Data-Output-Dialog** Some command-letter changes to differentiate the output-type command-letters as lower case ('c' for counts, 'r' for rates) and the command-letter to write the RList rate cache as an ascii file to be a capital letter 'R'. MPHA_061022a: ** Matrix-sIT-Plots** Improved warnings when in IT mode. MPHA_061015a: ** Matrix-sIT-Plots** Fixed a bug in the naming of plot files when in IT mode. MPHA_061014a: ** sIT-Plots** The 1, 2, 3, and 4-panel displays now work for the BR* Rates- only, and all Rates combinations seem to be accessible. Species next. MPHA_061013a: ** sIT-Plots** More changes and corrections were needed, still not finished. Work near finished on the sIT Rates, Species next, then the line plots. MPHA_061002a: ** Spectrogram-Intensity-Time (sIT) Plots** Many changes and additions were needed to enable MPHA PHAFlux and Science Rate plotting versus time. MPHA will have from one to four stacked plots from science rates or species phafluxes. Still working on the stacked image. MPHA_060922a: ** Data Structure** The MPHA class has grown very large. The entire program suite consists of about 25,000 lines of code, some is dead-or-unused, but most of this is active code. The basic MPHA class itself has about 11500 lines, of which 2800 lines comprise the ImageCanvas inner class, in which all of the drawing occurs. In order to make the program more flexible and less likely to crash when viewing long or large data intervals, it would be desirable to separate this inner class from the main class. I tried to break ImageCanvas from MPHA, and was almost successful, but when I recompiled the broken-out codes, the matrix drawing to screen remained black-and-white (an option in the "PlotPrams" button). I couldn't find the cause, so I laid this activity aside - I will need to come back to this later. MPHA_060914a: ** PHAFlux Time** Worked a bit more on the month-day-year ascii-time input - I still have not found why MPHA does not update the view properly after the first m-d-y input string - the data is collected but the view is not updated - one needs to click through the "Format" button to bring the data up. MPHA_060904a: ** PHAFlux Time** I now have a working framework for dealing with ascii-time input - jodatime does not accept text forms for month - the only reason you would have month-day-year input side-by-side with year-day-of-year. Seems to work. MPHA_060817a: ** PHAFlux Plotting** Fixed a small bug in the PHAFlux species - Basic Rates or Species Rates - plotting. MPHA_060815a: ** PHAFlux Plotting** There is now a Dialog to choose which PHAFlux species - Basic Rates or Spieces Rates - are plotted. MPHA_060811a: ** PHAFlux Time** I found a Sourceforge API called joda-time, designed to be a replacement for the standard java time routines. joda-time's native format is the same IEEE format that Cassini files use. MPHA_060807a: ** PHAFlux File Processing** Whole-day averaging is working again. MPHA now produces files for the days that didn't work on 060726. MPHA_060730a: ** PHAFlux-GUI Usability** The PHAFlux generation process is slightly easier, by one step in the process - I changed the DataOutputDialog's TextField to retain the last valid text format used. The DataOutputDialog does not fully operate the way I think it should, but this improves it. MPHA_060729a: ** PHAFlux Telescope Selection** The telescope selection for the Basic Rates is exact. I am still examining the scaling for telescope-selected PHAFlux boxes, in some channels it is exact, in some channels not. MPHA_060728a: ** PHAFlux Telescope Selection** The telescope selection for PHAFlux seems to be working now, finally. Telescope selection, for T1, T2, and/or T3, is implemented through selection of the MCPs, which are necessary for the respective telescopes to operate; so that, if M2 is selected, Telescope 2 is used to calculate the PHAflux and Telescopes 1 and 3 are not used, or if M1 and M3 are selected, Telescopes 1 and 3 are used to calculate the PHAflux and Telescope 2 is not used, etc., etc.. MPHA_060726a: ** PHAFlux File Averaging** Multifile averaging is not currently working. I calculated daily PHAFlux averages (using *x in the DataOutput Dialog) during the 93-day interval 2003-275 to 2004-002. Six days (3276, 3277, 3285, 3292, 3357, and 3358) didn't produce a PHAFlux output file using *x, all the other 87 days did produce valid PHAFlux files. MPHA_060711a: ** PHAFlux Multiple File Processing** A solution is implemented for multiple file processing of phaflux. It has worked with no memory overflows on the 15-day interval 2006-070 to 2006-084, which includes Titan and Saturn encounters (days 77 and 79). The *.jnlp file's "max-heap-size" was set to "1200M" and no other applications were running when I made this test. MPHA_060711a: ** PHAFlux Calculations** The new UMD G-factor(s) are now the default values, with the launch values remaining as an option using the InstPrams:Reset-GBoxes buttons. MPHA_060703a: ** PHAFlux Calculations** I found that the telescope separation implementation is not working for PHAFlux, although it still works for the Matrix functions. Working on a fix. MPHA_060628a: ** PHAFlux Help** All of the tooltips are repeated in the Help Files. The Java/HTML BrowserDisplay functions will not display some new images. MPHA_060526a: ** PHAFlux Display** Implemented plotting the BR&SciR or PHAFlux values separately. This is currently done in the DataOutput Dialog - its placement can change. MPHA_060510a: ** Flux Box Species** Implemented and checked the writing of the current basic (BR), science (SciR), and species (PHAFlux) fluxes into the saved *.pfx file and the plotting of integral fluxes in the integral value MPHA display. I am presuming the count and rate values are correct (as they were previously). They will be checked in early July, after the AGU. MPHA_060509a: ** Flux Box Species** Finalized the drawing of the current set of 10 PHAFlux boxes: "C+1", "N+1", "O+1", "H2O+1", "MI+1", "O2+1", "H2+1", "He+2","swFE", and "He+1" . This covers most species not covered by the Science Boxes (except for AlMgSSi), corrects the inclusion of H2+1 in the He+2 Rate Box, and includes the He+1 rate-box area as a phaflux box for direct comparison. He+1 is a fairly clean box and is most always present. MPHA_060507a: ** PHAFlux, Science (SciR), Basic Rate (BR) Boxes** Finalized the current drawing of these boxes. MPHA_060505a: ** PHAFlux, Science (SciR), Basic Rate (BR) Boxes** The H2+1 box now includes the H2+1 and their breakup components with mass = 1. I found that the He+2 triples Science Rate Box included about half of the H2+1 main peak, so there is now a He+2 phaflux box which does not include much of the H2+1. MPHA_060502a: ** PHAFLUX Calculations** The delta-Es are back to being calculated from the passband (0.030) times central energy. MPHA_060501a: ** GUI/Control** Added titles with default choices to the choice buttons at the main window lower left. MPHA_060430a: ** PHAFLUX Calculations** Comparison to MIDL CHEMS differential energy spectra for BR0 as H+ are reasonable for a first cut at energies > ~13-15 keV, but way off at 2-10 keV. Comparison to MIDL LEMMS-PHA-Protons shows the LPHA-Protons to be much higher than either CHEMS calculation. I hand checked MPHA calculations - correct. The delta-Es are currently at geometric means; these can be adjusted to increase MPHA flux values. Better, clearer documentation/toolTips after the spring AGU. MPHA_060428a: ** PHAFLUX Calculations** There is a problem with the PHAFlux file generation for day 5266, late in the day. No *.pfx file written, but - for now - earlier infoon 5266 can be printed to the system console using debugging option "b" and choosing the Differential (dD) or Integral (iD) PHAF Display under the "Plot Mode" choice button at the main window lower left. MPHA_060427a: ** PHAFLUX Calculations** Many changes - large and small - displays now allow scanning through the day of interest. A *.pfx PHAFlux file is always written automatically and separately for each set of input paramaters processed. MPHA_060417a: ** PHAFLUX GUI/Control** Phaflux operations/calculations are done through the Data "D" button and the Data Dialog. A number of possible calculation products and time formats will be implemented and accessed through the Data Dialog. I will initially only calculate spin and sector averages (16 sectors per spin). Spin (sector) averages can often be on the order of ~0.5 to 1 hour (several minutes to ~10-20 minutes). MPHA_060413a: ** PHAFLUX Displays** There will be two different displays for PHAflux - differential intensity (number flux, often just called flux) and integral integral intensity (or integral flux). The differential energy display will be f(E) vs E. The integral display will be in the form of histograms with error bars, the dependence on energy will have been integrated over. MPHA_060403a: ** PHAFLUX Calculations** Spin/Sector time averaging implemented, time-ordered averages still need checking. From cmichs* science rate files, I derived and implemented a 0.150-second deadtime into each subsector time accumulation. Confirmed this value with Doug Hamilton. MPHA_060329a: ** CacheFileFormat ** finished adding four double values: Tns, Ekev, calcMPQ, and calcMASS, to cache line format to cut recalculation times during re-analysis and phaflux calculation. (MPHA reads and writes old cache format files without change. I'll have to change this "feature" soon.) MPHA_060322a: ** Boxes Button - BasicRate Overlays ** In addition to the PHAFlux box overlays, I added Basic Rate box overlays and setup the format for the Science Rate boxes. MPHA_060308a: ** NewLocalFileButton ** added warning for Rate filenames. MPHA_060305a: ** START/STOP TIME TEXTFIELDS ** small changes for time textfields. MPHA_060301a: ** PHAFLUX Calculations** CHEMS efficiencies incorporated into MPHA and calculating fluxes. MPHA_060225a: ** MASS/MPQ Histograms ** fixing the Mass histogram C, N, O, H2O, and O2 identification fiducial lines. MPHA_060224a: ** GUI ** moved the TimeBack_Button closer to the UpdateView Button - makes for easier fore and back time stepping. MPHA_060221a: ** START/STOP TIME TEXTFIELDS ** Widened to make room for year-month-day format. MPHA_060217a: ** PHAflux ** start incorporating CHEMS efficiencies into MPHA. MPHA_060213a: ** TextListing of Actual_Start/Stop Times** Implemented listing start and stop times of files (text listing button) when reading files locally or from the MIMI website. Only lists the times. Works on multiple day intervals. MPHA_060201a: ** Time TextFields ** Implemented time forward stepping when reading files from the MIMI website. Currently only works correctly for single day increments. MPHA_060126a: ** Plot and Inst Prams Buttons ** Activated the Inst Prams button. The "Plot Prams" button controls accss to the ColorBar and Axes dialogs/controls. The "Inst Prams" button controls accss to the AdjustTOF and MMPQrange dialogs/controls. The AdjustTOF dialog currently contains (a) Adjust TOF Calibration buttons: to change the slope of the TOF-channel_# slope and (b) Bogus TOF switch: to (en/dis)able inclusion of PHAs with bogus/noisy TOF channels. MPHA_060121a: ** MMPQ Ranges ** Added the ability to set the ranges of Mass and Mass-per-Charge variables. In the "Plot Prams" button use the MMPQrange button. The dialog choice process is currently modal and unforgiving but changes will be made to let the user to reapply defaults, cancel, etc. more easily and make it more interactive. MPHA_060104b: ** GUI ** Integrated the "Plot Prams" button and the ColorBar Dialog. In order to get the black-and-white colorbar, you must choose b/w in the dialog and then click on the matrix plot area. MPHA_060104a: ** COLORBAR ** I corrected two bugs in the the flux to colorbar conversion: (1) in one line I was using a value, where I should have been using its index; (2) in another location I was scaling the colorbar lower limit to the lowest measured value rather than to 1, the displayed value. This will all be made adjustable and transparent to the user in the colorbar dialog. MPHA_051227a: ** GUI ** Black-white colorbar instituted - but not completely integrated into workflow. Changes are currently accessed by clicking on the colorbar in matrix window - this may not last. MPHA_051219a: ** GUI ** Started the overhaul of the colorbar issues. MPHA_051215a: ** COLORBAR ** Fixed a bug in Triples matrix colorscheme when going from linear to log intensity format. MPHA_051130a: ** GUI ** Line-overdraws implemented on the MPQ histograms. MPHA_051125a: ** GUI ** Simple masking routine implemented - eliminates single PHAs with no nearest neighbors. MPHA_051122a: ** GUI ** The no-doubles display problem was fixed - if the Range-DPPS-TOF-MCP selection criteria left you with no doubles, MPHA formerly quit abruptly. I found and fixed the problem - in the colorbar routine. MPHA_051116a: ** Instrument Panel ** I reimplemented the instrument criteria checks in the cache-input that I had removed inadvertently when changing that section of code from a method to the class J0.breakoutTheLine(). ** Time TextFields ** incorrectly rereads the input file for web-input if the two-word format is left in place when changing instrument criteria. Nothing wrong seems to happen although MPHA does not need to reread this. A workaround is to press the format button which writes in the start and stop times in the time fields. MPHA_051112a: ** Help Button ** Hyperlinks did not work on one Windows XP system. Reviewed the routines -seem to work. (Note added 051114: Jon VandeGriff says Help button hyperlinks work on his Windows box - ????. MPHA_051107a: ** PHAFlux ** More work was needed on the PHAFlux routine. Numerous internal changes - seems to be working. MPHA_051028b: ** Cache File Saving ** Recently, some chemspha files have been very large (e,g,. day 2005 266 has 564937 PHAs, while its data and zip files have 204.2 MB and 4 MB, respectively). MPHA can now read/analyze/save these files through the combination of two changes implemented over the last week: (a) upping the webstart memory allocation from: max-heap-size = 600M to: max-heap-size = 1000M ; and (b) folding aList - a JArrayList used in printing - into a class/file in its own right; MPHA_051028a: ** PHAFlux ** The dataOutput button/dialog - formerly called in code the "Cache" button - is expanded to include setup for the PHAFlux output. Many internal changes - seems to be working. MPHA_051001a: ** GUI ** Fixed the matrix axes for Ekev-vs-Tns and ie-vs-it displays. These views of the data do not show all of the data yet, but the bulk of the distributions where statistics are good are shown. THE HISTOGRAM X-AXES ARE NOT YET UPDATED. Detail in these views will be controlled through the "Inst"rument Prams Button. MPHA_051001a: ** TextView List ** Fixed an error in calculation of the MMPQ value in listings - it didn't affect the MPQ data calculations, the GUI, or the output. MPHA_050929a: ** User Interface (GUI) ** (1) Needing more user space for extra buttons without increasing the size of the MPHA window, I combined the Text Output and Change Text output buttons into one - using an alt/option key user-press to allow one to Change the text output format; (2) I updated most of the ToolTips that needed changing; (3) I added three buttons to the left Control Interface: (a) dataAspect Button - change between Mass_MPQ, Energy_Time, and ie_it channel and (b, c) the Plot and Inst(rument) Prams Buttons - these will open dialogs which will allow one to vary basic instrument and/or plot parameters, such as including or deleting any noisy channels (e.g., TOF channel 53, which is known to be noisy). MPHA_050927a: ** TOF and Energy Channel Histograms ** You can now get listings of TOF and Energy channel distributions for each DPPS step and summed over DPPS steps. MPHA_050920a: ** TextView Display ** The GUI/text format problem in returning from the TextView was an incorrect call to the UIManager's LookAndFeel formats. Seems to work correctly now. MPHA_050919c: ** PDF-only saving ** I checked the pdf-only saves - it seemed to work correctly (????). Keep watch... MPHA_050919b: ** Histogram Display ** When displaying the wider bin-width histograms, alternate wider-bin-width collections can now be requested using a JComboBox. Values possible are pixel 2, 4a, and 4b. 4a and 4b are the two possible choices available using the narrower width 2-bins. MPHA_050919a: ** PDF-only saving ** An error in the image save routines where if one requests *.pdf-only (there is no *.png saving), no pdf will be saved. This should be straightforward to fix. MPHA_050916a: ** TextView Display ** I found an error in the TextView implementation - Somewhere in the process the Font is changed and this affects the main window display - I'll be looking for this error. MPHA_050915a: ** Histogram Display ** The histograms now can be redrawn with twice the bin width. This sort-of addresses Tom's problem with uneven bins. MPHA_050830a: ** PHA Matrix Display ** More work internal aspects of the matrix display and calculations. MPHA_050822a: ** WebStart ** I determined the necessary files and preparations and then succeeded in producing a working java webstart MPHA.jnlp file using the OSX-Apache web server. MPHA_050821a: ** TOF Calibration ** Investigated the CHEMS TOF-Tns calibration linear fits because of an MPQ mismatch for low- and higi-TOF values. Rewrote the cCHEMSns algorithm to allow changes of the inflection point XP and offset YL of the lower TOF portion (108.3 and -9.86 nominal, respectively). The optimal YL value for XP = 108.3 seems to be YL = -8.25. but this still does not fully remove the H+, He+2, and He+1 short-TOF shoulders. PHA daws the current values in the lower right-hand corner of the plot. MPHA_050813a: ** PHA Matrix Display ** Cleaned up some internal aspects of the matrix display and calculations. MPHA_050802a: ** Instrument-Panel ** (1) I finally activated the MCP and SSD checkboxes. These now seem to work interactively with the RNG, DPPS, and Sector TextFields. Preliminary tests suggest that these criterion selectors work both together and independently. (2) The Default button also seems to be working. Their tooltips have been updated to reflect their actions. MPHA_050730a: ** Look-and-Feel ** I placed the entire application in a JPanel in a JScrollPane- similar to MIDL. This improves MPHA's display on smaller (~14-inch iBook) displays. This also seems to have corrected MPHA's sloppy setup of the lefthand control panel. Major improvement of the gui overall. MPHA_050727a: ** PHA Matrix Sampling ** Mass and Mass-per-charge values now are correct to ~1%. Given pixillation, this is about the best we can expect. MPHA_050724a: ** Save Cache File ** Rewrote routine to save the cache file in 64000 line segments. Seems to work, e.g., writes 04183 okay. ** Time Routines ** Look-and-Feel ** I moved all actions from the start and stop time TextFields to the ViewUpdate button. Time Stepping seems to work. The default input is webInput - still implemented with year doy in the startTF - this will change. MPHA_050722a: ** Plot time ** Added the generation time of the plot. MPHA_050713a: ** PHA Matrix Sampling ** When displaying the MMPQ matrix, MPHA now reports a dynamic reading of the last mouse-click inside the matrix axes typing the current M and MPQ values/location to the lower right of the matrix display. These values will appear on the saved *.png and *.pdf files unless the user clicks outside the matrix boundaries. MPHA_050711a: ** Progress Dialog ** I started working on a progress wndow for file reading as suggested by Barry Mauk. Currently the dialog does not update its display during the read operation - I probably need to put it in a separate thread. MPHA_050711a: ** Look-and-Feel ** I tested for a subject of continual interest to me. The Java L&F GUI, which Sun offers and which I have been using for MPHA, does not allow the copying of text from one textfield to another - at least on the MacOS. I tested this L&F against the Native L&F on the MacOS using a simple Sun/Java example - JTextFieldDemo. The JAVA L&F is more compact, but it obviously is not developed as completely as the Native L&F on the MacOS. Therefore, because at least one-half of intended MPHA users use the MacOS, I have done the following: (1) I switched to the Native L&F for MPHA - this should work best on both Windows and MacOS; (2) in doing this, because all of the AQUA components are larger than the Native MacOS components, I increased the MPHA user window to be the same size as MIDL, which has been in design for Cassini for a number of years; (3) In order to conserve desktop space, I introduced image-icon buttons for most of the Top Panel buttons. MPHA_050703a: ** Time Routines ** The time Textfields are currently able to respond correctly to simple time requests. The only anomalous requirement is that one must hit return in both the start-box and the stop-box before hitting the "next" button. Time stepping is not implemented yet. I have decided to make MPHA's time request format as identical to MIDL's as possible. Some differences will persist, but the user experience in MPHA should be identical to that in MIDL at the minimum. MPHA_050629a: ** Time Routines ** I have not been satisfied with Java's Editable JComboBox API. Editable JComboBox has not worked consistently as I had anticipated. After scanning the Java Developer's Forums I discovered that many other developers are not satisfied with the performance of Editable JComboBox. Therefore, I am recasting the time Start and Stop fields as TextFields rather than the Editable JComboBoxs that they are currently. MPHA_050626a: ** TimeStepping ** Because the yymmdd input is not working yet, I am taking MPHA back to the working version of file input (multi-day works, but only yydoy input - no yymmdd yet). MPHA_050624a: ** File Handling - Geotail/STICS pha input file ** reads the Geotail data but the M and MPQ routines didn't have the right coefficients yet. MPHA_050619a: ** name ** changed the name: from: JPHAM - Java Pulse Height Analysis Matrix tool to: MPHA - Multi-mission Pulse Height Analysis tools MPHA_050612a: ** TimeStepping ** Simplified the StartTime and StopTime comboboxes. ** TimeStepping ** Starting to implement a yymmd input in addition to yydoy input. JPHAM_050531a: ** PDF/Image output ** JPHAM writes two varieties of the *.pdf matrix-format file: one that is a full vector display, and another that has postscript text and lines with an imbedded image representation of the color matrix display. The pdf vector format (~7x) is the largest, the pdf-image format (~2x) is somewhat smaller, and the png image format (1x) is the smallest in size. The ratio of format file sizes is about 7:2:1. ** PDF/Image output ** The first time one saves an image a dialog appears in which two choices can be made: (1) write a *.png or not, and (2) save a vector-pdf or save an image-pdf or don't save a pdf at all. JPHAM_050525a: ** PDF/Image output ** Now, JPHAM automatically writes both *.pdf and *.png files when one presses the Save-Image button. JPHAM_050524b: ** PDF output ** Currently, JPHAM automatically writes a pdf file every time one generates a new plot (i.e., new time interval or new mode - matrix or histogram). The files are labeled with the filename and a unique index starting at 0. The pdf routines have two errors when in landscape mode: (1) the first string written is still written in its portrait mode location; and (2) the closing portion of the last string written to a plot is not completely written, it is a two line entry and only one line gets written. I don't know if these errors are unique to strings, but that's how I discovered the problem. A simple workaround was to write a throwaway string at the beginning and at the end of each landscape plot. JPHAM_050524a: ** PDF output ** Seems to be working, however part of the text in the display is masked in Acrobat whereas text display in Preview and Freehand is okay (??). ** ToolTips ** More changes for Start Time and delta-Time. JPHAM_050519a: ** ToolTips ** Rewrote the Start Time ToolTip to better explain how to make JPHAM access files from the MIMI website. ** TimeStepping ** Successive time-stepping appear to not always work (JPHAM's Start and Stop Time Fields get confused). If the Start or Stop Time Fields fail to produce the correct answer, the best way to work around the error(s) is to restart the program. ** Display and File Handling - Multi-Day Input from Web ** Fixed a bug I introduced on 050513 that messed up plotting matrices and histograms after a number of missing files were encountered during file input on the MIMI website. ** File Handling - Multi-Day Input from Web ** Added the filename to the error window that shows up during file input data gaps on the MIMI website. JPHAM_050517a: ** TimeSearch ** For time interval forward steps, *d, *h, and *m (for days, hours, minutes) all, including days (*d), are now implemented and seem to work. JPHAM_050513a: ** Password Dialog ** Set the default Username to "mimiweb" and placed the cursor in the Password field for ease of use. JPHAM_050512a: ** ToolTips ** Made a button to turn tooltips on and off. JPHAM_050510a: ** File Handling - Multi-Day Input from Web ** Implemented a quick-and-dirty check for missing files at the website - it seems to work, a few preliminary collection statistics when going over data gaps check out. JPHAM_050509a: ** File Handling - Multi-Day Input from Web ** A rudimentary process for multi-day multiple file input from the MIMI website seems to work. (1) Type a "year doy" into the start time textfield [e.g., 2004 360]; (2) Click on the stop time textfield and it will update to a Cassini-format time hour 2400 of that day [e.g., 2004-360T24:00:00.000]; (3) Change that Cassini-format time to a later time [e.g., 2005-005T24:00:00.000]; (4) Press "Go"; (5) Fill in the password dialog that pops up, and the program should get the data and display a matrix showing proper times; (6) Remember that for time-stepping you need Cassini-format times; ** Time Search ** Note that JPHAM enters a failure mode (doesn't crash, but you can't get out of it) if you request a remote file (in a list of times) that does not exist... This will be the next operation I will add error recovery to. JPHAM_050506a: ** Time Search ** Forward time search allows the crossing of day boundaries. ** File Handling ** The time search text for remote files can be "year doy" or "year-doy", i.e., space or dash separator. JPHAM_050504a: ** Time Search ** Hours and minutes implemented in forward time searches. ** Look-and-Feel ** Set Username/Password dialog to white. ** File Handling ** JPHAM does NOT transition well from time searches in local files to time searches in remote files. It is best to perform these searches during different runs. JPHAM_050502a: ** Look-and-Feel ** Cleaned up the Username/Password dialog. JPHAM_050501a: ** File Handling ** JPHAM now reads: (1) local - (a) gzipped and text production *.txt CHEMSPHA files, (b) gzipped and text cached *.pha CHEMSPHA files; (2) remote - the gzipped production *.txt CHEMSPHA files from the MIMI L1a directory at the MIMI website at APL ( ). ** Look-and-Feel ** (1) white backgrounds on all components; (2) file opening controls are now on the left-hand side, while all save operation buttons (Image, Text, and Cache) are collected on the right-hand side; (3) the names of the time-forward and time-back buttons are set to "Go" and "Back", respectively. ** Instrument Parameter Selection Criteria ** the "Default, Revert, Set" subpanel in the "Instrument Options" sidebar panel is set to a different color when instrument parameters have changed from default values by pressing the "Set" or "Revert" checkboxes. (not fully implemented yet). JPHAM_050419: ** Instrument Parameter Selection Criteria ** The DPPS (Energy steps), Range (that is, the Basic Rate Ranges - see the 'About' window in the Help Panel), and Sector (16 sectors), MCP, and SSD selection criteria are working. JPHAM_050414: ** Time Search ** The start-time pop-up "(set start -> stop)" option advances the hour of the transferred time to 24 (it saves some typing). ** Time Search ** I realized that in "improving" JPHAM, I had edited out the ability to analyze a specific time interval, e.g., 2004-184T02:45:30.000 to 2004-184T16:15:45.123. To choose this interval: (a) enter these start and stop times into the start and stop time textfields, (b) leave the dT field at "all", and (c) press the time-forward, ">", button. JPHAM_050406: This and future versions of JPHAM will be executable jar files. ** Time Search ** I found out that the cached files are limited in size the way I save them now - for example, JPHAM cannot save the cache for 2004183 the largest single file I am testing. ** Double-Clickable Jar file ** I am now creating a double-clickable jar file. This will be the new distribution object. ** Time Search ** I made a change to allow variable time steps in a file. Time-stepping is easier, but still not intuitive. JPHAM_050403: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** Caching - JPHAM will read and write cached, *.pha, text files. Cached files are about 1/9-th the size of the production chemspha files for files with sizes greater than a few MB. Larger ratios are possible for smaller chemspha files. ** ToolTips - now persist as long as you position the mouse over the component. JPHAM_050328: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** Caching - Input file is now cached after the initial read. ** Time Search ** File Reading-Writing - (1) Wait-cursor for reading input files, (2) Wait-cursor for writing *.png files, and (3) hand-cursor for using the cached aList array for reading input. JPHAM_050325: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** File Reading-Writing - The cursor now changes when you are either reading input files or writing *.png files (this lets you know that the desired action is happening when you click the forward-arrow ">" (read-input) button or the "save text" button. ** Time Search ** You can now step forward in time at multi-hour based intervals - by typing, for example, "2h" or "6h" in the "time interval" textfield you'll be able to view consecutive 2-hour or 6-hour intervals within any 1-day interval. The minute- and day- stepping functions as well as operations over day bounds will come soon. It only steps forward right now. JPHAM_050323: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** placed a watch-cursor while reading a file. ** Text-Saving ** now lists the entire matrix if listed. JPHAM_050316: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** I devised a quick-and-dirty way to process a set of files concatenated into one file, without needing to edit the header information out. JPHAM_050315: This version of JPHAM is again a Mac-enabled development version. ** Time Search ** JPHAM now executes time searches within a single input file. A brief description of how to implement a time search can now be found by pressing the "Help" button and selecting the "How To Use" link in the initial Help Window. ** Text-Saving ** You choose the directory and filename. ** Image-Saving ** JPHAM currently saves image files with "close-to-unique" file names in the same directory that the application is in. JPHAM_050303: This version of JPHAM is again a Mac-enabled development version. ** Histograms ** JPHAM now draws histograms for mpq doubles, mpq triples, mpq doubles and triples, and mass triples. Histograms scale automatically and display at the highest parameter (mpq or mass) resolution. JPHAM saves a *.png image of either the matrix or histogram display to the user's hard drive. Unique file numbering is not yet implemented. ** Text File Saving ** a Print button now manages/controls text file saving. Various text output options are possible. Text output is now directed to the computer's console terminal. In the future save to disk will be optional. ** Print and Help dialogs are both modal and interactive. ** Colorbar ** The colorbar now works separately and independently for the triples and doubles matrix areas and provides either a log or linear measure of the count intensity. The log measure for triples still needs work, but the doubles intensity appears to be working correctly. JPHAM_050201a: This version of JPHAM is a Mac-enabled development version. It should work on any Macintosh with Mac OS V10.3.x, but it will not work on an IBM-compatible PC right now. Start JPHAM by double-clicking on its Finder icon. When you first start JPHAM you are presented with a FileChooser Dialog. You should be able to use the FileChooser Dialog to find the chemspha file p_1A_200418300yy_v35.txt in this folder. It is a reduced version of the standard chemspha file for day 183 2004. You can download other chemspha files to view if you wish. After the chemspha file is read, the matrix window should be displayed. In this preliminary version of JPHAM only a few of the buttons at the top work, "New, "Enable Saves", and "Save". The time selection fields transfer text, but are not operating yet. You can view my debugging statements by opening Console.app (found in the Utilities folder.) The only button on the left which is active is the one initially showing "trpLIN dblLOG". Use this button to change the matrix intensity display mode to different linear-log combinations. In this version of JPHAM, after making a different mode choice, you need to press the Image/Text button at the top in order to update the display. This has already been changed in a newer version of the program, but this is how this operation worked on 1.Feb.05. MPHA README. Stephen P. Christon Focused Analysis and Research spchriston-at-aol-dot-com