Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(diagnostics_config_type), | public | :: | diagnostics_config |
Used to represent the input configuration of gs2_diagnostics. This is the version used by the original diagnostics module.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | exist | = | .false. |
Does the related namelist exist in the target input file? |
|
integer, | public | :: | index | = | 0 |
Used to hold the specific index of numbered namelists |
|
logical, | public | :: | skip_read | = | .false. |
Do we want to skip the read step in init? |
|
logical, | public | :: | skip_broadcast | = | .false. |
Do we want to skip the broadcast step in init? |
|
logical, | public | :: | skip_smart_defaults | = | .false. |
Do we want to skip the smaart defaults in init? |
|
logical, | public | :: | append_old | = | .false. |
Append output data to a previous output file |
|
integer, | public | :: | conv_max_step | = | 80000 |
Used for Trinity nonlinear convergence check (use_nonlin_convergence). The maximum number of time steps, after which consider the run converged regardless. |
|
integer, | public | :: | conv_min_step | = | 4000 |
Used for the Trinity nonlinear convergence check (use_nonlin_convergence). The minimum number of time steps before convergence condition can trigger an exit. |
|
integer, | public | :: | conv_nstep_av | = | 4000 |
Used for the Trinity nonlinear convergence check (use_nonlin_convergence). The number of timesteps the convergence condition averages over |
|
integer, | public | :: | conv_nsteps_converged | = | 10000 |
Used for the Trinity nonlinear convergence check (use_nonlin_convergence). The number of steps where convergence is true before convergence is accepted |
|
real, | public | :: | conv_test_multiplier | = | 4e-1 |
Used for the Trinity nonlinear convergence check (use_nonlin_convergence). Multiplier for the cumulative average of the heat flux |
|
logical, | public | :: | dump_check1 | = | .false. |
Write out the field-line average of to |
|
logical, | public | :: | dump_check2 | = | .false. |
Write out at |
|
logical, | public | :: | dump_fields_periodically | = | .false. |
Write out to |
|
logical, | public | :: | enable_parallel | = | .false. |
Enable parallel IO in the .out.nc file. Currently disabled by default and doesn't activate feature when set to true as we hard code that parallel IO isn't supported for the .out.nc file. |
|
logical, | public | :: | exit_when_converged | = | .true. |
Exit when the run has reached convergence |
|
logical, | public | :: | file_safety_check | = | .true. |
Verify that the restart file(s) can be written before starting the run |
|
integer, | public | :: | igomega | = | 0 |
Index in to measure various diagnostics at. By default, this is the outboard midplane , but it may be useful to set this to a non-zero value for tearing parity modes. |
|
logical, | public | :: | make_movie | = | .false. |
Write out in real space over time, suitable for creating animations. Timestep period is controlled with nmovie |
|
integer, | public | :: | navg | = | 10 |
Number of timesteps to average over for time-averaged diagnostics |
|
integer, | public | :: | ncheck | = | 10 |
correction by varying collisionality. But doesn't happen on timesteps when diagnostics are written. |
|
integer, | public | :: | nc_sync_freq | = | 10 |
Sets the number of output steps between syncing the netcdf file. Higher values may reduce disk overheads but increase the risk of data loss on unclean exit. |
|
integer, | public | :: | nmovie | = | -1 |
Timestep period to write real space fields |
|
integer, | public | :: | nsave | = | -1 |
Timestep period for writing restart data if
save_for_restart is |
|
integer, | public | :: | nwrite | = | 10 |
Timestep period for writing outputs |
|
integer, | public | :: | nwrite_mult | = | 10 |
Timestep period multiplier for certain "large" diagnostics, which are
written every |
|
logical, | public | :: | ob_midplane | = | .false. |
If |
|
real, | public | :: | omegatinst | = | 1.0e6 |
Threshold complex frequency () for detecting a numerical
instability. If averaged over
navg timesteps is greater than |
|
real, | public | :: | omegatol | = | 1e-3 |
Frequency () convergence tolerance. Consider the simulation
converged and finish the run if has changed by less than
|
|
logical, | public | :: | print_flux_line | = | .false. |
Print the instantaneous fluxes to screen/stdout every nwrite timesteps |
|
logical, | public | :: | print_line | = | .false. |
Print estimated frequencies and growth rates to screen/stdout every nwrite timesteps |
|
logical, | public | :: | save_distfn | = | .false. |
Write the distribution function to |
|
logical, | public | :: | save_for_restart | = | .false. |
Write restart files at the end of the simulation. If
nsave is positive, then also enable
checkpoints by writing restart files every |
|
logical, | public | :: | save_glo_info_and_grids | = | .false. |
Save some layout and distribution information in restart files |
|
logical, | public | :: | save_many | = | .false. |
If |
|
logical, | public | :: | save_velocities | = | .false. |
Save parallel and perpendicular velocities in final restart and/or distribution function files |
|
logical, | public | :: | serial_netcdf4 | = | .false. |
|
|
logical, | public | :: | use_nonlin_convergence | = | .false. |
For nonlinear runs, stop the run when the averaged differential of the summed averaged heat flux drops below a threshold for a period of time, controlled by conv_test_multiplier, conv_nsteps_converged, gs2_diagnostics_knobs, conv_max_step, and conv_min_step. |
|
logical, | public | :: | write_any | = | .true. |
If |
|
logical, | public | :: | write_apar_over_time | = | .false. |
Write the entire field every nwrite timesteps |
|
logical, | public | :: | write_ascii | = | .true. |
Write diagnostics to text files. Generally this creates a different text file for each diagnostic. Note that this independent of whether or not netCDF files are used. |
|
logical, | public | :: | write_avg_moments | = | .false. |
Write flux surface averaged low-order moments of every nwrite timesteps |
|
logical, | public | :: | write_bpar_over_time | = | .false. |
Write the entire field every nwrite timesteps |
|
logical, | public | :: | write_cerr | = | .false. |
Write the collision error every nwrite
timesteps to text file with suffix |
|
logical, | public | :: | write_collisional | = | .false. |
Write collisional heating (collisional and hyper viscous rate of loss of free energy for each mode) every nwrite timesteps |
|
logical, | public | :: | write_correlation | = | .true. |
Write two point parallel correlation function calculated from the electric potential as a function of and parallel separation every nwrite timesteps |
|
logical, | public | :: | write_correlation_extend | = | .false. |
Write two point parallel correlation function calculated from the electric potential as a function of and parallel separation, time averaged and calculated along the extended domain every nwrite timesteps once istep > nstep/4. |
|
logical, | public | :: | write_cross_phase | = | .false. |
Write the cross phase between electron density and perpendicular electron temperature every nwrite timesteps. Calculated at both the outboard midplane, averaged across and ; and averaged across all space |
|
logical, | public | :: | write_density_over_time | = | .false. |
Write the whole non-adiabatic part of the density moment every nwrite timesteps |
|
logical, | public | :: | write_eigenfunc | = | .false. |
Write normalised to the value of at the outboard midplane every nwrite timesteps. |
|
logical, | public | :: | write_fields | = | .true. |
Enable writing every nwrite timesteps |
|
logical, | public | :: | write_final_antot | = | .false. |
Write the right-hand sides of the field equations at the final
timestep. If write_ascii is enabled, the file
suffix is |
|
logical, | public | :: | write_final_db | = | .false. |
Write at the final timestep. If
write_ascii is enabled, the file suffix is
|
|
logical, | public | :: | write_final_epar | = | .false. |
Write at the final timestep. If
write_ascii is enabled, the file suffix is
|
|
logical, | public | :: | write_final_fields | = | .false. |
Write at the final timestep. If
write_ascii is enabled, the file suffix is
|
|
logical, | public | :: | write_final_moments | = | .false. |
Write various moments (densities, parallel and perpendicular
velocities and temperatures, and heat and momentum fluxes) at
the final timestep. If write_ascii
is enabled, the file suffix is |
|
logical, | public | :: | write_flux_line | = | .false. |
Write instantaneous fluxes to output file every nwrite timesteps |
|
logical, | public | :: | write_fluxes | = | .false. |
Write fluxes (heat, momentum and particle; total and per-species) every nwrite timesteps. |
|
logical, | public | :: | write_fluxes_by_mode | = | .false. |
Write fluxes (heat, momentum and particle; total and per-species) as a function of Fourier mode every nwrite timesteps. |
|
logical, | public | :: | write_full_moments_notgc | = | .false. |
Write moments (density, parallel flow, and parallel and perpendicular temperatures) in non-guiding centre coordinates every nwrite timesteps |
|
logical, | public | :: | write_g | = | .false. |
Write at |
|
logical, | public | :: | write_gs | = | .false. |
|
|
logical, | public | :: | write_gyx | = | .false. |
Write as a function of real space every
nmovie timesteps to text file
" |
|
logical, | public | :: | write_heating | = | .false. |
Write out various heating, free energy and energy injection
diagnostics. Text file extension is |
|
logical, | public | :: | write_jext | = | .false. |
Write time averaged external current in the antenna,
, as a function of
. File suffix is |
|
logical, | public | :: | write_kinetic_energy_transfer | = | .false. |
Calculates and writes the electrostatic drive of zonal flows
every nwrite timesteps. The output
|
|
logical, | public | :: | write_kpar | = | .false. |
Write the parallel spectrum of at final timestep. File suffix is |
|
logical, | public | :: | write_line | = | .true. |
Print estimated frequencies and growth rates to text file every nwrite timesteps |
|
logical, | public | :: | write_lorentzian | = | .false. |
Write |
|
logical, | public | :: | write_max_verr | = | .false. |
Write the estimated maximum error from velocity space integrals for various quantities |
|
logical, | public | :: | write_moments | = | .true. |
Write various moments (total and non-adiabatic part of perturbed species density, perturbed parallel flow, perturbed parallel and perpendicular temperatures, parallel heat flux, particule flux and heat flux) every nwrite timesteps |
|
logical, | public | :: | write_nl_flux_dist | = | .false. |
Write the poloidal distributions of the fluxes of particles, parallel momentum, perpendicular momentum, and energy every nwrite timesteps. |
|
logical, | public | :: | write_ntot_over_time | = | .false. |
Write the whole total density moment every nwrite timesteps |
|
logical, | public | :: | write_omavg | = | .true. |
Write time-averaged growth rate and frequency to the output text file every nwrite timesteps. Time average is rolling window over the previous navg timesteps |
|
logical, | public | :: | write_omega | = | .true. |
Write instantaneous growth rate and frequency every nwrite timesteps |
|
logical, | public | :: | write_parity | = | .false. |
Write parities in distribution and particle fluxes to text file with the
suffix |
|
logical, | public | :: | write_phi_over_time | = | .false. |
Write the entire field every nwrite timesteps |
|
logical, | public | :: | write_ql_metric | = | .true. |
Write a simple quasi-linear metric to netcdf. |
|
logical, | public | :: | write_symmetry | = | .false. |
Write the particle and momentum flux as a function of and velocity space. See gs2_diagnostics_knobs and gs2_diagnostics_knobs |
|
logical, | public | :: | write_tperp_over_time | = | .false. |
Write the whole perturbed perpendicular temperature moment every nwrite timesteps |
|
logical, | public | :: | write_upar_over_time | = | .false. |
Write the whole perturbed parallel velocity moment every nwrite timesteps |
|
logical, | public | :: | write_verr | = | .false. |
Write estimates of error resulting from velocity space integrals in the calculation of various quantities every nwrite timesteps. |
|
logical, | public | :: | write_zonal_transfer | = | .false. |
Write the transfer of free energy, , as a function of , averaged over , every nwrite timesteps |
Gets the default name for this namelist
Gets the default requires index for this namelist
Prints a warning about a non-functional diagnostic
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | diagnostic_switch |
Diagnostic switch |
||
character(len=*), | intent(in) | :: | name |
Name of the switch |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | old_switch |
Deprecated diagnostic switch |
||
character(len=*), | intent(in) | :: | old_name |
Deprecated name of the switch |
||
logical, | intent(inout) | :: | new_switch |
New diagnostic switch |
||
character(len=*), | intent(in) | :: | new_name |
New name of the switch |
Set the smart defaults for the new_gs2_diagnostics_config_type instance
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(diagnostics_config_type), | intent(inout) | :: | self |
Set values according to the old diagnostics defaults.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_config_type), | intent(inout) | :: | gs2_diagnostics_config_in |
Set values according to the new diagnostics defaults.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_config_type), | intent(inout) | :: | new_gs2_diagnostics_config_in |
Reads in the gs2_diagnostics_knobs namelist and populates the member variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(diagnostics_config_type), | intent(inout) | :: | self |
Writes out a namelist representing the current state of the config object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(diagnostics_config_type), | intent(in) | :: | self | |||
integer, | intent(in), | optional | :: | unit |
Resets the config object to the initial empty state
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(diagnostics_config_type), | intent(inout) | :: | self |
Broadcasts all config parameters so object is populated identically on all processors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(diagnostics_config_type), | intent(inout) | :: | self |
Set the module level config instance
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_config_type), | intent(in), | optional | :: | diagnostics_config_in |