mod_thermal_emission Module


Uses

  • module~~mod_thermal_emission~~UsesGraph module~mod_thermal_emission mod_thermal_emission mod_physics mod_physics module~mod_thermal_emission->mod_physics module~mod_comm_lib mod_comm_lib module~mod_thermal_emission->module~mod_comm_lib module~mod_geometry mod_geometry module~mod_thermal_emission->module~mod_geometry module~mod_global_parameters mod_global_parameters module~mod_thermal_emission->module~mod_global_parameters module~mod_geometry->module~mod_comm_lib 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

Used by

  • module~~mod_thermal_emission~~UsedByGraph module~mod_thermal_emission mod_thermal_emission proc~generate_plotfile generate_plotfile proc~generate_plotfile->module~mod_thermal_emission

Variables

Type Visibility Attributes Name Initial
double precision, public :: f_131(1:101)
double precision, public :: f_1354(1:41)
double precision, public :: f_171(1:101)
double precision, public :: f_192(1:60)
double precision, public :: f_193(1:101)
double precision, public :: f_211(1:101)
double precision, public :: f_255(1:60)
double precision, public :: f_263(1:60)
double precision, public :: f_264(1:60)
double precision, public :: f_304(1:101)
double precision, public :: f_335(1:101)
double precision, public :: f_94(1:101)
integer, public :: n_aia
integer, public :: n_eis
integer, public :: n_iris
double precision, public :: t_aia(1:101)
double precision, public :: t_eis1(1:60)
double precision, public :: t_eis2(1:60)
double precision, public :: t_iris(1:41)
double precision, public :: vec_LOS(1:3)
double precision, public :: vec_xI1(1:3)
double precision, public :: vec_xI2(1:3)

Interfaces

interface

  • public subroutine get_subr1(w, x, ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, res)

    Arguments

    Type IntentOptional Attributes Name
    double precision, intent(in) :: w(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,nw)
    double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)
    integer, intent(in) :: ixImin1
    integer, intent(in) :: ixImin2
    integer, intent(in) :: ixImin3
    integer, intent(in) :: ixImax1
    integer, intent(in) :: ixImax2
    integer, intent(in) :: ixImax3
    integer, intent(in) :: ixOmin1
    integer, intent(in) :: ixOmin2
    integer, intent(in) :: ixOmin3
    integer, intent(in) :: ixOmax1
    integer, intent(in) :: ixOmax2
    integer, intent(in) :: ixOmax3
    double precision, intent(out) :: res(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3)

Derived Types

type, public ::  te_fluid

Components

Type Visibility Attributes Name Initial
procedure(get_subr1), public, pointer, nopass :: get_pthermal => null()
procedure(get_subr1), public, pointer, nopass :: get_rho => null()
procedure(get_subr1), public, pointer, nopass :: get_var_Rfactor => null()

Subroutines

public subroutine cartesian_to_spherical(vec_car, vec_sph)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: vec_car(1:3)
double precision, intent(inout) :: vec_sph(1:3)

public subroutine cross_product_loc(vec_in1, vec_in2, vec_out)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: vec_in1(1:3)
double precision, intent(in) :: vec_in2(1:3)
double precision, intent(out) :: vec_out(1:3)

public subroutine dot_product_loc(vec1, vec2, res)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: vec1(1:3)
double precision, intent(in) :: vec2(1:3)
double precision, intent(out) :: res

public subroutine get_EUV(wl, ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, w, x, fl, flux)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: wl
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
double precision, intent(in) :: w(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:nw)
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: flux(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3)

