Procedures

ProcedureLocationProcedure TypeDescription
a_ext_dataantennaSubroutine

FIXME : Add documentation

a_minorgeo_utilsSubroutine

FIXME : Add documentation | Designed for eeq/gs2deq only

aaaaquadpackSubroutine

AAAA is a dummy subroutine with QUADPACK documentation in its comments.

Read more…
aborterconvertSubroutine

ABORTS A PROGRAM AFTER A FATAL ERROR CONDITION IS DETECTED.

add_eigenpair_to_filegs2_saveSubroutine

Add an eigenpairs data to file

add_explicitnonlinear_termsSubroutine

FIXME : Add documentation

add_explicit_termsnonlinear_termsSubroutine

FIXME : Add documentation
! NEED TO DO SOMETHING HERE... BD GGH

add_nlnonlinear_termsSubroutine

Calculate the nonlinear term and part of the corresponding CFL condition

add_nl_gryfxnonlinear_termsSubroutine

this subroutine constructs the GK nonlinear term from the 6 GryfX gyrofluid nonlinear terms. we first construct in gryfx units. gryfx uses vt=sqrt(T/m) normalization, so vt_gs2 = sqrt(2T/m) = sqrt(2) vt_gryfx. since vpa and vperp2 are normalized to vt_gs2, below we multiply by factors of sqrt(2) to get vpa and vperp2 in gryfx units, i.e. vpa_gryfx = sqrt(2) vpa vperp2_gryfx = 2 vperp2

Read more…
adjust_abserrquadpackFunction

Adjust estimate of absolute error

adjust_time_normgs2_timeSubroutine

FIXME : Add documentation

advancefieldsSubroutine

FIXME : Add documentation

advance_gf_localfields_gf_localSubroutine

This routine advances the solution by one full time step DD>TAGGED: Should we only this is fapar>0 as well?

advance_gs2_gryfxgs2_gryfx_zonalSubroutine

FIXME : Add documentation

advance_gs2_gryfx_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

advance_implicitfields_implicitSubroutine

FIXME : Add documentation

advance_localfields_localSubroutine

This routine advances the solution by one full time step DD>TAGGED: Should we only this is fapar>0 as well?

advance_nonlinear_termsplit_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from g_state, chi from t -> t+dt by calling specific requested method. On output g_state contains new g at next step, chi is left unchanged

advance_nonlinear_term_ab3split_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using AB scheme of orders up to 3rd.

advance_nonlinear_term_beulersplit_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using backwards Euler with fixed-point iteration.

advance_nonlinear_term_picardsplit_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using a simple Picard iteration scheme

advance_nonlinear_term_rksplit_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using an Runge-Kutta scheme with embedded error estimate for error control. This method is a wrapper to the true generic RK implementation.

advance_nonlinear_term_rk_implementationsplit_nonlinear_termsSubroutine

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using an Runge-Kutta scheme with embedded error estimate for error control

advance_testfields_testSubroutine

FIXME : Add documentation

agrees_withunit_testsInterface
agrees_with_complex_1d_arrayunit_testsFunction
agrees_with_integerunit_testsFunction
agrees_with_realunit_testsFunction
agrees_with_real_1d_arrayunit_testsFunction
all_to_groupmpInterface
all_to_group_realmpSubroutine

FIXME : Add documentation

Read more…
all_to_group_real_arraympSubroutine

FIXME : Add documentation

Read more…
allgathermpInterface
allgather_integer_array_1to1mpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

allgathervmpInterface
allgatherv_complex_array_1to1mpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

allgatherv_complex_array_1to1_submpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

allgatherv_complex_array_1to3mpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

allgatherv_complex_array_1to3_submpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

alloc_arraysgeo_utilsSubroutine
alloc_common_arraysgeo_utilsSubroutine
alloc_response_objectsfields_implicitSubroutine

A subroutine to allocate the response matrix storage objects

alloc_special_arrays_nullgeo_utilsSubroutine
allocate_arrayskt_gridsSubroutine

FIXME : Add documentation

allocate_arraysfieldsSubroutine

FIXME : Add documentation

allocate_arrayshyperSubroutine

FIXME : Add documentation

allocate_arraystheta_gridSubroutine

FIXME : Add documentation

allocate_arraysdist_fnSubroutine

FIXME : Add documentation

allocate_arraysrungridgenSubroutine

FIXME : Add documentation

allocate_arrays_3drungridgenSubroutine

FIXME : Add documentation

allocate_current_resultsdiagnostics_configSubroutine
allocate_geomgeometrySubroutine

Allocate the geom instance to the correct type

allocate_gryfx_zonal_arraysgs2_gryfx_zonalSubroutine

FIXME : Add documentation

allocate_outputsgs2_mainSubroutine

FIXME : Add documentation

allocate_target_arraysparameter_scanSubroutine

FIXME : Add documentation

almost_equalwarning_helpersInterface

Are two numbers almost equal within some tolerance

almost_equal_r32warning_helpersFunction

Are two numbers almost equal

Read more…
almost_equal_r64warning_helpersFunction

Are two numbers almost equal

Read more…
almost_zerowarning_helpersInterface

Is the argument almost zero

almost_zero_r32warning_helpersFunction

Is a scalar almost zero

almost_zero_r64warning_helpersFunction
announce_checkunit_testsSubroutine
announce_functional_testfunctional_testsSubroutine

FIXME : Add documentation

announce_module_testunit_testsSubroutine
announce_testunit_testsSubroutine
antenna_amplitudesantennaSubroutine

FIXME : Add documentation

antenna_aparantennaSubroutine

FIXME : Add documentation

antenna_wantennaFunction

FIXME : Add documentation

append_output_filefile_utilsSubroutine

Open an output file to write (appending if existing) whose name is <run_name>.<ext>, and set unit to the unit number of that output file. If the optional run_name_in variable is present, this replaces run_name as the root of the output file.

apply_linked_boundary_conditionsdist_fnSubroutine

Applies linked (twist-shift) boundary conditions to passed distribution function DD>Note these fill routines are often equivalent to an all-to-all type

apply_new_defaultsdiagnostics_configSubroutine

Set values according to the new diagnostics defaults.

Read more…
apply_old_defaultsgs2_diagnosticsSubroutine

Set values according to the old diagnostics defaults.

Read more…
arclengthgeometrySubroutine

Given an initial theta and gradpar (=dtheta/dl) compute a new theta grid, returned in arcl, which has gradpar = dg/dl = constant.

Read more…
average_allvolume_averagesInterface
average_all_2_complex_txyvolume_averagesSubroutine

FIXME : Add documentation

average_all_2_complex_xyvolume_averagesSubroutine

FIXME : Add documentation

average_all_complex_xyvolume_averagesSubroutine

FIXME : Add documentation

average_all_real_xyvolume_averagesSubroutine

FIXME : Add documentation

average_all_real_xysvolume_averagesSubroutine

FIXME : Add documentation

average_all_txyvolume_averagesSubroutine

FIXME : Add documentation

average_kxvolume_averagesInterface
average_kx_xyvolume_averagesSubroutine

FIXME : Add documentation

average_kx_xysvolume_averagesSubroutine

FIXME : Add documentation

average_kyvolume_averagesInterface
average_ky_2_complex_xyvolume_averagesSubroutine

FIXME : Add documentation

average_ky_complex_xyvolume_averagesSubroutine

FIXME : Add documentation

average_ky_xyvolume_averagesSubroutine

FIXME : Add documentation

average_ky_xysvolume_averagesSubroutine

FIXME : Add documentation

average_thetavolume_averagesInterface
average_theta_1_real_txyvolume_averagesSubroutine

FIXME : Add documentation

average_theta_2_complex_txyvolume_averagesSubroutine

FIXME : Add documentation

average_theta_complex_complex_complex_tvolume_averagesSubroutine

FIXME : Add documentation

average_theta_complex_complex_real_tvolume_averagesSubroutine

FIXME : Add documentation

average_theta_complex_complex_tvolume_averagesSubroutine

FIXME : Add documentation

average_theta_complex_complex_txysvolume_averagesSubroutine

FIXME : Add documentation

average_theta_real_real_tvolume_averagesSubroutine

FIXME : Add documentation

average_theta_txyvolume_averagesSubroutine

FIXME : Add documentation

average_theta_txysvolume_averagesSubroutine

FIXME : Add documentation

avg_dvgs2_heatingSubroutine

FIXME : Add documentation

avg_dvkgs2_heatingSubroutine

FIXME : Add documentation

avg_hgs2_heatingSubroutine

Calculate the average of various heating quantities

avg_hkgs2_heatingSubroutine

Calculate the average of various heating quantities as a function of

B_modgeometrySubroutine

FIXME : Add documentation

B_polgeometrySubroutine

FIXME : Add documentation

barriermpInterface
barrier_commmpSubroutine
barrier_nocommmpSubroutine

FIXME : Add documentation

basic_initfft_workFunction

Does some common initialisation for fft_type

bcast_scan_parametergs2_diagnosticsSubroutine

Broadcast one of the input parameters according to target_parameter_switch

bcastfrom_charactermpSubroutine

FIXME : Add documentation

bcastfrom_complexmpSubroutine

FIXME : Add documentation

bcastfrom_complex_2arraympSubroutine

FIXME : Add documentation

bcastfrom_complex_2array_submpSubroutine

FIXME : Add documentation

bcastfrom_complex_3arraympSubroutine

FIXME : Add documentation

bcastfrom_complex_3array_submpSubroutine

FIXME : Add documentation

bcastfrom_complex_4array_submpSubroutine

FIXME : Add documentation

bcastfrom_complex_arraympSubroutine

FIXME : Add documentation

bcastfrom_complex_array_submpSubroutine

FIXME : Add documentation

bcastfrom_integermpSubroutine

FIXME : Add documentation

bcastfrom_integer_arraympSubroutine

FIXME : Add documentation

bcastfrom_logicalmpSubroutine

FIXME : Add documentation

bcastfrom_logical_arraympSubroutine

FIXME : Add documentation

bcastfrom_realmpSubroutine

FIXME : Add documentation

bcastfrom_real_arraympSubroutine

FIXME : Add documentation

benchmark_identifierbenchmarksFunction

A string which is used as an extension for timing files and which identifies the time when and system on which the benchmark was carried out

beta_loopballSubroutine
beta_prime_range_highingen_modSubroutine

FIXME : Add documentation

beta_prime_range_lowingen_modSubroutine

FIXME : Add documentation

beta_range_highingen_modSubroutine

FIXME : Add documentation

beta_range_lowingen_modSubroutine

FIXME : Add documentation

betafunleqFunction

FIXME : Add documentation

betafun_eqfilegeo_utilsFunction
bilinear_interpolategeo_utilsFunction

use opposite area stencil to interpolate to point bound by [istar,istar+1] and [jstar, jstar + 1].

bishop_gradBgeometrySubroutine

FIXME : Add documentation

bits_to_human_readablememory_usageFunction

Converts the passed number of bits into a slightly more human readable form.

bound_eqfile_cartgeo_utilsFunction

Find the value of the major radius on the plasma boundary at given geometric theta.

boundarydist_fnSubroutine

FIXME : Add documentation

box_get_gridskt_grids_boxSubroutine

Calculate the grid of wavenumbers for box mode

box_get_sizeskt_grids_boxSubroutine

Get the various grid sizes

box_set_overrideskt_grids_boxSubroutine

FIXME : Add documentation

broadcastmpInterface
broadcast_ballstab_configballstabSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_charactermpSubroutine

FIXME : Add documentation

broadcast_character_arraympSubroutine

FIXME : Add documentation

Read more…
broadcast_collisions_configcollisionsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_complexmpSubroutine

FIXME : Add documentation

broadcast_complex8_arraympSubroutine

FIXME : Add documentation

broadcast_complex_2arraympSubroutine

FIXME : Add documentation

broadcast_complex_3arraympSubroutine

FIXME : Add documentation

broadcast_complex_4arraympSubroutine

FIXME : Add documentation

broadcast_complex_arraympSubroutine

FIXME : Add documentation

broadcast_diagnostics_base_configdiagnostics_base_configSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_dist_fn_configdist_fnSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_dist_fn_species_configdist_fnSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_driver_configantennaSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_fields_configfieldsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_hyper_confighyperSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_ingen_configingen_modSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_init_g_configinit_gSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_integermpSubroutine

FIXME : Add documentation

broadcast_integer_2arraympSubroutine

FIXME : Add documentation

broadcast_integer_arraympSubroutine

FIXME : Add documentation

broadcast_integer_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

broadcast_interfaceabstract_configInterface
broadcast_knobs_configrun_parametersSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_box_configkt_grids_boxSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_configkt_gridsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_range_configkt_grids_rangeSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_single_configkt_grids_singleSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_specified_configkt_grids_specifiedSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_kt_grids_specified_element_configkt_grids_specifiedSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_layouts_configgs2_layoutsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_le_grids_configle_gridsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_logicalmpSubroutine

FIXME : Add documentation

broadcast_logical_2arraympSubroutine

FIXME : Add documentation

broadcast_logical_arraympSubroutine

FIXME : Add documentation

broadcast_nonlinear_terms_confignonlinear_termsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_normalisations_confignormalisationsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_optimisation_configoptimisation_configSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_parameter_scan_configparameter_scanSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_realmpSubroutine

FIXME : Add documentation

broadcast_real_2arraympSubroutine

FIXME : Add documentation

broadcast_real_3arraympSubroutine

FIXME : Add documentation

broadcast_real_4arraympSubroutine

FIXME : Add documentation

broadcast_real_5arraympSubroutine

FIXME : Add documentation

broadcast_real_arraympSubroutine

FIXME : Add documentation

broadcast_reinit_configgs2_reinitSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_resultsle_gridsSubroutine

FIXME : Add documentation

broadcast_resultstheta_gridSubroutine

FIXME : Add documentation

broadcast_source_configdist_fnSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_species_configspeciesSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_species_element_configspeciesSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_split_nonlinear_terms_configsplit_nonlinear_termsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_stir_configantennaSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_submpInterface
broadcast_theta_grid_configtheta_gridSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_theta_grid_eik_configtheta_grid_eikSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_theta_grid_file_configtheta_grid_fileSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_theta_grid_gridgen_configtheta_grid_gridgenSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_theta_grid_parameters_configtheta_grid_paramsSubroutine

Broadcasts all config parameters so object is populated identically on all processors

broadcast_theta_grid_salpha_configtheta_grid_salphaSubroutine

Broadcasts all config parameters so object is populated identically on all processors

btorileqFunction

FIXME : Add documentation

btori_eqfilegeo_utilsFunction
build_identifierruntime_testsFunction

This function is just a call of build_identifier_runtime_info and is provided for backwards compatibility.

build_identifier_runtime_inforuntime_testsFunction

Returns an identifier of the system and build: "system.compiler.githash".

bvectortgridgeometrySubroutine

FIXME : Add documentation

c2rconvertInterface
c_allocatefields_localSubroutine

Allocate storage space

c_allocatefields_gf_localSubroutine

Allocate storage space

c_deallocatefields_localSubroutine

Deallocate storage space

c_deallocatefields_gf_localSubroutine

Deallocate storage space

c_debug_printfields_localSubroutine

Debug printing

c_debug_printfields_gf_localSubroutine

Debug printing

c_fill_2redistributeSubroutine

FIXME : Add documentation

c_fill_3redistributeSubroutine

FIXME : Add documentation

c_fill_3_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_fill_3_mpi_copy_nonblockredistributeSubroutine

Non-blocking version of mpi copy

c_fill_4redistributeSubroutine

FIXME : Add documentation

c_get_field_updatefields_localSubroutine

Get the field update for this cells data Note still need to reduce across other cells in this supercell.

c_get_field_updatefields_gf_localSubroutine

Get the field update for this cells data Note still need to reduce across other cells in this supercell.

c_has_rowfields_localFunction

Test if a given row belongs to the current cell

c_has_rowfields_gf_localFunction

Test if a given row belongs to the current cell

c_initfields_localSubroutine

Initialise the members of the cell instance

c_initfields_gf_localSubroutine

Initialise the members of the cell instance

c_mv_mult_rbfields_localSubroutine

Do matrix vector multiplication at rowblock level

c_mv_mult_rbfields_gf_localSubroutine

Do matrix vector multiplication at rowblock level

c_redist_12redistributeSubroutine

FIXME : Add documentation

c_redist_22redistributeSubroutine

FIXME : Add documentation
DD> Pick from non-blocking and blocking approach

c_redist_22_invredistributeSubroutine

FIXME : Add documentation
DD>

c_redist_22_inv_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_22_inv_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_22_inv_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_22_inv_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_22_inv_new_copyredistributeSubroutine

FIXME : Add documentation

c_redist_22_inv_old_copyredistributeSubroutine

FIXME : Add documentation

c_redist_22_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_22_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_22_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_22_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_22_new_copyredistributeSubroutine

FIXME : Add documentation

c_redist_22_old_copyredistributeSubroutine

FIXME : Add documentation

c_redist_23redistributeSubroutine

FIXME : Add documentation

c_redist_32redistributeSubroutine

FIXME : Add documentation
DD>

c_redist_32_invredistributeSubroutine

FIXME : Add documentation
DD>

c_redist_32_inv_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_inv_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_32_inv_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_32_inv_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_32_inv_new_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_inv_new_opt_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_inv_old_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_32_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_32_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_32_new_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_new_opt_copyredistributeSubroutine

FIXME : Add documentation

c_redist_32_old_copyredistributeSubroutine

FIXME : Add documentation

c_redist_33redistributeSubroutine

FIXME : Add documentation DD>

c_redist_33_invredistributeSubroutine

FIXME : Add documentation

c_redist_33_inv_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_33_inv_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_33_inv_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_33_inv_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_33_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_33_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
c_redist_33_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

c_redist_33_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

c_redist_34redistributeSubroutine

FIXME : Add documentation

c_redist_36redistributeSubroutine

FIXME : Add documentation

c_redist_36_invredistributeSubroutine

FIXME : Add documentation DD>

c_redist_36_inv_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_36_inv_mpi_copy_nonblockredistributeSubroutine

FIXME : Add documentation

c_redist_36_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_36_mpi_copy_nonblockredistributeSubroutine

FIXME : Add documentation

c_redist_42redistributeSubroutine

FIXME : Add documentation

c_redist_42_invredistributeSubroutine

FIXME : Add documentation

c_resetfields_localSubroutine

A routine to reset the object

c_resetfields_gf_localSubroutine

A routine to reset the object

c_set_localityfields_localSubroutine

Set the locality of each object

c_set_localityfields_gf_localSubroutine

Set the locality of each object

c_signed_char_to_hexuuid_modFunction

Convert a 1-byte integer into hexadecimal

calc_jextgs2_diagnosticsSubroutine

Calculate the time-averaged antenna current

calc_jextdiagnostics_antennaSubroutine

A subroutine to calculate the time-averaged antenna current j_ext = kperp^2 A_antenna.

Read more…
calculate_and_broadcast_species_propertiesspeciesSubroutine

FIXME : Add documentation

calculate_block_breakdowngs2_layoutsSubroutine

This subroutine (calculate_block_breakdown) is used in the code to create unbalanced xxf and yxf layouts to address 1 communication overheads in the redistribution of data for the FFTs used in the nonlinear calculations to move from Fourier space to real space and back again.

Read more…
calculate_block_sizegs2_layoutsSubroutine

This subroutine (calculate_block_size) is used in the code to create unbalanced xxf and yxf layouts to address 1 communication overheads in the redistribution of data for the FFTs used in the nonlinear calculations to move from Fourier space to real space and back again.

Read more…
calculate_bounce_pointsle_gridsSubroutine

Determine which theta grid points correspond to bounce points for each pitch angle.

Read more…
calculate_bracketnonlinear_termsSubroutine

Calculate (d Chi /dx).(d g_wesson/dy) and store in bracket if is_first_term = .true. else calculate (d Chi /dy).(d g_wesson/dx) and subtract from bracket

Read more…
calculate_collisionalcollisional_heatingSubroutine

FIXME : Add documentation
transforms g into h (minus boltzmann response), anyway fbpar=0

Read more…
calculate_current_nl_source_and_cfl_limitnonlinear_termsSubroutine

Calculates the current nonlinear source term by calling add_nl and the associated cfl limit.

calculate_f0_arraysspeciesSubroutine

FIXME : Add documentation

calculate_f0_arrays_tabulatedspeciesSubroutine

This subroutine calculates f0 on the grid from an external input file. The grid on the input file can differ from that of gs2. A cubic spline is used to interpolate between the two. The user can either specify df0/dE or it can be estimated internally. The radial derivative of f0 as a function of energy should also be given.

calculate_fieldssplit_nonlinear_termsSubroutine

Calculates the fields consistent with the passed distribution function

calculate_flux_surface_averagedist_fnSubroutine

Calculate the flux surface average term for the adiabatic response.

Read more…
calculate_fluxesdiagnostics_fluxesSubroutine

Calculate and possibly write fluxes.

Read more…
calculate_forbidden_regionle_gridsSubroutine

Determine which lambda grid points are forbidden at each theta/bmag value.

calculate_gradientsgeo_utilsSubroutine

Given theta, R, Z, B and psi on 2D grids calculate the index space derivatives in the two grid dimensions and use these to find gradients in cartesian and Bishop space.

calculate_heatingdiagnostics_heatingSubroutine

FIXME : Add documentation

calculate_idle_processesgs2_layoutsSubroutine

This subroutine (calculate_idle_processes) is used to calculate the difference between the number of processes used in the xxf and yxf data layouts. This is important as it can affect the amount of communication that the code has to undertake when moving between linear and non-linear calculations.

Read more…
calculate_instantaneous_omegags2_diagnosticsFunction

Calculates the instantaneous omega from chinew = chi * exp(-i * omega * dt) with chi = phi + apar + bpar. This gives omega = log(chinew/chi) * i / dt.

calculate_ittple_gridsSubroutine

Determine which lambda grid point is totally trapped at this theta grid point.

calculate_jendle_gridsSubroutine

Determine which lambda grid point bounces at this theta/bmag value.

calculate_metric_termsgeometrySubroutine
calculate_new_coeffsgenquadSubroutine

Uses Wheeler's algorithm to obtain the recurrence relation for the new polynomials given the recurrence relation and modified moments of a given set of polynomials (here we use Legendre)

calculate_omegadiagnostics_omegaSubroutine

Calculates omega and stores it in omegahist. Calculates omega_average, the average of omega over navg timesteps DD>The logic below was originally

calculate_outputsgs2_mainSubroutine

FIXME : Add documentation

calculate_potentials_from_nonadiabatic_dfndist_fnSubroutine

Calculates the potentials consistent with the passed nonadiabatic distribution function, f_in. Note this is not what GS2 usually evolves as g/gnew but the adjusted version.

Read more…
calculate_simple_quasilinear_flux_metric_by_kgs2_diagnosticsFunction

Calculates a simple gamma/kperp2 QL flux metric

calculate_slowingdown_parametersspeciesSubroutine

FIXME : Add documentation

calculate_standard_flux_propertiesdiagnostics_fluxesSubroutine

Writes a range of different summed and averaged properties of the given flux... e.g. the flux summed over kx as a function of ky, species and time

calculate_supercell_labelsdist_fnSubroutine

Assigns a label to each {it, ik} point denoting which unique supercell the point belongs to.

calculate_surface_areageometrySubroutine
calculate_unbalanced_decompositiongs2_layoutsSubroutine

This subroutine (calculate_unbalanced_decomposition) is used in the code to create unbalanced xxf and yxf layouts to address 1 communication overheads in the redistribution of data for the FFTs used in the nonlinear calculations to move from Fourier space to real space and back again.

Read more…
calculate_unbalanced_xgs2_layoutsSubroutine

This subroutine (calculate_unbalanced_x) wraps up all the functionality required to calculate the xxf blocksizes and work out if and unbalanced decomposition should be used, and if so the size of the unbalanced blocks.

Read more…
calculate_unbalanced_ygs2_layoutsSubroutine

FIXME : Add documentation

calculate_zonal_transferdiagnostics_zonal_transferSubroutine

FIXME : Add documentation

cgemmlapack_wrapperInterface
cgemvlapack_wrapperInterface
cgetrflapack_wrapperInterface
cgetrilapack_wrapperInterface
change_level_specific_interfacegs2_initInterface
chease_chi_indexceqFunction

Convert from theta-index which is -pi to pi, to chi-index, which is 0 to 2*pi. Assumes nchi is even?

chebyshevlowflowSubroutine

FIXME : Add documentation

Read more…
checkgeometrySubroutine

Perform minor checks on consistency of flags

check_accelgs2_layoutsSubroutine

FIXME : Add documentation

check_antennaantennaSubroutine

FIXME : Add documentation

check_are_bouncepoint_values_consistentdist_fn_arraysSubroutine

Check if the passed distribution function shaped array has the same value at bounce points for both signs of v||. This provides similar functionality to check_g_bouncepoints but is intended to offer a quieter approach which could be used more routinely (i.e. throughout a run).

Read more…
check_ballstabballstabSubroutine

Check value consistency etc.

check_collisionscollisionsSubroutine

FIXME : Add documentation

check_dist_fndist_fnSubroutine

FIXME : Add documentation

check_fieldsfieldsSubroutine

FIXME : Add documentation

check_frequencyfunctional_testsFunction

FIXME : Add documentation

check_g2gfle_gridsSubroutine

FIXME : Add documentation

check_g2lele_gridsSubroutine

FIXME : Add documentation

check_g_bouncepointsdist_fn_arraysSubroutine

This routine checks trapped particle bounce conditions: g(thetab,1:ik,it,il,ie,is)=g(thetab,2:ik,it,il,ie,is) and flags fractional errors exceeding a threshold tolerance, tol. CMR, 3/10/2013:

check_getandist_fnSubroutine

FIXME : Add documentation

check_growth_ratefunctional_testsFunction

FIXME : Add documentation

check_growth_rates_equal_in_listfunctional_testsFunction

FIXME : Add documentation

check_gs2_diagnosticsgs2_diagnosticsSubroutine

Perform some basic checking of the diagnostic input parameters, and write the results to file

check_hyperhyperSubroutine

FIXME : Add documentation

check_increment_condition_satisfiedparameter_scanSubroutine

FIXME : Add documentation

check_init_ginit_gSubroutine

FIXME : Add documentation

check_is_zero_in_forbidden_regiondist_fn_arraysSubroutine

Check if the passed distribution function shaped array is non-zero in the forbidden region. If it is then trigger an abort.

Read more…
check_kt_gridskt_gridsSubroutine

FIXME : Add documentation

check_kt_grids_boxkt_grids_boxSubroutine

FIXME : Add documentation

check_kt_grids_rangekt_grids_rangeSubroutine

FIXME : Add documentation
DD>Calculate the kt grids

check_kt_grids_singlekt_grids_singleSubroutine

FIXME : Add documentation

check_kt_grids_specifiedkt_grids_specifiedSubroutine
check_laguerre_weightsgauss_quadSubroutine

FIXME : Add documentation

check_laguerre_zerosgauss_quadSubroutine

FIXME : Add documentation

check_legendre_weightsgauss_quadSubroutine

FIXME : Add documentation

check_legendre_zerogauss_quadSubroutine

FIXME : Add documentation

check_linked_boundaries_are_satisfieddist_fnSubroutine

Check if the passed distribution function shaped array has the same value at the duplicate theta points arising from the linked boundary conditions.

Read more…
check_llocalgs2_layoutsSubroutine

FIXME : Add documentation

check_netcdf_file_precisionnetcdf_utilsSubroutine

Check that an existing netCDF file uses the same real kind as the current simulation. Only prints a warning!

check_nonlin_convergencegs2_diagnosticsSubroutine

Trinity convergence condition - simple and experimental look for the averaged differential of the summed averaged heat flux to drop below a threshold

check_nonlin_convergencediagnostics_nonlinear_convergenceSubroutine

Trinity convergence condition - simple and experimental look for the averaged differential of the summed averaged heat flux to drop below a threshold

check_nonlinear_termsnonlinear_termsSubroutine

FIXME : Add documentation

check_normalisationsnormalisationsSubroutine

FIXME : Add documentation

check_parametersgs2_diagnostics_newSubroutine

FIXME : Add documentation

check_restart_file_writeablegs2_diagnosticsSubroutine

Check if we can write the restart files

Read more…
check_run_parametersrun_parametersSubroutine

FIXME : Add documentation

check_speciesspeciesSubroutine

FIXME : Add documentation

check_stabilityballstabSubroutine

Test if given shat/beta is unstable

check_target_reachedparameter_scanSubroutine

FIXME : Add documentation

check_theta_gridtheta_gridSubroutine

FIXME : Add documentation

check_theta_grid_eiktheta_grid_eikSubroutine

FIXME : Add documentation

check_theta_grid_filetheta_grid_fileSubroutine

FIXME : Add documentation

check_theta_grid_file_nctheta_grid_fileSubroutine

FIXME : Add documentation

check_theta_grid_salphatheta_grid_salphaSubroutine

FIXME : Add documentation

check_time_stepgs2_reinitSubroutine

FIXME : Add documentation

check_time_step_too_largegs2_timeSubroutine

Check if the current time step is too big

check_unique_integersgs2_layoutsSubroutine

Checks that the given array contains unique integers 1 to (array size) (in any order), aborts if not.

checklogic_theta_grid_eiktheta_grid_eikSubroutine

FIXME : Add documentation

checkmdsmdsioSubroutine

FIXME : Add documentation

checkstopjob_manageSubroutine

Check whether the stop file .stop is present, and if so trigger exit.

checktimejob_manageSubroutine

Check whether elapsed run time is within a 5 minutes of exceeding the available CPU time, and if so trigger the code exit.

close_filesgs2_diagnosticsSubroutine

Close various text output files

close_functional_testfunctional_testsSubroutine

FIXME : Add documentation

close_module_testunit_testsSubroutine
close_output_filefile_utilsSubroutine

Close the file associated with unit

Read more…
code_matches_instanceexit_codesFunction

Determines if a passed exit_code instance has the same code as this instance.

code_matches_integerexit_codesFunction

Determines if a passed exit_code instance has the same code as the passed integer.

collision_errordist_fnSubroutine

Calculate the collision error and write to text file <runname>.cres

collisions_advancedist_fnSubroutine

Advance collision term one timestep by implicit Euler.

Read more…
common_calculate_fluxesdiagnostics_fluxesSubroutine

Calculate heat, particle, and momentum fluxes

Read more…
compiler_pgiruntime_testsFunction

This function is just a call of compiler_pgi_runtime_info and is provided for backwards compatibility.

compiler_pgi_runtime_inforuntime_testsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Tests for compilers !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Returns whether a PGI compiler was used

complex_local_sumintegrationFunction

A wrapper routine to perform a sum. Used to provide a single point at which we choose a summation method

complex_rectangular_integrationintegrationFunction

Apply the (left) rectangular rule to integrate y over the domain of x.

complex_sq_modwarning_helpersInterface

Returns , the square modulus of a complex number

complex_sq_mod_r32warning_helpersFunction
complex_sq_mod_r64warning_helpersFunction
complex_trapezoidal_integrationintegrationFunction

Apply the trapezium rule to integrate y over the domain of x.

compute_connectionsdist_fnSubroutine

Look up and store the iglo index and responsible processor for connections to the left and right of each local iglo index. Note this is only interested in passing particles and the non-trapped wfb. Trapped particles are considered to have no connections.

compute_itleft_and_itrightdist_fnSubroutine

For the passed jshift0 value determine the it (kx) indices to the left and right of each {it, ik} index pair. Used to construct the connected boundary conditions.

compute_jshift0dist_fnFunction

Compute the spacing in kx indices between connected kx domains (cells) for the lowest non-zonal ky.

