reader.f90 Source File


This file depends on

sourcefile~~reader.f90~~EfferentGraph sourcefile~reader.f90 reader.f90 sourcefile~phys_consts.f90 phys_consts.F90 sourcefile~reader.f90->sourcefile~phys_consts.f90

Files dependent on this one

sourcefile~~reader.f90~~AfferentGraph sourcefile~reader.f90 reader.f90 sourcefile~precipbcs_mod.f90 precipBCs_mod.f90 sourcefile~precipbcs_mod.f90->sourcefile~reader.f90 sourcefile~grid.f90 grid.f90 sourcefile~precipbcs_mod.f90->sourcefile~grid.f90 sourcefile~reader_hdf5.f90 reader_hdf5.f90 sourcefile~reader_hdf5.f90->sourcefile~reader.f90 sourcefile~grid.f90->sourcefile~reader.f90 sourcefile~plasma.f90 plasma.f90 sourcefile~plasma.f90->sourcefile~reader.f90 sourcefile~io.f90 io.f90 sourcefile~plasma.f90->sourcefile~io.f90 sourcefile~potentialbcs_mumps.f90 potentialBCs_mumps.f90 sourcefile~potentialbcs_mumps.f90->sourcefile~reader.f90 sourcefile~potentialbcs_mumps.f90->sourcefile~grid.f90 sourcefile~reader_raw.f90 reader_raw.f90 sourcefile~reader_raw.f90->sourcefile~reader.f90 sourcefile~neutral.f90 neutral.f90 sourcefile~neutral.f90->sourcefile~reader.f90 sourcefile~neutral.f90->sourcefile~grid.f90 sourcefile~multifluid.f90 multifluid.f90 sourcefile~multifluid.f90->sourcefile~precipbcs_mod.f90 sourcefile~multifluid.f90->sourcefile~grid.f90 sourcefile~ionization.f90 ionization.f90 sourcefile~multifluid.f90->sourcefile~ionization.f90 sourcefile~advec_mpi.f90 advec_mpi.f90 sourcefile~multifluid.f90->sourcefile~advec_mpi.f90 sourcefile~sources.f90 sources.f90 sourcefile~multifluid.f90->sourcefile~sources.f90 sourcefile~diffusion.f90 diffusion.f90 sourcefile~multifluid.f90->sourcefile~diffusion.f90 sourcefile~ionization.f90->sourcefile~grid.f90 sourcefile~ionization.f90->sourcefile~neutral.f90 sourcefile~plasma_output_raw.f90 plasma_output_raw.f90 sourcefile~plasma_output_raw.f90->sourcefile~plasma.f90 sourcefile~plasma_output_ncdf.f90 plasma_output_ncdf.f90 sourcefile~plasma_output_ncdf.f90->sourcefile~plasma.f90 sourcefile~gemini.f90 gemini.f90 sourcefile~gemini.f90->sourcefile~precipbcs_mod.f90 sourcefile~gemini.f90->sourcefile~grid.f90 sourcefile~gemini.f90->sourcefile~potentialbcs_mumps.f90 sourcefile~gemini.f90->sourcefile~neutral.f90 sourcefile~gemini.f90->sourcefile~multifluid.f90 sourcefile~gemini.f90->sourcefile~io.f90 sourcefile~potential_comm_mumps.f90 potential_comm_mumps.f90 sourcefile~gemini.f90->sourcefile~potential_comm_mumps.f90 sourcefile~plasma_input_hdf5.f90 plasma_input_hdf5.f90 sourcefile~plasma_input_hdf5.f90->sourcefile~plasma.f90 sourcefile~plasma_input_raw.f90 plasma_input_raw.f90 sourcefile~plasma_input_raw.f90->sourcefile~plasma.f90 sourcefile~plasma_output_hdf5.f90 plasma_output_hdf5.f90 sourcefile~plasma_output_hdf5.f90->sourcefile~plasma.f90 sourcefile~potential2d.f90 potential2d.f90 sourcefile~potential2d.f90->sourcefile~grid.f90 sourcefile~advec_mpi.f90->sourcefile~grid.f90 sourcefile~io.f90->sourcefile~grid.f90 sourcefile~read.f90 read.f90 sourcefile~read.f90->sourcefile~grid.f90 sourcefile~atmos.f90 atmos.f90 sourcefile~atmos.f90->sourcefile~neutral.f90 sourcefile~sources.f90->sourcefile~grid.f90 sourcefile~diffusion.f90->sourcefile~grid.f90 sourcefile~magcalc.f90 magcalc.f90 sourcefile~magcalc.f90->sourcefile~grid.f90 sourcefile~magcalc.f90->sourcefile~io.f90 sourcefile~potential_comm_mumps.f90->sourcefile~grid.f90 sourcefile~potential_comm_mumps.f90->sourcefile~potentialbcs_mumps.f90 sourcefile~mag_hdf5.f90 mag_hdf5.f90 sourcefile~mag_hdf5.f90->sourcefile~io.f90 sourcefile~mag.f90 mag.f90 sourcefile~mag.f90->sourcefile~io.f90 sourcefile~aurora.f90 aurora.f90 sourcefile~aurora.f90->sourcefile~io.f90 sourcefile~output.f90 output.f90 sourcefile~output.f90->sourcefile~io.f90 sourcefile~readgrid_raw.f90 readgrid_raw.f90 sourcefile~readgrid_raw.f90->sourcefile~read.f90 sourcefile~potential_root.f90 potential_root.f90 sourcefile~potential_root.f90->sourcefile~potential_comm_mumps.f90 sourcefile~sources_mpi.f90 sources_mpi.f90 sourcefile~sources_mpi.f90->sourcefile~sources.f90 sourcefile~potential_worker.f90 potential_worker.f90 sourcefile~potential_worker.f90->sourcefile~potential_comm_mumps.f90 sourcefile~input.f90 input.f90 sourcefile~input.f90->sourcefile~io.f90 sourcefile~glow_run.f90 glow_run.F90 sourcefile~glow_run.f90->sourcefile~ionization.f90 sourcefile~mag_raw.f90 mag_raw.f90 sourcefile~mag_raw.f90->sourcefile~io.f90 sourcefile~glow_dummy.f90 glow_dummy.f90 sourcefile~glow_dummy.f90->sourcefile~ionization.f90 sourcefile~readgrid_hdf5.f90 readgrid_hdf5.f90 sourcefile~readgrid_hdf5.f90->sourcefile~read.f90 sourcefile~mag_ncdf.f90 mag_ncdf.f90 sourcefile~mag_ncdf.f90->sourcefile~io.f90 sourcefile~path_exists_intel.f90 path_exists_intel.f90 sourcefile~path_exists_intel.f90->sourcefile~input.f90 sourcefile~aurora_ncdf.f90 aurora_ncdf.f90 sourcefile~aurora_ncdf.f90->sourcefile~aurora.f90 sourcefile~path_exists.f90 path_exists.f90 sourcefile~path_exists.f90->sourcefile~input.f90 sourcefile~aurora_hdf5.f90 aurora_hdf5.f90 sourcefile~aurora_hdf5.f90->sourcefile~aurora.f90 sourcefile~aurora_raw.f90 aurora_raw.f90 sourcefile~aurora_raw.f90->sourcefile~aurora.f90

