You may or may not be aware that CASINO has two different and mutually incompatible sets of keywords that may be used in the input file. The new set (introduced in CASINO 2.2 many years ago) have slightly different and allegedly more convenient meanings. To give you an idea, when they were introduced the different sets were as follows:
Code: Select all
New set:
* VMC_NSTEP * VMC_NCONFIG_WRITE * VMC_DECORR_PERIOD
* VMC_AVE_PERIOD * VMC_NBLOCK * VMC_EQUIL_NSTEP
* VMC_NTWIST * VMC_REEQUIL_NSTEP
* DMC_TARGET_WEIGHT * DMC_EQUIL_NSTEP * DMC_STATS_NSTEP
* DMC_EQUIL_NBLOCK * DMC_STATS_NBLOCK * DMC_AVE_PERIOD
* DMC_DECORR_PERIOD * DMC_TRIP_WEIGHT * DMC_NTWIST
* DMC_REEQUIL_NSTEP * DMC_REEQUIL_NBLOCK
Old set (in one-to-one correspondence with the above):
* NMOVE * NWRCON * CORPER
* NVMCAVE * NBLOCK * NEQUIL
* VMC_TWIST_AV * NEQUIL_TA
* NCONFIG * NMOVE_DMC_EQUIL * NMOVE_DMC_STATS
* NBLOCK_DMC_EQUIL * NBLOCK_DMC_STATS * NDMCAVE
* CORPER_DMC * TRIP_POPN * NUM_DMC_TWISTS
* NMOVE_DMCT_EQUIL * NBLOCK_DMCT_EQUIL
The reasons for my attitude are as follows:
For users, forcing them to use the new keyword set means:
- Typing 'casinohelp keyword' will produce lots of detailed output for the new keyword set and unhelpful stuff like '[DEPRECATED] nblock is the number of blocks' for the old set.
- CASINO comes with a set of examples with keywords that they recognize.
- The documentation and the manual are only understandable if you use the new keyword set.
- old-style keyword stuff is liable to get broken because I never use them, and my continuous testing and bug-hunting won't reveal problems.
For developers:
- We don't have to translate user queries into our preferred language, or update complainant's input files into the modern idiom..
- One of the things to be done quite soon is making CASINO come up with default values for all keywords even if they aren't supplied in input (leading ultimately to a 'Make the Answer Better' button in DFT for um.. idiots who don't know how QMC works i.e. people other than you lot). I don't want to have to do this for both keyword sets.
- We need to attract more developers who actually develop stuff, and reducing internal complications helps with this.
- Multiple keyword sets increase the likelihood of introducing errors.
- Error checking in the runqmc script becomes significantly simpler.
- The developers can all stop arguing about which keyword set is superior. I've used both, and I can tell you it's very easy to get used to either - so I think we should just get on with it.
All the above needs to be balanced against 'slightly pissing off the few people who continue to use the old keywords'. So my question is:
Does anyone out there other than er.. Neil and Dario (a) still use the old keywords, and (b) actually give a damn if I remove support for them completely?
Any and all commentary gratefully received.
Best wishes,
Mike