README memory settings test
===========================

With the memory initialization having changed we needed special ways to work
out valid memory settings. Before release 6.1 you either used the default
memory settings or you specified everything in the input file.

Now there are compile time memory settings, they may be set in nwchemrc, by
environment variables or in the input. At this point it makes little sense
to force all sets of memory settings to be complete (i.e. set stack, heap,
global and total). But if they are incomplete we need rules to generate
a complete set of settings. 

These rules built a hierarchy from compiled in default to user input:
- compiled in defaults
- nwchemrc
- environment variables
- user input
The user input file takes precedence over anything else and compile time
defaults are overriden by anything else.

If Total is the default and something else is set. Then the resolution is
simply to adjust the total memory setting and leave anything else untouched.
If Total is set and somethings else is set then the lowest priority setting
is adjusted to ensure that Total = Stack + Heap + Global. If more than one
setting needs to be changed then the usual partitioning is used. I.e. if
Total = 1000 MB and Stack = 400 MB then 
Heap   = 0.25/(0.25+0.50)*(Total - Stack) = 200 MB
Global = 0.50/(0.25+0.50)*(Total - Stack) = 400 MB

The test cases in this directory are just to check that all the various 
combinations of set memory sizes produce the expected result. The flags
TSHG stand for Total, Stack, Heap, and Global, in the second quartet T (true)
means it is set and F (false) means it is not set in the input file. I.e.
he_TSHG_TFFT.nw means Total and Global are set in the input but Stack and Heap
are not.

These tests are not to be included in the usual test run script as we have
no means of automatically checking the results or even running the jobs 
successfully through that infra-structure. Also there should be no need to 
test this stuff on multiple platforms as we are looking for particular logical
errors in the design only.
