[gmx-developers] Documentation of internal environment variables

Mark Abraham Mark.Abraham at anu.edu.au
Fri Mar 9 02:07:59 CET 2012


On 9/03/2012 11:16 AM, Christoph Junghans wrote:
> Dear all,
>
> I was thinking of adding an overview table to the manual documenting
> some internal used environment variables.
> Should we do that?

I've long thought this is a good idea. I suggest we open a Redmine issue 
so that we can't make a new release without choosing to ignore 
documenting this in the manual (!)

Manual appendix A.4 has a few definitions, but some probably are out of 
date. Various tools' help text have other clues. Hopefully code comments 
will help too.

>
> find . -name "*.[ch]" -exec sed -n 's/.*getenv(\([^)]\+\)).*/\1/p' {}
> + | sort -u
> gives the following list:
> "ACC" "BASENAME" "CPMCSCF" "DEVEL_DIR" "DISPLAY" "DISTGCT" "DSSP" env
> env_var "GALACTIC_DYNAMICS" "GAUSS_DIR" "GAUSS_EXE" "GKRWIDTH"
> "GMX_ALLOW_CPT_MISMATCH" "GMX_CAPACITY" GMX_CHECK_MPI_ENV
> "GMX_CONSTRAINTVIR" "GMX_CYCLE_ALL" "GMX_CYCLE_BARRIER"
> "GMX_DD_ORDER_ZYX" "GMX_DISRE_ENSEMBLE_SIZE" "GMX_DUMP_NL"
> "GMX_ENX_NO_FATAL" "GMXFONT" "GMX_FORCEINIT" "GMX_FORCE_TABLES"
> "GMX_FORCE_UPDATE" "GMXGHAT" GMX_IGNORE_FSYNC_FAILURE_ENV "GMXLIB"
> "GMX_MAXBACKUP" "GMX_MAXCONSTRWARN" "GMX_MAXRESRENUM"
> "GMX_MAX_THREADS" "GMX_NB_GENERIC" "GMX_NBLISTCG" "GMX_NO_ALLVSALL"
> "GMX_NO_CART_REORDER" "GMX_NOCHARGEGROUPS" "GMX_NO_FFRTP_TER_RENAME"
> "GMX_NO_INT" "GMX_NO_NODECOMM" "GMX_NOOPTIMIZEDKERNELS"
> "GMX_NOPREDICT" "GMX_NO_PULLVIR" "GMX_NO_QUOTES"
> "GMX_NOSEHOOVER_CHAINS" "GMX_NO_SOLV_OPT" "GMX_NO_TERM" "GMX_NO_USR1"
> "GMXNPRI" "GMXNPRIALL" "GMX_NSCELL_NCG" "GMX_PATH_GZIP"
> "GMX_PME_NTHREADS" "GMX_PMEONEDD" "GMX_PME_THREAD_DIVISION"
> "GMX_SCSIGMA_MIN" "GMX_SUPPRESS_DUMP" "GMXTIMEUNIT" "GMX_TPIC_MASSES"
> "GMX_TPI_DUMP" "GMX_VIEW_XVG" "GMX_VIRIAL_TEMPERATURE" "LOG_BUFS"
> "LOGO" "LONGFORMAT" "MDRUN"  "MEM" "MPIRUN" "MULTIPROT" "NCPUS"
> "ORCA_PATH" "PATH" "SASTEP" "STATE" "TESTMC" "TOTAL" "VERBOSE"
> "VMDDIR" "VMD_PLUGIN_PATH" "WHERE" "XMGR"
>
> Which are the important ones?

If they're important enough to be available to the user, they're 
important enough to document. If there's not enough clues in the code, 
then "git blame" will identify the guilty party who needs to contribute 
some documentation to their code, and then to the manual section :-)

Mark



More information about the gromacs.org_gmx-developers mailing list