# Local environment In order to be used in parallel (MPI or thread), we have to take care of file access conflicts: many processes which modify the same file. To avoid such a thing, {{uranie}} creates for each resource a personal directory named `URA` with then a set of numbers and letters that is more robust than the older version with just increasing numbers. Everything is done in it: input files are created there, executable is run from it and the output file are supposed to be found here as well. By default, these directories are created in the current folder. You can specify another root directory, using the `setWorkingDir` method. There are two other methods that can be called to change this: - `setOldTmpDir()`: This will create folder named `URANIE0`, then `URANIE1` and so on, up to the number of process chosen (for sequential job, only `URANIE0` will be created). - `keepAllFolders()`: This method is meant for debugging. It creates a specific working directory for EVERY computations (warning it might overflow your home directory). Input files are often created from template files. These files, if they are not defined with a full path, are search in the current directory. You can specify another one using the `setReference` method. The class constructor takes a string (`const char*`) as argument which is the command line used to launch the executable. `%D` jocker can be used, and will be replaced by the local directory.