Procedure | Location | Procedure Type | Description |
---|---|---|---|
advec1D_DC | advec | Function | |
advec1D_MC | advec | Function | |
advec1D_MC_curv | advec_mpi | Function | |
advec2D_MC | advec | Function | |
advec3D_MC | advec | Function | |
advec3D_MC_mpi | advec_mpi | Interface | OVERLOAD ADVECTION TO DEAL WITH THE CURVILINEAR GRID/MESH STRUCTURE. NOTE THAT THE LOWER-LEVEL CALLS ARE DISTINCT, NOT-OVERLOADED PROCEDURES. |
advec3D_MC_mpi_curv_23 | advec_mpi | Function | |
advec3D_MC_mpi_curv_3 | advec_mpi | Function | |
advec_prep | advec | Subroutine | |
advec_prep_mpi | advec_mpi | Interface | |
advec_prep_mpi_23 | advec_mpi | Subroutine | COMPUTE INTERFACE VELOCITIES AND LOAD UP GHOST CELLS FOR FLUID STATE VARIABLES |
advec_prep_mpi_3 | advec_mpi | Subroutine | COMPUTE INTERFACE VELOCITIES AND LOAD UP GHOST CELLS FOR FLUID STATE VARIABLES |
assert_directory_exists | input | Interface | |
assert_file_exists | input | Subroutine | throw error if file does not exist this accomodates non-Fortran 2018 error stop with variable character |
assert_file_exists | potentialBCs_mumps | Subroutine | throw error if file does not exist this accomodates non-Fortran 2018 error stop with variable character |
backEuler1D | PDEparabolic | Function | MINX1 BOUNDARY FIRST INTERIOR GRID POINT INTERIOR GRID POINTS ix1-2 grid point, sub-diag. ix1+2 grid point LAST INTERIOR GRID POINT MAXX1 BOUNDARY ## DO SOME STUFF TO CALL LAPACK'S BANDED SOLVER |
backEuler3D | diffusion | Interface | |
backEuler3D_curv | diffusion | Function | SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS. |
bcast_recv | mpimod | Interface | |
bcast_recv1D_2 | mpimod | Interface | |
bcast_recv1D_23 | mpimod | Interface | |
bcast_recv1D_23_2 | mpimod | Interface | |
bcast_recv1D_23_3 | mpimod | Interface | |
bcast_recv1D_3 | mpimod | Interface | |
bcast_recv1D_old3 | mpimod | Interface | |
bcast_recv2D_23 | mpimod | Interface | |
bcast_recv2D_23_3 | mpimod | Interface | |
bcast_recv3D_23 | mpimod | Interface | |
bcast_recv3D_ghost | mpimod | Interface | |
bcast_recv3D_ghost_23 | mpimod | Interface | |
bcast_recv3D_x2i | mpimod | Interface | |
bcast_recv3D_x2i_23 | mpimod | Interface | |
bcast_recv3D_x3i | mpimod | Interface | |
bcast_recv3D_x3i_23 | mpimod | Interface | |
bcast_recv4D_23 | mpimod | Interface | |
bcast_send | mpimod | Interface | |
bcast_send1D_2 | mpimod | Interface | |
bcast_send1D_23 | mpimod | Interface | |
bcast_send1D_23_2 | mpimod | Interface | |
bcast_send1D_23_3 | mpimod | Interface | |
bcast_send1D_3 | mpimod | Interface | |
bcast_send2D_23 | mpimod | Interface | |
bcast_send3D_23 | mpimod | Interface | |
bcast_send3D_ghost | mpimod | Interface | |
bcast_send3D_ghost_23 | mpimod | Interface | |
bcast_send3D_x2i | mpimod | Interface | |
bcast_send3D_x2i_23 | mpimod | Interface | |
bcast_send3D_x3i | mpimod | Interface | |
bcast_send3D_x3i_23 | mpimod | Interface | |
bcast_send4D_23 | mpimod | Interface | |
capacitance | collisions | Subroutine | kludge the value to account for a magnetosheric contribution this is just a random guess that makes the KHI examples work well; a better value should be investigated |
CCOR | msis00_gfortran.f | Function | |
CCOR2 | msis00_gfortran.f | Function | |
chapman_a | calculus | Function | |
check_ini_io | input | Subroutine | checks for EOF and gives helpful error this accomodates non-Fortran 2018 error stop with variable character |
check_mumps_status | PDEelliptic | Subroutine | check if Mumps error occurred |
check_nml_io | input | Subroutine | checks for EOF and gives helpful error this accomodates non-Fortran 2018 error stop with variable character |
clean_param | multifluid | Subroutine | |
clear_dneu | neutral | Subroutine | |
clear_grav | grid | Subroutine | DEALLOCATE GRAV. FIELD ARRAY. |
clear_grid | grid | Subroutine | |
clear_potential_fileinput | potentialBCs_mumps | Subroutine | |
clear_precip_fileinput | precipBCs_mod | Subroutine | |
clear_unitvecs | grid | Subroutine | DEALLOCATE GRID UNIT VECTORS, WHICH TAKE UP A LOT OF MEMORY |
compiler_log | output | Subroutine | |
conductivities | collisions | Subroutine | cyclotron, abs() is sketch, needs to be checked. Basically a negative sign here is fine, while abs messes up direction of Hall current cyclotron, a negative sign from B1 here is fine for cartesian, but for dipole this should be the magnitude since the magnetic field is assumed to be along the x1-direction |
copyfile | pathlib | Interface | |
coulomb_colln | collisions | Subroutine | |
create_outdir | io | Interface | |
create_outdir_aur | io | Interface | |
create_outdir_mag | io | Interface | |
date_filename | timeutils | Function | GENERATE A FILENAME STRING OUT OF A GIVEN DATE/TIME |
dateinc | timeutils | Subroutine | increment datetime by dtsec |
day_wrap | timeutils | Subroutine | increment date if needed, according to day that is, if day is beyond month, increment month and year if needed wrap months wrap days |
daysmonth | timeutils | Function | |
DENSM | msis00_gfortran.f | Function | |
DENSU | msis00_gfortran.f | Function | |
derivative | MHD1D_SAW | Function | |
derivative | MHD1D_shock | Function | |
derivative | MHD1D_SND | Function | |
diffusion_prep | diffusion | Subroutine | COMPUTE COEFFICIENTS IN DIFFUSION EQUATIONS AND LOAD UP GHOST CELLS |
div3D | calculus | Interface | |
div3D_curv_23 | calculus | Interface | |
div3D_curv_3 | calculus | Interface | |
DNET | msis00_gfortran.f | Function | |
doy_calc | timeutils | Function | |
dt_calc | temporal | Subroutine | |
dt_comm | temporal | Subroutine | these are roots courant numbers |
eheating | ionization | Function | |
electrodynamics | potential_comm | Interface | |
electrodynamics_curv | potential_comm | Subroutine | THIS IS A WRAPPER FUNCTION FOR THE ELECTRODYANMICS PART OF THE MODEL. BOTH THE ROOT AND WORKER PROCESSES CALL THIS SAME SUBROUTINE, WHEN THEN BRANCHES INTO DIFFERENT TASKS FOR EACH AFTER ALL COMPUTE CONDUCTIVITIES AND INERTIAL CAPACITANCE. |
elliptic2D_cart | PDEelliptic | Interface | |
elliptic2D_polarization | PDEelliptic | Interface | |
elliptic2D_polarization_periodic | PDEelliptic | Interface | |
elliptic3D_cart | PDEelliptic | Interface | |
elliptic_workers | PDEelliptic | Subroutine | ALLOWS WORKERS TO ENTER MUMPS SOLVES |
ETD_uncoupled | calculus | Function | |
expanduser | pathlib | Function | resolve home directory as Fortran does not understand tilde works for Linux, Mac, Windows, etc. nothing to expand could not determine the home directory ~ or ~/ ~/... |
fang2008 | ionize_fang | Function | COMPUTE IONIZATION RATES PER THE FANG 2008 SEMI-EMPIRICAL METHOD. https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2008JA013384 |
fang2010 | ionize_fang | Function | normalized atmospheric column mass Equation (1) Equation (5) Equation (4) Energy deposition "f" Equation (3) total ionization rate "qtot" [cm^-3 s^-1] |
filesep_swap | pathlib | Function | swaps '/' to '\' for Windows systems |
fluid_adv | multifluid | Subroutine | now add in photoionization sources enforce minimum production rate to preserve conditioning for species that rely on constant production testing should probably be done to see what the best choice is... |
gather_recv | mpimod | Interface | Some explanation as the the naming convention used in this module is in order at this point.
Generally it is:
|
gather_recv2D_23 | mpimod | Interface | |
gather_recv3D_23 | mpimod | Interface | |
gather_recv4D_23 | mpimod | Interface | |
gather_send | mpimod | Interface | |
gather_send2D_23 | mpimod | Interface | |
gather_send3D_23 | mpimod | Interface | |
gather_send4D_23 | mpimod | Interface | |
gbsv | vendor_lapack95 | Subroutine | |
get_Efield | reader | Interface | |
get_grid2 | reader | Interface | |
get_grid3 | grid_read | Interface | |
get_neutral2 | reader | Interface | |
get_neutral3 | reader | Interface | |
get_precip | reader | Interface | |
get_simsize2 | reader | Interface | |
get_simsize3 | reader | Interface | |
GHP7 | msis00_gfortran.f | Subroutine | |
gitlog | output | Subroutine | logs git branch, hash to file |
GLATF | msis00_gfortran.f | Subroutine | |
GLOB7S | msis00_gfortran.f | Function | |
GLOBE7 | msis00_gfortran.f | Function | |
glow_run | ionization | Interface | |
grad2D1_curv | calculus | Function | |
grad2D1_curv_alt | calculus | Interface | |
grad2D1_curv_alt_23 | calculus | Function | |
grad2D1_curv_alt_3 | calculus | Function | |
grad2D2 | calculus | Interface | |
grad2D2_curv | calculus | Function | |
grad2D2_curv_23 | calculus | Function | |
grad2D3 | calculus | Interface | |
grad2D3_curv | calculus | Function | |
grad2D3_curv_23 | calculus | Function | |
grad2D3_curv_periodic | calculus | Function | this assumes that the backward difference for hte first cell has been set the same as the forward difference for the final cell, i.e. x%dx3all(lbnd)==x%dx3all(ubnd+1). In general when doing periodic grids it is probably best to hard code all of the differences outside the domain to be equal (or to use uniform meshes) |
grad3D1 | calculus | Interface | |
grad3D1_curv_23 | calculus | Interface | |
grad3D1_curv_3 | calculus | Interface | |
grad3D2 | calculus | Interface | |
grad3D2_curv_23 | calculus | Interface | |
grad3D2_curv_3 | calculus | Interface | |
grad3D3 | calculus | Interface | |
grad3D3_curv_23 | calculus | Interface | |
grad3D3_curv_3 | calculus | Interface | |
grad3D3_curv_periodic | calculus | Function | this assumes that the backward difference for hte first cell has been set the the same as the forward difference for the final cell, i.e. x%dx3all(lbnd)==x%dx3all(ubnd+1). In general when doing periodic grids it is probably best to hard code all of the differences outside the domain to be equal (or to use uniform meshes) |
gravity_accel | ionize_fang | Function | computes gravitational acceleration normal to Earth, where up is positive acceleration [m s^-2] |
grid2ID | mpimod | Function | |
grid_size | grid | Subroutine | CHECK THE SIZE OF THE GRID TO BE LOADED AND SET SIZES IN THIS MODULE (NOT IN STRUCTURE THOUGH) |
gridproj_dneu2D | neutral | Subroutine | |
gridproj_dneu3D | neutral | Subroutine | COMPUTE DISTANCES - ZZZ possibly superfluous for 3D case??? |
GTD7 | msis00_gfortran.f | Subroutine | |
GTD7D | msis00_gfortran.f | Subroutine | |
GTS7 | msis00_gfortran.f | Subroutine | |
halo | mpimod | Interface | |
halo_23 | mpimod | Interface | |
halo_end | mpimod | Interface | |
halo_end_23 | mpimod | Interface | |
halo_pot | potential_comm | Subroutine | |
home | pathlib | Function | https://en.wikipedia.org/wiki/Home_directory#Default_home_directory_per_operating_system |
ID2grid | mpimod | Function | |
input_plasma | io | Interface | |
input_plasma_currents | io | Interface | |
input_root_currents | plasma | Interface | |
input_root_mpi | plasma | Interface | |
input_workers_currents | plasma | Subroutine | WORKER INPUT FUNCTIONS FOR GETTING CURRENT DENSITIES |
input_workers_mpi | plasma | Subroutine | |
integral2D1 | calculus | Interface | |
integral2D1_curv | calculus | Interface | |
integral2D1_curv_alt | calculus | Interface | |
integral2D2 | calculus | Interface | |
integral2D2_curv | calculus | Interface | |
integral2D2_curv_alt | calculus | Interface | |
integral3D1 | calculus | Interface | |
integral3D1_curv | calculus | Interface | |
integral3D1_curv_alt | calculus | Interface | |
interp1 | interpolation | Function | |
interp2 | interpolation | Interface | |
interp2_plaid | interpolation | Interface | |
interp3 | interpolation | Function | |
ionization_fang2008 | ionrate | Function | |
ionization_fang2010 | ionrate | Function | |
ionrate_fang08 | ionization | Function | mass densities are [kg m^-3] as per neutral/neutral.f90 "call meters(.true.)" for MSIS. mean mass per particle [kg] |
ionrate_glow98 | ionization | Subroutine | COMPUTE IONIZATION RATES USING GLOW MODEL RUN AT EACH X,Y METHOD. |
load_grav | grid | Subroutine | LOAD UP GRAV. FIELD ARRAY. IT IS EXPECTED THAT GHOST CELLS WILL HAVE BEEN TRIMMED FROM ARRAYS BEFORE THEY ARE PASSED INTO THIS ROUTINE. |
logger | logging | Subroutine | polymorphic logging to text file, appending new values line by line. logs to disk, auto-creating filename if not given |
make_dneu | neutral | Subroutine | |
make_precip_fileinput | precipBCs_mod | Subroutine | INITIALIZE SOME MODULE TIMING VARIABLES |
maxwell_colln | collisions | Subroutine | |
METERS | msis00_gfortran.f | Subroutine | |
minmod | advec | Function | |
minmod | advec_mpi | Function | |
mkdir | pathlib | Interface | |
mpi_manualgrid | mpimod | Subroutine | |
mpibreakdown | mpimod | Function | SHUTS DOWN MPI |
mpigrid | mpimod | Subroutine | THIS SUBROUTINE DEFINES A PROCESS GRID, IF REQUIRED |
mpisetup | mpimod | Subroutine | INITIALIZES MODULE MPI VARIABLES FOR A WORKER. THIS CURRENTLY IS UNUSED AS IT HAS NOT BEEN FULLY IMPLEMENTED IN THIS VERSINO OF THE CODE. |
neutral_atmos | neutral | Interface | |
neutral_perturb | neutral | Subroutine | |
neutral_perturb_3D | neutral | Subroutine | |
neutral_perturb_axisymm | neutral | Subroutine | |
neutral_perturb_cart | neutral | Subroutine | |
output_aur | io | Interface | |
output_aur_root | io_aurora | Interface | |
output_aur_workers | io | Interface | |
output_magfields | io | Interface | |
output_plasma | io | Interface | |
output_root_stream_mpi | plasma | Interface | |
output_workers_mpi | plasma | Subroutine | |
parse_arg | test_fang | Subroutine | |
photoionization | ionization | Function | |
potential2D_fieldresolved | potential_mumps | Interface | |
potential2D_polarization | potential_mumps | Interface | |
potential2D_polarization_periodic | potential_mumps | Interface | |
potential3D_fieldresolved_decimate | potential_mumps | Function | SOLVE IONOSPHERIC POTENTIAL EQUATION IN 3D USING MUMPS ASSUME THAT WE ARE RESOLVING THE POTENTIAL ALONG THE FIELD LINE. THIS IS MOSTLY INEFFICIENT/UNWORKABLE FOR MORE THAN 1M GRID POINTS. |
potential_root_mpi | potential_comm | Interface | |
potential_root_mpi_curv | potential_comm | Interface | |
potential_workers_mpi | potential_comm | Interface | |
potentialBCs2D | potentialBCs_mumps | Subroutine | |
potentialBCs2D_fileinput | potentialBCs_mumps | Subroutine | A FILE INPUT BASED BOUNDARY CONDITIONS FOR ELECTRIC POTENTIAL OR FIELD-ALIGNED CURRENT. NOTE: THIS IS ONLY CALLED BY THE ROOT PROCESS |
precipBCs | precipBCs_mod | Subroutine | |
precipBCs_fileinput | precipBCs_mod | Subroutine | these need to be initialized so that something sensible happens at the beginning |
quiet_mumps | PDEelliptic | Subroutine | this must be called AFTER the first mumps call that had job=-1 Needs Mumps >= 5.2 to actually take effect, does nothing on older MUMPS it stops the 100's of megabytes of logging console text, probably speeding up as well |
range2inds | neutral | Subroutine | |
read_configfile | io | Interface | |
read_dneu2D | neutral | Subroutine | |
read_dneu3D | neutral | Subroutine | |
read_grid | grid | Interface | |
read_grid_root | grid_read | Subroutine | ADJUST THE SIZES OF THE VARIABLES IF LX3ALL==1, SO THAT THE ALLOCATIONS ARE THE CORRECT SIZE use total number of processes since we only divide in one direction here... should divide evenly if generated from mpigrid COMMUNICATE THE GRID SIZE TO THE WORKERS SO THAT THEY CAN ALLOCATE SPACE if this is a root-only simulation we don't want to error out need to also pass the lx2all size to all workers to they know |
read_grid_workers | grid_read | Subroutine | COMPUTE DIFFERENTIAL DISTANCES ALONG EACH DIRECTION |
realbits_log | output | Subroutine | |
RK2_prep_mpi | sources | Interface | |
SCALH | msis00_gfortran.f | Function | |
slabinds | mpimod | Function | GET THE MIN AND MAX X2,X3 INDICES REFERENCING FULL GRID VARIABLE FOR A GIVEN PROCESS ID |
slabrange | neutral | Subroutine | |
spaceinterp_dneu2D | neutral | Subroutine | |
spaceinterp_dneu3D | neutral | Subroutine | |
SPLINE | msis00_gfortran.f | Subroutine | |
SPLINI | msis00_gfortran.f | Subroutine | |
SPLINT | msis00_gfortran.f | Subroutine | |
srcsContinuity | sources | Subroutine | !!!!!!!!!!!!!!!!!!!!!!!!! O+ REACTIONS !!!!!!!!!!!!!!!!!!!!!! |
srcsEnergy | sources | Subroutine | |
srcsMomentum | sources | Interface | |
srcsMomentum_curv | sources | Subroutine | |
sza | timeutils | Function | computes sza in radians CALCULATE SOLAR ZENITH ANGLE OVER A GIVEN GET OF LAT/LON |
thermal_conduct | collisions | Subroutine | |
timeinterp_dneu | neutral | Subroutine | |
TRBDF21D | PDEparabolic | Function | SOLVE A 1D DIFFUSION PROBLEM. IT IS EXPECTED THAT GHOST CELLS WILL HAVE BEEN TRIMMED FROM ARRAYS BEFORE THEY ARE PASSED INTO THIS ROUTINE. |
TRBDF23D | diffusion | Interface | |
TRBDF23D_curv | diffusion | Function | SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS. |
TSELEC | msis00_gfortran.f | Subroutine | |
utsec2filestem | timeutils | Function | file stem is exactly 21 characters long, per Matt Z's de facto spec. FIXME: until we go to integer UTsec (microsec) we round to nearest microsecond FIXME: This corner case is from not using integers for microseconds |
VTST7 | msis00_gfortran.f | Function | |
write2Darray | test_potential3D | Subroutine | |
writearray | MHD1D_SAW | Subroutine | |
writearray | MHD1D_shock | Subroutine | |
writearray | MHD1D_SND | Subroutine | |
writearray | test_potential3D | Subroutine |