diff --git a/README b/README
index bcce7c5da9b06f3fe8d227d9f3002691990040ba..f6baf20491d5bb3ceaa88d47025efe72169fde23 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
 #                            -*- mode: org; -*-
 #
-#+TITLE:             *OpenFOAM README for version 1.5*
+#+TITLE:             OpenFOAM README for version 1.6
 #+AUTHOR:                      OpenCFD Ltd.
-#+DATE:                       26 August 2008
+#+DATE:                         July 2009
 #+LINK:                  http://www.opencfd.co.uk
 #+OPTIONS: author:nil ^:{}
 
@@ -62,7 +62,7 @@
   in the OpenFOAM release. e.g. in
 
   + $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/
-  + where <VERSION> corresponds to the version 1.4, 1.5, ...
+  + where <VERSION> corresponds to the version 1.5, 1.6, ...
 
   1) EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), source the
     etc/bashrc file by adding the following line to the end of your
@@ -135,7 +135,7 @@
 
 * Getting Started
   Create a project directory within the $HOME/OpenFOAM directory named
-  <USER>-<VERSION> (e.g. 'chris-1.5' for user chris and OpenFOAM version 1.5)
+  <USER>-<VERSION> (e.g. 'chris-1.6' for user chris and OpenFOAM version 1.6)
   and create a directory named 'run' within it, e.g. by typing:
 
   + mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
@@ -156,12 +156,13 @@
 
 * Compiling Paraview 3.3 and the PV3FoamReader module
   A version of Qt 4.3.x must be installed to compile ParaView.  The compilation
-  is a fairly simple process using the supplied buildParaView3.3-cvs script that
-  has worked is our tests with other packages supplied in the ThirdParty
-  directory, namely cmake-2.4.6 and gcc-4.3.1.  Execute the following:
-  + cd $FOAM_INST_DIR/ThirdParty
-  + rm -rf ParaView3.3-cvs/platforms
-  + buildParaView3.3-cvs
+  is a fairly simple process using the supplied buildParaView script that
+  has worked in our tests with other packages supplied in the ThirdParty
+  directory, namely cmake-2.6.4 and gcc-4.3.3.  Execute the following:
+  + cd $WM_THIRD_PARTY_DIR
+  + rm -rf paraview-3.6/platforms
+  + buildParaView
+
 
   The PV3FoamReader module is an OpenFOAM utility that can be compiled in the
   usual manner as follows:
@@ -184,3 +185,4 @@
   is the default mode on a 64-bit machine.  To use an installed 32-bit version,
   the user must set the environment variable WM_ARCH_OPTION to 32 before
   sourcing the etc/bashrc (or etc/cshrc) file.
+
diff --git a/ReleaseNotes-1.6 b/ReleaseNotes-1.6
index 58955d33498c78a72a34d3378dc32163aa6c35b8..b18ce5659a32e047e4097de3af91809e12acac40 100644
--- a/ReleaseNotes-1.6
+++ b/ReleaseNotes-1.6
@@ -145,6 +145,8 @@
     + The *new* =readList(Istream&)= can read a bracket-delimited list or handle
       a single value as a list of size 1. This can be a useful convenience when
       processing command-line options.
+    + Export *new* environment variable =FOAM_CASENAME= that contains the
+      name part of the =FOAM_CASE= environment variable
 
 *** Misc. improvements
     + Improved consistency and interoperability between =face= and =triFace= classes.
diff --git a/applications/solvers/compressible/rhoCentralFoam/Allwclean b/applications/solvers/compressible/rhoCentralFoam/Allwclean
index e90223203b165e297891befbdbded1c0c8aa5c8a..21ee42fadb6ea6accaf2d4a00bc92a0501bd6f73 100755
--- a/applications/solvers/compressible/rhoCentralFoam/Allwclean
+++ b/applications/solvers/compressible/rhoCentralFoam/Allwclean
@@ -1,5 +1,8 @@
 #!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
 
 wclean libso BCs
 wclean
 
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean
index c61cba1ad1df29efce336590a879776e00b3df39..cc138bc068e6882e24eb995668e00a0fc18d3e58 100755
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean
@@ -1,4 +1,10 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
+
 wclean libso phaseModel
 wclean libso interfacialModels
 wclean libso kineticTheoryModels
 wclean
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/test/dictionary/dictionaryTest.C b/applications/test/dictionary/dictionaryTest.C
index d958d81a1a6e82c335bf7871f2a61f31f0ec905f..2c2395e9fb956b769db5a48bec0798fd945ca2d5 100644
--- a/applications/test/dictionary/dictionaryTest.C
+++ b/applications/test/dictionary/dictionaryTest.C
@@ -29,6 +29,7 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
+#include "argList.H"
 #include "IOstreams.H"
 #include "IOobject.H"
 #include "IFstream.H"