conserve_diffusecollisionsInterface
conserve_diffuse_le_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 and then y1 = y0 - v0y0 * z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(ile, it, ik, is, ie, ig, ixi, vnE, v0y0) & $OMP SHARED(le_lo, kwork_filter, negrid, nxi_lim, w, wxi, ieqzip, bz0le, vnmult, vnew_E, aj0le, gle) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 and then y2 = y1 - v1y1 * s1 / (1 + v1s1) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(ile, it, ik, is, ig, delnu, ie, ixi, v1y1) & $OMP SHARED(le_lo, kwork_filter, negrid, vnmult, delvnew, nxi_lim, & $OMP bs0le, vpa_aj0_le, gle, w, wxi, ieqzip) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 and then get x = y2 - v2y2 * w2 / (1 + v2w2) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(ile, it, ik, is, ie, ig, ixi, delnu, v2y2) & $OMP SHARED(le_lo, kwork_filter, negrid, nxi_lim, ieqzip, & $OMP bw0le, delvnew, vperp_aj1le, gle, vnmult, w, wxi) & $OMP SCHEDULE(static)

conserve_diffuse_standard_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, ie, is, isgn) & $OMP SHARED(g_lo, kwork_filter, gtmp, vnmult, vnew_E, aj0, g) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g1, g, ieqzip, v0y0, bz0) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, ie, is, isgn) & $OMP SHARED(g_lo, kwork_filter, gtmp, vns, vpa, aj0, g1) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y2 = y1 - v1y1 * s1 / (1 + v1s1) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g1, ieqzip, v1y1, bs0) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, ie, il, is, isgn) & $OMP SHARED(g_lo, kwork_filter, gtmp, vns, energy, al, aj1, g1) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Finally get x = y2 - v2y2 * w2 / (1 + v2w2) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g, g1, ieqzip, v2y2, bw0) & $OMP SCHEDULE(static)

conserve_lorentzcollisionsInterface
conserve_lorentz_le_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 and y1 = y0 - v0y0 * z0 / (1 + v0z0) v0 = vpa J0 f0, y0 = gle $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(ile, it, ik, ixi, ie, is, ig, v0y0) & $OMP SHARED(le_lo, kwork_filter, ieqzip, negrid, nxi_lim, & $OMP z0le, w, wxi, vpa_aj0_le, gle) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 and y2 = y1 - v1y1 * s1 / (1 + v1s1) v1 = nud vpa J0 f0, y1 = gle

Read more…
conserve_lorentz_standard_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, isgn) & $OMP SHARED(g_lo, kwork_filter, gtmp, vpa, aj0, g) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g1, g, ieqzip, v0y0, z0) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, il, ie, is, isgn) & $OMP SHARED(g_lo, kwork_filter, conservative, gtmp, vns, speed, vpdiff, aj0, g1, vpa) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y2 = y1 - v1y1 * s1 / (1 + v1s1) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g1, ieqzip, v1y1, s0) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, ie, il, is, isgn) & $OMP SHARED(g_lo, kwork_filter, gtmp, vns, energy, al, aj1, g1) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Finally get x = y2 - v2y2 * w2 / (1 + v2w2) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, it, ik, is, isgn) & $OMP SHARED(g_lo, kwork_filter, g, g1, ieqzip, v2y2, w0) & $OMP SCHEDULE(static)

copyarray_utilsInterface

Interface to helper subroutines for copying one array into another.

copy_complex_array_3array_utilsSubroutine

Copy 3D complex arrays

copy_complex_array_4array_utilsSubroutine

Copy 4D complex arrays

copy_real_array_3array_utilsSubroutine

Copy 3D real arrays

copy_real_array_4array_utilsSubroutine

Copy 4D real arrays

coredumpshmemSubroutine

FIXME : Add documentation

correlationgs2_diagnosticsSubroutine

Calculate the correlation function on the physical domain

correlation_extendgs2_diagnosticsSubroutine

Calculate the correlation function over the extended domain

count_linksdist_fnSubroutine

Count the links to the left and right of each {it, ik} point and work out how many values are required to set the bc.

count_links_one_sidedist_fnSubroutine

Count how many links are to the left/right of each {it,ik} point

create_interp_matricesgs2_gryfx_zonalSubroutine

FIXME : Add documentation

create_messageexit_codesFunction

Make a string containing the error code and exit reason. This is kept minimal to make it easier for tests to parse.

create_metadatags2_metadataSubroutine

Add some standard metadata as global attributes to the file:

Read more…
create_seed_from_single_integerranFunction

Returns an array of integers to use as a seed to the random number generator given a single integer as input.

Read more…
crosstgridgeometrySubroutine

Calculate the cross product c = a x b on the [-nth, nth] domain

cubgcvgridgen4modSubroutine

FIXME : Add documentation

d2smoothgridgen4modSubroutine

FIXME : Add documentation

date_iso8601standard_headerFunction

Return the current date and time in ISO8601 format: YYYY-MM-DDThh:mm:ss.ssssZhh:mm

dbtorileqFunction

FIXME : Add documentation

dbtori_eqfilegeo_utilsFunction

at the given normalised

dealiasinggs2_layoutsFunction

FIXME : Add documentation

dealloc_arraysballstabSubroutine

Deallocate arrays

dealloc_arraysgeo_utilsSubroutine
dealloc_common_arraysgeo_utilsSubroutine
dealloc_special_arraysdeqSubroutine

FIXME : Add documentation

dealloc_special_arrayseeqSubroutine

FIXME : Add documentation

dealloc_special_arrays_nullgeo_utilsSubroutine
deallocate_arraysgs2_saveSubroutine

Deallocate all module level arrays

deallocate_arraysgs2_diagnosticsSubroutine

Deallocate the gs2_diagnostics module-level arrays

deallocate_arraystheta_gridSubroutine

FIXME : Add documentation

deallocate_current_resultsdiagnostics_configSubroutine
deallocate_g_layoutlayouts_typeSubroutine

Deallocate g_layout's arrays

deallocate_gryfx_zonal_arraysgs2_gryfx_zonalSubroutine

FIXME : Add documentation

deallocate_layoutlayouts_typeInterface
deallocate_outputsgs2_mainSubroutine

FIXME : Add documentation

deallocate_target_arraysparameter_scanSubroutine

FIXME : Add documentation

debug_messageunit_testsSubroutine
dedgesplinesFunction

FIXME : Add documentation

define_dimsgs2_ioSubroutine

Ensure the netCDF file contains all the dimensions and grids, creating them if necessary

Read more…
define_varsgs2_ioSubroutine

