如果你可以访问想要克隆的运行,create_clone 命令将创建一个新案例并运行 case.setup ,同时保留对案例的本地修改。
这里有一个简单的例子:
$ cd $CIMEROOT/scripts
$ create_clone --case $CASEROOT --clone $CLONEROOT
$ cd $CASEROOT
$ case.build
$ case.submit
create_clone 脚本会保留在 user_nl_xxxx 文件中进行的任何本地 namelist 修改,以及 SourceMods/ 目录树中的任何源代码修改。否则,你的 $CASEROOT 目录将看起来像是刚刚运行了 create_newcase 。
重要提示 :不要更改 env_case.xml 文件中的任何内容。
使用 —help 选项以获取更多使用信息。
$ create_clone --help
create_clone 有几个有用的可选参数。用于指向你要克隆的原始案例的可执行文件。
$ create_clone --case $CASEROOT --clone $CLONEROOT --keepexe
$ cd $CASEROOT
$ case.submit
如果使用 --keepexe
可选参数,则不允许在克隆目录中存在 SourceMods。当创建克隆案例时,将创建一个链接,将克隆的 SourceMods/ 目录指向原始案例的 SourceMods 目录。
警告
不应在克隆目录中对
env_build.xml
或env_mach_pes.xml
进行任何更改。
create_clone 也允许你调用 shell_commands
和用户目录中的 user_nl_xxx
文件:
$ create_clone --case $CASEROOT --clone $CLONEROOT --user-mods-dir USER_MODS_DIR [--keepexe]
请注意,在这种情况下还可以使用可选的 --keepexe
标志。
警告
如果存在
shell_commands
文件,它不应修改env_build.xml
或env_mach_pes.xml
中的任何 xml 变量。
复制案例的另一种方法是使用案例中的 README.case 和 CaseStatus 文件中的信息来创建新案例,并复制原始案例中发出的相关 xmlchange 命令。这种方法将不会保留对原始案例所做的任何本地修改,例如源代码或构建脚本修订;你需要手动导入这些更改。