Contents

Source Code


Source Code

module reader
!! simple file reading procedures

use, intrinsic :: iso_fortran_env, only: stderr=>error_unit
use phys_consts, only: wp, debug

implicit none
private
public :: get_simsize3, get_simsize2, get_grid2, get_Efield, get_precip, get_neutral2, get_neutral3

interface ! reader_{raw,hdf5,nc4}.f90
module subroutine get_simsize2(path, llon, llat)
character(*), intent(in) :: path
integer, intent(out) :: llon, llat
end subroutine get_simsize2

module subroutine get_simsize3(path, lx1, lx2all, lx3all)
character(*), intent(in) :: path
integer, intent(out) :: lx1, lx2all
integer, intent(out), optional :: lx3all
end subroutine get_simsize3

module subroutine get_grid2(path, mlonp, mlatp)
character(*), intent(in) :: path
real(wp), dimension(:), intent(out) :: mlonp, mlatp
end subroutine get_grid2

module subroutine get_Efield(path, flagdirich,E0xp,E0yp,Vminx1p,Vmaxx1p,Vminx2pslice,Vmaxx2pslice,Vminx3pslice,Vmaxx3pslice)
character(*), intent(in) :: path
integer, intent(out) :: flagdirich
real(wp), dimension(:,:), intent(out) :: E0xp,E0yp,Vminx1p,Vmaxx1p
real(wp), dimension(:), intent(out) :: Vminx2pslice,Vmaxx2pslice,Vminx3pslice,Vmaxx3pslice
end subroutine get_Efield

module subroutine get_precip(path, Qp, E0p)
character(*), intent(in) :: path
real(wp), dimension(:,:), intent(out) :: Qp, E0p
end subroutine get_precip

module subroutine get_neutral2(path, dnO,dnN2,dnO2,dvnrho,dvnz,dTn)
character(*), intent(in) :: path
real(wp), dimension(:,:,:), intent(out) :: dnO,dnN2,dnO2,dvnrho,dvnz,dTn
end subroutine get_neutral2

module subroutine get_neutral3(path, dnOall,dnN2all,dnO2all,dvnxall,dvnrhoall,dvnzall,dTnall)
character(*), intent(in) :: path
real(wp), dimension(:,:,:), intent(out) :: dnOall,dnN2all,dnO2all,dvnxall,dvnrhoall,dvnzall,dTnall
end subroutine get_neutral3
end interface

contains


end module reader