Wiki

Clone wiki

gs2 / Namelists / diagnostics_config

diagnostics_config

This namelists controls the behaviour of the new diagnostics module (which can be enabled by setting USE_NEW_DIAG=on).

Name Type Def CR Name Description
conv_max_step Integer   conv_max_step
conv_min_step Integer   conv_min_step
conv_nstep_av Integer   conv_nstep_av
conv_nsteps_converged Integer   conv_nsteps_converged
conv_test_multiplier Float   conv_test_multiplier
dump_fields_periodically Fortran_Bool   dump_fields_periodically
  • Phi, Apar, Bpar written to dump.fields.t=(time). This is expensive!
enable_parallel Fortran_Bool   enable_parallel
  • If built with parallel IO capability, enable it. There are currently issues with parallel IO on some systems which cause GS2 to hang. If you enable this parameter, test it on a smaller problem (but with at least two nodes) before using it on a prouction run. Bug reports welcome.
exit_when_converged Fortran_Bool .true. exit_when_converged
  • If .true. when the frequencies for each k have converged, the run will stop.
igomega Integer 0 igomega
  • Theta index at which frequencies are calculated.
navg Integer 10,100 navg
  • Any time averages (for example growth rates and frequencies) performed over navg timesteps
ncheck Integer   ncheck
  • If vary_vnew, check to see whether to vary the collisionality every ncheck timesteps.
nwrite_large Integer   nwrite_large
  • Not in use currently
nwrite Integer 10,100 nwrite_new
  • Diagnostic quantities are written every nwrite timesteps.
omegatinst Float 1.0,1000000.0 omegatinst
  • If any growth rate is greater than omegatinst, assume there is a numerical instability and abort.
omegatol Float -0.001 omegatol
  • In linear runs GS2 will exit if the growth rate has converged to an accuracy of one part in 1/omegatol. Set negative to switch off this feature.
print_flux_line Fortran_Bool   print_flux_line
  • Instantaneous fluxes output to screen every nwrite timesteps
print_line Fortran_Bool   print_line
  • Estimated frequencies and growth rates output to the screen/stdout every nwrite timesteps
save_distfn Fortran_Bool   save_distfn
  • If true, saves the restart files with name 'rootname.nc.dfn.<proc>' with lots of extra detail about the dist function --- velocity space grids and so on, when GS2 exits.
save_for_restart Fortran_Bool   save_for_restart
  • If true then restart files written to the local folder and the simulation can be restarted from the point it ended.
    • Restart files written to restart_file.PE#.
    • Recommended for nonlinear runs.
serial_netcdf4 Fortran_Bool   serial_netcdf4
use_nonlin_convergence Fortran_Bool   use_nonlin_convergence
write_any Fortran_Bool .true. write_any
  • If .false. disables the new diagnostics module. No output is written.
write_apar_over_time Fortran_Bool .false. write_apar_over_time
  • If this variable is set to true then the entire field apar will be written to the NetCDF file every nwrite. Useful for making films. This can cause the NetCDF file to be huge, if resolution is large or nwrite is small.
write_ascii Fortran_Bool   write_ascii
  • Controls the creation of a large number of ascii data files (such as <run_name>.new.fields). Many of diagnostics will write to ascii files as well as the netdf file if this flag is true.
write_bpar_over_time Fortran_Bool .false. write_bpar_over_time
  • If this variable is set to true then the entire field bpar will be written to the NetCDF file every nwrite. Useful for making films. This can cause the NetCDF file to be huge, if resolution is large or nwrite is small.
write_cerr Fortran_Bool   write_cerr
write_correlation Fortran_Bool   write_correlation
  • Write correlation function diagnostic... shows parallel correlation as a function of ky. See arXiv 1104.4514.
write_correlation_extend Fortran_Bool   write_correlation_extend
  • If used in conjunction with write_correlation, extends the length of \(\Delta \theta\) for which the correlation function is calculated.
write_cross_phase Fortran_Bool   write_cross_phase
  • Write cross phase between electron temperature and density.
write_density_over_time Fortran_Bool   write_density_over_time
  • Write non-adiabitic density as a function theta, ky, kx, species and time... very expensive!
write_eigenfunc Fortran_Bool   write_eigenfunc
  • If (write_ascii = T) Normalized Phi(theta) written to runname.eigenfunc
    • Write to runname.out.nc even if (write_ascii = F)
write_fields Fortran_Bool .false.,.true. write_fields
  • If .true. write out values of phi, apar and bpar.
