Changes to molly

This file lists changes made to molly, including bug fixes and upgrades. It was started in 15/9/94. Compare with your own version date to see whether you need to update your version of molly.

DateFileComments
29/05/2008 flcal.f Another bug resulting from the fix to the sinc rebin bug. It was working for the first spectrum of a group but not thereafter. Should now be fixed.
02/05/2008 sl_inf.f
Version 1.1.1
Fixed small bug reulting from previous fix. I have also cleaned up the Makefile to account for the streamlined version of the install.
22/04/2008 sl_inf.f Fix to format overflow in 'show'
11/04/2008 Many
Version 1.1.0
New version of starlink. Moved fully to g95. Many fixes made to avoid warnings. Switched to linking to starlink version of native pgplot. Don't know why I didn't do this a long time ago. Put runtime path in the link statement to avoid the need to specify a LD_LIBRARY_PATH

Old change list in reversed data order which I can't be bothered to change.

DateFileComments
15/09/94 masker.f Changed the prompts for masking so that it assumes you want to continue masking, and you just type q in cursor mode and 0 0 in terminal mode to stop.
15/09/94 BUILD modified this script to allow different directories for code, object libraries and executable. Now needs environment variables to be set before it is run.
21/09/94 lfor.f removed type statements saying 'here 1' etc. command affected: 'lfor'
28/09/94 spcbin.f stopped it adding spaces between output lines commands affected: 'wbin', 'vbin'
28/09/94 hedhist.f brought plotting options into line with other plot routines. Command affected: 'hedhist'
29/09/94 cadd.f 'mute' option (affects 'cadd', 'cmul' etc)
29/09/94 get_input.f managing to read strings like 1+81 as a number (which was huge), and therefore not picking up that it was meant to try to split it up. To do with the compiler. Have now made it try to look for special character before trying to read as single number. Affects all commands, SUN specific.
29/09/94 flare.f increased size of character header item. fixed uncertainty estimation and added uncertainties to multipliers. Affects command 'flare'. Changed the way the background was being estimated because of problems after rebinning the spectra. Now user is asked for an estimate.
30/09/94 spcmsk.f corrected output slot prompt which allowed the end of the array to be overwritten. Affects 'mask'.
30/09/94 masker.f corrected bug in the way the masking routine plotted the masked regions. It was getting confused between parts masked and parts with negative errors. Now marks both in red but only masked bits with dashed lines. The mask itself was still reliable.
04/10/94 spcbin.f Ian Billington found bug in which too many pixels were rejected. Particularly bad if rebinning to small number of big pixels. Now fixed. Affects 'wbin', 'vbin' and 'tbin'
05/10/94 lgcurv.f added check against no valid points which caused a divide by zero. Affects 'light'
12/10/94 get_input.f still problems with arithematic on arguments with + etc because it cannot recognise numbers like 1.E-20 properly for example. Changed so that now need to specify ++, --, etc for arithematic. Affects all routines.
13/10/94 putlab.f new routine for putting individual labels on plots. routine called 'putlab'
13/10/94 control.f changed so that it opens command files with arguments correctly. Affects @ commands with arguments.
18/10/94 spcbin.f the changes to spcbin from 04/10/94 slowed it down. Have now implemented a more complex but hopefully more efficient strategy for rooting out duff pixels. Also found a potential bug that might have affected 'tbin'. Changes affect 'wbin', 'vbin', 'tbin'.
20/10/94 mgasfit.f added option of taking the fixed velocity from a specific header item in order to allow for fitted velocities to be removed. 'mgfit'
20/10/94 spcbin.f
molly.f
added multiple template option. affects command 'tbin'. Useful when you want to rebin a set of spectra onto the same scale as another set.
21/10/94 comsubs.f bug in wsameci, the wildcard searcher. Affects help with wildcards, naturally.
21/10/94 ecopy.f new routine 'ecopy' to copy errors from one set of spectra to another. Useful in noise simulation work.
25/10/94 lruby.f fixed bug spotted by Bill Welsh which occurs every time there were zero counts. The counts/flux value that gets stored in the flux array in this case was inverted with respect to the true value giving erroneously small error bars on such points. These subsequently caused problems in other routines. Command affected: 'lruby'
25/10/94 rubfix.f new standalone routine to correct molly files which were originally generated from ruby incorrectly.
25/10/94 BUILD revised again. Simplified and made more flexible. Successfully tested on Solaris and OSF
25/10/94 orbfit.f changed so that would not produce silly message about sdf and dst files
25/10/94 bckpro.f changed to remove screwy plot labels and to leave plot open on exit.
27/10/94 lfor.f
molfrd.f
translate.f
altered so that can now read VMS molly files into molly run on a Solaris machine.
28/10/94 rubfix.f minor (cosmetic) bug fix
02/11/94 spcbin.f still having problems from October modifications. Was wiping out whole spectrum when rebinning a spectrum with masked pixels in it. Pretty obvious bug as you end up with nothing. Affects all rebinning commands. Fixed.
15/12/94 addsub.f extended muting option so that warnings are not reported when in operation.
15/12/94 contfit.f extended muting to spline and polynomial fitting.
15/12/94 spcred.f cured bug affecting assumed .mol extension on 3 letter filenames. Not serious.
21/12/94 molly.dims
molly.coms
bug found in declaration of size of HDCHAR the character header item. Resulted in writing over of double precision headers in certain instances. Quite bad if it occurred. Modified many routines to now have CHARACTER*(*) rather than 32 or 16 which may help if ever these numbers were to be changed in the future.
03/01/95 planck.f naming problem. Should have been bbody but was not. Now corrected.
10/01/95 rebin.f the sincbin part was getting the wrong sign when rebinning spectra with negative dispersions. Found by Rene Rutten. The effect was purely to multiply the correct answer by -1 and so not very serious. Irritating however. Fixed.
10/01/95 BUILD Now sets up symbolic links for the files molly.def, mdopp.def, and pamela.def used by molly. This is to ensure that only one version exists at any one time.
31/01/95 spcbin.f changed the way it selects the default wavelength scale. It now reports values extending from the left edge of the first pixel to the right edge of the last as this is better when changing the pixel scale by gross amounts. Also changed to double precision. Found silly bug in tbin which was getting output number of pixels incorrect. Affects wbin, vbin and tbin. The tbin error was serious if the template and input spectra had different numbers of pixels. Otherwise it had no effect. Bug spotted by Ian Billington.
31/01/95 lasc.f allowed option of setting errors = flux/10000 or estimating them from fluctuations according to the value of the errors column set. Added option of skipping points of identical wavelength if they occur in contiguous groups.
02/02/95 spcbin.f changed fixed arguments to double precision type as alphas seem to have problems and vbin and wbin were crashing. (reported by Simon Duck)
16/02/95 spcdmp.f fixed slight bug when using filenames of 3 characters
17/02/95 radvel.f stopped rvel forcing an output file and enabled clobbering of files on output (if clobber set).
20/02/95 mgasfit.f upgrading multiple gaussian fit to allow spectra to be fitted simultaneously.
22/02/95 ascout.f made wrasc output wavelength in double precision and added automatic filename generation option in which the files consist of the run number with an extra part added to their end.
24/02/95 mgasfit.f can now force heights to have certain ratios to each other and to add offset velocities to each spectrum.
28/02/95 gasfit.f old single gaussian fitting routine. gfit silly bug spotted by Andrew Martin fixed. Fixed another argument mis-match bug. Neither bug important since the routine simply failed to work.
06/03/95 select.f made the character matching selection a little less rigid. Now allows wild-card matching.
06/03/95 arcal.f cured minor bug in setting arc run numbers
08/03/95 arc_fit.f fixed a bug in which excessive arc line shifts were not being picked up. This could have been a severe bug if you used the 'comb' option in the arc fitting routine. This was meant to stop if any line shifted more than some user defined number of pixels. It does now, but was not working before. This could mean that you could miss it and end up with bad wavelength calibration as a result. You would be OK if all your lines were strong or you did not use 'comb' or you kept an eye on the output.
09/03/95 mgasfit.f bug introduced into the individual gaussian fit section by earlier changes.
13/03/95 fitspec.f first version of a routine to carry out chi**2 minimisation of a spectrum compared to a set of tabulated model spectra.
14/03/95 fitspec.f Added 'genspec' command to generate spectrum from a table of spectra, interpolated according to values of header parameters
17/03/95 tabred.f Added a command 'tabred' to read in an ASCII file with a non-uniform wavelength scale and interpolate its values onto the scale of a slot. Meant for say filter responses.
23/03/95 repet.f Affects 'noise'. Upgraded to allow 0 as seed in order to carry on from previous setting.
28/03/95 hdsdmp.f Modified to dump phases as well as HJDs to FIGARO file. Command 'wrhds' involved.
03/04/95 molly.f Boosted buffer sizes inside molly. More spectra and the maximum size raised too.
04/04/95 makehtml
html.awk
automatic generation of html file for mosaic use. This allows access to molly help with xmosaic. A bit of a gimmick really, but maybe it has something going for it.
12/04/95 mgasfit.f mgfit. Corrected a bug in which the stored fit was being computed with incorrect parameters. This is a bug that I thought I had already fixed, but nevermind.
02/05/95 bcoff.f error detected in rotational broadening routine which was underweighting the parabolic part of the rotation profile. Equivalent to using a lower limb darkening than specified. If a limb darkening of E was used, the effective limb darkening actually applied was 2*E/(PI*(1-E)+2*E). Thus if you specified 0.5, you would in fact be applying E=0.39, etc.
02/05/95 bcoff.f switched integration routines QROMB, POLINT, TRAPZD and SINCF to double precision to alleviate the convergence problem which caused large variations in the time taken. This certainly helped although the variations are still there.
15/05/95 mgasfit.f yet another option added. This time to allow you to fix the product of peak height times FWHM, i.e. the area of a profile. In this case you are allowed to vary the FWHM only. Two new subroutines introduced to simplify the code. Nothing tested yet because of linking problems.
16/05/95 rotb.f
bcoff.f
first attempt at fixing up the arbitrary broadening option, using linear interpolation of a tabulated profile. Some problems encountered with linking because of modified STARLINK software
26/05/95 mgasfit.f new option tested and debugged.
26/05/95 rotb.f
bcoff.f
finally got the chance to test and debug these routines. They appear to work now which means that at last all 3 broadening options work again.
26/05/95 pgplot a bug fix to the STARLINK PGPLOT has solved the irritating cursor problem whereby it would drop to the bottom of the screen.
26/05/95 DTASK a new feature from STARLINK changes I assume appears to be that if it crashes it now says DTASK something or other. It is not informative but at least you know when something has gone wrong.
30/05/95 flx-fit.f fixed (I hope) a bug spotted by Emilios Harlaftis in which a crash occurred if a band width of 1 pixel was given inside flux. The reason was that the code was ignoring all point with less than 2 pixels and thus was accepting no points at all. This has been fixed and an additional check against small numbers of points has been inserted to guard against other possible problems. Bug non-serious in that you could not progress past it.
30/05/95 translate.f changed text to reflect fact that option 2 can translate either way between ULTRIX and OSF to SUNs.
12/06/95 lruby.f managed to read a RUBY file on a Sun, no mean feat as it turned out.
21/06/95 makefile changed so that the molly object files can be sent to a different directory. This is for space reasons.
21/06/95 BUILD have added switches to BUILD to remove -lucb library if need be and to use ranlib in favour of ar ts if wanted. This should reduce the need to have multiple flavours of ranlib.
22/06/95 html a new improved setup for html. Now the html file are stored separately for each command and I have devised an automatic way of providing links to related commands -- it just needs these to be identified first though. It is a start however.
23/06/95 BUILD nolib switch added to allow the compilation of the libraries to be skipped. This is to cut down the time taken when BUILD only fails at a late stage and has to be re-run.
04/07/95 bckfil.f new command 'bckfil' to apply back projection filter to spectra (should be used prior to 'back') to get Doppler maps (filtered back-projection method).
12/07/95 html the URL for molly has changed to:
http://sousun1.phys.soton.ac.uk/~trm/molly/html/OVERVIEW.html
and this marks a big improvement in the html documentation with links between class lists and commands now available. The WWW documentation now has some advantages over the internal generated help and makes it easy, for example, to jump from class --> command --> class etc.
19/07/95 documentation I have finished the first phase of improving molly documentation and have written a rough user's guide. Still need to document subroutines. There is now a URL that gives links to documents on most of my generally available programs. This is the preferred URL since it should be more stable than the URLs to individual packages. It can be found with:
http://sousun1.phys.soton.ac.uk/~trm/software.html
19/07/95 bckpro.f added an autoscaling option to the back projection command 'back'.
19/07/95 bckfil.f checked that bckfil operates as advertised. Minor bug fixed.
19/07/95 tar file latest version put in anonymous ftp
19/07/95 hedfix.f modified so that only standard phases are recognised. this routine was incorrect in that it said it would take S = 'spin phase' which it did, but it did not then store it properly.
19/07/95 sindec.f arguments incorrect causing immediate crash. Shows how often its used!! (command sdec)
25/07/95 control.f
fgetlin.c
I have found a set of C programs that give command line editing and recall. I have written a C routine to call these from FORTRAN and this is now installed inside control.f to pass back the main user input. Sadly it won't apply to commands with menus like 'arc', but I believe that it is a considerable enhancement to molly and makes it more or less like operating a set of independent commands from the operating system. The C routine used uses emacs type commands to do the editing (e.g. Ctrl-A to go to the start of the line), and also supports cursor keys.
25/07/95 BUILD
makefile
export
tar file
These files have been modified to account for the extra library for the command line editing stuff. tar file put on anonymous ftp.
25/07/95 control.f
fisatty.c
surprise, surprise, a problem. fgetlin does not like to be run non-interactively so now there is a test on the first call to control.f based on isatty as used in getline.c to see what the status is. If it is interactive, then fgetlin is used, otherwise it reverts to standard FORTRAN READ. The routine fisatty.c was created to check this in a way that can be simply called from FORTRAN. This has been added to libgetline.a
25/07/95 BUILD
tar file
BUILD has been altered appropriately. The tar file has been remade.
26/07/95 BUILD
makefile
Changed the way the object files are stored to allow molly, pamela, period etc separate dirrectories to store their object files to avoid problems with identical names.
26/07/95 spctrl.f long overdue improvement to trail so that it sets reasonable default values and has the option of setting the upper and lower limits automatically.
26/07/95 molly.f raised the maximum number of arrays that molly can hold when arrays are small (up to 6000)
31/07/95 makefile
BUILD
molly_main.f
I have been experimenting with linking to different versions of PGPLOT and FIGARO. In the future my default will be to link to PGPLOT 5.0 and FIGARO 4.2 (i.e. the non-STARLINK versions). I urge people to change especially to PGPLOT 5.0 which is noticeably faster than the STARLINK one. The other reason is that it has routines for colour images that I may use. molly_main.f was created as a dummy program to call molly. PGPLOT 5.0 supports Colour postscript and gif files formats.
31/07/95 set_col.f changed PGQCOL to PGQCIR and removed part after the call in which 16 was added to MINCI
31/07/95 spctrl.f changed PGGRAY to PGIMAG to allow colour plots to work. Colours set at start rather than at the end as well. Command 'trail'
01/08/95 makefile needed a dummy routine because the STARLINK PGPLOT is missing some routines. Thus for STARLINK PGPLOT PGIMAG actually calls PGGRAY which is not the same but it is better than nothing. PGQCIR calls PGQCOL and adds 16 to lowest number.
01/08/95 bckpro.f updated for PGIMAG. Allowed autoscaling to be kept on if values set to same value other than 0. Made 0. default on entry. Command 'back'
01/08/95 spctrl.f Same as above: allowed autoscaling to be kept on if values set to same value other than 0. Made 0. default on entry. Command 'trail'
03/08/95 masker.f Changed PGCURSE to PGBAND. Needed another dummy routine for STARLINK PGPLOT. PGBAND draws a cursor extending from top to bottom of plot which is better for selecting X ranges.
03/08/95 figdmp.f Fixed minor bug which would have prevented writing more than 99 FIGARO files.
11/08/95 bckpro.f 'bfig' -- now dumps proper Doppler FIGARO images and thus its arguments have changed somewhat.
11/08/95 phsbin.f 'pbin' upgraded to allow individual weights on spectra read in from a file. Needed to add some buffers to store weights and phases. Weights multiply whatever is determined by other methods.
11/08/95 spcave.f 'average' changed in line with phsbin.f so that individual weights multiply rather than replace the other options.
11/08/95 hedlis.f 'show' and 'flis' added muting when dumping to a file
04/09/95 hedlis.f fixed minor bugs preventing compilation
07/09/95 bckpro.f Several bugs from last edit: wrong structure name was causing 'bfig' to fail. arguments in help file were wrong ('bfig' and 'back'). structure variable scale was not being set. grid for back-projection incorrectly computed for 'bfig'
07/09/95 bckfil.f arguments in help on 'bckfil' were wrong
12/10/95 gasfit.f Bill Welsh reported a crash in gfit when the data was masked. I have made a change but don't know if it has worked.
12/10/95 molly.f
EXPORT
BUILD
I have added code to EXPORT to automatically insert a revision date in the exported version of molly that will be printed to the screen when molly is started (suggestion of Bill Welsh's). This should allow people to check whether they need to update their version. I have also made EXPORT comment out SUN-specific code, a task that was formerly carried out by BUILD
19/10/95 contfit.f I have altered the way the errors on the results form this routine are computed. Previously I had set them to be a single value reflecting the uncertainty in the fit value, but this is not really correct if one is considering relative errors. This caused problems if the fit was used to divide through the original spectrum and then the normalised spectrum was refit since the continuum did not come out = 1. I now just set the errors to a very low value.
25/10/95 sindec.f I was not declaring a large enough array for the NAG routine F01ABF which caused it to fail when trying to fit the maximum of 4 sinusoids. I have now increased the maximum number of sinusoids to 10 and fixed the array size problem. Command 'sdec'.
25/10/95 makefile Added a line in the makefile to make molly executable by anyone.
07/11/95 cadd.f Made it mask output pixels which were masked on input. Affects cadd, cdiv etc.
19/12/95 spcred.f
spcdmp.f
molly.f
New option added to 'write' to allow it to dump out a number of spectra equal to the number read on the most recent use of 'load'. This is designed for applications such as re-phasing a set of spectra automatically which previously had to be done by clearing the data first and then dumping a number larger than could possibly have been read using the dump routine's facility of ignoring empty slots. The option is enabled by typing 'lr' as the last slot number which stands for 'last read'.
08/03/96 makefile changed directory spec for STARLINK FIGARO libraries which seem to have been moved in latest FIGARO
08/03/96 DYNAMIC_MEMORY this file now included explicitly in the directory again because of latest FIGARO version.
25/03/96 radvel.f Sign on velocity uncertainty incorrect if dispersion the wrong way around.
15/04/96 makefile Removed link to pgdummy for STARLINK PGPLOT as the dummy routines clash with ones already in the STARLINK PGPLOT (PGBAND and probably PGIMAG).
14/05/96 optsub.f Made test on whether you want a mask case independent.
14/05/96 spcbin.f Corrected bug which meant that you could bin to more than the maximum pixel length.
15/05/96 addsub.f
spcave.f
Added check for any valid output pixels. If none are found a warning is given and the output spectrum is deleted. This was prompted by Emilios Harlaftis who was using add to combine two spectra of the same object taken over different wavelength ranges. The two spectra did not overlap and so no valid pixels were produced. This becomes obvious when trying to plot it as the axes have default huge ranges. This feature of add is still desireable since how can one get an output when one or both inputs is invalid? The correct command to use is average. I have added help text to this effect.
15/05/96 molly.f
makefile
linkdate
EXPORT
Now when linking molly the date and time of linking will be inserted in the same way as the version date derived from the tar file creation date.
20/06/96 set_col.f changed the way the colour scale is set to remove problems with hard copies. Can now set scale before plotting if wanted. The scale is now set before the call to PGIMAG is made. PGWEDGE has been changed to call PGIMAG. The interface inside colour has been altered somewhat.
17/07/96 gsfit.f
mmrqmin.f
gsfit.inc
(command mgfit). Have altered so that smearing during exposures significant compared to a binaries orbital period can be included.
24/07/96 mgasfit.f
gsfit.f
mmrqmin.f
gsfit.inc
(command mgfit). A further alteration to allow circular orbits to be fitted thus by-passing the need for an extra stage of fitting velocities. This method should be highly resistant to noise.
26/07/96 dev_op.f fixed a problem with prompted device names (they were not being asked for)
02/08/96 hedfix.f changed so that one always overrides the observing site information when running 'hfix'. Previously it only allowed you to set it once.
02/08/96 lgcurv.f changed so that for one point only no plot is attempted but the value is printed out.
02/08/96 phsbin.f fixed bug in reporting weights used in phase binning
05/08/96 tabred.f bug for negative dispersions fixed. Only read in two points from table.
08/08/96 maths.f added two commands log and exp to do the obvious. old command 'explot' to plot extinction now changed to 'teplot' (for telluric) to avoid conflict with exp.
15/08/96 flcal.f now stores record numbers of spectra used to provide calibrations
15/08/96 gsm.f fixed typo in inputs.
20/08/96 perl wrote Perl routine to handle slit corrections automatically.
20/08/96 getset.f I have changed back to exact matching of header names. This means more typing sometimes but it avoids having to check for conflicts such as RA and Rayleigh.
20/08/96 figdmp.f
hdsdmp.f
hedave.f
xcor.f
sl_inf.f
select.f
radvel.f
hedlis.f
spcred.f
lfor.f
lvms.f
hedchg.f
All these routines have been changed to use the subroutines in getset.f to handle the headers. This means that the search method for headers items is isolated in getset.f
27/08/96 mgasfit.f
gsfit.f
molly.f
Yet another upgrade. These routines are getting a bit nightmarish. This time to allow gaussians of constant velocity width to be used. Increased maximum number of gaussian components to 30 and also raised MXWORK to allow for larger covariance matrices.
28/08/96 hedchg.f fixed bug left from extensive changes of 20/08
29/08/96 mgasfit.f mmrqmin.f Added a large example to the help file. Changed where the size available is checked and switched from MAXPAR to NPAR in calls to MMRQMIN to accomodate this. Now only warned if actual number of parameters**2 > MXWORK rather than if maximum number**2 > MXWORK. The two tend to be very different.
29/08/96 hedchg.f Increased maximum number of header parameters that can be set on one line from a file.
29/08/96 molly.f Increased the maximum number of double precision header parameters.
30/08/96 PERL.html Added some info on how to read molly data into Perl directly.
30/08/96 html Have updated all html help files and the tar file. molly.tar
04/10/96 hedave.f Fixed a problem in the header averaging section. Probably left over from changes of 20/08/96. Was not coming up with sensible phases. Probably fairly obvious to the user as all the phases ended up identical.
10/10/96 database.pl
select.pl
Perl scripts to generate and search a database of molly spectra.
10/10/96 hedchg.f Put check in against blank spectra in editing command.
10/10/96 hedfix.f
siteq.f
Added new header parameter 'Telescope' in addition to the observing site name. Altered siteq.f to return telescope names as well as site name.
11/10/96 telescope.pl Perl script to set/update telescope header parameter in a molly file.
11/10/96 locate.pl Perl script to process entire directory tree for database. Generates list of molly files, optionally fixes the telescope keyword, then adds info to database file.
11/10/96 select.pl More flags added to this routine.
11/10/96 database.pl Added exposure time which I had forgotten.
21/10/96 makefile Changed how object files are created to be compatible with GNU make. Also moved software off ftp because of difficulty with local ftp setup.
21/10/96 hedfix.f Fixed bugs in each of these; I had clearly not compiled them after changes of 10/10/96.
21/10/96 user_guide.html
DATA.htmml
I have added some blurb about the database stuff in case anyone is interested.
22/10/96 siteq.f Added indication in siteq that East means - as far as longitude goes.
23/10/96 rotb.f Fixed a bug based on assuming a positive dispersion Caused crashes when running Fast blurring on negative dispersion data. Also some bugs in the mode which allows for arbitrary wavelength scales. These bugs were in modes I had never fully tested. They were of the obvious-if-you tried them variety. Problems found by Tariq Shahbaz
24/10/96 rotb.f
qromb.f
bcoff.f
Carried on trying to speed up the Slow option which was grinding to a halt through an over-zealous integration covergence criterion.
05/11/96 makefile Fixed problem with alink where it tries to look for an object molly_new but fails. Problem of installation encountered by Danny Steeghs and Vik Dhillon.
05/11/96 BUILD put in a #!/usr/bin/csh at the start to solve a problem Vik Dhillon had while installing molly.
05/11/96 html I have changed some links to be full references rather than relative references so that if the html help is set up on another machine, some files are still referred back to Warwick. These are the ones on software setup and changes made to molly. (i.e. this file.)
11/11/96 SYMB.DEF Fixed a problem with the doppler.def link
14/11/96 bckpro.f Command bfig: added code to set the FWHM in the output doppler figaro file so that comdat etc don't fall over.
29/1/97 hstsdf.f New command to read HST FOS data via sdf files.
29/1/97 group.f New command to combine spectra in groups. e.g. starting with 1000 spectra, group can convert them to 100 spectra each containing 10 of the old spectra. This is a means of getting an overview of very large numbers of spectra
30/1/97 sl_inf.f Increased maximum slot number possible in the standard one-line info to cope with > 9999 spectra.
24/2/97 gofit.f New command "chisq" evaluates chi**2 between data and a set of model spectra. every model is compared to every observed spectrum and the chi**2 reported. It is up to the user to do anything with the results which can be dumped to disk.
01/09/97 Starting to swap in Pierre Maxted's versions of the molly routines for my own. Pierre's run under LINUX and the goal is to get a single version of the code again before its too late. Done: pgplus, subrs, getline.
01/09/97 xcor.f xcor -- pflm added option to store radial velocity as a header item.
01/09/97 mgasfit.f
hpoint.dat
makefile
gfit is now carried out using mgasfit.f to avoid old lsqenp (pflm).
01/09/97 makefile
rfits.f
wrfits.f
New commands wfits to dump molly spectra as FITS data (1 spectrum/file). rfits to read it (although note that it will not read any FITS file as the files are dumped in a rather complex format).
02/09/97 molcon.C C++ program for conversion of molly files SunOS/Solaris to/from Ultrix/OSF/Linux. It resides in the main molly directory and can be compiled with 'make molcon'. Since only bytes need to be swapped, this program can convert a file in place, and can be much faster and more convenient than using 'lfor' inside molly. It will not work on VMS molly files though, although this would be easy enough to implement.
02/09/97 Finished! All Pierre's modified files in place and have compiled. No NAG routines left in molly although you will still see NAG in the link if the version of FIGARO you use requires it.
03/09/97 sindec.f Fixed some bugs in this induced by switch to PDA from NAG. Changed to using frequencies rather than periods, and reversed definition of phase. Added option to hold phases fixed. (Command: sdec for fitting sines/cosines). Smartened up output.
28/01/98 fitspec.f Modified to carry out a more rigourous search for the minimum and to come back with uncertainties. Also improved aspects of the output.
06/02/98 ndfred.f NDF replacement for figred.f but reads same data. Old command 'lfig', new 'lndf'.
06/02/98 makefile
molly.f
molly no longer a subroutine, but will use standalone NDF for linking, Old Figaro stuff to be eliminated. Should make molly fully useable under Linux.
06/02/98 hdsdmp.f
doppdmp.f
hdsdmp.f has become doppdmp.f and now is written in terms of ndf/hds routines. There is no longer any need for mdopp.def. The equivalent command 'wrhds' becomes 'wrdopp'
06/02/98 bckpro.f NDF-ised. 'bfig' now 'bndf'. Does not need doppler.def anymore.
09/02/98 ndfdmp.f Replacement for figdmp.f (command wrfig changed to wrndf). Dumps molly spectra to a series of ndf files. Spectrum written into an NDF. Header into molly extension.
09/02/98 hedave.f Spotted minor bug -- sidereal time was being incorrectly named.
09/02/98 ndfred.f 'lndf' -- now looks for 'pamela' and then 'molly' extensions. (used to just look for pamela). This means that it can read back ndf files dumped by 'wrndf'. This provides another means of data transfer since NDF files are easily transferred between systems. Note however that only the flux info is fully preserved in the process.
10/02/98 BUILD
makefile
Changed function of BUILD and makefile to make installation easier I hope. Now makefile does most of the work including building libraries.
10/02/98 wrasc
wrndf
rfits
wrdopp
Stream-lined command naming. All output commands now w*** e.g. wndf, wdopp. Input l*** as in lfits. Put some if statements to warn of name changes.
26/02/98 ndfred Put check against too many input pixels.
11/03/98 makefile
hpoint.dat
comdefs.dat
EXPORT
BUILD
html
Streamlined directory structure so that all source files are now in a sub-directory. Renamed comdefs.dat --> command_defs, hpoint.dat --> help_pointers
11/03/98 xcor Added code to search for a header parameter as a means of guiding the location of the cross- correlation maximum. This is suppoosed to improve low signal-to-noise cases.
15/04/98 Many routines I have changed many routines for the new version of PGPLOT which allows for multiple devices. These are preliminary and I am not making full use yet. The masking has now changed in that you must plot from within the routine to be able to use the cursor. This is slightly retrograde but avoids problems with some types of plots for which the old version was inappropriate. The routine for closing devices has been modified to cope with multiple devices and the meaning of 'pclose' has changed. Now plots are closed on exiting a routine unless pclose is set. If a plot is left open, there is now some separation of tasks so that a plot inside the masking section will not add on top of a spectrum plot for instance.

The masker routine now supports command line arguments and recall. i.e. you can now say "dump mask" rather than "dumpmask". Similarly "plot 10 W" will make a wavelength plot.

22/04/98 mgasfit Made major improvements to the gaussian fitting. Now easier to use and much more flexible.
22/04/98 molly.coms
molly.dims
molly.pars
Introduced a new include file 'molly.pars' at the same time getting rid of molly.dims Now if you want to adjust memory requirements you change molly.pars and re-make molly. Rather more compilation will take place, but it should all be handled by make.
22/04/98 hedchg.f Fixed bug preventing the 'terminal' input mode of the header editor from working properly. Not a serious one.
06/05/98 mgasfit.f Enabled some muting of terminal output.
25/06/98 molcon.c
makefile
BUILD
Flaw in logic of molcon in terms of identifying a native or foreign machine. Have put a preprocessor option so that one must say -DSPARC on Sun machines for correct compilation. BUILD and makefile modified to cope with it.
07/09/98 fitspec.f corrected minimisation stopping criterion. Added option for genspec to retain data mask. Corrected problem with opening new files.
07/09/98 makefile
BUILD
updated for new directory name, and modified BUILD to be immune to such alterations to makefile.
26/10/98 splmol.f Bill Welsh spotted a bug in the weighting for spline fits. It was actually the inverse of what it should have been. This is a potentially serious bug if you have used spline fits on data with very variable uncertainties. I think this bug was introduced as a result of the conversion from NAG to PDA.
27/10/98 EXPORT changed to gzip compression for the molly tar file.
05/11/98 arcal.f Put in extra check to prevent arc scale being transferred to a spectrum with a different number of pixels.
23/12/98 BUILD Simplified. No longer checks for /star/bin in path.
23/12/98 arc_fit.f Minor change to improve output of combination processing.
05/02/99 BUILD Some minor bugs fixed.
05/02/99 SETUP.html added some stuff about getting SLA
05/02/99 PROBLEMS.html new page linked to inside SETUP listing problems people have faced during setup.
08/02/99 genhtml.pl
comdefs.f
molly.css
new perl script to replace C program generation of html help. Not as fast but much easier to change. changed to allow definitions of classes to be added (html help only). cascading style script to define global style of molly help. simply sets white background at moment, but should allow global changes to be made easily.
22/02/99 BUILD
makefile
Tried to make it easier to set up molly if you have STARLINK software installed in a non-standard place.
18/03/99 BUILD Removed g77 version check.
17/06/99 mgasfit.f Added new option. Can now specify a FWHM resolution which is applied to all gaussians. Allows one to treat spectra of differing resolutions and to prevent narrow spikes being developed during fits. The resolution parameter can be regarded as a variable to be fitted. (Command: mgfit)
07/07/99 flx_fit flux command, stopped it opening new plots
17/08/99 BUILD
makefile
molly.f
BUILD_nawk
updated for new disk system at Soton
09/09/99 makefile Changed installation radically. All handled by make now. BUILD, BUILD_nawk are no more. Note I have also changed my standard directory structure somewhat so that code directories now reside in directories for each code type, e.g. F77, C etc. This means when you get the tar file it will create these directories with molly etc underneath them.
16/09/99 extinc.f Installed new improved version from Pierre. Uses much more efficient search strategy.
04/11/1999 mgasfit.f
mmrqmin.f
gsfit.inc
yet another upgrade to the multi-gaussian stuff. Now allows a second harmonic term to the orbits.
23/11/1999 mgasfit.f added stuff to make old gaussian fit files still valid "backwards compatibility" in other words.
23/11/1999 fakspc.f corrected bug that was not deleting any old headers while making fake spectra.
23/11/1999 hedchg.f corrected bug in the header editing command 'any' that was causing slot to be skipped.
01/12/1999 extinc.f fixed bug in extinc.f inroduced by Pierre's change to using HUNT. Command affected: "fcal" which was crashing with a segmentation fault.
01/12/1999 CHANGES.html finished altering this to be in html table form.
31/02/2000 repet.f fixed micro bug to make case insensitive.
02/05/2000 calendar.f was not getting leap year in 2000 right!
09/05/2000 arc_fit.f changed to allow fits to one line only
11/08/2000 set_lim.f It seems that under the g77 compiler that comes with RedHat 6.2 the statement READ(REPLY,*,ERR=10) XLFT1, XRGT1, YBOT1, YTOP1 was not working and just crashed molly if an incorrect entry was entered. I have changed this to use IOSTAT and it now seems to work. There may be other examples of this.
21/12/2000 doppdmp.f I have added an extra parameter to this routine (command wdopp) to correct points with negative errors which I suspect are not handled correctly by memsys. This parameter multiplies any negative error bars and is especially to cope with bootstrapped datatsets which will contain many such points.
07/02/2001 makefile I have altered the makefile so that it works with more generic versions of make rather than relying on special options of Gnu make.
07/02/2001 spcbin.f Bug in the call to 'arcshf' was causing molly to crash when making two calls to the rebinning programs using sinc function rebinning. (Bug spotted by Stu Littlefair). Not a serious one in the sense that it had no invisible effects upon data.
13/03/2001 fixvel.f Changed prompt for direction of shift to make it clearer. Now it asks for either A or S for add or subtract.
27/07/2001 makefile To cope with needing to run multiple versions (different operating systems), I have now combined the directories EXE and LIB into a single INSTALL directory. Requires a change of alias of course.
03/08/2001 lgcurv.g radvel.f Increased precision of output because the default * was not writing enough figures for the HJD under g77.
18/08/2001 molcon.c Removed option to overwrite input file, or any existing file for that matter. This is for safety. Also added an option to allow only oneway conversion (always to the native format of the machine its being run on). This allows conversion of files to the right type regardless of whether they are already the right type or not.
05/02/2002 control.f Made sure that it reads a local startup file even in the absence of a global one.
05/02/2002 molly.pars Increased work arrays to 60000 pixels to accomodate pipeline UVES data. Increased overall buffer size to 6000000 to allow for more slots.
05/02/2002 hfix
siteq.f
Added VLT coordinate info for hfix
21/03/2002 Makefile Now defines path, including the STARLINK path
06/12/2002 spcbin.f
addsub.f
extrapol.f
rmsspec.f
Danny Steeghs' modified routines to handle echelle data. There was a problem with rebinning and there is a now a command 'blaze' which divides fluxes but not counts to allow for proper weighting later on. 'extrapol.f' implements another new command, 'extrapol' to extrapolate spectra in time. 'rmsspec' defines another new command to compute the RMS fluctuation spectrum (see also 'flare')
11/04/2003 arc_fit.f
gethelp.f
Fixed bug in gethelp that meant it did not find help on some commands. Added code to arcfit to report which lines had gone adrift during 'tweak'
04/08/2003 arc_fit.f
wrfits.f
etc.
Whole stack of routines corrected for enlarged string expected by sl_inf. Bug spotted by PFLM.
04/08/2003 molly.pars Increased standard array sizes to keep up with ever growing amounts of memory standardly available.
04/08/2003 circpol.f Created a new command 'cpol' for correctly combining circular spectropolarimetric data to give Stokes I & V.
08/01/2004 molly.f.template
command_defs
help_pointers
Some fairly fundamental changes to molly to test out the possibility of making a statically linked binary which could be easily copied between linux systems. This now means that you need to define an environment variable MOLLY_DIR to point to the location of the 'command_defs' file.
22/12/2004 molly.f.template
circpol.f
flx_fit.f
Fixed the error estimates inside circpol; adjusted flx_fit to restore rejected points when changing knot positions.
18/01/2005 arc_fit.f Put in truncation on upper limit of line range when tweaking to avoid trying to tweak non-existent lines.
21/01/2005 arc_fit.f Put in option to abort on failure of tweak which avoids a dangerous problem that can occur during arc fits if the very first tweak fails. Basically one should now always set abort during batch mode runs of wavelength calibration.
11/03/2005 cos_rej.f Added a new command to mask points with bad errors. Called 'emask'
15/03/2005 patch.f Fixed bug in the error on the equivalent width reported by 'patch' which it was failing to square root
24/03/2006 flx_fit.f Bug! Nasty one in which I was passing the same reference for two, in theory different work arrays. Not quite sure why this did not fail before, but I think it might have been a matter of the number of points. Fixed by adding in another work array.
31/08/2006 subrs/medfilt.f Bug spotted by Pierre Maxted. Its effect was apparently to shift the array by one pixel, which is fairly considerable. Affects anything involving median filtering.
17/05/2007 comdef.f Bugs spotted by Pierre Maxted owing to his mac compiler.
19/07/2007 flacal.f Fixed a bug with the sinc rebinning option encountered by John Taylor.
18/10/2007 Version 1.0.0 Started version numbers and dates for molly


Tom Marsh, Warwick