get_line_info Subroutine

public subroutine get_line_info(wl, ion, mass, logTe, line_center, spatial_px, spectral_px, sigma_PSF, width_slit)

Uses

  • proc~~get_line_info~~UsesGraph proc~get_line_info get_line_info module~mod_global_parameters mod_global_parameters proc~get_line_info->module~mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: wl
character(len=30), intent(out) :: ion
integer, intent(out) :: mass
double precision, intent(out) :: logTe
double precision, intent(out) :: line_center
double precision, intent(out) :: spatial_px
double precision, intent(out) :: spectral_px
double precision, intent(out) :: sigma_PSF
double precision, intent(out) :: width_slit

Calls

proc~~get_line_info~~CallsGraph proc~get_line_info get_line_info proc~mpistop mpistop proc~get_line_info->proc~mpistop mpi_abort mpi_abort proc~mpistop->mpi_abort

Called by

proc~~get_line_info~~CalledByGraph proc~get_line_info get_line_info proc~get_euv_image get_EUV_image proc~get_euv_image->proc~get_line_info proc~get_image get_image proc~get_euv_image->proc~get_image proc~get_image_datresol get_image_datresol proc~get_euv_image->proc~get_image_datresol proc~get_euv_spectrum get_EUV_spectrum proc~get_euv_spectrum->proc~get_line_info proc~get_spectrum get_spectrum proc~get_euv_spectrum->proc~get_spectrum proc~get_spectrum_datresol get_spectrum_datresol proc~get_euv_spectrum->proc~get_spectrum_datresol proc~get_image->proc~get_line_info proc~integrate_emission_cartesian integrate_emission_cartesian proc~get_image->proc~integrate_emission_cartesian proc~integrate_emission_spherical integrate_emission_spherical proc~get_image->proc~integrate_emission_spherical proc~output_data output_data proc~get_image->proc~output_data proc~get_spectrum->proc~get_line_info proc~integrate_spectra_cartesian integrate_spectra_cartesian proc~get_spectrum->proc~integrate_spectra_cartesian proc~get_spectrum->proc~output_data proc~integrate_emission_cartesian->proc~get_line_info proc~integrate_emission_spherical->proc~get_line_info proc~integrate_spectra_cartesian->proc~get_line_info proc~integrate_spectra_datresol integrate_spectra_datresol proc~integrate_spectra_datresol->proc~get_line_info proc~write_image_vticc write_image_vtiCC proc~write_image_vticc->proc~get_line_info proc~write_image_vtucc write_image_vtuCC proc~write_image_vtucc->proc~get_line_info proc~get_spectrum_datresol->proc~integrate_spectra_datresol proc~get_spectrum_datresol->proc~output_data proc~get_sxr_image get_SXR_image proc~get_sxr_image->proc~get_image proc~get_sxr_image->proc~get_image_datresol proc~get_whitelight_image get_whitelight_image proc~get_whitelight_image->proc~get_image proc~output_data->proc~write_image_vticc proc~output_data->proc~write_image_vtucc proc~get_image_datresol->proc~output_data

Source Code

    subroutine get_line_info(wl,ion,mass,logTe,line_center,spatial_px,&
       spectral_px,sigma_PSF,width_slit)
      ! get information of the spectral line
      ! wl: wavelength
      ! mass: ion mass, unit -- proton mass
      ! logTe: peak temperature of emission line in logarithm
      ! line_center: center wavelength of emission line, unit -- Angstrom (0.1 nm) 
      ! spatial_px: pixel size in space of instrument (for image), unit -- arcsec
      ! spectral_px: pixel size in wagelength of instrument (for spectrum), unit -- Angstrom
      ! sigma_PSF: width of point spread function core (for instrument), unit -- pixel
      ! width_slit: width of slit for spectrograph, unit -- arcsec
      use mod_global_parameters

      integer, intent(in) :: wl
      integer, intent(out) :: mass
      character(len=30), intent(out) :: ion
      double precision, intent(out) :: logTe,line_center,spatial_px,&
         spectral_px
      double precision, intent(out) :: sigma_PSF,width_slit

      select case(wl)
      case(304)
        ion='He II'
        mass=4
        logTe=4.7d0
        line_center=303.8d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=0.895d0
        width_slit=0.6d0
      case(171)
        ion='Fe IX'
        mass=56
        logTe=5.8d0
        line_center=171.1d0
        spatial_px=0.6d0
        spectral_px=0.02d0 
        sigma_PSF=1.019d0
        width_slit=0.6d0
      case(193)
        ion='Fe XXIV'
        mass=56
        logTe=7.3d0
        line_center=193.5d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=0.813d0
        width_slit=0.6d0
      case(211)
        ion='Fe XIV'
        mass=56
        logTe=6.3d0
        line_center=211.3d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=0.913d0
        width_slit=0.6d0
      case(335)
        ion='Fe XVI'
        mass=56
        logTe=6.4d0
        line_center=335.4d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=1.019d0
        width_slit=0.6d0
      case(94)
        ion='Fe XVIII'
        mass=56
        logTe=6.8d0
        line_center=93.9d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=1.025d0
        width_slit=0.6d0
      case(131)
        ion='Fe XXI'
        mass=56
        logTe=7.0d0
        line_center=131.0d0
        spatial_px=0.6d0
        spectral_px=0.02d0
        sigma_PSF=0.984d0
        width_slit=0.6d0
      case(1354)
        ion='Fe XXI'
        mass=56
        logTe=7.0d0
        line_center=1354.1d0
        spatial_px=0.1663d0
        spectral_px=12.98d-3
        sigma_PSF=1.d0
        width_slit=0.33d0
      case(263)
        ion='Fe XVI'
        mass=56
        logTe=6.4d0
        line_center=262.976d0
        spatial_px=1.d0
        spectral_px=22.d-3
        sigma_PSF=1.d0
        width_slit=2.d0
      case(264)
        ion='Fe XXIII'
        mass=56
        logTe=7.1d0
        line_center=263.765d0
        spatial_px=1.d0
        spectral_px=22.d-3
        sigma_PSF=1.d0
        width_slit=2.d0
      case(192)
        ion='Fe XXIV'
        mass=56
        logTe=7.2d0
        line_center=192.028d0
        spatial_px=1.d0
        spectral_px=22.d-3
        sigma_PSF=1.d0
        width_slit=2.d0
      case(255)
        ion='Fe XXIV'
        mass=56
        logTe=7.2d0
        line_center=255.113d0
        spatial_px=1.d0
        spectral_px=22.d-3
        sigma_PSF=1.d0
        width_slit=2.d0
      case default
        call mpistop("No information about this line")
      end select

      spatial_px=spatial_px/instrument_resolution_factor
    end subroutine get_line_info