write_final_antot Fortran_Bool   write_final_antot
  • If (write_ascii = T) Sources for Maxwell eqns. written to runname.antot
    • Write to runname.out.nc even if (write_ascii = F)
write_final_db Fortran_Bool   write_final_db
  • Write final delta B.
write_final_epar Fortran_Bool   write_final_epar
  • If (write_ascii = T) E_parallel(theta) written to runname.eigenfunc
    • Write to runname.out.nc even if (write_ascii = F)
write_final_fields Fortran_Bool   write_final_fields
  • If (write_ascii = T) Phi(theta) written to runname.fields
    • Write to runname.out.nc even if (write_ascii = F)
write_final_moments Fortran_Bool   write_final_moments
  • If (write_ascii = T) low-order moments of g written to runname.moments and int dl/B averages of low-order moments of g written to runname.amoments
    • Write to runname.out.nc even if (write_ascii = F)
write_flux_line Fortran_Bool   write_flux_line
  • Instantaneous fluxes output to runname.new.out every nwrite timesteps (regardless of the value of write_ascii)
write_fluxes Fortran_Bool .true. write_fluxes
  • If .true. write fluxes of heat, momentum & particles to the new netcdf file.
write_fluxes_by_mode Fortran_Bool .false. write_fluxes_by_mode
  • If .true., write fluxes as a function of ky, kx, species and time (otherwise they will only be written out as functions of species, time and kx or ky). Creates large output files.
write_full_moments_notgc Fortran_Bool   write_full_moments_notgc
write_g Fortran_Bool   write_g
  • Write the distribution function (in fourier space) at a fixed wavenumber to the '.dist' file
write_gs Fortran_Bool   write_gs
write_gyx Fortran_Bool   write_gyx
  • Write dist fn (in real space) at a given physical spacial point to a file
write_heating Fortran_Bool   write_heating
  • Write multiple diagnostics of turbulent heating and free energy generation and dissipation.
write_jext Fortran_Bool   write_jext
  • Write the external current in the antenna if enabled.
write_kpar Fortran_Bool   write_kpar
  • Spectrum in k_parallel calculated and written. Only works for periodic boundary??
write_line Fortran_Bool   write_line
  • Write estimated frequencies and growth rates to the output file (usually runname.new.out) every nwrite steps (regardless of the value of write_ascii).
write_lorentzian Fortran_Bool   write_lorentzian
  • Frequency Sweep Data
write_lpoly Fortran_Bool   write_lpoly
  • computes and returns lagrange interpolating polynomial for g. Needs checking.
write_max_verr Fortran_Bool   write_max_verr
  • Write the spatial index corresponding to the maximum error in the velocity space integrals
write_moments Fortran_Bool   write_moments
  • If true then we write the various velocity moments (density, parallel flow, temperature) of the distribution function to the netcdf file every nwrite steps.
write_movie Fortran_Bool   write_movie
  • Write fields in real space as a function of time. Note this uses transform2 and so includes the aliased gridpoints in the real space dimensions. This means that there is 30% reduncancy in the output. Consider writing the fields in k space as a function of time and doing the Fourier transforms in post processing
write_ntot_over_time Fortran_Bool   write_ntot_over_time
  • Write total density as a function theta, ky, kx, species and time... very expensive!
write_omega Fortran_Bool .false.,.true. write_omega
  • If true writes omega (both growth rate and frequency) to netcdf file every nwrite timesteps.
    • Also writes out omegaavg (omega averaged over navg steps) to netcdf file.
write_parity Fortran_Bool   write_parity
  • Writes parities in dist fn and particle fluxes
write_phi_over_time Fortran_Bool .false. write_phi_over_time
  • If this variable is set to true then the entire field phi will be written to the NetCDF file every nwrite. Useful for making films. This can cause the NetCDF file to be huge, if resolution is large or nwrite is small.
write_symmetry Fortran_Bool   write_symmetry
  • Switch on a diagnostic to test the symmetry properties of the GK eqn. It calculates the momentum flux as a function of vpar, theta, and time.
write_tperp_over_time Fortran_Bool   write_tperp_over_time
  • Write perpendicular temperature perturbation as a function theta, ky, kx, species and time... very expensive!
write_upar_over_time Fortran_Bool   write_upar_over_time
  • Write parallel flow perturbation as a function theta, ky, kx, species and time... very expensive!
write_verr Fortran_Bool   write_verr
  • Write velocity space diagnostics to netcdf file and (if write_ascii) '.new.lpc' and '.new.vres' files. Clear documentation of the outputs is given in the netcdf file.

Updated