subroutine get_EUV_image(qunit,fl)
use mod_global_parameters
integer, intent(in) :: qunit
type(te_fluid), intent(in) :: fl
character(20) :: datatype
integer :: mass
character (30) :: ion
double precision :: logTe,lineCent,sigma_PSF,spaceRsl,wlRsl,wslit
double precision :: t0,t1
t0=MPI_WTIME()
datatype='image_euv'
call get_line_info(wavelength,ion,mass,logTe,lineCent,spaceRsl,wlRsl,&
sigma_PSF,wslit)
if (mype==0) then
print *, '###################################################'
print *, 'Systhesizing EUV image'
write(*,'(a,f8.3,a)') ' Wavelength: ',lineCent,' Angstrom'
print *, 'Unit of EUV flux: DN s^-1 pixel^-1'
endif
if (dat_resolution) then
if (coordinate/=cartesian) call MPISTOP(&
'EUV synthesis: only cartesian is supported for .dat resolution!')
if (mype==0) then
write(*,'(a,f7.1,a,f7.1,a,f5.1,a,f5.1,a)') ' Supposed Pixel: ',&
spaceRsl*725.0,' km x ',spaceRsl*725.0, ' km (', spaceRsl,&
' arcsec x ', spaceRsl, ' arcsec)'
if (SI_unit) then
write(*,'(a,f8.1,a)') ' Unit of length: ',unit_length/1.d6,' Mm'
else
write(*,'(a,f8.1,a)') ' Unit of length: ',unit_length/1.d8,' Mm'
endif
endif
if (LOS_phi==0 .and. LOS_theta==90) then
call get_image_datresol(qunit,datatype,fl)
else if (LOS_phi==90 .and. LOS_theta==90) then
call get_image_datresol(qunit,datatype,fl)
else if (LOS_theta==0) then
call get_image_datresol(qunit,datatype,fl)
else
call MPISTOP('ERROR: Wrong LOS for synthesizing emission!')
endif
else
if (mype==0) then
write(*,'(a,f7.1,a,f7.1,a,f5.1,a,f5.1,a)') ' Pixel: ',spaceRsl*725.0,&
' km x ',spaceRsl*725.0, ' km (', spaceRsl, ' arcsec x ',&
spaceRsl, ' arcsec)'
if (activate_unit_arcsec) then
print *, 'Unit of length: arcsec (~725 km)'
else
if (SI_unit) then
write(*,'(a,f8.1,a)') ' Unit of length: ',unit_length/1.d6,' Mm'
else
write(*,'(a,f8.1,a)') ' Unit of length: ',unit_length/1.d8,' Mm'
endif
endif
endif
if (coordinate==cartesian) then
if (mype==0) write(*,'(a,f8.3,f8.3,f8.3,a)') ' Mapping: [',&
x_origin(1),x_origin(2),x_origin(3),&
'] of the simulation box is located at [X=0,Y=0] of the image'
call get_image(qunit,datatype,fl)
else if (coordinate==spherical) then
if (mype==0) write(*,'(a,f6.3,f8.3,f8.3,a)') &
' Mapping: R=0 of the simulation box is located at [X=0,Y=0] of the image'
call get_image(qunit,datatype,fl)
else
call MPISTOP("EUV synthesis: this coordinate is not supported!")
endif
endif
t1=MPI_WTIME()
if (mype==0) print *, 'time comsuming: ',t1-t0,' s'
if (mype==0) print *,&
'###################################################'
end subroutine get_EUV_image