ADAS Subroutine h9ispf
SUBROUTINE H9ISPF( LPEND , NDTIN , & IL , NDTEM , & NV , TSCEF , TSCEF2 , & ITRAN , I1A , I2A , & FTYPE , TITLE , & ISTRN , IFOUT , & MAXT , TINE , & LFSEL , LOSEL , & TOLVAL , & DTYPE , KAP_VAL , DRU_VAL , & ADF37 & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: H9ISPF ********************* C C PURPOSE: PIPE COMMUNICATIONS WITH IDL AND TO RETURN USER SELECTED C OPTIONS AND VALUES. C C CALLING PROGRAM: ADAS809 C C SUBROUTINE: C C I/O : (L*4) LPEND = .TRUE. => END ANALYSIS OF CURRENT DATA C SETS C = .FALSE. => CONTINUE PANALYSIS WITH CURRENT C DATA SETS C C INPUT : (I*4) NDTIN = MAX. NUMBER OF TEMPERATURES ALLOWED C C INPUT : (I*4) IL = NUMBER OF ENERGY LEVELS C C INPUT : (I*4) NDTEM = INPUT DATA FILE: MAX. NO. OF TEMPERATURES C C INPUT : (I*4) NV = INPUT DATA FILE: NUMBER OF TEMPERATURES C C INPUT : (R*8) TSCEF(,) = INPUT DATA FILE: ELECTRON TEMPERATURES, OR C 2/3 AVERAGE ENERGY OF A NUMERICAL C DISTRIBUTION C 2ND DIMENSION: 1 => KELVIN (IFOUT=1) C 2 => EV (IFOUT=2) C 3 => REDUCED (IFOUT=3) C C INPUT : (R*8) TSCEF2(,)= INPUT DATA FILE: MOST COMMON ELECTRON C 'TEMPERATURE' FOR A NUMERICAL DISTRIBUTION, C OR A ZERO ARRAY IN ANALYTIC CASE C 2ND DIMENSION: 1 => KELVIN (IFOUT=1) C 2 => EV (IFOUT=2) C 3 => REDUCED (IFOUT=3) C C INPUT : (I*4) ITRAN = NUMBER OF ELECTRON IMPACT TRANSITIONS C C INPUT : (I*4) I1A() = ELECTRON IMPACT TRANSITION: C LOWER ENERGY LEVEL INDEX C C INPUT : (I*4) I2A() = ELECTRON IMPACT TRANSITION: C UPPER ENERGY LEVEL INDEX C C INPUT : (C*6) FTYPE = TYPE OF FILE SELECTED AS COMPARISON C C OUTPUT: (C*40) TITLE = USER ENTERED GENERAL TITLE FOR PROGRAM RUN C C OUTPUT: (I*4) ISTRN = SELECTED ELECTRON IMPACT TRANSITION INDEX C C OUTPUT: (I*4) IFOUT = 1 => INPUT TEMPERATURES IN KELVIN C = 2 => INPUT TEMPERATURES IN EV C = 3 => INPUT TEMPERATURES IN REDUCED FORM C C OUTPUT: (I*4) MAXT = NUMBER OF INPUT TEMPERATURES ( 1 -> 20) C C OUTPUT: (R*8) TINE() = ELECTRON TEMPERATURES (UNITS: SEE 'IFOUT') C C OUTPUT: (L*4) LFSEL = .TRUE. => CARRY OUT MINIMAX POLYNOMIAL C FITTING C = .FALSE. => - DO NOT DO THE ABOVE - C C OUTPUT: (R*8) TOLVAL = FRACTIONAL TOLERANCE FOR MINIMAX FIT C (=0 IF MINIMAX FIT NOT SELECTED) C C OUTPUT: (L*4) LOSEL = .TRUE. => CALCULATE INTERPOLATED VALUES C FOR OUTPUT. C = .FALSE. => - DO NOT DO THE ABOVE - C C OUTPUT: (I*8) DTYPE = DISTRIBUTION TYPE SUCH THAT: C 0 => MAXWELLIAN C 1 => KAPPA C 2 => NUMERICAL C OUTPUT: (R*8) KAP_VAL = VALUE OF KAPPA C C C C (I*4) ILOGIC = RETURN VALUE FROM IDL WHICH IS USED TO C REPRESENT A LOGICAL VARIABLE SINCE IDL C DOES HAVE SUCH DATA TYPES. C C (I*4) I = GENERAL PURPOSE COUNTER C C (I*4) J = GENERAL PURPOSE COUNTER C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------ C XXFLSH IDL-ADAS CALLS 'FLUSH' TO CLEAR PIPE C C AUTHOR: HUGH SUMMERS (UNIV. OF STRATHCLYDE) C C DATE: 30/11/01 C C DATE: 07/04/05 C MODIFIED: ALLAN WHITEFORD C - ADDED FORMAT STATEMENT TO READING FROM PIPE C----------------------------------------------------------------------- CHARACTER*80 ADF37 CHARACTER*6 FTYPE CHARACTER*40 TITLE INTEGER DTYPE, I1A(ITRAN), I2A(ITRAN), IFOUT INTEGER IL, ISTRN, ITRAN, MAXT INTEGER NDTEM, NDTIN, NV LOGICAL LFSEL, LOSEL, LPEND REAL*8 DRU_VAL, KAP_VAL, TINE(NDTIN), TOLVAL REAL*8 TSCEF(NDTEM,3), TSCEF2(NDTEM,3)