Create (but don't fill) the various diagnostics variables in the output netCDF file

Read more…
del_dvtypegs2_heatingInterface
del_dvtype_0gs2_heatingSubroutine

FIXME : Add documentation

del_dvtype_1gs2_heatingSubroutine

FIXME : Add documentation

del_dvtype_2gs2_heatingSubroutine

FIXME : Add documentation

del_dvtype_3gs2_heatingSubroutine

FIXME : Add documentation

del_htypegs2_heatingInterface
del_htype_0gs2_heatingSubroutine

FIXME : Add documentation

del_htype_1gs2_heatingSubroutine

FIXME : Add documentation

del_htype_2gs2_heatingSubroutine

FIXME : Add documentation

del_htype_3gs2_heatingSubroutine

FIXME : Add documentation

delete_fftfft_workSubroutine

Destroy 42 plan

Read more…
delete_listredistributeSubroutine

FIXME : Add documentation

delete_periodic_splinesplinesSubroutine

Reset and deallocate variables in passed periodic spline

delete_redistredistributeSubroutine

FIXME : Add documentation

delete_special_splinesdeqSubroutine
delete_special_splineseeqSubroutine
delete_special_splines_eqfile_nullgeo_utilsSubroutine
delete_splinesplinesSubroutine

Reset and deallocate variables in passed spline

delete_splines_eqfilegeo_utilsSubroutine
derf_extspfuncFunction

FIXME : Add documentation

dermgeo_utilsSubroutine

Calculate the derivative of f w.r.t to the radial and poloidal indexes (i.e. calculate the finite differences without dividing by delta psi and delta theta). - dfm(:,:,1) is the psi derivative - dfm(:,:,2) is the theta derivative - char specifies the periodicity in theta - 'E', 'O' mean continuous at theta = +/- pi - 'T' means a jump of 2 pi at theta = +/- pi

derm_cartgeo_utilsSubroutine

Calculate the derivative of f w.r.t. R, Z - dfm(:,:,1) is deriv w.r.t. R - dfm(:,:,2) is deriv w.r.t. Z

diametergeometryFunction

Returns the diameter of the surface labelled by rp.

diameterleqFunction

FIXME : Add documentation

diameter_eqfilegeo_utilsFunction

Return the diameter of the flux surface at a given major radius

diameter_eqfile_cartgeo_utilsFunction
diffusivitygs2_diagnosticsFunction

A linear estimate of the diffusivity, used for Trinity testing

dj0spfuncFunction

FIXME : Add documentation

dj1spfuncFunction

FIXME : Add documentation

dlgamma_extspfuncFunction

FIXME : Add documentation

do_dump_fields_periodicallygs2_diagnosticsSubroutine

Write out to text file

do_get_omegags2_diagnosticsSubroutine

Calculate gs2_diagnostics_knobs for linear simulations or if run_parameters_knobs is on; otherwise set gs2_diagnostics_knobs and gs2_diagnostics_knobs to zero

do_print_linegs2_diagnosticsSubroutine

Print estimated frequencies and growth rates to screen/stdout

do_smoothingrungridgenSubroutine

FIXME : Add documentation

do_write_avg_momentsgs2_diagnosticsSubroutine

Calculate flux surfgace averaged low-order moments of and write to netCDF

do_write_correlationgs2_diagnosticsSubroutine

Calculate the correlation function over the physical domain and write to netCDF

do_write_correlation_extendgs2_diagnosticsSubroutine

Calculate the correlation function over the extended domain and write to netCDF

Read more…
do_write_crossphasegs2_diagnosticsSubroutine

Calculate the cross-phase (see get_cross_phase) and write to the phase_unit file

do_write_dump_1gs2_diagnosticsSubroutine

Calculate the field-line average of and write to dump_check1_unit

do_write_dump_2gs2_diagnosticsSubroutine

Calculate at igomega and write to dump_check2_unit

do_write_eigenfuncgs2_diagnosticsSubroutine

Write normalised to the value of at the outboard midplane

Read more…
do_write_final_antotdiagnostics_final_routinesSubroutine

Write the right-hand sides of the field equations, overwriting existing values

do_write_final_dbdiagnostics_final_routinesSubroutine

Calculate and write , overwriting existing values

Read more…
do_write_final_epardiagnostics_final_routinesSubroutine

Calculate and write , overwriting existing values

do_write_final_fieldsdiagnostics_final_routinesSubroutine

Write , overwriting existing values

do_write_final_momentsdiagnostics_final_routinesSubroutine

Calculate and write the various low-order moments, overwriting existing values

Read more…
do_write_full_moments_notgcgs2_diagnosticsSubroutine

Calculate moments (density, parallel flow, and parallel and perpendicular temperatures) in non-guiding centre coordinates and write to netCDF

do_write_geomgs2_diagnosticsSubroutine

Write some geometry information to text file <runname>.g

do_write_gsdiagnostics_final_routinesSubroutine

FIXME : Add documentation

do_write_heatinggs2_diagnosticsSubroutine

Write the (total) heating diagnostics to heat_unit and heat_unit2 (per-species)

do_write_jextgs2_diagnosticsSubroutine

Calculate and write the time-averaged antenna current to jext_unit

do_write_kpardiagnostics_final_routinesSubroutine

Write the parallel spectrum of , overwriting existing values

Read more…
do_write_linegs2_diagnosticsSubroutine

Write estimated frequency and growth rates to out_unit for an individual point

do_write_momentsgs2_diagnosticsSubroutine

Write various moments to netCDF

do_write_moviegs2_diagnosticsSubroutine

Transform to real space, then write to netCDF

do_write_ncloopgs2_diagnosticsSubroutine

Compute volume averages of the fields and write the fields, field averages, heating and frequency to the netCDF files

do_write_nl_flux_distgs2_diagnosticsSubroutine

Calculate the poloidal distributions of the fluxes of particles, parallel momentum, perpendicular momentum, and energy (see section 3.1 and appendix A of Ball et al. PPCF 58 (2016) 045023 as well as section 5 of "GS2 analytic geometry specification")

do_write_omavggs2_diagnosticsSubroutine

Write time-averaged growth rate and frequency to out_unit for an individual point

do_write_omegags2_diagnosticsSubroutine

Write instantaneous growth rate and frequency to out_unit for an individual point

do_write_paritygs2_diagnosticsSubroutine

Calculate average parity of distribution function under , and write to parity_unit

do_write_pflux_symgs2_diagnosticsSubroutine

Calculate the particle flux contribution to toroidal momentum flux and write to netCDF

do_write_symmetrygs2_diagnosticsSubroutine

Calculate the momentum flux as a function of and write to netCDF

do_write_verrgs2_diagnosticsSubroutine

Write some error estimates.

Read more…
dotdist_fnSubroutine

Get a theta-centered and time-centered estimate of the time derivative of a field.

Read more…
dottgridfgeometrySubroutine

Calculate the dot product c = a.b where a, b and c are on the [-ntgrid, ntgrid] domain

dpfunleqFunction

FIXME : Add documentation

dpfun_eqfilegeo_utilsFunction
drho_drhodgeometryFunction

FIXME : Add documentation | Only used for writelots output and if irho=1

drho_drpgeometryFunction

Calculate the derivative of the flux label rho with respect to the internal flux label rp (the normalised poloidal flux)

driftgeometrySubroutine

FIXME : Add documentation

dsmoothgridgen4modSubroutine

FIXME : Add documentation

dsplintsplinesFunction

FIXME : Add documentation

dump_ant_ampantennaSubroutine

Write antenna amplitudes to out_unit

Read more…
dump_current_source_termdist_fnSubroutine

Routine to dump the current source term used in invert_rhs.

Read more…
dump_homogeneous_solutiondist_fnSubroutine

Routine to dump the homogeneous solution

dump_response_to_filefieldsSubroutine

Force the current response matrices to be written to file

dump_response_to_file_gf_localfields_gf_localSubroutine

Routine to dump the current response matrix data to file. One file per connected domain. Each written by the head of the supercell.

dump_response_to_file_impfields_implicitSubroutine

A routine to dump the current response matrix to file

dump_response_to_file_localfields_localSubroutine

Routine to dump the current response matrix data to file. One file per connected domain. Each written by the head of the supercell.

eexchangediagnostics_fluxesSubroutine

Calculate energy exchange diagnostic that numerically guarantees that the total energy exchange (summed over species) is zero

Read more…
efit_read_and_seteeqSubroutine

This subroutine reads an EFIT output file containing the axisymmetric magnetic field geometry on a rectangular domain defined by the coordinates (R,Z). It reads and stores the following quantities (among others).

Read more…
eigval_functionaleigvalFunction

Returns true if GS2 was compiled with WITH_EIG defined -- here forced to .false. as compiled without SLEPc support

eik_get_gridstheta_grid_eikSubroutine

FIXME : Add documentation

eik_get_sizestheta_grid_eikSubroutine

FIXME : Add documentation

eikcoefsgeometrySubroutine

FIXME : Add documentation

eikonalgeometrySubroutine

FIXME : Add documentation

eint_errorle_gridsSubroutine

FIXME : Add documentation

enforce_linked_boundary_conditionsdist_fnSubroutine

A shorthand for apply_linked_boundary_conditions passing the regular module level instances of each of the required arguments. Primarily intended for testing to avoid having to expose additional data arrays.

enforce_paritydist_fnSubroutine

Enforce requested parity

ensemble_averagegs2_diagnosticsSubroutine

FIXME : Add documentation

ensure_netcdf_att_existsnetcdf_utilsInterface

Add an attribute to an existing netCDF variable

ensure_netcdf_att_exists_textnetcdf_utilsSubroutine

Add an attribute to an existing netCDF variable. Aborts if any errors are detected.

ensure_netcdf_dim_existsnetcdf_utilsSubroutine

Get the netCDF ID for a dimension, creating it if it doesn't exist already. Aborts if any errors are detected.

ensure_netcdf_var_existsnetcdf_utilsInterface

Get the netCDF ID for a variable, creating it if it doesn't exist already

ensure_netcdf_var_exists_manydimsnetcdf_utilsSubroutine

Get the netCDF ID for a variable, creating it if it doesn't exist already. Aborts if any errors are detected.

ensure_netcdf_var_exists_onedimnetcdf_utilsSubroutine

Get the netCDF ID for a variable, creating it if it doesn't exist already. Aborts if any errors are detected.

ensure_netcdf_var_exists_scalarnetcdf_utilsSubroutine

Get the netCDF ID for a variable, creating it if it doesn't exist already. Aborts if any errors are detected.

ensure_redist_persist_consistencygs2_layoutsSubroutine

Disable opt_redist_persist and opt_redist_persist_overlap if dependent settings not set

ensure_single_val_fields_passdist_fnSubroutine

Ensure that linked boundary values of passed complex field are single valued (e.g. kperp2(ntgrid,ikx,iky) is equal to kperp2(-ntgrid,ikx_link,iky) as these correspond to the same location).

Read more…
ensure_single_val_fields_pass_rdist_fnSubroutine

Ensure that linked boundary values of passed real field are single valued (e.g. kperp2(ntgrid,ikx,iky) is equal to kperp2(-ntgrid,ikx_link,iky) as these correspond to the same location).

Read more…
eqdbishgeo_utilsSubroutine

Convert gradients of a function f w.r.t. R,Z into bishop form. Note that dbish(1, :, :) is not valid

eqdcartgeo_utilsSubroutine

Converts derivatives w.r.t. (psi_index,theta_index) to derivatives w.r.t. (R,Z). Note that dfcart(1, :, :) is not valid

eqitemleqFunction

Calculates fstar which is f interpolated at the location theta_in

eqitem_cartgeo_utilsFunction

fstar is f(R,Z) interpolated at the values (r,thetain). The parameter r is the distance to the magnetic axis.

eqitem_eqfilegeo_utilsFunction

Calculates fstar which is f interpolated at the location (r,theta). Here r is the normalised poloidal flux coordinate rp (= psi_pN + psi_0N) and theta_in is theta. f is a grid of values of f as a function of psi_p,theta First we find the radial and theta indices bounding our requested point and we then interpolate within the bound rectangle.

eqitem_interfacegeo_utilsInterface
erf_extspfuncInterface
errorshmemSubroutine

FIXME : Add documentation

error_abortshm_mpi3Subroutine

FIXME : Add documentation

error_unitfile_utilsFunction

Returns the file unit number associated with the error file

estimate_errornonlinear_termsFunction

Get an estimate of the error on the NL source term by comparing 2nd and 3rd order calculations of the source term.

Read more…
estimate_errordist_fnSubroutine

FIXME : Add documentation

eval_f0speciesFunction

FIXME : Add documentation

Read more…
eval_f0_sdanalyticspeciesSubroutine

FIXME : Add documentation
If vcrit is specified, there is no way of knowing its radial derivative, so set dvc/drho = 0

evaluate_polygenquadFunction

Evaluates a polynomial given recursion coefficients

evolve_equationsgs2_mainSubroutine

Run the initial value solver. nstep_run must be less than or equal to state%nstep, which is set from the input file. The cumulative number of steps that can be run cannot exceed state%nstep, without a call to reset_equations. Examples:

Read more…
exactly_equalwarning_helpersInterface

Are two numbers exactly equal to each other

exactly_equal_r32warning_helpersFunction
exactly_equal_r64warning_helpersFunction
exb_sheardist_fnSubroutine

FIXME : Add documentation

Read more…
exit_reason_unitfile_utilsFunction

Returns the file unit number associated with the exit_reason file

f_trapgeometryFunction

FIXME : Add documentation

factorsgs2_layoutsSubroutine

Get the factors of an integer n

favgdist_fnFunction

Construct time and space-centered quantities (should use actual bakdif and fexpr values?)

favg_xdist_fnFunction

FIXME : Add documentation

fdotdist_fnFunction

FIXME : Add documentation

fdot_tdist_fnFunction

FIXME : Add documentation

ffttestffttest_helperSubroutine

FIXME : Add documentation

fftw_flagsfft_workFunction

Set flags for FFTW3

field_k_localfields_parallelizationFunction

FIXME : Add documentation

field_line_averagetheta_gridInterface
field_line_average_complextheta_gridFunction

Calculates the field line / theta average of a passed quantity

field_line_average_realtheta_gridFunction

Calculates the field line / theta average of a passed quantity

fieldline_average_phifields_implicitSubroutine

This generates a field line average of phi_in and writes it to phi_average. If ik_only is supplied, it will only calculate the field line average for that ky, leaving the rest of phi_avg unchanged. EGH

Read more…
fields_gf_local_functionalfields_gf_localFunction

Returns true if GS2 was built in such a way as to allow this module to work. Currently does not work with PGI compilers. See online discussions.

fields_init_responsefieldsSubroutine

FIXME : Add documentation

fields_local_functionalfields_localFunction

Returns true if GS2 was built in such a way as to allow this module to work. Currently does not work with PGI compilers. See online discussions.

fields_pre_initfieldsSubroutine

Calls all initialisations required for init_fields_implicit/local, reads parameters and allocates field arrays

file_and_line_iddist_fn_arraysFunction

A small helper function which constructs and returns the string ' : '. Intended for use in producing the identifier string passed to the check routines of this module. Might be worth finding a better location for this generic utility.

Read more…
file_get_gridstheta_grid_fileSubroutine

FIXME : Add documentation

file_get_sizestheta_grid_fileSubroutine

FIXME : Add documentation

file_nc_get_gridstheta_grid_fileSubroutine

FIXME : Add documentation

file_nc_get_sizestheta_grid_fileSubroutine

FIXME : Add documentation

fillredistributeInterface
finaliseleqSubroutine

Finalise leq module

finalise_eqfilegeo_utilsSubroutine
finalize_diagnosticsgs2_mainSubroutine

FIXME : Add documentation

finalize_equationsgs2_mainSubroutine

FIXME : Add documentation

finalize_gs2gs2_mainSubroutine

FIXME : Add documentation

finalize_gs2_optimisationgs2_optimisationSubroutine

FIXME : Add documentation

finalize_overridesgs2_mainSubroutine

FIXME : Add documentation

find_leftmost_linkdist_fnSubroutine

FIXME : Add documentation

find_lower_boundgeo_utilsFunction
find_rightmost_linkdist_fnSubroutine

FIXME : Add documentation

find_zerogauss_quadSubroutine

FIXME : Add documentation

find_zero_bisect_newtongauss_quadSubroutine

FIXME : Add documentation

Read more…
find_zero_bisect_newton_radaugauss_quadSubroutine

FIXME : Add documentation

Read more…
finishread_cheaseSubroutine

Deallocate any module level arrays which have been allocated

finish_antennaantennaSubroutine

FIXME : Add documentation

finish_antenna_dataantenna_dataSubroutine

FIXME : Add documentation

finish_ballstabballstabSubroutine

Finalise this module Deallocate

finish_collisionalcollisional_heatingSubroutine

FIXME : Add documentation

finish_collisionscollisionsSubroutine

Forces recalculation of coefficients in collision operator when timestep changes.

finish_constant_randomconstant_randomSubroutine
finish_diagnostics_antennadiagnostics_antennaSubroutine

FIXME : Add documentation

finish_diagnostics_asciidiagnostics_asciiSubroutine

Closes all enabled ascii output files as given by recorded file units.

finish_diagnostics_configdiagnostics_configSubroutine
finish_diagnostics_fluxesdiagnostics_fluxesSubroutine

Clean up module, deallocate module-level arrays

finish_diagnostics_heatingdiagnostics_heatingSubroutine

FIXME : Add documentation

finish_diagnostics_omegadiagnostics_omegaSubroutine

FIXME : Add documentation

finish_diagnostics_velocity_spacediagnostics_velocity_spaceSubroutine

FIXME : Add documentation

finish_dist_fndist_fnSubroutine

FIXME : Add documentation

finish_dist_fn_arraysdist_fnSubroutine
finish_dist_fn_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

finish_dist_fn_level_1dist_fnSubroutine
finish_dist_fn_level_2dist_fnSubroutine

FIXME : Add documentation

finish_dist_fn_level_3dist_fnSubroutine

FIXME : Add documentation

finish_dist_fn_parametersdist_fnSubroutine

FIXME : Add documentation

finish_dump_responsedump_responseSubroutine

Call the finialise routines for any module we have initialised.

finish_eigenfunc_filegs2_saveSubroutine

Close the eigenfunction file

finish_fft_workfft_workSubroutine

Restore FFTW to pristine state

finish_fieldsfieldsSubroutine

FIXME : Add documentation

finish_fields_gf_localfields_gf_localSubroutine

Finish the fields_gf_local module

finish_fields_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

finish_fields_layoutsfields_implicitSubroutine

FIXME : Add documentation

finish_fields_level_1fieldsSubroutine

FIXME : Add documentation

finish_fields_level_2fieldsSubroutine

FIXME : Add documentation

finish_fields_localfields_localSubroutine

Finish the fields_local module

finish_fields_parametersfieldsSubroutine

FIXME : Add documentation

finish_file_utilsfile_utilsSubroutine

Close any files opened by init_file_utils

finish_general_quadgenquadSubroutine

FIXME : Add documentation

finish_geometrygeometrySubroutine

FIXME : Add documentation

finish_gs2gs2_mainSubroutine

Finish and cleanup a complete simulation

finish_gs2_diagnosticsgs2_diagnosticsSubroutine

Finalise the diagnostics module, writing final timestep diagnostics and closing any open files

finish_gs2_diagnostics_newgs2_diagnostics_newSubroutine

Close the output file and deallocate arrays

finish_gs2_file_utils_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

finish_gs2_gryfxgs2_gryfx_zonalSubroutine

FIXME : Add documentation

finish_gs2_gryfx_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

finish_gs2_initgs2_initSubroutine

Finish this module

finish_gs2_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

finish_gs2_reinitgs2_reinitSubroutine

FIXME : Add documentation

finish_gs2_savegs2_saveSubroutine

FIXME : Add documentation

finish_gs2_timegs2_timeSubroutine

Finalise the gs2_time module

finish_hyperhyperSubroutine

FIXME : Add documentation

finish_ingeningen_modSubroutine

FIXME : Add documentation

finish_initnonlinear_termsSubroutine

FIXME : Add documentation

finish_inittheta_gridSubroutine

FIXME : Add documentation

finish_init_ginit_gSubroutine

FIXME : Add documentation

finish_initial_values_overridesoverridesSubroutine
finish_jfields_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

finish_kt_gridskt_gridsSubroutine

FIXME : Add documentation

finish_kt_grids_overridesoverridesSubroutine
finish_kt_grids_parameterskt_gridsSubroutine

FIXME : Add documentation

finish_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

Read more…
finish_le_gridsle_gridsSubroutine

FIXME : Add documentation

finish_lowflow_termslowflowSubroutine

FIXME : Add documentation DD>May actually be able to deallocate most of these much

finish_miller_geometry_overridesoverridesSubroutine
finish_mpmpSubroutine

Finalise 1 library if it hasn't been finalised already

finish_nonblocking_max_vel_reductionnonlinear_termsSubroutine

Finish nonblocking calculation of the maximum velocity

Read more…
finish_nonlinear_convergencediagnostics_nonlinear_convergenceSubroutine

FIXME : Add documentation

finish_nonlinear_termsnonlinear_termsSubroutine

FIXME : Add documentation

finish_normalisationsnormalisationsSubroutine

Free memory etc. associated with normalisations

finish_optimisation_configoptimisation_configSubroutine
finish_optimisations_overridesoverridesSubroutine
finish_parameter_scanparameter_scanSubroutine

FIXME : Add documentation

finish_parameters_boxkt_grids_boxSubroutine

FIXME : Add documentation

finish_parameters_rangekt_grids_rangeSubroutine

FIXME : Add documentation

finish_parameters_singlekt_grids_singleSubroutine

FIXME : Add documentation

finish_parameters_specifiedkt_grids_specifiedSubroutine

FIXME : Add documentation

finish_profiles_overridesoverridesSubroutine
finish_run_parametersrun_parametersSubroutine

FIXME : Add documentation

finish_setupleqSubroutine

Finish the leq setup

finish_setup_eqfilegeo_utilsSubroutine
finish_speciesspeciesSubroutine

FIXME : Add documentation

finish_split_nonlinear_termssplit_nonlinear_termsSubroutine

Reset the module, freeing memory etc.

finish_theta_gridtheta_gridSubroutine

FIXME : Add documentation

finish_theta_grid_eiktheta_grid_eikSubroutine
finish_theta_grid_filetheta_grid_fileSubroutine

FIXME : Add documentation

finish_theta_grid_gridgentheta_grid_gridgenSubroutine

FIXME : Add documentation

finish_theta_grid_paramstheta_grid_paramsSubroutine

FIXME : Add documentation

finish_theta_grid_salphatheta_grid_salphaSubroutine

FIXME : Add documentation

finish_timestep_overridesoverridesSubroutine
finish_transformsgs2_transformsSubroutine

FIXME : Add documentation

finish_weightsle_gridsSubroutine

Deallocate the weights used to provide error estimates

fitp_ceezsplinesSubroutine

FIXME : Add documentation

fitp_curv1splinesSubroutine

FIXME : Add documentation (or tidyup above)

fitp_curv2splinesFunction

FIXME : Add documentation

fitp_curvdsplinesFunction

FIXME : Add documentation

fitp_curvisplinesFunction

FIXME : Add documentation

fitp_curvp1splinesSubroutine

FIXME : Add documentation

fitp_curvp2splinesFunction

FIXME : Add documentation

fitp_curvpdsplinesFunction

FIXME : Add documentation

fitp_curvpisplinesFunction

FIXME : Add documentation

fitp_intrvlsplinesFunction

FIXME : Add documentation

fitp_intrvpsplinesFunction

FIXME : Add documentation

fitp_snhcshsplinesSubroutine

FIXME : Add documentation

fitp_surf1splinesSubroutine

FIXME : Add documentation

fitp_surf2splinesFunction

FIXME : Add documentation

fitp_termssplinesSubroutine

FIXME : Add documentation

flaeinit_gSubroutine

FIXME : Add documentation

flush_filesgs2_diagnosticsSubroutine

Flush text files (only out_unit, res_unit, lpc_unit, and parity_unit)

flush_output_filesdiagnostics_asciiSubroutine

Flushes all enabled ascii output files as given by recorded file units.

fluxdiagnostics_fluxesSubroutine

Calculate various fluxes

Read more…
flux_distdist_fnSubroutine

Diagnose the poloidal distribution of the particle, angular momentum, and energy fluxes

Read more…
flux_tube_field_like_to_ballooning_spacedist_fnSubroutine

Extracts the field like data corresponding to the supercell with the {it, ik} wavenumber pair as a member and constructs the ballooning space form. By default includes duplicate theta points but can drop these on request.

flux_vs_ediagnostics_fluxesSubroutine

FIXME : Add documentation

flux_vs_theta_vs_vpadist_fnSubroutine

Calculate the momentum flux as a function of

fluxavggeometryFunction

FIXME : Add documentation

fm_allocatefields_localSubroutine

Allocate storage space

fm_allocatefields_gf_localSubroutine

Allocate storage space

fm_calc_sc_headsfields_localSubroutine
fm_calc_sc_headsfields_gf_localSubroutine

Record the process that is the supercell head associated with a given ik,it point Supercells have a single ik but may have many it points so a given supercell head may be responsible for a range of points

fm_check_anfields_localSubroutine
fm_count_subcomfields_localSubroutine

Count how many subcommunicators will be created

fm_count_subcomfields_gf_localSubroutine

Count how many subcommunicators will be created

fm_deallocatefields_localSubroutine

Deallocate storage space

fm_deallocatefields_gf_localSubroutine

Deallocate storage space

fm_debug_printfields_localSubroutine

Debug printing

fm_debug_printfields_gf_localSubroutine

Debug printing

fm_gather_fieldsfields_localSubroutine

Gather all the fields to proc0/all for diagnostics etc. DD>TAGGED:Worth looking at improving this bad memory pattern

fm_gather_fieldsfields_gf_localSubroutine

Redistribute fields from gf_lo to g_lo. This first involves unpacking the calculated fields from tmpsum on the supercell heads to the field arrays and then sending them back to the processes that calculated them in gf_lo and the processes that need them in g_lo. DD>TAGGED:Worth looking at improving this bad memory pattern

fm_gather_init_fieldsfields_gf_localSubroutine

Redistribute initial fields from gf_lo to g_lo. These are fields that have not been reduced to the supercell heads, just calculated on each process that owns gf_lo points

fm_get_condition_numbersfields_localSubroutine

Fetch all condition numbers to proc0 and report on worrying values as required.

fm_get_field_updatefields_localSubroutine

A routine to calculate the update to the fields DD>Could improve performance by using a "smart" routine which only operates on local/not empty data

fm_get_field_updatefields_gf_localSubroutine

A routine to calculate the update to the fields

fm_getfieldeq1_nogathfields_localSubroutine
fm_getfieldeq1_nogathfields_gf_localSubroutine

FIXME : Add documentation

fm_getfieldeq_nogathfields_localSubroutine
fm_getfieldeq_nogathfields_gf_localSubroutine

FIXME : Add documentation

fm_initfields_localSubroutine

Initialise the field objects

fm_initfields_gf_localSubroutine

Initialise the field objects

fm_init_next_field_pointsfields_localSubroutine

Initialise the next set of delta functions, find the response and store in the appropriate rows. DD>Could improve performance by using a "smart" routine which only operates on local/not empty data

fm_init_next_field_pointsfields_gf_localSubroutine

Initialise the next set of delta functions, find the response and store in the appropriate rows.

fm_make_subcom_1fields_localSubroutine

Create all the necessary subcommunicators

fm_make_subcom_1fields_gf_localSubroutine

Create all the necessary subcommunicators

fm_make_subcom_2fields_localSubroutine

Create the secondary subcommunicators

fm_make_subcom_2fields_gf_localSubroutine

Create the secondary subcommunicators

fm_populatefields_localSubroutine

Find the response of g to delta-fn field perturbations and store at the row level

fm_populatefields_gf_localSubroutine

Find the response of g to delta-fn field perturbations and store at the row level

fm_preparefields_localSubroutine

Prepare the field matrix for calculating field updates

fm_preparefields_gf_localSubroutine

Prepare the field matrix for calculating field updates

fm_reduce_an_head_send_broadcastfields_localSubroutine
fm_resetfields_localSubroutine

A routine to reset the object

fm_resetfields_gf_localSubroutine

A routine to reset the object

fm_scatter_fieldsfields_gf_localSubroutine

Redistribute the fields from g_lo to gf_lo This is used to take the initial fields that are calculated in initialisation using the fields_implicit functionality, and therefore in g_lo, and distribute them to gf_lo layout as well so that we can start the advance_gf_local routine with the correct field data in both formats.

fm_set_is_localfields_localSubroutine

Just work out the locality (also sets is_empty etc. but is not intended for this)

fm_set_is_localfields_gf_localSubroutine

Just work out the locality (also sets is_empty etc. but is not intended for this)

fm_unpack_to_fieldfields_localSubroutine

A routine to unpack the supercell tmp_sum vectors to full field arrays

fm_unpack_to_fieldfields_gf_localSubroutine

A routine to unpack the supercell tmp_sum vectors to full field arrays

fm_update_fieldsfields_localSubroutine

Update the fields using calculated update

fm_update_fieldsfields_gf_localSubroutine

Update the fields using calculated update We update both the g_lo (phi,apar,bpar) and gf_lo (gf_phi,gf_apar,gf_bpar) fields as these are needed to make sure we can progress the fields in g_lo and gf_lo both times and thereby not have to transfer the full fields for all processes every iteration, only the required updates. With some refactoring it should be possible to do all the work on a single set of field arrays as they are the same size regardless of the layout being used.

fm_update_fields_newstepfields_localSubroutine

Update the fields using the new fields

fm_update_fields_newstepfields_gf_localSubroutine

Update the fields using the new fields

fm_write_debug_datafields_localSubroutine

Write some debug data to file

fm_write_debug_datafields_gf_localSubroutine

Write some debug data to file

format_keyabstract_configFunction

Takes a given key and formats it in a consistent style. Currently that style is left justified in a character variable of minimum length key_align_width.

format_uuiduuid_modFunction

Convert an array of 1-byte integers into UUID format: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

formatted_build_configbuild_configFunction
free_commmpInterface
free_comm_idmpSubroutine

A routine to free the communicator with id comm

free_comm_typempSubroutine

A routine to free the communicator represented by comm

free_handle_persistmpSubroutine

Frees a single persistent request handle

free_handles_persistmpSubroutine

Frees multiple persistent request handles

free_requestmpInterface
g_adjustdist_fn_arraysInterface

g_adjust transforms between representations of perturbed dist'n func'n. = g_wesson J0(Z) - q phi/T F_m where <> = gyroaverage g_gs2 = g_wesson - q phi/T J0(Z) F_m - m v_||^2/T B_||/B J1(Z)/Z F_m For numerical convenience the GS2 variable g uses the form g_gs2. g_wesson (see Wesson's book, Tokamaks) is often a more convenient form: e.g. for handling collisions, calculating v-space moments in real space.

Read more…
g_adjust_directiondist_fn_arraysSubroutine

Transform between g_gs2 and g_wesson with direction indicated by passed logical [to_g_gs2].

g_adjust_floatsdist_fn_arraysSubroutine

Transform between g_gs2 and g_wesson with direction indicated by passed floats [facphi] and [facbpar].

gatherredistributeInterface
gemmlapack_wrapperInterface
gemvlapack_wrapperInterface
generatemt19937Function

Generate a random number from a mt19937_type

generate_gridsrungridgenSubroutine

FIXME : Add documentation

generate_uuiduuid_modFunction

Generate a version 4 UUID using either the libuuid library, or our own random number generator wrapper

geo_FourierSeriesleqSubroutine

Calculate the cylindrical at for the Fourier model

Read more…
geo_generalizedElongationleqSubroutine

Calculate the cylindrical at for the generalised elongation model

Read more…
geo_globalleqSubroutine

Calculate the cylindrical at for the global MHD model

Read more…
geo_MillerleqSubroutine

Calculate the cylindrical (r, \theta) for the generalised Miller model

Read more…
geofaxeiktestSubroutine

FIXME : Add documentation DD>WARNING : Rinnr has not been defined on first loop through DD>WARNING : Routr has not been defined on first loop through

get_adams_bashforth_coefficientsgs2_timeFunction

Returns the current set of Adams Bashforth coefficients. The order is determined by how much time history we have available up to a maximum of 3rd order. The coefficients are generalised for variable timestep.

get_antenna_driver_configantennaFunction

Get the module level driver config

get_antenna_stir_configantennaFunction

Get the module level stir config

get_argmultigs2Subroutine
get_ballstab_configballstabFunction

Get the module level config instance

get_beta_primeballstabSubroutine

Gets the current value of beta_prime (or equivalent var) Really just gets the variable that we can use to control the pressure gradient.

get_choiceingen_modSubroutine

FIXME : Add documentation

get_collisions_configcollisionsFunction

Get the module level config instance

get_compiler_nameruntime_testsFunction

Returns the name of the compiler used

get_configsconfig_collectionSubroutine

Copy all the module-level configs into \p self.

Read more…
get_cross_phasegs2_diagnosticsSubroutine

This is a highly simplified synthetic diagnostic which calculates the cross phase between the electron density and the perpendicular electron temperature for comparisons with DIII-D.
Returns the value of the cross-phase at the outboard midplane and integrated over all v and x. We can generalize this routine to other fields at some point, but for now this is just a skeleton for a more realistic synthetic diagnostic.

get_cross_phasediagnostics_turbulenceSubroutine

This is a highly simplified synthetic diagnostic which calculates the cross phase between the electron density and the perpendicular electron temperature for comparisons with DIII-D.
Returns the value of the cross-phase at the outboard midplane and integrated over all v and x. We can generalize this routine to other fields at some point, but for now this is just a skeleton for a more realistic synthetic diagnostic.

get_default_name_ballstab_configballstabFunction

Gets the default name for this namelist

get_default_name_collisions_configcollisionsFunction

Gets the default name for this namelist

get_default_name_diagnostics_base_configdiagnostics_base_configFunction

Gets the default name for this namelist

get_default_name_dist_fn_configdist_fnFunction

Gets the default name for this namelist

get_default_name_dist_fn_species_configdist_fnFunction

Gets the default name for this namelist

get_default_name_driver_configantennaFunction

Gets the default name for this namelist

get_default_name_fields_configfieldsFunction

Gets the default name for this namelist

get_default_name_hyper_confighyperFunction

Gets the default name for this namelist

get_default_name_ingen_configingen_modFunction

Gets the default name for this namelist

get_default_name_init_g_configinit_gFunction

Gets the default name for this namelist

get_default_name_interfaceabstract_configInterface
get_default_name_knobs_configrun_parametersFunction

Gets the default name for this namelist

get_default_name_kt_grids_box_configkt_grids_boxFunction

Gets the default name for this namelist

get_default_name_kt_grids_configkt_gridsFunction

Gets the default name for this namelist

get_default_name_kt_grids_range_configkt_grids_rangeFunction

Gets the default name for this namelist

get_default_name_kt_grids_single_configkt_grids_singleFunction

Gets the default name for this namelist

get_default_name_kt_grids_specified_configkt_grids_specifiedFunction

Gets the default name for this namelist

get_default_name_kt_grids_specified_element_configkt_grids_specifiedFunction

Gets the default name for this namelist

get_default_name_layouts_configgs2_layoutsFunction

Gets the default name for this namelist

get_default_name_le_grids_configle_gridsFunction

Gets the default name for this namelist

get_default_name_nonlinear_terms_confignonlinear_termsFunction

Gets the default name for this namelist

get_default_name_normalisations_confignormalisationsFunction

Gets the default name for this namelist

get_default_name_optimisation_configoptimisation_configFunction

Gets the default name for this namelist

get_default_name_parameter_scan_configparameter_scanFunction

Gets the default name for this namelist

get_default_name_reinit_configgs2_reinitFunction

Gets the default name for this namelist

get_default_name_source_configdist_fnFunction

Gets the default name for this namelist

get_default_name_species_configspeciesFunction

Gets the default name for this namelist

get_default_name_species_element_configspeciesFunction

Gets the default name for this namelist

get_default_name_split_nonlinear_terms_configsplit_nonlinear_termsFunction

Gets the default name for this namelist

get_default_name_stir_configantennaFunction

Gets the default name for this namelist

get_default_name_theta_grid_configtheta_gridFunction

Gets the default name for this namelist

get_default_name_theta_grid_eik_configtheta_grid_eikFunction

Gets the default name for this namelist

get_default_name_theta_grid_file_configtheta_grid_fileFunction

Gets the default name for this namelist

get_default_name_theta_grid_gridgen_configtheta_grid_gridgenFunction

Gets the default name for this namelist

get_default_name_theta_grid_parameters_configtheta_grid_paramsFunction

Gets the default name for this namelist

get_default_name_theta_grid_salpha_configtheta_grid_salphaFunction

Gets the default name for this namelist

get_default_netcdf_compressionnetcdf_utilsFunction

Returns the current value of use_compression_default

get_default_netcdf_compression_levelnetcdf_utilsFunction

Returns the current value of deflate_level_default

get_default_requires_index_ballstab_configballstabFunction

Gets the default requires index for this namelist

get_default_requires_index_collisions_configcollisionsFunction

Gets the default requires index for this namelist

get_default_requires_index_diagnostics_base_configdiagnostics_base_configFunction

Gets the default requires index for this namelist

get_default_requires_index_dist_fn_configdist_fnFunction

Gets the default requires index for this namelist

get_default_requires_index_dist_fn_species_configdist_fnFunction

Gets the default requires index for this namelist

get_default_requires_index_driver_configantennaFunction

Gets the default requires index for this namelist

get_default_requires_index_fields_configfieldsFunction

Gets the default requires index for this namelist

get_default_requires_index_hyper_confighyperFunction

Gets the default requires index for this namelist

get_default_requires_index_ingen_configingen_modFunction

Gets the default requires index for this namelist

get_default_requires_index_init_g_configinit_gFunction

Gets the default requires index for this namelist

get_default_requires_index_interfaceabstract_configInterface
get_default_requires_index_knobs_configrun_parametersFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_box_configkt_grids_boxFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_configkt_gridsFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_range_configkt_grids_rangeFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_single_configkt_grids_singleFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_specified_configkt_grids_specifiedFunction

Gets the default requires index for this namelist

get_default_requires_index_kt_grids_specified_element_configkt_grids_specifiedFunction

Gets the default requires index for this namelist

get_default_requires_index_layouts_configgs2_layoutsFunction

Gets the default requires index for this namelist

get_default_requires_index_le_grids_configle_gridsFunction

Gets the default requires index for this namelist

get_default_requires_index_nonlinear_terms_confignonlinear_termsFunction

Gets the default requires index for this namelist

get_default_requires_index_normalisations_confignormalisationsFunction

Gets the default requires index for this namelist

get_default_requires_index_optimisation_configoptimisation_configFunction

Gets the default requires index for this namelist

get_default_requires_index_parameter_scan_configparameter_scanFunction

Gets the default requires index for this namelist

get_default_requires_index_reinit_configgs2_reinitFunction

Gets the default requires index for this namelist

get_default_requires_index_source_configdist_fnFunction

Gets the default requires index for this namelist

get_default_requires_index_species_configspeciesFunction

Gets the default requires index for this namelist

get_default_requires_index_species_element_configspeciesFunction

Gets the default requires index for this namelist

get_default_requires_index_split_nonlinear_terms_configsplit_nonlinear_termsFunction

Gets the default requires index for this namelist

get_default_requires_index_stir_configantennaFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_configtheta_gridFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_eik_configtheta_grid_eikFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_file_configtheta_grid_fileFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_gridgen_configtheta_grid_gridgenFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_parameters_configtheta_grid_paramsFunction

Gets the default requires index for this namelist

get_default_requires_index_theta_grid_salpha_configtheta_grid_salphaFunction

Gets the default requires index for this namelist

get_dHdElowflowSubroutine

FIXME : Add documentation

get_dHdxilowflowSubroutine

FIXME : Add documentation

get_diagnostics_config_configdiagnostics_configFunction

Get the module level config instance

get_dim_lengthgs2_ioFunction

Wrapper around nf90_inquire_dimension. Aborts if any errors are detected.

get_dist_fn_configdist_fnFunction

Get the module level config instance

get_dist_fn_species_configdist_fnFunction

Get the module level config instance

get_ediffuse_matrixcollisionsSubroutine

FIXME : Add documentation

get_epardiagnostics_final_routinesSubroutine

Calculate

Read more…
get_field_inconsistencydist_fnSubroutine

Calculates the potentials directly from the passed distribution function and compares the result to the passed potentials. Returns the maximum relative error for each potential.

get_field_solutionfields_implicitSubroutine

FIXME : Add documentation

get_field_vectorfields_implicitSubroutine

FIXME : Add documentation

get_field_weighted_average_kperp2gs2_diagnosticsFunction

Calculates <|field|2 kperp2>_theta / <|field|2>_theta. Useful for simple quasilinear metric

get_fields_configfieldsFunction

Get the module level config instance

get_fields_direct_from_dfndist_fnSubroutine

Inverts the field equations: gamtot * phi - gamtot1 * bpar = antot kperp2 * apar = antota beta/2 * gamtot1 * phi + (beta * gamtot2 + 1) * bpar = - beta * antotp

Read more…
get_file_procgs2_saveFunction

Returns the file corresponding to restart file in current setup

get_fldline_avggs2_diagnosticsInterface

Calculate the field-line average

get_fldline_avg_cgs2_diagnosticsSubroutine

Calculate the field-line average (complex values)

get_fldline_avg_rgs2_diagnosticsSubroutine

Calculate the field-line average (real values)

get_fluxdiagnostics_fluxesSubroutine

Calculate the flux of a field

get_flux_distdist_fnSubroutine

Identical to get_flux except don't integrate over poloidal angle ! JRB

get_flux_vs_ediagnostics_fluxesSubroutine

FIXME : Add documentation

get_flux_vs_theta_vs_vpale_gridsSubroutine

Calculates and returns toroidal momentum flux as a function of vpar and theta

get_git_hashgit_hash.fppFunction

Returns the git hash of the current commit

get_git_hashgit_version_modInterface
get_git_hashruntime_testsFunction

This function is just a call of get_git_hash_runtime_info and is provided for backwards compatibility.

get_git_hash_runtime_inforuntime_testsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Tests for git info !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Returns the git hash

get_git_modifiedruntime_testsFunction

This function is just a call of get_git_modified_runtime_info and is provided for backwards compatibility.

get_git_modified_runtime_inforuntime_testsFunction

Returns whether the source code has been modified relative to the repository version

get_git_stategit_hash.fppFunction

Return "-dirty" if the repository has modifications to tracked files, or the empty string otherwise

get_git_stategit_version_modInterface
get_git_versiongit_hash.fppFunction

Returns the git version from git describe

Read more…
get_git_versiongit_version_modInterface
get_gk_systemruntime_testsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! System info !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Returns the value of the "fedora" environment variable

get_gradHlowflowSubroutine

FIXME : Add documentation

get_gridskt_gridsSubroutine

FIXME : Add documentation

get_gridstheta_gridSubroutine

FIXME : Add documentation

get_gs2_diagnostics_configgs2_diagnosticsFunction

Get the module level config instance

get_gs2_layouts_configgs2_layoutsFunction

Get the module level config instance

get_gs2_reinit_configgs2_reinitFunction

Get the module level config instance

get_gtrandist_fnSubroutine

Error estimate based on monitoring amplitudes of legendre polynomial coefficients.

Read more…
get_HlowflowSubroutine

FIXME : Add documentation

get_heatdist_fnSubroutine

Calculate some heating quantities: - ion/electron heating - antenna power and B-field contributions to E and E_dot - gradient contributions to heating - hyperviscosity - hyperresistivity

Read more…
get_hermite_polynomialsle_gridsInterface
get_hermite_polynomials_1dle_gridsSubroutine

Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1

get_hermite_polynomials_4dle_gridsSubroutine

Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1

get_hyper_confighyperFunction

Get the module level config instance

get_idle_processesingen_modSubroutine

This subroutine is used to return the idle processes from the xxf and yxf layouts. Idle processes sometimes occur, dependent on the process count used, because the data domain does not evenly divide by the total number of processes available. These can cause high communications overheads for the non-linear calculations for large numbers of processes so it is useful to print this data out in ingen to let users know which process counts this can happen at for a given input file We currently use an arbitrary cutoff of 10% difference in idle processes to suggest that the unbalanced decomposition functionality should be used to mitigate the impact of this difference.

Read more…
get_indexed_namelist_unitfile_utilsSubroutine

Copy namelist, <nml>_<index_in>, from the input file to namelist NML in a temporary file with unit unit

get_ingen_mod_configingen_modFunction

Get the module level config instance

get_init_fielddist_fnSubroutine

Calls get_fields_direct_from_dfn to solve for fields consistent with current gnew

get_init_g_configinit_gFunction

Get the module level config instance

get_initial_gridsrungridgenSubroutine

FIXME : Add documentation

get_initial_grids_3drungridgenSubroutine

FIXME : Add documentation

get_input_filenamefile_utilsFunction

Return the input filename as set by the command line

get_input_unitfile_utilsSubroutine

Returns the file unit number associated with the input file

Read more…
get_intrvl_weightsle_gridsSubroutine

Used by get_weights to find the Lagrange quadrature weights for the given grid.

Read more…
get_inverse_errorsplit_nonlinear_termsFunction

Returns the normalised inverse error estimate. In other words the error tolerance, rtol*errors(2) + atol, divided by the error estimate (plus a small number to avoid divide by zero).

Read more…
get_jextantennaSubroutine

Calculate the external current in the antenna

get_knobs_configrun_parametersFunction

Get the module level config instance

get_kt_grids_box_configkt_grids_boxFunction

Get the module level config instance

get_kt_grids_configkt_gridsFunction

Get the module level config instance

get_kt_grids_range_configkt_grids_rangeFunction

Get the module level config instance

get_kt_grids_single_configkt_grids_singleFunction

Get the module level config instance

get_kt_grids_specified_configkt_grids_specifiedFunction

Get the module level config instance

get_kt_grids_specified_element_configkt_grids_specifiedFunction

Get the module level config instance

get_laguerre_gridsgauss_quadSubroutine

Returns Laguerre zeros and weights. The order is determined from the size of the array 'zero'.

get_le_grids_configle_gridsFunction

Get the module level config instance

get_left_connectiondist_fnSubroutine

FIXME : Add documentation

get_leftmost_itdist_fnFunction

Helper function for finding the leftmost it of supercell

get_legendre_grids_from_chebgauss_quadSubroutine

returns Legendre zeros and weights in the given interval [x1,x2]. The order is determined from the size of the array 'zero'. $ if (abs(sum(wgt)/abs(x2-x1)) - 1.0 > epsilon(wgt)) then $ print *, 'roundoff correction occurred'

get_lffluxdiagnostics_fluxesSubroutine

FIXME : Add documentation

get_lorentz_matrixcollisionsSubroutine

FIXME : Add documentation

get_lowflow_termslowflowSubroutine

FIXME : Add documentation

get_max_velnonlinear_termsSubroutine

Calculates an estimate of the current maximum velocity due to the perturbed potentials. This is currenly a processor local estimate.

get_mom_glmdist_fnSubroutine

Calculates hermite-laguerre moments of g uses gryfx normalization convention (see getmoms_gryfx above)

get_mp_timesmpSubroutine

Returns current requested timer values

get_name_genericabstract_configFunction

Returns the namelist name. Not very useful at the moment but may want to do more interesting things in the future

get_namelistsingen_modSubroutine

FIXME : Add documentation

get_netcdf_code_precisionnetcdf_utilsFunction

Returns the correct netCDF constant for the real kind in use

get_netcdf_dim_lengthnetcdf_utilsFunction

Wrapper around nf90_inquire_dimension. Aborts if any errors are detected.

get_netcdf_file_idgs2_ioFunction

Provides read-only access to the netCDF file ID

get_netcdf_movie_file_idgs2_ioFunction

Provides read-only access to the netCDF movie file ID

get_nonlinear_terms_confignonlinear_termsFunction

Get the module level config instance

get_normalisations_confignormalisationsFunction

Get the module level config instance

get_omegaavggs2_diagnosticsSubroutine

Calculate the time-averaged complex frequency, check convergence criterion, and numerical instability criterion.

Read more…
get_optimisation_config_configoptimisation_configFunction

Get the module level config instance

get_option_valuetext_optionsSubroutine

FIXME : Add documentation

get_option_with_defaultoptionalsInterface
get_option_with_default_characteroptionalsFunction

Returns option if present or default if not.

Read more…
get_option_with_default_complex32optionalsFunction

Returns option if present or default if not.

get_option_with_default_complex64optionalsFunction

Returns option if present or default if not.

get_option_with_default_integeroptionalsFunction

Returns option if present or default if not.

get_option_with_default_logicaloptionalsFunction

Returns option if present or default if not.

get_option_with_default_real32optionalsFunction

Returns option if present or default if not.

get_option_with_default_real64optionalsFunction

Returns option if present or default if not.

get_parallel_statisticsgs2_mainSubroutine

Gets statistics of passed real value across all processes. Intended for use with our timers.

get_parameter_scan_configparameter_scanFunction

Get the module level config instance

get_parameters_as_surftheta_grid_paramsFunction

Packs all relevant parameters into a flux_surface_type instance. Note we can't fully populate the surface instance as we don't hold delrho Might not want to pack this here

get_parity_conndist_fnSubroutine

Return the iglo corresponding to the part of the domain given by iglo reflected in theta=theta0

get_phi0diagnostics_fieldsFunction

Calculate the phi0 array, used to normalise eigenfunctions and moments.

get_plotdatarungridgenSubroutine
get_proc_namempSubroutine

FIXME : Add documentation

get_quadrature_rulegenquadSubroutine

Accepts a weighting function (with only one argument), defined as external, calculates the modified moments, and returns the abscissae and weights for a new scheme based on polynomials orthogonal to the given weight function. The method is that of Wheeler. Also described in Numerical Recipes, 3rd ed. section 4.6.2 and 4.6.3. Input: Suitable integration weights as a single-argument function. Defined as "external" in calling routine! Input: The number of integration points desired Input: The left boundary of the integration domain Input: The right boundary of the integration domain Output: The abscissae (quadrature points) for integration Output: The integration weights Optional: Set to true to make lower bound -inf Optional: Set to true to make upper bound +inf

get_radau_gauss_gridsgauss_quadSubroutine

returns radau zeros and weights in the given interval [x1,x2]. The order is determined from the size of the array 'zero'. Note that the last element of 'zero' and 'wgt' are the fixed lower endpoint -1 in (1,-1] Note also that 'zero'(i) contains the zeros in descending order 1 -> -1 with increasing i

get_radgradlowflowSubroutine

Get radial derivative at center of 3 points

get_random_seeduuid_modFunction

Uses a method for getting a nice seed for the PRNG taken from gfortran documentation

get_redist_timesredistributeSubroutine

Returns current requested timer values

get_redistnameredistributeFunction

Get redistname

get_requires_index_genericabstract_configFunction

Returns the requires_index value. Allows access whilst keeping the variable private

get_restart_dirinit_gFunction

Returns the value of restart_dir

get_right_connectiondist_fnSubroutine

FIXME : Add documentation

get_rightmost_itdist_fnFunction

Helper function for finding the rightmost it of supercell

get_rk_schemerk_schemesFunction

Returns an rk_scheme instance describing the scheme represented by the passed variant type.

get_rk_scheme_by_idrk_schemesFunction

Returns an rk_scheme instance describing the scheme with id matching the passed id value.

get_rk_schemes_as_text_optionsrk_schemesFunction

Returns an array of text_option values representing the known rk schemes, mapping names to integer ids

get_rnd_seedranSubroutine

Returns the current value of the generator seed. This is not currently supported by the Mersenne generator so in this case we return 0.

get_rnd_seed_lengthranFunction

Gets the length of the integer vector for the random number generator seed. This is always 1 for the Mersenne case but otherwise depends on the compiler version.

get_shatballstabSubroutine

Gets the current value of shat

get_sizeskt_gridsSubroutine

FIXME : Add documentation

get_sizestheta_gridSubroutine

FIXME : Add documentation

get_source_configdist_fnFunction

Get the module level config instance

get_source_termdist_fnSubroutine

FIXME : Add documentation

Read more…
get_source_term_on_local_domaindist_fnSubroutine

Calculates the regular source term on the entire local domain and stores in the output source.

Read more…
get_source_term_optdist_fnSubroutine

This is a version of get_source_term which does both sign (sigma) together and uses precalculated constant terms. Leads to more memory usage than original version but can be significantly faster (~50%)

get_species_configspeciesFunction

Get the module level config instance

get_species_element_configspeciesFunction

Get the module level config instance

get_specific_response_file_namefields_arraysFunction

This function returns the response file name when given characteristic data.

get_split_nonlinear_terms_configsplit_nonlinear_termsFunction

Get the module level config instance

get_status_entrymemory_usageFunction

Try to read an integer from /proc/self/status. Returns negative if not possible to open file.

get_surf_averagegs2_diagnosticsSubroutine

FIXME : Add documentation

get_theta_grid_configtheta_gridFunction

Get the module level config instance

get_theta_grid_eik_configtheta_grid_eikFunction

Get the module level config instance

get_theta_grid_file_configtheta_grid_fileFunction

Get the module level config instance

get_theta_grid_gridgen_configtheta_grid_gridgenFunction

Get the module level config instance

get_theta_grid_params_configtheta_grid_paramsFunction

Get the module level config instance

get_theta_grid_salpha_configtheta_grid_salphaFunction

Get the module level config instance

get_thgradlowflowSubroutine

FIXME : Add documentation

get_trapped_lambda_grid_error_estimate_weightsle_gridsSubroutine

Routine for getting the weights used in estimating the error on trapped particle integrals as a part of trap_error

Read more…
get_unbalanced_suggestionsingen_modSubroutine

This subroutine is used to return the unbalanced suggestions for a given process count (npe). The calculation is performed using the calculate_unbalanced_x and calculate_unbalanced_y subroutines from gs2_layouts. These return the unbalanced decomposition size (difference between the suggested small and large block size for the decomposition) and from this a logical is set to recommend whether the unbalanced decomposition should be used or not.

Read more…
get_unused_unitfile_utilsSubroutine

Get an unused unit number for I/O.

Read more…
get_verbosityruntime_testsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Testing the runtime environment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This function interrogates the environment variable GK_VERBOSITY and returns its integer value. This is used to control the level of debug output (not diagnostic/physics output). Normal levels range from 0 to 5, with output getting heavier as the value increases. Values higher than 5 can be used for specialised/very heavy output.

get_verrdist_fnSubroutine

Error estimate obtained by comparing standard integral with less-accurate integral

Read more…
get_vnewkdist_fnSubroutine

FIXME : Add documentation

get_vol_averagegs2_diagnosticsInterface
get_vol_average_allgs2_diagnosticsSubroutine

FIXME : Add documentation

Read more…
get_vol_average_onegs2_diagnosticsSubroutine

FIXME : Add documentation

get_vol_intgs2_diagnosticsInterface
get_vol_int_allgs2_diagnosticsSubroutine

FIXME : Add documentation

get_vol_int_onegs2_diagnosticsSubroutine

FIXME : Add documentation

get_volume_averagegs2_diagnosticsSubroutine

FIXME : Add documentation

get_volume_intgs2_diagnosticsSubroutine

FIXME : Add documentation

get_weightsle_gridsSubroutine

The get_weights subroutine determines how to divide up the integral into subintervals and how many grid points should be in each subinterval

get_wisdom_filegs2_layoutsSubroutine

Set the fft_wisdom_file based on the value set in the namelist (if any) and the value in the GK_FFTW3_WISDOM environment variable

Read more…
getandist_fnSubroutine

Compute velocity space integrals over :

Read more…
getan_from_dfndist_fnSubroutine

Compute velocity space integrals over :

Read more…
getan_nogathdist_fnSubroutine

Calls getan_nogath_from_dfn to calculate antot arrays for current gnew value

getan_nogath_from_dfndist_fnSubroutine

Getan_nogath has been substantially changed to enable gf_lo field calculations, it can now operate in 2 modes; using the standard integrate_species (integrate_species_sub in le_grids) when called from fields_local and gf_lo_integrate is false (which is teh default, or doing the integrate in place when called from fields_gf_local or from fields_local when gf_lo_integrate is true. Note, if this is called from fields_local and gf_lo_integrate is true then the calculation will be done locally but there is a function called after this has finished in fields_local that sends the data back (from gf_lo to g_lo layouts). When call with gf_lo_integrate = .true. this routine does a gather that converts the gnew array from g_lo data distribution to gf_lo data distribution and stores the result in gfarray. With gf_lo_integrate = .false. g_in is used instead and this is in g_lo data distribution.

Read more…
getemomsdist_fnSubroutine

Returns electron density and Tperp moment integrals to PE 0

getfieldfields_implicitSubroutine

FIXME : Add documentation

getfield_gf_localfields_gf_localSubroutine

Calculate the update to the fields

getfield_localfields_localSubroutine

Calculate the update to the fields

getfieldeqdist_fnSubroutine

FIXME : Add documentation

getfieldeq1dist_fnSubroutine

FIXME : Add documentation

getfieldeq1_nogathdist_fnSubroutine

FIXME : Add documentation

Read more…
getfieldeq_nogathdist_fnSubroutine

FIXME : Add documentation

getmdserrortextmdsioSubroutine

FIXME : Add documentation

getmomsdist_fnSubroutine

Calculate various moments of the distribution function !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! integrate moments over the nonadiabatic part of !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! set g_work= J0 g_wesson = nonadiabatic piece of /F_m !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! now include the adiabatic part of !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! set g_work = /F_m, including the adiabatic term

getmoms_gryfx_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

getmoms_gryfx_distdist_fnSubroutine

FIXME : Add documentation

getmoms_notgcdist_fnSubroutine

Calculates moments at not guiding center coordinate

getrflapack_wrapperInterface
getrilapack_wrapperInterface
GETRMSavgflux.fSubroutine
gidx2xxfidxgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Transformation subroutines !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

ginitinit_gSubroutine

FIXME : Add documentation

ginit_alfinit_gSubroutine

FIXME : Add documentation

ginit_all_modes_equalinit_gSubroutine

Initialize with every parallel and perpendicular mode having equal amplitude. Only makes sense in a linear calculation. k_parallel is specified with kpar_init or with ikpar_init when periodic boundary conditions are used. EGH doc> reality condition for ky = 0 component:

ginit_cgyroinit_gSubroutine

Sets g to a constant value everywhere except zonal component which is 0 Default initial conditions for CGYRO

Read more…
ginit_constantinit_gSubroutine

Initialise the distribution function to a constant but satisfying forbidden regions. Can scale the zonal component separately as usual.

ginit_convectinit_gSubroutine

FIXME : Add documentation

ginit_defaultinit_gSubroutine

Set initial condition to gaussian in

Read more…
ginit_default_oddinit_gSubroutine

Set initial condition to gaussian in

Read more…
ginit_gsinit_gSubroutine

FIXME : Add documentation
DD>Should this be triggered for kt_grids::reality=.true. only?

ginit_harrisinit_gSubroutine

FIXME : Add documentation

ginit_kparinit_gSubroutine

FIXME : Add documentation

ginit_kz0init_gSubroutine

Initialise with only the kparallel = 0 mode.

ginit_nlinit_gSubroutine

"nl": Two modes set to constant amplitude. Controlled by:

Read more…
ginit_nl2init_gSubroutine

"nl2": Two modes proportional to . Controlled by:

Read more…
ginit_nl3init_gSubroutine

"nl3": Two modes with a Gaussian envelope, and perturbation in fields of form , except for parallel velocity which uses is 90 degrees out of phase and uses . Density, parallel velocity, and perpendicular and parallel temperatures can all be controlled independently. Controlled by:

Read more…
ginit_nl3rinit_gSubroutine

FIXME : Add documentation

ginit_nl4init_gSubroutine

FIXME : Add documentation

Read more…
ginit_nl5init_gSubroutine

FIXME : Add documentation

ginit_nl6init_gSubroutine

FIXME : Add documentation

ginit_nl7init_gSubroutine

FIXME : Add documentation

ginit_noiseinit_gSubroutine

Initialise the distribution function with random noise. This is the recommended initialisation option. Each different mode is given a random amplitude between zero and one.

ginit_otinit_gSubroutine

Orszag-Tang 2D vortex problem phi, jpar are local !! $ phi(:,1,2) = phiinit * cmplx(2.0, 0.0) ! 2 cos(y) $ phi(:,2,1) = phiinit * cmplx(1.0, 0.0) ! 2 cos(x) $ jpar(:,1,2) = apar0 * cmplx(2.0, 0.0) ! 2 cos(y) $ jpar(:,3,1) = apar0 * cmplx(2.0, 0.0) ! 4 cos(2x)

ginit_random_sineinit_gSubroutine

Construct the initial condition from a sum of sine waves scaled with random amplitude up to phiinit (ky > 0) or zf_init (ky == 0). Use mode numbers up to minimum of max_mode or last resolved wave (i.e. ntheta/8).

Read more…
ginit_reconinit_gSubroutine

FIXME : Add documentation

ginit_recon3init_gSubroutine

FIXME : Add documentation
! adjust input parameters to kill initial field if wanted

Read more…
ginit_restart_eiginit_gSubroutine

Uses the restart files written by the eigensolver. File to read is set by restart_eig_id

ginit_restart_fileinit_gSubroutine

FIXME: This is identical to ginit_restart_many? Remove?

ginit_restart_manyinit_gSubroutine

Restore g from restart files. Note that the timestep and simulation time are restored by read_t0_from_restart_file

ginit_restart_memoryinit_gSubroutine

FIXME : Add documentation

ginit_restart_no_zonalinit_gSubroutine

Restart but remove the zonal flow (ky = 0) component upon restarting.

Read more…
ginit_restart_smallinit_gSubroutine

Restores g from restart files on top of a background from ginit_noise.

Read more…
ginit_restart_smallflatinit_gSubroutine

Similar to "small", restores fields from restart files on top of a random background

ginit_restart_zonal_onlyinit_gSubroutine

Restart but set all non-zonal components of the potential and the distribution function to 0. Noise can be added to these other components by setting phiinit > 0. The size of the zonal flows can be adjusted using zf_init.

Read more…
ginit_rhinit_gSubroutine

FIXME : Add documentation

ginit_single_parallel_modeinit_gSubroutine

Initialise only with a single parallel mode specified by either ikpar_init for periodic boundary conditions or kpar_init for linked boundary conditions. Only makes sense for linear calculations. doc> reality condition for ky = 0 component:

ginit_stationary_modeinit_gSubroutine

The stationary mode test case is a method of testing the geometry implementation by initializing the distribution function in a particular way For collisionless runs with ky=0, we expect the solution to be time-independent (see section 3.3.1 of Ball MIT Masters thesis)

Read more…
ginit_test3init_gSubroutine

FIXME : Add documentation

ginit_xiinit_gSubroutine

FIXME : Add documentation

ginit_xi2init_gSubroutine

FIXME : Add documentation

ginit_zeroinit_gSubroutine

FIXME : Add documentation

gradientgeo_utilsSubroutine
gradlgeometrySubroutine

Compute df / dltheta using a periodic central difference. The input ext can be used to control the effective jump in f between both ends of the "periodic" grid.

gradstottgridgeometrySubroutine

FIXME : Add documentation

grid_has_trapped_particlesle_gridsFunction

Returns true if there are trapped particles on the current pitch angle grid.

gridgen4gridgen4modSubroutine

FIXME : Add documentation

gridgen4_1gridgen4modSubroutine

FIXME : Add documentation

gridgen4_2gridgen4modSubroutine

FIXME : Add documentation

gridgen4readgridgen4modSubroutine

FIXME : Add documentation

gridgen_get_gridstheta_grid_gridgenSubroutine

FIXME : Add documentation DD>NOTE: Regrid assumes nnew<nold but doesn't check it. Do we need to?

Read more…
grndmt19937Function

Generate a random number from the module-level mt19937_type instance

group_to_allmpInterface
group_to_all_realmpSubroutine

FIXME : Add documentation

group_to_all_real_arraympSubroutine

FIXME : Add documentation

gryfxkt_gridsFunction

Have we been called from a gryfx run or not?

gs2_absarray_utilsInterface

Interface to helper functions for finding magnitude of an array

gs2_abs_complex_array_2array_utilsFunction

Return absolute of 2D array

gs2_abs_complex_array_3array_utilsFunction

Return absolute of 3D array

gs2_abs_real_array_2array_utilsFunction

Return absolute of 2D array

gs2_abs_real_array_3array_utilsFunction

Return absolute of 3D array

gs2_max_absarray_utilsInterface

Interface to helper functions for finding maxval of magnitude of an array

gs2_max_abs_complex_array_2array_utilsFunction

Find maximum of abs 2D array

gs2_max_abs_complex_array_3array_utilsFunction

Find maximum of abs 3D array

gs2_max_abs_real_array_2array_utilsFunction

Find maximum of abs 2D array

gs2_max_abs_real_array_3array_utilsFunction

Find maximum of abs 3D array

gs2_maxvalarray_utilsInterface

Interface to helper functions for finding the maximum in an array

gs2_maxval_real_array_2array_utilsFunction

Find maximum in 2D array

gs2_maxval_real_array_3array_utilsFunction

Find maximum in 3D array

gs2_restoregs2_saveInterface
gs2_restore_manygs2_saveSubroutine

FIXME : Add documentation

gs2_restore_responsegs2_saveSubroutine

This routine reads a square complex array from a file with passed name

gs2_save_for_restartgs2_saveSubroutine

Create and fill the restart files

gs2_save_responsegs2_saveSubroutine

This routine writes a passed square complex array to a file with passed name

gs2_save_slicegs2_saveSubroutine

Save g slices

gs2d_read_and_seteeqSubroutine

This subroutine reads a GS2D output file containing the axisymmetric magnetic field geometry on a rectangular domain defined by the coordinates (R,Z).

hahm_burrellgeo_utilsSubroutine

FIXME : Add documentation

handle_processor_requestgs2_layoutsFunction

Handle nproc values outside valid range (i.e. <= 0 or > nproc_total). Values outside of this range are replaced with nproc_total

has_electron_speciesspeciesFunction

Determine if any of the known species are electron like

Read more…
has_hybrid_electron_speciesspeciesFunction

Determine if any of the known species are hybrid electrons

Read more…
has_ion_speciesspeciesFunction

Determine if any of the known species are ion like

Read more…
has_nonmaxw_speciesspeciesFunction

Determine if any of the known species are non-Maxwellian

hdf_finishhdf_wrapperSubroutine

FIXME : Add documentation

hdf_inithdf_wrapperSubroutine

FIXME : Add documentation

heatinggs2_diagnosticsSubroutine

Calculate some heating diagnostics, and update their time history

hermite_proble_gridsFunction

Returns probabilist's Hermite polynomials, He_n(x)

hk_repackgs2_heatingSubroutine

FIXME : Add documentation

hsg_funccollisionsFunction

FIXME : Add documentation

hyper_diffhyperSubroutine

FIXME : Add documentation

Read more…
i_1_insertsortsortingSubroutine

Sorts integer arrays key and arr1 using insertion sort based on order of key.

i_1_quicksortsortingSubroutine

Sort an integer array based on integer KEY

Read more…
i_2_insertsortsortingSubroutine

Sorts integer arrays key, arr1 and arr2 using insertion sort based on order of key.

i_2_quicksortsortingSubroutine

Sort two integer arrays based on integer KEY

Read more…
i_3_insertsortsortingSubroutine

Sorts integer arrays key, arr1, arr2 and arr3 using insertion sort based on order of key.

i_3_quicksortsortingSubroutine

Sort three integer arrays based on integer KEY

Read more…
i_fill_2redistributeSubroutine

FIXME : Add documentation

i_fill_3redistributeSubroutine

FIXME : Add documentation

i_fill_4redistributeSubroutine

FIXME : Add documentation

i_insertsortsortingSubroutine

Sorts integer array key using insertion sort based on order of key.

i_quicksortsortingSubroutine

Sort an integer array based on integer KEY

Read more…
i_redist_12redistributeSubroutine

FIXME : Add documentation

Read more…
i_redist_22redistributeSubroutine

FIXME : Add documentation

i_redist_22_invredistributeSubroutine

FIXME : Add documentation

i_redist_32redistributeSubroutine

FIXME : Add documentation

i_redist_32_invredistributeSubroutine

FIXME : Add documentation

i_redist_42redistributeSubroutine

FIXME : Add documentation

i_redist_42_invredistributeSubroutine

FIXME : Add documentation

i_swap_elemsortingSubroutine

Swaps element at ind1 in arr with element at ind2.

idxgs2_layoutsInterface
idx_accelxgs2_layoutsFunction

FIXME : Add documentation

idx_egs2_layoutsFunction

FIXME : Add documentation

idx_fgs2_layoutsFunction

FIXME : Add documentation

idx_ggs2_layoutsFunction

Return the global index in the g_lo layout given the dimensional indices

idx_gfgs2_layoutsFunction

FIXME : Add documentation

idx_jfgs2_layoutsFunction

FIXME : Add documentation

idx_legs2_layoutsFunction

FIXME : Add documentation

idx_localgs2_layoutsInterface
idx_local_accelxgs2_layoutsFunction

FIXME : Add documentation

idx_local_egs2_layoutsFunction

FIXME : Add documentation

idx_local_fgs2_layoutsFunction

FIXME : Add documentation

idx_local_ggs2_layoutsFunction

Return whether a point is local to a processor given the dimensional indices

idx_local_gfgs2_layoutsFunction

FIXME : Add documentation

idx_local_jfgs2_layoutsFunction

FIXME : Add documentation

idx_local_legs2_layoutsFunction

FIXME : Add documentation

idx_local_lzgs2_layoutsFunction

FIXME : Add documentation

idx_local_paritygs2_layoutsFunction

FIXME : Add documentation

idx_local_xxfgs2_layoutsFunction

Return whether a point is local to a processor given the dimensional indices

idx_local_yxfgs2_layoutsFunction

Return whether a point is local to a processor given the dimensional indices

idx_lzgs2_layoutsFunction

FIXME : Add documentation

idx_paritygs2_layoutsFunction

FIXME : Add documentation

idx_xxfgs2_layoutsFunction

Return the global index in the xxf_lo layout given the dimensional indices

idx_yxfgs2_layoutsFunction

Return the global index in the yxf_lo layout given the dimensional indices

ie_idxgs2_layoutsInterface
ie_idx_accelxgs2_layoutsFunction

FIXME : Add documentation

ie_idx_ggs2_layoutsFunction

Return the energy index, given g-layout and a global index

ie_idx_lzgs2_layoutsFunction

FIXME : Add documentation

ie_idx_paritygs2_layoutsFunction

FIXME : Add documentation

ie_idx_xxfgs2_layoutsFunction

Return the energy index, given xxf-layout and a global index

ie_idx_yxfgs2_layoutsFunction

Return the energy index, given yxf-layout and a global index

if_idxgs2_layoutsInterface
if_idx_fgs2_layoutsFunction

FIXME : Add documentation

if_idx_jfgs2_layoutsFunction

FIXME : Add documentation

Read more…
ifield_idxgs2_layoutsInterface
ifield_idx_fgs2_layoutsFunction

FIXME : Add documentation

ifield_idx_jfgs2_layoutsFunction

FIXME : Add documentation

ig_idxgs2_layoutsInterface
ig_idx_egs2_layoutsFunction

FIXME : Add documentation

ig_idx_fgs2_layoutsFunction

FIXME : Add documentation

ig_idx_jfgs2_layoutsFunction

FIXME : Add documentation

ig_idx_legs2_layoutsFunction

FIXME : Add documentation

ig_idx_lzgs2_layoutsFunction

FIXME : Add documentation

ig_idx_xxfgs2_layoutsFunction

Return the theta index, given xxf-layout and a global index

ig_idx_yxfgs2_layoutsFunction

Return the theta index, given yxf-layout and a global index of a point on this proc

ig_local_accelxgs2_layoutsFunction

FIXME : Add documentation

ig_local_egs2_layoutsFunction

FIXME : Add documentation

ig_local_fgs2_layoutsFunction

FIXME : Add documentation

ig_local_ggs2_layoutsFunction

Return whether a point is local to a processor given the global index

ig_local_gfgs2_layoutsFunction

FIXME : Add documentation

ig_local_jfgs2_layoutsFunction

FIXME : Add documentation

ig_local_legs2_layoutsFunction

FIXME : Add documentation

ig_local_lzgs2_layoutsFunction

FIXME : Add documentation

ig_local_paritygs2_layoutsFunction

FIXME : Add documentation

ig_local_xxfgs2_layoutsFunction

Return whether a point is local to a processor given the global index

ig_local_yxfgs2_layoutsFunction

Return whether a point is local to a processor given the global index

ij_idxgs2_layoutsInterface
ij_idx_fgs2_layoutsFunction

FIXME : Add documentation

ij_idx_jfgs2_layoutsFunction

FIXME : Add documentation

ik_idxgs2_layoutsInterface
ik_idx_accelgs2_layoutsFunction

FIXME : Add documentation

ik_idx_accelxgs2_layoutsFunction

FIXME : Add documentation

ik_idx_egs2_layoutsFunction

FIXME : Add documentation

ik_idx_fgs2_layoutsFunction

FIXME : Add documentation

ik_idx_ggs2_layoutsFunction

Return the ky index, given g-layout and a global index

ik_idx_gfgs2_layoutsFunction

FIXME : Add documentation

ik_idx_jfgs2_layoutsFunction

FIXME : Add documentation

ik_idx_legs2_layoutsFunction

FIXME : Add documentation

ik_idx_lzgs2_layoutsFunction

FIXME : Add documentation

ik_idx_paritygs2_layoutsFunction

FIXME : Add documentation

ik_idx_xxfgs2_layoutsFunction

Return the ky index, given xxf-layout and a global index

il_idxgs2_layoutsInterface
il_idx_accelxgs2_layoutsFunction

FIXME : Add documentation

il_idx_egs2_layoutsFunction

FIXME : Add documentation

il_idx_ggs2_layoutsFunction

Return the lambda index, given g-layout and a global index

il_idx_paritygs2_layoutsFunction

FIXME : Add documentation

il_idx_xxfgs2_layoutsFunction

Return the lambda index, given xxf-layout and a global index

il_idx_yxfgs2_layoutsFunction

Return the lambda index, given yxf-layout and a global index

il_is_passingle_gridsFunction

Returns true if the passed pitch angle grid point is considered passing.

il_is_trappedle_gridsFunction

Returns true if the passed pitch angle grid point is considered trapped.

il_is_wfble_gridsFunction

Returns true if the passed pitch angle grid point is considered the wfb.

im_idxgs2_layoutsInterface
im_idx_fgs2_layoutsFunction

FIXME : Add documentation

in_idxgs2_layoutsInterface
in_idx_fgs2_layoutsFunction

FIXME : Add documentation

increase_time_stepgs2_reinitSubroutine

Increases the time step by a factor delt_adj up to a limit of code_dt_max set by dt0 or from the restart file.

increment_scan_parameterparameter_scanSubroutine

FIXME : Add documentation

initgs2_initInterface
init_3dgs2_transformsSubroutine

FIXME : Add documentation

init_accel_transform_layoutsgs2_layoutsSubroutine

Setup the module level accelx_lo and accel_lo instances

init_allfields_gf_localfields_gf_localSubroutine

Initialise the fields from the initial g, just uses the fields_implicit routine

init_allfields_implicitfields_implicitSubroutine

FIXME : Add documentation

init_allfields_localfields_localSubroutine

Initialise the fields from the initial g, just uses the fields_implicit routine

init_and_dumpdump_responseSubroutine

Initialise the response matrices and write to file

init_ant_ampgs2_saveSubroutine

FIXME : Add documentation

Read more…
init_antennaantennaSubroutine

FIXME : Add documentation

init_antenna_dataantenna_dataSubroutine

FIXME : Add documentation

init_arrayscollisionsSubroutine

FIXME : Add documentation

Read more…
init_ballstabballstabSubroutine

Initialise grids, other modules etc.

init_bcdist_fnSubroutine

FIXME : Add documentation

init_besseldist_fnSubroutine

Compute and store the Bessel functions required for future usage, aj0 and aj1.

Read more…
init_ccfftwfft_workSubroutine

Create an FFTW plan for complex-to-complex transforms

init_checktimejob_manageSubroutine

FIXME : Add documentation

init_collisionalcollisional_heatingSubroutine

FIXME : Add documentation
!calls every initiation routine we need: le_grids for integration, init_gs2 transforms to initiate fourier transforms routines... benefit: calls init_theta_grid, init_kt_grids, init_gs2_layouts and init_species for later use

Read more…
init_collisionscollisionsSubroutine

FIXME : Add documentation

init_commmpSubroutine

Initialise a communicator and associated variables

Read more…
init_connected_bcdist_fnSubroutine

Coordinates the calculation of all data required for later application of linked boundary conditions. Deals with identifying the communication pattern and creating the associated redistributes used to perform the required communication.

init_constant_randomconstant_randomSubroutine
init_crfftwfft_workInterface
init_crfftw_1dfft_workSubroutine

Create FFTW plan suitable for 1D complex to real transformation

init_crfftw_2dfft_workSubroutine

Create FFTW plan suitable for 2D complex to real transformation

init_deltgs2_timeSubroutine

Set the full timestep history. Inputs set the current, previous and last but one timesteps

init_diagnostics_antennadiagnostics_antennaSubroutine

FIXME : Add documentation

init_diagnostics_asciidiagnostics_asciiSubroutine

Opens all enabled ascii output files and records file units.

init_diagnostics_configdiagnostics_configSubroutine
init_diagnostics_fluxesdiagnostics_fluxesSubroutine

Allocate and zero module-level arrays

init_diagnostics_heatingdiagnostics_heatingSubroutine

FIXME : Add documentation

init_diagnostics_omegadiagnostics_omegaSubroutine

Allocate arrays for storing omega history and averages

init_diagnostics_transferdiagnostics_zonal_transferSubroutine

FIXME : Add documentation initialize zonal_transfer to zero

init_diagnostics_velocity_spacediagnostics_velocity_spaceSubroutine

FIXME : Add documentation

init_diffuse_conservecollisionsSubroutine

Precompute three quantities needed for momentum and energy conservation: bz0, bw0, bs0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get z0 (first form) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, ie, il, is, isgn, ig) & $OMP SHARED(g_lo, ntgrid, forbid, bz0tmp, code_dt, vnmult, vnew_E, & $OMP aj0, duinv, conserve_forbid_zero) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0z0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vnmult, vnew_E, aj0, bz0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine z0 = z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bz0tmp, dtmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! redefine dq = du (for momentum-conserving terms) du == int (E nu_s f_0); du = du(z, kx, ky, s) duinv = 1/du $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vns, vpa) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get s0 (first form) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, ie, is, isgn) & $OMP SHARED(g_lo, bs0tmp, vns, vpa, aj0, code_dt, duinv) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0s0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vnmult, vnew_E, aj0, bs0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 - v0s0 * z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bs0tmp, dtmp, bz0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1s0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vns, vpa, aj0, bs0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 / (1 + v0s0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bs0tmp, dtmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get w0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, ie, il, is, isgn, ig) & $OMP SHARED(g_lo, ntgrid, forbid, bw0tmp, vns, energy, al, aj1, code_dt, & $OMP spec, kperp2, duinv, bmag, conserve_forbid_zero) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0w0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vnmult, vnew_E, aj0, bw0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w0 - v0w0 * z0 / (1 + v0z0) (this is w1 from MAB notes) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bw0tmp, bz0tmp, dtmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v1w1 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, is, isgn) & $OMP SHARED(g_lo, gtmp, vns, vpa, aj0, bw0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w1 - v1w1 * s1 / (1 + v1s1) (this is w2 from MAB notes) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bw0tmp, bs0tmp, dtmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v2w2 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, il, is, isgn) & $OMP SHARED(g_lo, gtmp, vns, energy, al, aj1, bw0tmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w2 / (1 + v2w2) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, bw0tmp, dtmp) & $OMP SCHEDULE(static)

