| | |
|
a | |
|
algebra |
|
| | |
|
b | |
|
band_matrices |
|
|
blocking |
Module containing blocking information |
| | |
|
c | |
|
charmanip |
This module contains several useful routines to manipule character strings |
|
chebyshev |
|
|
chebyshev_polynoms_mod |
|
|
communications |
This module contains the different MPI communicators used in MagIC. |
|
constants |
module containing constants and parameters used in the code. |
|
cosine_transform_even |
|
|
cosine_transform_odd |
This module contains the built-in type I discrete Cosine Transforms. This implementation is based on Numerical Recipes and FFTPACK. This only works for ``n_r_max-1 = 2**a 3**b 5**c``, with a,b,c integers.... |
|
courant_mod |
This module handles the computation of Courant factors on grid space. It then checks whether the timestep size needs to be modified. |
| | |
|
d | |
|
dense_matrices |
|
|
dirk_schemes |
This module defines the type_dirk which inherits from the abstract type_tscheme. It actually implements all the routine required to time-advance an diagonally implicit Runge-Kutta scheme. It makes use |
|
dtb_arrays_mod |
|
|
dtb_mod |
This module contains magnetic field stretching and advection terms plus a separate omega-effect. It is used for movie output.... |
| | |
|
f | |
|
fft |
This module contains the native subroutines used to compute FFT's. They are based on the FFT99 package from Temperton: http://www.cesm.ucar.edu/models/cesm1.2/cesm/cesmBbrowser/html_code/cam/fft99.F90.html |
|
fft_fac_mod |
|
|
fields |
This module contains all the fields used in MagIC in the hybrid (LM,r) space as well as their radial derivatives. It defines both the LM-distributed arrays and the R-distributed arrays.... |
|
fields_average_mod |
This module is used when one wants to store time-averaged quantities |
|
fieldslast |
This module contains all the work arrays of the previous time-steps needed to time advance the code. They are needed in the time-stepping scheme.... |
|
finite_differences |
This module is used to calculate the radial grid when finite differences are requested |
| | |
|
g | |
|
general_arrays_mod |
|
|
geos |
This module is used to compute z-integrated diagnostics such as the degree of geostrophy or the separation of energies between inside and outside the tangent cylinder. This makes use of a local Simpson's method. This also |
|
getdlm_mod |
This module is used to calculate the lengthscales. It computes both the integral lengthscale and the peak of the poloidal energy. It also stores the radial profiles of these lengthscales.... |
|
graphout_mod |
This module contains the subroutines that store the 3-D graphic files. |
| | |
|
h | |
|
horizontal_data |
Module containing functions depending on longitude and latitude plus help arrays depending on degree and order |
| | |
|
i | |
|
init_fields |
This module is used to construct the initial solution. |
|
integration |
Radial integration functions |
| | |
|
k | |
|
kinetic_energy |
This module handles the computation of kinetic energy and the time-averaged radial profiles. |
| | |
|
l | |
|
lmloop_mod |
|
|
lmmapping |
|
|
logic |
Module containing the logicals that control the run |
| | |
|
m | |
|
magnetic_energy |
This module handles the computation and the writing of the diagnostic files related to magnetic energy: e_mag_oc.TAG, e_mag_ic.TAG, dipole.TAG, eMagR.TAG |
|
mean_sd |
This module contains a small type that simply handles two arrays (mean and SD) This type is used for time-averaged outputs (and their standard deviations). |
|
mem_alloc |
This little module is used to estimate the global memory allocation used in MagIC |
|
movie_data |
|
|
mpi_transp_mod |
This is an abstract class that will be used to define MPI transposers The actual implementation is deferred to either point-to-point (MPI_Isend and MPI_IRecv) communications or all-to-all (MPI_AlltoAll) |
|
multistep_schemes |
This module defines the type_multistep which inherits from the abstract type_tscheme. It actually implements all the routine required to time-advance an IMEX multistep scheme such as CN/AB2, SBDF(2,3,4), |
| | |
|
n | |
|
namelists |
Read and print the input namelist |
|
nonlinear_bcs |
|
|
nonlinear_lm_mod |
This module is used to finish the assembly of the nonlinear terms in :math:`(\ell,m)` space. Derivatives along :math:`\theta` and :math:`\phi` are handled using recurrence relations.... |
|
num_param |
Module containing numerical and control parameters |
| | |
|
o | |
|
out_coeff |
This module contains the subroutines that calculate the Bcmb files, the [B|V|T]_coeff_r files and the [B|V|T]_lmr files |
|
out_dtb_frame |
|
|
out_movie |
|
|
out_movie_ic |
|
|
outmisc_mod |
This module contains several subroutines that can compute and store various informations: helicity (helicity.TAG), heat transfer (heat.TAG), phase field (phase.TAG) and North/South hemisphericity of energies (hemi.TAG) |
|
outpar_mod |
This module is used to compute several time-averaged radial profiles: fluxes, boundary layers, etc. |
|
output_data |
This module contains the parameters for output control |
|
output_mod |
This module handles the calls to the different output routines. |
|
outrot |
This module handles the writing of several diagnostic files related to the rotation: angular momentum (AM.TAG), drift (drift.TAG), inner core and mantle rotations.... |
|
outto_mod |
This module handles the writing of TO-related outputs: zonal force balance and z-integrated terms. This is a re-implementation of the spectral method used up to MagIC 5.10, which formerly relies on calculation of Plm on the cylindrical grid.... |
| | |
|
p | |
|
parallel_mod |
This module contains the blocking information |
|
parallel_solvers |
This module contains the routines that are used to solve linear banded problems with R-distributed arrays. |
|
physical_parameters |
Module containing the physical parameters |
|
plms_theta |
|
|
power |
This module handles the writing of the power budget |
|
precalculations |
This module is used to handle some pre-calculations of constants (moment of inertia, mass, volumes), determine the timesteps for I/O and fix boundary values for temperature/entropy and chemical composition |
|
precision_mod |
This module controls the precision used in MagIC |
|
probe_mod |
Module for artificial sensors to compare time series of physical data with experiments. Probes are located in a radially symmetrical way |
| | |
|
r | |
|
radial_data |
This module defines the MPI decomposition in the radial direction. |
|
radial_der |
Radial derivatives functions |
|
radial_der_even |
|
|
radial_functions |
This module initiates all the radial functions (transport properties, density, temperature, cheb transforms, etc.) |
|
radial_scheme |
This is an abstract type that defines the radial scheme used in MagIC |
|
radial_spectra |
|
|
radialloop |
|
|
readcheckpoints |
This module contains the functions that can help reading and mapping of the restart files |
|
real_matrices |
|
|
riter_mod |
This module actually handles the loop over the radial levels. It contains the spherical harmonic transforms and the operations on the arrays in physical space.... |
|
riteration |
This module is used to define an abstract class for the radial loop |
|
rms |
This module contains the calculation of the RMS force balance and induction terms. |
|
rms_helpers |
This module contains several useful subroutines required to compute RMS diagnostics |
| | |
|
s | |
|
sht |
|
|
shtransforms |
This module is used when the native built-in SH transforms of MagIC are used. Those are much slower than SHTns, and are not recommanded for production runs! |
|
special |
This module contains all variables for the case of an imposed IC dipole, an imposed external magnetic field and a special boundary forcing to excite inertial modes |
|
spectra |
This module handles the computation and the writing of spectra. It handles both 2-D spectra in (r,l) and (r,m) spaces and usual spectra integrated over all radii in (l) or (m) spaces.... |
|
start_fields |
This module is used to set-up the initial starting fields. They can be obtained by reading a starting checkpoint file or by setting some starting conditions. |
|
step_time_mod |
|
|
storecheckpoints |
This module contains several subroutines that can be used to store the checkpoint_#.tag files |
| | |
|
t | |
|
time_array |
This module defines two types that are defined to store the implicit/explicit terms at the different sub-stage/step. |
|
time_schemes |
This module defines an abstract class type_tscheme which is employed for the time advance of the code. |
|
timing |
This module contains functions that are used to measure the time spent. |
|
torsional_oscillations |
This module contains information for TO calculation and output |
|
truncation |
This module defines the grid points and the truncation |
| | |
|
u | |
|
updateb_mod |
This module handles the time advance of the magnetic field potentials b and aj as well as the inner core counterparts b_ic and aj_ic. It contains the computation of the implicit terms and the linear |
|
updatephi_mod |
This module handles the time advance of the phase field phi. It contains the computation of the implicit terms and the linear solves.... |
|
updates_mod |
This module handles the time advance of the entropy s. It contains the computation of the implicit terms and the linear solves.... |
|
updatewp_mod |
This module handles the time advance of the poloidal potential w and the pressure p. It contains the computation of the implicit terms and the linear solves. |
|
updatewps_mod |
This module handles the time advance of the poloidal potential w, the pressure p and the entropy s in one single matrix per degree. It contains the computation of the implicit terms and the linear |
|
updatexi_mod |
This module handles the time advance of the chemical composition xi. It contains the computation of the implicit terms and the linear solves.... |
|
updatez_mod |
This module handles the time advance of the toroidal potential z It contains the computation of the implicit terms and the linear solves.... |
|
useful |
This module contains several useful routines. |