    argList::validArgs.clear();
    argList::noParallel();

    argList::validArgs.append("target root");
    argList::validArgs.append("target case");

    argList::validArgs.append("nLayers");
    argList::validArgs.append("overal thickness");


    argList::validOptions.insert("sourceRoot", "source root");
    argList::validOptions.insert("sourceCase", "source case");
    argList::validOptions.insert("sourcePatch", "source patch");

    argList::validOptions.insert("surface", "surface file");

    argList args(argc, argv);

    if (!args.check())
    {
         FatalError.exit();
    }


    fileName rootDirTarget(args.args()[1]);
    fileName caseDirTarget(args.args()[2]);

    label nLayers(readLabel(IStringStream(args.args()[3])()));
    scalar thickness(readScalar(IStringStream(args.args()[4])()));

    Info<< "Target: " << rootDirTarget << " " << caseDirTarget << endl;

    Info<< "Extruding layers:" << nl
        << "    number of layers " << nLayers << nl
        << "    overall thickness " << thickness << nl
        << endl;