init_dist_fndist_fnSubroutine

FIXME : Add documentation

init_dist_fn_arraysdist_fnSubroutine

FIXME : Add documentation

init_dist_fn_layoutsgs2_layoutsSubroutine

Construct the work decomposition for the g_layout and store it in the module level g_lo instance.

init_dist_fn_level_1dist_fnSubroutine

FIXME : Add documentation

init_dist_fn_level_2dist_fnSubroutine

FIXME : Add documentation

init_dist_fn_level_3dist_fnSubroutine

FIXME : Add documentation

init_dist_fn_parametersdist_fnSubroutine

FIXME : Add documentation

init_dtgs2_saveSubroutine

FIXME : Add documentation

init_dvtypegs2_heatingInterface
init_dvtype_0gs2_heatingSubroutine

FIXME : Add documentation

init_dvtype_1gs2_heatingSubroutine

FIXME : Add documentation

init_dvtype_2gs2_heatingSubroutine

FIXME : Add documentation

init_dvtype_3gs2_heatingSubroutine

FIXME : Add documentation

init_ediffusecollisionsSubroutine

FIXME : Add documentation

init_egridegridSubroutine

FIXME : Add documentation

init_eigenfunc_filegs2_saveSubroutine

Initialises a file for saving output of eigensolver to netcdf

init_energy_layoutsgs2_layoutsSubroutine

Setup the module level energy layout.

init_energy_redistribute_localle_gridsSubroutine

Constructs the redistribute mapping from the global g_lo data decomposition to the global e_lo decomposition

init_enforce_paritydist_fnSubroutine

Subroutine to setup a redistribute object to be used in enforcing parity

init_error_unitfile_utilsSubroutine

Open error file and record associated lun/unit

init_exit_reason_unitfile_utilsSubroutine

Open exit_reason file and record associated lun/unit

init_fft_workfft_workSubroutine

Perform any one off setup of the fft library. This is currently mostly only needed for builds with OpenMP for threaded transforms.

init_fieldeqdist_fnSubroutine

FIXME : Add documentation
DD>Make sure gamtots are single valued

init_fieldsfieldsSubroutine

FIXME : Add documentation

init_fields_gf_localfields_gf_localSubroutine

Routine to initialise

init_fields_implicitfields_implicitSubroutine

FIXME : Add documentation

init_fields_layoutsgs2_layoutsSubroutine

Construct the module level fields_layout instance

init_fields_level_1fieldsSubroutine

FIXME : Add documentation

init_fields_level_2fieldsSubroutine

FIXME : Add documentation

init_fields_localfields_localSubroutine

Routine to initialise

init_fields_matrixlocalfields_localSubroutine

Routine use to initialise field matrix data !!!!!!!! NOTE: All of the above should be a one off setup cost unless something fundamental changes with the parallel layout (a change in nproc/layout etc.) The remaining two tasks (populate+prepare) must be repeated each time the relevant physics and numerical parameters change. In practice this just means when the time step changes. !!!!!!!!

init_fields_matrixlocalfields_gf_localSubroutine

Routine use to initialise field matrix data !!!!!!!! NOTE: All of the above should be a one off setup cost unless something fundamental changes with the parallel layout (a change in nproc/layout etc.) The remaining two tasks (populate+prepare) must be repeated each time the relevant physics and numerical parameters change. In practice this just means when the time step changes. !!!!!!!!

init_fields_parametersfieldsSubroutine

FIXME : Add documentation

init_fields_testfields_testSubroutine

FIXME : Add documentation

init_file_utilsfile_utilsSubroutine

Read the run_name from the command line (if not given), and determine from the extension whether this is a list run (i.e. a list of runs has been given). If so or if this is a run with multiple ensembles, open the list description. If not, open the error file and call init_input_unit

init_fillredistributeSubroutine

FIXME : Add documentation

init_g2gfle_gridsSubroutine

FIXME : Add documentation

init_g2gf_redistributele_gridsSubroutine

Setup the module level g2gf instance describing the transformation from global g_lo to global gf_lo.

init_g2le_redistribute_localle_gridsSubroutine

Constructs the redistribute mapping from the global g_lo data decomposition to the le_lo decomposition.

init_genericabstract_configSubroutine

Fully initialise the config object

init_genquadgenquadSubroutine

FIXME : Add documentation

init_gf_layoutsgs2_layoutsSubroutine

Setup the module level gf_lo instance.

init_gs2_diagnosticsgs2_diagnosticsSubroutine

Initialise this module and all its dependencies, including defining NetCDF vars, call real_init, which calls read_parameters; broadcast all the different write flags.

init_gs2_diagnostics_newgs2_diagnostics_newSubroutine

Read namelist diagnostics_config, initialise submodules, open output file 'run_name.cdf' and create dimensions. !!!!!!!!!!!!!!!!!!!!! Adjust other modules !!!!!!!!!!!!!!!!!!!!!

Read more…
init_gs2_file_utils_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

init_gs2_file_utils_c_actualgs2_gryfx_zonalSubroutine

FIXME : Add documentation

init_gs2_gryfxgs2_gryfx_zonalSubroutine

FIXME : Add documentation

init_gs2_gryfx_cgs2_gryfx_zonalSubroutine

FIXME : Add documentation

init_gs2_initgs2_initSubroutine

Initialise this module. As we pass in the initialisation state object (current), we could/should consider making this set the level to basic, e.g. current%level = init_level_list%basic

init_gs2_iogs2_ioSubroutine

Create and initialise the output netCDF files

Read more…
init_gs2_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

init_gs2_reinitgs2_reinitSubroutine

FIXME : Add documentation

init_gs2_savegs2_saveSubroutine

FIXME : Add documentation

init_gs2_timegs2_timeSubroutine

Initialise the gs2_time module

Read more…
init_homogeneous_gdist_fnSubroutine

Calculates the homogeneous solution g_h used as a part of the trapped particle and linked boundary condition solve in invert_rhs. This solution only depends on r so can be calculated during initialisation. Note that r depends on physics terms that contain dt so we must recalculate the solution g_h if the timestep changes. !!!!!!!!!!!!!!!!!!!!!!!!! time advance vpar < 0 ! !!!!!!!!!!!!!!!!!!!!!!!!! time advance vpar < 0 homogeneous part: g_h !!!!!!!!!!!!!!!!!!!!!!!!! time advance vpar > 0 ! !!!!!!!!!!!!!!!!!!!!!!!!! First set BCs for trapped particles at lower bounce point

init_htypegs2_heatingInterface

Allocate the array components of heating_diagnostics

Read more…
init_htype_0gs2_heatingSubroutine

FIXME : Add documentation

init_htype_1gs2_heatingSubroutine

FIXME : Add documentation

init_htype_2gs2_heatingSubroutine

FIXME : Add documentation

init_htype_3gs2_heatingSubroutine

FIXME : Add documentation

init_hyperhyperSubroutine

FIXME : Add documentation

init_ingeningen_modSubroutine

FIXME : Add documentation

init_init_ginit_gSubroutine

FIXME : Add documentation
DD>Only let proc0 do this and then broadcast as other procs don't know phiinit,phifrac etc.

init_initial_values_overridesoverridesSubroutine

overrides%in_memory after calling this function

init_input_unitfile_utilsSubroutine

Opens the input file, strip out any comments and write them into the file .<run_name>.in. Check for includes, read any lines from the includes, strip any comments from them and add them to the same file.

init_integrationsle_gridsSubroutine

FIXME : Add documentation

init_inverse_matrixfields_implicitSubroutine

FIXME : Add documentation

init_invert_rhsdist_fnSubroutine

FIXME : Add documentation

init_jfields_layoutsgs2_layoutsSubroutine

Setup the module level jfields instance

init_job_namefile_utilsSubroutine

Set run_name and job_name to jobname. Used by job_manage

init_jobsmpSubroutine

FIXME : Add documentation

Read more…
init_kperp2kt_gridsSubroutine

FIXME : Add documentation

init_kt_gridskt_gridsSubroutine

FIXME : Add documentation

Read more…
init_kt_grids_boxkt_grids_boxSubroutine

FIXME : Add documentation

init_kt_grids_overridesoverridesSubroutine
init_kt_grids_parameterskt_gridsSubroutine

FIXME : Add documentation

init_kt_grids_rangekt_grids_rangeSubroutine

FIXME : Add documentation

init_kt_grids_singlekt_grids_singleSubroutine

FIXME : Add documentation

init_kt_grids_specifiedkt_grids_specifiedSubroutine

FIXME : Add documentation

init_lambda_layoutsgs2_layoutsSubroutine

Setup the module level lz_lo instance

init_lambda_redistribute_localle_gridsSubroutine

Computes the redistribute mapping from the global g_lo data decomposition to the global lz_lo decomposition

init_le_besselcollisionsSubroutine

Communicate Bessel functions from g_lo to le_lo Currently just aj1

init_le_gridsle_gridsSubroutine

FIXME : Add documentation

init_le_layoutsgs2_layoutsSubroutine

Setup the module level le_lo

init_level_change_levelgs2_initFunction

General wrapper to the init_level instance's specific change level method.

init_level_generate_debug_messagegs2_initSubroutine

Produce the debug message associated with this level

init_level_report_timegs2_initSubroutine

Report the time spent in init for this level

init_lorentzcollisionsSubroutine

FIXME : Add documentation

init_lorentz_conservecollisionsSubroutine

Precompute three quantities needed for momentum and energy conservation: z0, w0, s0 (z0le, w0le, s0le if use_le_layout chosen in the input file defined) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get z0 (first form) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, ie, il, is, isgn) & $OMP SHARED(g_lo, conservative, z0tmp, code_dt, vns, vpdiff, speed, aj0, vpa) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0z0 $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, isgn) & $OMP SHARED(g_lo, vpa, gtmp, aj0, z0tmp) & $OMP COLLAPSE(2) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine z0 = z0 / (1 + v0z0) $OMP PARALLEL DO DEFAULT(none) & $OMP PRIVATE(iglo, ik, it, is, isgn) & $OMP SHARED(g_lo, z0tmp, dtmp) & $OMP SCHEDULE(static) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! du == int (E nu_s f_0); du = du(z, kx, ky, s) duinv = 1/du

Read more…
init_lorentz_errorcollisionsSubroutine

FIXME : Add documentation

init_lowflowlowflowSubroutine

FIXME : Add documentation

