找个朋友弄下cesm2.1.3环境配置

找一个懂CESM2.1.3的朋友帮忙在服务器弄一下环境配置。远程帮忙弄一下

给你找了一些资料,你看是否有帮助:
配置 CESM(Community Earth System Model)2.1.3 的服务器环境需要一些准备和步骤。以下是一般情况下在服务器上配置 CESM2.1.3 环境的大致过程:

  1. 安装操作系统:确保服务器上已安装支持 CESM 运行所需的操作系统(例如Linux或Unix)。

  2. 安装编译器和工具:为了编译和运行 CESM,你需要安装相应的编译器和工具链。常用工具包括 GNU 编译器集合(GCC)、Fortran 编译器(例如 gfortran)、NetCDF 库、MPICH 或 OpenMPI 以及其他必要的依赖项。通过包管理器(如apt-get、yum等)安装这些软件时,请确保安装与CESM兼容的版本。

  3. 下载并安装 CESM:从官方网站(https://www.cesm.ucar.edu/models/cesm2)下载 CESM 2.1.3 版本的源代码压缩包。解压缩文件后,进入 CESM 的顶级目录。

  4. 配置 CESM:在 CESM 的顶级目录中运行 ./create_newcase 命令以创建新的模型运行实例。按照提示选择模型分辨率、模拟设置和组件等信息。你可以根据自己的需求进行配置。创建成功后,进入新创建的运行目录。

  5. 配置编译器和库:打开运行目录下的 env_mach_specific 文件,根据你的服务器配置和安装的编译器和库路径,设置正确的环境变量。确保指定正确的编译器、库和模块加载命令。

  6. 编译和运行 CESM:在运行目录中运行 ./case.build 命令以编译 CESM。这将生成可执行文件和其他所需的输出文件。完成后,运行 ./case.submit 命令提交 CESM 运行任务。

请注意,上述步骤仅为一般性指南,并且具体的配置过程可能因操作系统、服务器环境和个人需求而有所不同。建议参考 CESM 官方文档中的详细说明和指南,以确保正确地配置和运行 CESM。

同时,如果你在配置过程中遇到困难或有其他问题,可以查阅 CESM 官方文档或咨询相关技术支持来获取更详细和准确的指导。

啥意思呀,远程吗?

这个应该有文档教学吧!一会我去找找

很高兴收到您的请求,我可以帮助您进行CESM2.1.3的环境配置。为了能够在服务器上进行环境配置,您需要具备以下条件:

  1. 确认您具有在服务器上执行sudo命令的权限。
  2. 确认服务器的操作系统为Linux或macOS,且已安装必要的软件如curl,ncurses,cmake等。

在您满足上述条件之后,您可以按照以下步骤进行CESM2.1.3的环境配置:

  1. 下载CESM2.1.3的代码库。您可以访问https://escomp.github.io/CESM/release-cesm2.1.3/%E8%8E%B7%E5%8F%96%E4%BB%A3%E7%A0%81%E5%BA%93%E4%B8%8B%E8%BD%BD%E9%93%BE%E6%8E%A5%E3%80%82%E4%B8%8B%E8%BD%BD%E5%AE%8C%E6%88%90%E5%90%8E%EF%BC%8C%E8%A7%A3%E5%8E%8B%E7%BC%A9%E5%88%B0%E6%82%A8%E8%A6%81%E5%AE%89%E8%A3%85CESM2.1.3%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%8B%E3%80%82

  2. 进入代码库目录,并执行./manage_externals/checkout_externals命令以下载和安装代码库所需的所有依赖项。

  3. 执行./configure -case 命令,设置CESM2.1.3的配置文件,其中“”是您为CESM2.1.3创建的自定义案例名称。随后,在运行CESM2.1.3之前,需要进行一些配置和编译。

  4. 执行./case.setup命令,配置您的自定义案例并构建该案例。

  5. 运行您的CESM2.1.3案例。在执行./case.submit命令之前,确认您的案例已成功构建。

以上是对CESM2.1.3环境配置的一个大致的流程。如果您在以上步骤中遇到任何困难,请告诉我具体情况,我会尽力帮助您解决,并提供更多的技术支持。

<machine MACH="admin1">
    <DESC>
      Example port to centos7 linux system with gcc, netcdf, pnetcdf and mpich
      using modules from http://www.admin-magazine.com/HPC/Articles/Environment-Modules
    </DESC>
    <NODENAME_REGEX>admin1</NODENAME_REGEX>
    <OS>Linux</OS>
    <PROXY> https://howto.get.out </PROXY>
    <COMPILERS>intel</COMPILERS>
    <MPILIBS>impi</MPILIBS>
    <SAVE_TIMING_DIR> </SAVE_TIMING_DIR>
    <CIME_OUTPUT_ROOT>/public/work/xxx/5.OUTPUT/CESM</CIME_OUTPUT_ROOT>
    <DIN_LOC_ROOT>/public/work/xxx/2.INPUT/CESM</DIN_LOC_ROOT>
    <DIN_LOC_ROOT_CLMFORC>/public/work/xxx/2.INPUT/CESM/lmwg</DIN_LOC_ROOT_CLMFORC>
    <DOUT_S_ROOT>/public/work/xxx/5.OUTPUT/archive/$CASE</DOUT_S_ROOT>
    <BASELINE_ROOT>/public/work/xxx/5.OUTPUT/CESM/cesm_baselines</BASELINE_ROOT>
    <CCSM_CPRNC>/public/home/xxx/1.Model/cesm2.1.3/cime/tools/cprnc</CCSM_CPRNC>
    <GMAKE>make</GMAKE>
    <GMAKE_J>8</GMAKE_J>
    <BATCH_SYSTEM>pbs</BATCH_SYSTEM>
    <SUPPORTED_BY>me@my.address</SUPPORTED_BY>
    <MAX_TASKS_PER_NODE>40</MAX_TASKS_PER_NODE>
    <MAX_MPITASKS_PER_NODE>40</MAX_MPITASKS_PER_NODE>
    <PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
    <mpirun mpilib="impi">
      <executable>mpirun</executable>
      <arguments>
        <arg name="ntasks">-np {{ total_tasks }}</arg>
      </arguments>
    </mpirun>
    <module_system type="none"/>
    <!---<module_system type="module">
      <init_path lang="perl">/usr/share/Modules/init/perl.pm</init_path>
      <init_path lang="python">/usr/share/Modules/init/python.py</init_path>
      <init_path lang="csh">/usr/share/Modules/init/csh</init_path>
      <init_path lang="sh">/usr/share/Modules/init/sh</init_path>
      <cmd_path lang="perl">/usr/bin/modulecmd perl</cmd_path>
      <cmd_path lang="python">/usr/bin/modulecmd python</cmd_path>
      <cmd_path lang="sh">module</cmd_path>
      <cmd_path lang="csh">module</cmd_path>
      <modules>
        <command name="purge"/>
      </modules>
      <modules compiler="intel">
        <command name="load">intel/17.0.5</command>
        <command name="load">mkl</command>
      </modules>
    </module_system>-->
 <environment_variables>
      <env name="OMP_STACKSIZE">1024M</env>
      <env name="NETCDF_HOME">/public/home/xxx/0.library/intel/mytool</env>
      <env name="NETCDF_PATH">/public/home/xxx/0.library/intel/mytool</env>
      <env name="MPI_PATH">/public/software/mpi/intelmpi/2017.5.239/intel64</env>
      <!--env name="PNETCDF_PATH">/public/home/wangyuexuanzi/libraries/icc</env>
      <env name="PNETCDF_HOME">/public/home/xxx/libraries/icc</env-->
    </environment_variables>
    <resource_limits>
      <resource name="RLIMIT_STACK">-1</resource>
    </resource_limits>
  </machine>

config_compilers.xml

<compiler COMPILER="intel">
  <CFLAGS>
    <base>  -qno-opt-dynamic-align -fp-model precise -std=gnu99 </base>
    <append compile_threaded="true"> -qopenmp </append>
    <append DEBUG="FALSE"> -O2 -debug minimal </append>
    <append DEBUG="TRUE"> -O0 -g </append>
  </CFLAGS>
  <CPPDEFS>
    <!-- http://software.intel.com/en-us/articles/intel-composer-xe/ -->
    <append> -DFORTRANUNDERSCORE -DCPRINTEL</append>
  </CPPDEFS>
  <CXX_LDFLAGS>
    <base> -cxxlib </base>
  </CXX_LDFLAGS>
  <CXX_LINKER>FORTRAN</CXX_LINKER>
  <FC_AUTO_R8>
    <base> -r8 </base>
  </FC_AUTO_R8>
  <FFLAGS>
    <base> -qno-opt-dynamic-align  -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source  </base>
    <append compile_threaded="true"> -qopenmp </append>
    <append DEBUG="TRUE"> -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created </append>
    <append DEBUG="FALSE"> -O2 -debug minimal </append>
  </FFLAGS>
  <FFLAGS_NOOPT>
    <base> -O0 </base>
    <append compile_threaded="true"> -qopenmp </append>
  </FFLAGS_NOOPT>
  <FIXEDFLAGS>
    <base> -fixed -132 </base>
  </FIXEDFLAGS>
  <FREEFLAGS>
    <base> -free </base>
  </FREEFLAGS>
  <LDFLAGS>
    <append compile_threaded="true"> -qopenmp </append>
  </LDFLAGS>
  <MPICC> mpiicc </MPICC>
  <MPICXX> mpiicpc </MPICXX>
  <MPIFC> mpiifort </MPIFC>
  <SCC> icc </SCC>
  <SCXX> icpc </SCXX>
  <SFC> ifort </SFC>
  <SLIBS>
    <base>-L$ENV{NETCDF_PATH}/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -ldl -lm -lz -lcurl</base>
    <append MPILIB="mpich"> -mkl=cluster </append>
    <append MPILIB="mpich2"> -mkl=cluster </append>
 <append MPILIB="mvapich"> -mkl=cluster </append>
    <append MPILIB="mvapich2"> -mkl=cluster </append>
    <append MPILIB="mpt"> -mkl=cluster </append>
    <append MPILIB="openmpi"> -mkl=cluster </append>
    <append MPILIB="impi"> -mkl=cluster </append>
    <!--append MPILIB="mpi-serial"> -mkl </append-->
  </SLIBS>
  <SUPPORTS_CXX>TRUE</SUPPORTS_CXX>
</compiler>


config_batch.xml

<batch_system type="pbs" >
    <batch_query args="-f" >qstat</batch_query>
    <batch_submit>qsub </batch_submit>
    <batch_cancel>qdel</batch_cancel>
    <batch_env>-v</batch_env>
    <batch_directive>#PBS</batch_directive>
    <jobid_pattern>^(\S+)$</jobid_pattern>
    <depend_string> -W depend=afterok:jobid</depend_string>
    <depend_allow_string> -W depend=afterany:jobid</depend_allow_string>
    <depend_separator>:</depend_separator>
    <walltime_format>%H:%M:%S</walltime_format>
    <batch_mail_flag>-M</batch_mail_flag>
    <batch_mail_type_flag>-m</batch_mail_type_flag>
    <batch_mail_type>, bea, b, e, a</batch_mail_type>
    <submit_args>
      <arg flag="-q" name="$JOB_QUEUE"/>
      <arg flag="-l walltime=" name="$JOB_WALLCLOCK_TIME"/>
      <arg flag="-A" name="$PROJECT"/>
    </submit_args>
    <directives>
      <directive>-N {{ job_id }}</directive>
      <directive default="n">-r {{ rerunnable }}</directive>
      <!-- <directive> -j oe {{ job_id }} </directive> -->
      <directive>-j oe</directive>
      <directive>-V</directive>
      <directive>-l nodes=1:ppn=40</directive>
    </directives>
    <queues>
       <queue nodemin="1" nodemax="20" default="true">normal</queue>
    </queues>
  </batch_system>


CESM 2.1.3 安装配置文件详解
按照步骤一步步来
https://blog.csdn.net/qq_32115939/article/details/115377142

要想能够运行CESM,除了代码之外,运行之前,还需要对进行配置。CESM中的配置文件格式是xml文件格式的,位于CESM目录下,具体路径为$CESMROOT/cesm2.1.3/cime/config/cesm/machines/。其中主要含有三个需要进行修改的配置文件,分别是:config_machines.xml、config_compilers.xml和config_batch.xml。
其中,对于config_machines文件的配置,先搜索下该文件中是否已经有你的机器名称,如果有,则改对应的模块。假如搜索不到的话,可以新增一个machine模块,然后把改成自己的机器名称。而对于其中的mpi的选择和使用,假如你使用的是intel编译器,可以使用impi,但如果使用的是gnu编译器的话,可以选择使用mpich
其次,config_compilers文件和config_machines文件类似,直接修改对应的模块就OK,主要还是修改下mpicc,mpicxx那几个的名称。要注意的是SLIBS 标签下原先缺少了 netcdf 库的各种链接,需手动添加,base 表示不管你的 MPILIB 是啥都会自动加载。
config_batch.xml 文件是一些与作业调度相关的配置。如果 config_machines.xml 中 BATCH_SYSTEM 配置为 none的话,那么你这个文件可以不配置,否则需要指定下使用的作业调度队列等。

建议去官网下载使用手册,对照手册进行安装,只有自己实战过,后面才会用,安装过程中如果遇到问题可以针对性提问

可以按照安装文档的步骤进行操作,遇到问题了再进行提问,实操一两编,慢慢就会了