Module config ! Implicit none ! Character(len = 256) :: fconfig = '' ! Integer :: Z = 0 ! Numéro atomique (nombre de protons) Character(len=2) :: Symbol = '' ! Symbole de l'élément chimique Character(len=4) :: Ion = '' ! Etat d'ionisation (en chiffres romain) Real :: Mass = 0 ! Masse atomique (en uma) Double precision :: Eion_cm = 0.d0 ! Energie d'ionisation (en cm-1) ! Character(len=100) :: f1, f2, f3, f4 ! Noms des fichiers de données atomiques ! Integer :: n_max, l_max Logical :: Lim_E_eV Real :: E_eV_max logical :: user_lev ! Real :: dE_cm, minloggf, maxloggf ! Real :: lambda_min_A, L_MIN Integer :: Nmin, Mwin, Lech, NPTS ! Logical :: ETL ! faux par défaut Real :: Facteur_ETL, Facteur_FIN Logical :: CE_QUANTI, CE_SEATON Real :: TESP_FMIN, CE_UPS Real :: S_H Logical :: CH_QUANTI, CH_DRAWIN, CH_CE, CH_BF, CH_BB_FBD ! Real :: abund Real :: Gs, Gvdw Integer :: NQ,IW Real :: QMAX,Q0 ! Character(len = 3) :: ext1_fig = '' ! Choix d'une extension graphique : eps, png Logical :: lang = .FALSE.! Anglais si vrai français sinon Integer :: Nselect ! choix d'un niveau Integer :: Nraie ! choix d'une raie Logical :: Gro_rad_detail Logical :: phot = .FALSE. ! Logical :: l0, l1, l2, l3, l4, l5, l6, l7 ! Paramètres d'affichage à l'écran ! Integer :: ios, er Logical :: boo ! Namelist /ATOM_NML/ Z,Symbol,Ion,Mass,Eion_cm Namelist /FINP_NML/ f1,f2,f3,f4 Namelist /LEVELS_NML/ Lim_E_eV,E_eV_max,n_max,l_max,user_lev Namelist /RT_BB_NML/ dE_cm,minloggf,maxloggf Namelist /RT_BF_NML/ lambda_min_A, Nmin, Mwin, Lech, NPTS, L_MIN Namelist /CT_NML/ ETL,Facteur_ETL,Facteur_FIN,CE_QUANTI,CE_SEATON, & TESP_FMIN,CE_UPS,CH_QUANTI,CH_CE,CH_DRAWIN,CH_BB_FBD,CH_BF,S_H Namelist /MULTI_NML/ abund,Gvdw, Gs, NQ, QMAX, Q0, IW Namelist /GRAPH_NML/ ext1_fig, lang, Nselect, Nraie, Gro_rad_detail, phot Namelist /DISP_NML/ l0,l1,l2,l3,l4,l5,l6,l7 ! CONTAINS ! !-------------------------------------------------------------------- ! Subroutine INQU_FCONFIG() Do Inquire(file = fconfig, exist = boo) If (boo) EXIT Write(*,'(A)',advance='no')"Give a (correct) input file name: " Read(*,'(A)') fconfig End Do End Subroutine INQU_FCONFIG ! !-------------------------------------------------------------------- ! Subroutine READ_CONFIG() Open(10, file =fconfig,action='read',status='old',iostat=ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR OPENING THE CONFIG FILE" Read(10, nml = ATOM_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST ATOM_NML" Read(10, nml = FINP_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST FINP_NML" Read(10, nml = LEVELS_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST LEVELS_NML" Read(10, nml = RT_BB_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST RT_BB_NML" Read(10, nml = RT_BF_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST RT_BF_NML" Read(10, nml = CT_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST CT_NML" Read(10, nml = MULTI_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST MULTI_NML" Read(10, nml = GRAPH_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST GRAPH_NML" Read(10, nml = DISP_NML, iostat = ios) IF(ios/=0) STOP "PB IN CONFIG MODULE FOR READING NAMELIST DISP_NML" Close(10) End Subroutine READ_CONFIG ! !-------------------------------------------------------------------- ! End Module config