Read more…
init_maple_gridsSubroutine

FIXME : Add documentation

init_miller_geometry_overridesoverridesSubroutine
init_mom_coeffdist_fnSubroutine

FIXME : Add documentation

Read more…
init_mpmpSubroutine

Initialise the 1 library, communicators, and related variables

init_nonlinear_convergencediagnostics_nonlinear_convergenceSubroutine

FIXME : Add documentation

init_nonlinear_termsnonlinear_termsSubroutine

FIXME : Add documentation

init_normalisationsnormalisationsSubroutine

Read input file and populate the norms object

init_optimisation_configoptimisation_configSubroutine
init_optimisations_overridesoverridesSubroutine
init_par_filterdiagnostics_final_routinesSubroutine

Setup the FFTs for calculating the parallel spectrum

init_parameter_scanparameter_scanSubroutine

FIXME : Add documentation

init_parity_layoutsgs2_layoutsSubroutine

Setup the module level p_lo instance

init_pass_endsdist_fnSubroutine

Copy of CMR's init_pass_right (revision 2085) but in customisable direction to aid code reuse and with optional range in theta (i.e. so can pass more than just boundary points) An example use is: call init_pass_ends(pass_right,'r',1,'c',3) call fill(pass_right,gnew,gnew) This will pass gnew(ntgrid-2:ntgrid,1,iglo) to gnew(-ntgrid-2:-ntgrid,1,iglo_linked)

Read more…
init_pass_intgs2_initSubroutine

Initialize gs2 to the level of target_level. The init_type current contains info about the current initialization level. At the end of the subroutine, current%level is set to target_level

init_pass_typegs2_initSubroutine

Small wrapper to allow init_level_type to be passed instead of the level integer.

init_phi_testfields_testSubroutine

FIXME : Add documentation

init_profprofSubroutine

FIXME : Add documentation

init_profiles_overridesoverridesSubroutine
init_ranfranSubroutine

Seed the choosen random number generator. If randomize=T, a random seed based on date and time is used. (this randomizing procedure is proposed in GNU gfortran manual.) Otherwise, it sets the seed using init_seed In either case, it sets init_seed to the initial seed used on return.

init_rcfftwfft_workInterface
init_rcfftw_1dfft_workSubroutine

Create FFTW plan suitable for 1D real to complex transformation

init_rcfftw_2dfft_workSubroutine

Create FFTW plan suitable for 2D real to complex transformation

init_redistredistributeInterface
init_redist_agkredistributeSubroutine

FIXME : Add documentation

init_redist_gs2redistributeSubroutine

FIXME : Add documentation

init_reinitgs2_reinitSubroutine

FIXME : Add documentation

init_response_matrixfields_implicitSubroutine

FIXME : Add documentation
Pretty sure this barrier is not needed call barrier if (proc0) write(,) 'beginning class ',i,' with size ',nidxN_class(i) Allocate matrix am. First dimension is basically theta along the entire connected domain for each field. Second dimension is the local section of the M_class(i)N_Class(i)(2ntgrid+1)nfield compound domain. Clearly this will allocate (am(nidxN_class(i), f_lo(i)%llim_proc:f_lo(i)%ulim_alloc)) Do we need to zero all 8 arrays on every loop? This can be more expensive than might think. am = 0.0 call init_inverse_matrix (am, i) Free memory deallocate (am) end do

Read more…
init_response_rowfields_implicitSubroutine

FIXME : Add documentation

init_run_namefile_utilsSubroutine

This is called for a non Trinity or list run - it checks that the input file name ends in .in, chops the extension off and stores it in arun_name. It also assigns the pointer run_name to arun_name.

init_run_parametersrun_parametersSubroutine

FIXME : Add documentation

init_source_termdist_fnSubroutine

FIXME : Add documentation

init_speciesspeciesSubroutine

FIXME : Add documentation

init_split_nonlinear_termssplit_nonlinear_termsSubroutine

Initialises the split_nonlinear_terms module. Primarily just reading input

init_theta_gridtheta_gridSubroutine

FIXME : Add documentation

init_theta_grid_eiktheta_grid_eikSubroutine

FIXME : Add documentation

init_theta_grid_filetheta_grid_fileSubroutine

FIXME : Add documentation

init_theta_grid_paramstheta_grid_paramsSubroutine

FIXME : Add documentation

init_theta_grid_salphatheta_grid_salphaSubroutine

FIXME : Add documentation

init_timestep_overridesoverridesSubroutine
init_transformsgs2_transformsSubroutine

FIXME : Add documentation

init_tstartgs2_timeSubroutine

FIXME : Add documentation

init_uniform_theta_gridgeometrySubroutine

Initialse geometry to a uniform grid with 2*((2*nperiod - 1)*(nt/2)) + 1 points. Also set nth, geometry and [[geometry::ntgrid]] consistently; importantly nth is forced to be even. If ntheta is odd, then nth == ntheta - 1.

Read more…
init_vnewcollisionsSubroutine

FIXME : Add documentation MAB MAB

init_vnmgs2_saveSubroutine

FIXME : Add documentation

init_vnmultinit_gSubroutine

FIXME : Add documentation

init_vpa_vpacdist_fnSubroutine

Initialised the on grid v|| (vpa) and grid-centred v|| (vpac) arrays

init_vpardist_fnSubroutine

FIXME : Add documentation

init_vpdiffcollisionsSubroutine

FIXME : Add documentation

init_vperp2dist_fnSubroutine

FIXME : Add documentation

init_wcurvlowflowSubroutine

FIXME : Add documentation

init_wdriftdist_fnSubroutine

FIXME : Add documentation

init_weightsle_gridsSubroutine

Calculates energy grid and (untrapped) pitch angle weights for integrals which drop a point from the energy/lambda dimensions. These are only used for estimating the velocity space error in [[dist_fn::get_verr]] as a part of the adaptive collisionality algorithm.

init_wstardist_fnSubroutine

FIXME : Add documentation

init_x_redist_localgs2_transformsSubroutine

Setup global xxf_lo and redistribute between global g_lo -> xxf_lo

init_x_transformgs2_transformsSubroutine

FIXME : Add documentation

init_x_transform_layoutsgs2_layoutsSubroutine

Setup the module level xxf_lo instance

init_y_fftgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

init_y_redist_localgs2_transformsSubroutine

Setup the module level xxf -> yxf redistribute. Note this also calls init_x_redist_local in order to setup the mapping for g_lo to xxf_lo as well.

init_y_transform_layoutsgs2_layoutsSubroutine

Setup the module level yxf_lo instance.

init_zfft_workSubroutine

FIXME : Add documentation

init_zfgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

initialisegeo_utilsSubroutine
initialise_requestsmpSubroutine

A Routine to initialise request arrays properly so they can have null requests in them and still work problems with waitall and waitany

initialize_diagnosticsgs2_mainSubroutine

Initialize the diagostics modules. This function can only be called when the init level is 'full', i.e., after calling initialize_equations. However, gs2 can be partially uninitialized without finalizing the diagnostics, for example to change parameters such as the timestep.

initialize_equationsgs2_mainSubroutine

Initialize all the modules which are used to evolve the equations. After calling this function, gs2 reaches init%level = full.

initialize_gs2gs2_mainSubroutine

Initialise message passing, open the input file, split the communicator if running in list mode or if nensembles > 1, initialize the timers. After calling this function, gs2 reaches init\%level = basic. If it is desired to provide an external commuicator or set the input file name externally, these should be set before calling this function.

initialize_gs2_optimisationgs2_optimisationSubroutine

FIXME : Add documentation

initialize_wall_clock_timergs2_mainSubroutine

Starts the global wall clock timer used by check time. This is useful if you have multiple copies of gs2 running but you don't want to start them all at the same time, but you want them all to respect avail_cpu_time

input_unitfile_utilsFunction

Rewind the input file to start of namelist nml, and return the unit of the file opened by init_input_unit

input_unit_existfile_utilsFunction

Similar to input_unit but set exist to true if nml was found in the input file, and false otherwise

insertsortsortingInterface
integrategeometrySubroutine

Integrates arg(grid) from i = 0 (generally theta = 0) to either ends of the grid (usually +/- pi) storing the cumulative integral in the output ans.

integrate_kysumle_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_momentle_gridsInterface
integrate_moment_c34le_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_moment_lecle_gridsSubroutine

Perform an integral over velocity space whilst in the LE_LAYOUT in which we have ensured that all of velocity space is local. As such we don't need any calls to MPI reduction routines. Note that this means the processors for different distributed spatial points (x,y) don't know the results at other points.

integrate_moment_r33le_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_moment_r34le_gridsSubroutine

Takes f = f(theta, sigma ; x, y, z, lambda, E, species) and returns int f, where the integral is over all velocity space returns results to PE 0 [or to all processors if 'all' is present in input arg list]

integrate_speciesle_gridsInterface
integrate_species_gfle_gridsSubroutine

Integrate species using gf_lo data format

integrate_species_gf_nogatherle_gridsSubroutine

Integrate species using gf_lo data format assuming that gf has already been gathered prior to being passed to this routine. Currently this routine isn't being used as the functionality has been directly added to getan_nogath in dist_fn.

Read more…
integrate_species_masterle_gridsSubroutine

Integrate_species on subcommunicator with gather Falls back to original method if not using xyblock sub comm

integrate_species_originalle_gridsSubroutine

FIXME : Add documentation

integrate_species_suble_gridsSubroutine

Integrate species on xy subcommunicator - NO GATHER

integrate_volumele_gridsInterface
integrate_volume_cle_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_volume_rle_gridsSubroutine

FIXME : Add documentation

Read more…
inter_csplsplinesSubroutine

FIXME : Add documentation

inter_d_csplsplinesSubroutine

FIXME : Add documentation

interactiveingen_modSubroutine

FIXME : Add documentation
!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!! 1.0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!! 1.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! 1.1.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! 1.1.2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Read more…
interpolate_thetags2_gryfx_zonalSubroutine

FIXME : Add documentation

inv_RpolgeometrySubroutine

General calculation of the poloidal magnetic field radius of curvature (see section 2.3 of "GS2 analytic geometry specification") ! JRB

Read more…
inverse2gs2_transformsInterface
inverse2_2dgs2_transformsSubroutine

FIXME : Add documentation DD>Reinstating after discussion with RN, if this causes anyone an issue

inverse2_3dgs2_transformsSubroutine

FIXME : Add documentation

inverse2_5dgs2_transformsSubroutine

FIXME : Add documentation

inverse2_5d_accelgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

inverse_xgs2_transformsInterface
inverse_x5dgs2_transformsSubroutine

FIXME : Add documentation

inverse_ygs2_transformsInterface
inverse_y5dgs2_transformsSubroutine

FIXME : Add documentation

invert_blockmat_invSubroutine

Serial Block inverse

Read more…
invert_field_funcsplit_nonlinear_termsInterface

Interface to describe the call signatures for routines to calculate the field from gnew (invert_field_func) and to calculate the source term used in the advance_nonlinear_term methods. Used to allow us to pass in these methods, giving us a way to test the integrators on different problems.

invert_gauss_jordanmat_invSubroutine

Serial Gauss-Jordan elimination

invert_gauss_jordan_ompmat_invSubroutine

openmp Gauss-Jordan elimination

invert_lapackmat_invSubroutine

A routine to invert a matrix using lapack routines.

Read more…
invert_rhsdist_fnSubroutine

FIXME : Add documentation

invert_rhs_1dist_fnSubroutine

Calculates the "new" distribution function for the passed source calculated using the passed fields and current distribution in g.

Read more…
invert_serialmat_invSubroutine

Serial Provides a wrapper around the various serial inversion routines.

invRgeo_utilsFunction
invRtgridgeometrySubroutine

Calculates invR = 1/R(theta), where R is the distance to the central axis (rmajor not to be confused with rmaj, r_geo etc) rgrid is the submodule radial grid (r_circ for EFIT & deq, rp otherwise)

is_effectively_zero_sheartheta_gridFunction

Helper function to determine if the shear is small enough that we consider it to be zero for the purposes of periodicity etc.

is_electron_speciesspeciesFunction

Determine if the passed species instance is considered electron like. In other words if spec%type matches any of the recognised electron like types (electron, hybrid_electron)

is_hybrid_electron_speciesspeciesFunction

Determine if the passed species instance corresponds to hybrid electrons

is_identicalexit_codesFunction

Determines if a passed exit_code instance is identical to this instance.

Read more…
is_idxgs2_layoutsInterface
is_idx_accelxgs2_layoutsFunction

FIXME : Add documentation

is_idx_egs2_layoutsFunction

FIXME : Add documentation

is_idx_ggs2_layoutsFunction

Return the species index, given g-layout and a global index

is_idx_legs2_layoutsFunction

FIXME : Add documentation

is_idx_lzgs2_layoutsFunction

FIXME : Add documentation

is_idx_paritygs2_layoutsFunction

FIXME : Add documentation

is_idx_xxfgs2_layoutsFunction

Return the species index, given xxf-layout and a global index

is_idx_yxfgs2_layoutsFunction

Return the species index, given yxf-layout and a global index

is_initialised_genericabstract_configFunction

Is this instance initialised?

is_initialised_initial_values_overridesoverridesFunction
is_initialised_kt_grids_overridesoverridesFunction
is_initialised_miller_geometry_overridesoverridesFunction
is_initialised_optimisations_overridesoverridesFunction
is_initialised_profiles_overridesoverridesFunction
is_initialised_timestep_overridesoverridesFunction
is_input_file_listfile_utilsFunction

Returns true if input_filename is a list input: that is, if it ends in .list

is_ion_speciesspeciesFunction

Determine if the passed species instance corresponds to ions

is_lower_bounce_pointle_gridsFunction

Returns true if the passed theta grid index, ig, is a lower bounce point for the passed pitch angle index, il.

is_not_zerowarning_helpersInterface

Is the argument not exactly zero

is_not_zero_r32warning_helpersFunction
is_not_zero_r64warning_helpersFunction
is_passing_hybrid_electronle_gridsFunction

Determine if the passed species, ky and lambda indicies correspond to a passing hybrid electron point which should be skipped.

is_releaseruntime_testsFunction

This function is just a call of is_release_runtime_info and is provided for backwards compatibility.

is_release_runtime_inforuntime_testsFunction

Returns whether current version is a release

is_unstableballstabFunction

Test stability of current system for passed theta0 and geometry -- return integer

Read more…
is_upper_bounce_pointle_gridsFunction

Returns true if the passed theta grid index, ig, is a upper bounce point for the passed pitch angle index, il.

is_zerowarning_helpersInterface

Is the argument exactly equal to zero

is_zero_r32warning_helpersFunction
is_zero_r64warning_helpersFunction
isign_idxgs2_layoutsInterface
isign_idx_egs2_layoutsFunction

FIXME : Add documentation

isign_idx_xxfgs2_layoutsFunction

Return the sign index, given xxf-layout and a global index

isign_idx_yxfgs2_layoutsFunction

Return the sign index, given yxf-layout and a global index

it_idxgs2_layoutsInterface
it_idx_accelgs2_layoutsFunction

FIXME : Add documentation

it_idx_accelxgs2_layoutsFunction

FIXME : Add documentation

it_idx_egs2_layoutsFunction

FIXME : Add documentation

it_idx_fgs2_layoutsFunction

FIXME : Add documentation

it_idx_ggs2_layoutsFunction

Return the kx index, given g-layout and a global index

it_idx_gfgs2_layoutsFunction

FIXME : Add documentation

it_idx_jfgs2_layoutsFunction

FIXME : Add documentation

it_idx_legs2_layoutsFunction

FIXME : Add documentation

it_idx_lzgs2_layoutsFunction

FIXME : Add documentation

it_idx_yxfgs2_layoutsFunction

Return the kx index, given yxf-layout and a global index

j0spfuncInterface
j1spfuncInterface
job_forkjob_manageSubroutine

FIXME : Add documentation We need to set this for the group proc0, as it is previously only set for the global proc0

kahan_sumsummationInterface
kahan_sum_real_1dsummationFunction

Simple Kahan summation designed to limit the error arising from summing a large collection of numbers by taking care to keep track of the required compensation.

klein_sumsummationInterface
klein_sum_real_1dsummationFunction

Similar approach to Neumaier but introduces two levels of compensation

kt2kifields_implicitSubroutine

FIXME : Add documentation

ky_allocatefields_localSubroutine

Allocate storage space

ky_allocatefields_gf_localSubroutine

Allocate storage space

ky_deallocatefields_localSubroutine

Deallocate storage space

ky_deallocatefields_gf_localSubroutine

Deallocate storage space

ky_debug_printfields_localSubroutine

Debug printing

ky_debug_printfields_gf_localSubroutine

Debug printing

ky_get_field_updatefields_localSubroutine

Get the field update for this ik

ky_get_field_updatefields_gf_localSubroutine

Get the field update for this ik

ky_initfields_localSubroutine

Setup properties of ky_type instance

ky_initfields_gf_localSubroutine

Setup properties of ky_type instance

ky_is_from_itfields_localFunction

Given it say what the supercell id is

ky_is_from_itfields_gf_localFunction

Given it say what the supercell id is

ky_make_subcom_1fields_localSubroutine

Create the primary subcommunicators

ky_make_subcom_1fields_gf_localSubroutine

Create the primary subcommunicators

ky_make_subcom_2fields_localSubroutine

Create the secondary subcommunicators

ky_make_subcom_2fields_gf_localSubroutine

Create the secondary subcommunicators

ky_preparefields_localSubroutine

Prepare the field matrix for calculating field updates

ky_preparefields_gf_localSubroutine

Prepare the field matrix for calculating field updates

ky_resetfields_localSubroutine

A routine to reset the object

ky_resetfields_gf_localSubroutine

A routine to reset the object

ky_set_localityfields_localSubroutine

Set the locality of each object

ky_set_localityfields_gf_localSubroutine

Set the locality of each object

ky_store_fqfields_localSubroutine

Store the field equation at row level

ky_store_fqfields_gf_localSubroutine

Store the field equation at row level

ky_wait_for_nonblocking_collectivesfields_localSubroutine

Wait on the nonblocking collective communications if they have been used.

kz_spectrumgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

l2normfields_localFunction

Calculate the L2/Frobenius/Euclidiean-norm of a 2D complex array

l2normfields_gf_localFunction

Calculate the L2/Frobenius/Euclidiean-norm of a 2D complex array

l_fill_2redistributeSubroutine

FIXME : Add documentation

l_fill_3redistributeSubroutine

FIXME : Add documentation

l_fill_4redistributeSubroutine

FIXME : Add documentation

l_redist_12redistributeSubroutine

FIXME : Add documentation

l_redist_22redistributeSubroutine

FIXME : Add documentation

l_redist_22_invredistributeSubroutine

FIXME : Add documentation

l_redist_32redistributeSubroutine

FIXME : Add documentation

l_redist_32_invredistributeSubroutine

FIXME : Add documentation

l_redist_42redistributeSubroutine

FIXME : Add documentation

l_redist_42_invredistributeSubroutine

FIXME : Add documentation

laguerre_lgauss_quadFunction

Returns L_n(x) where L_n(x) is an ordinary Laguerre polynomial

laguerre_lpgauss_quadFunction

FIXME : Add documentation

laguerre_normgauss_quadFunction

Returns (-1)**n n! L_n(x) where L_n(x) is an ordinary Laguerre polynomial

land_allreducempInterface
land_allreduce_single_elementmpSubroutine

FIXME : Add documentation

lcgranFunction

Simple PRNG derived from gfortran documentation Intended to be used to seed a better PRNG. Probably shouldn't be used directly (hence why this is not public).

Read more…
legendrelowflowSubroutine

FIXME : Add documentation

legendre_pgauss_quadFunction

FIXME : Add documentation

legendre_polynomialsle_gridsSubroutine

FIXME : Add documentation

legendre_ppgauss_quadFunction

FIXME : Add documentation

legendre_transformle_gridsSubroutine

FIXME : Add documentation

Read more…
lf_fluxdiagnostics_fluxesSubroutine

FIXME : Add documentation

Read more…
lf_splinesplinesSubroutine

FIXME : Add documentation

lgamma_extspfuncInterface
lgridsetle_gridsSubroutine

Sets up the pitch angle grid and associated data. Does so by calling other routines. A summary of the actions is below.

Read more…
lint_errorle_gridsSubroutine

FIXME : Add documentation

load_kx_aparnonlinear_termsSubroutine

FIXME : Add documentation

load_kx_bparnonlinear_termsSubroutine

FIXME : Add documentation

load_kx_phinonlinear_termsSubroutine

FIXME : Add documentation

load_ky_aparnonlinear_termsSubroutine

FIXME : Add documentation

load_ky_bparnonlinear_termsSubroutine

FIXME : Add documentation

load_ky_phinonlinear_termsSubroutine

FIXME : Add documentation

load_wisdomfft_workSubroutine

Load FFTW wisdom from file

Read more…
local_sumintegrationInterface
lofthetageometrySubroutine

FIXME : Add documentation

loop_diagnosticsgs2_diagnosticsSubroutine

Calculate and write the various diagnostic quantities.

Read more…
make_standard_headerstandard_headerFunction

Constructor for standard_header_type.

Read more…
matmul_wrappermatrix_multiplyInterface

Provides a wrapper to different matrix multiplication methods

matmul_wrapper_complex_2dmatrix_multiplyFunction

Wrapper to complex matrix multiplication with two 2D matrices

matrix_inversion_method_get_flagmat_invFunction

Helper routine to get access to the matrix_inversion_method's flag in a read-only way. Primarily used for testing.

matrix_inversion_method_get_namemat_invFunction

Helper routine to get access to the matrix_inversion_method's name in a read-only way. Primarily used for testing.

matrix_multiply_method_get_flagmatrix_multiplyFunction

Helper routine to get access to the matrix_multiply_method's flag in a read-only way. Primarily used for testing.

matrix_multiply_method_get_namematrix_multiplyFunction

Helper routine to get access to the matrix_multiply_method's name in a read-only way. Primarily used for testing.

max_allreducempInterface
max_allreduce_integermpSubroutine

FIXME : Add documentation

max_allreduce_integer_arraympSubroutine

FIXME : Add documentation

max_allreduce_realmpSubroutine

FIXME : Add documentation

max_allreduce_real_arraympSubroutine

FIXME : Add documentation

max_reducempInterface
max_reduce_integermpSubroutine

FIXME : Add documentation

max_reduce_integer_arraympSubroutine

FIXME : Add documentation

max_reduce_realmpSubroutine

FIXME : Add documentation

max_reduce_real_arraympSubroutine

FIXME : Add documentation

maxloc_allreducempInterface
maxloc_allreduce_realmpSubroutine

FIXME : Add documentation

maxloc_allreduce_real_arraympSubroutine

FIXME : Add documentation

mds_r_char_1mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_0mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_1mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_2mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_3mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_4mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_5mdsioSubroutine

FIXME : Add documentation

mds_r_cmplx_6mdsioSubroutine
mds_r_cmplx_7mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_0mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_1mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_2mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_3mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_4mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_5mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_6mdsioSubroutine

FIXME : Add documentation

mds_r_dcmplx_7mdsioSubroutine

FIXME : Add documentation

mds_r_doub_0mdsioSubroutine

FIXME : Add documentation

mds_r_doub_1mdsioSubroutine

FIXME : Add documentation

mds_r_doub_2mdsioSubroutine

FIXME : Add documentation

mds_r_doub_3mdsioSubroutine

FIXME : Add documentation

mds_r_doub_4mdsioSubroutine

FIXME : Add documentation

mds_r_doub_5mdsioSubroutine

FIXME : Add documentation

mds_r_doub_6mdsioSubroutine

FIXME : Add documentation

mds_r_doub_7mdsioSubroutine

FIXME : Add documentation

mds_r_int_0mdsioSubroutine

FIXME : Add documentation

mds_r_int_1mdsioSubroutine

FIXME : Add documentation

mds_r_int_2mdsioSubroutine

FIXME : Add documentation

mds_r_int_3mdsioSubroutine

FIXME : Add documentation

mds_r_int_4mdsioSubroutine

FIXME : Add documentation

mds_r_int_5mdsioSubroutine

FIXME : Add documentation

mds_r_int_6mdsioSubroutine

FIXME : Add documentation

mds_r_int_7mdsioSubroutine

FIXME : Add documentation

mds_r_log_0mdsioSubroutine

FIXME : Add documentation

mds_r_real_0mdsioSubroutine

FIXME : Add documentation

mds_r_real_1mdsioSubroutine

FIXME : Add documentation

mds_r_real_2mdsioSubroutine

FIXME : Add documentation

mds_r_real_3mdsioSubroutine

FIXME : Add documentation

mds_r_real_4mdsioSubroutine

FIXME : Add documentation

mds_r_real_5mdsioSubroutine

FIXME : Add documentation

mds_r_real_6mdsioSubroutine

FIXME : Add documentation

mds_r_real_7mdsioSubroutine

FIXME : Add documentation

mds_readmdsioInterface
mds_w_char_1mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_0mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_1mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_2mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_3mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_4mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_5mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_6mdsioSubroutine

FIXME : Add documentation

mds_w_cmplx_7mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_0mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_1mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_2mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_3mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_4mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_5mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_6mdsioSubroutine

FIXME : Add documentation

mds_w_dcmplx_7mdsioSubroutine

FIXME : Add documentation

mds_w_doub_0mdsioSubroutine

FIXME : Add documentation

mds_w_doub_1mdsioSubroutine

FIXME : Add documentation

mds_w_doub_2mdsioSubroutine

FIXME : Add documentation

mds_w_doub_3mdsioSubroutine

FIXME : Add documentation

mds_w_doub_4mdsioSubroutine

FIXME : Add documentation

mds_w_doub_5mdsioSubroutine

FIXME : Add documentation

mds_w_doub_6mdsioSubroutine

FIXME : Add documentation

mds_w_doub_7mdsioSubroutine

FIXME : Add documentation

mds_w_int_0mdsioSubroutine

FIXME : Add documentation

mds_w_int_1mdsioSubroutine

FIXME : Add documentation

mds_w_int_2mdsioSubroutine

FIXME : Add documentation

mds_w_int_3mdsioSubroutine

FIXME : Add documentation

mds_w_int_4mdsioSubroutine

FIXME : Add documentation

mds_w_int_5mdsioSubroutine

FIXME : Add documentation

mds_w_int_6mdsioSubroutine

FIXME : Add documentation

mds_w_int_7mdsioSubroutine

FIXME : Add documentation

mds_w_log_0mdsioSubroutine

FIXME : Add documentation

mds_w_real_0mdsioSubroutine

FIXME : Add documentation

mds_w_real_1mdsioSubroutine

FIXME : Add documentation

mds_w_real_2mdsioSubroutine

FIXME : Add documentation

mds_w_real_3mdsioSubroutine

FIXME : Add documentation

mds_w_real_4mdsioSubroutine

FIXME : Add documentation

mds_w_real_5mdsioSubroutine

FIXME : Add documentation

mds_w_real_6mdsioSubroutine

FIXME : Add documentation

mds_w_real_7mdsioSubroutine

FIXME : Add documentation

mds_writemdsioInterface
measure_gatherredistributeInterface
measure_gather_22redistributeSubroutine

FIXME : Add documentation

measure_gather_32redistributeSubroutine

FIXME : Add documentation

measure_gather_33redistributeSubroutine

FIXME : Add documentation

measure_scatterredistributeInterface
measure_scatter_22redistributeSubroutine

FIXME : Add documentation

measure_scatter_23redistributeSubroutine

FIXME : Add documentation

measure_scatter_33redistributeSubroutine

FIXME : Add documentation

measure_timestepgs2_optimisationSubroutine

FIXME : Add documentation

mhdballnballSubroutine
min_allreducempInterface
min_allreduce_integermpSubroutine

FIXME : Add documentation

min_allreduce_integer_arraympSubroutine

FIXME : Add documentation

min_allreduce_realmpSubroutine

FIXME : Add documentation

min_allreduce_real_arraympSubroutine

FIXME : Add documentation

min_allreduce_submpInterface
min_allreduce_sub_integermpSubroutine

FIXME : Add documentation

min_reducempInterface
min_reduce_integermpSubroutine

FIXME : Add documentation

min_reduce_integer_arraympSubroutine

FIXME : Add documentation

min_reduce_realmpSubroutine

FIXME : Add documentation

min_reduce_real_arraympSubroutine

FIXME : Add documentation

mod2pigeo_utilsFunction

Put theta into the range

mp_abortmpSubroutine

Abort the simulation, logging an error message

nb_allgathervmpInterface
nb_allgatherv_complex_array_1to1mpSubroutine

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

nb_allgatherv_complex_array_1to3_submpSubroutine

A subroutine to do a non-blocking allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

nb_check_time_step_too_largenonlinear_termsSubroutine

Finish nonblocking calculation of the maximum velocity and set the cfl limit.

nb_max_allreducempInterface
nb_max_allreduce_integermpSubroutine

FIXME : Add documentation

nb_max_allreduce_integer_arraympSubroutine

FIXME : Add documentation

nb_max_allreduce_realmpSubroutine

FIXME : Add documentation

nb_max_allreduce_real_arraympSubroutine

FIXME : Add documentation

nb_sum_allreducempInterface
nb_sum_allreduce_complex_3arraympSubroutine

FIXME : Add documentation

nb_sum_allreduce_complex_4arraympSubroutine

FIXME : Add documentation

nb_sum_allreduce_complex_5arraympSubroutine

FIXME : Add documentation

nb_sum_allreduce_complex_arraympSubroutine

FIXME : Add documentation

nb_sum_allreduce_integermpSubroutine

FIXME : Add documentation

nb_sum_allreduce_submpInterface
nb_sum_allreduce_sub_complex_2arraympSubroutine

FIXME : Add documentation

nb_sum_allreduce_sub_complex_4arraympSubroutine

FIXME : Add documentation

nb_sum_reducempInterface
nb_sum_reduce_complexmpSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_2arraympSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_3arraympSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_4arraympSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_4array_submpSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_5arraympSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_arraympSubroutine

FIXME : Add documentation

nb_sum_reduce_complex_array_submpSubroutine

FIXME : Add documentation

nb_sum_reduce_submpInterface
nbrecvmpInterface
nbrecv_complex_2d_arraympSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_2d_array_countmpSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_3d_arraympSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_3d_array_countmpSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_arraympSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_array_countmpSubroutine

Routine for nonblocking recv of z (size=count) to dest. Use tag to label message and return handle for later checking.

nbrecv_complex_array_submpSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_real_arraympSubroutine

Routine for nonblocking recv of z to dest. Use tag to label message and return handle for later checking.

nbrecv_real_array_countmpSubroutine

Routine for nonblocking recv of z (size=count) to dest. Use tag to label message and return handle for later checking.

nbsendmpInterface
nbsend_complex_2d_arraympSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_complex_2d_array_countmpSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_complex_3d_arraympSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_complex_3d_array_countmpSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_complex_arraympSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_complex_array_countmpSubroutine

Routine for nonblocking send of z (size=count) to dest. Use tag to label message and return handle for later checking.

nbsend_complex_array_submpSubroutine

Routine for nonblocking send of z to dest. Use tag to label message and return handle for later checking.

nbsend_real_arraympSubroutine

Routine for nonblocking send of z to dest. Use to label message and return handle for later checking.

nbsend_real_array_countmpSubroutine

Routine for nonblocking send of z (size=count) to dest. Use tag to label message and return handle for later checking.

nc_eigenfuncgs2_ioSubroutine

Write the normalised fields to netCDF

nc_exchangegs2_ioSubroutine

Write the energy exchange to netCDF

nc_final_angs2_ioSubroutine

Write the right-hand sides of the field equations to netCDF, overwriting existing values

nc_final_epargs2_ioSubroutine

Write to netCDF, overwriting existing values

nc_final_fieldsgs2_ioSubroutine

Write the fields to netCDF, overwriting existing values

nc_final_momentsgs2_ioSubroutine

Write the various low-order moments to the output netCDF file, overwriting existing values

nc_finishgs2_ioSubroutine

Close the output netCDF files

nc_geogs2_ioSubroutine

Write various geometric quantities to output netCDF file

nc_get_grid_scalarsgs2_io_gridsSubroutine

Read scalar geometry data from the input netCDF file

