CIME 识别用户创建的自定义配置目录 $HOME/.cime
。此目录的内容可能包括以下任何文件:
-
config
此文件必须符合 Python 配置格式。参见 Python 配置解析示例
在 [main] 块中可以设置以下变量:
-
CIME_MODEL=[e3sm, cesm]
-
PROJECT=<account number>
用于在批处理系统上指定用于计算会计和目录权限的项目 ID。
-
CHARGE_ACCOUNT=<account number>
用于覆盖 PROJECT 的 account 设置。
-
MAIL_USER=<email address>
用于请求非默认电子邮件以进行批量摘要输出
-
MAIL_TYPE=[never,all,begin,fail,end]
可以设置以上任意或全部有效值来列出将发送邮件的批处理事件。
-
create_test 输入参数
create_test 脚本的任何参数都可以通过在此处列出新的默认值来更改其默认值。
-
以下是一个示例
config
文件:[main] CIME_MODEL=cesm SRCROOT=$CIMEROOT/.. MAIL_TYPE=end [create_test] MAIL_TYPE=fail
-
-
config_machines.xml
此文件必须与 $CIMEROOT/config/$ model/machines/config_machines.xml 具有相同的格式,并包含适用于您机器的正确定义。
如果您在
$HOME/.cime
目录中有一个自定义版本的此文件,它将追加到$CIMEROOT/config/$model/machines/config_machines.xml
文件中。要查看一个用于 Linux 集群的 config_machines.xml 文件的示例,请查看 $CIMEROOT/config/xml_schemas/config_machines_template.xml。
-
cmake_macros
此子目录包含用于生成案例编译时所需标志的 cmake 宏文件层次结构。cmake 宏文件按以下顺序检查,较晚的文件优先级高于较早的文件。
-
universal.cmake
-
COMPILER.cmake
-
OS.cmake
-
MACHINE.cmake
-
COMPILER_OS.cmake
-
COMPILER_MACHINE.cmake
-
-
config_compilers.xml
已弃用,请使用 cmake_macros这个文件允许你自定义机器的编译器设置,并追加到文件 $CIMEROOT/config/$ model/machines/config_compilers.xml 中。
以下是在 BlueGeneQ 机器上自定义 IBM 编译器标志的示例。
<?xml version="1.0" encoding="UTF-8"?>
<config_compilers version="2.0">
<compiler COMPILER="ibm" OS="BGQ">
<FFLAGS> -g -qfullpath -qmaxmem=-1 -qspillsize=2500 -qextname=flush </FFLAGS>
<ADD_FFLAGS DEBUG="FALSE"> -O3 -qstrict -qinline=auto </ADD_FFLAGS>
<ADD_FFLAGS DEBUG="FALSE" compile_threaded="TRUE"> -qsmp=omp </ADD_FFLAGS>
<ADD_FFLAGS DEBUG="TRUE" compile_threaded="TRUE"> -qsmp=omp:noopt </ADD_FFLAGS>
<ADD_CPPDEFS> -DLINUX </ADD_CPPDEFS>
<CONFIG_ARGS> --build=powerpc-bgp-linux --host=powerpc64-suse-linux </CONFIG_ARGS>
<LDFLAGS> -Wl,--relax -Wl,--allow-multiple-definition </LDFLAGS>
</compiler>
</config_compilers>
-
config_batch.xml
这个文件允许你自定义机器的批处理设置,并追加到文件 $CIMEROOT/config/$ model/machines/config_batch.xml 中。
以下是在机器 brutus 上为 pbs 添加批量设置的示例。
<?xml version="1.0"?>
<config_batch version="2.0">
<batch_system type="pbs" MACH="brutus" >
<directives>
<directive default="/bin/bash" > -S {{ shell }} </directive>
</directives>
<queues>
<queue walltimemax="00:59:00" nodemin="1" nodemax="624" default="true">batch</queue>
</queues>
</batch_system>
</config_batch>