diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/createFields.H b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/createFields.H
index 78b0e8b552f8a9b63fce0a2bf52b545200d944f4..5b5767ef3ebcad95d8ac5a49895f0788a91d3a81 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/createFields.H
@@ -47,8 +47,10 @@
         )
     );
 
-    word kinematicCloudName("kinematicCloud");
-    args.optionReadIfPresent("cloudName", kinematicCloudName);
+    const word kinematicCloudName
+    (
+        args.optionLookupOrDefault<word>("cloudName", "kinematicCloud")
+    );
 
     Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;
     basicKinematicCloud kinematicCloud
diff --git a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C
index 7b021d355ca219f38a4aabc3323732cc13c9e082..9df568f1b54602fe22fef8c5cbb76cc0422b2360 100644
--- a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C
+++ b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C
@@ -76,10 +76,27 @@ int main(int argc, char *argv[])
     argList::noParallel();
     timeSelector::addOptions();
 
-    argList::addOption("scale", "scale");
-    argList::addBoolOption("noBnd");
-    argList::addBoolOption("tri");
-    argList::addBoolOption("surface");
+    argList::addOption
+    (
+        "scale",
+        "factor",
+        "specify geometry scaling factor - default is 1000 ([m] to [mm])"
+    );
+    argList::addBoolOption
+    (
+        "noBnd",
+        "suppress writing the .bnd file"
+    );
+    argList::addBoolOption
+    (
+        "tri",
+        "Extract a triangulated surface. Implies -surface"
+    );
+    argList::addBoolOption
+    (
+        "surface",
+        "extract the surface of the volume mesh only"
+    );
 
 #   include "setRootCase.H"
 #   include "createTime.H"
diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
index 0cc4c4efd2921feec4a4b2241587662d816354ce..e48625230c05af3cbe7b4b1e1cf0fc9f7cfd5c0c 100644
--- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
+++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
@@ -62,9 +62,22 @@ int main(int argc, char *argv[])
 {
     argList::noParallel();
     argList::validArgs.append("pro-STAR prefix");
-    argList::addBoolOption("ascii");
-    argList::addOption("scale", "scale");
-    argList::addBoolOption("solids");
+    argList::addBoolOption
+    (
+        "ascii",
+        "write in ASCII instead of binary format"
+    );
+    argList::addOption
+    (
+        "scale",
+        "scale",
+        "geometry scaling factor - default is 0.001 ([mm] to [m])"
+    );
+    argList::addBoolOption
+    (
+        "solids",
+        "retain solid cells and treat them like fluid cells"
+    );
 
     argList args(argc, argv);
     Time runTime(args.rootPath(), args.caseName());
diff --git a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
index 6e92fae989ccadf77bab4aa03c9ac02dfdb5e030..93a65365066eb72086f8afa339dda05ae5d6fdc7 100644
--- a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
+++ b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
@@ -72,8 +72,18 @@ using namespace Foam;
 int main(int argc, char *argv[])
 {
     argList::noParallel();
-    argList::addBoolOption("blockTopology");
-    argList::addOption("dict", "dictionary");
+    argList::addBoolOption
+    (
+        "blockTopology",
+        "write block edges and centres as .obj files"
+    );
+    argList::addOption
+    (
+        "dict",
+        "NAME",
+        "specify an alternative dictionary for the blockMesh description"
+    );
+
 #   include "addRegionOption.H"
 #   include "setRootCase.H"
 #   include "createTime.H"
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index 34a30d63f65f15fac1925cc55d00b1a1840697a0..ca246cc78ba3627affd8501f9771d61e4dfb9cae 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -88,20 +88,39 @@ int main(int argc, char *argv[])
     argList::noParallel();
 #   include "addRegionOption.H"
     argList::addBoolOption("cellDist");
-    argList::addBoolOption("copyUniform");
-    argList::addBoolOption("fields");
-    argList::addBoolOption("filterPatches");
-    argList::addBoolOption("force");
-    argList::addBoolOption("ifRequired");
+    argList::addBoolOption
+    (
+        "copyUniform",
+        "copy any uniform/ directories too"
+    );
+    argList::addBoolOption
+    (
+        "fields",
+        "use existing geometry decomposition and convert fields only"
+    );
+    argList::addBoolOption
+    (
+        "filterPatches",
+        "remove empty patches when decomposing the geometry"
+    );
+    argList::addBoolOption
+    (
+        "force",
+        "remove existing processor*/ subdirs before decomposing the geometry"
+    );
+    argList::addBoolOption
+    (
+        "ifRequired",
+        "only decompose geometry if the number of domains has changed"
+    );
 
 #   include "setRootCase.H"
 
     word regionName = fvMesh::defaultRegion;
     word regionDir = word::null;
 
-    if (args.optionFound("region"))
+    if (args.optionReadIfPresent("region", regionName))
     {
-        regionName = args.option("region");
         regionDir = regionName;
         Info<< "Decomposing mesh " << regionName << nl << endl;
     }
@@ -124,10 +143,10 @@ int main(int argc, char *argv[])
         isDir
         (
             runTime.path()
-           /(word("processor") + name(nProcs))
-           /runTime.constant()
-           /regionDir
-           /polyMesh::meshSubDir
+          / (word("processor") + name(nProcs))
+          / runTime.constant()
+          / regionDir
+          / polyMesh::meshSubDir
         )
     )
     {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index 977972e4cacb076fb3797f8d04c2dac1cefc67b8..94cf1dfecf37a9eee1e38147aaddb9b4c7ed17ef 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -93,10 +93,23 @@ bool inFileNameList
 
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption("ascii");
-    argList::addBoolOption("noPatches");
-
-    argList::addOption("patches", "patchList");
+    argList::addBoolOption
+    (
+        "ascii",
+        "write in ASCII format instead of 'C Binary'"
+    );
+    argList::addBoolOption
+    (
+        "noPatches",
+        "Suppress writing any patches"
+    );
+    argList::addOption
+    (
+        "patches",
+        "patchList",
+        "Specify particular patches to write. "
+        "An empty list suppresses writing the internalMesh."
+    );
 
 #   include "addTimeOptions.H"
 #   include "setRootCase.H"
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index 6797f69978ec7fdde68359394ca3d58830b7fe94..5f4db4c9952dd897fcbfb7b5f50c2a211bde9506 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -79,9 +79,24 @@ int main(int argc, char *argv[])
     // afterwards anyhow
     timeSelector::addOptions(true, false);
     argList::noParallel();
-    argList::addBoolOption("ascii");
-    argList::addOption("index",  "start");
-    argList::addBoolOption("noMesh");
+    argList::addBoolOption
+    (
+        "ascii",
+        "write in ASCII format instead of 'C Binary'"
+    );
+    argList::addOption
+    (
+        "index",
+        "start",
+        "ignore the time index contained in the uniform/time file "
+        "and use a simple indexing when creating the files"
+    );
+    argList::addBoolOption
+    (
+        "noMesh",
+        "Suppress writing the geometry. "
+        "Can be useful for converting partial results for a static geometry."
+    );
 
     // the volume field types that we handle
     wordHashSet volFieldTypes;