public subroutine get_EUV_image(qunit, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
type(te_fluid), intent(in) :: fl

public subroutine get_EUV_spectrum(qunit, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
type(te_fluid), intent(in) :: fl

public subroutine get_GOES_SXR_flux(xboxmin1, xboxmin2, xboxmin3, xboxmax1, xboxmax2, xboxmax3, fl, eflux)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: xboxmin1
double precision, intent(in) :: xboxmin2
double precision, intent(in) :: xboxmin3
double precision, intent(in) :: xboxmax1
double precision, intent(in) :: xboxmax2
double precision, intent(in) :: xboxmax3
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: eflux

public subroutine get_GOES_flux_grid(ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, w, x, dV, xboxmin1, xboxmin2, xboxmin3, xboxmax1, xboxmax2, xboxmax3, xbmin1, xbmin2, xbmin3, xbmax1, xbmax2, xbmax3, fl, eflux_grid)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
double precision, intent(in) :: w(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,nw)
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)
double precision, intent(in) :: dV(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3)
double precision, intent(in) :: xboxmin1
double precision, intent(in) :: xboxmin2
double precision, intent(in) :: xboxmin3
double precision, intent(in) :: xboxmax1
double precision, intent(in) :: xboxmax2
double precision, intent(in) :: xboxmax3
double precision, intent(in) :: xbmin1
double precision, intent(in) :: xbmin2
double precision, intent(in) :: xbmin3
double precision, intent(in) :: xbmax1
double precision, intent(in) :: xbmax2
double precision, intent(in) :: xbmax3
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: eflux_grid

public subroutine get_SXR(ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, w, x, fl, flux, El, Eu)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
double precision, intent(in) :: w(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,nw)
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: flux(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3)
integer, intent(in) :: El
integer, intent(in) :: Eu

public subroutine get_SXR_image(qunit, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
type(te_fluid), intent(in) :: fl

public subroutine get_Thomson_parameters(Rl, A, B, C, D)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: Rl
double precision, intent(inout) :: A
double precision, intent(inout) :: B
double precision, intent(inout) :: C
double precision, intent(inout) :: D

public subroutine get_cor_image(x_3D, x_image)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: x_3D(1:3)
double precision, intent(inout) :: x_image(1:2)

public subroutine get_cor_image_spherical(x_3D_sph, x_image)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: x_3D_sph(1:3)
double precision, intent(inout) :: x_image(1:2)

public subroutine get_image(qunit, datatype, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
character(len=20), intent(in) :: datatype
type(te_fluid), intent(in) :: fl

public subroutine get_image_datresol(qunit, datatype, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
character(len=20), intent(in) :: datatype
type(te_fluid), intent(in) :: fl

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

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

public subroutine get_spectrum(qunit, datatype, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
character(len=20), intent(in) :: datatype
type(te_fluid), intent(in) :: fl

public subroutine get_spectrum_datresol(qunit, datatype, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
character(len=20), intent(in) :: datatype
type(te_fluid), intent(in) :: fl

public subroutine get_unit_vector_spherical(x_sph, unitv_r, unitv_theta, unitv_phi)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: x_sph(1:3)
double precision, intent(inout) :: unitv_r(1:3)
double precision, intent(inout) :: unitv_theta(1:3)
double precision, intent(inout) :: unitv_phi(1:3)

public subroutine get_whitelight_Thomson(Rl, Rin, Ne, A, B, C, D, fluxTB, fluxPB)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: Rl
double precision, intent(in) :: Rin
double precision, intent(in) :: Ne
double precision, intent(in) :: A
double precision, intent(in) :: B
double precision, intent(in) :: C
double precision, intent(in) :: D
double precision, intent(inout) :: fluxTB
double precision, intent(inout) :: fluxPB

public subroutine get_whitelight_image(qunit, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
type(te_fluid), intent(in) :: fl

public subroutine init_vectors_cartesian()

Arguments

None

public subroutine init_vectors_spherical()

Arguments

None

public subroutine integrate_EUV_datresol(igrid, nXIF1, nXIF2, xIF1, xIF2, dxIF1, dxIF2, fl, EUV, Dpl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: nXIF1
integer, intent(in) :: nXIF2
double precision, intent(in) :: xIF1(nXIF1)
double precision, intent(in) :: xIF2(nXIF2)
double precision, intent(in) :: dxIF1(nXIF1)
double precision, intent(in) :: dxIF2(nXIF2)
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: EUV(nXIF1,nXIF2)
double precision, intent(out) :: Dpl(nXIF1,nXIF2)

public subroutine integrate_SXR_datresol(igrid, nXIF1, nXIF2, xIF1, xIF2, dxIF1, dxIF2, fl, SXR)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: nXIF1
integer, intent(in) :: nXIF2
double precision, intent(in) :: xIF1(nXIF1)
double precision, intent(in) :: xIF2(nXIF2)
double precision, intent(in) :: dxIF1(nXIF1)
double precision, intent(in) :: dxIF2(nXIF2)
type(te_fluid), intent(in) :: fl
double precision, intent(out) :: SXR(nXIF1,nXIF2)

public subroutine integrate_emission_cartesian(igrid, numXI1, numXI2, xI1, xI2, dxI, fl, datatype, EM)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: numXI1
integer, intent(in) :: numXI2
double precision, intent(in) :: xI1(numXI1)
double precision, intent(in) :: xI2(numXI2)
double precision, intent(in) :: dxI
type(te_fluid), intent(in) :: fl
character(len=20), intent(in) :: datatype
double precision, intent(inout) :: EM(numXI1,numXI2)

public subroutine integrate_emission_spherical(igrid, numXI1, numXI2, xI1, xI2, dxI, fl, datatype, EM)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: numXI1
integer, intent(in) :: numXI2
double precision, intent(in) :: xI1(numXI1)
double precision, intent(in) :: xI2(numXI2)
double precision, intent(in) :: dxI
type(te_fluid), intent(in) :: fl
character(len=20), intent(in) :: datatype
double precision, intent(inout) :: EM(numXI1,numXI2)

public subroutine integrate_spectra_cartesian(igrid, wL, dwLg, xS, dxSg, spectra, numWL, numXS, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
double precision, intent(in) :: wL(numWL)
double precision, intent(in) :: dwLg
double precision, intent(in) :: xS(numXS)
double precision, intent(in) :: dxSg
double precision, intent(inout) :: spectra(numWL,numXS)
integer, intent(in) :: numWL
integer, intent(in) :: numXS
type(te_fluid), intent(in) :: fl

public subroutine integrate_spectra_datresol(igrid, wL, dwL, spectra, numWL, numXS, dir_loc, fl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
double precision, intent(in) :: wL(numWL)
double precision, intent(in) :: dwL(numWL)
double precision, intent(inout) :: spectra(numWL,numXS)
integer, intent(in) :: numWL
integer, intent(in) :: numXS
integer, intent(in) :: dir_loc
type(te_fluid), intent(in) :: fl

public subroutine integrate_whitelight_spherical(igrid, numXI1, numXI2, numWI, xI1, xI2, dxI, fl, datatype, WLB)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: numXI1
integer, intent(in) :: numXI2
integer, intent(in) :: numWI
double precision, intent(in) :: xI1(numXI1)
double precision, intent(in) :: xI2(numXI2)
double precision, intent(in) :: dxI
type(te_fluid), intent(in) :: fl
character(len=20), intent(in) :: datatype
double precision, intent(inout) :: WLB(numXI1,numXI2,numWI)

public subroutine output_data(qunit, xO1, xO2, dxO1, dxO2, wO, nXO1, nXO2, nWO, datatype)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
double precision, intent(in) :: xO1(nXO1)
double precision, intent(in) :: xO2(nxO2)
double precision, intent(in) :: dxO1(nxO1)
double precision, intent(in) :: dxO2(nxO2)
double precision, intent(inout) :: wO(nXO1,nXO2,nWO)
integer, intent(in) :: nXO1
integer, intent(in) :: nXO2
integer, intent(in) :: nWO
character(len=20), intent(in) :: datatype

public subroutine spherical_to_cartesian(vec_sph, vec_car)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: vec_sph(1:3)
double precision, intent(inout) :: vec_car(1:3)

public subroutine write_image_vtiCC(qunit, xO1, xO2, dxO1, dxO2, wO, nXO1, nXO2, nWO, nC1, nC2)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
double precision, intent(in) :: xO1(nXO1)
double precision, intent(in) :: xO2(nxO2)
double precision, intent(in) :: dxO1(nxO1)
double precision, intent(in) :: dxO2(nxO2)
double precision, intent(in) :: wO(nXO1,nXO2,nWO)
integer, intent(in) :: nXO1
integer, intent(in) :: nXO2
integer, intent(in) :: nWO
integer, intent(in) :: nC1
integer, intent(in) :: nC2

public subroutine write_image_vtuCC(qunit, xC, wC, dxC, nPiece, nC1, nC2, nWC, datatype)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: qunit
double precision, intent(in) :: xC(nPiece,nC1,nC2,2)
double precision, intent(in) :: wC(nPiece,nC1,nC2,nWC)
double precision, intent(in) :: dxC(nPiece,nc1,nc2,2)
integer, intent(in) :: nPiece
integer, intent(in) :: nC1
integer, intent(in) :: nC2
integer, intent(in) :: nWC
character(len=20), intent(in) :: datatype