Procedures

ProcedureLocationProcedure TypeDescription
a_ext_dataantennaSubroutine

FIXME : Add documentation

a_minoreeqSubroutine

FIXME : Add documentation

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.

Read more…
add_dimensionsimpledataioSubroutine
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_metadatasimpledataioInterface

subroutine sdatio_add_dimension(sfile, dimension_name, dimsize, description, units) import sdatio_file type(sdatio_file), intent(in) :: sfile character(), intent(in) :: dimension_name integer, intent(in) :: dimsize character(), intent(in) :: description, units end subroutine sdatio_add_dimension end interface

add_metadata_charactersimpledataioSubroutine
add_metadata_double_precisionsimpledataioSubroutine
add_metadata_integersimpledataioSubroutine
add_metadata_realsimpledataioSubroutine
add_nlnonlinear_termsSubroutine

Calculate the nonlinear term and 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…
add_standard_metadatasimpledataioSubroutine
adjust_time_normrun_parametersSubroutine

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_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_arraysgeqSubroutine

FIXME : Add documentation

alloc_arraysideqSubroutine

FIXME : Add documentation

alloc_arrayspeqSubroutine

FIXME : Add documentation

alloc_arraysceqSubroutine

Allocate module-level arrays

alloc_arraysleqSubroutine

Allocate internal module-level arrays

Read more…
alloc_module_arraysdeqSubroutine

FIXME : Add documentation

alloc_module_arraysgeometrySubroutine

FIXME : Add documentation

alloc_module_arrayseeqSubroutine

FIXME : Add documentation

alloc_response_objectsfields_implicitSubroutine

A subroutine to allocate the response matrix storage objects

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_gryfx_zonal_arraysgs2_gryfx_zonalSubroutine

FIXME : Add documentation

allocate_outputsgs2_mainSubroutine

FIXME : Add documentation

allocate_target_arraysparameter_scanSubroutine

FIXME : Add documentation

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_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

FIXME : Add documentation

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_thetadiagnostics_zonal_transferSubroutine

!!!!!!!!!!!! integration over velocity space subroutine integrate (g, total) !!!!! integrates g with maxwellian weights, output in total array use le_grids, only: integrate_moment !!!! Not public, until told so in le_grids! use theta_grid, only: ntgrid use gs2_layouts, only: g_lo use species, only:nspec implicit none complex, dimension (-ntgrid:,:,g_lo%llim_proc:), intent (in) :: g complex, dimension (-ntgrid:,:,:,:), intent (out) :: total call integrate_moment(g, total, all=.true.) !!!! can only be called once w and wl are assigned, after init_le_grids end subroutine integrate Average over theta

Read more…
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

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_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_a_fungeometryFunction

FIXME : Add documentation

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

betafundeqFunction

FIXME : Add documentation

betafungeqFunction

FIXME : Add documentation

betafunideqFunction

FIXME : Add documentation

betafunpeqFunction

FIXME : Add documentation

betafunceqFunction

FIXME : Add documentation

betafunleqFunction

FIXME : Add documentation

betafuneeqFunction

FIXME : Add documentation

betweengeometryFunction

FIXME : Add documentation

bgradgeometrySubroutine

Calculate the derivative of rp w.r.t. R and Z and return the modulus sqrt(drp/dR ^ 2 + drp/dZ^2). I.e. return |grad rp|. Parameters are: - rgrid: Submodule radial grid (r_circ for EFIT, rp otherwise) - theta: grid of theta - gradf(:,1): |grad psi| - gradf(:,2): 0.0 - char: if char = 'R', return |grad pressure| instead - char: if char = 'T', then return theta gradient in bishop form - gradf(:,1): (dtheta/dZ d rp/dR - dtheta/dR drp/dZ)/ |grad rp| - gradf(:,2): (dtheta/dR d rp/dR + dtheta/dZ drp/dZ)/ |grad rp| - rp: value of rp on the flux surface where we want the grad - nth: number of theta points - ntgrid: lower index of theta array is -ntgrid

bgradientdeqSubroutine

FIXME : Add documentation

bgradientgeqSubroutine

FIXME : Add documentation

bgradientideqSubroutine

FIXME : Add documentation

bgradientpeqSubroutine

FIXME : Add documentation

bgradientceqSubroutine

Calculate the derivative of a selected field w.r.t. the Bishop coordinate system

bgradientleqSubroutine

Calculate the derivative of in the Bishop coordinate system. If char=='T', calculate the gradient of instead

bgradienteeqSubroutine

Calculate the derivative of psi/(a^2 B_a) w.r.t. R and Z and return the modulus sqrt(dpsi/dR ^ 2 + dpsi/dZ^2). I.e. return |grad psi|. Parameters are: - rgrid: distance to mag axis as a fn of theta - theta: grid of theta - grad(:,1): |grad psi| - grad(:,2): 0.0 - char: if char = 'R', return |grad pressure| instead - char: if char = 'T', then return theta gradient in bishop form - grad(:,1): (dtheta/dZ d psi/dR - dtheta/dR dpsi/dZ)/ |grad psi| - grad(:,2): (dtheta/dR d psi/dR + dtheta/dZ dpsi/dZ)/ |grad psi| - rp: value of psi/(a^2 B_a) on the flux surface where we want the grad - nth: number of theta points - ntm: lower index of theta array is -ntm

bishop_gradBgeometrySubroutine

FIXME : Add documentation

bits_to_human_readablememory_usageFunction

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

bmagfungeometryFunction

FIXME : Add documentation

bmodfungeometryFunction

FIXME : Add documentation

bounddeqFunction

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

boundeeqFunction

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_configgs2_initSubroutine

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_parameters_configrun_parametersSubroutine

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_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

btorideqFunction

FIXME : Add documentation

btorigeqFunction

FIXME : Add documentation

btoriideqFunction

FIXME : Add documentation

btoripeqFunction

FIXME : Add documentation

btoriceqFunction

FIXME : Add documentation

btorigeometryFunction

FIXME : Add documentation

btorileqFunction

FIXME : Add documentation

btorieeqFunction

FIXME : Add documentation

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_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

FIXME : Add documentation

c_redist_22_inv_mpi_copy_persist_endredistributeSubroutine

FIXME : Add documentation

c_redist_22_inv_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

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

FIXME : Add documentation

c_redist_22_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

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

FIXME : Add documentation

c_redist_32_inv_mpi_copy_persist_endredistributeSubroutine

FIXME : Add documentation

c_redist_32_inv_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

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

FIXME : Add documentation DD>Moved after sends

c_redist_32_mpi_copy_persist_endredistributeSubroutine

FIXME : Add documentation

c_redist_32_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

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

FIXME : Add documentation

c_redist_33_inv_mpi_copy_persist_endredistributeSubroutine

FIXME : Add documentation

c_redist_33_inv_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

c_redist_33_mpi_copyredistributeSubroutine

FIXME : Add documentation

c_redist_33_mpi_copy_nonblockredistributeSubroutine

FIXME : Add documentation

c_redist_33_mpi_copy_persist_endredistributeSubroutine

FIXME : Add documentation

c_redist_33_mpi_copy_persist_startredistributeSubroutine

FIXME : Add documentation

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

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_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

calculate_collisionalcollisional_heatingSubroutine

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

Read more…
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_flux_surface_averagedist_fnSubroutine

Calculate the flux surface average term for the adiabatic response.

Read more…
calculate_fluxesdiagnostics_fluxesSubroutine

FIXME : Add documentation

calculate_forbidden_regionle_gridsSubroutine

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

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_jendle_gridsSubroutine

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

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_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_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

ceq_finishceqSubroutine

Finish this module; deallocate arrays

ceq_initceqSubroutine

Initialise CHEASE equilibrium module

Read more…
ceqinceqSubroutine

FIXME : Add documentation

cgetrflapack_wrapperInterface
cgetrilapack_wrapperInterface
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

FIXME : Add documentation

check_accelgs2_layoutsSubroutine

FIXME : Add documentation

check_antennaantennaSubroutine

FIXME : Add documentation

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_gcollisionsSubroutine

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_glzcollisionsSubroutine

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_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_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_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.

cl_getargcommand_lineSubroutine

Gets k-th argument_count string and its length using intrinsic get_command_argument or a fall back option

cl_getenvcommand_lineSubroutine

FIXME : Add documentation

cl_iargccommand_lineFunction

Returns the number of command line arguments using intrinsic command_argument_count or a fall back option

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…
closefilesimpledataioSubroutine
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…
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

Read more…
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_trapezoidal_integrationintegrationFunction

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

conserve_diffusecollisionsInterface
conserve_diffuse_le_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 TMP FOR TESTING -- MAB if (proc0) call system_clock (count=t0, count_rate=tr) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1

