I have a scientific code that has a parameters.txt file. This file contains 50+ parameters that have default values associated with them. The user has to change the parameters to fit the particular simulation they want to run.
Here is a specific case: there are about 7 options for creating a lattice of sites and assigning energies to the lattice.
However, there are also options to read the energies from a file. If this option is used non of the 7 options pertaining to how the energies are assigned to the lattice are needed.
My question is what is the best way to deal with the unused options. If I have assigned default options to these parameters it may be confusing for the user as they may not realize they are not being used.
I could also set aside a keyword that the user must use with those specific parameters to indicate they are not being used and throw an error if they are not specified as such. This would follow the principle of least astonishment. However, this would also force the user to change multiple parameters. Is there a better way to approach this problem?