nc_get_grid_sizesgs2_io_gridsSubroutine

Read sizes of geometry data from the input netCDF file

nc_get_gridsgs2_io_gridsSubroutine

Read geometry data from the input netCDF file The no_end_point flag in the input netCDF file tells if the grid data have the duplicate end point data at ntgrid. The default no_end_point behavior: The grid file generated by this module should always store the no_end_point flag. The grid file came from outside (GX) may not have this flag. (GX grid file does not have the end point data.) read_and_pad handles the end point data

nc_get_lambda_gridgs2_io_gridsSubroutine

Read lambda grid data from the input netCDF file

nc_get_lambda_grid_sizegs2_io_gridsSubroutine

Read sizes of lambda grid data from the input netCDF file

nc_grid_file_closegs2_io_gridsSubroutine

Close the netCDF file

nc_grid_file_newgs2_io_gridsSubroutine

Remove the output netCDF file if already exists

nc_grid_file_opengs2_io_gridsSubroutine

Open the netCDF file If the file already exists, remove it.

nc_grids_mymoviegs2_ioSubroutine

Puts the grid data into the movie file

nc_loopgs2_ioSubroutine

Write various fields, heating, and frequency diagnostics to netCDF

nc_loop_corrgs2_ioSubroutine

Write the correlation function over the physical domain to netCDF

nc_loop_corr_extendgs2_ioSubroutine

Write the correlation function over the extended domain to netCDF

nc_loop_distgs2_ioSubroutine

Output the poloidal distributions of the fluxes of particles, perpendicular momentum, parallel momentum, and energy ! JRB

nc_loop_fullmomgs2_ioSubroutine

Outputs full not guiding center moments

nc_loop_momentsgs2_ioSubroutine

Write moments as: volume averaged, field line averaged, and evaulated at theta=0

nc_loop_moviegs2_ioSubroutine

Write as functions of real space

nc_loop_partsym_tormomgs2_ioSubroutine

Write the particle flux contribution to toroidal momentum flux to netCDF

nc_loop_symgs2_ioSubroutine

Write the momentum flux as a function of to netCDF

nc_normsgs2_ioSubroutine

Write the physical normalisations to the output netCDF file Write the physical normalisations to the output netCDF file

nc_pfluxgs2_ioSubroutine

FIXME : Add documentation

nc_pflux_tormomgs2_ioSubroutine

Write toroidal angular momentum flux to netCDF

nc_qfluxgs2_ioSubroutine

Write various heat fluxes to netCDF

nc_speciesgs2_ioSubroutine

Write spec to output netCDF file

nc_syncgs2_ioSubroutine

Sync the files every nsync writes

nc_vfluxgs2_ioSubroutine

FIXME : Add documentation

nc_write_fieldgs2_ioSubroutine

Write a field ((/E, A_\Vert, B_\vert/)) to netCDF

nc_write_grid_scalarsgs2_io_gridsSubroutine

Write scalar geometry data to the output netCDF file

nc_write_grid_sizesgs2_io_gridsSubroutine

Writes sizes of geometry data to the output netCDF file

nc_write_gridsgs2_io_gridsSubroutine

Write geometry data to the output netCDF file Get the no_end_point flag from the input and store it in the output netCDF file. If no_end_point=.true., data at ntgrid are not stored. Data at ntgrid may be generated from the data at -ntgrid with some symmetry assumption. This option is meant to provide compatibility with GX.

nc_write_heatinggs2_ioSubroutine

Writing heating diagnostics to netCDF

nc_write_lambda_gridgs2_io_gridsSubroutine

Write lambda grid data to the output netCDF file

nc_write_momentsgs2_ioSubroutine

Write various moments to netcdf

nc_write_omegags2_ioSubroutine

Writing the (normalised) complex frequency to netCDF

nc_write_ql_metricgs2_ioSubroutine

Writes the QL flux metric by mode number and summed over mode number to netcdf file

netcdf_errornetcdf_utilsSubroutine

Convert a netCDF error code to a nice error message. Writes to error_unit

Read more…
netcdf_write_complexgs2_ioInterface

Write a complex array to netcdf

Read more…
neumaier_sumsummationInterface
neumaier_sum_real_1dsummationFunction

Very similar to Kahan summation but can perform better when the array contains a large range of inputs (i.e. where there may be elements that are larger the the cummulattive sum at that point)

new_periodic_splinesplinesSubroutine

Populates a periodic_spline instance spl representing the periodic data y(x) of length n and periodic on period. Note that the spline library expects period > x(n) - x(1), which means the input data shouldn't include the duplicate periodic point. As a convenience the user can pass data with the duplicate point and set drop_last_point = .true. to automatically exclude the duplicate point.

new_splinesplinesSubroutine

Populates a spline instance spl representing the non-periodic data y(x).

next_time_stepdump_responseSubroutine

Changes to the next time step in the sequence as determined by the usual rules to reduce the timestep in a nonlinear simulation.

nl_centernonlinear_termsSubroutine

Takes input array evaluated at theta grid points and overwrites it with array evaluated at cell centers note that there is an extra factor of 2 in output array

noargs_interfacegeo_utilsInterface
non_linear_termdiagnostics_zonal_transferSubroutine

calculate nonlinear term appearing in GKE for now assume electrostatic

nonblocking_receive_complex_arraympSubroutine

FIXME : Add documentation

nonblocking_send_complex_arraympSubroutine

FIXME : Add documentation

norms_check_if_setnormalisationsFunction

Decide if a given normalisation has been set

norms_finishnormalisationsSubroutine

Reset and free memory

norms_get_valuenormalisationsFunction

Get the value of the normalisation associated with val_name. Unknown values of val_name result in a call to mp_abort.

norms_initnormalisationsSubroutine

Initialise the norms object

norms_read_parametersnormalisationsSubroutine

FIXME : Add documentation

norms_resetnormalisationsSubroutine

Reset the properties

norms_set_logicalsnormalisationsSubroutine

Decide if all/some of the normalisations have been set

norms_set_valuenormalisationsSubroutine

Sets the value of a particular normalisation, determined by the passed val_name string. Unknown val_name values result in a warning message on proc0.

not_exactly_equalwarning_helpersInterface

Are two numbers not exactly equal to each other

not_exactly_equal_r32warning_helpersFunction
not_exactly_equal_r64warning_helpersFunction
nproc_commmpSubroutine

How many procs are in passed communicator

nprocsingen_modSubroutine

FIXME : Add documentation

nprocs_eingen_modSubroutine

FIXME : Add documentation

nprocs_leingen_modSubroutine

FIXME : Add documentation

nprocs_lzingen_modSubroutine

FIXME : Add documentation

nprocs_xxfingen_modSubroutine

FIXME : Add documentation

nprocs_yxfingen_modSubroutine

FIXME : Add documentation

ntgrid_paddinggs2_io_gridsSubroutine

Generate data at ntgrid point using some symmetry assumption

num_runsingen_modSubroutine

FIXME : Add documentation

number_of_bits_in_usememory_usageFunction

Try to read the number of kilobytes in use currently from /proc/self/status and return number of bits in use. Will return negative if error encountered. This gets VmHWM.

open_output_filefile_utilsSubroutine

Open an output file to write (replacing any existing) whose name is <run_name>.<ext>, and set unit to the unit number of that output file. If the binary flag is true, a binary file is opened

optimise_fieldsgs2_optimisationSubroutine

FIXME : Add documentation

optimise_flagsgs2_optimisationSubroutine

FIXME : Add documentation

optimise_gs2gs2_optimisationSubroutine

FIXME : Add documentation
This is the line which optimises GS2, by copying the optimal set of overrides into the init structure

optimise_layoutgs2_optimisationSubroutine

FIXME : Add documentation
Measure default layout

optimise_nprocsgs2_optimisationSubroutine

FIXME : Add documentation

optimise_simplegs2_optimisationSubroutine

FIXME : Add documentation

output_flux_linediagnostics_printoutSubroutine

Write instantaneous heat fluxes to given unit

Read more…
output_linediagnostics_printoutSubroutine

Write growth rates to given unit

output_resultsgs2_optimisationSubroutine

FIXME : Add documentation

pairwise_sumsummationInterface
pairwise_sum_real_1dsummationFunction

Unlike Kahan summation and similar methods this approach simply divides the set of numbers in half and sums each half separately. This is applied recursively until the local problem size drops below a certain size, at which point regular summation is applied

Read more…
palettpgplot_utilsSubroutine

FIXME : Add documentation

papergridpgplot_utilsSubroutine

FIXME : Add documentation

par_spectrumdiagnostics_final_routinesSubroutine

Calculate the parallel spectrum

parse_command_linegs2_mainSubroutine

Parse some basic command line arguments. Currently just 'version' and 'help'.

Read more…
parse_command_linemultigs2Subroutine

Parse the command line to determine user options

parse_set_file_to_filesmultigs2Subroutine
pbar_interfacegeo_utilsInterface
pbarfungeometryFunction
pbarofrhogeometryFunction

FIXME : Add documentation

pc_allocatefields_localSubroutine

Allocate storage space

pc_allocatefields_gf_localSubroutine

Allocate storage space

pc_count_availfields_localSubroutine

Work out how many rows are available in each cell

pc_count_availfields_gf_localSubroutine

Work out how many rows are available in each cell

pc_current_nrespfields_localFunction

Return the current number of rows we're responsible for

pc_current_nrespfields_gf_localFunction

Return the current number of rows we're responsible for

pc_deallocatefields_localSubroutine

Deallocate storage space

pc_deallocatefields_gf_localSubroutine

Deallocate storage space

pc_debug_printfields_localSubroutine

Debug printing

pc_debug_printfields_gf_localSubroutine

Debug printing

pc_decompfields_gf_localSubroutine

The process decomposition works on the gf_lo layout, so if you have a point in gf_lo that is in a supercell you are in that supercell and you own the whole cell associated with that point, otherwise you don't have anything in that supercell, i.e. each cell has a single owner.

pc_decomp_all_serial_localfields_localSubroutine

All serial and local || Decomp_type=0

pc_decomp_own_serial_localfields_localSubroutine

Serial and local but only for the supercells || Decomp_type=1 for which we have some data

pc_decomp_owncells_serial_localfields_localSubroutine

Serial and local but only for the cells || Decomp_type=2 for which we have some data

pc_decomp_owncells_simplempifields_localSubroutine

Cells are decomposed based on proc || Decomp_type=3

pc_find_localityfields_localSubroutine

Work out which cells are local

pc_find_localityfields_gf_localSubroutine

Work out which cells are local

pc_has_ikfields_localFunction

Determine if we have any cells with passed ik.

Read more…
pc_has_ikfields_gf_localFunction

Determine if we have any cells with passed ik?

Read more…
pc_has_itfields_localFunction

Determine if we have any cells with passed it.

Read more…
pc_has_itfields_gf_localFunction

Determine if we have any cells with passed it?

Read more…
pc_initfields_localSubroutine
pc_initfields_gf_localSubroutine

A routine to initialise the object

pc_make_decompfields_localSubroutine

A wrapper routine to do the decomposition

pc_make_decompfields_gf_localSubroutine

A wrapper routine to do the decomposition

pc_resetfields_localSubroutine

A routine to reset the pc object

pc_resetfields_gf_localSubroutine

A routine to reset the pc object

pe_layoutgs2_layoutsSubroutine

FIXME : Add documentation

peak_number_of_bits_in_usememory_usageFunction

Try to read the peak number of kilobytes currently from /proc/self/status and return number of bits in use. Will return negative if error encountered. This gets VmRSS.

periodic_copygeometrySubroutine

Copy the [-nth,nth] = [-pi,pi] section of the passed array into the theta > +/- pi parts, adding on k * ext (with k an integer labelling the sections/periods). Here we expect ext == array(nth) - array(-nth).

periodic_dsplintsplinesFunction

FIXME : Add documentation

periodic_splintsplinesFunction

FIXME : Add documentation

periodic_splintintsplinesFunction

FIXME : Add documentation

pfactorsingen_modSubroutine

FIXME : Add documentation

pflux_vs_theta_vs_vpadist_fnSubroutine

Diagnose particle flux contribution to toroidal momentum flux in the lab frame in terms of vpar and theta.

pfunleqFunction

FIXME : Add documentation

pfun_eqfilegeo_utilsFunction
pglinebpgplot_utilsSubroutine

FIXME : Add documentation

phigeometryFunction

FIXME : Add documentation

phinormgs2_diagnosticsSubroutine

Summed magnitude of all the fields

plotdatageometrySubroutine

FIXME : Add documentation

point_is_forbidden_and_not_redistributedgs2_transformsFunction

Small helper function to wrap up logic about if this point corresponds to a forbidden point and if we need to transfer it in the redistribute

prepare_initial_values_overridesgs2_mainSubroutine

FIXME : Add documentation

prepare_kt_grids_overridesgs2_mainSubroutine

FIXME : Add documentation

prepare_miller_geometry_overridesgs2_mainSubroutine

FIXME : Add documentation

prepare_optimisations_overridesgs2_mainSubroutine

FIXME : Add documentation

prepare_profiles_overridesgs2_mainSubroutine

FIXME : Add documentation

print_flux_linediagnostics_printoutSubroutine

Print instantaneous heat fluxes to screen

print_linediagnostics_printoutSubroutine

Print out growth rates to screen. Doesn't quite conform to the principle of having all useful results stored in gnostics... takes stuff straight from diagnostics_omega

print_memory_usagememory_usageSubroutine

Writes current estimate of memory use and peak memory use to provided unit.

print_statusmemory_usageSubroutine

Internal routine which can be used for debugging. Tries to dump the contents of /proc/self/status to output_unit

print_timesgs2_mainSubroutine

Print timing information to standard output.

Read more…
print_with_starsunit_testsSubroutine
proc_idgs2_layoutsInterface
proc_id_accelxgs2_layoutsFunction
proc_id_egs2_layoutsFunction

FIXME : Add documentation

proc_id_fgs2_layoutsFunction

FIXME : Add documentation

proc_id_ggs2_layoutsFunction

Return the processor id that has the point i in the g_lo layout

proc_id_gfgs2_layoutsFunction

FIXME : Add documentation

proc_id_jfgs2_layoutsFunction

FIXME : Add documentation

proc_id_legs2_layoutsFunction

FIXME : Add documentation

proc_id_lzgs2_layoutsFunction

FIXME : Add documentation

proc_id_paritygs2_layoutsFunction

FIXME : Add documentation

proc_id_xxfgs2_layoutsFunction

Return the processor id that has the point i in the xxf_lo layout

proc_id_yxfgs2_layoutsFunction

Return the processor id that has the point i in the yxf_lo layout

proc_messageunit_testsFunction
process_checkunit_testsSubroutine
process_testunit_testsSubroutine
prof_enteringprofSubroutine

FIXME : Add documentation

prof_leavingprofSubroutine

FIXME : Add documentation

psileqFunction

FIXME : Add documentation

psi_eqfilegeo_utilsFunction
psi_eqfile_cartgeo_utilsFunction
psifungeometryFunction

Calculates the normalised radial coordinate

qagquadpackSubroutine

QAG approximates an integral over a finite interval.

Read more…
qagequadpackSubroutine

QAGE estimates a definite integral.

Read more…
qagiquadpackSubroutine

QAGI estimates an integral over a semi-infinite or infinite interval.

Read more…
qagpquadpackSubroutine

QAGP computes a definite integral.

Read more…
qagsquadpackSubroutine

QAGS estimates the integral of a function.

Read more…
qawcquadpackSubroutine

QAWC computes a Cauchy principal value.

Read more…
qawcequadpackSubroutine

QAWCE computes a Cauchy principal value.

Read more…
qawfquadpackSubroutine

QAWF computes Fourier integrals over the interval [ A, +Infinity ).

Read more…
qawfequadpackSubroutine

QAWFE computes Fourier integrals.

Read more…
qawoquadpackSubroutine

QAWO computes the integrals of oscillatory integrands.

Read more…
qawsquadpackSubroutine

QAWS estimates integrals with algebraico-logarithmic endpoint singularities.

Read more…
qawsequadpackSubroutine

QAWSE estimates integrals with algebraico-logarithmic endpoint singularities.

Read more…
qc25cquadpackSubroutine

QC25C returns integration rules for Cauchy Principal Value integrals.

Read more…
qc25oquadpackSubroutine

QC25O returns integration rules for integrands with a COS or SIN factor.

Read more…
qc25squadpackSubroutine

QC25S returns rules for algebraico-logarithmic end point singularities.

Read more…
qchebquadpackSubroutine

QCHEB computes the Chebyshev series expansion.

Read more…
qextrquadpackSubroutine

QEXTR carries out the Epsilon extrapolation algorithm.

Read more…
qfourquadpackSubroutine

QFOUR estimates the integrals of oscillatory functions.

Read more…
qfunleqFunction

FIXME : Add documentation

qfun_eqfilegeo_utilsFunction
qk15quadpackSubroutine

QK15 carries out a 15 point Gauss-Kronrod quadrature rule.

Read more…
qk15iquadpackSubroutine

QK15I applies a 15 point Gauss-Kronrod quadrature on an infinite interval.

Read more…
qk15wquadpackSubroutine

QK15W applies a 15 point Gauss-Kronrod rule for a weighted integrand.

Read more…
qk21quadpackSubroutine

QK21 carries out a 21 point Gauss-Kronrod quadrature rule.

Read more…
qk31quadpackSubroutine

QK31 carries out a 31 point Gauss-Kronrod quadrature rule.

Read more…
qk41quadpackSubroutine

QK41 carries out a 41 point Gauss-Kronrod quadrature rule.

Read more…
qk51quadpackSubroutine

QK51 carries out a 51 point Gauss-Kronrod quadrature rule.

Read more…
qk61quadpackSubroutine

QK61 carries out a 61 point Gauss-Kronrod quadrature rule.

Read more…
qmomoquadpackSubroutine

QMOMO computes modified Chebyshev moments.

Read more…
qngquadpackSubroutine

QNG estimates an integral, using non-adaptive integration.

Read more…
qsortquadpackSubroutine

QSORT maintains the order of a list of local error estimates.

Read more…
quicksortsortingInterface
qwgtcquadpackFunction

QWGTC defines the weight function used by QC25C.

Read more…
qwgtoquadpackFunction

QWGTO defines the weight functions used by QC25O.

Read more…
qwgtsquadpackFunction

QWGTS defines the weight functions used by QC25S.

Read more…
r2cconvertInterface
r_1_insertsortsortingSubroutine

Sorts real arrays key and arr1 using insertion sort based on order of key.

r_1_quicksortsortingSubroutine

Sort real arrays key and arr1 based on key

Read more…
r_fill_2redistributeSubroutine

FIXME : Add documentation

r_fill_3redistributeSubroutine

FIXME : Add documentation

r_fill_4redistributeSubroutine

FIXME : Add documentation

r_insertsortsortingSubroutine

Sorts real array key using insertion sort based on the order of key.

r_quicksortsortingSubroutine

Sort a real array key

Read more…
r_redist_12redistributeSubroutine

FIXME : Add documentation

r_redist_22redistributeSubroutine

FIXME : Add documentation

r_redist_22_invredistributeSubroutine

FIXME : Add documentation

r_redist_26redistributeSubroutine

FIXME : Add documentation

r_redist_26_invredistributeSubroutine

FIXME : Add documentation

r_redist_32redistributeSubroutine

FIXME : Add documentation

r_redist_32_invredistributeSubroutine

FIXME : Add documentation

r_redist_33redistributeSubroutine

FIXME : Add documentation DD>

r_redist_33_invredistributeSubroutine

FIXME : Add documentation

r_redist_33_inv_mpi_copyredistributeSubroutine

FIXME : Add documentation

r_redist_33_inv_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
r_redist_33_inv_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

r_redist_33_inv_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

r_redist_33_mpi_copyredistributeSubroutine

FIXME : Add documentation

r_redist_33_mpi_copy_nonblockredistributeSubroutine

This routine does redistributes using entirely non-blocking comms.

Read more…
r_redist_33_mpi_copy_persist_endredistributeSubroutine

Finish persistent communications associated with redistribute. Unpacks receive buffer.

r_redist_33_mpi_copy_persist_startredistributeSubroutine

Launch persistent communications associated with redistribute. Packs send buffer.

r_redist_42redistributeSubroutine

FIXME : Add documentation

r_redist_42_invredistributeSubroutine

FIXME : Add documentation

r_redist_62redistributeSubroutine

This routine is a copy of R_redist_42, with the dimensionality of from here increased to 6

r_redist_62_invredistributeSubroutine

FIXME : Add documentation

r_swap_elemsortingSubroutine

Swaps element at ind1 in arr with element at ind2.

radau_pgauss_quadFunction

Polynomial for Radau-Gauss quadrature

radau_ppgauss_quadFunction

Radau-Gauss polynomial derivative

ranfconstant_randomFunction
ranfranFunction

Returns a pseudorandom number range in [0., 1.), (i.e. 0<= ranf < 1). The generator is initialized with the given seed if passed, otherwise uses the seed already set (default or otherwise).

range_get_gridskt_grids_rangeSubroutine

FIXME : Add documentation

Read more…
range_get_sizeskt_grids_rangeSubroutine

FIXME : Add documentation

rank_commmpSubroutine

What is rank of current proc in passed communicator

rb_allocatefields_localSubroutine

Allocate storage space

rb_allocatefields_gf_localSubroutine

Allocate storage space

rb_deallocatefields_localSubroutine

Deallocate storage space

rb_deallocatefields_gf_localSubroutine

Deallocate storage space

rb_debug_printfields_localSubroutine

Debug printing

rb_debug_printfields_gf_localSubroutine

Debug printing

rb_initfields_localSubroutine

Initialise the members of the rowblock instance

rb_initfields_gf_localSubroutine

Initialise the members of the rowblock instance

rb_irex_to_irlocfields_localFunction

Convert extended row index to local row index

rb_irex_to_irlocfields_gf_localFunction

Convert extended row index to local row index

rb_mv_multfields_localSubroutine

Matrix vector multiplication stored in tmp_sum

rb_mv_multfields_gf_localSubroutine

Matrix vector multiplication stored in tmp_sum

rb_mv_mult_funfields_localFunction

Matrix vector multiplication

rb_mv_mult_funfields_gf_localFunction

Matrix vector multiplication

rb_resetfields_localSubroutine

A routine to reset the object

rb_resetfields_gf_localSubroutine

A routine to reset the object

rb_set_nrowfields_localSubroutine

Set the nrow variables

rb_set_nrowfields_gf_localSubroutine

Set the nrow variables

rcenterdeqFunction

FIXME : Add documentation | Not implemented

rcenterleqFunction

Return the major radius of the centre of the flux surface

Read more…
rcentereeqFunction

FIXME : Add documentation

rcenter_eqfilegeo_utilsFunction

Return the major radius of the centre of a given flux surface

read_and_padgs2_io_gridsSubroutine

Helper subroutine to appropriately get geometry data depending on the no_end_point flag. Read geometry data from the input netCDF file with an appropriate size and pad ntgrid data if no_end_point=.true. The array corresponding to the dummy argument array in the upstream subroutine may be non-present optional argument, whose size will be 1 /= 2*ntgrid+1.

read_and_setdeqSubroutine

This subroutine reads an DFIT output file containing the axisymmetric magnetic field geometry on a rectangular domain defined by the coordinates (R,Z).

read_and_setgeqSubroutine

This subroutine reads a generic NetCDF equilibrium file containing the axisymmetric magnetic field geometry in flux coordinates

read_and_setideqSubroutine

FIXME : Add documentation Not really the diameter in this case. Instead, return the normalized minor radius, measured inside the ring, in the plane of the ring, starting at the ring and going inward.

read_and_setceqSubroutine
read_and_setleqSubroutine

Set module-level parameters and initialise the leq module

read_and_set_interfacegeo_utilsInterface
read_and_set_peqpeqSubroutine

This subroutine reads a generic NetCDF equilibrium file containing the axisymmetric magnetic field geometry in flux coordinates

read_and_set_teqpeqSubroutine

This subroutine reads a generic NetCDF equilibrium file containing the axisymmetric magnetic field geometry in flux coordinates

read_ballstab_configballstabSubroutine

Reads in the ballstab_knobs namelist and populates the member variables

read_collisions_configcollisionsSubroutine

Reads in the collisions_knobs namelist and populates the member variables

read_diagnostics_base_configdiagnostics_base_configSubroutine

Reads in the gs2_diagnostics_knobs namelist and populates the member variables

read_dist_fn_configdist_fnSubroutine

Reads in the dist_fn_knobs namelist and populates the member variables

read_dist_fn_species_configdist_fnSubroutine

Reads in the dist_fn_species_knobs namelist and populates the member variables

read_driver_configantennaSubroutine

Reads in the driver namelist and populates the member variables

read_elementkt_grids_specifiedSubroutine

FIXME : Add documentation

read_fields_configfieldsSubroutine

Reads in the fields_knobs namelist and populates the member variables

read_gs2dgs2dSubroutine

FIXME : Add documentation

read_hyper_confighyperSubroutine

Reads in the hyper_knobs namelist and populates the member variables

read_infileread_cheaseSubroutine

Open and read chease file named "filename". Populates module level variables with the output.

read_ingen_configingen_modSubroutine

Reads in the ingen_knobs namelist and populates the member variables

read_init_g_configinit_gSubroutine

Reads in the init_g_knobs namelist and populates the member variables

read_interfaceabstract_configInterface
read_knobs_configrun_parametersSubroutine

Reads in the knobs namelist and populates the member variables

read_kt_grids_box_configkt_grids_boxSubroutine

Reads in the kt_grids_box_parameters namelist and populates the member variables

read_kt_grids_configkt_gridsSubroutine

Reads in the kt_grids_knobs namelist and populates the member variables

read_kt_grids_range_configkt_grids_rangeSubroutine

Reads in the kt_grids_range_parameters namelist and populates the member variables

read_kt_grids_single_configkt_grids_singleSubroutine

Reads in the kt_grids_single_parameters namelist and populates the member variables

read_kt_grids_specified_configkt_grids_specifiedSubroutine

Reads in the kt_grids_specified_parameters namelist and populates the member variables

read_kt_grids_specified_element_configkt_grids_specifiedSubroutine

Reads in the kt_grids_specified_element namelist and populates the member variables

read_layouts_configgs2_layoutsSubroutine

Reads in the layouts_knobs namelist and populates the member variables

read_le_grids_configle_gridsSubroutine

Reads in the le_grids_knobs namelist and populates the member variables

read_neocoefslowflowSubroutine

FIXME : Add documentation

read_nonlinear_terms_confignonlinear_termsSubroutine

Reads in the nonlinear_terms_knobs namelist and populates the member variables

read_normalisations_confignormalisationsSubroutine

Reads in the normalisations_knobs namelist and populates the member variables

read_optimisation_configoptimisation_configSubroutine

Reads in the optimisation_config namelist and populates the member variables

read_parameter_scan_configparameter_scanSubroutine

Reads in the parameter_scan_knobs namelist and populates the member variables

read_parameterstheta_grid_paramsSubroutine

FIXME : Add documentation

read_parameterssplit_nonlinear_termsSubroutine

Read the split_nonlinear_terms namelist

read_parametersantennaSubroutine

FIXME : Add documentation

read_parametersfieldsSubroutine

FIXME : Add documentation

read_parametersoptimisation_configSubroutine
read_parametersnonlinear_termsSubroutine

FIXME : Add documentation

read_parametersle_gridsSubroutine

FIXME : Add documentation

read_parametersgs2_diagnosticsSubroutine

Read the input parameters for the diagnostics module

read_parametersinit_gSubroutine

FIXME : Add documentation

read_parametersgs2_layoutsSubroutine

FIXME : Add documentation

read_parametershyperSubroutine

FIXME : Add documentation

read_parametersparameter_scanSubroutine

FIXME : Add documentation

read_parametersrun_parametersSubroutine

FIXME : Add documentation
Identify if we need to warn about removal of parameters If we have zero beta then disable apar and bpar fields as these contribute nothing to result but slow down calculation. If we have non-zero beta then alert the user that they have some of the perturbed magnetic fields disabled. This may be intended behaviour, so we throw a warning. However, if both are disabled, we set beta=0. This will make the simulation electrostatic, as probably intended if both apar and bpar are set to zero.

read_parameterstheta_grid_gridgenSubroutine

FIXME : Add documentation

read_parameterstheta_grid_salphaSubroutine

FIXME : Add documentation

read_parameterstheta_grid_eikSubroutine

FIXME : Add documentation

read_parameterstheta_grid_fileSubroutine

FIXME : Add documentation

read_parameterstheta_gridSubroutine

FIXME : Add documentation

read_parametersdist_fnSubroutine

FIXME : Add documentation
DD>Turn off esv if not using linked boundaries CMR, 19/10/10: Override itor_over_B, if "dist_fn_knobs" parameter btor_slab ne 0 Not ideal to set geometry quantity here, but its historical!

read_parametersspeciesSubroutine

FIXME : Add documentation

read_parameterscollisionsSubroutine

FIXME : Add documentation

read_parametersrungridgenSubroutine

FIXME : Add documentation

read_parametersdiagnostics_configSubroutine
read_parametersballstabSubroutine

Read parameters

read_parameters_boxkt_grids_boxSubroutine

FIXME : Add documentation

read_parameters_internalkt_gridsSubroutine

FIXME : Add documentation

read_parameters_rangekt_grids_rangeSubroutine

FIXME : Add documentation

read_parameters_singlekt_grids_singleSubroutine

FIXME : Add documentation

read_reinit_configgs2_reinitSubroutine

Reads in the reinit_knobs namelist and populates the member variables

read_response_from_file_gf_localfields_gf_localSubroutine

Routine to read the current response matrix data from file dump. One file per connected domain. Each written by the head of the supercell. NOTE: Have to have setup communicators etc.

read_response_from_file_impfields_implicitSubroutine

A routine to read the response matrix from file and populate the implicit response storage, note we also allocate the response storage objects DD>It may be anticipated that we need to fix the boundary points

read_response_from_file_localfields_localSubroutine

Routine to read the current response matrix data from file dump. One file per connected domain. Each written by the head of the supercell. NOTE: Have to have setup communicators etc.

read_source_configdist_fnSubroutine

Reads in the source_knobs namelist and populates the member variables

read_species_configspeciesSubroutine

Reads in the species_knobs namelist and populates the member variables

read_species_element_configspeciesSubroutine

Reads in the species_parameters namelist and populates the member variables

read_species_knobsdist_fnSubroutine

FIXME : Add documentation

read_split_nonlinear_terms_configsplit_nonlinear_termsSubroutine

Reads in the split_nonlinear_terms_knobs namelist and populates the member variables

read_stir_configantennaSubroutine

Reads in the stir namelist and populates the member variables

read_t0_from_restart_filegs2_saveSubroutine

FIXME : Add documentation

read_theta_grid_configtheta_gridSubroutine

Reads in the theta_grid_knobs namelist and populates the member variables

read_theta_grid_eik_configtheta_grid_eikSubroutine

Reads in the theta_grid_eik_knobs namelist and populates the member variables

read_theta_grid_file_configtheta_grid_fileSubroutine

Reads in the theta_grid_file_knobs namelist and populates the member variables

read_theta_grid_gridgen_configtheta_grid_gridgenSubroutine

Reads in the parameters and knobs namelists and populates the member variables

read_theta_grid_parameters_configtheta_grid_paramsSubroutine

Reads in the theta_grid_parameters namelist and populates the member variables

read_theta_grid_salpha_configtheta_grid_salphaSubroutine

Reads in the theta_grid_salpha_knobs namelist and populates the member variables

real_initgs2_diagnosticsSubroutine

Read the input parameters; open the various text output files according to the relevant input flags; allocate and zero the module-level flux arrays, gs2_diagnostics_knobs and gs2_diagnostics_knobs

real_init_ballstabballstabSubroutine

Initialise this module

real_local_sumintegrationFunction

A wrapper routine to perform a sum. Used to provide a single point at which we choose a summation method

real_rectangular_integrationintegrationFunction

Apply the (left) rectangular rule to integrate y over the domain of x.

real_trapezoidal_integrationintegrationFunction

Apply the trapezium rule to integrate y over the domain of x.

receivempInterface
receive_charactermpSubroutine

