SPECTRUM - bug reports and modification history 1997/8/9 - C.S.Jeffery --------------------------------------------------------------------------- Summary as of 2001.11.15 Major changes: - ATCOMP : can now define composition for synthesis at startup - SPECTRUM: option to compute and printout specific intensities I(nu,mu) - INTEG_FEAUT : Remaining nag dependencies have been removed. - ATDATA : Input for atomic data to come from TAP library - ATDATA : Datafiles provide log values including van der Waal's - ATHEI : lots of new data for HeI - SPECTRUM : preparation for command line input - INTEG_PLANCK: synthesis now uses local continuous opacity Major bugs fixed: - HEII: can now treat as blends with Balmer lines. - LSYNT: continuous opacity improved - LSYNT: now includes all Balmer, tabulated HeI lines and selected HeII lines. Persistent problems: - CONFL: overflow in C/L ratio - ATSCAN: requires check for existing ATSCAN - LHI: microturbulence > 0 does not work Matters to attend to: - HEI, HEII: do not include microturbulence - H does not include microturbulence in synthesis - LMETAL, LSYNT: (a) need classical broadening formulae if constants not given (b) van der Waal's broadening - HEII: Need to include all of the Schoening Butler tables. - ATSCAN: Preselect lines to include in synthesis on basis of predicted line strength (in order to save time computing very weak lines) - MODEL_ATM: Compute all ionization fractions when the model atmosphere is read in, and use these in opacity calculation - done for opk - ATSCAN: shouls set default abundances to those of model atmosphere. - Ca H+K are not correctly treated becasue of +/5 A cutoff in metla lines. ------------------------------------------------------------------------ Journal 22-OCT-1997 Port to Linux. It was necessary to remove the Nag dependencies from routines FEAUTRIER, TRANSFER and LHI. For the time being these have been replaced with routines based on algorithms found in numerical recipes (see the library NR). As of 22-OCT this port meets the following problems: 1) QUB model, Planck transfer, C II 4267 (t20g40.d; 1 0 0 0/0/ 6 4267 8 0) AGREES with version on ALPHA 2) QUB model, Avrett-Loeser transfer, C II 4267 (t20g40.d; 1 0 0 2/0/ 6 4267 8 0) AGREES with version on ALPHA, very close to Planck result 3) QUB model, Feautrier transfer, C II 4267 (t20g40.d; 1 0 0 3/0/ 6 4267 8 0) DISAGREES with ALPHA version. (ALPHA version is very close to Planck result) 4) Kiel model, Planck transfer, C II 4267 (t22g40L.q; 1 0 0 0/0/ 6 4267 8 0) FAILS 5) Kiel model, Feautrier transfer, C II 4267 (t22g40L.q; 1 0 0 3/0/ 6 4267 8 0) FAILS 6) QUB model, Planck transfer, H gamma (t20g40.d; 1 0 0 0/0/ 1 4340 12 0) FAILS 7) QUB model, Feautrier transfer, H gamma (t20g40.d; 1 0 0 3/0/ 1 4340 12 0) FAILS 8) Kiel model, Feautrier transfer, H gamma (t22g40L.q; 1 0 0 3/0/ 1 4340 12 0) FAILS 23-MAR-1998 Bug in synthesis -- FIXED For wl = 4000 - 5000, t25g40.d, there is a step in the spectrum at 4686 A. The origin is not yet traced. --- FIXED 08-MAY-1998 - see below --- 24-APR-1998 VOIGT Ran a profile test on spectrum in synthesis mode. 57% of the time was spent in VOIGT. I looked up Rees' bench test of Voigt profile routines and found that the version in LINFOR outperforms the QUB version with no loss of accuracy. The algorithm appears to be nearly the same, but the coding is better. So changed VOIGT. 07-MAY-1998 ATDATA Reading a linelist with an unrecognised ionisation stage (>4) causes a fatal error. This should now be trapped. ATSCAN --- TO DO Currently selects all lines in a given wavelength range. It is run before the model atmosphere is read and before the abundances are input, so it cannot predict infdividual line strengths. However, we need a filter to remove weak lines from the synthesis: W/lambda = pi.e^2/(4.pi.eps_0.m.c^2).R_c.lambda.f.ro.h.N_abs. (Emerson: 4.5a) MODEL_ATM --- TO DO All ion are already calculated for Kiel models at startup for use in the opacity subroutines. They should also be used when QUB opacities are used, but in the line opacity calculations, especially LSYNT. The code is wasting a lot of time recalculating ionization fractions for every C II line and every O II line etc.... One way is to use KIEL/IONFRN to fill existing arrays, but IONFRN currently assumes the model atmosphere abundances used for the background opacities rather than the trial abundances used for the spectrum synthesis. Changes need to be made to : ATSYNT ATSCAN (compute predicitd line intensities) MODEL_ATM (IONFRN even for QUB opacities) IONFRN (additional ions - anything relevant) COMMON_KIEL .... QUB opacities Paul Harrison was comparing opacities calculated with QUB, KIEL and his OP codes. He found an inconsistency in the H b-f opacity between QUB and KIEL, which we traced to an incorrect treatment of the H partition function in the QUB code, which assume U(H) = 2. His new OP code now uses the Baschek et al p-fs, and agrees well with the KIEL code. KIEL opacitiesa --- TO DO library KIEL needs to be brought into line with OPK to reduce maintenance. ATHEI --- TO DO Inclusion of Beachamp et al. Stark profiles for HeI. required although they still do not reach low enough densities. We also need better broadening data for high order series members.. I have gf values from Hubeny's linelists, but both diffuse series are treated classically at the moment. Dimitrijevic & Sahal Brechot provide data for selected lines which is not yet included in SPECTRUM. These are mostly superceded by the Beauchamp data. Otherwise, need to treat them using Griem theory. **** LINE BROADENING **** That is a lie. Where I don't have decent broadening data there is most frequently a 0 in the electron and radiatiion damping column. The default should be to treat this as a classical value, but in fact this is not provided for within SPECTRUM. It MUST be seen to. van der Waal's (ion) broadening should be included at the same time, and the atomic data tables should be converted to log form, using conventional units for the damping constants. 08-MAY-1998 ATSCAN, HE_II --- UPGRADE AND BUG FIX HeII lines were not picked up by ATSCAN. I made a new subroutine called HE2SEARCH which mimics HESEARCH and includes HeII lines. HE_II did not recognize negative wavelengths, easily fixed. Synthesis now models HeII lines OK (but see below). ATHEII --- TO DO Currently reads data/heii_red.d which omits several key HeII lines. However data/heii.d does not include all the appropriate atomic data including wavelengths, oscillator strengths and esxcitation potentials. Need someone to collect that data and edit the file. 20-MAY-1998 LSYNT There was a bug in LSYNT regarding HeII, which made the predicted line too strong by nearly a factor of two compared with the same line calculated in single line mode. Correcting the bug reduces the difference, but the "synthetic" line is stil about 1% stronger than the "single" line. A similar discrepancy in HeII 4541 can be accounted for by the wing of HeI 4471: on close inspection, the sysnthesis never reaches the continuum between 5441 and 4686 (at the .02% level) indicating some residual opacity is being picked up in far line wings from broadening tables. This looks like a line overlap phenomenon. 20-MAY-1998 MICROTURBULENCE Philip has pointed out the the VCS, BCS and SB tables are used as they stand. Mictroturbulence is not treated for H, HeI and HeII lines. This is almost certainly important. 21-MAY-1998 HESEARCH The wavelength grids for diffuse lines with forbidden components was inadequate. These lines are now much better sampled, using the same pretabulated wavelength grids as in WAVEG. ?????? If the synthesis starts just before a HeII line the HeI lines are calcualted far too weak. However if the first He line is an HeI line, the spectrum looks OK. eg 4250 - 4600 fails, 4150 - 4600 OK. Bug fixed - 26-MAY-1998 22-MAY-1998 LSYNT The strength of the HeI lines depnds on where the synthesis starts. It appears that this is due to line overlap. In other words, if you're computing a section of spectrum with a strong line nearby but not included, then the result will be affected. This can be bad enough to affect gravity determinations for example. The effect of line overlap actually gets enhanced by the lines - so althought the continuum looks OK, adjacent lines will be strengthened. There is also a problem with calculating the line contribution from EVERY line at EVERY wavelength. This strongly influences cpu time but finding an algorithm that selects where to cut off the opacity calculation for each line is not easy. To reduce computing time I've cut off the the METAL lines at a wavelength 50*DOPP, but strong lines are still affected at the 0.1% level. LSYNT When including metal lines, the HeII lines are not being calculated. I do not understand this at all. Bug FIXED - 26-May-1998 26-MAY-1998 MODEL_ATM Minor bug corrections, layout and format revision. If NOPTYP=0 (QUB opacities) IONFRN is not called as it causes an error. It would be preferable to call IONFRN so that all ion fractions are precomputed selfconsistently for use in LSYNT. LHI Was failing because of argument incompatability between LHI and subroutines in NR library. The latter should all be double precision. The code now runs but the results give EW falling as vturb increases. For Hdelta TEFF= 25000. GRAV= 1.00E+04 HE= 8.91E-02 VT= *** NSP= 1 ELEM= HYDROGEN RLAMB= 4101.7 NW= 35 SYMM= T ABUND= 12.00 EW= **** C/L RATIO= 1.00012 vturb ewidth 0.0 4.561 0.01 4.561 -------------- microturbulence not applied for vt<0.1 0.1 3.645 1.0 3.638 2.5 3.627 5.0 3.609 10.0 3.57 SPECTRUM I was using Main.f on the alpha and Spectrum.f on linux - the two were diverging and had to be brought back into line. Must delete Main.f when Spectrum.f is finished. DONE. 27-MAY-1998 ATSCAN diffuse HeI lines not treated by BCS tables are not adequately sampled in wavelength space. Should be fixed. NOW OK. OPAC Interaction between common blocks is unstable. More work needed to control information passing between subroutine libraries. The principal should be that common blocks are local to a library and not shared across library systems. 28-MAY-98 OPAC For single-line mode, Kiel and OP libraries should include H and He line wings in the calculation of the pseudo continuous opacity. The QB opacity alread does. ????? In mode 11, with more than one Vturb, the HeI lines were not computed, and I've no idea what abundances were used for other lines. Due to He abundance being set slightly higher than 1! FIXED. 30-OCT-98 OUTDIS Output to disk modified for modesl 10 and 11 to print out wavelength, normalized flux, total flux, continuum flux and optical depth in consectutive columns. The atomic data is written out after the emergent spectrum to allow the flux information to be read into DIPSO (using ALASRD) more easily. The number of wavelengths is put on line 3. .......Computation of specific intensities as function of angle..... TRANSFER Changed to treat the specific intensities as an array to be computed over a range of angles (cos theta). INTEG_FEAUTRIER Changed to compute specific intensities at each wavelength over a range of angles, if a flag NINTENS is set = 1. There is currently no way for the input to set this flag, or for the output to record and print out the intensities. This needs to be done shortly. .................................................................... 2-NOV-98 TRANSFER A wavelength reference in the call to OPAC incorrectly used the "representative wavelength" RLAMB instead of the local wavelength WCONT, and caused a serious error in the continuous opacity. This has been corrected, but models calculated over the last 6 months are all dubious. OUTTER Switched off the printout of the spectrum to the terminal, although I currently retain the linelist for verification. 8-DEC-98 **** SPECIFIC INTENSITIES **** COMMON_ALL Addition of FLUXN to store the normalized flux Addition of COSTHETA, NTHETA, INTENS and INTENC to store specific intensities I(nu,mu) at NTHETA cosine angles COSTHETA SPECTRUM If NSOURCE is greater than 4, then NSOURCE = NSOURCE - 4, but NTHETA and COSTHETA are requested from the terminal. Specific intensities will be computed at these cosine angles and printed out. (currently only valid if NSOURCE = 7) INTEG_FEAUT, TRANSFER, OUTDIS Modified for calculating and printing specific intensities. Currently the intensities are only printed to the *.000 file. *** Testing: worked well for spectrum synthesis mode. Some debugging necessary for single line mode, now fixed and apparently working Exhaustive tests still required **** *********************************** EQUIV, OUTTER, OUTDIP, OUTDIS Minor change now preserves FLUX. FLUXN=FLUX/FLUXC is used to store the normalized flux. OUTDIS In synthesis mode we do not print out the atomic data to the terminal file (*.000) becasue this information is already saved in the file *.grid. OUTTER In mode 0, we now write a summary of the lines calculated onto unit 25 (which should later become NSUMMARY), with one line per line (if you see what I mean). This gets saved with the extension ".summary". Its useful when you want to get the line identifier, wavelength, eqw and abundamce for subsequent processing. 19 Feb 1999 KIEL / OPK The Kiel opacity library currently exists in three forms, KIEL - packaged with SPECTRUM OPK - packaged with STERNE 2.3 OPK2 - packaged with STERNE 2.4 The last one is (supposedly) arranged to operate with the OP subroutine libraries within STERNE. I have frozen the "Kiel" library and am trying to replace it by plugging in OPK2. COMMON_ALL The move from KIEL to OPK2 involves changing names on common blocks which are contained in COMMON_ALL. Nasty. It would be useful as some time in the future to make COMMON_ALL and COMMON_KIEL completely independent. This is a violation of the rules gverning global variables remaining local to integral packages. 22 Feb 1999 YYYYAAAAARGGGGGH!!! changes to : MODEL_ATM: 1) calls OPK_MODEL to place a copy of the model atmosphere in the OPK common blocks, which are gradually being disentangled from the DP and OPAC blocks 2) calls OP_IONS if OP opacities are used to copy the ionization fractions from the OPK commons to the OP commons. Also a bit of a cludge. COMMON_ALL COMMON_OPAC both include some of the OPK commons at the end. This is now done with an INCLUDE to reduce the number of things to watch out for, but is still nasty. OP minor changes to try to improve integrity (and legibility) plus the addition of OP_IONS OPK addition of OPK_MODEL in order to store a local copy of the model atmosphere. rewrite of OPKRAY to improve legibility edits of OPKH1, OPKHE1, OPKHE2 to match pointers in COMMON_OPKX COMMON_KIEL tidied up a lot (includes COMMON_OPKX) TESTS Radiative transfer: Mode: 3 0 He and C lines OK 11 May 1999 Or were those tests OK? Exhaustive comparisons with Bamberg results point to good correspondence for spectra produced from ATLAS models with Bamberg spectra produced from either ATLAS or STERNE models. Local spectra from ATLAS models do NOT agree with local spectra from STERNE models. The main difference is presumably in the opacities used and in the number of layers in the two models. Checking the QUB and KIEL opacity libraries spectrum/makefile I've finally started to introduce version numbers, thus the version before merger of the OPK libraries is referred to as spectrum1998 while versions following will be spectrum1999.1, spectrum1999.2 etc... spectrum2000.1, ..... A shorter version would habve been spectrum98, etc, but this has the Y2K bug built in. Although this is actually the Y2098 variant, and I'd be dead before anyone noticed. However, I couldn't resist the idea of a program called spectrum2000 - Those charlatans in Queens will probably torpedo the idea altogether, accusing me of stooping to false hopes of fame and grandeur. 13/may/1999 opk/opkh1 More to the point - spectrum1998 no longer works with the 'kiel' library. Does STERNE model work with QUB opacities ? I replaced the call to kiel/OPKC with a call to qub/OPAQUB in subroutine dp/OPAC. Results reasonable. Problem traced to the hydrogen b-f opacity in the Kiel library. I didn't actually discover the bug, but in cleaning up the 'arithemtic IF' statement I managed to make matters worse and then much better. I don't understand this at all - but I like the results! 14/may/1999 dp/integ_feautrier I have changed the call to feautrier to rtf_feautrier, and added the mean intensity (Jnu) in the appropriate places. It works a treat. No NAG routines were used! version 1999.2 is born 14/may/1999 dp/integ_feautrier The synthetic spectrum is jaggy at the .1 % level. It still bugs me. ~15/may/99 something got introduced that made the code go pathological - it seems to give much too strong lines. I gave up at that point and went to work on something else. 15/dec/99 running diagnostic tests 1. The problem is the same for Planck or Feautrier transfer... 2. Running in single-line mode, for H-gamma, I got a floating overflow. For HeI4471, the profiles looked the same in both single-line and syntyhesis mode For C II 4267 the single-line mode was much weaker and more Voigt-like. For CIII 4515 both single-line and synthesis are very similar 3. Run ATLAS (t30g50) and STERNE (30055) models with QUB and Kiel opacities respectively. ATLAS had weaker wings to Stark-broadened lines, mainly becausee of higher gravity. Otherwise everything was much the same. (Interesting that HeII 4686 was stronger in t30g50 than 30055 ) 1. => INTEG is clean 2. => line opacity may be a problem 3. => opacity routines are clean. (unless I had changed the QUB opacities? XX. I think the line-braodening for CII 4267 is probably wrong by a huge factor YY. Synthetic calculation for ATLAS model (+QUB opacity) was not correctly normalized. However these tests seem to agree reasnobly with H/He models for Teff=32000 log g =5.0, made for comparison with Uli's models. Maybe the only problem is jagginess in the helium rich models. 15/2/00 INTEG_FEAUTRIER The treatment of the continuum opacity and fluxes for synthetic spectra has been radically improved. Whilst the continuum fluxes are now caclulated every 10 A, instead of every 5 A, the interpolation is much smoother. The continuum opacities are calculated for each wavelength, which is a problem and increases execution time by about 18%. This could be replaced by an interpoolation, but we haven't figured out an alogorithm yet. The accuracy of the result has eliminated systematic noise at the .02% level. 10/03/00 SP_SYNTH etc.. subroutine version of synthetic pectrum routines for use within other applications. Works for Feautrier rad. transfer, etc.. but not all other modes may work. Should work for Intensities, but not yet tested. 10/03/00 model 001000/2050L.q with H-rich mixture synthesized of 3800-4000A produced a great set of resluts!!! o 1) The Ca H+K line wings were truncated. 2) The Ca H+K line cores were much deeper than any other lines. 3) The Balmer series was truncated at 3889 A.... 3835 was missing. 4) Balmer lines outside (or shortward of XMIN) were not included in the synthesis. Check this for HeI lines as well. 5) An opacity edge at 3875A produced a funny shaped continuum, due to the spline interpllation in the continuum fluxes. 20/3/00 OUTTER Should switch off printing spectrum to terminal for modes 10 amd 11. Its ok on a fast line but redundant and timewasting over a slow link. 27/7/00 INTEG_FEAUT changes in "nr" libraries mean that NR_SPLINE had to be changed to "NR_D_SPLINE". Theire will be a migration to create two libraries, one set with prefix NR_ and another with prefix NR_D_, reflecitin gsingle and double precision respectively. This has only been done for SPLINE and SPLINT so far. 31/8/00 ATSCAN High order Blamer lines are not being included. I reduced the search width in the call to HGRID from +/- 100 A to +/- 10 A. 28/9/00 ATDATA Input for atomics data now comes from the TAP library, which is more complete already than the prefix for "lines.d". The exisiting lines.d files will still work, but the _atomic_ data is ignored (not the line data) I intend, however, to remove the first section of lines.d when making an overall change to the line data file format to bring it into line with other codes. However, the cosmic abundances are taken from TAP_ABSOL which returns null values for elements which have no "solar" abundance. LSYNT Now computes partition functions for ALL ions. There is also a trap for Lithium in the SAHA/Boltzmann equation. This needs to be transferred to LMETAL, I expect. 29/9/00 MAIN If ABUSY<1.00 it is assumed to be fractional. This is disastrous for rare earth elements, where log(AB)+12.0 is till < 1.00 ! I removed the IF statemant for MODES 10 and 11 so that the abundances are assumed always to be log (AB) + 12.0. 2/10/00 LMETAL Partition function and ionization equations for non-diffuse HeI and LiI lines were not correctly treated. This should now be fixed. OUTTER The summary file shows lines which were not identfied from the linelist with input wavelength and null values for remaining columns. ATDATA Introduced a default value for the radiative damping constant for use when none is given... RDAMP_QUB = 2.38E-04 comes from RDAMP = 8 * PI^2 * E^2 * NU_0^2 / 3 M C^3 = 8 * PI^2 * E^2 / 3 * M * C * LAMBDA_0^2 transformed to (QUB dimensions) RDAMP_QUB = (RDAMP/4*PI) * LAMBDA_0^2 / C 5/10/00 LMETAL Number of lines in blend exceeds 4, get segmentation error. Increased the limit to 10 lines, and put in a check to prevent errors. 27/11/00 LHI_ID Last line in each hydrogen series would not retruen NUP correctly, with fatal consequences. Corrected. COMMON_VCS increased number of lines in all series NB - I noticed a comment about a fudge to prevent extrapolation at low densities which should ideally be replaced by introducing a Voigt profile. This has not been done and __may__ be contributory to differences in the UH/CSJ tests which appeared to be affected by line core discrepancies. However, radiative transfer may have been more significant. 30/3/01 ..data/prof_* 1) found a number of errors in the current tabulated HeI lines. All fixed. 2) for some densities, HeI line tables do not extend up to forbidden components: this seems to be causing problems. Need to check that approximation formulae for far wings match tabulated data at high densities. ATHEI_B, HE_I_B, LHEI_B: drafted subroutines to use Beachamp tables for optical lines. Based on HEII subroutines; need to be integrated with other HeI lines and tested. 06/04/01 COMMON_ALL place holders for van der Waal's damping data place holders for Beachamp et al. HeI broadedning data place holders for Dimitrijevic & Sahal Brechot broadening data 08/05/01 SPECTRUM started code to take input from commands rather than as fixed format input .... old version: problem - no choice for nhedat, or other new parameters 1 0 0 3 11 1 4195 4730 1 9.55 2 11.55 0 0 1 5 new version: 0 0 0 0 nsource 3 nhedat 2 mode 11 end 1 4195 4730 1 9.55 2 11.55 0 0 1 5 new version: (explicit version with default values) 0 0 0 0 nmod 1 nmsk 0 wavmax 0 nsource 0 nhedat 1 mode 0 end 1 4195 4730 1 9.55 2 11.55 0 0 1 5 10/05/01 Heii_red.d the wavelengths for several HeII lines were only approximate, leading to errors in synthetic spectra. Note that Heii.d does not contain any wavelength or gf value data. This needs to be added becasue I think we should include all of the available data in SPECTRUM. 30/05/01 Compilation - now being done with f95 -check bounds -p -g1 -O -c AA.. I've got the D & S-B widths incorporated. I have three options ... >> nhestark = 0. Use D & S-B constant values when no value for WE given in He1.d 1. Use D & S-B interpolated values as above 2. Use D & S-B interpolated values in preference to WE from He1.d Testing 1 and 0 in the IR, there is a small difference in the diffuse lines, but not the non-diffuse lines. I currently assume D & S-B give 2WE correctly, and therefore halve it at input. Everything is scaled to NE=1.E15. Interpolating is done linearly in log Ne and log T. Extrapolation is not allowed. I've just realised I have to run some tests in the blue, but I was so relieved to get this far that I thought I'd let you know about progress. There are scarily big changes in all the HEI routines! Although the code is still "backwards compatible" I have started to introduce a new style for the input which I hope will be extended to make it more user friendly. I'll let you guys know the details next week or thereabouts. BB. > > I've got the D & S-B widths incorporated. I have three options ... > > 0. Use D & S-B constant values when no value for WE given in He1.d > 1. Use D & S-B interpolated values as above > 2. Use D & S-B interpolated values in preference to WE from He1.d > > Testing 1 and 0 in the IR, there is a small difference in the diffuse > lines, but not the non-diffuse lines. I would definitely use the D & S-B values all the time i.e. throw out the He1.d data - the reason for this is that we would know where the data came from and how it is being incorporated. Also although I think that it effectively uses the same approx. as the data in He1.d, it is more recent and hence should be just as good. Whether it is worth interpolating is debatable but it should not cause any harm. > > I currently assume D & S-B give 2WE correctly, and therefore halve > it at input. Everything is scaled to NE=1.E15. Interpolating is > done linearly in log Ne and log T. Extrapolation is not allowed. > This worried me - of course after the proton/He+ contribution is included (the proton, I think, is automatically in the He1.d data) the discrepancies may be smaller. CC. Further debugging of HeI routines and data files for blue spectra. Concluded that we should assume values 2WE given by D & S-B are actually WE as these consistently agree better with old values for EWID (except for 3964 which was way too big). Changed default to nhestark = 2. 12.06.2001 VOIGT changed to remove spghetti of goto statements and replace by logical if - then - else - endif blocks. LMETAL removed a bug if multiplet not specified and nearby line had different excitation potiential. These were treated as a blend when they clearly were not. LSYNT resoncance lines or metal lines with very strong damping wings were still being truncated by the DW < 50*DOPP width limit. put a fix in for lines with v small excitation potential. 14.06.2001 WAVEG, OUTTER, OUTDIS Various bugs concerning H and HeI lines when operating in single line mode (0) were corrected. 15.06.2001 LMETAL, WAVEG Corrected bug due to "NLINE" not being defined Line profile is now properly calculated as "no line" when a requested line is not recognised. 19.06.2001 INTEG_PLANCK, EQUIV pld provided changes to give correct use of local continuous opacity and normalisation to the local continuum in spectral synthesis calculations using NSOURCE=0 or 1. 27.06.2001 VCS... copied the VCS data files (Including Doppler shifts) into ..data/ so that they would be shiped with the other line profile data. ...10.2001: Changes implemented by Philip Dufton many refer specifically to the implementation at QUB October 2001 ------------   The main aim of the changes was to implement a new format for the line input data. However, some tidying of the codes was also performed.   1. Directory: /home/model/line_con   Programme convert.f written to tranform data for a single ion or `all' ions to the new format viz.   nel   nion   log gf   log (gamma_e)   log (gamma_r)   log (gamma_w) exc. pot.   mult.   refs.   Programme assume  input in  /home/model/ccp7/lines/lte    output in /home/model/ccp7/lines/lte_new   2. Lte_lines:  a) moved from model/ccp7/bin --> model/ccp7/spectrum/bin  b) modified so that it does not copy ion data c) modified to include 'all' - everything apart from He 'all+' - everything including He c) updated version of the OLD lines_def.d generated to aid tests d) default line list generated in new format and called lines_new.d - no helium lines included   3. dp/ directory renamed as dp_old/   4. In dp/  a) atdata modified to accept new data format - no scaling undertaken for wdam (i.e. left as -99.00) - will have to be changed when vdw broadening included. b) tlusty_rd moved to dp/ and common blocks rearranged to suppress warnings c) atlas_rd - common blocks rearranged to suppress warnings d) gen - opacity calls modified for QUB opacities   5. In qub/  a) opaqub modified so that for silicon and magnesium opacity PARFUN calls replaced by subroutine U b) opaqub changed so that helium and hydrogen wing opacity not included for spectral synthesis c) COMMON_QUB modified to be compatible with COMMON_ALL for common block /MODE/   6. In main/  a) Atlas4000.f modified so that it will compile (commenting out  explicity setting of stream and debug variables) - moved to ARCHIVE b) Atlas.f modified so that common blocks compatible with atlas_rd and calls to opacity routines modified for QUB opacities. b) Tlusty.f modified so that common blocks compatible with tlusty_rd and calls to opacity routines modified for QUB opacities. 7. models/ a) Models below 9000K removed as some are unreliable 8. In spectrum/  a) makefile modified to include commands used at QUB  (e.g. Spec_test, Tlusty_qub) and Atlas4000 removed b) Atlas_qub - new (20000,4.0,p00) model generated and compared with previous version - excellent agrement. c) Tlusty_qub - new (20000,4.0) model generated and compared with previous version - excellent agrement. d) Generate - (21000,3.9,.09) model generated with new and old codes - excellent agreement e) Generate_low removed as some low temperature models seem unreliable see 7a) f) Several tests carried out of spectrum comparing old (spectrum) and new (Spec_test) versions for isolated lines and spectral synthesis (results in dipso stacks in spec_test/) - agreement good.   14.11.2001 LTE_LINES: Armagh version updated, including web pages HETYPE: Corrected to ensure all HeI lines treated correctly. TEST Comparison with model computed in May 2001 was excellent: Folder: /simon/model/test Command: Spectrum ../0199/25040he90L.q ../V652Lines.d ./test2001nov.input Output saved