C: C: LTEPOP 98-09-04 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: QCALC REPLACED BY QPART FOR CO, CH, CN C: C: QJORG 98-08-13 NEW ROUTINE: (ROUPPE VAN DER VOORT) mul22_sub.f C: CALCULATES PARTITION FUNCTIONS FOR CH C: C: QPART 98-08-13 NEW ROUTINE: (ROUPPE VAN DER VOORT) mul22_sub.f C: CALCULATES PARTITION FUNCTIONS FOR CO, CH, CN C: REPLACES OLD QCALC C: C: GENCOL 97-11-11 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: TAUT SPLINE INTERPOLATION INSTEAD OF SPLINE INTERPOLATION TO C: AVOID NEGATIVE VALUES C: C: JFIX 97-09-24 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DPTYPE='H' ADDED C: C: INITIA 97-09-24 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DPTYPE='H' ADDED C: C: DPCONV 97-09-24 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DPTYPE='H' ADDED C: C: DSCAL2 97-09-24 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DPTYPE='H' ADDED C: C: ATMOS 97-09-24 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DPTYPE='H' ADDED C: C: GENCOL 96-03-20 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: WRITE STATEMENT CHANGED TO CONTAIN FEWER CONTINUATION CARDS C: C: ESCAPE 96-03-19 MODIFICATIONS: (SALVADOR ALBA VILLEGAS) mul22_sub.f C: RIJ WAS NOT SET TO ZERO IN SPITE OF COMMENT LINE SAYING SO. C: LEAD TO INCORRECT RESULTS WHEN IWEQW.NE.0 SINCE RIJ WAS C: THEN SET IN LTEEQW C: C: INTERV 95-11-27 MATS CARLSSON mul22_opacu.f C: MFLAG=1 ONLY SET IF X.GT.XT C: C: DETABS 95-11-07 MODIFICATIONS: (SALVADOR ALBA, MATS CARLSSON) mul22_opacu.f C: CORRECT EMISSION F-VALUE USED IN CALL TO SEMIC C: AFFECTS ISOUL=2 (SET BY IOPACL=2) C: C: PPVALU 95-11-06 MATS CARLSSON mul22_opacu.f C: RETURNS VALUE OF FLAG FROM INTERV C: C: FORMAL 95-10-20 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: ERROR CAUSING CNTRB TO BE CALLED ONLY FOR IWLINE.LE.0 AND C: NOT WHEN IDLCNT.NE.0 CORRECTED C: C: CNTRB 95-10-20 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ERROR CAUSING CNTRB TO BE EXECUTED ONLY FOR IWLINE.NE.0 AND C: NOT WHEN IDLCNT.NE.0 CORRECTED C: C: VALCHK 95-10-13 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CHECKS FOR NON-ALLOWED COMBINATION OF NON-SYMMETRIC C: FREQUENCY QUADRATURE AND VELOCITY FIELDS C: C: CORONR 95-09-06 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: COMMON BLOCK CLU CHANGED TO INCLUDE FILE C: C: WRJFIX 95-08-25 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: JFIX WRITING SWITCHED ON BY IWJFIX.NE.0 INSTEAD OF IWRAD.LT.0 C: C: VALCHK 95-08-23 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: NEW CHECKS INTRODUCED C: C: GENCOL 95-08-23 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: THERMAL P-FUNCTION FOR SEMI-EMPIRICAL RATES RENAMED TO PSEMI C: C: ITER 95-08-22 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: COLLISIONAL RADIATIVE SWITCHING NOW SWITCHED ON WITH ICRSW C: ICRSW=-2 GIVES AUTOMATIC MODE C: ICRSW=-1 GIVES INTERACTIVE MODE C: ICRSW.GT.0 GIVES DECREASE OF C: THE SWITCHING PARAMETER WITH ICRSW STEPS PER DECADE C: IN THE INTERACTIVE MODE, A REDO OF THE PREVIOUS ITERATION IS ASKED C: FOR WITH A NEGATIVE VALUE OF SWITCH. ZERO CAUSES SWITCH TO C: AUTOMATIC MODE C: C: ITER 95-08-22 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: COLLISIONAL RADIATIVE SWITCHING NOW SWITCHED ON WITH ICRSW C: ICRSW=-2 GIVES AUTOMATIC MODE C: ICRSW=-1 GIVES INTERACTIVE MODE C: ICRSW.GT.0 GIVES DECREASE OF C: THE SWITCHING PARAMETER WITH ICRSW STEPS PER DECADE C: IN THE INTERACTIVE MODE, A REDO OF THE PREVIOUS ITERATION IS ASKED C: FOR WITH A NEGATIVE VALUE OF SWITCH. ZERO CAUSES SWITCH TO C: AUTOMATIC MODE C: C: TRPT 95-08-21 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WARNING MESSAGES REGULATED BY IWARN C: C: OPAC 95-08-21 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: WARNING MESSAGE TO JOBLOG IF ABUNDANCE AFFECTED BY MOLECULES C: OR IF ABUNDANCE IS TAKEN FROM FILE ABUND AND NOT EQUAL TO C: VALUE IN FILE ATOM C: C: ITER 95-08-21 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: WARNING MESSAGES REGULATED BY IWARN C: C: ITER 95-08-21 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: WARNING MESSAGES REGULATED BY IWARN C: C: ATOM 95-08-21 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CHECKS THAT ENERGY LEVELS ARE NOT TOO CLOSE IN ENERGY C: C: TRANF 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION FIELD INDICATED BY INCRAD.NE.0 C: C: TRANI 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION FIELD INDICATED BY INCRAD.NE.0 C: C: TRANSP 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION SWITCHED ON BY INCRAD.NE.0 INSTEAD OF C: ITRAN=10-14 C: C: TRPT 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION SWITCHED ON BY INCRAD.NE.0 INSTEAD OF C: ITRAN=10-14 C: C: LTEEQW 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: SCATTERING VERSION OF TRANSP USED INSTEAD OF C: SCATTERING LAMBDA ITERATIONS C: C: INITIA 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION SWITCHED ON BY INCRAD.NE.0 INSTEAD OF C: ITRAN=10-14 C: SCATTERING VERSION OF TRANSP USED INSTEAD OF C: SCATTERING LAMBDA ITERATIONS C: C: ITER 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: INCOMING RADIATION SWITCHED ON BY INCRAD.NE.0 INSTEAD OF C: ITRAN=10-14 C: C: ITER 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: INCOMING RADIATION SWITCHED ON BY INCRAD.NE.0 INSTEAD OF C: ITRAN=10-14 C: C: ATOM2 95-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: SCATTERING VERSION OF TRANSP USED INSTEAD OF C: SCATTERING LAMBDA ITERATIONS C: C: WIDL1 95-08-16 NEW ROUTINE: (MATS CARLSSON) mul22_writeidl.f C: WRITES MOST COMMON-BLOCK VARIABLES TO UNFORMATTED FILE IDL1 C: SAME AS IDL VERSION OF WRAD IN VERSIONS 2.1 AND EARLIER C: C: WIDLCN 95-08-16 NEW ROUTINE: (MATS CARLSSON) mul22_writeidl.f C: WRITES INTENSITY CONTRIBUTION FUNCTIONS C: SAME AS IDL VERSION OF WCNTRB IN VERSION 2.1 AND EARLIER C: C: WIDLNY 95-08-16 NEW ROUTINE: (MATS CARLSSON) mul22_writeidl.f C: WRITES A FILE IDLNY WITH DATA SUITABLE FOR INPUT TO IDL C: SAME AS IDL VERSION OF WTEST IN VERSION 2.1 AND EARLIER C: C: TRPT 95-08-16 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: BOTH OLD PRINTOUT ROUTINES (TO FILE OUT) AND IDL PRINTOUT C: ROUTINES ARE CALLED C: C: INTERV 95-08-16 MATS CARLSSON mul22_opacu.f C: INITIALIZATION OF IEXTR MOVED TO BLOCK DATA SUBPROGRAM C: C: ITER 95-08-16 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: BOTH OLD PRINTOUT ROUTINES (TO FILE OUT) AND IDL PRINTOUT C: ROUTINES ARE CALLED C: C: ITER 95-08-16 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: BOTH OLD PRINTOUT ROUTINES (TO FILE OUT) AND IDL PRINTOUT C: ROUTINES ARE CALLED C: C: FORMAL 95-08-16 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: BOTH OLD PRINTOUT ROUTINES (TO FILE OUT) AND IDL PRINTOUT C: ROUTINES ARE CALLED C: C: RINPUT 95-08-04 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: PARAMETER STATEMENT NO LONGER DISTINGUESHES BETWEEN C: REAL AND INTEGER TYPE VARIABLES, NEW MVAR IS THE SUM OF C: THE OLD PARAMETERS MAVAR AND MIVAR. MVAR IS ONLY UPPER C: LIMIT, THE ACTUAL NUMBER OF INPUT VARIABLES IS FOUND BY C: NAMING THE LAST+1 'END ' C: NEW VARIABLES INTRODUCED C: IDL1 WRITE IDL1 FILE C: IDLNY WRITE IDLNY FILE C: IDLCNT WRITE IDLCNT FILE C: INGACC SWITCHES ON NG ACCELERATION C: IOPACL OPACITIES FROM LINES C: ISCAT SCATTERING VERSION OF TRANSP C: INCRAD INCOMING RADIATION FIELD READ C: ICRSW REGULATES COLLISIONAL RADIATIVE SWITCHING C: IWARN REGULATES CLASSES OF WARNING MESSAGES TO WRITE TO JOBLOG C: IWJFIX WRITE JFIX2 FILE C: C: OPINIT 95-08-04 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: BACKGROUND OPACITY FROM LINES SIGNALLED BY IOPACL C: SOURCE FUNCTION OPTION TRANSFERRED TO OPACITY PACKAGE C: C: INITIA 95-03-15 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: IF ISCAT=1 THERE ARE NO SCATTERING LAMBDA ITERATIONS C: C: TRCONT 95-03-11 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: MODIFIED TO WORK WITH TRANSC (SCATTERING FEAUTRIER) C: ABSORPTION PART OF SOURCE FUNCTION IS GIVEN BY C: S(K)-RNY(K)*SBCK(K)+RNY(K)*SC(K) C: C: RINPUT 95-02-27 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: NEW VARIABLES WITH DEFAULT VALUES IF NOT GIVEN IN INPUT FILE: C: ADD DEFAULT VALUE TO CVALUE C: C: TRANSC 95-02-22 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: C: PSEMI 94-08-29 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: MULTIPLE RETURN CHANGED TO SINGLE RETURN TO AVOID C: COMPILER BUG IN DIGITAL FORTRAN C: C: PPVALU 94-07-20 MATS CARLSSON mul22_opacu.f C: SETS VALUE TO 0 IF EXTRAPOLATION C: C: INTERV 94-07-20 MATS CARLSSON mul22_opacu.f C: EXTRAPOLATION RESULTS IN ZERO VALUE AND WARNING MESSAGE C: ONLY 10 WARNINGS PRINTED BUT PROGRAM CONTINUES C: C: OPINIT 94-03-24 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: IOPAC.GE.10 ALLOWED, SIGNALS BACKGROUND OPACITY C: FROM LINES C: C: PROFLL 94-03-23 NEW ROUTINE: (MATS CARLSSON, DAN KISELMAN) mul22_opacu.f C: C: INLIN 94-03-23 NEW ROUTINE (MATS CARLSSON, DAN KISELMAN) mul22_opacu.f C: C: DETABS 94-03-23 MODIFICATIONS: (MATS CARLSSON, DAN KISELMAN) mul22_opacu.f C: BACKGROUND OPACITY FROM LINES INCLUDED C: C: WRBMET 94-03-22 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: IOPAC.GE.10 ALLOWED C: C: FORMAL 94-03-22 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: IOPAC.GE.10 ALLOWED C: C: GENCOL 94-03-08 MODIFICATIONS (PHILIP JUDGE) mul22_opacu.f C: AR85-CH, AR85-CH+, AR85-CHE, AR85-CHE+, FORMALISM ADDED C: C: ELMCLL 94-03-08 NEW ROUTINE (DAN KISELMAN) mul22_opacu.f C: NEW ROUTINE THAT DOES THE SAME THING FOR LINE DATA C: AS ELMCMP DOES FOR LEVEL DATA. IDENTIFICATION IS BASED C: ON LOWER LEVEL OF LINE - ABNILL. C: THE RESULT IS THE ARRAY IELLLL C: C: GENCOL 94-02-22 MODIFICATIONS (PHILIP JUDGE) mul22_opacu.f C: AR85-CEA FORMALISM ADDED C: C: GENCOL 94-01-24 MODIFICATIONS (PHILIP JUDGE) mul22_opacu.f C: AR85 OPTIONS ADDED. ARNAUD AND ROTHENFLUG 1985 C: C: INTERV 94-01-06 MATS CARLSSON mul22_opacu.f C: IEXTR IN COMMON TO ENABLE ZEROING OUTSIDE ROUTINE C: INITIALIZATION WITH DATA STATEMENT IN VIOLATION OF F77 STANDARD C: C: PGJRT 93-08-25 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: C: CNTRB 93-03-25 MODIFICATIONS: (GIUSEPPE SEVERINO, MATS CARLSSON) mul22_sub.f C: CALCULATES CNTRBI AND CNTRBR FOR MU=XMU(NMU) C: C: DETABS 93-03-05 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: RAYLEIGH SCATTERING ON H2 MOLECULES ADDED C: C: WCHANG 93-01-27 MODIFICATIONS: (JO BRULS, MATS CARLSSON) mul22_sub.f C: LOOP LIMIT MDEP CHANGED TO NDEP TO AVOID POSSIBLE C: OVERINDEXING C: C: TRCONT 93-01-21 MODIFICATIONS: (JO BRULS, MATS CARLSSON) mul22_sub.f C: READ OPACITY FILES AT LINE WING FOR IWIDE=1. CORRECTED. C: C: PROFIL 93-01-18 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ADDED OPTION OF HAVING SEVERAL LINES BETWEEN TERMS C: FOR DOCUMENTATION OF VARIABLES, SEE ROUTINE ATOM C: C: DAMP 93-01-18 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ADDED OPTION OF HAVING SEVERAL LINES BETWEEN TERMS C: FOR DOCUMENTATION OF VARIABLES, SEE ROUTINE ATOM C: C: ATOM 93-01-18 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ADDED OPTION OF HAVING SEVERAL LINES BETWEEN TERMS C: FOR DOCUMENTATION OF VARIABLES, SEE ROUTINE ATOM C: C: QTRAV 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: SAVE STATEMENT ADDED C: C: OPEN 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INQUIRE STATEMENT ONLY USED IF OPEN FAILS WITH ERROR C: THIS SHOULD WORK BOTH ON UNIX AND VMS MACHINES C: C: JON 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: SAVE STATEMENT ADDED C: C: DETABS 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: SAVE STATEMENT ADDED C: C: CNTRB 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: SAVE IREC ADDED C: C: ABSKO 92-11-27 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: SAVE STATEMENT ADDED C: C: TRANF 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION FIELD IS SPECIFIED IN IMINUS(0) C: THIS IS INDICATED BY ITRAN.GT.10 C: C: TRANI 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCOMING RADIATION FIELD IS SPECIFIED IN IMINUS(0) C: THIS IS INDICATED BY ITRAN.GT.10 C: C: TRANSP 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ITRAN=10-14 ALLOWED (ITRAN.GT.10 INCLUDES INCOMING RADIATION) C: C: TRPT 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INCIDENT RADIATION FIELD IS SET IF ITRAN.GE.10 C: C: INCDNT 92-10-08 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: READS INCIDENT RADIATION FIELD FROM FILE IMINUS C: C: INITIA 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CALLS INCDNT TO GET INCIDENT RADIATION FIELD IF C: ITRAN.GE.10 C: C: ITER 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: INCIDENT RADIATION FIELD IS SET IF ITRAN.GE.10 C: C: ITER 92-10-08 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: INCIDENT RADIATION FIELD IS SET IF ITRAN.GE.10 C: C: RDALP 92-09-24 NEW ROUTINE: (MATS CARLSSON) mul22_opacu.f C: READS RSTRT C: AR85CEA 94-02-22 NEW ROUTINE: (PHILIP JUDGE) C: 96-03-07 MODIFICATIONS: (PHILIP JUDGE) C: BUG FIXED: CUP INITIALIZED TO ZERO C: C: LTEPOP 92-09-10 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DANGER SIGN LIMIT CHANGED FROM 1.E-37 TO 0.0 C: C: CORONR 92-09-09 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: INTEGER IEL IN WRITE STATEMENT CHANGED TO CHARACTER C: C: GENCOL 92-09-07 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: ADDED OPTIONS RECOMB AND ALPHA C: C: RDBMET 92-08-10 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: JON 92-08-10 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: GENCOL 92-08-10 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: CORONR 92-08-10 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: INJON 92-07-20 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: ELMCMP 92-07-20 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: DETABS 92-07-20 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: INTEGER ARRAYS WITH ELEMENT NAME CHANGED TO CHARACTER ARRAYS C: C: INJON 92-07-05 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: POTENTIAL PROBLEM WITH OVERINDEXING IN C: READ(LABUND,310,END=320) CELIN(I),ABIN(I) C: CORRECTED C: C: ITER 92-06-05 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: TEST OF KREJ AND KEJ INCLUDED TO AVOID ACCESSING C: EJ(0,0) WHEN NRAD=0 C: C: ITER 92-06-05 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: TEST OF KREJ AND KEJ INCLUDED TO AVOID ACCESSING C: EJ(0,0) WHEN NRAD=0 C: C: FORMAL 92-06-05 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: TEST OF KREJ AND KEJ INCLUDED TO AVOID ACCESSING C: EJ(0,0) WHEN NRAD=0 C: C: DETABS 92-04-02 MODIFICATIONS: (PHILIP JUDGE) mul22_opacu.f C: NON-LTE TREATMENT OF LEVELS N > 5 CORRECTED AND F-F OPACITY C: OF H CORRECTED. EARLIER VERSIONS LEAD TO ERRORS ESPECIALLY AT C: TEMPERATURES BELOW ABOUT 2600K. C: C: REDIST 91-06-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: LENGTH OF LABEL1 CHANGED TO 20 CHARACTERS C: C: OPAC 91-02-04 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: RECORD LENGTH OF JNY CHANGED TO MDEP TO SPEED UP I/O C: C: BCONST 91-02-04 MODIFICATIONS: (MATS CARLSSON) mul22_bconst.f C: DATA STATEMENT OF NEWSTA AND IRC MOVED FROM OPEN ROUTINE C: TO BCONST AND TRANSFERED IN CBCNST C: C: BMAT 91-02-01 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: ERROR IN LOCAL OPERATOR CORRECTED C: C: WRITEJ 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: WRITEP 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: WRITEX 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: READJ 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: READP 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: READX 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: I/O ON WHOLE ARRAY INSTEAD OF IMPLICIT LOOP C: C: PROFIL 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INITIALIZING PHI(NDEP+1:MDEP) C: TO ZERO TO ENABLE I/O OF WHOLE ARRAY C: C: OPAC 90-12-28 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: INITIALIZING JNY, XCONT, SCAT AND SC (NDEP+1:MDEP) C: TO ZERO TO ENABLE I/O OF WHOLE ARRAY C: C: DSCAL2 90-12-12 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: OUTPUT FORMAT CHANGED TO F15.9 FROM F12.6 C: C: OPINIT 90-11-08 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: ABNAME CHANGED TO NOT INCLUDE LEADING / C: ABNAME AND LVNAME THEREFORE IDENTICAL C: C: INABS 90-11-08 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: ABNAME CHANGED TO NOT INCLUDE LEADING / C: C: ELMCMP 90-11-08 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: ABNAME CHANGED TO NOT INCLUDE LEADING / C: C: WWMAT 90-10-19 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: DOUBLE PRECISION VERSION. OUTPUTS MATRIX IN SINGLE C: PRECISION C: C: WWMAT 90-10-19 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: DOUBLE PRECISION VERSION. MATRIX OUTPUT IN SINGLE C: PRECISION C: C: ITER 90-10-18 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: NG ACCELERATION ALSO INCLUDED IN HSE INTEGRATION. C: NG ACCELERATION IS SWITCHED ON WHEN HSE STEPS ARE C: PERFORMED FOR EACH ITERATION (EACH HSE STEP GIVES RISE C: TO EMAX.LT.ELIM1). THIS IS ACHIEVED THROUGH ITERATION C: COUNT VARIABLE ITHSE C: C: ITER 90-10-18 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: NG ACCELERATION ALSO INCLUDED IN HSE INTEGRATION. C: NG ACCELERATION IS SWITCHED ON WHEN HSE STEPS ARE C: PERFORMED FOR EACH ITERATION (EACH HSE STEP GIVES RISE C: TO EMAX.LT.ELIM1). THIS IS ACHIEVED THROUGH ITERATION C: COUNT VARIABLE ITHSE C: C: RINPUT 90-10-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ICONV.GE.10 SIGNALS THAT NG ACCELERATION IS NOT TO BE C: PERFORMED. NGACC IS THEN SET .FALSE. AND 10 IS SUBTRACTED C: FROM ICONV. NGACC IS USED IN ITER AND TRANSFERRED IN C: COMMON BLOCK CNGACC C: C: OPEN 90-10-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: IF STATUS='NEW' IS SENT AS ARGUMENT, THE ACTUAL STATUS C: USED IS SET IN VARIABLE NEWSTA IN A DATA STATEMENT C: FOR UNIX MACHINES IT IS AN ADVANTAGE TO SET NEWSTA C: TO 'UNKNOWN' SINCE THERE IS NO VERSION NUMBER MECHANISM C: AND STATUS='NEW' FOR AN EXISTING FILE LEADS TO TERMINATION C: OF THE RUN. C: THE RECORD LENGTH FOR DIRECT ACCESS FILES IS SET TO C: THE NUMBER OF WORDS*IRC WHERE IRC IS A MACHINE DEPENDENT C: FACTOR GIVEN IN A DATA STATEMENT. IF THE RECORD LENGTH IS C: TO BE GIVEN IN 4 BYTE WORDS, IRC SHOULD BE 1 IN SINGLE C: PRECISION, 2 IN DOUBLE PRECISION (EXAMPLES: VAX, DEC ULTRIX) C: IF THE RECORD LENGTH IS TO BE GIVEN IN BYTES, IRC SHOULD BE C: 4 FOR 32 BIT PRECISION, 8 FOR 64 BIT PRECISION RUNS. C: DATA STATEMENT OF NEWSTA AND IRC MOVED FROM OPEN ROUTINE C: TO BCONST AND TRANSFERED IN CBCNST C: C: ITER 90-10-16 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: IMPLEMENTED NG ACCELERATION C: C: ITER 90-10-11 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: ALI INTEGRATION MOVED TO BMAT C: C: NG 90-09-11 NEW ROUTINE: (MARTIN J. STIFT, MATS CARLSSON) mul22_subg.f C: C: NG 90-09-11 NEW ROUTINE: (MARTIN J. STIFT, MATS CARLSSON) mul22_subl.f C: C: BMAT 90-09-11 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: CHANGED TO DO THE INTEGRATION OF ALI INSIDE LOOP C: C: GENCOL 90-08-27 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: DO LOOP 1 REPLACED BY A GOTO TO REMOVE RESTRICTION ON C: NUMBER OF LINES WITH COLLISIONAL DATA C: C: JFIX 90-08-17 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: JFIX FILE IS FIRST OPENED TO READ HEADER WITH INFORMATION C: ON RECORD LENGTH, THEN REOPENED WITH CORRECT RECORD C: LENGTH C: C: WWMAT 90-08-14 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: MULTI 90-08-14 MODIFICATIONS: (MATS CARLSSON) mul22_l.f C: LOCAL OPERATOR VERSION C: C: ITER 90-08-14 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: BMAT 90-08-14 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: CHANGED TO CONTAIN DECLARATION OF W C: W PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: ZMAT 90-07-31 NEW ROUTINE: (MATS CARLSSON) mul22_subg.f C: C: ZMAT 90-07-31 NEW ROUTINE: (MATS CARLSSON) mul22_subl.f C: C: WCHANG 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CHANGED TO CONTAIN DECLARATION OF E C: E PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: WEVEC 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CHANGED TO CONTAIN DECLARATION OF E C: E PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: WWMAT 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: MULTI 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_g.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: MULTI 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_l.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: ITER 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: CHANGED TO CONTAIN DECLARATION OF W AND E C: THESE PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: FORMAL 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: CALL TO WCHANG CHANGED TO INCLUDE DUMMY ARGUMENTS C: IN PLACE OF E,NK1 AND NDEP1 (E IS NOT USED IN WCHANG C: WHEN ICALL=2) C: C: BMAT 90-07-31 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: CHANGED TO CONTAIN DECLARATION OF W C: W PASSED IN ARGUMENT LIST INSTEAD OF IN COMMON TO C: AVOID NK=MK1 AND NDEP=MDEP1 REQUIREMENT C: C: ATMOS 90-07-25 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: TEST NDEP.EQ.MDEP1 TAKEN AWAY. TO BE USED WITH LOCAL C: OPERATOR VERSION C: C: ATOM 90-07-25 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: TEST NK.EQ.MK1 TAKEN AWAY. TO BE USED WITH LOCAL C: OPERATOR VERSION C: C: ENEQ 90-06-08 NEW ROUTINE: (MARTIN J STIFT) mul22_subl.f C: LIKE EQSYST BUT FOR A BLOCK DIAGONAL GRAND MATRIX C: C: BMAT 90-06-08 MODIFICATIONS: (MARTIN J STIFT) mul22_subl.f C: PURELY DIAGONAL LAMBDA OPERATOR C: C: WWMAT 90-06-05 MODIFICATIONS: (MARTIN J STIFT) mul22_subl.f C: LOCAL OPERATOR VERSION C: C: LINEQ 90-06-05 NEW ROUTINE: (MARTIN J STIFT) mul22_subg.f C: C: LINEQ 90-06-05 NEW ROUTINE: (MARTIN J STIFT) mul22_subl.f C: C: ITER 90-06-05 MODIFICATIONS: (MARTIN J. STIFT) mul22_subl.f C: IMPLEMENTED OPTIMUM DIAGONAL LAMBDA OPERATOR ACCORDING C: TO OLSON, AUER AND BUCHLER JQSRT 35,431 (1986) (SEE ALSO C: PULS AND HERRERO A&A 204, 219 (1988)) C: WITH NG ACCELERATION. C: CODING MADE COMPATIBLE WITH OLD MULTI FORMAT BY MC. C: C: GENCOL 90-04-10 MODIFICATIONS: (PHILIP JUDGE) mul22_opacu.f C: LOW TEMPERATURE DIELECTRONIC RECOMBINATION OPTION ADDED C: FOLLOWING NUSSBAUMER AND STOREY (A+A ) C: NOTE THAT ONLY THE RATE DOWNWARD IS ADDED TO THE FIXED RATE C: C: FREQCF 90-03-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: CORRECTED MISSPELLING OF VARIABLE NAME FRQ00 C: AND INDEXING OF ALFACF IN HYDROGENIC OPTION C: (ERRORS GAVE DIVISION BY ZERO AND ERRONEOUS INDEXING) C: C: H1BB 90-02-28 MODIFICATIONS: (MARTIN J. STIFT) mul22_sub.f C: REWRITTEN. UP TO 50 BOUND LEVELS + ONE CONTINUUM LEVEL C: C: H1BF 90-02-28 MODIFICATIONS: (MARTIN J. STIFT) mul22_sub.f C: REWRITTEN. UP TO 50 BOUND LEVELS + ONE CONTINUUM LEVEL C: C: HCOL 90-02-28 MODIFCATIONS: (MARTIN J. STIFT) mul22_sub.f C: REWRITTEN. UP TO 50 BOUND LEVELS + ONE CONTINUUM LEVEL C: C: ATOM 90-01-26 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: LABEL1 CHANGED TO CHARACTER*20 C: C: ITER 90-01-11 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: X(K) MAY BE 0 IF STIMULATED EMISSION EXCEEDS ABSORPTION C: X(K) IS SET TO SIGN(1,X(K))*MAX(ABS(X(K)),1.E-4*XCONT(K)) C: C: ITER 90-01-11 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: X(K) MAY BE 0 IF STIMULATED EMISSION EXCEEDS ABSORPTION C: X(K) IS SET TO SIGN(1,X(K))*MAX(ABS(X(K)),1.E-4*XCONT(K)) C: C: WLINE 90-01-10 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WRITE -99 INSTEAD OF LOG(X) IF X.LE.0 C: C: TAUTSP 89-09-05 MATS CARLSSON mul22_opacu.f C: DIMENSION OF BREAK AND COEF CHANGED FROM 1 TO * TO MAKE C: POSSIBLE CHECK OF INDEX OUT OF BOUNDS C: C: TAUTSP 89-08-30 MATS CARLSSON mul22_opacu.f C: TEST OF ONEMZT CHANGED FROM 0. TO 1.E-11 TO AVOID DIVISION C: BY UNDERFLOWED EXPRESSION (ONEMZT**3) C: C: ITER 89-06-07 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: WHEN SWITCHING WAS USED COLLISIONAL RATES WERE TAKEN C: FROM FIRST CALCULATED VALUES THROUGH VARIABLE COL READ C: FROM DUMC FILE. THIS GAVE ERRORS FOR HYDROGEN WHEN HSE C: INTEGRATIONS WERE PERFORMED SINCE THE UPDATED COLLISIONAL C: RATES WERE OVERWRITTEN WITH THE OLD VALUES. FIXED SO C: THAT COL IS ONLY USED WHEN SWITCH.GT.1.0 AND THE FIRST C: TIME SWITCH=1.0. SECOND CASE CONTROLLED BY VARIABLE OLDSW C: C: ITER 89-06-07 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: WHEN SWITCHING WAS USED COLLISIONAL RATES WERE TAKEN C: FROM FIRST CALCULATED VALUES THROUGH VARIABLE COL READ C: FROM DUMC FILE. THIS GAVE ERRORS FOR HYDROGEN WHEN HSE C: INTEGRATIONS WERE PERFORMED SINCE THE UPDATED COLLISIONAL C: RATES WERE OVERWRITTEN WITH THE OLD VALUES. FIXED SO C: THAT COL IS ONLY USED WHEN SWITCH.GT.1.0 AND THE FIRST C: TIME SWITCH=1.0. SECOND CASE CONTROLLED BY VARIABLE OLDSW C: C: GENCOL 89-06-07 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: DO LOOP VARIABLE IT CHANGED TO JT IN ORDER NOT TO CONFLICT C: WITH THE MAIN ITERATION VARIABLE IT IN ITER C: C: ITER 89-06-06 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: HSEINT ONLY CALLED IF SWITCH=1.0 C: C: ITER 89-06-06 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: HSEINT ONLY CALLED IF SWITCH=1.0 C: C: WRJFIX 89-03-26 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: JFIX FILE NAME CHANGED TO JFIX2 TO ENABLE FIRST INPUT OF C: FILE JFIX AND THEN OUTPUT TO JFIX2. C: C: JON 89-03-24 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: FORMATION OF MOLECULES WAS NOT TAKEN INTO ACCOUNT WHEN CALCULATING C: XNENH AND OPACITIES. THIS HAS BEEN CORRECTED. TOTAL NUMBER C: ABUNDANCES OF ATOMS AFTER MOLECULE FORMATION HAS BEEN TAKEN INTO C: ACCOUNT ARE STORED IN NEW VARIABLE ABUNDM C: PRINTOUT HAS BEEN CHANGED. IONIZATION FRACTIONS FOR HYDROGEN ARE C: NOW THE NON-LTE VALUES. ABUNDANCES ARE THE ABUNDANCES TAKING C: FORMATION OF MOLECULES INTO ACCOUNT C: C: INJON 89-03-24 MODIFICATIONS (MATS CARLSSON) mul22_opacu.f C: FORMATION OF MOLECULES WAS NOT TAKEN INTO ACCOUNT WHEN CALCULATING C: XNENH AND OPACITIES. THIS HAS BEEN CORRECTED. TOTAL NUMBER C: ABUNDANCES OF ATOMS AFTER MOLECULE FORMATION HAS BEEN TAKEN INTO C: ACCOUNT ARE STORED IN NEW VARIABLE ABUNDM C: C: HSEINT 89-03-24 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: DEPTH POINT INDEX K PASSED AS AN ARGUMENT TO ELCNTM C: TO ENABLE CORRECT BMET VALUES TO BE USED BY JON C: C: GENCOL 89-03-24 MODFICATIONS: (PHILIP JUDGE) mul22_opacu.f C: NEW INPUT 'CP' AND 'CH' ADDED FOR INELASTIC COLLISIONS C: WITH NEUTRAL AND IONIZED HYDROGEN. C: 'SEMI ' CHANGED SO THAT THE ABSORPTION OSCILLATOR STRENGTH C: IS REQUIRED FOR INPUT. C: C: ELCNTM 89-03-24 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: DEPTH POINT INDEX K PASSED AS AN ARGUMENT TO ENABLE CORRECT C: BMET VALUES TO BE USED BY JON C: IEPRO CHANGED TO 1 TO ENABLE MOLECULE CALCULATION IN JON C: C: DETABS 89-03-24 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: FORMATION OF MOLECULES WAS NOT TAKEN INTO ACCOUNT WHEN CALCULATING C: XNENH AND OPACITIES. THIS HAS BEEN CORRECTED. TOTAL NUMBER C: ABUNDANCES OF ATOMS AFTER MOLECULE FORMATION HAS BEEN TAKEN INTO C: ACCOUNT ARE STORED IN NEW VARIABLE ABUNDM C: C: WRBMET 89-03-23 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: USES ONLY FIRST WORD IN ATOMID TO CHECK IF OLD BMET ENTRY C: SHOULD BE REPLACED WITH THE ONE NOW CALCULATED C: C: RDBMET 89-03-23 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: SETS FRCION TO 0.0 FOR THE IONIZATION STAGES NOT INCLUDED C: IN BMET FOR ALL ELEMENTS WITH DATA IN BMET C: C: WNIIT 89-03-19 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WRITES UNFORMATTED FILE IN SINGLE PRECISION C: C: WEMAX 89-03-18 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: USES ONE MORE DIGIT IN E FORMAT TO MAKE ROOM FOR SIGN C: TAKES THE LOG OF THE ABSOLUTE VALUE C: C: ITER 89-03-18 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: EMAX PRINTOUT CHANGED TO INCLUDE SIGN AND C: LEVEL/TRANSITION AND DEPTH C: C: ITER 89-03-18 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: EMAX PRINTOUT CHANGED TO INCLUDE SIGN AND C: LEVEL/TRANSITION AND DEPTH C: C: FORMAL 89-03-18 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: EMAX PRINTOUT CHANGED TO INCLUDE SIGN AND C: LEVEL/TRANSITION AND DEPTH C: C: ESCAPE 89-03-07 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: FIRST ORDER VERSION ONLY- 2ND ORDER DIVERGES NEAR TMIN C: IN MANY STARS AND NEAR THE TOP OF THE ATMOSPHERE. THIS IS C: PRESUMABLY OWING TO THE FAST VARIATION OF S(TAU) IN THESE C: REGIONS WHICH IS CONTRARY TO THE ASSUMPTIONS OF THE METHOD C: (SEE E.G. CANFIELD ET AL., AP J 248, 82 (1981) ). C: C: ESCAPE 89-03-06 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: FIRST ORDER COMMENT LINE ADDED: C: TO OBTAIN FIRST ORDER APPROXIMATION SIMPLY ADD THE LINE C: MARKED C*1 WHICH IS COMMENTED OUT. C: C: CNTRB 88-14-05 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: CALCULATIONS FLUX CONTRIBUTION FUNCTIONS C: C: WCONT 88-11-01 MODIFICATION: (PHILIP JUDGE) mul22_sub.f C: ALSO PRINTS RADIATION TEMPERATURES AND C: OUTPUTS FULL CHARACTER STRING LABEL C: C: INTERV 88-10-26 MATS CARLSSON mul22_opacu.f C: SAVE STATEMENT INSERTED, EXTRAPOLATION CHECK CHANGED C: TO WORK FOR THE CASE X=XT C: C: INTERV 88-08-30 MATS CARLSSON mul22_opacu.f C: STOP IF MORE THAN 20 EXTRAPOLATIONS C: C: ESCAPE 88-07-15 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: 2ND ORDER FORM C: C: LTEPOP 88-07-01 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: DEBYE LOWERING OF IONIZATION POTENTIAL TAKEN INTO ACCOUNT C: C: OPINIT 88-06-22 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: CLOSES INPUT FILES IF THEY ARE OPEN MAKING MULTIPLE C: CALLS POSSIBLE C: C: LTEEQW 88-06-22 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ICONV IS SET TO 0 DURING SCATTERING LAMBDA ITERATIONS TO C: AVOID PRINTOUT IN WTEST CALLED FROM TRPT C: C: INITIA 88-06-22 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ICONV IS SET TO 0 DURING SCATTERING LAMBDA ITERATIONS TO C: AVOID PRINTOUT IN WTEST CALLED FROM TRPT C: C: ATOM2 88-06-22 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ICONV IS SET TO 0 DURING SCATTERING LAMBDA ITERATIONS TO C: AVOID PRINTOUT IN WTEST CALLED FROM TRPT C: C: DSCAL2 88-06-01 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: COLUMN MASS TAKEN INTO ACCOUNT C: C: DAMP 88-05-20 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: IF GQ.LT.0 IT IS ASSUMED TO BE LG(C4) C: C: DETABS 88-05-20 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: WRITES CONTRIBUTIONS TO UNFORMATTED FILE IDLOPC C: C: JFIX 88-05-06 NEW ROUTINE: (MATS CARLSSON, PHILIP JUDGE) mul22_sub.f C: CALCULATES FIXED RATES FROM ATOMIC PARAMETERS READ BY C: ATOM INTO COMMON BLOCK CFIX AND A FIXED RADIATION FIELD C: READ FROM FILE JFIX C: C: WRJFIX 88-05-05 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: WRITES JFIX FILE FROM JNY DATA C: USED IN (ITRAD=4) OPTION C: C: SORTJ 88-05-04 NEW ROUTINE: (PHILIP JUDGE) mul22_sub.f C: SORTS ARRAY IN INCREASING ORDER AND RETURNS INDEXING C: USED IN (ITRAD=4) OPTION C: C: INDEXX 88-05-04 NEW ROUTINE: (NUMERICAL RECIPES) mul22_sub.f C: HEAPSORT ALGORITHM C: USED IN (ITRAD=4) OPTION C: C: IPOLW 88-05-04 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: FINDS LINEAR INTERPOLATION WEIGHTS AND INDICES C: USED IN (ITRAD=4) OPTION C: C: FIXRAD 88-05-04 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ITRAD=4 OPTION ADDED. RATE IS THEN CALCULATED USING C: NORMAL ATOMIC PARAMETERS READ BY ATOM INTO COMMON BLOCK C: CFIX AND RADIATION FIELD READ FROM FILE JFIX C: C: FORMAL 88-05-04 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: CALLS WRJFIX C: DSCAL2 IS NOT CALLED IF NO TRANSITIONS ARE IN DETAIL C: C: FREQCF 88-05-04 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: CALCULATES FREQUENCIES FOR FIXED B-F TRANSITIONS (ITRAD=4) C: C: FREQLF 88-05-04 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: CALCULATES FREQUENCIES FOR FIXED B-B TRANSITIONS (ITRAD=4) C: C: DAMPF 88-05-04 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: CALCULATES DAMPING PARAMETERS FOR FIXED B-B TRANSITIONS C: (ITRAD=4) C: C: VALCHK 88-05-03 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ALLOWS ISUM=0, IOPAC=2,3,4 C: NO CHECK ON IWLINE, IWRAD, ICONV C: C: FREQL 88-05-03 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: ADDED OPTIONS GAVE INCORRECT WEIGHTS FOR IND=1 C: THIS AFFECTED COOLING RATES FOR LINES WITH FREQUENCY C: QUADRATURE GIVEN WITH QMAX=Q0 OR QMAX.LT.0 OR Q0.LT.0 C: THE CORRECTED WEIGHTS ARE TWICE THE OLD ONES C: C: ATOM 88-05-03 MODIFICATIONS: (MATS CARLSSON, PHILIP JUDGE) mul22_sub.f C: EXTRA OPTION ADDED FOR INPUT OF FIXED TRANSITIONS WITH C: RATES CALCULATED USING RADIATION FIELD FROM FILE JFIX C: C: OPEN 88-05-02 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: RETURNS THE RECORDLENGTH OF AN OLD DIRECT ACCESS FILE C: C: INJON 88-04-25 MODIFICATIONS (PHILIP JUDGE) mul22_opacu.f C: INPUT CORONAL APPROXIMATION IONIZATION FRACTIONS FROM C: SHULL AND VAN STEENBERG (1982)- SEE ROUTINES CORONA AND RCORON C: C: JON 88-04-23 MODIFICATIONS (PHILIP JUDGE) mul22_opacu.f C: CORONAL APPROXIMATION CALCULATIONS USED FOR LOW GAS PRESSURES AND HIGH C: TEMPERATURES IN ORDER THAT INAPPROPRIATE ION FRACTIONS IN LTE ARE NOT C: USED C: C: ITER 88-04-21 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: VERSION THAT IMPLEMENTS COLLISIONAL-RADIATIVE SWITCHING, C: HUMMER,D.G., VOELS,S.A.: 1988, ASTRON. ASTROPHYS. 192,279 C: SWITCHING IS REGULATED BY ICONV. C: ICONV=2 GIVES INTERACTIVE MODE C: 3 GIVES AUTOMATIC MODE C: C: ITER 88-04-21 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: VERSION THAT IMPLEMENTS COLLISIONAL-RADIATIVE SWITCHING, C: HUMMER,D.G., VOELS,S.A.: 1988, ASTRON. ASTROPHYS. 192,279 C: SWITCHING IS REGULATED BY ICONV. C: ICONV=2 GIVES INTERACTIVE MODE C: 3 GIVES AUTOMATIC MODE C: C: STATEQ 88-04-13 MODIFICATIONS PGJ mul22_sub.f C: INCLUDES A CHECK ON AA(I,I) TO SEE IF THE NET RATES OUT OF A LEVEL C: ARE ZERO C: C: WRBMET 88-03-01 ALTERATIONS: (PHILIP JUDGE) mul22_opacu.f C: ALSO WRITES COMPUTED PARTITION FUNCTIONS FOR CONSISTENCY C: C: RDBMET 88-03-01 ALTERATIONS: (PHILIP JUDGE) mul22_opacu.f C: ALSO READS COMPUTED PARTITION FUNCTIONS FOR CONSISTENCY C: THESE ARE STORED IN ZNLTE C: C: WWMAT 88-02-26 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: WRITES RIGHT HAND SIDE TO FILE IN LAST RECORD C: C: WWMAT 88-02-26 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: WRITES RIGHT HAND SIDE TO FILE IN LAST RECORD C: C: WN 88-02-04 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: POPULATION DENSITIES AND DEPARTURE COEFFICIENTS WRITTEN C: SEPARATELY. DEPARTURE COEFFICIENTS DEFINED AS N/NSTAR C: C: WRAD 88-02-04 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: HEADERS LEAVE ROOM FOR 20 CHARACTER ATOMIC LEVEL LABELS C: LABELS ARE CENTERED C: C: WSTART 88-02-04 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: POPULATION DENSITIES AND DEPARTURE COEFFICIENTS WRITTEN C: SEPARATELY. DEPARTURE COEFFICIENTS DEFINED AS N/NSTAR C: C: BMAT 88-02-04 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: BOUNDARY CONDITION FOR DTAUQ.GT.DIFF AND K=1 CORRECTED C: C: LTEEQW 88-02-02 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: MEAN INTENSITY IS LAMBDA ITERATED TO CORRECTIONS SMALLER C: THAN ELIM2 C: C: LTEPOP 88-02-01 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: PROVISION FOR MOLECULES ADDED C: C: JON 88-01-30 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: DOUBLE PRECISION USED WHEN CALCULATING THE IONIZATION C: FRACTIONS TO AVOID OVERFLOW/UNDERFLOW AT HIGH TEMPERATURES C: CALCULATION OF TOTAL NUMBER DENSITIES OF C, N, O, CH, CO, CN C: ADDED. THESE AND NH2 TRANSFERED IN COUT C: C: WLGMX 88-01-26 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WRITES MAX AND MIN TAUQ INSTEAD OF MAX DELTA LG S, PMS C: C: MXDLG 88-01-26 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: INSTEAD OF MAX DELTA LG S AND MAX STEP IN P-S C: THE MAXIMUM AND MINIMUM LG TAUNY(MU=NMU) AT EACH DEPTHPOINT IS C: STORED C: C: WCNTRB 88-01-21 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: WRITES INTENSITY CONTRIBUTION FUNCTIONS C: C: WRBMET 88-01-21 NEW ROUTINE: (MATS CARLSSON) mul22_opacu.f C: WRITES DEPARTURE COEFFICIENTS OF BACKGROUND ABSORBERS C: UPPSALA OPACITY PACKAGE INTERFACE ROUTINE C: C: TRCONT 88-01-21 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: STORES CONTINUUM INTENSITY FOR USE IN CONTRIBUTION FUNCTIONS C: C: RDBMET 88-01-21 NEW ROUTINE: (MATS CARLSSON, PHILIP JUDGE) mul22_opacu.f C: READS DEPARTURE COEFFICIENTS OF BACKGROUND ABSORBERS C: UPPSALA OPACITY PACKAGE INTERFACE ROUTINE C: C: OPAC 88-01-21 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: THIS IS A VERSION USING THE UPPSALA BACKGROUND OPACITY PACKAGE C: MODIFIED FOR THE INCLUSION OF NON-LTE EFFECTS C: C: OPINIT 88-01-21 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: UPPSALA OPACITY PACKAGE INTERFACE ROUTINE C: C: FORMAL 88-01-21 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: CALLS CONTRIBUTION FUNCTION ROUTINES C: CALLS WRBMET C: C: CNTRB 88-01-21 NEW ROUTINE: (MATS CARLSSON) mul22_sub.f C: CALCULATES INTENSITY CONTRIBUTION FUNCTIONS AND TAUQ C: FOR MU=NMU C: C: ELCNTM 88-01-20 NEW ROUTINE: (MATS CARLSSON) mul22_opacu.f C: UPPSALA OPACITY PACKAGE INTERFACE ROUTINE C: C: WEQW 88-01-19 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WEQ/WEQLTE IS SET TO 0.0 IF WEQLTE=0.0 C: C: DAMP 88-01-19 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: IF GW=0 LEVELS WITHOUT OVERLYING CONTINUUM ARE ALLOWED C: C: ATOM 88-01-19 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: NQ IS TESTED AGAINST MQ TO AVOID ILLEGAL ADDRESS C: C: JON 88-01-18 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: NON-LTE OPTION FOR IONIZATION FRACTIONS ADDED C: C: DSCAL2 87-12-15 MODIFICATIONS: (PHILIP JUDGE, MATS CARLSSON) mul22_sub.f C: IONIZATION RATIO CHANGES TAKEN INTO ACCOUNT FOR H RUNS C: C: HSEINT 87-12-11 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: REWRITTEN TO FIT UPPSALA OPACITY PACKAGE C: C: ESCAPE 87-12-11 NEW ROUTINE: (PHILIP JUDGE) mul22_sub.f C: LOCAL ESCAPE PROBABILITY TRANSFER SOLVER C: C: STATEQ 87-12-10 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: IF ISUM=0 ISUM IS SET TO THE LEVEL WITH THE LARGEST C: POPULATION AT EACH DEPTH-POINT. THIS MODIFICATION ALSO C: AFFECTS VALCHK AND ITER C: C: ITER 87-12-10 MODIFICATIONS: (MATS CARLSSON) mul22_subg.f C: IF ISUM=0 ISUM IS SET TO THE LEVEL WITH THE LARGEST C: POPULATION AT EACH DEPTH-POINT. THIS MODIFICATION ALSO C: AFFECTS VALCHK AND STATEQ C: C: ITER 87-12-10 MODIFICATIONS: (MATS CARLSSON) mul22_subl.f C: IF ISUM=0 ISUM IS SET TO THE LEVEL WITH THE LARGEST C: POPULATION AT EACH DEPTH-POINT. THIS MODIFICATION ALSO C: AFFECTS VALCHK AND STATEQ C: C: MOL 87-10-20 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: NON-LTE OPTION ADDED. FE IS THEN FIXED TO BE NE/NHT AND C: THE CHARGE CONSERVATION EQUATION IS NOT USED. C: C: JON 87-10-20 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: NON-LTE OPTION FOR MOLECULES ADDED. NE/NHT IS THEN FIXED C: C: INJON 87-10-16 MODIFICATIONS: (MATS CARLSSON): mul22_opacu.f C: ABUNDANCES ARE READ FROM FILE 'ABUND' WHERE THEY ARE GIVEN C: EITHER RELATIVE TO HYDROGEN A(H)=1.0 OR ON A LOGARITHMIC SCALE C: A(H)=12.0. THE FORMAT IS (ID,ABUNDANCE) (A3,E15.0). THE ID C: SHOULD CORRESPOND TO THE ID IN THE ABSDAT FILE C: GRPH, SUMABN AND SUMMY ARE STORED FOR USE IN MULTI ROUTINES C: C: JON 87-05-30 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: NTP IS INCLUDED IN THE ARGUMENT-LIST TO JON TO MAKE NON-LTE C: INCLUSION AND INTERFACE TO MULTI PROGRAM EASIER (ALSO C: AFFECTS ABSKO) C: COMMON BLOCKS HYDCOM, CIN, CXNENH AND COPBID INCLUDED FOR C: COMMUNICATION WITH MULTI AND WITH DETABS C: ACTUAL HYDROGEN POPULATIONS ADDED UP AND ''LTE'' POPULATIONS C: CALCULATED USING ACTUAL PROTON DENSITY AND SAHA RELATION C: C: INABS 87-05-30 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: ABNAME AND SOURCE CHANGED FROM DOUBLE PRECISION TO C: CHARACTER*20 C: FORMATS 105 AND 211 CHANGED ACCORDINGLY C: ABNAME CONTAINED IN COMMON BLOCK /CNAME/ C: POSSIBILITY OF INPUT DATA WITH PHOTOIONIZATION CROSSECTIONS C: GIVEN LEVEL BY LEVEL. THIS IS INDICATED WITH THE CHARACTER / C: AS THE FIRST CHARACTER IN ABNAME. IN THAT CASE AN EXTRA LINE C: IS READ (FREE FORMAT) CONTAINING IONIZATION STAGE (1=NEUTRAL), C: EXCITATION ENERGY IN CM-1 AND THE STATISTICAL WEIGHT OF THE C: LEVEL. THE ELEMENT NAME IS FOUND BY EXTRACTING THE TEXT C: BETWEEN / AND THE FIRST BLANK IN ABNAME. THIS NAME IS COMPARED C: WITH ARRAY CEL READ BY INJON TO FIND ELEMENT NUMBER THE C: INFORMATION IS STORED IN COMMON BLOCK /CLEVD/. THE COMPARISON C: IS CARRIED OUT IN ROUTINE ELMCMP C: C: ABSKO 87-05-30 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: NTP IS INCLUDED IN THE ARGUMENT-LIST TO JON TO MAKE NON-LTE C: INCLUSION AND INTERFACE TO MULTI PROGRAM EASIER C: C: INITIA 87-05-21 MODIFICATIONS: (MATS CARLSSON, PHILIP JUDGE) mul22_sub.f C: ESCAPE PROBABILITY OPTION ADDED C: C: GENCOL 87-05-21 NEW ROUTINE: (PHILIP JUDGE) mul22_opacu.f C: GENERAL COLLISONAL ROUTINE READING TABLES C: C: DETABS 87-05-21 MODIFICATIONS: (MATS CARLSSON) mul22_opacu.f C: COMMON BLOCK /CA2/ ADDED TO MAKE VARIABLE NKOMP AVAILABLE C: COMPONENTS 17 - NKOMP-6 BF CONTINUA GIVEN LEVEL BY LEVEL C: C: LTEPOP 87-04-07 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: A DANGER SIGN IS OUTPUT WHEN ZERO POPULATIONS ARE FOUND. C: C: ATMOS 86-12-15 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: NH(I,K)=0 IN INPUT ATMOSPHERIC FILE IS ALLOWED C: THIS GAVE LOG OF 0.0 IN VERSION 1.0 15-AUG-86 C: C: WEQW 86-10-01 MODIFICATIONS: (PHILIP JUDGE) mul22_sub.f C: OUTPUT INTEGRATED FLUXES C: C: TRANI 86-09-04 NEW ROUTINE: (GORAN SCHARMER) mul22_sub.f C: INTEGRAL CUBIC SPLINE FORMAL SOLVER C: C: TRANSP 86-09-04 MODIFICATIONS: (GORAN SCHARMER, MATS CARLSSON) mul22_sub.f C: INCLUDES CALL TO CUBIC SPLINE INTEGRAL FORMAL SOLVER C: C: WEMAX 86-06-28 MODIFICATIONS: (MATS CARLSSON) mul22_sub.f C: WRITES BOTH TO OUTPUT FILE AND TO TERMINAL