FIXME : Add documentation

receive_complexmpSubroutine

FIXME : Add documentation

receive_complex_2arraympSubroutine

FIXME : Add documentation

receive_complex_3d_arraympSubroutine

FIXME : Add documentation

receive_complex_arraympSubroutine

FIXME : Add documentation

receive_integermpSubroutine

FIXME : Add documentation

receive_integer_arraympSubroutine

FIXME : Add documentation

receive_logicalmpSubroutine

FIXME : Add documentation

receive_logical_arraympSubroutine

FIXME : Add documentation

receive_realmpSubroutine

FIXME : Add documentation

receive_real_4d_arraympSubroutine

FIXME : Add documentation

receive_real_5d_arraympSubroutine

FIXME : Add documentation

receive_real_arraympSubroutine

FIXME : Add documentation

recommend_inversion_methodmat_invFunction

Times each available method for the given problem size and returns the flag of the fastest one.

recommend_multiplication_methodmatrix_multiplyFunction

Times each available method for the given problem size and returns the flag of the fastest one.

rectangular_integrationintegrationInterface
recv_initmpInterface
recv_init_complex_arraympSubroutine

Routine to initialise a persistent recv operation

recv_init_real_arraympSubroutine

Routine to initialise a persistent recv operation

reduce_time_stepgs2_reinitSubroutine

Reduces the time step by a factor delt_adj.

regressregressionInterface
regress_0regressionSubroutine

FIXME : Add documentation

regress_1regressionSubroutine

FIXME : Add documentation

regress_2regressionSubroutine

FIXME : Add documentation

regridtheta_grid_gridgenSubroutine

FIXME : Add documentation

Read more…
releaseruntime_testsFunction

This function is just a call of release_runtime_info and is provided for backwards compatibility.

release_runtime_inforuntime_testsFunction

Returns the release number

remap_boundsshm_mpi3Interface
remap_bounds_1cshm_mpi3Function

FIXME : Add documentation

remap_bounds_1rshm_mpi3Function

FIXME : Add documentation

remap_bounds_2cshm_mpi3Function

FIXME : Add documentation

remap_bounds_2rshm_mpi3Function

FIXME : Add documentation

remap_bounds_3cshm_mpi3Function

FIXME : Add documentation

remap_bounds_3rshm_mpi3Function

FIXME : Add documentation

remove_zonal_flowsfields_implicitSubroutine

FIXME : Add documentation

reorder_kxgs2_diagnosticsSubroutine

FIXME : Add documentation

replace_all_tabsfile_utilsSubroutine

Replaces each horizontal tab with a single space

replace_leading_tabsfile_utilsSubroutine

Replaces all leading tabs with space. Note we consider any tabs appearing before the first non-space/tab character.

reportingen_modSubroutine

FIXME : Add documentation

report_idle_procsingen_modSubroutine

This subroutine wraps up the output functionality for the code that creates the list of suggested process counts for the linear computation and checks whether those process counts work well for the non-linear calculations as well.

Read more…
report_init_timesgs2_initSubroutine

Report the time spent in each initialisation level

report_map_propertyredistributeSubroutine

FIXME : Add documentation

report_step_statisticssplit_nonlinear_termsSubroutine
report_velocity_integration_error_estimatele_gridsSubroutine

Calculate estimates of the velocity space integration errors and report to screen / specified unit.

Read more…
reset_averages_and_countersdiagnostics_heatingSubroutine

FIXME : Add documentation

reset_averages_and_countersdiagnostics_nonlinear_convergenceSubroutine

FIXME : Add documentation

reset_averages_and_countersgs2_diagnostics_newSubroutine

Reset cumulative flux and heating averages that are used, e.g. for Trinity. Does not at the moment apply to average growth rates.

reset_averages_and_countersdiagnostics_fluxesSubroutine

Set averages in gnostics\%current_results to 0.

reset_ballstab_configballstabSubroutine

Resets the config object to the initial empty state

reset_collisions_configcollisionsSubroutine

Resets the config object to the initial empty state

reset_diagnostics_base_configdiagnostics_base_configSubroutine

Resets the config object to the initial empty state

reset_dist_fn_configdist_fnSubroutine

Resets the config object to the initial empty state

reset_dist_fn_species_configdist_fnSubroutine

Resets the config object to the initial empty state

reset_driver_configantennaSubroutine

Resets the config object to the initial empty state

reset_equationsgs2_mainSubroutine

Effectively resets the state of the diagnostics and time index back to the start of the simulation. Primarily useful to allow one to reuse existing files etc. without having to start a new process. Mostly used in trinity workflows.

reset_fields_configfieldsSubroutine

Resets the config object to the initial empty state

reset_fields_gf_localfields_gf_localSubroutine

Reset the fields_gf_local module

reset_fields_localfields_localSubroutine

Reset the fields_local module

reset_hyper_confighyperSubroutine

Resets the config object to the initial empty state

reset_ingen_configingen_modSubroutine

Resets the config object to the initial empty state

reset_initantennaSubroutine

FIXME : Add documentation

reset_initfieldsSubroutine

FIXME : Add documentation

reset_initnonlinear_termsSubroutine

FIXME : Add documentation

reset_initfields_testSubroutine

FIXME : Add documentation

reset_initgs2_diagnosticsSubroutine

FIXME : Add documentation

reset_initinit_gSubroutine

FIXME : Add documentation

reset_initcollisionsSubroutine

Forces recalculation of coefficients in collision operator when timestep changes. Currently just calls finish_collisions

reset_initfields_implicitSubroutine

FIXME : Add documentation

reset_init_g_configinit_gSubroutine

Resets the config object to the initial empty state

reset_init_timesgs2_initSubroutine

Reset the time spent in each initialisation level

reset_interfaceabstract_configInterface
reset_knobs_configrun_parametersSubroutine

Resets the config object to the initial empty state

reset_kt_grids_box_configkt_grids_boxSubroutine

Resets the config object to the initial empty state

reset_kt_grids_configkt_gridsSubroutine

Resets the config object to the initial empty state

reset_kt_grids_range_configkt_grids_rangeSubroutine

Resets the config object to the initial empty state

reset_kt_grids_single_configkt_grids_singleSubroutine

Resets the config object to the initial empty state

reset_kt_grids_specified_configkt_grids_specifiedSubroutine

Resets the config object to the initial empty state

reset_kt_grids_specified_element_configkt_grids_specifiedSubroutine

Resets the config object to the initial empty state

reset_layouts_configgs2_layoutsSubroutine

Resets the config object to the initial empty state

reset_le_grids_configle_gridsSubroutine

Resets the config object to the initial empty state

reset_linear_magnitudegs2_mainSubroutine

FIXME : Add documentation

reset_mp_timesmpSubroutine

Resets mp timers to zero

reset_nonlinear_terms_confignonlinear_termsSubroutine

Resets the config object to the initial empty state

reset_normalisations_confignormalisationsSubroutine

Resets the config object to the initial empty state

reset_optimisation_configoptimisation_configSubroutine

Resets the config object to the initial empty state

reset_parameter_scan_configparameter_scanSubroutine

Resets the config object to the initial empty state

reset_redist_timesredistributeSubroutine

Resets redist timers to zero

reset_reinit_configgs2_reinitSubroutine

Resets the config object to the initial empty state

reset_source_configdist_fnSubroutine

Resets the config object to the initial empty state

reset_species_configspeciesSubroutine

Resets the config object to the initial empty state

reset_species_element_configspeciesSubroutine

Resets the config object to the initial empty state

reset_split_nonlinear_terms_configsplit_nonlinear_termsSubroutine

Resets the config object to the initial empty state

reset_step_statisticssplit_nonlinear_termsSubroutine

Reset the step statistics

reset_stir_configantennaSubroutine

Resets the config object to the initial empty state

reset_theta_grid_configtheta_gridSubroutine

Resets the config object to the initial empty state

reset_theta_grid_eik_configtheta_grid_eikSubroutine

Resets the config object to the initial empty state

reset_theta_grid_file_configtheta_grid_fileSubroutine

Resets the config object to the initial empty state

reset_theta_grid_gridgen_configtheta_grid_gridgenSubroutine

Resets the config object to the initial empty state

reset_theta_grid_parameters_configtheta_grid_paramsSubroutine

Resets the config object to the initial empty state

reset_theta_grid_salpha_configtheta_grid_salphaSubroutine

Resets the config object to the initial empty state

reset_time_stepgs2_reinitSubroutine

FIXME : Add documentation

reset_timersgs2_mainSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Private subroutines !!!!!!!!!!!!!!!!!!!!!!!!!!! Reset timers data to 0

restart_writablegs2_saveFunction

This function checks to see if we can create a file with name // if not then our restarts are not going to be possible and we return false. Can also be used to check that we can read from the restart file (which assumes it exists).

restore_current_scan_parameter_valuegs2_saveSubroutine

FIXME : Add documentation

rfungeo_utilsFunction

Returns the distance to the magnetic axis as a function of rp (the normalised poloidal flux variable) and theta.

rfunleqFunction

FIXME : Add documentation | Should this be equivalent to psi as in others?

rhofundeqFunction

FIXME : Add documentation

rhofungeometryFunction

FIXME : Add documentation Only used with ~undocumented irho = 4 option. Ideally would update to take pbar

rhofun_nullgeo_utilsFunction
rk_scheme_validaterk_schemesFunction

Perform a small check of the consistency. Returns an error code built from bitwise flags to give information about which checks, if any, failed. Success is repesented by zero.

rmajortgridgeometrySubroutine

Calculates rmajor = R(theta), where R is the distance to the central axis (rmajor not to be confused with rmaj, r_geo etc) rgrid is the submodule radial grid (r_circ for EFIT & deq, rp otherwise)

rootgeometrySubroutine

Find soln where f(soln) ~= fval. Works best if a and b bracket the root. We can then first bisect the bracket to narrow in on the solution. Following this we use the secant method to find the solution. The input xerrbi influences the number of bisection iterations whilst xerrsec is used to set the stopping tolerance on the secant method.

rp_interfacegeo_utilsInterface
rpofrhogeometryFunction

FIXME : Add documentation

RposleqFunction

Return the major radius at

rpos_eqfilegeo_utilsFunction
rpos_eqfile_cartgeo_utilsFunction
rtgridgeometrySubroutine

Calculate rgrid for the case of eeq and deq: in this case, rgrid is the distance to the magnetic axis as a function of theta.

rtheta_interfacegeo_utilsInterface
rtsecgk_complex_rootFunction

FIXME : Add documentation

run_diagnosticsgs2_diagnostics_newSubroutine

Create or write all variables according to the value of istep: istep=-1 --> Create all netcdf variables istep=0 --> Write constant arrays/parameters (e.g. aky) and initial values istep>0 --> Write variables new diagnostic, calulate and write in new variable

run_diagnostics_to_be_updatedgs2_diagnostics_newSubroutine

FIXME : Add documentation

run_eigensolvergs2_mainSubroutine

Employ the eigenvalue solver to seek eigenmodes using SLEPc

run_eikcoefs_and_resamplegeometrySubroutine

Run eikcoefs with ntheta = ntheta_input and then resample onto a theta grid with resolution ntheta_target.

run_gs2gs2_mainSubroutine

The main entry point into GS2, runs a single GS2 simulation

Read more…
run_ingeningen_modSubroutine

Entry point: initialise needed modules, run checks, and write namelists

run_numberingen_modSubroutine

FIXME : Add documentation

run_old_final_routinesgs2_diagnostics_newSubroutine

FIXME : Add documentation

run_optimise_gs2gs2_optimisationFunction

Setup, run, and teardown GS2 optimisation preprocessing

run_stability_checkballstabSubroutine

Runs the stability check scan for the module level shat/beta array values

safe_sqrtcollisionsFunction

A wrapper to sqrt which replaces -ve values with 0.0 to avoid NaNs arising from slight floating point discrepancies. We could consider adding a debug check to abort/warn if the passed value is too negative (i.e. if it looks like an error rather than small round off).

salpha_get_gridstheta_grid_salphaSubroutine

FIXME : Add documentation DD> The following few lines will cause an issue in the (semi-)valid case where eps=0.0 so adding a guard

salpha_get_sizestheta_grid_salphaSubroutine

FIXME : Add documentation

save_dtgs2_timeSubroutine

FIXME : Add documentation

save_dt_cflgs2_timeSubroutine

FIXME : Add documentation

save_dt_maxgs2_timeSubroutine

Sets the maximum timestep size allowed based on passed value.

save_dt_mings2_timeSubroutine

Sets the minimum timestep size allowed based on passed value.

save_inputgs2_ioSubroutine

Save the input file in the NetCDF file

save_restart_dist_fngs2_diagnosticsSubroutine

Save some extra information in final restart files

save_wisdomfft_workSubroutine

Save FFTW wisdom to file

Read more…
sc_allocatefields_localSubroutine

Allocate storage space

sc_allocatefields_gf_localSubroutine

Allocate storage space

sc_deallocatefields_localSubroutine

Deallocate storage space

sc_deallocatefields_gf_localSubroutine

Deallocate storage space

sc_debug_printfields_localSubroutine

Debug printing

sc_debug_printfields_gf_localSubroutine

Debug printing

sc_dumpfields_localSubroutine

Debug routine to dump the current supercell

sc_dumpfields_gf_localSubroutine

Debug routine to dump the current supercell

sc_dump_to_filefields_localSubroutine

Routine to write the response matrix for this supercell to netcdf file.

Read more…
sc_get_field_updatefields_localSubroutine

Get the field update DD>TAGGED

sc_get_field_updatefields_gf_localSubroutine

Get the field update

sc_get_left_itfields_localFunction

Given an it value get the it of the left connected cell

sc_get_left_itfields_gf_localFunction

Given an it value get the it of the left connected cell

sc_has_itfields_localFunction

Is the passed it a member of this supercell

sc_has_itfields_gf_localFunction

Is the passed it a member of this supercell

sc_iex_to_dimsfields_localSubroutine

Convert the extended domain index to ig, it and ifl

Read more…
sc_iex_to_dimsfields_gf_localSubroutine

Convert the extended domain index to ig, it and ifl

Read more…
sc_iex_to_icfields_localSubroutine

Convert the extended domain index to ic

sc_iex_to_icfields_gf_localSubroutine

Convert the extended domain index to ic

sc_iex_to_iflfields_localSubroutine

Convert the extended domain index to ifl

sc_iex_to_iflfields_gf_localSubroutine

Convert the extended domain index to ifl

sc_iex_to_igfields_localSubroutine

Convert the extended domain index to ig

sc_iex_to_igfields_gf_localSubroutine

Convert the extended domain index to ig

sc_iex_to_itfields_localSubroutine

Convert the extended domain index to it

sc_iex_to_itfields_gf_localSubroutine

Convert the extended domain index to it

sc_initfields_localSubroutine

Initialise the supercell instance by setting and calculating some basic properties. Does not deal with allocating all storage etc.

sc_initfields_gf_localSubroutine

Initialise the supercell instance by setting and calculating some basic properties. Does not deal with allocating all storage etc.

sc_invertfields_localSubroutine

A routine to invert the field matrix

sc_invertfields_gf_localSubroutine

A routine to invert the field matrix

sc_invert_localfields_localSubroutine

A routine to invert the field matrix locally

Read more…
sc_invert_localfields_gf_localSubroutine

A routine to invert the field matrix locally

sc_invert_mpifields_localSubroutine

A routine to invert the field matrix using mpi

sc_invert_mpifields_gf_localSubroutine

A routine to invert the field matrix using mpi

sc_make_subcom_1fields_localSubroutine

Create primary (top level) sub communicators

sc_make_subcom_1fields_gf_localSubroutine

Create primary (top level) sub communicators

sc_make_subcom_2fields_localSubroutine

Create the secondary (intraobject) subcommunicators

sc_make_subcom_2fields_gf_localSubroutine

Create the secondary (intraobject) subcommunicators

sc_preparefields_localSubroutine

Prepare the field matrix for calculating field updates

sc_preparefields_gf_localSubroutine

Prepare the field matrix for calculating field updates

sc_pull_rows_to_arrfields_localSubroutine

A routine to collect all the row level data and store in passed array Gather the row blocks up for this cell to fill an array DD>FOR NOW USE ALL_REDUCE AS EASIER, BUT SHOULD BE ABLE

sc_pull_rows_to_arrfields_gf_localSubroutine

A routine to collect all the row level data and store in passed array Gather the row blocks up for this cell to fill an array

Read more…
sc_push_arr_to_rowsfields_localSubroutine

A routine to distribute an array to appropriate row blocks

sc_push_arr_to_rowsfields_gf_localSubroutine

A routine to distribute an array to appropriate row blocks

sc_read_from_filefields_localSubroutine

Routine to read the response matrix for this supercell from netcdf file.

sc_reduce_tmpsumfields_localSubroutine

Reduce the field update across cells to give the final answer DD>TAGGED: As we currently have to do fm_gather_fields on every time step we only need

Read more…
sc_reduce_tmpsumfields_gf_localSubroutine

Reduce the field update across cells to give the final answer

sc_resetfields_localSubroutine

A routine to reset the object

sc_resetfields_gf_localSubroutine

A routine to reset the object

sc_set_localityfields_localSubroutine

Set the locality of each object

sc_set_localityfields_gf_localSubroutine

Set the locality of each object

sc_store_fqfields_localSubroutine

Store the field equations at row level

sc_store_fqfields_gf_localSubroutine

Store the field equations at row level

scalar_funcquadpackInterface
scatterredistributeInterface
scopempSubroutine

Switch the module communicator (and size/rank variables) between different scopes.

seikongeometrySubroutine

This is not right for cart types, but ok for those compatible with bishop=0.

self_periodicdist_fnSubroutine

Sets sum of homogeneous and inhomogeneous solutions to give a result gnew(ntgrid,2) = gnew(-ntgrid,2) gnew(ntgrid,1) = gnew(-ntgrid,1) ie periodic bcs at the ends of the flux tube.

Read more…
sendmpInterface
send_charactermpSubroutine

FIXME : Add documentation

send_complexmpSubroutine

FIXME : Add documentation

send_complex_2d_arraympSubroutine

FIXME : Add documentation

send_complex_3d_arraympSubroutine

FIXME : Add documentation

send_complex_arraympSubroutine

FIXME : Add documentation

send_initmpInterface
send_init_complex_arraympSubroutine

Routine to initialise a persistent send operation

send_init_real_arraympSubroutine

Routine to initialise a persistent send operation

send_integermpSubroutine

FIXME : Add documentation

send_integer_arraympSubroutine

FIXME : Add documentation

send_logicalmpSubroutine

FIXME : Add documentation

send_logical_arraympSubroutine

FIXME : Add documentation

send_realmpSubroutine

FIXME : Add documentation

send_real_4d_arraympSubroutine

FIXME : Add documentation

send_real_5d_arraympSubroutine

FIXME : Add documentation

send_real_arraympSubroutine

FIXME : Add documentation

serf_extspfuncFunction

FIXME : Add documentation

set_antenna_configantennaSubroutine

Set the module level config types Will abort if the module has already been initialised to avoid inconsistencies.

set_ascii_file_switchesgs2_diagnostics_newSubroutine

This subroutine determines which ascii output files are enabled (i.e., opened, flushed at each write, and then closed). If an ascii file is not enabled here, writing to it will cause some indeterminate unpleasant behaviour

Read more…
set_ballstab_configballstabSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_beta_primeballstabSubroutine

Sets the current value of beta_prime (or equivalent var) Really just sets the variable that we can use to control the pressure gradient.

set_ceq_from_cheaseceqSubroutine

Set the ceq module-level variables from the read_chease module variables.

Read more…
set_cfl_time_step_and_check_if_too_largenonlinear_termsSubroutine

Calculates the cfl limit from the module level max_vel value saves it using save_dt_cfl and then sets the reset flag based on checking if the current time step is too large.

set_collisions_configcollisionsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_current_f0_speciesspeciesSubroutine

FIXME : Add documentation

set_default_error_file_unitmpSubroutine

Set the unit for the error file to use in this module, for example for mp_abort

set_default_netcdf_compressionnetcdf_utilsSubroutine

Set the value of use_compression_default

set_default_netcdf_compression_levelnetcdf_utilsSubroutine

Set the value of deflate_level_default

set_diagnostics_config_configdiagnostics_configSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_dimension_ordergs2_layoutsInterface
set_dimension_order_egs2_layoutsSubroutine

Sets the order of th sgn x y l s in e_lo

set_dimension_order_ggs2_layoutsSubroutine

Sets the order of x y l e s in g_lo

set_dimension_order_legs2_layoutsSubroutine

Sets the order of x y th s in le_lo

set_dimension_order_lzgs2_layoutsSubroutine

Sets the order of x y e th s in lz_lo

set_dimension_order_xxfgs2_layoutsSubroutine

Sets the order of y th sgn l e s in xxf_lo Note: usually the order is y, theta, sign, then "les" in the order they appear in the g_lo layout

set_dimension_order_yxfgs2_layoutsSubroutine

Sets the order of x th sgn l e s in yxf_lo Note: usually the order is x, theta, sign, then "les" in the order they appear in the g_lo layout

set_dist_fn_configdist_fnSubroutine

Set the module level config types Will abort if the module has already been initialised to avoid inconsistencies.

set_dump_and_read_responsefieldsSubroutine

FIXME : Add documentation

set_fields_configfieldsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_gnew_from_nonadiabatic_dfninit_gSubroutine

Take the existing gnew value and, assuming it is the nonadiabatic dfn, calculate the consistent potentials to set the true gnew value.

set_gridsle_gridsSubroutine

FIXME : Add documentation

set_gs2_diagnostics_configgs2_diagnosticsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_gs2_layouts_configgs2_layoutsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_gs2_reinit_configgs2_reinitSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_h_zerodist_fn_arraysSubroutine

Assign $g$ a value corresponding to $h$ (g_wesson of CMR's note in g_adjust) of $h = 0$ in order to be consistent with g_adjust. The correct function call to set h = 0 is call set_h_zero(g, phi, bpar, iglo)

Read more…
set_hyper_confighyperSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_hzero_lorentz_collisions_matrixcollisionsSubroutine

Special behaviour when h=0 for passing non-zonal electrons

Read more…
set_ingen_mod_configingen_modSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_init_fieldsfieldsSubroutine

FIXME : Add documentation

set_init_g_configinit_gSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_initial_field_and_dist_fn_valuesgs2_initSubroutine
set_initval_overrides_to_current_valsgs2_mainSubroutine

FIXME : Add documentation

set_job_idunit_testsSubroutine
set_kt_grids_box_configkt_grids_boxSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_kt_grids_configkt_gridsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_kt_grids_range_configkt_grids_rangeSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_kt_grids_single_configkt_grids_singleSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_kt_grids_specified_configkt_grids_specifiedSubroutine

Set the module level config types Will abort if the module has already been initialised to avoid inconsistencies.

set_le_grids_configle_gridsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_nonlinear_terms_confignonlinear_termsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_normalisations_confignormalisationsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_optimisation_config_configoptimisation_configSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_optimisations_overridesdist_fnSubroutine

FIXME : Add documentation

set_optimised_choiceredistributeSubroutine

Set choice of redist algorithm based on properties of g_lo

set_overridestheta_grid_paramsSubroutine

FIXME : Add documentation

set_overrideskt_gridsSubroutine

FIXME : Add documentation

set_overridesfieldsSubroutine

FIXME : Add documentation

set_overridesgs2_layoutsSubroutine

FIXME : Add documentation

set_overridesrun_parametersSubroutine

FIXME : Add documentation

set_overridesdist_fnInterface
set_overridesspeciesSubroutine

FIXME : Add documentation

set_parameter_scan_configparameter_scanSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_poly_typegenquadSubroutine

FIXME : Add documentation

set_profiles_overridesdist_fnSubroutine

FIXME : Add documentation

set_random_arrayconstant_randomSubroutine
set_redist_character_typeredistributeSubroutine

FIXME : Add documentation

set_restart_filegs2_saveSubroutine

Sets the base of the restart file to be used when writing/reading files.

set_run_parameters_configrun_parametersSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_save_hdist_fnSubroutine

Set the save_h flag based on connections data

set_scan_parameterparameter_scanSubroutine

FIXME : Add documentation

set_seedmt19937Subroutine

Set initial seed of a mt19937_type instance

Read more…
set_seed_from_single_integerranSubroutine

Sets the seed for the random number generator provided by the standard based on a single integer. We use create_seed_from_single_integer to ensure we have enough values in the series rather than just duplicating this number.

set_shatballstabSubroutine

Sets the value of shat

set_species_configspeciesSubroutine

Set the module level config types Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_configtheta_gridSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_eik_configtheta_grid_eikSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_file_configtheta_grid_fileSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_gridgen_configtheta_grid_gridgenSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_params_configtheta_grid_paramsSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_theta_grid_salpha_configtheta_grid_salphaSubroutine

Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.

set_vgridle_gridsSubroutine

FIXME : Add documentation

set_xxf_optimised_variablesredistributeSubroutine

FIXME : Add documentation

set_yxf_optimised_variablesredistributeSubroutine

FIXME : Add documentation

setup_accel_transform_layoutsgs2_layoutsFunction

Construct an accel layout instance

setup_accelx_transform_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Accelerated FFTW3 layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct an accelx layout instance

setup_arraysballstabSubroutine

Allocate+populate arrays

setup_connected_bc_redistributedist_fnSubroutine

Populates the redistribute types describing the communication pattern required to deal with linked boundary conditions. Only deals with passing particles, including the wfb if passing_wfb is true. DD>Note the communications setup here are often equivalent to an all-to-all type

setup_connected_bc_redistribute_mixed_wfbdist_fnSubroutine

Populates the redistribute types describing the communication pattern required to deal with linked boundary conditions for the mixed wfb. This is used when passing_wfb = trapped_wfb = false. This is the default.

setup_dist_fn_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Distribution function layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Setup a g_layout (g_lo) type data decomposition object describing the work decomposition for a problem with passed grid sizes running on nproc. Returns the values for the processor with rank iproc. Note this involves collective 1 routines so requires all processors on comm world to take part. This does not require the input nproc to match the nproc of the world communicator.

Read more…
setup_energy_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Energy layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct an energy layout instance.

setup_energy_redistribute_localle_gridsSubroutine

Constructs the redistribute mapping from a g_lo data decomposition to an e_lo decomposition

setup_fields_implicit_class_arraysdist_fnSubroutine

Count the number of unique supercell sizes and setup the fields implicit arrays M_class and N_class.

setup_fields_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Field layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! M_class(i) = number of i_th supercell N_class(i) = size of i_th supercell i_class = number of classes of (different sized) supercells.
Construct a fields layout instance

setup_g2gf_redistributele_gridsSubroutine

Construct the redistribute for g_lo -> gf_lo

setup_g2le_redistribute_localle_gridsSubroutine

Construct a redistribute for g_lo -> le_lo

setup_genericabstract_configSubroutine

Do some standard setup/checking

setup_get_fields_direct_from_dfn_denominatorsdist_fnSubroutine

Precomputes constants used in the inversion of the field equations: gamtot * phi - gamtot1 * bpar = antot kperp2 * apar = antota beta/2 * gamtot1 * phi + (beta * gamtot2 + 1) * bpar = - beta * antotp

Read more…
setup_gf_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Fields Local layout: This is used to calculate velocity space integration and other fields related calculations on a restricted process count for large core count simulations. It takes naky and ntheta and distributed that amongst theta so that a single naky,ntheta point is only owned by a single process. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a gf_layout_type instance.

setup_jfields_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Fast field layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a jfields instance

setup_lambda_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Lambda layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a lambda layout instance

setup_lambda_redistribute_localle_gridsSubroutine

Computes the redistribute mapping from the g_lo data decomposition to the lz_lo decomposition

setup_le_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Lambda-Energy layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a le_layout_type instance.

setup_parity_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! layouts for parity diagnostic !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a parity layout instance.

setup_pass_incoming_boundary_to_connectionsdist_fnSubroutine

Setup the redistribute associated with passing the incoming boundary values to the previous connected cell, storing at its connected boundary. This is required in order to allow for non-zero incoming boundary conditions on internal cells.

setup_passing_lambda_gridsle_gridsSubroutine

Determines the location of lambda (al) grid points in the passing domain and the associated integrations weights.

setup_persistentredistributeSubroutine

FIXME : Add documentation

setup_special_splinesdeqSubroutine
setup_special_splineseeqSubroutine
setup_special_splines_eqfile_nullgeo_utilsSubroutine
setup_splines_eqfilegeo_utilsSubroutine
setup_trapped_lambda_gridsle_gridsSubroutine

Determines the lambda grid point integration weights in the trapped domain using either new or old (default) methods, determined by [[le_grids_knobs::new_trap_int]] with new=high-order interp, old=finite difference).

Read more…
setup_trapped_lambda_grids_new_trap_intle_gridsSubroutine

Determine trapped pitch angle weights using "new" polynomial interpolation.

Read more…
setup_trapped_lambda_grids_old_finite_differencele_gridsSubroutine

Find the trapped pitch angle weights using an old (finite-difference) integration scheme

Read more…
setup_x_redist_localgs2_transformsSubroutine

Constructs the redistribute mapping from the g_lo data decomposition to the xxf_lo decomposition.

setup_x_transform_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X-space layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct an xxf_lo instance.

setup_y_redist_localgs2_transformsSubroutine

Constructs the redistribute mapping from the xxf_lo data decomposition to the yxf_lo decomposition.

setup_y_transform_layoutsgs2_layoutsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Y-space layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Construct a yxf_lo instance.

setvgridegridSubroutine

FIXME : Add documentation GW: F0 now gets multiplied later

setvgrid_genquadegridSubroutine

FIXME : Add documentation

sgrndmt19937Subroutine

Set initial seed of module-level mt19937_type instance

shared_setuppeqSubroutine
shared_setup_cartgeo_utilsSubroutine
shm_allocshm_mpi3Interface
shm_alloc_cshm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_c1shm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_c2shm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_c3shm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_rshm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_r1shm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_r2shm_mpi3Subroutine

FIXME : Add documentation

shm_alloc_r3shm_mpi3Subroutine

FIXME : Add documentation

shm_cleanshm_mpi3Subroutine

FIXME : Add documentation

shm_fenceshm_mpi3Interface
shm_fence_cshm_mpi3Subroutine

FIXME : Add documentation

shm_fence_rshm_mpi3Subroutine

FIXME : Add documentation

shm_freeshm_mpi3Interface
shm_free_cshm_mpi3Subroutine

FIXME : Add documentation

shm_free_c1shm_mpi3Subroutine

FIXME : Add documentation

shm_free_c2shm_mpi3Subroutine

FIXME : Add documentation

shm_free_c3shm_mpi3Subroutine

FIXME : Add documentation

shm_free_rshm_mpi3Subroutine

FIXME : Add documentation

shm_free_r1shm_mpi3Subroutine

FIXME : Add documentation

shm_free_r2shm_mpi3Subroutine

FIXME : Add documentation

shm_free_r3shm_mpi3Subroutine

FIXME : Add documentation

shm_get_node_pointershm_mpi3Interface
shm_get_node_pointer_cshm_mpi3Subroutine

FIXME : Add documentation
$ pointer_array: do j = 1, size(shm_info%g_lo_ptr) $ do i = 0, shm_info%size -1 $ s = shm_info%g_lo_se(1, i) $ e = shm_info%g_lo_se(2, i) $ aux => shm_info%g_lo_ptr(j)%p(:,:, s:e) $ !print*,'get_node_pointer', iproc, i,j,s,e $ if ( associated(aux, pin)) then $ get_node_pointer => shm_info%g_lo_ptr(j)%p $ !print'(a,7(i5,x))','get_node_pointer', iproc, lbound(get_node_pointer), ubound(get_node_pointer) $ exit pointer_array $ endif $ end do $ enddo pointer_array

shm_get_node_pointer_c1shm_mpi3Function

FIXME : Add documentation

shm_get_node_pointer_c2shm_mpi3Function

FIXME : Add documentation

shm_get_node_pointer_c3shm_mpi3Function

FIXME : Add documentation

shm_get_node_pointer_rshm_mpi3Subroutine