Read more…
conserve_diffuse_standard_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y2 = y1 - v1y1 * s1 / (1 + v1s1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Finally get x = y2 - v2y2 * w2 / (1 + v2w2)

conserve_lorentzcollisionsInterface
conserve_lorentz_le_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 initially define vpanud to be vpa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 redefine vpanud to be vpa * nu_D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y2 = y1 - v1y1 * s1 / (1 + v1s1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Finally get x = y2 - v2y2 * w2 / (1 + v2w2)

conserve_lorentz_standard_layoutcollisionsSubroutine

FIXME : Add documentation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! First get v0y0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y1 = y0 - v0y0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1y1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get y2 = y1 - v1y1 * s1 / (1 + v1s1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v2y2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Finally get x = y2 - v2y2 * w2 / (1 + v2w2)

coredumpshmemSubroutine

FIXME : Add documentation

correlationgs2_diagnosticsSubroutine

Calculate the correlation function on the physical domain

correlationdiagnostics_turbulenceSubroutine

FIXME : Add documentation

correlation_extendgs2_diagnosticsSubroutine

Calculate the correlation function over the extended domain

correlation_extenddiagnostics_turbulenceSubroutine

FIXME : Add documentation

create_and_write_distributed_fieldlike_variablediagnostics_create_and_writeInterface
create_and_write_dstrb_fieldlike_variable_character_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_character_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_character_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real32_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real32_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real32_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real64_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real64_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_complex_real64_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_integer_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_integer_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_integer_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real32_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real32_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real32_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real64_2diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real64_3diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_dstrb_fieldlike_variable_real_real64_4diagnostics_create_and_writeSubroutine

Reset the starts and counts

create_and_write_variablediagnostics_create_and_writeInterface
create_and_write_variable_character_0diagnostics_create_and_writeSubroutine
create_and_write_variable_character_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_character_1diagnostics_create_and_writeSubroutine
create_and_write_variable_character_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_character_2diagnostics_create_and_writeSubroutine
create_and_write_variable_character_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_character_3diagnostics_create_and_writeSubroutine
create_and_write_variable_character_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_character_4diagnostics_create_and_writeSubroutine
create_and_write_variable_character_4_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_0diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_1diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_2diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_3diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_4diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real32_4_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_0diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_1diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_2diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_3diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_4diagnostics_create_and_writeSubroutine
create_and_write_variable_complex_real64_4_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_integer_0diagnostics_create_and_writeSubroutine
create_and_write_variable_integer_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_integer_1diagnostics_create_and_writeSubroutine
create_and_write_variable_integer_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_integer_2diagnostics_create_and_writeSubroutine
create_and_write_variable_integer_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_integer_3diagnostics_create_and_writeSubroutine
create_and_write_variable_integer_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_integer_4diagnostics_create_and_writeSubroutine
create_and_write_variable_integer_4_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_noreaddiagnostics_create_and_writeInterface
create_and_write_variable_real_real32_0diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_1diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_2diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_3diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_4diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real32_4_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_0diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_0_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_1diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_1_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_2diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_2_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_3diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_3_nrdiagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_4diagnostics_create_and_writeSubroutine
create_and_write_variable_real_real64_4_nrdiagnostics_create_and_writeSubroutine
create_dimensionsgs2_diagnostics_newSubroutine

FIXME : Add documentation

create_filesimpledataioSubroutine
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…
create_variablesimpledataioSubroutine
crosstgridgeometrySubroutine

FIXME : Add documentation

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

dbtorideqFunction

FIXME : Add documentation

dbtorigeqFunction

FIXME : Add documentation

dbtoriideqFunction

FIXME : Add documentation

dbtoripeqFunction

FIXME : Add documentation

dbtoriceqFunction

at the given normalised

dbtorigeometryFunction

FIXME : Add documentation

dbtorileqFunction

FIXME : Add documentation

dbtorieeqFunction

FIXME : Add documentation

dealiasinggs2_layoutsFunction

FIXME : Add documentation

dealloc_arraysgeqSubroutine

FIXME : Add documentation

dealloc_arraysballstabSubroutine

Deallocate arrays

dealloc_arraysideqSubroutine

FIXME : Add documentation

dealloc_arrayspeqSubroutine

FIXME : Add documentation

dealloc_arraysceqSubroutine

Deallocate module-level arrays

dealloc_arraysleqSubroutine

Deallocate internal module-level arrays

dealloc_module_arraysdeqSubroutine

FIXME : Add documentation

dealloc_module_arraysgeometrySubroutine

FIXME : Add documentation

dealloc_module_arrayseeqSubroutine

FIXME : Add documentation

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, creating them if necessary. Doesn't fill the values.

Read more…
define_dims_mymoviegs2_ioSubroutine

Define the dimensions used in the movie file. Some duplication with main file -- may want to merge movie data into main file Main reason for using a new file is we can only have one unlimited dimension per file (with new versions of 1 this is no longer true) and we probably don't want to write movie data as often as other data. However, at the moment we precalculate the number of outputs, so it isn't actually unlimited

define_varsgs2_ioSubroutine

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

Read more…
define_vars_mymoviegs2_ioSubroutine

Define the vars in the movie file. A fair bit of duplication wrt main file -- may want to think about merging movie data into main file. Main reason for using a new file is we can only have one unlimited dimension per file (with new versions of 1 this is no longer true) and we probably don't want to write movie data as often as other data. However, at the moment we precalculate the number of outputs, so it isn't actually unlimited

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

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

Read more…
delete_listredistributeSubroutine

FIXME : Add documentation

delete_periodic_splinesplinesSubroutine

Reset and deallocate variables in passed periodic spline

delete_redistredistributeSubroutine

FIXME : Add documentation

delete_splinesplinesSubroutine

Reset and deallocate variables in passed spline

derf_extspfuncFunction

FIXME : Add documentation

dermdeqSubroutine

FIXME : Add documentation DFIT grid is equally spaced in R, Z -- this routine uses that fact and is therefore not completely general. It is fine for DFIT output.

dermgeqSubroutine

FIXME : Add documentation

dermideqSubroutine

FIXME : Add documentation
! this is a bad assumption assume up-down symmetry for now:

dermpeqSubroutine

FIXME : Add documentation

dermceqSubroutine

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

dermleqSubroutine

derm computes the index-space derivatives of f in radius and theta directions, assuming periodicity in theta, f(:,-nt) = f(:,nt).

dermeeqSubroutine

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

determine_gs2spec_from_trings2_mainSubroutine

FIXME : Add documentation

determine_species_orderspeciesSubroutine

This routine is used only for Trinity

dfit_finishdeqSubroutine

FIXME : Add documentation

dfit_finishideqSubroutine

FIXME : Add documentation

dfit_initdeqSubroutine

FIXME : Add documentation

dfit_initideqSubroutine

FIXME : Add documentation

dfitindeqSubroutine

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

Read more…
diametergeqFunction

FIXME : Add documentation

diameterideqFunction

FIXME : Add documentation

Read more…
diameterpeqFunction

FIXME : Add documentation

diameterceqFunction

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

diametergeometryFunction

FIXME : Add documentation

diameterleqFunction

FIXME : Add documentation

diffusivitygs2_diagnosticsFunction

A linear estimate of the diffusivity, used for Trinity testing

dim_stringdiagnostics_dimensionsInterface
dimension_add_to_filediagnostics_dimensionsSubroutine

Attach the dimension to file

dimension_get_dim_namediagnostics_dimensionsFunction

Return the dimensions name

dimension_sizesimpledataioSubroutine
dimension_type_initdiagnostics_dimensionsSubroutine

Populate the dimension type

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_antotgs2_diagnosticsSubroutine

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

do_write_final_antotdiagnostics_final_routinesSubroutine

FIXME : Add documentation

do_write_final_dbgs2_diagnosticsSubroutine

Calculate and write , overwriting existing values

Read more…
do_write_final_dbdiagnostics_final_routinesSubroutine

FIXME : Add documentation

do_write_final_epargs2_diagnosticsSubroutine

Calculate and write , overwriting existing values

do_write_final_epardiagnostics_final_routinesSubroutine

FIXME : Add documentation

do_write_final_fieldsgs2_diagnosticsSubroutine

Write , overwriting existing values

do_write_final_fieldsdiagnostics_final_routinesSubroutine

FIXME : Add documentation

do_write_final_momentsgs2_diagnosticsSubroutine

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

Read more…
do_write_final_momentsdiagnostics_final_routinesSubroutine

FIXME : Add documentation

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_gsgs2_diagnosticsSubroutine

FIXME : Add documentation

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_kpargs2_diagnosticsSubroutine

Write the parallel spectrum of , overwriting existing values

Read more…
do_write_kpardiagnostics_final_routinesSubroutine

FIXME : Add documentation

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…
dottgridgeometrySubroutine

FIXME : Add documentation

dottgridfgeometrySubroutine

FIXME : Add documentation

dpdrhofunleqFunction

FIXME : Add documentation

dpfundeqFunction

FIXME : Add documentation

dpfungeqFunction

FIXME : Add documentation

dpfunideqFunction

FIXME : Add documentation

dpfunpeqFunction

FIXME : Add documentation

dpfunceqFunction

FIXME : Add documentation

dpfungeometryFunction

FIXME : Add documentation

dpfunleqFunction

FIXME : Add documentation

dpfuneeqFunction

FIXME : Add documentation

dqdrhofungeometryFunction

FIXME : Add documentation

drho_drhodgeometrySubroutine

FIXME : Add documentation

drho_drpgeometrySubroutine

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_fields_periodicallydiagnostics_fieldsSubroutine

Dump the fields to a time-labelled ascii file: suggestion... use the netcdf file with write_phi_over_time etc on instead :-) DD>I agree... we should probably remove it. DD>Should this only occur for write_ascii=T?

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.

eexchangedist_fnSubroutine

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

efit_finisheeqSubroutine

FIXME : Add documentation

efit_initeeqSubroutine

Calculate the following arrays: - eqth, which is theta on an R,Z grid - dpm, which is (d psi / d R) and (d psi / d Z) on an R,Z grid - dtm, which is (d theta / d R) and (d theta / d Z) on an R,Z grid

efitineeqSubroutine

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
DD>WARNING : ON EXIT AVGRMID WILL BE UNDEFINED AS IDFITIN DOESN'T GIVE IT A VALUE

Read more…
eikonalgeometrySubroutine

FIXME : Add documentation

eint_errorle_gridsSubroutine

FIXME : Add documentation

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 gnew(-ntgrid,ikx_link,iky) as these correspond to the same location).

ensure_single_val_fields_pass_rdist_fnSubroutine

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

eqdbishgeqSubroutine

FIXME : Add documentation

eqdbishideqSubroutine

FIXME : Add documentation

eqdbishpeqSubroutine

FIXME : Add documentation

eqdbishceqSubroutine

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

eqdbishleqSubroutine

Convert dcart from cylindrical coordinates derivative to derivative on Bishop coordinates

Read more…
eqdcartgeqSubroutine

FIXME : Add documentation

eqdcartideqSubroutine

FIXME : Add documentation

eqdcartpeqSubroutine

FIXME : Add documentation

eqdcartceqSubroutine

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

eqdcartleqSubroutine

Convert dfm from index-space derivative to derivative on cylindrical coordinates

Read more…
eqingeqSubroutine

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

eqinpeqSubroutine

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

eqitemdeqSubroutine

FIXME : Add documentation

eqitemgeqSubroutine

FIXME : Add documentation

eqitemideqSubroutine

FIXME : Add documentation

eqitempeqSubroutine

FIXME : Add documentation

eqitemceqSubroutine

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

eqitemleqSubroutine

Calculates fstar which is f interpolated at the location theta_in

eqitemeeqSubroutine

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

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

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…
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

field_k_localfields_parallelizationFunction

FIXME : Add documentation

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…
fieldlineavgphifieldsInterface

FIXME : Add documentation

fieldlineavgphi_locfieldsSubroutine

FIXME : Add documentation

Read more…
fieldlineavgphi_totfieldsSubroutine

FIXME : Add documentation

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_get_gridstheta_grid_fileSubroutine

FIXME : Add documentation

file_get_sizestheta_grid_fileSubroutine

FIXME : Add documentation

fillredistributeInterface
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_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

FIXME : Add documentation

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

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

Read more…
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_geometrygeometrySubroutine

FIXME : Add documentation

finish_gs2gs2_mainSubroutine

FIXME : Add documentation

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_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_speciesspeciesSubroutine

FIXME : Add documentation

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_curvppsplinesSubroutine

FIXME : Add documentation

fitp_curvpssplinesSubroutine

FIXME : Add documentation

fitp_curvssplinesSubroutine

FIXME : Add documentation

fitp_curvsssplinesSubroutine

FIXME : Add documentation

fitp_intrvlsplinesFunction

FIXME : Add documentation

fitp_intrvpsplinesFunction

FIXME : Add documentation

fitp_kurv1splinesSubroutine

FIXME : Add documentation

fitp_kurv2splinesSubroutine

FIXME : Add documentation

fitp_kurvdsplinesSubroutine

FIXME : Add documentation

fitp_kurvp1splinesSubroutine

FIXME : Add documentation

fitp_kurvp2splinesSubroutine

FIXME : Add documentation

fitp_kurvpdsplinesSubroutine

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_filefile_utilsSubroutine

Flush file associated with unit: immediately write any buffered output

Read more…
flush_output_filesdiagnostics_asciiSubroutine

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

fluxdist_fnSubroutine

Calculate various fluxes

Read more…
flux_distdist_fnSubroutine

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

Read more…
flux_vs_edist_fnSubroutine

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_arraysSubroutine

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…
gatherredistributeInterface
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_generalizedEllipticityleqSubroutine

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…
geofaxgeometrySubroutine

FIXME : Add documentation

Read more…
geometry_calculate_coefficientsgeometry_for_c.f90Subroutine

FIXME : Add documentation

geometry_get_advanced_parametersgeometry_for_c.f90Subroutine

Returns a derived type containing values of the advanced geometry parameters.

geometry_get_coefficientsgeometry_for_c.f90Subroutine

Get the geometric coefficients calculated by the geometry module.

geometry_get_constant_coefficientsgeometry_for_c.f90Subroutine

FIXME : Add documentation

geometry_get_default_advanced_parametersgeometry_for_c.f90Subroutine

This subroutine gets default values for the advanced switches, returning a derived type (advanced_parameters_type) containing all the parameters. It does not modify the geometry variables.

geometry_get_miller_parametersgeometry_for_c.f90Subroutine

FIXME : Add documentation

geometry_set_advanced_parametersgeometry_for_c.f90Subroutine

Accepts a derived type containing values of the advanced geometry parameters and sets the variables in the geometry module accordingly.

geometry_set_inputsgeometry_for_c.f90Subroutine

THE FOLLOWING FREE ROUTINES SHOULD BE PLACED IN A MODULE IF POSSIBLE This subroutine implements a general interface to geometry which can be used outside GS2; in particular, it can be called from C/C++ programs.

Read more…
geometry_set_miller_parametersgeometry_for_c.f90Subroutine

FIXME : Add documentation

geometry_vary_s_alphageometry_for_c.f90Subroutine

Vary the magnetic shear and pressure gradient while maintaing a solution to the Grad-Shrafranov eqn, as described variously by Greene & Chance, Bishop and Miller.

geq_finishgeqSubroutine

FIXME : Add documentation

geq_initgeqSubroutine

FIXME : Add documentation

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_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_bish_arraysceqSubroutine

Get module-level dpbish, dbtbish and dtbish PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

get_cart_arraysceqSubroutine

Get module-level dpcart, dbtcart and dtcart PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

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. ! call get_vol_average (ntot(0,:,:,is), ntot(0,:,:,is), n2, n2_by_mode) call get_vol_average (tperp(0,:,:,is), tperp(0,:,:,is), T2, T2_by_mode)

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_configgs2_initFunction

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_parameters_configrun_parametersFunction

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_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_configgs2_initFunction

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_parameters_configrun_parametersFunction

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_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_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_epardist_fnSubroutine

Calculate

Read more…
get_field_solutionfields_implicitSubroutine

FIXME : Add documentation

get_field_vectorfields_implicitSubroutine

FIXME : Add documentation

get_fields_configfieldsFunction

Get the module level config instance

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_fluxdist_fnSubroutine

Calculate the flux of a field

get_flux_distdist_fnSubroutine

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

get_flux_tormomdist_fnSubroutine

Calculate toroidal angular momentum flux due to field

Read more…
get_flux_vs_edist_fnSubroutine

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

Read more…
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

Read more…
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_init_configgs2_initFunction

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

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_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_jextdist_fnSubroutine

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_lffluxdist_fnSubroutine

FIXME : Add documentation

Read more…
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_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_parameter_scan_configparameter_scanFunction

Get the module level config instance

get_parameters_configrun_parametersFunction

Get the module level config instance

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_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_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_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_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

Read more…
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

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. gnew is used instead and this is in g_lo data distribution.

Read more…
getemomsdist_fnSubroutine

FIXME : Add documentation

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

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 g0= 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

Read more…
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 stop 'Aborting...' end if kpar_init = ikpar_init end if 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_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

gradgeometrySubroutine

Calculate the derivative of rp w.r.t. R and Z. Parameters are: - rgrid: Submodule radial grid (r_circ for EFIT, rp otherwise) - theta: grid of theta - gradf(:,1): deriv w.r.t. R as fn of theta - gradf(:,2): deriv w.r.t Z as fn of theta - char: if char = 'R', return the gradient of pressure instead - rp: value of rp on the flux surface where we want the grad - nth: number of theta points - ntgrid: lower index of theta array is -ntgrid

gradientdeqSubroutine

FIXME : Add documentation

gradientgeqSubroutine

FIXME : Add documentation

gradientideqSubroutine

FIXME : Add documentation

gradientpeqSubroutine

FIXME : Add documentation

gradientceqSubroutine

Calculate the derivative of a selected field w.r.t. R and Z

gradientleqSubroutine

Calculate the derivative of w.r.t. R and Z

Read more…
gradienteeqSubroutine

Calculate the derivative of psi/(a^2 B_a) w.r.t. R and Z. Parameters are: - rgrid: distance to mag axis as a fn of theta - theta: grid of theta - grad(:,1): deriv w.r.t. R as fn of theta - grad(:,2): deriv w.r.t Z as fn of theta - char: if char = 'R', return the gradient of pressure instead - rp: value of psi/(a^2 B_a) on the flux surface where we want the grad - nth: number of theta points - ntm: lower index of theta array is -ntm

gradlgeometrySubroutine

FIXME : Add documentation

gradstottgridgeometrySubroutine

FIXME : Add documentation

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_reinit_unit_test_set_in_memorygs2_reinitSubroutine

FIXME : Add documentation

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_trin_initgs2_mainSubroutine

FIXME : Add documentation

gs2dineeqSubroutine

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

Read more…
Hahm_BurrellgeqSubroutine

FIXME : Add documentation

Hahm_BurrellpeqSubroutine

FIXME : Add documentation

Hahm_BurrellceqSubroutine

FIXME : Add documentation

Hahm_BurrellgeometrySubroutine

FIXME : Add documentation

Read more…
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.

idfitinideqSubroutine

FIXME : Add documentation
! need to define our theta grid. still not right

Read more…
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

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

increment_startsimpledataioSubroutine
initgs2_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_3dgs2_transformsSubroutine

FIXME : Add documentation

init_accel_transform_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Accelerated FFTW3 layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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 DD>Should probably put this first

init_ballstabballstabSubroutine

Initialise grids, other modules etc.

init_bcdist_fnSubroutine

FIXME : Add documentation

init_besseldist_fnSubroutine

FIXME : Add documentation

init_ccfftwfft_workSubroutine

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

Read more…
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_connected_bcdist_fnSubroutine

FIXME : Add documentation

Read more…
init_constant_randomconstant_randomSubroutine
init_crfftwfft_workInterface
init_crfftw_1dfft_workSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! because of the interface we need different routines for FFTW2 and FFTW3 FIXME : Add documentation

Read more…
init_crfftw_2dfft_workSubroutine

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

Read more…
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

FIXME : Add documentation

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

Read more…
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) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0z0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine z0 = z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! redefine dq = du (for momentum-conserving terms) du == int (E nu_s f_0); du = du(z, kx, ky, s) duinv = 1/du if (conservative) then !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get s0 (first form) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0s0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 - v0s0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1s0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 / (1 + v0s0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get w0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0w0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w0 - v0w0 * z0 / (1 + v0z0) (this is w1 from MAB notes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v1w1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w1 - v1w1 * s1 / (1 + v1s1) (this is w2 from MAB notes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v2w2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w2 / (1 + v2w2)

init_dist_fndist_fnSubroutine

FIXME : Add documentation

init_dist_fn_arraysdist_fnSubroutine

FIXME : Add documentation

init_dist_fn_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Distribution function layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Energy layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
init_energy_redistribute_localle_gridsSubroutine

Constructs the redistribute mapping from the g_lo data decomposition to the 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_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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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.
FIXME : Add documentation

Read more…
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

FIXME : Add documentation

init_g2le_redistribute_localle_gridsSubroutine

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

init_genericabstract_configSubroutine

Fully initialise the config object

init_gf_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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

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_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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Fast field layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Lambda layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
init_lambda_redistribute_localle_gridsSubroutine

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

init_le_gridsle_gridsSubroutine

FIXME : Add documentation

init_le_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Lambda-Energy layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0z0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine z0 = z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! du == int (E nu_s f_0); du = du(z, kx, ky, s) duinv = 1/du !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get s0 (first form) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0s0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 - v0s0 * z0 / (1 + v0z0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v1s0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine s0 = s0 / (1 + v0s0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get w0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Now get v0w0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w0 - v0w0 * z0 / (1 + v0z0) (this is w1 from MAB notes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v1w1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w1 - v1w1 * s1 / (1 + v1s1) (this is w2 from MAB notes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get v2w2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Redefine w0 = w2 / (1 + v2w2)

init_lorentz_errorcollisionsSubroutine

FIXME : Add documentation

init_maple_gridsSubroutine

FIXME : Add documentation

init_miller_geometry_overridesoverridesSubroutine
init_mom_coeffdist_fnSubroutine

FIXME : Add documentation
DD>Currently below could include divide by zero if analytical=.true.

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_filtergs2_diagnosticsSubroutine

Setup the FFTs for calculating the parallel spectrum

init_par_filterdiagnostics_final_routinesSubroutine

FIXME : Add documentation

init_parameter_scanparameter_scanSubroutine

FIXME : Add documentation

init_parity_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! layouts for parity diagnostic !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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_leftdist_fnSubroutine

Create a pass_left object to pass boundary values to the left connection for sigma=2 (i.e. leftwards moving particles).

init_pass_rightdist_fnSubroutine

Create a pass_right object to pass boundary values to the left connection for sigma=1 (i.e. rightwards moving particles).

init_pass_wfbdist_fnSubroutine

FIXME : Add documentation

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

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

Read more…
init_rcfftw_2dfft_workSubroutine

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

Read more…
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_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 theta to a uniform grid with 2*((2*nperiod - 1)*(nt/2)) + 1 points. Also set nth, ntheta and [[geometry::ntgrid]] consistently; importantly nth is forced to be even. If nt is odd, then nth == nt - 1.

Read more…
init_vnewcollisionsSubroutine

FIXME : Add documentation MAB MAB MAB MAB

init_vnmgs2_saveSubroutine

FIXME : Add documentation

init_vnmultinit_gSubroutine

FIXME : Add documentation

init_volume_averagesvolume_averagesSubroutine

FIXME : Add documentation

init_vpardist_fnSubroutine

FIXME : Add documentation

init_vpdiffcollisionsSubroutine

FIXME : Add documentation

init_vperp2dist_fnSubroutine

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

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

init_x_transformgs2_transformsSubroutine

FIXME : Add documentation

init_x_transform_layoutsgs2_layoutsSubroutine

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X-space layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
init_y_fftgs2_transformsSubroutine

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

Read more…
init_y_redist_localgs2_transformsSubroutine

Constructs the redistribute mapping from the g_lo data decomposition to the yxf_lo decomposition. 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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Y-space layouts !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
init_zfft_workSubroutine

FIXME : Add documentation

init_zfgs2_transformsSubroutine

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

Read more…
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_betadeqFunction

FIXME : Add documentation

initialize_betageqFunction

FIXME : Add documentation

initialize_betaideqFunction

FIXME : Add documentation

initialize_betapeqFunction

FIXME : Add documentation

initialize_betaceqFunction

If init == 1, set flag to initialize beta spline when betafun is called FIXME: this always returns 1, change to subroutine

initialize_betaeeqFunction

FIXME : Add documentation

initialize_bounddeqFunction

FIXME : Add documentation

initialize_boundeeqFunction

FIXME : Add documentation

initialize_btorideqFunction

FIXME : Add documentation

initialize_btorigeqFunction

FIXME : Add documentation

initialize_btoriideqFunction

FIXME : Add documentation

initialize_btoripeqFunction

FIXME : Add documentation

initialize_btoriceqFunction

If init == 1, set flag to initialize btori spline when btori is called FIXME: this always returns 1, change to subroutine

initialize_btorieeqFunction

FIXME : Add documentation

initialize_dbtorideqFunction

FIXME : Add documentation

initialize_dbtorigeqFunction

FIXME : Add documentation

initialize_dbtoriideqFunction

FIXME : Add documentation

initialize_dbtoripeqFunction

FIXME : Add documentation

initialize_dbtoriceqFunction

If init == 1, set flag to initialize dbtori spline when dbtori is called FIXME: this always returns 1, change to subroutine

initialize_dbtorieeqFunction

FIXME : Add documentation

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_diametergeqFunction

FIXME : Add documentation

initialize_diameterideqFunction

FIXME : Add documentation

initialize_diameterpeqFunction

FIXME : Add documentation

initialize_diameterceqFunction

If init == 1, set flag to initialize diameter spline when diameter is called FIXME: this always returns 1, change to subroutine

initialize_dpressuredeqFunction

FIXME : Add documentation

initialize_dpressuregeqFunction

FIXME : Add documentation

initialize_dpressureideqFunction

FIXME : Add documentation

initialize_dpressurepeqFunction

FIXME : Add documentation

initialize_dpressureceqFunction

If init == 1, set flag to initialize dpressure spline when dpfun is called FIXME: this always returns 1, change to subroutine

initialize_dpressureeeqFunction

FIXME : Add documentation

initialize_equationsgs2_mainSubroutine

Initialize all the modules which are used to evolve the equations. After calling this function, gs2 reaches init\%level = full. If we are doing a replay then we are not evolving the equations so we disable calculating the implicit response matrix

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_invRgeqFunction

FIXME : Add documentation

initialize_invRideqFunction

FIXME : Add documentation

initialize_invRpeqFunction

FIXME : Add documentation

initialize_invRceqFunction

If init == 1, set flag to initialize invR spline when invR is called FIXME: this always returns 1, change to subroutine

initialize_pressuredeqFunction

FIXME : Add documentation

initialize_pressuregeqFunction

FIXME : Add documentation

initialize_pressureideqFunction

FIXME : Add documentation

initialize_pressurepeqFunction

FIXME : Add documentation

initialize_pressureceqFunction

If init == 1, set flag to initialize pressure spline when pfun is called FIXME: this always returns 1, change to subroutine

initialize_pressureeeqFunction

FIXME : Add documentation

initialize_psideqFunction

FIXME : Add documentation

initialize_psigeqFunction

FIXME : Add documentation

initialize_psiideqFunction

FIXME : Add documentation

initialize_psipeqFunction

FIXME : Add documentation

initialize_psiceqFunction

If init == 1, set flag to initialize psi spline when psi is called FIXME: this always returns 1, change to subroutine

initialize_psieeqFunction

FIXME : Add documentation

initialize_qdeqFunction

FIXME : Add documentation

initialize_qgeqFunction

FIXME : Add documentation

initialize_qideqFunction

FIXME : Add documentation

initialize_qpeqFunction

FIXME : Add documentation

initialize_qceqFunction

If init == 1, set flag to initialize q spline when qfun is called FIXME: this always returns 1, change to subroutine

initialize_qeeqFunction

FIXME : Add documentation

initialize_rcentergeqFunction

FIXME : Add documentation

initialize_rcenterideqFunction

FIXME : Add documentation

initialize_rcenterpeqFunction

FIXME : Add documentation

initialize_rcenterceqFunction

If init == 1, set flag to initialize rcenter spline when rcenter is called FIXME: this always returns 1, change to subroutine

initialize_rhodeqFunction

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
integrate_kysumle_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_momentle_gridsInterface
integrate_moment_c34le_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_moment_ele_gridsSubroutine

Integrate over velocity space whilst in e_lo_LAYOUT.

integrate_moment_lele_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_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_lzle_gridsSubroutine

Integrate over velocity space whilst in lz_lo_LAYOUT.

integrate_moment_r33le_gridsSubroutine

FIXME : Add documentation

Read more…
integrate_speciesle_gridsInterface
integrate_species_ele_gridsSubroutine

Integrate over velocity space whilst in e_lo_LAYOUT.

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_lele_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_species_lzle_gridsSubroutine

Integrate over velocity space whilst in lz_lo_LAYOUT.

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_d2splintsplinesFunction

FIXME : Add documentation

inter_d_csplsplinesSubroutine

FIXME : Add documentation

inter_dsplintsplinesFunction

FIXME : Add documentation

inter_getpsplsplinesSubroutine

FIXME : Add documentation

inter_getsplsplinesSubroutine

FIXME : Add documentation

inter_pdsplintsplinesFunction

FIXME : Add documentation

inter_psplintsplinesFunction

FIXME : Add documentation

inter_splintsplinesFunction

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

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

Read more…
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_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 current source calculated using the passed fields and current distribution in g.

Read more…
invert_rhs_linkeddist_fnSubroutine

FIXME : Add documentation
DD>Note these fill routines are often equivalent to an all-to-all type

invert_serialmat_invSubroutine

Serial Provides a wrapper around the various serial inversion routines.

invRdeqFunction

FIXME : Add documentation

invRgeqFunction

FIXME : Add documentation

invRideqFunction

FIXME : Add documentation

invRpeqFunction

FIXME : Add documentation

invRceqFunction

Return the inverse of the major radius at

invRleqFunction

Return the inverse of the major radius at

invReeqFunction

FIXME : Add documentation

invRfungeometryFunction

FIXME : Add documentation

iofrhogeometryFunction

FIXME : Add documentation

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_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 -- return integer

Read more…
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
jlinediagnostics_metadataFunction

FIXME : Add documentation

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

kperpfieldsSubroutine

FIXME : Add documentation

Read more…
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_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

Read more…
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

lagrange_coefsle_gridsSubroutine

FIXME : Add documentation

lagrange_interple_gridsSubroutine

FIXME : Add documentation DD>WARNING: THIS ROUTINE DOESN'T USE g0 FOR ANYTHING IS THIS CORRECT?

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…
leq_finishleqSubroutine

Finalise leq module

leq_initleqSubroutine

Initialise leq module

leqinleqSubroutine

Set module-level parameters and initialise the leq module

Read more…
lf_fluxdist_fnSubroutine

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

FIXME : Add documentation

local_sumintegrationInterface
lofthetageometrySubroutine

FIXME : Add documentation

loop_diagnosticsgs2_diagnosticsSubroutine

Calculate and write the various diagnostic quantities.

Read more…
make_dim_stringdiagnostics_dimensionsFunction

Returns a string representing the dimension, to pass to the file/io routines when creating variables etc.

make_dim_string_arrdiagnostics_dimensionsFunction

Returns a string representing the dimensions, to pass to the file/io routines when creating variables etc. DD>Can't do following with older compilers

Read more…
make_standard_headerstandard_headerFunction

Constructor for standard_header_type.

Read more…
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.

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
mdsclosemdslibSubroutine

FIXME : Add documentation

mdsconnectmdslibFunction

FIXME : Add documentation

mdsopenmdslibFunction

FIXME : Add documentation

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

mhdballnball.f90Subroutine
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_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

mod2pigeqFunction

FIXME : Add documentation

mod2piideqFunction

FIXME : Add documentation

mod2pipeqFunction

FIXME : Add documentation

mod2piceqFunction

Put theta into the range

mod2pileqFunction

Put theta into the range [-pi, pi]

Read more…
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_gridsgs2_ioSubroutine

Write grid dimensions to the output netCDF file

Read more…
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 averaged (volume/field line) moments.

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

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_momentsgs2_ioSubroutine

Write various moments to netcdf

netcdf_errornetcdf_utilsSubroutine

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

Read more…
netcdf_inputssimpledataioSubroutine
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

non_linear_termdiagnostics_zonal_transferSubroutine

calculate nonlinear term appearing in GKE for now assume electrostatic Form g1=ikxphi

Read more…
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.

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

nth_getgeometryFunction

FIXME : Add documentation

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.

number_of_dimensionssimpledataioFunction
number_of_unlimited_dimensionssimpledataioSubroutine
old_interface_set_overridesgs2_mainSubroutine

FIXME : Add documentation

open_filesimpledataioSubroutine
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

FIXME : Add documentation
ifdef LOWFLOW write (unit=outunit, fmt="('t= ',e17.10,' = ',e11.4, & & ' lfmom fluxes: ', 5(1x,e11.4),' lfvflx1: ', 5(1x,e11.4))") & t, phi2, lfmom_fluxes(1:min(nspec,5)), vflux1_avg(1:min(nspec,5)) endif

output_linediagnostics_printoutSubroutine

FIXME : Add documentation

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_spectrumgs2_diagnosticsSubroutine

Calculate the parallel spectrum

par_spectrumdiagnostics_final_routinesSubroutine

FIXME : Add documentation

parse_command_linegs2_mainSubroutine

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

Read more…
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.

peq_finishpeqSubroutine

FIXME : Add documentation

peq_initpeqSubroutine

FIXME : Add documentation

periodic_copygeometrySubroutine

FIXME : Add documentation

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.

pfundeqFunction

FIXME : Add documentation

pfungeqFunction

FIXME : Add documentation

pfunideqFunction

FIXME : Add documentation

pfunpeqFunction

FIXME : Add documentation

pfunceqFunction

FIXME : Add documentation

pfungeometryFunction

FIXME : Add documentation

pfunleqFunction

FIXME : Add documentation

pfuneeqFunction

FIXME : Add documentation

pglinebpgplot_utilsSubroutine

FIXME : Add documentation

phigeometryFunction

FIXME : Add documentation

phinormgs2_diagnosticsSubroutine

Summed magnitude of all the fields

plotdatageometrySubroutine

FIXME : Add documentation

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_dimensionssimpledataioSubroutine
print_flux_linediagnostics_printoutSubroutine

Print instaneous 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_variablessimpledataioSubroutine
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

psideqFunction

FIXME : Add documentation

psigeqFunction

FIXME : Add documentation

psiideqFunction

FIXME : Add documentation

psipeqFunction

FIXME : Add documentation

psiceqFunction

Return the flux surface label psi

psigeometryFunction

FIXME : Add documentation

psileqFunction

FIXME : Add documentation

psieeqFunction

FIXME : Add documentation

psifungeometryFunction

FIXME : Add documentation

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…
qfundeqFunction

FIXME : Add documentation

qfungeqFunction

FIXME : Add documentation

qfunideqFunction

FIXME : Add documentation

qfunpeqFunction

FIXME : Add documentation

qfunceqFunction

FIXME : Add documentation

qfungeometryFunction

FIXME : Add documentation

qfunleqFunction

FIXME : Add documentation

qfuneeqFunction

FIXME : Add documentation

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_polgeometrySubroutine

FIXME : Add documentation

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_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_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

rcentergeqFunction

FIXME : Add documentation

rcenterideqFunction

FIXME : Add documentation

rcenterpeqFunction

FIXME : Add documentation

rcenterceqFunction

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

rcentergeometryFunction

FIXME : Add documentation

rcenterleqFunction

Return the major radius of the centre of the flux surface

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 !!!!!!!!!!!!!!!!!! Non-generated code write_heating is now correct synonym for write_hrate

Read more…
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_configgs2_initSubroutine

Reads in the init_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_input_file_and_get_sizediagnostics_metadataSubroutine

FIXME : Add documentation

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_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
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 more…
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_configrun_parametersSubroutine

Reads in the parameters namelist and populates the member variables

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_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

read_variablesimpledataio_readInterface
read_variable_character_0simpledataio_readSubroutine
read_variable_character_1simpledataio_readSubroutine
read_variable_character_2simpledataio_readSubroutine
read_variable_character_3simpledataio_readSubroutine
read_variable_character_4simpledataio_readSubroutine
read_variable_character_5simpledataio_readSubroutine
read_variable_character_6simpledataio_readSubroutine
read_variable_complex_real32_0simpledataio_readSubroutine
read_variable_complex_real32_1simpledataio_readSubroutine
read_variable_complex_real32_2simpledataio_readSubroutine
read_variable_complex_real32_3simpledataio_readSubroutine
read_variable_complex_real32_4simpledataio_readSubroutine
read_variable_complex_real32_5simpledataio_readSubroutine
read_variable_complex_real32_6simpledataio_readSubroutine
read_variable_complex_real64_0simpledataio_readSubroutine
read_variable_complex_real64_1simpledataio_readSubroutine
read_variable_complex_real64_2simpledataio_readSubroutine
read_variable_complex_real64_3simpledataio_readSubroutine
read_variable_complex_real64_4simpledataio_readSubroutine
read_variable_complex_real64_5simpledataio_readSubroutine
read_variable_complex_real64_6simpledataio_readSubroutine
read_variable_integer_0simpledataio_readSubroutine
read_variable_integer_1simpledataio_readSubroutine
read_variable_integer_2simpledataio_readSubroutine
read_variable_integer_3simpledataio_readSubroutine
read_variable_integer_4simpledataio_readSubroutine
read_variable_integer_5simpledataio_readSubroutine
read_variable_integer_6simpledataio_readSubroutine
read_variable_real_real32_0simpledataio_readSubroutine
read_variable_real_real32_1simpledataio_readSubroutine
read_variable_real_real32_2simpledataio_readSubroutine
read_variable_real_real32_3simpledataio_readSubroutine
read_variable_real_real32_4simpledataio_readSubroutine
read_variable_real_real32_5simpledataio_readSubroutine
read_variable_real_real32_6simpledataio_readSubroutine
read_variable_real_real64_0simpledataio_readSubroutine
read_variable_real_real64_1simpledataio_readSubroutine
read_variable_real_real64_2simpledataio_readSubroutine
read_variable_real_real64_3simpledataio_readSubroutine
read_variable_real_real64_4simpledataio_readSubroutine
read_variable_real_real64_5simpledataio_readSubroutine
read_variable_real_real64_6simpledataio_readSubroutine
read_variable_with_offsetsimpledataio_readInterface
read_variable_with_offset_character_0simpledataio_readSubroutine
read_variable_with_offset_character_1simpledataio_readSubroutine
read_variable_with_offset_character_2simpledataio_readSubroutine
read_variable_with_offset_character_3simpledataio_readSubroutine
read_variable_with_offset_character_4simpledataio_readSubroutine
read_variable_with_offset_character_5simpledataio_readSubroutine
read_variable_with_offset_character_6simpledataio_readSubroutine
read_variable_with_offset_complex_real32_0simpledataio_readSubroutine
read_variable_with_offset_complex_real32_1simpledataio_readSubroutine
read_variable_with_offset_complex_real32_2simpledataio_readSubroutine
read_variable_with_offset_complex_real32_3simpledataio_readSubroutine
read_variable_with_offset_complex_real32_4simpledataio_readSubroutine
read_variable_with_offset_complex_real32_5simpledataio_readSubroutine
read_variable_with_offset_complex_real32_6simpledataio_readSubroutine
read_variable_with_offset_complex_real64_0simpledataio_readSubroutine
read_variable_with_offset_complex_real64_1simpledataio_readSubroutine
read_variable_with_offset_complex_real64_2simpledataio_readSubroutine
read_variable_with_offset_complex_real64_3simpledataio_readSubroutine
read_variable_with_offset_complex_real64_4simpledataio_readSubroutine
read_variable_with_offset_complex_real64_5simpledataio_readSubroutine
read_variable_with_offset_complex_real64_6simpledataio_readSubroutine
read_variable_with_offset_integer_0simpledataio_readSubroutine
read_variable_with_offset_integer_1simpledataio_readSubroutine
read_variable_with_offset_integer_2simpledataio_readSubroutine
read_variable_with_offset_integer_3simpledataio_readSubroutine
read_variable_with_offset_integer_4simpledataio_readSubroutine
read_variable_with_offset_integer_5simpledataio_readSubroutine
read_variable_with_offset_integer_6simpledataio_readSubroutine
read_variable_with_offset_real_real32_0simpledataio_readSubroutine
read_variable_with_offset_real_real32_1simpledataio_readSubroutine
read_variable_with_offset_real_real32_2simpledataio_readSubroutine
read_variable_with_offset_real_real32_3simpledataio_readSubroutine
read_variable_with_offset_real_real32_4simpledataio_readSubroutine
read_variable_with_offset_real_real32_5simpledataio_readSubroutine
read_variable_with_offset_real_real32_6simpledataio_readSubroutine
read_variable_with_offset_real_real64_0simpledataio_readSubroutine
read_variable_with_offset_real_real64_1simpledataio_readSubroutine
read_variable_with_offset_real_real64_2simpledataio_readSubroutine
read_variable_with_offset_real_real64_3simpledataio_readSubroutine
read_variable_with_offset_real_real64_4simpledataio_readSubroutine
read_variable_with_offset_real_real64_5simpledataio_readSubroutine
read_variable_with_offset_real_real64_6simpledataio_readSubroutine
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 Allocate arrays for storing the various fluxes which the diagnostics will output

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.

rectangular_integrationintegrationInterface
recv_initmpInterface
recv_init_complex_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

reorder_kxdiagnostics_turbulenceSubroutine

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_map_propertyredistributeSubroutine

FIXME : Add documentation

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
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

FIXME : Add documentation

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_gs2gs2_mainSubroutine

FIXME : Add documentation
Temp is always normalised to the main ions call override(old_iface_state, otemp, gs2spec_from_trin(is), temp(is)/temp(1)) call override(old_iface_state, ofprim, gs2spec_from_trin(is), fprim(is)) call override(old_iface_state, otprim, gs2spec_from_trin(is), tprim(is)) call override(old_iface_state, ovnewk, gs2spec_from_trin(is), nu(is))

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

This generates a flux surface average of phi. subroutine flux_surface_average_phi (phi_in, phi_average) use theta_grid, only: ntgrid, drhodpsi, gradpar, bmag, delthet use kt_grids, only: ntheta0, naky implicit none complex, intent (in) :: phi_in complex, intent (out) :: phi_average complex, dimension(-ntgrid:ntgrid,1:ntheta0,1:naky) :: phi_fieldline_avg integer it, ig call fieldline_average_phi(phi_in, phi_fieldline_avg) do it = 1,ntheta0 do ig = -ntgrid,ntgrid phi_average(ig, it, :) = sum(phi_fieldline_avg(ig, it, :))/real(naky) end do end do end subroutine fieldline_average_phi FIXME : Add documentation
FIXME : Add documentation

Read more…
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_initdist_fnSubroutine

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_configgs2_initSubroutine

Resets the config object to the initial empty state

reset_init_g_configinit_gSubroutine

Resets the config object to the initial empty state

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_normalisationsnormalisationsSubroutine

Reset normalisations object

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_parameters_configrun_parametersSubroutine

Resets the config object to the initial empty state

reset_physicsdist_fnSubroutine

FIXME : Add documentation

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_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 !!!!!!!!!!!!!!!!!!!!!!!!!!! FIXME : Add documentation

Read more…
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

rfungeometryFunction

Returns the distance to the magnetic axis as a function of rp (the normalised poloidal flux variable) and theta. If broot is set > 0, assumes distance is less than or equal to broot: i.e. specifies the outer limit of the root finding. Only for eeq and deq

rhofundeqFunction

FIXME : Add documentation

rhofungeometryFunction

FIXME : Add documentation

rmagaxisgeometryFunction

FIXME : Add documentation

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

FIXME : Add documentation

rpfungeometryFunction

FIXME : Add documentation

rpofrhogeometryFunction

FIXME : Add documentation

RposdeqFunction

FIXME : Add documentation

RposgeqFunction

FIXME : Add documentation

RposideqFunction

FIXME : Add documentation

RpospeqFunction

FIXME : Add documentation

RposceqFunction

Return the major radius at

RposgeometryFunction

FIXME : Add documentation

RposleqFunction

Return the major radius at

RposeeqFunction

FIXME : Add documentation

rtggeometrySubroutine

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.

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

FIXME : Add documentation

run_eikcoefs_and_resamplegeometrySubroutine

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

run_gs2gs2_mainSubroutine

This is the main subroutine in which gs2 is initialized, equations are advanced, and the program is finalized. \section Basic Structure This subroutine broadly falls into 3 sections: -# Initialisation - allocate arrays, calculate the response matrix etc. -# Running - a loop which runs for run_parameters::nstep time steps, unless the code is prematurely halted either through an error, reaching the available time limit or manually (by using the command $ touch run_name.stop). -# Finishing up: writing out results, deallocating arrays. \section Details -# Initialisation - Initialize message passing - Initialize timer - Report numer of processors being used - If it is a Trinity run then filename (the name of the input file) is passed to init_file_utils - Otherwise, figure out run name or get list of jobs - If given a list of jobs, fork
\section arguments Arguments All arguments are optional and are not used for gs2. (EGH - used for Trinity?)

run_ingeningen_modSubroutine

FIXME : Add documentation
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!! Main code starts here !!!!!!!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

run_numberingen_modSubroutine

FIXME : Add documentation

run_old_final_routinesgs2_diagnostics_newSubroutine

FIXME : Add documentation

run_stability_checkballstabSubroutine

Runs the stability check scan

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

FIXME : Add documentation

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_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

scatterredistributeInterface
scopempSubroutine

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

sdatio_freesimpledataioSubroutine
sdatio_initsimpledataioSubroutine
seikongeometrySubroutine
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_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_bish_arraysceqSubroutine

Set module-level dpbish, dbtbish and dtbish PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_bish_arraysleqSubroutine

Set module-level dpbish, dbtbish and dtbish PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_cart_arraysceqSubroutine

Set module-level dpcart, dbtcart and dtcart PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_cart_arraysleqSubroutine

Set module-level dpcart, dbtcart and dtcart PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

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_collectivesimpledataioSubroutine
set_collisions_configcollisionsSubroutine

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

set_countsimpledataioSubroutine
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_dimension_startsimpledataioSubroutine
set_dist_fn_configdist_fnSubroutine

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

set_dpcartceqSubroutine

Set module-level dpcart PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_dpcartleqSubroutine

Set module-level dpcart PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_drmceqSubroutine

Set module-level drm PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_drmleqSubroutine

Set module-level drm PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_dump_and_read_responsefieldsSubroutine

FIXME : Add documentation

set_dzmceqSubroutine

Set module-level dzm PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_dzmleqSubroutine

Set module-level dzm PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_eikcoefs_outputgeometrySubroutine

Set the module level outputs from eikcoefs based on what is in the passed output type. Ideally we wouldn't do this.

set_eqpsiceqSubroutine

Set module-level eqpsi PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

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_init_configgs2_initSubroutine

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, -fphi, -fbpar, 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_independentsimpledataioSubroutine
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_nrntceqSubroutine

Set module-level nt, nr PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_ntnrleqSubroutine

Set module-level nt, nr PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

set_offsetsimpledataioSubroutine
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_parallelsimpledataioSubroutine
set_parameter_scan_configparameter_scanSubroutine

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

set_profiles_overridesdist_fnSubroutine

FIXME : Add documentation

set_R_psiceqSubroutine

Set module-level R_psi PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

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_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_startsimpledataioSubroutine
set_surfleqSubroutine

Set module-level surf and associated thetaShift and beta_0 PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

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

set_Z_psiceqSubroutine

Set module-level Z_psi PURELY FOR TESTING FIXME: Remove when we have more control over module-level variables for testing

setup_arraysballstabSubroutine

Allocate+populate arrays

setup_genericabstract_configSubroutine

Do some standard setup/checking

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_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…
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

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
simpledataio_functionalsimpledataioFunction

Returns true if simpledataio is functional. simpledataio is designed to present a uniform interface on any system. If it cannot be built it presents a non-functioning interface and allows the user to test for this at run time rather then causing the user's code to fail at compile time

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
size_of_cdconstantsFunction

FIXME : Add documentation

size_of_csconstantsFunction

FIXME : Add documentation

size_of_i1constantsFunction

FIXME : Add documentation

size_of_idconstantsFunction

FIXME : Add documentation

size_of_ihconstantsFunction

FIXME : Add documentation

size_of_isconstantsFunction

FIXME : Add documentation

size_of_rdconstantsFunction

FIXME : Add documentation

size_of_rsconstantsFunction

FIXME : Add documentation

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

sortdeqSubroutine

FIXME : Add documentation

Read more…
sortideqSubroutine

FIXME : Add documentation

Read more…
sorteeqSubroutine

FIXME : Add documentation

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

stop_messagele_gridsSubroutine

FIXME : Add documentation
DD>WARNING THIS COULD CAUSE A HANG IF NOT CALLED BY ALL PROCS

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_altmpInterface
sum_reduce_alt_complex_3arraympSubroutine

FIXME : Add documentation

Read more…
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
surfareafungeometryFunction

FIXME : Add documentation

swap_elemsortingInterface
symgeometrySubroutine

FIXME : Add documentation

syncfilesimpledataioSubroutine
tdermdeqSubroutine

FIXME : Add documentation DFIT grid is equally spaced in R, Z -- this routine uses that fact and is therefore not completely general. It is fine for DFIT output.

tdermeeqSubroutine

FIXME : Add documentation

tellingen_modSubroutine

FIXME : Add documentation

teqinpeqSubroutine

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

testmat_inv_benchmarkFunction
test_gs2functional_testsSubroutine

FIXME : Add documentation
ifdef 1 else call finish_gs2_diagnostics_new endif end if call finish_gs2

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

FIXME : Add documentation

theta_grid_gridgen_inittheta_grid_gridgenSubroutine

FIXME : Add documentation

thetagradgeometrySubroutine

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 relervant use statements.

timeadvdist_fnSubroutine

This function calculates the distribution function at the next timestep. It calculates both the inhomogenous part, gnew, due to the sources (principly the drive terms and the nonlinear term) and the homogenous 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 relervant use statements.

timestampquadpackSubroutine

TIMESTAMP prints the current YMDHMS date as a time stamp.

Read more…
total_termdiagnostics_zonal_transferSubroutine

Returns tau, the transfer of free energy as a function of (kx,ky) integrate over velocities can only be called after w and wl are assigned in init_le_grids call integrate(g0,inter_s)

Read more…
transform2gs2_transformsInterface
transform2_2dgs2_transformsSubroutine

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

Read more…
transform2_3dgs2_transformsSubroutine

FIXME : Add documentation

transform2_4dgs2_transformsSubroutine

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

Read more…
transform2_5dgs2_transformsSubroutine

FIXME : Add documentation

transform2_5d_accelgs2_transformsSubroutine

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

Read more…
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
trin_finish_gs2gs2_mainSubroutine

FIXME : Add documentation

tripprod2dtgridgeometrySubroutine

FIXME : Add documentation

try_againingen_modSubroutine

FIXME : Add documentation

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

variable_existssimpledataioFunction
verbosityruntime_testsFunction

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

Read more…
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

wcoriolis_funcdist_fnFunction

FIXME : Add documentation

wdrift_funcdist_fnFunction

FIXME : Add documentation

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 first = .false. cerrinit = .true. end if convert gnew from g to h

write_collisionalcollisional_heatingSubroutine

FIXME : Add documentation

write_collisions_configcollisionsSubroutine

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

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_correlationdiagnostics_turbulenceSubroutine

FIXME : Add documentation

write_correlation_extenddiagnostics_turbulenceSubroutine

FIXME : Add documentation

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_dimensionsgs2_diagnostics_newSubroutine

FIXME : Add documentation

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 instaneous heat fluxes to run_name.new.out

write_full_moments_notgcdiagnostics_momentsSubroutine

FIXME : Add documentation

write_fyxdist_fnSubroutine

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

write_geometrydiagnostics_geometrySubroutine

FIXME : Add documentation

write_grids_to_filedump_gridsSubroutine

FIXME : Add documentation

write_gs2dgs2dSubroutine

FIXME : Add documentation

write_heatingdiagnostics_heatingSubroutine

FIXME : Add documentation
GGH write (unit=heat_unit, fmt="('t= ',e13.6,' energy= ',e13.6)") t, h % energy GGH write (unit=heat_unit, fmt="('t= ',e13.6,' energy_dot= ',e13.6)") t, h % energy_dot GGH write (unit=heat_unit, fmt="('t= ',e13.6,' J_ant.E= ',e13.6)") t, h % antenna GGH write (unit=heat_unit, fmt="('t= ',e13.6,' hyperC= ',12(1x,e13.6))") t, h % hypercoll GGH write (unit=heat_unit, fmt="('t= ',e13.6,' hCh= ',12(1x,e13.6))") t, h % collisions GGH write (unit=heat_unit, fmt="('t= ',e13.6,' hw= ',12(1x,e13.6))") t, h % gradients GGH! write (unit=heat_unit, fmt="('t= ',e13.6,' hwd= ',12(1x,e13.6))") t, h % curvature GGH write (unit=heat_unit, fmt="('t= ',e13.6,' heating= ',12(1x,e13.6))") t, h % heating GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_hvisc= ',e13.6)") t, sum(h % hypervisc) GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_hyperC= ',e13.6)") t, sum(h % hypercoll) GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_hCh= ',e13.6)") t, sum(h % collisions) GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_hw= ',e13.6)") t, sum(h % gradients) GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_heating= ',e13.6)") t, sum(h % heating) GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_power= ',e13.6)") t, & GGH sum(h%heating)+h%antenna+sum(h%gradients)+h%energy_dot GGH TEST try adding sqrt(2.) to the edot GGH write (unit=heat_unit, fmt="('t= ',e13.6,' total_power= ',e13.6)") t, & GGH sum(h%heating)+h%antenna+sum(h%gradients)+h%energy_dot*sqrt(2.) GGH write (unit=heat_unit, fmt='(a)') '' end if

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_configgs2_initSubroutine

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_input_filediagnostics_metadataSubroutine

Write the input file.

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_metadatadiagnostics_metadataSubroutine

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_nl_flux_distdiagnostics_fluxesSubroutine

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") ! JRB

write_nonlinear_terms_confignonlinear_termsSubroutine

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

write_normalisationsdiagnostics_normalisationsSubroutine

FIXME : Add documentation

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_parameters_configrun_parametersSubroutine

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

write_paritydiagnostics_fluxesSubroutine

FIXME : Add documentation
DD>Do all processors need to know the full result here? Only proc0 seems to do any writing.

write_polydist_fnSubroutine

Write Lagrange interpolating function value at interpolating points specified by xloc to text file with suffix .interp DD>WARNING: THIS ROUTINE DOESN'T USE g_work FOR ANYTHING IS THIS CORRECT?

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_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_field_propertiesdiagnostics_fieldsSubroutine

FIXME : Add documentation

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_symmetrydiagnostics_fluxesSubroutine

FIXME : Add documentation

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_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_variablesimpledataio_writeInterface
write_variable_character_0simpledataio_writeSubroutine
write_variable_character_1simpledataio_writeSubroutine
write_variable_character_2simpledataio_writeSubroutine
write_variable_character_3simpledataio_writeSubroutine
write_variable_character_4simpledataio_writeSubroutine
write_variable_character_5simpledataio_writeSubroutine
write_variable_character_6simpledataio_writeSubroutine
write_variable_complex_real32_0simpledataio_writeSubroutine
write_variable_complex_real32_1simpledataio_writeSubroutine
write_variable_complex_real32_2simpledataio_writeSubroutine
write_variable_complex_real32_3simpledataio_writeSubroutine
write_variable_complex_real32_4simpledataio_writeSubroutine
write_variable_complex_real32_5simpledataio_writeSubroutine
write_variable_complex_real32_6simpledataio_writeSubroutine
write_variable_complex_real64_0simpledataio_writeSubroutine
write_variable_complex_real64_1simpledataio_writeSubroutine
write_variable_complex_real64_2simpledataio_writeSubroutine
write_variable_complex_real64_3simpledataio_writeSubroutine
write_variable_complex_real64_4simpledataio_writeSubroutine
write_variable_complex_real64_5simpledataio_writeSubroutine
write_variable_complex_real64_6simpledataio_writeSubroutine
write_variable_integer_0simpledataio_writeSubroutine
write_variable_integer_1simpledataio_writeSubroutine
write_variable_integer_2simpledataio_writeSubroutine
write_variable_integer_3simpledataio_writeSubroutine
write_variable_integer_4simpledataio_writeSubroutine
write_variable_integer_5simpledataio_writeSubroutine
write_variable_integer_6simpledataio_writeSubroutine
write_variable_real_real32_0simpledataio_writeSubroutine
write_variable_real_real32_1simpledataio_writeSubroutine
write_variable_real_real32_2simpledataio_writeSubroutine
write_variable_real_real32_3simpledataio_writeSubroutine
write_variable_real_real32_4simpledataio_writeSubroutine
write_variable_real_real32_5simpledataio_writeSubroutine
write_variable_real_real32_6simpledataio_writeSubroutine
write_variable_real_real64_0simpledataio_writeSubroutine
write_variable_real_real64_1simpledataio_writeSubroutine
write_variable_real_real64_2simpledataio_writeSubroutine
write_variable_real_real64_3simpledataio_writeSubroutine
write_variable_real_real64_4simpledataio_writeSubroutine
write_variable_real_real64_5simpledataio_writeSubroutine
write_variable_real_real64_6simpledataio_writeSubroutine
write_variable_with_offsetsimpledataio_writeInterface
write_variable_with_offset_character_0simpledataio_writeSubroutine
write_variable_with_offset_character_1simpledataio_writeSubroutine
write_variable_with_offset_character_2simpledataio_writeSubroutine
write_variable_with_offset_character_3simpledataio_writeSubroutine
write_variable_with_offset_character_4simpledataio_writeSubroutine
write_variable_with_offset_character_5simpledataio_writeSubroutine
write_variable_with_offset_character_6simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_0simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_1simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_2simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_3simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_4simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_5simpledataio_writeSubroutine
write_variable_with_offset_complex_real32_6simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_0simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_1simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_2simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_3simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_4simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_5simpledataio_writeSubroutine
write_variable_with_offset_complex_real64_6simpledataio_writeSubroutine
write_variable_with_offset_integer_0simpledataio_writeSubroutine
write_variable_with_offset_integer_1simpledataio_writeSubroutine
write_variable_with_offset_integer_2simpledataio_writeSubroutine
write_variable_with_offset_integer_3simpledataio_writeSubroutine
write_variable_with_offset_integer_4simpledataio_writeSubroutine
write_variable_with_offset_integer_5simpledataio_writeSubroutine
write_variable_with_offset_integer_6simpledataio_writeSubroutine
write_variable_with_offset_real_real32_0simpledataio_writeSubroutine
write_variable_with_offset_real_real32_1simpledataio_writeSubroutine
write_variable_with_offset_real_real32_2simpledataio_writeSubroutine
write_variable_with_offset_real_real32_3simpledataio_writeSubroutine
write_variable_with_offset_real_real32_4simpledataio_writeSubroutine
write_variable_with_offset_real_real32_5simpledataio_writeSubroutine
write_variable_with_offset_real_real32_6simpledataio_writeSubroutine
write_variable_with_offset_real_real64_0simpledataio_writeSubroutine
write_variable_with_offset_real_real64_1simpledataio_writeSubroutine
write_variable_with_offset_real_real64_2simpledataio_writeSubroutine
write_variable_with_offset_real_real64_3simpledataio_writeSubroutine
write_variable_with_offset_real_real64_4simpledataio_writeSubroutine
write_variable_with_offset_real_real64_5simpledataio_writeSubroutine
write_variable_with_offset_real_real64_6simpledataio_writeSubroutine
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

zbrentgeometryFunction

FIXME : Add documentation

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

zgetrflapack_wrapperInterface
zgetrilapack_wrapperInterface
ZposdeqFunction

FIXME : Add documentation

ZposgeqFunction

FIXME : Add documentation

ZposideqFunction

FIXME : Add documentation

ZpospeqFunction

FIXME : Add documentation

ZposceqFunction

Return the vertical coordinate at

ZposgeometryFunction

FIXME : Add documentation

ZposleqFunction

Return the axial coordinate at

ZposeeqFunction

FIXME : Add documentation

ZtgridgeometrySubroutine

FIXME : Add documentation