@@ -41,6 +42,15 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+    argList::noParallel();
+    argList args(argc, argv);
+
+    Info<< nl
+        << "FOAM_CASE=" << getEnv("FOAM_CASE") << nl
+        << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
+        << endl;
+
+
     {
         dictionary dict1(IFstream("testDict")());
         Info<< "dict1: " << dict1 << nl
diff --git a/applications/test/dictionary/testDict b/applications/test/dictionary/testDict
index 6a0863a4547db87e7cf16d9a066f19f120e95523..42a473a52b2647c684e89220670b25ab2cecfb62 100644
--- a/applications/test/dictionary/testDict
+++ b/applications/test/dictionary/testDict
@@ -14,6 +14,9 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 #inputMode  merge
+#includeIfPresent "someUnknownFile"
+#includeIfPresent "$FOAM_CASE/someUnknownFile"
+#includeIfPresent "$FOAM_CASE/someUnknownFile-$FOAM_CASENAME"
 
 internalField   uniform 1;
 
@@ -78,7 +81,6 @@ boundaryField
 // NB: the inputMode has a global scope
 #inputMode merge
 #include "testDict2"
-#includeIfPresent "SomeUnknownFile"
 
 foo
 {
diff --git a/applications/utilities/mesh/generation/extrudeMesh/Allwclean b/applications/utilities/mesh/generation/extrudeMesh/Allwclean
index f7842e25d0d3647072023490f6ab1d7e238b6fa1..3ac620b1451f2b5a20c59747587eb24c173e162f 100755
--- a/applications/utilities/mesh/generation/extrudeMesh/Allwclean
+++ b/applications/utilities/mesh/generation/extrudeMesh/Allwclean
@@ -1,6 +1,8 @@
 #!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
 set -x
 
 wclean libso extrudeModel
 wclean
 
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index 5e38986331d2b7a1c4edd86a30a0fe534b36bec3..7b61fabb2213ad0e6ead78cf38034c837818e686 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -36,8 +36,8 @@ Usage
     @param -ascii \n
     Write Ensight data in ASCII format instead of "C Binary"
 
-    @param -zeroTime \n
-    Include the often incomplete initial conditions.
+    @param -noZero \n
+    Exclude the often incomplete initial conditions.
 
     @param -index \<start\>\n
     Ignore the time index contained in the time file and use a
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean
index 80507fd289e08db8ef2f8c22208d460eb4ec1503..3fdbeae44cdc62199bcc1969d41b60a99574fac4 100755
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean
+++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean
@@ -4,3 +4,5 @@ set -x
 
 rm -rf PV3FoamReader/Make
 wclean libso vtkPV3Foam
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C
index 04518db985c1db2a5245f464b364613a456ed84b..34628ac9d1ed1a6afa49ef128625ba8b661c6bf6 100644
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C
+++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C
@@ -261,11 +261,15 @@ Foam::vtkPV3Foam::vtkPV3Foam
     // Set the case as an environment variable - some BCs might use this
     if (fullCasePath.name().find("processor", 0) == 0)
     {
-        setEnv("FOAM_CASE", fullCasePath.path(), true);
+        const fileName globalCase = fullCasePath.path();
+
+        setEnv("FOAM_CASE", globalCase, true);
+        setEnv("FOAM_CASENAME", globalCase.name(), true);
     }
     else
     {
         setEnv("FOAM_CASE", fullCasePath, true);
+        setEnv("FOAM_CASENAME", fullCasePath.name(), true);
     }
 
     // look for 'case{region}.OpenFOAM'
@@ -299,6 +303,7 @@ Foam::vtkPV3Foam::vtkPV3Foam
     {
         Info<< "fullCasePath=" << fullCasePath << nl
             << "FOAM_CASE=" << getEnv("FOAM_CASE") << nl
+            << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
             << "region=" << meshRegion_ << endl;
     }
 
diff --git a/bin/foamInstallationTest b/bin/foamInstallationTest
index d669078ec5f3f71d0191c7406bafeddcf76b3f39..0175d026f7427083358df5bd9aab36b7ffd1346b 100755
--- a/bin/foamInstallationTest
+++ b/bin/foamInstallationTest
@@ -33,9 +33,9 @@
 #------------------------------------------------------------------------------
 
 # Base settings
-FOAM_VERSION=1.5
-SUPPLIED_VERSION_GCC=4.3.1
-MIN_VERSION_GCC=4.2.0
+FOAM_VERSION=1.6
+SUPPLIED_VERSION_GCC=4.3.3
+MIN_VERSION_GCC=4.3.1
 
 # General
 WIDTH=20
@@ -46,10 +46,8 @@ CRITICALERROR=0
 SSHRSHOK=0
 
 # System variables
-USER_SHELL=`basename $SHELL`
 HOST_NAME=`uname -n`
 OS=`uname -s`
-OS_VERSION=`uname -r`
 USER_NAME=$LOGNAME
 if [ ! -n $USER_NAME ]; then
     USER_NAME=$USER
@@ -92,7 +90,7 @@ length () {
 
 
 stringLength () {
-echo $1 | wc -m | tr -d " "
+    echo $1 | wc -m | tr -d " "
 }
 
 
@@ -125,7 +123,7 @@ reportEnv () {
         SunOS)
             if /usr/bin/test -e $EXP_ENV ; then
                 EXISTS=" yes "
-                if  [ "$2" != "noPath" ]; then
+                if  [ "$2" != noPath ]; then
                     ON_PATH=" no "
                     OLD_IFS=$IFS
                     IFS=':'
@@ -152,7 +150,7 @@ reportEnv () {
         *)
             if [ -e "$EXP_ENV" ] ; then
                 EXISTS=" yes "
-                if  [ "$2" != "noPath" ]; then
+                if  [ "$2" != noPath ]; then
                     ON_PATH=" no "
                     OLD_IFS=$IFS
                     IFS=':'
@@ -182,10 +180,10 @@ reportEnv () {
     fi
 
     ERROR="false"
-    if [ "$EXISTS" = "no" ] || [ "$ON_PATH" = "no" ]; then
+    if [ "$EXISTS" = no ] || [ "$ON_PATH" = no ]; then
         ERROR="true"
     fi
-    if [ "$3" = "yes" ] && [ "$ERROR" = "true" ]; then
+    if [ "$3" = yes ] && [ "$ERROR" = true ]; then
         CRITICALERROR=`expr $CRITICALERROR + 1`
         echo "WARNING: CRITICAL ERROR"
         echo
@@ -312,9 +310,9 @@ pingTest () {
     case $OS in
         SunOS)
             PINGTEST=`/usr/sbin/ping $1 2>&1`
-            if  [ "`echo $PINGTEST | grep "alive"`" != "" ] ; then
+            if  [ "`echo $PINGTEST | grep alive`" != "" ] ; then
                 RESULT="Successful"
-            elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
+            elif  [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then
                 RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
             else
                 RESULT="Networking_cannot_reach_$1"
@@ -322,9 +320,9 @@ pingTest () {
             ;;
         *)
             PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1`
-            if  [ "`echo $PINGTEST | grep "1 received"`" != "" ] ; then
+            if  [ "`echo $PINGTEST | grep '1 received'`" != "" ] ; then
                 RESULT="Successful"
-            elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
+            elif  [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then
                 RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
             else
                 RESULT="Networking_cannot_reach_$1"
@@ -334,7 +332,7 @@ pingTest () {
 
     echo "`fixlen "Pinging_$1" 25` `fixlen "$RESULT" 45` `fixlen "$2" 5`"
 
-    if [ "$2" = "yes" ] && [  "$RESULT" != "Successful" ]; then
+    if [ "$2" = yes ] && [  "$RESULT" != Successful ]; then
         CRITICALERROR=`expr $CRITICALERROR + 1`
         echo "WARNING: CRITICAL ERROR"
         echo
@@ -351,7 +349,7 @@ EOF
 
 
 checkTelnetPort () {
-    if  [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then
+    if [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then
         RESULT=`telnetPortTest $1 $2 2>&1 | egrep "onnect.* [t|r]"`
         if [ "`echo $RESULT | grep 'Connected to'`" ] ; then
             RESULT='Successful'
@@ -361,7 +359,7 @@ checkTelnetPort () {
             RESULT="Not_active*"
         fi
     else
-        RESULT='No_telnet_running:_cannot_check*'
+        RESULT='No_telnet_installed:_cannot_check*'
     fi
 }
 
@@ -369,7 +367,7 @@ checkTelnetPort () {
 checkRsh () {
     checkTelnetPort $HOST_NAME 222
     echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes""
-    if [ "$RESULT" != 'Successful' ]; then
+    if [ "$RESULT" != Successful ]; then
         SSHRSHOK=`expr $SSHRSHOK + 1`
     fi
 }
@@ -378,14 +376,14 @@ checkRsh () {
 checkSsh () {
     checkTelnetPort $HOST_NAME 22
     echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes""
-    if [ "$RESULT" != 'Successful' ]; then
+    if [ "$RESULT" != Successful ]; then
         SSHRSHOK=`expr $SSHRSHOK + 1`
     fi
 }
 
 
 checkOpenFOAMEnvironment() {
-    if [ ! -d "$WM_PROJECT_INST_DIR" -o ! -d "$WM_THIRD_PARTY_DIR" ]; then
+    [ -d "$WM_PROJECT_INST_DIR" ] && [ -d "$WM_THIRD_PARTY_DIR" ] || {
         echo ""
         echo "FATAL ERROR: OpenFOAM environment not configured."
         echo ""
@@ -394,22 +392,23 @@ checkOpenFOAMEnvironment() {
         echo "    to source the OpenFOAM environment."
         echo ""
         exit 1
-    fi
+    }
 }
 
 
 checkUserShell() {
-    case $USER_SHELL in
-        csh | tcsh)
-            USER_CONFIG_TYPE="cshrc"
-            echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
+    case $SHELL in
+        */csh | */tcsh)
+            # USER_CONFIG_TYPE="cshrc"
+            echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
             ;;
-        bash | ksh)
-            USER_CONFIG_TYPE="bashrc"
-            echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
+        */bash | */ksh)
+            # USER_CONFIG_TYPE="bashrc"
+            echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
             ;;
-        *) USER_CONFIG_TYPE=""
-            echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
+        *)
+            # USER_CONFIG_TYPE=""
+            echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
             echo "FATAL ERROR: Cannot identify the shell you are running."
             echo "             OpenFOAM ${FOAM_VERSION} is compatible with "
             echo "             csh, tcsh, ksh and bash."
@@ -435,15 +434,18 @@ checkHostName() {
 
 
 checkOS () {
-    if [ "$OS" = "Linux" ] || [ "$OS" = "LinuxAMD64" ] || [ "$OS" = "SunOS" ]; then
-        echo "`fixlen "OS:" $WIDTH` ${OS} version ${OS_VERSION}"
-    else
+    case "$OS" in
+    Linux | LinuxAMD64 | SunOS )
+        echo "`fixlen "OS:" $WIDTH` ${OS} version $(uname -r)"
+        ;;
+    *)
         echo "FATAL ERROR: Incompatible operating system \"$OS\"."
         echo "             OpenFOAM ${FOAM_VERSION} is currently "
         echo "             available for Linux and SunOS only."
         echo
         FATALERROR=`expr $FATALERROR + 1`
-    fi
+        ;;
+    esac
 }
 
 
@@ -485,6 +487,7 @@ hline
 reportEnv '$WM_PROJECT_DIR'   '$PATH' "yes"
 echo ""
 reportEnv '$FOAM_APPBIN'      '$PATH' "yes"
+reportEnv '$FOAM_SITE_APPBIN' '$PATH' "no"
 reportEnv '$FOAM_USER_APPBIN' '$PATH' "no"
 reportEnv '$WM_DIR'           '$PATH' "yes"
 hline
@@ -495,6 +498,7 @@ hline
 echo "$COL1 $COL2 $COL3 $COL4 $COL5"
 hline
 reportEnv '$FOAM_LIBBIN'      '$LD_LIBRARY_PATH' "yes"
+reportEnv '$FOAM_SITE_LIBBIN' '$LD_LIBRARY_PATH' "no"
 reportEnv '$FOAM_USER_LIBBIN' '$LD_LIBRARY_PATH' "no"
 reportEnv '$MPI_ARCH_PATH'    '$LD_LIBRARY_PATH' "yes"
 hline
@@ -509,7 +513,7 @@ echo "$COL1 $COL2 $COL3"
 hline
 reportExecutable gcc "${WM_COMPILER_DIR}/bin/gcc"
 reportExecutable gzip
-if [ "$OS" = "Linux" ]  ; then
+if [ "$OS" = Linux ]  ; then
     reportExecutable tar
 else
     reportExecutable gtar
diff --git a/bin/foamSystemCheck b/bin/foamSystemCheck
index 4f3d8a15dba976c3d10889e5c8893d86f3967591..63f0f51e16fd17d9f33e1733ba0fff1558167db0 100755
--- a/bin/foamSystemCheck
+++ b/bin/foamSystemCheck
@@ -34,7 +34,7 @@
 
 # STATIC VARIABLES
 # ~~~~~~~~~~~~~~~~
-FOAM_VERSION=1.5
+FOAM_VERSION=1.6
 
 HLINE="-----------------------------------------------------------------------"
 WIDTH=16
diff --git a/etc/settings.csh b/etc/settings.csh
index 495c9324e97ff24347595afb0f203026883d18b7..4370744be4f380b150a35ebe10be96769f857ccb 100644
--- a/etc/settings.csh
+++ b/etc/settings.csh
@@ -45,15 +45,19 @@ setenv WM_LINK_LANGUAGE c++
 setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
 
 # base configuration
-setenv FOAM_SRC $WM_PROJECT_DIR/src
-setenv FOAM_LIB $WM_PROJECT_DIR/lib
-setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
 setenv FOAM_APP $WM_PROJECT_DIR/applications
 setenv FOAM_APPBIN $WM_PROJECT_DIR/applications/bin/$WM_OPTIONS
+setenv FOAM_LIB $WM_PROJECT_DIR/lib
+setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
+setenv FOAM_SRC $WM_PROJECT_DIR/src
+
+# shared site configuration - similar naming convention as ~OpenFOAM expansion
+setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
+setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
 
 # user configuration
-setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
 setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
+setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
 
 # convenience
 setenv FOAM_TUTORIALS $WM_PROJECT_DIR/tutorials
@@ -65,8 +69,10 @@ setenv FOAM_RUN $WM_PROJECT_USER_DIR/run
 set path=($WM_DIR $WM_PROJECT_DIR/bin $path)
 
 _foamAddPath $FOAM_APPBIN
+_foamAddPath $FOAM_SITE_APPBIN
 _foamAddPath $FOAM_USER_APPBIN
 _foamAddLib  $FOAM_LIBBIN
+_foamAddLib  $FOAM_SITE_LIBBIN
 _foamAddLib  $FOAM_USER_LIBBIN
 
 
diff --git a/etc/settings.sh b/etc/settings.sh
index 6d640d20686b4edc72be5972b3833f70855fe87c..9d39e1eb866d49359641f19be0c149556593bed4 100644
--- a/etc/settings.sh
+++ b/etc/settings.sh
@@ -61,15 +61,19 @@ export WM_LINK_LANGUAGE=c++
 export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
 
 # base configuration
-export FOAM_SRC=$WM_PROJECT_DIR/src
-export FOAM_LIB=$WM_PROJECT_DIR/lib
-export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS
 export FOAM_APP=$WM_PROJECT_DIR/applications
 export FOAM_APPBIN=$WM_PROJECT_DIR/applications/bin/$WM_OPTIONS
+export FOAM_LIB=$WM_PROJECT_DIR/lib
+export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS
+export FOAM_SRC=$WM_PROJECT_DIR/src
+
+# shared site configuration - similar naming convention as ~OpenFOAM expansion
+export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
+export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
 
 # user configuration
-export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
 export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
+export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
 
 # convenience
 export FOAM_TUTORIALS=$WM_PROJECT_DIR/tutorials
@@ -80,8 +84,8 @@ export FOAM_RUN=$WM_PROJECT_USER_DIR/run
 # add OpenFOAM scripts and wmake to the path
 export PATH=$WM_DIR:$WM_PROJECT_DIR/bin:$PATH
 
-_foamAddPath $FOAM_APPBIN $FOAM_USER_APPBIN
-_foamAddLib  $FOAM_LIBBIN $FOAM_USER_LIBBIN
+_foamAddPath $FOAM_APPBIN $FOAM_SITE_APPBIN $FOAM_USER_APPBIN
+_foamAddLib  $FOAM_LIBBIN $FOAM_SITE_LIBBIN $FOAM_USER_LIBBIN
 
 
 # Compiler settings
diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C
index 707d68b88f49a87f9a378c73228b2d8d9b429513..01feb13dfc0384adf99b98e8893842bd652d6df4 100644
--- a/src/OpenFOAM/global/argList/argList.C
+++ b/src/OpenFOAM/global/argList/argList.C
@@ -129,14 +129,18 @@ void Foam::argList::getRootCase()
         casePath = iter();
         casePath.removeRepeated('/');
         casePath.removeTrailing('/');
+
+        // handle degenerate form and '-case .' like no -case specified
+        if (casePath.empty() || casePath == ".")
+        {
+            casePath = cwd();
+            options_.erase("case");
+        }
     }
     else
     {
         // nothing specified, use the current dir
         casePath = cwd();
-
-        // we could add this back in as '-case'?
-        // options_.set("case", casePath);
     }
 
     rootPath_   = casePath.path();
@@ -522,8 +526,25 @@ Foam::argList::argList
     }
     jobInfo.write();
 
-    // Set the case as an environment variable
-    setEnv("FOAM_CASE", rootPath_/globalCase_, true);
+
+    // Set the case and case-name as an environment variable
+    if (rootPath_[0] == '/')
+    {
+        // absolute path
+        setEnv("FOAM_CASE", rootPath_/globalCase_, true);
+    }
+    else if (rootPath_ == ".")
+    {
+        // relative to the current working directory
+        setEnv("FOAM_CASE", cwd()/globalCase_, true);
+    }
+    else
+    {
+        // qualify relative path
+        setEnv("FOAM_CASE", cwd()/rootPath_/globalCase_, true);
+    }
+    setEnv("FOAM_CASENAME", globalCase_, true);
+
 
     // Switch on signal trapping. We have to wait until after Pstream::init
     // since this sets up its own ones.
diff --git a/src/OpenFOAM/global/argList/argList.H b/src/OpenFOAM/global/argList/argList.H
index 9fdb0bb6d2224ceebdc76b53a66239849c5dd4e4..45c8de16ec338d21ed5b8f1d86f12e5f117b65f1 100644
--- a/src/OpenFOAM/global/argList/argList.H
+++ b/src/OpenFOAM/global/argList/argList.H
@@ -54,6 +54,8 @@ Description
 
     The environment variable @b FOAM_CASE is set to the path of the
     global case (same for serial and parallel jobs).
+    The environment variable @b FOAM_CASENAME is set to the name of the
+    global case.
 
 Note
     - Adjustment of the valid (mandatory) arguments
diff --git a/src/topoChangerFvMesh/Make/files b/src/topoChangerFvMesh/Make/files
index e51b8df1ee77620cc0587c17e04e210e22788001..838500fd8b295e7a691d51d294e445563d888a3f 100644
--- a/src/topoChangerFvMesh/Make/files
+++ b/src/topoChangerFvMesh/Make/files
@@ -5,6 +5,8 @@ linearValveFvMesh/linearValveFvMesh.C
 linearValveLayersFvMesh/linearValveLayersFvMesh.C
 */
 movingConeTopoFvMesh/movingConeTopoFvMesh.C
+/*
 mixerFvMesh/mixerFvMesh.C
+*/
 
 LIB = $(FOAM_LIBBIN)/libtopoChangerFvMesh