FIXME : Add documentation
$ pointer_array: do j = 1, size(shm_info%g_lo_ptr) $ do i = 0, shm_info%size -1 $ s = shm_info%g_lo_se(1, i) $ e = shm_info%g_lo_se(2, i) $ aux => shm_info%g_lo_ptr(j)%p(:,:, s:e) $ !print*,'get_node_pointer', iproc, i,j,s,e $ if ( associated(aux, pin)) then $ get_node_pointer => shm_info%g_lo_ptr(j)%p $ !print'(a,7(i5,x))','get_node_pointer', iproc, lbound(get_node_pointer), ubound(get_node_pointer) $ exit pointer_array $ endif $ end do $ enddo pointer_array

shm_get_node_pointer_r1shm_mpi3Function

FIXME : Add documentation

shm_get_node_pointer_r2shm_mpi3Function

FIXME : Add documentation

shm_get_node_pointer_r3shm_mpi3Function

FIXME : Add documentation

shm_initshm_mpi3Subroutine

FIXME : Add documentation

shm_node_barriershm_mpi3Subroutine

FIXME : Add documentation
ifdef MPI endif

shm_node_idshm_mpi3Function

returns node id corresponding to ip -1 in case of error

shm_onnodeshm_mpi3Function

Checks if a node rank belong to the curent node

shmem_character_getshmemSubroutine

FIXME : Add documentation

shmem_character_putshmemSubroutine

FIXME : Add documentation

shmem_complex_get_arrayshmemSubroutine

FIXME : Add documentation

shmem_complex_get_scalarshmemSubroutine

FIXME : Add documentation

shmem_complex_put_arrayshmemSubroutine

FIXME : Add documentation

shmem_complex_put_scalarshmemSubroutine

FIXME : Add documentation

shmem_integer_getshmemInterface
shmem_integer_get_arrayshmemSubroutine

FIXME : Add documentation

shmem_integer_get_scalarshmemSubroutine

FIXME : Add documentation

shmem_integer_putshmemInterface
shmem_integer_put_arrayshmemSubroutine

FIXME : Add documentation

shmem_integer_put_scalarshmemSubroutine

FIXME : Add documentation

shmem_logical_getshmemInterface
shmem_logical_get_arrayshmemSubroutine

FIXME : Add documentation

shmem_logical_get_scalarshmemSubroutine

FIXME : Add documentation

shmem_logical_putshmemInterface
shmem_logical_put_arrayshmemSubroutine

FIXME : Add documentation

shmem_logical_put_scalarshmemSubroutine

FIXME : Add documentation

shmem_real_getshmemInterface
shmem_real_get_arrayshmemSubroutine

FIXME : Add documentation

shmem_real_get_scalarshmemSubroutine

FIXME : Add documentation

shmem_real_putshmemInterface
shmem_real_put_arrayshmemSubroutine

FIXME : Add documentation

shmem_real_put_scalarshmemSubroutine

FIXME : Add documentation

shmem_waitshmemSubroutine

FIXME : Add documentation

should_beunit_testsInterface
should_be_intunit_testsSubroutine
should_be_realunit_testsSubroutine
should_printunit_testsFunction
simulation_run_uuidstandard_headerFunction

Return the UUID for this run

Read more…
single_get_gridskt_grids_singleSubroutine

FIXME : Add documentation

single_get_sizeskt_grids_singleSubroutine

FIXME : Add documentation

single_initial_kxinit_gSubroutine

FIXME : Add documentation

size_ofconstantsInterface

Returns the number of bytes of storage required by its argument. Equivalent to c_sizeof from iso_c_binding

size_of_cdconstantsFunction
size_of_cqconstantsFunction
size_of_csconstantsFunction
size_of_i1constantsFunction
size_of_idconstantsFunction
size_of_ihconstantsFunction
size_of_isconstantsFunction
size_of_rdconstantsFunction
size_of_rqconstantsFunction
size_of_rsconstantsFunction
sj0spfuncFunction

FIXME : Add documentation

sj1spfuncFunction

FIXME : Add documentation

slgamma_extspfuncFunction

FIXME : Add documentation

smoothgridgen4modSubroutine

FIXME : Add documentation

solfp1collisionsInterface
solfp1_le_layoutcollisionsSubroutine

FIXME : Add documentation

solfp1_standard_layoutcollisionsSubroutine

FIXME : Add documentation

solfp_ediffuse_le_layoutcollisionsSubroutine

FIXME : Add documentation

solfp_ediffuse_standard_layoutcollisionsSubroutine

Energy diffusion subroutine used with energy layout (not le_layout) this is always the case when initializing the conserving terms, otherwise is the case if use_le_layout is no specified in the input file.

solfp_lorentzcollisionsInterface
solfp_lorentz_le_layoutcollisionsSubroutine

FIXME : Add documentation

solfp_lorentz_standard_layoutcollisionsSubroutine

FIXME : Add documentation

solve_jacobi_matrixgenquadSubroutine

Finds the eigenvalues and eigenvectors for a symmetric tridiagonal matrix and interprets them as the absissae and weights for Gaussian quadrature. See Numerical Recipes, 3rd Ed. section 4.6.2. Uses the LAPACK routine, given as an external source file.

sortgeo_utilsSubroutine

FIXME : Add documentation

Read more…
source_term_funcsplit_nonlinear_termsInterface

Interface to describe the call signatures for routines to calculate the field from gnew (invert_field_func) and to calculate the source term used in the advance_nonlinear_term methods. Used to allow us to pass in these methods, giving us a way to test the integrators on different problems.

spcof1gridgen4modSubroutine

FIXME : Add documentation

specified_get_gridskt_grids_specifiedSubroutine

FIXME : Add documentation

Read more…
specified_get_sizeskt_grids_specifiedSubroutine

FIXME : Add documentation

sperr1gridgen4modSubroutine

FIXME : Add documentation

spfit1gridgen4modSubroutine

FIXME : Add documentation

spint1gridgen4modSubroutine

FIXME : Add documentation

splinerungridgenSubroutine

FIXME : Add documentation

splintsplinesFunction

FIXME : Add documentation

splintintsplinesFunction

FIXME : Add documentation

splitmpInterface
split_allmpSubroutine

A routine to split the global communicator into sub-groups based on each procs specific colour "col". mp_comm is then overwritten to be the new split communicator This is different to job fork, which has the group and global communicators. The global communicator is replaced. This action can be undone with unsplit_all If the old mp_comm is not mpi_comm_world, you should make sure you have saved its value somewhere before calling this so that its value can be saved.

split_keympSubroutine

A routine to split the mp_comm communicator into sub-groups based on each procs specific colour "col" and ranked by key. The sub communicator's handle is passed back in new_comm

split_key_to_commtypempSubroutine

A routine to split the mp_comm communicator into sub-groups based on each procs specific colour "col" and ranked by key. The sub communicator's handle is passed back in new_comm

split_key_to_commtype_submpSubroutine

A routine to split a subcommunicator into sub-groups based on each procs specific colour "col" and ranked by key. The sub communicator's handle is passed back in new_comm

split_nokeympSubroutine

A routine to split the mp_comm communicator into sub-groups based on each procs specific colour "col". The sub communicator's handle is passed back in new_comm

Read more…
split_nokey_to_commtypempSubroutine

A routine to split the mp_comm communicator into sub-groups based on each procs specific colour "col". The sub communicator's handle is passed back in new_comm

split_nokey_to_commtype_submpSubroutine

A routine to split a subcommunicator into sub-groups based on each procs specific colour "col". The sub communicator's handle is passed back in new_comm

ssendmpInterface
ssend_charactermpSubroutine

FIXME : Add documentation

ssend_complexmpSubroutine

FIXME : Add documentation

ssend_complex_2arraympSubroutine

FIXME : Add documentation

ssend_complex_arraympSubroutine

FIXME : Add documentation

ssend_integermpSubroutine

FIXME : Add documentation

ssend_integer_arraympSubroutine

FIXME : Add documentation

ssend_logicalmpSubroutine

FIXME : Add documentation

ssend_logical_arraympSubroutine

FIXME : Add documentation

ssend_realmpSubroutine

FIXME : Add documentation

ssend_real_arraympSubroutine

FIXME : Add documentation

standard_header_to_stringstandard_headerFunction

Return a multiline string with a standard header of the form:

Read more…
standard_header_typestandard_headerInterface
start_commmpInterface
start_persistmpSubroutine

Starts a single persistent communication represented by handle

startall_persistmpSubroutine

Starts multiple persistent communications represented by handles

startsgs2_ioFunction

Return an array of 1-index offsets for writing a time-dependent field to netCDF:

Read more…
strip_comment_and_spacemultigs2Function
strip_commentsfile_utilsSubroutine

Remove Fortran comments (!) from line

sum_allreducempInterface
sum_allreduce_complexmpSubroutine

FIXME : Add documentation

sum_allreduce_complex_2arraympSubroutine

FIXME : Add documentation

sum_allreduce_complex_3arraympSubroutine

FIXME : Add documentation

sum_allreduce_complex_4arraympSubroutine

FIXME : Add documentation

sum_allreduce_complex_5arraympSubroutine

FIXME : Add documentation

sum_allreduce_complex_arraympSubroutine

FIXME : Add documentation

sum_allreduce_integermpSubroutine

FIXME : Add documentation

sum_allreduce_integer_2arraympSubroutine

FIXME : Add documentation

sum_allreduce_integer_3arraympSubroutine

FIXME : Add documentation

sum_allreduce_integer_arraympSubroutine

FIXME : Add documentation

sum_allreduce_realmpSubroutine

FIXME : Add documentation

sum_allreduce_real_2arraympSubroutine

FIXME : Add documentation

sum_allreduce_real_3arraympSubroutine

FIXME : Add documentation

sum_allreduce_real_4arraympSubroutine

FIXME : Add documentation

sum_allreduce_real_5arraympSubroutine

FIXME : Add documentation

sum_allreduce_real_arraympSubroutine

FIXME : Add documentation

sum_allreduce_submpInterface
sum_allreduce_sub_complexmpSubroutine

FIXME : Add documentation

sum_allreduce_sub_complex_2arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_complex_3arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_complex_4arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_complex_5arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_complex_arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_integermpSubroutine

FIXME : Add documentation

sum_allreduce_sub_integer_arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_realmpSubroutine

FIXME : Add documentation

sum_allreduce_sub_real_2arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_real_3arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_real_4arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_real_5arraympSubroutine

FIXME : Add documentation

sum_allreduce_sub_real_arraympSubroutine

FIXME : Add documentation

sum_reducempInterface
sum_reduce_complexmpSubroutine

FIXME : Add documentation

sum_reduce_complex_2arraympSubroutine

FIXME : Add documentation

sum_reduce_complex_2array_submpSubroutine

FIXME : Add documentation

sum_reduce_complex_3arraympSubroutine

FIXME : Add documentation

sum_reduce_complex_3array_submpSubroutine

FIXME : Add documentation

sum_reduce_complex_4arraympSubroutine

FIXME : Add documentation

sum_reduce_complex_4array_submpSubroutine

FIXME : Add documentation

sum_reduce_complex_5arraympSubroutine

FIXME : Add documentation

sum_reduce_complex_arraympSubroutine

FIXME : Add documentation

sum_reduce_complex_array_submpSubroutine

FIXME : Add documentation

sum_reduce_integermpSubroutine

FIXME : Add documentation

sum_reduce_integer_2arraympSubroutine

FIXME : Add documentation

sum_reduce_integer_arraympSubroutine

FIXME : Add documentation

sum_reduce_logicalmpSubroutine

FIXME : Add documentation

sum_reduce_realmpSubroutine

FIXME : Add documentation

sum_reduce_real_2arraympSubroutine

FIXME : Add documentation

sum_reduce_real_3arraympSubroutine

FIXME : Add documentation

sum_reduce_real_4arraympSubroutine

FIXME : Add documentation

sum_reduce_real_5arraympSubroutine

FIXME : Add documentation

sum_reduce_real_arraympSubroutine

FIXME : Add documentation

sum_reduce_submpInterface
swap_elemsortingInterface
symgeometrySubroutine

Forces symmetry in theta in the passed array. If isign == 0 then a(+/- theta) is replaced by the average of a(+/-theta), otherwise a(+/- theta) is replaced by +/- (a(theta)-a(-theta)).

tellingen_modSubroutine

FIXME : Add documentation

testmat_inv_benchmarkFunction
test_function_interfacefunctional_testsInterface
test_gs2functional_testsSubroutine

Run GS2 and check that test_function returns true

testallmpInterface
testall_nostatmpSubroutine

A routine to test for all count communications, given by the message handles in requests, to complete. We ignore the status information

testall_nostat_noflagmpSubroutine

A routine to test for all count communications, given by the message handles in requests, to complete. We ignore the status and flag information

testall_statmpSubroutine

A routine to test for all count communications, given by the message handles in requests, to complete. We return the message statuses and completion flag

textingen_modSubroutine

FIXME : Add documentation

th_bishopgeometrySubroutine

Finds the angle between the surface tangent vector in the poloidal plane and the direction of increasing major radius.

theta_grid_gridgen_inittheta_grid_gridgenSubroutine

FIXME : Add documentation

time_history_availablegs2_timeFunction

Reports how many previous time steps are available by checking if the previous code_dt values have been set to anything. Note we assume that if a time step is set then all more recent values have also been set.

time_messagempSubroutine

This routine counts elapsed time between two calls. The two elements in targ will be populated by time_message and correspond to the cumulative time and the time at the last call to time_message for this entry or zero depending on if the second element is zero or non-zero. Essentially the second element acts both as a store for the time at a call and a flag which flip-flops, to work out if we're currently timing or not. RN targ(2) must be non-zero at initialization.

time_messagejob_manageSubroutine

This routine counts elapsed time between two calls. Currently just a thin wrapper to method of the same name in mp. In the future we probably want to remove the method here and change the relevant use statements.

timeadvdist_fnSubroutine

This function calculates the distribution function at the next timestep. It calculates both the inhomogeneous part, gnew, due to the sources (principly the drive terms and the nonlinear term) and the homogeneous part, g1. The actual evolution of the dist func is done in the subroutine invert_rhs.

Read more…
timer_localmpFunction

Returns CPU time in seconds

timer_localjob_manageFunction

Returns CPU time in seconds. Currently just a thin wrapper to method of the same name in mp. In the future we probably want to remove the method here and change the relevant use statements.

timestampquadpackSubroutine

TIMESTAMP prints the current YMDHMS date as a time stamp.

Read more…
to_stringprint_utilsInterface
to_string_complex_real128print_utilsFunction
to_string_complex_real32print_utilsFunction
to_string_complex_real64print_utilsFunction
to_string_integer_int16print_utilsFunction
to_string_integer_int32print_utilsFunction
to_string_integer_int64print_utilsFunction
to_string_integer_int8print_utilsFunction

Convert object to string

to_string_logicalprint_utilsFunction
to_string_real_real128print_utilsFunction
to_string_real_real32print_utilsFunction
to_string_real_real64print_utilsFunction
total_termdiagnostics_zonal_transferSubroutine

Returns tau, the transfer of free energy as a function of (kx,ky)

transform2gs2_transformsInterface
transform2_2dgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation DD>Reinstating after discussion with RN, if this causes anyone an issue

transform2_3dgs2_transformsSubroutine

FIXME : Add documentation

transform2_4dgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

transform2_5dgs2_transformsSubroutine

FIXME : Add documentation

transform2_5d_accelgs2_transformsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

transform_xgs2_transformsInterface
transform_x5dgs2_transformsSubroutine

FIXME : Add documentation

transform_ygs2_transformsInterface
transform_y5dgs2_transformsSubroutine

FIXME : Add documentation

trap_errorle_gridsSubroutine

FIXME : Add documentation

trapezoidal_integrationintegrationInterface
tripprod2dtgridgeometrySubroutine

Computes something like x cross y dot grad zeta.

try_againingen_modSubroutine

FIXME : Add documentation

try_to_optimise_passing_gridle_gridsSubroutine

Try to find the optimal way to split the passing lambda grid into two regions in order to minimise the error on the integration weights. The approach taken is trial and error -- we try a number of predetermined splits, spline the error over the trials and then evaluate the spline on a high resolution grid to determine an approximate minmium.

tuneMinNRowfields_localSubroutine
unsplit_allmpSubroutine

FIXME : Add documentation

update_scan_parameter_valueparameter_scanSubroutine

FIXME : Add documentation

update_timegs2_timeSubroutine

FIXME : Add documentation

use_nprocmpSubroutine

This function splits mp_comm into two pieces, one with nprocs_new procs, and one with all the remainder. For the remainder, included is set to false. This means that the remainder will lie idle.

user2codegs2_timeSubroutine

FIXME : Add documentation

verbosityruntime_testsFunction

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Functions provided for backwards compatibility ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This function is just a call of get_verbosity and is provided for backwards compatibility.

verify_parametersballstabSubroutine

Check parameters are consistent etc.

vspace_derivativesle_derivativesSubroutine

FIXME : Add documentation

waitmpInterface
wait_nostatmpSubroutine

This routine waits for the communication, given by the message request, to complete. We ignore the status information

Read more…
wait_statmpSubroutine

This routine waits for the communication, given by the message request, to complete. We return the status information

waitallmpInterface
waitall_nostatmpSubroutine

A routine to wait for all count communications, given by the message handles in requests, to complete. We ignore the status information

waitall_statmpSubroutine

A routine to wait for all count communications, given by the message handles in requests, to complete. We return the message statuses

waitanympInterface
waitany_nostatmpSubroutine
waitany_statmpSubroutine

FIXME : Add documentation

warn_about_deprecated_optiondiagnostics_base_configSubroutine
warn_about_nonfunctional_selectiondiagnostics_base_configSubroutine

Prints a warning about a non-functional diagnostic

warningprint_utilsSubroutine

Print text in a warning box, optionally to file

wcoriolis_funcdist_fnFunction

Calculates the value of the Coriolis drift at the location corresponding to the passed indices.

wcurv_funclowflowFunction

FIXME : Add documentation

wdrift_funcdist_fnFunction

Calculates the value of the magnetic drifts (curvature + grad-B) corresponding to the theta grid location given by ig for the iglo index of interest.

wnml_antennaantennaSubroutine

FIXME : Add documentation

wnml_ballstabballstabSubroutine

Write a namelist based on current values

wnml_collisionscollisionsSubroutine

FIXME : Add documentation

wnml_dist_fndist_fnSubroutine

FIXME : Add documentation

wnml_dist_fn_speciesdist_fnSubroutine

FIXME : Add documentation

wnml_fieldsfieldsSubroutine

FIXME : Add documentation

wnml_gs2_diagnosticsgs2_diagnosticsSubroutine

Write the diagnostics namelist to file

wnml_gs2_layoutsgs2_layoutsSubroutine

FIXME : Add documentation

wnml_gs2_reinitgs2_reinitSubroutine

FIXME : Add documentation

wnml_hyperhyperSubroutine

FIXME : Add documentation

wnml_init_ginit_gSubroutine

FIXME : Add documentation

wnml_ktkt_gridsSubroutine

FIXME : Add documentation

wnml_kt_grids_boxkt_grids_boxSubroutine

Write namelist for kt_grids_box

wnml_kt_grids_rangekt_grids_rangeSubroutine

FIXME : Add documentation

wnml_kt_grids_singlekt_grids_singleSubroutine

FIXME : Add documentation

wnml_kt_grids_specifiedkt_grids_specifiedSubroutine

FIXME : Add documentation

wnml_le_gridsle_gridsSubroutine

FIXME : Add documentation

wnml_nonlinear_termsnonlinear_termsSubroutine

FIXME : Add documentation

wnml_normalisationsnormalisationsSubroutine

FIXME : Add documentation

wnml_run_parametersrun_parametersSubroutine

FIXME : Add documentation

wnml_speciesspeciesSubroutine

FIXME : Add documentation

wnml_theta_gridtheta_gridSubroutine

FIXME : Add documentation

wnml_theta_grid_eiktheta_grid_eikSubroutine

FIXME : Add documentation

wnml_theta_grid_filetheta_grid_fileSubroutine

FIXME : Add documentation

wnml_theta_grid_gridgentheta_grid_gridgenSubroutine

FIXME : Add documentation

wnml_theta_grid_paramstheta_grid_paramsSubroutine

FIXME : Add documentation

wnml_theta_grid_salphatheta_grid_salphaSubroutine

FIXME : Add documentation

write_ballstab_configballstabSubroutine

Writes out a namelist representing the current state of the config object

write_collision_errordiagnostics_velocity_spaceSubroutine

FIXME : Add documentation

write_collisionalcollisional_heatingSubroutine

FIXME : Add documentation

write_collisions_configcollisionsSubroutine

Writes out a namelist representing the current state of the config object

write_complex_rank1gs2_ioSubroutine
write_complex_rank2gs2_ioSubroutine
write_complex_rank3gs2_ioSubroutine
write_complex_rank4gs2_ioSubroutine
write_complex_scalargs2_ioSubroutine
write_connection_matrixredistributeSubroutine

Write a binary containing an nproc by nproc matrix showing communications in the redistribution lo. Entry (i,j) of connection_matrix shows the number of values sent from proc i to proc j in the forward transform. Entry (i,j) of connection_matrix_inv gives the same information for the inverse transform. Diagonal entries (i,i) show the number of values which are "sent from proc i to itself", i.e. not communicated by MPI, but which still need to be rearranged locally as part of the transform.

write_cross_phasediagnostics_turbulenceSubroutine

FIXME : Add documentation

write_diagnostics_base_configdiagnostics_base_configSubroutine

Writes out a namelist representing the current state of the config object

write_diffusive_estimatesdiagnostics_fluxesSubroutine

Calculate estimates of the heat and particles fluxes using gamma / k^2 estimate of the diffusivity

write_dist_fn_configdist_fnSubroutine

Writes out a namelist representing the current state of the config object

write_dist_fn_species_configdist_fnSubroutine

Writes out a namelist representing the current state of the config object

write_driver_configantennaSubroutine

Writes out a namelist representing the current state of the config object

write_dtgs2_timeSubroutine

FIXME : Add documentation

write_eigenfuncdiagnostics_fieldsSubroutine

Write out the fields, normalized to their value at theta=0

write_exit_fileexit_codesSubroutine

Write exit file containing exit code and message

write_fdist_fnSubroutine

Write at ik=it=is=1, ig=0 to text file <runname>.dist

write_fieldsdiagnostics_fieldsSubroutine

FIXME : Add documentation

write_fields_configfieldsSubroutine

Writes out a namelist representing the current state of the config object

write_flux_linediagnostics_printoutSubroutine

Print instantaneous heat fluxes to run_name.new.out

write_fluxes_to_unitdiagnostics_printoutSubroutine

Write instantaneous heat and particle fluxes to screen/file

Read more…
write_full_moments_notgcdiagnostics_momentsSubroutine

FIXME : Add documentation

write_fyxdist_fnSubroutine

Write distribution function ( or possibly ?) in real space to text file ".yxdist"

write_grids_to_filedump_gridsSubroutine

FIXME : Add documentation

write_gs2dgs2dSubroutine

FIXME : Add documentation

write_heatingdiagnostics_heatingSubroutine

FIXME : Add documentation

write_hyper_confighyperSubroutine

Writes out a namelist representing the current state of the config object

write_ingen_configingen_modSubroutine

Writes out a namelist representing the current state of the config object

write_init_g_configinit_gSubroutine

Writes out a namelist representing the current state of the config object

write_init_timesgs2_initSubroutine

Write the init times to .init_times

write_interfaceabstract_configInterface
write_jextdiagnostics_antennaSubroutine

FIXME : Add documentation

write_key_val_complexabstract_configSubroutine

Writes a {key,val} pair where the value is of type complex

write_key_val_complex_arrayabstract_configSubroutine

Writes a {key,val} pair where the value is of type complex array

write_key_val_integerabstract_configSubroutine

Writes a {key,val} pair where the value is of type integer

write_key_val_integer_arrayabstract_configSubroutine

Writes a {key,val} pair where the value is of type integer array

write_key_val_logicalabstract_configSubroutine

Writes a {key,val} pair where the value is of type logical

write_key_val_realabstract_configSubroutine

Writes a {key,val} pair where the value is of type real

write_key_val_real_arrayabstract_configSubroutine

Writes a {key,val} pair where the value is of type real array

write_key_val_stringabstract_configSubroutine

Writes a {key,val} pair where the value is of type character

write_knobs_configrun_parametersSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_box_configkt_grids_boxSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_configkt_gridsSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_range_configkt_grids_rangeSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_single_configkt_grids_singleSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_specified_configkt_grids_specifiedSubroutine

Writes out a namelist representing the current state of the config object

write_kt_grids_specified_element_configkt_grids_specifiedSubroutine

Writes out a namelist representing the current state of the config object

write_layouts_configgs2_layoutsSubroutine

Writes out a namelist representing the current state of the config object

write_le_grids_configle_gridsSubroutine

Writes out a namelist representing the current state of the config object

write_linediagnostics_printoutSubroutine

Print growth rates to run_name.new.out

write_lorentziandiagnostics_antennaSubroutine

FIXME : Add documentation

write_momentsdiagnostics_momentsSubroutine

FIXME : Add documentation

write_moviediagnostics_fieldsSubroutine

FIXME : Add documentation

write_mpdistle_gridsSubroutine

Used for testing takes as input an array using g_lo and writes it to a .distmp output file

write_mpdist_lele_gridsSubroutine

Used for testing takes as input an array using le_lo and writes it to a .distmp output file

write_namelist_footerabstract_configSubroutine

Write the namelist footer

write_namelist_headerabstract_configSubroutine

Write the namelist header for this instance

write_namelistsingen_modSubroutine

FIXME : Add documentation

write_nonlinear_terms_confignonlinear_termsSubroutine

Writes out a namelist representing the current state of the config object

write_normalisations_confignormalisationsSubroutine

Writes out a namelist representing the current state of the config object

write_omegadiagnostics_omegaSubroutine

Write omega, omega_average as functions of kx, ky and time to the new netcdf file

write_optimisation_configoptimisation_configSubroutine

Writes out a namelist representing the current state of the config object

write_outputrungridgenSubroutine

FIXME : Add documentation

write_parameter_scan_configparameter_scanSubroutine

Writes out a namelist representing the current state of the config object

write_phi_fluxes_to_unitdiagnostics_printoutSubroutine

Write instantaneous fluxes from electrostatic potential to screen or file

write_ql_metricgs2_diagnostics_newSubroutine

Calculates and write the QL flux metric to netcdf

write_reinit_configgs2_reinitSubroutine

Writes out a namelist representing the current state of the config object

write_source_configdist_fnSubroutine

Writes out a namelist representing the current state of the config object

write_species_configspeciesSubroutine

Writes out a namelist representing the current state of the config object

write_species_element_configspeciesSubroutine

Writes out a namelist representing the current state of the config object

write_split_nonlinear_terms_configsplit_nonlinear_termsSubroutine

Writes out a namelist representing the current state of the config object

write_stability_ascii_1dballstabSubroutine

Routine to write out stability data to 1D ascii file

write_stability_ascii_2dballstabSubroutine

Routine to write out stability data to 2D ascii file + 1d axis data

write_standard_moment_propertiesdiagnostics_momentsSubroutine

FIXME : Add documentation

write_stir_configantennaSubroutine

Writes out a namelist representing the current state of the config object

write_summarygs2_optimisationSubroutine

FIXME : Add documentation

write_textprint_utilsSubroutine

Print text to both screen and (optionally) a file

write_theta_grid_configtheta_gridSubroutine

Writes out a namelist representing the current state of the config object

write_theta_grid_eik_configtheta_grid_eikSubroutine

Writes out a namelist representing the current state of the config object

write_theta_grid_file_configtheta_grid_fileSubroutine

Writes out a namelist representing the current state of the config object

write_theta_grid_gridgen_configtheta_grid_gridgenSubroutine

Writes out a namelist representing the current state of the config object

write_theta_grid_parameters_configtheta_grid_paramsSubroutine

Writes out a namelist representing the current state of the config object

write_theta_grid_salpha_configtheta_grid_salphaSubroutine

Writes out a namelist representing the current state of the config object

write_time_parallel_statisticsgs2_mainSubroutine

Writes the timing information statistics to optional passed unit

write_to_unitconfig_collectionSubroutine

Writes out the current configuration state to an optionally provided unit. If no unit is provided then we write to output_unit.

write_trinity_parameterstheta_grid_paramsSubroutine

FIXME : Add documentation

write_trinity_parametersgs2_mainSubroutine

FIXME : Add documentation

write_trinity_parametersrun_parametersSubroutine

FIXME : Add documentation

write_trinity_parametersspeciesSubroutine

FIXME : Add documentation

write_used_inputs_filegs2_mainSubroutine

Write an input file containing the current state of all input parameters

write_velocity_space_checksdiagnostics_velocity_spaceSubroutine

FIXME : Add documentation

write_zonal_transferdiagnostics_zonal_transferSubroutine

FIXME : Add documentation

wsweetspotsingen_modSubroutine

Writes out sweetspot core counts for a layout sym: character string label for each dimension sdim: size of each dimension nfac: #factors of each sdim facs(i,j): ith factor of jth dimension

x1c2rconvertSubroutine

FIXME : Add documentation

x1r2cconvertSubroutine

FIXME : Add documentation

x2c2rconvertSubroutine

FIXME : Add documentation

x2r2cconvertSubroutine

FIXME : Add documentation

x3c2rconvertSubroutine

FIXME : Add documentation

x3r2cconvertSubroutine

FIXME : Add documentation

x4c2rconvertSubroutine

FIXME : Add documentation

x4r2cconvertSubroutine

FIXME : Add documentation

x5c2rconvertSubroutine

FIXME : Add documentation

x5r2cconvertSubroutine

FIXME : Add documentation

xigridsetle_gridsSubroutine

FIXME : Add documentation

xpregressionFunction

FIXME : Add documentation

xxfidx2yxfidxgs2_layoutsSubroutine

FIXME : Add documentation

ypregressionFunction

FIXME : Add documentation

zbrentgeo_utilsFunction

FIXME : Add documentation

zero_arrayarray_utilsInterface

Interface to helper functions to zero an array

zero_array_complex_array_1array_utilsSubroutine

Zero out a 1D array

zero_array_complex_array_2array_utilsSubroutine

Zero out a 2D array

zero_array_complex_array_3array_utilsSubroutine

Zero out a 3D array

zero_array_complex_array_4array_utilsSubroutine

Zero out a 4D array

zero_array_complex_array_5array_utilsSubroutine

Zero out a 5D array

zero_array_real_array_1array_utilsSubroutine

Zero out a 1D array

zero_array_real_array_2array_utilsSubroutine

Zero out a 2D array

zero_array_real_array_3array_utilsSubroutine

Zero out a 3D array

zero_array_real_array_4array_utilsSubroutine

Zero out a 4D array

zero_array_real_array_5array_utilsSubroutine

Zero out a 5D array

zero_dvtypegs2_heatingInterface
zero_dvtype_0gs2_heatingSubroutine

FIXME : Add documentation

zero_dvtype_1gs2_heatingSubroutine

FIXME : Add documentation

zero_dvtype_2gs2_heatingSubroutine

FIXME : Add documentation

zero_dvtype_3gs2_heatingSubroutine

FIXME : Add documentation

zero_htypegs2_heatingInterface
zero_htype_0gs2_heatingSubroutine

FIXME : Add documentation

zero_htype_1gs2_heatingSubroutine

FIXME : Add documentation

zero_htype_2gs2_heatingSubroutine

FIXME : Add documentation

zero_htype_3gs2_heatingSubroutine

FIXME : Add documentation

zero_out_passing_hybrid_electronscollisionsSubroutine

If we have hybrid electrons then we need to remove the contribution to the conservation terms from the adiabatic passing part. This routine does this for us.

zfnclowflowFunction

FIXME : Add documentation

zgemmlapack_wrapperInterface
zgemvlapack_wrapperInterface
zgetrflapack_wrapperInterface
zgetrilapack_wrapperInterface
ZposleqFunction

Return the axial coordinate at

zpos_eqfilegeo_utilsFunction
zpos_eqfile_cartgeo_utilsFunction
ZtgridgeometrySubroutine

Calculates the vertical height, Z, on the theta grid