create_clone

create_clone is a script in CIMEROOT/scripts.

$ ./create_clone --help
usage: create_clone [-h] [-d] [-v] [-s] --case CASE --clone CLONE
                    [--ensemble ENSEMBLE]
                    [--user-mods-dirs [USER_MODS_DIRS ...]] [--keepexe]
                    [--mach-dir MACH_DIR] [--project PROJECT]
                    [--cime-output-root CIME_OUTPUT_ROOT]

options:
  -h, --help            show this help message and exit
  --case CASE, -case CASE
                        (required) Specify a new case name. If not a full pathname, 
                        the new case will be created under then current working directory.
  --clone CLONE, -clone CLONE
                        (required) Specify a case to be cloned. If not a full pathname, 
                        the case to be cloned is assumed to be under then current working directory.
  --ensemble ENSEMBLE   clone an ensemble of cases, the case name argument must end in an integer.
                        for example: ./create_clone --clone case.template --case case.001 --ensemble 4 
                        will create case.001, case.002, case.003, case.004 from existing case.template
  --user-mods-dirs [USER_MODS_DIRS ...], --user-mods-dir [USER_MODS_DIRS ...]
                        Full pathname to a directory containing any combination of user_nl_* files 
                        and a shell_commands script (typically containing xmlchange commands). 
                        The directory can also contain an SourceMods/ directory with the same structure 
                        as would be found in a case directory.
                        It can also contain a file named 'include_user_mods' which gives the path to
                        one or more other directories that should be included.
                        Multiple directories can be given to the --user-mods-dirs argument,
                        in which case changes from all of them are applied.
                        (If there are conflicts, later directories take precedence.)
                        (Care is needed if multiple directories include the same directory via 'include_user_mods':
                        in this case, the included directory will be applied multiple times.)
                        If this argument is used in conjunction 
                        with the --keepexe flag, then no changes will be permitted to the env_build.xml 
                        in the newly created case directory. 
  --keepexe, -keepexe   Sets EXEROOT to point to original build. It is HIGHLY recommended 
                        that the original case be built BEFORE cloning it if the --keepexe flag is specfied. 
                        This flag will make the SourceMods/ directory in the newly created case directory a 
                        symbolic link to the SourceMods/ directory in the original case directory. 
  --mach-dir MACH_DIR, -mach_dir MACH_DIR
                        Specify the locations of the Machines directory, other than the default. 
                        The default is CIMEROOT/machines.
  --project PROJECT, -project PROJECT
                        Specify a project id for the case (optional).
                        Used for accounting and directory permissions when on a batch system.
                        The default is user or machine specified by PROJECT.
                        Accounting (only) may be overridden by user or machine specified CHARGE_ACCOUNT.
  --cime-output-root CIME_OUTPUT_ROOT
                        Specify the root output directory. The default is the setting in the original
                        case directory. NOTE: create_clone will fail if this directory is not writable.

Logging options:
  -d, --debug           Print debug information (very verbose) to file /home/runner/work/cime/cime/scripts/create_clone.log
  -v, --verbose         Add additional context (time and file) to log messages
  -s, --silent          Print only warnings and error messages